3系列FPGA中使用LUT构建分布式RAM(4)

前面讲了分布式RAM的方方面面,下面以RAM_16S为例,分别给出其在VHDL和Verilog HDL下面的模板代码(在ISE Project Navigator中选择 Edit--- Language Templates,然后选择VHDL 或者Verilog, 最后是Synthesis Templates --- RAM,在中也有具体调用过程的描述)。CORE Generator可以产生类似的代码以供行为仿真使用,它们可以在ISE Project Navigator中双击.coe文件看到。

VHDL Template Example
--
-- Module: RAM_16S
--
-- Descrip  TI on: VHDL instan  TI a  TI on template
-- Distributed RAM
-- Single Port 16 x 1
-- Can also be used for RAM16X1S_1
--
-- Device: Spartan-3 Family
--
---------------------------------------------------------------------
--
-- Components Declara  TI ons:
--
component RAM16X1S
-- pragma translate_off
generic (
-- RAM initialization (“0” by default) for functional simulation:
INIT : bit_vector := X"0000"
);
-- pragma translate_on
port (
D : in std_logic;
WE : in std_logic;
WCLK : in std_logic;
A0 : in std_logic;
A1 : in std_logic;
A2 : in std_logic;
A3 : in std_logic;
O : out std_logic
);
end component;
--
---------------------------------------------------------------------
--
-- Architecture section:
--
-- Attributes for RAM initialization ("0" by default):
attribute INIT: string;
--
attribute INIT of U_RAM16X1S: label is "0000";
--
-- Distributed RAM Instantiation
U_RAM16X1S: RAM16X1S
port map (
D => , -- insert Data input signal
WE => , -- insert Write Enable signal
WCLK => , -- insert Write Clock signal
A0 => , -- insert Address 0 signal
A1 => , -- insert Address 1 signal
A2 => , -- insert Address 2 signal
A3 => , -- insert Address 3 signal
O => -- insert Data output signal
);
--
---------------------------------------------------------------------
R
Verilog Template Example
//
// Module: RAM_16S
//
// Description: Verilog instantiation template
// Distributed RAM
// Single Port 16 x 1
// Can also be used for RAM16X1S_1
//
// Device: Spartan-3 Family
//
//-------------------------------------------------------------------
//
// Syntax for Synopsys FPGA Express
// synopsys translate_off
defparam
//RAM initialization (“0” by default) for functional simulation:
U_RAM16X1S.INIT = 16'h0000;
// synopsys translate_on
//Distributed RAM Instantiation
RAM16X1S U_RAM16X1S (
.D(), // insert input signal
.WE(), // insert Write Enable signal
.WCLK(), // insert Write Clock signal
.A0(), // insert Address 0 signal
.A1(), // insert Address 1 signal
.A2(), // insert Address 2 signal
.A3(), // insert Address 3 signal
.O() // insert output signal
);
// synthesis attribute declarations
/* synopsys attribute
INIT "0000"
*/

CORE Generator产生分布式RAM、同步FIFO和异步FIFO的说明文档可以分别在如下网址找到。
? CORE Generator: 分布式RAM模块

? CORE Generator: 同步FIFO模块

? CORE Generator: 异步FIFO模块

3系列FPGA中使用LUT构建分布式RAM(4)_设计制作_EMC/EMI设计
99
142
0
94

相关资讯

  1. 1、韩寒晒《飞驰人生》黄景瑜赛车手剧照,帅气十足,网友排队求带飞2279
  2. 2、《长歌行》首播,迪丽热巴吴磊赵露思联袂,山东卫视要崛起了?1231
  3. 3、愿不愿意回到十年前重新开始?阿娇说不愿意的神情让人泪目306
  4. 4、中国好声音导师钱途:刘欢送音响那英包红包1984
  5. 5、《北京遇上西雅图》10天破2亿导演称或拍续集3290
  6. 6、吴绮莉终放下过往,小龙女已结婚,她也开始重返娱乐圈!562
  7. 7、电影《毒液》发布的海报藏了这个彩蛋,让死侍一不小心又进圈了!937
  8. 8、《创业时代》持续热播周一围:我是一位有理想的‘创业者’164
  9. 9、《西虹市首富》剧情类似的《猛虫过江》,为何得不到认可1254
  10. 10、电影《李娜》开机,女主角的脸却打了马赛克,少年饰演者疑曝光4693
全部评论(0)
我也有话说
0
收藏
点赞
顶部