我有两个std_logic_vectors
RA
和RB
,我想对它们执行以下算法:
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
全为零。
这样做的好方法是什么?我可能会强行执行一些实施,但我宁愿这样做。
谢谢,
答案 0 :(得分:1)
怎么样
if (RA = RB) then
RT <= (others => '1');
else
RT <= (others => '0');
end if;
假设RT也是std_logic_vector
的子类型。不需要循环,比较运算符是为std_logic_vector
s(等维)定义的。