Соратник слонопотама писал(а):Можно Симплифаем, и Квартусом, и XST (синтезатор в Xilinx ISE), и Precision'ом (он в 369а стоит), и
ABC'ом - а патом сравнить и родить мега-научное исследование =)
Думаю, что результат на 90% можно предсказать без исследований - Simplify и/или Precision займут пьедестал почёта. Хотя бы за счёт универсальности - Symplify, например, поддерживает великое множество серий FPGA разных разработчиков. Да и качество синтеза квартуса и симплифай на данный момент тоже отличается в пользу последнего. Полагаю, ситуация с синтезатором от Xilinx и Precision аналогична. Ну а университетская разработка тихо помирает...
Однако ж я не знал про существование ABC - главная ценность которой, на мой взгляд - открытость, а как следствие - кроссплатформенность.
Можно скрестить ABC, Icarus Verilog, GTKWave и получится какая-никакая среда разработки под открытые ОС. Думаю, что это будет полезнее чем проводить сомнительные эксперименты над коммерческими синтезаторами.
Соратник слонопотама писал(а):Если без защелки не обойтись, нужно как-то явно дать это понять синтезатору. Директивой какой али нужным стилем программирования - уже не столь важно ).
Меня сильно раскритиковали на electronix.ru, когда я напрямую спросил об использовании защёлок. Советовали воздержаться от их использования в реальных проектах. Правда я так и не понял почему, но таю надежды на уточнение этой ситуции

Только не совсем ясно, как тогда реализовывать "регистровые" выходные воздействия от FSM, да ещё и без задержек.
Соратник слонопотама писал(а):Насчет триггера в LE - это все зависит от структуры LE. У разных производителей она разная, мало того, в разных семействах ПЛИС одного производителя она тоже разная. Что еще хуже, в документации могут быть описаны не все возможности коммутации сигналов и элементов, например, при задействованном LUT-е триггер, может быть, можно использовать в качестве распределенного ОЗУ, но этого может и не быть в документации, ибо считается, что юзеру этого знать не треба

- когда вставляешь мегафункцию памяти, можно выбирать, реализывать ее с использованием отдельных банков ОЗУ или с использованием распределенного ОЗУ, и в последнем случае синтезатор сам распихивает биты по триггерам в LE-ах, значит, у него есть для этого какие-то возможности. Кстати, может, в качестве распределенного ОЗУ используется сам LUT
Иными словами - отчёт об использовании ресурсов FPGA, выдаваемый синтезатором, содержит весьма приблизительные цифры?
Поглядел в список директив Simplify - вроде бы написано, что он умеет размещать регистровые файлы в блочной памяти, а не на триггерах.
Каким образом LUT может использоваться в качестве элемента ОЗУ? Разве его единственное предназначение - не комбинаторное преобразование?
Соратник слонопотама писал(а):Погляжу на досуге. Кстати, сразу, что такое baud16?
Благодарствую.
baud16 - это частота baud умноженная на 16, иначе говоря частота семплирования, взятая с коэффициентом - 16. По началу взял 64, но понял, что перегнул

Будет генерироваться в отдельном модуле baud_gen - так будет проще масштабировать в будущем.