文档详情

SystemVerilog数字集成电路功能验证课件 (4).pdf

发布:2024-12-17约8.97千字共16页下载文档
文本预览下载声明

SystemVerilog芯片验证

第3章结构化过程

2024年2月7日

SystemVerilog芯片验证2024年2月7日1/16

initial和always过程

结构化过程

1initial过程,使用关键字initial表示。

2always过程,使用关键字always、always_comb、always_latch和always_ff

表示。

3final过程,使用关键字final表示。

4任务(task)。

5函数(function)。

1initial和always过程在仿真开始时启动。

2initial过程只被执行一次,当内部语句结束时它就停止运行。

3always过程不断被重复执行,只有当仿真结束时,它才停止运行。

4initial和always过程之间不应该有隐含的执行顺序,

5initial过程通常用于生成时钟和复位激励。

SystemVerilog芯片验证2024年2月7日2/16

initial和always过程

always_comb过程描述组合电路

1always_comb过程没有敏感列表,它可以避免由于敏感信号列表不全所生

成的锁存器。

2always_latch过程描述锁存器,它也不需要添加敏感信号列表。

4moduledut(

5inputclk,

6input[3:0]a,b,

7output[3:0]c,

8outputreg[3:0]d,e,f);

9

10assignc=a+b;

11always_combd=a+b;

12always_latchif(a==0)e=a+b;

13always_combf=a+b;

14endmodule

SystemVerilog芯片验证2024年2月7日3/16

initial和always过程

always_ff过程描述时序逻辑

1always_ff过程需要添加边沿触发的敏感信号列表。

2always_ff过程只包含一个事件控件,always_ff过程中被赋值的变量不能在

块外被再次赋值。

4moduledut(

5inputclk,

6input[3:0]a,

7outputreg[3:0]b,c);

8

9//initialc=h0;//编译错误

10

11always_ff@(posedgeclk)begin//过程赋值,非阻塞赋值

12b=a;

13c=b+1;

14end

15endmodule

SystemVerilog芯片验证2024年2月7日4/16

运算符和过程语句

运算符和过程语句

1for语句中定义局部循环变量

2++、–、+=和=

4moduleautomatic

显示全部
相似文档