2016-06-27 25 views
0

私は配列を持つパッケージを持っています。VHDLで配列を選択

type reg_array_type is array (1 downto 0) of std_logic_vector(7 downto 0); 
    constant REG_ARRAY_C : reg_array_type := (
    x"00", 
    x"01"; 

私は私が何をしようとしている

data_write  <= REG_ARRAY_C(conv_integer(unsigned(index))); 

で、このパッケージを使用していますが、個別にパッケージ(X「00」、「01」X)からのデータにアクセスし、それを保管していますto data_write。私のシミュレーションでは、x "01"しかそこに保存されていません。

配列からx "00"にアクセスして最初にdata_writeに格納し、x "01"を格納するにはどうすればよいですか?

答えて

1

あなたが最初のバイトにアクセスしたい場合は、あなただけ...

data_write  <= REG_ARRAY_C(1); -- data_write is assigned x"00" 

を記述する必要があります... 2つ目:

data_write  <= REG_ARRAY_C(0); -- data_write is assigned x"01" 

私はあなたに助言を与えることができる場合配列を宣言するときにはDOWNTOの代わりにTOを使用するほうがわかります。最初のバイトは1、最後はNのようなNです。

type my_array is array (1 TO N) of std_logic_vector(7 downto 0); 

これは単なる提案です。

+0

ありがとうございます!それが私の問題を解決しました。 –