cpld/sgpio_debug: Add TX/RX counters to check SGPIO

For RX, this replaces received samples with an 8-bit incrementing counter.
This allows for identification of any dropped or repeated samples across the
SGPIO interface.

For TX, this compares transmitted samples against another 8-bit incrementing
counter, and raises pin B2AUX1 if they don't match. This should be used with
a tool on the host-side that transmits a matching counter.
This commit is contained in:
Mike Walters
2020-01-20 17:20:21 +00:00
parent 77f9c124f7
commit f59b1e9c15
4 changed files with 284 additions and 274 deletions

View File

@ -1,5 +1,5 @@
Programmer Jedec Bit Map
Date Extracted: Mon Jan 21 16:17:38 2019
Date Extracted: Mon Jan 20 17:17:07 2020
QF25812*
QP100*
@ -12,149 +12,149 @@ N DEVICE XC2C64A-7-VQ100*
Note Block 0 *
Note Block 0 ZIA *
L000000 1111111111111111*
L000016 1111111011010111*
L000032 1111111011010111*
L000048 1111111011010111*
L000064 1111111011010111*
L000080 1111111111111111*
L000096 1111111111111111*
L000112 1111111111111111*
L000128 1111111111111111*
L000144 1111111011010111*
L000160 1111111011100111*
L000000 1110110011111111*
L000016 1110101011111111*
L000032 1110101011111111*
L000048 1110101011111111*
L000064 1110110011111111*
L000080 1110101011111111*
L000096 1110101011111111*
L000112 1110011011111111*
L000128 1110101011111111*
L000144 1110101011111111*
L000160 1110011011111111*
L000176 1111111111111111*
L000192 1111111111111111*
L000208 1111111111111111*
L000224 1111111011100111*
L000192 1110110011111111*
L000208 1110101011111111*
L000224 1110110011111111*
L000240 1111111011110011*
L000256 1111111011100111*
L000256 1110101011111111*
L000272 1111111111111111*
L000288 1111111111111111*
L000304 1111111111111111*
L000320 1111111111111111*
L000336 1111111111111111*
L000352 1111111111111111*
L000304 1110110011111111*
L000320 1110110011111111*
L000336 1111111011010111*
L000352 1111111011100111*
L000368 1111111111111111*
L000384 1111111111111111*
L000384 1111111011100111*
L000400 1111111111111111*
L000416 1111111111111111*
L000432 1111111111111111*
L000416 1110110011111111*
L000432 1110110011111111*
L000448 1111111111111111*
L000464 1111111111111111*
L000480 1111111111111111*
L000496 1111111111111111*
L000512 1111111111111111*
L000512 1111111011010111*
L000528 1111111111111111*
L000544 1111111111111111*
L000560 1111111111111111*
L000560 1111111011010111*
L000576 1111111111111111*
L000592 1111111111111111*
L000608 1111111111111111*
L000624 1111111111111111*
Note Block 0 PLA AND array *
L000640 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L000720 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L000800 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L000880 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L000960 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L001040 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L001120 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L001200 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L001280 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L001360 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L001440 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L001520 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L001600 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L001680 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L001760 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L001840 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L001920 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L002000 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L002080 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L002160 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L002240 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L002320 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L002400 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L002480 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L002560 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L002640 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L002720 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L002800 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L002880 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L002960 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L003040 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L003120 11111111111111111111111111110111111111111111111111111111111111111111111111111111*
L003200 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L003280 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L003360 11011111111111111111111111111111111111111111111111111111111111111111111111111111*
L003440 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L003520 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L003600 11110111111111111111111111111111111111111111111111111111111111111111111111111111*
L003680 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L003760 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L003840 11111111011111111111111111111111111111111111111111111111111111111111111111111111*
L003920 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L004000 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L004080 11111101111111111111111111111111111111111111111111111111111111111111111111111111*
L000640 11111111111111111111111110111111111111111111111111111111111111111111111011111111*
L000720 11111110101111111111111111111111111111111111111111111111111111111111110111111111*
L000800 10111111111111111111111111111111111111111111111111111111111111111111111111111111*
L000880 10111111111111111111111111110111111111111111111111111111111111111111110111111111*
L000960 01111111111111111111111111111011111111111111111111111111111111111111110111111111*
L001040 11111111111111110111111111111111111111111111111111111111111111111111111011111111*
L001120 01111111111111111111111111110111111111111111111111111111111111111111110111111111*
L001200 11111111111101111111111111111111111111111111111111111111111111111111111011111111*
L001280 01111111111111111111111111110111111111011111111111111111111111111111110111111111*
L001360 11111111111111111111111111011111111111111111111111111111111111111111111011111111*
L001440 01101111111111111111111111111111111111111111111111111111111111111111111111111111*
L001520 11111111111111110111111111111011111111111111111111111111111111111111111111111111*
L001600 11111111111111111011111111110111111111111111111111111111111111111111111111111111*
L001680 11111111111111111111111111111111111111111101111111111111111111111111111111111111*
L001760 11111111111101111111111111111111111111101111111111111111111111111111111111111111*
L001840 11111111111110111111111111111111111111011111111111111111111111111111111111111111*
L001920 11111111111111111111111111111111111111111111111111111111111111110111111111111111*
L002000 11111111111111111111111111011111111111111011111111111111111111111111111111111111*
L002080 11111111111111111111111111101111111111110111111111111111111111111111111111111111*
L002160 11111111111111111111111111111111111111111111111101111111111111111111111111111111*
L002240 11111111111111101101111111111111111111111111111111111111111111111111111111111111*
L002320 01111111111111111111111111110111111111010111111111111111111111111111110111111111*
L002400 11111111111111111111111111111111111111111111011111111111111111111111111111111111*
L002480 11111111111111111101111111111111111111111111111111111111111111111111111011111111*
L002560 01111111111111011111111111110111111111010111111111111111111111111111110111111111*
L002640 11111111111111111111111111111101111111111111111111111111111111111111111111111111*
L002720 11110111111111111111111111111111111111111111111111111111111111111111111011111111*
L002800 01111111111111011111011111110111111111010111111111111111111111111111110111111111*
L002880 11111111111111111111111111111111111111111111111111110111111111111111111011111111*
L002960 01111111110111011111011111110111111111010111111111111111111111111111110111111111*
L003040 11111111111111111111111111111111111111111111111111111101111111111111111011111111*
L003120 11111111111111111111111111111111011111111111111111111111111111111111110111111111*
L003200 10011111111111111111111111111111111111111111111111111111111111111111111111111111*
L003280 11111111111111011110111111111111111111111111111111111111111111111111111111111111*
L003360 11111111110111111111111111111111111111111111111111111111111111111111110111111111*
L003440 11110111111111111111101111111111111111111111111111111111111111111111111111111111*
L003520 11111011111111111111011111111111111111111111111111111111111111111111111111111111*
L003600 11111111111111111111011111111111111111111111111111111111111111111111110111111111*
L003680 11111111111011111111111111111111111111111111111111110111111111111111111111111111*
L003760 11111111110111111111111111111111111111111111111111111011111111111111111111111111*
L003840 11111111111111011111111111111111111111111111111111111111111111111111110111111111*
L003920 11111111111111111111111111111111101111111111111111111101111111111111111111111111*
L004000 11111111111111111111111111111111011111111111111111111110111111111111111111111111*
L004080 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L004160 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L004240 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L004320 11111111111111111101111111111111111111111111111111111111111111111111111111111111*
L004320 11111111111111111111111111111111111111110111111111111111111111111111110111111111*
L004400 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L004480 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L004560 11111111111111111111011111111111111111111111111111111111111111111111111111111111*
L004560 11111111111111111111111111111111111111011111111111111111111111111111110111111111*
L004640 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L004720 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L004800 11111111111111111111111111111111011111111111111111111111111111111111111111111111*
L004800 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L004880 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L004960 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L005040 11111111111111111111111111111101111111111111111111111111111111111111111111111111*
L005040 11111111111111111111111111111111111111111111111111111111111111111111110111111111*
Note Block 0 PLA OR array *
L005120 1111111111111111*
L005136 1111111111111111*
L005152 1111111111111111*
L005168 1111111111111111*
L005184 1111111111111111*
L005200 1111111111111111*
L005216 1111111111111111*
L005232 1111111111111111*
L005248 1111111111111111*
L005264 1111111111111111*
L005280 1111111111111111*
L005296 1111111111111111*
L005312 1111111111111111*
L005120 0111111111111111*
L005136 0111111111111111*
L005152 1111111111111110*
L005168 1111111111111101*
L005184 1111111111111101*
L005200 1111111111111101*
L005216 1111111111111011*
L005232 1111111111111011*
L005248 1111111111110111*
L005264 1111111111110111*
L005280 1111111111101111*
L005296 1111111111101111*
L005312 1111111111101111*
L005328 1111111111111111*
L005344 1111111111111111*
L005360 1111111111111111*
L005344 1111111111101111*
L005360 1111111111101111*
L005376 1111111111111111*
L005392 1111111111111111*
L005408 1111111111111111*
L005392 1111111111101111*
L005408 1111111111101111*
L005424 1111111111111111*
L005440 1111111111111111*
L005456 1111111111111111*
L005440 1111111111101111*
L005456 1111111111011111*
L005472 1111111111111111*
L005488 1111111111111111*
L005504 1111111111111111*
L005488 1111111111011111*
L005504 1111111110111111*
L005520 1111111111111111*
L005536 1111111111111111*
L005552 1111111111111111*
L005568 1111111111111111*
L005584 1111111111111111*
L005600 1111111111111111*
L005536 1111111110111111*
L005552 1111111101111111*
L005568 1111111101111111*
L005584 1111111011111111*
L005600 1111111011111111*
L005616 1111111111111111*
L005632 1111111111111111*
L005648 1111111111111111*
L005632 1111110111111111*
L005648 1111110111111111*
L005664 1111111111111111*
L005680 1111111111111111*
L005696 1111111111111111*
L005680 1111110111111111*
L005696 1111110111111111*
L005712 1111111111111111*
L005728 1111111111111111*
L005744 1111111111111111*
L005728 1111110111111111*
L005744 1111110111111111*
L005760 1111111111111111*
L005776 1111111111111111*
L005792 1111111111111111*
L005776 1111110111111111*
L005792 1111110111111111*
L005808 1111111111111111*
L005824 1111111111111111*
L005840 1111111111111111*
@ -171,52 +171,52 @@ L006000 1111111111111111*
Note Block 0 I/O Macrocell Configuration 27 bits *
N Aclk ClkOp Clk:2 ClkFreq R:2 P:2 RegMod:2 INz:2 FB:2 InReg St XorIn:2 RegCom Oe:4 Tm Slw Pu*
L006016 000001111001111110011111100*
L006043 000001111001111110011111100*
L006070 000001111001111110011111100*
L006097 000001111001111110011111100*
L006124 000001111001111110011111100*
L006151 000001111001111110011111100*
L006178 000001111001111110011111100*
L006016 010101111001110101100000011*
L006043 010101111001110111011111101*
L006070 010101111001110111011111101*
L006097 010101111001110111011111101*
L006124 010101111001110111011111101*
L006151 010101111001110111011111101*
L006178 000001111001100110011111101*
L006205 010101111001110111011111101*
L006232 010101111001110111011111101*
L006259 010101111001110111011111101*
L006286 010101111001110111011111101*
L006313 010101111001110111011111101*
L006313 000001111001100110011111101*
L006340 010101111001110111011111101*
L006367 010101111001110111011111101*
L006394 010101111001110111011111101*
L006421 010101111001110111011111101*
L006394 010101111001110110011111101*
L006421 010101111111110110011111101*
Note Block 1 *
Note Block 1 ZIA *
L006448 1111111111111111*
L006464 1110101011111111*
L006480 1110101011111111*
L006496 1110101011111111*
L006512 1111111111111111*
L006528 1111111011010111*
L006544 1110101011111111*
L006560 1111111111111111*
L006576 1110101011111111*
L006592 1110101011111111*
L006608 1110101011111111*
L006448 1110101011111111*
L006464 1111111011010111*
L006480 1111111011010111*
L006496 1111111111111111*
L006512 1111111011010111*
L006528 1110101011111111*
L006544 1110110011111111*
L006560 1110011011111111*
L006576 1111111011010111*
L006592 1111111011100111*
L006608 1110011011111111*
L006624 1111111111111111*
L006640 1111111111111111*
L006656 1110110011111111*
L006672 1111111111111111*
L006656 1111111111111111*
L006672 1110110011111111*
L006688 1111111111111111*
L006704 1110110011111111*
L006704 1110101011111111*
L006720 1111111111111111*
L006736 1111111011010111*
L006752 1111111111111111*
L006768 1111111111111111*
L006736 1110110011111111*
L006752 1110110011111111*
L006768 1110110011111111*
L006784 1111111111111111*
L006800 1111111111111111*
L006816 1111111111111111*
L006832 1111111111111111*
L006848 1111111111111111*
L006864 1111111111111111*
L006864 1111111011010111*
L006880 1111111111111111*
L006896 1111111111111111*
L006912 1111111111111111*
@ -232,83 +232,83 @@ L007056 1111111111111111*
L007072 1111111111111111*
Note Block 1 PLA AND array *
L007088 11011111110111111111111111111111111101111111111111111111111111111111111111111111*
L007168 11111111111011111111111111111111111111111111111111111111111111111111111111111111*
L007248 11011111111111111111111111111111111101111111111111111111111111111111111111111111*
L007328 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L007408 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L007488 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L007568 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L007648 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L007728 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L007808 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L007888 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L007968 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L008048 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L008128 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L008208 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L008288 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L008368 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L008448 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L008528 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L008608 11111111110111111111111111101111111111111111111111111111111111111111111111111111*
L007088 01111111111111111111111111111111111101111111111111110111111111111111111111111111*
L007168 10111111111111111111111111111111111110111111111111110111111111111111111111111111*
L007248 01111111111111111111111111110111111111111111111111110111111111111111111111111111*
L007328 10111111111111111111111111111011111111111111111111110111111111111111111111111111*
L007408 01111111111111111111111111111111111111011111111111110111111111111111111111111111*
L007488 10111111111111111111111111111111111111101111111111110111111111111111111111111111*
L007568 01111111111111111111111111111111111111110111111111110111111111111111111111111111*
L007648 10111111111111111111111111111111111111111011111111110111111111111111111111111111*
L007728 01111111111111011111111111111111111111111111111111110111111111111111111111111111*
L007808 10111111111111101111111111111111111111111111111111110111111111111111111111111111*
L007888 11111111111101110111111111111111111111111111111111111111111111111111111111111111*
L007968 01111111111111111111011111111111111111111111111111110111111111111111111111111111*
L008048 10111111111111111111101111111111111111111111111111110111111111111111111111111111*
L008128 11111111111111111101111111111111111111111111111111111111111111111111111111111111*
L008208 01111111110111111111111111111111111111111111111111110111111111111111111111111111*
L008288 10111111111011111111111111111111111111111111111111110111111111111111111111111111*
L008368 11011111111111111111111111111111111111111111111111111111111111111111111111111111*
L008448 01111111111111111111111111111111011111111111111111110111111111111111111111111111*
L008528 10111111111111111111111111111111101111111111111111110111111111111111111111111111*
L008608 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L008688 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L008768 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L008848 11111111110111111111111111111111101111111111111111111111111111111111111111111111*
L008848 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L008928 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L009008 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L009088 11111011110111111111111111111111111111111111111111111111111111111111111111111111*
L009088 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L009168 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L009248 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L009328 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L009328 11110111111111111111111111111111111111111111111111111111111111111111111111111111*
L009408 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L009488 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L009568 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L009648 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L009728 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L009808 11111111110111111110111111111111111111111111111111111111111111111111111111111111*
L009808 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L009888 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L009968 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010048 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010048 11111111011111111111111111111111111111111111111111111111111111111111111111111111*
L010128 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010208 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010288 11111110110111111111111111111111111111111111111111111111111111111111111111111111*
L010288 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010368 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010448 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010528 11111111110111111111101111111111111111111111111111111111111111111111111111111111*
L010528 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010608 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010688 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010768 11111111110110111111111111111111111111111111111111111111111111111111111111111111*
L010768 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010848 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010928 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L011008 11111111110111111011111111111111111111111111111111111111111111111111111111111111*
L011008 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L011088 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L011168 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L011248 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L011248 10111111111111111111111111111111111111111111111111110111111111111111111111111111*
L011328 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L011408 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L011488 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L011488 10111111111111111111111111111111111111111111111111110111111111111111111111111111*
Note Block 1 PLA OR array *
L011568 1110001101000011*
L011584 1111111111111100*
L011600 1111111111111100*
L011616 1111111111111111*
L011632 1111111111111111*
L011648 1111111111111111*
L011664 1111111111111111*
L011680 1111111111111111*
L011696 1111111111111111*
L011712 1111111111111111*
L011568 1111111111111011*
L011584 1111111111111011*
L011600 1111111111110111*
L011616 1111111111110111*
L011632 1111111111101111*
L011648 1111111111101111*
L011664 1111111111011111*
L011680 1111111111011111*
L011696 1111111101111111*
L011712 1111111101111111*
L011728 1111111111111111*
L011744 1111111111111111*
L011760 1111111111111111*
L011744 1111101111111111*
L011760 1111101111111111*
L011776 1111111111111111*
L011792 1111111111111111*
L011808 1111111111111111*
L011792 1111011111111111*
L011808 1111011111111111*
L011824 1111111111111111*
L011840 1111111111111111*
L011856 1111111111111111*
L011840 1110111111111111*
L011856 1110111111111111*
L011872 1111111111111111*
L011888 1111111111111111*
L011904 1111111111111111*
@ -349,58 +349,58 @@ L012448 1111111111111111*
Note Block 1 I/O Macrocell Configuration 27 bits *
N Aclk ClkOp Clk:2 ClkFreq R:2 P:2 RegMod:2 INz:2 FB:2 InReg St XorIn:2 RegCom Oe:4 Tm Slw Pu*
L012464 000001111001111110011111100*
L012491 000001111001111110011111100*
L012518 000001111001111110011111100*
L012545 010101111001111101000000011*
L012572 010101111001111100100000011*
L012599 010101111001111100100000011*
L012626 000001111001111110011111100*
L012464 000001111001100111011111101*
L012491 010101111001110111011111101*
L012518 010101111001110111011111101*
L012545 010101111001111100000000011*
L012572 010101111001111101100000011*
L012599 010101111001111101100000011*
L012626 010101111001110111011111101*
L012653 000101111000010000011111001*
L012680 010101111001111100100000011*
L012707 000001111001111100011111000*
L012734 010101111001111100100000011*
L012761 010101111001111100100000011*
L012788 010101111001111100100000011*
L012815 010101111001111100100000011*
L012842 010101111001111100000000011*
L012869 010101111001111100000000011*
L012680 010101111001111101100000011*
L012707 010101111001110101011111001*
L012734 010101111001111101100000011*
L012761 010101111001111101100000011*
L012788 010101111001111101100000011*
L012815 010101111001111101100000011*
L012842 010101111001111100100000011*
L012869 010101111001111100100000011*
Note Block 2 *
Note Block 2 ZIA *
L012896 0110111011111111*
L012912 0110111011111111*
L012928 0110111011111111*
L012944 1010111011111111*
L012960 1010111011111111*
L012896 1100111011111111*
L012912 1100111011111111*
L012928 1010111011111111*
L012944 1111111111111111*
L012960 1110011011111111*
L012976 1111111011010111*
L012992 1010111011111111*
L013008 0110111011111111*
L013024 1111111011010111*
L013040 1010111011111111*
L013056 1100111011111111*
L013072 1110011011111111*
L013088 1010111011111111*
L013104 1010111011111111*
L013024 1111111111111111*
L013040 1100111011111111*
L013056 1111111111111111*
L013072 1111111011100111*
L013088 1111111011100111*
L013104 1111111111111111*
L013120 1100111011111111*
L013136 1100111011111111*
L013152 1111111111111111*
L013168 1010111011111111*
L013184 1100111011111111*
L013200 1100111011111111*
L013216 1010111011111111*
L013232 1100111011111111*
L013248 1111111111111111*
L013184 1111111111111111*
L013200 1111111111111111*
L013216 1111111111111111*
L013232 1111111111111111*
L013248 1110110011111111*
L013264 1111111111111111*
L013280 1111111111111111*
L013296 1111111111111111*
L013312 1111111111111111*
L013328 1111111111111111*
L013344 1111111111111111*
L013360 1111111011100111*
L013360 1111111111111111*
L013376 1111111111111111*
L013392 1110101011111111*
L013408 1111111011100111*
L013392 1111111111111111*
L013408 1111111111111111*
L013424 1111111111111111*
L013440 1111111111111111*
L013456 1111111111111111*
@ -410,23 +410,23 @@ L013504 1111111111111111*
L013520 1111111111111111*
Note Block 2 PLA AND array *
L013536 11111111110111111111111111111111111111111111111111111111111011011011111111111111*
L013616 11111111111011111111110111111111111111111111111111111111111011111011111111111111*
L013696 11111111110111011111111111111111111111111111111111111111111111011011111111111111*
L013776 11111111111011011111110111111111111111111111111111111111111111111011111111111111*
L013856 11111111110111111111111111110111111111111111111111111111111111101111111111111111*
L013936 11111111111011111111111011110111111111111111111111111111111111111111111111111111*
L014016 11111111111011111011111011111111111111111111111111111111111111111111111111111111*
L013536 11111111110111111111111010111111111111111111011111111111111111111111111111111111*
L013616 11111111110111011111111011111111111111111111011111111111111111111111111111111111*
L013696 11111111011011111111111010111111111111111111111111111111111111111111111111111111*
L013776 11111111011011011111111011111111111111111111111111111111111111111111111111111111*
L013856 11111111110111111111111111110111111111111111101111111111111111111111111111111111*
L013936 11111111101011111111111111110111111111111111111111111111111111111111111111111111*
L014016 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L014096 11111111111011111111111111111111111111111111111111111111111111111111111111111111*
L014176 11111111110111111111111111111111111111011111111111111111111111111111111111111111*
L014256 11111111110111111111111111111101111111111111111111111111111111111111111111111111*
L014336 11111111110111111111111111111111111111111101111111111111111111111111111111111111*
L014416 11111111110111111111111111111111111101111111111111111111111111111111111111111111*
L014496 11111111110111111111111111111111110111111111111111111111111111111111111111111111*
L014576 11111111110111111111111111111111111111110111111111111111111111111111111111111111*
L014656 11111111110101111111111111111111111111111111111111111111111111111111111111111111*
L014736 11111111110111111111011111111111111111111111111111111111111111111111111111111111*
L014816 11110111111011111111111111111111111111111111111111111111111111111111111111111111*
L014176 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L014256 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L014336 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L014416 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L014496 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L014576 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L014656 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L014736 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L014816 11111111111011111111111111111111111111111111111111111111111111111111111111111111*
L014896 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L014976 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L015056 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
@ -438,16 +438,16 @@ L015456 111111111111111111111111111111111111111111111111111111111111111111111111
L015536 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L015616 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L015696 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L015776 11111110111011111111111111111111111111111111111111111111111111111111111111111111*
L015776 01010111111001111101111111111101110111111111111111111111111111111111111111111111*
L015856 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L015936 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L016016 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L016096 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L016176 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L016256 01111111111011111111111111111111111111111111111111111111111111111111111111111111*
L016256 11011111111011111111111111111101111111111111111111111111111111111111111111111111*
L016336 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L016416 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L016496 11111111111011111111111101111111111111111111111111111111111111111111111111111111*
L016496 01011111111011111111111111111101111111111111111111111111111111111111111111111111*
L016576 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L016656 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L016736 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
@ -459,13 +459,13 @@ L017136 111111111111111111111111111111111111111111111111111111111111111111111111
L017216 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L017296 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L017376 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L017456 11111111011011111111111111111111111111111111111111111111111111111111111111111111*
L017456 01011111111011111101111111111101111111111111111111111111111111111111111111111111*
L017536 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L017616 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L017696 11111111111011111111111111011111111111111111111111111111111111111111111111111111*
L017696 01011111111011111101111111111101110111111111111111111111111111111111111111111111*
L017776 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L017856 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L017936 11111111111011111101111111111111111111111111111111111111111111111111111111111111*
L017936 01010111111011111101111111111101110111111111111111111111111111111111111111111111*
Note Block 2 PLA OR array *
L018016 0111111111111111*
@ -474,16 +474,16 @@ L018048 0111111111111111*
L018064 0111111111111111*
L018080 0111111111111111*
L018096 0111111111111111*
L018112 1101010100111000*
L018112 1111111111111111*
L018128 1111111111111111*
L018144 1101111111111111*
L018160 1111011111111111*
L018176 1111111101111111*
L018192 1111111110111111*
L018208 1111111111111011*
L018224 1111111111111101*
L018240 1111111111111110*
L018256 1111110111111111*
L018144 1111111111111111*
L018160 1111111111111111*
L018176 1111111111111111*
L018192 1111111111111111*
L018208 1111111111111111*
L018224 1111111111111111*
L018240 1111111111111111*
L018256 1111111111111111*
L018272 1111111111111111*
L018288 1111111111111111*
L018304 1111111111111111*
@ -529,20 +529,20 @@ Note Block 2 I/O Macrocell Configuration 27 bits *
N Aclk ClkOp Clk:2 ClkFreq R:2 P:2 RegMod:2 INz:2 FB:2 InReg St XorIn:2 RegCom Oe:4 Tm Slw Pu*
L018912 000101111001110100000000011*
L018939 000001111000011100011111000*
L018966 000101111000010101001000011*
L018966 000101111100010101001000011*
L018993 000001111001111110011111100*
L019020 000101111000010101001000011*
L019020 000101111100010101001000011*
L019047 000001111001111110011111100*
L019074 000101111000010101001000011*
L019074 000101111100011101001000011*
L019101 000001111000011100011111000*
L019128 000101111000010101001000011*
L019155 000101111000010101001000011*
L019128 000101111100010101001000011*
L019155 000101111100010101001000011*
L019182 000001111000011100011111000*
L019209 000001111000011100011111000*
L019236 000001111001111110011111100*
L019263 000101111000010101001000011*
L019290 000101111000010101001000011*
L019317 000101111000010101001000011*
L019263 000101111100010101001000011*
L019290 000101111100010101001000011*
L019317 000101111100010101001000011*
Note Block 3 *
Note Block 3 ZIA *
@ -705,14 +705,14 @@ L025344 1111111111111111*
Note Block 3 I/O Macrocell Configuration 27 bits *
N Aclk ClkOp Clk:2 ClkFreq R:2 P:2 RegMod:2 INz:2 FB:2 InReg St XorIn:2 RegCom Oe:4 Tm Slw Pu*
L025360 000101111001110000011111001*
L025387 000101111001110000011111001*
L025414 000101111001110000011111001*
L025441 000101111001110000011111001*
L025468 000101111001110000011111001*
L025495 000101111001110000011111001*
L025522 000101111001110000011111001*
L025549 000101111001110000011111001*
L025360 000001111001111110011111100*
L025387 000001111001111110011111100*
L025414 000001111001111110011111100*
L025441 000001111001111110011111100*
L025468 000001111001111110011111100*
L025495 000001111001111110011111100*
L025522 000001111001111110011111100*
L025549 000001111001111110011111100*
L025576 000001111001111110011111100*
L025603 000001111001111110011111100*
L025630 000001111001111110011111100*
@ -753,5 +753,5 @@ L025810 0*
Note I/O Bank 1 Vcco *
L025811 0*
C035D*
AA97
CED50*
AA1E

View File

@ -65,6 +65,8 @@ NET "HOST_SYNC_EN" LOC = "P90" ;
NET "HOST_SYNC" LOC = "P55" | PULLUP ;
NET "HOST_SYNC_CMD" LOC = "P56" ;
NET "B2AUX1" LOC = "13" ;
#PACE: Start of PACE Area Constraints
#PACE: Start of PACE Prohibit Constraints

View File

@ -41,7 +41,9 @@ entity top is
DD : out std_logic_vector(9 downto 0);
CODEC_CLK : in std_logic;
CODEC_X2_CLK : in std_logic
CODEC_X2_CLK : in std_logic;
B2AUX1 : out std_logic
);
end top;
@ -67,6 +69,9 @@ architecture Behavioral of top is
signal data_from_host_i : std_logic_vector(7 downto 0);
signal data_to_host_o : std_logic_vector(7 downto 0);
signal compare_counter : std_logic_vector(7 downto 0);
signal glitch_detected_o : std_logic;
signal q_invert : std_logic;
signal rx_q_invert_mask : std_logic_vector(7 downto 0);
signal tx_q_invert_mask : std_logic_vector(7 downto 0);
@ -97,7 +102,9 @@ begin
host_sync_enable <= HOST_SYNC_EN;
host_sync_i <= HOST_SYNC;
HOST_SYNC_CMD <= host_sync_o;
B2AUX1 <= glitch_detected_o;
host_data_enable_i <= not HOST_DISABLE;
transfer_direction_i <= to_dac when HOST_DIRECTION = '1'
else from_adc;
@ -114,13 +121,7 @@ begin
codec_clk_rx_i <= CODEC_CLK;
adc_data_i <= DA(7 downto 0);
if (transfer_direction_i = from_adc) then
if codec_clk_rx_i = '1' then
-- I: non-inverted between MAX2837 and MAX5864
data_to_host_o <= adc_data_i xor X"80";
else
-- Q: inverted between MAX2837 and MAX5864
data_to_host_o <= adc_data_i xor rx_q_invert_mask;
end if;
data_to_host_o <= data_to_host_o + 1;
end if;
end if;
end process;
@ -136,6 +137,13 @@ begin
else
dac_data_o <= (data_from_host_i xor X"80") & "00";
end if;
if data_from_host_i /= compare_counter then
glitch_detected_o <= '1';
else
glitch_detected_o <= '0';
end if;
compare_counter <= data_from_host_i + 1;
else
dac_data_o <= (dac_data_o'high => '0', others => '1');
end if;