0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

initial和always两者的关系分析

454398 来源:CSDN博主 作者:陌上花开___了吗 2020-11-24 14:48 次阅读

两者的关系

一个程序块可以有多个initial和always过程块。每个initial和always说明语句在仿真的一开始同时立即开始执行;initial语句只执行一次,而always语句则不断重复的活动着,直到仿真结束。但always块语句后面跟着的过程快是否运行,满足则运行一次,满足则运行一次,直到程序结束。一段程序中使用的initial和always语句的次数不受限制,他们都是同时开始运行的。

(1)、initial语句

1、语句格式

initia

begin

语句一;

语句二;

语句三;

语句四;

end

2.举例说明

initia

begin

S1 = 0 ;

for(index=0;index

上述例子中在仿真开始对各变量进行初始化,这个初始化过程不需要任何仿真时间,即在0ns时间内,便可以完成存储器的初始化工作。实例2:initia语句生成激励波形

initial

begin

s= ‘b00000;

#10 s = ’b00001;

#10 s= ‘b00010;

#10 s = ’b00100;

#10 s= ‘b01000;

#10 s = ’b10000;

```/

end

上面程序块按照顺序依次执行

10 :s=1; 20 :s=2;。。.。。.。

注意一个模块中可以有许多个initial块,它们都是并行运行的。initial语句最常见的是用于测试文件里面的初始化语句,用来产生测试环境和设置信号记录。(2)always语句always语句在仿真过程中不断的运行着。initial语句只执行一次,而always语句则不断重复的活动着,直到仿真结束。但always块语句后面跟着的过程快是否运行,满足则运行一次,满足则运行一次,直到程序结束。1、语句格式:always 《时序控制》 《语句》always语句由于其不断活动的特性,只有和一定的时序控制逻辑结合在一起才有用。如果一个always没有时序控制,它将会产生死锁,例如:always clk = ~clk;加上时序控制 always可以用来产生时钟信号:always #10 clk = ~clk 10个时间单位翻转一次。always的时序控制可以使边沿触发(上升沿或者下降沿)也可以用电平触发,可以是单个信号也可以是多个信号,中间需要用关键字or连接,例如:》 边沿触发

always@(posedge clk or negedge rst)

》begin

》end

由两个沿触发的always只要其中一个沿到来,就立即执行一次过程块,然后等待下一次的沿到来。电平触发

always@(a or b or c)

begin

。。.。

end

由多个电平触发的的always块,只要a,b,c中的任何一个发生变化,从高到低或者从低到高都会执行一次过程,这里有个疑问,执行过程块的时刻是在从低到高变化的时候还是什么时候?一个模块可以包含多个always块,它们都是并行执行的2. always块的or时间控制//有异步复位的电平敏感锁存器

always@(reset or clock or d)//也可以写成always@(a,b,c) 用,代替or

begin

if(reset)

q = 1‘b0;

else if(clock)

q = d;

end

//用reset异步下降沿复位,clock的正条边沿触发的D寄存器

always@(negedge reset , posedge clk)

if(!reset)

q 《= 0;

else

q 《= d;

always@ (*)的使用用符号always@(*)可以把所有输入变量都包含进敏感列表例如:

always@(a,b,c,d,e,f,g,h,r,m)

begin

out1 = a?(b+c):(d+e);

out2 = f?(g+h):(r+m)

end

可以用下面代码来代替

always@(*)

begin

out1 = a?(b+c):(d+e);

out2 = f?(g+h):(r+m)

end

前面所讨论的时间控制都需要等待信号值的变化或者事件的触发,使用符号@和后面的敏感列表来表示。verilog允许另外一种形式表示的电平敏感时序控制(即后面的语句或者语句块必须等到某个条件诶真是才能执行),具体请看下面例子:always

wait(count_enabel) # 20 count = count +1;

```

上面例子中,仿真器连续监视count_enable的值,若其值为1,在20个时间单位过后执行后面的语句,若其值为0,则不执行后面的语句。若其值始终为1,那么count将每过20个时间单位加1.编辑:hfy


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 仿真器
    +关注

    关注

    14

    文章

    1016

    浏览量

    83624
  • 时序控制
    +关注

    关注

    0

    文章

    37

    浏览量

    11946
收藏 人收藏

    评论

    相关推荐

    在TAS5558中两者之间的映射关系是怎样的?

    在TAS5558中,两者之间的映射关系是怎样的?
    发表于 10-18 07:18

    STM32的 ENIC和EXTI两者有什么关系

    初学stm32,遇到一个棘手的问题,望各位大神不吝赐教STM32的 ENIC和EXTI两者有什么关系?EXTI线 与 中断通道有什么联系?具体点,谢谢
    发表于 07-26 22:54

    CPK和PPK两者的区别份资料分享

    CPK和PPK两者的区别是什么,请看这份资料!
    发表于 08-24 13:48

    FTW影响系统时钟请问这两者之间有什么关系

    您好我现在要用AD9957的pll和DDS。pll可以锁定,但是DDS中FTW的改变影响PLL系统时钟的输出。这两者之间有什么关系
    发表于 09-10 10:34

    IWDG和WWDG两者特点

    一、介绍STM32看门狗分为独立看门狗和窗口看门狗种,两者使用调条件如下所示:IWDG和WWDG两者特点如下图所示:二、WWDG原理介绍寄存器控制寄存器(WWDG_CR),只有低八位有效。WDGA
    发表于 07-30 07:30

    物联网与嵌入式两者是什么关系

    物联网与嵌入式两者是什么关系?物联网与嵌入式是密不可分的,虽然物联网拥有传感器、无线网络、射频识别,但物联网系统的控制操作、数据处理操作,都是通过嵌入式的技术去实现的,物联网就是嵌入式产品的网络化
    发表于 01-31 15:03

    PCB干膜和湿膜具体指什么?两者之间的区别在哪里?

    PCB干膜和湿膜具体指什么?两者之间的区别在哪里?与正片和负片有什么关系
    发表于 04-06 15:58

    CPLD和FPGA两者的区别

    CPLD和FPGA都是我们经常会用到的器件。有的说有配置芯片的是FPGA,没有的是CPLD;有的说逻辑资源多的是FPGA,少的是CPLD;有的直接就不做区分,把他们都叫做FPGA。那么两者到底有什么区别呢?下面我们就以Altera公司的CPLD和FPGA为例来说说两者的区
    发表于 05-24 02:03 5w次阅读
    CPLD和FPGA<b class='flag-5'>两者</b>的区别

    物联网与嵌入式两者是什么关系

    物联网与嵌入式两者是什么关系?物联网与嵌入式是密不可分的,虽然物联网拥有传感器、无线网络、射频识别,但物联网系统的控制操作、数据处理操作,都是通过嵌入式的技术去实现的,物联网就是嵌入式产品的网络化。
    发表于 06-10 17:13 1w次阅读

    RFID与IoT两者发展联系

    射频识别(RFID)与物联网(IoT)两者发展联系
    的头像 发表于 08-20 10:27 2771次阅读

    无线热点和无线局域网两者的区别以及联系

    无线热点和无线局域网有什么区别,因为从某些方面来说两者好像没有什么不同,但实际上两者是包含与被包含的关系,无线局域网(WLAN)包含无线热点(Wi-Fi)的。
    发表于 11-15 10:56 6875次阅读

    人工智能和物联网两者之间有什么关系

    随着国家把人工智能和物联网的发展作为国家的战略,越来越多的各种人工智能和物联网的概念在各种媒体上反复提出,但人工智能和物联网到底是什么?两者关系是什么?
    的头像 发表于 03-17 11:54 1w次阅读

    MOS管是场效应管吗?两者之间存在怎样的关系

    MOS管即金属-氧化物-半导体场效应晶体管,或被称为金属-绝缘体-半导体。那么MOS管和场效应管两者之间存在怎样的关系
    发表于 03-11 11:22 1.1w次阅读
    MOS管是场效应管吗?<b class='flag-5'>两者</b>之间存在怎样的<b class='flag-5'>关系</b>?

    机器学习和预测分析两者之间如何相互关联?

    我们经常听到机器学习和预测分析,但它们的具体含义是什么,两者之间如何相互关联的?
    的头像 发表于 10-25 17:33 1170次阅读
    机器学习和预测<b class='flag-5'>分析</b><b class='flag-5'>两者</b>之间如何相互关联?

    verilog中initialalways的区别

    Verilog是一种硬件描述语言(HDL),用于设计和模拟数字电路。在Verilog中,关键字initialalways都是用于描述电路行为的特殊语句。它们被用来生成仿真模型,并控制模拟器的启动
    的头像 发表于 02-22 16:09 2443次阅读