10進同期カウンタを作成してみましょう。 // 10進同期カウンタ記述例
module counter (clk, rst, counter_reg);
// カウンタ回路の入力信号.クロック信号とリセット信号
input clk,rst;
// カウンタ回路の出力信号.4ビット.
output [3:0] counter_reg;
// カウント値を保持するレジスタ
reg [3:0] counter_reg;
// クロックの立ち上がりに同期
always @(posedge clk) begin
if(rst) begin // リセットが入力されたらカウンタをリセット
counter_reg <= 0;
end
else begin // リセットが入力されていなければカウントを続ける
if(counter_reg < 9) begin // カウント値が9未満ならカウントを続ける
counter_reg <= counter_reg + 1;
end
else begin
// カウント値が9になったらリセット
counter_reg <= 0;
end
end
end
endmodule
課題1.1.1ISEでプロジェクトを作成し、上記のソースを作成してください。シミュレーションを行い動作確認をしてください。 シミュレーションはWavefromを使用する方法、Verilogでテストベンチを作成し行う方法がありますが、どちらの方法でもかまいません。 課題1.1.220進同期カウンタを作成してください。 |