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

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

3天内不再提示

简谈异步电路中的时钟同步处理方法

FPGA学习交流 来源:互联网 作者:佚名 2018-05-21 14:56 次阅读

大家好,又到了每日学习的时候了。今天我们来聊一聊异步电路中的时钟同步处理方法。

既然说到了时钟的同步处理,那么什么是时钟的同步处理?那首先我们就来了解一下。

时钟是数字电路中所有信号的参考,没有时钟或者时钟信号处理不得当,都会影响系统的性能甚至功能,所以在一般情况下,我们在同一个设计中使用同一个时钟源,当系统中有多个时钟时,需要根据不同情况选择不同的处理方法,将所有的时钟进行同步处理,下面分几种情况介绍时钟的同步处理方法。

******************************************************************************************************************************************************
一、当有多个时钟在同一个数字电路中,且有一个时钟(假设为SysClk)的速率大于其它时钟两倍以上

这种情况最为简单,我们在接口部分就必须要对其他时钟进行同步化处理,将其处理为与SysClk同步的时钟信号。这样处理的好处是:
1. 便于处理电路内部时序;
2. 时钟间边界条件只在接口部分电路进行处理。
一般的时钟同步化方法如下图所示。
104817udz4awfq9v99qviy.png

实质上,时钟采样的同步处理方法就是上升沿提取电路,经过上升沿提取输出信息中,带有了系统时钟的信息,所以有利于保障电路的可靠性和可移植性。

******************************************************************************************************************************************************
二、当系统中所有时钟没有一个时钟速率达到其他时钟频率的两倍的情况,也就是系统中多个时钟速率差不多的情况

这个时候无法满足采样定理,所以在接口部分就必须对其他时钟和数据通过FIFO进行隔离,并将其他时钟信息转换为和系统时钟同步的允许信号。比如在高速的数据采集系统当中,AD的采集时钟往往比较高,大于系统时钟的一半以上,这时候采用同步化处理无法满足时序设计。

******************************************************************************************************************************************************
三、系统中多个时钟之间存在数据互相采样

如下图所示的情况。clk1和clk2来自不同的时钟源,该电路即可能出现在同一芯片里,也可能出现在不同的芯片里,但是都存在同样的危险性。由于时钟源不同,对于寄存器reg2和reg3来说,在同一时刻,极有可能一个认为reg1输出为“1”,另一个认为是“0”,必然导致电路结果的错误。
104817w29tq99uutdy2odt.png

对于这种电路,我们必须在reg1之后再添加一个触发器,用clk2的时钟沿进行采样,然后用该触发器的输出经过组合逻辑输出到reg2和reg3当中,如下图所示。
104818leb8q898kjq25pu2.png

*************************************************************************************************************************
四、多级时钟或多级时钟网络处理

由于时钟建立-保持时间的限制,FPGA设计中应尽量避免采用多时钟网络,或者尽量减少时钟的个数,所以在FPGA对ASIC芯片进行验证的时候,我们必须要将时钟网络进行简化,因为FPGA内部时钟资源不像ASIC一样具有很强的穿透性和灵活性。下图为一个含有危险的多级时钟的例子,多路选择器的输入是clk和clk的2分频,时钟由SEL引脚控制的多路选择器输出,在这两个时钟均为逻辑“1”时,当SEL的状态改变时,存在静态冒险竞争现象。
104818b7tjhmrth1rrr1rs.png

所以为了确保电路的正常工作,需要进行修改,修改之后的电路如下图所示。
104818iwdku2kpyhccuokk.png

今天就聊到这里,各位,继续加油!

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

    关注

    2

    文章

    43

    浏览量

    11045
收藏 人收藏

    评论

    相关推荐

    FPGA异步时钟设计同步策略

    摘要:FPGA异步时钟设计如何避免亚稳态的产生是一个必须考虑的问题。本文介绍了FPGA异步时钟设计
    发表于 04-21 16:52

    同步复位和异步复位

    ` ​大家好,谈到同步复位和异步复位,那咱们就不得不来聊一聊复位这个词了。在数字逻辑电路设计电路通过复位来启动,复位犹如数字
    发表于 01-30 11:01

    异步电路时钟同步处理方法

    大家好,又到了每日学习的时候了。今天我们来聊一聊异步电路时钟同步处理
    发表于 02-09 11:21

    异步电路时钟同步处理方法

    发表于 05-13 11:41

    AD7878用于微处理器的异步时钟接口方法

    AD7878用于微处理器的异步时钟接口方法:
    发表于 06-10 11:48 31次下载
    AD7878用于微<b class='flag-5'>处理</b>器的<b class='flag-5'>异步</b><b class='flag-5'>时钟</b>接口<b class='flag-5'>方法</b>

    异步时钟域的亚稳态问题和同步

    相较纯粹的单一时钟同步电路设计,设计人员更多遇到的是多时钟域的异步电路设计。因此,
    发表于 07-31 16:51 0次下载

    时钟域的同步时序设计和几种处理异步时钟域接口的方法

    外部输入的信号与本地时钟异步的。在SoC设计中,可能同时存在几个时钟域,信号的输出驱动和输入采样在不同的时钟节拍下进行,可能会出现一些不稳定的现象。本文分析了在跨
    的头像 发表于 07-24 09:52 3947次阅读
    多<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>

    如何将一种异步时钟域转换成同步时钟

     本发明提供了一种将异步时钟域转换成同步时钟域的方法,直接使用同步
    发表于 12-21 17:10 5次下载
    如何将一种<b class='flag-5'>异步</b><b class='flag-5'>时钟</b>域转换成<b class='flag-5'>同步</b><b class='flag-5'>时钟</b>域

    异步时钟同步处理

    异步系统中,由于数据和时钟的关系不是固定的,因此会出现违反建立和保持时间的现象。
    的头像 发表于 06-05 14:34 1949次阅读
    <b class='flag-5'>异步</b><b class='flag-5'>时钟</b>的<b class='flag-5'>同步</b><b class='flag-5'>处理</b>

    异步电路的跨时钟处理

    异步电路不能根据时钟是否同源来界定,时钟之间没有确定的相位关系是唯一准则。
    的头像 发表于 06-27 10:32 660次阅读

    同步电路异步电路有何区别

    同步电路异步电路有何区别 同步电路异步
    的头像 发表于 08-27 16:57 6099次阅读

    什么是同步逻辑和异步逻辑?同步电路异步电路有何区别?

    什么是同步逻辑和异步逻辑?同步电路异步电路有何区别? 同步
    的头像 发表于 11-17 14:16 1445次阅读

    异步电路同步电路区别在哪?

    异步电路同步电路区别在哪? 异步电路同步
    的头像 发表于 12-07 10:53 1058次阅读

    异步电路中的时钟同步处理方法

    异步电路中的时钟同步处理方法  时钟
    的头像 发表于 01-16 14:42 305次阅读

    同步置数,异步置数,同步清零,异步清零的概念

    同步置数、异步置数、同步清零和异步清零是数字电路设计中常用的概念。 一、同步置数
    的头像 发表于 02-22 13:48 1360次阅读