summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames McKenzie <root@ka-ata-killa.panaceas.james.local>2025-04-28 11:38:06 +0100
committerJames McKenzie <root@ka-ata-killa.panaceas.james.local>2025-04-28 11:38:06 +0100
commit788356527b3a27f3f690415b01a1c7f256ef97d0 (patch)
tree2aee353a69354d442091189dbe959efab51e8377
parente4a1b50e94705427b4cecd9e0b9338c47cd479b4 (diff)
downloadhp_instrument_lcds-788356527b3a27f3f690415b01a1c7f256ef97d0.tar.gz
hp_instrument_lcds-788356527b3a27f3f690415b01a1c7f256ef97d0.tar.bz2
hp_instrument_lcds-788356527b3a27f3f690415b01a1c7f256ef97d0.zip
move vram to module
-rw-r--r--spartan6/hp_lcd_driver/Makefile.spartan64
-rw-r--r--spartan6/hp_lcd_driver/serdes_n_to_1_spartan6.vhdl (renamed from spartan6/hp_lcd_driver/serdes_n_to_1.vhdl)0
-rw-r--r--spartan6/hp_lcd_driver/tmds_phy_spartan6.vhdl (renamed from spartan6/hp_lcd_driver/tmds_phy.vhdl)0
-rw-r--r--spartan6/hp_lcd_driver/vram_spartan6.vhdl36
-rw-r--r--spartan6/hp_lcd_driver/vram_spartan6_impl.xco (renamed from spartan6/hp_lcd_driver/vram.xco)0
5 files changed, 38 insertions, 2 deletions
diff --git a/spartan6/hp_lcd_driver/Makefile.spartan6 b/spartan6/hp_lcd_driver/Makefile.spartan6
index 83a389e..0d0f90e 100644
--- a/spartan6/hp_lcd_driver/Makefile.spartan6
+++ b/spartan6/hp_lcd_driver/Makefile.spartan6
@@ -5,10 +5,10 @@ export XILINXD_LICENSE_FILE
PART=xc6slx9-2-tqg144
TOP=hp_lcd_driver
BUILD=build_spartan6
-VSRCS=synchronizer.vhdl debounce.vhdl edge_det.vhdl input_formatter.vhdl input_stage.vhdl output_formatter.vhdl output_analog.vhdl serdes_n_to_1.vhdl tmds_encoder.vhdl tmds_phy.vhdl tmds_encode.vhdl tmds_output_spartan6.vhdl output_stage.vhdl clkgen_spartan6.vhdl hp_lcd_driver.vhdl
+VSRCS=synchronizer.vhdl debounce.vhdl edge_det.vhdl input_formatter.vhdl input_stage.vhdl output_formatter.vhdl output_analog.vhdl serdes_n_to_1_spartan6.vhdl tmds_encoder.vhdl tmds_phy_spartan6.vhdl tmds_encode.vhdl tmds_output_spartan6.vhdl vram_spartan6.vhdl output_stage.vhdl clkgen_spartan6.vhdl hp_lcd_driver.vhdl
UCF=hp_lcd_driver.ucf
UT=hp_lcd_driver.ut
-IPSRCS=vram.xco
+IPSRCS=vram_spartan6_impl.xco
DESIGN_NAME=${TOP}
DS_HOME=/software/apps/xilinx/ISE/14.7/ISE_DS
ISE_HOME=${DS_HOME}/ISE
diff --git a/spartan6/hp_lcd_driver/serdes_n_to_1.vhdl b/spartan6/hp_lcd_driver/serdes_n_to_1_spartan6.vhdl
index dec3c9a..dec3c9a 100644
--- a/spartan6/hp_lcd_driver/serdes_n_to_1.vhdl
+++ b/spartan6/hp_lcd_driver/serdes_n_to_1_spartan6.vhdl
diff --git a/spartan6/hp_lcd_driver/tmds_phy.vhdl b/spartan6/hp_lcd_driver/tmds_phy_spartan6.vhdl
index 9b31e58..9b31e58 100644
--- a/spartan6/hp_lcd_driver/tmds_phy.vhdl
+++ b/spartan6/hp_lcd_driver/tmds_phy_spartan6.vhdl
diff --git a/spartan6/hp_lcd_driver/vram_spartan6.vhdl b/spartan6/hp_lcd_driver/vram_spartan6.vhdl
new file mode 100644
index 0000000..05a8eae
--- /dev/null
+++ b/spartan6/hp_lcd_driver/vram_spartan6.vhdl
@@ -0,0 +1,36 @@
+LIBRARY ieee;
+USE ieee.std_logic_1164.ALL;
+
+ENTITY vram IS
+ generic (
+ addr_width:natural :=17;
+ video_width:natural :=2
+ );
+ PORT (
+ wr_clk: in std_logic;
+ wr_en : in std_logic;
+ wr_addr : in STD_LOGIC_VECTOR(addr_width-1 downto 0);
+ wr_data : in std_logic_vector(video_width-1 downto 0);
+ rd_clk : in std_logic;
+ rd_addr : in STD_LOGIC_VECTOR(addr_width-1 downto 0);
+ rd_data : out std_logic_vector(video_width-1 downto 0)
+ );
+END vram;
+
+ARCHITECTURE beh OF vram IS
+signal wr_en_v : std_logic_vector(0 downto 0);
+BEGIN
+
+wr_en_v(0)<=wr_en;
+
+vram_impl0: entity work.vram_spartan6_impl
+ port map (
+ clka => wr_clk,
+ wea => wr_en_v,
+ addra => wr_addr,
+ dina => wr_data,
+ clkb => rd_clk,
+ doutb => rd_data,
+ addrb => rd_addr
+ );
+END beh;
diff --git a/spartan6/hp_lcd_driver/vram.xco b/spartan6/hp_lcd_driver/vram_spartan6_impl.xco
index f4624c4..f4624c4 100644
--- a/spartan6/hp_lcd_driver/vram.xco
+++ b/spartan6/hp_lcd_driver/vram_spartan6_impl.xco