wire是verilog默认的网线型数据对象,在任何时候都能进行读操作,写操作只能在assign连续赋值语句中使用。
assign是连续赋值语句:
基本格式 assign 变量=表达式
其中,assign是verilog中的关键字,表示这是一条连续赋值语句。“变量”是被赋值的对象,可以是一个完整变量,变量的部分为选择,可以是变量的组合—使用{,,}连接,但变量的类型必须是wire线网型变量。“表达式”可以是某个输入类型或双向类型的端口名,某个变量,某个向量变量的部分位选择,几个变量的组合,变量与操作符的组合,函数调用。
意义:只要assign连续赋值语句右边的表达式计算结果发生变化,assign语句就被驱动,“变量“的值就会发生变化。
多条assign语句 相互独立且并行执行。
说明:assign搭配wire类型变量常常用于组合逻辑信号。模块的输入输出端口类型都默认为wire型。默认初始值是z(高阻状态或浮空量)。线型数据需要持续的驱动。相当于直通的物理连线。