码迷,mamicode.com
首页 > 其他好文 > 详细

verilog之简单时钟信号的编写

时间:2020-07-15 23:38:36      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:begin   图片   没有   alt   initial   mic   使用   仿真   verilog   

verilog之简单时钟信号的编写

1、数字时钟信号

在数字电路中,时钟信号是重要的一类信号,一般作为激励源驱动时序电路。掌握时钟信号的编写,对于时序电路的仿真具有重要意义。所有的时序电路都需要设置时钟信号来确认时序。这里先写一个已知时间间隔的简易时钟信号。

2、基于begin-end的编写

initial begin
     
    clk=1;
    #1
    clk=0;
    #1
    clk=1;
    #1
    clk=0;
end

这个编写的逻辑非常简单,就是根据时钟信号的特点,一个时钟周期变一次,根据所需的时间长度确认重复的次数。

3、基于fork-join的编写

initial fork
    clk1=1;
    #1
    clk1=0;
    #2
    clk1=1;
    #3
    clk1=0;
    #10
    $stop();
join

这个代码是使用同步进行的fork-join来实现的。这里可以看出延时时间是绝对的,不包含前面的延时。这里也可以看出每个语句之间是没有优先级的。

4、小结

技术图片

可以看到来个信号的结果是一致的。使用initial语句实现信号可以直接表示每个时间段的信号变化。对于其他测试向量来说,也可以使用这种精确的方法实现信号源的编写。但是,在比较大的设计中,时钟信号一般需要作用比较长的时间,使用initial会占用大量的空间。对于高度重复的信号源,可以使用always块来实现。always块可以一直循环执行,知道仿真结束。

verilog之简单时钟信号的编写

标签:begin   图片   没有   alt   initial   mic   使用   仿真   verilog   

原文地址:https://www.cnblogs.com/electricdream/p/13307717.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!