sub_ramz.vhd.svn-base
来自「Pure hardware JPEG Encoder design. Packa」· SVN-BASE 代码 · 共 82 行
SVN-BASE
82 行
---------------------------------------------------------------------------------- ---- V H D L F I L E ---- COPYRIGHT (C) 2006 ---- ------------------------------------------------------------------------------------ ---- Title : SUB_RAMZ ---- Design : EV_JPEG_ENC ---- Author : Michal Krepa -- -- ---- -------------------------------------------------------------------------------------- File : SUB_RAMZ.VHD-- Created : 22/03/2009-------------------------------------------------------------------------------------- Description : RAM memory simulation model----------------------------------------------------------------------------------library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.NUMERIC_STD.all; entity SUB_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 SUB_RAMZ; architecture RTL of SUB_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); --attribute ram_style: string; --attribute ram_style of mem : signal is "distributed"; 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 + -
显示快捷键?