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

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

3天内不再提示

Verilog HDL提供了哪两种类型的显式时序控制

FPGA之家 来源:YGOPRO de Space 作者:无名法老王 2021-07-02 10:52 次阅读

Verilog HDL提供了两种类型的显式时序控制:一种是延迟控制,即定义执行语句的延迟时间;另一种是事件控制,只有当某一事件发生时才允许该语句继续向下执行。

Verilog仿真时,仿真时间由以下四种形式进行控制:

(1)定义过的门级或线传输延迟

(2)由#符号引入的延迟控制

(3)由@符号引入的事件控制

(4)等待语句

其中形式1是由门级器件来决定的,无须讨论。

1、延迟控制#

Verilog延迟控制格式为:

# expression

延迟时间由expression的值确定。

example1:

module delay; reg[1:0] r; initial #70 $stop; initial begin : b1 #10 r=1; #20 r=1; #30 r=1; end initial begin : b2 #5 r=2; #20 r=2; #30 r=2; end always @r begin $display(“r=%0d at time %0d”,r,$time); end endmodule

执行结果如下:

r=2 at time 5 r=1 at time 10 r=2 at time 25r=1 at time 30 r=2 at time 55 r=1 at time 60

在赋值语句中使用:

current_state=#clock_period next_state;

2、事件控制

一个事件可以通过运行表达式:-》event变量来被激发。

事件变量的声明:

event var;

event触发为:

-》var;

捕获触发为:

@(var);

在赋值语句中使用:

current_state=@(posedge clock) next_state;

3、等待语句

wait(expression)

当等待的表达式为假则中断运行,知道表达式变为真。

4、延迟定义模块

Verilog可以对模块中某一指定的路径进行延迟定义,延迟定义块内容要放在specify和endspecify之间,延迟定义块是一个独立的块结构,不在任何其他模块(如initial或always)内出现,在定义块内使用specparam关键字定义参数

(1)并行连接:每条路径都有一个源域和一个目标域,每一位对应相连(向量位数相同)。

(source=》destination)=《delay_value》;

(2)全连接:位对位连接,源和目标位数不必相同(源域的每一位和目标域的每一位分别相连)。

(source*》destination)=《delay_vaule》;

编辑:jq

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

    关注

    50

    文章

    3871

    浏览量

    132132
  • Verilog
    +关注

    关注

    28

    文章

    1324

    浏览量

    109276
  • HDL
    HDL
    +关注

    关注

    8

    文章

    322

    浏览量

    47101

原文标题:Verilog HDL语言(4):时序控制

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    时序电路包括两种类型 时序电路必然存在状态循环对不对

    时序电路是由触发器等时序元件组成的数字电路,用于处理时序信号,实现时序逻辑功能。根据时序元件的类型
    的头像 发表于 02-06 11:22 387次阅读

    Verilog HDL实用精解配套源代码

    轻松成为设计高手Verilog HDL 实用精解 配套源代码。
    发表于 10-09 06:28

    热敏电阻有哪两种类型

    热敏电阻有哪两种类型  热敏电阻(Thermistor)是一种用于测量温度变化的电阻器件,它采用半导体材料的特性,当温度发生变化时,其电阻值也会发生相应的变化。热敏电阻可以分为两种类型,即正温度系数
    的头像 发表于 09-08 10:50 1258次阅读

    Verilog HDL语言的发展历史和主要能力

    Verilog HDL是一种硬件描述语言,以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。 Verilog HDL
    发表于 08-29 15:58 0次下载

    二十进制编码器及Verilog HDL描述 Verilog HDL程序的基本结构及特点

    节通过硬件描述语言Verilog HDL对二十进制编码器的描述,介绍Verilog HDL程序的基本结构及特点。
    的头像 发表于 08-28 09:54 1305次阅读
    二十进制编码器及<b class='flag-5'>Verilog</b> <b class='flag-5'>HDL</b>描述 <b class='flag-5'>Verilog</b> <b class='flag-5'>HDL</b>程序的基本结构及特点

    设计一个计数器来讲解时序逻辑

    时序逻辑是Verilog HDL 设计中另一类重要应用。从电路特征上看来,其特点为任意时刻的输出不仅取决于该时刻的输入,而且还和电路原来的状态有关。
    的头像 发表于 08-14 09:28 713次阅读
    设计一个计数器来讲解<b class='flag-5'>时序</b>逻辑

    使用Verilog HDL描述寄存器的硬件

    刚接触数字集成电路设计,特别是Verilog HDL语言的同学,往往不理解什么时候变量需要设置为wire型,什么时候需要设置成reg型。
    发表于 07-13 15:53 583次阅读
    使用<b class='flag-5'>Verilog</b> <b class='flag-5'>HDL</b>描述寄存器的硬件

    Verilog HDL中使用分频器的8位计数器的设计

    电子发烧友网站提供《在Verilog HDL中使用分频器的8位计数器的设计.zip》资料免费下载
    发表于 06-15 10:14 0次下载
    在<b class='flag-5'>Verilog</b> <b class='flag-5'>HDL</b>中使用分频器的8位计数器的设计

    介绍Verilog的2大类时序控制方法

    Verilog 提供了 2 大类时序控制方法:时延控制和事件控制。事件
    的头像 发表于 06-02 11:44 666次阅读
    介绍<b class='flag-5'>Verilog</b>的2大类<b class='flag-5'>时序</b><b class='flag-5'>控制</b>方法

    Verilog最常用的2种数据类型

    Verilog 最常用的 2 种数据类型就是线网(wire)与寄存器(reg),其余类型可以理解为这两种数据类型的扩展或辅助。
    的头像 发表于 05-29 16:27 1174次阅读
    <b class='flag-5'>Verilog</b>最常用的2种数据<b class='flag-5'>类型</b>

    一本Verilog HDL代码对应电路的书,助你快速编写可综合模型

    建立用于RTL综合的Verilog标准化子集。他是贝尔实验室所开发的ArchSyn综合系统的主要设计者之一。他曾为AT&T和Lucent的许多设计师讲授Verilog HDL语言和Verilo
    的头像 发表于 05-26 16:59 958次阅读
    一本<b class='flag-5'>Verilog</b> <b class='flag-5'>HDL</b>代码对应电路的书,助你快速编写可综合模型

    Verilog HDL数字集成电路设计原理与应用

    Verilog HDL数字集成电路设计原理与应用(蔡觉平)西安电子科技大学出版社
    发表于 05-26 15:23 0次下载

    FPGA编程语言之verilog语法1

    Verilog HDL是一种用于数字系统设计的语言。用Verilog HDL描述的电路设计就是该电路的Verilog
    的头像 发表于 05-22 15:52 586次阅读
    FPGA编程语言之<b class='flag-5'>verilog</b>语法1

    Vivado HDL编写示例

    Vivado 软件提供HDL编写中常用的示例,旨在帮助初学者更好地理解和掌握HDL编程,这里分享一下verilog代码示例。
    的头像 发表于 05-16 16:58 668次阅读

    Verilog中的基本数据类型

    本文将讨论 verilog 中常用的数据类型,包括对数据表示、线网类型、变量类型和数组,分享一下使用方法和注意事项。
    的头像 发表于 05-12 17:43 4263次阅读
    <b class='flag-5'>Verilog</b>中的基本数据<b class='flag-5'>类型</b>