CN113626364A - 一种高速串行接口以及用于高速串行接口的转换电路 - Google Patents
一种高速串行接口以及用于高速串行接口的转换电路 Download PDFInfo
- Publication number
- CN113626364A CN113626364A CN202110739182.4A CN202110739182A CN113626364A CN 113626364 A CN113626364 A CN 113626364A CN 202110739182 A CN202110739182 A CN 202110739182A CN 113626364 A CN113626364 A CN 113626364A
- Authority
- CN
- China
- Prior art keywords
- port
- data
- physical
- line
- physical line
- 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
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 63
- 238000000034 method Methods 0.000 claims abstract description 30
- 238000012545 processing Methods 0.000 claims abstract description 27
- 238000013075 data extraction Methods 0.000 claims description 10
- 238000013507 mapping Methods 0.000 claims description 10
- 238000003672 processing method Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 8
- 238000011084 recovery Methods 0.000 claims description 8
- 230000036961 partial effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 24
- 230000008569 process Effects 0.000 description 15
- 230000002441 reversible effect Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 239000002904 solvent Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Logic Circuits (AREA)
- Information Transfer Systems (AREA)
Abstract
本申请实施例提供一种高速串行接口以及用于高速串行接口的转换电路,应用于串行接口设备,所述转换电路包括:多个端口数据获取模块,其中,每个端口数据获取模块被配置为:与所述设备的一个端口对应设置,根据本端口的端口配置信息从通过N条物理线路接收的物理线路数据中获取所述本端口的逻辑线路数据;以及逻辑处理模块,被配置为:将通过M个端口数据获取模块得到的M个逻辑线路数据进行逻辑操作,以获得N条逻辑线路中各逻辑线路的接收数据。通过本申请的一些实施例能够实现物理线路到内部逻辑线路的转换从而实现了各端口包括的物理线路可配置,支持端口数量的灵活配置。
Description
技术领域
本申请涉及高速串行接口领域,具体而言本申请实施例涉及一种高速 串行接口以及用于高速串行接口的转换电路。
背景技术
随着大数据时代的到来,高性能计算、数据存储、服务器以及PC等均 对数据带宽的要求越来越高,且设备间的互联也越来越多。高速串行接口 成为当前主要采用的高速且高宽带的互联接口,其中,高速串行接口可以 根据带宽的需求实现与一台设备的多物理线路连接,且可以根据连接设备 的数量支持多端口(每一端口连接一台设备)。
如图1所示,第一设备21有8条物理线路(physical lane),分别是第 零物理线路(或称为physical lane0)直至第七物理线路(或称为physical lane7),且第一设备21有三个端口(port),分别是端口A(或称为portA)、 端口B(或称为portB)以及端口C(portC)。在图1中,第一设备21通过 portA与第二设备20连接,第一设备21通过portB与第三设备30连接,第 一设备21通过portC与第四设备40连接,其中,图1的第一设备通过端口 A向第二设备的后续处理模块31、通过端口B向第二设备的后续处理模块 32并通过端口C向第二设备的后续处理模块33传输数据以便数据的后续 处理。
图1的第一设备21只有固定3个端口,不能实现从1个端口到3个端 口的灵活配置,且图1的端口A(portA)被配置为固定4条物理线路(只 有physical lane0-physical lane3对应portA),不能实现从1条物理线路到多 条物理线路灵活的配置,不能实现任意连续的多个物理线路对应portA。例 如,利用配置实现physical lane4-physical5对应portA。可以理解的是,相 关技术方案中第一设备21的端口数量固定,每个端口和物理线路的对应关系固定、且每个端口对应的物理线路数量固定。因此不能灵活配置端口和 各端口与物理线路之间的映射关系,也不能在不同配置下实现物理线路的 翻转。
因此如何提升端口或者端口物理线路配置的灵活性以提升设备之间互 连的灵活性成了亟待解决的技术问题。
发明内容
本申请实施例的目的在于提供一种高速串行接口以及用于高速串行接 口的转换电路,通过本申请的一些实施例能够实现物理线路到内部逻辑线 路的转换从而实现了各端口包括的物理线路可配置(例如,图1的端口A 可以与任意物理线路对应),支持端口数量的灵活配置(例如,图1第一设 备的多个端口可以被配置为一个,两个或者三个)、端口宽度(例如,图1 的端口A可以被配置为包括八条物理线路)的灵活配置、以及物理线路与 端口对应关系的灵活配置,并且在不同配置下支持各端口的物理线路翻转 以及全物理线路翻转,实现同一设备和不同设备的互联,使系统设计更加 灵活方便,布线更加容易实现。
第一方面,本申请的一些实施例提供一种用于高速串行接口的转换电 路,应用于具有串行接口的设备,所述转换电路包括:多个端口数据获取 模块,其中,每个端口数据获取模块被配置为:与所述设备的一个端口对 应设置,根据本端口的端口配置信息从通过所述设备的N条物理线路接收 的物理线路数据中获取所述本端口的逻辑线路数据;其中,所述端口配置 信息至少用于表征所述本端口包括的物理线路和逻辑线路;以及逻辑处理 模块,被配置为:将通过M个端口数据获取模块得到的M个逻辑线路数据 进行逻辑操作,以获得N条逻辑线路中各逻辑线路的接收数据。
本申请的一些实施例通过转换电路实现物理线路数据向逻辑线路数据 转换,方便各端口数据的后续处理,进而实现第一设备的端口数量动态配 置。例如,通过为各端口分配的端口配置信息实现第一设备包括的端口可 动态配置。
第二方面,本申请的一些实施例提供一种高速串行接口,所述高速串 行接口包括:如第一方面所述的转换电路以及解串器,其中,所述解串器 被配置为将通过N条串行物理线路接收的数据转换为N条并行数据,并将 所述N条并行数据输入所述转换电路,其中,所述N条并行数据是与N条 物理线路对应的物理线路数据。
第三方面,本申请的一些实施例提供一种数据处理方法,应用于具有 串行的设备,所述设备能够提供N条物理线路,所述数据处理方法包括: 将通过所述设备的N条物理线路接收的串行数据分别进行并行转换,得到 N条物理线路的接收数据;将所述N条物理线路的接收数据转换为各逻辑 线路的接收数据,其中,所述各逻辑线路的接收数据按顺序分别属于所述 第一设备的至少一个端口,所述至少一个端口的具体数目是通过配置信息 确定的,且同属于一个端口的不同逻辑线路编号小的为先接收到的数据。
第四方面,本申请的一些实施例提供一种计算机存储介质,其上存储 有计算机程序,所述程序被处理器执行时可实现上述第三方面所述的方法。
第五方面,本申请的一些实施例提供一种电子设备,包括存储器、处 理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其 中,所述处理器执行所述程序时可实现上述第三方面所述的方法。
第六方面,本申请提供一种计算机程序产品,所述计算机程序产品在 计算机上运行时,使得计算机执行第三方面的任意可能的实现方式中的方 法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例 中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请 的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人 员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相 关的附图。
图1为相关技术中设备之间通过高速串行接口互连的示意图;
图2为本申请实施例提供的设备之间通过高速串行接口互连的示意图;
图3为本申请实施例提供的转换电路结果示意图之一;
图4为本申请实施例提供的转换电路的组成框图之二;
图5为本申请实施例提供的任意端口数据获取电路的组成框图;
图6为本申请实施例提供的多级物理/逻辑线路配置子模块的组成框 图;
图7为本申请实施例提供的N条物理线路配置子模块的组成框图;
图8为本申请实施例提供的部分物理线路配置子模块的结构框图;
图9为本申请实施例提供接收端的转换电路的组成框图之二;
图10-图12为本申请实施例提供的示例一的端口A、端口B以及端口 C的输出数据示意图;
图13为本申请实施例提供的物理线路向逻辑线路转换后的端口对应关 系示意图;
图14为本申请实施例提供的端口A的数据获取电路的组成框图;
图15为本申请实施例提供的X16_DATA模块利用长掩码提取长度为 521位数据的示意图;
图16为本申请实施例提供的X8_DATA模块组成框图;
图17为本申请实施例提供的示例二中获得data_out_shift_x8[255:0]数 据的过程示意图;
图18为本申请实施例提供的示例二中选通data_out_x8得到数据data_to_mask的过程;
图19-图21为本申请实施例提供的示例二利用端口A的逻辑线路掩码 得到对应端口的逻辑线路数据的过程示意图;
图22为本申请实施例提供的高速串行接口的组成框图;
图23为本申请实施例提供的数据处理方法的流程图;
图24为本申请实施例提供的电子设备的组成框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进 行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一 旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步 定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分 描述,而不能理解为指示或暗示相对重要性。
缩略语和关键术语定义:
PC:个人电脑。
Port:端口,每个端口与一个设备连接。
Lane:线路。
Physical lane:物理线路(通道)。例如,一对差分信号组成一个Physical Lane,也叫做x1通道。把n组绑定在一起,可以让PCIe设备大幅提高传 输带宽。
Logical lane:逻辑线路。
经过背景技术部分的分析可知,相关技术的高速串行接口存在端口数 量不可配置,各端口包括的物理线路不可配置等问题导致现有设备之间互 联受限,且布线混乱。至少通过本申请的一些实施例可以在采用高速串行 接口的设备的接收端实现物理线路到该设备内部的逻辑线路的转换,进而 可以实现该设备的端口数量的灵活配置、各端口宽度的灵活配置、以及物 理线路与端口对应关系的灵活配置。在本申请的另一些实施例中,还可以 在不同配置下支持各端口的物理线路翻转以及所有端口的全线路翻转,实 现同一设备和不同设备的互联,使系统设计更加灵活方便,布线更加容易 实现。
请参看图2,图2为本申请一些实施例的用于高速串行接口的转换电路 100的设置位置示意图。与图1不同的是,图2在第一设备21中设置了转 换电路100。在本申请的一些实施例,图2的转换电路100可以将通过第一 设备的多条物理线路接收的来自于被连接设备(一个或多个被连接设备) 上的数据转换为各条逻辑线路上的接收数据,方便采用第一设备或者其他 设备上设置的后续处理模块对这些数据进行处理。例如,图2通过端口A 将相应逻辑线路上的数据发送至第二设备的后续处理模块31进行进一步数 据处理,通过端口B将相应逻辑线路上的数据发送至第二设备的后续处理 模块32进行进一步数据处理,并通过端口C将相应逻辑线路上的数据发送 至第二设备的后续处理模块33进行进一步数据处理。
在本申请的一些实施例中,图2中第一设备为接收端,该接收端的转 换电路100将与第二设备20依次连接的第四物理线路、第五物理线路、第 六物理线路以及第七物理线路上的接收数据分别映射为第零逻辑线路、第 一逻辑线路、第二逻辑线路以及第三逻辑线路上的接收数据,进而可以通 过端口A来采用第二设备的后续处理模块31对这些接收数据进行进一步处 理。在图2中转换电路100将与第三设备30依次连接的第零物理线路、第 一物理线路接收数据分别映射为第四逻辑线路、第五辑线路上的接收数据, 进而可以通过端口B来采用第三设备的后续处理模块32对这些接收数据进 行进一步处理。在图2中转换电路100将与第四设备40依次连接的第六物 理线路、第七物理线路接收数据分别映射为第六逻辑线路、第七辑线路上 的接收数据,进而可以通过端口C来采用第四设备的后续处理模块33对这 些接收数据进行进一步处理。
可以理解的是,正是通过本申请一些实施例提供的转换电路100使得 图2的第二设备20、第三设备30等设备可以和第一设备21的任意端口连 接,且可以与任意端口的任意连续多条物理线路连接,实现了第一设备的 端口数目可配置、各端口带宽可配置。
需要说明的是,图1或图2中的第一设备21可以包括主板上的各种配 件,例如,主板上的CPU或者其他芯片等,第一设备为主板上的CPU时, 该CPU能够提供多个端口与多个设备连接(一个端口与一个设备连接)且 该CPU能提供N条串行的物理线路与其他的设备连接。图1或图2中的第 二设备20或者第三设备等可以包括显卡等设备,例如,图1或图2的显卡 等设备可以通过插槽与CPU提供的物理线路实现连接。本申请的实施例并 不对设备的具体类型进行限制。
下面示例性阐述转换电路100的结构。
如图3所示,转换电路100包括:多个端口数据获取模块(例如,图3 的设备能够提供M个端口,图3的转换电路包括:第一端口数据获取模块 101、第二端口数据获取模块102、第三端口数据获取模块103……直至第 M端口数据获取模块10M)以及逻辑处理模块120。需要说明的是,M为 大于1的整数。
图3的各个端口数据获取模块与该设备的一个端口对应设置,且图3 的各端口数据获取模块被配置为根据本端口的端口配置信息从通过所述设 备的N条物理线路接收的物理线路数据中获取本端口的逻辑线路数据;其 中,端口配置信息至少用于表征所述本端口包括的物理线路和逻辑线路。 需要说明的是,通过各端口的端口配置信息可以实现该端口的物理线路数 据映射至逻辑线路数据。
在本申请的一些实施例中,图3的第一端口数据获取模块101被配置 为根据第一端口的端口配置信息,从通过N条物理线路接收的来自于其它 设备的接收数据(即图3的Y_lane_0[(K-1),0]、Y_lane_1[(K-1),0]……直 至Y_lane_(N-1)[(K-1),0])中获取第一端口的逻辑线路数据。
在本申请的一些实施例中,图3的第二端口数据获取模块102被配置 为根据第二端口的端口配置信息,从通过N条物理线路接收的来自于其它 设备的接收数据中获取第二端口的逻辑线路数据。
在本申请的一些实施例中,图3的第三端口数据获取模块101被配置 为根据第三端口的端口配置信息,从通过N条物理线路接收的来自于其它 设备的接收数据中获取第三端口的逻辑线路数据。
在本申请的一些实施例中,图3的第M端口数据获取模块101被配置 为根据第M端口的端口配置信息,从通过N条物理线路接收的来自于其它 设备的接收数据中获取第M端口的逻辑线路数据。
需要说明的是,本申请实施例仅以第一端口数据获取模块101、第二端 口数据获取模块102、第三端口数据获取模块103以及第M端口数据获取 模块为例进行了示例性阐述,为避免重复不对其他端口数据获取模块进行 赘述。
为了实现全线路翻转,在本申请的一些实施例中转换电路100还包括 全翻转控制模块300,如图4所示。
下面结合图4示例性阐述任一设备包括的转换电路100的结构,该设 备最多可以提供M个端口(M为大于1的整数)、N条物理线路,且每条 物理线路传输K比特数据。
如图4所示,在本申请的一些实施例中,转换电路100包括物理线路 逻辑线路转换模块210(该模块的具体结构如图3所示)和全翻转控制模块 300。
物理线路逻辑线路转换模块210被配置为:通过各端口配置信息(即 图4的第一端口配置信息、第二端口配置信息、第三端口配置信息……直 至第M端口配置信息),从通过N条物理线路接收的来自于其它设备的接 收数据(即图3的Y_lane_0[(K-1),0]、Y_lane_1[(K-1),0]……直至 Y_lane_(N-2)[(K-1),0])、Y_lane_(N-1)[(K-1),0])转换为各条逻辑线路上的 接收数据(即图3的X_lane_0[(K-1),0]、X_lane_1[(K-1),0]……直至X_lane_(N-2)[(K-1),0]、X_lane_(N-1)[(K-1),0])。之后,逻辑线路上的接收数据 会被发往相应的后续处理设备进行进一步处理或者存储。
需要说明的是,图4的全翻转控制模块300框中的虚线表示执行全翻 转操作的结果,即将第零逻辑线路X_lane_0的发送数据作为Z_lane_(N-1) 上的发送数据,将第一逻辑线路X_lane_1上的数据作为Z_lane_(N-2)线 路上的数据,以此类推为避免重复对此不作过多赘述。
也就是说,在本申请的一些实施例中,转换电路100还包括:全翻转 控制模块300,该全翻转控制模块300被配置为将通过N条物理线路接收 的物理线路数据进行翻转操作,得到N条物理线路的翻转数据(即对应图 4和图5的Z_lane_0[(K-1),0]、Z_lane_1[(K-1),0]、Z_lane_(N-2)[(K-1),0] 以及Z_lane_(N-1)[(K-1),0])。之后再将N条物理线路的翻转数据对应替 换图3的Y_lane_0[(K-1),0]、Y_lane_1[(K-1),0]……直至Y_lane_(N-2)[(K-1),0]、Ylane_(N-1)[(K-1),0]。
下面结合图5-图8以图3的第一端口数据获取模块为例示例性阐述本 申请一些实施例的任一端口的端口数据获取模块的结构。
如图5所示,与第一端口(该第一算口是具有串行接口的设备包括的 多个端口中的任一个端口)对应设置的第一端口数据获取模块101包括: 多个物理线路配置子模块1011、选择器1012以及逻辑线路映射模块1013。
图5的物理线路配置子模块1011被配置为根据第一端口配置信息获取 各种配置条件下的候选输出数据,得到多路候选输出数据(即对应图5的 第一路候选输出数据、第二路候选输出数据、……,第(H-1)路候选输出 数据以及第H路候选输出数据,其中,H为第一端口可以被配置的物理线 路组合数),其中,不同配置条件是根据为所述第一端口配置的物理线路的 数目进行区分的,多种配置条件中的每一种配置条件均对应一路候选输出 数据。需要说明的是,在一些实施例中,图5的多个物理线路配置子模块 1011对输入的全翻转后的N条物理线路的翻转数据(即Z_lane_0[(K-1),0]、 Z_lane_1[(K-1),0]、Z_lane_14[(K-1),0]以及Z_lane_15[(K-1),0])中提取多 路候选输出数据。
图5的选择器被配置为根据第一端口配置信息从所述多路候选输出数 据中选择目标路输出数据。
图5的逻辑线路映射模块被配置为根据第一端口配置信息去除选择器 得到的目标路输出数据包括的无效数据,得到对应于第一端口的逻辑线路 数据(即图5的第一端口的逻辑线路数据)或者物理线路发送数据。
如图5所示,在本申请的一些实施例中,第一端口可配置的物理线路 数目共H种,第一端口配置信息包括:第一端口物理线路掩码(例如,图 5的mask_A[15:0])、第一端口起始物理线路偏移量(例如,图5的Shift_A[15:0])、 第一端口端口宽度(例如,图5的Width_A[2:0])以及第一端口逻辑线路掩 码(例如,图5的Out_mask_A[15:0])。需要说明的是,第一端口物理线路掩 码用于表征该第一端口包括的物理线路(例如,图5的物理线路掩码表征该设备可提供16条物理线路,对应到的mask_A[15:0]为16比特的数据,且 该数据中每一位表征对应的物理线路是否属于该端口),第一端口逻辑线路 掩码用于表征该第一端口包括的逻辑线路(例如,图5的逻辑线路掩码表 征该设备可提供16条逻辑线路,对应到的Out_mask_A[15:0]为16比特的数 据,且该数据中每一位表征对应的逻辑线路是否属于该端口),第一端口端 口宽度(例如,图5的Width_A[2:0]表征采用三位比特位表征第一端口可配 置的物理线路数目)用于表征为该第一端口配置的物理线路的具体数目, 第一端口起始物理线路偏移量用于表征该端口包括的起始物理线路的偏移 量(例如,图5的Shift_A[15:0]采用16位比特位表征偏移量)。
相应的,图5的多个物理线路配置子模块被配置为根据第一端口物理 线路掩码和第一端口起始物理线路偏移量获取所述各种配置条件下的候选 输出数据(即对应图5的第一路候选输出数据、第二路候选输出数据、……, 第(H-1)路候选输出数据以及第H路候选输出数据)。图5的选择器被配 置为根据第一端口端口宽度从所述多路候选输出数据中选择所述目标路输 出数据。图5的逻辑线路映射模块被配置为根据第一端口逻辑线路掩码去除目标路输出数据包括的无效数据,得到对应于所述第一端口的逻辑线路 数据。
需要说明的是,图5的mask_A[15:0]中的“[15:0]”表征该掩码的长度 为16,可以理解的是,各端口的物理线路的掩码的长度是由第一设备能够 提供的物理线路的数目确定的,当第一设备能够提供16条物理线路时则对 应的掩码长度为16;当第一设备能够提供的32条物理线路时则对应的掩码 长度为32,对应的第一端口物理线路掩码表征为mask_A[31:0]。图5中的 第一端口起始物理线路偏移量用于表征第一端口被配置的起始物理线路的 偏移量。图5中的第一端口端口宽度包括的位数与该端口可以被配置的物 理线路的数目相关,例如,当该端口可以被配置为包括一条物理线路、两 条物理线路和四条物理线路时,则该端口的端口宽度可以采用2比特位的 数据来表征。图5的第一端口逻辑线路掩码Out_mask_A[15:0]表征该第一 端口对应16条逻辑线路,可以理解的是该逻辑线路掩码的位数与逻辑线路 的总路数相关。
下面示例性介绍图5的多级物理线路配置子模块的结构。
在本申请的一些实施例中,如图6所示,物理线路配置子模块1011包 括:配置N条物理线路的子模块510以及多级级联的配置部分物理线路的 子模块520。
图6的配置N条物理线路的子模块510被配置为根据第一端口物理线 路掩码从所述物理线路数据中进行数据提取,得到长度为L的候选输出数 据,其中,L=N*K其中,K为每条物理线路能传输的最大比特位数。且图 6的多级级联的配置部分物理线路的子模块520包括的第一级的部分物理线 路配置子模块与配置N条物理线路的子模块510的输出连接,且多级级联 的配置部分物理线路的子模块520中其余各级子模块分别接收上一级子模 块的输出数据和第一端口起始物理线路偏移量,并生成对应于部分物理线 路的候选输出数据。
下面分别结合图7和图8示例性阐述配置N条物理线路的子模块510 以及多级级联的配置部分物理线路的子模块520。
如图7所示,第一端口物理线路的掩码长度为N,且N位中的每一位 用于表征对应的物理线路是否属于所述第一端口。其中,配置N条物理线 路的子模块510包括:组合单元511、物理线路掩码扩展单元512以及逻辑 操作单元513。
图7的组合单元511被配置为按照设定次序将物理线路数据组合成长 度为L的初始接收数据。需要说明的是,在一些实施例中设定次序即按照 编号低的物理线路数据在低位,编号高的物理数据在高位的原则。在本申 请的另一些实施例中,也可以是按照编号高的物理线路数据在低位,编号 低的物理数据在高位的原则。例如,当L为512,且N为16时,则组合单 元可以将输入的16条物理线路的翻转数据Z_lane0到Z_lane15,按照编号 低的物理线路数据在低位,编号高的物理数据在高位的原则组合成512位 接收数据data_in_A。
图7的物理线路掩码扩展单元512,被配置为将第一端口物理线路的掩 码扩展为长度为L的长掩码。
图7的逻辑操作单元513被配置为将组合单元511得到的初始接收数 据与物理线路掩码扩展单元512得到的长掩码进行逻辑操作,得到与所述 第一端口对应的长度为L的候选输出数据。例如,物理线路的掩码扩展单 元512被配置为将第一端口物理线路掩码包括的N比特位中的每一位数据 分别扩展为K位。例如,第一端口物理线路掩码采用数字1表征对应的物 理线路属于所述第一端口,相应的逻辑操作单元513包括多个与操作单元。
如图8所示,在本申请的一些实施例中,多级级联的配置部分物理线 路的子模块中的任一级配置部分物理线路的子模块包括:窄路端口数据抽 取单元521、移位单元522以及比特位恢复单元524。在本申请的一些实施 例中,多级级联的配置部分物理线路的子模块中的任一级配置部分物理线 路的子模块包括:窄路端口数据抽取单元521、移位单元522、端口物理线 路翻转处理单元523以及比特位恢复单元524。
图8的窄路端口数据抽取单元521被配置为将接收的数据的高Q位数 据和低Q位数据进行逻辑操作,得到Q位的输出数据,其中,所述接收的 数据总长为2Q位。可以理解的是,该窄路端口数据抽取单元是在第一端口 被配置的物理线路的数目小于第一设备能够提供的N条物理线路时,提取 该端口接收数据的模块。Q为大于或等于1的整数且Q为小于或等于N/2 的数。
图8的移位单元522被配置为根据所述第一端口起始物理线路偏移量 对窄路端口数据抽取单元521得到的Q位的输出数据进行移位得到移位输 出数据。
图8的比特位恢复单元524被配置为将移位单元522得到的移位输出 数据对应的比特位扩充至L位,得到所述部分物理线路的输出数据。
图8的端口物理线路翻转处理单元523与移位单元522的输出端和比 特位恢复单元524的输入端连接,且该端口物理线路翻转处理单元523被 配置为根据第一端口翻转配置信号对移位输出数据进行翻转操作,得到翻 转输出数据,相应的,比特位恢复单元524被配置为将翻转输出数据对应 的比特位扩充至L位,得到所述部分物理线路的输出数据。
需要说明的是,上述图5-图8仅以与第一端口对应设置的第一端口数 据获取模块101为例阐述了数据获取模块的示例性结构,图3的其它端口 的数据获取模块(例如,第二端口数据获取模块102或者第三端口数据获 取模块103等)的结构与第一端口数据获取模块101的结构相同,为避免 重复不对其他端口对应设置的数据获取模块做过多赘述。
下面结合图9示例性阐述接收端的转换电路的结构。需要说明的是, 在图9中,第一设备支持1到16(即N为16)条物理线路,最多同时支持 8(即M为8)个端口,且每个端口分别可以配置成包括连续的16条物理 线路(记为x16)、8条物理线路(记为x8)、4物理线路(记为x4)、2条 物理线路(记为x2)、1条物理线路(记为x1),共可配置为5种物理线路 组合(即H为5)。
示例一,将第一设备配置为3个端口port,分别为:端口A(即portA) 为x8,对应的物理线路是Y_lane8到Y_lane15。端口B(即portB)为x4, 对应的物理线路是Y_lane0到Y_lane3。端口C(即portC)为x4,对应的 物理线路是Y_lane4到Y_lane7。经过本申请一些实施例的转换电路转换处 理后,则X_lane0-X_lane7属于portA;X_lane8-X_lane11属于portB;X_lane12-X_lane15属于portC。需要说明的是,无论为第一设备配置几个端 口、各配置的端口由几个物理线路组成、以及端口具体由哪几个物理线路 组成,通过N条物理线路接收的来自于其他设备的接收数据Y_lanex(x为 0-15)经过本申请一些实施例的转换电路转换后会得到各逻辑线路数据 X_lanex(x为0-15)。各逻辑线路X_lane0到X_lane15按顺序分别属于portA 到portH。同属于一个port的不同逻辑线路,编号小的为先接收到的数据, 即为低位数数据,编号大的为后接收到的数据,即为高位数据。经此变换 后方便后续数据处理。
下面示例性阐述图9涉及的所有信号的含义。
Y_lane_0[31:0]表征高速串行接口physicallane0经过串并转换后的接收 数据,以此类推,Y_lane_15[31:0]表征高速串行接口physical lane15经过串 并转换后的接收数据。
All_reverse表征所有16条物理线路是否翻转。例如,高电平代表翻转, 低电平代表不翻转。例如,低电平代表翻转,高电平代表不翻转。
Config_A表征端口A(即portA)的配置信号,该配置信号为一组信号, 详细含义后续介绍也参考前文对第一端口配置信息的相关描述,以此类推, Config_H表征端口H(即portH)的配置信号,为一组信号,详细含义后续 介绍也参考前文对第一端口配置信息的相关描述。
图9的第一设备能够提供8个端口,分别对应的端口配置信号为: Config_A、Config_B、ConfigC、Config_D、Config_E、Config_F、Config_G 以及Config_H。
图9的X_lane_0[31:0]表征经过转换电路100转换后的logicallane0接 收数据,以此类推,X_lane_15[31:0]表征经过转换后的logical lane15接收 数据,且X_lane_0到X_lane_15按顺序分别属于portA到portH。
图9的REVERSE(即对应图4的全翻转控制模块)模块实现所有物理 线路的物理翻转,当系统布线需要全部物理线路翻转时可以使能该模块, 避免布线交叉,提高系统稳定性和降低布线难度。具体地,当图9的 all_reverse信号为高电平时,Z_lane0等于Y_lane15,Z_lane1等于Y_lane14, 以此类推,Z_lane15等于Y_lane0。当all_revers为低电平时,Z_lane0等于 Y_lane0,Z_lane1等于Y_lane1,以此类推Z_lane15等于Y_lane15。
图9的PHY_LOG_MAP模块(对应于图4的物理线路逻辑线路转换模 块210)实现物理线路到逻辑线路转换,输出的逻辑线路数据按顺序依次为 portA(即端口A)到portH(即端口H),具体支持几个端口由各端口的配 置信息决定。例如,在本申请的一些实施例中,所有逻辑线路均对应一个 端口A。在另一些实施例中,X_lane_0到X_lane_7对应端口A,X_lane_8 到X_lane_15对应端口B。在本申请的一些实施例中,X_lane_0到X_lane_7 对应端口A、X_lane_8到X_lane_11对应端口B以及X_lane_12到X_lane_15 对应端口C。
图9的DATA_GEN_A模块到DATA_GEN_H模块的内部功能相同(这 些模块对应于图3的为各端口设置的端口数据获取模块),这些模块中的每 个模块分别根据对应配置信号config_A到config_H产生PortA到PortH的 数据,分别用信号data_out_A[511:0]到data_out_H[511:0]表示各模块输出的 数据(对应于图3中各端口的端口数据获取模块得到的与端口对应的第二 线路数据)。由于图9的第一设备只有16条物理线路,且每条物理线路可传输32比特数据(即K的取值为32),所以每个端口最大数据为16*32=512 比特(即L为512)。
图9的data_out_A[511:0],表示端口A(即portA)的逻辑线路数据, 其中有效数据从最低位开始。PortA配置为x16,则data_out_A[511:0]均有 效;PortA配置为x8,则data_out_A[255:0]有效,data_out_A[511:256]为0; 以此类推,PortA配置为x1,则data_out_A[31:0]有效,data_out_A[511:32] 为0。
图9的data_out_B[511:0],表示portB的逻辑线路数据,有效数据从 PortA最高有效数据位高一位开始。有效数据位置与portA类似。
以此类推……
图9的data_out_H[511:0],表示portH的逻辑线路数据,有效数据从 PortG最高有效数据位高一位开始。有效数据位置与portA类似。
对应示例一,data_out_A[511:0]、data_out_B[511:0]以及 data_out_C[511:0]的有效数据分别如图10-图12所示。其中,图10-图12中 的每个方块代表32bit数据,无阴影的框表无效数据,带有阴影(例如,多 个斜线构成的阴影)的框表征有效数据,其中,阴影框内的数字代表有效 数据具体来自哪条物理线路。以下框的序号按照从右往左排序得到的,且 第一条逻辑线路编号为数字0。如图10所示,端口A的逻辑线路数据来自 于第八物理线路(即对应于第一个框中的数字8)、第九物理线路(对应于 第二个框中的数字9)、第十物理线路(对应于第三个框中的数字10)、第 十一物理线路(对应于第四个框中的数字11)、第十二物理线路(对应于第 五个框中的数字12)、第十三物理线路(对应于第六个框中的数字13)、第 十四物理线路(对应于第七个框中的数字14)以及第十五物理线路(对应 于第八个框中的数字15)。如图11所示,端口B的逻辑线路数据来自于第 零物理线路(对应于第九个框种的数字0)、第一物理线路(对应于第十个 框中的数字1)、第二物理线路(对应于第十一个框中的数字2)、第三物理 线路(对应于第十二个框中的数字3)。如图11所示,端口C的逻辑线路数 据来自于第四物理线路(对应于第十三个框中数字4)、第五物理线路(对 应于第十四个框中的数字5)、第六物理线路(对应于第十五个框中的数字 6)以及第七物理线路(对应于第十六个框中的数字7)。
综上所述,每个端口port的有效数据分别在512位接收数据的不同位 置,无效数据位置为0,这样data_out_A到data_out_G采用图9的OR模 块做逻辑或(图9的OR模块对应于图3的逻辑处理模块120),产生最终 的所有端口512位的接收数据,其中,512位的接收数据中的0-31比特对 应逻辑线路第零逻辑线路X_lane0,32-63比特对应第一逻辑线路X_lane1, 以此类推,480-511比特对应第十五逻辑线路X_lane15。对应示例一,如图 13所示,该图中表征了将所有示例一中的端口A、端口B以及端口C的接 收数据(即图10-图12的各端口的接收数据)分别映射至相应的逻辑线路 的结果示意图。
下面结合图14示例性阐述图9包括的端口A(即任意一个端口)的端 口数据获取模块的结构。具体地,下面简要阐述图9的多个物理线路配置 子模块的示例性结构,图9的多个物理线路配置子模块包括:X16_DATA 模块、X8_DATA模块、X4_DATA模块、X2_DATA模块以及X1_DATA模 块。
下面首先介绍图14中涉及的各信号的含义:
Z_lane0到Z_lane15表征经过全翻转后的物理线路接收数据,具体翻转 过程请参考前文。
Config_A的端口配置信息(即图14的第一端口配置信息)包括:
Reverse_A表征端口A(即portA)的物理线路翻转使能。例如,高电 平使能,低电平不使能。
mask_A为端口A的物理线路掩码,该掩码长度为16比特宽,每比特 分别对应1条物理线路。例如,如果该掩码中某比特位的值为1则说明对 应的物理线路属于portA,值为0则说明对应的物理线路不属于端口A。
Shift_A为端口A的端口偏移量(即端口A被配置的起始物理线路偏移 量,例如,物理线路从0开始编号,则端口A被配置为包括物理线路2至 物理线路5四条物理线路时,则Shift_A的值为2),该端口偏移量为4比 特宽的数据,取值为0到15,代表portA从第几条物理线路开始。
Width_A为端口A的端口宽度,且端口宽度为3比特宽的数据,该端 口宽度的取值为0到4。其中,0代表portA由1条物理线路组成,即x1; 1代表portA由2条物理线路组成,即x2;以此类推,4代表portA由16 条物理线路组成,即x16。
Out_mask_A表征端口A的逻辑线路掩码,该逻辑线路掩码为16比特 宽,每比特分别对应1条逻辑线路。例如,如果掩码某比特位的值为1则 说明对应的逻辑线路属于portA,值为0则说明对应的逻辑线路不属于端口 A。Data_out_A的具体含义可以参考前文描述。
下面逐一介绍X16_DATA模块、X8_DATA模块、X4_DATA模块、 X2_DATA模块以及X1_DATA模块各模块功能。
X16_DATA模块(或称为配置十六条物理线路的子模块,对应于配置 N条物理线路的子模块):端口A为x16(即端口A被配置为包括16条物 理线路)时,产生端口A的接收数据data_out_x16,同时为X8_DATA(或 称为八条物理线路配置子模块)提供输入数据。
X8_DATA模块(或称为配置八条物理线路的子模块,对应于第一级配 置部分物理线路的子模块):端口为x8时(即端口A被配置为包括8条物 理线路),产生端口接收数据data_out_x8,同时为X4_DATA(或称为四条 物理线路配置子模块)提供输入数据。
X4_DATA模块(或称为配置四条物理线路的子模块,对应于第二级配 置部分物理线路的子模块):端口为x4时(即端口A被配置为包括4条物 理线路),产生端口接收数据data_out_x4,同时为X2_DATA(或称为两条 物理线路配置子模块)提供输入数据。
X2_DATA模块(或称为配置两条物理线路的子模块,对应于第三级配 置部分物理线路的子模块):端口为x2时(即端口A被配置为包括2条物 理线路),产生端口接收数据data_out_x2,同时为X1_DATA(或称为一条 物理线路配置子模块)提供输入数据。
X1_DATA模块(或称为配置一条物理线路的子模块,对应于第四级配 置部分物理线路的子模块):端口为x1时(即端口A被配置为包括1条物 理线路),产生端口接收数据data_out_x1。
下面以X16_DATA模块为例详细介绍该模块的工作过程,该过程包括 如下步骤:
第一步,X16_DATA模块将输入的16条物理线路数据Z_lane0到 Z_lane15,按照编号低的物理线路数据在低位,编号高的物理数据在高位的 原则组合成512(即组合成长度为L=N*K,其中,K为每条线路能传输的最 大比特位数)位接收数据Data_in_A。其中,Data_in_A表示为:
Data_in_A={Z_lane15,Z_lane14,…,Z_lane0}。
第二步,将端口A的物理线路掩码mask_A扩展成512位宽得到长掩 码mask_in_A。例如,扩展后的长掩码为:Mask_in_A={32{mask_A[15]}, 32{mask_A[14]},…,32{mask_A[10]}}。
第三步,将Data_in_A和mask_in_A做逻辑与得到data_out_x16。
第四步,利用data_out_x16(即将该数据输入X8_DATA模块)得到后 续的data_out_x8。
示例二
如果端口A(即portA)被配置为x8,对应的物理线路为Y_lane2到 Y_lane9,则端口A的物理线路掩码为:Mask_A=0x03FC。如图15所示, 将512位长的Data_in_A与长掩码Mask_in_A的对应位取与(图15中的符 号“&”表示与操作),得到data_out_x16中的各位数据(图中的“||”符 号表示等于)。其中,图15中data_out_x16中的数字2、3……直至9表示这些位的数据是分别来自于第二物理线路、第三物理线路……直至第九物 理线路上的数据。图15的长掩码是将原始掩码中的每一个扩展至32为得 到的。
下面结合图16示例性阐述X8_DATA模块的结构和工作过程。需要说 明的是,图16中的输入data_out_x16对应图14中X16_DATA模块的输出。 也就是说,图14和图16中相同的符号表征同一模块或者同一参数。
图16的512TO256模块(对应于图8的窄路端口数据抽取单元521): 将输入的data_out_x16高256(即Q取值为256)比特数据和低256比特数 据做逻辑或,产生256位数据data_in_x8(即512TO256模块的输出数据), 同时将data_in_x8传递给X4_DATA模块。
图16的SHIFT_X8模块(对应于图8的移位单元522):根据端口A 的端口起始物理线路偏移量shift_A,以32比特为单位逻辑右移data_in_x8 得到数据data_out_shift_x8(即SHIFT_X8模块的输出数据)。
图16的REVERSE_X8模块(对应于图8的端口物理线路翻转处理单 元523):根据端口A配置reverse_A,以32比特为单位高低位翻转 data_out_shift_x8得到data_out_rev_x8(即REVERSE_X8模块的输出数据)。
图16的256TO512模块(对应于图8的比特位恢复单元524):复制 data_out_rev_x8,将data_out_rev_x8从256位宽扩展到512位宽得到data_out _x8。
对应于示例二,端口A的端口起始物理线路偏移量Shift_A[3:0]的值为 2,端口A的物理线路不翻转,各数据如图17所示,图17中各符号的具体 含义可以参考图16。在图17中,data_out_x16的高256位数据 data_out_x16[511:256]和低256位数据data_out_x16[255:0]对应的位进行或 操作(图17中的符号“||”表示或操作),得到data_in_x8[255:0]数据(图 17中的符号“||”表示或操作),之后再根据端口A的端口起始物理线路偏 移量Shift_A[3:0]对data_in_x8[255:0]移位两位(图17中的符号“>>shift_A” 表征对data_in_x8[255:0]左移由起始物理线路偏移量指定的位数),得到 data_out_shift_x8[255:0]。
需要说明的是,X4_DATA模块、X2_DATA模块以及X1_DATA模块 的原理和结果同X8_DATA,为避免重复在此不做过多赘述。
图14的选择器MUX模块被配置为根据端口A的端口宽度width_A, 选通有效数据,产生数据data_to_mask,data_to_mask含有无效数据。配置 为x16时选通data_out_x16;配置为x8时选通data_out_x8;配置为x4时选 通data_out_x4;配置为x2时选通data_out_x2;配置为x1时选通data_out_x1。
对于示例二,选通data_out_x8,得到数据data_to_mask如19所示。即 通过图14的MUX模块(对应于图5的选择器1012)选通X8_DATA模块 输出的数据。图18中各框内的数字表征数据来自于那一条物理线路,例如, 数字2表征该框内的接收数据是来自于第二物理线路的数据。
图14的OUT_MASK模块(对应于图5的逻辑线路映射模块1013)被 配置为将端口接收数据data_to_mask的无效数据去除,无效数据位置上赋 值为0,保留有效数据。
具体地,
第一步,将out_mask_A扩展成512位宽得到out_mask_512_A。
Out_mask_512_A={32{out_mask_A[15]},32{out_mask_A[14]},…, 32{out_mask_A[10]}}
第二步,将data_to_mask和out_mask_512_A做逻辑与得到data_out_A。
对于示例二,out_mask_A为0x00FF。各数据如图19-图21所示。具体 的,将图19的data_out_to_mask[511:0]与位数扩充后的图20的逻辑线路掩 码(扩充方式同物理线路掩码的扩充方式)的各位进行逻辑与操作得到图 21的输出结果。
需要说明的是,DATA_GEN_B模块、DATA_GEN_C模块、 DATA_GEN_D模块、DATA_GEN_E模块、DATA_GEN_F模块、 DATA_GEN_G模块以及DATA_GEN_H模块的原理和结构同 DATA_GEN_A模块相同,为避免重复在此不做过多赘述。
也就是说,当第一设备能够提供16条物理线路,则N取值为16;所 述第一设备能够提供8个端口,则M取值为8;所述第一端口能够被配置 为包括1条物理线路、2条物理线路、4条物理线路、8条物理线路或者16 条物理线路,则H取值为5;其中,图5的多个物理/逻辑线路配置子模块, 包括:十六条物理线路配置子模块(对应于上文的X16_DATA),被配置为 根据所述第一端口物理线路掩码从所述物理线路数据中进行数据提取,得 到长度为L的候选输出数据,其中,L=N*K,其中,K为每条物理线路能传 输的最大比特位数;八条物理线路配置子模块(对应于上文的X8_DATA), 被配置为:与所述十六条物理线路配置子模块的输出端连接,且接收所述 第一端口起始物理线路偏移量,并根据所述长度为L的候选输出数据和所 述第一端口起始物理线路偏移量得到第二路候选输出数据;四条物理线路 配置子模块(对应于上文的X4_DATA),被配置为:与所述八条物理线路 配置子模块的输出端连接,且接收所述第一端口起始物理线路偏移量,并 根据所述第二路候选输出数据和所述第一端口起始物理线路偏移量得到第 三路候选输出数据;两条物理线路配置子模块(对应于上文的X2_DATA), 被配置为:与所述四条物理线路配置子模块的输出端连接,且接收所述第 一端口起始物理线路偏移量,并根据所述第三路候选输出数据和所述第一 端口起始物理线路偏移量得到第四路候选输出数据;一条物理线路配置子 模块(对应于上文的X1_DATA),被配置为:与所述两条物理线路配置子 模块的输出端连接,且接收所述第一端口起始物理线路偏移量,并根据所 述第四路候选输出数据和所述第一端口起始物理线路偏移量得到第五路候 选输出数据;其中,所述选择器被配置为:根据所述第一端口端口宽度, 从所述长度为L的候选输出数据、所述第二路候选输出数据、所述第三路 候选输出数据、所述第四路候选输出数据以及所述第五路候选输出数据中 选择所述目标路输出数据。
如图22所示,本申请的一些实施例提供一种高速串行接口,所述高速 串行接口包括:如图3所述的转换电路100以及解串器600,其中,解串器 600被配置为将通过N条串行物理线路接收的数据转换为N条并行数据, 并将所述N条并行数据输入所述转换电路,其中,所述N条并行数据是与 N条物理线路对应的物理线路数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述 描述的高速串行接口的具体工作过程,可以参考前述转换电路100中的对 应过程,在此不再过多赘述。
如图23所示,本申请的一些实施例提供一种数据处理方法,应用于具 有多个端口的设备,所述设备能够提供N条物理线路,所述数据处理方法 包括:S101,将通过所述设备的N条物理线路(即N条串行物理线路)接 收的串行数据分别进行并行转换,得到N条物理线路的接收数据;S102, 将所述N条物理线路的接收数据转换为各逻辑线路的接收数据,其中,所 述各逻辑线路的接收数据按顺序分别属于所述第一设备的至少一个端口, 所述至少一个端口的具体数目是通过配置信息确定的,且同属于一个端口 的不同逻辑线路编号小的为先接收到的数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述 描述的数据处理方法的具体工作过程,可以参考前述转换电路100中的对 应过程,在此不再过多赘述。
本申请的一些实施例提供一种计算机存储介质,其上存储有计算机程 序,所述程序被处理器执行时可实现上述数据处理方法。
如图24所示,本申请的一些实施例提供一种电子设备800,包括存储 器810、处理器820以及存储在所述存储器810上并可在所述处理器820上 运行的计算机程序,其中,所述处理器820通过总线830从存储器810上 读取程序并执行所述程序时可实现上述数据处理方法。
处理器820可以处理数字信号,可以包括各种计算结构。例如复杂指 令集计算机结构、结构精简指令集计算机结构或者一种实行多种指令集组 合的结构。在一些示例中,处理器820可以是微处理器。
存储器810可以用于存储由处理器820执行的指令或指令执行过程中 相关的数据。这些指令和/或数据可以包括代码,用于实现本申请实施例描 述的一个或多个模块的一些功能或者全部功能。本公开实施例的处理器820 可以用于执行存储器810中的指令以实现图23中所示的方法。存储器810 包括动态随机存取存储器、静态随机存取存储器、闪存、光存储器或其它 本领域技术人员所熟知的存储器。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法, 也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的, 例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方 法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流 程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所 述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标 注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方 框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依 所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及 框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的 基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个 独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集 成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使 用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申 请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的 部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储 介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服 务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步 骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光 盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围, 对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请 的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本 申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示 类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需 要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局 限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可 轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请 的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用 来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者 暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语 “包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包 括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包 括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定 的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在 另外的相同要素。
Claims (16)
1.一种用于高速串行接口的转换电路,应用于具有串行接口的设备,其特征在于,所述转换电路包括:
多个端口数据获取模块,其中,
每个端口数据获取模块被配置为:与所述设备的一个端口对应设置,根据本端口的端口配置信息从通过所述设备的N条物理线路接收的物理线路数据中获取所述本端口的逻辑线路数据;其中,所述端口配置信息至少用于表征所述本端口包括的物理线路和逻辑线路;以及
逻辑处理模块,被配置为:将通过M个端口数据获取模块得到的M个逻辑线路数据进行逻辑操作,以获得N条逻辑线路中各逻辑线路的接收数据。
2.如权利要求1所述的转换电路,其特征在于,任一端口数据获取模块,包括:
物理线路配置子模块,且所述物理线路配置子模块被配置为根据本端口配置信息获取各种配置条件下的候选输出数据,得到多路候选输出数据,其中,不同配置条件是根据为所述本端口配置的物理线路的数目进行区分的,多种配置条件中的每一种配置条件均对应一路候选输出数据;
选择器,被配置为根据所述本端口配置信息从所述多路候选输出数据中选择目标路输出数据;
逻辑线路映射模块,被配置为根据所述本端口配置信息去除所述目标路输出数据包括的无效数据,得到对应于所述本端口的逻辑线路数据。
3.如权利要求2所述的转换电路,其特征在于,所述本端口配置信息包括:本端口物理线路掩码、本端口端口宽度以及本端口逻辑线路掩码,所述本端口物理线路掩码用于表征所述本端口包括的物理线路,所述本端口逻辑线路掩码用于表征所述本端口包括的逻辑线路,所述本端口端口宽度用于表征为所述本端口配置的物理线路的具体数目;
其中,
所述物理线路配置子模块被配置为根据所述本端口物理线路掩码获取所述各种配置条件下的候选输出数据;
所述选择器被配置为根据所述本端口端口宽度从所述多路候选输出数据中选择所述目标路输出数据;
所述逻辑线路映射模块被配置为根据所述本端口逻辑线路掩码去除所述目标路输出数据包括的无效数据,得到对应于所述本端口的逻辑线路数据。
4.如权利要求3所述的转换电路,其特征在于,所述本端口配置信息还包括:本端口起始物理线路偏移量;
其中,
所述物理线路配置子模块,包括:
配置N条物理线路的子模块,被配置为根据所述本端口物理线路掩码从所述物理线路数据中进行数据提取,得到长度为L的候选输出数据,其中,L=N*K,其中,N为所述设备提供的物理线路的数目,K为每条物理线路能传输的最大比特位数;
多级级联的配置部分物理线路的子模块,其中,第一级的配置部分物理线路的子模块与所述配置N条物理线路的子模块的输出连接,且所述多级级联的配置部分物理线路的子模块中其余各级子模块分别接收上一级子模块的输出数据和所述本端口起始物理线路偏移量,并生成对应于部分物理线路的候选输出数据。
5.如权利要求4所述的转换电路,其特征在于,所述配置部分物理线路的子模块包括:
窄路端口数据抽取单元,被配置为将接收的数据的高Q位数据和低Q位数据进行逻辑操作,得到Q位的输出数据,其中,所述接收的数据总长为2Q位,其中,Q为大于等于1的整数;
移位单元,被配置为根据所述本端口起始物理线路偏移量对所述Q位的输出数据进行移位得到移位输出数据;
比特位恢复单元,被配置为将所述移位输出数据对应的比特位扩充至L位,得到所述部分物理线路的输出数据。
6.如权利要求5所述的转换电路,其特征在于,所述配置部分物理线路的子模块还包括:
端口物理线路翻转处理单元,与所述移位单元的输出端和所述比特位恢复单元的输入端连接,且被配置为根据本端口翻转配置信号对所述移位输出数据进行翻转操作,得到翻转输出数据;其中,
所述比特位恢复单元,被配置为将所述翻转输出数据对应的比特位扩充至L位,得到所述部分物理线路的输出数据。
7.如权利要求4-5任一项所述的转换电路,其特征在于,所述本端口物理线路的掩码长度为N,且N位中的每一位用于表征对应的物理线路是否属于所述本端口;
其中,
所述N条物理线路配置子模块包括:
组合单元,被配置为按照设定次序将所述物理线路数据组合成长度为L的初始接收数据;
物理线路掩码扩展单元,被配置为将所述本端口物理线路的掩码扩展为长度为L的长掩码;
逻辑操作单元,被配置为将所述初始接收数据与所述长掩码进行逻辑操作,得到与所述本端口对应的长度为L的候选输出数据。
8.如权利要求7所述的转换电路,其特征在于,所述物理线路的掩码扩展单元被配置为将所述本端口物理线路掩码包括的N比特位中的每一位数据分别扩展为K位。
9.如权利要求8所述的转换电路,其特征在于,所述本端口物理线路掩码采用数字1表征对应的物理线路属于所述本端口,其中,所述逻辑操作单元包括多个与操作单元。
10.如权利要求4所述的转换电路,其特征在于,所述设备能够提供16条物理线路;所述设备能够提供8个端口;所述本端口能够被配置为包括1条物理线路、2条物理线路、4条物理线路、8条物理线路或者16条物理线路,则可配置的物理线路数目为5;
其中,
所述物理线路配置子模块,包括:
配置十六条物理线路的子模块,被配置为根据所述本端口物理线路掩码从所述物理线路数据中进行数据提取,得到长度为L的候选输出数据,其中,L=16*K,其中,K为每条物理线路能传输的最大比特位数;
配置八条物理线路的子模块,被配置为:与所述十六条物理线路配置子模块的输出端连接,且接收所述本端口起始物理线路偏移量,并根据所述长度为L的候选输出数据和所述本端口起始物理线路偏移量得到第二路候选输出数据;
配置四条物理线路的子模块,被配置为:与所述八条物理线路配置子模块的输出端连接,且接收所述本端口起始物理线路偏移量,并根据所述第二路候选输出数据和所述本端口起始物理线路偏移量得到第三路候选输出数据;
配置两条物理线路的子模块,被配置为:与所述四条物理线路配置子模块的输出端连接,且接收所述本端口起始物理线路偏移量,并根据所述第三路候选输出数据和所述本端口起始物理线路偏移量得到第四路候选输出数据;
配置一条物理线路的子模块,被配置为:与所述两条物理线路配置子模块的输出端连接,且接收所述本端口起始物理线路偏移量,并根据所述第四路候选输出数据和所述本端口起始物理线路偏移量得到第五路候选输出数据;其中,
所述选择器被配置为:根据所述本端口端口宽度,从所述长度为L的候选输出数据、所述第二路候选输出数据、所述第三路候选输出数据、所述第四路候选输出数据以及所述第五路候选输出数据中选择所述目标路输出数据。
11.如权利要求1所述的转换电路,其特征在于,所述各端口的逻辑线路数据包括的无效数据所在的比特位的数值为0,则所述逻辑处理模块包括多个或操作单元。
12.如权利要求4所述的转换电路,其特征在于,所述转换电路包括:
全翻转控制模块,被配置为将所述物理线路数据进行翻转操作,得到N条物理线路的翻转数据;其中,
所述配置N条物理线路的子模块,被配置为根据所述本端口物理线路掩码从所述N条物理线路的翻转数据中进行数据提取,得到所述长度为L的候选输出数据。
13.一种高速串行接口,其特征在于,所述高速串行接口包括:如权利要求1-12任一项所述的转换电路以及解串器,
其中,
所述解串器被配置为将通过N条串行物理线路接收的数据转换为N条并行数据,并将所述N条并行数据输入所述转换电路的,其中,所述N条并行数据是与N条物理线路对应的物理线路数据。
14.一种数据处理方法,应用于具有多个端口的设备,所述设备能够提供N条物理线路,其特征在于,所述数据处理方法包括:
将通过所述设备的N条物理线路接收的串行数据分别进行并行转换,得到N条物理线路的接收数据;
将所述N条物理线路的接收数据转换为各逻辑线路的接收数据,其中,所述各逻辑线路的接收数据按顺序分别属于所述设备的至少一个端口,所述至少一个端口的具体数目是通过配置信息确定的,且同属于一个端口的不同逻辑线路编号小的为先接收到的数据。
15.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时可实现权利要求14所述的方法。
16.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述程序时可实现权利要求14所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110739182.4A CN113626364B (zh) | 2021-06-30 | 2021-06-30 | 一种高速串行接口以及用于高速串行接口的转换电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110739182.4A CN113626364B (zh) | 2021-06-30 | 2021-06-30 | 一种高速串行接口以及用于高速串行接口的转换电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113626364A true CN113626364A (zh) | 2021-11-09 |
CN113626364B CN113626364B (zh) | 2024-05-31 |
Family
ID=78378693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110739182.4A Active CN113626364B (zh) | 2021-06-30 | 2021-06-30 | 一种高速串行接口以及用于高速串行接口的转换电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113626364B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08137661A (ja) * | 1994-11-02 | 1996-05-31 | Hitachi Ltd | デジタル処理装置 |
US6404359B1 (en) * | 1999-05-27 | 2002-06-11 | Nec Corporation | Variable length decoding system having a mask circuit for improved cache hit accuracy |
US20080229081A1 (en) * | 2007-03-16 | 2008-09-18 | Ryutaro Yamanaka | Reconfigurable circuit, reconfigurable circuit system, and reconfigurable circuit setting method |
CN101394678A (zh) * | 2008-11-07 | 2009-03-25 | 烽火通信科技股份有限公司 | 一种通用于gepon/gpon的串行化/反串行化接口模块 |
CN102221986A (zh) * | 2010-04-15 | 2011-10-19 | 研祥智能科技股份有限公司 | 一种基于pci总线的高速数据缓存与采集系统 |
CN105553886A (zh) * | 2015-12-25 | 2016-05-04 | 山东海量信息技术研究院 | 一种可灵活扩展端口数量的pcie交换机 |
CN109495519A (zh) * | 2019-01-09 | 2019-03-19 | 天津芯海创科技有限公司 | 物理编码电路及高速接口协议交换芯片 |
CN109947681A (zh) * | 2019-03-20 | 2019-06-28 | 天津芯海创科技有限公司 | 串化/解串器及高速接口协议交换芯片 |
US10649949B1 (en) * | 2017-12-19 | 2020-05-12 | United States Of America As Represented By The Administrator Of Nasa | Radiation hardened input/output expander with I2C and SPI serial interfaces |
CN113031911A (zh) * | 2019-12-24 | 2021-06-25 | 上海寒武纪信息科技有限公司 | 乘法器、数据处理方法、装置及芯片 |
-
2021
- 2021-06-30 CN CN202110739182.4A patent/CN113626364B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08137661A (ja) * | 1994-11-02 | 1996-05-31 | Hitachi Ltd | デジタル処理装置 |
US6404359B1 (en) * | 1999-05-27 | 2002-06-11 | Nec Corporation | Variable length decoding system having a mask circuit for improved cache hit accuracy |
US20080229081A1 (en) * | 2007-03-16 | 2008-09-18 | Ryutaro Yamanaka | Reconfigurable circuit, reconfigurable circuit system, and reconfigurable circuit setting method |
CN101394678A (zh) * | 2008-11-07 | 2009-03-25 | 烽火通信科技股份有限公司 | 一种通用于gepon/gpon的串行化/反串行化接口模块 |
CN102221986A (zh) * | 2010-04-15 | 2011-10-19 | 研祥智能科技股份有限公司 | 一种基于pci总线的高速数据缓存与采集系统 |
CN105553886A (zh) * | 2015-12-25 | 2016-05-04 | 山东海量信息技术研究院 | 一种可灵活扩展端口数量的pcie交换机 |
US10649949B1 (en) * | 2017-12-19 | 2020-05-12 | United States Of America As Represented By The Administrator Of Nasa | Radiation hardened input/output expander with I2C and SPI serial interfaces |
CN109495519A (zh) * | 2019-01-09 | 2019-03-19 | 天津芯海创科技有限公司 | 物理编码电路及高速接口协议交换芯片 |
CN109947681A (zh) * | 2019-03-20 | 2019-06-28 | 天津芯海创科技有限公司 | 串化/解串器及高速接口协议交换芯片 |
CN113031911A (zh) * | 2019-12-24 | 2021-06-25 | 上海寒武纪信息科技有限公司 | 乘法器、数据处理方法、装置及芯片 |
Non-Patent Citations (2)
Title |
---|
张小军;廖风强;王录涛;王文平;: "多通道高速串行LVDS信号解串器设计", 电子测量技术, vol. 36, no. 04, 15 April 2013 (2013-04-15), pages 63 - 68 * |
胡向峰;王黎明;: "基于SOPC技术的高速数据采集系统的设计", 微电子学与计算机, vol. 26, no. 06, 5 June 2009 (2009-06-05), pages 62 - 65 * |
Also Published As
Publication number | Publication date |
---|---|
CN113626364B (zh) | 2024-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103034605B (zh) | 实现可变宽度链路的方法及装置 | |
US3795864A (en) | Methods and apparatus for generating walsh functions | |
JPH0697838A (ja) | 復号化装置 | |
US20230195663A1 (en) | Integrated circuit having lanes interchangeable between clock and data lanes in clock forward interface receiver | |
WO2017148221A1 (zh) | 串行外设接口的传输控制方法、装置及系统 | |
US7225387B2 (en) | Multilevel parallel CRC generation and checking circuit | |
CN113626364B (zh) | 一种高速串行接口以及用于高速串行接口的转换电路 | |
JPH05282437A (ja) | 画像回転回路 | |
US4789852A (en) | Method and apparatus for converting data in a binary format | |
US4651301A (en) | Circuit arrangement for performing rapid sortation or selection according to rank | |
US4604723A (en) | Bit-slice adder circuit | |
JP2014194619A (ja) | バッファ回路及び半導体集積回路 | |
Alnuweiri | Parallel constant-time connectivity algorithms on a reconfigurable network of processors | |
JP2008160522A (ja) | 多段スイッチの制御回路 | |
JP3062119B2 (ja) | 文字列探索用テーブル、その作成方法及び文字列探索方法 | |
RU2448358C1 (ru) | Матрица формирователя инволютивных перестановок | |
JPS5947394B2 (ja) | 可変長二次元シストレジスタ | |
EP2553569A1 (en) | Data shifter and control method thereof, multiplexer, data sifter, and data sorter | |
JP2509176B2 (ja) | デ−タ速度変換処理回路 | |
US7271748B2 (en) | System and method for providing a thermometer coded output filter | |
Lee et al. | The augmented composite Banyan network | |
JP2564318B2 (ja) | 通信処理装置 | |
JP2768287B2 (ja) | 一致検出回路 | |
CN118569171A (zh) | 基于risc-v芯片和adc模块的数据处理方法 | |
JPH10257077A (ja) | Nビットセットからmビットセットを抽出するためのインタフェース装置、制御ユニット、および論理セル |
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 |