首页 > 解决方案 > 如何将 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 位的每一位。

我怎样才能做到这一点?

标签: specmanecadence

解决方案


您可能可以使用位片操作。例如,要将 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]

推荐阅读