Skip to content

Commit

Permalink
Merge pull request greatscottgadgets#125 from jboone/cpld_tx_q_invert
Browse files Browse the repository at this point in the history
CPLD: Add TX Q invert mechanism.
  • Loading branch information
mossmann committed Aug 20, 2014
2 parents 741941f + ad403fb commit aec97e7
Show file tree
Hide file tree
Showing 3 changed files with 74 additions and 70 deletions.
Binary file modified firmware/cpld/sgpio_if/default.xsvf
Binary file not shown.
138 changes: 69 additions & 69 deletions firmware/cpld/sgpio_if/top.jed
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Programmer Jedec Bit Map
Date Extracted: Mon Aug 4 21:44:14 2014
Date Extracted: Sat Aug 16 17:13:17 2014

QF25812*
QP100*
Expand All @@ -17,7 +17,7 @@ L000016 1110101011111111*
L000032 1111111011110011*
L000048 1111111111111111*
L000064 1111111111111111*
L000080 1111111011100111*
L000080 1111111011010111*
L000096 1110101011111111*
L000112 1111111111111111*
L000128 1110101011111111*
Expand All @@ -33,7 +33,7 @@ L000272 1111111111111111*
L000288 1111111011010111*
L000304 1111111111111111*
L000320 1111111111111111*
L000336 1111111111111111*
L000336 1111111011100111*
L000352 1111111111111111*
L000368 1111111111111111*
L000384 1111111111111111*
Expand Down Expand Up @@ -63,12 +63,12 @@ L001040 111110111111111111111111111111111111111111111111111111111111111111111111
L001120 01111111111111110111110111111111111111111111111111111111111111111111111111111111*
L001200 10111111111111111011110111111111111111111111111111111111111111111111111111111111*
L001280 01011111111101110111111111111111111111111111111111111111111111111111111111111111*
L001360 11110111111001111111110111111111111111111111111111111111111111111111111111111111*
L001440 11010111111001110111111111111111111111111111111111111111111111111111111111111111*
L001520 11110111110110111111110111111111111111111111111111111111111111111111111111111111*
L001360 11110111111101111111110111111111111111111110111111111111111111111111111111111111*
L001440 11010111111101110111111111111111111111111110111111111111111111111111111111111111*
L001520 11110111111110111111110111111111111111111101111111111111111111111111111111111111*
L001600 11010111111110110111111011111111111111111111111111111111111111111111111111111111*
L001680 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L001760 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L001680 11111011110111111111111111111111111111111111111111111111111111111111111111111111*
L001760 11111111110111111111111111111111111101111111111111111111111111111111111111111111*
L001840 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L001920 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L002000 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
Expand Down Expand Up @@ -125,8 +125,8 @@ L005264 1111111111111011*
L005280 1111111111111011*
L005296 1111111111111011*
L005312 1111111111111011*
L005328 1111111111111111*
L005344 1111111111111111*
L005328 1111111111101111*
L005344 1111111111101111*
L005360 1111111111111111*
L005376 1111111111111111*
L005392 1111111111111111*
Expand Down Expand Up @@ -182,7 +182,7 @@ L006205 000001111001111110011111100*
L006232 000001111001111110011111100*
L006259 000001111001111110011111100*
L006286 000001111001111110011111100*
L006313 000001111001111110011111100*
L006313 000001111001100110011111101*
L006340 000001111001100111011111101*
L006367 000101111101110110011111100*
L006394 000101111101110111111111100*
Expand All @@ -193,25 +193,25 @@ Note Block 1 ZIA *
L006448 1111111111111111*
L006464 1111111011010111*
L006480 1111111011010111*
L006496 1111111011010111*
L006496 1110101011111111*
L006512 1111111011010111*
L006528 1111111011010111*
L006544 1111111111111111*
L006560 1111111111111111*
L006576 1111111111111111*
L006576 1111111011010111*
L006592 1111111011010111*
L006608 1111111011100111*
L006624 1111111111111111*
L006640 1111111111111111*
L006656 1111111111111111*
L006672 1111111011100111*
L006688 1111111111111111*
L006688 1111111011110011*
L006704 1111111011100111*
L006720 1111111111111111*
L006736 1111111111111111*
L006752 1111111111111111*
L006768 1111111111111111*
L006784 1111111111111111*
L006784 1111111011010111*
L006800 1111111111111111*
L006816 1111111111111111*
L006832 1111111111111111*
Expand All @@ -232,32 +232,32 @@ L007056 1111111111111111*
L007072 1111111111111111*

Note Block 1 PLA AND array *
L007088 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L007168 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L007248 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
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*
L007088 11111111110111111011111111111101011111111111111111111111111111111111111111111111*
L007168 11111101111111111111111111111111101111111111111111111111111111111111111111111111*
L007248 11111111110111111011011111111101111111111111111111111111111111111111111111111111*
L007328 11111101111111111111101111111111111111111111111111111111111111111111111111111111*
L007408 11111111110111111001111111111101111111111111111111111111111111111111111111111111*
L007488 11111101111111111110111111111111111111111111111111111111111111111111111111111111*
L007568 11111111110111111011111111111101111111111101111111111111111111111111111111111111*
L007648 11111101111111111111111111111111111111111110111111111111111111111111111111111111*
L007728 11111111010111111011111111111101111111111111111111111111111111111111111111111111*
L007808 11111101101111111111111111111111111111111111111111111111111111111111111111111111*
L007888 11110111110111111011111111111101111111111111111111111111111111111111111111111111*
L007968 11111001111111111111111111111111111111111111111111111111111111111111111111111111*
L008048 11011111110111111011111111111101111111111111111111111111111111111111111111111111*
L008128 11101101111111111111111111111111111111111111111111111111111111111111111111111111*
L008208 11111111110111111011111111110101111111111111111111111111111111111111111111111111*
L008288 11111101111111111111111111111011111111111111111111111111111111111111111111111111*
L008368 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L008448 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L008528 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L008608 11111111110111111111111111110111111111111111111111111111111111111111111111111111*
L008608 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L008688 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L008768 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L008848 11011111110111111111111111111111111111111111111111111111111111111111111111111111*
L008848 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L008928 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L009008 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L009088 11110111110111111111111111111111111111111111111111111111111111111111111111111111*
L009088 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L009168 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L009248 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L009328 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
Expand All @@ -266,46 +266,46 @@ L009488 111111111111111111111111111111111111111111111111111111111111111111111111
L009568 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L009648 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L009728 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L009808 11111111010111111111111111111111111111111111111111111111111111111111111111111111*
L009808 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L009888 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L009968 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010048 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010128 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010208 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010288 11111101110111111111111111111111111111111111111111111111111111111111111111111111*
L010288 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010368 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010448 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010528 11111111110111111101111111111111111111111111111111111111111111111111111111111111*
L010528 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010608 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010688 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010768 11111111110111111111011111111111111111111111111111111111111111111111111111111111*
L010768 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010848 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L010928 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L011008 11111111110111111111111111111111011111111111111111111111111111111111111111111111*
L011008 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L011088 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L011168 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L011248 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L011248 11111101111111111111111111111111111111111111111111111111111111111111111111111111*
L011328 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L011408 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L011488 11111111111111111111111111111111111111111111111111111111111111111111111111111111*
L011488 11111101111111111111111111111111111111111111111111111111111111111111111111111111*

Note Block 1 PLA OR array *
L011568 1111111111111111*
L011584 1111111111111111*
L011600 1111111111111111*
L011616 1111111111111111*
L011632 1111111111111111*
L011648 1111111111111111*
L011664 1111111111111111*
L011680 1111111111111111*
L011696 1111111111111111*
L011712 1111111111111111*
L011728 1111111111111111*
L011744 1111111111111111*
L011760 1111111111111111*
L011776 1111111111111111*
L011792 1111111111111111*
L011808 1111111111111111*
L011568 1111111111111011*
L011584 1111111111111011*
L011600 1111111111110111*
L011616 1111111111110111*
L011632 1111111111101111*
L011648 1111111111101111*
L011664 1111111111011111*
L011680 1111111111011111*
L011696 1111111101111111*
L011712 1111111101111111*
L011728 1111101111111111*
L011744 1111101111111111*
L011760 1111011111111111*
L011776 1111011111111111*
L011792 1110111111111111*
L011808 1110111111111111*
L011824 1111111111111111*
L011840 1111111111111111*
L011856 1111111111111111*
Expand Down Expand Up @@ -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*
L012491 000001111001111110011111100*
L012518 000001111001111110011111100*
L012545 000101111001111101000000011*
L012572 000101111001111100100000011*
L012599 000101111001111100100000011*
L012545 000101111001111100000000011*
L012572 000101111001111101100000011*
L012599 000101111001111101100000011*
L012626 000001111001111110011111100*
L012653 000001111000011100011111100*
L012680 000101111001111100100000011*
L012680 000101111001111101100000011*
L012707 000001111001111100011111100*
L012734 000101111001111100100000011*
L012761 000101111001111100100000011*
L012788 000101111001111100100000011*
L012815 000101111001111100100000011*
L012842 000101111001111101100000011*
L012869 000101111001111101100000011*
L012734 000101111001111101100000011*
L012761 000101111001111101100000011*
L012788 000101111001111101100000011*
L012815 000101111001111101100000011*
L012842 000101111001111100100000011*
L012869 000101111001111100100000011*

Note Block 2 *
Note Block 2 ZIA *
Expand Down Expand Up @@ -753,5 +753,5 @@ L025810 0*
Note I/O Bank 1 Vcco *
L025811 0*

C0459*
AA99
CFB9B*
AA89
6 changes: 5 additions & 1 deletion firmware/cpld/sgpio_if/top.vhd
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,11 @@ begin
begin
if rising_edge(host_clk_i) 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
dac_data_o <= (dac_data_o'high => '0', others => '1');
end if;
Expand Down

0 comments on commit aec97e7

Please sign in to comment.