syncram_dp.vhd
来自「The GRLIB IP Library is an integrated se」· VHDL 代码 · 共 88 行
VHD
88 行
------------------------------------------------------------------------------ This file is a part of the GRLIB VHDL IP LIBRARY-- Copyright (C) 2004 GAISLER RESEARCH---- This program is free software; you can redistribute it and/or modify-- it under the terms of the GNU General Public License as published by-- the Free Software Foundation; either version 2 of the License, or-- (at your option) any later version.---- See the file COPYING for the full details of the license.--------------------------------------------------------------------------------- Entity: syncram_dp-- File: syncram_dp.vhd-- Author: Jiri Gaisler - Gaisler Research-- Description: syncronous dual-port ram with tech selection------------------------------------------------------------------------------library ieee;use ieee.std_logic_1164.all;library grlib;use grlib.tech.all;library gaisler;use gaisler.memory.all;use gaisler.mem_xilinx.all;use gaisler.mem_virage.all;use gaisler.mem_actel.all;use gaisler.mem_gen.all;entity syncram_dp is generic (tech : integer := 0; abits : integer := 6; dbits : integer := 8 ); port ( clk1 : in std_ulogic; address1 : in std_logic_vector((abits -1) downto 0); datain1 : in std_logic_vector((dbits -1) downto 0); dataout1 : out std_logic_vector((dbits -1) downto 0); enable1 : in std_ulogic; write1 : in std_ulogic; clk2 : in std_ulogic; address2 : in std_logic_vector((abits -1) downto 0); datain2 : in std_logic_vector((dbits -1) downto 0); dataout2 : out std_logic_vector((dbits -1) downto 0); enable2 : in std_ulogic; write2 : in std_ulogic); end;architecture rtl of syncram_dp isbegin-- pragma translate_off inf : if has_dpram(tech) = 0 generate x : process begin assert false report "synram_dp: technology " & tech_table(tech) & " not supported" severity failure; wait; end process; end generate;-- pragma translate_on xcv : if tech = virtex generate u0 : virtex_syncram_dp generic map (abits, dbits) port map (clk1, address1, datain1, dataout1, enable1, write1, clk2, address2, datain2, dataout2, enable2, write2); end generate; xc2v : if (tech = virtex2) or (tech = spartan3) generate u0 : virtex2_syncram_dp generic map (abits, dbits) port map (clk1, address1, datain1, dataout1, enable1, write1, clk2, address2, datain2, dataout2, enable2, write2); end generate; vir : if tech = memvirage generate u0 : virage_syncram_dp generic map (abits, dbits) port map (clk1, address1, datain1, dataout1, enable1, write1, clk2, address2, datain2, dataout2, enable2, write2); end generate; pa3 : if tech = proasic3 generate u0 : proasic3_syncram_dp generic map (abits, dbits) port map (clk1, address1, datain1, dataout1, enable1, write1, clk2, address2, datain2, dataout2, enable2, write2); end generate; end;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?