Мне интересно, является ли этот синтаксис systemVerilog поведенчески правильным:
module m (input [3:0] in1);
endmodule
module top();
assign inst.in1 = 4'b1010;
m inst (.in1());
endmodule
Я спрашиваю, потому что заметил странный результат при проверке формальной логической эквивалентности. Есть ли другой лучший способ управлять портом экземпляра in1?
Иерархические ссылки обычно не считаются синтезируемыми.
Если вы хотите ввести константу на вход, вы можете написать
module top();
m inst (.in1(4'b1010));
endmodule
или
module top();
wire [3:0] in = 4'b1010;
m inst (.in1(in));
endmodule
Я отредактировал заголовок! Вопрос в том, корректен ли этот синтаксис с поведенческой точки зрения? т.е. будет ли синтез правильным? ...