CPLD: Finish fixing up timing re-validation for RX and TX.

This commit is contained in:
Jared Boone
2019-01-21 16:19:41 -08:00
parent 2f1eedcf23
commit f22fcd6083
4 changed files with 2275 additions and 200 deletions

File diff suppressed because it is too large Load Diff

BIN
firmware/cpld/sgpio_if/default.xsvf Executable file → Normal file

Binary file not shown.

356
firmware/cpld/sgpio_if/top.jed Executable file → Normal file
View File

@ -1,5 +1,5 @@
Programmer Jedec Bit Map Programmer Jedec Bit Map
Date Extracted: Mon May 15 14:19:25 2017 Date Extracted: Mon Jan 21 16:17:38 2019
QF25812* QF25812*
QP100* QP100*
@ -13,22 +13,22 @@ N DEVICE XC2C64A-7-VQ100*
Note Block 0 * Note Block 0 *
Note Block 0 ZIA * Note Block 0 ZIA *
L000000 1111111111111111* L000000 1111111111111111*
L000016 1111111111111111* L000016 1111111011010111*
L000032 1111111011110011* L000032 1111111011010111*
L000048 1111111111111111* L000048 1111111011010111*
L000064 1111111111111111* L000064 1111111011010111*
L000080 1111111011010111* L000080 1111111111111111*
L000096 1111111111111111* L000096 1111111111111111*
L000112 1111111111111111* L000112 1111111111111111*
L000128 1111111011010111* L000128 1111111111111111*
L000144 1111111111111111* L000144 1111111011010111*
L000160 1111111111111111* L000160 1111111011100111*
L000176 1111111111111111* L000176 1111111111111111*
L000192 1111111111111111* L000192 1111111111111111*
L000208 1111111111111111* L000208 1111111111111111*
L000224 1111111111111111* L000224 1111111011100111*
L000240 1111111111111111* L000240 1111111011110011*
L000256 1111111111111111* L000256 1111111011100111*
L000272 1111111111111111* L000272 1111111111111111*
L000288 1111111111111111* L000288 1111111111111111*
L000304 1111111111111111* L000304 1111111111111111*
@ -54,8 +54,8 @@ L000608 1111111111111111*
L000624 1111111111111111* L000624 1111111111111111*
Note Block 0 PLA AND array * Note Block 0 PLA AND array *
L000640 11111111111011111111111111111111111111111111111111111111111111111111111111111111* L000640 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L000720 11110111111111110111111111111111111111111111111111111111111111111111111111111111* L000720 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L000800 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L000800 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L000880 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L000880 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L000960 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L000960 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
@ -85,35 +85,35 @@ L002800 111111111111111111111111111111111111111111111111111111111111111111111111
L002880 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L002880 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L002960 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L002960 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L003040 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L003040 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L003120 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L003120 11111111111111111111111111110111111111111111111111111111111111111111111111111111*
L003200 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L003200 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L003280 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L003280 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L003360 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L003360 11011111111111111111111111111111111111111111111111111111111111111111111111111111*
L003440 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L003440 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L003520 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L003520 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L003600 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L003600 11110111111111111111111111111111111111111111111111111111111111111111111111111111*
L003680 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L003680 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L003760 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L003760 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L003840 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L003840 11111111011111111111111111111111111111111111111111111111111111111111111111111111*
L003920 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L003920 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L004000 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L004000 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L004080 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L004080 11111101111111111111111111111111111111111111111111111111111111111111111111111111*
L004160 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L004160 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L004240 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L004240 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L004320 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L004320 11111111111111111101111111111111111111111111111111111111111111111111111111111111*
L004400 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L004400 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L004480 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L004480 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L004560 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L004560 11111111111111111111011111111111111111111111111111111111111111111111111111111111*
L004640 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L004640 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L004720 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L004720 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L004800 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L004800 11111111111111111111111111111111011111111111111111111111111111111111111111111111*
L004880 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L004880 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L004960 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L004960 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L005040 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L005040 11111111111111111111111111111101111111111111111111111111111111111111111111111111*
Note Block 0 PLA OR array * Note Block 0 PLA OR array *
L005120 1111111111111110* L005120 1111111111111111*
L005136 1111111111111110* L005136 1111111111111111*
L005152 1111111111111111* L005152 1111111111111111*
L005168 1111111111111111* L005168 1111111111111111*
L005184 1111111111111111* L005184 1111111111111111*
@ -178,39 +178,39 @@ L006097 000001111001111110011111100*
L006124 000001111001111110011111100* L006124 000001111001111110011111100*
L006151 000001111001111110011111100* L006151 000001111001111110011111100*
L006178 000001111001111110011111100* L006178 000001111001111110011111100*
L006205 000001111001111110011111100* L006205 010101111001110111011111101*
L006232 000001111001111110011111100* L006232 010101111001110111011111101*
L006259 000001111001111110011111100* L006259 010101111001110111011111101*
L006286 000001111001111110011111100* L006286 010101111001110111011111101*
L006313 000001111001111110011111100* L006313 010101111001110111011111101*
L006340 000001111001111110011111100* L006340 010101111001110111011111101*
L006367 000001111001111110011111100* L006367 010101111001110111011111101*
L006394 000001111001111110011111100* L006394 010101111001110111011111101*
L006421 000001111001100110011111101* L006421 010101111001110111011111101*
Note Block 1 * Note Block 1 *
Note Block 1 ZIA * Note Block 1 ZIA *
L006448 1111111111111111* L006448 1111111111111111*
L006464 1110101011111111* L006464 1110101011111111*
L006480 1111111011010111* L006480 1110101011111111*
L006496 1111111011010111* L006496 1110101011111111*
L006512 1111111011010111* L006512 1111111111111111*
L006528 1111111011010111* L006528 1111111011010111*
L006544 1111111111111111* L006544 1110101011111111*
L006560 1111111111111111* L006560 1111111111111111*
L006576 1111111011010111* L006576 1110101011111111*
L006592 1111111011010111* L006592 1110101011111111*
L006608 1111111011100111* L006608 1110101011111111*
L006624 1111111111111111* L006624 1111111111111111*
L006640 1111111111111111* L006640 1111111111111111*
L006656 1111111111111111* L006656 1110110011111111*
L006672 1111111011100111* L006672 1111111111111111*
L006688 1111111011110011* L006688 1111111111111111*
L006704 1111111011100111* L006704 1110110011111111*
L006720 1111111111111111* L006720 1111111111111111*
L006736 1111111111111111* L006736 1111111011010111*
L006752 1111111111111111* L006752 1111111111111111*
L006768 1111111011010111* L006768 1111111111111111*
L006784 1111111111111111* L006784 1111111111111111*
L006800 1111111111111111* L006800 1111111111111111*
L006816 1111111111111111* L006816 1111111111111111*
@ -232,32 +232,32 @@ L007056 1111111111111111*
L007072 1111111111111111* L007072 1111111111111111*
Note Block 1 PLA AND array * Note Block 1 PLA AND array *
L007088 11111111110111110111111111111101011111111111111111111111111111111111111111111111* L007088 11011111110111111111111111111111111101111111111111111111111111111111111111111111*
L007168 11101111111111111111111111111111101111111111111111111111111111111111111111111111* L007168 11111111111011111111111111111111111111111111111111111111111111111111111111111111*
L007248 11111111110111110111011111111101111111111111111111111111111111111111111111111111* L007248 11011111111111111111111111111111111101111111111111111111111111111111111111111111*
L007328 11101111111111111111101111111111111111111111111111111111111111111111111111111111* L007328 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L007408 11111111110111110101111111111101111111111111111111111111111111111111111111111111* L007408 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L007488 11101111111111111110111111111111111111111111111111111111111111111111111111111111* L007488 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L007568 11111101110111110111111111111101111111111111111111111111111111111111111111111111* L007568 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L007648 11101110111111111111111111111111111111111111111111111111111111111111111111111111* L007648 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L007728 11111111010111110111111111111101111111111111111111111111111111111111111111111111* L007728 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L007808 11101111101111111111111111111111111111111111111111111111111111111111111111111111* L007808 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L007888 11110111110111110111111111111101111111111111111111111111111111111111111111111111* L007888 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L007968 11101011111111111111111111111111111111111111111111111111111111111111111111111111* L007968 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L008048 11111111110111110111111111111101111111110111111111111111111111111111111111111111* L008048 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L008128 11101111111111111111111111111111111111111011111111111111111111111111111111111111* L008128 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L008208 11111111110111110111111111110101111111111111111111111111111111111111111111111111* L008208 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L008288 11101111111111111111111111111011111111111111111111111111111111111111111111111111* L008288 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L008368 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L008368 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L008448 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L008448 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L008528 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L008528 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L008608 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L008608 11111111110111111111111111101111111111111111111111111111111111111111111111111111*
L008688 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L008688 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L008768 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L008768 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L008848 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L008848 11111111110111111111111111111111101111111111111111111111111111111111111111111111*
L008928 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L008928 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L009008 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L009008 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L009088 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L009088 11111011110111111111111111111111111111111111111111111111111111111111111111111111*
L009168 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L009168 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L009248 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L009248 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L009328 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L009328 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
@ -266,46 +266,46 @@ L009488 111111111111111111111111111111111111111111111111111111111111111111111111
L009568 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L009568 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L009648 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L009648 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L009728 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L009728 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L009808 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L009808 11111111110111111110111111111111111111111111111111111111111111111111111111111111*
L009888 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L009888 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L009968 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L009968 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010048 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L010048 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010128 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L010128 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010208 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L010208 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010288 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L010288 11111110110111111111111111111111111111111111111111111111111111111111111111111111*
L010368 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L010368 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010448 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L010448 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010528 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L010528 11111111110111111111101111111111111111111111111111111111111111111111111111111111*
L010608 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L010608 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010688 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L010688 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010768 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L010768 11111111110110111111111111111111111111111111111111111111111111111111111111111111*
L010848 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L010848 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010928 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L010928 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L011008 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L011008 11111111110111111011111111111111111111111111111111111111111111111111111111111111*
L011088 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L011088 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L011168 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L011168 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L011248 11011111111111111111111111111111111111111111111111111111111111111111111111111111* L011248 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L011328 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L011328 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L011408 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L011408 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L011488 11011111111111111111111111111111111111111111111111111111111111111111111111111111* L011488 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
Note Block 1 PLA OR array * Note Block 1 PLA OR array *
L011568 1111111111111011* L011568 1110001101000011*
L011584 1111111111111011* L011584 1111111111111100*
L011600 1111111111110111* L011600 1111111111111100*
L011616 1111111111110111* L011616 1111111111111111*
L011632 1111111111101111* L011632 1111111111111111*
L011648 1111111111101111* L011648 1111111111111111*
L011664 1111111111011111* L011664 1111111111111111*
L011680 1111111111011111* L011680 1111111111111111*
L011696 1111111101111111* L011696 1111111111111111*
L011712 1111111101111111* L011712 1111111111111111*
L011728 1111101111111111* L011728 1111111111111111*
L011744 1111101111111111* L011744 1111111111111111*
L011760 1111011111111111* L011760 1111111111111111*
L011776 1111011111111111* L011776 1111111111111111*
L011792 1110111111111111* L011792 1111111111111111*
L011808 1110111111111111* L011808 1111111111111111*
L011824 1111111111111111* L011824 1111111111111111*
L011840 1111111111111111* L011840 1111111111111111*
L011856 1111111111111111* L011856 1111111111111111*
@ -352,44 +352,44 @@ N Aclk ClkOp Clk:2 ClkFreq R:2 P:2 RegMod:2 INz:2 FB:2 InReg St XorIn:2 RegCom O
L012464 000001111001111110011111100* L012464 000001111001111110011111100*
L012491 000001111001111110011111100* L012491 000001111001111110011111100*
L012518 000001111001111110011111100* L012518 000001111001111110011111100*
L012545 000101111001111100000000011* L012545 010101111001111101000000011*
L012572 000101111001111101100000011* L012572 010101111001111100100000011*
L012599 000101111001111101100000011* L012599 010101111001111100100000011*
L012626 000001111001111110011111100* L012626 000001111001111110011111100*
L012653 000001111000011100011111100* L012653 000101111000010000011111001*
L012680 000101111001111101100000011* L012680 010101111001111100100000011*
L012707 000001111001111100011111100* L012707 000001111001111100011111000*
L012734 000101111001111101100000011* L012734 010101111001111100100000011*
L012761 000101111001111101100000011* L012761 010101111001111100100000011*
L012788 000101111001111101100000011* L012788 010101111001111100100000011*
L012815 000101111001111101100000011* L012815 010101111001111100100000011*
L012842 000101111001111101000000011* L012842 010101111001111100000000011*
L012869 000101111001111101000000011* L012869 010101111001111100000000011*
Note Block 2 * Note Block 2 *
Note Block 2 ZIA * Note Block 2 ZIA *
L012896 1111111011100111* L012896 0110111011111111*
L012912 1111111111111111* L012912 0110111011111111*
L012928 1111111011110011* L012928 0110111011111111*
L012944 1111111111111111* L012944 1010111011111111*
L012960 1111111010110111* L012960 1010111011111111*
L012976 1111111011010111* L012976 1111111011010111*
L012992 1111111010110111* L012992 1010111011111111*
L013008 0110111011111111* L013008 0110111011111111*
L013024 1111111010110111* L013024 1111111011010111*
L013040 1111111010110111* L013040 1010111011111111*
L013056 1111111010110111* L013056 1100111011111111*
L013072 1111111011010111* L013072 1110011011111111*
L013088 1111111011010111* L013088 1010111011111111*
L013104 1111111111111111* L013104 1010111011111111*
L013120 1100111011111111* L013120 1100111011111111*
L013136 1111111011010111* L013136 1100111011111111*
L013152 1111111111111111* L013152 1111111111111111*
L013168 1111111111111111* L013168 1010111011111111*
L013184 1111111011010111* L013184 1100111011111111*
L013200 1111111111111111* L013200 1100111011111111*
L013216 1111111111111111* L013216 1010111011111111*
L013232 1111111111111111* L013232 1100111011111111*
L013248 1111111111111111* L013248 1111111111111111*
L013264 1111111111111111* L013264 1111111111111111*
L013280 1111111111111111* L013280 1111111111111111*
@ -397,9 +397,9 @@ L013296 1111111111111111*
L013312 1111111111111111* L013312 1111111111111111*
L013328 1111111111111111* L013328 1111111111111111*
L013344 1111111111111111* L013344 1111111111111111*
L013360 1111111111111111* L013360 1111111011100111*
L013376 1111111111111111* L013376 1111111111111111*
L013392 1111111111111111* L013392 1110101011111111*
L013408 1111111011100111* L013408 1111111011100111*
L013424 1111111111111111* L013424 1111111111111111*
L013440 1111111111111111* L013440 1111111111111111*
@ -410,44 +410,44 @@ L013504 1111111111111111*
L013520 1111111111111111* L013520 1111111111111111*
Note Block 2 PLA AND array * Note Block 2 PLA AND array *
L013536 10110111110111111111111111111111111111111111111111111111111111111011111111111111* L013536 11111111110111111111111111111111111111111111111111111111111011011011111111111111*
L013616 10111011111011111111111111111111111111111111111111111111111111111011111111111111* L013616 11111111111011111111110111111111111111111111111111111111111011111011111111111111*
L013696 11110111110111011111111111111111111111111111111111111111111111111011111111111111* L013696 11111111110111011111111111111111111111111111111111111111111111011011111111111111*
L013776 11111011111011011111111111111111111111111111111111111111111111111011111111111111* L013776 11111111111011011111110111111111111111111111111111111111111111111011111111111111*
L013856 11110111111011111111111111110111111111111111111111111111111111111111111111111111* L013856 11111111110111111111111111110111111111111111111111111111111111101111111111111111*
L013936 11111011110111111111111111110111111111111111111111111111111111111111111111111111* L013936 11111111111011111111111011110111111111111111111111111111111111111111111111111111*
L014016 11111011111111111111111111111111111110111111111111111111111111111111111111111111* L014016 11111111111011111011111011111111111111111111111111111111111111111111111111111111*
L014096 11111111111011111111111111111111111111111111111111111111111111111111111111111111* L014096 11111111111011111111111111111111111111111111111111111111111111111111111111111111*
L014176 11111011111111111111111101111111111110111111111111111111111111111111111111111111* L014176 11111111110111111111111111111111111111011111111111111111111111111111111111111111*
L014256 11111111111111111111111110111111111101111111111111111111111111111111111111111111* L014256 11111111110111111111111111111101111111111111111111111111111111111111111111111111*
L014336 11110111111111111111111110111111111111111111111111111111111111111111111111111111* L014336 11111111110111111111111111111111111111111101111111111111111111111111111111111111*
L014416 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L014416 11111111110111111111111111111111111101111111111111111111111111111111111111111111*
L014496 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L014496 11111111110111111111111111111111110111111111111111111111111111111111111111111111*
L014576 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L014576 11111111110111111111111111111111111111110111111111111111111111111111111111111111*
L014656 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L014656 11111111110101111111111111111111111111111111111111111111111111111111111111111111*
L014736 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L014736 11111111110111111111011111111111111111111111111111111111111111111111111111111111*
L014816 11111111111111111101111111111111111111111111111111111111111111111111111111111111* L014816 11110111111011111111111111111111111111111111111111111111111111111111111111111111*
L014896 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L014896 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L014976 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L014976 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L015056 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L015056 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L015136 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L015136 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L015216 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L015216 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L015296 11111111111101111111111111111111111111111111111111111111111111111111111111111111* L015296 11011111111011111111111111111111111111111111111111111111111111111111111111111111*
L015376 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L015376 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L015456 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L015456 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L015536 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L015536 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L015616 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L015616 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L015696 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L015696 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L015776 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L015776 11111110111011111111111111111111111111111111111111111111111111111111111111111111*
L015856 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L015856 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L015936 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L015936 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L016016 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L016016 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L016096 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L016096 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L016176 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L016176 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L016256 11111111011111111111111111111111111111111111111111111111111111111111111111111111* L016256 01111111111011111111111111111111111111111111111111111111111111111111111111111111*
L016336 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L016336 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L016416 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L016416 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L016496 11111111111111110111111111111111111111111111111111111111111111111111111111111111* L016496 11111111111011111111111101111111111111111111111111111111111111111111111111111111*
L016576 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L016576 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L016656 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L016656 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L016736 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L016736 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
@ -459,13 +459,13 @@ L017136 111111111111111111111111111111111111111111111111111111111111111111111111
L017216 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L017216 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L017296 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L017296 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L017376 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L017376 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L017456 11111111111111111111011111111111111111111111111111111111111111111111111111111111* L017456 11111111011011111111111111111111111111111111111111111111111111111111111111111111*
L017536 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L017536 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L017616 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L017616 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L017696 11111111111111111111110111111111111111111111111111111111111111111111111111111111* L017696 11111111111011111111111111011111111111111111111111111111111111111111111111111111*
L017776 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L017776 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L017856 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L017856 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L017936 11111111111111111111111111111101111111111111111111111111111111111111111111111111* L017936 11111111111011111101111111111111111111111111111111111111111111111111111111111111*
Note Block 2 PLA OR array * Note Block 2 PLA OR array *
L018016 0111111111111111* L018016 0111111111111111*
@ -474,16 +474,16 @@ L018048 0111111111111111*
L018064 0111111111111111* L018064 0111111111111111*
L018080 0111111111111111* L018080 0111111111111111*
L018096 0111111111111111* L018096 0111111111111111*
L018112 1101011100111000* L018112 1101010100111000*
L018128 1111111111111111* L018128 1111111111111111*
L018144 1111110111111111* L018144 1101111111111111*
L018160 1111110111111111* L018160 1111011111111111*
L018176 1111110111111111* L018176 1111111101111111*
L018192 1111111111111111* L018192 1111111110111111*
L018208 1111111111111111* L018208 1111111111111011*
L018224 1111111111111111* L018224 1111111111111101*
L018240 1111111111111111* L018240 1111111111111110*
L018256 1111111111111111* L018256 1111110111111111*
L018272 1111111111111111* L018272 1111111111111111*
L018288 1111111111111111* L018288 1111111111111111*
L018304 1111111111111111* L018304 1111111111111111*
@ -528,21 +528,21 @@ L018896 1111111111111111*
Note Block 2 I/O Macrocell Configuration 27 bits * 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* 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* L018912 000101111001110100000000011*
L018939 000001111000011100011111100* L018939 000001111000011100011111000*
L018966 000101111000011101001000111* L018966 000101111000010101001000011*
L018993 000001111001111110011111100* L018993 000001111001111110011111100*
L019020 000101111000011101001000111* L019020 000101111000010101001000011*
L019047 000001111001111110011111100* L019047 000001111001111110011111100*
L019074 000101111000011100001000111* L019074 000101111000010101001000011*
L019101 000001111000011100011111100* L019101 000001111000011100011111000*
L019128 000101111000011101001000111* L019128 000101111000010101001000011*
L019155 000101111000011101001000111* L019155 000101111000010101001000011*
L019182 000001111000011100011111100* L019182 000001111000011100011111000*
L019209 000001111000011100011111100* L019209 000001111000011100011111000*
L019236 000001111001111110011111100* L019236 000001111001111110011111100*
L019263 000101111000011101001000111* L019263 000101111000010101001000011*
L019290 000101111000011101001000111* L019290 000101111000010101001000011*
L019317 000101111000011101001000111* L019317 000101111000010101001000011*
Note Block 3 * Note Block 3 *
Note Block 3 ZIA * Note Block 3 ZIA *
@ -705,14 +705,14 @@ L025344 1111111111111111*
Note Block 3 I/O Macrocell Configuration 27 bits * 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* 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 000001111000011100011111100* L025360 000101111001110000011111001*
L025387 000001111000011100011111100* L025387 000101111001110000011111001*
L025414 000001111000011100011111100* L025414 000101111001110000011111001*
L025441 000001111000011100011111100* L025441 000101111001110000011111001*
L025468 000001111000011100011111100* L025468 000101111001110000011111001*
L025495 000001111000011100011111100* L025495 000101111001110000011111001*
L025522 000001111000011100011111100* L025522 000101111001110000011111001*
L025549 000001111000011100011111100* L025549 000101111001110000011111001*
L025576 000001111001111110011111100* L025576 000001111001111110011111100*
L025603 000001111001111110011111100* L025603 000001111001111110011111100*
L025630 000001111001111110011111100* L025630 000001111001111110011111100*
@ -733,13 +733,13 @@ Note Global OE Mux *
L025797 11111111* L025797 11111111*
Note Global Termination * Note Global Termination *
L025805 0* L025805 1*
Note Input Voltage Standard for IOB * Note Input Voltage Standard for IOB *
L025806 1* L025806 0*
Note Output Voltage Standard for IOB * Note Output Voltage Standard for IOB *
L025807 1* L025807 0*
Note I/O Bank 0 Vcci * Note I/O Bank 0 Vcci *
L025808 0* L025808 0*
@ -753,5 +753,5 @@ L025810 0*
Note I/O Bank 1 Vcco * Note I/O Bank 1 Vcco *
L025811 0* L025811 0*
C0AA8* C035D*
AABC AA97

View File

@ -47,7 +47,8 @@ entity top is
end top; end top;
architecture Behavioral of top is architecture Behavioral of top is
signal codec_clk_i : std_logic; signal codec_clk_rx_i : std_logic;
signal codec_clk_tx_i : std_logic;
signal adc_data_i : std_logic_vector(7 downto 0); signal adc_data_i : std_logic_vector(7 downto 0);
signal dac_data_o : std_logic_vector(9 downto 0); signal dac_data_o : std_logic_vector(9 downto 0);
@ -91,7 +92,6 @@ begin
HOST_DATA <= data_to_host_o when transfer_direction_i = from_adc HOST_DATA <= data_to_host_o when transfer_direction_i = from_adc
else (others => 'Z'); else (others => 'Z');
data_from_host_i <= HOST_DATA;
HOST_CAPTURE <= host_data_capture_o; HOST_CAPTURE <= host_data_capture_o;
host_sync_enable <= HOST_SYNC_EN; host_sync_enable <= HOST_SYNC_EN;
@ -106,36 +106,32 @@ begin
q_invert <= HOST_Q_INVERT; q_invert <= HOST_Q_INVERT;
rx_q_invert_mask <= X"80" when q_invert = '1' else X"7f"; rx_q_invert_mask <= X"80" when q_invert = '1' else X"7f";
tx_q_invert_mask <= X"7F" when q_invert = '1' else X"80"; tx_q_invert_mask <= X"7f" when q_invert = '1' else X"80";
process(host_clk_i) process(host_clk_i)
begin begin
if rising_edge(host_clk_i) then if rising_edge(host_clk_i) then
codec_clk_i <= CODEC_CLK; codec_clk_rx_i <= CODEC_CLK;
adc_data_i <= DA(7 downto 0);
if (transfer_direction_i = from_adc) then if (transfer_direction_i = from_adc) then
adc_data_i <= DA(7 downto 0); 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;
end if; end if;
end if; end if;
end process; end process;
process(host_clk_i) process(host_clk_i)
begin begin
if rising_edge(host_clk_i) then if falling_edge(host_clk_i) then
if codec_clk_i = '1' then codec_clk_tx_i <= CODEC_CLK;
-- I: non-inverted between MAX2837 and MAX5864 data_from_host_i <= HOST_DATA;
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;
end if;
end process;
process(host_clk_i)
begin
if rising_edge(host_clk_i) then
if transfer_direction_i = to_dac then if transfer_direction_i = to_dac then
if codec_clk_i = '1' then if codec_clk_tx_i = '1' then
dac_data_o <= (data_from_host_i xor tx_q_invert_mask) & tx_q_invert_mask(0) & tx_q_invert_mask(0); dac_data_o <= (data_from_host_i xor tx_q_invert_mask) & tx_q_invert_mask(0) & tx_q_invert_mask(0);
else else
dac_data_o <= (data_from_host_i xor X"80") & "00"; dac_data_o <= (data_from_host_i xor X"80") & "00";
@ -162,11 +158,11 @@ begin
begin begin
if rising_edge(host_clk_i) then if rising_edge(host_clk_i) then
if transfer_direction_i = to_dac then if transfer_direction_i = to_dac then
if codec_clk_i = '1' then if codec_clk_tx_i = '1' then
host_data_capture_o <= host_data_enable_i and (host_sync_latched or not host_sync_enable); host_data_capture_o <= host_data_enable_i and (host_sync_latched or not host_sync_enable);
end if; end if;
else else
if codec_clk_i = '1' then if codec_clk_rx_i = '1' then
host_data_capture_o <= host_data_enable_i and (host_sync_latched or not host_sync_enable); host_data_capture_o <= host_data_enable_i and (host_sync_latched or not host_sync_enable);
end if; end if;
end if; end if;