FPGA设计开发软件Quartus II的使用技巧之: 典型实例-SignalTap II功能演示
5.10典型实例9:SignalTapII功能演示
5.10.1实例的内容及目标
1.实例的主要内容
本节旨在通过给定的工程实例——“正弦波发生器”来熟悉AlteraQuartusII高级调试功能SignalTapII和IntentMemoryContentEditor的使用方法。同时使用基于AlteraFPGA的开发板将该实例进行下载验证,完成工程设计的硬件实现。在本节中,将主要讲解下面知识点。
·QuartusII原理图输入方式。
·QuartusII约束设计。
·QuartusII工程编译。
·QuartusII硬件下载。
·SignalTapII在线调试。
·IntentMemoryContentEditor在线修改片上ROM数据。
通过这些知识点,按照实例的流程,读者可以迅速地掌握使用QuartusII软件高级调试技巧。
2.实例目标
通过详细的流程讲解,读者应达到下面的目标。
·熟悉QuartusII原理图设计方法。
·熟悉SignalTapII在线调试方法。
·熟悉IntentMemoryContentEditor在线修改片上ROM数据的方法。
5.10.2实例详解
本实例将使用图解的方式将整个流程一步一步展现给读者,使读者能够轻松掌握开发的流程。
5.10.2.1工程系统框图
本实例使用QuartusII自带的宏模块(MegaWizardPlug-inManager)来设计逻辑功能,并使用嵌入式硬件逻辑分析仪观察结果。
正弦函数发生器的原理比较简单,硬件实现也比较简单:首先设计一个ROM用来存放正弦函数的幅度数据;用一个计数器来指定ROM地址(也就是相位)的增加,输出相应的幅度值。这样在连续的时间内显示的就是一个完整的正弦波形。
系统的电路图如图5.40所示。
图5.40系统电路图
div模块是分频模块,可以用前面设计过的分频器的程序生成模块(symbol),也可以使用Altera的计数器宏模块来生成分频器。
5.10.2.2添加分频器模块
1.将分频文件添加到工程
将分频器模块div.v加入到工程中,在工程中打开分频器模块div.v(分频器程序由读者完成),如图5.41所示。
2.产生.bsf文件
选择“File”/“Create/Update”/“CreateSymbolFilesforCurrentFile”选项。软件会自动分析div.v程序的语法错误,如图5.42所示。
图5.41分频器VerilogHDL文件
图5.42生成模块菜单
3.修改程序语法错误
如果出错则修改错误,直到没有错误为止。此时软件会自动生成div.bsf文件,此文件为原理图中的模块图形。
4.在原理图中加入分频器模块div.bsf
在原理图文件中单击“”按钮,就可以加入刚刚建立的模块,如图5.43所示。
图5.43在原理图中添加分频器模块
5.10.2.3添加QuartusII系统自带宏模块
ROM和计数器都可以通过QuartusII自带的宏模块生成。
1.建立ROM初始化文件
在菜单中选择新建文件,在“OtherFiles”中选择“MemoryInitializationFile”选项,如图5.44所示。
填入如图5.45所示的正弦波幅度数据。当然也可以用MATLAB、C++或Excel的函数生成数据。保存文件,命名sin.mif。
图5.44新建ROM初始化文件图5.45输入正弦波幅度数据
2.添加自带宏模块
在“Tools”菜单中选择“MegaWizardPlug-PnManager”选项,出现如图5.46所示的对话框,选择新建宏模块单击“Next”按钮。
图5.46引用自带宏对话框
图5.47左侧是QuartusII自带的免费的宏模型,可以看到Quartus提供了很多免费的IP核。
其中ROM在storage目录中,计数器counter在arithmetic目录中。
3.添加ROM
在storage中选择ROM,并在右侧的选项栏中选择Cyclone系列芯片,outputfile类型选择VerilogHDL,并在下方选择ROM文件的生成地址及名称,如图5.48所示。
图5.47选择系统自带宏模块
图5.48选择ROM宏模块
单击“Next”按钮,设定ROM基本参数,包括ROM的位宽q、地址位宽(存储深度)和时钟。一般ROM的时钟选为单时钟控制Singleclock,如图5.49所示。
单击“Next”按钮,设定ROM其他参数,设定输出寄存器、时钟使能端和异步清零。如果选中“qoutputport”,则会在输出端加一级寄存器,如图5.50所示。
单击“Next”按钮,接下来在对话框中填入ROM初始化文件,并选中“allowin-systemmemory”选项,并选择名称为“NONE”,如图5.51所示。
图5.49rom宏模块基本参数设置
图5.50设置ROM宏模块其他参数
图5.51设置ROM宏模块初始化文件
单击“Next”按钮,完成设置,向导生成的文件如图5.52所示。
图5.52设置ROM宏模块完成
4.添加计数器
引入计数器作为ROM的地址,当计数器地址递增时,相应的ROM的地址递增(正弦波的相
QuartusII SignalTapII FPGA 相关文章: