mirror of
https://github.com/Gehstock/Mist_FPGA.git
synced 2026-01-13 15:17:55 +00:00
56 lines
1.2 KiB
VHDL
56 lines
1.2 KiB
VHDL
LIBRARY ieee;
|
|
USE ieee.std_logic_1164.all;
|
|
|
|
LIBRARY altera_mf;
|
|
USE altera_mf.altera_mf_components.all;
|
|
|
|
ENTITY spram IS
|
|
generic (
|
|
addr_width_g : integer := 8;
|
|
data_width_g : integer := 8
|
|
);
|
|
PORT
|
|
(
|
|
address : IN STD_LOGIC_VECTOR (addr_width_g-1 DOWNTO 0);
|
|
clken : IN STD_LOGIC := '1';
|
|
clock : IN STD_LOGIC := '1';
|
|
data : IN STD_LOGIC_VECTOR (data_width_g-1 DOWNTO 0);
|
|
wren : IN STD_LOGIC ;
|
|
q : OUT STD_LOGIC_VECTOR (data_width_g-1 DOWNTO 0)
|
|
);
|
|
END spram;
|
|
|
|
|
|
ARCHITECTURE SYN OF spram IS
|
|
|
|
BEGIN
|
|
altsyncram_component : altsyncram
|
|
GENERIC MAP (
|
|
clock_enable_input_a => "NORMAL",
|
|
clock_enable_output_a => "BYPASS",
|
|
intended_device_family => "Cyclone III",
|
|
lpm_hint => "ENABLE_RUNTIME_MOD=NO",
|
|
lpm_type => "altsyncram",
|
|
numwords_a => 2**addr_width_g,
|
|
operation_mode => "SINGLE_PORT",
|
|
outdata_aclr_a => "NONE",
|
|
outdata_reg_a => "UNREGISTERED",
|
|
power_up_uninitialized => "FALSE",
|
|
read_during_write_mode_port_a => "NEW_DATA_NO_NBE_READ",
|
|
widthad_a => addr_width_g,
|
|
width_a => data_width_g,
|
|
width_byteena_a => 1
|
|
)
|
|
PORT MAP (
|
|
address_a => address,
|
|
clock0 => clock,
|
|
clocken0 => clken,
|
|
data_a => data,
|
|
wren_a => wren,
|
|
q_a => q
|
|
);
|
|
|
|
|
|
|
|
END SYN;
|