您的位置 首页 技术

FPGA规划开发软件Quartus II的运用技巧之: 典型实例-SignalTap II功用演示

本节旨在通过给定的工程实例——“正弦波发生器”来熟悉Altera Quartus II高级调试功能SignalTap II和Intent Memory Content Editor的使用方法。同时使用

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的地址递加(正弦波的相位增加)。相同的在“MegaWizardPlug-InManager”中挑选arithmetic数学库中的“LPMCOUNTER”宏模块,增加计数器,如图5.53所示。

图5.53新建计数器模块参数

本实例顶用的ROM宽度为8,深度为64,也便是数据宽度是8位,能够存64个数据。ROM有64个地址,因而计数器的位宽要界说为6位,如图5.54所示。

图5.54设置计数器宏模块参数

一向单击“Next”按钮,运用体系默认设置,直到生成如图5.55所示的文件输出。

图5.55完结计数器宏模块设置

5.10.2.4增加端口

要增加输入输出端口,挑选按钮,翻开如图5.56所示的对话框,然后挑选需求增加的端口方式。

图5.56参加输入输出端口

增加后双击端口,给端口命名,总线型端口要命名name[N..0]的格局,如图5.57所示。

图5.57完结工程原理图输入

5.10.2.5编译工程

依照2.5节进行语法剖析,指定FPGA设备,指定管脚,全体编译程序。在本实例中只需求对主时钟管脚进行分配,即pin_153。

5.10.2.6运用SignalTapII调查波形

1.树立SignalTapII文件

在菜单中挑选“Tools”/“SignalTapIILogicAnalyzer”选项,翻开如图5.58所示界面。

图5.58新建SignalTapII文件

作如图5.59所示的设置。

图5.59SignalTapII文件设置

SignalTapII根本设置需注意以下问题。

(1)分频时钟作为采样信号,不要放到被调查的信号中。

(2)采样信号不宜用作主时钟,能够用作分频后的时钟,采样条件可用Centertriggerposition。

下载程序,就能够看仿真的波形了。

2.设置SignalTapII高档触发条件

在如图5-58所示的增加调查信号区域窗口中,将TriggerLevels选项改为Advanced,将Basic改为Advanced,则会弹出高档触发设置页面,如图5.60和图5.61所示。

图5.60翻开SignalTapII文件高档触发设置

图5.61SignalTapII文件高档触发设置

本例中设置为当地址信号address=0时开端触发。从“nodelist”中拖入address信号,在“ObjectLibrary”/“ComparisonOperator”中参加equality,最终参加“InputObjects”/“BusValue”。得到如图5.62所示的触发条件。

图5.62SignalTapII高档触发设置成果

3.运转SignalTapII并调查波形

首要全体编译工程,在菜单栏中单击按钮,开端编译。之后运用JTAG形式将程序下载到FPGA中运转。翻开SignalTapII文件,挑选如图5.63所示的下载电缆。

在InstanceManager中单击按钮进行一次触发,将会得到如图5.64所示的波形。

图5.64调查采样数据数字显现波形

由于开发板硬件没有AD/DA功用,要想看模仿信号的输出也能够用逻辑剖析仪来完结。在信号名(比方q信号)上单击右键,挑选“BusDisplayFormat”/“UnsignedLineChart”选项,如图5.65所示。

图5.65调查采样数据模仿显现波形 图5.66调查采样数据模仿显现波形成果图

此刻,就能够显现如图5.66所示的模仿波形了。

5.10.2.7运用在线ROM编辑器

嵌入式存储数据编辑器是经过JTAG下载电缆来观看FPGA中ROM加载的数据的,不仅能观看,还能在线修正数据,无需从头编译与下载。

1.翻开ROM编辑器

挑选“Tools”/“InsystemMemoryContentEditor”选项,翻开如图5.67所示的rom编辑器。

图5.67翻开在线ROM编辑器窗口

2.挑选下载电缆

运用打印口LPT1下载电缆,如图5.68所示。

图5.68设置下载电缆

3.挑选ROM标号

点击设置ROM参数时指定的none的文件,将呈现FPGA运转之中的ROM的数据,如图5.69所示。

图5.69挑选ROM标号

4.读取ROM数据

右键单击“NONE”,挑选“ReadDatafromSystemMemory”选项,就能够得到ROM中的数据了,如图5.70所示。

图5.70读取ROM数据

5.修正ROM数据

经过编辑器,能够修正ROM中的数据。例如能够把数据中的几个数改成0,然后单击“write”,再回到逻辑剖析仪中调查波形,就能够发现其间的改变,如图5.71所示。

图5.71修正后ROM数据显现

5.10.3小结

上述练习流程便是一个完好的QuartusII硬件调试流程。尽管此练习完结的功用比较简单,但关于初学者来说,是一个不错的入门练习。其首要意图是让初学者对的规划有一个开始的了解。经过该练习来了解QuartusII的高档调试技巧,为往后的学习打下根底。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/jishu/194377.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部