1. verilog 过程连续赋值
过程连续赋值是过程赋值的一种。
这种赋值语句能够替换其它所有 wire 和 reg 的赋值,改写了 wire 或 reg 型变量的当前值。
与过程赋值不同的是,过程连续赋值的表达式能被连续的驱动到 wire 或 reg 型变量中,即过程连续赋值发生作用时,右端表达式中任意操作数的变化都会引起过程连续赋值语句的重新执行。
赋值过程中对寄存器连续赋值,寄存器中的值被保留直到重新赋值。
笔记
assign(过程赋值操作)与 deassign(取消过程赋值操作)。知道有 deassign 即可,实际工作中,几乎用不到。
force(强制赋值操作)与 release(取消强制操作)是无条件强制赋值,一般用于调试过程,不要在设计模块中使用。
当 force 作用在寄存器上时,寄存器当前值被覆盖;release 时该寄存器将继续保留强制赋值时的值。之后,该寄存器的值可以被原有的过程赋值语句改变。
当 force 作用在线网上时,线网值也会被强制赋值,但是,一旦 release 该线网型变量,其值马上变为原有的驱动值。