assign用法

更新时间:2023-05-07 14:06:05 阅读: 评论:0

assign⽤法
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
注意事项
assign的功能属于组合逻辑的范畴,应⽤范围可概括为以下三点:
1、持续赋值;
2、连线;
3、对wire型变量赋值,wire是线⽹,相当于实际的连接线,如果要⽤assign直接连接,就⽤wire型变量。wire型变量的值随时变化。其实以上三点是相通的。
要更好的把握assign的使⽤,Verilog中有⼏个要点需要深⼊理解和掌握:
1、在Verilog module中的所有过程块(如initial块和always块)、连续赋值语句(如assign语句)和实例引⽤都是并⾏的。在同⼀module中这三者出现的先后顺序没有关系。
2、只有连续赋值语句assign和实例引⽤语句可以独⽴于过程块⽽存在于module的功能定义部分。
3、连续赋值assign语句独⽴于过程块,所以不能在always过程块中使⽤assign语句。

本文发布于:2023-05-07 14:06:05,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/865823.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:变量   语句   功能   理解   连线   没有   出现   过程
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图