URL
https://opencores.org/ocsvn/System09/System09/trunk
Subversion Repositories System09
[/] [System09/] [trunk/] [src/] [Flex9/] [flex_ram_vhd] - Rev 99
Go to most recent revision | Compare with Previous | Blame | View Log
---- Flex9 O/S Initialised 8KByte RAM---- v1.0 - 22 December 2006 - John Kent-- v1.1 - 1 February 2008 - David Burnette-- reworked to use autogenerated block ram utilitylibrary IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;library unisim;use unisim.vcomponents.all;entity flex_ram isPort (clk : in std_logic;rst : in std_logic;cs : in std_logic;rw : in std_logic;addr : in std_logic_vector (12 downto 0);data_out : out std_logic_vector (7 downto 0);data_in : in std_logic_vector (7 downto 0));end flex_ram;architecture rtl of flex_ram issignal we : std_logic;signal cs0 : std_logic;signal cs1 : std_logic;signal cs2 : std_logic;signal cs3 : std_logic;signal dp0 : std_logic;signal dp1 : std_logic;signal dp2 : std_logic;signal dp3 : std_logic;signal rdata0 : std_logic_vector(7 downto 0);signal rdata1 : std_logic_vector(7 downto 0);signal rdata2 : std_logic_vector(7 downto 0);signal rdata3 : std_logic_vector(7 downto 0);component FLEX9_C000Port (clk : in std_logic;rst : in std_logic;cs : in std_logic;rw : in std_logic;addr : in std_logic_vector (10 downto 0);data_out : out std_logic_vector (7 downto 0);data_in : in std_logic_vector (7 downto 0));end component;component FLEX9_C800Port (clk : in std_logic;rst : in std_logic;cs : in std_logic;rw : in std_logic;addr : in std_logic_vector (10 downto 0);data_out : out std_logic_vector (7 downto 0);data_in : in std_logic_vector (7 downto 0));end component;component FLEX9_D000Port (clk : in std_logic;rst : in std_logic;cs : in std_logic;rw : in std_logic;addr : in std_logic_vector (10 downto 0);data_out : out std_logic_vector (7 downto 0);data_in : in std_logic_vector (7 downto 0));end component;component FLEX9_D800Port (clk : in std_logic;rst : in std_logic;cs : in std_logic;rw : in std_logic;addr : in std_logic_vector (10 downto 0);data_out : out std_logic_vector (7 downto 0);data_in : in std_logic_vector (7 downto 0));end component;beginaddr_c000 : FLEX9_C000 port map (clk => clk,rst => rst,cs => cs0,rw => rw,addr => addr(10 downto 0),data_in => data_in,data_out => rdata0);addr_c800 : FLEX9_C800 port map (clk => clk,rst => rst,cs => cs1,rw => rw,addr => addr(10 downto 0),data_in => data_in,data_out => rdata1);addr_d000 : FLEX9_D000 port map (clk => clk,rst => rst,cs => cs2,rw => rw,addr => addr(10 downto 0),data_in => data_in,data_out => rdata2);addr_d800 : FLEX9_D800 port map (clk => clk,rst => rst,cs => cs3,rw => rw,addr => addr(10 downto 0),data_in => data_in,data_out => rdata3);my_flex : process ( rw, addr, cs, rdata0, rdata1, rdata2, rdata3 )beginwe <= not rw;case addr(12 downto 11) iswhen "00" =>cs0 <= cs;cs1 <= '0';cs2 <= '0';cs3 <= '0';data_out <= rdata0;when "01" =>cs0 <= '0';cs1 <= cs;cs2 <= '0';cs3 <= '0';data_out <= rdata1;when "10" =>cs0 <= '0';cs1 <= '0';cs2 <= cs;cs3 <= '0';data_out <= rdata2;when "11" =>cs0 <= '0';cs1 <= '0';cs2 <= '0';cs3 <= cs;data_out <= rdata3;when others =>null;end case;end process;end architecture rtl;
Go to most recent revision | Compare with Previous | Blame | View Log
