Как сравнить каждый бит 32-битного числа с другим 32-битным числом?

Я думаю сравнить каждый бит 32-битного числа с другим 32-битным числом.

eg.    check that ins.dout_1 == (ins.din1_1 + ins.din2_1)

Какие dout_1, din1_1 и din2_1 являются целым числом без знака из 32 бит. Я хочу проверить, что каждый бит от 12 до 7 бит dout_1 равен каждому биту от 12 до 7 бит результата (ins.din1_1 + ins.din2_1) или нет.

Как я могу это сделать?


person Harvey Wang    schedule 17.12.2018    source источник


Ответы (1)


Вероятно, вы можете использовать операцию битового среза. Например, чтобы сравнить биты с 12 по 7 некоторого x с битами с 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]
person Yuri Tsoglin    schedule 17.12.2018