最近在研读 Opencores 上面的 IIC master 代码时,用 Modelsim 做了仿真,用到了原理图(schematic)窗口。Modelsim 的原理图窗口配合 wave,可以很方便的观察各个 module 的输入输出信号的变化。原理图窗口提供了设计的实现视图,不通过 RTL 就可以看到设计的结构,连接性,层级关系等。它可以查看设计的“物理”连接;可以追溯设计的传播时间;可以找到非预期输出的原因。
如下图所示,展示了 Modelsim 的原理图窗口:
Schematic window 同时展示了设计中的可综合部分和不可综合部分。对于可综合部分来说:
- 显示组件之间的连接,以及从控制路径分离的数据路径;
- 标识时钟和事件触发器;
- 分离组合逻辑(Mux,Gates,Tristates)和时序逻辑(Flops);
- 推测出 RAM/ROM 模块;
此外,像 Causality Traceback 和扇入/扇出跟踪这样的集成特性可以帮助您探索和调试设计的可合成部分。
不可综合部分被包含在黑盒中,并且与周围组间保持连接。
使用流程(Usage Flows)
Schematic window 可用于在仿真期间调试设计,或执行仿真后调试。
要启用 Schematic window 的完整调试功能,必须在设计加载时创建调试数据库,然后再细化。数据库指定设计的组合和顺序元素。然后,将模拟运行期间生成的数据记录到数据库中,以便立即进行调试或 post-sim 调试。
实时仿真原理图调试流程(Live Simulation Schematic Debug Flow)
Set up your simulation to perform schematic debug tasks during a live simulation.
即需要在仿真的时候加上执行调试任务。
流程(Procedure)
- 创建工作区的库:
vlib <library_name>
- 编译设计文件:
vlog/vcom <design_name>
- 优化设计:
vopt +acc <design_name> -o <optimized_design_name> -debugdb
- 加载设计:
vsim -debugdb[=<dbname>] <optimized_design_name>
参数-debugdb
在当前工作的目录下创建了调试的数据库:<dbname>
。如果缺省,该文件默认为vsim.dbg。该文件包含带注释的原理图连接信息。
- 记录仿真数据:
log -r /*
建议记录整个设计的 log。这将提供事件的历史价值及其驱动因素。为了减少开销,您可以选择只记录感兴趣的区域。
可以使用 log 命令加单的保存仿真数据到.wlf 文件;或者,使用 add wave 命令记录仿真数据到.wlf 文件,可以在 Wave widow 窗口将仿真结果做为波形显示。
- 运行仿真;
- 使用 Schematic window 进行调试;
- 退出仿真;
Note: 如果没有扩展的数据流许可证,Schematic window 将无法工作。如果您试图创建调试数据库(vsim -debugdb)而没有这个许可,将出现以下错误消息。
Error:(vsim-3304)You are not authorized to use -debugdb,no extended dataflow license exits.
后仿真原理图调试流程(Post Simulation Schematic Debug Flow)
当您在模拟“场”中执行大型设计的模拟时,最常使用原理图分析的模拟后调试流,在模拟“场”中,模拟结果将在较长时间内收集并保存以供以后分析。
这种方式是先跑仿真,将仿真结果全都保留下来,待到仿真结束后,再进行仿真波形的查看。
跑仿真时候的方式与“Live Simulation Schematic Debug Flow”流程类似。
流程(Procedure)
- 双击 Modelsim 图标启动 Modelsim;
- 选择File > Change Directory 变换到 post-simulation 数据文件所在的目录;
- 使用如下命令读取数据文件:
vsim -view <db_pathname.wlf>
Modelsim 通过打开.wlf 数据集,自动关联同名的.dbg 数据库文件,如果没有发现同名称的,会尝试打开 vsim.dbg 文件。
参考
本文主要内容来自 Modelsim 的参考手册,因个人安装路径不同而不同,以下链接仅供参考:
file:///D:/modeltech64_10.6e/docs/htmldocs/mgchelp.htm#context=modelsim_se_user&topic=schematicwindow
扫码关注尚为网微信公众号
原创文章,作者:sunev,如若转载,请注明出处:https://www.sunev.cn/embedded/1290.html