Уважаемые знатоки Verilog, не могли бы Вы подсказать ответы на волнующие меня вопросы, или дать ссылку на источник информации, где можно найти эти ответы.
1) на одном украинском сайте выложена статья про reusable code, там в качестве примера приводится АЛУ. там перед (вызовом модуля) module instantiation написано следующее ALU #(size_A, size_B) ALU_DUT , что это за задержка такая #(size_A, size_B)? size_A и size_B явл-ся параметрами вызываемого модуля. В этой же статье не совсем понятно что означает сие объявление reg [6*8:0] _Mode_names [3:0];
2) необходимо реализовать устройство на синхронной логике, реагирующее по фронту тактовой частоты и асинхронным reset и En. Вопрос заключается в следующем, поскольку мне важна последовательность назначений, можно ли использовать блокирующие назначения внутри конструкции always??? Согласно статье Сергея Емеца за 2001 год - "Если в блоке требуется провести последовательное исполнение операторов, следует применять блокирующий тип присвоения". Я полагаю, таким образом у меня появятся триггеры-защелки, как на Ваш взгляд было бы более качественно(меньшие аппаратные затраты, более высокое время исполнения) реализовать этот модуль?
always @(posedge clk or negedge reset)
if (!reset) or (AMCount == 1)
result <= DATA_WIDTH_out'b0;
else
begin
if (En)
begin // использовали блокирующее присвоение
R = R + (((C >> 56) & 0xFF) * 113);
R = R + (((C >> 48) & 0xFF) * 61);
R = R + (((C >> 40) & 0xFF) * 23);
R = R + (((C >> 32) & 0xFF) * 131);
R = R + (((C >> 24) & 0xFF) * 79);
R = R + (((C >> 16) & 0xFF) * 91);
R = R + (((C >> 8) & 0xFF) * 47);
R = R + (((C & 0xFF) * 157);
result = R % AMCount;
end
end
3) Если у меня между аппаратными блоками передаются данные с типом структура T размером 18 байт , в которую входит набор элементов-данных (1байт.1байт.8байт.8байт.2байта.8байт) мне необходимо эту структуру передавать по шине, соответствующей размерности, а уже внутри моего блока-приемника разделить эту шину, на интересующие меня сигналы(wire) ? Или на практике это реализуется несколько иначе? Если не затруднит, не могли бы скинуть ссылку, где описывается данная проблема.