verilog语言中assign怎么用
展开全部
Verilog语言使用一个或多个模块对数字电路建模,通常可以用三种方式:
1、结构描述方式:即调用其它已定义好的低层模块或直接调用Verilog内部基本门级元件描述电路结构和功能。
2、数据流描述方式:连续使用赋值语句(assign)对电路的逻辑功能进行描述。
3、行为描述方式:使用过程块语句结构(initial和always语句)和比较抽象的高级程序语句对电路则老的逻辑功能进行描述。
你问的assign语句就属于第二种。
连续赋值语句用于对wire型变量进行赋值,它由关键字竖颂assign开始,后余盯郑面跟着由操作数和运算符组成的逻辑表达式。例如:
wire A,B,SEL,L;//声明4个线型变量
assign L=(A&~SEL)|(B&SEL);//连续赋值
在assign语句中,左边变量的数据类型必须是wire型。input和output如果不特别声明类型,默认是wire类型。
举例2选1的数据选择器:
module mux2x1_df(A,B,SEL,L);
input A,B,SEL;
output L;
assign L=SEL?A:B;
endmodule
1、结构描述方式:即调用其它已定义好的低层模块或直接调用Verilog内部基本门级元件描述电路结构和功能。
2、数据流描述方式:连续使用赋值语句(assign)对电路的逻辑功能进行描述。
3、行为描述方式:使用过程块语句结构(initial和always语句)和比较抽象的高级程序语句对电路则老的逻辑功能进行描述。
你问的assign语句就属于第二种。
连续赋值语句用于对wire型变量进行赋值,它由关键字竖颂assign开始,后余盯郑面跟着由操作数和运算符组成的逻辑表达式。例如:
wire A,B,SEL,L;//声明4个线型变量
assign L=(A&~SEL)|(B&SEL);//连续赋值
在assign语句中,左边变量的数据类型必须是wire型。input和output如果不特别声明类型,默认是wire类型。
举例2选1的数据选择器:
module mux2x1_df(A,B,SEL,L);
input A,B,SEL;
output L;
assign L=SEL?A:B;
endmodule
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询