CN115687197A - 数据接收模块、数据接收方法、电路、芯片及相关设备 - Google Patents
数据接收模块、数据接收方法、电路、芯片及相关设备 Download PDFInfo
- Publication number
- CN115687197A CN115687197A CN202310000612.XA CN202310000612A CN115687197A CN 115687197 A CN115687197 A CN 115687197A CN 202310000612 A CN202310000612 A CN 202310000612A CN 115687197 A CN115687197 A CN 115687197A
- Authority
- CN
- China
- Prior art keywords
- module
- control module
- signal
- handshake control
- data receiving
- 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.)
- Granted
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Transfer Systems (AREA)
Abstract
本申请提供一种数据接收模块、数据接收方法、电路、芯片及相关设备,数据接收模块包括:第一握手控制模块,信号输入端与数据发送模块的第二握手控制模块中目标寄存器的信号输入端连接,时钟端用于接入数据接收模块的时钟信号;第一握手控制模块与第二握手控制模块输出的信号的偏差在预设范围内;时钟门控电路与第一握手控制模块的输出端连接,并用于接入数据接收模块的时钟信号。本申请将终点为时钟门控电路的时序路径的起点变成了数据接收模块内部的第一握手模块,从而使得该时序路径的起点和终点的时钟都来自于数据接收模块的时钟输入端口,消除了不同物理分割模块之间的时钟偏斜的影响,可以留出更多的时序余量,使得时序很容易收敛。
Description
技术领域
本申请涉及电路设计技术领域,具体而言,涉及一种数据接收模块、数据接收方法、电路、芯片及相关设备。
背景技术
基于valid信号(数据有效性指示信号)的握手机制是数字集成电路中常用的一种设计方法,上游模块(即数据发送模块)需要向下游模块(即数据接收模块)传输数据时,会在数据准备好的时候将valid信号置为1,当下游模块看到valid为1并且准备好接收数据(通常通过返回一个值为1的ready信号(接收准备就绪信号)来表示准备好接收数据)的时候,会将总线上的数据存储进输入寄存器,而valid信号会连接至这组输入寄存器的使能端。
在AI处理器中,一种常见的情况是上游模块和下游模块位于不同的物理分割块(通常称为partition),并且数据总线位宽很大,在此种情况下,会给后端时序收敛带来较大的困难。下面结合图1做详细说明:
如图1所示,模块A和模块B处于不同的物理分割块,模块A需要将数据data[0]、data[1]、…、data[N]传输给模块B,他们之间通过valid和ready信号进行握手,当模块A的数据准备好之后,会将valid信号设置为1。当模块B 看到模块A输出的valid信号和模块B输出的ready信号同时为1时,会将data[0]、data[1]、…、data[N]存储至寄存器0到寄存器N。出于功耗优化的目的,会在模块B的与门后面插入一个时钟门控电路。此时整个时序路径包括两个部分,一个部分是从模块A的握手控制模块A至模块B的时钟门控电路的时序路径(即valid信号至时钟门控电路的路径记为时序路径2A),另一部分是模块B中时钟门控电路至各输入寄存器的时序路径(记为时序路径2B)。而由于下列原因,时序路径2A的时序收敛会存在困难:
1.因为模块A和模块B属于不同的物理分割块,因此他们的时钟输入(即时钟A和时钟B)可能存在很大的时钟偏斜(skew),且由于物理分割块之间只能通过固定的引脚进行信号传输,因此难以通过调整布线而降低该时钟偏斜。当时钟B到达模块B的时钟门控电路的时间比时钟A到达模块A的握手控制模块A的时间早时,时序路径2A的终点时钟(即时钟B)就会比起点时钟(即时钟A)先到达,导致留给路径2A的时序余量变少,容易出现建立时间违例(setup time violation)。
2.模块B的所有输入寄存器的时钟都由时钟门控电路的输出提供,为了将时钟树做平衡(即让门控时钟输出端到所有输入寄存器的距离大致相等),时钟门控电路会被放置到所有输入寄存器的中间位置。输入寄存器的数量越多,时钟门控电路距离每个输入寄存器的距离就会越远,时序路径2B就会越长,从而挤占时序路径2A的时序余量,使得留给时序路径2A的时序余量更少,导致时序路径2A难以收敛。
需要说明的是,以上背景技术的介绍,仅用于帮助理解本申请的技术方案,其技术问题的发现,凸显了申请人的创造性发现,申请人并不承认其可以构成妨碍本申请新创性的前提条件。
发明内容
本申请实施例的目的在于提供一种数据接收模块、数据接收方法、电路、芯片及相关设备,用以改善相关技术存在的时序收敛困难的问题。
本申请实施例提供了一种数据接收模块,包括:第一握手控制模块,所述第一握手控制模块的信号输入端与数据发送模块的第二握手控制模块中目标寄存器的信号输入端连接,所述第一握手控制模块的时钟端用于接入所述数据接收模块的时钟信号;其中,所述目标寄存器为第二握手控制模块中的任意一个寄存器;所述第一握手控制模块输出的信号与所述第二握手控制模块输出的信号的偏差在预设范围内;时钟门控电路,与所述第一握手控制模块的输出端连接,并用于接入所述数据接收模块的时钟信号。
在上述实现方式中,通过在数据接收模块中加入一个第一握手控制模块,通过第一握手控制模块来产生与数据发送模块中的第二握手控制模块的valid信号(即第二握手控制模块输出的信号)之间的偏差在预设范围内的信号(本文记为gen_valid信号),从而通过gen_valid信号来进行时钟门控电路的控制。而由于gen_valid信号与数据发送模块中的第二握手控制模块的valid信号之间的偏差在预设范围内,因此其可以保证数据接收模块的工作效果与直接接收第二握手控制模块的valid信号的工作效果的一致性。但是,在上述结构中,从第一握手控制模块到时钟门控电路之间的时序路径(即gen_valid信号至时钟门控电路的路径,相当于前文中的时序路径2A),由于其起点时间和终点时间都是数据接收模块的时钟信号(相当于图1中的时钟B),那么就可以很容易的通过在同一个物理分割块中设计第一握手控制模块或时钟门控电路的位置或布线长度,保证该时序路径的起点时间和终点时间能够符合设计要求,从而降低出现建立时间违例的风险,降低时序收敛的难度。此外,由于第一握手控制模块和时钟门控电路都是数据接收模块的一部分,即位于同一物理分割块上,因此即使输入寄存器的数量很多,也可以很容易地通过在物理分割块内调整第一握手控制模块的位置或者走线长度等方式,使得从第一握手控制模块到时钟门控电路之间的时序路径可以更容易收敛。
进一步地,所述的数据接收模块还包括:与门电路,所述与门电路的一个输入端与所述第一握手控制模块的输出端连接,另一输入端用于接收ready信号;所述时钟门控电路通过所述与门电路与所述第一握手控制模块的输出端连接。
在上述实现方式中,通过与门电路的作用,可以实现在valid信号为高且ready信号也为高时,即在数据发送模块准备好数据且数据接收模块也准备好接收数据时,控制时钟门控电路打开,达到精准控制的效果。
进一步地,所述的数据接收模块还包括:握手逻辑处理模块,用于在接收到所述第二握手控制模块传来的第一valid信号,且所述数据接收模块准备好接收数据时,通过ready信号输出端输出第一ready信号;其中,所述第一valid信号为所述数据发送模块在数据准备好时输出的信号;所述第一ready信号为表征所述数据接收端准备好接收数据的信号;所述与门电路的另一输入端与所述握手逻辑处理模块的ready信号输出端连接。
在上述实现方式中,通过将与门电路的另一输入端与所述握手逻辑处理模块的ready信号输出端连接,即可保证在输出有表征数据接收模块准备好接收数据的第一ready信号时,可以与同样表征数据发送模块已准备好数据的第一握手控制模块输出的信号(由于第一握手控制模块输出的信号与第二握手控制模块输出的信号的偏差在预设范围内,因此当第二握手控制模块输出是第一valid信号时,第一握手控制模块输出的信号也应当是表征数据发送模块已准备好数据的第一valid信号)相与,从而可以保证时钟门控电路可被正确打开,从而保证数据接收模块可正确接收数据。
进一步地,所述的数据接收模块还包括:多个输入寄存器,各所述输入寄存器的时钟端与所述时钟门控电路的输出端连接。
进一步地,所述第一握手控制模块的结构与所述第二握手控制模块中所述目标寄存器与所述目标寄存器之后的各寄存器之间的连接结构一致。
在上述实现方式中,通过将第一握手控制模块的结构设计的与第二握手控制模块中目标寄存器与该目标寄存器之后的各寄存器之间的连接结构一致,这样即可保证第一握手控制模块的输出与第二握手控制模块的输出之间,在逻辑延迟上是一致的,从而保证第一握手控制模块输出的信号与第二握手控制模块输出的信号的偏差能在预设范围内。
进一步地,所述第一握手控制模块的输入端与所述第二握手控制模块的第一个寄存器的输入端连接,且所述第一握手控制模块与所述第二握手控制模块结构一致。
在上述实现方式中,通过将第一握手控制模块的输入端与第二握手控制模块的第一个寄存器的输入端连接,从而只需将第二握手控制模块复制一份放入数据接收模块中即可得到第一握手控制模块,无需重新进行第一握手控制模块的结构设计,可以降低电路设计复杂度。
本申请实施例还提供了一种数据接收方法,应用于前述任一种的数据接收模块中,所述方法包括:将所述第二握手控制模块输出的valid信号之前n个时钟周期的信号输入至所述第一握手控制模块中,以在所述数据接收模块的时钟信号的控制下输出内部数据有效性指示信号gen_valid;其中,所述n为大于等于1的正整数,所述gen_valid信号与所述valid信号的偏差在预设范围内;根据所述gen_valid信号控制所述时钟门控电路。
在上述实现方式中,数据接收模块可通过第一握手控制模块产生与数据发送模块中的第二握手控制模块的valid信号之间的偏差在预设范围内的gen_valid信号,从而在保证数据接收模块的工作效果与直接接收第二握手控制模块的valid信号的工作效果的一致性的同时,使得gen_valid信号至时钟门控电路的时序路径起点时间和终点时间都是由数据接收模块的时钟信号(相当于图1中的时钟B)决定,从而有效降低时序路径的收敛难度。
进一步地,所述gen_valid信号与所述valid信号为位于相同时钟周期的信号。
本申请实施例还提供了一种数据传输电路,包括:数据发送模块和前述任一种的数据接收模块,其中所述数据接收模块的第一握手控制模块的信号输入端与所述数据发送模块的第二握手控制模块中目标寄存器的信号输入端连接。
本申请实施例还提供了一种芯片,包括:前述的数据传输电路。
本申请实施例还提供了一种电子部件,包括:前述的芯片。
本申请实施例中还提供了一种电子设备,包括:前述的芯片,或前述的电子部件。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的现有的数据传输电路的结构示意图;
图2为本申请实施例提供的一种包含本申请实施提供的数据接收模块的数据传输电路的基本结构示意图;
图3为本申请实施例提供的一种数据发送模块的结构示意图;
图4为本申请实施例提供的另一种数据发送模块的结构示意图;
图5为本申请实施例提供的一种具体的数据传输电路的结构示意图;
图6为本申请实施例提供的一种数据接收方法的流程示意图;
图7为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。以下各实施例之间可以任意结合实施或单独实施,本申请不做限制。
实施例一:
为了改善相关技术存在的时序收敛困难的问题,本申请实施例中提供了一种数据接收模块和具有该数据接收模块的数据传输电路。可以参见图2所示,图2为本申请实施例中提供的数据传输电路的基本结构示意图,包括:数据发送模块和本申请实施例所提供的数据接收模块。
其中,数据发送模块的结构可以参见图3所示,数据发送模块可以包括第二握手控制模块、与门电路以及用于发送各个数据的寄存器,各寄存器的时钟端以及所述第二握手控制模块的时钟端均接入数据发送模块的时钟信号(后文记为时钟A),各寄存器的使能端(即图中的en端)与数据发送模块中的与门电路的输出端连接。与门电路用于在valid信号和read信号均为高电平信号时(即均为1时)输出高电平信号以使能各寄存器输出数据。
可以理解,在实际应用过程中,也存在只有valid信号而没有ready信号的场景,此时数据发送模块的结构可以如图4所示,此时不需要包括与门模块,而是直接基于valid信号使能各寄存器输出数据。
需要说明的是,第二握手控制模块可以通过一个或多个基于时钟A触发的寄存器实现。当由多个寄存器实现时,各寄存器之间可以级联连接,例如图1所示。
在本申请实施例中,如图2所示,本申请实施例所提供的数据接收模块包括第一握手控制模块和时钟门控电路。
第一握手控制模块的信号输入端与数据发送模块中的第二握手控制模块中目标寄存器的信号输入端连接,第一握手控制模块的时钟端用于接入数据接收模块的时钟信号(后文记为时钟B)。
其中,目标寄存器为第二握手控制模块中的任意一个寄存器,且第一握手控制模块输出的信号(后文记为gen_valid信号)与第二握手控制模块输出的信号(后文记为valid信号)的偏差应在预设范围内。这样,即可使得第二握手控制模块与第一握手控制模块能够输出具有相同功能的信号,从而可以通过第一握手控制模块输出的gen_valid信号对数据接收模块的时钟门控电路进行控制,而不会导致电路出现逻辑错误或出现时序问题。
在本申请实施例中,如图2所示,时钟A和时钟B从同一时钟源接出。也即,数据发送模块和数据接收模块的时钟源相同。
可以理解,本申请实施例中gen_valid信号与valid信号的偏差所允许的预设范围可以结合数据发送模块所在的物理分割块与数据接收模块所在的物理分割块之间的线延迟(即因为走线引起的延迟)和电路设计过程中的时序要求进行确定。
在本申请实施例中,可以通过配置第一握手控制模块的结构,使得gen_valid信号与valid信号的偏差在预设范围内。
可选的,可以配置第一握手控制模块的结构与第二握手控制模块中目标寄存器与目标寄存器之后的各寄存器之间的连接结构一致。
例如,假设第一握手控制模块是与第二握手控制模块中的最后一个寄存器的数据输入端连接的,那么第一握手控制模块可以采用一个与第二握手控制模块中的最后一个寄存器相同尺寸的寄存器实现。
可以理解,上例中,目标寄存器为第二握手控制模块中的最后一个寄存器,此时输入至第一握手控制模块中的信号(后文记为early_valid信号)将比第二握手控制模块最终输出的valid信号提前一拍(即提前一个时钟周期),而第一握手控制模块采用一个与第二握手控制模块中的最后一个寄存器相同尺寸的寄存器实现,此时即可产生一拍的延迟,从而使得输出的gen_valid信号与valid信号具有相同的逻辑延迟,进而保证数据接收模块中的后级模块(参见后文所述,可以是时钟门控电路或者数据接收模块的与门电路)从第二握手控制模块处接收到的valid信号与从第一握手控制模块处接收到的gen_valid信号基本一致。
又例如,假设第一握手控制模块是与第二握手控制模块中的倒数第三个寄存器的数据输入端连接的,那么第一握手控制模块可以采用三个级联的寄存器实现,且则三个级联的寄存器的尺寸分别与第二握手控制模块中的倒数第三个寄存器、倒数第二个寄存器和倒数第一个寄存器的尺寸相同。
类似的,此时输入至第一握手控制模块中的early_valid信号将比第二握手控制模块最终输出的valid信号提前三拍,而第一握手控制模块通过三个寄存器即可产生三拍的延迟,从而使得输出的gen_valid信号与valid信号同拍(即处于同一时钟周期),具有相同的逻辑延迟,进而保证数据接收模块中的后级模块从第二握手控制模块处接收到的valid信号与从第一握手控制模块处接收到的gen_valid信号基本一致。
又例如,假设第一握手控制模块的输入端与第二握手控制模块的第一个寄存器的输入端连接,此时可以将第一握手控制模块的结构设置的与第二握手控制模块的结构一致。
类似的,此时输入至第一握手控制模块和第二握手模块中的都为early_valid信号,由于第一握手控制模块和第二握手模块结构一致,因此第一握手控制模块输出的gen_valid信号和第二握手模块输出的valid信号具有相同的逻辑延迟,进而可以保证数据接收模块中的后级模块从第二握手控制模块处接收到的valid信号与从第一握手控制模块处接收到的gen_valid信号基本一致。
可以理解,以上情况下,只需保证数据接收模块和数据发送模块之间的线延迟处于设计时规定的时序范围内即可。
特别的,若数据接收模块和数据发送模块之间的线延迟过大,在本申请实施例中也可以通过减少第一握手控制模块中的寄存器数量,从而通过降低逻辑延迟的方式来抵消线延迟带来的不利影响,从而使得gen_valid信号与valid信号的偏差在预设范围内。类似的,若数据接收模块和数据发送模块之间的线延迟过小,在本申请实施例中也可以通过增加第一握手控制模块中的寄存器数量,从而通过提高逻辑延迟的方式来弥补线延迟的不足,从而使得gen_valid信号与valid信号的偏差在预设范围内。
请继续参见图2所示,时钟门控电路可以与第一握手控制模块的输出端连接,并用于接入数据接收模块的时钟信号(即时钟B)。
可以理解,在只有valid信号而没有ready信号的场景中,可以如图2所示,直接将时钟门控电路与第一握手控制模块的输出端连接,从而直接基于第一握手控制模块输出的gen_valid信号进行时钟门控电路的使能控制。
而在既有valid信号又有ready信号的场景中,如图5所示,数据接收模块可以包括一个与门电路,该与门电路的一个输入端与第一握手控制模块的输出端连接,另一输入端用于接收ready信号,而输出端与时钟门控电路连接,从而将第一握手控制模块输出的gen_valid信号与ready信号进行与运算,当gen_valid信号与ready信号均为高电平信号(即均为1)时,输出高电平信号给时钟门控电路,从而使能时钟门控电路打开。当gen_valid信号与ready信号中任意一个信号为低电平信号(即均为0)时,输出低电平信号给时钟门控电路,从而使能时钟门控电路关闭。
请继续参见图5所示,数据接收模块中还可以包括握手逻辑处理模块,用于在接收到第二握手控制模块传来的第一valid信号,且数据接收模块准备好接收数据时,通过ready信号输出端输出第一ready信号。其中,第一valid信号为数据发送模块在数据准备好时输出的信号,一般为高电平信号。第一ready信号为表征数据接收端准备好接收数据的信号,一般也为高电平信号。可以理解当未接收到第二握手控制模块传来的第一valid信号,或数据接收模块未准备好接收数据时,握手逻辑处理模块的ready信号输出端可以输出第二ready信号,该第二ready信号可以为低电平信号,此时握手逻辑处理模块的ready信号输出端的电压可以为0或被拉低为一个较低的电压。
此时,与门电路的另一输入端与握手逻辑处理模块的ready信号输出端连接,从而实现对于ready信号的获取。
在本申请实施例中,握手逻辑处理模块的具体实现结构可参见现有的数据接收模块中实现valid信号接收与握手处理的电路结构,具体实现结构在本申请实施例中不做限制。
可以理解,在本申请实施例中,第二控制模块的输出端可以与握手逻辑处理模块的输入端连接,从而使得握手逻辑处理模块仍旧接收第二控制模块输出的valid信号。但是,第二控制模块的输出端也可以不与握手逻辑处理模块的输入端连接,从而可以省去从第二控制模块的输出端至握手逻辑处理模块的输入端之间的信号传输开销。
还可以理解,如图5所示,数据接收模块中还可以包括多个输入寄存器,各输入寄存器的时钟端与时钟门控电路的输出端连接。这样,当时钟门控电路被使能打开时,时钟B通过时钟门控输入至各输入寄存器的时钟端,使得输入寄存器正常工作,当时钟门控电路关闭时,时钟B不输入各输入寄存器的时钟端,从而降低电路功耗。
可以理解,在本申请实施例中,输入寄存器的数量可以根据电路的设计需求确定,具体数量在本申请实施例中不做限制。
可以理解,各输入寄存器的数据输入端可以与数据发送模块中各用于进行数据发送的寄存器的数据输出端连接,从而接收数据发送模块传来的数据。
基于同一发明构思,本申请实施例中还提供了一种可以应用于上述数据接收模块中的数据接收方法,可参见图6所示,包括:
S601:将第二握手控制模块输出的valid信号之前n个时钟周期的信号输入至第一握手控制模块中,以在数据接收模块的时钟信号的控制下输出内部数据有效性指示信号(即gen_valid信号)。
其中,n为大于等于1的正整数,且gen_valid信号与valid信号的偏差在预设范围内。可以理解,n的取值可以根据第二握手控制模块最大的逻辑延迟周期进行设定,不可高于第二握手控制模块最大的逻辑延迟周期。在本申请实施例中,将第一握手控制模块的输入端与第二握手模块中不同的寄存器的输入端连接,n的取值即不同。
在本申请实施例中,可以设置gen_valid信号与valid信号为位于相同时钟周期的信号,即设置两个信号同拍,从而保证通过第一握手控制模块输出的gen_valid信号对数据接收模块的时钟门控电路进行控制时,可以达到现有技术中通过第二握手控制模块输出的valid信号时一样的控制效果,不会导致电路出现逻辑错误或出现时序问题。
在本申请实施例中,可以通过配置第一握手控制模块的结构与第二握手控制模块中目标寄存器与目标寄存器之后的各寄存器之间的连接结构一致,从而使得gen_valid信号与valid信号为位于相同时钟周期的信号。具体实现方式可参见前文所述,在此不再赘述。
S602:根据gen_valid信号控制时钟门控电路。
在图2示出的数据接收模块的电路结构中,时钟门控电路可以直接根据gen_valid信号进行开启与关闭。此时适用于只有valid信号而没有ready信号的场景。而如图5示出的数据接收模块的电路结构中,通过与门电路的设置,可以实现基于gen_valid信号与ready信号共同控制时钟门控电路,从而在gen_valid信号与ready信号均为高电平信号时,使能时钟门控电路开启。此时适用于既有valid信号又有ready信号的场景。
基于本申请实施例所提供的数据接收模块、具有该数据接收模块的数据传输系统、以及可应用于该数据接收模块的数据接收方法,通过在数据接收模块中加入一个第一握手控制模块,通过第一握手控制模块来产生与数据发送模块中的第二握手控制模块的valid信号之间的偏差在预设范围内的gen_valid信号,从而通过gen_valid信号来进行时钟门控电路的控制。而由于gen_valid信号与数据发送模块中的第二握手控制模块的valid信号之间的偏差在预设范围内,因此其可以保证数据接收模块的工作效果与直接接收第二握手控制模块的valid信号的工作效果的一致性。这样,就使得终点为数据接收模块中的门控时钟电路的时序路径,成为数据接收模块所在的物理分割块的内部路径,从而可以很容易的通过在同一个物理分割块中设计第一握手控制模块或时钟门控电路的位置或布线长度,保证该时序路径的起点时间和终点时间能够符合设计要求,从而降低出现建立时间违例的风险,降低时序收敛的难度。此外,由于第一握手控制模块和时钟门控电路都是数据接收模块的一部分,即位于同一物理分割块上,因此即使输入寄存器的数量很多,也可以很容易地通过在物理分割块内调整第一握手控制模块的位置或者走线长度等方式,使得从第一握手控制模块到时钟门控电路之间的时序路径(即终点为数据接收模块中的门控时钟电路的时序路径)可以更容易收敛。
实施例二:
本实施例在实施例一的基础上,以图5所示的结构为例,为本申请做进一步示例说明。
如图5所示,假设数据发送模块需要将数据data[0]、data[1]、…、data[N]发送至数据接收模块,数据发送模块的数据有效性指示信号为valid信号,数据接收模块的接收准备就绪信号为ready信号。valid信号为1时表征数据发送模块已准备好数据,ready信号为1时表征数据接收模块已准备好接收数据。
如图5所示,输入至数据发送模块中的第二握手模块的early_valid信号同时也发送给数据接收模块中的第一握手信号。第一握手信号和第二握手模块的结构一致,从而使得第一握手信号输出的gen_valid信号和第二握手信号输出的valid信号具有相同的逻辑延迟,从而使得gen_valid信号可以替代valid信号。
当gen_valid信号和ready信号同时有效时,即gen_valid信号和ready信号同时为1时,数据接收模块中的与门电路输出高电平信号,使能时钟门控电路打开,将时钟B输入至各输入寄存器中,各输入寄存器在时钟B的控制下接收数据发送模块传来的数据data[0]、data[1]、…、data[N]。
本申请实施例中,将终点为时钟门控电路的时序路径的起点变成了数据接收模块内部的第一握手模块,从而使得该时序路径的起点和终点的时钟都来自于数据接收模块的时钟输入端口,消除了不同物理分割模块之间的时钟偏斜的影响,可以留出更多的时序余量,使得时序很容易收敛。
实施例三:
基于同一发明构思,本申请实施例中还提供了一种芯片,该芯片内可以具有本申请实施例一或实施例二中提供的数据传输电路。
可以理解,本申请实施例中提供的芯片可以是但不限于AI(ArtificialIntelligence,人工智能)芯片、CPU(Central Processing Unit,中央处理器)芯片、GPU(Graphics Processing Unit,图形处理器)芯片、IPU(基础设施处理器)芯片等,但不作为限制。
基于同一发明构思,本申请实施例中还提供了一种电子部件,该电子部件中具有前述芯片。
可以理解,本申请实施例提供的电子部件可以是具有前述芯片的板卡,例如显卡等,也可以是具有前述芯片的主板,例如电脑主板、手机主板等,但不作为限制。
基于同一发明构思,本申请实施例中还提供了一种电子设备,其内具有前述芯片,或具有前述电子部件。
可以理解,本申请实施例提供的电子设备可以但不限于:移动终端(如手机、笔记本电脑等)、固定终端(如台式电脑等)、服务器等具有内部数据交互与处理需求的设备。
可以理解,电子设备内除了具有前述芯片或前述电子部件外,还可以具有其他的部件。例如图7所示,电子设备除了可以具有芯片701外,还可以具有I/O接口702、存储器703(如ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随机存储器)等)等部件,并可通过总线704连接。
应理解,图7所示的结构仅为示意,电子设备还可包括比图7中所示更多或者更少的组件,或者具有与图7所示不同的配置。
在本申请所提供的实施例中,应该理解到,所揭露电路和方法,可以通过其它的方式实现。以上所描述的实施例仅仅是示意性的。
另外,在本申请各个实施例中的各模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体与另一个实体区分开来,而不一定要求或者暗示这些实体之间存在任何这种实际的关系或者顺序。
在本文中,多个是指两个或两个以上。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (12)
1.一种数据接收模块,其特征在于,包括:
第一握手控制模块,所述第一握手控制模块的信号输入端与数据发送模块的第二握手控制模块中目标寄存器的信号输入端连接,所述第一握手控制模块的时钟端用于接入所述数据接收模块的时钟信号;其中,所述目标寄存器为第二握手控制模块中的任意一个寄存器;所述第一握手控制模块输出的信号与所述第二握手控制模块输出的信号的偏差在预设范围内;
时钟门控电路,与所述第一握手控制模块的输出端连接,并用于接入所述数据接收模块的时钟信号。
2.如权利要求1所述的数据接收模块,其特征在于,还包括:
与门电路,所述与门电路的一个输入端与所述第一握手控制模块的输出端连接,另一输入端用于接收ready信号;
所述时钟门控电路通过所述与门电路与所述第一握手控制模块的输出端连接。
3.如权利要求2所述的数据接收模块,其特征在于,还包括:
握手逻辑处理模块,用于在接收到所述第二握手控制模块传来的第一valid信号,且所述数据接收模块准备好接收数据时,通过ready信号输出端输出第一ready信号;其中,所述第一valid信号为所述数据发送模块在数据准备好时输出的信号;所述第一ready信号为表征所述数据接收端准备好接收数据的信号;
所述与门电路的另一输入端与所述握手逻辑处理模块的ready信号输出端连接。
4.如权利要求1所述的数据接收模块,其特征在于,还包括:
多个输入寄存器,各所述输入寄存器的时钟端与所述时钟门控电路的输出端连接。
5.如权利要求1-4任一项所述的数据接收模块,其特征在于,所述第一握手控制模块的结构与所述第二握手控制模块中所述目标寄存器与所述目标寄存器之后的各寄存器之间的连接结构一致。
6.如权利要求5所述的数据接收模块,其特征在于,所述第一握手控制模块的输入端与所述第二握手控制模块的第一个寄存器的输入端连接,且所述第一握手控制模块与所述第二握手控制模块结构一致。
7.一种数据接收方法,其特征在于,应用于如权利要求1-6任一项所述的数据接收模块中,所述方法包括:
将所述第二握手控制模块输出的valid信号之前n个时钟周期的信号输入至所述第一握手控制模块中,以在所述数据接收模块的时钟信号的控制下输出内部数据有效性指示信号gen_valid;其中,所述n为大于等于1的正整数,所述gen_valid信号与所述valid信号的偏差在预设范围内;
根据所述gen_valid信号控制所述时钟门控电路。
8.如权利要求7所述的方法,其特征在于,所述gen_valid信号与所述valid信号为位于相同时钟周期的信号。
9.一种数据传输电路,其特征在于,包括:数据发送模块和如权利要求1-6任一项所述的数据接收模块,其中所述数据接收模块的第一握手控制模块的信号输入端与所述数据发送模块的第二握手控制模块中目标寄存器的信号输入端连接。
10.一种芯片,其特征在于,包括:如权利要求9所述的数据传输电路。
11.一种电子部件,其特征在于,包括:如权利要求10所述的芯片。
12.一种电子设备,其特征在于,包括如权利要求11所述的电子部件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310000612.XA CN115687197B (zh) | 2023-01-03 | 2023-01-03 | 数据接收模块、数据接收方法、电路、芯片及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310000612.XA CN115687197B (zh) | 2023-01-03 | 2023-01-03 | 数据接收模块、数据接收方法、电路、芯片及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115687197A true CN115687197A (zh) | 2023-02-03 |
CN115687197B CN115687197B (zh) | 2023-03-28 |
Family
ID=85057467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310000612.XA Active CN115687197B (zh) | 2023-01-03 | 2023-01-03 | 数据接收模块、数据接收方法、电路、芯片及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115687197B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101615998A (zh) * | 2009-07-31 | 2009-12-30 | 中兴通讯股份有限公司 | 一种在以太网中实现时钟同步的方法及系统及接入交换机 |
CN101877633A (zh) * | 2009-04-28 | 2010-11-03 | 华为技术有限公司 | 信号同步的方法和系统、及信号接收装置和信号发送装置 |
KR20120096331A (ko) * | 2011-02-22 | 2012-08-30 | 삼성전자주식회사 | 인터커넥터를 포함하는 시스템 온 칩 및 그것의 제어 방법 |
US8270322B1 (en) * | 2004-12-30 | 2012-09-18 | Emc Corporation | Method and system for arbitrating data transmissions |
US10515047B1 (en) * | 2018-05-17 | 2019-12-24 | Xilnx, Inc. | Pipelined data channel with ready/valid handshaking |
CN112000603A (zh) * | 2020-07-17 | 2020-11-27 | 苏州浪潮智能科技有限公司 | 一种握手协议电路、芯片及计算机设备 |
CN114117972A (zh) * | 2022-01-26 | 2022-03-01 | 之江实验室 | 一种异步电路的同步装置和方法 |
CN114430399A (zh) * | 2020-10-15 | 2022-05-03 | 谱瑞科技股份有限公司 | 用于数据链路的无缝位级低时延重定时器 |
-
2023
- 2023-01-03 CN CN202310000612.XA patent/CN115687197B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8270322B1 (en) * | 2004-12-30 | 2012-09-18 | Emc Corporation | Method and system for arbitrating data transmissions |
CN101877633A (zh) * | 2009-04-28 | 2010-11-03 | 华为技术有限公司 | 信号同步的方法和系统、及信号接收装置和信号发送装置 |
CN101615998A (zh) * | 2009-07-31 | 2009-12-30 | 中兴通讯股份有限公司 | 一种在以太网中实现时钟同步的方法及系统及接入交换机 |
KR20120096331A (ko) * | 2011-02-22 | 2012-08-30 | 삼성전자주식회사 | 인터커넥터를 포함하는 시스템 온 칩 및 그것의 제어 방법 |
US10515047B1 (en) * | 2018-05-17 | 2019-12-24 | Xilnx, Inc. | Pipelined data channel with ready/valid handshaking |
CN112000603A (zh) * | 2020-07-17 | 2020-11-27 | 苏州浪潮智能科技有限公司 | 一种握手协议电路、芯片及计算机设备 |
CN114430399A (zh) * | 2020-10-15 | 2022-05-03 | 谱瑞科技股份有限公司 | 用于数据链路的无缝位级低时延重定时器 |
CN114117972A (zh) * | 2022-01-26 | 2022-03-01 | 之江实验室 | 一种异步电路的同步装置和方法 |
Non-Patent Citations (2)
Title |
---|
STEFFEN ZEIDLER: "On-line testing of bundled-data asynchronous handshake protocols" * |
黄隶凡: "FPGA设计中的亚稳态研究" * |
Also Published As
Publication number | Publication date |
---|---|
CN115687197B (zh) | 2023-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5600824A (en) | Clock generating means for generating bus clock and chip clock synchronously having frequency ratio of N-1/N responsive to synchronization signal for inhibiting data transfer | |
US6715094B2 (en) | Mult-mode I/O interface for synchronizing selected control patterns into control clock domain to obtain interface control signals to be transmitted to I/O buffers | |
US8205110B2 (en) | Synchronous operation of a system with asynchronous clock domains | |
US9760525B2 (en) | Sideband signal consolidation fanout using a clock generator chip | |
JP2009527829A (ja) | 複数のプロセッサコア用の共通アナログインターフェイス | |
US20100322365A1 (en) | System and method for synchronizing multi-clock domains | |
US7284143B2 (en) | System and method for reducing clock skew | |
US20110026355A1 (en) | Interface circuit and semiconductor device incorporating same | |
US5777500A (en) | Multiple clock source generation with independently adjustable duty cycles | |
CN201878182U (zh) | 一种基于fpga的总线型通信系统 | |
US5535343A (en) | Method and apparatus for generating write signals | |
US6977979B1 (en) | Enhanced clock forwarding data recovery | |
JP2001016234A (ja) | Canコントローラおよびcanコントローラを内蔵したワンチップ・コンピュータ | |
US20090271747A1 (en) | Logic circuit designing device, logic circuit designing method and logic circuit designing program for asynchronous logic circuit | |
US5758131A (en) | Bus adapter for synchronizing communications between two circuits running at different clock rates | |
US6711089B2 (en) | Method and apparatus for performing signal synchronization | |
CN115687197B (zh) | 数据接收模块、数据接收方法、电路、芯片及相关设备 | |
US6584536B1 (en) | Bus transaction accelerator for multi-clock systems | |
US6775339B1 (en) | Circuit design for high-speed digital communication | |
US11757608B2 (en) | Communication apparatus, communication system, communication method, and computer readable medium | |
CN112580278B (zh) | 逻辑电路的优化方法、优化装置以及存储介质 | |
US5828872A (en) | Implementation of high speed synchronous state machines with short setup and hold time signals | |
CN111737181A (zh) | 异构处理设备、系统、端口配置方法、装置及存储介质 | |
US20230176932A1 (en) | Processor, information processing apparatus, and information processing method | |
US7010072B2 (en) | Aligned clock forwarding scheme |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |