Цитата Сообщение от Vslav Посмотреть сообщение
Но откуда они возьмут недостающие параметры?
Какие? Разве модуль может использовать что-то, что не описано как входной параметр или как внутренняя переменная? Если может, то модуль надо переписать так чтобы он использовал только то, что прямо задано во входных параметрах.
Цитата Сообщение от Vslav Посмотреть сообщение
А нужно ли? лишняя память и манипуляции.
Это потому что у нас модуль маленький и простой.
Тут надо бы ещё определиться с такой вещью. Какая модель первична. Описанная на верилоге или на си? Т.е. Нужно ли и на си сохранять более менее понятный код, по которому можно разобраться в работе?
Если взять что посложнее, например vm1_qbus.v, то там функция assign неприлично разрастётся и возникнет желание разбить её на несколько частей, хотя бы чтобы самому не запутаться. Но если один раз написать и забыть, и больше туда не заглядывать - то сойдёт.
Имея одну функцию assign и целую кучу awaysов на все случаи жизни, придётся извне вызывать сперва assign, потом разные awaysы, которые необходимо, потом ещё раз assign, т.е. самим выполнить необходимую работу.
Мой же метод предполагает, один раз вызвать одну функцию, там внутри всё само прокрутится по заданным алгоритмам, и на выходе будет конечный результат, который можно использовать снаружи.

Теперь нужно на верилоге написать модуль, который использует модуль ir13 внутри себя, например 16 битный сдвиговый регистр или ещё чего-нибудь. И попробовать переписать всё это на си. Вот тут и станет ясно, чей метод нужно будет использовать в дальнейшем.