Verilog中的wire和reg

  • wire

    1. 表示逻辑单元的物理连线,可以对应电路中的物理信号连接;
    2. 该变量类型不能保持电荷;
    3. 该变量需要有驱动源,一种是连接到一个门或者模块的输出端,另一种是用assign连续赋值语句对它进行赋值;
    4. 若没有驱动源,将保持高阻态。
  • reg

    1. 寄存器型或存储器型(本质上是寄存器型变量阵列);
    2. 对应的硬件电路原件具有状态保持作用,能够存储数据,如触发器、锁存器等;
    3. 常用于行为级描述1中,由赋值语句2对其进行赋值;

reg型数据与wire型数据的区别在于,reg型数据保持最后一次的赋值,而wire型数据需要有持续的驱动。
在信号的形式定义方面,无论是对时序逻辑电路还是对组合逻辑电路进行描述,Verilog HDL要求在过程语句(initialalaways)中,被赋值信号必须定义为reg类型。


  1. 在使用verilog描述电路时,既可以进行行为级的描述,也可以进行结构级的描述。行为级描述侧重对模块行为功能的抽象描述,结构级描述侧重对模块内部结构实现的具体描述。详细参考FPGA–(verilog)行为级描述和结构级描述; ↩︎

  2. 赋值语句包括过程连续赋值语句assign和过程赋值语句(=、<=)。 ↩︎

你可能感兴趣的:(FPGA,fpga开发)