From 2df33b5d856701ab658b69790cb48ec66329daa4 Mon Sep 17 00:00:00 2001 From: IanSB Date: Sun, 5 Jan 2020 21:14:15 +0000 Subject: [PATCH] YUV CPLD v7.1 with improved clamping times --- vhdl_YUV_6bit/RGBtoHDMI.jed | 140 ++++++++++++++++---------------- vhdl_YUV_6bit/RGBtoHDMI.vhdl | 7 +- vhdl_YUV_6bit/YUV_CPLD_v71.xsvf | Bin 0 -> 53289 bytes 3 files changed, 73 insertions(+), 74 deletions(-) create mode 100644 vhdl_YUV_6bit/YUV_CPLD_v71.xsvf diff --git a/vhdl_YUV_6bit/RGBtoHDMI.jed b/vhdl_YUV_6bit/RGBtoHDMI.jed index 5fd2ab9d..f43a0f49 100644 --- a/vhdl_YUV_6bit/RGBtoHDMI.jed +++ b/vhdl_YUV_6bit/RGBtoHDMI.jed @@ -1,5 +1,5 @@ Programmer Jedec Bit Map -Date Extracted: Sat Jan 04 04:44:44 2020 +Date Extracted: Sun Jan 05 20:46:18 2020 QF46656* QP44* @@ -78,30 +78,30 @@ L0000896 00000010 00000000 00000000 00000000* L0000928 00000010 00000000 00000000 00000000* L0000960 00000000 00000000 00000000 00000000* L0000992 00000000 00000000 00000000 00000000* -L0001024 00000000 00000000 00000000 00000000* +L0001024 00000000 10000000 00000000 00000000* L0001056 00000000 00000000 00000000 00000000* L0001088 00000000 00000000 00000000 00000000* L0001120 00000000 00000000 00000000 00000000* L0001152 000000 000000 001000 000000* L0001176 000000 000000 000000 000000* L0001200 000000 000000 000000 000000* -L0001224 000000 000000 000000 000000* -L0001248 000000 100000 000000 000000* +L0001224 000000 100000 000000 000000* +L0001248 000000 000000 000000 000000* L0001272 000000 000000 000000 000000* L0001296 00000000 00000000 00000000 00000000* L0001328 00000000 00000000 00000000 00000000* L0001360 00000000 00000000 00000000 00000000* L0001392 00000000 00000000 00000000 00000000* L0001424 00000000 00000000 00000000 00000000* -L0001456 00000000 10000000 00000000 00000000* +L0001456 00000000 00000000 00000000 00000000* L0001488 00000000 00000000 00000000 00000000* L0001520 00000000 00000000 00000000 00000000* L0001552 00000000 00000000 00100000 00000000* L0001584 000000 000000 000000 000000* L0001608 000000 000000 000000 000000* L0001632 000000 100000 000000 000000* -L0001656 000000 100000 000000 000000* -L0001680 000000 000000 000000 000000* +L0001656 000000 000000 000000 000000* +L0001680 000000 100000 000000 000000* L0001704 000000 000000 000000 000000* L0001728 00000000 00000000 00000000 00000000* L0001760 00000000 00000000 00000000 00000000* @@ -205,23 +205,23 @@ L0004576 00000000 00000000 00000000 00000000* L0004608 000000 000000 000000 000000* L0004632 000000 000000 000000 000000* L0004656 000000 000000 000000 000000* -L0004680 000000 000000 000000 000001* -L0004704 000010 100000 000000 000000* -L0004728 000000 000000 000000 000000* +L0004680 000000 100000 000000 000000* +L0004704 000010 000000 000000 000000* +L0004728 000000 000000 000000 000001* L0004752 00000000 00000000 00000000 00000000* L0004784 00000000 00000000 00000000 00000000* L0004816 00000000 00000100 00000000 00000000* L0004848 00000000 00000000 00000000 00000000* -L0004880 00000000 00000000 00000000 10000000* -L0004912 00000000 10000000 00000000 00000000* +L0004880 00000000 00000000 00000000 00000000* +L0004912 00000000 00000000 00000000 00000000* L0004944 00000000 00000000 00000000 00000000* L0004976 00000000 00000000 00000000 00000000* L0005008 00000000 00000000 00000000 00000000* L0005040 000000 000000 000000 000000* L0005064 000000 000000 010000 000000* -L0005088 000000 000010 000000 000000* +L0005088 000000 100010 000000 000000* L0005112 000010 000010 000000 000100* -L0005136 000000 000010 000000 000100* +L0005136 000000 000010 000000 000101* L0005160 000000 000010 000000 000000* L0005184 00000011 00000011 00000010 00101010* L0005216 00000010 00000011 00100011 00000010* @@ -276,14 +276,14 @@ L0006608 00010000 00000001 00000111 00000010* L0006640 00000000 00000001 00000010 00100000* L0006672 00000011 00000000 00000001 01100000* L0006704 00000010 00001000 00000010 01000000* -L0006736 00010011 00000001 00000011 00100001* -L0006768 000100 000010 000010 001000* +L0006736 00010011 00000001 00000011 00000001* +L0006768 000100 000010 000010 000000* L0006792 000000 001000 000000 000000* L0006816 000000 000000 000000 000000* -L0006840 000100 000000 000000 011000* +L0006840 000100 000000 000000 010000* L0006864 000000 000000 000000 010000* L0006888 001000 000000 000000 010000* -L0006912 00000001 00000010 00000000 00000010* +L0006912 00000001 00000010 00000000 10000010* L0006944 00000010 00000101 00000001 00000000* L0006976 00000000 00000001 00000000 00000000* L0007008 00000000 00000000 00000010 00000001* @@ -298,14 +298,14 @@ L0007248 000000 000000 000000 000000* L0007272 000000 000000 000000 000000* L0007296 000000 000100 000000 000000* L0007320 000000 000100 000000 000000* -L0007344 00000010 01000000 00000011 10000001* +L0007344 00000010 01000000 00000011 00000001* L0007376 00100001 00000010 00000010 00000011* L0007408 01100111 00000010 00000011 00100011* -L0007440 01000011 00000001 00000001 00000000* -L0007472 00000100 00000001 00000011 00000010* +L0007440 01000011 00000001 00000001 00100000* +L0007472 00000100 00000001 00000011 00100010* L0007504 00000000 00000001 00000010 00000000* L0007536 00000011 00000100 00000011 01000000* -L0007568 00000010 00000000 00100010 01000000* +L0007568 00000010 00000000 00100010 01100000* L0007600 00000011 00000001 00000011 00000001* L0007632 000000 000000 001000 000000* L0007656 000000 000000 000000 001000* @@ -320,17 +320,17 @@ L0007872 00000000 00000010 00000010 00000001* L0007904 00000011 00000010 00000000 00000001* L0007936 00000011 00000010 00000011 00000001* L0007968 00000001 00000010 00000001 00000001* -L0008000 00000011 00000011 00000001 10000001* +L0008000 00000011 00000011 00000001 00000001* L0008032 00000000 00000010 00000000 00000000* L0008064 000000 000000 000000 000000* L0008088 000000 000000 000000 000000* -L0008112 000000 000000 000000 000000* -L0008136 000000 100000 000000 000000* -L0008160 000000 000000 000000 000000* +L0008112 000000 000000 000000 000001* +L0008136 000000 000000 000000 000000* +L0008160 000000 100000 000000 000000* L0008184 000000 000000 000000 000000* L0008208 00000010 00000001 00100001 00000001* L0008240 00000001 00000010 00100011 00000011* -L0008272 00000011 00000011 00000011 00000011* +L0008272 00000011 00000011 00000011 10000011* L0008304 00000010 00000011 00000001 00000000* L0008336 00000010 00000011 00000011 00000000* L0008368 00000010 00000011 00000010 00000010* @@ -339,9 +339,9 @@ L0008432 00000010 00000010 00000010 00000010* L0008464 00000011 00000011 00000011 00000011* L0008496 000000 000000 000000 000000* L0008520 000000 000000 000000 000000* -L0008544 000000 000000 000000 000001* -L0008568 000000 000000 000000 000000* -L0008592 000000 100000 000000 000000* +L0008544 000000 000000 000000 000000* +L0008568 000000 100000 000000 000000* +L0008592 000000 000000 000000 000000* L0008616 000000 000000 000000 000000* L0008640 00000001 00000010 00010000 00000010* L0008672 00000010 00000000 00010000 00010000* @@ -410,17 +410,17 @@ L0010464 00010000 00000000 00000010 00010000* L0010496 00010101 00000000 00000000 00010000* L0010528 00000010 00000000 00000001 00000000* L0010560 00100000 10000000 00000000 00000001* -L0010592 00100001 10000000 00000001 10000100* +L0010592 00100001 10000000 00000001 00000100* L0010624 00010000 10000000 00000000 00000100* L0010656 000011 100000 000000 000000* L0010680 000000 000000 000000 000000* -L0010704 100101 000001 001000 000000* +L0010704 100101 000001 001000 000001* L0010728 100111 100001 000000 000010* L0010752 100011 100001 000000 000010* L0010776 100111 000101 001000 000000* L0010800 00010000 10001000 00000000 00000100* L0010832 00000001 00000010 01000000 00001110* -L0010864 00000011 00000110 00000000 00100010* +L0010864 00000011 00000110 00000000 10100010* L0010896 00000000 00000000 01000000 00101100* L0010928 00000000 00000000 00000010 00100000* L0010960 00000001 00000100 00001010 00000000* @@ -429,7 +429,7 @@ L0011024 00000000 00000100 00000000 01100001* L0011056 00001101 00000000 00010001 00110000* L0011088 100000 000000 100000 001100* L0011112 000000 000000 000000 000000* -L0011136 000000 000010 000000 000101* +L0011136 000000 000010 000000 000100* L0011160 000000 000010 010000 011000* L0011184 000000 000110 000000 010000* L0011208 000000 000010 000000 010100* @@ -500,9 +500,9 @@ L0013056 00000000 00000000 00000000 00000000* L0013088 00000001 00000000 00010001 00000110* L0013120 00010001 00000000 01000001 00000001* L0013152 00000000 00000000 01000000 00000000* -L0013184 00000001 00000000 10000001 00000001* +L0013184 00000001 00000000 10000001 10000001* L0013216 00010000 00000000 00000010 00000000* -L0013248 000000 000000 000000 100000* +L0013248 000000 000000 000000 000000* L0013272 000000 000000 001000 000000* L0013296 100100 000000 010100 000000* L0013320 000000 000000 000101 000000* @@ -516,23 +516,23 @@ L0013520 10000000 00000000 00000000 00000000* L0013552 00000000 00000000 00000000 00000000* L0013584 00000000 00000000 00000000 00000000* L0013616 00000000 00000000 00000000 00000000* -L0013648 00000000 00000000 00010000 10000000* +L0013648 00000000 00000000 00010000 00000000* L0013680 001100 000000 110100 000001* L0013704 000000 000000 000000 100000* L0013728 000000 000010 000000 000000* -L0013752 000100 000010 010000 000000* +L0013752 000100 000010 010000 000001* L0013776 000000 000000 001000 000000* L0013800 100110 000010 011001 000010* L0013824 00000000 00000000 00000000 00000010* L0013856 00000000 00000000 11000100 00000000* L0013888 00000000 00000000 11000100 00000000* -L0013920 00000000 00000000 01000000 10000000* +L0013920 00000000 00000000 01000000 00000000* L0013952 00000000 00000000 01011100 00000000* L0013984 00000000 00000000 01001000 00000000* L0014016 00000000 00000000 01011000 00000000* L0014048 00000000 00000000 11011000 00000100* L0014080 00000000 00000000 11111000 00000100* -L0014112 000000 000000 111111 000000* +L0014112 000000 000000 111111 100000* L0014136 000000 000000 001000 000000* L0014160 000000 000000 011100 000000* L0014184 000000 000000 011101 000010* @@ -540,13 +540,13 @@ L0014208 000000 000000 001101 000010* L0014232 000000 000000 111111 000000* L0014256 00000000 00100000 00000000 00000100* L0014288 00000000 00000000 00000000 00001100* -L0014320 00000000 00000000 00010000 10100000* +L0014320 00000000 00000000 00010000 00100000* L0014352 00000000 00000000 00001000 00111100* L0014384 00000000 00000000 00000000 00110000* L0014416 00000100 00000000 00100000 00000000* L0014448 00000100 00000000 00000000 01000000* L0014480 00000100 00000000 00000100 01100000* -L0014512 00000100 00000000 00000000 00110000* +L0014512 00000100 00000000 00000000 10110000* L0014544 000000 000000 000000 001100* L0014568 000000 000000 000000 000000* L0014592 000000 000000 100000 000100* @@ -830,9 +830,9 @@ L0022560 10000000 00000000 00000000 00010000* L0022592 10000100 00000011 00000000 00010101* L0022624 00010000 00000000 00000000 00000000* L0022656 00010000 00000000 00000000 00000000* -L0022688 00010000 00000000 00000000 00000100* +L0022688 00010000 00000000 00000000 10000100* L0022720 11000000 00000000 00000000 00000100* -L0022752 001111 000000 000000 100000* +L0022752 001111 000000 000000 000000* L0022776 000000 000000 001000 000000* L0022800 000001 000000 001000 000000* L0022824 000011 000000 001000 000010* @@ -846,11 +846,11 @@ L0023024 00010001 00000010 01001011 00100011* L0023056 00000000 00000000 01001000 00000000* L0023088 00101100 00000000 00000000 01000000* L0023120 10100000 00000000 00000000 01100000* -L0023152 00010000 00000000 00000000 10110000* +L0023152 00010000 00000000 00000000 00110000* L0023184 000000 000000 000000 001101* L0023208 000000 000000 000001 000000* L0023232 100100 000000 010100 000100* -L0023256 101100 000000 000000 011000* +L0023256 101100 000000 000000 011001* L0023280 100000 000000 000000 010000* L0023304 100100 000000 000000 010110* L0023328 00000000 00000000 00000011 00000000* @@ -966,18 +966,18 @@ L0026480 00000011 00000011 00000010 00000000* L0026512 00000000 00000000 10110000 00000100* L0026544 00000000 00000000 00000000 01000000* L0026576 00000000 00000000 00100000 01000000* -L0026608 00000000 00000000 00000000 00100000* -L0026640 000000 000000 000000 001000* +L0026608 00000000 00000000 00000000 00000000* +L0026640 000000 000000 000000 000000* L0026664 000000 000000 000000 000010* L0026688 000010 000000 000000 000000* -L0026712 000000 000000 000000 011000* +L0026712 000000 000000 000000 010000* L0026736 000000 000000 000000 010000* L0026760 000000 000000 000000 010000* L0026784 00000010 00000000 00100011 00000000* L0026816 00000010 00000010 00000000 00000011* L0026848 00000000 00000000 00000000 00000000* L0026880 00000000 00000000 00000000 00000000* -L0026912 00000010 00000010 00000001 00000011* +L0026912 00000010 00000010 00000001 10000011* L0026944 00000000 00000000 00000000 00000000* L0026976 00000000 00000000 00000000 00000000* L0027008 00000000 00000000 00000000 00010000* @@ -987,11 +987,11 @@ L0027096 000000 000000 000000 000100* L0027120 000000 000000 000000 000000* L0027144 000000 000000 000000 000000* L0027168 000000 000000 000000 000000* -L0027192 000000 000000 000000 000001* +L0027192 000000 000000 000000 000000* L0027216 00000001 00000011 00000001 00000001* L0027248 00000000 00000010 00100010 00000001* L0027280 00000000 00000000 00000000 00000000* -L0027312 00000000 00000000 00000000 00000000* +L0027312 00000000 00000000 00000000 10000000* L0027344 00000010 00000010 00000010 00000001* L0027376 00000000 00000000 00000000 00010000* L0027408 00000000 00000000 00000000 00010000* @@ -1001,7 +1001,7 @@ L0027504 000000 000000 000000 000000* L0027528 000000 000000 000000 000000* L0027552 000000 000000 000000 000000* L0027576 000000 000000 000000 000000* -L0027600 000000 000000 000000 000001* +L0027600 000000 000000 000000 000000* L0027624 000000 000000 000000 000000* L0027648 00000000 00000000 00000010 00000010* L0027680 00000001 00000010 00000001 00000010* @@ -1067,7 +1067,7 @@ L0029376 00000000 00000010 00000010 00000000* L0029408 00000010 00000010 00000010 00000001* L0029440 00000000 00000000 00000000 00000000* L0029472 00000000 00000000 00000000 00010000* -L0029504 00000001 00000000 00000000 00000001* +L0029504 00000001 00000000 00000000 10000001* L0029536 00000000 00000000 00000000 00000000* L0029568 00000000 00000000 00000000 00000000* L0029600 00000000 00000000 00000000 00010000* @@ -1077,11 +1077,11 @@ L0029688 000000 000000 000000 000100* L0029712 000000 000000 000000 000000* L0029736 000000 000000 000000 000000* L0029760 000000 000000 000000 000000* -L0029784 000000 000000 000000 000001* +L0029784 000000 000000 000000 000000* L0029808 00000000 00000000 00000011 00000001* L0029840 00000000 00000000 00000000 00000001* L0029872 00000000 00000000 00000000 00100000* -L0029904 00000000 00000000 00000000 00100000* +L0029904 00000000 00000000 00000000 10100000* L0029936 00000000 00000000 00000011 00110001* L0029968 00000000 00000000 00100000 00010000* L0030000 00000000 00000000 00000000 01010000* @@ -1091,7 +1091,7 @@ L0030096 000000 000000 000000 001000* L0030120 000100 000000 000000 000000* L0030144 000000 000000 000000 000000* L0030168 000000 000000 000000 011000* -L0030192 000000 000000 000000 010001* +L0030192 000000 000000 000000 010000* L0030216 000000 000000 000000 010000* L0030240 00000000 00000000 00000001 00000000* L0030272 00000000 00000001 11000100 00000010* @@ -1248,13 +1248,13 @@ L0034592 00000000 00000000 00000000 00000000* L0034624 00000000 00000000 00000000 00000000* L0034656 00000000 00000000 00000000 00000000* L0034688 00000000 00000000 00000000 00000000* -L0034720 00000000 00000000 00000000 00000000* +L0034720 00000000 10000000 00000000 00000000* L0034752 00000000 00000000 10100000 00000000* L0034784 00000000 00000000 00000000 00001000* L0034816 00000000 00000000 00000000 00001000* L0034848 000000 000000 000000 000010* L0034872 000010 000000 000000 000000* -L0034896 000000 100000 000001 000000* +L0034896 000000 000000 000001 000000* L0034920 000000 000000 000000 000000* L0034944 000000 000000 000000 000000* L0034968 000000 000000 000000 000000* @@ -1269,7 +1269,7 @@ L0035216 00001100 00000000 00111000 00000000* L0035248 00001100 00000000 00011000 00000000* L0035280 000011 000000 001110 000000* L0035304 000000 000000 001110 000000* -L0035328 000011 000000 001110 000000* +L0035328 000011 100000 001110 000000* L0035352 000001 000000 001110 000000* L0035376 000011 100000 001110 000000* L0035400 000011 000000 001110 000000* @@ -1336,13 +1336,13 @@ L0037128 000000 000000 000000 000000* L0037152 00000000 00000000 00000000 00000000* L0037184 00000000 00000000 00000000 00000000* L0037216 00000000 00000000 00000000 00000000* -L0037248 00000000 00000000 00000000 10000000* +L0037248 00000000 00000000 00000000 00000000* L0037280 00000000 00000000 00000000 00000000* L0037312 00000000 00000000 00000000 00000000* L0037344 00110000 00000000 00000000 00000000* L0037376 00000000 00000000 00000000 00000000* L0037408 00000000 00000000 00000000 00000000* -L0037440 001000 000000 000000 000000* +L0037440 001000 000000 000000 100000* L0037464 000000 000000 000000 000000* L0037488 000000 000000 000000 000000* L0037512 000000 000000 000000 000000* @@ -1350,13 +1350,13 @@ L0037536 000000 000000 000000 000000* L0037560 000100 000000 000000 000000* L0037584 00001000 00000000 00000000 00000000* L0037616 00000000 00000000 00000100 00000000* -L0037648 00000000 00000000 00000000 10000000* +L0037648 00000000 00000000 00000000 00000000* L0037680 00000000 00000000 00000000 00000000* L0037712 00000000 00000000 00000100 00000000* L0037744 00000000 00000000 00000000 00000000* L0037776 00000000 00000000 00000000 00000000* L0037808 00000000 00000000 00000000 00000000* -L0037840 00000000 00000000 00000000 00000000* +L0037840 00000000 00000000 00000000 10000000* L0037872 000000 000000 000010 000000* L0037896 000000 000000 000000 000000* L0037920 000000 000000 000000 000000* @@ -1585,14 +1585,14 @@ L0044320 00000000 00000000 11111000 00000100* L0044352 000000 000000 001111 000000* L0044376 000000 000000 001000 000000* L0044400 000000 000001 011100 000000* -L0044424 000000 000001 011101 000011* +L0044424 000000 000001 011101 000010* L0044448 000000 000001 001101 000010* -L0044472 000000 000001 011111 000000* +L0044472 000000 000001 011111 000001* L0044496 00000000 00000000 01000000 00000000* L0044528 00000000 00000000 00000000 00000000* L0044560 00000000 00000000 00000000 00100000* L0044592 00000000 10000000 00010000 00100000* -L0044624 00000000 10000000 00000000 10100000* +L0044624 00000000 10000000 00000000 00100000* L0044656 00000000 01000000 00100000 00000000* L0044688 00000000 10000000 00000000 01000000* L0044720 00000000 10000000 00000000 01100000* @@ -1601,7 +1601,7 @@ L0044784 000000 100000 000000 001100* L0044808 000000 000000 000100 000000* L0044832 000000 000000 000000 000100* L0044856 000000 000000 000000 011100* -L0044880 000000 000000 000010 010100* +L0044880 000000 000000 000010 010101* L0044904 000000 000000 000000 010000* L0044928 00000000 00000000 00000000 00000000* L0044960 00000000 00000000 00000000 00010000* @@ -1663,5 +1663,5 @@ L0046560 000000 000000 000000 000000* L0046584 000100 000000 000000 000000* L0046608 000000 000100 000001 000000* L0046632 000000 000100 000001 000000* -C4B3C* -2347 +C4B40* +2333 diff --git a/vhdl_YUV_6bit/RGBtoHDMI.vhdl b/vhdl_YUV_6bit/RGBtoHDMI.vhdl index 7a080c28..2a319402 100644 --- a/vhdl_YUV_6bit/RGBtoHDMI.vhdl +++ b/vhdl_YUV_6bit/RGBtoHDMI.vhdl @@ -49,7 +49,7 @@ architecture Behavorial of RGBtoHDMI is -- Version number: Design_Major_Minor -- Design: 0 = Normal CPLD, 1 = Alternative CPLD, 2=Atom CPLD, 3=YUV6847 CPLD - constant VERSION_NUM : std_logic_vector(11 downto 0) := x"370"; + constant VERSION_NUM : std_logic_vector(11 downto 0) := x"371"; -- NOTE: the difference between the leading and trailing offsets is -- 256 clks = 32 pixel clocks. If the pixel clock is significatly different @@ -243,7 +243,7 @@ begin end if; counter <= counter + 1; else - counter(5 downto 0) <= counter(5 downto 0) + 1; + counter(6 downto 0) <= counter(6 downto 0) + 1; end if; -- Registers for Chroma / Luma Filtering @@ -331,8 +331,7 @@ begin clamp <= '0'; else clamp <= '1'; - -- ideally top 2 bits below should be > "01" but only 6 bits of counter always wrap around - if counter(6 downto 0) = "01" & offset then + if counter(6 downto 0) = "11" & offset then clamp_counter <= clamp_counter + 1; end if; end if; diff --git a/vhdl_YUV_6bit/YUV_CPLD_v71.xsvf b/vhdl_YUV_6bit/YUV_CPLD_v71.xsvf new file mode 100644 index 0000000000000000000000000000000000000000..078deeea9be27570b934ccc04a0a49323aee92b6 GIT binary patch literal 53289 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