Verilog赋值语句

  连续赋值语句:assign

      1,其左值必须是一个标量或向量线网,或者是标量/向量线网的拼接。不能是向量或向量寄存器。

      2,其总是处于激活状态,重要一个操作数发生变化,其值就会立即重新计算,并赋值给左边的线网。(比如今天遇到的将always里赋值变为assign赋值,解决了有延迟出错的问题)

      3操作数可以是标量或向量的线网或寄存器,也可以是函数调用。(暂时不懂)

      4,赋值延迟用于控制对线网赋予新值的时间。

   例子:assign out = i1 + i2;(out为线网,i1,i2为线网)

      assign add[15:0] = addr1_bits[15:0] ^ addr2_bits[15:0];(都是向量寄存器)

      assign #10 out = i1 + i2;(当i1或i2变化时,延迟10个单位,再将值赋给out;

摘抄自《Verilog+HDL 数字设计与综合》如有错误,欢迎指正,小白一个

      

      

原文地址:https://www.cnblogs.com/wyjalx/p/12857899.html