2016-03-05 74 views
-1

我有兩個std_logic_vectorsRARB相等,我想對它們執行以下算法:檢查是否所有的值都在兩個向量

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全爲零。

這樣做的好方法是什麼?我可能蠻力推行一些實施,但我寧願做一個聰明的方式。

謝謝,

+0

您的問題中的語法有些混亂。 ** 4 **的含義是什麼? RA,RB,RT如何申報?它們是信號還是變量? – damage

+0

我上面評論的「by 4」部分是指問題的以前版本。 – damage

回答

1

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

假設RT如何是std_logic_vector子類型爲好。不需要循環,比較運算符定義爲std_logic_vector(等維)。

相關問題