Индексы массива в ширину для массива - PullRequest
4 голосов
/ 03 февраля 2011

У меня возникает следующая проблема при доступе к массивам в VHDL:

Скажем, у меня есть массив не размером 2 ^ n, например, размером 6. Затем, если я хочу получить доступ к этому массиву, используя индекс шириной 3 бита (= ceil (log2 (6))), ясно, что этот индекс может достигать двух позиций, 7 и 8, которые находятся за пределами размера массива. Я получаю доступ. Xilinx ISE дает мне предупреждение в этом случае.

Как мне поступить об этом? Мои возможные решения следующие:

1.) Не обращайте внимания на предупреждения. Надеюсь, что синтез умный.

2.) Используйте только массивы размером 2 ^ n. Надеюсь, что неиспользованные части массива будут оптимизированы.

1 Ответ

3 голосов
/ 03 февраля 2011

Я предлагаю игнорировать предупреждения в этом случае. Синтез может справиться с этим.

Синтез также может легко оптимизировать все, что не используется, но искусственное увеличение размеров массивов кажется излишним.

...