initial 与 always 语句


initial语句

  initial 语句从仿真0时刻开始,在整个仿真过程中只执行一次。如果一个模块包含不同的initial块,那么他们从0时刻开始并发执行,且执行是相互独立的。

由于其只执行一次,所以一般被用于初始化,信号监视,生成仿真波形(initial语句内部是顺序执行的,例如:

      initial begin

       #10  a = 5;

       #10 b = 4;

      end

结果为10:a = 5;

   20:   b = 4;

 

alway语句

       always语句也是从仿真0时刻开始顺序执行,且执行完最后一条语句时,又回过头来执行第一条语句,循环直至仿真结束。通常用来对数字电路中一组反复执行的活动进行建模,比如时钟信号发生器。给出一种时钟发生器方式:

module clock_gen(output reg clock);

  initial clock = 1'b0;

  always   #10  clock = ~clock;

  initial  #1000 $finish;

endmodule


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM