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

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

3天内不再提示

关于同步复位与异步复位的仿真详解

FPGA技术驿站 来源:Lauren的FPGA 作者:Lauren的FPGA 2021-04-09 11:29 次阅读

FPGA设计中,我们遵循的原则之一是同步电路,即所有电路是在同一时钟下同步地处理数据。这个概念可进一步展开,即不局限于同一时钟,只要时钟之间是同步关系(两者之间有明确的相位延迟,例如同一个MMCM生成的时钟),这是因为目前的芯片规模越来越大,设计越来越复杂,往往需要多个时钟同时运算。

通常,我们说某个信号与指定时钟同步,意味着这个信号是由该时钟驱动的逻辑生成的,或者这个信号只有在时钟有效沿(一般是上升沿有效)下才会被触发。以复位信号为例,就有同步复位和异步复位之分。我们从HDL代码角度看一下二者的区别。如下图所示代码,描述的是同步复位触发器,左侧为VHDL-2008版本的描述方式,右侧为System Verilog版本的描述方式。可以看到敏感变量列表(左侧第15行,右侧第8行)中只有时钟clk,因此,进程中的状态变化就依赖于时钟的变化即时钟有效沿。

853274ae-986d-11eb-8b86-12bb97331649.png

我们再看看异步复位是如何描述的,如下图所示。左侧是VHDL-2008版本,右侧是System Verilog版本。可以看到,此时敏感变量列表中除了时钟clk之外还有复位信号rst。在VHDL版本中,可以明确地看到复位信号位于if条件分支,而时钟有效沿位于elsif分支,优先级低于复位信号。因此,这里只要复位有效,无论时钟沿是否有效都会触发操作。

853cf26c-986d-11eb-8b86-12bb97331649.png

进一步,我们从仿真角度看看这两者的区别。同步复位触发器的仿真结果如下图所示。可以看到复位信号只有在时钟有效沿下才起作用。图中第二个复位脉冲并没有被时钟有效沿采到,故不会导致触发器复位。

8554e4c6-986d-11eb-8b86-12bb97331649.png

异步复位触发器仿真结果如下图所示。可以看到第二个复位脉冲尽管没有在时钟有效沿下,但仍促使触发器复位。这正是异步的原理。

85698eda-986d-11eb-8b86-12bb97331649.png

对比两个仿真结果,我们可以看到同步复位的一个明显的好处就是利用了时钟的过滤功能,去除了复位信号上的毛刺,而异步复位下,如果复位信号有毛刺就会导致触发器误操作,这在状态机电路中尤为严重,很有可能导致状态机进入无效状态。
编辑:lyn

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

    关注

    50

    文章

    4102

    浏览量

    133746
  • 同步复位
    +关注

    关注

    0

    文章

    27

    浏览量

    10730
  • 异步复位
    +关注

    关注

    0

    文章

    47

    浏览量

    13328

原文标题:同步复位与异步复位

文章出处:【微信号:Lauren_FPGA,微信公众号:FPGA技术驿站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA复位的8种技巧

    其它输入引脚类似,对 FPGA 来说往往是异步的。设计人员可以使用这个信号在 FPGA 内部对自己的设计进行异步或者同步复位。 不过在一些提示和技巧的帮助下,设计人员可以找到更加合适的
    的头像 发表于 11-16 10:18 349次阅读
    FPGA<b class='flag-5'>复位</b>的8种技巧

    复位电路的设计问题

    前言 最近看advanced fpga 以及fpga设计实战演练中有讲到复位电路的设计,才知道复位电路有这么多的门道,而不是简单的外界信号输入系统复位。 流程: 1.同步
    的头像 发表于 11-15 11:13 185次阅读
    <b class='flag-5'>复位</b>电路的设计问题

    复位电路静电整改案例分享(一)——交换机复位电路

    ​  复位电路静电整改案例分享(一)——交换机复位电路 一、摘要 复位电路可确保电路在启动时处于可控的状态,避免上电造成的未知问题。复位电路通常由一个
    的头像 发表于 10-19 14:56 410次阅读
    <b class='flag-5'>复位</b>电路静电整改案例分享(一)——交换机<b class='flag-5'>复位</b>电路

    复位电路介绍 复位电路的原理及作用

    复位电路(Reset Circuit)是现代电子设备中常见的一种关键电路,它用于确保在正确的时间和条件下将系统恢复到初始状态。复位电路的设计和应用对于保障电子系统的稳定性和可靠性至关重要。 一、复位
    的头像 发表于 10-18 16:44 2303次阅读

    STM32复位电路用复位芯片和阻容复位电路区别

    STM32是一款广泛使用的微控制器,其复位电路设计对于系统的稳定性和可靠性至关重要。本文将详细介绍STM32复位电路中使用复位芯片和阻容复位电路的区别,以及各自的优缺点和应用场景。 引
    的头像 发表于 08-06 10:26 1664次阅读

    FPGA同步复位异步复位

    FPGA(Field-Programmable Gate Array,现场可编程门阵列)中的复位操作是设计过程中不可或缺的一环,它负责将电路恢复到初始状态,以确保系统的正确启动和稳定运行。在FPGA设计中,复位方式主要分为同步
    的头像 发表于 07-17 11:12 1645次阅读

    L431采用PLL异步时钟,复位后ADC采样值发生偏差的原因?

    前提:可以确认的是外部条件没有变化。 问题:开机后不复位的情况下,ADC_DMA读取值几乎相同,而每次重新复位后,ADC_DMA读出来的值差别较大。在采用ADC同步时钟时钟时,无论如何多次复位
    发表于 03-08 07:32

    MCU复位RAM会保持吗,如何实现复位时变量数据保持

    在使用MCU时,通常大家默认MCU复位时RAM会被复位清零,那实际MCU复位时RAM是什么状态?如何让mcu复位时RAM保持不变呢?
    的头像 发表于 03-01 09:32 2564次阅读
    MCU<b class='flag-5'>复位</b>RAM会保持吗,如何实现<b class='flag-5'>复位</b>时变量数据保持

    ABB变频器怎么复位 | 复位时可能会出现哪些问题?

    ABB变频器是一种应用广泛的工业自动化设备,广泛应用于电机控制、电力传输、风机控制和制造等领域。然而,在使用ABB变频器的过程中,有时候我们可能需要对设备进行复位,以达到重新设置和调整的目的。那么
    的头像 发表于 02-21 10:50 8124次阅读
    ABB变频器怎么<b class='flag-5'>复位</b> | <b class='flag-5'>复位</b>时可能会出现哪些问题?

    什么是复位同步电路 reset synchronizer?

    复位同步电路 reset synchronizer 其实只在复位信号 release 的时候派上用场。复位结束后,这个电路其实就没用了。 但这个电路的时钟还在 switch,这个电路还
    的头像 发表于 02-19 09:21 1476次阅读
    什么是<b class='flag-5'>复位</b><b class='flag-5'>同步</b>电路 reset synchronizer?

    如何排查GD32 MCU复位是由哪个复位源导致的?

    上期为大家讲解了GD32 MCU复位包括电源复位和系统复位,其中系统复位还包括独立看门狗复位、内核软复位
    的头像 发表于 02-03 09:46 1787次阅读
    如何排查GD32 MCU<b class='flag-5'>复位</b>是由哪个<b class='flag-5'>复位</b>源导致的?

    GD32 MCU电源复位和系统复位有什么区别

    GD32 MCU的复位分为电源复位和系统复位,电源复位又称为冷复位,相较于系统复位,上电
    的头像 发表于 02-02 09:37 1536次阅读
    GD32 MCU电源<b class='flag-5'>复位</b>和系统<b class='flag-5'>复位</b>有什么区别

    异步复位异步释放会有什么问题?FPGA异步复位为什么要同步释放呢?

    一般来说,复位信号有效后会保持比较长一段时间,确保 register 被复位完成。但是复位信号释放时,因为其和时钟是异步的关系,我们不知道它会在什么时刻被释放。
    的头像 发表于 01-24 09:32 1769次阅读
    <b class='flag-5'>异步</b><b class='flag-5'>复位</b><b class='flag-5'>异步</b>释放会有什么问题?FPGA<b class='flag-5'>异步</b><b class='flag-5'>复位</b>为什么要<b class='flag-5'>同步</b>释放呢?

    同步复位异步复位到底孰优孰劣呢?

    同步复位异步复位到底孰优孰劣呢? 同步复位异步
    的头像 发表于 01-16 16:25 1824次阅读

    复位电路的复位条件和复位过程

    电源监测芯片复位电路:这是最常见的复位电路类型,使用专用的电源监测芯片来监测电源电压,并在电压低于或高于预设阈值时触发复位信号。
    的头像 发表于 01-16 16:04 1290次阅读