カウンターが 2D 配列で受け取る値を宣言する必要があります。また、配列から要素を選択して使用するにはどうすればよいですか (別の変数に割り当てるなど)、この 2D 配列の要素を宣言するにはどうすればよいですか?
type lutable is array (0 to 4, 0 to 63) of integer range 0 to 4000;
カウンターが 2D 配列で受け取る値を宣言する必要があります。また、配列から要素を選択して使用するにはどうすればよいですか (別の変数に割り当てるなど)、この 2D 配列の要素を宣言するにはどうすればよいですか?
type lutable is array (0 to 4, 0 to 63) of integer range 0 to 4000;
2D配列で例:
type lutable is array (0 to 4, 0 to 2) of integer range 0 to 4000;
signal sample_array: lutable;
次のように、エレメントを別のシグナルに割り当てることができます。
out_signal<=sample_array(in_a, in_b);
配列の内容は、たとえばデフォルトとして宣言できます (注意、これはすべての合成ツールでサポートされているわけではありません!):
signal sample_array: lutable:=( (1000, 2000, 3000),
(4000, 3000, 2000),
(100, 200, 300),
(1,2,3),
(5,6,7));
または定数配列、たとえば:
signal sample_array: lutable;
constant sample_array_init: lutable:=( (1000, 2000, 3000),
(4000, 3000, 2000),
(100, 200, 300),
(1,2,3),
(5,6,7));
...
sample_array<=sample_array_init;
...
または、もちろん、要素ごとに:
sample_array(1,1)<=1000;
...