kopia lustrzana https://github.com/hoglet67/RGBtoHDMI
Update 6 bit CPLD to v7.5
rodzic
7611305cdb
commit
e997a48f99
|
@ -29,7 +29,7 @@ NET "SW3" LOC = "P40"; # input gpio19 (connects to sw3)
|
|||
NET "vsync_in" LOC = "P41"; # input (connects to vsync)
|
||||
NET "analog" LOC = "P19"; # input gpio22
|
||||
|
||||
NET "mode7" LOC = "P42"; # input gpio25 (connects to LED2, driven from Pi)
|
||||
NET "mode7_in" LOC = "P42"; # input gpio25 (connects to LED2, driven from Pi)
|
||||
NET "mux" LOC = "P18"; # input gpio24
|
||||
NET "sp_clk" LOC = "P44"; # input gpio20 (gclk)
|
||||
NET "sp_data" LOC = "P7"; # input gpio0 (input only)
|
||||
|
|
|
@ -31,7 +31,7 @@ entity RGBtoHDMI is
|
|||
|
||||
-- From Pi
|
||||
clk: in std_logic;
|
||||
mode7: in std_logic;
|
||||
mode7_in: in std_logic;
|
||||
mux: in std_logic;
|
||||
sp_clk: in std_logic;
|
||||
sp_clken: in std_logic;
|
||||
|
@ -64,8 +64,8 @@ architecture Behavorial of RGBtoHDMI is
|
|||
-- 4 = RGB CPLD (TTL)
|
||||
-- C = RGB CPLD (Analog)
|
||||
constant VERSION_NUM_BBC : std_logic_vector(11 downto 0) := x"066";
|
||||
constant VERSION_NUM_RGB_TTL : std_logic_vector(11 downto 0) := x"474";
|
||||
constant VERSION_NUM_RGB_ANALOG : std_logic_vector(11 downto 0) := x"C74";
|
||||
constant VERSION_NUM_RGB_TTL : std_logic_vector(11 downto 0) := x"475";
|
||||
constant VERSION_NUM_RGB_ANALOG : std_logic_vector(11 downto 0) := x"C75";
|
||||
|
||||
-- Sampling points
|
||||
constant INIT_SAMPLING_POINTS : std_logic_vector(23 downto 0) := "000000011011011011011011";
|
||||
|
@ -133,7 +133,7 @@ architecture Behavorial of RGBtoHDMI is
|
|||
|
||||
-- RGB Input Mux
|
||||
signal old_mux : std_logic;
|
||||
signal new_mux : std_logic;
|
||||
signal mode7 : std_logic;
|
||||
signal mux_sync : std_logic;
|
||||
|
||||
signal R : std_logic;
|
||||
|
@ -145,14 +145,13 @@ architecture Behavorial of RGBtoHDMI is
|
|||
|
||||
begin
|
||||
old_mux <= mux when not(SupportAnalog) else '0';
|
||||
new_mux <= (mux and version) when SupportAnalog else '0';
|
||||
|
||||
mode7 <= mode7_in when not(SupportAnalog) else rate(1) or not(rate(0));
|
||||
|
||||
R <= R1 when old_mux = '1' else R0;
|
||||
G <= G1 when old_mux = '1' else G0;
|
||||
B <= B1 when old_mux = '1' else B0;
|
||||
|
||||
mux_sync <= vsync_in when new_mux = '1' else csync_in;
|
||||
|
||||
offset_A <= sp_reg(2 downto 0);
|
||||
offset_B <= sp_reg(5 downto 3);
|
||||
offset_C <= sp_reg(8 downto 6);
|
||||
|
@ -180,7 +179,7 @@ begin
|
|||
|
||||
-- synchronize CSYNC to the sampling clock
|
||||
-- if link fitted sync is inverted. If +ve vsync connected to link & +ve hsync to S then generate -ve composite sync
|
||||
csync1 <= mux_sync xor invert;
|
||||
csync1 <= csync_in xor invert;
|
||||
|
||||
-- De-glitch CSYNC
|
||||
-- csync1 is the possibly glitchy input
|
||||
|
|
Plik binarny nie jest wyświetlany.
Plik diff jest za duży
Load Diff
|
@ -0,0 +1,76 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<symbol version="7" name="RGBtoHDMI">
|
||||
<symboltype>BLOCK</symboltype>
|
||||
<timestamp>2020-8-17T22:11:55</timestamp>
|
||||
<pin polarity="Input" x="0" y="-1120" name="R0" />
|
||||
<pin polarity="Input" x="0" y="-1056" name="G0" />
|
||||
<pin polarity="Input" x="0" y="-992" name="B0" />
|
||||
<pin polarity="Input" x="0" y="-928" name="R1" />
|
||||
<pin polarity="Input" x="0" y="-864" name="G1" />
|
||||
<pin polarity="Input" x="0" y="-800" name="B1" />
|
||||
<pin polarity="Input" x="0" y="-736" name="csync_in" />
|
||||
<pin polarity="Input" x="0" y="-672" name="vsync_in" />
|
||||
<pin polarity="Input" x="0" y="-608" name="clk" />
|
||||
<pin polarity="Input" x="0" y="-544" name="mux" />
|
||||
<pin polarity="Input" x="0" y="-480" name="sp_clk" />
|
||||
<pin polarity="Input" x="0" y="-416" name="sp_clken" />
|
||||
<pin polarity="Input" x="0" y="-352" name="sp_data" />
|
||||
<pin polarity="Input" x="0" y="-288" name="version" />
|
||||
<pin polarity="Input" x="0" y="-224" name="SW1" />
|
||||
<pin polarity="Input" x="0" y="-160" name="SW2" />
|
||||
<pin polarity="Input" x="0" y="-96" name="SW3" />
|
||||
<pin polarity="Input" x="0" y="-32" name="LED1" />
|
||||
<pin polarity="Output" x="384" y="-1120" name="psync" />
|
||||
<pin polarity="Output" x="384" y="-768" name="csync" />
|
||||
<pin polarity="Output" x="384" y="-416" name="quad(11:0)" />
|
||||
<pin polarity="BiDirectional" x="384" y="-64" name="analog" />
|
||||
<graph>
|
||||
<rect width="256" x="64" y="-1152" height="1152" />
|
||||
<attrtext style="alignment:BCENTER;fontsize:56;fontname:Arial" attrname="SymbolName" x="192" y="-1160" type="symbol" />
|
||||
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-1120" type="pin R0" />
|
||||
<line x2="0" y1="-1120" y2="-1120" x1="64" />
|
||||
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-1056" type="pin G0" />
|
||||
<line x2="0" y1="-1056" y2="-1056" x1="64" />
|
||||
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-992" type="pin B0" />
|
||||
<line x2="0" y1="-992" y2="-992" x1="64" />
|
||||
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-928" type="pin R1" />
|
||||
<line x2="0" y1="-928" y2="-928" x1="64" />
|
||||
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-864" type="pin G1" />
|
||||
<line x2="0" y1="-864" y2="-864" x1="64" />
|
||||
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-800" type="pin B1" />
|
||||
<line x2="0" y1="-800" y2="-800" x1="64" />
|
||||
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-736" type="pin csync_in" />
|
||||
<line x2="0" y1="-736" y2="-736" x1="64" />
|
||||
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-672" type="pin vsync_in" />
|
||||
<line x2="0" y1="-672" y2="-672" x1="64" />
|
||||
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-608" type="pin clk" />
|
||||
<line x2="0" y1="-608" y2="-608" x1="64" />
|
||||
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-544" type="pin mux" />
|
||||
<line x2="0" y1="-544" y2="-544" x1="64" />
|
||||
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-480" type="pin sp_clk" />
|
||||
<line x2="0" y1="-480" y2="-480" x1="64" />
|
||||
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-416" type="pin sp_clken" />
|
||||
<line x2="0" y1="-416" y2="-416" x1="64" />
|
||||
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-352" type="pin sp_data" />
|
||||
<line x2="0" y1="-352" y2="-352" x1="64" />
|
||||
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-288" type="pin version" />
|
||||
<line x2="0" y1="-288" y2="-288" x1="64" />
|
||||
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-224" type="pin SW1" />
|
||||
<line x2="0" y1="-224" y2="-224" x1="64" />
|
||||
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-160" type="pin SW2" />
|
||||
<line x2="0" y1="-160" y2="-160" x1="64" />
|
||||
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-96" type="pin SW3" />
|
||||
<line x2="0" y1="-96" y2="-96" x1="64" />
|
||||
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-32" type="pin LED1" />
|
||||
<line x2="0" y1="-32" y2="-32" x1="64" />
|
||||
<attrtext style="alignment:RIGHT;fontsize:24;fontname:Arial" attrname="PinName" x="312" y="-1120" type="pin psync" />
|
||||
<line x2="384" y1="-1120" y2="-1120" x1="320" />
|
||||
<attrtext style="alignment:RIGHT;fontsize:24;fontname:Arial" attrname="PinName" x="312" y="-768" type="pin csync" />
|
||||
<line x2="384" y1="-768" y2="-768" x1="320" />
|
||||
<attrtext style="alignment:RIGHT;fontsize:24;fontname:Arial" attrname="PinName" x="312" y="-416" type="pin quad(11:0)" />
|
||||
<rect width="64" x="320" y="-428" height="24" />
|
||||
<line x2="384" y1="-416" y2="-416" x1="320" />
|
||||
<attrtext style="alignment:RIGHT;fontsize:24;fontname:Arial" attrname="PinName" x="312" y="-64" type="pin analog" />
|
||||
<line x2="384" y1="-64" y2="-64" x1="320" />
|
||||
</graph>
|
||||
</symbol>
|
|
@ -73,6 +73,7 @@
|
|||
<property xil_pn:name="Global Set/Reset Port Name" xil_pn:value="GSR_PORT" xil_pn:valueState="default"/>
|
||||
<property xil_pn:name="Global Tristate Port Name" xil_pn:value="GTS_PORT" xil_pn:valueState="default"/>
|
||||
<property xil_pn:name="HDL Equations Style" xil_pn:value="Source" xil_pn:valueState="default"/>
|
||||
<property xil_pn:name="HDL Instantiation Template Target Language" xil_pn:value="VHDL" xil_pn:valueState="default"/>
|
||||
<property xil_pn:name="Hierarchy Separator" xil_pn:value="/" xil_pn:valueState="default"/>
|
||||
<property xil_pn:name="I/O Pin Termination" xil_pn:value="Keeper" xil_pn:valueState="default"/>
|
||||
<property xil_pn:name="ISim UUT Instance Name" xil_pn:value="UUT" xil_pn:valueState="default"/>
|
||||
|
@ -127,6 +128,7 @@
|
|||
<property xil_pn:name="Output File Name" xil_pn:value="RGBtoHDMI" xil_pn:valueState="default"/>
|
||||
<property xil_pn:name="Output Slew Rate" xil_pn:value="Fast" xil_pn:valueState="default"/>
|
||||
<property xil_pn:name="Overwrite Compiled Libraries" xil_pn:value="false" xil_pn:valueState="default"/>
|
||||
<property xil_pn:name="Overwrite Existing Symbol" xil_pn:value="false" xil_pn:valueState="default"/>
|
||||
<property xil_pn:name="Package" xil_pn:value="VQ44" xil_pn:valueState="non-default"/>
|
||||
<property xil_pn:name="Port to be used" xil_pn:value="Auto - default" xil_pn:valueState="default"/>
|
||||
<property xil_pn:name="Post Map Simulation Model Name" xil_pn:value="RGBtoHDMI_map.vhd" xil_pn:valueState="default"/>
|
||||
|
|
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Ładowanie…
Reference in New Issue