-
编译型仿真器的方法论
- 编译一次,运行多次
允许VCS进行优化以获得最佳性能
运行批处理模式进行回归测试
使用自检测平台(HDL,SystemVerilog,UVM)
更适用于服务器集群 - 避免使用交互式仿真模式
以交互方式应用刺激
查看波形以确定通过/失败
使用多个测试平台,导致重新编译 - 花更多时间在RTL
更高的抽象级别=减少仿真器器的工作量
RTL级的仿真速度比门级仿真快20倍
不带时序检查的门级仿真比带时序门级仿真快〜5倍
- 编译一次,运行多次
-
仿真的方法论
- 为调试和回归生成单独的simv
如果仿真失败,则可以编译回归环境以进行调试 - 提前计划,提高仿真性能
在编译pragma中包装调试和详细代码
使用runtime +plusargs而不是Tcl脚本
为仿真后调试创建自检测试平台
使用功能覆盖率来监控已测试的内容 - 尽量少使用交互式模拟
容易出错且代价昂贵 - 在回归期间收集覆盖率信息
- 为调试和回归生成单独的simv
-
运行回归测试
- 目标:仿真越快越好
优化VCS以获得最佳仿真速度 - RTL仿真的建议
删除所有不必要的调试标志:-debug *,+cli,-ucli
从门级单元/基元中删除时序:
%> vcs +nospecify +notimingchecks
始终以32位模式进行模拟(默认)
如果确实需要64位模式,请尝试64/32位交叉编译 - 回归脚本
由P
- 目标:仿真越快越好