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

    文章

    3872

    浏览量

    132143
  • 同步复位
    +关注

    关注

    0

    文章

    25

    浏览量

    10667
  • 异步复位
    +关注

    关注

    0

    文章

    45

    浏览量

    13250

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

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

收藏 人收藏

    评论

    相关推荐

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

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

    异步复位同步撤离是什么意思?如何做到异步复位同步撤离呢?

    复位消抖之后的下一件事,[异步复位]()同步撤离。这句话什么意思呢?
    的头像 发表于 12-04 13:57 1655次阅读
    <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><b class='flag-5'>同步</b>撤离呢?

    复位电路基础知识:同步复位电路和异步复位电路

    复位信号在数字电路里面的重要性仅次于时钟信号。对电路的复位往往是指对触发器的复位,也就是说电路的复位中的这个“电路”,往往是指触发器,这是需要注意的。
    发表于 09-13 16:26 1101次阅读
    <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学习-异步复位同步释放

    点击上方 蓝字 关注我们 系统的复位对于系统稳定工作至关重要,最佳的复位方式为:异步复位同步释放。以下是转载博客,原文标题及链接如下:
    的头像 发表于 09-09 14:15 297次阅读
    FPGA学习-<b class='flag-5'>异步</b><b class='flag-5'>复位</b>,<b class='flag-5'>同步</b>释放

    SOC设计中的同步复位异步复位有哪些应用呢?

    在SOC设计中,复位电路是一个关键部分,它确保了芯片中各个模块在初始化和运行时能够处于一致的状态。
    的头像 发表于 08-27 14:47 1052次阅读

    浅析异步复位同步释放与同步复位打拍模块

    异步复位同步释放:rst_synchronizer.v
    的头像 发表于 08-21 09:27 561次阅读
    浅析<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>打拍模块

    同步复位异步复位的区别

    请简述同步复位异步复位的区别,说明两种复位方式的优缺点,并解释“异步
    的头像 发表于 08-14 11:49 3984次阅读

    异步复位同步释放有多个时钟域时如何处理 异步复位同步释放的策略

    对于从FPGA外部进来的信号,我们通常采用“异步复位同步释放的策略”,具体电路如下图所示。
    的头像 发表于 07-20 09:04 1279次阅读
    <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><b class='flag-5'>同步</b>释放的策略

    异步复位同步释放问题解析

    使用 2 个带异步复位的寄存器,D端输入逻辑 1(VCC)。
    的头像 发表于 06-26 16:39 924次阅读
    <b class='flag-5'>异步</b><b class='flag-5'>复位</b><b class='flag-5'>同步</b>释放问题解析

    同步复位异步复位讲解

     本文主要是提供了 ASIC 设计中关于复位技术相关的概念和设计。
    的头像 发表于 06-21 11:55 5773次阅读
    <b class='flag-5'>同步</b><b class='flag-5'>复位</b>和<b class='flag-5'>异步</b><b class='flag-5'>复位</b>讲解

    Xilinx FPGA异步复位同步释放—同步后的复位该当作同步复位还是异步复位

    针对异步复位同步释放,一直没搞明白在使用同步化以后的复位信号时,到底是使用同步
    发表于 06-21 09:59 800次阅读
    Xilinx FPGA<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>该当作<b class='flag-5'>同步</b><b class='flag-5'>复位</b>还是<b class='flag-5'>异步</b><b class='flag-5'>复位</b>?

    如何区分同步复位异步复位

    今天给大侠带来如何区分同步复位异步复位?,话不多说,上货。 如何区分同步复位
    发表于 05-22 17:33

    FPGA中的异步复位or同步复位or异步复位同步释放

    在FPGA设计中,复位电路是非常重要的一部分,它能够确保系统从初始状态开始启动并保证正确运行。
    发表于 05-22 14:21 667次阅读
    FPGA中的<b class='flag-5'>异步</b><b class='flag-5'>复位</b>or<b class='flag-5'>同步</b><b class='flag-5'>复位</b>or<b class='flag-5'>异步</b><b class='flag-5'>复位</b><b class='flag-5'>同步</b>释放

    数字电路的复位可分为哪些

    因此复位功能是很重要的一个功能。数字电路的复位通常可分为:同步复位异步复位
    的头像 发表于 05-19 09:05 837次阅读
    数字电路的<b class='flag-5'>复位</b>可分为哪些

    FPGA中三种常用复位电路

    在FPGA设计中,复位电路是非常重要的一部分,它能够确保系统从初始状态开始启动并保证正确运行。本文将分别介绍FPGA中三种常用复位电路:同步复位
    发表于 05-14 14:44 1829次阅读
    FPGA中三种常用<b class='flag-5'>复位</b>电路