例说FPGA连载84:工业现场实时监控界面设计之双口RAM 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc ① 在新建的工程中,点击菜单ToolsàMegaWizard Plug-In Manager。在弹出的选项卡中选择“Creat a new custom megafunction variation”,然后点击“Next”。 ② 接着选择我们所需要的IP核,如图17.3所示进行设置。 图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所示,在第一个配置页面“ParameterSettings à 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”为单位来配置查看端口的位宽。 图17.4 双口RAM基本配置页面 ④ 如图17.5所示,在第二个配置页面“ParameterSettings à Widths/Blk Type”中,我们需要做如下的设置。 ● 在“How many 8-bit words of memory?”后面输入“1024”words,即该双口RAM的存储深度为1024。 ● 在“What wide should the ‘data_a’ input bus be?”后面输入“8”,即端口位宽为8bit。 图17.5 双口RAM的位宽、存储器类型配置页面 ⑤ 如图17.6所示,在第三个配置页面“ParameterSettings à Clks/Rd,Byte En”中,做如下设置。 ● 在“Which clocking method do you want to use?”下面勾选“Dual clock: use separate ‘read’ and ‘write’ clocks”,表示读写操作使用不同的时钟。 图17.6 双口RAM的控制信号配置页面 ⑥ 如图17.7所示,第四个配置页面“ParameterSettings à Regs/Clkens/Aclrs” 中,做如下设置。 ● 在“Which ports should be registered?”下面勾选“Read output port(s) ‘q’”,即对双口RAM的读出数据q用rdclock打一拍,确保更好的时序性能。 ● 勾选“Create an ‘aclr’ asynchronous clear for the registered ports”,即增加异步清除信号接口。 图17.7 双口RAM的时钟使能、复位信号配置页面 ⑦ 第五个配置页面“Parameter Settings à Mem Init”无需设置,默认即可。 ⑧ 最后,在“Summary”页面中,如图17.8所示,勾选上“waveRAM_inst.v”文件所在选项。点击“Finish”完成设置。 图17.8 双口RAM的Summary配置页面 waveRAM_inst.v文件打开如图17.9所示,这里有新建双口RAM的接口例化模板,可以复制到工程顶层源码中重新做接口映射。 图17.9 双口RAM例化模板
|