1. 配置仿真工具

在Quartus 中,选择Assignments->Settings,然后再弹出的对话框左侧选择EDA Tool Settings->simulation,可以进行仿真的配置,如Tool name, Format(VHDL/Verilog/...), TestBench, simulation script等。

2. 从Quartus中运行Modelsim

Tools->Run EDA simulation Tool,有两个选项,EDA RTL simulation就是功能仿真,EDA Gate level simulation 就是时序仿真。选择后Modelsim会自动启动,并打开Wave窗口,显示testbench 中的波形。

3. 查看内部信号

如果使用以上的方法,打开的信号波形默认都是testbench里面定义的。有时候需要查看模块内部信号,也是很方便的。

可以在sim窗口中一层一层找到的所在的instance,选中,这样就会在Object上窗口出现所用到的信号。选择需要的拖到Wave窗口即可。

也可以在Transcript窗口输入命令add wave /testbench_name/design_unit_name/signal_name。这个名字是路径的形式,一层一层写下去的。如果不知道,可以把鼠标悬浮在Object对应的信号上,会出现这个信号的完整路径。

4. 写Modelsim的script

但是这两种方法都比较麻烦,因为每次从Quartus中调用Modelsim的时候都会进行默认配置,这就需要每次都要重新添加信号,调整顺序。对了,还得先选择simulate->start simulation,添加信号后,再选择simulate->run -all。

其实,根据上面写的命令,可以把我么想要的添加信号操作都放在一个脚本文件(.do)中,然后在Quartus的仿真器配置中,勾选use script to set up simulation,并选择script文件路径。这样每次每次启动的时候,都按照文件中的一条一条命令执行了,省了很多事。

关于脚本文件的写法,也不用那么复杂。仿真的时候,有个默认的脚本文件,在仿真文件目录下,.do的那个。例如我的文件viterbi_run_msim_rtl_vhdl.do的内容如下:

transcript on
if {[file exists rtl_work]} {
    vdel -lib rtl_work -all
}
vlib rtl_work
vmap work rtl_workvcom -93 -work work {C:/Users/Du/MyWork/WiFi-FPGA/viterbi/pkg_param.vhd}
vcom -93 -work work {C:/Users/Du/MyWork/WiFi-FPGA/viterbi/pkg_trellis.vhd}
vcom -93 -work work {C:/Users/Du/MyWork/WiFi-FPGA/viterbi/dec_viterbi.vhd}
vcom -93 -work work {C:/Users/Du/MyWork/WiFi-FPGA/viterbi/dec_viterbi_tb.vhd}vsim -t 1ps -L altera -L lpm -L sgate -L altera_mf -L cycloneive -L rtl_work -L work -voptargs="+acc" dec_viterbi_tbadd wave *
view structure
view signals
run -all

看到了倒数第四句,意思是添加所有信号,这时我们就可以按照需要添加我们需要的信号。改后成为:myscript.do

transcript on
if {[file exists rtl_work]} {vdel -lib rtl_work -all
}
vlib rtl_work
vmap work rtl_workvcom -93 -work work {C:/Users/Du/MyWork/WiFi-FPGA/viterbi_ver2/pkg_param.vhd}
vcom -93 -work work {C:/Users/Du/MyWork/WiFi-FPGA/viterbi_ver2/pkg_trellis.vhd}
vcom -93 -work work {C:/Users/Du/MyWork/WiFi-FPGA/viterbi_ver2/dec_viterbi.vhd}
vcom -93 -work work {C:/Users/Du/MyWork/WiFi-FPGA/viterbi_ver2/acs.vhd}
vcom -93 -work work {C:/Users/Du/MyWork/WiFi-FPGA/viterbi_ver2/dec_viterbi_tb.vhd}vsim -t 1ps -L altera -L lpm -L sgate -L altera_mf -L cycloneive -L rtl_work -L work -voptargs="+acc" dec_viterbi_tbadd wave /dec_viterbi_tb/u1/clk_in
add wave /dec_viterbi_tb/u1/clk_out
add wave /dec_viterbi_tb/u1/cnt_dec
add wave /dec_viterbi_tb/u1/gen_acs__63/inst_acs/inrecv
add wave /dec_viterbi_tb/u1/gen_acs__63/inst_acs/inprepm_high
add wave /dec_viterbi_tb/u1/gen_acs__63/inst_acs/inprepm_low
add wave /dec_viterbi_tb/u1/gen_acs__63/inst_acs/v_high
add wave /dec_viterbi_tb/u1/gen_acs__63/inst_acs/v_low
add wave /dec_viterbi_tb/u1/gen_acs__63/inst_acs/outpm
add wave /dec_viterbi_tb/u1/gen_acs__63/inst_acs/outspadd wave /dec_viterbi_tb/u1/pmmview structure
view signals
run -all

这样只要在Quartus中设置了这个myscript.do 文件,程序运行的时候就可以自动按照里面的命令执行了。

也可以在Transcript窗口输入do myscript.do执行。这样还有一个好处就是,不用每次综合完,都要关一下仿真器,再重新启动,只需要综合完,在Modelsim的命令窗口输入个do myscript.do 就好了。我是这样做的,感觉方便了不少,不知道还有没有更好的方法。

Modelsim仿真查看内部信号相关推荐

  1. Modelsim仿真如何查看内部信号

    一般Modelsim看的信号波形都是test bench中定义的默认信号.有时候需要看模块内部信号. 可以选择sim窗口,查看internal,一般选择需要查看的信号在Objects窗口出现的信号,根 ...

  2. vivado软件如何查看内部器件的仿真信号

    有时候,我们需要查看内部模块的信号,那么,在vivado软件该如何操作呢? 运行仿真,可以得到这个界面,之后看左侧部分,可以查看内部的模块. 例如单击rom0 可以看见其内部信号,然后在想观察的信号, ...

  3. modelsim仿真中 do文件的写法技巧

    Modelsim之 DO文件简介 网上的关于DO文件的编写好像资料不多,比较杂,所以本人总结一下常用的简单语法,方便大家查看.其实本人也刚接触DO文件没多久,有纰漏很正常,欢迎指正批评,互相学习.PS ...

  4. [转帖]ISE与Modelsim联合观察中间信号

    如何仿真IP核(建立modelsim仿真库完整解析) 来源:http://www.ednchina.com/ART_49023_19_0_AN_7116cf44.HTM IP核生成文件:(Xilinx ...

  5. modelsim仿真系列之基于ISE的IP核的独立仿真(二)

    第一步 编译Xilinx的IP核 在开始菜单Xilinx文件夹中选择Simulation Library Compilation这个工具:仿真器编译工具,如下图1所示, 图1: 打开仿真器编译工具后, ...

  6. Modelsim仿真流程

    Modelsim仿真流程 1. Modelsim简介 略. 2. modelsim仿真流程:modelsim基本的仿真流程包括建立库.建立工程并编译.仿真.调试.但在libero环境中运行models ...

  7. modelsim仿真加速注意点

    下面说一下我的使用方法(我一般是在linux下使用,考虑到大家大部分都使用windows,所以下面举的例子为windows下的使用方法): 1.建立modelsim子目录 2.第一次运行时,还是需要先 ...

  8. ModelSim仿真入门之一:软件介绍

     http://www.cnblogs.com/xd-elegant/p/4093645.html 编写这个教程之前,为了让不同水平阶段的人都能阅读,我尽量做到了零基础入门这个目标,所有的操作步骤 ...

  9. FPGA开发技巧:Modelsim仿真.do文件详细解析 原创 特权同学

    FPGA开发技巧:Modelsim仿真.do文件详细解析 原创 特权同学 FPGA快乐学习 以<FPGA边码边学 视频教程>"Lesson06 分频计数器设计"中的si ...

最新文章

  1. Javascript进阶:匿名函数详解
  2. 简明python教程在线-Python简明教程
  3. tomcat架构分析(概览)【转】
  4. SAP中外向交货单出具发票无法生成会计凭证
  5. 【JavaScript】理解与使用Javascript中的回调函数
  6. 中石油训练赛 - Perfect Tree(dfs)
  7. Win10 Build 11099和11102的更动超过1200项
  8. 争议“云游戏”:一个几十亿规模的颠覆者?一场徐虎飘渺的幻梦
  9. 第九篇:Spring Boot整合Spring Data JPA_入门试炼05
  10. java io面试题_【Java面试】Java常见IO面试题!
  11. 大数据的分析手段有哪几种
  12. 目标跟踪入门篇—相关滤波
  13. Java 常用修饰符总结
  14. 数据库:如何安装SQL,手把手教你
  15. python获取百度迁徙大数据
  16. C语言单片机笔试题,c语言面试题集(单片机
  17. windowspython专用装B代码
  18. Java开发设计——七大原则
  19. 未来无生经超级计算机,第三十二章 有些鸡肋的未来无生经
  20. 辞职信前端源码文件分享

热门文章

  1. Android获取手机应用程序包的信息
  2. [Java] 初始化与清理
  3. [转]Webkit内核探究【2】——Webkit CSS实现
  4. Linux系统守护进程详解
  5. 国防科大 linux教程,国防科大《嵌入式系统》肖侬视频教程
  6. linux主节点启动nfs,51CTO博客-专业IT技术博客创作平台-技术成就梦想
  7. python opencv模板匹配多目标_基于opencv的多目标模板匹配
  8. termux安装python3失败_boot空间不足导致安装python3失败
  9. 对校招生培养工作的建议_高校学生会组织深化改革评估工作组对我校学生会复核验收...
  10. oracle的shell命令,Shell实现的Oracle启动脚本分享