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

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

3天内不再提示

Verilog RTL和触发器中的同步和异步复位功能分析

OpenFPGA 来源:OpenFPGA 作者:OpenFPGA 2022-03-15 10:56 次阅读

没有任何寄存器逻辑,RTL设计是不完整的。RTL是寄存器传输级或逻辑,用于描述依赖于当前输入和过去输出的数字逻辑。

7f329528-9756-11ec-952b-dac502259ad0.png

同步和异步复位

ASIC/FPGA设计中,何时使用异步复位或同步复位总是导致设计者头脑混乱。同步复位信号时钟边缘和数据路径的一部分进行采样,而异步复位信号的采样与时钟信号无关,而与数据路径或数据输入逻辑的一部分无关。本节介绍使用异步和同步复位的Verilog RTL for 触发器。

D触发器异步复位

异步复位不是数据路径的一部分,用于初始化触发器,而不考虑时钟边沿,因此称为异步复位。这种初始化触发器的技术不推荐用于生成内部复位信号,因为它容易出现故障。设计者需要注意在内部同步该复位信号,以避免出现故障。内部同步复位信号应用于存储元件。复位解除(reset deassertion)是异步复位信号的主要问题,采用两级同步器可以克服这一问题。两级同步器(Level synchronizer)避免了复位解除期间的绕线情况。

Verilog RTL如图所示,使用低电平异步复位信号“reset_n”(示例5.3)。

图5.10显示了具有异步复位“reset_n”的D触发器的综合逻辑。

7f487366-9756-11ec-952b-dac502259ad0.png

示例5.3 D触发器,带低电平异步复位信号“reset_n”输入

7f606ade-9756-11ec-952b-dac502259ad0.png

图5.10 带低电平异步复位信号输入的综合D触发器

D触发器同步复位

在同步复位中,复位信号是作为数据路径的数据输入的一部分,取决于活动时钟边沿。同步复位不存在故障或危险(glitches or hazards)问题,因此这种方法最适合设计。该机制不需要额外的同步电路。

例5.4中描述了Verilog RTL,它使用低电平同步复位信号“reset_n”。

7f7b2676-9756-11ec-952b-dac502259ad0.png

示例5.4 D触发器,带有源低同步复位输入

7f93afc0-9756-11ec-952b-dac502259ad0.png

图5.11同步复位D触发器的综合逻辑

带同步复位输入的正边沿触发D触发器的综合逻辑如图5.11所示。

带使能异步复位的触发器

在大多数实际应用中,需要多个异步输入。考虑一个应用程序,当激活输入时,它需要加载输入数据。即使在复位信号激活且有效时,也必须等待初始化寄存器。如果两个异步输入同时到达,则输出应取决于这些信号的优先级分配。

如示例5.5所示,两个异步输入被命名为“reset_n”和“load_en”。“ reset_n”具有最高优先级,“load_en”具有最低优先级。使用“if-else”构造优先级。

综合逻辑如图5.12所示。

7fab837a-9756-11ec-952b-dac502259ad0.png

示例5.5带异步“reset_n”和“load_en”的D触发器的Verilog RTL

7fc5656a-9756-11ec-952b-dac502259ad0.png

图5.12异步复位D触发器的综合输出

带使能同步复位的触发器

如果多个信号或输入是数据路径的一部分,并且在时钟的活动边沿上采样,则在时钟的活动边缘上分配时序单元的输出。考虑示例5.6中所示的Verilog RTL,输入“reset_n”和“load_en”是同步输入并在时钟的正边上采样。同步输入“reset_n”具有最高优先级,“load_en”具有最低优先级。

综合逻辑如图5.13所示,“reset_n”和“load_en”是数据路径的一部分。

7fde292e-9756-11ec-952b-dac502259ad0.png

示例5.6带同步“reset_n”和“load_en”的D触发器

8014c966-9756-11ec-952b-dac502259ad0.png

图5.13带同步“reset_n”和“load_en”的综合逻辑

审核编辑:郭婷

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

    关注

    1602

    文章

    21302

    浏览量

    593109
  • asic
    +关注

    关注

    34

    文章

    1150

    浏览量

    119255
  • 触发器
    +关注

    关注

    14

    文章

    1676

    浏览量

    60392

原文标题:Verilog时序逻辑硬件建模设计(二)同步和异步复位

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

收藏 人收藏

    评论

    相关推荐

    同步复位电路和异步复位电路区别分析

    异步复位信号a是异步复位信号源,异步复位信号b、c、d是到达
    的头像 发表于 06-26 05:36 2.3w次阅读
    <b class='flag-5'>同步</b><b class='flag-5'>复位</b>电路和<b class='flag-5'>异步</b><b class='flag-5'>复位</b>电路区别<b class='flag-5'>分析</b>

    FPGA同步复位异步复位的可靠性特点及优缺点

    的是异步复位,所以主要看了一下异步复位的缺点:1)复位信号在时钟有效沿或其附近释放时,容易使寄存
    发表于 11-04 14:26

    verilog描述异步置0,异步置1功能的D触发器

    新手,verilog描述异步置0,异步置1功能的D触发器,置0低电平有效,置1高电平有效,用modelsim仿真时,个别时序存在问题,费解,
    发表于 04-04 20:55

    简单的verilog设计同步清零触发器求助

    使用带同步清零端的D触发器(清零高电平有效,在时钟下降沿执行清零操作)设计下一个下降沿触发的D触发器,只能使用行为语。使用设计出的D触发器
    发表于 07-30 21:01

    同步复位异步复位的比较(转载)

    本帖最后由 hxing 于 2016-5-7 14:47 编辑 最近看到一篇关于 同步复位异步复位的比较 的帖子,感觉讲的很清晰,遂转载了无论
    发表于 05-05 23:11

    同步复位异步复位的比较

    [table][tr][td] 无论同步还是异步复位,在对触发器时序进行分析的时候,都要考虑复位
    发表于 07-03 02:49

    FPGA的复位设计分析Verilog HDL与RTL图)

    复位的目的复位的基本目的是使器件进入到可以稳定工作的确定状态,这避免了器件在上电后进入到随机状态导致跑飞了。在实际设计过程,设计者必须选择最适合于设计本身的复位方式。耳熟能详的是
    发表于 01-08 06:00

    哪些触发器时钟有效哪些无效

    触发器没有使用相同的时钟信号,需要分析哪些触发器时钟有效哪些无效分析步骤和同步时序电路一样,不过要加上时钟信号有关D
    发表于 09-06 08:20

    D触发器PRN与CLRN区别在哪

    D触发器PRN、CLRN区别在Quartus II当中查看RTL视图会有PRN和CLRN(CLR)两个引脚的区别PRN是异步置位,可以将输出Q置为输入D(输出Q立马变成输入D)CLR
    发表于 01-11 06:43

    异步复位信号亚稳态的原因与D触发器Verilog描述

    在带有复位端的D触发器中,当reset信号“复位”有效时,它可以直接驱动最后一级的与非门,令Q端“异步”置位为“1”or“0”。这就是异步
    发表于 11-30 09:15 1.1w次阅读
    <b class='flag-5'>异步</b><b class='flag-5'>复位</b>信号亚稳态的原因与D<b class='flag-5'>触发器</b>的<b class='flag-5'>Verilog</b>描述

    D触发器的几种表示形式同步复位同步释放

    首选我们来聊聊时序逻辑中最基础的部分D触发器同步异步同步复位复位信号随系统时钟的边沿
    的头像 发表于 07-26 10:17 2.5w次阅读
    D<b class='flag-5'>触发器</b>的几种表示形式<b class='flag-5'>同步</b><b class='flag-5'>复位</b>、<b class='flag-5'>同步</b>释放

    【FPGA】异步复位同步释放的理解

    异步复位同步释放的理解目录目录 同步复位异步复位
    发表于 01-17 12:53 4次下载
    【FPGA】<b class='flag-5'>异步</b><b class='flag-5'>复位</b>,<b class='flag-5'>同步</b>释放的理解

    复位功能的单D型触发器;上升沿触发-74LVC1G175

    复位功能的单D型触发器;上升沿触发-74LVC1G175
    发表于 02-10 19:22 0次下载
    带<b class='flag-5'>复位</b><b class='flag-5'>功能</b>的单D型<b class='flag-5'>触发器</b>;上升沿<b class='flag-5'>触发</b>-74LVC1G175

    JK触发器与T触发器Verilog代码实现和RTL电路实现

    JK 触发器Verilog 代码实现和 RTL 电路实现
    的头像 发表于 10-09 17:29 2486次阅读
    JK<b class='flag-5'>触发器</b>与T<b class='flag-5'>触发器</b>的<b class='flag-5'>Verilog</b>代码实现和<b class='flag-5'>RTL</b>电路实现

    RS触发器中什么是置位和复位

    端的状态。在本文中,我将详细介绍置位和复位的含义、功能和应用。 首先,让我们来解释置位和复位的意思。在RS触发器中,置位就是将输出端Q置为高电平(逻辑1),而
    的头像 发表于 11-17 16:19 2350次阅读