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

Checking if all values are equal in two vectors

我有两个 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 设置为全 1,否则,RT 全部为零。

这样做的好方法是什么?我可能可以蛮力执行一些实现,但我宁愿以一种聪明的方式来做。

谢谢,

怎么样

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

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