Verilog语言使用一个或多个模块对数字电路建模,通常可以用三种方式:1、结构描述方式:即调用其它已定义好的低层模块或直接调用Verilog内部基本门级元件描述电路结构和功能。2、数据流描述方式:连续使用赋值语句(assign)对电路的逻辑功能进行描述。3、行为描述方式:使用过程块语句结构(initial和always语句)和比较抽象的高级程序语句对电路的逻辑功能进行描述。你问的assign语句就属于第二种。连续赋值语句用于对wire型变量进行赋值,它由关键字assign开始,后面跟着由操作数和运算符组成的逻辑表达式。例如:wireA,B,SEL,L;//声明4个线型变量assignL=(A&~SEL)|(B&SEL);//连续赋值在assign语句中,左边变量的数据类型必须是wire型。input和output如果不特别声明类型,默认是wire类型。举例2选1的数据选择器:modulemux2x1_df(A,B,SEL,L);inputA,B,SEL;outputL;assignL=SEL?A:B;endmodule