-4
我停留在以下problem-VHDL代碼來轉換5位向量爲整數
我需要編寫轉換5位向量到整數,其中二進制數a4a3a2a1a0的整數值可以被計算爲一個VHDL函數( ((0 + a4)* + a3)* + a2)* + a1)* + a0。 這不是任何作業。但我正在準備考試。
謝謝!
我停留在以下problem-VHDL代碼來轉換5位向量爲整數
我需要編寫轉換5位向量到整數,其中二進制數a4a3a2a1a0的整數值可以被計算爲一個VHDL函數( ((0 + a4)* + a3)* + a2)* + a1)* + a0。 這不是任何作業。但我正在準備考試。
謝謝!
如果你的二進制數a4a3a2a1a0是std_logic_vector,你可以使用標準的轉換函數:
use IEEE.NUMERIC_STD.ALL;
。
integer_result <= to_integer(unsigned(input_vector));
必須使用NUMERIC_STD庫才能使其工作。
在很多情況下,可能使用'unsigned'作爲輸入向量的類型,刪除一個轉換階段。
'(0 + a4)*'表示什麼?這對我來說並不熟悉,至少不是VHDL。 – 2014-10-31 21:24:54
將結果變量初始化爲0.循環遍歷從MSB到LSB的向量的每一位,乘以2,然後在設置當前位時加1。 – 2014-10-31 22:19:58