正弦信号发生器+DAC输出2010(DE2-70版).doc
《正弦信号发生器+DAC输出2010(DE2-70版).doc》由会员分享,可在线阅读,更多相关《正弦信号发生器+DAC输出2010(DE2-70版).doc(80页珍藏版)》请在沃文网上搜索。
1、硬件系统课程设计实验指导书 原基于FPGA的嵌入式系统设计与实践 Embedded System Design and Practice Based on FPGA实验一、正弦信号发生器DE270平台本实验指导书阐述了一个简单的正弦信号发生器在QUARTUS上的实现。通过这个文档,旨在演示利用QUARTUS开发数字电路的基本流程和QUARTUS软件的相关操作,并借此介绍QUARUTS的软件界面。我们还针对NIOS的实验板,实现了本文档所示硬件模块的相关配置工作以及下载和实现。实验条件: 目录二、实验步骤:71、工程创建72、sin信号发生器顶层模块的设计173、定制ROM存储sin波形数据23
2、3.1 建立.mif文件233.2 ROM数据的生成243.3 定制ROM元件253.3.1 调用Mega Wizard Plug-In Manager263.3.2 设置LPM_ROM模块273.3.3 添加文件到工程344、编译、综合等375、仿真385.1 编辑波形文件395.2 配置仿真参数515.3 进行仿真566、内部电路观察587、生成symbol628、管脚分配679、下载6710、利用SignalTapII 观察波7111、利用外设DAC观察输出波形7412作业81一、设计原理:下图所示为正弦信号发生器的结构,共有4个部分组成:VHDL顶层设计 singt.vhd6位计数器(
3、地址发生器)Sin数据存储ROM8位DAC顶层文件singt.vhd在FPGA中实现两个部分:1、6位计数器产生地址信号;2、存储正弦信号(6bits地址线,8bits数据线)的ROM,有LPM_ROM模块实现,LPM_ROM模块底层由FPGA的EAB、ESB或M4K来实现。地址发生器的时钟频率CLK假设为f0,这里我们设定的地址发生器为6bit,则周期为2664,所以一个正弦周期内可以采样64个点,DAC后的输出频率f为:我们可以如下生成sin数据以用于查找表,双、单极性Sin(x)数据波形可如下:x = round(sin(linspace(0,2*pi,64)+1)*127.5); 所要
4、得到的单极性信号波形。二、实验步骤:1、工程创建建立工程进入QUARTUS开发软件,选择“File”点击“New Project Wizard”。弹出工程向导对话框,选择“Next”输入存放工程及其相关设计文件的文件夹:指定“工程名”和工程对应的“顶层设计实体名”。这里我们将工程名和顶层设计实体名都取作“singt1”,再点击Next。注意:工程路径中不要包含中文接下来点击“Add”将先期已经输入的设计文件(*.bdf;*.vhd;*.v等)添加到工程中,这里我们没有事先输入好的文件,因此不用添加,即使点击Add All,也没有文件可以加入。接着点击“User Liberary Pathnam
5、e”指定用户自定义元件库的路径,这里我们没有要用的用户自定义元件库,也忽略跳过,直接进入下一步。如有已经输入完毕的设计文件,我们可以参照下述方式建立新工程: 打开此文件,正弦信号发生器的VHDL格式的设计文件已在文件框中;指定目标器件。由于本实验所用的Altera套件是用“Cyclone II”系列的“EP2C70F896C6”。在实际实验中,可以通过查看开发板参考手册,或者直接观察开发板来获得所使用的器件具体型号。接下来指定“设计输入,综合,仿真,时序分析”用到的工具,QUARTUS对第三方工具的支持比较完善,这里我们不选择,直接点击“Next”,QUARTUS将使用默认的“设计输入,综合,
6、仿真,时序分析”工具。上图给出了所创建工程的主要的信息。点击“Finish”,工程新建完成,工程相关的基本配置工作也完成,这些已经配置的参数,在开发工作进行的过程中,仍然可以通过菜单“Assignments”“Settings”来修改。2、sin信号发生器顶层模块的设计新工程设计文件输入(建立顶层设计文件)模式:新建文件,打开File菜单点击New命令,选择“Device Design Files”子类中的“VHDL File”,点击“OK”,创建一个vhdl文件作为顶层设计文件,顶层设计利用VHDL语言方式输入。我们刚才已经用拷贝文件方式新建了顶层设计文件保存,这是工程新建的第一个文件,系统
7、会默认保存为顶层设计实体的名字,在本实例中,也就是“singt1”,点击“保存”,这样,就新建好了顶层设计实体的输入文件。下面我们介绍的是如何输入VHDL格式来建立我们所需模块的实现代码,没有兴趣的同学可以跳过此节。注意: Quartus给我们提供了很多的帮助,比如对VHDL不熟悉或某些语法生疏的情况下,该软件提供了如下图的模板生成代码:(模块的设计及其输入)在singt.vhd文件中我们可以输入模块对应的实现代码!代码在“所需文件文”件夹:在该文件中我们完成了6位计数器的设计工作,调用了sin波形数据存储文件data_rom.vhd,并加以了优化。下面我们具体的给出该文件的编写方式!3、定制
8、ROM存储sin波形数据构成ROM中初始化数据文件的方式有两种:Memory Initialization File(.mif)格式和Hexadecimal(Intel-Format)File(.hex)格式。下面我们仅仅以mif格式的文件为例来讲解ROM初始化数据文件的生成!3.1 建立.mif文件点击Quartus II的FileNew -Memory Files项,选择Memory Initialization File,点击OK,出现一个参数设置框!这里Number of words对应查找表中查找项的个数,为64,Word size对应sin输出波形的数据宽度,为8。点击OK出现如下
9、表格:3.2 ROM数据的生成表格中的数据即为sin输出点所对应的8bits的幅度,我们可以在Matlab下生成这些数据:x = round(sin(linspace(0,2*pi,64)+1)*127.5);reshape(x,8,8)ans = 128 140 153 165 177 188 199 209 219 227 235 241 246 250 253 255 255 254 252 248 244 238 231 223 214 204 194 183 171 159 147 134 121 108 96 84 72 61 51 41 32 24 17 11 7 3 1 0 0
10、 2 5 9 14 20 28 36 46 56 67 78 90 102 115 127复制这些数据可以很容易的在mif表格中进行粘贴,如图。当然我们可以手工输入这些数据,也可以通过excel得到这些数据,也可以编程得到这些数据。最方便的方式则是在Matlab/Simulink的DSPBuilder下完成ROM波形数据文件的编写。我们将文件保存为singt.mif 。3.3 定制ROM元件下面我们对初始化数据文件加载到一定的硬件模块中,本例中,我们将之加载于LPM_ROM模块,步骤如下。3.3.1 调用Mega Wizard Plug-In Manager 3.3.2 设置LPM_ROM模块
11、选择 Create a new custom megafunction variation,点击Next。这里我们设置器件为Cyclone II,输出文件的格式为vhdl,输出文件名为data_rom.vhd,选择 Memory Complier中的ROM:1-PORT。点击Next。在Page 3 of 7我们进一步设置ROM:1-PORT的相关参数,如下图:其中器件为上一页面所选的Cyclone II,rom输出的总线宽度为8bits,该查找表共有64格查找项,RAM block的类型由quartus进行自动的选择(如ACEX1K为EAB,APEX20K为ESB,Cyclone为M4K),
12、选择Daul Clock方式,inclock为地址锁存控制信号。点击Next!取消掉qoutput port 选项点击next!内存初始化的数据文件指定为我们刚才创建的singt.mif,选择All In-System Memory Content Editor to ,表示允许Quartus II将能通过JTAg口对下载于FPGA中的此ROM进行在系统的测试和读写,这种读写不影响FPGA中系统的工作。点击next!点击Finish!再点击Finish3.3.3 添加文件到工程我们必须将刚才生成的所有文件添加到工程中。选择Quartus的Files选项,右键点击Add/Remove Files
13、 in Project。点击右图的Add AlL - OK打开data_rom.vhd,修改绝对路径为相对路径! “singt.mif”- “./singt.mif”4、编译、综合等Quartus II编译器由一系列处理模块组成,如设计工程的查错、逻辑的综合、结构的综合、输出结果的编辑配置、时序分析等。在编译前,我们可以设置一些参数使得编译器采取一些特别的综合和适配技术(如时序驱动技术等),也可提高工程编译的速度,优化器件的资源利用率等。 我们简单的点击 Start Compilation 进行全程编译。编译的时候,Quartus II会给出编译的一些相关信息,如果出错,则根据这些提示进行排错
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 正弦 信号发生器 DAC 输出 2010 DE2 70