目录
参考《Verilog 编程艺术》魏家明著
Verilog 赋值操作
1.连续赋值(Continuous assignment),用于对线网Nets的赋值
2.过程赋值(Procedural assignment),用于对变量variables的赋值
3.过程连续赋值:assign/deassign 和 fork/realease
赋值由两部分构成:左手端LHS和右手端RHS,它们由 = 或 <= 分开。
连续赋值
当RHS发生变化时,连续赋值就会发生。连续赋值可以模拟组合逻辑,不需要使用逻辑门,直接使用逻辑表达式驱动线网。
例子:
assign {carry_out, sum_out} = ina + inb + carry_in;
assign mynet = {enable ? data : 1'b0};
在声明线网时也可以赋值,但是这个线网就不能被多驱动了
wire mynet = {enable ? data : 1'b0};
我们可以针对下面这些类型线网的连续赋值指定驱动强度: