-1
我想將std_logic_vector向右移位d位置,在每個移位中將移位的值完成0,並且絕不會截斷其餘位中的。這是一個具體的例子,a ='110001',b = shiftRight(a,3),然後b等於'000110001'。 '001'的最後一位不會被截斷,但是srl會被截斷。有沒有可能的實現?如何將std_logic_vector向右移位而不截斷第一個位
我想將std_logic_vector向右移位d位置,在每個移位中將移位的值完成0,並且絕不會截斷其餘位中的。這是一個具體的例子,a ='110001',b = shiftRight(a,3),然後b等於'000110001'。 '001'的最後一位不會被截斷,但是srl會被截斷。有沒有可能的實現?如何將std_logic_vector向右移位而不截斷第一個位
你的例子只是串聯,如前所述。你也可以使用一個無符號的大小調整到比特添加到這可能會更好地工作,左位,如果要添加的數量是一個變量或參數:
new_slv <= std_logic_vector(resize(unsigned(my_slv),my_slv'length + more_bits));
你能告訴聲明和實際VHDL語法。 – user1155120
您的示例沒有顯示任何移位示例。你的例子顯示'b <=「000」&a'。 – Paebbels