Menu
CoddyTech

復習 - モジュールを構築

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

challenge icon

チャレンジ

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

課題:

パート1: 次の要件を満たすモジュール flipflop を作成します:

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

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

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

パート2: ポート名によるマッピングを使って、モジュール flipflop をモジュール top 内でインスタンス化します

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

  • ポート 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: インスタンス化を含むtopモジュール
module top (
  input clock,
  input data,
  input reset_signal,
  output out
);

  // TODO: ff1というインスタンス名でflipflopをインスタンス化する
  
  // 名前によるポートマッピングを使用する: .clk(clock), .d(data), .reset(reset_signal), .q(out)

endmodule

基礎のすべてのレッスン

自分で練習してみよう: Verilogオンラインコンパイラ