Update YUV CPLD to V9.1 with TTL support

pull/210/head
IanSB 2021-05-24 22:43:27 +01:00
rodzic fbafd87698
commit 7679b8621d
10 zmienionych plików z 3383 dodań i 3286 usunięć

Plik binarny nie jest wyświetlany.

Plik binarny nie jest wyświetlany.

Wyświetl plik

@ -28,7 +28,7 @@ NET "X2_I" LOC = "P38"; # input
NET "version" LOC = "P33"; # input gpio18 (gsr)
NET "clamp" LOC = "P19"; # input gpio24
NET "analog" LOC = "P19"; # input gpio24
NET "sp_clk" LOC = "P44"; # input gpio20 (gclk)
NET "sp_data" LOC = "P7"; # input gpio0 (input only)

Wyświetl plik

@ -27,7 +27,7 @@ entity RGBtoHDMI is
X1_I: in std_logic;
X2_I: in std_logic;
clamp: out std_logic;
analog: inout std_logic;
-- From Pi
clk: in std_logic;
@ -50,7 +50,8 @@ architecture Behavorial of RGBtoHDMI is
-- Version number: Design_Major_Minor
-- Design: 0 = Normal CPLD, 1 = Alternative CPLD, 2=Atom CPLD, 3=YUV6847 CPLD
constant VERSION_NUM : std_logic_vector(11 downto 0) := x"390";
constant VERSION_NUM_ANALOG : std_logic_vector(11 downto 0) := x"391";
constant VERSION_NUM_TTL : std_logic_vector(11 downto 0) := x"B91";
-- NOTE: the difference between the leading and trailing offsets is
-- 256 clks = 32 pixel clocks.
@ -83,7 +84,6 @@ architecture Behavorial of RGBtoHDMI is
signal clamp_size : unsigned (1 downto 0);
signal mux : std_logic;
-- State to determine whether to invert A
signal inv_V : std_logic;
@ -135,8 +135,9 @@ architecture Behavorial of RGBtoHDMI is
signal sample_UV : std_logic;
signal sample_Q : std_logic;
signal HS_counter : unsigned(1 downto 0);
signal HS_counter : unsigned(1 downto 0);
signal clamp_pulse : std_logic;
signal clamp_enable : std_logic;
begin
-- Offset is inverted as we count upwards to 0
@ -349,7 +350,11 @@ architecture Behavorial of RGBtoHDMI is
-- In both cases, we only need to "buffer" CN/LN
if version = '0' then
quad <= VERSION_NUM;
if analog = '1' then
quad <= VERSION_NUM_ANALOG;
else
quad <= VERSION_NUM_TTL;
end if;
psync <= FS_I;
elsif sampling = '1' then
if sample_Q = '1' then
@ -405,14 +410,14 @@ architecture Behavorial of RGBtoHDMI is
-- Generate the clamp output (sp_data overloaded as clamp on/off)
if (four_level = '1' ) then
clamp <= not(sample_Y) and sp_data;
clamp_pulse <= not(sample_Y) and sp_data;
else
if clamp_size = 0 then
clamp <= not(HS1 or HS2) and sp_data;
clamp_pulse <= not(HS1 or HS2) and sp_data;
elsif misc_counter = 0 then
clamp <= '0';
clamp_pulse <= '0';
elsif HS4 = '1' then
clamp <= sp_data;
clamp_pulse <= sp_data;
end if;
end if;
@ -423,4 +428,7 @@ architecture Behavorial of RGBtoHDMI is
-- output the registered version to save a macro-cell
csync <= HS5;
clamp_enable <= '1' when mux = '1' else version;
analog <= 'Z' when clamp_enable = '0' else clamp_pulse;
end Behavorial;

Plik binarny nie jest wyświetlany.

Wyświetl plik

@ -9,13 +9,13 @@
<ClosedNodesVersion>2</ClosedNodesVersion>
</ClosedNodes>
<SelectedItems>
<SelectedItem>RGBtoHDMI.ucf (C:/Github/RGBtoHDMI/vhdl_YUV_8bit/RGBtoHDMI.ucf)</SelectedItem>
<SelectedItem>RGBtoHDMI - Behavorial (C:/Github/RGBtoHDMI/vhdl_YUV_8bit/RGBtoHDMI.vhdl)</SelectedItem>
</SelectedItems>
<ScrollbarPosition orientation="vertical" >0</ScrollbarPosition>
<ScrollbarPosition orientation="horizontal" >0</ScrollbarPosition>
<ViewHeaderState orientation="horizontal" >000000ff00000000000000010000000100000000000000000000000000000000020200000001000000010000006400000123000000020000000000000000000000000200000064ffffffff000000810000000300000002000001230000000100000003000000000000000100000003</ViewHeaderState>
<UserChangedColumnWidths orientation="horizontal" >false</UserChangedColumnWidths>
<CurrentItem>RGBtoHDMI.ucf (C:/Github/RGBtoHDMI/vhdl_YUV_8bit/RGBtoHDMI.ucf)</CurrentItem>
<CurrentItem>RGBtoHDMI - Behavorial (C:/Github/RGBtoHDMI/vhdl_YUV_8bit/RGBtoHDMI.vhdl)</CurrentItem>
</ItemView>
<ItemView engineview="SynthesisOnly" sourcetype="DESUT_VHDL_ARCHITECTURE" guiview="Process" >
<ClosedNodes>
@ -62,13 +62,13 @@
<ClosedNodesVersion>1</ClosedNodesVersion>
</ClosedNodes>
<SelectedItems>
<SelectedItem></SelectedItem>
<SelectedItem/>
</SelectedItems>
<ScrollbarPosition orientation="vertical" >0</ScrollbarPosition>
<ScrollbarPosition orientation="horizontal" >0</ScrollbarPosition>
<ViewHeaderState orientation="horizontal" >000000ff000000000000000100000001000000000000000000000000000000000000000000000000f6000000010000000100000000000000000000000064ffffffff000000810000000000000001000000f60000000100000000</ViewHeaderState>
<UserChangedColumnWidths orientation="horizontal" >false</UserChangedColumnWidths>
<CurrentItem></CurrentItem>
<CurrentItem/>
</ItemView>
<SourceProcessView>000000ff00000000000000020000011b0000011b01000000040100000002</SourceProcessView>
<CurrentView>Implementation</CurrentView>

Wyświetl plik

@ -1,9 +1,9 @@
<?xml version='1.0' encoding='UTF-8'?>
<report-views version="2.0" >
<header>
<DateModified>2020-08-11T02:57:19</DateModified>
<DateModified>2021-05-24T20:21:41</DateModified>
<ModuleName>RGBtoHDMI</ModuleName>
<SummaryTimeStamp>2020-08-10T05:51:05</SummaryTimeStamp>
<SummaryTimeStamp>2021-05-24T19:31:41</SummaryTimeStamp>
<SavedFilePath>C:/Github/RGBtoHDMI/vhdl_YUV_8bit/iseconfig/RGBtoHDMI.xreport</SavedFilePath>
<ImplementationReportsDirectory>C:/Github/RGBtoHDMI/vhdl_YUV_8bit/working\</ImplementationReportsDirectory>
<DateInitialized>2019-12-14T17:34:57</DateInitialized>

Wyświetl plik

@ -72,5 +72,5 @@
</TABLE>
<br><center><b>Date Generated:</b> 08/11/2020 - 02:57:19</center>
<br><center><b>Date Generated:</b> 05/24/2021 - 20:21:41</center>
</BODY></HTML>