[an error occurred while processing this directive]
|
Нет - в корне не согласен. Различие именно в принципе объявления переменных. В AHDL все поголовно переменные имеют тип модулей (NODE это тоже модуль, в котором IN=OUT). DFF тоже модуль. И так далее. То есть я определяю любой тип с нужной мне функциональностью при помощи описания соответствующего модуля, и юзаю переменные этого типа. А могу подключить модуль точно как в верилоге, в тексте, в любом месте. А могу вызвать модуль как функцию, опять же в любом месте. В верилоге же типы - абстрактные wire и reg (ну пусть signed/unsigned). Подключение модулей - только в тексте. Функции - это функции, но не модули. Ограничение свободы выбора :). И отсутствие defaults в купе с невозможностью if/case вне процесса напрягает. Однако жизнь заставляет юзать верилог, и к сожалению при работе с не-альтерами приходится писать на нем.
Ну а в каком месте их объявлять - мне привычнее еще со времен программирования как раз в начале, в одном месте. Но это уже IMHO как раз и не принципиально, это не ограничивает возможностей, это дело удобства и наглядности.
E-mail: info@telesys.ru