私は xilinx vivado でそのような verilog コードを書きました:
module a(input clk, input clk1, output reg [4:0] acc)
initial
begin
acc = 5'd0;
end
always @ (posedge clk or posedge clk1)
begin
acc <= acc+1;
end
endmodule
そして、合成を実行するとエラー (イベント制御のあいまいなクロック) が発生し、vivado はエラーが "always @ (posedge clk または posedge clk1)" の行にあることを指摘します。エラーが 1 つだけ発生しました。このエラーが発生する理由と、コードの機能を変更せずに解決する方法を知りたいです。ご覧のとおり、clk または clk1 が 0 から 1 になったときに何かを実行したいと考えています。