Menu
CoddyTech

reg 类型

本课属于 Coddy Verilog 学习旅程的“基础知识”单元。第 7 课,共 90 课。

Reg 是 Verilog 中第二种主要数据类型。与 wire 不同,reg 会存储一个值。它是一个会保持其值不变的变量,直到某些操作改变它。

  • reg 可以存储值
  • reg 用于 always 块中
  • reg 在硬件中并不表示“寄存器”,它只表示“存储”

声明 reg

reg x;           // 单比特 reg
reg y, z;        // 一行中有多个 reg

reg 的工作原理

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
challenge icon

挑战

要做什么:

  1. 添加一个名为 count 的 reg 

亲手试试

module counter(
  input clk,
  input reset,
  output out   // 默认是 wire(移除 reg)
);
  
  // 在这里声明 reg count

  
endmodule
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: Verilog 在线编译器