В Verilog я знаю, что мы не можем передавать «события» между модулями. Howe в System Verilog? Я хотел бы, событие «TRIG» зацепив источник запуска блоков «eventGen» и потребляемые блоком «eventConsume» Некоторые, как я получаю ошибку компиляцииВ SystemVerilog события могут быть определены в портах
Код:
module propagateEvents;
reg clk;
event trig;
initial
begin
clk = 1'b0;
end
always #10 clk = ~clk;
eventGen eventGen (trig, clk);
eventConsume eventConsume (trig, clk);
endmodule
module eventGen(trigGen, clk);
input clk;
event trigGen;
reg count[3:0];
initial
count = 0;
always @(posedge clk)
begin
count = count + 1'b1;
if (count == 'h8)
->trigGen;
end
endmodule
module eventConsume(trigConsume, clk);
input clk;
event trigConsume;
always @(trigConsume)
begin
$display("Trigger caught");
end
endmodule
Я получаю ошибку как «error- [RILIP] Регистрация в низком свя входного порта propagateEvents.sv, 21 „trigGen“ Non-сеть переменная„trigGen“не может быть входом или INOUT порт. error- [RILIP] Зарегистрируй в низком свя входного порта propagateEvents.sv, 40 "trigConsume" Non-сеть переменная 'trigConsume' не может быть входом или INOUT порт. – Mike