FPGA中两种对宏功能模块例化的方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
两种对宏功能模块例化的方法
——Block Editor和MegaWizard Plug-In Manager 最近在用FPGA做历年的电赛的题目。由于我们第一个实验题目为“简易逻辑分析仪”,其中涉及到对波形采样的存储要用到ROM,这需要使用宏功能模块定制LPM_RAM,所以对宏功能模块例化进行了学习。下面针对DE0实验板就两个比较简单的例子做一个详细的说明。
在Block Editor中直接例化
实验:LPM_counter定制的4位计数器。
一、在已经建好的工程中新建一个block diagram/schematic File文件。
二、在block diagram中双击空白部分,在对话框中的Name中输入lpm_counter即得到如下的对话框;
三、单击OK出现lpm_counter的定制,依次单击next对以下对话框进行设置
选取V erilog HDL 语言和文件名
输出宽度为4位
使能以及进位设置
同步或是异步的清除、装载、置位
定制完后的预览,点击Finish 完成设计,即可以调入元件
四、完成剩下的原理图,如下:
五、绑定管脚,进行编译下载,完成实验。
使用MegaWizard Plug-In Manager调用宏功能
实验:正弦信号发生器
一、定制初始化数据文件(mif或者是hex文件,这里详细介绍mif)
建立MIF文件,单击OK
设置数据个数为64点数据位宽为8位。单击OK
在表格中填入64个地址分别对应的数值(位宽为8位)完成后保存
二、定制LPM_ROM元件
在Tools菜单中选择MegaWizard Plug-In Manager,产生如下对话框
分别有创建、编辑、拷贝等功能,单击Next
进行如图所示的设置,单击Next
依次进行芯片类型、位宽、字数、目标器件类型等进行设置。
触发信号进行设置
调入ROM初始化数据
定制完成后的报告,单击Finish完成。
三、设计顶层文件,代码如下:
module sin(clk,outdata);
input clk;
output [7:0] outdata;
reg [5:0] addr;
always@(posedge clk)
addr<=addr+1;
data_rom u1 (addr,clk,outdata);
endmodule
四、编译通过,建立波形文件,结果如下:
根据数据的特征,即为定制的ROM数据,实验成功。
心得总结:
通过此次实验,基本弄懂宏功能的调用方式。宏功能高效率的代码必定会给设计产品带来质的飞跃。
2011-3-31
By Qingfeng Zeng