如何将 32 std_logic_vetor 个字写入 VHDL 中的数组

How can I write 32 std_logic_vetor words to an array in VHDL

我需要将 32 std_logic_vetor-s 写入数组 有点像

data_array <= {0x0000, 0xA0F1, 0xFFF1, 0xBFB1, 0x1F9A, 0x03CD,...}

看了一些例子,大家都在逐字逐句的做。

我需要一个循环吗?

如果是常量怎么办,那几十个字符串我一定要写吗?

正确的语法是:

data_array <= (x"0000", x"A0F1", x"FFF1", x"BFB1", x"1F9A", x"03CD",...)

您是否可以使用 for 循环取决于您的 std_logic_vectors 是如何提供的。如果您从另一个数组或串联的 std_logic_vector 中获取它们,则可以使用循环。

如果它们是常量,您必须在某处定义它们,所以是的,您必须将它们写下来(或者使用函数计算它们,如果合适的话)。