用于芯粒互联接口的数据传输方法及芯粒互联接口与流程
未命名
09-22
阅读:73
评论:0

1.本公开的实施例涉及用于芯粒互联接口的数据传输方法及芯粒互联接口,尤其涉及数据传输方法、发送端、接收端、芯粒互联接口、芯片及电子设备。
背景技术:
2.芯粒(chiplet)是一种具有一定功能且含有封装内互联接口的单元芯片,其为芯片设计技术的最新发展。chiplet技术通过使用多个芯粒实现芯片设计,不仅可以降低成本,还可以提升芯片的性能。
3.芯粒间的互连自然成为影响芯片性能的重要因素。目前有串行总线和并行总线两种实现方式,其中并行总线互连是当下的主流。并行总线可以给两个芯粒之间较短的延迟,还能够通过增加总线带宽来扩大芯粒间的带宽。
4.实现了物理层面的互连之后,芯粒互联还需要完成数据链路的训练,其中的时钟到数据对齐是数据传输必不可少的一个环节。但是时钟到数据对齐是属于数据链路的训练的组成部分,若在训练完成之后出现时钟与数据不对齐的情况,就需要重新进行数据链路的完整训练,这严重影响了芯片的正常工作。
技术实现要素:
5.为了解决现有技术中的上述技术问题,本公开的实施例提供了数据传输方法、发送端、接收端、芯粒互联接口、芯片及电子设备。
6.第一方面,本公开至少一个实施例提供一种数据传输方法,应用于接收端,包括:接收n个数据信号和第一时钟信号,第一时钟信号的周期数量有限,n个数据信号中的每个数据信号的周期数量小于或等于第一时钟信号的周期数量,n为正整数;根据第一时钟信号,定位n个数据信号中的数据的开始位置,并获取n个数据信号中的数据。
7.例如,在本公开一实施例提供的方法中,根据第一时钟信号,定位n个数据信号中的数据的开始位置,并获取n个数据信号中的数据,包括:根据第一时钟信号,获取n个第二时钟信号,n个第二时钟信号分别对应于n个数据信号;根据n个第二时钟信号,分别定位n个数据信号中的每个数据信号的数据的开始位置,并分别将n个数据信号中的数据从串行数据转换为并行数据;其中,n个第二时钟信号中的每一个第二时钟信号具有与第一时钟信号相同的周期数量。
8.例如,在本公开一实施例提供的方法中,在获取n个数据信号中的数据之后,方法还包括:根据n个第二时钟信号,对应地将n个数据信号中的数据保存到缓冲存储器。
9.例如,在本公开一实施例提供的方法中,方法还包括:根据第三时钟信号,从缓冲存储器中读取n个数据信号中的数据,其中,第三时钟信号为接收端的本地时钟信号。
10.例如,在本公开一实施例提供的方法中,根据第三时钟信号,从缓冲存储器中读取数据信号中的数据,包括:根据第三时钟信号,访问缓冲存储器的读指针,以读取n个数据信号中的数据。
11.例如,在本公开一实施例提供的方法中,根据n个第二时钟信号,对应地将n个数据信号中的数据保存到缓冲存储器,包括:根据n个第二时钟信号,分别访问缓冲存储器的写指针,以将n个数据信号中的数据保存到缓冲存储器。
12.例如,在本公开一实施例提供的方法中,方法还包括:在从缓冲存储器中读取到至少一个空数据之后,停止对缓冲存储器的读取。
13.例如,在本公开一实施例提供的方法中,n个数据信号中的每个数据信号的周期数量为m,第一时钟信号的周期数量为m+x,m为大于或等于2的整数,x为大于或等于0的整数。
14.第二方面,本公开至少一个实施例提供一种数据传输方法,应用于发送端,包括:发送n个数据信号和第一时钟信号,其中,n为正整数,第一时钟信号的周期数量有限,n个数据信号中的每个数据信号的周期数量小于或等于所述第一时钟信号的周期数量,并且第一时钟信号用于定位n个数据信号中的数据的开始位置并获取n个数据信号中的数据。
15.例如,在本公开一实施例提供的方法中,发送n个数据信号和第一时钟信号,包括:同时发送n个数据信号和第一时钟信号;或者,先发送第一时钟信号,然后在预设周期之后发送n个数据信号。
16.例如,在本公开一实施例提供的方法中,方法还包括:在n个数据信号停止发送时或者停止发送之后,停止发送第一时钟信号。
17.例如,在本公开一实施例提供的方法中,n个数据信号中的每个数据信号的周期数量为m,第一时钟信号的周期数量为m+x,m为大于或等于2的整数,x为大于或等于0的整数。
18.第三方面,本公开至少一个实施例提供一种接收端,应用于芯粒互联接口,包括:n个数据端口,被配置为接收n个数据信号,n为正整数;时钟端口,被配置为接收第一时钟信号,第一时钟信号的周期数量有限,n个数据信号中的每个数据信号的周期数量小于或等于第一时钟信号的周期数量;数据处理模块,与n个数据端口及时钟端口连接,被配置为根据第一时钟信号,定位n个数据信号中的数据的开始位置,并获取n个数据信号中的数据。
19.例如,在本公开一实施例提供的接收端中,接收端还包括:时钟获取模块,与时钟端口及数据处理模块连接,被配置根据将第一时钟信号,获取n个第二时钟信号,并将n个第二时钟信号发送至数据处理模块;数据处理模块被配置为根据n个第二时钟信号,分别将n个数据信号中的数据从串行数据转换为并行数据;其中,n个第二时钟信号中的每一个第二时钟信号具有与第一时钟信号相同的周期数量。
20.例如,在本公开一实施例提供的接收端中,接收端还包括:缓冲存储器,与数据处理模块连接,被配置为保存n个数据信号中的数据。
21.例如,在本公开一实施例提供的接收端中,数据处理模块还被配置为根据n个第二时钟信号,分别访问缓冲存储器的写指针,以将n个数据信号中的数据保存到缓冲存储器。
22.例如,在本公开一实施例提供的接收端中,接收端还包括:数据读取模块,与缓冲存储器连接,被配置为根据第三时钟信号从缓冲存储器中读取出n个数据信号中的数据,其中,第三时钟信号为接收端的本地时钟信号。
23.例如,在本公开一实施例提供的接收端中,数据读取模块还被配置为根据第三时钟信号,访问缓冲存储器的读指针,以读取n个数据信号中的数据。
24.例如,在本公开一实施例提供的接收端中,数据读取模块还被配置为在从缓冲存储器中读取到至少一个空数据之后,停止对缓冲存储器的数据读取。
25.例如,在本公开一实施例提供的接收端中,缓冲存储器为异步fifo存储器。
26.例如,在本公开一实施例提供的接收端中,接收端还包括:本地时钟,被配置为生成本地时钟信号。
27.例如,在本公开一实施例提供的接收端中,n个数据信号中的的每个数据信号的周期数量为m,第一时钟信号的周期数量为m+x,m为大于或等于2的整数,x为大于或等于0的整数。
28.第四方面,本公开至少一个实施例提供一种发送端,应用于芯粒互联接口,包括:n个数据端口,被配置为对应地发送n个数据信号,n为正整数;时钟端口,被配置为发送第一时钟信号;本地时钟,与时钟端口及n个数据端口连接,被配置为生成第一时钟信号;其中,第一时钟信号的周期数量有限,n个数据信号中的每个数据信号的周期数量小于或等于第一时钟信号的周期数量,并且第一时钟信号用于定位n个数据信号中的数据的开始位置并获取n个数据信号中的数据。
29.例如,在本公开一实施例提供的发送端中,n个数据端口和时钟端口被配置为同时发送n个数据信号和第一时钟信号;或者,时钟端口被配置为先发送第一时钟信号,n个数据端口被配置为在第一时钟信号发送后的预设周期之后发送n个数据信号。
30.例如,在本公开一实施例提供的发送端中,发送端还包括:时钟开关,与本地时钟连接以及与时钟端口连接,被配置为在n个数据信号停止发送时或者停止发送的一个周期之后,断开本地时钟与时钟端口的连接。
31.例如,在本公开一实施例提供的发送端中,n个数据信号的每个数据信号的周期数量为m,第一时钟信号的周期数量为m+x,m为大于或等于2的整数,x为大于或等于0的整数。
32.第五方面,本公开至少一个实施例还提供一种芯粒互联接口,被配置为执行如上述第一方面中任一项的方法。
33.第六方面,本公开至少一个实施例还提供一种芯粒互联接口,被配置为执行如上述第二方面中任一项的方法。
34.第七方面,本公开至少一个实施例还提供一种芯粒互联接口,包括如第三方面中任一项的接收端。
35.第八方面,本公开至少一个实施例还提供一种芯粒互联接口,包括如第三方面中任一项的发送端。
36.第九方面,本公开至少一个实施例还提供一种芯片,包括多个芯粒,其中,多个芯粒中的任意两个芯粒通过如第五方面或第七方面的芯粒互联接口和如第六方面或第八方面的芯粒互联接口连接。
37.第十方面,本公开至少一个实施例提供一种电子设备,包括如第九方面的芯片。
附图说明
38.为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
39.图1示出了一种现有技术中的芯粒互联接口的示意图;
40.图2示出了一种现有技术中芯粒间进行时钟到数据对齐的示意图;
41.图3示出了根据本公开至少一个实施例提供的数据传输方法的流程图;
42.图4示出了根据本公开至少一个实施例提供的又一种数据传输方法的流程图;
43.图5示出了本公开至少一个实施例提供的接收端的示意图;
44.图6示出了本公开至少一个实施例提供的发送端的示意图;
45.图7a示出了本公开至少一个实施例提供的时钟开关的结构示意图;
46.图7b示出了本公开至少一个实施例提供的第一时钟信号和数据信号的示意图;
47.图7c示出了本公开至少一个实施例提供的第一时钟信号和数据信号的有一种示意图;
48.图8示出了本公开至少一个实施例提供的芯片的示意图;
49.图9示出了本公开至少一个实施例提供的芯粒互联后的数据传输方法的时序图;
50.图10示出了本公开至少一个实施例提供的电子设备的示意图。
具体实施方式
51.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
52.除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
53.数据链路的训练通常是在芯粒的初始化完成之后进行的,其需要作为发送侧的芯粒和作为接收侧的芯粒协作完成,从而使得接收侧的芯粒可以找到最合适的数据采样窗口。完整的数据链路的训练包括多个部分,例如偏置offset校准、参考电源verf校准、数据通路去歪斜(deskew)、时钟到数据对齐(cda,clock and data alignment)、并行数据保序(reorder)和数据检查等。时钟到数据对齐是调整数据和时钟之间的相位,最终获得合适的采样相位。
54.图1示出了一种现有技术中的芯粒互联接口的示意图。
55.在图1中,芯粒a和芯粒b通过芯粒互联接口110和芯粒互联接口120实现连接。芯粒a是发送侧,芯粒b是接收侧。芯粒互联接口110包括多个数据端口111、时钟端口112和本地时钟113。芯粒互联接口120包括多个数据端口121、时钟端口122、时钟接收模块123和数据采样模块124。多个数据端口111和多个数据端口121的数据端口数量相等,其分别通过多个数据通路连接。时钟端口112通过时钟通路连接到时钟端口122。本地时钟113产生时钟信号,并将时钟信号发送给多个数据端口111和时钟端口112。时钟接收模块123接收本地时钟113产生的时钟信号并对该时钟信号进行调整,并将调整后的时钟信号发送给数据采样模
块124。数据采样模块124利用该时钟信号进行数据采样。该时钟信号可以是差分时钟信号。时钟信号和数据信号是持续发送给芯粒b的,数据信号携带有效数据和空数据,即数据信号携带的不全是有效数据。有效数据是芯粒a希望发送给芯粒b的,芯粒a是按照预设数据格式传输有效数据,每一次发送的有效数据的长度有限,有效数据之间不是连续发送的,其会存在一些时间间隙,空数据则是用来填充有效数据之间的间隙。因此,芯粒a和芯粒b之间的数据传输会存在多个数据通道之间的数据不对齐。在现有技术中,需要对时钟到数据对齐进行预先的训练,从而才能接收到准确的数据。
56.图2示出了一种现有技术中芯粒间进行时钟和数据对齐的示意图。
57.通常使用有效标志位来进行时钟到数据对齐的训练。图2中的芯粒a和芯粒b可以是图1所示的芯粒a和芯粒b。有效标志位为vld,其取值为1,发送端将其复制3次变成长度为3bit的数据,使用每个数据通道的前3bit携带有效标志位。有效标志位可以表示一段有效数据的开始。根据有效标志位,芯粒b可以从每个数据信号中准确的定位到有效数据。有效数据又具有约定的数据格式,包括数据长度。因此芯粒b在发现有效标志位之后,就能够定位到一段有效数据。图2中,从芯粒a中的发送出的3个数据信号是对齐的。芯粒b接收到的3个数据信号之间存在一定的相位差或延迟,这种延迟是难以消除的,其受到芯粒设计、工作环境、温度、湿度、制造工艺等多种因素的影响。接收端只要成功接收到3个有效标志位中的2个有效标志位就判断数据通道之间是对齐的。
58.图2中的下方的两个数据通路和上方的第一个数据通路之间虽然存在一定相位差,但3个数据通路仍有2个有效标志位对齐,因此认定这三个数据通路是对齐的。这种对齐方式并不是绝对的对齐,其允许一定的误差存在。然而时钟到数据对齐的训练包含在完整的数据链路训练中,如果在芯片正常使用的过程中出现数据信号之间的不对齐、数据和时钟不对齐,即使数据链路训练中的其他训练没有必要进行,也必须重新进行完整的数据链路训练,对芯片的正常工作造成严重影响,还增加功耗。
59.基于此,本公开的实施例提供了数据传输方法、发送端、接收端、芯粒互联接口、芯片及电子设备,能够实现芯粒间实时的时钟和数据对齐,无需预先的时钟到数据对齐训练,并且提供了将时钟到数据对齐从数据链路训练中移除的可行方案。
60.下面结合附图对本公开所提供的实施例进行描述。
61.图3示出了根据本公开至少一个实施例提供的数据传输方法的流程图。
62.图3所示的数据传输方法300应用于芯粒互联接口的接收端。
63.数据传输方法300包括以下步骤:
64.步骤s310,接收n个数据信号和第一时钟信号,n为正整数,第一时钟信号的周期数量有限,n个数据信号中的每个数据信号的周期数量小于或等于第一时钟信号的周期数量。
65.步骤s320,根据第一时钟信号,定位n个数据信号中的数据的开始位置,并获取n个数据信号中的数据。
66.在本公开中,n个数据信号对应于n个数据通路,第一时钟信号对应于时钟通路。每个数据通路传输1个数据信号,每个数据信号携带的是串行数据。第一时钟信号可以是差分时钟信号。例如n为2、3、4、
……
、16等。n的取值跟芯粒互联接口所需的带宽相关,数据通路越多,芯粒间的数据传输的带宽越大,数据通路的数量可以根据需求来设置。
67.每个数据信号携带的数据是长度有限,即每个数据信号中携带数据的周期数量有
限。本公开的实施例中所涉及的n个数据信号的周期数量或者每个数据信号的周期数量都是指携带有效数据的周期数量。周期数量也可能被称为长度或周期长度,这些术语可以在本公开中互换。可以理解地,芯粒之间的数据传输通常有固定的数据格式,即每次传输的数据长度是固定的并且是相等的,例如数据格式规定数据长度为128位。本实施例中的n个数据信号的周期数量是相等的,即n个数据信号的周期数量和每个数据信号的周期数量指的是相同的周期数量。
68.每个数据信号中的数据不包括有效标志位。每个数据信号中携带的数据可以具有预定义的数据格式,比如具有预定的数据长度或周期数量。例如,周期数量为8。为了便于描述,在本公开中提及的数据信号的长度或周期数量都是指数据信号中携带有效数据的部分,数据信号中的数据也是指有效数据。本公开中的数据信号是方波,方波可能会被持续接收到,但是其中携带有数据的部分才是本公开要讨论的数据信号的部分。
69.相应地,第一时钟信号的长度也有限,该长度为携带有效时钟周期的长度,例如该长度为4个周期。第一时钟信号有效时钟周期例如是具有时钟跳变的周期,每个有效时钟周期包括时钟的1个上升沿和1个下降沿。第一时钟信号也可以是方波的形式传输的,与数据信号不同的是,本公开中的第一时钟信号有效时是方波,无效时可以是持续的低电平。
70.本公开中的数据信号中的数据不携带有效标志位,而是利用第一时钟信号来确定数据的开始位置。n个数据信号与第一时钟信号存在对应关系,对应关系为周期数量相差小于或等于预设数量。例如,第一时钟信号的周期数量有限并且第一时钟信号的周期数量大于或等于每个数据信号的周期数量。优选地,第一时钟信号的周期数量等于每个数据信号的周期数量。
71.第一时钟信号的长度需要大于或等于每个数据信号的长度,每个数据信号的长度是相同的。第一时钟信号的长度大于或大于数据信号的长度时,才能够保证数据信号中的数据被完整的获取,否则可能出现数据残缺。例如,可以认为是第一时钟信号决定了数据信号中数据的开始位置,本公开的方案不涉及有效标志位,从而第一时钟信号的第一时间周期的位置就对应了数据信号中携带的数据的开始位置,例如图9。例如,n个数据信号周期数量为m,n个第一时钟信号的周期数量为m+x,m为大于或等于2的整数,x为大于或等于0的整数。x还需要小于或等于预设数量。预设数量例如是1、2、3、4等。预设数量可以根据需求进行调整,预设数量越小,第一时钟信号的长度越短,从而发送和接收第一时钟信号的功耗就越小。
72.在执行步骤s320时,由于第一时钟信号和n个数据信号之间的对应关系。因此可以根据第一时钟信号得到数据信号中的数据。这里的数据信号中数据是指数据信号携带的有效数据。本实施例中,与有效数据相对的是无效数据或者空数据,无效数据或空数据可以是乱码、预设填充数值等,从而读取到无效数据或空数据之后就确定数据信号中的有效数据已经接收完。例如,本实施例中,第一时钟信号不是持续存在而是长度有限的,将第一时钟信号用来定位数据信号中的数据的位置。
73.按照本实施例所提供的方法,接收的n个数据信号和第一时钟信号存在对应关系,从而可以利用第一时钟信号来确定并获取数据信号中的数据,数据中无需包括有效标志位,亦无需预先进行时钟到数据对齐的训练,并且可以实时得到时钟到数据对齐的效果。
74.在一些实施例中,执行步骤s320可以包括:根据第一时钟信号,定位n个数据信号
中的数据的开始位置,并获取n个第二时钟信号,n个第二时钟信号分别对应于n个数据信号;根据n个第二时钟信号,分别定位n个数据信号中的每个数据信号的数据的开始位置,并分别将n个数据信号中的数据从串行数据转换为并行数据;其中,n个第二时钟信号中的每一个第二时钟信号具有与第一时钟信号相同的周期数量。
75.例如,将第一时钟信号扩展出n个第二时钟信号,不改变时钟信号的频率和周期数量(或长度)。n个第二时钟信号之间可以存在不同的相位差,例如获取n个第二时钟信号时,对每个第二时钟信号调整不同的相位,如图9中的多个lane的时钟信号具有不同的相位差。本实施例中的相位差可以被理解为延迟。然后根据n个第二时钟信号中的每个时钟信号对n个数据信号中的数据进行定位,例如定位数据的开始位置。
76.例如,利用n个第二时钟信号对应地对n个数据信号进行采样,从而将每个数据信号中的数据从串行转换为并行,其中每个第二时钟信号被用于对应的1个数据信号的采样。比如在每个时钟下降沿或每个时钟上升沿进行一次数据采样,从而得到数据信号中的数据。
77.在一些实施例中,在获取n个数据信号中的数据之后,数据传输方法还包括:根据n个第二时钟信号,对应地将n个数据信号中的数据保存到缓冲存储器。
78.可选地,每个数据信号中的数据可以被保存到缓冲存储器的部分存储区域,或者被单独保存到1个缓冲存储器中。即,缓冲存储器的数量可以为1个或n个。例如,将数据信号中的数据解串行之后,得到若干个数据块,每个数据块可以存储在缓冲存储器的一个存储空间内,例如一个条目entry内、一段地址空间内。不同数据信号中的数据可以被保存到不同的缓冲存储器,这样更容易实现并便于后续的处理。
79.在将n个数据信号中的数据保存到一个缓冲存储器的不同区域内时,缓冲存储器为每个数据信号中的数据预留固定的存储存储区域。例如缓冲存储器分为n个存储区域,每个存储区别包括多个存储空间。
80.在一些实施例中,将n个数据信号中的数据保存到缓冲存储器,包括:根据n个第二时钟信号,分别访问缓冲存储器的写指针,以将n个数据信号中的数据保存到缓冲存储器。
81.例如,在仅有一个缓冲存储器时,利用n个第二时钟信号来访问不同存储区域的写指针,以将n个数据信号中的数据存储到不同的存储区域。缓冲存储器可以包括n个存储区域,每个存储区域有自己的写指针以及读指针。
82.又如,在有n个缓冲存储器时,利用n个第二时钟信号来访问不同的缓冲存储器的写指针,以将n个数据信号中的数据存储到不同的缓冲存储器。
83.例如,缓冲存储器是利用访问写指针的方式写入数据,从而可以利用第二时钟信号对写指针进行计数,比如第二时钟信号的每一次上升沿或每一次下降沿使得写指针的取值加1,即指向下一个存储空间。每个写指针有规律的循环指向一个存储区域中的若干个存储空间。例如,写指针按照存储空间的地址由大到小或者由小到大来跳转。
84.在一些实施例中,数据传输方法还包括:根据第三时钟信号,从缓冲存储器中读取n个数据信号中的数据,其中,第三时钟信号为接收端的本地时钟信号。可以利用同一个第三时钟信号,对n个数据信号中的数据进行读取。
85.从缓冲存储器中读取数据的方式和保存数据的方式类似。例如,可以根据第三时钟信号,访问缓冲存储器的读指针,以读取n个数据信号中的数据。比如在有n个缓冲存储器
时,可以根据第三时钟信号去访问n个缓冲存储器,从而得到n个数据信号中的数据。缓冲存储器的读指针被访问之后,读指针的取值也会加1,并指向下一个存储空间。可选地,读指针的取值数量有限或者取值范围有限,读指针的取值在该取值范围内循环跳转。例如,根据第三时钟信号中的上升沿或下降沿对n个缓冲存储器的读指针进行访问以及计数,从而就可以同时读取出n个数据信号中的数据。
86.可选地,n个数据信号中的数据被保存到缓冲存储器之后,可以被同时读取出来。例如,在确定所有的n个数据信号中的数据都被对应保存到缓冲存储器之后,可以使用第三时钟信号来同时进行读取。n个数据信号中的数据的长度和以及数据块的数量是规定相同的,数据块可以保存在不同缓冲存储器的相似的若干个存储空间中,或者数据块可以被按照相同的顺序进行保存。因此,在读取数据时,就可以使用同一个信号来触发,使得不同缓冲存储器或不同存储区域中的数据可以被同时且有序的读取。第三时钟信号还可以是根据第一时钟信号生成的时钟信号,例如根据第一时钟信号的频率来生成长度超过第一时钟信号的第三时钟信号,或者对第一时钟信号进行延迟得到第三时钟信号。
87.采用本实施例中的方法,n个数据信号中的数据可以被认为是“对齐的”保存到缓冲存储器,而后进一步使用同一个第三时钟信号来读取缓冲存储器中的数据,该读取过程也是“对齐的”,即使传输过程中n个数据信号之间不对齐(例如,不同数据信号之间的相差超过2个周期),最终得到的数据仍旧是对齐的,因此在芯粒正常工作状态下数据通道之间出现不对齐,也无需重新进行数据链路的训练。进一步,采用本实施例中的方法,可以不需要在数据链路的训练阶段进行时钟到数据对齐的训练,直接通过n个数据信号和第一时钟信号对应发送/接收的方式来完成数据对齐,由于无需进行时钟到数据对齐的训练以及重复的数据链路的训练,不仅减少设计的复杂度还可以降低功耗。
88.在一些实施例中,数据传输方法还包括在从缓冲存储器中读取到至少一个空数据之后,停止对n个缓冲存储器的读取。
89.本实施例中的每个数据信号中的数据长度有限,从而在从缓冲存储器中读取到空数据之后,就可以认为数据读取已经完成,并停止访问缓冲存储器。
90.上文中结合附图介绍了芯粒互联接口的接收端的数据传输方法,下面将结合图4介绍芯粒互联接口的发送端的数据传输方法。
91.本公开至少一个实施例还提供一种数据传输方法,,应用于发送端,包括:发送n个数据信号和第一时钟信号,其中,n为正整数,n个数据信号与第一时钟信号存在对应关系,对应关系为周期数量相差小于或等于预设数量,并且第一时钟信号用于获取n个数据信号中的数据。
92.图4示出了根据本公开至少一个实施例提供的又一种数据传输方法的流程图。数据传输方法400适用于发送端。
93.在图4中,数据传输方法400包括以下步骤:
94.步骤s410,发送n个数据信号和第一时钟信号,其中,n为正整数,第一时钟信号的周期数量有限,n个数据信号中的每个数据信号的周期数量小于或等于所述第一时钟信号的周期数量,并且第一时钟信号用于定位n个数据信号中的数据的开始位置并获取n个数据信号中的数据。
95.n个数据信号和第一时钟信号的定义可参见图3中的相关描述,在此不再赘述。本
实施例中,并不是任意一个周期数量和数据信号的周期数量相同的时钟信号都可以用来获取数据信号中的数据。第一时钟信号和n个数据信号是存在对应关系的,例如,第一时钟信号和n个数据信号在发送时,是对齐发送的、或者是同时发送的,从而第一时钟信号的第一个边沿和n个数据信号中的第一个携带有效数据的周期对齐。对于接收端,经过设计或数据去歪斜训练之后,该对应关系没有发生变化。
96.可选地,n个数据信号中的每个数据信号的周期数量为m,第一时钟信号的周期数量为m+x,m为大于或等于2的整数,x为大于或等于0的整数。
97.n个数据信号中的每个数据信号的周期数量相同。第一时钟信号的周期数量大于或等于数据信号的周期数量,这样可以保证对完整获得数据信号中的数据。例如,m等于6,x等于1或2。可选地,第一时钟信号的周期数量与数据信号的周期数量的差值小于预设值。例如,预设值是4或3。在第一时钟信号的周期数量不超出数据信号的周期数量太多时,可以节省用于接收第一时钟信号的功率。
98.在进一步的实施例中,在执行步骤s410时,可以同时发送n个数据信号和第一时钟信号;或者,先发送第一时钟信号,然后在预设周期长度之后发送n个数据信号。
99.例如,在第一时钟信号的周期数量等于或者大于数据信号的周期数量时,可以同时发送对应的数据信号和第一时钟信号。在第一时钟信号的周期数量大于数据信号的周期数量时,可以先发送第一时钟信号,然后再发送数据信号,从而保证第一时钟信号的可以“覆盖”数据信号的所有周期。
100.可选地,第一时钟信号的发送与数据信号的发送相关,例如数据信号的发送决定了第一时钟信号的发送。例如,可以设置第一时钟信号在n个数据信号发送的同时进行发送,从而第一时钟信号的开始位置和n个数据信号中的数据的开始位置对齐。
101.在一些实施例中,数据传输方法还包括:在n个数据信号停止发送时或者停止发送之后,停止发送第一时钟信号。
102.例如,每个数据信号停止发送也可以理解为每个数据信号发送完成,在所有数据信号停止发送时,可以选择将第一时钟信号停止发送,或者让第一时钟信号继续发送几个周期。如此可以既保证第一时钟信号的周期数量大于或等于数据信号的周期数量,还可以停止继续后续不会被用到的时钟周期,即在不发送数据信号的时候停止发送时钟信号,从而可以降低发送时钟信号带来的功耗。
103.本公开至少一个实施例还提供一种芯粒互联接口,被配置为执行如上述第一个方法实施例中任一项的方法。例如,芯粒互联接口中有处理模块,其可以实现如上述方法实施例中的方法。
104.本公开至少一个实施例还提供一种芯粒互联接口,被配置为执行如上述第二个方法实施例中任一项的方法。例如,芯粒互联接口中有处理模块,其可以实现如上述方法实施例中的方法。
105.图5示出了本公开至少一个实施例提供的接收端的示意图。本实施例中的接收端500可以执行参照图3描述的数据传输方法,其执行方式可参见图3的相关描述。
106.在图5中,接收端500包括n个数据端口510、时钟端口520和数据处理模块530。数据处理模块530分别与n个数据端口510连接,以及数据处理模块530与时钟端口520连接。接收端500连接n个数据通路和1个时钟通路,每个数据通路连接到一个数据端口。
107.其中,n个数据端口510对应地接收n个数据信号。n为正整数。n个时钟端口520对应地接收n个第一时钟信号。n个数据信号与第一时钟信号存在对应关系,对应关系为周期数量相差小于或等于预设数量。例如,第一时钟信号的周期数量有限,n个数据信号中的每个数据信号的周期数量小于或等于第一时钟信号的周期数量。数据处理模块530根据n第一时钟信号,定位n个数据信号中的数据的开始位置,并获取n个数据信号中的数据。
108.可选地,接收端还包括:时钟获取模块,与时钟端口及数据处理模块连接,被配置根据将第一时钟信号,获取n个第二时钟信号,并将n个第二时钟信号发送至数据处理模块。
109.在此实现方式中,时钟端口不直接与数据处理模块连接,而是经由时钟获取模块连接到数据处理模块。时钟获取模块可以对第一时钟信号进行扩展或延迟,以得到n个第二时钟信号。在没有时钟获取模块的实现方式中,可以通过电路的设计,对第一时钟信号进行延迟和扩展,例如利用连接线的长度来调整第二时钟信号之间的相位差。
110.进一步可选地,数据处理模块被配置为根据n个第二时钟信号,分别将n个数据信号中的数据从串行数据转换为并行数据。其中,n个第二时钟信号中的每一个第二时钟信号具有与第一时钟信号相同的周期数量。
111.例如在数据处理模块的数量为n时,每个数据处理模块连接1个第二时钟信号,并负责对应的1个数据信号的数据的串并转换。在数据处理模块的数量为1时,数据处理模块可以包括多个处理单元,每个处理单元连接1个第二时钟信号并负责对应的1个数据信号的数据的串并转换。
112.例如,数据处理模块530串并转换器,串并转换器可以将串行数据转换为并行数据。又如,数据处理模块530包括采样器和解复用器,采样器可以根据第二时钟信号对数据信号中的数据进行采样,从而获得数据信号中的数据,然后通过解复用器将采样后的数据变为并行数据。
113.在一些实施例中,接收端还包括:缓冲存储器,与数据处理模块连接,被配置为保存n个数据信号中的数据。例如,缓冲存储器的数量为1个或n个。
114.例如,接收端500还包括n个缓冲存储器540,n个缓冲存储器540在图中用虚线框表示。n个缓冲存储器540分别保存n个数据信号中的数据。
115.在一些实施例中,数据处理模块还被配置为根据n个第二时钟信号,对应地访问n个缓冲存储器的写指针,以保存n个数据信号中的数据。
116.例如,缓冲存储器540是利用访问写指针的方式写入数据,从而可以利用第二时钟信号对写指针进行计数,比如第二时钟信号的每一次上升沿或每一次下降沿使得写指针的取值加1,即指向下一个存储空间。由于第二时钟信号的周期与相应的数据信号的周期对应,从而根据第二时钟信号控制写指针计数,就能够将数据信号中的数据完整的写入n个缓冲存储器540。
117.可选地,n个缓冲存储器540中的每个缓冲存储器为异步fifo存储器。
118.在一些实施例中,接收端还包括:数据读取模块,与缓冲存储器连接,被配置为根据第三时钟信号,从缓冲存储器中读取出n个数据信号中的数据,其中,第三时钟信号为本地时钟信号。
119.例如,接收端500还包括数据读取模块550。数据读取模块550的数量为1。数据读取模块550与n个缓冲存储器540连接。数据读取模块550可以根据第三时钟信号同时从n个缓
冲存储器540中读取出n个数据信号中的数据。需要注意的是数据读取模块550需要等待所有的n个缓冲存储器540都写入数据之后,再进行数据的读取。
120.在一些实施例中,数据读取模块还被配置为根据第三时钟信号,访问缓冲存储器的读指针,以读取n个数据信号中的数据。
121.例如,数据读取模块550可以根据第三时钟信号,同时访问n个缓冲存储器540各自的读指针。例如,根据第三时钟信号中的每个周期内的上升沿或下降沿对n个缓冲存储器540的读指针进行访问以及计数,从而同时读取出n个数据信号中的数据。
122.在一些实施例中,数据读取模块还被配置为在从缓冲存储器中读取到至少一个空数据之后,停止对缓冲存储器的数据读取。
123.例如,数据读取模块550被配置为从n个缓冲存储器540读取到空数据之后,就确定数据已经全部读取,从而停止对n个缓冲存储器540的数据读取。例如,数据读取模块550是根据本地时钟信号来读取n个缓冲存储器540中的数据,由于本地时钟信号一直存在,因此数据读取模块550需要通过空数据来确定数据是否全部读取成功。又如,数据读取模块550是根据第一时钟信号或第二时钟信号读取n个缓冲存储器540中的数据,第一时钟信号和第二时钟信号的有效时钟周期长度有限,从而可以在经历全部有效时钟周期之后,自动停止对n个缓冲存储器540的数据读取。
124.在一些实施例中,接收端还包括:本地时钟,被配置为生成本地时钟信号。
125.图6示出了本公开至少一个实施例提供的发送端的示意图。图6中的发送端600可以执行如图4所示的方法,执行方式可参见图4的相关描述。
126.在图6中,发送端600包括n个数据端口610、时钟端口620和本地时钟630。n个数据端口610对应地发送n个数据信号,n为正整数。时钟端口620发送第一时钟信号。本地时钟630生成第一时钟信号。本地时钟630连接到时钟端口620和n个数据端口610。其中,n个数据信号与第一时钟信号存在对应关系,对应关系为周期数量相差小于或等于预设数量,例如第一时钟信号的周期数量有限,n个数据信号中的每个数据信号的周期数量小于或等于第一时钟信号的周期数量。并且第一时钟信号用于定位n个数据信号中的数据的开始位置并获取n个数据信号中的数据。可选地,本地时钟630可以是锁相环。
127.在一些实施例中,n个数据信号的周期数量为m,n个第一时钟信号的周期数量为m+x,m为大于或等于2的整数,x为大于或等于0的整数。
128.在一些实施例中,n个数据端口和时钟端口被配置为同时发送n个数据信号中的一个数据信号和对应的一个第一时钟信号;或者,时钟端口被配置为先发送第一时钟信号,n个数据端口被配置为在第一时钟信号发送后的预设周期之后发送n个数据信号。
129.可以选择不同的发送方式。例如,在数据信号和第一时钟信号的周期数量相等时,必须要同时发送。第一时钟信号的周期数量大于数据信号的周期数量时,可以同时发送第一时钟信号和数据信号,也可以先发送第一时钟信号再发送数据信号。需要注意的是,由于第一时钟信号会被用于对数据信号中的数据进行定位,从而先发送第一时钟信号的情况下,需要确定发送第一时钟信号和发送数据信号之间的周期差或者相位差,从而保证接收端可以利用第一时钟信号来实现数据的定位。
130.在一些实施列中,芯粒互联接口还包括:时钟开关,与本地时钟连接以及与时钟端口连接,被配置为在n个数据信号停止发送时或者停止发送的一个周期之后,断开本地时钟
与时钟端口的连接。可选地,时钟开关还可以在n个数据信号停止发送后的2个周期或等多个周期之后,断开本地时钟与时钟端口的连接。可选地,时钟开关还可以控制第一时钟信号的发送,例如本地时钟输出的是一直存在的时钟信号,由时钟开关来决定是否发送第一时钟信号、何时发送第一时钟信号以及何时停止发送第一时钟信号。
131.例如,图6中用虚线框示出的时钟开关640。时钟开关640和本地时钟630连接,时钟开关640还连接到时钟端口620。时钟开关640可以控制时钟端口620的第一时钟信号的发送或停止发送。
132.可选地,n个时钟开关640可以用时钟门控电路或开关来实现。
133.图7a示出了本公开至少一个实施例提供的时钟开关的结构示意图。
134.图7a中时钟开关700为基于锁存器的时钟门控电路。时钟开关700包括锁存器701和与门702。锁存器701的输入为时钟的使能信号clken和时钟信号clock,与门702的输入为时钟信号clock和锁存器701的输出。时钟开关700可以关断时钟的使能信号clken低无效时的时钟信号,即第一时钟信号是时钟的使能信号clken高有效时的几个时钟周期。
135.图7b示出了本公开至少一个实施例提供的第一时钟信号和数据信号的示意图。
136.图7b示出的是不使用时钟开关时的数据信号和第一时钟信号的示意图。图7b中的clock为时钟信号,data为数据信号。图7b中的数据信号携带4个有效数据,分别是d1、d2、d3和d4,其余斜线部分为无效数据。图7b中的第一时钟信号则是持续存在的。
137.图7c示出了本公开至少一个实施例提供的第一时钟信号和数据信号的有一种示意图。
138.图7c示出的是使用时钟开关时的数据信号和第一时钟信号的示意图。图7c中的clken为时钟的使能信号,clock为时钟信号,data为数据信号。图7c中的数据信号携带4个有效数据,分别是d1、d2、d3和d4,其余斜线部分为无效数据。图7b中的第一时钟信号与有效数据对应存在。
139.本公开至少一个实施例还提供一种芯片,包括多个芯粒,其中,多个芯粒中的任意两个芯粒通过如上述第一装置实施例中任一项的芯粒互联接口和如上述第二装置实施例中任一项的芯粒互联接口连接。
140.本公开至少一个实施例还提供一种芯片,包括多个芯粒,其中,多个芯粒中的任意两个芯粒通过如上述第三装置实施例中任一项的芯粒互联接口和如上述第四装置实施例中任一项的芯粒互联接口连接。
141.图8示出了本公开至少一个实施例提供的芯片的示意图。
142.在图8中,芯片800包括芯粒810和芯粒820。芯粒810为发送侧,芯粒820位接收侧。图8中仅示出芯粒810和芯粒820的芯粒互联接口部分。芯粒810包括串并转换器811、锁相环812、时钟门控813、数据端口814和时钟端口815。芯粒820包括串并转换器821、本地时钟822、数据端口823、时钟端口824和异步fifo存储器825。
143.数据端口814和数据端口823通过数据通路连接。时钟端口815和时钟端口824通过时钟通路连接。图8中仅示出一个数据端口作为示意,可以理解地,实际设计包括至少一个数据端口。
144.串并转换器811接收并行数据并转换为串行数据,串并转换器821则将串行数据转化为并行数据。锁相环812的输入是时钟信号clock,可以输出时钟信号到时钟门控813和串
并转换器811(图中仅示出输出1个时钟信号)。时钟门控813的另一个输入是时钟的使能信号clken。
145.时钟端口824将接收到的时钟信号发送至串并转换器821,串并转换器821将1个时钟信号输入异步fifo存储器825,该时钟信号控制异步fifo存储器825的写指针计数。本地时钟822将另一个时钟信号输入异步fifo存储器825,该时钟信号控制异步fifo存储器825的读指针计数。
146.可选地,芯粒820可以包括多个串并转换器821和多个异步fifo存储器825。芯粒820还可以包括时钟获取模块,与时钟端口824以及多个串并转换器821连接。时钟获取模块可以将从时钟端口824接收到1个时钟信号扩展为多个时钟信号,多个时钟信号对应输入多个串并转换器821。对应的,多个异步fifo 825连接到多个串并转换器821,每个串并转换器821将1个时钟信号输入对应的1个异步fifo存储器825。本地时钟822连接多个异步fifo存储器825,并向多个异步fifo存储器825提供本地时钟信号。
147.图9示出了本公开至少一个实施例提供的芯粒互联后的数据传输方法的时序图。
148.图9中的芯粒互联可采用如图8所示的互联方式。在图9中,lane表示来自数据通路的控制信号,fifo表示缓冲存储器的控制信号。laney_gated_clock表示数据通路y的第一时钟信号,y为0-n。laney_wrpt表示对缓冲存储器的写指针信号。fifo_read_clock为第二时钟信号,其为持续存在的时钟信号。fifo_rdpt为缓冲存储器读指针信号。fifo_read为读使能信号。fifo_read_sync为缓冲存储器的同步读信号。fifo_valid为缓冲存储器的有效信号。
149.每个lane的第一时钟信号和读指针信号是对应的,其表示在有第一时钟信号的上升沿或下降沿时将数据信号中的数据写入缓冲存储器。当所有的缓冲存储器都有数据写入之后,每个缓冲存储器的读指针和写指针的取值不相等,此时读使能信号fifo_read被拉高变为有效。然后将读使能信号fifo_read同步到fifo_read_clock信号,并在下一个周期开始读出数据(下一个周期时fifo_valid变成高有效)。图中的指针信号的取值0、1、2和3为表示指针的取值,其读取的是对应取值的数据。例如,fifo_rdpt的取值为0,其读取的是laney_wrpt取值为0对应的数据。因此,fifo_rdpt的取值为1至3时,对应读取每个lane中写指针取值1至3位置的数据。
150.在发送端停止发送数据信号之后,laney_gated_clock被关闭或断开,由于fifo_read_clock还有效,会继续读取数据,但读取到的是空数据。只要读取到空数据,读使能信号就会拉低变为无效,等待下一次数据信号的传输。
151.本公开至少一个实施例提供一种电子设备,包括如上述实施例中的芯片。
152.图10示出了本公开至少一个实施例提供的电子设备的示意图。
153.电子设备1000包括芯片1001。芯片1001例如是图8所示的芯片800。电子设备1000可以为任意的具有计算功能的设备,例如为计算机、服务器、智能手机、平板电脑等,本公开的实施例对此不作限制。
154.以上结合具体实施例描述了本技术的基本原理,但是,需要指出的是,在本技术中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本技术的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本技术为必须采用上述具体的细节来实现。
155.值得注意的,本技术中的步骤流程图以及以上方法描述仅作为例示性的例子并且不旨在于要求或暗示必须按照给出的顺序进行各个实施例的步骤,某些步骤可以并行、彼此独立或按照其他适当的顺序执行。另外,诸如“其次”、“然后”、“接下来”等等的词语不旨在于限制步骤的顺序;这些词语仅用于引导读者通读这些方法的描述。
156.本技术中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。还需要指出的是,在本技术的装置和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本技术的等效方案。
157.有以下几点需要说明:(1)本公开实施例附图只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。(2)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。以上所述仅是本公开的示范性实施方式,而非用于限制本公开的保护范围,本公开的保护范围由所附的权利要求确定。
技术特征:
1.一种数据传输方法,应用于接收端,包括:接收n个数据信号和第一时钟信号,所述第一时钟信号的周期数量有限,所述n个数据信号中的每个数据信号的周期数量小于或等于所述第一时钟信号的周期数量,n为正整数;根据所述第一时钟信号,定位所述n个数据信号中的数据的开始位置,并获取所述n个数据信号中的数据。2.根据权利要求1所述的方法,其中,所述根据所述第一时钟信号,定位所述n个数据信号中的数据的开始位置,并获取所述n个数据信号中的数据,包括:根据所述第一时钟信号,获取n个第二时钟信号,所述n个第二时钟信号分别对应于所述n个数据信号;根据所述n个第二时钟信号,分别定位所述n个数据信号中的每个数据信号的数据的开始位置,并分别将所述n个数据信号中的数据从串行数据转换为并行数据;其中,所述n个第二时钟信号中的每一个第二时钟信号具有与所述第一时钟信号相同的周期数量。3.根据权利要求2所述的方法,其中,在获取所述n个数据信号中的数据之后,所述方法还包括:根据所述n个第二时钟信号,对应地将所述n个数据信号中的数据保存到缓冲存储器。4.根据权利要求3所述的方法,其中,所述方法还包括:根据第三时钟信号,从所述缓冲存储器中读取所述n个数据信号中的数据,其中,所述第三时钟信号为所述接收端的本地时钟信号。5.根据权利要求4所述的方法,其中,所述根据第三时钟信号,从所述缓冲存储器中读取所述数据信号中的数据,包括:根据所述第三时钟信号,访问所述缓冲存储器的读指针,以读取所述n个数据信号中的数据。6.根据权利要求3所述的方法,其中,根据所述n个第二时钟信号,对应地将所述n个数据信号中的数据保存到缓冲存储器,包括:根据所述n个第二时钟信号,分别访问所述缓冲存储器的写指针,以将所述n个数据信号中的数据保存到所述缓冲存储器。7.根据权利要求5所述的方法,其中,所述方法还包括:在从所述缓冲存储器中读取到至少一个空数据之后,停止对所述缓冲存储器的读取。8.根据权利要求1所述的方法,其中,所述n个数据信号中的每个数据信号的周期数量为m,所述第一时钟信号的周期数量为m+x,m为大于或等于2的整数,x为大于或等于0的整数。9.一种数据传输方法,应用于发送端,包括:发送n个数据信号和第一时钟信号,其中,n为正整数,所述第一时钟信号的周期数量有限,所述n个数据信号中的每个数据信号的周期数量小于或等于所述第一时钟信号的周期数量,并且所述第一时钟信号用于定位所述n个数据信号中的数据的开始位置并获取所述n个数据信号中的数据。10.根据权利要求9所述的方法,其中,所述发送所述n个数据信号和所述第一时钟信号,包括:
同时发送所述n个数据信号和所述第一时钟信号;或者,先发送所述第一时钟信号,然后在预设周期之后发送所述n个数据信号。11.根据权利要求9所述的方法,其中,所述方法还包括:在所述n个数据信号停止发送时或者停止发送之后,停止发送所述第一时钟信号。12.根据权利要求9所述的方法,其中,所述n个数据信号中的每个数据信号的周期数量为m,所述第一时钟信号的周期数量为m+x,m为大于或等于2的整数,x为大于或等于0的整数。13.一种接收端,应用于芯粒互联接口,包括:n个数据端口,被配置为接收n个数据信号,n为正整数;时钟端口,被配置为接收第一时钟信号,所述第一时钟信号的周期数量有限,所述n个数据信号中的每个数据信号的周期数量小于或等于所述第一时钟信号的周期数量;数据处理模块,与所述n个数据端口及所述时钟端口连接,被配置为根据所述第一时钟信号,定位所述n个数据信号中的数据的开始位置,并获取所述n个数据信号中的数据。14.根据权利要求13所述的接收端,其中,所述接收端还包括:时钟获取模块,与所述时钟端口及所述数据处理模块连接,被配置根据将所述第一时钟信号,获取n个第二时钟信号,并将所述n个第二时钟信号发送至所述数据处理模块;所述数据处理模块被配置为根据所述n个第二时钟信号,分别将所述n个数据信号中的数据从串行数据转换为并行数据;其中,所述n个第二时钟信号中的每一个第二时钟信号具有与所述第一时钟信号相同的周期数量。15.根据权利要求14所述的接收端,其中,所述接收端还包括:缓冲存储器,与所述数据处理模块连接,被配置为保存所述n个数据信号中的数据。16.根据权利要求15所述的接收端,其中,所述数据处理模块还被配置为根据所述n个第二时钟信号,分别访问所述缓冲存储器的写指针,以将所述n个数据信号中的数据保存到所述缓冲存储器。17.根据权利要求15所述的接收端,其中,所述接收端还包括:数据读取模块,与所述缓冲存储器连接,被配置为根据第三时钟信号从所述缓冲存储器中读取出所述n个数据信号中的数据,其中,所述第三时钟信号为所述接收端的本地时钟信号。18.根据权利要求17所述的接收端,其中,所述数据读取模块还被配置为根据所述第三时钟信号,访问所述缓冲存储器的读指针,以读取所述n个数据信号中的数据。19.根据权利要求17所述的接收端,其中,所述数据读取模块还被配置为在从所述缓冲存储器中读取到至少一个空数据之后,停止对所述缓冲存储器的数据读取。20.根据权利要求15所述的接收端,其中,所述缓冲存储器为异步fifo存储器。21.根据权利要求13所述的接收端,其中,所述接收端还包括:本地时钟,被配置为生成本地时钟信号。22.根据权利要求13所述的接收端,其中,所述n个数据信号中的的每个数据信号的周期数量为m,所述第一时钟信号的周期数量为m+x,m为大于或等于2的整数,x为大于或等于0的整数。
23.一种发送端,应用于芯粒互联接口,包括:n个数据端口,被配置为对应地发送n个数据信号,n为正整数;时钟端口,被配置为发送第一时钟信号;本地时钟,与所述时钟端口及所述n个数据端口连接,被配置为生成所述第一时钟信号;其中,所述第一时钟信号的周期数量有限,所述n个数据信号中的每个数据信号的周期数量小于或等于所述第一时钟信号的周期数量,并且所述第一时钟信号用于定位所述n个数据信号中的数据的开始位置并获取所述n个数据信号中的数据。24.根据权利要求23所述的发送端,其中,所述n个数据端口和所述时钟端口被配置为同时发送所述n个数据信号和所述第一时钟信号;或者,所述时钟端口被配置为先发送所述第一时钟信号,所述n个数据端口被配置为在所述第一时钟信号发送后的预设周期之后发送所述n个数据信号。25.根据权利要求23所述的发送端,其中,所述发送端还包括:时钟开关,与所述本地时钟连接以及与所述时钟端口连接,被配置为在所述n个数据信号停止发送时或者停止发送的一个周期之后,断开所述本地时钟与所述时钟端口的连接。26.根据权利要求23所述的发送端,其中,所述n个数据信号的每个数据信号的周期数量为m,所述第一时钟信号的周期数量为m+x,m为大于或等于2的整数,x为大于或等于0的整数。27.一种芯粒互联接口,包括如权利要求13-22中任一项所述的接收端。28.一种芯粒互联接口,包括如权利要求23-26中任一项所述的发送端。29.一种芯片,包括多个芯粒,其中,所述多个芯粒中的任意两个芯粒通过如权利要求27所述的芯粒互联接口和如权利要求28所述的芯粒互联接口连接。30.一种电子设备,包括如权利要求29所述的芯片。
技术总结
本公开的实施例提供用于芯粒互联接口的数据传输方法及芯粒互联接口。数据传输方法应用于接收端,该方法包括:接收N个数据信号和第一时钟信号,第一时钟信号的周期数量有限,N个数据信号中的每个数据信号的周期数量小于或等于第一时钟信号的周期数量,N为正整数;根据第一时钟信号,定位N个数据信号中的数据的开始位置,并获取N个数据信号中的数据。采用本实施例所提供的方法,接收端使用第一时钟信号来获取数据信号中的数据,而不是使用有效标志位,从而无需预先进行时钟到数据对齐训练,并且还能够实时对齐。且还能够实时对齐。且还能够实时对齐。
技术研发人员:梁岩
受保护的技术使用者:海光信息技术股份有限公司
技术研发日:2023.06.30
技术公布日:2023/9/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种环五肽纳米制剂及其制备方法和应用 下一篇:一种高精度航天涡轮抛光设备