実現したいこと
FPGAのPL部分の動作周波数が100MHzであることを考慮して、0.1秒間隔でLEDにカウントを出力させる4bitカウンタを作成しています。
クロック同期4ビットバイナリカウンタの動作
回路構成
発生している問題・エラーメッセージ
ネットに複数のドライバがあるということですが、どのように改善すればよいでしょうか。
ご教授お願いします。
[DRC MDRV-1] Multiple Driver Nets: Net EN_IBUF has multiple drivers: COUNT_reg[3]_i_1/O, and EN_IBUF_inst/O.
該当のソースコード
Verilog
1module counter ( 2 input wire CLK, RES, EN, 3 output reg [3:0]Q); 4 5 reg [23:0] scale; 6 7 always @(posedge CLK or negedge RES) begin 8 if (RES == 1'b0) 9 scale <= 24'h0; 10 else if (scale == 24'd99999999) 11 scale <=24'd0; 12 else 13 scale <=scale + 24'd1; 14 end 15 16 assign EN = scale == 24'd99999999; 17 18 always @(posedge CLK or negedge RES) begin 19 if (RES == 1'b0) 20 Q <= 4'd0; 21 else if (EN == 1'b1) 22 Q <= Q + 4'd1; 23 end 24endmodule
変更後
Verilog
1module counter ( 2 input wire CLK, RES, 3 output reg [3:0]COUNT); 4 5 reg [23:0] scale; 6 7 always @(posedge CLK or negedge RES) begin 8 if (RES == 1'b0) 9 scale <= 24'h0; 10 else if (scale == 24'd9999999) 11 scale <=24'd0; 12 else 13 scale <=scale + 24'd1; 14 end 15 16 assign wire EN = scale == 24'd9999999; 17 18 always @(posedge CLK or negedge RES) begin 19 if (RES == 1'b0) 20 COUNT <= 4'd0; 21 else if(EN == 1'b1) 22 COUNT <= COUNT + 4'd1; 23 end 24endmodule
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
Windows11
Vivodo 2020.2
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/06/06 05:57
2022/06/06 06:17
2022/06/07 03:11