Изменение общего значения в Quartus не влияет на результат компиляции

У меня проблема с дженериками в Quartus.

Они работают, но если я объявлю, скажем, n = 10, а позже изменю его на n = 100, результаты компиляции и моделирования НЕ изменятся. Как если бы общее значение по-прежнему было n = 10.

Я попытался перекомпилировать дизайн, но это не сработало. Я пытался удалить временные файлы, удалив все каталоги в папке моего проекта, но ничего. Я пробовал архивировать проект и восстанавливать его - нет.

Кажется, работает только копирование содержимого файла VHDL, вставка его в новый файл с другим именем и перекомпиляция.

Есть ли способ заставить Quartus признать, что общее значение изменилось? Я полагаю, что мог бы подумать об этих значениях, прежде чем вставлять их, но по очевидным причинам создание нового файла, создание нового символа и изменение основного файла дизайна немного раздражает. Любая идея, что я могу сделать по этому поводу? Есть что-нибудь?


person Benji    schedule 12.04.2016    source источник


Ответы (1)


Похоже, здесь виноват файл схемы верхнего уровня .bdf. Пробовал обновить символ после перекомпиляции, не помогает. Удаление и повторное добавление компонента помогает. После удаления основного графического файла и установки моего проекта VHDL в качестве объекта верхнего уровня (с общим внутри) простая перекомпиляция решает проблему.

Хорошая работа, Квартус. Отличная работа.

person Benji    schedule 12.04.2016
comment
Да, смешивание потоков (здесь, схема и VHDL) часто, мягко говоря, плохо продумано. Поэтому большинство людей придерживаются чистого VHDL, и ни у кого нет ответа на ваш вопрос. Не критикуйте Altera здесь слишком сильно, возможно, это отраслевая норма. (Кроме того, чистый HDL легче портировать для других производителей. Просто кое-что, о чем стоит небрежно упомянуть торговым представителям...) - person user_1818839; 13.04.2016
comment
Я пытаюсь перейти от блоков к чистому VHDL (для переносимости и команды «генерировать»), но мне не приходило в голову, что программа будет учитывать то, что находится на символе блока, а не внутри файла, ОСОБЕННО после компиляции. По крайней мере, обновление компонентов должно исправить это, но это не так. - person Benji; 16.04.2016