Modelsim/Questasim如何禁用设计中特定模块的SDF时序检查
新版Modelsim/Questasim禁用同步器时序检查的操作指南
1 解决tcheck_set命令无法识别的问题
tcheck_set命令默认不会被TCL解释器加载,需要在仿真启动阶段添加对应参数启用相关接口:
- 运行
vsim命令时必须添加-tcheck参数,该参数是时序检查控制功能的开关,未添加时所有tcheck相关命令都会报不存在错误。 - 如果你在
vsim中使用了-O2/-O3等高等级优化参数,需要额外补充-keep_tchecks参数,避免优化器直接删除时序检查节点,导致后续命令无法匹配到目标单元。
2 tcheck_set命令的正确使用方式
命令基础格式为:
tcheck_set <目标单元路径匹配规则> -disable
举个实际用例:如果所有同步器都例化在top.dut模块下,例化名前缀为sync_,要禁用这些同步器的全部时序检查,写法如下:
tcheck_set top.dut.sync_* -disable
如果需要更细粒度的控制,比如只禁用指定寄存器的建立时间检查,可以补充-type参数:
tcheck_set top.dut.sync_reg1 -disable -type setup
3 可选简化方案
如果你的同步器是遵循通用编码规范或用官方IP实现的,可以直接在vsim命令中添加-nosyncarchs参数,工具会自动识别所有同步器架构的单元并禁用其内部时序检查,不需要手动编写路径匹配规则。
内容的提问来源于stack exchange,提问作者pico
相关产品推荐
相关产品推荐

