静态RAM VHDL代码

G

Guest

Guest
您好...我需要一个16 * 16位的静态RAM VHDL代码
, 然后与不读缓冲区和/ /不分区...

预先感谢您,
日拉克

 
这通常是使用从处理的FPGA供应商提供具体的工具。原因是它是特定于实现时
, 最紧凑和高效率。如果您使用赛灵思FPGA,使用CoreGen工具生成的VHDL模块
, 它这样做的功能。如果您使用其他厂商的类似的东西,搜索其工具或访问其网站。

 
您好日拉克,
仅供参考。
-------------伪双端口的VHDL实例
图书馆电机及电子学工程师联合会;
使用IEEE.std_logic_1164.all;
使用IEEE.std_logic_arith.all;
使用IEEE.std_logic_unsigned.all;

实体daul_port_ram是
通用(data_width:自然:= 8;
addr_width:自然:= 16);
端口(clk_in:在锁相环,
clk_out:在锁相环;
我们:在锁相环;
addr_in:在std_logic_vector(addr_width - 1 downto 0);
addr_out:在std_logic_vector(addr_width - 1 downto 0);
data_in:在std_logic_vector(data_width - 1 downto 0);
data_out:出std_logic_vector(data_width - 1 downto 0)
);
结束daul_port_ram;

架构daul_port_ram daul_port_ram_arch是

类型mem_type的数组(2 ** addr_width downto 0 std_logic_vector)(data_width - 1 downto 0);
信号号负责:mem_type;

开始

mem_write:过程(clk_in)
开始
如果clk_in'event和clk_in = '1',那么
如果(我们= '1'),那么
号负责(conv_integer(addr_in))“= data_in;
如果结束;
如果结束;
结束进程写;

mem_read:过程(clk_out)
开始
如果clk_out'event和clk_out = '1',那么
data_out“=号负责(conv_integer(addr_out));
如果结束;
结束进程读取;

结束daul_port_ram_arch;

 
附加面积约26公羊不同类型的VHDL和Verilog代码

这些代码是从赛灵思血栓通用户手册

它们是:<img src="http://images.elektroda.net/99_1233617353_thumb.gif" border="0" alt="Static RAM VHDL code" title="静态RAM的VHDL代码"/>
 
-------------------------------------------------- --------------------------------
-------------------------------------------------- ------------------------------
-滴度:公羊synthétisable
-谟:
-------------------------------------------------- -----------------------------
- Fichier:ram_simple.vhd

-------------------------------------------------- -----------------------------
-描述:内存avec新英格兰大学seule地址最多俩horloges
-描述conforme一拉文档leo_tech.pdf页292
-表面occupee:16函数发生器

-------------------------------------------------- -----------------------------
图书馆ieee;
使用ieee.std_logic_1164.ALL;
使用ieee.numeric_std.ALL;

是实体ram_simple
港口(
信号数据:std_logic_vector(7 DOWNTO 0);
信号地址:std_logic_vector(4 DOWNTO 0);
我们信号,inclock,outclock:在锁相环;
信号问:输出std_logic_vector(7 DOWNTO 0));完ram_simple;建筑是中Fe2的ram_simple

类型mem_type是
, 由于std_logic_vector(7 DOWNTO 0)阵列(31 DOWNTO 0);
信号号负责:mem_type;
信号address_int:无符号(4 DOWNTO 0);

开始- Ex2把
l0:过程(inclock,outclock,我们,地址)

开始-过程
中频(inclock = '1'和inclock'event)则
address_int“=无符号(地址);
如果我们= '1',那么
号负责(To_integer(无符号(地址)))“=数据;
完中频;
完中频;
中频(outclock = '1'和outclock'event)则
q“=号负责(to_integer(address_int));
完中频;

结束进程;

完中Fe2;

 

Welcome to EDABoard.com

Sponsor

Back
Top