CPLD: Add TX Q invert mechanism.

This commit is contained in:
Jared Boone
2014-08-16 17:15:13 -07:00
parent 741941f838
commit ad403fb370
3 changed files with 74 additions and 70 deletions

Binary file not shown.

View File

@ -1,5 +1,5 @@
Programmer Jedec Bit Map Programmer Jedec Bit Map
Date Extracted: Mon Aug 4 21:44:14 2014 Date Extracted: Sat Aug 16 17:13:17 2014
QF25812* QF25812*
QP100* QP100*
@ -17,7 +17,7 @@ L000016 1110101011111111*
L000032 1111111011110011* L000032 1111111011110011*
L000048 1111111111111111* L000048 1111111111111111*
L000064 1111111111111111* L000064 1111111111111111*
L000080 1111111011100111* L000080 1111111011010111*
L000096 1110101011111111* L000096 1110101011111111*
L000112 1111111111111111* L000112 1111111111111111*
L000128 1110101011111111* L000128 1110101011111111*
@ -33,7 +33,7 @@ L000272 1111111111111111*
L000288 1111111011010111* L000288 1111111011010111*
L000304 1111111111111111* L000304 1111111111111111*
L000320 1111111111111111* L000320 1111111111111111*
L000336 1111111111111111* L000336 1111111011100111*
L000352 1111111111111111* L000352 1111111111111111*
L000368 1111111111111111* L000368 1111111111111111*
L000384 1111111111111111* L000384 1111111111111111*
@ -63,12 +63,12 @@ L001040 111110111111111111111111111111111111111111111111111111111111111111111111
L001120 01111111111111110111110111111111111111111111111111111111111111111111111111111111* L001120 01111111111111110111110111111111111111111111111111111111111111111111111111111111*
L001200 10111111111111111011110111111111111111111111111111111111111111111111111111111111* L001200 10111111111111111011110111111111111111111111111111111111111111111111111111111111*
L001280 01011111111101110111111111111111111111111111111111111111111111111111111111111111* L001280 01011111111101110111111111111111111111111111111111111111111111111111111111111111*
L001360 11110111111001111111110111111111111111111111111111111111111111111111111111111111* L001360 11110111111101111111110111111111111111111110111111111111111111111111111111111111*
L001440 11010111111001110111111111111111111111111111111111111111111111111111111111111111* L001440 11010111111101110111111111111111111111111110111111111111111111111111111111111111*
L001520 11110111110110111111110111111111111111111111111111111111111111111111111111111111* L001520 11110111111110111111110111111111111111111101111111111111111111111111111111111111*
L001600 11010111111110110111111011111111111111111111111111111111111111111111111111111111* L001600 11010111111110110111111011111111111111111111111111111111111111111111111111111111*
L001680 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L001680 11111011110111111111111111111111111111111111111111111111111111111111111111111111*
L001760 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L001760 11111111110111111111111111111111111101111111111111111111111111111111111111111111*
L001840 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L001840 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L001920 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L001920 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L002000 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L002000 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
@ -125,8 +125,8 @@ L005264 1111111111111011*
L005280 1111111111111011* L005280 1111111111111011*
L005296 1111111111111011* L005296 1111111111111011*
L005312 1111111111111011* L005312 1111111111111011*
L005328 1111111111111111* L005328 1111111111101111*
L005344 1111111111111111* L005344 1111111111101111*
L005360 1111111111111111* L005360 1111111111111111*
L005376 1111111111111111* L005376 1111111111111111*
L005392 1111111111111111* L005392 1111111111111111*
@ -182,7 +182,7 @@ L006205 000001111001111110011111100*
L006232 000001111001111110011111100* L006232 000001111001111110011111100*
L006259 000001111001111110011111100* L006259 000001111001111110011111100*
L006286 000001111001111110011111100* L006286 000001111001111110011111100*
L006313 000001111001111110011111100* L006313 000001111001100110011111101*
L006340 000001111001100111011111101* L006340 000001111001100111011111101*
L006367 000101111101110110011111100* L006367 000101111101110110011111100*
L006394 000101111101110111111111100* L006394 000101111101110111111111100*
@ -193,25 +193,25 @@ Note Block 1 ZIA *
L006448 1111111111111111* L006448 1111111111111111*
L006464 1111111011010111* L006464 1111111011010111*
L006480 1111111011010111* L006480 1111111011010111*
L006496 1111111011010111* L006496 1110101011111111*
L006512 1111111011010111* L006512 1111111011010111*
L006528 1111111011010111* L006528 1111111011010111*
L006544 1111111111111111* L006544 1111111111111111*
L006560 1111111111111111* L006560 1111111111111111*
L006576 1111111111111111* L006576 1111111011010111*
L006592 1111111011010111* L006592 1111111011010111*
L006608 1111111011100111* L006608 1111111011100111*
L006624 1111111111111111* L006624 1111111111111111*
L006640 1111111111111111* L006640 1111111111111111*
L006656 1111111111111111* L006656 1111111111111111*
L006672 1111111011100111* L006672 1111111011100111*
L006688 1111111111111111* L006688 1111111011110011*
L006704 1111111011100111* L006704 1111111011100111*
L006720 1111111111111111* L006720 1111111111111111*
L006736 1111111111111111* L006736 1111111111111111*
L006752 1111111111111111* L006752 1111111111111111*
L006768 1111111111111111* L006768 1111111111111111*
L006784 1111111111111111* L006784 1111111011010111*
L006800 1111111111111111* L006800 1111111111111111*
L006816 1111111111111111* L006816 1111111111111111*
L006832 1111111111111111* L006832 1111111111111111*
@ -232,32 +232,32 @@ L007056 1111111111111111*
L007072 1111111111111111* L007072 1111111111111111*
Note Block 1 PLA AND array * Note Block 1 PLA AND array *
L007088 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L007088 11111111110111111011111111111101011111111111111111111111111111111111111111111111*
L007168 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L007168 11111101111111111111111111111111101111111111111111111111111111111111111111111111*
L007248 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L007248 11111111110111111011011111111101111111111111111111111111111111111111111111111111*
L007328 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L007328 11111101111111111111101111111111111111111111111111111111111111111111111111111111*
L007408 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L007408 11111111110111111001111111111101111111111111111111111111111111111111111111111111*
L007488 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L007488 11111101111111111110111111111111111111111111111111111111111111111111111111111111*
L007568 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L007568 11111111110111111011111111111101111111111101111111111111111111111111111111111111*
L007648 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L007648 11111101111111111111111111111111111111111110111111111111111111111111111111111111*
L007728 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L007728 11111111010111111011111111111101111111111111111111111111111111111111111111111111*
L007808 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L007808 11111101101111111111111111111111111111111111111111111111111111111111111111111111*
L007888 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L007888 11110111110111111011111111111101111111111111111111111111111111111111111111111111*
L007968 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L007968 11111001111111111111111111111111111111111111111111111111111111111111111111111111*
L008048 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L008048 11011111110111111011111111111101111111111111111111111111111111111111111111111111*
L008128 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L008128 11101101111111111111111111111111111111111111111111111111111111111111111111111111*
L008208 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L008208 11111111110111111011111111110101111111111111111111111111111111111111111111111111*
L008288 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L008288 11111101111111111111111111111011111111111111111111111111111111111111111111111111*
L008368 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L008368 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L008448 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L008448 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L008528 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L008528 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L008608 11111111110111111111111111110111111111111111111111111111111111111111111111111111* L008608 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L008688 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L008688 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L008768 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L008768 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L008848 11011111110111111111111111111111111111111111111111111111111111111111111111111111* L008848 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L008928 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L008928 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L009008 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L009008 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L009088 11110111110111111111111111111111111111111111111111111111111111111111111111111111* L009088 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
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 11111111010111111111111111111111111111111111111111111111111111111111111111111111* L009808 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L009888 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L009888 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L009968 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L009968 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010048 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L010048 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010128 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L010128 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010208 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L010208 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010288 11111101110111111111111111111111111111111111111111111111111111111111111111111111* L010288 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010368 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L010368 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010448 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L010448 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010528 11111111110111111101111111111111111111111111111111111111111111111111111111111111* L010528 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010608 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L010608 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010688 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L010688 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010768 11111111110111111111011111111111111111111111111111111111111111111111111111111111* L010768 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010848 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L010848 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010928 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L010928 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L011008 11111111110111111111111111111111011111111111111111111111111111111111111111111111* L011008 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L011088 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L011088 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L011168 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L011168 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L011248 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L011248 11111101111111111111111111111111111111111111111111111111111111111111111111111111*
L011328 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L011328 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L011408 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L011408 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L011488 11111111111111111111111111111111111111111111111111111111111111111111111111111111* L011488 11111101111111111111111111111111111111111111111111111111111111111111111111111111*
Note Block 1 PLA OR array * Note Block 1 PLA OR array *
L011568 1111111111111111* L011568 1111111111111011*
L011584 1111111111111111* L011584 1111111111111011*
L011600 1111111111111111* L011600 1111111111110111*
L011616 1111111111111111* L011616 1111111111110111*
L011632 1111111111111111* L011632 1111111111101111*
L011648 1111111111111111* L011648 1111111111101111*
L011664 1111111111111111* L011664 1111111111011111*
L011680 1111111111111111* L011680 1111111111011111*
L011696 1111111111111111* L011696 1111111101111111*
L011712 1111111111111111* L011712 1111111101111111*
L011728 1111111111111111* L011728 1111101111111111*
L011744 1111111111111111* L011744 1111101111111111*
L011760 1111111111111111* L011760 1111011111111111*
L011776 1111111111111111* L011776 1111011111111111*
L011792 1111111111111111* L011792 1110111111111111*
L011808 1111111111111111* L011808 1110111111111111*
L011824 1111111111111111* L011824 1111111111111111*
L011840 1111111111111111* L011840 1111111111111111*
L011856 1111111111111111* L011856 1111111111111111*
@ -352,19 +352,19 @@ 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 000101111001111101000000011* L012545 000101111001111100000000011*
L012572 000101111001111100100000011* L012572 000101111001111101100000011*
L012599 000101111001111100100000011* L012599 000101111001111101100000011*
L012626 000001111001111110011111100* L012626 000001111001111110011111100*
L012653 000001111000011100011111100* L012653 000001111000011100011111100*
L012680 000101111001111100100000011* L012680 000101111001111101100000011*
L012707 000001111001111100011111100* L012707 000001111001111100011111100*
L012734 000101111001111100100000011* L012734 000101111001111101100000011*
L012761 000101111001111100100000011* L012761 000101111001111101100000011*
L012788 000101111001111100100000011* L012788 000101111001111101100000011*
L012815 000101111001111100100000011* L012815 000101111001111101100000011*
L012842 000101111001111101100000011* L012842 000101111001111100100000011*
L012869 000101111001111101100000011* L012869 000101111001111100100000011*
Note Block 2 * Note Block 2 *
Note Block 2 ZIA * Note Block 2 ZIA *
@ -753,5 +753,5 @@ L025810 0*
Note I/O Bank 1 Vcco * Note I/O Bank 1 Vcco *
L025811 0* L025811 0*
C0459* CFB9B*
AA99 AA89

View File

@ -137,7 +137,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
dac_data_o <= (data_from_host_i xor X"7f") & "11"; if codec_clk_i = '1' then
dac_data_o <= (data_from_host_i xor q_invert_mask) & q_invert_mask(0) & q_invert_mask(0);
else
dac_data_o <= (data_from_host_i xor X"80") & "00";
end if;
else else
dac_data_o <= (dac_data_o'high => '0', others => '1'); dac_data_o <= (dac_data_o'high => '0', others => '1');
end if; end if;