正弦信号发生器设计实验指南de2DOC.docx
- 文档编号:16709359
- 上传时间:2023-07-16
- 格式:DOCX
- 页数:21
- 大小:1.66MB
正弦信号发生器设计实验指南de2DOC.docx
《正弦信号发生器设计实验指南de2DOC.docx》由会员分享,可在线阅读,更多相关《正弦信号发生器设计实验指南de2DOC.docx(21页珍藏版)》请在冰点文库上搜索。
正弦信号发生器设计实验指南de2DOC
实验练习正弦信号发生器
练习一正弦信号发生器设计
利用分频器将clk设为16hz
本实验预备了两个文件:
sin.v和sinwave.mif。
sin.vhd是顶层设计文件;sinwave.mif是rom的初始化文件。
这两个文件在下面设计将用到。
实验之前建立一个sinwave文件夹将以上两个文件拷入其中。
下面将详细介绍设计流程:
1工程创建
进入QuartusII开发软件,选择File-〉NewProjectWizad。
弹出工程向导对话框,点击Next。
在对应位置填入工程名和顶层实体名,再点击Next。
点击Next。
实验所使用的是Cyclone系列的“EP2C35Q672C6”,点击Finish。
工程新建完成,此时只是配置了与工程相关的一些基本设置,在开发过程中如需要,仍然可以通过菜单Assignments->Settings来修改。
2sin信号发生器顶层模块的设计
新建文件,打开File->New,选择DeviceDesignFiles子类中的Verilog,点击OK,创建一个verilog文件。
在编辑区verilog语言输入,或者用文本方式打开sin.v文件将其中的内容拷贝到编辑区,
并以sinwave.v文件名保存。
也可以用下面方法:
本实验事先已经准备了sin.v文件,可以将其文件名改为sinwave.v,添加到工程中。
3.定制ROM存储sin波形数据
1)建立.mif文件
.mif是FPGA片内rom的初始化文件。
点击菜单File->New->MemoryFiles项,选择MemoryInitializationFile点击
确定mif文件中字宽和字的数目,如下图设置,点击OK。
打开mif文件。
填入正弦波的数据,以文件名sinwave.mif保存。
本实验事先已准备了sinwave.mif文件,也可以通过右击ProjectNavigator中Files,打开File对话框,直接将已经存在的mif文件添加到工程中。
2)定制ROM
下面我们将初始化数据文件sinwave.mif文件加载到硬件模块中,通过菜单Tools->MegaWizardPlug-InManager。
弹出对话框,选择第一项,点击Next。
选择MemoryCompiler中的ROM:
1-PORT,并选择Verilog,输入文件名:
drom.v。
点击Next。
下面是对生成rom的参数进行设置。
如下图设置,点击Next。
如下图设置,点击Next。
指定rom所对应的初始话文件sinwave.mif。
点击Finish。
将生成的drom.vhd添加到工程中。
右击ProjectNavigator中Files。
选择Add/RemoveFilesinProject。
选择以后是否自动加载该类文件。
找到drom.vhd文件,点击Add。
至此已经完成了设计输入的所有工作,包括:
顶层文件设计,rom生成和设置初始化文件。
4编译综合
编译综合点击菜单Processing->StartCompilation。
如果设计没有问题就会,弹出编译成功的对话框,并显示下图。
如有错误,就必须根据提示来查找错误。
5仿真
对工程编译通过后必须进行功能和时序仿真,以便了解系统是否满足要求,步骤如下:
新建波形文件,File->New->OtherFiles->VectorWaveformfile。
点击OK。
设定波形仿真文件的文件名,sinwave.vwf。
点击保存。
右击波形文件编辑区右边空白处,选择InsertNodeorBus。
在Name中填入DOUT,点击OK。
将DOUT信号输入到波形文件中。
用同样的方式将CLK输入到波形文件中。
右击CLK,设置输入信号CLK。
点击菜单Processing-〉StartSimulation,对工程进行仿真。
右击DOUT选择Properties,Radix选择UnsignedDecimal,点击确定。
下面是正确仿真结果。
6管脚分配
点击菜单Assignment-〉Pins,打开管脚编辑器,设置如下Location。
将工程重新编译一次,用于保存管脚的设置。
7硬件设置下载
在编译后工程文件夹中就会生成一个sinwave.sof文件,用于下载到FPGA中实现设计的功能。
在下载前必须先对硬件进行连接和设置。
当确认实验箱上的并口线已经和计算机正确之后,还需在QuartusII中作必要的设置。
点击菜单Tools-〉Programmer。
点击HardwareSetup。
打开一个对话框。
在点击AddHardware。
如下图设置,点击OK。
一般情况QuartusII能够自动的监测到sinwave.sof文件。
也可以点击AddFile来添加文件。
选择Program/Configure。
最后点击Start下载sinwave.sof到FPGA中。
实验箱上七段显示管会以一定的频率显示sinwave.mif文件中的数据,值得说明的是实验箱显示的是16进的值,而sinwave.mif中给的是无符号的10进制值。
可以将仿真文件sinwave.vwf中DOUT的值显示为16进制值,就可以更好地进行对比。
至此已经完成了实验一的所有内容。
练习二SingnalTap的使用
点击菜单File-〉New,选择OtherFiles,选择SignalTapIIFile。
点击OK。
如下图所示,双击Node下面的空白区,打开NodeFinder对话框,插入信号DOUT。
在SignalConfiguration中cloclk填入CLK,Sampledepth选择8k,Bufferacquisitionmode如图选择。
将设计重新编译一次。
如前面所述,点击Setup来设置硬件。
在SOFManager中添加sinwave.sof文件,并点击
下载sof文件。
点击AutorunAnalyzer如图中所圈。
右击DOUT,选择BusDisplayFomat-〉UnsignedLineChar,就可以显示下面波形。
练习三在线rom读取和写入
在实验二的基础上,不用改变任何硬件设置。
下面将介绍在线rom读取和写入。
在ProjectNavigator选择Hierarchy,展开sinwave,双击选择drom:
u1。
打开MegaWizardPlug-InManager。
点击Next,找到对应页,将所圈的地方设置如下图。
重新编译工程。
点击菜单Tool-〉In-SystemMemoryContentEditor
将sinwave.sof添加到对应位置,点击所圈键,重新下载。
右击rom1,选择ReadDataformIn-SystemMemory。
就会将内存中的数据读出来,如下图。
将读出的数据如下图进行修改,再右击上图中的rom1,选择的WriteDatatoIn-SystemMemory。
FPGA中rom的值就会被修改。
为了验证,采用实验二所述SingalTap的方法显示波形。
如下图。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 正弦 信号发生器 设计 实验 指南 de2DOC