まとめ:モジュールの作成
CoddyのVerilogジャーニー「基礎」セクションの一部 — レッスン 36/90。
チャレンジ
このチャレンジでは、この章で学んだすべてを組み合わせます。モジュールをゼロから作成し、それをインスタンス化します。
手順:
Part 1: 以下の構成で <strong>flipflop</strong> というモジュールを作成します:
clkという 1 ビット入力dという 1 ビット入力resetという 1 ビット入力qという 1 ビット出力 (always ブロックで代入するため reg を使用)
このモジュールは次のように動作する必要があります:
resetが 1 のとき、qは 0 になります- それ以外の場合、クロックエッジごとに
qはdになります
Part 2: 名前によるポートマッピングを使用して、<strong>top</strong> モジュール内に <strong>flipflop</strong> モジュールをインスタンス化します
各ポートを以下のシグナルに接続してください:
- ポート
clk→ シグナルclock - ポート
d→ シグナルdata - ポート
reset→ シグナルreset_signal - ポート
q→ シグナルout
自分で試してみよう
// パート1: flipflopモジュールを作成する
// TODO: ポートを追加する
// TODO: posedge clk と posedge reset を持つ always ブロックを追加する
// reset が 1 の場合、q <= 0
// それ以外の場合 q <= d
// パート2: インスタンス化を伴うトップモジュール
module top (
input clock,
input data,
input reset_signal,
output out
);
// TODO: インスタンス名 ff1 で flipflop をインスタンス化する
// 名前によるポートマッピングを使用: .clk(clock), .d(data), .reset(reset_signal), .q(out)
endmodule