在 VHDL 中初始化内存

initializing memory in VHDL

我有这段代码:

type mem_type is array (0 to 15) of std_logic_vector (15 downto 0); 
signal Mem : mem_type:= (X"269F",X"351A",X"7752",X"9152",
                         X"CCD1",X"7A8B", "A429",X"5758",
                         X"A325",X"BC3D",X"725D",X"B459",
                         X"7264",X"E241",X"74FC",X"19BC");

我在初始化 Mem 的那一行收到以下错误:

No array or record type can be found that has elements of types matching the aggregate.

您的一个初始化值前面没有 X 来指定十六进制值。然后您的代码试图将字符串放入 16 位 std_logic_vector,这当然是一个错误。