Menu
Coddy logo textTech

Recap - Build A Module

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

challenge icon

チャレンジ

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

実行すること:

Part 1: <strong>flipflop</strong> という名前のモジュールを、次の要素とともに作成します:

  • 1ビットの入力。名前は clk
  • 1ビットの入力。名前は d
  • 1ビットの入力。名前は reset
  • 1ビットの出力。名前は q(reg を使用し、always block 内で割り当てる)

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

  • 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

基礎のすべてのレッスン

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