基于fpga的字节对齐方法、装置、设备及存储介质

文档序号:649762 发布日期:2021-05-14 浏览:19次 >En<

阅读说明:本技术 基于fpga的字节对齐方法、装置、设备及存储介质 (Byte alignment method, device and equipment based on FPGA and storage medium ) 是由 王文明 崔鲲 黄玮 潘龙 于 2021-01-29 设计创作,主要内容包括:本发明公开了一种基于FPGA的字节对齐方法、装置、设备及存储介质,该方法包括:接收串行数据流,串行数据流包括标志位,串行数据流是通过发送端的FPGA中内置的SERDES收发器将第一并行数据流转换得到,第一并行数据流包括多个并行传输二进制码的第一数据位,标志位为任意一个第一数据位,除标志位外的第一数据位用于传输有效载荷;通过接收端FPGA中内置的SERDES收发器将串行数据流转换为第二并行数据流;查询标志位在第二并行数据流中的位置,作为目标位置;基于目标位置对第二并行数据流进行字节调整,以使第二并行数据流与第一并行数据流对齐。本发明所提出的字节对齐方法占用数据传输的带宽较小,占用FPGA的资源较少,且操作简单,易于实现。(The invention discloses a byte alignment method, a byte alignment device, byte alignment equipment and a storage medium based on an FPGA (field programmable gate array), wherein the method comprises the following steps: receiving a serial data stream, wherein the serial data stream comprises a flag bit, the serial data stream is obtained by converting a first parallel data stream through a built-in SERDES transceiver in an FPGA of a sending end, the first parallel data stream comprises a plurality of first data bits of a parallel transmission binary code, the flag bit is any one of the first data bits, and the first data bits except the flag bit are used for transmitting a payload; converting the serial data stream into a second parallel data stream through a built-in SERDES transceiver in the receiving end FPGA; querying the position of the marker bit in the second parallel data stream as a target position; byte-justified second parallel data streams are based on the target location to align the second parallel data streams with the first parallel data streams. The byte alignment method provided by the invention occupies smaller bandwidth of data transmission, occupies less resources of the FPGA, and is simple to operate and easy to realize.)

基于FPGA的字节对齐方法、装置、设备及存储介质

技术领域

本发明实施例涉及数字通信技术,尤其涉及一种基于FPGA的字节对齐方法、装置、设备及存储介质。

背景技术

随着大数据的兴起以及信息技术的快速发展,数据传输对总线带宽的要求越来越高,并行传输技术的发展受到了时序同步困难、信号偏移严重,抗干扰能力弱以及设计复杂度高等一系列问题的阻碍。与并行传输技术相比,串行传输技术的引脚数量少、扩展能力强、采用点对点的连接方式,能提供比并行传输更高的带宽,因此现已广泛用于嵌入式高速传输领域。

在带有FPGA的接收端设备与带有FPGA的发送端设备的数据传输过程中,通常会经历并行数据转串行数据、再由串行数据转并行数据的过程,FPGA(Field ProgrammableGate Array,可编程逻辑门阵列)已经内置了一个或多个SERDES(Serializer/Deserializer)收发器,SERDES收发器内部包括高速串并转换电路,可以为各种高速串行数据传输协议提供物理层基础。由于SERDES收发器只能对传输数据进行随机的串并转换,为了使接收端的并行数据与发送端的并行数据保持一致,需要对接收端的并行数据与发送端的并行数据进行字节对齐。

传统的SERDES字节对齐方式需要插入起始位和结束位,但该方式会占用数据传输总带宽的八分之一,或者,采用8B/10B编码,但需要额外增加数据传输总带宽的四分之一带宽。现有的字节对齐方法都是通过对数据流进行编码,增加起始位、结束位、特征字符,以区分串行数据流的边界,但采用编码的方式会产生较大的额外开销,占用有限的带宽资源。

发明内容

本发明提供一种基于FPGA的字节对齐方法、装置、设备及存储介质,以解决现有字节对齐方法中占用较大带宽资源的问题。

第一方面,本发明实施例提供了一种基于FPGA的字节对齐方法,所述方法包括:

接收串行数据流,所述串行数据流包括标志位,所述串行数据流是通过发送端的FPGA中内置的SERDES收发器将第一并行数据流转换得到,所述第一并行数据流包括多个并行传输二进制码的第一数据位,标志位为任意一个第一数据位,除标志位外的第一数据位用于传输有效载荷;

通过接收端的FPGA中内置的SERDES收发器将所述串行数据流转换为第二并行数据流;

查询所述标志位在所述第二并行数据流中的位置,作为目标位置;

基于所述目标位置对所述第二并行数据流进行字节调整,以使所述第二并行数据流与所述第一并行数据流对齐。

第二方面,本发明实施例还提供了一种基于FPGA的字节对齐装置,所述装置包括:

数据接收模块,用于接收串行数据流,所述串行数据流包括标志位,所述串行数据流是通过发送端的FPGA中内置的SERDES收发器将第一并行数据流转换得到,所述第一并行数据流包括多个并行传输二进制码的第一数据位,标志位为任意一个第一数据位,除标志位外的第一数据位用于传输有效载荷;

串并转换模块,用于通过接收端的FPGA中内置的SERDES收发器将所述串行数据流转换为第二并行数据流;

查询模块,用于查询所述标志位在所述第二并行数据流中的位置,作为目标位置;

字节对齐模块,用于基于所述目标位置对所述第二并行数据流进行字节调整,以使所述第二并行数据流与所述第一并行数据流对齐。

第三方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:

一个或多个处理器;

存储器,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的基于FPGA的字节对齐方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述的基于FPGA的字节对齐方法。

本发明通过接收串行数据流,串行数据流包括标志位,串行数据流是通过发送端的FPGA中内置的SERDES收发器将第一并行数据流转换得到,第一并行数据流包括多个并行传输二进制码的第一数据位,标志位为任意一个第一数据位,除标志位外的第一数据位用于传输有效载荷;通过接收端FPGA中内置的SERDES收发器将串行数据流转换为第二并行数据流;查询标志位在第二并行数据流中的位置,作为目标位置;基于目标位置对第二并行数据流进行字节调整,以使第二并行数据流与第一并行数据流对齐。本发明所提出的字节对齐方法无需对发送端与接收端之间传输的数据进行额外的编解码操作,相比较现有技术中依据编码方法来实现发送端的数据与接收端的数据的字节对齐的方式,本发明的方法占用数据传输的带宽较小,占用FPGA的资源较少,且操作简单,易于实现。

附图说明

图1为本发明实施例一提供的一种基于FPGA的字节对齐方法的流程图;

图2为本发明实施例一提供的一种基于FPGA的字节对齐方法的示意图;

图3为本发明实施例一提供的一种数据流传输的示意图;

图4为本发明实施例二提供的一种基于FPGA的字节对齐装置的结构示意图;

图5为本发明实施例三提供的一种计算机设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

应注意到:在本发明实施例的描述中,术语“第一”、“第二”、“第三”等次序词仅用于区分描述,而不能理解为指示或暗示相对重要性。

实施例一

图1为本发明实施例一提供的一种基于FPGA的字节对齐方法的流程图,本实施例可适用于在FPGA中不使用额外的编码功能、对并行数据流转成的串行数据流进行边界区分的情况,该方法可以由基于FPGA的字节对齐装置来执行,该基于FPGA的字节对齐装置可以由软件和/或硬件实现,可配置在计算机设备中,例如,服务器、工作站、个人电脑,等等,该方法具体包括如下步骤:

S101、接收串行数据流。

在本实施例中,接收端接收由发送端FPGA接口发送来的串行数据流,串行数据流包括标志位,串行数据流是通过发送端的FPGA中内置的SERDES收发器将发送端的第一并行数据流转换得到,第一并行数据流包括多个并行传输二进制码的第一数据位,标志位可以为任意一个第一数据位,除标志位外的其他的第一数据位用于传输有效载荷,有效载荷是指发送端传输的数据帧中具有有效数据信息的分组。

本实施例中,第一数据位是指数据位(位),是计算机内部数据存储的最小单位,第一并行数据流是发送端的并行数据流,并行数据流是指多路并行传输的数据流,每一路数据流占据一个固定的数据位。

本发明的方法无需在第一并行数据流转换为串行数据流的过程中进行编码操作,只需在第一并行数据流中选择任意一个第一数据位作为标志位,将该标志位中传输的二进制码固定设为1。例如,第一并行数据流为16位宽的数据流,包括16个数据位,可以选择任意一个数据位置为“1”,如选择位15,将位15全置为“1”,位0-14用来传输有效载荷,因有效载荷不可能为连续的“1”,故位0-14和位15可以进行区分,位15为标志位。

S102、通过接收端的FPGA中内置的SERDES收发器将串行数据流转换为第二并行数据流。

在本实施例中,第二并行数据流包括多个并行传输二进制码的第二数据位。第二数据位的实质也是数据位(位),是计算机内部数据存储的最小单位,第二并行数据流与第一并行数据流的实质都是并行数据流,“第一”和“第二”仅用于区分发送端和接收端的并行数据流。

SERDES是Serializer和Deserializer的英文缩写,适用于高速传输的情况。本实施例从功能上对SERDES收发器做进一步的解释,SERDES收发器由两部分构成:发端为串行发送单元Serializer,用高速时钟调制编码数据流;接端为串行接收单元Deserializer,其主要作用是从数据流中恢复出时钟信号,并解调还原数据。在一个示例中,发送端设备中有10根100MHZ的信号线接入SERDES器件,由SERDES器件产生串行数据流,时钟信号也调制在该串行码流内;在接收端则通过SERDES器件恢复并行数据流和时钟信号。SERDES技术的应用很好地解决了高速系统数据传输的瓶颈(特别是背板传输应用),节约了单板面积,提高了系统的稳定性,是高速系统设计的强有力支撑。

S103、查询标志位在第二并行数据流中的位置,作为目标位置。

在本实施例的一种实现方式中,可以统计第二并行数据流中每个第二数据位上传输的二进制码连续为1的总数量;基于总数量确定标志位在第二并行数据流中的位置,作为目标位置。

在一个示例中,可以在接收端配置多个计数器,使用计数器来统计第二并行数据流中传输的二进制码连续为1的个数,具体步骤包括:

分别为第二并行数据流中每个第二数据位配置一个计数器;若第二数据位上传输的二进制码为1,则将与第二数据位对应的计数器加1;若第二数据位上传输的二进制码为0,则将与第二数据位对应的计数器清零;统计所有计数器的计数结果;基于计数结果确定第二并行数据流中每个第二数据位上传输的二进制码连续为1的总数量。需要说明的是,在第二并行数据流的同一个第二数据位上,只要检测到该第二数据位当前时刻传输的二进制码为0,与该第二数据位匹配的计数器将被清零。

在一个示例中,若所有计数器的计数结果不全为零,则可以基于总数量来确定发送端发送来的标志位在第二并行数据流中的位置,具体包括:

若总数量达到预设的阈值,则确定与总数量对应的第二数据位为接收端的标志位;将接收端的标志位在第二并行数据流中处于多个有序排列的第二数据位中的位置,作为目标位置。

在本示例中,预设的阈值可以设定为计数器的上限数值,例如,可以设定12位的计数器,当计数器累加值为“111111111111”时,则认为该计数器对应的第二数据位为发送端传输至接收端的标志位。

S104、基于目标位置对第二并行数据流进行调整,以使第二并行数据流与第一并行数据流对齐。

在本实施例的一种实现方式中,可以确定发送端的标志位在第一并行数据流中的位置,作为原始位置;基于目标位置与原始位置之间的位移差对第二并行数据流进行字节调整,以使第二并行数据流与第一并行数据流对齐。

该实现方式的具体步骤包括:确定发送端的标志位在第一并行数据流中的位置,作为原始位置;确定在第二并行数据流中与原始位置对应的第二数据位的位置,作为参考位置;计算目标位置与参考位置之间相差的第二数据位的总个数,作为位移差;基于位移差对第二并行数据流进行字节移位调整,以使第二并行数据流与第一并行数据流对齐。

在本实施例的另一种实现方式中,可以确定发送端的标志位在第一并行数据流中的位置,作为原始位置;确定以目标位置为中心、由围绕中心的多个第二数据位组成的字节范围;基于字节范围对第二并行数据流进行字节调整,以使第二并行数据流与第一并行数据流对齐。

该实现方式的具体步骤包括:确定发送端的标志位在第一并行数据流中的位置,作为原始位置;查询第一并行数据流中位于原始位置之前的第一数据位的总个数、作为第一数值;查询第一并行数据流中位于原始位置之后的第一数据位的总个数、作为第二数值;按照第一数值从第二并行数据流中筛选出位于目标位置之前的多个第二数据位,得到第一分组;按照第二数值从第二并行数据流中筛选出位于目标位置之后的多个第二数据位,得到第二分组;确定由第一分组、位于目标位置的标志位、第二分组所组成的全部第二数据位的范围,作为字节范围;基于字节范围对第二并行数据流进行字节调整,以使第二并行数据流与第一并行数据流对齐。

为了便于本领域技术人员的理解,下面通过一个具体示例来说明本发明的方法。

如图2所示,在发送端的第一并行数据流中任意选择一个第一数据位作为标志位,本示例中的第一并行数据流为16位并行数据,如选择位15作为标志位,将位15全置为“1”,位0-位14用来传输有效载荷,因有效载荷不可能为连续的“1”,故位0-14和位15可以进行区分。

在图2中,将第一并行数据流通过发送端设备FPGA中的SERDES收发器转变为串行数据流,接收端设备接收串行数据流,并通过接收端设备FPGA中的SERDES收发器对该串行数据流进行随机的串并转换,在此串并转换的过程中,由于数据位会随机移位(如图3所示,发送端的第一并行数据流经过并转串,得到串行数据流,接收端将串行数据流经过串转并得到第二并行数据流后,第一并行数据流中的第一数据位经数据转换后在第二并行数据流中会随机移位),因此需要对接收端获得的第二并行数据流中的第二数据位进行重新调整,以得到与发送端的第一并行数据流一致的正确数据。

接收端的第二并行数据流为16位数据流,包括16个第二数据位,从低位到高位的排序为位0-位15,在接收端用16个12位的计数器分别监测位0-位15上的连续“1”的个数,如果位0-位15上的二进制码为“1”,相应的计数器累加1,如果位0-位15上的二进制码为“0”,相应的计数器清零。当计数器累加值为“111111111111”时,则认为该计数器对应的第二数位为发送端的位15(第一数据位),将该第二数位作为接收端的标志位,确定接收端的标志位的目标位置,该目标位置可以是第二并行数据流中的任意一个第二数据位,例如位0-位15中的任意一位。

确定发送端的标志位所在的原始位置(本示例中为位15),基于目标位置与原始位置之间的位移差对第二并行数据流进行字节移位调整,具体的,可以在第二并行数据流中查询与原始位置对应的第二数据位所在的参考位置,将接收端的标志位移动到该参考位置上,其他的第二数据位也进行相应的移位,使得接收端的第二并行数据流与发送端的第一并行数据流对齐。

在本示例中,可以借助缓存数组对第二并行数据流进行第二数据位的调整,首先对接收端的第二并行数据流做一个字节缓存,将第二并行数据流在上一时刻传输的数据帧缓存进第一数组buf_data[15:0],将第二并行数据流在当前时刻最新接收到的数据帧存入第二数组data[15:0],将字节对齐后的数据帧存入第三数组adj_data[15:0],下面对字节移位操作进行具体的说明。

在本示例中,如果接收端的位0为标志位,则把data[0]送到adj_data[15],buf_data[15:1]送到adj_data[14:0]。

在本示例中,如果接收端位1为标志位,则把data[1:0]送到adj_data[15:14],buf_data[15:2]送到adj_data[13:0]。

在本示例中,如果接收端位2为标志位,则把data[2:0]送到adj_data[15:13],buf_data[15:3]送到adj_data[12:0]。

在本示例中,如果接收端位3为标志位,则把data[3:0]送到adj_data[15:12],buf_data[15:4]送到adj_data[11:0]。

在本示例中,如果接收端位4为标志位,则把data[4:0]送到adj_data[15:11],buf_data[15:5]送到adj_data[10:0]。

在本示例中,如果接收端位5为标志位,则把data[5:0]送到adj_data[15:10],buf_data[15:6]送到adj_data[9:0]。

在本示例中,如果接收端位6为标志位,则把data[6:0]送到adj_data[15:9],buf_data[15:7]送到adj_data[8:0]。

在本示例中,如果接收端位7为标志位,则把data[7:0]送到adj_data[15:8],buf_data[15:8]送到adj_data[7:0]。

在本示例中,如果接收端位8为标志位,则把data[8:0]送到adj_data[15:7],buf_data[15:9]送到adj_data[6:0]。

在本示例中,如果接收端位9为标志位,则把data[9:0]送到adj_data[15:6],buf_data[15:10]送到adj_data[5:0]。

在本示例中,如果接收端位10为标志位,则把data[10:0]送到adj_data[15:5],buf_data[15:11]送到adj_data[4:0]。

在本示例中,如果接收端位11为标志位,则把data[11:0]送到adj_data[15:4],buf_data[15:12]送到adj_data[3:0]。

在本示例中,如果接收端位12为标志位,则把data[12:0]送到adj_data[15:3],buf_data[15:13]送到adj_data[2:0]。

在本示例中,如果接收端位13为标志位,则把data[13:0]送到adj_data[15:2],buf_data[15:14]送到adj_data[1:0]。

在本示例中,如果接收端位14为标志位,则把data[14:0]送到adj_data[15:1],buf_data[15]送到adj_data[0]。

在本示例中,如果接收端位15为标志位,则把data[15:0]送到adj_data[15:0]。

本发明实施例通过接收串行数据流,串行数据流包括标志位,串行数据流是通过发送端的FPGA中内置的SERDES收发器将第一并行数据流转换得到,第一并行数据流包括多个并行传输二进制码的第一数据位,标志位为任意一个第一数据位,除标志位外的第一数据位用于传输有效载荷;通过接收端FPGA中内置的SERDES收发器将串行数据流转换为第二并行数据流;查询标志位在第二并行数据流中的位置,作为目标位置;基于目标位置对第二并行数据流进行字节调整,以使第二并行数据流与第一并行数据流对齐。本发明所提出的字节对齐方法无需对发送端与接收端之间传输的数据进行额外的编解码操作,相比较现有技术中依据编码方法来实现发送端的数据与接收端的数据的字节对齐的方式,本发明的方法占用数据传输的带宽较小,占用FPGA的资源较少,且操作简单,易于实现。

实施例二

图4为本发明实施例二提供的一种基于FPGA的字节对齐装置的结构示意图,该装置具体可以包括如下模块:

数据接收模块401,用于接收串行数据流,所述串行数据流包括标志位,所述串行数据流是通过发送端的FPGA中内置的SERDES收发器将第一并行数据流转换得到,所述第一并行数据流包括多个并行传输二进制码的第一数据位,标志位为任意一个第一数据位,除标志位外的第一数据位用于传输有效载荷;

串并转换模块402,用于通过接收端的FPGA中内置的SERDES收发器将所述串行数据流转换为第二并行数据流;

查询模块403,用于查询所述标志位在所述第二并行数据流中的位置,作为目标位置;

字节对齐模块404,用于基于所述目标位置对所述第二并行数据流进行字节调整,以使所述第二并行数据流与所述第一并行数据流对齐。

在本发明的一个实施例中,所述第二并行数据流包括多个并行传输二进制码的第二数据位,标志位中传输的二进制码设为1;所述查询模块403包括:

统计子模块,用于统计所述第二并行数据流中每个第二数据位上传输的二进制码连续为1的总数量;

位置确认子模块,用于基于所述总数量确定所述标志位在所述第二并行数据流中的位置,作为目标位置。

在本发明的一个实施例中,所述统计子模块包括:

计数器分配单元,用于分别为所述第二并行数据流中每个第二数据位配置一个计数器;

计数器累加单元,用于若所述第二数据位上传输的二进制码为1,则将与所述第二数据位对应的计数器加1;

计数器重置单元,用于若所述第二数据位上传输的二进制码为0,则将与所述第二数据位对应的计数器清零;

计数结果统计单元,用于统计所有所述计数器的计数结果;

计数结果确定单元,用于基于所述计数结果确定所述第二并行数据流中每个第二数据位上传输的二进制码连续为1的总数量。

在本发明的一个实施例中,所述装置还包括:

异常确定模块,用于若所有所述计数器的计数结果为0,则确定所述第二并行数据流存在误码。

在本发明的一个实施例中,所有的所述第二数据位在第二并行数据流中为有序排列;所述位置确认子模块包括:

标志位确定单元,用于若所述总数量达到预设的阈值,则确定与所述总数量对应的所述第二数据位为接收端的标志位;

目标位置确定单元,用于将所述接收端的标志位在所述第二并行数据流中处于多个有序排列的第二数据位中的位置,作为目标位置。

在本发明的一个实施例中,所述字节对齐模块404包括:

原始位置确定子模块,用于确定所述发送端的标志位在第一并行数据流中的位置,作为原始位置;

第一字节对齐子模块,用于基于所述目标位置与所述原始位置之间的位移差对所述第二并行数据流进行字节调整,以使所述第二并行数据流与所述第一并行数据流对齐;

或者,

字节范围确定子模块,用于确定以所述目标位置为中心、由围绕所述中心的多个第二数据位组成的字节范围;

第二字节对齐子模块,用于基于所述字节范围对所述第二并行数据流进行字节调整,以使所述第二并行数据流与所述第一并行数据流对齐。

在本发明的一个实施例中,所述第一字节对齐子模块包括:

参考位置确定单元,用于确定在所述第二并行数据流中与所述原始位置对应的第二数据位的位置,作为参考位置;

位移差计算单元,用于计算所述目标位置与所述参考位置之间相差的第二数据位的总个数,作为位移差;

移位调整单元,用于基于所述位移差对所述第二并行数据流进行字节移位调整,以使所述第二并行数据流与所述第一并行数据流对齐。

在本发明的一个实施例中,所述字节范围确定子模块包括:

第一数值确定单元,用于查询所述第一并行数据流中位于所述原始位置之前的第一数据位的总个数、作为第一数值;

第二数值确定单元,用于查询所述第一并行数据流中位于所述原始位置之后的第一数据位的总个数、作为第二数值;

第一分组确定单元,用于按照第一数值从所述第二并行数据流中筛选出位于所述目标位置之前的多个第二数据位,得到第一分组;

第二分组确定单元,用于按照第二数值从所述第二并行数据流中筛选出位于所述目标位置之后的多个第二数据位,得到第二分组;

字节范围确定单元,用于确定由所述第一分组、位于所述目标位置的标志位、所述第二分组所组成的全部第二数据位的范围,作为字节范围。

本发明实施例所提供的基于FPGA的字节对齐装置可执行本发明任意实施例所提供的基于FPGA的字节对齐方法,具备执行方法相应的功能模块和有益效果。

实施例三

图5为本发明实施例三提供的一种计算机设备的结构示意图,如图5所示,该计算机设备包括处理器500、存储器501、通信模块502、输入装置503和输出装置504;计算机设备中处理器500的数量可以是一个或多个,图5中以一个处理器500为例;计算机设备中的处理器500、存储器501、通信模块502、输入装置503和输出装置504可以通过总线或其他方式连接,图5中以通过总线连接为例。

存储器501作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的基于FPGA的字节对齐方法对应的模块(例如,如图4所示的基于FPGA的字节对齐装置中的数据接收模块401、串并转换模块402、查询模块403和字节对齐模块404)。处理器500通过运行存储在存储器501中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的基于FPGA的字节对齐方法。

存储器501可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器501可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器501可进一步包括相对于处理器500远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

通信模块502,用于与显示屏建立连接,并实现与显示屏的数据交互。

输入装置503可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。

输出装置504可包括显示屏等显示设备。

需要说明的是,输入装置503和输出装置504的具体组成可以根据实际情况设定。

本实施例提供的计算机设备,可执行本发明任一实施例提供的基于FPGA的字节对齐方法,具备相应的功能和有益效果。

实施例四

本发明实施例四还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一实施例的基于FPGA的字节对齐方法。

该方法包括:

接收串行数据流,所述串行数据流包括标志位,所述串行数据流是通过发送端的FPGA中内置的SERDES收发器将第一并行数据流转换得到,所述第一并行数据流包括多个并行传输二进制码的第一数据位,标志位为任意一个第一数据位,除标志位外的第一数据位用于传输有效载荷;

通过接收端的FPGA中内置的SERDES收发器将所述串行数据流转换为第二并行数据流;

查询所述标志位在所述第二并行数据流中的位置,作为目标位置;

基于所述目标位置对所述第二并行数据流进行字节调整,以使所述第二并行数据流与所述第一并行数据流对齐。

当然,本发明实施例所提供的计算机可读存储介质,其计算机程序不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的基于FPGA的字节对齐方法中的相关操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

值得注意的是,上述基于FPGA的字节对齐装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

16页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种USB3.0接口到CPCI接口的一对多转换装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!