特权同学

例说FPGA连载84:工业现场实时监控界面设计之双口RAM

0
阅读(1690)

例说FPGA连载84:工业现场实时监控界面设计之双口RAM

特权同学,版权所有

配套例程和更多资料下载链接:

http://pan.baidu.com/s/1c0nf6Qc

1.jpg

在新建的工程中,点击菜单ToolsàMegaWizard Plug-In Manager。在弹出的选项卡中选择“Creat a new custom megafunction variation”,然后点击“Next”。

接着选择我们所需要的IP核,如图17.3所示进行设置。

2.jpg

17.3 IP核选择页面

在“Select a megafunction from the list below”下面选择IP核为“Memory CompileràRAM: 2-PORT”。

在“What device family will you be using”后面的下拉栏中选择我们所使用的器件系列为“Cyclone IV E”。

在“What type of output file do you want to create?”下面选择语言为“Verilog HDL”。

在“What name do you want for the output file?”下面输入工程所在的路径,并且在最后面加上一个名称,这个名称是我们现在正在例化的片内双口RAM IP核的名称,这里我们可以给他起名叫waveRAM,然后点击Next进入下一个页面。

如图17.4所示,在第一个配置页面“Parameter SettingsàGeneral”中,我们需要做如下的设置。

在“How will you be using the dual port RAM?”下面勾选“With one read port and one write port”选项,即我们这个双口RAM配置为一组读端口和一组写端口。

在“How do you want to specify the memory size?”下面勾选“As a number of words”,即以“words”为单位来配置查看端口的位宽。

3.jpg

17.4双口RAM基本配置页面

如图17.5所示,在第二个配置页面“Parameter SettingsàWidths/Blk Type”中,我们需要做如下的设置。

在“How many 8-bit words of memory?”后面输入“1024words,即该双口RAM的存储深度为1024

在“What wide should the ‘data_a’ input bus be?”后面输入“8”,即端口位宽为8bit

4.jpg

17.5双口RAM的位宽、存储器类型配置页面

如图17.6所示,在第三个配置页面“Parameter SettingsàClks/Rd,Byte En”中,做如下设置。

在“Which clocking method do you want to use?”下面勾选“Dual clock: use separate ‘read’ and ‘write’ clocks”,表示读写操作使用不同的时钟。

5.jpg

17.6双口RAM的控制信号配置页面

如图17.7所示,第四个配置页面“Parameter SettingsàRegs/Clkens/Aclrs中,做如下设置。

在“Which ports should be registered?”下面勾选“Read output port(s) ‘q’”,即对双口RAM的读出数据qrdclock打一拍,确保更好的时序性能。

勾选“Create an ‘aclr’ asynchronous clear for the registered ports”,即增加异步清除信号接口。

6.jpg

17.7双口RAM的时钟使能、复位信号配置页面

第五个配置页面“Parameter SettingsàMem Init”无需设置,默认即可。

最后,在“Summary”页面中,如图17.8所示,勾选上“waveRAM_inst.v”文件所在选项。点击“Finish”完成设置。

7.jpg

17.8双口RAMSummary配置页面

waveRAM_inst.v文件打开如图17.9所示,这里有新建双口RAM的接口例化模板,可以复制到工程顶层源码中重新做接口映射。

8.jpg

17.9双口RAM例化模板


Baidu
map