本文主要是介绍verilog仿真激励,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
简介
本章节主要描述verilog激励仿真函数的介绍。
initial
主要针对寄存器初始化值,基本所有仿真都会使用到该语句,使用如下:
initial beginsys_clk = 'd0; sys_rst_n = 'd0; #2000;sys_rst_n = 'd1;
end
repeat
重复有限次数地执行一段代码,使用如下:
repeat (<number>) begin //指定重复次数//需要重复执行的代码
end
例如重复执行5个时钟周期时钟;
repeat(5)begin@(posedge sys_clk);end
always #
重复执行,一般使用在时钟上,例如实现一个100MHz系统时钟,使用如下:
always #5 sys_clk = ~sys_clk;
forever
重复执行,与always有所不同,使用如下:
initial beginclk = 1'b0;forever begin#5 clk = ~clk;end
end
forever和always的区别如下:
forever块主要用于产生周期性的波形,作为仿真测试信号,或者用于生成周期性的行为。它不能独立存在于程序中,必须搭配initial语句共同使用。
always块则更为灵活,它可以在满足敏感参数列表中的条件时执行。always块可以描述时序逻辑或组合逻辑,具体取决于其敏感参数列表中是否包含时钟信号。如果always块的敏感参数列表中包含时钟信号,则该块被综合成一个时序回路,当时钟变化时执行。如果不包
这篇关于verilog仿真激励的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!