差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
reg [2019/05/06 16:46]
zhijun
reg [2019/05/06 17:14] (当前版本)
zhijun
行 7: 行 7:
 wire有两种赋值方式\\ wire有两种赋值方式\\
   * 普通列表项目在定义变量时赋初值,方式是用 = 。如果之后没有再做赋值,初值会一直保留 wire wire_a = 1’b0;   * 普通列表项目在定义变量时赋初值,方式是用 = 。如果之后没有再做赋值,初值会一直保留 wire wire_a = 1’b0;
-  * 普通列表项目用assign语句赋值,等式右边可以是wirereg一个常量或者是逻辑运算+  * 普通列表项目普通列表项目用assign语句赋值,等式右边可以是wire型变量、reg型变量、一个常量或者是逻辑运算 
 <code verilog> <code verilog>
 Wire wire_a; Wire wire_a;
行 17: 行 18:
 assign wire_d =wire_b & wire_c; assign wire_d =wire_b & wire_c;
 </​code>​ </​code>​
 +
 如果不赋值,wire的默认状态是高阻态,即z。\\ 如果不赋值,wire的默认状态是高阻态,即z。\\
-对reg的使用通常需要有触发条件,在always的block下进行。触发条件可以是时钟信号上升沿。赋值语句可以是 = 或者 ​=>​。如果是从reg到reg,则形成组合逻辑,如果是从reg到reg,则构成一个寄存器,形成时序逻辑。\\+ 
 +对reg的使用通常需要有触发条件,在always的block下进行。触发条件可以是时钟信号上升沿或者下降沿,则构成一个寄存器,形成时序逻辑;触发条件是电平信号的话则形成组合逻辑\\
 <code verilog> <code verilog>
 Wire wire_a; Wire wire_a;
行 30: 行 33:
 end end
 </​code>​ </​code>​
 +
 Reg在声明时候不赋初值。未赋值的reg变量处于不定态,即x。\\ Reg在声明时候不赋初值。未赋值的reg变量处于不定态,即x。\\
 使用方式\\ 使用方式\\