Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
а также анализировать списки предупреждений и ошибок, возникающих на каждом этапе построения проекта
для правильного описания аппаратуры необходимо знать синтаксис языка ...
для правильного описания аппаратуры необходимо знать синтаксис языка ...
Можно предположить, что синтез модуля test2 не должен отличаться от синтеза модуля test1, так как логики описания обоих модулей не противоречат друг другу.
ограничениями которого являются возможности самих сред разработки
В статье поднят правильный вопрос про универсальность HDL, но, как мне кажется, подход к его раскрытию совсем неправильный. У вендоров есть специальная документация, по тому, как писать HDL код так, чтобы результат был предсказуемым, например:
Конкретно эти ссылки только для примера. Но статья про то, какие есть в этих рекомендациях различия, почему они есть и самое главное — выводы о том, как писать HDL код так, чтобы он удовлетворял и тем и другим рекомендациям была бы намного более полезной, чем выводы:
для правильного описания аппаратуры необходимо знать синтаксис языка

Моделирование как раз такие говорит, что это одно и то же устройство.
clk'event and clk = '1' или альяс rising_edge(clk)). С этой точки зрения и существуют нормативы написания корректно синтезируемых конструкций, указанные в комментариях выше.Теперь по теме: поправьте меня если я ошибаюсь но мне кажется что результаты Quartus и Libero это и правда результат synthesis. Что же до Vivado то там уже мы видим более продвинутый этап.
if (arst) begin при списке чувствительности отрицательного фронте negedge arst вызывает конфуз даже у схемотехника. Что говорить об синтезаторе. Из чего следует, что как миним перед проектированием следует ознакомится с соответствующим кодстайлом и не использовать «придуманные» конструкции либо быть готовым к «абракрадабре» после синтеза.
Странности синтеза при работе с FPGA