FPGA中两种对宏功能模块例化的方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档