From 1a461cff2bd6b9a0d4b26842edc9dfa1490cc67c Mon Sep 17 00:00:00 2001 From: IanSB Date: Wed, 4 Dec 2019 22:07:24 +0000 Subject: [PATCH] New 6 bit RGB CPLD with analog board auto detect --- vhdl_RGB_6bit/RGB_CPLD_v70.xsvf | Bin 0 -> 53289 bytes vhdl_RGB_6bit/RGBtoHDMI.jed | 1667 +++++++++++++++++++++++++++++++ vhdl_RGB_6bit/RGBtoHDMI.ucf | 69 ++ vhdl_RGB_6bit/RGBtoHDMI.vhdl | 359 +++++++ vhdl_RGB_6bit/RGBtoHDMI.xise | 237 +++++ vhdl_RGB_6bit/fitting.notes | 593 +++++++++++ 6 files changed, 2925 insertions(+) create mode 100644 vhdl_RGB_6bit/RGB_CPLD_v70.xsvf create mode 100644 vhdl_RGB_6bit/RGBtoHDMI.jed create mode 100644 vhdl_RGB_6bit/RGBtoHDMI.ucf create mode 100644 vhdl_RGB_6bit/RGBtoHDMI.vhdl create mode 100644 vhdl_RGB_6bit/RGBtoHDMI.xise create mode 100644 vhdl_RGB_6bit/fitting.notes diff --git a/vhdl_RGB_6bit/RGB_CPLD_v70.xsvf b/vhdl_RGB_6bit/RGB_CPLD_v70.xsvf new file mode 100644 index 0000000000000000000000000000000000000000..7d39626bd784e7ae57dd4a6fff0d81672d9fb2e0 GIT binary patch literal 53289 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 literal 0 HcmV?d00001 diff --git a/vhdl_RGB_6bit/RGBtoHDMI.jed b/vhdl_RGB_6bit/RGBtoHDMI.jed new file mode 100644 index 00000000..feabbbf3 --- /dev/null +++ b/vhdl_RGB_6bit/RGBtoHDMI.jed @@ -0,0 +1,1667 @@ +Programmer Jedec Bit Map +Date Extracted: Wed Dec 04 17:36:44 2019 + +QF46656* +QP44* +QV0* +F0* +X0* +J0 0* +N VERSION P.20131013* +N DEVICE XC9572XL-10-VQ44* +N PPMAP 24 1* +N PPMAP 46 12* +N PPMAP 49 13* +N PPMAP 50 14* +N PPMAP 52 16* +N PPMAP 59 18* +N PPMAP 62 19* +N PPMAP 26 2* +N PPMAP 63 20* +N PPMAP 65 21* +N PPMAP 68 22* +N PPMAP 72 23* +N PPMAP 82 27* +N PPMAP 83 28* +N PPMAP 87 29* +N PPMAP 27 3* +N PPMAP 88 30* +N PPMAP 89 31* +N PPMAP 90 32* +N PPMAP 92 33* +N PPMAP 3 34* +N PPMAP 7 36* +N PPMAP 9 37* +N PPMAP 10 38* +N PPMAP 11 39* +N PPMAP 12 40* +N PPMAP 13 41* +N PPMAP 15 42* +N PPMAP 20 43* +N PPMAP 21 44* +N PPMAP 29 5* +N PPMAP 31 6* +N PPMAP 33 7* +N PPMAP 38 8* +L0000000 00000000 00000000 00000000 10000000* +L0000032 00000000 00000000 00000000 00000000* +L0000064 00000000 00000000 00000000 00000000* +L0000096 00000000 00000000 00000000 01000000* +L0000128 00000000 00000000 00000000 00010000* +L0000160 00000000 00000000 00000000 00000000* +L0000192 00000000 00000000 00000000 00000000* +L0000224 00000000 00000000 00000000 00000000* +L0000256 00000000 00000000 00000000 00000000* +L0000288 000000 000000 000000 000100* +L0000312 000000 000000 000000 000000* +L0000336 000000 000000 000000 000000* +L0000360 001000 000000 000000 000000* +L0000384 000000 000000 000000 000000* +L0000408 000000 000000 000000 000000* +L0000432 00000000 00000000 00000000 00000000* +L0000464 00000000 00000000 00000000 00100000* +L0000496 00000000 00000000 00000000 01010000* +L0000528 00000000 00000000 00000000 00110000* +L0000560 00000000 00000000 00000000 00100000* +L0000592 00000000 00000000 10000000 00000000* +L0000624 00000000 00000000 00000000 10100000* +L0000656 00000000 00000000 00000000 10100000* +L0000688 00000000 00000000 00000000 00010000* +L0000720 000000 000000 000000 000000* +L0000744 000000 100000 100000 000000* +L0000768 001000 000000 100000 000000* +L0000792 000000 000000 000000 010000* +L0000816 000000 000000 000000 010000* +L0000840 000000 000000 000000 010000* +L0000864 00000000 00000000 00000000 00000000* +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* +L0001056 00000000 00000000 00000000 00000000* +L0001088 00000000 00000000 00000000 00000000* +L0001120 00000000 00000000 00000000 00000000* +L0001152 000000 000000 000000 000000* +L0001176 000000 000000 000000 000000* +L0001200 000000 000000 000000 000000* +L0001224 000000 000000 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 00000000 00000000 00000000* +L0001488 00001000 10000000 10000000 00000000* +L0001520 00000000 00000000 00000000 00000000* +L0001552 00000000 00000000 00000000 00000000* +L0001584 000000 000000 000000 000000* +L0001608 100000 000000 000000 100000* +L0001632 000000 000000 000000 000000* +L0001656 000000 000000 000000 000000* +L0001680 000000 000000 000000 000000* +L0001704 000000 000000 000000 000000* +L0001728 00000000 00000000 00000000 00000000* +L0001760 00000000 00000000 00000000 00000000* +L0001792 00000000 00000000 00000000 00000000* +L0001824 00000000 00000000 00000000 00000000* +L0001856 00000000 00000000 00000000 00000000* +L0001888 00000000 00000000 00000000 00000000* +L0001920 00000000 00000000 00000000 00000000* +L0001952 00000000 00000000 00000000 00000000* +L0001984 00000000 00000000 00000000 00000000* +L0002016 000000 000000 000000 000000* +L0002040 000000 000000 000000 000000* +L0002064 000000 000000 000000 000000* +L0002088 000000 000000 000000 000000* +L0002112 000000 000000 000000 000000* +L0002136 000000 000000 000000 000000* +L0002160 01000000 01000000 00001000 00000000* +L0002192 00000000 00000000 00000000 00000000* +L0002224 00000100 00000000 00001000 00000000* +L0002256 00000000 00000000 00000000 00000000* +L0002288 00000000 00000000 00000000 00000000* +L0002320 00000000 00000000 00000000 00000000* +L0002352 00000000 00000000 00000000 00000000* +L0002384 00000000 00000000 00000000 00000000* +L0002416 00000000 00000000 00001000 00000000* +L0002448 000000 000000 000000 000000* +L0002472 000000 000000 000000 000000* +L0002496 000000 000000 000000 000000* +L0002520 000000 000000 000000 000000* +L0002544 000000 000000 000000 000000* +L0002568 000000 000000 000000 001000* +L0002592 00000010 00000000 00000000 00000000* +L0002624 00000010 00000000 00000000 00000000* +L0002656 00000000 00000000 00000000 00000000* +L0002688 00000001 00000000 00000000 00000000* +L0002720 00000010 00000000 00000000 00000000* +L0002752 00000000 00000000 00000000 00000000* +L0002784 00000010 00000000 00000000 00000000* +L0002816 00000111 00000000 00000000 00000000* +L0002848 00000000 00000000 00000000 00000000* +L0002880 000000 000000 000000 000000* +L0002904 000000 000000 000000 000000* +L0002928 000000 000000 000000 000000* +L0002952 000010 000000 000000 000000* +L0002976 000000 000000 000000 000000* +L0003000 000010 000000 000000 000000* +L0003024 00000010 00000000 00000000 00000000* +L0003056 00000000 00000000 00000000 00000000* +L0003088 00000000 00000000 00000000 00000000* +L0003120 00000001 00000000 00000000 00000000* +L0003152 00000010 00000000 00000000 00000000* +L0003184 00000011 01000000 01000000 00000000* +L0003216 00000110 00000000 01000000 00000000* +L0003248 00000000 00000000 00000000 00000000* +L0003280 00000000 00000000 00000000 00000000* +L0003312 000000 000000 000000 000000* +L0003336 000000 000000 000000 000000* +L0003360 000010 000000 000000 000000* +L0003384 000000 000000 000000 000000* +L0003408 000010 000000 000000 000000* +L0003432 000000 000000 000000 000000* +L0003456 00000000 00000000 00000000 00000000* +L0003488 00000000 00000000 00000000 00000000* +L0003520 00000000 00000000 00000000 00000000* +L0003552 00000000 00000000 00000000 00000000* +L0003584 00000000 00000000 00000000 00000000* +L0003616 00000000 00000000 00000000 00000000* +L0003648 00000000 00000000 00000000 00000000* +L0003680 00000000 00000000 00000000 00000000* +L0003712 00000000 00000000 00000000 00000000* +L0003744 000000 000000 000000 000000* +L0003768 000000 000000 000000 000000* +L0003792 000000 000000 000000 000000* +L0003816 000000 000000 000000 000000* +L0003840 000000 000000 000000 000000* +L0003864 000000 000000 000000 000000* +L0003888 00000000 00000000 00000000 00000000* +L0003920 00000000 00000000 00000000 00000000* +L0003952 00000000 00000000 00000000 00000000* +L0003984 00000000 00000000 00000000 00000000* +L0004016 00000000 00000000 00000000 00000000* +L0004048 00000000 00000000 00000000 00000100* +L0004080 00000000 00000000 00000000 00000000* +L0004112 00001000 00000000 00000000 00000000* +L0004144 00000000 00000000 00000000 00000000* +L0004176 000000 000000 000000 000000* +L0004200 000000 010000 000000 000000* +L0004224 000000 000000 000000 000000* +L0004248 000000 000000 000000 000000* +L0004272 000000 000000 000000 000000* +L0004296 000000 000000 000000 000000* +L0004320 00000000 00000000 00000000 00000000* +L0004352 00000000 00000000 00000000 00000000* +L0004384 00000000 00000000 00000000 00000000* +L0004416 00000000 00000000 00000000 00000000* +L0004448 00000000 00000000 00000000 00000000* +L0004480 00000000 00000000 00000000 00000000* +L0004512 00000000 00000000 00000000 00000000* +L0004544 00000000 00000000 00000000 00000000* +L0004576 00000000 00000000 00000000 00000000* +L0004608 000000 000000 000000 000000* +L0004632 000000 000000 000000 000000* +L0004656 000000 000000 000000 000000* +L0004680 000000 000000 000000 000000* +L0004704 000000 000000 000000 000000* +L0004728 000000 000000 000000 000000* +L0004752 00000100 00100000 00100000 00000000* +L0004784 00000100 00000000 00100000 00000000* +L0004816 00000000 00000000 00000000 00000000* +L0004848 00000000 00000000 00000000 00000000* +L0004880 00000000 00000000 00000000 00000000* +L0004912 00000000 00000000 00000000 00000000* +L0004944 00000000 00000000 00000000 00000000* +L0004976 00000000 00000000 00000000 01000000* +L0005008 00000000 00000000 00000000 01000000* +L0005040 000000 000000 000000 010000* +L0005064 000000 000000 000000 000000* +L0005088 000000 000000 001000 000000* +L0005112 000000 000000 000000 000000* +L0005136 000000 000000 000000 000000* +L0005160 000000 000000 000000 000000* +L0005184 00100011 00000011 00000011 01110010* +L0005216 00110011 00000011 00000011 01010011* +L0005248 00000011 00000011 00000011 01010010* +L0005280 00010011 00000011 00000011 01010011* +L0005312 00000011 00000011 00000011 00010011* +L0005344 00000011 00000011 00000011 00010111* +L0005376 00000011 00000011 00000011 00010111* +L0005408 00000011 00000011 00000011 00010011* +L0005440 00000011 00000011 00000011 00010011* +L0005472 000000 000000 000000 000100* +L0005496 000000 000000 000000 010010* +L0005520 000000 000000 000000 010010* +L0005544 000000 000000 000000 000000* +L0005568 000000 000000 000000 000000* +L0005592 000000 000000 000000 000000* +L0005616 00010000 00000000 00000000 00000001* +L0005648 00000000 00000000 00000000 00100000* +L0005680 00010000 00000000 00000000 00000001* +L0005712 00000000 00000000 00000000 00000000* +L0005744 00000000 00000000 00000000 00000000* +L0005776 00000000 00000000 00000000 00000000* +L0005808 00000000 00000000 00000000 00000000* +L0005840 00000000 00000000 00000000 01000000* +L0005872 00000000 00000000 00000000 00000000* +L0005904 000000 000000 000000 000000* +L0005928 000000 000100 000000 000001* +L0005952 000000 000000 000000 000000* +L0005976 000000 000000 000000 010000* +L0006000 000000 000000 000000 010000* +L0006024 000000 000000 000000 010000* +L0006048 00110001 00000000 00000011 00000010* +L0006080 00010001 00000010 00000011 00000001* +L0006112 00000001 00000000 00000011 00000000* +L0006144 00000001 00000000 00000011 00000011* +L0006176 00000000 00000000 00000011 00000011* +L0006208 00000001 00000000 00000011 00100011* +L0006240 00000011 00000000 00000011 00000011* +L0006272 00000001 00000000 00000011 00000011* +L0006304 00000011 00000000 00000011 00000011* +L0006336 000000 000000 000000 000000* +L0006360 000000 000000 000000 000000* +L0006384 000000 000000 000000 000000* +L0006408 000000 000000 000000 000000* +L0006432 000000 000000 000000 000000* +L0006456 000000 000000 000000 000000* +L0006480 00000010 00000000 10000000 00000001* +L0006512 00100000 00000000 10000000 00100010* +L0006544 00010000 00000000 00000000 00100001* +L0006576 00010000 00000000 00000000 00010000* +L0006608 00000001 00000000 00000000 00010000* +L0006640 00000000 00000000 00000000 00000000* +L0006672 00000000 00000000 00010000 00000000* +L0006704 00000000 00000000 00000000 00000000* +L0006736 00000000 00000000 00000000 00000000* +L0006768 000000 000000 000000 000000* +L0006792 000000 001000 000000 000000* +L0006816 000000 000000 000000 000000* +L0006840 000000 000000 100000 010000* +L0006864 000000 000000 000000 010000* +L0006888 000000 000000 000000 010000* +L0006912 00000001 00000000 00000001 01000010* +L0006944 10000001 00000000 00000001 01010001* +L0006976 10000001 00000000 00000011 01010000* +L0007008 00000001 00000000 00000011 01010011* +L0007040 00000000 00000000 00000010 00010001* +L0007072 00000001 00000000 00000010 00000000* +L0007104 00000001 00000000 00000011 00000001* +L0007136 00000001 00000000 00000010 00000010* +L0007168 00000011 00000000 00000011 00001011* +L0007200 000000 000000 000000 000010* +L0007224 001000 000000 000000 000000* +L0007248 001000 000000 000000 000000* +L0007272 000000 000000 000000 000000* +L0007296 000000 000000 000000 001000* +L0007320 000000 000000 000000 000001* +L0007344 00000010 00000000 00000010 00001001* +L0007376 00000000 00000000 00000010 10101010* +L0007408 00000000 00000000 00000000 10000101* +L0007440 00000000 00000000 00000000 10100100* +L0007472 00000001 00000000 00000001 00100110* +L0007504 00000000 00000000 00000001 00000011* +L0007536 00010000 00000000 00000000 00100010* +L0007568 00000000 00000000 00000001 00110001* +L0007600 00000000 00000000 00000000 01100000* +L0007632 000000 000000 000000 111000* +L0007656 000001 000000 000000 010000* +L0007680 000000 000000 000000 011000* +L0007704 000000 000000 001000 010100* +L0007728 000000 000000 000000 010101* +L0007752 000000 000000 000000 010010* +L0007776 00010001 00000011 00000011 00000010* +L0007808 00000011 00000001 00000000 00000011* +L0007840 00010011 00000011 00000011 00010010* +L0007872 00000010 00000011 00000011 01000010* +L0007904 00000010 00000011 00000010 10010001* +L0007936 00000010 00000011 00000010 00000000* +L0007968 00000001 00000011 00000011 00000001* +L0008000 00000000 00000011 00000010 00000000* +L0008032 00000001 00000011 00000001 00010011* +L0008064 000000 000000 000000 000000* +L0008088 000000 000000 000000 000000* +L0008112 000000 000000 000000 000000* +L0008136 000000 000000 000000 000000* +L0008160 000000 000000 000000 000000* +L0008184 000000 000000 000000 000000* +L0008208 00000000 00000011 01000011 01000001* +L0008240 00010010 00000001 01000000 00010010* +L0008272 00000010 00000011 00000011 01000011* +L0008304 00010011 00000011 00000011 00010001* +L0008336 00000011 00000011 00000011 00000010* +L0008368 00000011 00010011 00000010 00000011* +L0008400 00000000 00000011 00000011 00000010* +L0008432 00000001 00000011 01000010 00000011* +L0008464 00000000 00000011 00000001 00000000* +L0008496 000000 000000 000000 000101* +L0008520 000000 000000 000010 000000* +L0008544 000000 000000 000000 000000* +L0008568 000000 000000 000000 000000* +L0008592 000000 000000 000000 000000* +L0008616 000000 000000 000000 000000* +L0008640 00000000 00000000 00000001 00000000* +L0008672 00000001 00000000 00000000 00000001* +L0008704 00001001 00000000 00000001 00000000* +L0008736 00000100 00000000 00000001 00000000* +L0008768 00011000 00000000 00000000 00000001* +L0008800 00010000 00000000 00000000 00000000* +L0008832 00000001 00000000 00000001 00000001* +L0008864 00001010 00000000 00000010 10000000* +L0008896 00001101 00000000 00000001 00000001* +L0008928 000001 000000 000000 000000* +L0008952 000000 000000 000000 000000* +L0008976 000000 000000 000000 000000* +L0009000 000101 000000 000000 000000* +L0009024 000000 000000 000000 000010* +L0009048 000100 000000 000000 000000* +L0009072 00000001 00000000 00000010 10000011* +L0009104 10001100 00000000 00000000 00000110* +L0009136 10000100 00000000 00000000 00000000* +L0009168 00001001 00000000 00000000 00000001* +L0009200 00000101 00000000 00000000 00000010* +L0009232 00000001 00000000 00000000 00000011* +L0009264 00001000 00000000 00000000 00000010* +L0009296 00000011 00000000 00010000 00000011* +L0009328 00000000 00000000 00000000 00000010* +L0009360 000010 000000 000000 000000* +L0009384 000000 000000 000000 000000* +L0009408 000100 000000 000000 000000* +L0009432 000000 000000 000000 000000* +L0009456 000100 000000 000000 000000* +L0009480 000000 000000 000000 000000* +L0009504 00000000 00000000 00000000 00000000* +L0009536 00000001 00000000 00000000 00000000* +L0009568 00000000 00000000 00000000 00000000* +L0009600 00000000 00000000 00000000 00000000* +L0009632 00000000 00000000 00000000 00000000* +L0009664 00000000 00000000 00000000 00000000* +L0009696 00000000 00000000 00000000 00000000* +L0009728 00000000 00000000 00000000 00000000* +L0009760 00000000 00000000 00000000 00000001* +L0009792 000000 000000 000000 000000* +L0009816 000000 000000 000000 000000* +L0009840 000000 000000 000000 000000* +L0009864 000000 000000 000000 000000* +L0009888 000000 000000 000000 000001* +L0009912 000000 000000 000000 000000* +L0009936 00001000 00000000 00000000 00000000* +L0009968 00001001 00000000 00000000 00000001* +L0010000 00000000 00000000 00100000 00000000* +L0010032 00000000 00000000 00000000 00000001* +L0010064 00000000 00000000 00000000 00000001* +L0010096 00000000 00000000 00000100 00000010* +L0010128 00000000 00000000 00000001 00000011* +L0010160 00000000 00000000 00000000 00000010* +L0010192 00000000 00000000 00000000 00000011* +L0010224 000000 000000 000000 000000* +L0010248 010000 000000 010000 000000* +L0010272 000000 000000 010000 000000* +L0010296 000000 000000 000000 000000* +L0010320 000000 000000 000000 000000* +L0010344 000000 000000 000000 000001* +L0010368 00000000 00000000 00000010 00000010* +L0010400 00000000 00000000 00000000 00000000* +L0010432 00000001 00000000 00000000 00000000* +L0010464 00000001 00000000 00000001 00000000* +L0010496 00000001 00000000 00000000 00000000* +L0010528 00000000 00000000 00000000 00000000* +L0010560 00000001 00000000 00000001 00000000* +L0010592 00000000 00000000 00000000 00000100* +L0010624 00000001 00000000 00000001 00000001* +L0010656 000000 000000 000000 000000* +L0010680 000000 000000 000000 000000* +L0010704 000000 000000 000000 000000* +L0010728 000000 000000 000000 000000* +L0010752 000000 000000 000000 000000* +L0010776 000000 000000 000000 000000* +L0010800 00000010 00000000 00000010 00000010* +L0010832 00000000 00000000 00000010 00000010* +L0010864 00000000 00000000 00000000 00000000* +L0010896 01000001 00000000 00000000 00000000* +L0010928 00000001 00000000 00000001 00000000* +L0010960 00000001 00001000 00101000 00000000* +L0010992 00000000 00000000 00100000 00000000* +L0011024 00000001 00000000 10000001 00000000* +L0011056 11000000 00000000 00000000 00000100* +L0011088 000000 000000 000000 000000* +L0011112 000000 000000 000000 000000* +L0011136 000000 000000 000000 000000* +L0011160 000000 000000 000000 000000* +L0011184 110000 000000 000000 000000* +L0011208 000000 000000 000000 000000* +L0011232 00000011 00000011 00000011 00000010* +L0011264 00000011 00000011 00000011 00000011* +L0011296 00000011 00000011 00000011 00000010* +L0011328 00000011 00000011 00000011 00001011* +L0011360 00000011 00000011 00000011 00000011* +L0011392 00000011 00000011 00000011 00000011* +L0011424 00000011 00000011 00000011 00000011* +L0011456 00000011 00000011 00000011 00000011* +L0011488 00000011 00000011 00000011 00000011* +L0011520 000000 000000 000000 000000* +L0011544 000000 000000 000000 000000* +L0011568 000000 000000 000000 000000* +L0011592 000000 000000 000000 000000* +L0011616 000000 000000 000000 001000* +L0011640 000000 000000 000000 000000* +L0011664 00000000 00000000 00000000 00000000* +L0011696 00000000 00000000 00000000 00000000* +L0011728 00000000 00000000 00000000 00000000* +L0011760 00000000 00000000 00000000 00000000* +L0011792 00000000 00000000 00000000 00000000* +L0011824 00000000 00000000 00000000 00000000* +L0011856 00000000 00000000 00001000 00000000* +L0011888 00000000 00000000 00000000 00000000* +L0011920 00000000 00000000 00000000 00000000* +L0011952 000000 000000 000000 001000* +L0011976 000000 000000 000000 000000* +L0012000 000000 000000 000000 000000* +L0012024 000000 000000 000000 000000* +L0012048 000000 000000 000000 000000* +L0012072 000010 000000 000000 000000* +L0012096 00000000 00000000 00000000 00000000* +L0012128 00000000 00000000 00000000 00000000* +L0012160 00000000 00000000 00000000 00000000* +L0012192 00000000 00000000 00000000 00000000* +L0012224 00000000 00000000 00000000 00000000* +L0012256 00000000 00000000 00000000 00000000* +L0012288 00000000 00000000 00000000 00000000* +L0012320 00000000 00000000 00000000 00000000* +L0012352 00000000 00000000 00000000 00000000* +L0012384 000000 000000 000000 000000* +L0012408 000000 000000 000000 000000* +L0012432 000000 000000 000000 000000* +L0012456 000000 000000 000000 000000* +L0012480 000000 000000 000000 000000* +L0012504 000000 000000 000000 000000* +L0012528 00000000 00000100 00000000 00000000* +L0012560 00000000 00000000 00000000 00000000* +L0012592 00000000 00000000 00000000 00000000* +L0012624 00000000 00000000 00000000 00000000* +L0012656 00000000 00000000 00000000 00000000* +L0012688 00000000 00000000 00000000 00000000* +L0012720 00000000 00000000 00000000 00000000* +L0012752 00000000 00000000 00000000 00000000* +L0012784 00000000 00000000 00000000 00000000* +L0012816 000000 000000 000000 000000* +L0012840 000000 000000 000000 000000* +L0012864 000000 000000 000010 000010* +L0012888 000010 000000 000000 000000* +L0012912 000000 000000 000000 000000* +L0012936 000000 000000 000000 000000* +L0012960 00000000 00000000 00000000 00000000* +L0012992 00000000 00000010 00000011 00000001* +L0013024 00000000 00000000 00000000 00000000* +L0013056 00000000 00000000 00000000 00000000* +L0013088 00000001 00000000 00000001 00000010* +L0013120 00000001 00000000 00000001 00000001* +L0013152 00000000 00000000 00000000 00000000* +L0013184 00000001 00000000 00000001 00000001* +L0013216 00000000 00000000 00000010 00000000* +L0013248 000000 000000 000000 000000* +L0013272 000000 000000 000000 000000* +L0013296 000000 000000 000000 000001* +L0013320 000000 000000 000000 000000* +L0013344 000000 000000 000000 000000* +L0013368 000000 000000 000000 000000* +L0013392 00000000 00000000 00010000 00000000* +L0013424 00000000 00000000 00010000 00000000* +L0013456 00000000 00000000 01000000 00000000* +L0013488 00000000 00000000 00000000 00000000* +L0013520 00000000 00000000 00000000 00000000* +L0013552 00001000 00000100 00000000 00000000* +L0013584 00000000 00000000 00000000 00000000* +L0013616 00000000 00000000 00000000 00000000* +L0013648 00000000 00000000 00000000 00000000* +L0013680 000000 000000 000000 000000* +L0013704 000000 000000 000000 000000* +L0013728 000000 000000 000000 000000* +L0013752 000000 000000 000000 000001* +L0013776 000000 000000 000000 000000* +L0013800 000000 000000 000000 000000* +L0013824 00000000 00000000 00000000 00000000* +L0013856 00000000 00000000 00000000 00000000* +L0013888 00000000 00000000 00000000 00000000* +L0013920 00000000 00000000 00000000 00000000* +L0013952 00000000 00000000 00000000 00000000* +L0013984 00000000 00000000 00000000 00000000* +L0014016 00000000 00000000 00000000 00000000* +L0014048 00000000 00000000 00000000 00000000* +L0014080 00000000 00000000 00000000 00000000* +L0014112 000000 000000 000000 000000* +L0014136 000000 000000 000000 000000* +L0014160 000000 000000 000000 000000* +L0014184 000000 000000 000000 000000* +L0014208 000000 000000 000000 000000* +L0014232 000000 000000 000000 000000* +L0014256 00000000 00000000 00000000 00000000* +L0014288 00000000 00000000 00000000 00000000* +L0014320 00000000 00000000 00000000 00000000* +L0014352 00000000 00000000 00000000 00000000* +L0014384 00000000 00000000 00000000 00000000* +L0014416 00000000 00000000 00000000 00000000* +L0014448 00000000 00000000 00000100 00000100* +L0014480 00000100 00000000 00000000 00000000* +L0014512 00000000 00000000 00000000 00000000* +L0014544 000000 000000 000000 000000* +L0014568 000000 000001 000000 000000* +L0014592 000000 000000 000000 000000* +L0014616 000000 000000 000000 000000* +L0014640 000000 000000 000000 000000* +L0014664 000000 000000 000000 000000* +L0014688 00000011 00000000 00000011 00000010* +L0014720 00000001 00000010 00000011 00000001* +L0014752 00000001 00000000 00000011 00000000* +L0014784 00000001 00000000 00000011 00000011* +L0014816 00000001 00000000 00000011 00000011* +L0014848 00000001 00000000 00000011 00000011* +L0014880 00000011 00000000 00000011 00000011* +L0014912 00000011 00000000 00000011 00000011* +L0014944 00000011 00000000 00000011 00000011* +L0014976 000000 000000 000000 000000* +L0015000 000000 000000 000000 000000* +L0015024 000000 000000 000000 000000* +L0015048 000000 000000 000000 000000* +L0015072 000000 000000 000000 000000* +L0015096 000000 000000 000000 000000* +L0015120 00000000 00000000 00000000 00000000* +L0015152 00000000 00000000 00000000 00000000* +L0015184 00000000 00000000 00000000 00000000* +L0015216 00000000 00000000 00000000 00000000* +L0015248 00000000 00000000 00000000 00000000* +L0015280 00100000 00000000 00000000 00000000* +L0015312 00000000 00000000 00000000 00000000* +L0015344 00000000 00000000 00000000 00000000* +L0015376 00000000 00000000 00000000 00000000* +L0015408 000000 000000 000000 000000* +L0015432 000000 000000 000100 000000* +L0015456 000000 000000 000100 000000* +L0015480 000000 000000 010000 000000* +L0015504 000000 000000 000000 000000* +L0015528 000000 000000 000000 000000* +L0015552 00000000 00000000 00000000 00000000* +L0015584 00000000 00000000 00001100 00000000* +L0015616 00000000 00000000 00000000 00000000* +L0015648 00000000 00000000 00000000 00000000* +L0015680 00000000 00000000 10011100 00000000* +L0015712 00000000 00000000 00000000 00000000* +L0015744 00000000 00000000 00000000 00000000* +L0015776 00000000 00000000 00000100 00000000* +L0015808 00000000 00000000 00001000 00000000* +L0015840 000000 000000 001000 000000* +L0015864 000000 000000 000000 000000* +L0015888 000000 000000 000001 000000* +L0015912 000000 000000 000000 000000* +L0015936 000000 000000 000000 000000* +L0015960 000000 000000 000101 000000* +L0015984 00000000 00000011 00001111 00000000* +L0016016 00000010 00000001 00000000 00000010* +L0016048 00000010 00000011 10011111 00000010* +L0016080 00000110 00000011 00000011 00000000* +L0016112 00000010 00000011 00000010 00000000* +L0016144 00000010 00000011 00000010 00000000* +L0016176 00000000 00000011 00000011 00000000* +L0016208 00000000 00000011 00101010 00000000* +L0016240 00000000 00000011 00000001 00000000* +L0016272 000000 000000 000000 000000* +L0016296 000000 000000 000001 000000* +L0016320 000000 000000 000000 000000* +L0016344 000000 000000 000111 000000* +L0016368 000000 000000 000000 000000* +L0016392 000000 000000 000000 000000* +L0016416 00000000 00000000 00000000 00001000* +L0016448 00000000 00000000 00000000 10000000* +L0016480 10000000 00000000 00000000 00000100* +L0016512 00000000 00000000 00000000 00101000* +L0016544 00000000 00000000 00000000 00000000* +L0016576 00000000 00000000 00000000 00000000* +L0016608 00000000 00000000 00000000 00100000* +L0016640 00000000 00000000 00000000 00000000* +L0016672 00000000 00000000 00000000 00100000* +L0016704 000100 000000 000000 110000* +L0016728 000000 000000 000000 000000* +L0016752 000000 000000 000000 011000* +L0016776 001000 000000 000000 010100* +L0016800 000000 000000 000000 010000* +L0016824 000001 000000 000000 000010* +L0016848 00000000 00000000 00000000 00000010* +L0016880 10000001 00000000 00000000 00000000* +L0016912 00000000 00000000 00000000 00000000* +L0016944 00000000 00000000 00000000 00000001* +L0016976 00000000 00000000 00000000 00001010* +L0017008 00000000 00000000 00000000 00000010* +L0017040 00000000 00000000 00000000 00000011* +L0017072 00000000 00000000 00000000 00001010* +L0017104 00010000 00000000 00000000 01000010* +L0017136 000000 000000 000000 000000* +L0017160 000000 000000 000000 010000* +L0017184 000000 000000 000000 000000* +L0017208 000000 000000 000000 000000* +L0017232 000001 000000 000000 001000* +L0017256 000000 000000 000000 000000* +L0017280 00000000 00000000 00000000 00000000* +L0017312 00000000 00000000 00000000 00000000* +L0017344 00000000 00000000 00000000 00000000* +L0017376 00000000 00000000 00000000 00000000* +L0017408 00000000 00000000 00000000 00000000* +L0017440 00000000 00000000 00000000 00000000* +L0017472 00000000 00000000 00000000 00000000* +L0017504 00000000 00000000 00000000 00000000* +L0017536 00000000 00000000 00000000 00000000* +L0017568 000000 000000 000000 000000* +L0017592 000000 000000 000000 000000* +L0017616 000000 000000 000000 000000* +L0017640 000000 000000 000000 000000* +L0017664 000000 000000 000000 000000* +L0017688 000000 000000 000000 000000* +L0017712 00000000 10000000 00000000 00000000* +L0017744 00000000 00000000 00000000 00000000* +L0017776 00001000 00000000 00000000 00000000* +L0017808 00000000 00000000 00000000 00000000* +L0017840 00000000 00000000 00000000 00000000* +L0017872 00000000 00000000 00000000 00000000* +L0017904 00000000 00000000 00000000 00000000* +L0017936 00000000 00000000 00000000 00000000* +L0017968 00000000 00000000 00000000 00000000* +L0018000 000000 000000 000000 000000* +L0018024 000000 000000 000000 000000* +L0018048 000000 000000 000000 000000* +L0018072 000000 000000 000000 000000* +L0018096 000000 000000 000000 000000* +L0018120 000000 000000 000000 000000* +L0018144 00000000 00000010 00000000 00000000* +L0018176 00000010 00000000 00000000 00000010* +L0018208 00000010 00000011 00000000 00000000* +L0018240 00000000 00000000 00000000 00000000* +L0018272 00000010 00000010 00000000 00000000* +L0018304 00000010 00000010 00000000 00000000* +L0018336 00000000 00000001 00000000 00000000* +L0018368 00000000 00000001 00000000 00000000* +L0018400 00000000 00000000 00000000 00000000* +L0018432 000000 000000 000000 000000* +L0018456 000000 000000 000000 000000* +L0018480 000000 000000 000000 000000* +L0018504 000000 000000 000000 000000* +L0018528 000000 000000 000000 000000* +L0018552 000000 000000 000000 000000* +L0018576 00000000 00000000 00000000 00000000* +L0018608 00000000 00000000 00000000 00000000* +L0018640 00000000 00000000 00000000 00000000* +L0018672 00000000 00000000 00000000 00000000* +L0018704 00000000 00000000 00000000 00000000* +L0018736 00000000 00000000 00000000 00000000* +L0018768 00000000 00000000 00000000 00000000* +L0018800 00000000 00000000 00000000 00000000* +L0018832 00000000 00000000 00000000 00000000* +L0018864 000000 000000 000000 000000* +L0018888 000000 000000 000000 000000* +L0018912 000000 000000 000000 000000* +L0018936 000000 000000 000000 000000* +L0018960 000000 000000 000000 000000* +L0018984 000000 000000 000000 000000* +L0019008 00000000 00000000 00000000 00001000* +L0019040 00100000 00000000 00000000 10101000* +L0019072 00010000 00000000 00000000 10000100* +L0019104 00010000 00000000 00000000 00000100* +L0019136 00000000 00000000 00000000 00000000* +L0019168 00000000 00000000 00000000 00001000* +L0019200 00000000 00000000 00000000 01100000* +L0019232 00000000 00000000 00000000 00101000* +L0019264 00000000 00000000 00000000 00001000* +L0019296 000000 000000 000000 000000* +L0019320 001000 000000 000000 001000* +L0019344 000000 000000 000000 000000* +L0019368 000000 000000 000000 010000* +L0019392 000000 000000 000000 000000* +L0019416 000000 000000 000000 000000* +L0019440 10110011 00000011 00000011 10100111* +L0019472 00010011 00000011 00000011 00000111* +L0019504 00000011 00000011 00000011 00101011* +L0019536 00000011 00000011 00000011 00001011* +L0019568 00000011 00000011 00000011 00000011* +L0019600 00000011 00000011 00000011 01100011* +L0019632 00000011 00000011 00000011 10000011* +L0019664 00000011 00000011 00000011 10000011* +L0019696 00000011 00000011 00000011 00100011* +L0019728 000000 000000 000000 001000* +L0019752 000000 000000 000000 000100* +L0019776 000000 000000 000000 000100* +L0019800 001000 000000 000000 000010* +L0019824 000000 000000 000000 001010* +L0019848 000000 000000 000000 000000* +L0019872 00000011 00000000 00000011 00000011* +L0019904 10000001 00000010 00000011 00000011* +L0019936 10001101 00000000 00000011 00000001* +L0019968 00001101 00000000 00000011 00000011* +L0020000 00000101 00000000 00000011 00000011* +L0020032 00000001 00000000 00000011 00000011* +L0020064 00001011 00000000 00000011 00000011* +L0020096 00001001 00000000 00000011 00000011* +L0020128 00000011 00000000 00000011 00000011* +L0020160 000011 000000 000000 000000* +L0020184 000000 000000 000000 000000* +L0020208 000000 000000 000000 000000* +L0020232 000100 000000 000000 000000* +L0020256 000100 000000 000000 000000* +L0020280 000100 000000 000000 000000* +L0020304 00001111 00000000 00000011 00000011* +L0020336 00001101 00000000 00000011 00000011* +L0020368 00000001 00000000 00000011 00000001* +L0020400 00000001 00000000 00000011 00000011* +L0020432 00011001 00000000 00000011 00000011* +L0020464 00000001 00000000 00000011 00000011* +L0020496 00000001 00000000 00000011 00000011* +L0020528 00000001 00000000 00000011 00000011* +L0020560 00001111 00000000 00000011 00000011* +L0020592 000000 000000 000000 000000* +L0020616 000101 000000 000000 000000* +L0020640 000101 000000 000000 000000* +L0020664 000001 000000 000000 000000* +L0020688 000001 000000 000000 000000* +L0020712 000001 000000 000000 000000* +L0020736 00000001 00000011 00000011 00000011* +L0020768 00000011 00000001 00000000 00000011* +L0020800 00000011 00000011 00000011 00000011* +L0020832 00000011 00000011 00000011 00000011* +L0020864 00000011 00000011 00000011 00000011* +L0020896 00000011 00000011 00000010 00000011* +L0020928 00000001 00000011 00000011 00000011* +L0020960 00000001 00000011 00000010 00000011* +L0020992 00000001 00000011 00000001 00000011* +L0021024 000000 000000 000000 000000* +L0021048 000000 000000 000000 000000* +L0021072 000000 000000 000000 000000* +L0021096 000000 000000 000000 000000* +L0021120 000000 000000 000000 000000* +L0021144 000000 000000 000000 000000* +L0021168 00000001 00000000 00000011 00000011* +L0021200 00000001 00000000 00000000 00000011* +L0021232 00000001 00000000 00000001 00000000* +L0021264 00000001 00000000 00000001 00000001* +L0021296 00000001 00000000 00000000 00000011* +L0021328 00000001 00000000 00000000 00000011* +L0021360 00000001 00000000 00000001 00000011* +L0021392 00000011 00000000 00000010 00000011* +L0021424 00000001 00000000 00000001 00000011* +L0021456 000000 000000 000000 000000* +L0021480 000000 000000 000000 000000* +L0021504 000000 000000 000000 000000* +L0021528 000000 000000 000000 000000* +L0021552 000000 000000 000000 000000* +L0021576 000000 000000 000000 000000* +L0021600 00000000 00000000 00000010 01000010* +L0021632 00000000 00000010 00000000 01000010* +L0021664 10000000 00000000 00000000 01000000* +L0021696 00000000 00000000 00000000 01000000* +L0021728 00000010 00000010 00000010 00001010* +L0021760 00000000 00000000 00000000 00000000* +L0021792 00000000 00000000 00000000 00010000* +L0021824 00000000 00000000 00000000 00001000* +L0021856 00010000 00000000 00000000 00001100* +L0021888 000000 000000 000000 010010* +L0021912 000000 000000 000000 000000* +L0021936 000000 000000 000000 010000* +L0021960 000000 000000 000000 000000* +L0021984 000001 000000 000000 000000* +L0022008 000000 000000 000000 000000* +L0022032 00000000 00000000 00000011 00000010* +L0022064 10000001 00000010 00000000 00111010* +L0022096 00000000 00000000 00000000 10010000* +L0022128 00000000 00000000 00000000 10010100* +L0022160 00000011 00000010 00000010 00110110* +L0022192 00000000 00000000 00000000 00001000* +L0022224 00000000 00000000 00000000 00001000* +L0022256 00000000 00000000 00000000 00100100* +L0022288 00000000 00000000 00000000 01000000* +L0022320 000100 000000 000000 000000* +L0022344 000000 000000 000000 011000* +L0022368 000000 000000 000000 000000* +L0022392 000000 000000 000000 001000* +L0022416 000000 000000 000000 000100* +L0022440 000001 000000 000000 010000* +L0022464 00000000 00000000 00000000 00000010* +L0022496 00000001 00000011 00000010 00000010* +L0022528 00000000 00000000 00000000 00000000* +L0022560 00000000 00000000 00000000 00000000* +L0022592 00000011 00000011 00000000 00000000* +L0022624 00000000 00000000 00000000 00000000* +L0022656 00000000 00000000 00000000 00000000* +L0022688 00000000 00000000 00000000 00000000* +L0022720 00000000 00000000 00000000 00000000* +L0022752 000000 000000 000000 000000* +L0022776 000000 000000 000000 000000* +L0022800 000000 000000 000000 000000* +L0022824 000000 000000 000000 000000* +L0022848 000000 000000 000000 000000* +L0022872 000000 000000 000000 000000* +L0022896 00000011 00000000 00000010 00000000* +L0022928 00000011 00000010 00000000 00000000* +L0022960 00000000 00000000 00000000 00000000* +L0022992 00000000 00000000 00000000 00000000* +L0023024 00000011 00000010 00000010 00000000* +L0023056 00000000 00100000 00000000 00000000* +L0023088 00000000 00000000 00000000 00000000* +L0023120 00000000 00000000 00000000 00000000* +L0023152 00000000 00000000 00000000 00000000* +L0023184 000000 000000 000000 000000* +L0023208 000000 000000 000000 000000* +L0023232 000000 000000 000000 000000* +L0023256 000000 000000 000000 000000* +L0023280 000000 000000 000000 000000* +L0023304 000000 000000 000000 000000* +L0023328 00000000 00000000 00000000 00000010* +L0023360 00000001 00000010 00000000 00000000* +L0023392 00000000 00000000 00000000 00000000* +L0023424 00000000 00000000 00000000 00000000* +L0023456 00000011 00000010 00000000 00000010* +L0023488 00000000 00000000 00000000 00000000* +L0023520 00000000 00000000 00000000 00000000* +L0023552 00000000 00000000 00000000 00000000* +L0023584 00000000 00000000 00000000 00000000* +L0023616 000000 000000 000000 000000* +L0023640 000000 000000 000000 000000* +L0023664 000000 000000 000000 000000* +L0023688 000000 000000 000000 000000* +L0023712 000000 000000 000000 000000* +L0023736 000000 000000 000000 000000* +L0023760 00000000 00000000 00000010 00000010* +L0023792 00000000 00000011 00000000 00000011* +L0023824 00000000 00000000 00000000 00000000* +L0023856 00000000 00000000 00000000 00000000* +L0023888 00000010 00000011 00000010 00000011* +L0023920 00000000 00000000 00000000 00000000* +L0023952 00000000 00000000 00000000 00000000* +L0023984 00000000 00000000 00000000 00000000* +L0024016 00000000 00000000 00000000 00000000* +L0024048 000000 000000 000000 000000* +L0024072 000000 000000 000000 000000* +L0024096 000000 000000 000000 000000* +L0024120 000000 000000 000000 000000* +L0024144 000000 000000 000000 000000* +L0024168 000000 000000 000000 000000* +L0024192 00000001 00000000 00000001 00000010* +L0024224 00000001 00000010 00000001 00000010* +L0024256 00000000 00000000 00000000 00000000* +L0024288 00000000 00000000 00000000 00000000* +L0024320 00000011 00000010 00000000 00000011* +L0024352 00000000 00000000 00000000 00000000* +L0024384 00000000 00000000 00000000 00000000* +L0024416 00000000 00000000 00000000 00000000* +L0024448 00000000 00000000 00000000 00000000* +L0024480 000000 000000 000000 000000* +L0024504 000000 000000 000000 000000* +L0024528 000000 000000 000000 000000* +L0024552 000000 000000 000000 000000* +L0024576 000000 000000 000000 000000* +L0024600 000000 000000 000000 000000* +L0024624 00000000 00000000 00000010 00000010* +L0024656 00000001 00000010 00000100 00000010* +L0024688 00000000 00000000 00000000 00000000* +L0024720 00000000 00000000 00000000 00000000* +L0024752 00000011 00000010 00010110 00000010* +L0024784 00000000 00000000 00000000 00000000* +L0024816 00000000 00000000 00000000 00000000* +L0024848 00000000 00000000 00000000 00000000* +L0024880 00000000 00000000 00000000 00000000* +L0024912 001000 000000 000000 000000* +L0024936 000000 000000 000000 000000* +L0024960 000000 000000 000000 000000* +L0024984 000000 000000 000000 000000* +L0025008 000000 000000 000000 000000* +L0025032 000000 000000 000000 000000* +L0025056 00000000 00000000 00000010 00000011* +L0025088 00000001 00000000 00000000 00000011* +L0025120 00000000 00000000 00000000 00000000* +L0025152 00000000 00000000 00000000 00000000* +L0025184 00000011 00000000 00000010 00000011* +L0025216 00000000 00000000 00000000 00000000* +L0025248 00000000 00000000 00000000 00000000* +L0025280 00000000 00000000 00000000 00000000* +L0025312 00000000 00000000 00000000 00000000* +L0025344 000000 000000 000000 000000* +L0025368 000000 000000 000000 000000* +L0025392 000000 000000 000000 000000* +L0025416 001000 000000 000000 000000* +L0025440 000000 000000 000000 000000* +L0025464 000000 000000 000000 000000* +L0025488 00000001 00000000 00000010 00000000* +L0025520 00000000 00000010 00000000 00000011* +L0025552 00000000 00000000 00000000 00000000* +L0025584 00000000 00000000 00000000 00000000* +L0025616 00000011 00000010 00000010 00000011* +L0025648 00000000 00000000 00000000 00000000* +L0025680 00000000 00000000 00000000 00000000* +L0025712 00000000 00000000 00000000 00000000* +L0025744 00000000 00000000 00000000 00000000* +L0025776 000000 000000 000000 000000* +L0025800 000000 000010 000000 000000* +L0025824 000000 000000 000000 000000* +L0025848 000000 000000 000000 000000* +L0025872 000000 000000 000000 000000* +L0025896 000000 000000 000000 000000* +L0025920 00000000 00000000 00000010 00000000* +L0025952 00000001 00000000 00000000 00000010* +L0025984 00001000 00000000 00000000 00000000* +L0026016 00000000 00000000 00000000 00000000* +L0026048 00001111 00000000 00000010 00000010* +L0026080 00000000 00000000 00000000 00000000* +L0026112 00000000 00000000 00000000 00000000* +L0026144 00000000 00000000 00000000 00000000* +L0026176 00001100 00000000 00000000 00000000* +L0026208 000011 000000 000000 000000* +L0026232 000000 000000 000000 000000* +L0026256 000000 000000 000000 000000* +L0026280 000001 000000 000000 000000* +L0026304 000100 000000 000000 000000* +L0026328 000100 000000 000000 000000* +L0026352 00001100 00000000 00000010 00000000* +L0026384 10000011 00000000 00000000 00000000* +L0026416 10000100 00000000 00000000 00000000* +L0026448 00001100 00000000 00000000 00000000* +L0026480 00010011 00000000 00000010 00000010* +L0026512 00000000 00000000 00000000 00000000* +L0026544 00001000 00000000 00000000 00000000* +L0026576 00001000 00000000 00000000 00000000* +L0026608 00000000 00000000 00000000 00000000* +L0026640 000000 000000 000000 000000* +L0026664 000100 000000 000000 000000* +L0026688 000000 000000 000000 000000* +L0026712 000100 000000 000000 000000* +L0026736 000000 000000 000000 000000* +L0026760 000000 000000 000000 000000* +L0026784 00000001 00000000 00000010 00000000* +L0026816 00000000 00000010 00000001 00000000* +L0026848 00000010 00000000 00000000 00000000* +L0026880 00000000 00000000 00000000 00000000* +L0026912 00000001 00000010 00000011 00000011* +L0026944 00000000 00000000 00000000 00000000* +L0026976 00000000 00000000 00000000 00000000* +L0027008 00000000 00000000 00000000 00000000* +L0027040 00000000 00000000 00000000 00000000* +L0027072 000000 000000 000000 000000* +L0027096 000000 000000 000000 000000* +L0027120 000000 000000 000000 000000* +L0027144 000000 000000 000000 000000* +L0027168 000000 000000 000000 000000* +L0027192 000000 000000 000000 000000* +L0027216 00000001 00000001 00000011 00000001* +L0027248 00000000 00000000 00000000 00000010* +L0027280 00000000 00000000 00000000 00000000* +L0027312 00000000 00000000 00000000 00000000* +L0027344 00000010 00000000 00000010 00000010* +L0027376 00000000 00000000 00000000 00000000* +L0027408 00000000 00000000 00000000 00000000* +L0027440 00000000 00000000 00000000 00000000* +L0027472 00000000 00000000 00000000 00000000* +L0027504 000001 000000 000000 000000* +L0027528 000000 000000 000000 000000* +L0027552 000000 000000 000000 000000* +L0027576 000000 000000 000000 000000* +L0027600 000000 000000 000000 000000* +L0027624 000000 000000 000000 000000* +L0027648 00000000 00000000 00000010 01000010* +L0027680 00000000 00000010 00000000 01010110* +L0027712 00000000 00000000 00000000 00011000* +L0027744 00000000 00000000 00000000 00000000* +L0027776 00000010 00000010 00000010 00000011* +L0027808 00000000 00000000 00000000 00100000* +L0027840 00000000 00000000 00000000 10000000* +L0027872 00000000 00000000 00000000 00000000* +L0027904 00000000 00000000 00000000 00000000* +L0027936 000000 000000 000000 000000* +L0027960 000000 000000 000000 000000* +L0027984 000000 000000 000000 000000* +L0028008 000000 000000 000000 000000* +L0028032 000000 000000 000000 000010* +L0028056 000000 000000 000000 000000* +L0028080 00000000 00010000 00000010 10000101* +L0028112 00000010 00000010 00000001 00000001* +L0028144 00000000 00000000 00000000 00100000* +L0028176 00000000 00000000 00000000 00010000* +L0028208 00000000 00000010 00000010 10010011* +L0028240 00000000 00000000 00000000 00000000* +L0028272 00000000 00000000 00000000 00000000* +L0028304 00000000 00000000 00000000 00000000* +L0028336 00000000 00000000 00000000 00000000* +L0028368 000000 000000 000000 000101* +L0028392 000000 000000 000000 000100* +L0028416 000000 000000 000000 000000* +L0028440 000000 000000 000000 000010* +L0028464 000000 000000 000000 000000* +L0028488 000000 000000 000000 000000* +L0028512 00000001 00000000 00000011 10100110* +L0028544 00000001 00000011 00000000 00000110* +L0028576 00000000 00000000 00000000 00101000* +L0028608 00000000 00000000 00000000 00001000* +L0028640 00000011 00000011 00000010 00000011* +L0028672 00000000 00000000 00000000 00100000* +L0028704 00000000 00000000 00000000 10000000* +L0028736 00010000 00000000 00000000 10000000* +L0028768 00000000 00000000 00000000 00100000* +L0028800 000000 000000 000000 001000* +L0028824 000000 000000 000000 000100* +L0028848 000001 000000 000000 000100* +L0028872 000000 000000 000000 000010* +L0028896 000000 000000 000000 001010* +L0028920 000000 000000 000000 000000* +L0028944 00000010 00000000 00000010 00000000* +L0028976 10000001 00000000 00000000 00000000* +L0029008 10000000 00000000 10010000 00000000* +L0029040 00000000 00000000 00000000 10100000* +L0029072 00000001 00000000 00000010 00101100* +L0029104 00000000 00000000 00000000 00000000* +L0029136 00000000 00000000 00000000 00001000* +L0029168 00000000 00000000 00101000 00000000* +L0029200 00000000 00000000 00000000 00000000* +L0029232 000000 000000 000000 100010* +L0029256 000000 000000 000000 000000* +L0029280 000000 000000 000000 000000* +L0029304 000000 000000 000110 001100* +L0029328 000000 000000 000000 010100* +L0029352 000000 000000 000000 010010* +L0029376 00000010 00000001 00000010 00000000* +L0029408 00000011 00000000 00000011 00000000* +L0029440 00000000 00000000 00000000 00000000* +L0029472 00000000 00000000 00000000 00000000* +L0029504 00000011 00000001 00000000 00000001* +L0029536 00000000 00000000 00000000 00000000* +L0029568 00000000 00000000 00000000 00000000* +L0029600 00000000 00000000 00000000 00000000* +L0029632 00000000 00000000 00000000 00000000* +L0029664 000000 000000 000000 000000* +L0029688 000000 000000 000000 000000* +L0029712 000000 000000 000000 000000* +L0029736 000000 000000 000000 000000* +L0029760 000000 000000 000000 000000* +L0029784 000000 000000 000000 000000* +L0029808 00000010 00000000 00000000 00000010* +L0029840 00000010 00000000 00000000 00000010* +L0029872 00000000 00000001 00000000 00000001* +L0029904 00000000 00000000 00000000 00000000* +L0029936 00000001 00000000 00000000 00000000* +L0029968 00000000 00000000 00000000 00000000* +L0030000 00000000 00000000 00000000 00000000* +L0030032 00000000 00000000 00000000 00000000* +L0030064 00000000 00000000 00000000 00000000* +L0030096 000000 000000 000000 000000* +L0030120 000000 000000 000000 000000* +L0030144 000000 000000 000000 000000* +L0030168 000000 000000 000000 000000* +L0030192 000000 000000 000000 000000* +L0030216 000100 000000 000000 000000* +L0030240 00000000 00000010 00000001 00000100* +L0030272 00000010 00000010 00000000 01000100* +L0030304 00000000 00000000 00000000 01000000* +L0030336 00000000 00000000 00000000 01000000* +L0030368 00000010 00000010 00000000 00000001* +L0030400 00000000 00000000 00000000 00000000* +L0030432 00000000 00000000 00000000 00000000* +L0030464 00000000 00000000 00000000 00000000* +L0030496 00000000 00000000 00000000 00000000* +L0030528 000000 000000 000000 000000* +L0030552 000000 000000 000000 000000* +L0030576 000000 000000 000000 000000* +L0030600 000000 000000 000000 000000* +L0030624 000000 000000 000000 000000* +L0030648 000000 000000 000000 000000* +L0030672 00000000 00000001 00000001 00000001* +L0030704 00000001 00000001 00000001 10110001* +L0030736 00000000 00000000 00000000 10000000* +L0030768 00000000 00000000 00000000 10100000* +L0030800 00001001 00000001 00000001 00100001* +L0030832 00000000 00000000 00000000 00000000* +L0030864 00000000 00000000 00000000 00100000* +L0030896 00000000 00000000 00000000 00100000* +L0030928 00000000 00000000 00000000 00000000* +L0030960 000000 000000 000000 100000* +L0030984 000000 000000 000000 000000* +L0031008 000000 000000 000000 000000* +L0031032 000000 000000 000000 010010* +L0031056 000000 000000 000000 010010* +L0031080 000000 000000 000000 010000* +L0031104 00000011 00000001 00000001 00000010* +L0031136 00000011 00000001 00000001 00000010* +L0031168 00000000 00000000 00000000 00000000* +L0031200 00000000 00000000 00000000 00000000* +L0031232 00000011 00000001 00000001 00000011* +L0031264 00000000 00000000 00000000 00000000* +L0031296 00000000 00000000 00000000 00000000* +L0031328 00000000 00000000 00000000 00000000* +L0031360 00000000 00000000 00000000 00000000* +L0031392 000000 000000 000000 000000* +L0031416 000000 000000 000000 000000* +L0031440 000000 000000 000000 000100* +L0031464 000000 000000 000000 000010* +L0031488 000000 000000 000000 000000* +L0031512 000000 000000 000000 000000* +L0031536 00000000 00000000 00000000 00000100* +L0031568 00000000 00000000 00000000 00000000* +L0031600 00000000 00000000 00000000 00001000* +L0031632 00000000 00000000 00000000 00000000* +L0031664 00000010 00000000 00000000 00000001* +L0031696 00000000 00000000 00000000 00000000* +L0031728 00000100 00000000 00000000 00000000* +L0031760 00000000 00000000 00000000 00000000* +L0031792 00000000 00000000 00000000 00000000* +L0031824 000000 000000 000000 000000* +L0031848 000000 000000 000000 000000* +L0031872 000000 000000 000000 000000* +L0031896 000000 000000 000000 000000* +L0031920 000000 000000 000000 000000* +L0031944 000000 000000 000000 000000* +L0031968 00000000 00000000 00000000 00000001* +L0032000 00000000 00000000 00000000 00000001* +L0032032 00000000 00000000 00000000 00000000* +L0032064 00000000 00000000 00000000 00000000* +L0032096 00000000 00000000 00000000 00000001* +L0032128 00000000 00000000 00000000 00000000* +L0032160 00000000 00000000 00000000 00000000* +L0032192 00000000 00000000 00000000 00000000* +L0032224 00000000 00000000 00000000 00000000* +L0032256 000000 000000 000000 000000* +L0032280 000000 000000 000000 000000* +L0032304 000000 000000 000000 000000* +L0032328 000000 000000 000000 000000* +L0032352 000000 000000 000000 000000* +L0032376 000000 000000 000000 000000* +L0032400 00000011 00000000 00000000 00000010* +L0032432 00000010 00000000 00000001 00000010* +L0032464 00000000 00000000 00000000 00000000* +L0032496 00000000 00000000 00000000 00000000* +L0032528 00000011 00000000 00000001 00000010* +L0032560 00000000 00000000 00000000 00000000* +L0032592 00000000 00000000 00000000 00000000* +L0032624 00000000 00000000 00000000 00000000* +L0032656 00000000 00000000 00000000 00000000* +L0032688 000010 000000 000000 000000* +L0032712 000000 000000 000000 000000* +L0032736 000000 000000 000000 000000* +L0032760 000000 000000 000000 000000* +L0032784 000000 000000 000000 000000* +L0032808 000000 000000 000000 000000* +L0032832 00000000 00000000 00000001 00000001* +L0032864 00000001 00000000 00000001 00000000* +L0032896 00000000 00000010 00000000 00000000* +L0032928 00000000 00000000 00000000 00000000* +L0032960 00000001 00000000 00000001 00000001* +L0032992 00000000 00000000 00000000 00000000* +L0033024 00000000 00000000 00000000 00000000* +L0033056 00000000 00000000 00000000 00000000* +L0033088 00000000 00000000 00000000 00000000* +L0033120 000000 000000 000000 000000* +L0033144 000000 000000 000000 000000* +L0033168 000000 000000 000000 000000* +L0033192 000000 000000 000000 000000* +L0033216 000000 000000 000000 000000* +L0033240 000000 000000 000000 000000* +L0033264 00000000 00000000 00000000 00000000* +L0033296 00000000 00000000 00000000 00000000* +L0033328 00000000 00000000 00000000 00000000* +L0033360 00000000 00000000 00000000 00000000* +L0033392 00000000 00000000 00000000 00000000* +L0033424 00000000 00000000 00000000 00000000* +L0033456 00000000 00000000 00000000 00000000* +L0033488 00000000 00000000 00000000 00000000* +L0033520 00000100 00000000 00000000 00000000* +L0033552 000000 000000 000000 000000* +L0033576 000000 000000 000000 000000* +L0033600 000000 000000 000000 000000* +L0033624 000000 000000 000000 000000* +L0033648 000000 000000 000000 000000* +L0033672 000000 000000 000000 000000* +L0033696 00000010 00000010 00000010 00000010* +L0033728 00000010 00000000 00000010 00000010* +L0033760 00000000 00000000 11110000 00000000* +L0033792 00000000 00000000 00000000 00000000* +L0033824 00000000 00000000 10010000 00000000* +L0033856 00000000 00000000 00000000 00000000* +L0033888 00000010 00000010 00000010 00000010* +L0033920 00000000 00000000 11101100 00000000* +L0033952 00000000 00000000 00001000 00000000* +L0033984 000000 000000 001000 000000* +L0034008 000000 000000 000000 000000* +L0034032 000000 000000 000000 000000* +L0034056 000000 000000 110110 000000* +L0034080 000000 000000 000000 000000* +L0034104 000000 000000 000100 000000* +L0034128 00000000 00000000 11111100 00000000* +L0034160 00000000 00000000 00001100 00000000* +L0034192 00000000 00000000 00000000 00000000* +L0034224 00000000 00000000 00000000 00000000* +L0034256 00000000 00000000 00000000 00000000* +L0034288 00000000 00000000 01100000 01000000* +L0034320 00000000 00000000 00000000 01000000* +L0034352 00000000 00000000 00000000 00000000* +L0034384 00000000 00000000 00000000 00000000* +L0034416 000000 000000 000000 000000* +L0034440 000000 000000 110101 000000* +L0034464 000010 000000 000001 000000* +L0034488 000000 000000 000000 000000* +L0034512 000000 000000 000000 000000* +L0034536 000000 000000 000000 000000* +L0034560 00000000 00000000 00000000 00000000* +L0034592 00000000 00000000 00000000 00000000* +L0034624 00000000 00000000 00000000 00000000* +L0034656 00000000 00000000 00000000 00000000* +L0034688 00000000 00000000 00000000 00000000* +L0034720 00001100 00000000 00010000 00000000* +L0034752 00000000 00000000 00000000 00000000* +L0034784 00000000 00000000 00000000 00000000* +L0034816 00000000 00000000 00000000 00000000* +L0034848 000000 000000 000000 000000* +L0034872 000010 000000 001000 000000* +L0034896 000000 000000 000000 000000* +L0034920 000000 000000 000000 000000* +L0034944 000000 000000 000000 000000* +L0034968 000000 000000 000000 001000* +L0034992 00000000 00000000 00000000 00010000* +L0035024 00000000 00000000 00000000 00010000* +L0035056 00000000 00000000 00000000 00010000* +L0035088 00000000 00000000 00000000 00010000* +L0035120 00000000 00000000 00000000 00010000* +L0035152 00000000 10000000 10001100 00010100* +L0035184 00000000 10000000 10001100 00010100* +L0035216 00000000 00000000 00000000 00010000* +L0035248 00000000 00000000 00000000 00010000* +L0035280 000000 000000 000000 000100* +L0035304 000000 000000 000010 000010* +L0035328 000000 000000 000010 000010* +L0035352 000000 000000 000000 000000* +L0035376 000010 000000 000000 000000* +L0035400 000010 000000 000000 000000* +L0035424 00000000 00000000 00000000 01000000* +L0035456 00000000 00000000 00000000 01000000* +L0035488 00000000 00000000 00000000 01000000* +L0035520 00000000 00000000 00000000 01000000* +L0035552 00000000 00000000 00000000 00000000* +L0035584 00000000 00000000 00000000 00011000* +L0035616 00000000 00000000 00000000 00001000* +L0035648 00000000 00000000 00000000 00000000* +L0035680 00000000 00000000 00000000 01000000* +L0035712 000000 000000 000000 010000* +L0035736 000000 000000 000000 010000* +L0035760 000000 000000 000000 010000* +L0035784 000000 000000 000000 000001* +L0035808 000000 000000 000000 000000* +L0035832 000000 000000 000000 000000* +L0035856 00000000 00000000 00000000 00001000* +L0035888 00000000 00000000 00000000 10111000* +L0035920 00000000 00000000 00000000 10010100* +L0035952 00000000 00000000 00000000 10110100* +L0035984 00000000 00000000 00000000 00111100* +L0036016 00000000 00000000 00000000 00000000* +L0036048 00000000 00000000 00000000 00100000* +L0036080 00000000 00000000 00000000 00101000* +L0036112 00000000 00000000 00000000 00001000* +L0036144 000000 000000 000000 100010* +L0036168 000000 000000 000000 001000* +L0036192 000000 000000 000000 001001* +L0036216 000000 000000 000000 011100* +L0036240 000000 000000 000000 010100* +L0036264 000000 000000 000000 010010* +L0036288 00000000 00000000 00000000 00000000* +L0036320 00000000 00000000 00000000 00000000* +L0036352 00000000 00000000 00000000 00000000* +L0036384 00000000 00000000 00000000 00000000* +L0036416 00000000 00000000 00000000 00000000* +L0036448 00000000 00000000 00000000 00000000* +L0036480 00000000 00000000 00000000 00000000* +L0036512 00000000 00000000 00000000 00000000* +L0036544 00000000 00000000 00000000 00000000* +L0036576 000000 000000 000000 000000* +L0036600 000000 000000 000000 000000* +L0036624 000000 000000 000000 000000* +L0036648 000000 000000 000000 000000* +L0036672 000000 000000 000000 000000* +L0036696 000000 000000 000000 000000* +L0036720 00000000 00000000 00000100 00010000* +L0036752 00000000 00000000 00000000 00000000* +L0036784 00000000 00000000 00000100 00000000* +L0036816 00000000 00000000 00000000 00000000* +L0036848 00000000 00000000 00000000 00000000* +L0036880 00000000 00000000 00000000 00010000* +L0036912 00000000 00000000 00000000 00010000* +L0036944 00000000 00000000 00000100 00010000* +L0036976 00000000 00000000 00000000 00010000* +L0037008 000000 000000 000000 000100* +L0037032 000000 000000 000000 000000* +L0037056 000000 000000 000000 000000* +L0037080 000000 000000 000000 000000* +L0037104 000000 000000 000000 000000* +L0037128 000000 000000 000000 000000* +L0037152 00000000 00000000 00000000 00000000* +L0037184 00000000 00000000 00000000 00000000* +L0037216 00000000 00000000 00000000 00000000* +L0037248 00000000 00000000 00000000 00000000* +L0037280 00000000 00000000 00000000 00000000* +L0037312 00000000 00000000 00000000 00000000* +L0037344 00000000 00000000 00000000 00000000* +L0037376 00000000 00000000 00000000 00000000* +L0037408 00000000 00000000 00000000 00000000* +L0037440 000000 000000 000000 000000* +L0037464 000000 000000 000000 010000* +L0037488 000000 000000 000000 010000* +L0037512 000000 000000 000000 000000* +L0037536 000000 000000 000000 000000* +L0037560 000000 000000 000000 000000* +L0037584 00000000 00001000 00000000 00000000* +L0037616 00000000 00000000 00001000 00000000* +L0037648 00000000 00000000 00000000 00000000* +L0037680 00000000 00000000 00000000 00000000* +L0037712 00000000 00000000 00001000 00000000* +L0037744 00000000 00000000 00000000 00000000* +L0037776 00000000 00000000 00000000 00000000* +L0037808 00000000 00000000 00000000 00000000* +L0037840 00000000 00000000 00000000 01000000* +L0037872 000000 000000 001000 010000* +L0037896 000000 000000 000000 000000* +L0037920 000000 000000 000000 000000* +L0037944 000000 000000 000000 000000* +L0037968 000100 000000 000000 000000* +L0037992 000000 000000 000000 000000* +L0038016 00000000 00000000 00000000 00000000* +L0038048 00000000 00000000 00000000 00000000* +L0038080 00000000 00000000 00000000 00000000* +L0038112 00000000 00000000 00000000 00000000* +L0038144 00000000 00000000 00000000 00000000* +L0038176 00000000 00000000 00000000 00000000* +L0038208 00000000 00000000 00000000 00000000* +L0038240 00000000 00000000 00000000 00000000* +L0038272 00000000 00000000 00000000 00000000* +L0038304 000000 000000 000000 000000* +L0038328 000000 000000 000000 000000* +L0038352 000000 000000 000000 000000* +L0038376 000000 000000 000000 000000* +L0038400 000000 000000 000000 000000* +L0038424 000000 000000 000000 000000* +L0038448 00000000 00000000 00000000 00000000* +L0038480 00000000 00000000 00000000 00000000* +L0038512 00000000 00000000 00000000 00000000* +L0038544 00000000 00000000 00000000 00000000* +L0038576 00000000 00000000 00000000 00000000* +L0038608 00000000 00000000 00000000 00000000* +L0038640 00000000 00000000 00000000 00000000* +L0038672 00000000 00000000 00000000 00000000* +L0038704 00001000 00000000 00000000 00000000* +L0038736 000000 000000 000000 000000* +L0038760 000000 000000 000000 000000* +L0038784 000000 000000 000000 000000* +L0038808 000000 000000 000000 000000* +L0038832 000000 000000 000000 000000* +L0038856 000000 000000 000000 000000* +L0038880 00000000 00000000 00000000 00000000* +L0038912 00000000 00000000 00000000 00000000* +L0038944 00000000 00000000 00000000 00000000* +L0038976 00000000 00000000 00000000 00000000* +L0039008 00000000 00000000 00000000 00000000* +L0039040 00000000 00000000 00000000 00000000* +L0039072 00000000 00000000 00000000 00000000* +L0039104 00000000 00000000 00000000 00000000* +L0039136 00000000 00000000 00000000 00000000* +L0039168 000000 000000 000000 000000* +L0039192 000000 000000 000000 000000* +L0039216 000000 000000 000000 000000* +L0039240 000000 000000 000000 000000* +L0039264 000000 000000 000000 000000* +L0039288 000000 000000 000000 000000* +L0039312 00000000 00000000 00000000 00000000* +L0039344 00000000 00000000 00000000 00000000* +L0039376 00000000 00000000 00000000 00000000* +L0039408 00000000 00000000 00000000 00000000* +L0039440 00000000 00000000 10000000 00000000* +L0039472 00000000 10000000 00000000 01000000* +L0039504 00000000 00000000 00000000 01000000* +L0039536 00000000 00000000 00000000 00000000* +L0039568 00000000 00000000 00000000 00000000* +L0039600 000000 000000 000000 000000* +L0039624 000100 000000 000001 000000* +L0039648 000100 000000 000000 000000* +L0039672 000000 000000 000001 000000* +L0039696 000000 000000 000000 000000* +L0039720 000000 000000 000000 000000* +L0039744 00000000 00000000 00000000 00000000* +L0039776 00000000 00000000 00000000 00000000* +L0039808 00000000 00000000 00000000 00000000* +L0039840 00000000 00000000 00000000 00000000* +L0039872 00000000 00000000 00000000 00000000* +L0039904 00000000 00000000 00000000 00000000* +L0039936 00000000 00000000 00000000 00000000* +L0039968 00000000 00000000 00000000 00000000* +L0040000 00000000 00000000 00000000 00000000* +L0040032 000000 000000 000000 000000* +L0040056 000000 000000 000000 000000* +L0040080 000000 000000 000000 000000* +L0040104 000000 000000 000000 000000* +L0040128 000000 000000 000000 000000* +L0040152 000000 000000 000000 000000* +L0040176 00000000 00000000 00000000 00000000* +L0040208 00000000 00000000 00000000 00000000* +L0040240 00000000 00000000 00000000 00000000* +L0040272 00000000 11111100 00000000 00000000* +L0040304 00000000 00000000 00000000 00000000* +L0040336 01000000 00000000 00000000 00000000* +L0040368 00000000 00000000 00000000 00000000* +L0040400 00000000 00000000 00000000 00000000* +L0040432 00000000 01111100 00000000 10000000* +L0040464 000000 000000 000000 000000* +L0040488 000000 000000 000000 000000* +L0040512 000000 000000 000000 000000* +L0040536 000100 000000 000000 000000* +L0040560 000000 111111 000000 100000* +L0040584 000000 000000 000000 000000* +L0040608 00000000 00000000 00000000 00000000* +L0040640 00000000 00000000 00000000 00000000* +L0040672 00000000 00000000 00000000 00000000* +L0040704 00000000 00000000 00000000 00000000* +L0040736 00000000 00000000 00000000 00000000* +L0040768 00000000 00000000 00000000 00000000* +L0040800 00000000 00000000 00000000 00000000* +L0040832 00000000 00000000 00000000 00000000* +L0040864 00000000 00000000 00000000 00000000* +L0040896 000000 000000 000000 000000* +L0040920 000000 000000 000000 000000* +L0040944 000000 000000 000000 000000* +L0040968 000000 000000 000000 000000* +L0040992 000000 000000 000000 000000* +L0041016 000000 000000 000000 000000* +L0041040 00000000 00000000 00000000 00000000* +L0041072 00000000 00000000 00000000 00000000* +L0041104 00000000 00000000 00000000 00000000* +L0041136 00000000 00000000 00000000 00000000* +L0041168 00000000 00000000 00000000 00000000* +L0041200 00000000 00000000 00000000 10000000* +L0041232 00000000 00000000 00000000 00000000* +L0041264 00000000 00000000 00000000 00000000* +L0041296 00000000 00000000 00000000 00000000* +L0041328 000000 000000 000000 000000* +L0041352 000000 000000 000000 000000* +L0041376 000000 000000 000001 000000* +L0041400 000000 000000 000000 000000* +L0041424 000000 000000 000000 000000* +L0041448 000000 000000 000101 000000* +L0041472 00000000 00000000 00000000 00000000* +L0041504 00000000 00000000 00000000 00000000* +L0041536 00000000 00000000 00000000 00000000* +L0041568 00000000 00000000 00000000 00000000* +L0041600 00000000 00000000 00000000 00000000* +L0041632 00000000 00000000 00000000 00000000* +L0041664 00000000 10000000 10001100 00000100* +L0041696 00000000 00000000 00010000 00000000* +L0041728 00000000 00000000 00000000 00000000* +L0041760 000000 000000 000000 000000* +L0041784 000000 000000 000000 000000* +L0041808 000000 000000 000010 000010* +L0041832 000000 000000 001000 000000* +L0041856 000000 000000 000000 000000* +L0041880 000000 000000 000000 000000* +L0041904 00000000 00000000 00000000 00000000* +L0041936 00000000 00000000 00000000 00000000* +L0041968 00000000 00000000 00000000 00000000* +L0042000 00000000 00000000 00000000 00000000* +L0042032 00000100 00000000 00000000 00000000* +L0042064 00000000 10000000 10001100 00000100* +L0042096 00000000 00000000 00010000 00000000* +L0042128 00000000 00000000 00000000 00000000* +L0042160 00000000 00000000 00000000 00000000* +L0042192 000000 000000 000000 000000* +L0042216 000000 000000 000010 000010* +L0042240 000000 000000 001000 000000* +L0042264 000000 000000 000000 000000* +L0042288 000000 000000 000000 000000* +L0042312 000000 000000 000000 000000* +L0042336 00000000 00000000 00000000 00000000* +L0042368 10000000 00000000 00000000 00000000* +L0042400 10000000 00000000 00000000 00000000* +L0042432 00000000 00000000 00000000 00000000* +L0042464 00000000 00000000 00000000 00000000* +L0042496 00000000 10000000 10001100 01000000* +L0042528 00010100 10000000 10011100 00000000* +L0042560 00010100 00000000 00010000 00000000* +L0042592 00010000 00000000 00000000 00000000* +L0042624 000100 000000 000000 000000* +L0042648 000001 000000 000010 000000* +L0042672 000011 000000 001010 000000* +L0042696 000011 000000 001000 000000* +L0042720 000011 000000 000000 000000* +L0042744 000011 000000 000000 000000* +L0042768 00000000 00000000 00000000 00000000* +L0042800 00000000 00000000 00000000 00000000* +L0042832 00000000 00000000 00000000 00000000* +L0042864 00000000 00000000 00000000 00000000* +L0042896 00000000 00000000 00000000 00000000* +L0042928 00010000 00000000 00000000 00000000* +L0042960 00000000 00000000 00000000 01000000* +L0042992 00000000 00000000 00000000 00000000* +L0043024 00000000 00000000 00000000 00000000* +L0043056 000000 000000 000000 000000* +L0043080 000000 000000 000000 000000* +L0043104 000000 000000 000000 000000* +L0043128 000000 000000 000000 000000* +L0043152 000000 000000 000000 000000* +L0043176 000000 000000 000000 000000* +L0043200 00000000 00000000 00000000 00000000* +L0043232 00000000 00000000 00000000 00000000* +L0043264 00000000 00000000 00000000 00000000* +L0043296 00000000 00000000 00000000 00000000* +L0043328 00000000 00000000 00000000 00000000* +L0043360 00000000 00000000 00000000 00000000* +L0043392 00000000 00000000 00000000 00000000* +L0043424 00000000 00000000 00000000 00000000* +L0043456 00000000 00000000 00000000 00000000* +L0043488 000000 000000 000000 000000* +L0043512 000000 000000 000000 000000* +L0043536 000000 000000 000000 000000* +L0043560 000000 000000 000000 000000* +L0043584 000000 000000 000000 000000* +L0043608 000000 000000 000000 000000* +L0043632 00000000 00000000 00000000 00000000* +L0043664 00000000 00000000 00000000 00000000* +L0043696 00000000 00000000 00000000 00000000* +L0043728 00000000 00000000 00000000 00000000* +L0043760 00000000 00000000 00000000 00000000* +L0043792 00000000 00000000 00000000 00000000* +L0043824 00000000 00000000 00000000 00000000* +L0043856 00000000 00000000 00000000 00000000* +L0043888 00000000 00000000 00000000 00000000* +L0043920 000000 000000 000000 000000* +L0043944 000000 000000 000000 010000* +L0043968 000000 000000 000000 010000* +L0043992 000000 000000 000000 000000* +L0044016 000000 000000 000000 000000* +L0044040 000000 000000 000000 000000* +L0044064 00000000 00000000 00000000 01000000* +L0044096 00000000 00000000 00000000 01010000* +L0044128 00000000 00000000 00000000 01011000* +L0044160 00000000 00000000 00000000 01010000* +L0044192 00000000 00000000 00000000 00010000* +L0044224 00000000 00000000 00000000 00000000* +L0044256 00000000 00000000 00000000 00000000* +L0044288 00000000 00000000 00000000 00000000* +L0044320 00000000 00000000 00000000 00000000* +L0044352 000000 000000 000000 000001* +L0044376 000000 000000 000000 000000* +L0044400 000000 000000 000000 000000* +L0044424 000000 000000 000000 000000* +L0044448 000000 000000 000000 000000* +L0044472 000000 000000 000000 000000* +L0044496 00000000 00000000 00000000 00010000* +L0044528 00000000 00000000 00000000 10100000* +L0044560 00000000 00000000 00000000 10000100* +L0044592 00000000 00000000 00000000 10100100* +L0044624 00000000 00000000 00000000 10100100* +L0044656 00000000 00000000 00000000 00000000* +L0044688 00000000 00000000 00000000 00100000* +L0044720 00000000 00000000 00000000 00100000* +L0044752 00000000 00000000 00000000 00000000* +L0044784 000000 000000 000000 100000* +L0044808 000000 000000 000000 000100* +L0044832 000000 000000 000000 000100* +L0044856 000000 000000 000000 010000* +L0044880 000000 000000 000000 010000* +L0044904 000000 000000 000000 010010* +L0044928 00000000 00000000 00000000 00000000* +L0044960 00000000 00000000 11110000 00000000* +L0044992 00000000 00000000 00001100 00000000* +L0045024 00000000 00000000 00000000 00000000* +L0045056 00000000 00000000 00001100 00000000* +L0045088 00000000 00000000 00000000 00000000* +L0045120 00000000 00000000 01100000 00000000* +L0045152 00000000 00000000 00000000 00000000* +L0045184 00000000 00000000 00000000 00000000* +L0045216 000000 000000 000000 000000* +L0045240 000000 000000 000000 000000* +L0045264 000000 000000 110100 000000* +L0045288 000000 000000 000001 000000* +L0045312 000000 000000 000000 000000* +L0045336 000000 000000 000001 000000* +L0045360 00000000 00000000 00000000 00000000* +L0045392 00000000 00000000 00000000 00000000* +L0045424 00000000 00000000 11110000 00000000* +L0045456 00000000 00000000 00000000 00000000* +L0045488 00000000 00000000 10010000 00000000* +L0045520 00000000 00000000 00000000 00000000* +L0045552 00000000 00000000 00000000 00000000* +L0045584 00000000 00000000 11101100 00000000* +L0045616 00000000 00000000 00001000 00000000* +L0045648 000000 000000 001000 000000* +L0045672 000000 000000 000000 000000* +L0045696 000000 000000 000000 000000* +L0045720 000000 000000 110110 000000* +L0045744 000010 000000 000000 000000* +L0045768 000000 000000 000100 000000* +L0045792 00000000 00000000 00000000 00000000* +L0045824 00000000 00000000 00000000 00000000* +L0045856 00000000 00000000 00000000 00000000* +L0045888 00000000 00000000 00000000 00000000* +L0045920 00000000 00000000 00000000 00000000* +L0045952 00000000 00000000 00000000 00000000* +L0045984 00000000 00000000 00000000 00000000* +L0046016 00000000 00000000 00000000 00000000* +L0046048 00000000 00000000 00000000 00000000* +L0046080 000000 000000 000000 000000* +L0046104 000000 000000 000000 000000* +L0046128 000000 000000 000000 000000* +L0046152 000000 000000 000000 000000* +L0046176 000000 000000 000000 000000* +L0046200 000000 000000 000000 000000* +L0046224 00000000 00000000 00000000 00000000* +L0046256 00000000 00000000 00000000 00000000* +L0046288 00000000 00000000 00000000 00000000* +L0046320 00001000 00000000 11111100 00000000* +L0046352 00000000 00000000 00000000 00000000* +L0046384 10000000 00000000 00000000 00000000* +L0046416 00000000 00000000 00000000 00000000* +L0046448 00000000 00000000 00000000 00000000* +L0046480 00000000 00000000 01100000 00000000* +L0046512 000000 000000 000000 000000* +L0046536 000000 000000 000000 000010* +L0046560 000000 000000 000000 000000* +L0046584 000000 000000 000000 000000* +L0046608 000000 000000 110101 000000* +L0046632 000000 000000 000000 000000* +CC71B* +1FBA diff --git a/vhdl_RGB_6bit/RGBtoHDMI.ucf b/vhdl_RGB_6bit/RGBtoHDMI.ucf new file mode 100644 index 00000000..26c91c82 --- /dev/null +++ b/vhdl_RGB_6bit/RGBtoHDMI.ucf @@ -0,0 +1,69 @@ +# Global Clock Nets +NET "clk" BUFG=CLK; + +# Global Clock Nets +NET "sp_clk" BUFG=CLK; + +# 96MHz clock domain +NET "clk" TNM_NET = clk_period_grp_1; +TIMESPEC TS_clk_period_1 = PERIOD "clk_period_grp_1" 10.4ns HIGH; + +# 10MHz clock domain +#NET "sp_clk" TNM_NET = clk_period_grp_2; +#TIMESPEC TS_clk_period_2 = PERIOD "clk_period_grp_2" 100ns HIGH; + +NET "clk" LOC = "P43"; # input gpio21 (gclk) + +NET "R0" LOC = "P32"; # input +NET "G0" LOC = "P31"; # input +NET "B0" LOC = "P30"; # input +NET "R1" LOC = "P34"; # input +NET "G1" LOC = "P36"; # input +NET "B1" LOC = "P37"; # input +NET "S" LOC = "P23"; # input + +NET "version" LOC = "P33"; # input gpio18 (gsr) +NET "SW1" LOC = "P38"; # input gpio16 (connects to sw1) +NET "SW2" LOC = "P39"; # input gpio26 (connects to sw2) +NET "SW3" LOC = "P40"; # input gpio19 (connects to sw3) +NET "vsync" LOC = "P41"; # input (connects to vsync) +NET "analog" LOC = "P19"; # input gpio22 + +NET "mode7" LOC = "P42"; # input gpio25 (connects to LED2, driven from Pi) +NET "mux" LOC = "P18"; # input gpio24 +NET "sp_clk" LOC = "P44"; # input gpio20 (gclk) +NET "sp_data" LOC = "P7"; # input gpio0 (input only) +NET "sp_clken" LOC = "P6"; # input gpio1 (input only) + +NET "quad(0)" LOC = "P29"; # output gpio2 +NET "quad(1)" LOC = "P28"; # output gpio3 +NET "quad(2)" LOC = "P27"; # output gpio4 +NET "quad(3)" LOC = "P5"; # output gpio5 +NET "quad(4)" LOC = "P2"; # output gpio6 +NET "quad(5)" LOC = "P8"; # output gpio7 +NET "quad(6)" LOC = "P12"; # output gpio8 +NET "quad(7)" LOC = "P14"; # output gpio9 +NET "quad(8)" LOC = "P16"; # output gpio10 +NET "quad(9)" LOC = "P13"; # output gpio11 +NET "quad(10)" LOC = "P3"; # output gpio12 +NET "quad(11)" LOC = "P1"; # output gpio13 + +NET "psync" LOC = "P22"; # output gpio17 +NET "csync" LOC = "P20"; # output gpio23 + +NET "LED1" LOC = "P21"; # input gpio27 (connects to LED1, driven from Pi) + +NET "quad(0)" SLOW; +NET "quad(1)" SLOW; +NET "quad(2)" SLOW; +NET "quad(3)" SLOW; +NET "quad(4)" SLOW; +NET "quad(5)" SLOW; +NET "quad(6)" SLOW; +NET "quad(7)" SLOW; +NET "quad(8)" SLOW; +NET "quad(9)" SLOW; +NET "quad(10)" SLOW; +NET "quad(11)" SLOW; +NET "psync" SLOW; +NET "csync" SLOW; diff --git a/vhdl_RGB_6bit/RGBtoHDMI.vhdl b/vhdl_RGB_6bit/RGBtoHDMI.vhdl new file mode 100644 index 00000000..0adcea14 --- /dev/null +++ b/vhdl_RGB_6bit/RGBtoHDMI.vhdl @@ -0,0 +1,359 @@ +---------------------------------------------------------------------------------- +-- Engineer: David Banks +-- +-- Create Date: 15/7/2018 +-- Module Name: RGBtoHDMI CPLD +-- Project Name: RGBtoHDMI +-- Target Devices: XC9572XL +-- +-- Version: 1.0 +-- +---------------------------------------------------------------------------------- +library ieee; +use ieee.std_logic_1164.all; +use ieee.numeric_std.all; + +entity RGBtoHDMI is + Port ( + -- From Beeb RGB Connector + R0: in std_logic; + G0: in std_logic; + B0: in std_logic; + R1: in std_logic; + G1: in std_logic; + B1: in std_logic; + S: in std_logic; + analog: in std_logic; + + -- From Pi + clk: in std_logic; + mode7: in std_logic; + mux: in std_logic; + sp_clk: in std_logic; + sp_clken: in std_logic; + sp_data: in std_logic; + + -- To PI GPIO + quad: out std_logic_vector(11 downto 0); + psync: out std_logic; + csync: out std_logic; + + -- User interface + version: in std_logic; + SW1: in std_logic; + SW2: in std_logic; + SW3: in std_logic; + vsync: in std_logic; + spare: in std_logic; -- currently unused + LED1: in std_logic -- allow it to be driven from the Pi + ); +end RGBtoHDMI; + +architecture Behavorial of RGBtoHDMI is + + subtype counter_type is unsigned(7 downto 0); + + -- Version number: Design_Major_Minor + -- Design: 0 = Normal CPLD, 1 = Alternative CPLD, 2=Atom CPLD; 3= six bit CPLD (if required); 4 = RGB CPLD + constant VERSION_NUM : std_logic_vector(11 downto 0) := x"470"; + + -- Sampling points + constant INIT_SAMPLING_POINTS : std_logic_vector(23 downto 0) := "000000011011011011011011"; + + signal shift_R : std_logic_vector(3 downto 0); + signal shift_G : std_logic_vector(3 downto 0); + signal shift_B : std_logic_vector(3 downto 0); + + signal csync1 : std_logic; + signal csync2 : std_logic; + signal last : std_logic; + + signal csync_counter : unsigned(1 downto 0); + + -- The sampling counter runs at 96MHz + -- - In modes 0..6 it is 6x the pixel clock + -- - In mode 7 it is 8x the pixel clock + -- + -- It serves several purposes: + -- 1. Counts the 12us between the rising edge of nCSYNC and the first pixel + -- 2. Counts within each pixel (bits 0, 1, 2) + -- 3. Counts counts pixels within a quad pixel (bits 3 and 4) + -- 4. Handles double buffering of alternative quad pixels (bit 5) + -- + -- At the moment we don't count pixels with the line, the Pi does that + signal counter : counter_type; + + -- Sample point register; + -- + -- In Mode 7 each pixel lasts 8 clocks (96MHz / 12MHz). The original + -- pixel clock is a regenerated 6Mhz clock, and both edges are used. + -- Due to the way it is generated, there are three distinct phases, + -- each with different rising/falling edge speeds, hence six sampling + -- points are used. + -- + -- In Modes 0..6 each pixel lasts 6 clocks (96MHz / 16MHz). The original + -- pixel clock is a clean 16Mhz clock, so only one sample point is needed. + -- To achieve this, all six values are set to be the same. This minimises + -- the logic in the CPLD. + signal sp_reg : std_logic_vector(23 downto 0) := INIT_SAMPLING_POINTS; + + -- Break out of sp_reg + signal invert : std_logic; + signal rate : std_logic_vector(1 downto 0); + signal delay : unsigned(1 downto 0); + signal half : std_logic; + signal offset_A : std_logic_vector(2 downto 0); + signal offset_B : std_logic_vector(2 downto 0); + signal offset_C : std_logic_vector(2 downto 0); + signal offset_D : std_logic_vector(2 downto 0); + signal offset_E : std_logic_vector(2 downto 0); + signal offset_F : std_logic_vector(2 downto 0); + + -- Pipelined offset mux output + signal offset : std_logic_vector(2 downto 0); + + -- Index to cycle through offsets A..F + signal index : std_logic_vector(2 downto 0); + + -- Sample pixel on next clock; pipelined to reduce the number of product terms + signal sample : std_logic; + + -- New sample available, toggle psync on next cycle + signal toggle : std_logic; + + -- RGB Input Mux + signal R : std_logic; + signal G : std_logic; + signal B : std_logic; + + signal R0M : std_logic; + signal G0M : std_logic; + signal B0M : std_logic; + + signal R1M : std_logic; + signal G1M : std_logic; + signal B1M : std_logic; + +begin + + R <= R1 when mux = '1' else R0; + G <= G1 when mux = '1' else G0; + B <= B1 when mux = '1' else B0; + + R0M <= vsync when mux = '1' else R0; + G0M <= vsync when mux = '1' else G0; + B0M <= vsync when mux = '1' else B0; + + R1M <= vsync when mux = '1' else R1; + G1M <= vsync when mux = '1' else G1; + B1M <= vsync when mux = '1' else B1; + + offset_A <= sp_reg(2 downto 0); + offset_B <= sp_reg(5 downto 3); + offset_C <= sp_reg(8 downto 6); + offset_D <= sp_reg(11 downto 9); + offset_E <= sp_reg(14 downto 12); + offset_F <= sp_reg(17 downto 15); + half <= sp_reg(18); + delay <= unsigned(sp_reg(20 downto 19)); + rate <= sp_reg(22 downto 21); + invert <= sp_reg(23); + + -- Shift the bits in LSB first + process(sp_clk, SW1) + begin + if rising_edge(sp_clk) then + if sp_clken = '1' then + sp_reg <= sp_data & sp_reg(sp_reg'left downto sp_reg'right + 1); + end if; + end if; + end process; + + process(clk) + begin + if rising_edge(clk) then + + -- synchronize CSYNC to the sampling clock + -- if link fitted sync is inverted. If +ve vsync connected to link & +ve hsync to S then generate -ve composite sync + csync1 <= S xor invert; + + -- De-glitch CSYNC + -- csync1 is the possibly glitchy input + -- csync2 is the filtered output + if csync1 = csync2 then + -- output same as input, reset the counter + csync_counter <= to_unsigned(0, csync_counter'length); + else + -- output different to input + csync_counter <= csync_counter + 1; + -- if the difference lasts for N-1 cycles, update the output + if csync_counter = 3 then + csync2 <= csync1; + end if; + end if; + + -- Counter is used to find sampling point for first pixel + last <= csync2; + -- reset counter on the rising edge of csync + if last = '0' and csync2 = '1' then + if rate(1) = '1' then + counter(7 downto 3) <= "10" & delay & "0"; + if half = '1' then + counter(2 downto 0) <= "000"; + elsif mode7 = '1' then + counter(2 downto 0) <= "100"; + else + counter(2 downto 0) <= "011"; + end if; + else + counter(7 downto 3) <= "110" & delay; + if half = '1' then + counter(2 downto 0) <= "000"; + elsif mode7 = '1' then + counter(2 downto 0) <= "100"; + else + counter(2 downto 0) <= "011"; + end if; + end if; + elsif mode7 = '1' or counter(2 downto 0) /= 5 then + if counter(counter'left) = '1' then + counter <= counter + 1; + else + counter(counter'left - 1 downto 0) <= counter(counter'left - 1 downto 0) + 1; + end if; + else + if counter(counter'left) = '1' then + counter <= counter + 3; + else + counter(counter'left - 1 downto 0) <= counter(counter'left - 1 downto 0) + 3; + end if; + end if; + + -- Sample point offset index + if counter(counter'left) = '1' then + index <= "000"; + else + -- so index offset changes at the same time counter wraps 7->0 + -- so index offset changes at the same time counter wraps ->0 + if (mode7 = '0' and counter(2 downto 0) = 4) or (mode7 = '1' and counter(2 downto 0) = 6) then + case index is + when "000" => + index <= "001"; + when "001" => + index <= "010"; + when "010" => + index <= "011"; + when "011" => + index <= "100"; + when "100" => + index <= "101"; + when others => + index <= "000"; + end case; + end if; + end if; + + -- Sample point offset + case index is + when "000" => + offset <= offset_B; + when "001" => + offset <= offset_C; + when "010" => + offset <= offset_D; + when "011" => + offset <= offset_E; + when "100" => + offset <= offset_F; + when others => + offset <= offset_A; + end case; + + -- sample/shift control + if counter(counter'left) = '0' and counter(2 downto 0) = unsigned(offset) and (rate(1) = '0' or rate(0) = counter(3)) then + sample <= '1'; + else + sample <= '0'; + end if; + + -- R Sample/shift register + if sample = '1' then + if rate = "01" then + shift_R <= R1M & R0M & shift_R(3 downto 2); -- double + else + shift_R <= R & shift_R(3 downto 1); + end if; + end if; + + -- G Sample/shift register + if sample = '1' then + if rate = "01" then + shift_G <= G1M & G0M & shift_G(3 downto 2); -- double + else + shift_G <= G & shift_G(3 downto 1); + end if; + end if; + + -- B Sample/shift register + if sample = '1' then + if rate = "01" then + shift_B <= B1M & B0M & shift_B(3 downto 2); -- double + else + shift_B <= B & shift_B(3 downto 1); + end if; + end if; + + -- Pipeline when to update the quad + if counter(counter'left) = '0' and ( + (rate = "00" and counter(4 downto 0) = 0) or -- normal + (rate = "01" and counter(3 downto 0) = 0) or -- double + (rate = "10" and counter(5 downto 0) = 0) or -- subsample even + (rate = "11" and counter(5 downto 0) = 32)) then -- subsample odd + -- toggle is asserted in cycle 1 + toggle <= '1'; + else + toggle <= '0'; + end if; + + -- Output quad register + if version = '0' then + quad <= analog & VERSION_NUM(10 downto 0); + elsif counter(counter'left) = '1' then + quad <= (others => '0'); + elsif toggle = '1' then + -- quad changes at the start of cycle 2 + quad(11) <= shift_B(3); + quad(10) <= shift_G(3); + quad(9) <= shift_R(3); + quad(8) <= shift_B(2); + quad(7) <= shift_G(2); + quad(6) <= shift_R(2); + quad(5) <= shift_B(1); + quad(4) <= shift_G(1); + quad(3) <= shift_R(1); + quad(2) <= shift_B(0); + quad(1) <= shift_G(0); + quad(0) <= shift_R(0); + end if; + + -- Output a skewed version of psync + if version = '0' then + psync <= vsync; + elsif counter(counter'left) = '1' then + psync <= '0'; + elsif counter(3 downto 0) = 3 then -- comparing with N gives N-1 cycles of skew + if rate = "00" then + psync <= counter(5); -- normal + elsif rate = "01" then + psync <= counter(4); -- double + elsif counter(5) = rate(0) then + psync <= counter(6); -- subsample + end if; + end if; + + end if; + end process; + + csync <= csync2; -- output the registered version to save a macro-cell + +end Behavorial; diff --git a/vhdl_RGB_6bit/RGBtoHDMI.xise b/vhdl_RGB_6bit/RGBtoHDMI.xise new file mode 100644 index 00000000..5d5b79f4 --- /dev/null +++ b/vhdl_RGB_6bit/RGBtoHDMI.xise @@ -0,0 +1,237 @@ + + + +
+ + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/vhdl_RGB_6bit/fitting.notes b/vhdl_RGB_6bit/fitting.notes new file mode 100644 index 00000000..85d3b657 --- /dev/null +++ b/vhdl_RGB_6bit/fitting.notes @@ -0,0 +1,593 @@ +1. Original design: + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 27/54 69/90 6/ 9 +FB2 18/18* 34/54 60/90 8/ 9 +FB3 18/18* 19/54 32/90 5/ 9 +FB4 18/18* 37/54 56/90 7/ 7* + ----- ----- ----- ----- + 72/72 117/216 217/360 26/34 + + +2. New design, with RGB mux, switch pass throughs, etc commented out +(failed to map sp_reg<9>, hence one less macrocell) + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 26/54 51/90 7/ 9 +FB2 18/18* 25/54 33/90 6/ 9 +FB3 18/18* 35/54 61/90 8/ 9 +FB4 17/18 53/54 70/90 4/ 7 + ----- ----- ----- ----- + 71/72 139/216 215/360 25/34 + + +3. Change from csync=>S to csync=>CSYNC1 (as passthroughs still use up a macro cell). +(now fits) + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 17/18 33/54 64/90 7/ 9 +FB2 18/18* 25/54 33/90 6/ 9 +FB3 18/18* 35/54 61/90 8/ 9 +FB4 18/18* 37/54 58/90 4/ 7 + ----- ----- ----- ----- + 71/72 130/216 216/360 25/34 + + +4. Add in RGB mux: +(still fits) + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 17/18 33/54 64/90 7/ 9 +FB2 18/18* 25/54 33/90 9/ 9* +FB3 18/18* 37/54 61/90 8/ 9 +FB4 18/18* 41/54 61/90 5/ 7 + ----- ----- ----- ----- + 71/72 136/216 219/360 29/34 + +5. Add in SW2out <= SW2: +(still fits) + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 28/54 62/90 8/ 9 +FB2 18/18* 25/54 33/90 9/ 9* +FB3 18/18* 37/54 61/90 8/ 9 +FB4 18/18* 48/54 64/90 6/ 7 + ----- ----- ----- ----- + 72/72 138/216 220/360 31/34 + +6. Change to optimization effort normal->high: +(no difference) + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 28/54 62/90 8/ 9 +FB2 18/18* 25/54 33/90 9/ 9* +FB3 18/18* 37/54 61/90 8/ 9 +FB4 18/18* 48/54 64/90 6/ 7 + ----- ----- ----- ----- + 72/72 138/216 220/360 31/34 + +7. Change to optimization effort speed->area: +(no difference) + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 28/54 62/90 8/ 9 +FB2 18/18* 25/54 33/90 9/ 9* +FB3 18/18* 37/54 61/90 8/ 9 +FB4 18/18* 48/54 64/90 6/ 7 + ----- ----- ----- ----- + 72/72 138/216 220/360 31/34 + +8. Fitter Implmenetation Template: Optimize Balance-> Optimize Speed: +(no difference) + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 28/54 62/90 8/ 9 +FB2 18/18* 25/54 33/90 9/ 9* +FB3 18/18* 37/54 61/90 8/ 9 +FB4 18/18* 48/54 64/90 6/ 7 + ----- ----- ----- ----- + 72/72 138/216 220/360 31/34 + + +9. Fitter Implmenetation Template: Optimize Speed -> Optimize Density: +(no difference) + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 28/54 62/90 8/ 9 +FB2 18/18* 25/54 33/90 9/ 9* +FB3 18/18* 37/54 61/90 8/ 9 +FB4 18/18* 48/54 64/90 6/ 7 + ----- ----- ----- ----- + 72/72 138/216 220/360 31/34 + +10. Reverted to original .xise file +Cleaned up design to remove SW2/3 pass throughs +Used gpio22/23 for mode7 / sp_data +Used gpio19/26 for sw2/3 (not via cpld) +(same result as 4 above) + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 17/18 33/54 64/90 5/ 9 +FB2 18/18* 25/54 33/90 9/ 9* +FB3 18/18* 37/54 61/90 8/ 9 +FB4 18/18* 41/54 61/90 7/ 7* + ----- ----- ----- ----- + 71/72 136/216 219/360 29/34 + +11. Final design on 5/6/2018 + +(Added SW2, SW3, Link as unused inputs) +(Added LED1 as output, driven to Z, still uses one macro cell) + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 27/54 61/90 5/ 9 +FB2 18/18* 25/54 33/90 9/ 9* +FB3 18/18* 37/54 61/90 9/ 9* +FB4 18/18* 48/54 64/90 7/ 7* + ----- ----- ----- ----- + 72/72 137/216 219/360 30/34 + +12. Minor changes 1.15pm on 5/5/2018 + +(Removed SW1Out passthrough) +(csync output is back to being passthrough) + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 25/54 35/90 4/ 9 +FB2 18/18* 34/54 65/90 9/ 9* +FB3 18/18* 37/54 61/90 9/ 9* +FB4 18/18* 39/54 58/90 7/ 7* + ----- ----- ----- ----- + 72/72 135/216 219/360 29/34 + +13. Removed SW1 from sp_reg assignment block + +(the is prone to noise on the prototype, as it clamped at 2V by an LED) + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 25/54 35/90 3/ 9 +FB2 18/18* 34/54 65/90 9/ 9* +FB3 18/18* 37/54 61/90 9/ 9* +FB4 18/18* 39/54 58/90 7/ 7* + ----- ----- ----- ----- + 72/72 135/216 219/360 28/34 + +14. Added sp_clken and spare + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 30/54 63/90 5/ 9 +FB2 18/18* 26/54 46/90 9/ 9* +FB3 18/18* 35/54 60/90 8/ 9 +FB4 18/18* 47/54 71/90 7/ 7* + ----- ----- ----- ----- + 72/72 138/216 240/360 29/34 + +15. Replaced counter2(5..3) with load saving two registers + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 40/54 72/90 5/ 9 +FB2 17/18 24/54 49/90 9/ 9* +FB3 18/18* 34/54 60/90 8/ 9 +FB4 17/18 35/54 63/90 7/ 7* + ----- ----- ----- ----- + 70/72 133/216 244/360 29/34 + +16. Mostly cosmetic seperation of the logic into several blocks + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 38/54 56/90 5/ 9 +FB2 16/18 21/54 45/90 9/ 9* +FB3 18/18* 33/54 57/90 8/ 9 +FB4 18/18* 37/54 70/90 7/ 7* + ----- ----- ----- ----- + 70/72 129/216 228/360 29/34 + +17. Update counter to hopefully implement more efficiently + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 38/54 54/90 5/ 9 +FB2 16/18 21/54 45/90 9/ 9* +FB3 18/18* 30/54 49/90 8/ 9 +FB4 18/18* 35/54 65/90 7/ 7* + ----- ----- ----- ----- + 70/72 124/216 213/360 29/34 + +18. Load always in cycle 0 + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 38/54 53/90 5/ 9 +FB2 16/18 21/54 45/90 9/ 9* +FB3 18/18* 30/54 45/90 8/ 9 +FB4 18/18* 37/54 63/90 7/ 7* + ----- ----- ----- ----- + 70/72 126/216 206/360 29/34 + +19. Dropped seperate sp_default stage + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 30/54 42/90 5/ 9 +FB2 17/18 25/54 34/90 9/ 9* +FB3 18/18* 29/54 55/90 8/ 9 +FB4 13/18 35/54 44/90 7/ 7* + ----- ----- ----- ----- + 66/72 119/216 175/360 29/34 + +20. Added CPLD version output on Quad() + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 31/54 45/90 5/ 9 +FB2 17/18 26/54 35/90 9/ 9* +FB3 18/18* 30/54 61/90 9/ 9* +FB4 13/18 36/54 47/90 7/ 7* + ----- ----- ----- ----- + 66/72 123/216 188/360 30/34 + +21. Added configurable half-pixel delay + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 31/54 45/90 5/ 9 +FB2 18/18* 27/54 37/90 9/ 9* +FB3 18/18* 31/54 65/90 9/ 9* +FB4 13/18 38/54 48/90 7/ 7* + ----- ----- ----- ----- + 67/72 127/216 195/360 30/34 + +22. Final pinout changes - remove LED1 and LED2 as outputs + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 32/54 47/90 6/ 9 +FB2 18/18* 32/54 41/90 8/ 9 +FB3 18/18* 31/54 65/90 9/ 9* +FB4 11/18 32/54 41/90 5/ 7 + ----- ----- ----- ----- + 65/72 127/216 194/360 28/34 + +23. Made csync output registered and de-glitch csync (csync1..csync3) + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 35/54 50/90 6/ 9 +FB2 16/18 25/54 34/90 8/ 9 +FB3 16/18 30/54 81/90 9/ 9* +FB4 16/18 40/54 61/90 5/ 7 + ----- ----- ----- ----- + 66/72 130/216 226/360 28/34 + +24. Increased de-glitch to include csync4 + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 40/54 54/90 6/ 9 +FB2 18/18* 29/54 43/90 8/ 9 +FB3 15/18 35/54 81/90 9/ 9* +FB4 17/18 32/54 83/90 5/ 7 + ----- ----- ----- ----- + 68/72 136/216 261/360 28/34 + +25. Increased de-glitch to include csync5 + +... doesn't fit ... + +26. Revert to 23, then use a 3-bit counter for csync deglitch + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 35/54 49/90 6/ 9 +FB2 18/18* 29/54 43/90 8/ 9 +FB3 17/18 33/54 81/90 9/ 9* +FB4 14/18 36/54 61/90 5/ 7 + ----- ----- ----- ----- + 67/72 133/216 234/360 28/34 + +27. Increase csync de-glitch counter to 4 bits + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 40/54 54/90 6/ 9 +FB2 17/18 26/54 36/90 8/ 9 +FB3 16/18 32/54 82/90 9/ 9* +FB4 17/18 37/54 80/90 5/ 7 + ----- ----- ----- ----- + 68/72 135/216 252/360 28/34 + +28. De-glitch both states of csync + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 31/54 45/90 6/ 9 +FB2 16/18 25/54 34/90 8/ 9 +FB3 18/18* 29/54 79/90 9/ 9* +FB4 18/18* 46/54 71/90 5/ 7 + ----- ----- ----- ----- + 70/72 131/216 229/360 28/34 + +29. Reduce csync de-glitch counter to 3 bits + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 31/54 45/90 6/ 9 +FB2 16/18 25/54 34/90 8/ 9 +FB3 18/18* 29/54 79/90 9/ 9* +FB4 17/18 45/54 67/90 5/ 7 + ----- ----- ----- ----- + 69/72 130/216 225/360 28/34 + +30. Reduce csync de-glitch counter to 2 bits + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 31/54 45/90 6/ 9 +FB2 16/18 25/54 34/90 8/ 9 +FB3 18/18* 29/54 79/90 9/ 9* +FB4 16/18 44/54 63/90 5/ 7 + ----- ----- ----- ----- + 68/72 129/216 221/360 28/34 + +31. Added 4-bit mode 7 delay register to the scan chain + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 29/54 43/90 6/ 9 +FB2 18/18* 27/54 38/90 8/ 9 +FB3 18/18* 36/54 81/90 9/ 9* +FB4 18/18* 52/54 70/90 5/ 7 + ----- ----- ----- ----- + 72/72 144/216 232/360 28/34 + + +32. Start sampling 8us earlier, delay applied to all modes + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 29/54 43/90 6/ 9 +FB2 18/18* 27/54 38/90 8/ 9 +FB3 18/18* 33/54 78/90 9/ 9* +FB4 18/18* 49/54 69/90 5/ 7 + ----- ----- ----- ----- + 72/72 138/216 228/360 28/34 + +33. Corrected delay in 6 clocks/pixel mode + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 30/54 44/90 6/ 9 +FB2 18/18* 27/54 38/90 8/ 9 +FB3 18/18* 36/54 85/90 9/ 9* +FB4 18/18* 49/54 74/90 5/ 7 + ----- ----- ----- ----- + 72/72 142/216 241/360 28/34 + +34. XOR in delay + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 30/54 44/90 6/ 9 +FB2 18/18* 27/54 38/90 8/ 9 +FB3 18/18* 38/54 85/90 9/ 9* +FB4 18/18* 49/54 76/90 5/ 7 + ----- ----- ----- ----- + 72/72 144/216 243/360 28/34 + +35. Add in delay + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 30/54 44/90 6/ 9 +FB2 18/18* 27/54 38/90 8/ 9 +FB3 18/18* 38/54 85/90 9/ 9* +FB4 18/18* 49/54 78/90 5/ 7 + ----- ----- ----- ----- + 72/72 144/216 245/360 28/34 + +36. Add separate H and V sync support to CPLD + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 30/54 44/90 7/ 9 +FB2 18/18* 27/54 38/90 8/ 9 +FB3 18/18* 38/54 85/90 9/ 9* +FB4 18/18* 50/54 79/90 5/ 7 + ----- ----- ----- ----- + 72/72 145/216 246/360 29/34 + +37. Reduce counter from 12 bits to 8 bits + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 30/54 44/90 7/ 9 +FB2 18/18* 27/54 38/90 8/ 9 +FB3 17/18 36/54 82/90 9/ 9* +FB4 15/18 45/54 56/90 5/ 7 + ----- ----- ----- ----- + 68/72 138/216 220/360 29/34 + +38. Added rate option to scan chain + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 27/54 49/90 7/ 9 +FB2 18/18* 28/54 40/90 8/ 9 +FB3 15/18 32/54 83/90 9/ 9* +FB4 18/18* 52/54 82/90 5/ 7 + ----- ----- ----- ----- + 69/72 139/216 254/360 29/34 + +39. Re-order bits when rate=1 + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 30/54 54/90 7/ 9 +FB2 18/18* 28/54 40/90 8/ 9 +FB3 15/18 32/54 83/90 9/ 9* +FB4 18/18* 52/54 83/90 5/ 7 + ----- ----- ----- ----- + 69/72 142/216 260/360 29/34 + +40. CPLD: Halt the counter during HSYNC + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 17/18 40/54 61/90 7/ 9 +FB2 16/18 26/54 36/90 8/ 9 +FB3 17/18 35/54 81/90 9/ 9* +FB4 18/18* 39/54 65/90 5/ 7 + ----- ----- ----- ----- + 68/72 140/216 243/360 29/34 + +41. Allow PSYNC duty cycle to be asymmetric + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 17/18 40/54 61/90 7/ 9 +FB2 16/18 26/54 36/90 8/ 9 +FB3 17/18 35/54 81/90 9/ 9* +FB4 18/18* 39/54 65/90 5/ 7 + ----- ----- ----- ----- + 68/72 140/216 243/360 29/34 + +42. Added Half-Even and Half Add Sampling (now v4.0) + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 39/54 55/90 7/ 9 +FB2 18/18* 23/54 36/90 8/ 9 +FB3 18/18* 29/54 62/90 9/ 9* +FB4 18/18* 33/54 72/90 5/ 7 + ----- ----- ----- ----- + 72/72 124/216 225/360 29/34 + +43. Optimize generation of PSync, and allow more skew + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 35/54 53/90 7/ 9 +FB2 17/18 22/54 34/90 8/ 9 +FB3 18/18* 28/54 64/90 9/ 9* +FB4 18/18* 33/54 81/90 5/ 7 + ----- ----- ----- ----- + 71/72 118/216 232/360 29/34 + +44. Align quad timing back to cycle 0 as before + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 38/54 54/90 7/ 9 +FB2 18/18* 23/54 36/90 8/ 9 +FB3 18/18* 28/54 64/90 9/ 9* +FB4 17/18 33/54 82/90 5/ 7 + ----- ----- ----- ----- + 71/72 122/216 236/360 29/34 + +45. Fix long-standing bug concerning offset selection in Mode0..6 + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 40/54 57/90 7/ 9 +FB2 18/18* 23/54 36/90 8/ 9 +FB3 18/18* 28/54 64/90 9/ 9* +FB4 17/18 35/54 86/90 5/ 7 + ----- ----- ----- ----- + 71/72 126/216 243/360 29/34 + +46. Reverted: Align quad timing back to cycle 0 as before (issues at offset 0) + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 40/54 55/90 7/ 9 +FB2 18/18* 23/54 36/90 8/ 9 +FB3 18/18* 28/54 64/90 9/ 9* +FB4 17/18 35/54 84/90 5/ 7 + ----- ----- ----- ----- + 71/72 126/216 239/360 29/34 + +47. Added sync invert function (now v5.0) + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 40/54 58/90 7/ 9 +FB2 18/18* 23/54 36/90 8/ 9 +FB3 18/18* 28/54 64/90 9/ 9* +FB4 18/18* 36/54 85/90 5/ 7 + ----- ----- ----- ----- + 72/72 127/216 243/360 29/34 + +48. Delay reduced to 2 bits plus psync changes (now v6.0) + +- Remove 2 msbs of delay +- Make psync run during hsync +- Make Vsync appear on psync when version bit active + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 41/54 61/90 7/ 9 +FB2 18/18* 23/54 36/90 8/ 9 +FB3 18/18* 28/54 65/90 9/ 9* +FB4 16/18 35/54 86/90 5/ 7 + ----- ----- ----- ----- + 70/72 127/216 248/360 29/34 + +49. Increased counter from 7 back to 8 bits (now v6.1) + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 41/54 65/90 7/ 9 +FB2 18/18* 23/54 37/90 8/ 9 +FB3 18/18* 28/54 65/90 9/ 9* +FB4 17/18 34/54 88/90 5/ 7 + ----- ----- ----- ----- + 71/72 126/216 255/360 29/34 + +50. Fixed a bug with half-pixel delay (now v6.2) + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 41/54 66/90 7/ 9 +FB2 18/18* 23/54 36/90 8/ 9 +FB3 18/18* 28/54 65/90 9/ 9* +FB4 17/18 37/54 88/90 5/ 7 + ----- ----- ----- ----- + 71/72 129/216 255/360 29/34 + +51. Send csync2 to Pi and change csync to psync delay (now v6.3) + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 42/54 66/90 7/ 9 +FB2 18/18* 23/54 37/90 8/ 9 +FB3 18/18* 28/54 65/90 9/ 9* +FB4 16/18 32/54 83/90 5/ 7 + ----- ----- ----- ----- + 70/72 125/216 251/360 29/34 + +52. Separate vsync (now v6.4) + +Function Mcells FB Inps Pterms IO +Block Used/Tot Used/Tot Used/Tot Used/Tot +FB1 18/18* 41/54 65/90 7/ 9 +FB2 18/18* 23/54 36/90 8/ 9 +FB3 18/18* 28/54 65/90 9/ 9* +FB4 16/18 32/54 83/90 5/ 7 + ----- ----- ----- ----- + 70/72 124/216 249/360 29/34