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

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

3天内不再提示

ASIC/FPGA设计中的CDC问题分析

FPGA设计论坛 来源:FPGA设计论坛 作者:FPGA设计论坛 2022-05-12 15:29 次阅读

CDC(不同时钟之间传数据)问题是ASIC/FPGA设计中最头疼的问题。CDC本身又分为同步时钟域和异步时钟域。这里要注意,同步时钟域是指时钟频率和相位具有一定关系的时钟域,并非一定只有频率和相位相同的时钟才是同步时钟域。异步时钟域的两个时钟则没有任何关系。这里假设数据由clk1传向clk2。

单bit传输时,同步时钟域因为频率和相位关系都是已知的,可以推导的,所以不需要采用额外的硬件电路就可以解决CDC问题,只需要源数据在clk1端保持足够长时间即可。让其保持足够长时间有两个好处:即便出现亚稳态,也可以在两个clk2时钟周期后数据变得稳定下来,从而采到正确的结果。还可以防止低频采高频时,因为频率跟不上而导致数据丢失。

单bit传输时,异步时钟域的传输就必须使用额外的电路模块(同步器)来保证数据正确的传输。最基本的同步器是双锁存结构的电平同步器,其余的同步器都是由其衍生而来。该同步器的基本原理,也是让数据至少在clk2的时钟下保存两个周期,消除亚稳态。当然同步器能解决异步时钟域的同步问题,自然也可以拿来解决同步时钟域的问题,毕竟同步时钟域更简单一些。

实际的电路设计中,才不会管那么多细节,不管你是同步时钟域还是异步时钟域,只要是不同的时钟之间传数据,就加上同步器的结构,这当然是一种偷懒的解决办法。脉冲同步器就是这么一种万能的结构,对于单bit跨时钟域传输而言,使用脉冲同步器就够了,不需要区分时钟有没有关系,也不需要区分是高频采低频还是低频采高频,毕竟也很少有人能掌握这么全的细节。

对于多bit传输,不能采用单bit传输的方法。原因在于,单bit传输时,不能确定该数据到底经过1个clk2时钟周期之后有效还是两个clk2时钟周期之后才有效。所以对多个bit各自采用单bit的同步机制,会导致输出一些错误的中间状态。对于多bit传输,只能使用握手信号或者异步fifo。

5b1a42f2-d1b3-11ec-bce3-dac502259ad0.png

总结如下:

1、有关系的时钟之间传单bit数据,理论上只需要源数据保持足够长的时间(clk2的两个周期)即可;

2、无关系的时钟之间传单bit数据,必须要使用同步器;

3、不管有无关系的时钟进行单bit传输,脉冲同步器都可以解决这个问题;

4、多bit传输只能使用握手机制或者异步fifo;

5、低频采高频,为防止数据不丢失,应当让源数据变慢,多保持一些周期;高频采低频则不需要,但是高频采低频得到的结果可能带有很多冗余。

原文标题:FPGA学习-CDC问题的解决方案总结--异步时钟

文章出处:【微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

审核编辑:汤梓红

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

    关注

    1629

    文章

    21729

    浏览量

    602978
  • asic
    +关注

    关注

    34

    文章

    1199

    浏览量

    120434
  • 异步时钟
    +关注

    关注

    0

    文章

    17

    浏览量

    9404
  • 同步时钟
    +关注

    关注

    0

    文章

    47

    浏览量

    3219

原文标题:FPGA学习-CDC问题的解决方案总结--异步时钟

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    ASICFPGA的优势与劣势

    ASICFPGA具有不同的价值主张,在作出选择前必须仔细评估。两种种技术对比。这里介绍了ASICFPGA 的优势与劣势。
    发表于 03-31 17:30 5627次阅读
    <b class='flag-5'>ASIC</b>和<b class='flag-5'>FPGA</b>的优势与劣势

    #硬声创作季 #ASIC 可编程ASIC设计-04.01FPGA设计的仿真方法

    fpgaasic
    水管工
    发布于 :2022年09月25日 05:01:09

    cogoask讲解fpgaASIC是什么意思

    定制ASIC电路的中试样片。   3)FPGA内部有丰富的触发器和I/O引脚。   4)FPGAASIC电路设计周期最短、开发费用最低、
    发表于 02-27 17:46

    如何在FPGAASIC设计结合高速USB功能

    如何在FPGAASIC设计结合高速USB功能通用串行总线已经很普遍了,这是由于其使用简单,随插即用,并具有鲁棒性的优点。USB已经找到了进入曾经使用串口、并口作为其hoST接口的计算机外设的方式
    发表于 11-22 16:11

    ASIC设计-FPGA原型验证

    1ASIC 验证技术.................................................11.1 ASIC 设计流程
    发表于 09-18 15:26

    FPGAASIC芯片解密有哪些性能分析

    有流水处理和响应迅速的特点。 芯片解密认为,FPGA一般来说比ASIC的速度要慢,无法完成复杂的设计,但是功耗较低。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序的错误和更便宜的造价
    发表于 06-12 15:56

    高密度IC设计ASICFPGA选择谁

    在过去10年间,全世界的设计人员都讨论过使用ASIC或者FPGA来实现数字电子设计的好处。通常这些讨论将完全定制IC的性能优势和低功耗与FPGA的灵活性和低NRE成本进行比较。设计队伍应当在A
    发表于 07-15 07:00

    ASICFPGA有什么区别

    。然而,在FPGA,有时候需要额外的硬件开销来进行正确的连接。  3、成本区别:  ASIC在重复成本方面具有很大的优势,因为在设计浪费的材料非常少。对于
    发表于 12-01 17:41

    ASICFPGA设计的多点综合技术

    ASICFPGA设计的多点综合技术 尽管在技术发展的每一个时刻做出精确的预言是困难的,但ASICFPGA所集成的门数仍象数年前INT
    发表于 06-19 10:05 11次下载

    ASIC设计转FPGA时的注意事项

    FPGA原型验证和其他验证方法是不同的,任何一种其他验证方法都是ASIC验证的一个环节,而FPGA验证却是一个过程。由于FPGA
    发表于 09-10 17:22 1064次阅读

    如何使用report_cdc命令分析、调试和修复CDC问题

    了解如何使用命令report_cdc分析,调试和修复设计CDC问题。 命令report_cdc是一个仅限TCL的命令,用于
    的头像 发表于 11-21 06:05 4725次阅读

    FPGA_ASIC-MAC在FPGA的高效实现

    FPGA_ASIC-MAC在FPGA的高效实现(理士电源技术有限公司)-该文档为FPGA_ASIC-MAC在FPGA
    发表于 08-04 19:03 8次下载
    <b class='flag-5'>FPGA_ASIC</b>-MAC在<b class='flag-5'>FPGA</b><b class='flag-5'>中</b>的高效实现

    FPGA vs ASIC

    FPGA vs ASIC 相同点 都设计使用硬件描述语言(HDL),如VHDL或Verilog。但ASIC相比于FPGA开发上,代码风格更为随意,因为
    的头像 发表于 11-28 10:30 1227次阅读

    FPGAASIC技术对比

    FPGA要取代ASIC了,这是FPGA厂商喊了十多年的口号。可是,FPGA地盘占了不少,ASIC也依旧玩得愉快。那么,这两位仁兄到底有啥不一
    的头像 发表于 03-31 14:41 1687次阅读
    <b class='flag-5'>FPGA</b>、<b class='flag-5'>ASIC</b>技术对比

    FPGAASIC的优劣势 FPGAASIC的应用场景及前景

      FPGAASIC是数字电路中常见的实现方式,因此人们经常会想要了解哪种芯片在未来的发展更具有前途。然而,这取决于具体的应用场景和需求。在本文中,我们将探讨FPGA
    发表于 08-14 16:40 2144次阅读