Я работаю с Xilinx ISE на Spartan-6, который управляет сложной доской с несколькими функциями. Как вы можете себе представить, проект VHDL становится довольно сложным, и, как программист на C++, я чувствую необходимость использования массивов для уплотнения кода.Многомерные массивы VHDL: советы и хорошие методы проектирования
Я уже пробовал использовать те, что были в прошлом, но у меня было много проблем. В то время я был не очень опытным и много других ошибок, которые присутствовали, которые я решил после того, как выровняли структуры массивов. Другая проблема, с которой я столкнулся, заключалась в невозможности имитировать пост-перевод (снова с массивами), но поскольку я обнаружил, что симуляция прослушивается, потому что она не инициализирует созданные LUT.
Итак, вот вопросы: какие меры предосторожности я должен иметь в виду при использовании массивов? Каковы наиболее важные методы проектирования с массивами? Будут ли у меня проблемы с имитацией подмодулей с последующей картой или после-PAR моделирования?
Стандарт VHDL допускает также многомерные типы массивов для портов, и это особенно полезно (также в сочетании с записями) при маршрутизации сигналов через многочисленные иерархии. Вы столкнулись с каким-либо инструментом, который не смог обработать многомерный массив для портов? –
XST (Xilinx, до Vivado) указывает в руководстве пользователя, что многомерные массивы для более чем трех измерений поддерживаются, но не рекомендуются. В нем также говорится, что многомерный массив не принимается в качестве порта. –
XST ver. 14.6 позволяет использовать многомерный массив с не менее чем тремя размерами в качестве порта в режиме входа и выхода. –