小梅哥FPGA学习笔记之Quartus II 15.0中仿真Altera三速以太网IP核(下)

2017-1-9 13:58 156 0

(接上篇)


编译完成后,一般不会出现错误,这时候,就可以通过设置NativeLink来将Quartus II工程文件与Modelsim-Altera软件关联起来了。设置NaitveLink的详细步骤如下图所示:


点击Assignments—>Settings


在弹出的对话框中(如下图所示)选择EDA Tool Settings(红框1处),选择Simulation(红框2处),核对红框3处和4处是否与图上设置的一致,然后勾选红框5处的Compile test bench,点击红框6处的Test Benches以进入新的testbench设置窗口。


在新的testbench设置窗口中,点击New以创建一个新的Testbench设置脚本,如下图所示:


单击New Test Bench Settings选项卡中的File name一栏最右侧的三个小点(红框1处所示):


在弹出的文件选项卡中,将目录定位到工程目录下的


_testbench/testbench_verilog/


目录下,选择_tb.V文件并Open(如下图所示),返回到New Test Bench Settings选项卡中。


点击Add将_tb.v添加进去,然后再次点击那三个小点(如下图所示):


进入文件选择选项卡中,将目录定位到工程目录下的


_testbench/testbench_verilog/models”文件夹中,选择除以timing开头的文件(时序仿真时才需要用到)以外的其他所有文件,点击Open。如下图所示:


这些文件都是为了配合仿真TSE IP核而存在的,属于仿真模型,这些文件组合在一起相当于虚拟了一个物理的网络收发器PHY。这样,就能够模拟真实的板级环境进行仿真测试了。


在New Test Bench Settings选项卡中,Test bench一栏中输入_tb,Top Level module in test bench一栏中输入tb。至于这里为什么要手动输入tb,而不是由软件自动填充的_tb。


为什么是这样,这里小梅哥最开始也郁闷了很久,我最开始也是直接使用_tb来填入top Level module in test bench中,结果modelsim – altera中仿真总是报错,提示找不到_tb.V文件,我就郁闷了,明明是已经加入进来了,为什么进行仿真时总说找不到呢?直到后来我打开_tb.V这个文件一看,才找到了原因,如下图所示:


虽然文件名字是_tb.V,但是文件中test bench的顶层实体名字任然是tb,因此,我们直接设置_tb.V作为top Level module in test bench的名字当然不对了,所以我们需要根据实际情况,输入top Level module in test bench的名字为tb。


设置完毕,连续点击两次OK,回到Settings - <工程名>选项卡中,勾选Use Script to setup simulation,并定位到文件_testbench/testbench_verilog//_wave.do。这个文件是一个脚本文件,主要功能是有条理的添加信号到仿真波形窗口中,以使我们看起来更加直观,如下图所示。


然后apply,OK即可。此时在Quartus II软件中点击RTL Simulation按钮即可启动仿真,如下图所示:


整个过程较为漫长,modelsim-altera需要首先对设计文件进行编译,然后才能运行仿真,大约需要3分钟左右的时间吧。仿真开始后,会自动在波形窗口中添加好信号并停在仿真时间0处,如下图所示:


因为仿真脚本中没有run这个命令,所以添加完波形后modelsim就进入等待状态,因此我们必须手动输入run –all命令,或者在GUI上点击run –all按钮来运行仿真,如下图所示:


仿真大约运行10秒左右就会停下来,此时就可以观察波形了,在Transcript窗口中也会打印仿真过程中的一些数据信息。下图为仿真结果欣赏:

接收模块和接收FIFO模块信号仿真波形:


发送模块和发送fifo模块仿真波形:


打印的信息:











今天只是做了IP核的功能仿真,暂时还没有对仿真结果进行分析,这个留到后面具体做通信数据的时候再来做。小梅哥年轻,经验不足,博客中若有什么不妥之处,欢迎各位指正。


小梅哥


2015年6月19日于北京至芯科技


广告

文章评论 0条评论)

登录后参与讨论
相关推荐阅读
小梅哥 2018-05-27 22:03
【博客大赛】【小梅哥FPGA】闹心的gcc-linaro-arm-linux-gnueabihf编译器——Floating ...
  今天在继续编写示波器(just for fun)工程,该工程的波形显示和处理界面是在Linux系统上编写程序实现的。应用程序的编写是使用的17.1版本的Quartus软件配套的DS-5软...
小梅哥 2018-05-09 22:37
【博客大赛】【小梅哥FPGA】Cyclone V SoC 中为HPS添加SPI控制器并使用 ... ... ... ...
    关于如何在Cyclone V SoC FPGA系统中为HPS添加一个SPI外设,这个实验我已经进行了有相当长的一段时间了,但直到今日方才有所突破,顺利的完成了SPI控制器的...
小梅哥 2018-05-04 11:49
【博客大赛】【小梅哥FPGA】Altera SOC更改Qsys后重新生成hps_0.h文件 ...
在Altera SoC的开发中,Qsys系统和Linux应用程序之间通过一个名为hps_0.h的文件交互硬件信息,例如总线上添加了哪些外设,每个外设相对于HPS外部总线的偏移地址,每个外设所占的地址空...
小梅哥 2018-05-04 11:44
【博客大赛】【小梅哥FPGA】Quartus II中使用脚本转换sof到rbf文件 ... ...
        rbf文件作为Altera的FPGA一种常见的配置数据格式,常用于使用其他主控主动配置FPGA时使用,例如PS模式。在Cyclone V SoC...
小梅哥 2018-05-04 11:36
【博客大赛】【小梅哥FPGA】使用DS-5编写和调试SoC的Linux应用程序 ...
对于Intel Cyclone V SoC FPGA用户,如果仅仅开发应用程序,也可以在 Windows 环境下完成。Intel针对其自家的SoC FPGA芯片提供了定制的DS-5软件,该软件为A...
小梅哥 2018-05-03 22:11
【博客大赛】使用MATLAB一键制作mif文件
        这里讲解实现一个16384(2^14)点的14位正弦波数据mif格式文件的生成,使用此文件,我们便可以在FPGA上基于直接数字合成(DDS)原理...
我要评论
0
0
广告