まとめ:モジュールの作成
CoddyのVerilogジャーニー「基礎」セクションの一部 — レッスン 36/90。
チャレンジ
このチャレンジでは、この章で学んだすべてを組み合わせます。モジュールをゼロから作成し、それをインスタンス化します。
行うべきこと:
パート 1: 以下の仕様で <strong>flipflop</strong> という名前のモジュールを作成してください:
clkという名前の1ビット入力dという名前の1ビット入力resetという名前の1ビット入力qという名前の1ビット出力 (reg を使用し、always ブロック内で代入)
モジュールは次のように動作する必要があります:
resetが 1 のとき、qは 0 になります- それ以外の場合、各クロックエッジで
qはdになります
パート 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