设计要求:将一组固定的数据(三角波形表)存储在FPGA中使用IP核构建的片上ROM中,开发板上电后,系统开始从ROM中读出数据,将数据直接通过并口输出。通过使用Signal Tap II软件实时抓取并口上的数据,显示得到三角波形。然后使用Quartus Prime软件中提供的In-System Memory Content Editor工具在线更改ROM中的数据(将数据更改为正弦波形表),然后再次观察signal Tap II工具抓取到的波形数据。
ROM在上电后需要进行初始化,这里支持HEX核MIF格式文件初始化。单击工具栏中的New,选择Memory Files中的Memory Initialization File,来创建一个mif文件。为了生成三角波的数据,使用excel在一列中从0加到127再减为0。选中mif文件中的所有表格然后粘贴。
Tools栏Megawizard Plug搜索ROM:1-PORT。将输出目录确定为prj文件夹下或prj文件夹下的ip文件夹,以rom为名保存为Verilog格式。通过Browse选择初始化文件,可以选为hex或者mif格式,选择前面生成的三角波mif文件。然后finish。
在进行功能仿真时,q不能直接观看到三角波。通过在qq右键选择Format-Analog(automatic)将所有信号均切换到无符号数,并把输出数据格式改为模拟的自动模式,即可看到十个周期三角波波形文件。
仿真正弦波,使用Sin3e软件生成一个正弦波的mif文件。通过Browse选择正弦波的mif文件,再次启动仿真。但是出来的波形有误,需要右键打开Properties,将Max:255,Min:0。即可。