specman - 如何将 32 位数字的每个位与另一个 32 位数字进行比较?
问题描述
我正在考虑将 32 位数字的每个位与另一个 32 位数字进行比较。
eg. check that ins.dout_1 == (ins.din1_1 + ins.din2_1)
其中dout_1、din1_1 和din2_1 都是32 位无符号整数。我想检查 dout_1 的 12 位到 7 位的每一位是否等于 (ins.din1_1 + ins.din2_1) 结果的 12 位到 7 位的每一位。
我怎样才能做到这一点?
解决方案
您可能可以使用位片操作。例如,要将 somex
的第 12 到 7 位与 some 的第 12 到 7位进行比较y
:
check that x[12:7] == y[12:7]
或者在您的具体示例中,它可能是:
check that ins.dout_1[12:7] == (ins.din1_1 + ins.din2_1)[12:7]