检查两个向量中的所有值是否相等

时间:2016-03-05 23:01:50

标签: for-loop vector vhdl

我有两个std_logic_vectors RARB,我想对它们执行以下算法:

for i = 0 to 15 loop
    if RA(i) = RB(i) then RT(i) <= 0xFFFFFFFF;
    else RT(i) <= 0x00000000;
    end if;
end loop;

基本上,我想将两个向量相互比较(在这种情况下,逐位)并看到它们是相等的。如果是,那么我将输出向量RT设置为全部,否则RT全为零。

这样做的好方法是什么?我可能会强行执行一些实施,但我宁愿这样做。

谢谢,

1 个答案:

答案 0 :(得分:1)

怎么样

if (RA = RB) then
    RT <= (others => '1');
else
    RT <= (others => '0');
end if;

假设RT也是std_logic_vector的子类型。不需要循环,比较运算符是为std_logic_vector s(等维)定义的。