在systemverilog中,bit over reg的优点是什么?

时间:2016-04-25 11:24:44

标签: system-verilog verification asic test-bench

测试平台中的变量大多数实例化为bit而不是reg。但是bit只是2个状态变量(0和1),reg是4个状态变量(0,1,x和z)。为什么人们使用bit作为测试平台变量?我接管了一个旧项目,所有测试平台变量都是bit。所以当检查员执行像

这样的检查时

if (data_rtl === data_expected) // reg[63:0] data_rtl, bit[63:0] data_expected

我无法在data_expected端执行X检查。当然,使用bit是常见的,为什么人们会这样做? systemverilog中bit优于reg的优势是什么?

3 个答案:

答案 0 :(得分:3)

通常,在测试平台的激励生成和预测组件中不需要4状态类型。双状态仿真具有较少的内存开销,可有效地使数据缓存的大小增加一倍。您基本上只需要在测试平台和DUT之间的接口中的适当时间检查X&#s。 X在设计中的产生和传播本身就是一个广泛的话题。对于设计不同领域的X而言,大多数模拟在过于乐观或过于悲观时非常不准确。有时,在这种情况下使用静态分析(定时或正式)工具会更好。

答案 1 :(得分:1)

在某种程度上,你回答了自己的问题。 bit是一个双态变量。对于许多验证测试平台应用程序,不需要x和z值。额外的两个状态的计算/内存开销,以及关于变量被设置为z或x的可能性的额外关注是不需要的,因此不被使用。

答案 2 :(得分:0)

bit&有一些关键的区别REG

  • reg是一个4状态变量(1或0或X或Z,默认为X),但bit是2状态变量(0或1,默认为0)

现在对我们有什么影响。

  • 4个状态变量是硬件所必需的,与硬件一样,取决于电压电平和电压。线缆的驱动器,线路可以具有逻辑值1或0或X或Z.因此,对于硬件观点,应该使用{em>

  • 但是从刺激的角度来看,我们通常不需要X或Z状态,因为你永远不会驾驶带有未知(X)或没有任何驱动器(Z)的电线。因此,在这种情况下,可以使用位,因为reg仅包含2个状态。

希望你能有所作为