[an error occurred while processing this directive]
|
модуль это иерархический элемент и никак не соотносится с исполняемыми конструкциями
то есть модули - это чиста описание схемотехники, а не функций
поэтому модули просто соединяются между собой проводами (wire) и никак не похожи на функции/процедуры С (или любого другого процедурного языка)
в верилоге кстати есть функции (task/function), но сильно полагаю, что ими можно заняться позже :)
------------------------------
always @(posedge clock) надо заменить на
always @* (ну или если тулзы дебильные/старые на always @(cntr or enable or other_signal), где перичислены все сигналы, уоторые справа от равно)
это будет синтезировано в логику (не тригеры)
==============================
если струячить в схемотехнике получается, то очень рекомендуется понять какая конструкцию во что синтезируется (тут я пас - не осилю)