异步信号处理方法及结构转让专利

申请号 : CN202211280536.4

文献号 : CN115357095B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 石昊明刘明汪福全杨媛媛李彦

申请人 : 中科声龙科技发展(北京)有限公司

摘要 :

本发明公开了一种异步信号处理方法及结构,方法包括:基于第一时钟域,写元件获取实时写信号以及实时写数据;其中,第一固化模块包括写元件;写元件接收第二固化模块发送的第二异步信号,并基于实时写信号以及第二异步信号,生成实时写地址信号;写元件基于实时写地址信号,将实时写数据写入写元件中与实时写地址信号对应的实时写地址,获得缓存数据;写元件基于实时写地址信号生成第一异步信号,并将第一异步信号发送至第二固化模块。本发明的技术方案,实现了避免在不同的固化模块之间进行时钟的穿线,使得不同的固化模块之间只保留异步信号,同时提高了第一固化模块以及第二固化模块之间的匹配度,降低了时间成本以及经济成本。

权利要求 :

1.一种异步信号处理方法,其特征在于,包括:

基于第一时钟域,写元件获取实时写信号以及实时写数据;其中,第一固化模块包括所述写元件;

所述写元件接收第二固化模块发送的第二异步信号,并基于所述实时写信号以及所述第二异步信号,生成实时写地址信号;

所述写元件基于所述实时写地址信号,将所述实时写数据写入所述写元件中与所述实时写地址信号对应的实时写地址,获得缓存数据;

所述写元件基于所述实时写地址信号生成第一异步信号,并将所述第一异步信号发送至所述第二固化模块;其中,所述写元件包括连接的第一转换器与写控制元件;所述写元件基于所述实时写地址信号生成第一异步信号,并将所述第一异步信号发送至所述第二固化模块,包括:所述写控制元件将所述实时写地址信号发送至所述第一转换器;所述第一转换器对所述实时写地址信号进行转换,获得所述第一异步信号,并将所述第一异步信号发送至所述写控制元件;所述写控制元件将所述第一异步信号发送至所述第二固化模块。

2.根据权利要求1所述的方法,其特征在于,所述写元件基于所述实时写信号以及所述第二异步信号,生成实时写地址信号,包括:写控制元件根据所述实时写信号以及所述第二异步信号,获得缓冲元件中的实时空闲地址的第一数量;

其中,所述写元件包括连接的所述写控制元件以及缓冲元件;

若所述第一数量大于0,则所述写控制元件生成所述实时写地址信号;或若所述第一数量等于0,则所述写控制元件生成写满信号,并基于所述写满信号停止将所述实时写数据写入所述缓冲元件。

3.根据权利要求2所述的方法,其特征在于,所述写控制元件根据所述实时写信号以及所述第二异步信号,获得缓冲元件中的实时空闲地址的第一数量,包括:第一同步器接收所述第二固化模块发送的第二异步信号,并对所述第二异步信号进行同步,获得第二同步地址信号;其中,所述第一固化模块包括所述第一同步器;

所述第一同步器将所述第二同步地址信号发送至所述写控制元件;

所述写控制元件基于所述第二同步地址信号以及第一异步信号,获得所述缓冲元件中的所述实时空闲地址的所述第一数量;其中,所述写元件包括第一转换器,所述第一转换器与所述写控制元件连接,所述写控制元件基于所述第一转换器对所述实时写地址信号进行转换,并获得所述第一异步信号。

4.根据权利要求2所述的方法,其特征在于,所述写控制元件将所述第一异步信号发送至所述第二固化模块,包括:所述写控制元件将所述第一异步信号发送至所述第二固化模块;或

所述写控制元件将所述第一异步信号发送至选择元件;所述选择元件将所述第一异步信号发送至所述第二固化模块;其中,所述写元件包括所述选择元件,所述选择元件与所述写控制元件连接。

5.一种异步信号处理方法,其特征在于,包括:

基于第二时钟域,读元件获取实时读信号,并基于所述实时读信号生成实时读地址信号;其中,第二固化模块包括所述读元件,所述读元件与第一固化模块连接;

所述读元件基于所述实时读地址信号对所述第一固化模块的缓存数据进行读取,并获得实时读数据;

其中,第二同步器接收第一转换器发送的第一异步信号;所述读元件包括第二同步器,所述第二同步器与读控制元件连接;

所述第二同步器对所述第一异步信号进行同步,获得第一同步地址信号,并将所述第一同步地址信号发送至所述读控制元件;

所述读控制元件基于所述第一同步地址信号与第二异步信号,获得缓冲元件中的剩余缓存数据的第二数量。

6.根据权利要求5所述的方法,其特征在于,在基于第二时钟域,读元件获取实时读信号,并基于所述实时读信号生成实时读地址信号之后,还包括:读控制元件将所述实时读地址信号发送至第二转换器;其中,所述读元件包括连接的读控制元件以及所述第二转换器;

所述第二转换器对所述实时读地址进行转换,获得第二异步信号,并将所述第二异步信号发送至所述第一固化模块。

7.根据权利要求6所述的方法,其特征在于,所述读元件基于所述实时读地址信号对所述第一固化模块的所述缓存数据进行读取,并获得实时读数据,包括:所述读控制元件基于所述实时读地址信号对所述第一固化模块的所述缓存数据进行读取,并获得所述实时读数据;或读控制元件将所述实时读地址信号发送至选择元件;其中,所述读元件包括所述选择元件,所述选择元件与读控制单元连接;所述选择元件接收所述实时读地址信号,并基于所述实时读地址信号对所述第一固化模块的缓冲元件中的所述缓存数据进行选择,获得实时选择信号;所述选择元件基于所述实时选择信号对所述缓冲元件中的缓存数据进行读取,并获得读数据。

8.根据权利要求7所述的方法,其特征在于,还包括:

第二同步器接收第一转换器发送的第一异步信号;其中,所述读元件包括第二同步器,所述第二同步器与所述读控制元件连接;

所述第二同步器对所述第一异步信号进行同步,获得第一同步地址信号,并将所述第一同步地址信号发送至所述读控制元件;

所述读控制元件基于所述第一同步地址信号与所述第二异步信号,获得所述缓冲元件中的剩余缓存数据的第二数量;其中,若所述第二数量大于0,则存在实时剩余写数据,则所述读控制元件生成所述实时读地址信号;或若所述第二数量等于0,则所述读控制元件生成读空信号,并根据所述读空信号停止对所述缓冲元件中的所述剩余缓存数据进行读取。

9.一种异步信号处理结构,其特征在于,包括:

连接的第一固化模块以及第二固化模块;所述第一固化模块与第二固化模块分别独立设置;

所述第一固化模块包括写元件,所述写元件用于基于第一时钟域,将实时写数据写入所述写元件的实时写地址信号,并获得缓存数据;第一同步器接收所述第二固化模块发送的第二异步信号,并对第二异步信号进行同步,获得第二同步地址信号;其中,所述第一固化模块包括所述第一同步器;所述第一同步器将所述第二同步地址信号发送至写控制元件;所述写控制元件基于所述第二同步地址信号以及第一异步信号,获得缓冲元件中的实时空闲地址的第一数量;

所述第二固化模块包括读元件,在所述读元件与所述写元件之间设有用于传输异步信号的传输通道;所述读元件基于所述异步信号,对所述写元件的所述缓存数据进行读取,并获得实时读数据。

10.根据权利要求9所述的结构,其特征在于,

所述异步信号包括第一异步信号以及第二异步信号;所述第一固化模块将所述第一异步信号发送至所述第二固化模块,并接收所述第二异步信号;所述第二固化模块将所述第二异步信号发送至所述第一固化模块,并接收所述第一异步信号。

11.根据权利要求9所述的结构,其特征在于,

所述写元件包括连接的写控制元件以及缓冲元件;其中,所述写控制元件用于将实时写数据写入所述缓冲元件中的所述实时写地址,并获得所述缓存数据;

所述读元件包括连接的读控制元件以及选择元件;其中,所述选择元件与所述缓冲元件连接,所述读控制元件用于控制所述选择元件对所述缓冲元件中的所述缓存数据进行读取,并获得实时读数据。

12.根据权利要求9所述的结构,其特征在于,

所述写元件包括依次连接的写控制元件、缓冲元件以及选择元件;其中,所述写控制元件用于将实时写数据写入所述缓冲元件中的所述实时写地址,并获得所述缓存数据;

所述读元件包括读控制元件;其中,所述读控制元件与所述选择元件连接,所述读控制元件用于控制所述选择元件对所述缓冲元件中的所述缓存数据进行读取,并获得所述实时读数据。

说明书 :

异步信号处理方法及结构

技术领域

[0001] 本发明属于芯片信号处理技术领域,尤其涉及一种异步信号处理方法及结构。

背景技术

[0002] 随着电子设备行业的迅猛发展,芯片的功能越来越复杂,规模也越来越大。芯片中集成的模块也越来越大、越来越复杂,如处理器、存储模块等。为了方便全芯片的综合实现,
这些大的模块通常采用单独固化的方式合入全芯片网表中。
[0003] 在拆分单独固化模块后,如果模块的时钟互相之间没有固定相位关系,应全部视为异步时钟。工作在异步时钟下的两个模块进行数据交互时,由于时钟相位关系不可控制,
则触发器输出将在高低电平之间震荡,进入亚稳态(指触发器无法在某个规定的时间段内
达到一个可确认的状态);如果直接使用亚稳态信号,或者因处理不当导致其传播,则会使
整个结构结果不可预期。
[0004] 为了解决上述问题,常见的一种异步信号处理方法是使用异步的先进先出的数据缓存器(First In First Out,FIFO)。但是,目前这种结构只有后端设计进行到处理顶层时
序收敛时才能检查时序是否满足,如发现难以收敛的情况,需重新处理两个单独固化的模
块,影响芯片设计进度。

发明内容

[0005] 本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的一个目的在于提出一种异步信号处理方法及结构。
[0006] 为了解决上述技术问题,本发明的实施例提供如下技术方案:
[0007] 一种异步信号处理方法,包括:
[0008] 基于第一时钟域,写元件获取实时写信号以及实时写数据;其中,第一固化模块包括所述写元件;
[0009] 所述写元件接收第二固化模块发送的第二异步信号,并基于所述实时写信号以及所述第二异步信号,生成实时写地址信号;
[0010] 所述写元件基于所述实时写地址信号,将所述实时写数据写入所述写元件中与所述实时写地址信号对应的实时写地址,获得缓存数据;
[0011] 所述写元件基于所述实时写地址信号生成第一异步信号,并将所述第一异步信号发送至所述第二固化模块。
[0012] 可选的,所述写元件基于所述实时写信号以及所述第二异步信号,生成实时写地址信号,包括:
[0013] 写控制元件根据所述实时写信号以及所述第二异步信号,获得缓冲元件中的实时空闲地址的第一数量;
[0014] 其中,所述写元件包括连接的所述写控制元件以及缓冲元件;
[0015] 若所述第一数量大于0,则所述写控制元件生成所述实时写地址信号;或
[0016] 若所述第一数量等于0,则所述写控制元件生成写满信号,并基于所述写满信号停止将所述实时写数据写入所述缓冲元件。
[0017] 可选的,所述写控制元件根据所述实时写信号以及所述第二异步信号,获得缓冲元件中的实时空闲地址的第一数量,包括:
[0018] 第一同步器接收所述第二固化模块发送的第二异步信号,并对所述第二异步信号进行同步,获得第二同步地址信号;其中,所述第一固化模块包括所述第一同步器;
[0019] 所述第一同步器将所述第二同步地址信号发送至所述写控制元件;
[0020] 所述写控制元件基于所述第二同步地址信号以及第一异步信号,获得所述缓冲元件中的所述实时空闲地址的所述第一数量;其中,所述写元件包括第一转换器,所述第一转
换器与所述写控制元件连接,所述写控制元件基于所述第一转换器对所述实时写地址信号
进行转换,并获得所述第一异步信号。
[0021] 可选的,所述写元件基于所述实时写地址信号生成第一异步信号,并将所述第一异步信号发送至所述第二固化模块,包括:
[0022] 所述写控制元件将所述实时写地址信号发送至所述第一转换器;
[0023] 所述第一转换器对所述实时写地址信号进行转换,获得第一异步信号,并将所述第一异步信号发送至所述写控制元件;
[0024] 所述写控制元件将所述第一异步信号发送至所述第二固化模块。
[0025] 可选的,所述写控制元件将所述第一异步信号发送至所述第二固化模块,包括:
[0026] 所述写控制元件将所述第一异步信号发送至所述第二固化模块;或
[0027] 所述写控制元件将所述第一异步信号发送至选择元件;所述选择元件将所述第一异步信号发送至所述第二固化模块;其中,所述写元件包括所述选择元件,所述选择元件与
所述写控制元件连接。
[0028] 本发明的实施例还提供一种异步信号处理方法,包括:
[0029] 基于第二时钟域,读元件获取实时读信号,并基于所述实时读信号生成实时读地址信号;其中,第二固化模块包括所述读元件,所述读元件与第一固化模块连接;
[0030] 所述读元件基于所述实时读地址信号对所述第一固化模块的缓存数据进行读取,并获得实时读数据。
[0031] 可选的,在基于第二时钟域,读元件获取实时读信号,并基于所述实时读信号生成实时读地址信号之后,还包括:
[0032] 读控制元件将所述实时读地址信号发送至第二转换器;其中,所述读元件包括连接的读控制元件以及所述第二转换器;
[0033] 所述第二转换器对所述实时读地址进行转换,获得第二异步信号,并将所述第二异步信号发送至所述第一固化模块。
[0034] 可选的,所述读元件基于所述实时读地址信号对所述第一固化模块的所述缓存数据进行读取,并获得实时读数据,包括:
[0035] 所述读控制元件基于所述实时读地址信号对所述第一固化模块的所述缓存数据进行读取,并获得所述实时读数据;或
[0036] 读控制元件将所述实时读地址信号发送至选择元件;其中,所述读元件包括所述选择元件,所述选择元件与读控制单元连接;所述选择元件接收所述实时读地址信号,并基
于所述实时读地址信号对所述第一固化模块的缓冲元件中的所述缓存数据进行选择,获得
实时选择信号;所述选择元件基于所述实时选择信号对所述缓冲元件中的缓存数据进行读
取,并获得读数据。
[0037] 可选的,还包括:
[0038] 第二同步器接收第一转换器发送的第一异步信号;其中,所述读元件包括第二同步器,所述第二同步器与所述读控制元件连接;
[0039] 所述第二同步器对所述第一异步信号进行同步,获得第一同步地址信号,并将所述第一同步地址信号发送至所述读控制元件;
[0040] 所述读控制元件基于所述第一同步地址信号与所述第二异步信号,获得所述缓冲元件中的剩余缓存数据的第二数量;其中,若所述第二数量大于0,则存在实时剩余写数据,
则所述读控制元件生成所述实时读地址信号;或若所述第二数量等于0,则所述读控制元件
生成读空信号,并根据所述读空信号停止对所述缓冲元件中的所述剩余缓存数据进行读
取。
[0041] 本发明的实施例还提供一种异步信号处理结构,包括:
[0042] 连接的第一固化模块以及第二固化模块;
[0043] 所述第一固化模块包括写元件,所述写元件用于基于第一时钟域,将实时写数据写入所述写元件的实时写地址信号,并获得缓存数据;
[0044] 所述第二固化模块包括读元件,在所述读元件与所述写元件之间设有用于传输异步信号的传输通道;所述读元件基于所述异步信号,对所述写元件的所述缓存数据进行读
取,并获得实时读数据。
[0045] 可选的,所述异步信号包括第一异步信号以及第二异步信号;所述第一固化模块将所述第一异步信号发送至所述第二固化模块,并接收所述第二异步信号;所述第二固化
模块将所述第二异步信号发送至所述第一固化模块,并接收所述第一异步信号。
[0046] 可选的,所述写元件包括连接的写控制元件以及缓冲元件;其中,所述写控制元件用于将实时写数据写入所述缓冲元件中的所述实时写地址,并获得所述缓存数据;
[0047] 所述读元件包括连接的读控制元件以及选择元件;其中,所述选择元件与所述缓冲元件连接,所述读控制元件用于控制所述选择元件对所述缓冲元件中的所述缓存数据进
行读取,并获得实时读数据。
[0048] 可选的,所述写元件包括依次连接的写控制元件、缓冲元件以及选择元件;其中,所述写控制元件用于将实时写数据写入所述缓冲元件中的所述实时写地址,并获得所述缓
存数据;
[0049] 所述读元件包括读控制元件;其中,所述读控制元件与所述选择元件连接,所述读控制元件用于控制所述选择元件对所述缓冲元件中的所述缓存数据进行读取,并获得所述
实时读数据。
[0050] 本发明的实施例,具有如下技术效果:
[0051] 本发明的上述技术方案,1)第一固化模块与第二固化模块分别独立设置,第一固化模块设有第一时钟,并在第一时钟形成的第一时钟域下处理数据;第二固化模块设有第
二时钟,并在第二时钟形成的第二时钟域下处理数据;在写元件与读元件之间设有用于传
输异步信号的传输通道;实现了避免在不同的固化模块之间进行时钟的穿线,使得不同的
固化模块之间只保留异步信号,同时提高了第一固化模块以及第二固化模块之间的匹配
度,降低了目前的技术方案需要对第一固化模块以及第二固化模块进行重新设计的时间成
本以及经济成本。
[0052] 2)对后端设计友好,无需进行到处理顶层时序收敛时才检查两个固化模块之间的时钟穿线是否满足需求,并提高了芯片制造的效率。
[0053] 3)当选择元件安装在第一固化模块的内部,在第一固化模块以及第二固化模块之间,也即在选择元件与第二固化模块之间设置一条数据线即可,进而减小了第一固化模块
以及第二固化模块之间进行数据交互的总位宽,减小了在第一固化模块以及第二固化模块
的布线数量。
[0054] 本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

[0055] 图1是相关领域提供的一种异步信号处理结构的结构示意图;
[0056] 图2是本发明实施例提供的一种异步信号处理结构的结构示意图;
[0057] 图3是本发明实施例提供的一种异步信号处理结构的结构示意图的第一个示例;
[0058] 图4是本发明实施例提供的一种异步信号处理结构的结构示意图的第二个示例;
[0059] 图5是本发明实施例提供的一种异步信号处理方法的第一种流程示意图;
[0060] 图6是本发明实施例提供的一种异步信号处理方法的第二种流程示意图。

具体实施方式

[0061] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附
图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0062] 为了便于本领域的技术人员对实施例的理解,对部分用语进行解释:
[0063] (1)buffer:缓冲寄存器。
[0064] (2)MUX:multiplexer,数据选择器。
[0065] 如图1所示,为目前相关领域的一种异步信号处理结构,将异步FIFO例化在其中一个单独的固化模块中,也即将异步FIFO例化在第一固化模块中;将另一个单独的固化模块
引出,也即将第二固化模块的第二时钟引出,并将引出的第二时钟与异步FIFO连接,这样的
异步信号处理结构,会导致后端(生产固化模块的制造端)设计进行到处理顶层时序收敛时
才能检查时序是否满足。但是,后端生产第一固化模块和第二固化模块时,是并行的,彼此
不会考虑对方的时序情况,进而导致第一固化模块以及第二固化模块在传输数据时,会由
于距离较远,而导致结果难以收敛,进而需要根据匹配问题重新对第一固化模块以及第二
固化模块进行设计并生产,大大增加了获得第一固化模块以及第二固化模块的时间成本以
及经济成本。
[0066] 为了解决上述技术问题,本发明的实施例提供如下技术方案,具体的:
[0067] 如图2所示,本发明的实施例还提供一种异步信号处理结构,包括:
[0068] 连接的第一固化模块以及第二固化模块;
[0069] 所述第一固化模块包括写元件,所述写元件用于基于第一时钟域,将实时写数据写入所述写元件的实时写地址,并获得缓存数据;
[0070] 所述第二固化模块包括读元件,在所述读元件与所述写元件之间设有用于传输异步信号的传输通道;所述读元件基于所述异步信号,对所述写元件的所述缓存数据进行读
取,并获得实时读数据。
[0071] 本发明一可选的实施例,所述异步信号包括第一异步信号以及第二异步信号;所述第一固化模块将所述第一异步信号发送至所述第二固化模块,并接收所述第二异步信
号;所述第二固化模块将所述第二异步信号发送至所述第一固化模块,并接收所述第一异
步信号。
[0072] 本发明的实施例,第一固化模块与第二固化模块分别独立设置,第一固化模块设有第一时钟,并在第一时钟形成的第一时钟域下处理数据;第二固化模块设有第二时钟,并
在第二时钟形成的第二时钟域下处理数据;在写元件与读元件之间设有用于传输异步信号
的传输通道;实现了避免在不同的固化模块之间进行时钟的穿线,使得不同的固化模块之
间只保留异步信号,同时提高了第一固化模块以及第二固化模块之间的匹配度,降低了目
前的技术方案需要对第一固化模块以及第二固化模块进行重新设计的时间成本以及经济
成本。
[0073] 进一步地,对后端设计友好,无需进行到处理顶层时序收敛时才检查两个固化模块之间的时钟穿线是否满足需求,并提高了芯片制造的效率。
[0074] 本发明一可选的实施例,如图3所示,所述写元件包括连接的写控制元件以及缓冲元件;其中,所述写控制元件用于将实时写数据写入所述缓冲元件中的所述实时写地址,并
获得所述缓存数据;
[0075] 所述读元件包括连接的读控制元件以及选择元件;其中,所述选择元件与所述缓冲元件连接,所述读控制元件用于控制所述选择元件对所述缓冲元件中的所述缓存数据进
行读取,并获得实时读数据。
[0076] 本发明的实施例,假设第一固化模块以及第二固化模块需要进行交互的实时写数据的数据位宽为N(N为正整数,例如:1000bit);缓冲元件的深度为M(M为正整数,例如:8),
则缓冲元件与选择单元之间的实时写数据的总位宽为N*M;其中,若N*M超过设计允许(例
如:布线资源限制)的最大总位宽(总位宽阈值),则需要将选择元件安装在写元件的内部,
并与缓冲元件连接;
[0077] 进一步地,当选择元件安装在第二固化模块的内部,也即N*M<总位宽阈值,则在第一固化模块以及第二固化模块之间需要设置M条数据线,用于对缓冲元件存储的缓存数
据进行传输,并基于选择元件的选择信号,读取对应的缓存数据,并获得实时读数据。
[0078] 本发明一可选的实施例,缓冲元件可以基于buffer实现,选择元件可以基于MUX实现。
[0079] 本发明一可选的实施例,如图3所示,写元件还包括第一同步器以及第一转换器;其中,第一同步器以及第一转换器分别与写控制元件连接;第一同步器用于接收第二异步
信号,并对第二异步信号进行同步,获得第二同步地址信号;第一转换器用于对实时写地址
信号进行转换,获得第一异步信号;其中,第一同步器可以基于D触发器实现。
[0080] 本发明一可选的实施例,如图3所示,读元件还包括第二同步器以及第二转换器;其中,第二同步器以及第二转换器分别与读控制元件连接;第二同步器用于接收第二异步
信号,并对第二异步信号进行同步,获得第二同步地址信号;第二转换器用于对实时读地址
信号进行转换,获得第二异步信号;其中,第二同步器可以基于D触发器实现。
[0081] 本发明一可选的实施例,如图4所示,所述写元件包括依次连接的写控制元件、缓冲元件以及选择元件;其中,所述写控制元件用于将实时写数据写入所述缓冲元件中的所
述实时写地址,并获得所述缓存数据;
[0082] 所述读元件包括读控制元件;其中,所述读控制元件与所述选择元件连接,所述读控制元件用于控制所述选择元件对所述缓冲元件中的所述缓存数据进行读取,并获得所述
实时读数据。
[0083] 本发明的实施例,选择元件仍在第二时钟域下进行工作,其中,选择元件分别与接收寄存器以及发送寄存器连接;接收寄存器用于接收实时读数据;发送寄存器用于发送实
时读地址信号;其中,接收寄存器设置在读元件的内部,并位于读控制元件的外部,与选择
元件的一端连接;发送寄存器设置在读控制元件的内部,并与选择元件的另一端连接,因
此,接收寄存器以及发送寄存器均基于第二时钟域进行工作,因此,选择元件也在第二时钟
域下进行工作。
[0084] 进一步地,为了实现在发送寄存器将实时读地址信号发送至选择元件,选择元件读取对应的缓存数据,并将实时读数据发送至接收寄存器的过程中,由于该结构的设计方
案,相对于将选择元件设置在读元件的内部,数据的传输过程时间较长,数据在传输的过程
中,容易产生误差;本发明的实施例,为了减少该过程数据的传输误差,将该数据传输过程
约束在一个时钟周期(2ns)之内。
[0085] 本发明一可选的实施例,当选择元件安装在第一固化模块的内部,也即N*M≥总位宽阈值,则在缓冲元件以及选择元件之间仍需要设置M条数据线,用于对缓冲元件存储的缓
存数据进行存储;在第一固化模块以及第二固化模块之间,也即在选择元件与第二固化模
块之间设置一条数据线即可,进而减小了第一固化模块以及第二固化模块之间进行数据交
互的总位宽,减小了在第一固化模块以及第二固化模块的布线数量。
[0086] 如图5所示,本发明的实施例还提供一种异步信号处理方法,应用于如图2‑4所示的异步信号处理结构,包括:
[0087] 步骤S51:基于第一时钟域,写元件获取实时写信号以及实时写数据;其中,第一固化模块包括所述写元件;
[0088] 本发明的实施例,基于第一时钟,获得第一时钟域,基于第一时钟域,获取实时写信号以及实时写数据。
[0089] 步骤S52:所述写元件接收第二固化模块发送的第二异步信号,并基于所述实时写信号以及所述第二异步信号,生成实时写地址信号;
[0090] 本发明一可选的实施例,所述写元件基于所述实时写信号以及所述第二异步信号,生成实时写地址信号,包括:
[0091] 写控制元件根据所述实时写信号以及所述第二异步信号,获得缓冲元件中的实时空闲地址的第一数量;
[0092] 其中,所述写元件包括连接的所述写控制元件以及缓冲元件;
[0093] 若所述第一数量大于0,则所述写控制元件生成所述实时写地址信号;或
[0094] 若所述第一数量等于0,则所述写控制元件生成写满信号,并基于所述写满信号停止将所述实时写数据写入所述缓冲元件。
[0095] 本发明的实施例,当写控制元件基于第一时钟域,获取实时写信号之后,则首先判断,缓冲元件中是否还有实时空闲地址,若还有实时空闲地址,则写控制元件基于上一个实
时写地址信号,获得本次实时写地址信号。
[0096] 例如:假设,本次实时写地址信号对应的实时写地址为A(A为正整数),上一个实时写地址信号对应的实时写地址为A‑1;写控制元件在生成实时写地址信号之后,将实时写数
据写入缓冲元件中的实时写地址信号A,依次类推,直至缓冲元件不存在实时空闲地址,也
即第一数量为0,则写控制元件生成写满信号,并基于写满信号停止将实时写数据写入缓冲
元件。
[0097] 重复上述步骤,实现对大量的实时写入数据进行写入,并获得缓存数据。
[0098] 本发明一可选的实施例,所述写控制元件根据所述实时写信号以及所述第二异步信号,获得缓冲元件中的实时空闲地址的第一数量,包括:
[0099] 第一同步器接收所述第二固化模块发送的第二异步信号,并对所述第二异步信号进行同步,获得第二同步地址信号;其中,所述第一固化模块包括所述第一同步器;
[0100] 所述第一同步器将所述第二同步地址信号发送至所述写控制元件;
[0101] 所述写控制元件基于所述第二同步地址信号以及第一异步信号,获得所述缓冲元件中的所述实时空闲地址的所述第一数量;其中,所述写元件包括第一转换器,所述第一转
换器与所述写控制元件连接,所述写控制元件基于所述第一转换器对所述实时写地址信号
进行转换,并获得所述第一异步信号。
[0102] 本发明的实施例,第一同步器在获取到第二异步信号之后,基于第一时钟域对第二异步信号进行同步,获得第二同步地址信号,并将第二同步地址信号发送至写控制元件,
写控制元件基于第二同步地址信号,可以获得读控制元件的当前的实时读地址,例如B(B为
正整数);此外,写控制元件还可以获得第一异步信号,并基于第一异步信号,获取写控制元
件的当前的实时写地址信号,例如C(C为正整数);因此,基于C可以确定缓冲元件当前是否
还有实时空闲地址;假设缓冲元件一共有P个地址,且P为正整数;基于B以及C可以确定缓冲
元件是否还有实时空闲地址。
[0103] 本发明一可选的实施例,在获得C之后,将P与C进行比对,获得(P‑C),若(P‑C)>0,则表明当前在缓冲元件中的第C+1个地址到第P个地址均为实时空闲地址;
[0104] 在获得B之后,将C与B进行比对,获得(C‑B),若(C‑B)>0,则表明当前在缓冲元件中的第1个地址到第B个地址均为实时空闲地址;也即第一数量为(P‑B+C)。
[0105] 进一步地,当第一数量为(P‑B+C),也即存在实时空闲地址,则基于实时写地址信号将实时写数据写入缓冲元件中与实时写地址信号对应的实时写地址。
[0106] 本发明一可选的实施例,在获得C之后,将P与C进行比对,获得(P‑C),若(P‑C)=0,则表明当前在缓冲元件中的第P个地址已被写入实时写数据;
[0107] 在获得B之后,将C与B进行比对,获得(C‑B),若(C‑B)>0,则表明当前在缓冲元件中的第1个地址到第B个地址均为实时空闲地址;也即第一数量为(C‑B)。
[0108] 本发明一可选的实施例,在获得C之后,将P与C进行比对,获得(P‑C),若(P‑C)=0,则表明当前在缓冲元件中的第P个地址已被写入实时写数据;
[0109] 在获得B之后,将C与B进行比对,获得(C‑B),若(C‑B)>0,则表明当前在缓冲元件中的第1个地址到第B个地址均为实时空闲地址;也即第一数量为(C‑B)。
[0110] 本发明一可选的实施例,在获得C之后,将P与C进行比对,获得(P‑C),若(P‑C)=0,则表明当前在缓冲元件中的第P个地址已被写入实时写数据;
[0111] 在获得B之后,将C与B进行比对,获得(C‑B),若(C‑B)=0,则表明当前在缓冲元件中的第1个地址到第B个地址均为实时空闲地址;也即第一数量为P。
[0112] 本发明一可选的实施例,在获得C之后,将P与C进行比对,获得(P‑C),若(P‑C)=0,则表明当前在缓冲元件中的第P个地址已被写入实时写数据;
[0113] 在获得B之后,若B=0,则表明当前在缓冲元件中的第1个地址到第P个地址均被用来存储实时写数据,并且还未对缓存数据进行读取;也即第一数量为0。
[0114] 进一步地,当第一数量为0的时候,也即在缓冲元件中不存在实时空闲地址,因此,写控制元件基于第一数量,生成写满信号。
[0115] 步骤S53:所述写元件基于所述实时写地址信号,将所述实时写数据写入所述写元件中与所述实时写地址信号对应的实时写地址,获得缓存数据;
[0116] 步骤S54:所述写元件基于所述实时写地址信号生成第一异步信号,并将所述第一异步信号发送至所述第二固化模块;
[0117] 本发明一可选的实施例,所述写元件基于所述实时写地址信号生成第一异步信号,并将所述第二异步信号发送至所述第二固化模块,包括:
[0118] 所述写控制元件将所述实时写地址信号发送至所述第一转换器;
[0119] 所述第一转换器对所述实时写地址信号进行转换,获得第一异步信号,并将所述第一异步信号发送至所述写控制元件;
[0120] 所述写控制元件将所述第一异步信号发送至所述第二固化模块。
[0121] 本发明的实施例,第一转换器在获取到实时写地址信号之后,对实时写地址信号进行格雷码转换,并获得第一异步信号。
[0122] 进一步地,写控制元件基于第一异步信号,可以解析获得实时写地址。
[0123] 进一步地,本发明的实施例基于第一转换器对实时写地址信号,进行格雷码转换,用于实现降低实时写地址信号在传输过程中产生的信号误差。
[0124] 本发明一可选的实施例,所述写控制元件将所述第一异步信号发送至所述第二固化模块,包括:
[0125] 所述写控制元件将所述第一异步信号发送至所述第二固化模块;或
[0126] 所述写控制元件将所述第一异步信号发送至选择元件;所述选择元件将所述第一异步信号发送至所述第二固化模块;其中,所述写元件包括所述选择元件,所述选择元件与
所述写控制元件连接。
[0127] 本发明的实施例,当将选择元件设置在写元件的内部,则写控制元件将缓存数据发送至写元件内部的选择元件;
[0128] 或当将选择元件设置在读元件的内部,则写控制元件将缓存数据发送至读元件内部的选择元件。
[0129] 如图6所示,本发明的实施例还提供一种异步信号处理方法,应用于如图2‑4所示的异步信号处理结构,包括:
[0130] 步骤S61:基于第二时钟域,读元件获取实时读信号,并基于所述实时读信号生成实时读地址信号;其中,第二固化模块包括所述读元件,所述读元件与第一固化模块连接;
[0131] 本发明一可选的实施例,在基于第二时钟域,读元件获取实时读信号,并基于所述实时读信号生成实时读地址信号之后,还包括:
[0132] 读控制元件将所述实时读地址信号发送至第二转换器;其中,所述读元件包括连接的读控制元件以及所述第二转换器;
[0133] 所述第二转换器对所述实时读地址进行转换,获得第二异步信号,并将所述第二异步信号发送至所述第一固化模块。
[0134] 本发明的实施例,在第二转换器获得实时读地址信号之后,则对实时读地址信号进行格雷码转换,获得第二异步信号。
[0135] 进一步地,读控制元件基于第二异步信号,可以解析获得实时读地址。
[0136] 进一步地,本发明的实施例基于第二转换器对实时读地址信号,进行格雷码转换,用于实现降低实时读地址信号在传输过程中产生的信号误差。
[0137] 步骤S62:所述读元件基于所述实时读地址信号对所述第一固化模块的所述缓存数据进行读取,并获得实时读数据。
[0138] 本发明一可选的实施例,所述读元件基于所述实时读地址信号对所述第一固化模块的所述缓存数据进行读取,并获得实时读数据,包括:
[0139] 所述读控制元件基于所述实时读地址信号对所述第一固化模块的所述缓存数据进行读取,并获得所述实时读数据;或
[0140] 读控制元件将所述实时读地址信号发送至选择元件;其中,所述读元件包括所述选择元件,所述选择元件与读控制单元连接;所述选择元件接收所述实时读地址信号,并基
于所述实时读地址信号对所述第一固化模块的缓冲元件中的所述缓存数据进行选择,获得
实时选择信号;所述选择元件基于所述实时选择信号对所述缓冲元件中的缓存数据进行读
取,并获得读数据。
[0141] 本发明的实施例,当将选择元件设置在读元件的内部,则读控制元件将实时读地址信号发送至选择元件,选择元件对实时读地址信号进行解析,获得选择信号,选择元件基
于对选择信号进行解析,可以确定需要读取的缓存数据的地址,并进行读取,例如:对第一
个缓存数据、第二个缓存数据或第P个缓存数据等依次按照存储的顺序进行读取,并依次获
得第一个读数据,第二个读数据以及第P个读数据。
[0142] 本发明一可选的实施例,还包括:
[0143] 第二同步器接收第一转换器发送的第一异步信号;其中,所述读元件包括第二同步器,所述第二同步器与所述读控制元件连接;
[0144] 所述第二同步器对所述第一异步信号进行同步,获得第一同步地址信号,并将所述第一同步地址信号发送至所述读控制元件;
[0145] 所述读控制元件基于所述第一同步地址信号与所述第二异步信号,获得所述缓冲元件中的剩余缓存数据的第二数量;其中,若所述第二数量大于0,则存在实时剩余写数据,
则所述读控制元件生成所述实时读地址信号;或若所述第二数量等于0,则所述读控制元件
生成读空信号,并根据所述读空信号停止对所述缓冲元件中的所述剩余缓存数据进行读
取。
[0146] 本发明的实施例,第二同步器在获取到第一异步信号之后,基于第二时钟域对第一异步信号进行同步,获得第一同步地址信号,并将第一同步地址信号发送至读控制元件,
读控制元件基于第一同步地址信号,可以获得写控制元件的当前的实时写地址,例如D(D为
正整数);此外,读控制元件还可以获得第二异步信号,并基于第二异步信号,获取读控制元
件的当前的实时读地址信号,例如E(E为正整数);因此,基于E可以确定缓冲元件当前是否
还有实时空闲地址;假设缓冲元件一共有P个地址,且P为正整数;基于D以及E可以确定缓冲
元件是否还有剩余缓存数据。
[0147] 本发明一可选的实施例,在获得D之后,将P与D进行比对,获得(P‑D),若(P‑D)>0,则表明当前在缓冲元件中的第D+1个地址到第P个地址还存在剩余缓存数据;
[0148] 在获得E之后,将E与D进行比对,获得(E‑D),若(E‑D)>0,则表明当前在缓冲元件中的第E个地址到第P个地址均为实时空闲地址,也即在缓冲元件中的第E个地址到第P个地
址,不存在剩余缓存数据;也即第二数量为(E‑D)。
[0149] 进一步地,当第二数量为E‑D,也即存在剩余缓存数据,则基于实时读信号生成实时读地址信号,并基于实时读地址信号对剩余缓存数据中与实时读地址信号匹配的缓存数
据进行读取。
[0150] 本发明一可选的实施例,在获得D之后,将P与D进行比对,获得(P‑D),若(P‑D)>0,则表明当前在缓冲元件中的第D+1个地址到第P个地址还存在剩余缓存数据;
[0151] 在获得E之后,将E与D进行比对,获得E=D,则表明当前在缓冲元件中的第D+1个地址到第P个地址还存在剩余缓存数据;也即第二数量为(P‑D)。
[0152] 本发明一可选的实施例,在获得D之后,将P与D进行比对,获得P=D,则表明当前在缓冲元件第P个地址不存在缓存数据;
[0153] 在获得E之后,将E与D进行比对,获得E<D,则表明当前在缓冲元件中的第1个地址到第E个地址还存在剩余缓存数据;也即第二数量为E。
[0154] 本发明一可选的实施例,在获得D之后,将P与D进行比对,获得P=D,则表明当前第P个地址中已不存在缓存数据;
[0155] 在获得E之后,将E与D进行比对,获得E=D,则表明当前在缓冲元件中的也即在缓冲元件不存在剩余缓存数据;也即第二数量为0。
[0156] 进一步地,当第二数量为0,也即不存在剩余缓存数据,则读控制元件基于第二数量生成实时读满信号。
[0157] 另外,本发明实施例的结构的其他构成及作用对本领域的技术人员来说是已知的,为减少冗余,此处不做赘述。
[0158] 需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可
读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其
他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行
系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、
通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设
备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或
多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只
读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光
盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其
他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必
要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器
中。
[0159] 应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件
或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下
列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路
的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场
可编程门阵列(FPGA)等。
[0160] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特
点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不
一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何
的一个或多个实施例或示例中以合适的方式结合。
[0161] 在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
[0162] 此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者
隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三
个等,除非另有明确具体的限定。
[0163] 在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内
部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员
而言,可以根据具体情况理解上述术语在本发明中的具体含义。
[0164] 在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在
第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示
第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第
一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
[0165] 尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述
实施例进行变化、修改、替换和变型。