FPGA规划开发软件Quartus II的运用技巧之: 典型实例-SignalT
米乐体育直播

  本实例运用QuartusII自带的宏模块(MegaWizardPlug-inManager)来规划逻辑功用,并运用嵌入式硬件逻辑分析仪调查成果。

  正弦函数发生器的原理比较简单,硬件完结也比较简单:首要规划一个ROM用来寄存正弦函数的起伏数据;用一个计数器来指定ROM地址(也便是相位)的增加,输出相应的起伏值。这样在接连的时间内显现的便是一个完好的正弦波形。

  div模块是分频模块,能够用前面规划过的分频器的程序生成模块(symbol),也能够运用Altera的计数器宏模块来生成分频器。

  将分频器模块div.v参加到工程中,在工程中翻开分频器模块div.v(分频器程序由读者完结),如图5.41所示。

  假如犯错则修正过错,直到没有过错停止。此刻软件会主动生成div.bsf文件,此文件为原理图中的模块图形。

  填入如图5.45所示的正弦波起伏数据。当然也能够用MATLAB、C++或Excel的函数生成数据。保存文件,命名sin.mif。

  在“Tools”菜单中挑选“MegaWizardPlug-PnManager”选项,呈现如图5.46所示的对话框,挑选新建宏模块单击“Next”按钮。

  图5.46引证自带宏对线左边是QuartusII自带的免费的宏模型,能够看到Quartus供给了许多免费的IP核。

  单击“Next”按钮,设定ROM基本参数,包含ROM的位宽q、地址位宽(存储深度)和时钟。一般ROM的时钟选为单时钟操控Singleclock,如图5.49所示。

  单击“Next”按钮,设定ROM其他参数,设定输出寄存器、时钟使能端和异步清零。假如选中“qoutputport”,则会在输出端加一级寄存器,如图5.50所示。

  单击“Next”按钮,接下来在对话框中填入ROM初始化文件,并选中“allowin-systemmemory”选项,并挑选名称为“NONE”,如图5.51所示。

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

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

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

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

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

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

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

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