CN117851323A - 构建pcie接口的方法及pcie接口构建系统 - Google Patents

构建pcie接口的方法及pcie接口构建系统 Download PDF

Info

Publication number
CN117851323A
CN117851323A CN202410102148.XA CN202410102148A CN117851323A CN 117851323 A CN117851323 A CN 117851323A CN 202410102148 A CN202410102148 A CN 202410102148A CN 117851323 A CN117851323 A CN 117851323A
Authority
CN
China
Prior art keywords
target
data path
mac
path unit
pma
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
Application number
CN202410102148.XA
Other languages
English (en)
Other versions
CN117851323B (zh
Inventor
请求不公布姓名
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Yige Technology Co ltd
Original Assignee
Suzhou Yige Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Yige Technology Co ltd filed Critical Suzhou Yige Technology Co ltd
Priority to CN202410102148.XA priority Critical patent/CN117851323B/zh
Publication of CN117851323A publication Critical patent/CN117851323A/zh
Application granted granted Critical
Publication of CN117851323B publication Critical patent/CN117851323B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)

Abstract

本公开涉及半导体技术领域,公开了构建PCIE接口的方法、PCIE接口构建系统、计算机设备及存储介质,该方法包括:对于每个目标媒介访问层MAC,根据所述目标MAC对应的目标数据通路数量,从物理编码子层PCS的多个数据通路单元中选择对应于所述目标MAC的目标数据通路单元集合,以及将所述目标数据通路单元集合中每个与所述目标MAC连接;对于选择的每个目标数据通路单元集合,从多个物理媒介适配层PMA中选择出对应于所述目标数据通路单元集合的至少一个目标PMA,以及将所述目标数据通路单元集合与所述至少一个目标PMA连接,以得到目标PCIE接口。

Description

构建PCIE接口的方法及PCIE接口构建系统
技术领域
本公开涉及半导体技术领域,具体涉及构建PCIE接口的方法、PCIE接口构建系统、计算机设备及存储介质。
背景技术
PCIE(Perpheral Component Interconnect Express)接口是按照PCIE协议实现的高速数据传输接口。
目前,硬件厂商提供给用户的PCIE接口包括一个MAC和对应这个MAC的一个PCS,缺乏灵活性,如何提升PCIE接口的灵活性成为一个需要解决的问题。
发明内容
本公开实施例提供了一种构建PCIE接口的方法、PCIE接口构建系统、计算机设备及存储介质。
第一方面,本公开提供了一种构建PCIE接口的方法,该方法包括:
对于每个目标媒介访问层MAC,根据所述目标MAC对应的目标数据通路数量,从物理编码子层PCS的多个数据通路单元中选择对应于所述目标MAC的目标数据通路单元集合,以及将所述目标数据通路单元集合中每个数据通路单元与所述目标MAC连接,其中,所述目标数据通路单元集合包括所述目标数据通路数量个数据通路单元,目标MAC是用户从多个MAC中选择的MAC,目标MAC的数量为一个或多个,所述多个MAC、所述PCS均是在现场可编程门阵列FPGA中实现的;
对于选择的每个目标数据通路单元集合,从多个物理媒介适配层PMA中选择出对应于所述目标数据通路单元集合的至少一个目标PMA,以及将所述目标数据通路单元集合与所述至少一个目标PMA连接,以得到目标PCIE接口,其中,所述多个PMA是在FPGA中实现的,所述目标数据通路单元集合中每个数据通路单元与所述至少一个目标PMA应用于的每个数据通路一一对应,目标PCIE接口包括:所述每个目标MAC、所述每个目标数据通路单元集合、所述每个目标数据通路单元集合对应的目标PMA。
通过本公开实施例提供的构建PCIE接口的方法,用户可以根据需求选择一个或多个用于构建目标PCIE接口的MAC即目标MAC,可以根据用户选择的用于构建目标PCIE接口的MAC,选择用于构建目标PCIE接口的数据通路单元和选择用于构建目标PCIE接口的PMA,可以得到包括用户选择的用于构建目标PCIE接口的MAC、用于构建目标PCIE接口的数据通路单元和选择用于构建目标PCIE接口的PMA的目标PCIE接口,提升构建PCIE接口的灵活性。
在一个可能的实现方式中,所述多个MAC包括至少一个自定义MAC,其中,自定义MAC是根据用户编写的用于实现自定义MAC的代码而在FPGA中实现的,自定义MAC对应的目标数据通路数量是由所述用户设置的。
在一个可能的实现方式中,从物理编码子层PCS的多个数据通路单元中选择对应于所述目标MAC的目标数据通路单元集合,以及将所述目标数据通路单元集合中每个数据通路单元与所述目标MAC连接包括:
利用数据通路单元选择单元,从物理编码子层PCS的多个数据通路单元中选择对应于所述目标MAC的目标数据通路单元集合,以及将所述目标数据通路单元集合中每个数据通路单元与所述目标MAC连接。
在一个可能的实现方式中,从多个物理媒介适配层PMA中选择出对应于所述目标数据通路单元集合的至少一个目标PMA,以及将所述目标数据通路单元集合与所述至少一个目标PMA连接包括:
利用PMA选择单元,从多个物理媒介适配层PMA中选择出对应于所述目标数据通路单元集合的至少一个目标PMA,以及将所述目标数据通路单元集合与所述至少一个目标PMA连接。
第二方面,本公开提供了一种PCIE接口构建系统,所述PCIE接口构建系统包括:多个MAC、PCS、多个PMA、第一构建单元、第二构建单元;
第一构建单元,用于对于每个目标媒介访问层MAC,根据所述目标MAC对应的目标数据通路数量,从物理编码子层PCS的多个数据通路单元中选择对应于所述目标MAC的目标数据通路单元集合,以及将所述目标数据通路单元集合中每个数据通路单元与所述目标MAC连接,其中,所述目标数据通路单元集合包括所述目标数据通路数量个数据通路单元,目标MAC是用户从多个MAC中选择的MAC,目标MAC的数量为一个或多个,所述多个MAC、所述PCS均是在现场可编程门阵列FPGA中实现的;
第二构建单元,用于对于选择的每个目标数据通路单元集合,从多个物理媒介适配层PMA中选择出对应于所述目标数据通路单元集合的至少一个目标PMA,以及将所述目标数据通路单元集合与所述至少一个目标PMA连接,以得到目标PCIE接口,其中,所述多个PMA是在FPGA中实现的,所述目标数据通路单元集合中每个数据通路单元与所述至少一个目标PMA应用于的每个数据通路一一对应,目标PCIE接口包括:所述每个目标MAC、所述每个目标数据通路单元集合、所述每个目标数据通路单元集合对应的目标PMA。
在一个可能的实现方式中,所述多个MAC包括至少一个自定义MAC,其中,自定义MAC是根据用户编写的用于实现自定义MAC的代码而在FPGA中实现的,自定义MAC对应的目标数据通路数量是由所述用户设置的。
在一个可能的实现方式中,第一构建单元包括:
数据通路单元选择单元,用于从物理编码子层PCS的多个数据通路单元中选择对应于所述目标MAC的目标数据通路单元集合,以及将所述目标数据通路单元集合中每个数据通路单元与所述目标MAC连接。
在一个可能的实现方式中,所述第二构建单元包括:
PMA选择单元,用于从多个物理媒介适配层PMA中选择出对应于所述目标数据通路单元集合的至少一个目标PMA,以及将所述目标数据通路单元集合与所述至少一个目标PMA连接。
第三方面,本公开提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的方法。
第四方面,本公开提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的方法。
附图说明
为了更清楚地说明本公开具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本公开提供的PCIE接口构建系统的示例的结构示意图;
图2是本公开实施例提供的一种构建PCIE接口的方法的示例流程图;
图3是本公开实施例提供的计算机设备的硬件结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
根据本公开实施例,提供了一种方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
以下首先说明本公开实施例提供的一种构建PCIE接口的方法涉及的一些概念。
PCIE接口,根据PCIE协议设计的高速数据传输接口。PCIE协议支持x1、x2、x4、x8、x16等场景。PCIE接口应用于的数据通路(lane)的数量可以为1、2、4、8、12、16等。
PCIE接口包括:媒介访问层(MAC)、物理编码子层(Physical CodingSublayer,简称PCS)、物理媒介适配层(Physical Medium Attachment sublayer,简称PMA)。
MAC,可以用于链路训练(LTSSM)、拆分组装包到多条lane、扰码和解扰。
PCS可以用于实现编解码例如8b/10b编解码。
PMA可以用于实现串并转换。PMA包括:串行器和解串器(Serializer-Deserializer,简称SerDes)。
PIPE(phsical interface of PCI Express)接口,PIPE接口为PCS与MAC之间的标准接口。
FIFO(First-In-First-Out),用于实现速率切换。
参考图1,其示出了本公开实施例提供的PCIE接口构建系统的一个示例的结构。
需要说明的是,在本公开实施例中,MAC为PCIE MAC的简称。
图1示出了PCIE MAC0、PCIE MAC1...PCIE MACN等多个MAC。每个MAC分别对应先进的可扩展接口(AdcancedeXtensible Interface,简称AXI)。每个MAC分别与MAC对应的AXI连接。图1示出了PCS,PCS可以包括数据通路单元0、数据通路单元1、数据通路单元n等数据通路单元。图1示出了PMA0、PMAN-1、PMAN等多个PMA。
以下说明MAC、PCS、PMA各自与lane的关系。
每个PMA分别应用于多个lane。每个PMA应用于的lane均是预先设置的。每个PMA应用于的lane的数量相同。每个PMA应用于的lane的数量之和为PCIE接口应用于的lane的最大数量。
作为一个示例,PCIE接口应用于的lane的数量为16,每个PMA应用于的lane的数量均为4,PMA的数量为4。第1个PMA应用于lane0、lane1、lane2、lane3。第2个PMA应用于lane4、lane5、lane6、lane7。第3个PMA应用于lane8、lane9、lane10、lane11。第4个PMA应用于lane12、lane13、lane14、lane15。
对于PMAi,PMAi可以用于对在PMAi应用于的任意一个lane上传输的数据实现串并转换。其中,PMAi可以为任意一个PMA。
例如,PMAi应用于PCIE接口应用于的所有lane中的lane0、lane1、lane2、lane3,PMAi可以用于对在lane0、lane1、lane2、lane3中任意一个上传输的数据实现串并转换。
PCS包括多个数据通路单元。对于PCS中数据通路单元i,数据通路单元i可以对应一个lane。图1示出了Serdes mux,对于数据通路单元i,数据通路单元i对应的lane是对应于数据通路单元i所属的目标数据通路单元集合的一个目标PMA应用于的一个lane。
对应于数据通路单元i所属的目标数据通路单元集合的目标PMA可以由Serdesmux选择。
其中,数据通路单元i可以为PCS中任意一个数据通路单元。数据通路单元i可以用于对与数据通路单元i对应的lane相关的数据进行编解码例如8b/10b编解码。
作为一个示例,数据通路单元0对应lane0,数据通路单元N-1对应laneN-1,数据通路单元N对应laneN。数据通路单元0可以用于对与lane0相关的数据进行编解码。数据通路单元N-1可以用于对与laneN-1相关的数据进行编解码。数据通路单元N可以用于对与laneN相关的数据进行编解码。
在对通过PCIE接口应用于的lane接收的数据进行处理的流程中,数据通路单元i针对的与数据通路单元i对应的lane相关的数据是通过应用于与数据通路单元i对应的lane的PMA对与数据通路单元i对应的lane接收的数据进行串并转换而得到的。
在通过PCIE接口应用于的lane发送数据的流程中,数据通路单元i针对的与数据通路单元i对应的lane相关的数据是数据通路单元i对应的FIFO输出的数据。
对于MACi,MACi可以对应PCS中一个或多个数据通路单元。
其中,MACi可以为任意一个MAC。
对于MACi对应的每个数据通路单元,MACi可以用于对与该数据通路单元对应的lane相关的数据进行拆分、组装、扰码、解扰等。
例如,MACi对应4个数据通路单元,MACi对应的4个数据通路单元包括:数据通路单元0、数据通路单元1、数据通路单元2、数据通路单元3。数据通路单元0对应的lane0,数据通路单元1对应的lane1,数据通路单元2对应的lane2,数据通路单元3对应的lane3。MACi可以用于对与lane0相关的数据进行拆分、组装、扰码、解扰等,MACi可以用于对与lane1相关的数据进行拆分、组装、扰码、解扰等,MACi可以用于对与lane2相关的数据进行拆分、组装、扰码、解扰等,MACi可以用于对与lane3相关的数据进行拆分、组装、扰码、解扰等。
在对通过PCIE接口应用于的lane接收的数据进行处理的流程中,MACi针对的与一个lane相关的数据可以是MACi对应的FIFO输出的与该lane相关的数据。
在通过PCIE接口应用于的lane发送数据流程中,MACi针对的与一个lane相关的数据可以是通过MACi对应的AXI接口输入到MACi的与该lane相关的数据。
以下说明MAC、PCS、PMA之间连接关系。
数据通路单元选择单元可以叫做软件可配置的全互联网络(Soft config fullmux)。
MACi对应PCS中多少个数据通路单元可以由用户设置,MACi对应PCS中哪些数据通路单元可以由Soft config full mux选择。
PMA选择单元可以叫做Serdes mux。
对应于目标MAC的目标数据通路单元集合对应哪些PMA即哪些PMA作为对应于目标MAC的目标数据通路单元集合的目标PMA可以由Serdes mux选择。
PCS中每个数据通路单元分别对应不同的FIFO。
图1示出了lane0 FIFO…laneN-1FIFO、laneNFIFO等对应数据通路单元的FIFO。
例如,数据通路单元0对应lane0,数据通路单元N-1对应laneN-1,数据通路单元N对应laneN。数据通路单元0对应的FIFO为lane0 FIFO,数据通路单元N-1对应的FIFO为laneN-1FIFO,数据通路单元N对应的FIFO为laneNFIFO。
对于数据通路单元i,数据通路单元i连接数据通路单元i对应的FIFO,数据通路单元i对应的FIFO连接Soft config full mux。其中,数据通路单元i可以为任意一个数据通路单元。
每个MAC可以对应不同的FIFO。对于MACi,MACi可以通过PIPE接口与MACi对应的FIFO连接。其中,MACi可以为任意一个MAC。
每个MAC对应的FIFO均与Soft config full mux连接。
对于MACi和数据通路单元i,当Soft config full mux将数据通路单元i选择为对应MACi的数据通路单元时,由Soft config full mux将对应于数据通路单元i的FIFO与MACi对应的FIFO连接。从而,MACi与数据通路单元i连接。
以下说明本公开实施例提供的一种构建PCIE接口的方法的示例流程。该示例流程可以由计算机设备执行。图2是根据本公开实施例的构建PCIE接口的方法的流程示意图,该示例流程包括如下步骤:
步骤S201,对于每个目标MAC,根据该目标MAC对应的目标数据通路数量,从PCS的多个数据通路单元中选择对应于该目标MAC的目标数据通路单元集合,以及将对应于该目标MAC的目标数据通路单元集合中每个数据通路单元与该目标MAC连接。
其中,多个MAC、该PCS均是在现场可编程门阵列FPGA中实现的。
目标MAC是用户从多个MAC中选择的MAC,目标MAC的数量为一个或多个。例如,多个MAC为8个MAC,用户从8个MAC中选择2个MAC。用户选择的2个MAC中每个分别作为目标MAC。
对于目标MACi,目标MACi对应的目标数据通路数量为目标数据通路数量i,目标数据通路数量i为一个或多个。目标MACi对应的目标数据通路单元集合包括:目标数据通路数量i个数据通路单元。其中,目标MACi可以为任意一个MAC。
例如,一个目标MAC对应的目标数据通路数量为4,这个目标MAC对应的目标数据通路单元集合包括4个数据通路单元。
在一个示例中,对于目标MACi,当从PCS的多个数据通路单元中选择对应目标MACi的目标数据通路单元集合时,可以从PCS的多个数据通路单元中随机选择目标数据通路数量i个数据通路单元。
在另一个示例中,当从PCS的多个数据通路单元中选择对应目标MACi的目标数据通路单元集合时,可以从PCS的多个数据通路单元中选择位置连续的目标数据通路数量i个数据通路单元。
对于目标MACi对应的每个数据通路单元,目标MACi可以用于对与该数据通路单元对应的lane相关的数据进行拆分、组装、扰码、解扰等。
对于目标MACi,可以由Soft config full mux将对应于该目标MACi的目标数据通路单元集合中每个数据通路单元均与该目标MACi连接。
需要说明的是,对应于该目标MACi的目标数据通路单元集合中每个数据通路单元均与该目标MACi连接具体可以是指:对应于该目标MACi的目标数据通路单元集合中每个数据通路单元均与该目标MACi通信地连接。从而,对于对应于该目标MACi的目标数据通路单元集合中每个数据通路单元,可以在该数据通路单元与目标MACi之间传输数据。
PCS中每个数据通路单元分别对应不同的FIFO。每个数据通路单元对应的FIFO均与Soft config full mux连接。
每个MAC可以对应不同的FIFO。对于每个MAC,该MAC通过PIPE接口与该MAC对应的FIFO连接。每个MAC对应的FIFO均与Soft config full mux连接。
对于对应于目标MACi的目标数据通路单元集合中数据通路单元j,由Soft configfull mux将数据通路单元j对应的FIFO与MACi对应的FIFO连接。从而,将数据通路单元j与MACi连接。
例如,多个MAC中MAC1为一个目标MAC。对应于MAC1的目标数据通路单元集合包括:数据通路单元0、数据通路单元1、数据通路单元2、数据通路单元3。Soft config full mux将数据通路单元0与MAC1连接。Soft config full mux将数据通路单元1与MAC1连接。Softconfig full mux将数据通路单元2与MAC1连接。Soft config full mux将数据通路单元3与MAC1连接。
在一个可能的实现方式中,多个MAC包括至少一个自定义MAC,其中,自定义MAC是根据用户编写的用于实现自定义MAC的代码而在FPGA中实现的,自定义MAC对应的数据通路数量是由用户设置的。
用于实现自定义MAC的代码是通过硬件描述语言编写的。在本公开实施例中,可以由用户自行实现对应用户设置数据通路数量的自定义MAC,进一步提升PCIE接口的灵活性。
步骤S202,对于选择的每个目标数据通路单元集合,从多个PMA中选择出对应于该目标数据通路单元集合的至少一个目标PMA,以及将该目标数据通路单元集合与该至少一个目标PMA连接,以得到目标PCIE接口。
其中,多个PMA是在目标FPGA中实现的。
目标PCIE接口包括:每个目标MAC、每个目标数据通路单元集合每个目标MAC对应的目标数据通路单元集合、每个目标数据通路单元集合对应的目标PMA。
对于目标PCIE接口中每个目标MAC,对应于该目标MAC的目标数据通路单元集合中每个数据通路单元与该目标MAC连接。
对于目标数据通路单元集合i,目标数据通路单元集合i中每个数据通路单元与对应于目标数据通路单元集合i的至少一个目标PMA应用于的每个数据通路一一对应。
目标数据通路单元集合i中数据通路单元的数量等于对应于目标数据通路单元集合i的至少一个目标PMA应用于的数据通路的数量。
对应于该目标数据通路单元集合i的至少一个目标PMA应用于的每个lane由对应于该目标数据通路单元集合i的每个目标PMA应用于的每个lane组成。
对于对应于该目标数据通路单元集合i的目标PMAi,目标PMAi应用于的每个lane分别对应目标数据通路单元集合中一个数据通路单元,目标PMAi应用于的每个lane对应不同的数据通路单元。
其中,目标PMAi为对应于目标数据通路单元集合i的任意一个目标PMA。
对于目标数据通路单元集合i,将目标数据通路单元集合i与该至少一个目标PMA连接包括:对于对应于该目标数据通路单元集合i的目标PMAi,将目标PMAi应用于的每个lane对应的数据通路单元均与目标PMAi连接。
需要说明的是,在本公开实施例中,不对确定目标数据通路单元集合i中数据通路单元与对应于目标数据通路单元集合i的目标PMA应用于的lane的对应关系的方式进行限定,只要确保对应于目标数据通路单元集合i的至少一个目标PMA应用于的每个lane对应目标数据通路单元集合i中不同的数据通路单元即可。任意的可以确保对应于目标数据通路单元集合i的至少一个目标PMA应用于的每个lane对应目标数据通路单元集合i中不同的数据通路单元的方式可以被应用在本公开实施例中。
作为一个示例,多个MAC为8个MAC,用户从8个MAC中选择MAC1、MAC2。MAC1、MAC2分别作为目标MAC。MAC1对应的目标数据通路数量、MAC2对应的目标数据通路数量均为4。
在该示例中,MAC1对应的目标数据通路单元集合1包括4个数据通路单元。MAC2对应的目标数据通路单元集合2包括4个数据通路单元。
在该示例中,MAC1对应的目标数据通路单元集合1包括:数据通路单元0、数据通路单元1、数据通路单元2、数据通路单元3。将多个PMA中PMA1选择为对应于目标数据通路单元集合1的目标PMA。PMA1应用于lane0、lane1、lane2、lane3。数据通路单元0对应的lane0,数据通路单元1对应的lane1,数据通路单元2对应的lane2,数据通路单元3对应的lane3。
在该示例中,MAC2对应的目标数据通路单元集合2包括:数据通路单元4、数据通路单元5、数据通路单元6、数据通路单元7。将多个PMA中PMA2选择为对应于目标数据通路单元集合2的目标PMA。PMA2应用于lane4、lane5、lane6、lane7。数据通路单元4对应的lane4,数据通路单元5对应的lane5,数据通路单元6对应的lane6,数据通路单元7对应的lane7。
在该示例中,目标PCIE接口包括:MAC1、MAC2、目标数据通路单元集合1、目标数据通路单元集合2、PMA1、PMA2。
以下举例说明如何选择目标PMA。
对应于目标MACi的目标数据通路单元集合i包括k个数据通路单元。
在一个示例中,当对于对应于目标MACi的目标数据通路单元集合i,从多个PMA中选择出对应于目标数据通路单元集合i的至少一个目标PMA时,可以从PCIE接口应用于的所有lane中随机选择k个lane,将应用于随机选择的k个lane中至少一个lane的PMA选择为对应于目标数据通路单元集合i的目标PMA。
在另一个示例中,当对于对应于目标MACi的目标数据通路单元集合i,从多个PMA中选择出对应于目标数据通路单元集合i的至少一个目标PMA时,可以从PCIE接口应用于的所有lane中选择位置连续的k个lane,将应用于位置连续的k个lane中至少一个lane的PMA选择为对应于目标数据通路单元集合i的目标PMA。
为了提升PCIE接口的灵活性,本公开实施例提供了一种PCIE接口构建系统,PCIE接口构建系统包括:多个MAC、PCS、多个PMA、第一构建单元、第二构建单元;
第一构建单元,用于对于每个目标媒介访问层MAC,根据所述目标MAC对应的目标数据通路数量,从物理编码子层PCS的多个数据通路单元中选择对应于所述目标MAC的目标数据通路单元集合,以及将所述目标数据通路单元集合中每个数据通路单元与所述目标MAC连接,其中,所述目标数据通路单元集合包括所述目标数据通路数量个数据通路单元,目标MAC是用户从多个MAC中选择的MAC,目标MAC的数量为一个或多个,所述多个MAC、所述PCS均是在现场可编程门阵列FPGA中实现的;
第二构建单元,用于对于选择的每个目标数据通路单元集合,从多个物理媒介适配层PMA中选择出对应于所述目标数据通路单元集合的至少一个目标PMA,以及将所述目标数据通路单元集合与所述至少一个目标PMA连接,以得到目标PCIE接口,其中,所述多个PMA是在FPGA中实现的,所述目标数据通路单元集合中每个数据通路单元与所述至少一个目标PMA应用于的每个数据通路一一对应,目标PCIE接口包括:所述每个目标MAC、所述每个目标数据通路单元集合、所述每个目标数据通路单元集合对应的目标PMA。
在一个可能的实现方式中,所述多个MAC包括至少一个自定义MAC,其中,自定义MAC是根据用户编写的用于实现自定义MAC的代码而在FPGA中实现的,自定义MAC对应的目标数据通路数量是由所述用户设置的。
在一个可能的实现方式中,第一构建单元包括:
数据通路单元选择单元,用于从物理编码子层PCS的多个数据通路单元中选择对应于所述目标MAC的目标数据通路单元集合,以及将所述目标数据通路单元集合中每个数据通路单元与所述目标MAC连接。
在一个可能的实现方式中,所述第二构建单元包括:
PMA选择单元,用于从多个物理媒介适配层PMA中选择出对应于所述目标数据通路单元集合的至少一个目标PMA,以及将所述目标数据通路单元集合与所述至少一个目标PMA连接。
参考图3,其示出了本公开实施例提供的一种计算机设备的结构示意图,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,所述存储器20存储有可由至少一个处理器10执行的指令,以使所述至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该计算机设备还包括输入装置30和输出装置40。处理器10、存储器20、输入装置30和输出装置40可以通过总线或者其他方式连接。
输入装置30可接收输入的数字或字符信息,以及产生与该计算机设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等。输出装置40可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。上述显示设备包括但不限于液晶显示器,发光二极管,显示器和等离子体显示器。在一些可选的实施方式中,显示设备可以是触摸屏。
该计算机设备还包括通信接口,用于该计算机设备与其他设备或通信网络通信。
本公开实施例还提供了一种计算机可读存储介质,上述根据本公开实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
虽然结合附图描述了本公开的实施例,但是本领域技术人员可以在不脱离本公开的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

Claims (10)

1.一种构建PCIE接口的方法,其特征在于,所述方法包括:
对于每个目标媒介访问层MAC,根据所述目标MAC对应的目标数据通路数量,从物理编码子层PCS的多个数据通路单元中选择对应于所述目标MAC的目标数据通路单元集合,以及将所述目标数据通路单元集合中每个数据通路单元与所述目标MAC连接,其中,所述目标数据通路单元集合包括所述目标数据通路数量个数据通路单元,目标MAC是用户从多个MAC中选择的MAC,目标MAC的数量为一个或多个,所述多个MAC、所述PCS均是在现场可编程门阵列FPGA中实现的;
对于选择的每个目标数据通路单元集合,从多个物理媒介适配层PMA中选择出对应于所述目标数据通路单元集合的至少一个目标PMA,以及将所述目标数据通路单元集合与所述至少一个目标PMA连接,以得到目标PCIE接口,其中,所述多个PMA是在FPGA中实现的,所述目标数据通路单元集合中每个数据通路单元与所述至少一个目标PMA应用于的每个数据通路一一对应,目标PCIE接口包括:所述每个目标MAC、所述每个目标数据通路单元集合、所述每个目标数据通路单元集合对应的目标PMA。
2.根据权利要求1所述的方法,其特征在于,所述多个MAC包括至少一个自定义MAC,其中,自定义MAC是根据用户编写的用于实现自定义MAC的代码而在FPGA中实现的,自定义MAC对应的目标数据通路数量是由所述用户设置的。
3.根据权利要求1所述的方法,其特征在于,从物理编码子层PCS的多个数据通路单元中选择对应于所述目标MAC的目标数据通路单元集合,以及将所述目标数据通路单元集合中每个数据通路单元与所述目标MAC连接包括:
利用数据通路单元选择单元,从物理编码子层PCS的多个数据通路单元中选择对应于所述目标MAC的目标数据通路单元集合,以及将所述目标数据通路单元集合中每个数据通路单元与所述目标MAC连接。
4.根据权利要求1所述的方法,从多个物理媒介适配层PMA中选择出对应于所述目标数据通路单元集合的至少一个目标PMA,以及将所述目标数据通路单元集合与所述至少一个目标PMA连接包括:
利用PMA选择单元,从多个物理媒介适配层PMA中选择出对应于所述目标数据通路单元集合的至少一个目标PMA,以及将所述目标数据通路单元集合与所述至少一个目标PMA连接。
5.一种PCIE接口构建系统,其特征在于,所述PCIE接口构建系统包括:多个MAC、PCS、多个PMA、第一构建单元、第二构建单元;
第一构建单元,用于对于每个目标媒介访问层MAC,根据所述目标MAC对应的目标数据通路数量,从物理编码子层PCS的多个数据通路单元中选择对应于所述目标MAC的目标数据通路单元集合,以及将所述目标数据通路单元集合中每个数据通路单元与所述目标MAC连接,其中,所述目标数据通路单元集合包括所述目标数据通路数量个数据通路单元,目标MAC是用户从多个MAC中选择的MAC,目标MAC的数量为一个或多个,所述多个MAC、所述PCS均是在现场可编程门阵列FPGA中实现的;
第二构建单元,用于对于选择的每个目标数据通路单元集合,从多个物理媒介适配层PMA中选择出对应于所述目标数据通路单元集合的至少一个目标PMA,以及将所述目标数据通路单元集合与所述至少一个目标PMA连接,以得到目标PCIE接口,其中,所述多个PMA是在FPGA中实现的,所述目标数据通路单元集合中每个数据通路单元与所述至少一个目标PMA应用于的每个数据通路一一对应,目标PCIE接口包括:所述每个目标MAC、所述每个目标数据通路单元集合、所述每个目标数据通路单元集合对应的目标PMA。
6.根据权利要求5所述的系统,其特征在于,所述多个MAC包括至少一个自定义MAC,其中,自定义MAC是根据用户编写的用于实现自定义MAC的代码而在FPGA中实现的,自定义MAC对应的目标数据通路数量是由所述用户设置的。
7.根据权利要求5所述的系统,其特征在于,第一构建单元包括:
数据通路单元选择单元,用于从物理编码子层PCS的多个数据通路单元中选择对应于所述目标MAC的目标数据通路单元集合,以及将所述目标数据通路单元集合中每个数据通路单元与所述目标MAC连接。
8.根据权利要求5所述的系统,其特征在于,所述第二构建单元包括:
PMA选择单元,用于从多个物理媒介适配层PMA中选择出对应于所述目标数据通路单元集合的至少一个目标PMA,以及将所述目标数据通路单元集合与所述至少一个目标PMA连接。
9.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至4中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至4中任一项所述的方法。
CN202410102148.XA 2024-01-24 2024-01-24 构建pcie接口的方法及pcie接口构建系统 Active CN117851323B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410102148.XA CN117851323B (zh) 2024-01-24 2024-01-24 构建pcie接口的方法及pcie接口构建系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410102148.XA CN117851323B (zh) 2024-01-24 2024-01-24 构建pcie接口的方法及pcie接口构建系统

Publications (2)

Publication Number Publication Date
CN117851323A true CN117851323A (zh) 2024-04-09
CN117851323B CN117851323B (zh) 2024-06-07

Family

ID=90547626

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410102148.XA Active CN117851323B (zh) 2024-01-24 2024-01-24 构建pcie接口的方法及pcie接口构建系统

Country Status (1)

Country Link
CN (1) CN117851323B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103875205A (zh) * 2013-09-13 2014-06-18 华为技术有限公司 传输数据的方法和装置
US20180059957A1 (en) * 2016-08-31 2018-03-01 International Business Machines Corporation Managing access to storage resources
CN110493310A (zh) * 2019-07-17 2019-11-22 中国人民解放军战略支援部队信息工程大学 一种软件定义的协议控制器及方法
US20200250119A1 (en) * 2019-02-01 2020-08-06 Liqid Inc. Specialized Device Instantiation Onto PCIe Fabrics
CN111858459A (zh) * 2020-06-10 2020-10-30 海光信息技术有限公司 处理器及计算机
CN115203099A (zh) * 2021-04-14 2022-10-18 爱思开海力士有限公司 包括pipe5到pipe4转换器的系统及其方法
CN115694739A (zh) * 2022-10-31 2023-02-03 国家电网有限公司信息通信分公司 一种千兆以太网的数据传输装置及方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103875205A (zh) * 2013-09-13 2014-06-18 华为技术有限公司 传输数据的方法和装置
CN106453028A (zh) * 2013-09-13 2017-02-22 华为技术有限公司 传输数据的方法和装置
US20180059957A1 (en) * 2016-08-31 2018-03-01 International Business Machines Corporation Managing access to storage resources
US20200250119A1 (en) * 2019-02-01 2020-08-06 Liqid Inc. Specialized Device Instantiation Onto PCIe Fabrics
CN110493310A (zh) * 2019-07-17 2019-11-22 中国人民解放军战略支援部队信息工程大学 一种软件定义的协议控制器及方法
CN111858459A (zh) * 2020-06-10 2020-10-30 海光信息技术有限公司 处理器及计算机
CN115203099A (zh) * 2021-04-14 2022-10-18 爱思开海力士有限公司 包括pipe5到pipe4转换器的系统及其方法
CN115694739A (zh) * 2022-10-31 2023-02-03 国家电网有限公司信息通信分公司 一种千兆以太网的数据传输装置及方法

Also Published As

Publication number Publication date
CN117851323B (zh) 2024-06-07

Similar Documents

Publication Publication Date Title
US7096310B2 (en) Switch configurable for a plurality of communication protocols
KR102691053B1 (ko) NVMe-SSD 저장 장치 및 NVMe-oF 호스트 유닛 사이의 통신 관리 시스템 및 방법
CN105653066B (zh) 一种输入法处理的方法及设备
CN112543925B (zh) 用于使用专用低延迟链路的多个硬件加速器的统一地址空间
CN109857690B (zh) 驱动器的应用系统、驱动器和数据传输方法
US20130024595A1 (en) Pci express switch with logical device capability
US10887252B2 (en) Efficient scatter-gather over an uplink
US20170344506A1 (en) Qos-aware io management for pcie storage system with reconfigurable multi-ports
US20190173960A1 (en) Method, device and computer program product for protocol selection
US10789197B2 (en) Methods and system for providing software defined microcontroller unit (MCU)
JP2010061194A (ja) データ転送装置
US20090189863A1 (en) Combination console module for kvm switch
TWI619022B (zh) 顯示裝置以及電子裝置切換器
US20100225565A1 (en) Mipi analog switch for efficient selection of multiple displays
CN117851323B (zh) 构建pcie接口的方法及pcie接口构建系统
CN105677599A (zh) 主机、主机管理从机的方法及系统
US20030212743A1 (en) Scalable low bandwidth multicast handling in mixed core systems
CN116594922B (zh) 一种数据访问电路、方法及系统级芯片
CN117056249B (zh) 一种mdio到ahb的转换方法、系统、设备及介质
US8943256B1 (en) Serial data intermediary device, and related systems and methods
CN111371763A (zh) 图片的网络穿透访问方法、系统、存储介质及电子设备
CN103116560B (zh) 可编程刀片服务器结构
CN111813407A (zh) 游戏开发方法、游戏运行方法、装置和电子设备
CN111092876B (zh) 多主机系统、电子设备、存储介质、用于多主机系统的信息处理方法及装置
US20150254082A1 (en) Remote booting over pci express using synthetic remote boot capability

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