Menu
Coddy logo textTech

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

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

challenge icon

チャレンジ

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

行うべきこと:

パート 1: 以下の仕様で <strong>flipflop</strong> という名前のモジュールを作成してください:

  • clk という名前の1ビット入力
  • d という名前の1ビット入力
  • reset という名前の1ビット入力
  • q という名前の1ビット出力 (reg を使用し、always ブロック内で代入)

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

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

パート 2: 名前によるポートマッピングを使用して、<strong>top</strong> モジュール内で <strong>flipflop</strong> モジュールをインスタンス化してください

ポートを以下の信号に接続します:

  • ポート clk → 信号 clock
  • ポート d → 信号 data
  • ポート reset → 信号 reset_signal
  • ポート q → 信号 out

自分で試してみよう

// パート 1: フリップフロップモジュールの作成

  // 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 でフリップフロップをインスタンス化する
  
  // 名前によるポートマッピングを使用する: .clk(clock), .d(data), .reset(reset_signal), .q(out)

endmodule

基礎のすべてのレッスン