[an error occurred while processing this directive]
|
1) так и зачем вспоминать то, что было раньше? Давайте еще PALASM вспомним и сравним с верилогом или вхдл.
2) c inout это и понятно, так как дальше его по любому надо расчленять на in, out и опциональный enable. Особенно если писать так, чтобы кто-то потом смог это понять.
3) ну что reg это не факт что регистр, к сожалению так. Это явная недоработка языка, вполне могли бы разрешить операции с wire внутри блоков. Ну а пока для тех reg, что на самом деле wire, я ставлю просто комментарии. В этой части все-таки AHDL бесподобен, четко определяя тип регистра и допуская if/case вне каких-либо блоков. И эти списки чувствительности там как класс отсутствуют вместе со связанными с ними геморроями. Плохо только что он альтеро-специфичен. Может ассемблерщиной и попахивает, но приходится при работе на верилоге периодически расставлять вручную элементы из техлибы, экономя столь дорогостоящие квадратные микроны кристалла. Радует что хоть теперь можно объявлять массивы из модулей :). Точнее это было и раньше, но синопсис поддержал с 2001 начиная.
4) К сожалению для синтеза список чувствительности все-таки актуален. При забывчивости синопсис устраивает или лишние LATCH'и, или хренову тучу ворнингов. А эти LATCHи отжирают свои квадратные микроны и наносекунды, хотя и не заметны вроде как при прогоне тест-бенча. Ну а для ПЛИСовых синтезеров мож и не важно, тут я особо не исследовал вопрос. В общем в этой части мне ни верилог, ни вхдл, ни SC не нравится. Но ничего не поделаешь - приходилось раньше аккуратничать, теперь ставить "@*".
E-mail: info@telesys.ru