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

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

3天内不再提示

【教程分享】在FPGA中,同步信号、异步信号和亚稳态的理解

电子发烧友论坛 来源:未知 2023-05-16 09:30 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的“傻瓜式”讲解,让电子、信息、通信类专业学生、初入职场小白及打算进阶提升的职业开发者都可以有系统性学习的机会。


系统性的掌握技术开发以及相关要求,对个人就业以及职业发展都有着潜在的帮助,希望对大家有所帮助。后续会陆续更新 Xilinx 的 Vivado、ISE 及相关操作软件的开发的相关内容,学习FPGA设计方法及设计思想的同时,实操结合各类操作软件,会让你在技术学习道路上无比的顺畅,告别技术学习小BUG卡破脑壳,告别目前忽悠性的培训诱导,真正的去学习去实战应用,这种快乐试试你就会懂的。话不多说,上货。


在FPGA中,同步信号、异步信号和亚稳态的理解

PGA(Field-Programmable Gate Array),即现场可编程门阵列。主要是利用内部的可编程逻辑实现设计者想要的功能。FPGA属于数字逻辑芯片,其中也有可能会集成一部分模拟电路的功能,大多数模拟电路都是当做asic进行工作的,可编程的部分大多数都是数字逻辑部分。


数字逻辑电路是由组合逻辑和时序逻辑器件构成,在时序逻辑器件中,常用就是时钟触发的寄存器



如果在设计中,所有的寄存器的时钟端都是连接的同一个时钟,那么称之为同步电路设计。所谓同步也就是所有的寄存器的输出端都是由同一个时钟端驱动出来的,所有的寄存器在同一个步调上进行更新。


同步电路中的信号,我们称之为同步信号。


如果在设计中,寄存器的时钟端连接在不同的时钟上,那么称之为异步电路设计。



在异步电路中,被clk1驱动的寄存器和组合逻辑电路构成时钟域clk1的电路,被clk2驱动的寄存器和组合逻辑电路构成时钟域clk2的电路。信号从clk1的时钟域到clk2的时钟域,被称为跨时钟域。而对于信号D5来说,我们认为它是clk1时钟域的信号,那么对于clk2时钟域来说,就是异步信号,因为它不与clk2的驱动沿对齐。


寄存器有一种特性,在clk的有效边沿时,采样数据D,输出到Q,此过程如果想要稳定进行,那么要求,数据D在clk有效边沿之前一段时间保持稳定(建立时间),在clk有效边沿之后一段时间保持稳定(保持时间),如果任何一个不满足,就会导致此过程失败,结果就是clk的有效边沿过去后,Q的值可能就不会出现预想值。那么是什么呢?先不着急,后面慢慢谈。


在真实的电路中,各部分元器件都是有延迟的。对于同步电路来说,Q的更新都是在clk上上升沿之后的一段时间(Tco:输出延迟),输出的数据经过组合逻辑或者线路也会有延迟(delay:线路延迟),到达下一个寄存器。此时,信号早就偏离了clk的上升沿。所以对于下级寄存器来说,这个信号也是“异步信号”。所以说真实电路中,全部的信号都是“异步信号”。


那么为什么在同步电路中,我们都称为同步信号呢?


因为在电路中,所有的延迟都是已知的(TCO、delay等等),我们可以通过扩大clk的周期,确保clk的周期大于TCO等等之类延迟之和,那么就可以保证下级寄存器采样到数据。所以这种电路中的信号,我们依然把他称之为同步信号。


在跨时钟域时,由于两个时钟之间没有任何关系,无论怎么调整周期,都不一定能满足下级寄存器采样到数据,肯定不能调成一致周期,那就变成了同步设计。例:用寄存器采样外部按键的输入,那么此时外部按键的信号对于寄存器来说就是异步信号,因为外部信号是随时都有可能有效,所以无论怎么调整,都不一定能够保证信号满足寄存器的建立保持时间。


那么既然在很多情况下,无论如何也避免不了异步信号带的坏处,那么能不能全部采用同步设计?显然是不太现实,不同接口或者存储器等都有自己频率,全部采用同步电路设计的方式将失去很多功能。例如:千兆以太网的GMII接口,采用125M接口,1080P的HDMI接口采用148.5MHz的接口。


既然无法避免,那就勇敢面对。


当信号不满足建立和保持时间时,寄存器会输出什么值呢?



在上图中,输入信号在clock的上升沿左右有了一个从高到低的变化,即不满足建立和保持时间。那么寄存器的输出端就会输出一个既不是高电平也是低电平的一个电平。


在数字电路中,高电平和低电平是两个稳定的电平值,能够一直维持不变化。如果不满足建立或者保持时间的话,输出的电平值不高也不低,但是此电平不稳定,称为亚稳态(类似于健康和亚健康)。亚稳定是不稳定的,终究要向高或者低电平进行变化。


那么有人说,亚稳态终究会走向稳态,那么岂不是没有影响了。答案是错误的。可以想象,亚稳态走向稳态是必然趋势,可是需要一定的时间,如果在这一段时间内,被其他电路所引用,那么就会造成亚稳态的传播,进而导致整个电路的瘫痪(因为整个电路都会变成非高非低的信号在运行)。


那么应该如何处理呢?


对于单bit信号,我们一般采用同步寄存器链来进行处理。



对于同步寄存器链的要求有三点:



第一:在同步寄存器链中,所有的寄存器都必须用同一个或者相关(例如:一个时钟是另外一个时钟的相位延迟180度)时钟驱动。


第二:第一个寄存器的输入为外部的异步信号。


第三:在同步寄存器链中,所有的输出只能给下一级使用。只有最后一级寄存器可以给其他的电路使用。


对于第一点和第二点,不再解释。下面解释一下第三点。



D3信号为clk2时钟域的异步信号,那么D4信号就有可能出现亚稳态。假设D4信号出现亚稳态后,恢复至稳态的时间为T1,组合逻辑2的延迟为T2,那么D5信号得到稳态的时间为T1+T2。如果没有组合逻辑2时,D5信号得到稳态的时间为T1。如果clk2的周期大于T1+T2,那么有无组合逻辑2,将不受影响;如果clk2的周期大于T1且小于T1+T2,那么有组合逻辑2,就会造成亚稳态的传播。如果clk2的周期小于T1,也会亚稳态的传播。


综上所述,组合逻辑2,还是不要有的好,能够大大增加D5得到稳态的几率。


在上述叙述中,我们只是提高了得到稳态的几率,但是还是有亚稳态传播的几率。


在实际电路中,一般同步寄存器链会有两级甚至多级。那么多级的同步寄存器链会有什么作用呢?


在上述叙述中得知,亚稳态是一种不稳定的状态,会向稳定状态过渡。如果第一级寄存器输出亚稳态,恢复时间为T1,如果clk的周期小于T1,那么亚稳态将会在第二级寄存器输出,由于第一级亚稳态已经经过clk一个周期的恢复,所以在第二级寄存器输出时,亚稳态恢复至稳态的时间T2将会缩短。T2< T1。


再多级的寄存器,也无法避免亚稳态,只是级数越多,最后一级输出亚稳态的几率将会越低。


在实际电路中,一般采用两级或者三级即可。






声明本文由电子发烧友社区发布,转载请注明以上来源。如需社区合作及入群交流,请添加微信EEFans0806,或者发邮箱liuyong@huaqiu.com。


更多热点文章阅读

  • 电子工程师分享:常用电平转换电路、电源自动切换电路、太阳能充电电路总结

  • 基于32位RISC-V设计的互联型微控制器,沁恒微CH32V307开发样例

  • RK3568!四核64位ARMv8.2A架构,汇聚编译源码及实战样例

  • 尺寸仅有21mm*51mm,板边采用邮票孔设计,合宙 Air105 核心板开发总结

  • 基于ESP32芯片,搭载OpenHarmony操作系统,NiobeU4开发板应用实例


原文标题:【教程分享】在FPGA中,同步信号、异步信号和亚稳态的理解

文章出处:【微信公众号:电子发烧友论坛】欢迎添加关注!文章转载请注明出处。

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

原文标题:【教程分享】在FPGA中,同步信号、异步信号和亚稳态的理解

文章出处:【微信号:gh_9b9470648b3c,微信公众号:电子发烧友论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    信号同步控制器 轻松无延时同步多种设备信号

    ZQC-T信号同步控制器可轻松同步多个设备信号,实现整个视觉系统的各个应用单元之间无延时的同步
    的头像 发表于 10-17 11:34 250次阅读
    <b class='flag-5'>信号</b><b class='flag-5'>同步</b>控制器 轻松无延时<b class='flag-5'>同步</b>多种设备<b class='flag-5'>信号</b>

    AMD FPGA异步模式与同步模式的对比

    本文讲述了AMD UltraScale /UltraScale+ FPGA 原生模式下,异步模式与同步模式的对比及其对时钟设置的影响。
    的头像 发表于 07-07 13:47 1435次阅读

    异步时钟域处理方法大全

    该方法只用于慢到快时钟域的1bit信号传递。Xilinx器件,可以使用(* ASYNC_REG = "TRUE" *)标记,将两个寄存器尽量靠近综合,降低 亚稳态因导线延迟太大而传
    的头像 发表于 05-14 15:33 1289次阅读
    跨<b class='flag-5'>异步</b>时钟域处理方法大全

    模拟示波器信号处理实验中有哪些应用?

    ,可以分析噪声的来源和特性,如白噪声、随机噪声等,为信号去噪提供依据。 三、信号调制与解调实验 调制信号观测: 调制实验,模拟示波器可
    发表于 04-01 15:01

    信号发生器相位噪声测量的应用

    相位噪声:信号质量的隐形杀手 现代通信、雷达、电子测量等众多领域,信号质量是确保系统性能的关键因素。而相位噪声作为影响信号质量的重要指标,正逐渐成为研究与应用的焦点。相位噪声是指
    的头像 发表于 03-13 16:06 705次阅读
    <b class='flag-5'>信号</b>发生器<b class='flag-5'>在</b>相位噪声测量<b class='flag-5'>中</b>的应用

    DLPC410图片显示DMD上的同一时刻,产生一个同步信号以协同DMD与其他设备之间的工作,同步信号应该与哪个信号同步

    需求:图片显示DMD上的同一时刻,产生一个同步信号以协同DMD与其他设备之间的工作。 问题:该同步
    发表于 02-24 06:58

    DLPLCRC410EVM是否提供触发信号接口用于后续的同步测量?是否也需要利用FPGA对触发信号进行编程?

    使用额外的DDR将要投影的图案预先加载 软件上则需要使用VHDL或其他硬件描述语言对APPSFPGA进行编程 不知道上述理解是否正确? 另外,我的问题在于: 1. 该EVM是否提供触发信号
    发表于 02-19 07:04

    ADC技术信号处理的应用

    ADC(模拟/数字转换器,Analog-to-Digital Converter)技术信号处理的应用非常广泛,它作为模拟世界与数字领域之间的桥梁,发挥着至关重要的作用。以下是对ADC技术
    的头像 发表于 02-18 17:27 1560次阅读

    CMOS逻辑IC使用时如何应对电路的危害、亚稳态、锁存以及ESD—东芝半导体带你深入电子设计

    提要 本期课堂,我们将继续深入CMOS逻辑IC的使用注意事项,介绍如何应对电路的危害、亚稳态、锁存以及ESD防护等问题。 Q 危害的问题 如果是由OR(或)、AND(与)和其它门组成的多输入组合
    的头像 发表于 02-07 17:43 1844次阅读
    CMOS逻辑IC使用时如何应对电路<b class='flag-5'>中</b>的危害、<b class='flag-5'>亚稳态</b>、锁存以及ESD—东芝半导体带你深入电子设计

    手机信号调制技术的原理解

    现代通信技术,手机信号调制技术扮演着至关重要的角色。它不仅关系到信息的传输效率,还直接影响到通信的可靠性和稳定性。 调制的目的 调制是将低频信号(如音频或数字
    的头像 发表于 01-21 09:48 2091次阅读

    调制音频信号处理的应用

    调制音频信号处理扮演着至关重要的角色。以下是调制音频信号处理的具体应用及其作用: 一、调
    的头像 发表于 01-21 09:36 1429次阅读

    能否直接使用晶振直接给ADC324X产生时钟信号

    ADC324X这个ADC中有两个通道,目前设计我只使用了其中一个,并将转换结果发送给FPGA。我想请教2个问题: 1、ADC324X
    发表于 12-31 06:15

    差分信号嵌入式系统的应用

    差分信号嵌入式系统的应用十分广泛,特别是需要长距离传输、高抗干扰性以及多设备连接的场景。以下是对差分
    的头像 发表于 12-25 18:13 1413次阅读

    DFT在生物信号分析的应用

    一种强大的数学工具,能够帮助科研人员更好地理解和分析这些生物信号。 DFT在生物信号分析的应用 频谱分析 : DFT可以将生物信号从时域转
    的头像 发表于 12-20 09:28 1561次阅读

    DFT信号处理的应用 DFT与FFT的区别

    是DFT信号处理的一些主要应用: 频谱分析 :DFT可以用来分析信号的频率成分,这对于理解信号
    的头像 发表于 12-20 09:13 4053次阅读