VHDL でポインターを逆参照する方法を理解できませんでした。
私が念頭に置いているのは、次のようなCコードです。
int a;
int* ptr_a;
a = 42;
ptr_a=&a;
*ptr_a=451;// how can I do this ?
VHDL でこのコードを模倣しようとしました:
ptr_test : process
type ptr_integer is access integer;
variable a : integer;
variable ptr_a : ptr_integer;
begin
a := 42;
ptr_a := new integer'(a);
report "ptr now points to a : ptr=" & str(ptr_a.all);
ptr_a.all := 451;
report "ptr modified : ptr=" & str(ptr_a.all);
report "a is NOT modified : a =" & str(a);
wait;
end process;
では、ポインターを介して値を正しく変更するにはどうすればよいでしょうか?