CN103576738A - 一种异步信号跨时钟域处理方法及装置 - Google Patents
一种异步信号跨时钟域处理方法及装置 Download PDFInfo
- Publication number
- CN103576738A CN103576738A CN201210271601.7A CN201210271601A CN103576738A CN 103576738 A CN103576738 A CN 103576738A CN 201210271601 A CN201210271601 A CN 201210271601A CN 103576738 A CN103576738 A CN 103576738A
- Authority
- CN
- China
- Prior art keywords
- output
- input
- pointer
- unit
- signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明公开了一种异步信号跨时钟域处理方法及装置,能够避免跨时钟域交互的信号出现交互错误。所述处理方法中输出方法包括:输入时钟域的输入指针缓存单元缓存一输入指针,所述输入指针用于指示信号在信号缓存单元中的位置;输入时钟域与输出时钟域进行握手;握手成功后,输出时钟域从输入指针缓存单元采样缓存的输入指针;输出时钟域将采样到的输入指针与最后一次输出的输出指针进行比较,判断信号缓存单元中如果有未读取的信号,则产生输出指示。所述输出装置包括:输入时钟域的输入指针缓存单元和输入握手单元,以及输出时钟域的输入指针采样单元、输入握手确认单元和输出比较单元。有效解决信号跨时钟域交互出现的传输错误问题,且效率高。
Description
技术领域
本发明涉及通信领域,具体涉及一种异步信号跨时钟域处理方法及装置。
背景技术
随着集成电路工艺技术的发展,使得专用集成电路(ASIC,ApplicationSpecific Integrated Circuit)和现场可编程门阵列(FPGA,Field ProgrammableGate Array)的逻辑集成度越来越高,逻辑设计规模越来越大,经常需要在不同时钟域之间进行信号的交互,而这些跨时钟域交互的信号在交互过程中,由于亚稳态的存在,导致信号交互出现错误,因此跨时钟域交互的信号是否能够正确交互,是ASIC和FPGA设计是否可靠稳定的关键因素之一。
目前的跨时钟域交互的信号处理方法,如图1所示,左右线框内的模块分别工作在各自的时钟域,共有两个时钟域:写时钟域和读时钟域。跨时钟域交互的信号写入到数据存储单元,再从数据存储单元中读出,通过数据存储单元完成跨时钟域的信号交互。数据存储单元写地址为写时钟域下产生,读地址为读时钟域下产生。写地址通过格雷码转换,再经过同步化处理后传到读时钟域下,同读地址进行比较产生空指示,指示数据存储单元是否有信号可以从数据存储单元中读出。读地址通过格雷码转换,再经过同步化处理后传到写时钟域下,同写地址进行比较产生满指示,指示是否可以把信号写入数据存储单元。满指示和空指示如果出现指示不正确的情况,就会导致跨时钟域交互的信号出现错误。满指示需要跨时钟域交互的读地址,空指示需要跨时钟域交互的写地址,虽然跨时钟域交互的信号通过数据存储单元能够正确的交互,但是产生了新的跨时钟域交互的读写地址信号。新的跨时钟域交互的读写地址通过格雷码转换从一个时钟域同步到另个时钟域,使得读写地址的多比特交互信号最多同时只有一个比特发生变化,这样多比特信号进入另一个时钟域采样,即使发生变化的这个比特采样为亚稳态,组成读写地址的多比特信号或者是最新值,或者是上一次值,这样产生的满指示和空指示只会正确或者提前指示,不会导致通过数据存储单元进行跨时钟域交互的信号出现错误。但如果跨时钟域交互读写地址的多比特交互信号走线延时不一样,就会导致读写地址的多比特交互信号同时有多个比特发生变化,发生变化的多个比特采样为亚稳态,组成读写地址的多比特信号就会错误,这样产生的满指示和空指示出现错误,导致通过数据存储单元进行跨时钟域交互的信号出现错误。
综上所述,目前跨时钟域交互的信号处理方法,由于跨时钟域交互的多比特信号走线延时的不一样,即使使用格雷码变换也会出现跨时钟域交互的多比特信号同时有多个比特发生变化,发生变化的多个比特进入另个时钟域采样为亚稳态,导致跨时钟域交互的信号出现错误。
发明内容
本发明要解决的技术问题是提供一种异步信号跨时钟域处理方法及装置,能够避免跨时钟域交互的信号出现交互错误。
为解决上述技术问题,本发明提供了一种异步信号跨时钟域处理方法,其中输出方法包括:
输入时钟域的输入指针缓存单元缓存一输入指针,所述输入指针用于指示信号在信号缓存单元中的位置;
输入时钟域与输出时钟域进行握手;
握手成功后,输出时钟域从输入指针缓存单元采样缓存的输入指针;
输出时钟域将采样到的输入指针与最后一次输出的输出指针进行比较,判断信号缓存单元中如果有未读取的信号,则产生输出指示。
进一步地,所述输入时钟域与输出时钟域进行握手,包括:所述输入时钟域与输出时钟域之间的握手信号为单比特信号。
进一步地,所述判断信号缓存单元中如果有未读取的信号,则产生输出指示,包括:所述输出时钟域判断所述采样到的输入指针与最后一次输出的输出指针的差值大于预设输出门限,则产生输出指示,指示输出时钟域能从信号缓存单元输出信号缓存单元中从所述输出指针至所述输入指针间的信号。
进一步地,所述预设输出门限大于等于0且小于信号缓存单元的最大缓存容量。
为解决上述技术问题,本发明还提供了一种异步信号跨时钟域输出装置,包括:输入时钟域的输入指针缓存单元和输入握手单元,以及输出时钟域的输入指针采样单元、输入握手确认单元和输出比较单元,其中:
所述输入指针缓存单元,用于缓存一输入指针,所述输入指针用于指示信号在信号缓存单元中的位置;
所述输入指针采样单元,用于在握手成功后,从输入指针缓存单元采样缓存的输入指针;
所述输入握手单元,用于与输入握手确认单元进行握手;
所述输入握手确认单元,用于与输入握手单元进行握手;
所述输出比较单元,用于将输入指针采样单元采样到的输入指针与最后一次输出的输出指针进行比较,判断信号缓存单元中如果有未读取的信号,则产生输出指示。
进一步地,所述输入握手单元与输入握手确认单元采用以下方式进行握手:所述输入握手单元与输入握手确认单元之间的握手信号为单比特信号。
进一步地,所述输出比较单元判断信号缓存单元中如果有未读取的信号,则产生输出指示,包括:所述输出比较单元判断输入指针采样单元采样到的输入指针与最后一次输出的输出指针的差值大于预设输出门限,则产生输出指示,指示输出时钟域能从信号缓存单元输出信号缓存单元中从所述输出指针至所述输入指针间的信号。
进一步地,所述预设输出门限大于等于0且小于信号缓存单元的最大缓存容量。
为解决上述技术问题,本发明还提供了一种异步信号跨时钟域处理方法,其中输入方法包括:
输出时钟域的输出指针缓存单元缓存一输出指针,所述输出指针用于指示从信号缓存单元输出的信号的位置;
输出时钟域与输入时钟域进行握手;
握手成功后,输入时钟域从输出指针缓存单元采样缓存的输出指针;
输入时钟域将采样到的输出指针与最后一次输入的输入指针进行比较,判断信号缓存单元中如果有存储空间,则产生输入指示。
进一步地,所述输出时钟域与输入时钟域进行握手,包括:所述输出时钟域与输入时钟域之间的握手信号为单比特信号。
进一步地,所述判断信号缓存单元中如果有存储空间,则产生输入指示,包括:所述输入时钟域判断最后一次输入的输入指针与所述采样到的输出指针的差值小于预设输入门限,则产生输入指示,指示输入时钟域能向信号缓存单元输入信号。
进一步地,所述预设输入门限大于0且小于等于信号缓存单元的最大缓存容量。
为解决上述技术问题,本发明还提供了一种异步信号跨时钟域输入装置,包括:输出时钟域的输出指针缓存单元和输出握手单元,以及输入时钟域的输出指针采样单元、输出握手确认单元和输入比较单元,其中:
所述输出指针缓存单元,用于缓存一输出指针,所述输出指针用于指示从信号缓存单元输出的信号的位置;
所述输出指针采样单元,用于在握手成功后,从输出指针缓存单元采样缓存的输出指针;
所述输出握手单元,用于与输出握手确认单元进行握手;
所述输出握手确认单元,用于与输出握手单元进行握手;
所述输入比较单元,用于将输出指针采样单元采样到的输出指针与最后一次输入的输入指针进行比较,判断信号缓存单元中如果有存储空间,则产生输入指示。
进一步地,所述输出握手单元与输出握手确认单元采用以下方式进行握手:所述输出握手单元与输出握手确认单元之间的握手信号为单比特信号。
进一步地,所述输入比较单元判断信号缓存单元中如果有存储空间,则产生输入指示,包括:所述输入比较单元判断最后一次输入的输入指针与所述采样到的输出指针的差值小于预设输入门限,则产生输入指示,指示输入时钟域能向信号缓存单元输入信号。
进一步地,所述预设输入门限大于0且小于等于信号缓存单元的最大缓存容量。
本发明实施例通过单点握手和单点握手确认保证信号缓存单元的指针在跨时钟域传递中不会出现错误,有效解决了信号在跨时钟域交互中出现传输错误的问题,信号的跨时钟域交互效率高,同时硬件逻辑电路复杂度低,对于异步时钟域的频率没有限制,可移植性和扩展性高。
附图说明
图1为现有跨时钟域交互的信号处理装置的结构图;
图2为本发明实施例1输出方法流程图;
图3为本发明实施例1输出装置结构示意图;
图4为本发明实施例2输入方法流程图;
图5为本发明实施例2输入装置结构示意图;
图6为本发明应用示例异步处理装置的结构示意图;
图7为本发明应用示例中输入指针的逻辑变化图;
图8为本发明应用示例中输出指针的逻辑变化图;
图9为本发明应用示例中输入握手单元和输入握手确认单元的流程图;
图10为本发明应用示例中输出握手单元和输出握手确认单元的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
实施例1
本实施例介绍异步信号跨时钟域处理方法中的输出方法及相应输出装置。
如图2所示,异步信号输出方法包括以下步骤10-13:
步骤10,输入时钟域的输入指针缓存单元缓存一输入指针;
该输入指针用于指示信号在信号缓存单元中的位置;
信号输出过程是一个循环执行的过程,无需限制开始执行的时间,只要在握手前输入指针缓存单元中已缓存有输入指针即可。
步骤11,输入时钟域与输出时钟域进行握手;
优选地,该输入时钟域与输出时钟域之间的握手信号为单比特信号,以保证正确传递握手信号;
步骤12,握手成功后,输出时钟域从输入指针缓存单元采样缓存的输入指针;
握手成功后采样是为了确保输出时钟域正确采样到该输入指针缓存单元缓存的输入指针;
步骤13,输出时钟域将采样到的输入指针与最后一次输出的输出指针进行比较,判断信号缓存单元中如果有未读取的信号,则产生输出指示。
具体地,输出时钟域判断采样到的输入指针与最后一次输出的输出指针的差值大于预设输出门限,则产生输出指示,指示输出时钟域能够从信号缓存单元输出信号缓存单元中从该输出指针至该输入指针间的信号,即该输出指针至该输入指针间所有指针对应的信号。上述预设输出门限的范围是:大于等于0且小于信号缓存单元的最大缓存容量,当该预设输出门限为0时,表示只要有1个未读取的信号就可以输出。
实现上述方法的输出装置如图3所示,包括:输入时钟域的输入指针缓存单元和输入握手单元,以及输出时钟域的输入指针采样单元、输入握手确认单元和输出比较单元,其中:
该输入指针缓存单元,用于缓存一输入指针,该输入指针用于指示信号在信号缓存单元中的位置;
该输入指针采样单元,用于在握手成功后,从输入指针缓存单元采样缓存的输入指针;
该输入握手单元,用于与输入握手确认单元进行握手;
该输入握手确认单元,用于与输入握手单元进行握手;
该输出比较单元,用于将输入指针采样单元采样到的输入指针与最后一次输出的输出指针进行比较,判断信号缓存单元中如果有未读取的信号,则产生输出指示。
通过输入握手单元与输入握手确认单元的握手可以确保输入指针采样单元正确采样到该输入指针缓存单元缓存的输入指针。两单元之间的握手信号优选为单比特信号。
输入指针缓存单元与输入握手单元可采用以下任一方式工作:方式一,输入指针缓存单元缓存当前输入指针后通知输入时钟域的输入握手单元,以使其与输出时钟域的输入握手确认单元进行握手,待握手完成后,由输入握手确认单元通知输入指针采样单元采样输入指针缓存单元缓存的输入指针;方式二,输入时钟域的输入握手单元在握手前通知输入指针缓存单元可以进行输入指针缓存,待握手完成后,由输入握手确认单元通知输入指针采样单元采样输入指针缓存单元缓存的输入指针。
具体地,该输出比较单元判断输入指针采样单元采样到的输入指针与最后一次输出的输出指针的差值大于预设输出门限,则产生输出指示,指示输出时钟域能够从信号缓存单元输出信号缓存单元中从该输出指针至该输入指针间的信号,是否输出取决于输出时钟域。
实施例2
本实施例介绍异步信号跨时钟域处理方法中的输入方法及相应装置。
如图4所示,异步信号输入方法包括以下步骤20-23:
步骤20,输出时钟域的输出指针缓存单元缓存一输出指针;
所述输出指针用于指示从信号缓存单元输出的信号的位置;
信号输入过程也是一个循环执行的过程,无需限制开始执行的时间,只要在握手前输出指针缓存单元中已缓存有输出指针即可。
步骤21,输出时钟域与输入时钟域进行握手;
优选地,该输入时钟域与输出时钟域之间的握手信号为单比特信号,保证正确传递握手信号。
步骤22,握手成功后,输入时钟域从输出指针缓存单元采样缓存的输出指针;
握手成功后采样是为了确保输入时钟域正确采样到该输出指针缓存单元缓存的输出指针;
步骤23,输入时钟域将最后一次输入的输入指针与采样到的输出指针进行比较,判断信号缓存单元中如果有存储空间,则产生输入指示。
具体地,该输入时钟域判断最后一次输入的输入指针与采样到的输出指针的差值小于预设输入门限,则产生输入指示,指示输入时钟域能够向信号缓存单元输入信号。上述预设输入门限的范围为:大于0且小于等于信号缓存单元的最大缓存容量,表示本次可以存入多少个信号。
实现上述方法的输入装置如图5所示,包括:输出时钟域的输出指针缓存单元和输出握手单元,以及输入时钟域的输出指针采样单元、输出握手确认单元和输入比较单元,其中:
该输出指针缓存单元,用于缓存一输出指针,该输出指针用于指示从信号缓存单元输出的信号的位置;
该输出指针采样单元,用于在握手成功后,从输出指针缓存单元采样缓存的输出指针;
该输出握手单元,用于与输出握手确认单元进行握手;
该输出握手确认单元,用于与输出握手单元进行握手;
该输入比较单元,用于将输出指针采样单元采样到的输出指针与最后一次输入的输入指针进行比较,判断信号缓存单元中如果有存储空间,则产生输入指示。
输出握手单元与输出握手确认单元之间的握手可以确保输出指针采样单元正确采样到该输出指针缓存单元缓存的输出指针。上述两单元之间的握手信号优选为单比特信号。
输出指针缓存单元与输出握手单元可采用以下任一方式工作:方式一,输出指针缓存单元缓存当前输出指针后通知输出时钟域的输出握手单元,以使其与输入时钟域的输出握手确认单元进行握手,待握手完成后,由输出握手确认单元通知输出指针采样单元采样输出指针缓存单元缓存的输出指针;方式二,输出时钟域的输出握手单元在握手前通知输出指针缓存单元可以进行输出指针缓存,待握手完成后,由输出握手确认单元通知输出指针采样单元采样输出指针缓存单元缓存的输出指针。
具体地,该输入比较单元判断最后一次输入的输入指针与采样到的输出指针的差值小于预设输入门限,则产生输入指示,指示输入时钟域能向信号缓存单元输入信号。
上述实施例1中的输出装置和实施例2中的输入装置可以在同一装置中实现,参见以下应用示例。
应用示例
本示例描述包含信号输出和信号输入的异步信号跨时钟处理的方法和装置。图6为本示例异步信号跨时钟处理装置的逻辑结构示意图。该装置主要包括:信号缓存单元,输入指针单元,输入指针缓存单元,输出指针单元,输出指针缓存单元,输入握手单元,输入握手确认单元,输出握手单元,输出握手确认单元,输入指针采样单元,输出指针采样单元,输入比较器,输出比较器。在本装置中设置了输入指针单元和输出指针单元,在其他示例中也可如实施例1或实施例2一样,不设置该单元。
各单元的功能及工作逻辑描述如下:
信号缓存单元,用于缓存异步交互信号,完成异步信号的交互。具体地,当异步信号需要进行交互时,输入时钟域的异步信号输入端检测信号缓存单元的输入指示是否指示有缓存可以存放异步信号,如果指示有缓存可以存放,则向信号缓存单元输入异步信号,如果指示没有缓存可以存放,则等待输入指示;输出时钟域的异步信号输出端检测信号缓存单元的输出指示是否指示有异步信号可以从信号缓存单元中输出,如果指示有异步信号可以从信号缓存单元中输出,则从信号缓存单元输出异步信号,如果指示没有异步信号可以从信号缓存单元中输出,则不输出异步信号;
输入指针单元,用于产生输入指针,指示异步交互信号输入到信号缓存单元中的位置。图7描述了该输入指针单元的工作逻辑流程图。上电初始化输入指针值为0,每向信号缓存单元输入一个异步信号,输入指针加1。
输出指针单元,用于产生输出指针,指示异步交互信号从信号缓存单元中输出的位置。图8描述了该输出指针单元的工作逻辑流程图。上电初始化输出指针值为0,每从信号缓存单元输出一个异步信号,输出指针加1。
输入握手单元和输入握手确认单元,相互按照约定的输入握手规则,通过输入单点握手和输入单点握手确认信号进行握手交互。
上电初始化后输入单点握手信号为低电平,输入单点握手确认信号为低电平;图9描述了输入握手单元和输入握手确认单元的一种工作逻辑流程,本流程仅为示例。此处仅以输入握手单元控制缓存单元进行缓存为例说明。
输入握手单元发送低电平的输入单点握手信号,待检测到输入单点握手确认信号为低电平后,指示输入时钟域缓存当前的输入指针,发送输入单点握手信号为高电平,待检测到输入单点握手确认信号为高电平后,再发送低电平的输入单点握手信号;
输入握手确认单元发送低电平的输入单点握手确认信号,待检测到输入单点握手信号为高电平后,发送输入单点握手确认信号为高电平,待检测到输入单点握手信号为低电平后,指示输出时钟域采样缓存的输入指针,发送输入单点握手确认信号为低电平。
输入指针缓存单元,用于根据输入握手单元的指示缓存一输入指针,将缓存的输入指针发送给输入指针采样单元;
输入指针采样单元,用于根据输入握手确认单元的指示,采样输入指针缓存单元缓存的输入指针;
输出握手单元和输出握手确认单元,相互按照约定的输出握手规则,通过输出单点握手和输出单点握手确认信号进行握手交互。
上电初始化后输出单点握手信号为低电平,输出单点握手确认信号为低电平;图10描述了输出握手单元和输出握手确认单元的一种工作逻辑流程,本流程仅为示例。此处仅以输出握手单元控制缓存单元进行缓存为例说明。
输出握手单元发送低电平的输出单点握手信号,待检测到输出单点握手确认信号为低电平后,指示输出时钟域缓存当前的输出指针,发送输出单点握手信号为高电平,待检测到输出单点握手确认信号为高电平后,再发送低电平的输出单点握手信号;
输出握手确认单元发送低电平的输出单点握手确认信号,待检测到输出单点握手信号为高电平后,发送输出单点握手确认信号为高电平,待检测到输出单点握手信号为低电平后,指示输入时钟域采样缓存的输出指针,发送输出单点握手确认信号为低电平。
输出指针缓存单元,用于根据输出握手单元的指示缓存一输出指针,将缓存的输出指针发送给输出指针采样单元;
输出指针采样单元,用于根据输出握手确认单元的指示,采样输出指针缓存单元缓存的输出指针;
输入比较器,用于产生输入指示,指示信号缓存单元是否有缓存可以存放异步信号,具体地,该输入比较器用输入指针单元产生的输入指针值(即最后一次输入时的输入指针值)减去输出指针采样单元的输出指针值,得到二者的差值,该差值表示还有多少信号没有输出,如果该差值小于配置的输入门限,则指示信号缓存单元有缓存可以存放异步信号;如果该差值等于配置的输入门限,则指示信号缓存单元没有缓存可以存放异步信号;如果该差值大于配置的输入门限,则指示信号缓存单元缓存的异步信号已超过配置的输入门限;
输出比较器,用于产生输出指示,指示是否有异步信号可以从缓存单元中输出,具体地,该输出比较器用输入指针采样单元的输入指针值减去输出指针单元产生的输出指针值(即最后一次输出时的输出指针值),得到二者的差值,该差值表示在最后一次输出信号之后又输入多少信号,如果该差值大于配置的输出门限,则指示有异步信号可以从信号缓存单元中输出;如果该差值等于配置的输出门限,则指示没有异步信号可以从信号缓存单元中输出;如果该差值小于配置的输出门限,则指示从信号缓存单元中输出异步信号已超过配置的输出门限。
下面介绍上述装置异步信号跨时钟处理的流程,对于该装置而言,输出和输出是各自独立互不干扰的过程,下面分别介绍:
输出过程包括以下步骤:
步骤1:输入时钟域和输出时钟域各自检测输入握手交互,进行输入指针的缓存和采样;
输入握手交互包括:输入时钟域和输出时钟域按照约定的输入握手规则,通过输入单点握手和输入单点握手确认信号进行握手交互;
本示例中输入握手规则是(参见图9):输入握手单元发送输入单点握手信号为低电平;输入握手确认单元发送输入单点握手确认信号为低电平;输入握手单元检测到输入单点握手确认信号为低电平后,指示输入时钟域缓存当前的输入指针,并发送输入单点握手信号为高电平;输入握手确认单元检测到输入单点握手信号为高电平后,发送输入单点握手确认信号为高电平;输入握手单元检测到输入单点握手确认信号为高电平后,发送输入单点握手信号为低电平;输入握手确认单元检测到输入单点握手信号为低电平后,指示输出时钟域采样缓存的输入指针,发送输入单点握手确认信号为低电平,输入握手单元检测到输入单点握手确认信号为低电平后,可继续指示输入时钟域缓存当前的输入指针,以此类推,开始下一次输出过程。
步骤2:输出时钟域比较输出指针和采样缓存的输入指针,根据门限配置,产生输出指示。
具体地,用采样缓存的输入指针减去最后一次输出的输出指针,得到二者的差值,如果该差值大于配置的输出门限,则指示有异步信号可以从信号缓存单元中输出;如果该差值等于配置的输出门限,则指示没有异步信号可以从信号缓存单元中输出;如果该差值小于配置的输出门限,则指示从信号缓存单元中输出异步信号已超过配置的输出门限。
输入过程包括以下步骤:
步骤1:输入时钟域和输出时钟域各自检测输出握手交互,进行输出指针的缓存和采样;
输出握手交互包括:输入时钟域和输出时钟域按照约定的输出握手规则,通过输出单点握手和输出单点握手确认信号进行握手交互;
本示例中输出握手规则是(参见图10):输出握手单元发送输出单点握手信号为低电平;输出握手确认单元发送输出单点握手确认信号为低电平;输出握手单元检测到输出单点握手确认信号为低电平后,指示输出时钟域缓存当前的输出指针,并发送输出单点握手信号为高电平;输出握手确认单元检测到输出单点握手信号为高电平后,发送输出单点握手确认信号为高电平;输出握手单元检测到输出单点握手确认信号为高电平后,发送输出单点握手信号为低电平;输出握手确认单元检测到输出单点握手信号为低电平后,指示输入时钟域采样缓存的输出指针,发送输出单点握手确认信号为低电平,输出握手单元检测到输出单点握手确认信号为低电平后,可继续指示输出时钟域缓存当前的输出指针,以此类推,开始下一次输入过程。
步骤2:输入时钟域比较输入指针和采样缓存的输出指针,根据门限配置,产生输入指示。
具体地,用最后一次输入的输入指针减去采样缓存的输出指针,得到二者的差值,如果该差值小于配置的输入门限,则指示信号缓存单元有缓存可以存放异步信号;如果该差值等于配置的输入门限,则指示信号缓存单元没有缓存可以存放异步信号;如果该差值大于配置的输入门限,则指示信号缓存单元缓存的异步信号已超过配置的输入门限。
在本示例中握手单元和握手确认单元在发起握手、进行握手时所采用的电平仅为示例。不论采用何种握手方式,最终目的是保证采样单元能够正确采样到缓存单元缓存的信号。
跨时钟域交互的信号通过信号缓存单元,完成信号的跨时钟域交互,通过指示信号来完成是否可以把信号输入到缓存单元和是否把信号从缓存单元中输出,保证信号的跨时钟域交互效率高,通过单点握手和单点握手确认保证信号缓存单元的指针在跨时钟域传递中不会出现错误,保证信号的跨时钟域交互传输安全,不会出现信号传输错误。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (16)
1.一种异步信号跨时钟域处理方法,其中输出方法包括:
输入时钟域的输入指针缓存单元缓存一输入指针,所述输入指针用于指示信号在信号缓存单元中的位置;
输入时钟域与输出时钟域进行握手;
握手成功后,输出时钟域从输入指针缓存单元采样缓存的输入指针;
输出时钟域将采样到的输入指针与最后一次输出的输出指针进行比较,判断信号缓存单元中如果有未读取的信号,则产生输出指示。
2.如权利要求1所述的方法,其特征在于:
所述输入时钟域与输出时钟域进行握手,包括:
所述输入时钟域与输出时钟域之间的握手信号为单比特信号。
3.如权利要求1或2所述的方法,其特征在于:
所述判断信号缓存单元中如果有未读取的信号,则产生输出指示,包括:
所述输出时钟域判断所述采样到的输入指针与最后一次输出的输出指针的差值大于预设输出门限,则产生输出指示,指示输出时钟域能从信号缓存单元输出信号缓存单元中从所述输出指针至所述输入指针间的信号。
4.如权利要求3所述的方法,其特征在于:
所述预设输出门限大于等于0且小于信号缓存单元的最大缓存容量。
5.一种异步信号跨时钟域输出装置,包括:输入时钟域的输入指针缓存单元和输入握手单元,以及输出时钟域的输入指针采样单元、输入握手确认单元和输出比较单元,其中:
所述输入指针缓存单元,用于缓存一输入指针,所述输入指针用于指示信号在信号缓存单元中的位置;
所述输入指针采样单元,用于在握手成功后,从输入指针缓存单元采样缓存的输入指针;
所述输入握手单元,用于与输入握手确认单元进行握手;
所述输入握手确认单元,用于与输入握手单元进行握手;
所述输出比较单元,用于将输入指针采样单元采样到的输入指针与最后一次输出的输出指针进行比较,判断信号缓存单元中如果有未读取的信号,则产生输出指示。
6.如权利要求5所述的输出装置,其特征在于:
所述输入握手单元与输入握手确认单元采用以下方式进行握手:
所述输入握手单元与输入握手确认单元之间的握手信号为单比特信号。
7.如权利要求5或6所述的输出装置,其特征在于:
所述输出比较单元判断信号缓存单元中如果有未读取的信号,则产生输出指示,包括:
所述输出比较单元判断输入指针采样单元采样到的输入指针与最后一次输出的输出指针的差值大于预设输出门限,则产生输出指示,指示输出时钟域能从信号缓存单元输出信号缓存单元中从所述输出指针至所述输入指针间的信号。
8.如权利要求7所述的输出装置,其特征在于:
所述预设输出门限大于等于0且小于信号缓存单元的最大缓存容量。
9.一种异步信号跨时钟域处理方法,其中输入方法包括:
输出时钟域的输出指针缓存单元缓存一输出指针,所述输出指针用于指示从信号缓存单元输出的信号的位置;
输出时钟域与输入时钟域进行握手;
握手成功后,输入时钟域从输出指针缓存单元采样缓存的输出指针;
输入时钟域将采样到的输出指针与最后一次输入的输入指针进行比较,判断信号缓存单元中如果有存储空间,则产生输入指示。
10.如权利要求9所述的方法,其特征在于:
所述输出时钟域与输入时钟域进行握手,包括:
所述输出时钟域与输入时钟域之间的握手信号为单比特信号。
11.如权利要求9或10所述的方法,其特征在于:
所述判断信号缓存单元中如果有存储空间,则产生输入指示,包括:
所述输入时钟域判断最后一次输入的输入指针与所述采样到的输出指针的差值小于预设输入门限,则产生输入指示,指示输入时钟域能向信号缓存单元输入信号。
12.如权利要求11所述的方法,其特征在于:
所述预设输入门限大于0且小于等于信号缓存单元的最大缓存容量。
13.一种异步信号跨时钟域输入装置,包括:输出时钟域的输出指针缓存单元和输出握手单元,以及输入时钟域的输出指针采样单元、输出握手确认单元和输入比较单元,其中:
所述输出指针缓存单元,用于缓存一输出指针,所述输出指针用于指示从信号缓存单元输出的信号的位置;
所述输出指针采样单元,用于在握手成功后,从输出指针缓存单元采样缓存的输出指针;
所述输出握手单元,用于与输出握手确认单元进行握手;
所述输出握手确认单元,用于与输出握手单元进行握手;
所述输入比较单元,用于将输出指针采样单元采样到的输出指针与最后一次输入的输入指针进行比较,判断信号缓存单元中如果有存储空间,则产生输入指示。
14.如权利要求13所述的输入装置,其特征在于:
所述输出握手单元与输出握手确认单元采用以下方式进行握手:
所述输出握手单元与输出握手确认单元之间的握手信号为单比特信号。
15.如权利要求13或14所述的输入装置,其特征在于:
所述输入比较单元判断信号缓存单元中如果有存储空间,则产生输入指示,包括:
所述输入比较单元判断最后一次输入的输入指针与所述采样到的输出指针的差值小于预设输入门限,则产生输入指示,指示输入时钟域能向信号缓存单元输入信号。
16.如权利要求15所述的输入装置,其特征在于:
所述预设输入门限大于0且小于等于信号缓存单元的最大缓存容量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210271601.7A CN103576738A (zh) | 2012-08-01 | 2012-08-01 | 一种异步信号跨时钟域处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210271601.7A CN103576738A (zh) | 2012-08-01 | 2012-08-01 | 一种异步信号跨时钟域处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103576738A true CN103576738A (zh) | 2014-02-12 |
Family
ID=50048733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210271601.7A Pending CN103576738A (zh) | 2012-08-01 | 2012-08-01 | 一种异步信号跨时钟域处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103576738A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111651950A (zh) * | 2020-05-09 | 2020-09-11 | 济南浪潮高新科技投资发展有限公司 | 一种跨时钟域时序约束文件的生成方法、设备及介质 |
WO2020259080A1 (zh) * | 2019-06-28 | 2020-12-30 | 深圳市中兴微电子技术有限公司 | 多位数据跨时钟域的处理方法及装置 |
CN116132552A (zh) * | 2023-01-31 | 2023-05-16 | 北京大学 | 一种基于异步握手协议的跨时钟域通信传输方法及系统 |
CN118708537A (zh) * | 2024-08-26 | 2024-09-27 | 爱芯元智半导体股份有限公司 | 跨时钟域和电压域的片上数据处理装置、方法及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1585312A (zh) * | 2003-08-19 | 2005-02-23 | 华为技术有限公司 | 一种将异步时钟域转换成同步时钟域的方法 |
US6915399B1 (en) * | 1998-11-03 | 2005-07-05 | Intel Corporation | Cross-clock domain data transfer method and apparatus |
CN101009487A (zh) * | 2007-01-24 | 2007-08-01 | 华为技术有限公司 | 跨时钟域异步数据处理、异步数据跨时钟域的方法及装置 |
CN101493716A (zh) * | 2008-01-23 | 2009-07-29 | 联想(北京)有限公司 | 异步接口的信号同步方法、电路和异步芯片 |
CN102789262A (zh) * | 2012-07-19 | 2012-11-21 | 中国航天科技集团公司第九研究院第七七一研究所 | 一种跨时钟域异步信号同步电路 |
-
2012
- 2012-08-01 CN CN201210271601.7A patent/CN103576738A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6915399B1 (en) * | 1998-11-03 | 2005-07-05 | Intel Corporation | Cross-clock domain data transfer method and apparatus |
CN1585312A (zh) * | 2003-08-19 | 2005-02-23 | 华为技术有限公司 | 一种将异步时钟域转换成同步时钟域的方法 |
CN101009487A (zh) * | 2007-01-24 | 2007-08-01 | 华为技术有限公司 | 跨时钟域异步数据处理、异步数据跨时钟域的方法及装置 |
CN101493716A (zh) * | 2008-01-23 | 2009-07-29 | 联想(北京)有限公司 | 异步接口的信号同步方法、电路和异步芯片 |
CN102789262A (zh) * | 2012-07-19 | 2012-11-21 | 中国航天科技集团公司第九研究院第七七一研究所 | 一种跨时钟域异步信号同步电路 |
Non-Patent Citations (2)
Title |
---|
周伟 等: "《FPGA跨时钟域亚稳态研究》", 《电子世界》 * |
黄隶凡 等: "《FPGA设计中的亚稳态研究》", 《微电子学》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020259080A1 (zh) * | 2019-06-28 | 2020-12-30 | 深圳市中兴微电子技术有限公司 | 多位数据跨时钟域的处理方法及装置 |
CN111651950A (zh) * | 2020-05-09 | 2020-09-11 | 济南浪潮高新科技投资发展有限公司 | 一种跨时钟域时序约束文件的生成方法、设备及介质 |
CN111651950B (zh) * | 2020-05-09 | 2024-02-13 | 山东浪潮科学研究院有限公司 | 一种跨时钟域时序约束文件的生成方法、设备及介质 |
CN116132552A (zh) * | 2023-01-31 | 2023-05-16 | 北京大学 | 一种基于异步握手协议的跨时钟域通信传输方法及系统 |
CN116132552B (zh) * | 2023-01-31 | 2024-04-09 | 北京大学 | 一种基于异步握手协议的跨时钟域通信传输方法及系统 |
CN118708537A (zh) * | 2024-08-26 | 2024-09-27 | 爱芯元智半导体股份有限公司 | 跨时钟域和电压域的片上数据处理装置、方法及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109213703B (zh) | 一种数据检测方法及数据检测装置 | |
CN101996262B (zh) | 非接触式智能卡通用数字验证平台 | |
CN103576738A (zh) | 一种异步信号跨时钟域处理方法及装置 | |
JP2011175627A (ja) | 近距離通信のための受信装置とそれによる通信モード検出方法 | |
CN109918332A (zh) | Spi从设备及spi设备 | |
US9473259B2 (en) | Techniques for testing receiver operation | |
CN106850476B (zh) | 均衡器调整方法、可适性均衡器及存储器存储装置 | |
US20130126613A1 (en) | System and method for testing magnetic stripe decoding chip | |
US11762017B2 (en) | Performing scan data transfer inside multi-die package with SERDES functionality | |
US9106458B2 (en) | Method for detecting phase and phase detecting system | |
CN108667628B (zh) | 一种接口转换装置和接口转换方法 | |
CN113824501B (zh) | 一种基于cpld的异步串行信号采样译码方法 | |
JP2006250824A (ja) | 半導体集積回路およびその半導体集積回路におけるデータ解析方法 | |
CN102254569B (zh) | 四倍数据速率qdr控制器及其实现方法 | |
KR102068954B1 (ko) | Ask 복조기 및 상기 복조기를 포함하는 통신 장치 | |
US9753485B2 (en) | Data processing method and apparatus for writing data into a memory according to a clock signal | |
CN115699668B (zh) | 宽弹性缓冲器 | |
CN111143218B (zh) | 适用于5G嵌入式设备的log调试方法、装置和可读存储介质 | |
CN115376606A (zh) | 动态随机存储器通道测试方法、系统、装置及存储介质 | |
CN100365606C (zh) | 安全数字存储卡数据的存储器直接存取方法及其接口电路 | |
CN108053856B (zh) | 读写sram的电路及sram数据访问方法 | |
TWI574278B (zh) | 指令處理之方法與裝置 | |
CN108462655B (zh) | Fc链路弹性缓冲区电路 | |
CN104267925B (zh) | 弹性先进先出存储器及存储方法 | |
CN113129950B (zh) | 信号接收电路、存储器存储装置及信号接收方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140212 |
|
WD01 | Invention patent application deemed withdrawn after publication |