4

在 VHDL 中访问数组时遇到以下问题:

假设我有一个大小不是 2^n 的数组,例如大小为 6。然后,如果我想使用宽度为 3 位的索引 (=ceil(log2(6))) 访问这个数组,很明显这个索引可以到达两个位置,7 和 8,这超出了我正在访问的数组的大小。Xilinx ISE 在这种情况下给了我一个警告。

我该怎么办?我可能的解决方案如下:

1.) 忽略警告。希望合成是聪明的。

2.) 仅使用大小为 2^n 的数组。希望阵列的未使用部分将被优化掉。

4

1 回答 1

3

我建议在这种情况下忽略警告。合成可以处理这个。

综合还可以轻松地优化掉任何未使用的东西,但人为地增加数组大小似乎有点矫枉过正。

于 2011-02-03T09:23:59.037 回答