1.3 Verilog常见语句的语法
我的主页
1、赋值语句
1.1 连续赋值语句assign
assign语句
用于对wire型变量赋值,是描述组合逻辑最常用的方法之一。
例如assign c=a&b;
//a、b可以是wire型变量或寄存器变量,c必须是wire型变量或其他
线网型变量。
1.2 过程赋值语局“=”和“<=”
用于对reg型变量赋值
在过程块中使用过程赋值语句。
2、结构说明语句always
always块包含一个或一个以上的语句(如:过程赋值语句、条件语句和循环语句等),在运行的全过程中,在时钟控制下被反复执行。
时钟有效边沿来了就执行。
在always块中被赋值的只能是寄存器reg型变量。
always块的写法是:always @ (敏感信号表达式)
例如:
always @ (clk) //只要clk发生变化就触发
always @ (posedge clk) //clk上升沿触发
always @ (negedge clk) //clk下降沿触发
always @ (negedge clk1 or posedge clk2) // clk1下降沿触发clk2上升沿也触发
always @ (*)该语句所在模块的任何输入信号变化了都触发。
3、结构说明语句initial
initial语句用于对寄存器变量赋予初值
4、阻塞与非阻塞赋值
4.1 阻塞与非阻塞赋值的定义
阻塞的概念:
在一个块语句中,如果有多条阻塞赋值语句,在前面的赋值语句没有完成之前,后