verilog语言中assign怎么用
答案:1 悬赏:0
解决时间 2021-01-27 16:34
- 提问者网友:绫月
- 2021-01-26 22:16
verilog语言中assign怎么用
最佳答案
- 二级知识专家网友:空山清雨
- 2021-01-26 23:30
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
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |