[英]How to initialize a bit vector in VHDL
我想要一個矢量,我希望它有一個值2.我嘗試了很多東西,但我總是得到一個錯誤。 現在我有這個:
variable var : bit_vector := B"00000000000000000000000000000100";
我收到這些錯誤:
無法將整數文字與類型數組類型“bit_vector”匹配
和
不允許使用無約束數組類型“bit_vector”聲明變量“var”
我怎樣才能解決這個問題? 謝謝。
你必須給var
一個范圍(約束它),如:
variable var : bit_vector(31 downto 0) ...
然后你可以為它分配一個常量,例如:
library ieee;
use ieee.numeric_bit_unsigned.all;
...
variable var : bit_vector(31 downto 0) := to_bit_vector(2, 32);
或者以比特字符串給出的初始值如下:
variable var : bit_vector(31 downto 0) := "00000000000000000000000000000010";
正如您所看到的,使用to_bit_vector
不易出錯,因為示例代碼中的常量不是2但實際上是4 ;-)
更客觀,通用的分配如下:
var:=(1 =>'1',其他=>'0');
添加@ MortenZilmer的答案,請注意:
constant const: bit_vector := b"00000000000000000000000000000100"; -- works OK
variable var: bit_vector(31 downto 0) := 32d"2";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.