【Verilog】行为级建模

您所在的位置:网站首页 always语句中的语句是什么语句 【Verilog】行为级建模

【Verilog】行为级建模

2024-07-16 03:02| 来源: 网络整理| 查看: 265

系列文章

数值(整数,实数,字符串)与数据类型(wire、reg、mem、parameter) 运算符 数据流建模

系列文章定义过程语句initial过程语句always过程语句过程语句使用中的注意事项过程赋值语句连续赋值语句 条件分支语句循环语句

定义

行为描述常常用于复杂数字逻辑系统的顶层设计中,也就是通过行为建模把一个复杂的系统分解成可操作的若干个模块,每个模块之间的逻辑关系通过行为模块的仿真加以验证。这样就能把一个大的系统合理地分解为若干个较小的子系统,然后再将每个子系统用可综合风格的Verilog HDL模块(门级结构或RTL级、算法级、系统级的模块)加以描述。同时行为建模也可以用来生成仿真测试信号,对已设计的模块进行检测。

过程语句

Verilog HDL中过程块是由过程语句所组成的。过程语句有两种,分别是initial过程语句和always过程语句。

initial过程语句

initial过程块在进行仿真时从模拟0时刻开始执行,它在仿真过程中只执行一次,在执行完一次后该initial过程块就被挂起,不再执行。如果一个模块中存在多个initial过程块,则每个initial过程块都是同时从0时刻开始并行执行的。initial过程块内的多条行为语句可以是顺序执行的,也可以是并行执行的。

Initial过程语句通常用于仿真模块中对激励向量的描述,或用于给寄存器变量赋初值。

示例:用initial过程语句对变量A、B、C进行赋值:

module initial_tb1; reg A,B,C; initial begin A=0;B=1;C=0; #100 A=1;B=0; #100 A=0;C=1; #100 B=1; #100 B=0;C=0; end endmodule always过程语句

从语法描述角度而言,相对于initial过程语句,always过程语句的触发状态是一直存在的,只要满足always后面的敏感事件列表,就执行语句块。其语法格式是:

always@()  语句块;

其中,敏感事件列表就是触发条件,只有当触发条件满足时,其后的语句块才能被执行。即当该列表中变量的值改变时,就会引发块内语句的执行。因此,敏感信号列表中应列出影响块内取值的所有信号。若有两个或两个以上信号,则它们之间可以用“or”连接,也可以用逗号“,”连接。

示例:

@(a) //当信号a的值发生改变时 (a or b) //当信号a或信号b的值发生改变时 (posedge clock) //当clock的上升沿到来时 (negedge clock) //当clock的下降沿到来时 (posedge clk or negedge reset) //当clk的上升到来或reset信号的下降沿到来时 过程语句使用中的注意事项

无论是对时序逻辑电路还是对组合逻辑电路进行描述,Verilog HDL要求在过程语句(initial和always)中,被赋值信号必须定义为“reg”类型。

采用过程语句对组合电路进行描述时,需要把全部的输入信号列入敏感信号列表。

采用过程语句对时序电路进行描述时,需要把时间信号和部分输入信号列入敏感信号列表。

示例:

//用always语句描述4选1数据选择器 module mux4_1(out,in0,in1,in2,in3,sel); output reg out; input in0,in1,in2,in3; input[1:0] sel;//选择信号 always @(in0 or in1 or in2 or in3 or sel)//也可以写成@(*) case(sel) 2'b00: out=in0; 2'b01: out=in1; 2'b10: out=in2; 2'b11: out=in3; default: out=2'bx; endcase endmodule 过程赋值语句

过程块中的赋值语句称为过程赋值语句。过程性赋值是在initial语句或always语句内的赋值,它只能对寄存器数据类型的变量赋值。

过程赋值语句有阻塞赋值语句和非阻塞赋值语句两种。

阻塞赋值语句的操作符号为“=”,其语法格式是:变量 = 表达式;例如:b = a;

当一个语句块中有多条阻塞赋值语句时,如果前面的赋值语句没有完成,则后面的语句就不能被执行,仿佛被阻塞了一样,因此称为阻塞赋值方式。

非阻塞赋值语句的操作符号为“



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3