Menu
Coddy logo textTech

まとめ:モジュールの作成

CoddyのVerilogジャーニー「基礎」セクションの一部 — レッスン 36/90。

challenge icon

チャレンジ

このチャレンジでは、この章で学んだすべてを組み合わせます。モジュールをゼロから作成し、それをインスタンス化します。

手順:

Part 1: 以下の構成で <strong>flipflop</strong> というモジュールを作成します:

  • clk という 1 ビット入力
  • d という 1 ビット入力
  • reset という 1 ビット入力
  • q という 1 ビット出力 (always ブロックで代入するため reg を使用)

このモジュールは次のように動作する必要があります:

  • reset が 1 のとき、q は 0 になります
  • それ以外の場合、クロックエッジごとに qd になります

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

基礎のすべてのレッスン