Verilog, сравнение с не равным битом переменной - PullRequest
1 голос
/ 08 мая 2011

Я плохо разбираюсь в verilog, мне интересно, есть ли возможный способ сравнения ниже переменных.

reg [7:0] var1;
reg [3:0] var2;

Здесь я хочу проверить, равно ли var2 последним 4 битам var1. Могу ли я сделать это, если да, то как? спасибо за помощь ...

Ответы [ 3 ]

3 голосов
/ 08 мая 2011

Имейте в виду, что тип reg предназначен для переменных с 4 состояниями (01xz).

Любой из них подходит для синтезируемых RTL:

if (var1[3:0] == var2[3:0])
if (var1[3:0] == var2)

В тестовом стенде лучше использовать «тройное равенство»:

if (var1[3:0] === var2[3:0])
3 голосов
/ 08 мая 2011

Вроде так:

if (var1[3:0] == var2)
    ...
0 голосов
/ 01 июня 2011

Вы можете сделать {if ~((var[3:0] ^ var2) | 4b'0000)}

Это должно быть проще для компилятора.

...