Update 6 bit CPLD to v7.5

pull/156/head
IanSB 2020-08-27 23:55:25 +01:00
rodzic 7611305cdb
commit e997a48f99
8 zmienionych plików z 86 dodań i 1676 usunięć

Wyświetl plik

@ -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)

Wyświetl plik

@ -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.

Wyświetl plik

@ -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>

Wyświetl plik

@ -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.