Reg型
CoddyのVerilogジャーニー「基礎」セクションの一部 — レッスン 7/90。
Reg は Verilog における 2 番目の主要なデータ型です。wire とは異なり、reg は値を格納します。それは、何かがそれを変更するまで値を保持する変数です。
regは値を保持できますregはalwaysブロック内で使用されますregはハードウェアにおける「レジスタ」を意味するわけではありません。単に「ストレージ(記憶)」を意味します
regの宣言
reg x; // 1ビットのreg
reg y, z; // 1行で複数のregreg の仕組み
module reg_example;
reg x;
initial begin
x = 0; // x は 0 になります
$display("x = %d", x); // 出力: x = 0
x = 1; // x は 1 になります
$display("x = %d", x); // 出力: x = 1
end
endmoduleチャレンジ
やること:
countという名前の reg を追加してください
チートシート
reg は値を格納し、変更されるまでその値を保持します。always ブロックまたは initial ブロックの内部で使用されます。
reg x; // 1ビットのreg
reg y, z; // 複数のreginitial begin
x = 0; // 値を代入
x = 1; // 値を更新
end自分で試してみよう
module counter(
input clk,
input reset,
output out // デフォルトでは wire (reg を削除)
);
// ここで reg count を宣言する
endmoduleこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。