一. VCS Xprop
1. 目的:提高 X 相关仿真和调试的 效率
Verilog 和 VHDL 常用于数字设计建模。设计人员使用 RTL 构造描述硬件行为。然而,某些 RTL 仿真语义不足以准确地为硬件行为建模。因此,相比实际硬件行为,仿真结果要么太过乐观,要么太过悲观。因为这些语义限制,Verilog 和 VHDL RTL 仿真器会忽略掉控制信号上的X不定态,在输出上会分配一个固定的数值。这样造成的结果就是,由于缺少X的传播, RTL 仿真器往往无法检测到和 X态相关的设计问题。然而,同样的设计问题可以在门级仿真中检测出来,因此许多时候必须运行大量的门级仿真,只是为了调试 X 相关问题。现在VCS® 在RTL阶段提供了的全新 X 传播(X-propagation)支持,使用该技术,工程师可以节省大量用于调试RTL和门级仿真的X建模的差异上的时间和精力。
2. 思路:VCS Xprop 工具
VCS® Xprop 旨在帮助寻找 RTL 中的 X 相关问题,减少对冗长的门级仿真的需求。两种 HDL 语言,Verilog 和 VHDL 的条件构造仿真语义都不足以精确地为未初始化的寄存器和上电复位值中固有的模糊性建模。当建模为 'X' 值的不确定状态成为控制表达式时,这些问题格外棘手。
启用 VCS Xprop 时,突出的仿真差异最常见的来源之一就是不正确的初始化序列。该行为通常因为复位/时钟信号从 0 转换至 X、从 1 转换至 X,或反之亦然。如果触发器对时钟信号的上升沿敏感,X 到 1 的转换将触发触发器,当使用 Verilog 上升沿或传统 VHDL 触发器行为代码进行编码时,输入值传递至输出,代码为:clk’event 和 clk