CPLD: Align quad timing back to cycle 0 as before

Change-Id: I0dd0504670f8e79f8139bc5f38bd7f8af52b8950
pull/56/head
David Banks 2019-03-12 22:32:08 +00:00
rodzic a58cd27837
commit 55e5d8f683
2 zmienionych plików z 25 dodań i 11 usunięć

Wyświetl plik

@ -281,15 +281,18 @@ begin
end if;
-- Pipeline when to update the quad
if counter(counter'left) = '0' and (
(rate = "00" and counter(4 downto 0) = 0) or -- normal
(rate = "01" and counter(3 downto 0) = 0) or -- double
(rate = "10" and counter(5 downto 0) = 0) or -- subsample even
(rate = "11" and counter(5 downto 0) = 32)) then -- subsample odd
-- toggle is asserted in cycle 1
toggle <= '1';
else
toggle <= '0';
toggle <= '0';
if counter(counter'left) = '0' then
-- toggle changes at the start of cycle 0
if (mode7 = '0' and counter(2 downto 0) = 5) or (mode7 = '1' and counter(2 downto 0) = 7) then
if rate = "00" and counter(4 downto 3) = "11" then
toggle <= '1'; -- normal
elsif rate = "01" and counter(3) = '1' then
toggle <= '1'; -- double
elsif counter(5) /= rate(0) and counter(4 downto 3) = "11" then
toggle <= '1'; -- subsample
end if;
end if;
end if;
-- Output quad register
@ -298,7 +301,7 @@ begin
elsif counter(counter'left) = '1' then
quad <= (others => '0');
elsif toggle = '1' then
-- quad changes at the start of cycle 2
-- quad changes at the start of cycle 1
quad(11) <= shift_B(3);
quad(10) <= shift_G(3);
quad(9) <= shift_R(3);
@ -316,7 +319,7 @@ begin
-- Output a skewed version of psync
if version = '0' or counter(counter'left) = '1' then
psync <= '0';
elsif counter(3 downto 0) = 3 then -- comparing with N gives N-1 cycles of skew
elsif counter(3 downto 0) = 2 then -- compare with N gives a skew of N
if rate = "00" then
psync <= counter(5); -- normal
elsif rate = "01" then

Wyświetl plik

@ -488,3 +488,14 @@ FB3 18/18* 28/54 64/90 9/ 9*
FB4 18/18* 33/54 81/90 5/ 7
----- ----- ----- -----
71/72 118/216 232/360 29/34
44. Align quad timing back to cycle 0 as before
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 38/54 54/90 7/ 9
FB2 18/18* 23/54 36/90 8/ 9
FB3 18/18* 28/54 64/90 9/ 9*
FB4 17/18 33/54 82/90 5/ 7
----- ----- ----- -----
71/72 122/216 236/360 29/34