- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
练习使用quartus较高级功能设计数字系统
第三单元 练习使用quartus较高级功能设计数字系统
实验目的:在熟悉了VHDL语言的基础上,练习使用altera系列fpga设计的高级功能:宏模块引用,signal tap,In-system memory content editor,等高级调试选项
实验一 正弦波形发生器
一 实验内容:
设计正弦波形发生器
二 实验说明:
本实验使用Quartus自带的宏模块(MegaWizard Plug-in Manager)来设计逻辑功能,并使用嵌入式硬件逻辑分析仪观察结果。
正弦函数发生器的原理比较简单,硬件实现也比较简单:首先设计一个ROM用来存放正弦函数的幅度数据;用一个计数器来指定rom地址(也就是相位)的增加,输出相应的幅度值。这样在连续的时间内显示的就是一个完整的正弦波形。
系统的电路图如下:
Div模块是分频模块,可以用前面设计过的分频器的程序生成模块(symbol)。也可以使用altera的计数器宏模块来生成分频器(后面会具体介绍方法)
三 实验步骤:
生成模块(symbol)方法如下:
加入分频文件到工程中
选择file—create/update—create symbol file from current file
3、如果出错则修改错误,直到零error为止
4、在原理图文件中点就可以加入自建的模块
Counter和rom都可以用Quartus自带的宏模块。
引用宏模块的方法如下:
1、点击symbol tool图标
出现下面的对话框:
其中project目录下的是你已经自定义的宏模块,比如分频模块div
2、选选项就可引用宏模型了。
出现下列对话框:选next
以下就是QuartusII黑色的自带的免费的宏模型,可以看到Quartus提供了很多免费的IP核。
其中rom在storage中,计数器counter在数学库中。
首先引入rom模块
建立ram中初始化文件:
填入初始数据也就是不同(地址)相位对应的输出(幅度)。当然也可以用matlab,c++,或excel的函数方便的生成数据。具体方法请同学们自己研究。保存文件,命名。
(2)选择器件为cyclone,输出数据q位宽8位,64个memory,使用自动类型ram block(也可以指定为M-4K),选择时钟为单时钟(single clock),点击下一步――下一步
接下来在对话框中填入rom初始化文件,并且选中allow in-system memory。并选择名称为none
点击下一步
引入计数器作为rom的地址,当计数器地址递增时,相应的rom的地址递增(正弦波的相位增加)
本实验中用的rom是8位宽,64位深的,就是数据宽度是8位,可以存64个数据。Rom有64个地址,那么计数器的位宽要定义到6位。
下一步――下一步――下一步――下一步
如果需要看示例波形可以加入.html和.jpg。
3 如果不想自己编写分频模块,可以使用宏模型加入分频模块
同样是添加counter,设置位宽,例如选择11位,那么是211分频
将模块添加好,把鼠标指向端口处,当鼠标指针变为十字形时,按住鼠标左键连线。完成后如下所示:
注意将分频器输出的最高位和counter的时钟连接的方法是右击信号线点击右键选择属性,在对话框中为信号线命名。总线的命名为name[N:0],N为位宽,把diver[10:0]的最高位给一个信号:diver[10]
添加端口:
选择
添加好端口后双击端口,给端口命名,总线型端口要命名name[N..0]的格式,如下所示
仿真
这样工程就建好了。编译、仿真。看仿真波形是否正确
使用signal tap观察波形
如果波形没问题下面设置嵌入式逻辑分析仪。具体方法已在第一章讲过,下面只说明几个需要注意的技巧:
1 分频时钟作为采样信号,不要放到被观察的信号中
2 采样信号不宜用做主时钟,可以用分频后的时钟,采样条件可用center tigger positsion
3 触发时钟(trigger)选择最低频的信号(最高为地址线),这样才能看到所有低频信号的波形,也可以不设置选择系统默认的
下载程序,就可以看仿真的波形了。
因为开发板硬件没有AD/DA功能,要想看模拟信号的输出也可以用逻辑分析仪来完成。
右击信号名(比如q信号)选bus display format
选择无符号线形图就可以显示模拟波形了:
嵌入式存储数据编辑器:
嵌入式存储数据编辑器是通过JTAG下载电缆来观看FPGA中ROM加载的数据的,不止能观看,还能在线的修改数据,不用重新编译与下载。
选择tools—in system Memeory Content Editor项
选择联接电缆
在你刚才选rom参数的none的文件,出现了现在FPGA中的rom的数据
右击none选read
文档评论(0)