モジュールの再利用性を考えると不便ですよね。
そこで次のような方法をとりましょう。
`define RESET_EDGE posedge
`define RESET_ON 1'b1
always @(posedge clk or `RESET_EDGE reset) begin
if (reset==`RESET_ON)
Q <= 1'b0;
else
Q <= D;
end
これが正論理の場合。
負論理に変更したい場合は、
`define RESET_EDGE negedge
`define RESET_ON 1'b0
とする。
もちろん、プロジェクト内でリセットの論理が統一されていることが前提です。
0 件のコメント:
コメントを投稿