赞
踩
- 顾名思义,always翻译成汉语就是总是、一直,永远,和代码中的循环类似。
- 具体语法结构如下:
-
- always@(*) begin
-
-
- end
-
-
- 1.首先要有关键字 always,表示一直执行
- 2.@ 表示等待,等待什么,等待()后面小括号里面的变量
- 3.()小括号里面放的是敏感变量,具体来说就是只要里面的信号发生变化,就可以叫做敏感变量,只要有任何一个触发always块,都会触发这个always块
- 4.begin end用来封装,表示一个always块的具体逻辑
-
- reg out1;
-
- always@(*) begin
-
- if(sel == 1'b0)
- out1 = a;
- else
- out1 = b;
- end
- //这是组合逻辑电路,组合逻辑常用阻塞赋值,=号
- 首先*表示通配符,这里的敏感变量包括sel,a,b这里,这里直接用*号代表所有的敏感变变量,
- 当然写成@(sel,a,b)也可以,为了省事可以直接写成*
- 再次强调,always语句块中=等号左边必须是reg类型!!!
- 下面给一个时序逻辑电路举例:
- reg out1;
- always@(posedge clk or negedge rst_n)begin
- if(!rst_n)
- out1 <= 0;
- else if(sel == 1'b0)
- out1 <= a;
- else
- out1 <= b;
- end
-
- 时序逻辑常用非阻塞赋值,也就是<=号;
- 阻塞赋值和非阻塞赋值的具体区别以后会讲,这个超级无敌重要。。。。。。。。。。。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。