ramz.vhd.svn-base
来自「Pure hardware JPEG Encoder design. Packa」· SVN-BASE 代码 · 共 78 行
SVN-BASE
78 行
---------------------------------------------------------------------------------- ---- V H D L F I L E ---- COPYRIGHT (C) 2006 ---- ------------------------------------------------------------------------------------ ---- Title : RAMZ ---- Design : MDCT ---- Author : Michal Krepa -- -- ---- -------------------------------------------------------------------------------------- File : RAMZ.VHD-- Created : Sat Mar 5 7:37 2006-------------------------------------------------------------------------------------- Description : RAM memory simulation model----------------------------------------------------------------------------------library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.NUMERIC_STD.all; entity RAMZ is generic ( RAMADDR_W : INTEGER := 6; RAMDATA_W : INTEGER := 12 ); port ( d : in STD_LOGIC_VECTOR(RAMDATA_W-1 downto 0); waddr : in STD_LOGIC_VECTOR(RAMADDR_W-1 downto 0); raddr : in STD_LOGIC_VECTOR(RAMADDR_W-1 downto 0); we : in STD_LOGIC; clk : in STD_LOGIC; q : out STD_LOGIC_VECTOR(RAMDATA_W-1 downto 0) );end RAMZ; architecture RTL of RAMZ is type mem_type is array ((2**RAMADDR_W)-1 downto 0) of STD_LOGIC_VECTOR(RAMDATA_W-1 downto 0); signal mem : mem_type; signal read_addr : STD_LOGIC_VECTOR(RAMADDR_W-1 downto 0); begin ------------------------------------------------------------------------------- q_sg: ------------------------------------------------------------------------------- q <= mem(TO_INTEGER(UNSIGNED(read_addr))); ------------------------------------------------------------------------------- read_proc: -- register read address ------------------------------------------------------------------------------- process (clk) begin if clk = '1' and clk'event then read_addr <= raddr; end if; end process; ------------------------------------------------------------------------------- write_proc: --write access ------------------------------------------------------------------------------- process (clk) begin if clk = '1' and clk'event then if we = '1' then mem(TO_INTEGER(UNSIGNED(waddr))) <= d; end if; end if; end process; end RTL;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?