CN114363131A - 用于多模式信道的物理编码子层极性推断与自动翻转方法及装置 - Google Patents

用于多模式信道的物理编码子层极性推断与自动翻转方法及装置 Download PDF

Info

Publication number
CN114363131A
CN114363131A CN202210048222.5A CN202210048222A CN114363131A CN 114363131 A CN114363131 A CN 114363131A CN 202210048222 A CN202210048222 A CN 202210048222A CN 114363131 A CN114363131 A CN 114363131A
Authority
CN
China
Prior art keywords
data
bit
signal
data buffer
polarity
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
CN202210048222.5A
Other languages
English (en)
Other versions
CN114363131B (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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202210048222.5A priority Critical patent/CN114363131B/zh
Priority claimed from CN202210048222.5A external-priority patent/CN114363131B/zh
Publication of CN114363131A publication Critical patent/CN114363131A/zh
Application granted granted Critical
Publication of CN114363131B publication Critical patent/CN114363131B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4906Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes
    • H04L25/4915Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes using pattern inversion or substitution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B14/00Transmission systems not characterised by the medium used for transmission
    • H04B14/02Transmission systems not characterised by the medium used for transmission characterised by the use of pulse modulation
    • H04B14/04Transmission systems not characterised by the medium used for transmission characterised by the use of pulse modulation using pulse code modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4902Pulse width modulation; Pulse position modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers

Abstract

本发明公开了一种用于多模式信道的物理编码子层极性推断与自动翻转方法及装置,本发明方法包括将输入的数据缓存在数据缓冲区L1并进行公共对齐标记CM锁定以确定偏移指针;将数据缓冲区L1中缓存的数据进一步缓存后合成为连续的56位数据分组、再进行多模式特别对齐标记UM锁定以确定极性模式;根据偏移指针,截取数据缓冲区L3的连续68位的数据分组,并根据确定的极性模式对数据分组进行转换。本发明可实现NRZ和PAM4信道的物理编码子层的极性推断与自动翻转,减轻了由人工确定极性连接关系并配置SerDes极性所耗费的人力和时间成本,具有方便高速信号布线、适用范围广等优点。

Description

用于多模式信道的物理编码子层极性推断与自动翻转方法及 装置
技术领域
本发明涉及高速互连网络芯片领域,具体涉及一种用于多模式信道的物理编码子层极性推断与自动翻转方法及装置。
背景技术
在互连网络芯片中,物理层分为物理编码子层(PCS)和物理介质子层,物理编码子层位于链路层和物理介质子层之间,如图1中的(a)所示,物理编码子层负责按照物理介质的特殊要求,对数据进行编码和解码,链路层和物理介质之间的数据发送和接收需要经过物理编码子层才能实现。目前,高速互连网络的物理介质主要采用差分信号传输的串行SerDes接口技术,如图1中的(b)所示,每个串行接口包含发送端TX和接收端RX,每个发送端TX和接收端RX都包含两根极性相反的信号线,分别为正极性P(Positive)和负极性N(Negative)。每个串行接口的TX和RX分别与对端串行接口的RX和TX相接。通常情况下,发送端TX的P连接接收端RX的P,且发送端TX的N连接接收端RX的N,该连接方式被称为“极性正接”。但是,为了便于网络端口数目较多的印制电路板(PCB)布线,通常需要允许如图1中的(c)所示的连接方式,即发送端TX的P连接接收端RX的N,且发送端TX的N连接接收端RX的P,该连接方式被称为“极性反接”。
目前,物理介质的传输速率可以达到56Gbps~112Gbps。在该速率范围下,物理信号传输采用新的四电平脉冲幅度调制(PAM4)技术。在该技术下,网络物理层SerDes发送端将链路层输入的数据经过PCS处理后,进行二进制(Binary)编码或格雷(Gray)编码,编码后的数据再经过PAM4编码调制,然后驱动到物理通道,其处理流程如图2中的(a)所示;网络物理层SerDes接收端将从物理通道接收的数据信号经过PAM4解码处理后,进行二进制(Binary)编码或格雷(Gray)解码,然后经过PCS处理后输出给链路层,其处理流程如图2中的(b)所示。为了兼容之前采用不归零编码(NRZ)的低速率(不超过25Gbps)传输,现有SerDes厂商都实现了可配置的多模式信道,既可以配置为高速PAM4模式工作,也可以配置为低速的NRZ模式工作。
为了同时支持PCB布线极性正接或反接,现有技术通常采用SerDes极性可配置的方法。具体而言,在SerDes IP模块内分别为发送端TX和接收端RX设置了极性配置寄存器,在默认配置下,P和N信号线分别传输正极性信号和负极性信号,而在极性翻转配置下,P和N信号线分别传输负极性信号和正极性信号。对于只有NRZ模式的SerDes,部分商用PCS实现了极性自动翻转(Polarity Auto-Reversal),即两SerDes对接时无论极性正接还是极性反接,PCS的RX端自动推断极性连接方式,并将正确处理后的数据上送给链路层,而无需对SerDes的极性进行配置。但是,目前尚未发现可用于多模式SerDes的支持极性推断和自动翻转的PCS,即现有PCS的极性自动识别和翻转方法只能支持NRZ模式的低速率SerDes。所以,对于多模式SerDes,仍然需要根据实际的极性连接关系,对SerDes的TX端或RX端极性正确的进行配置,才能完成网络物理层的正常工作。由此可见,现有技术的缺点概况为两方面:(1)PCS的极性推断与极性自动翻转只能适用于采用NRZ信道的低速率SerDes,无法适用于采用PAM4信道的高速率SerDes。(2)对于采用PAM4信道的高速率SerDes,只能根据实际极性关系人工配置SerDes的TX端或RX端极性,对于互连系统中PCB板型较多且PCB板上的端口数目较多的互连场景,这会耗费大量人力。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种用于多模式信道的物理编码子层极性推断与自动翻转方法及装置,本发明可实现NRZ和PAM4信道的物理编码子层的极性推断与自动翻转,减轻了由人工确定极性连接关系并配置SerDes极性所耗费的人力和时间成本;本发明适用于SerDes配置为NRZ低速信道,又适用于SerDes配置为PAM4高速信道,具有方便高速信号布线、适用范围广等优点。
为了解决上述技术问题,本发明采用的技术方案为:
一种用于多模式信道的物理编码子层极性推断与自动翻转方法,包括:
1)将PCS下层逻辑输入的数据缓存在数据缓冲区L1;
2)对数据缓冲区L1中缓存的数据进行公共对齐标记CM锁定,以确定与公共对齐标记CM相匹配的数据分组的低起始位置为偏移指针;
3)将数据缓冲区L1中缓存的数据在每一有效时钟周期内移动到数据缓冲区L2,并在每个有效时钟周期内将数据缓冲区L2中缓存的数据移动到数据缓冲区L3,并进一步合成为连续的56位数据分组;
4)对合成的连续的56位数据分组进行多模式特别对齐标记UM锁定,确定与特别对齐标记UM对应的极性模式;
5)根据所述偏移指针,截取数据缓冲区L3的连续68位的数据分组,并根据确定的与特别对齐标记UM对应的极性模式对数据分组进行转换。
可选地,步骤1)中的数据缓冲区L1由寄存器构成且具有移位功能,其宽度为输入数据宽度的两倍,所述数据缓冲区L1将每一时钟周期输入的有效数据存储在数据缓冲区低输入数据宽度位,并将上一周期存储在低数据输入宽度位的数据向左移动数据输入宽度位。
可选地,步骤2)包括:
2.1)截取数据缓冲区L1中连续的56位数据为一个数据分组,共截取68次,每次截取数据分组的最低位位置从右向左依次连续,且最低起始位置为第0位;
2.2)将每个数据分组并行的经过无转换、位反转换、PGPR转换共3种处理后,将相应位置数据与48位的公共对齐标记CM进行比较;
2.3)记录与公共对齐标记CM相匹配的数据分组的低起始位置为偏移指针。
可选地,步骤2.2)中将相应位置数据与48位的公共对齐标记CM进行比较包括:将相应位置数据分成12个4字串,使得每4位为一个字串,若相应位置数据中任意一个数据分组存在不少于9个字串与公共对齐标记CM的9个字串完全相同,则认定该数据分组与CM是相匹配的数据分组。
可选地,步骤3)中的数据缓冲区L2和数据缓冲区L3由寄存器构成,且数据缓冲区L2和数据缓冲区L3的宽度与数据缓冲区L1宽度相同,在每一有效时钟周期内,根据所述偏移指针,从数据缓冲区L2和/或数据缓冲区L3中截取部分数据合成为连续的56位数据分组,或者从数据缓冲区L3中截取部分数据合成为连续的56位数据分组,或者从数据缓冲区L2和数据缓冲区L3中截取部分数据合成为连续的56位数据分组。
可选地,步骤4)包括:根据每个网络端口包括的SerDes通道数量将合成的连续的56位数据分组复制相同的数量,将复制得到的每份数据分组并行的经过无转换、位反转换、PGPR转换共3种处理后将相应位置数据与各个SerDes通道对应的48位的特别对齐标记UM进行比较,记录与某个特别对齐标记UM匹配的UM自身编号为通道编号LANE-ID,记录与某个特别对齐标记UM匹配的数据分组所做的处理类型为该特别对齐标记UM对应的极性模式,与前述无转换、位反转换、PGPR3种处理方式相对应的极性模式分别是正极性模式、NRZ或PAM4-Binary反极性模式、PAM4-Gray反极性模式。
可选地,所述PGPR转换包括:将被变换的数据分组从低位到高位每两位划分为一个子分组,并对每个子分组执行如下变换:2'b00→2'b10,2'b01→2'b11,2'b10→2'b00,2'b11→2'b01,且所有子分组变换后的新数据分组就是变换后的数据分组。
可选地,步骤5)包括:
5.1)根据所述偏移指针,截取数据缓冲区L3的连续68位的数据分组:以数据缓冲区L3最低位开始,从右向左数偏移指针值位作为数据分组的最低位,则从最低位开始向左的连续68位数据即为所要截取的数据分组;
5.2)根据确定的与特别对齐标记UM对应的极性模式对数据分组进行转换:如果为正极性模式,则数据分组保持不变;如果为NRZ或PAM4-Binary反极性模式,则对数据分组的每一位取反;如果为PAM4-Gray反极性模式,则对数据分组进行PGPR转换。
此外,本发明还提供一种用于应用前述的用于多模式信道的物理编码子层极性推断与自动翻转方法的多模式信道的物理编码子层极性推断与自动翻转装置,包括:
数据缓冲区L1,用于缓存PCS下层逻辑输入的数据,由寄存器构成且具有移位功能,其宽度为输入数据宽度的两倍,数据缓冲区L1将每一时钟周期输入的有效数据存储在数据缓冲区低输入数据宽度位,并将上一周期存储在低数据输入宽度位的数据向左移动数据输入宽度位,数据的有效性通过1位输入信号表示,数据缓冲区L1中缓存的数据在每一有效时钟周期将输出到数据缓冲区L2和CM判定器组;
数据缓冲区L2,用于缓存从数据缓冲区L1输入的数据,由寄存器构成,其宽度等于数据缓冲区L1的宽度,数据缓冲区L2将每个有效时钟周期从数据缓冲区L1输入的有效数据存储起来,并在每个有效时钟周期输出数据到下一级的数据缓冲区L3,从数据缓冲区L2输出的数据受到控制信号产生器1产生的通路使能信号控制:如果通路使能信号是1'b1,则输出数据缓冲区L2寄存的数据,否则输出136'h0,数据缓冲区L2输出的数据在每一有效时钟周期将输出到数据缓冲区L3和数据合成器;
数据缓冲区L3,用于缓存从数据缓冲区L2输入的数据,由寄存器构成,其宽度等于数据缓冲区L1的宽度,数据缓冲区L3将每个有效时钟周期从数据缓冲区L2输入的有效数据存储起来,并在每个有效时钟周期输出数据到数据转换器和数据合成器;
数据转换器,用于转换从数据缓冲区L3输入的数据,数据转换方式受到控制信号产生器2产生的极性模式信号控制;极性模式分为3种,分别是正极性模式、NRZ或PAM4-Binary反极性模式、PAM4-Gray反极性模式,所以极性模式信号可以用两位信号表示;极性模式信号控制数据转换方式为:如果为正极性模式,则数据分组保持不变;如果为NRZ或PAM4-Binary反极性模式,则对数据分组的每一位取反;如果为PAM4-Gray反极性模式,则对数据分组进行PGRR转换,数据转换器转换后的数据每一有效时钟周期将输出到PCS上层逻辑;
数据合成器,用于在每一有效时钟周期内从数据缓冲区L2和/或数据缓冲区L3中截取部分数据合成为56位数据分组,截取并合成数据的处理过程需要根据控制信号产生器1输入到数据合成器的偏移指针确定,且随着偏移指针大小不同,其数据合成方法也会分为两种不同情况:(1)如果偏移指针值不大于16,则从数据缓冲区L3中截取连续的56位数据,且截取数据分组的最低位为数据缓冲区L3数据的第“64+偏移指针值”位;(2)如果偏移指针值大于16,则合成的56位数据分组由高位和低位两个数据子分组构成,其低位子数据分组从数据缓冲区L3中截取,且截取数据分组的最低位为数据缓冲区L3数据的第“64+偏移指针值”位,其高位子数据分组从数据缓冲区L2中截取,且截取数据分组的最低位为数据缓冲区L2数据的第0位,高位和低位两个数据子分组总长度保持为56位,数据合成器输出的56位数据分组在每一有效时钟周期将输出到UM判定器;
CM判定器组,包括68个CM判定器,分别是CM判定器0,CM判定器1,‥‥‥,CM判定器67,记任意CM判定器为CM判定器i,其中i为编号,取值为0~67;CM判定器用于对数据缓冲区L1中的数据进行锁定判别,各个CM判定器的结构和功能完全相同,只是输入数据不同,因此其输出结果也不一定相同;CM判定器的输入数据分组是从数据缓冲区L1中截取连续的56位数据,CM判定器i,截取数据分组的最低位为数据缓冲区L1数据的第i位;每个CM判定器将输入数据分组并行的经过无转换、位反转换、PGPR转换3种处理后将相应位置数据与48位的公共对齐标记CM进行比较,将48位分成12个4字串使得每4位为一个字串,若其中存在不少于9个字串与CM的9个字串是完全相同的,则认定该数据分组与CM是相匹配的,此时该CM判定器输出的对齐标记发现信号设置为1'b1,否则认定该数据分组与CM是不匹配的,此时该CM判定器输出的对齐标记发现信号设置为1'b1;所有的68个CM判定器输出的对齐标记发现信号输出到控制信号产生器;
UM判定器组,包括4个UM判定器,分别是UM判定器0、UM判定器1、UM判定器2、UM判定器3,CM判定器用于对数据合成器输出的数进行锁定判别,各个CM判定器的结构和功能完全相同,只是用于判定UM字符串不同,因此其结果也不一定相同,各个UM判定器的输入数据分组都是数据合成器输出的56位数据,每个UM判定器将输入的数据分组并行的经过无转换、位反转换、PGPR转换3种处理后将相应位置数据与各自特别对齐标记UM进行比较,从而将48位分成12个4字串使得每4位一个字串,若其中存在不少于9个字串与UM的9个字串是完全相同的,则认定该数据分组与相应UM是匹配的,此时根据匹配数据分组经过的处理方式输出UM判定器极性模式,如果是无转换,则极性模式信号设置为正极性模式2'b01;如果是位反转换,则极性模式信号设置为NRZ或PAM4-Binary反极性模式2'b10,如果PGPR转换,则信息模式信号设置为PAM4-Gray反极性模式2'b11,否则认定该数据分组与UM是不匹配的,此时该UM判定器输出的极性模式信号设置为2'b00,所有的4个UM判定器输出的极性模式信号输出给控制信号产生器2;
控制信号产生器1,用于根据CM判定器组输入的对齐标记发现信号产生并输出通路使能信号、偏移指针信号、计数使能信号;通路使能信号为电平信号,如果CM判定器组中任意一个CM判定器的对齐标记发现信号状态为1'b1,则通路使能信号设置为1'b1;否则,通路使能信号设置为1'b0;计数使能信号为脉冲信号,如果CM判定器组中任意一个CM判定器的对齐标记发现信号状态由1'b0变化为1'b1,则计数使能信号在当前时钟周期里设置为1'b1;否则,计数使能信号设置为1'b0;偏移指针信号为电平信号,如果CM判定器组中CM判定器i的对齐标记发现信号状态为1'b1,则偏移指针信号设置为7'di;否则,偏移指针信号设置为7'd0;控制信号产生器1输出的通路使能信号输出到数据缓冲区L2,输出的偏移指针信号输出到数据缓冲区L3和数据合成器,输出的计数使能信号输出到同步锁定状态机;
控制信号产生器2,用于根据UM判定器输入的极性模式信号和同步锁定状态机输入的锁定状态信号产生并输出通道编号信号、极性模式信号;通道编号信号为脉冲信号,如果UM判定器组中UM判定器j输出的极性模式不等于2'b00,且输入的锁定状态信号为1'b1,则通道编号信号设置为3'dj,其中j为编号,取值为0~3;否则,通道编号信号保持为3'b111;极性模式信号为电平信号,如果UM判定器组中任意一个UM判定器输出的极性模式不等于2'b00,且输入的锁定状态信号为1'b1,则输出的极性模式为该UM判定器的极性模式;控制信号产生器2输出的通道编号信号输出到同步锁定状态机和PCS上层逻辑,输出的极性模式信号输出到数据转换器;
同步锁定状态机,用于根据控制信号产生器1输入的计数使能信号和控制信号产生器2输入的通道编号信号产生并输出锁定状态信号;同步锁定状态机包含1到2一共两个状态和一个计数器;对于作为默认状态的状态1,如果输入的计数使能信号脉冲电平为高,且该时钟周期输入的通道编号信号不等于3'b111,则该状态机进入到状态2;否则保持为状态1;对于状态2,如果输入的通道编号信号由3'b111变化为其他值,则在该时钟周期启动计数器计数,即每个时钟周期计数器值增加1;在固定计数周期结束的时钟周期里,如果输入的通道编号信号仍然发生3'b111变化为其他值,则保持为状态2而且启动下一个固定计数周期,且将输出锁定状态信号设置为1'b1;否则输出锁定状态信号设置为1'b0,且该状态机进入到状态1;同步锁定状态机输出的锁定状态信号输出到控制信号产生器2和PCS上层逻辑。
此外,本发明还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于被网络设备执行以实施所述的用于多模式信道的物理编码子层极性推断与自动翻转方法的计算机程序。
和现有技术相比,本发明主要具有下述优点:本发明用于多模式信道的物理编码子层极性推断与自动翻转方法能够适用于多模式信道的物理编码子层,既能在SerDes配置为NRZ信道时进行极性推断与自动翻转,而且能在SerDes配置为PAM4信道(支持Binary编码和Gray编码)时进行极性推断与自动翻转。相对于现有无极性推断和自动翻转功能以太网技术,本发明技术能够由编码子层执行极性推断和自动翻转,从而减轻了由人工确定极性连接关系并配置SerDes极性所耗费的人力和时间成本。相对于现有只支持NRZ低速信道的编码子层极性推断与自动翻转方法,本发明既能适用于SerDes配置为NRZ低速信道,又能适用于SerDes配置为PAM4高速信道,从而增强了极性推断和自动翻转功能的使用范围。总之,本发明方法具有方便高速信号布线、适用范围广等优点。
本发明用于多模式信道的物理编码子层极性推断与自动翻转的装置为本发明用于物理编码子层的极性推断与自动翻转方法对应的装置,也具有本发明用于多模式信道的物理编码子层极性推断与自动翻转的方法相同的技术效果,在此不再赘述。
附图说明
图1为现有技术的互连网络芯片通讯原理示意图。
图2为现有技术的双模式PAM4信道通信结构示意图。
图3为本发明实施例编码子层极性推断与自动翻转方法步骤示意图。
图4为本发明实施例编码子层极性推断与自动翻转装置结构示意图。
图5为本发明实施例装置的CM判定器和UM判定器结构示意图。
图6为本发明实施例装置对Binary编码PAM4信道极性翻转的数据处理示例。
图7为本发明实施例装置对Gray编码PAM4信道极性翻转的数据处理示例。
具体实施方式
如图3所示,本实施例用于多模式信道的物理编码子层极性推断与自动翻转方法包括:
1)将PCS下层逻辑输入的数据缓存在数据缓冲区L1;
2)对数据缓冲区L1中缓存的数据进行公共对齐标记CM锁定,以确定与公共对齐标记CM相匹配的数据分组的低起始位置为偏移指针;
3)将数据缓冲区L1中缓存的数据在每一有效时钟周期内移动到数据缓冲区L2,并在每个有效时钟周期内将数据缓冲区L2中缓存的数据移动到数据缓冲区L3,并进一步合成为连续的56位数据分组;
4)对合成的连续的56位数据分组进行多模式特别对齐标记UM锁定,确定与特别对齐标记UM对应的极性模式;
5)根据所述偏移指针,截取数据缓冲区L3的连续68位的数据分组,并根据确定的与特别对齐标记UM对应的极性模式对数据分组进行转换。
本实施例中,步骤1)中的数据缓冲区L1由寄存器构成且具有移位功能,其宽度为输入数据宽度的两倍,所述数据缓冲区L1将每一时钟周期输入的有效数据存储在数据缓冲区低输入数据宽度位,并将上一周期存储在低数据输入宽度位的数据向左移动数据输入宽度位。输入数据宽度通常为68位,当输入数据宽度为68位时,数据缓冲区L1宽度为输入数据宽度的两倍,即136位。PCS下层逻辑是指PCS接收端从SerDes接收到并行数据后进行位宽变换(通常将每一时钟周期输入的64位数据变换为每一有效时钟周期(即数据有效的时钟周期)输出68位数据)和跨时钟处理(从SerDes接收端的恢复时钟域跨入接收时钟域)的逻辑。
本实施例中,步骤2)包括:
2.1)截取数据缓冲区L1中连续的56位数据为一个数据分组,共截取68次,每次截取数据分组的最低位位置从右向左依次连续,且最低起始位置为第0位;
2.2)将每个数据分组并行的经过无转换、位反转换、PGPR转换共3种处理后,将相应位置数据与48位的公共对齐标记CM(Common Alignment Marker)进行比较;
2.3)记录与公共对齐标记CM相匹配的数据分组的低起始位置为偏移指针。
本实施例中,步骤2.2)中将相应位置数据与48位的公共对齐标记CM进行比较包括:将相应位置数据分成12个4字串,使得每4位为一个字串,若相应位置数据中任意一个数据分组存在不少于9个字串与公共对齐标记CM的9个字串完全相同,则认定该数据分组与CM是相匹配的数据分组。
本实施例中,步骤3)中的数据缓冲区L2和数据缓冲区L3由寄存器构成,且数据缓冲区L2和数据缓冲区L3的宽度与数据缓冲区L1宽度相同(本实施例中为136位),在每一有效时钟周期内,根据所述偏移指针,从数据缓冲区L2和/或数据缓冲区L3中截取部分数据合成为连续的56位数据分组,或者从数据缓冲区L3中截取部分数据合成为连续的56位数据分组,或者从数据缓冲区L2和数据缓冲区L3中截取部分数据合成为连续的56位数据分组。
本实施例中,步骤4)包括:根据每个网络端口包括的SerDes通道数量将合成的连续的56位数据分组复制相同的数量,将复制得到的每份数据分组并行的经过无转换、位反转换、PGPR转换共3种处理后将相应位置数据与各个SerDes通道对应的48位的特别对齐标记UM(Unique Alignment Marker)进行比较,记录与某个特别对齐标记UM匹配的UM自身编号为通道编号LANE-ID,记录与某个特别对齐标记UM匹配的数据分组所做的处理类型为该特别对齐标记UM对应的极性模式,与前述无转换、位反转换、PGPR3种处理方式相对应的极性模式分别是正极性模式、NRZ或PAM4-Binary反极性模式、PAM4-Gray反极性模式。通常多个SerDes并行绑定位网络端口进行数据传输,因此每个网络端口包括多个SerDes通道。为了区分每个通道,端口的各个通道具有唯一的特别对齐标记UM(Unique AlignmentMarker)。假设端口有4个UM,则UM锁定就是将数据分组复制4份,每份数据分组并行的经过3种处理(即无转换、位反转换、PGPR转换)后将相应位置数据与4个48位的某个特别对齐标记UM进行比较以确定该特别对齐标记UM对应的极性模式。
本实施例中,PGPR(PAM4 GRAY POLARITY REVERAL,PAM4模式格雷码编码的反极性)转换包括:将被变换的数据分组从低位到高位每两位划分为一个子分组,并对每个子分组执行如下变换:2'b00→2'b10,2'b01→2'b11,2'b10→2'b00,2'b11→2'b01,且所有子分组变换后的新数据分组就是变换后的数据分组。
本实施例中,步骤5)包括:
5.1)根据所述偏移指针,截取数据缓冲区L3的连续68位的数据分组:以数据缓冲区L3最低位开始,从右向左数偏移指针值位作为数据分组的最低位,则从最低位开始向左的连续68位数据即为所要截取的数据分组;
5.2)根据确定的与特别对齐标记UM对应的极性模式对数据分组进行转换:如果为正极性模式,则数据分组保持不变(无转换);如果为NRZ或PAM4-Binary反极性模式,则对数据分组的每一位取反(位反转换);如果为PAM4-Gray反极性模式,则对数据分组进行PGPR转换,即:将被变换的数据分组从低位到高位每两位划分为一个子分组,并对每个子分组执行如下变换:2'b00→2'b10,2'b01→2'b11,2'b10→2'b00,2'b11→2'b01,且所有子分组变换后的新数据分组就是变换后的数据分组。
需要说明的是,公共对齐标记CM和特别对齐标记UM是对齐标记AM(AlignmentMarker)的组成部分。对齐标记AM共15个字节(即120位),CM字段共6字节(即48位),构成AM编码的第0、1、2、4、5、6字节;UM字段共6字节(即48位),占据AM编码的第8、9、10、12、13、14字节。AM的结构按照低位在左高位在右的方式可表示为:{{CM0,CM1,CM2},UP0,{CM3,CM4,CM5},UP1,{UM0,UM1,UM2},UP2,{UM3,UM4,UM5}}。其中,CM字段(包括CM0-CM5)主要分布于AM编码的头部,用于标记对齐的基本特征,所有通道都使用相同的CM。UM字段(包括UM0-UM5)主要分布于AM编码的尾部,用于区分不同的通道,各个通道拥有其专属的UM字段。UP字段(包括UP0-UP2)分散在AM中,通常各个通道的各个UP字段均不同,且每个UP都是0和1均衡的位串。上述CM字段、UM字段、UP字段可以自定义,也可以兼容IEEE 802.3相关标准。
如图4所示,本实施例还提供一种用于应用前述用于多模式信道的物理编码子层极性推断与自动翻转方法的多模式信道的物理编码子层极性推断与自动翻转装置,包括:
数据缓冲区L1,用于缓存PCS下层逻辑输入的数据,由寄存器构成且具有移位功能,其宽度为输入数据宽度(本实施例中为68位)的两倍(本实施例中为136位),数据缓冲区L1将每一时钟周期输入的有效数据存储在数据缓冲区低输入数据宽度位,并将上一周期存储在低数据输入宽度位的数据向左移动数据输入宽度位,数据的有效性通过1位输入信号表示,数据缓冲区L1中缓存的数据在每一有效时钟周期将输出到数据缓冲区L2和CM判定器组;其中,PCS下层逻辑是指PCS接收端从SerDes接收到并行数据后进行位宽变换(将每一时钟周期输入的64位数据变换为每一有效时钟周期(即数据有效的时钟周期)输出68位数据)和跨时钟处理(从SerDes接收端的恢复时钟域跨入接收时钟域)的逻辑;
数据缓冲区L2,用于缓存从数据缓冲区L1输入的数据,由寄存器构成,其宽度等于数据缓冲区L1的宽度(本实施例中为136位),数据缓冲区L2将每个有效时钟周期从数据缓冲区L1输入的有效数据存储起来,并在每个有效时钟周期输出数据到下一级的数据缓冲区L3,从数据缓冲区L2输出的数据受到控制信号产生器1产生的通路使能信号控制:如果通路使能信号是1'b1,则输出数据缓冲区L2寄存的数据,否则输出136'h0,数据缓冲区L2输出的数据在每一有效时钟周期将输出到数据缓冲区L3和数据合成器;
数据缓冲区L3,用于缓存从数据缓冲区L2输入的数据,由寄存器构成,其宽度等于数据缓冲区L1的宽度(本实施例中为136位),数据缓冲区L3将每个有效时钟周期从数据缓冲区L2输入的有效数据存储起来,并在每个有效时钟周期输出数据到数据转换器和数据合成器;
数据转换器,用于转换从数据缓冲区L3输入的数据,数据转换方式受到控制信号产生器2产生的极性模式信号控制;极性模式分为3种,分别是正极性模式、NRZ或PAM4-Binary反极性模式、PAM4-Gray反极性模式,所以极性模式信号可以用两位信号表示;极性模式信号控制数据转换方式为:如果为正极性模式,则数据分组保持不变;如果为NRZ或PAM4-Binary反极性模式,则对数据分组的每一位取反;如果为PAM4-Gray反极性模式,则对数据分组进行PGRR转换,数据转换器转换后的数据每一有效时钟周期将输出到PCS上层逻辑;PCS上层逻辑通常是指进一步对本装置输出数据进行扭斜补偿Deskew等处理的逻辑。
数据合成器,用于在每一有效时钟周期内从数据缓冲区L2和/或数据缓冲区L3中截取部分数据合成为56位数据分组,截取并合成数据的处理过程需要根据控制信号产生器1输入到数据合成器的偏移指针确定,且随着偏移指针大小不同,其数据合成方法也会分为两种不同情况:(1)如果偏移指针值不大于16,则从数据缓冲区L3中截取连续的56位数据,且截取数据分组的最低位为数据缓冲区L3数据的第“64+偏移指针值”位;(2)如果偏移指针值大于16,则合成的56位数据分组由高位和低位两个数据子分组构成,其低位子数据分组从数据缓冲区L3中截取,且截取数据分组的最低位为数据缓冲区L3数据的第“64+偏移指针值”位,其高位子数据分组从数据缓冲区L2中截取,且截取数据分组的最低位为数据缓冲区L2数据的第0位,高位和低位两个数据子分组总长度保持为56位,数据合成器输出的56位数据分组在每一有效时钟周期将输出到UM判定器;
CM判定器组,包括68个CM判定器,分别是CM判定器0,CM判定器1,‥‥‥,CM判定器67,记任意CM判定器为CM判定器i,其中i为编号,取值为0~67;CM判定器用于对数据缓冲区L1中的数据进行锁定判别,各个CM判定器的结构和功能完全相同,只是输入数据不同,因此其输出结果也不一定相同;如图5中的(a)所示,CM判定器的输入数据分组是从数据缓冲区L1中截取连续的56位数据,CM判定器i,截取数据分组的最低位为数据缓冲区L1数据的第i位;每个CM判定器将输入数据分组并行的经过无转换、位反转换、PGPR转换3种处理后将相应位置数据与48位的公共对齐标记CM进行比较,将48位分成12个4字串使得每4位为一个字串,若其中存在不少于9个字串与CM的9个字串是完全相同的,则认定该数据分组与CM是相匹配的,此时该CM判定器输出的对齐标记发现信号设置为1'b1,否则认定该数据分组与CM是不匹配的,此时该CM判定器输出的对齐标记发现信号设置为1'b1;所有的68个CM判定器输出的对齐标记发现信号输出到控制信号产生器;
UM判定器组,包括4个UM判定器,分别是UM判定器0、UM判定器1、UM判定器2、UM判定器3,CM判定器用于对数据合成器输出的数进行锁定判别,各个CM判定器的结构和功能完全相同,只是用于判定UM字符串不同,因此其结果也不一定相同,如图5中的(b)所示,各个UM判定器的输入数据分组都是数据合成器输出的56位数据,每个UM判定器将输入的数据分组并行的经过无转换、位反转换、PGPR转换3种处理后将相应位置数据与各自特别对齐标记UM进行比较,从而将48位分成12个4字串使得每4位一个字串,若其中存在不少于9个字串与UM的9个字串是完全相同的,则认定该数据分组与相应UM是匹配的,此时根据匹配数据分组经过的处理方式输出UM判定器极性模式,如果是无转换,则极性模式信号设置为正极性模式2'b01;如果是位反转换,则极性模式信号设置为NRZ或PAM4-Binary反极性模式2'b10,如果PGPR转换,则信息模式信号设置为PAM4-Gray反极性模式2'b11,否则认定该数据分组与UM是不匹配的,此时该UM判定器输出的极性模式信号设置为2'b00,所有的4个UM判定器输出的极性模式信号输出给控制信号产生器2;
控制信号产生器1,用于根据CM判定器组输入的对齐标记发现信号产生并输出通路使能信号、偏移指针信号、计数使能信号;通路使能信号为电平信号,如果CM判定器组中任意一个CM判定器的对齐标记发现信号状态为1'b1,则通路使能信号设置为1'b1;否则,通路使能信号设置为1'b0;计数使能信号为脉冲信号,如果CM判定器组中任意一个CM判定器的对齐标记发现信号状态由1'b0变化为1'b1,则计数使能信号在当前时钟周期里设置为1'b1;否则,计数使能信号设置为1'b0;偏移指针信号为电平信号,如果CM判定器组中CM判定器i的对齐标记发现信号状态为1'b1,则偏移指针信号设置为7'di;否则,偏移指针信号设置为7'd0;控制信号产生器1输出的通路使能信号输出到数据缓冲区L2,输出的偏移指针信号输出到数据缓冲区L3和数据合成器,输出的计数使能信号输出到同步锁定状态机;
控制信号产生器2,用于根据UM判定器输入的极性模式信号和同步锁定状态机输入的锁定状态信号产生并输出通道编号信号、极性模式信号;通道编号信号为脉冲信号,如果UM判定器组中UM判定器j输出的极性模式不等于2'b00,且输入的锁定状态信号为1'b1,则通道编号信号设置为3'dj,其中j为编号,取值为0~3;否则,通道编号信号保持为3'b111;极性模式信号为电平信号,如果UM判定器组中任意一个UM判定器输出的极性模式不等于2'b00,且输入的锁定状态信号为1'b1,则输出的极性模式为该UM判定器的极性模式;控制信号产生器2输出的通道编号信号输出到同步锁定状态机和PCS上层逻辑,输出的极性模式信号输出到数据转换器;PCS上层逻辑通常是指进一步对本装置输出数据进行扭斜补偿(Deskew)等处理的逻辑。
同步锁定状态机,用于根据控制信号产生器1输入的计数使能信号和控制信号产生器2输入的通道编号信号产生并输出锁定状态信号;同步锁定状态机包含1到2一共两个状态和一个计数器;对于作为默认状态的状态1,如果输入的计数使能信号脉冲电平为高,且该时钟周期输入的通道编号信号不等于3'b111,则该状态机进入到状态2;否则保持为状态1;对于状态2,如果输入的通道编号信号由3'b111变化为其他值,则在该时钟周期启动计数器计数,即每个时钟周期计数器值增加1;在固定计数周期结束的时钟周期里,如果输入的通道编号信号仍然发生3'b111变化为其他值,则保持为状态2而且启动下一个固定计数周期,且将输出锁定状态信号设置为1'b1;否则输出锁定状态信号设置为1'b0,且该状态机进入到状态1;同步锁定状态机输出的锁定状态信号输出到控制信号产生器2和PCS上层逻辑。PCS上层逻辑通常是指进一步对本装置输出数据进行扭斜补偿(Deskew)等处理的逻辑。
CM判定器组所使用的CM用于标记对齐的基本特征,所有通道都使用相同的CM,CM字段共6字节(即48位),分别表示为CM0、CM1、CM2、CM3、CM4、CM5。所述UM判定器使用的UM用于区分不同的通道,各个通道拥有其专属的UM,UM字段共6字节(即48位),分别表示为UM0、UM1、UM2、UM3、UM4、UM5。CM和UM共同构成对齐标记AM(Alignment Marker)。其构成方式如下所示:
{{CM0,CM1,CM2},UP0,{CM3,CM4,CM5},UP1,{UM0,UM1,UM2},UP2,{UM3,UM4,UM5}}
其中,UP字段(包括UP0-UP2)分散在AM中,各个通道的各个UP字段均不同,且每个UP都是0和1均衡的位串。CM字段、UM字段、UP字段可以自定义,也可以兼容IEEE802.3相关标准。例如,假设物理编码子层实现的是4通道绑定,则4个通道各自的AM可定义如下:
{{0x9A,0x4A,0x26},0x05,{0x65,0xB5,0xD9},0xD6,{0xB3,0xC0,0x8C},0x29,{0x4C,0x3F,0x73}}
{{0x9A,0x4A,0x26},0x04,{0x65,0xB5,0xD9},0x67,{0x5A,0xDE,0x7E},0x98,{0xA5,0x21,0x81}}
{{0x9A,0x4A,0x26},0x46,{0x65,0xB5,0xD9},0xFE,{0x3E,0xF3,0x56},0x01,{0xC1,0x0C,0xA9}}
{{0x9A,0x4A,0x26},0x5A,{0x65,0xB5,0xD9},0x84,{0x86,0x80,0xD0},0x7B,{0x79,0x7F,0x2F}}
所述同步锁定状态机所使用的固定计数周期可以兼容IEEE 802.3相关标准。例如,假设物理编码子层实现的是4通道绑定,则各个通道上AM出现的周期是81920×257=21,053,440位,再假设单通道PMA接口的数据宽度为64位,则固定计数周期是21,053,440/64=328,960,即每个通道上间隔328,960时钟周期就出现一次AM。
参见图6,本实施例用于多模式信道的物理编码子层极性推断与自动翻转装置在信道配置为Binary编码的PAM4信道时示例数据处理步骤如下:
S1)PCS发送的数据:假设PCS发送端向SerDes的PMA接口发送数据,该数据以二进制格式显示为:00_11_11_00_11_01_10_01_00_10。按照国际电气电子工程师学会(IEEE)802.3标准,该数据将以从右向左的顺序发送。
S2)Binary编码后的数据:SerDes发送端Binary编码功能模块对上述步骤S1)中PCS发送的数据进行Binary编码,其结果以从左向右顺序显示为:1_0_2_1_2_3_0_3_3_0。
S3)PAM4编码后的数据:SerDes发送端PAM4编码功能模块对上述步骤S2)中Binary编码的数据进行PAM4编码,其结果以从左向右顺序显示为:(-1/3)_(-1)_(1/3)_(-1/3)_(1/3)_1_(-1)_1_1_(-1)。
S4)极性翻转后的数据:本端SerDes发送端将数据经过差分信号线发送给对端SerDes的接收端的差分信号线,假设其极性连接关系为极性反接,则对端SerDes接收端接收的数据与上述步骤S3)中SerDes发送端发送的数据正负符号相反,其结果以从左向右顺序显示为:(1/3)_1_(-1/3)_(1/3)_(-1/3)_(-1)_1_(-1)_(-1)_1。
S5)PAM4解码后的数据:SerDes接收端PAM4解码功能模块对上述步骤S4)中极性翻转后的数据进行PAM4解码,其结果以从左向右顺序显示为:2_3_1_2_1_0_3_0_0_3。
S6)Binary解码后的数据:SerDes接收端Binary解码功能模块对上述步骤S5)中PAM4解码后的数据进行Binary解码,其结果以从右向左顺序显示为:11_00_00_11_00_10_01_10_11_01。
S7)PCS上层的接收数据:本实施例装置对Binary解码后的数据进行处理,其UM判定器会推断其极性模式为NRZ或PAM4-Binary反极性模式,因此其数据转换器会将上述步骤S6)中Binary解码后的数据进行位反转换,其结果以从右向左顺序显示为:00_11_11_00_11_01_10_01_00_10。
参见图7,本实施例用于多模式信道的物理编码子层极性推断与自动翻转装置在信道配置为Gray编码的PAM4信道时示例数据处理步骤如下:
S1)PCS发送的数据:假设PCS发送端向SerDes的PMA接口发送数据,该数据以二进制格式显示为:00_11_11_00_11_01_10_01_00_10。按照国际电气电子工程师学会(IEEE)802.3标准,该数据将以从右向左的顺序发送。
S2)Gray编码后的数据:SerDes发送端Binary编码功能模块对上述步骤S1)中PCS发送的数据进行Gray编码,其结果以从左向右顺序显示为:1_0_3_1_3_2_0_2_2_0。
S3)PAM4编码后的数据:SerDes发送端PAM4编码功能模块对上述步骤S2)中Gray编码的数据进行PAM4编码,其结果以从左向右顺序显示为:(-1/3)_(-1)_1_(-1/3)_1_(1/3)_(-1)_(1/3)_(1/3)_(-1)。
S4)极性翻转后的数据:本端SerDes发送端将数据经过差分信号线发送给对端SerDes的接收端的差分信号线,假设其极性连接关系为极性反接,则对端SerDes接收端接收的数据与上述步骤S3)中SerDes发送端发送的数据正负符号相反,其结果以从左向右顺序显示为:(1/3)_1_(-1)_(1/3)_(-1)_(-1/3)_1_(-1/3)_(-1/3)_1。
S5)PAM4解码后的数据:SerDes接收端PAM4解码功能模块对上述步骤S4)中极性翻转后的数据进行PAM4解码,其结果以从左向右顺序显示为:2_3_0_2_0_1_3_1_1_3。
S6)Gray解码后的数据:SerDes接收端Gray解码功能模块对上述步骤S5)中PAM4解码后的数据进行Gray解码,其结果以从右向左顺序显示为:01_10_10_01_10_00_11_00_01_11。
S7)PCS上层的接收数据:本实施例装置对Gray解码后的数据进行处理,其UM判定器会推断其极性模式为PAM4-Binary反极性模式,因此其数据转换器会将上述步骤S6)中Binary解码后的数据进行PGPR转换,其结果以从右向左顺序显示为:00_11_11_00_11_01_10_01_00_10。
此外,本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于被网络设备执行以实施前述的用于多模式信道的物理编码子层极性推断与自动翻转方法的计算机程序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种用于多模式信道的物理编码子层极性推断与自动翻转方法,其特征在于,包括:
1)将PCS下层逻辑输入的数据缓存在数据缓冲区L1;
2)对数据缓冲区L1中缓存的数据进行公共对齐标记CM锁定,以确定与公共对齐标记CM相匹配的数据分组的低起始位置为偏移指针;
3)将数据缓冲区L1中缓存的数据在每一有效时钟周期内移动到数据缓冲区L2,并在每个有效时钟周期内将数据缓冲区L2中缓存的数据移动到数据缓冲区L3,并进一步合成为连续的56位数据分组;
4)对合成的连续的56位数据分组进行多模式特别对齐标记UM锁定,确定与特别对齐标记UM对应的极性模式;
5)根据所述偏移指针,截取数据缓冲区L3的连续68位的数据分组,并根据确定的与特别对齐标记UM对应的极性模式对数据分组进行转换。
2.根据权利要求1所述的用于多模式信道的物理编码子层极性推断与自动翻转方法,其特征在于,步骤1)中的数据缓冲区L1由寄存器构成且具有移位功能,其宽度为输入数据宽度的两倍,所述数据缓冲区L1将每一时钟周期输入的有效数据存储在数据缓冲区低输入数据宽度位,并将上一周期存储在低数据输入宽度位的数据向左移动数据输入宽度位。
3.根据权利要求2所述的用于多模式信道的物理编码子层极性推断与自动翻转方法,其特征在于,步骤2)包括:
2.1)截取数据缓冲区L1中连续的56位数据为一个数据分组,共截取68次,每次截取数据分组的最低位位置从右向左依次连续,且最低起始位置为第0位;
2.2)将每个数据分组并行的经过无转换、位反转换、PGPR转换共3种处理后,将相应位置数据与48位的公共对齐标记CM进行比较;
2.3)记录与公共对齐标记CM相匹配的数据分组的低起始位置为偏移指针。
4.根据权利要求3所述的用于多模式信道的物理编码子层极性推断与自动翻转方法,其特征在于,步骤2.2)中将相应位置数据与48位的公共对齐标记CM进行比较包括:将相应位置数据分成12个4字串,使得每4位为一个字串,若相应位置数据中任意一个数据分组存在不少于9个字串与公共对齐标记CM的9个字串完全相同,则认定该数据分组与CM是相匹配的数据分组。
5.根据权利要求4所述的用于多模式信道的物理编码子层极性推断与自动翻转方法,其特征在于,步骤3)中的数据缓冲区L2和数据缓冲区L3由寄存器构成,且数据缓冲区L2和数据缓冲区L3的宽度与数据缓冲区L1宽度相同,在每一有效时钟周期内,根据所述偏移指针,从数据缓冲区L2和/或数据缓冲区L3中截取部分数据合成为连续的56位数据分组,或者从数据缓冲区L3中截取部分数据合成为连续的56位数据分组,或者从数据缓冲区L2和数据缓冲区L3中截取部分数据合成为连续的56位数据分组。
6.根据权利要求5所述的用于多模式信道的物理编码子层极性推断与自动翻转方法,其特征在于,步骤4)包括:根据每个网络端口包括的SerDes通道数量将合成的连续的56位数据分组复制相同的数量,将复制得到的每份数据分组并行的经过无转换、位反转换、PGPR转换共3种处理后将相应位置数据与各个SerDes通道对应的48位的特别对齐标记UM进行比较,记录与某个特别对齐标记UM匹配的UM自身编号为通道编号LANE-ID,记录与某个特别对齐标记UM匹配的数据分组所做的处理类型为该特别对齐标记UM对应的极性模式,与前述无转换、位反转换、PGPR3种处理方式相对应的极性模式分别是正极性模式、NRZ或PAM4-Binary反极性模式、PAM4-Gray反极性模式。
7.根据权利要求6所述的用于多模式信道的物理编码子层极性推断与自动翻转方法,其特征在于,所述PGPR转换包括:将被变换的数据分组从低位到高位每两位划分为一个子分组,并对每个子分组执行如下变换:2'b00→2'b10,2'b01→2'b11,2'b10→2'b00,2'b11→2'b01,且所有子分组变换后的新数据分组就是变换后的数据分组。
8.根据权利要求7所述的用于多模式信道的物理编码子层极性推断与自动翻转方法,其特征在于,步骤5)包括:
5.1)根据所述偏移指针,截取数据缓冲区L3的连续68位的数据分组:以数据缓冲区L3最低位开始,从右向左数偏移指针值位作为数据分组的最低位,则从最低位开始向左的连续68位数据即为所要截取的数据分组;
5.2)根据确定的与特别对齐标记UM对应的极性模式对数据分组进行转换:如果为正极性模式,则数据分组保持不变;如果为NRZ或PAM4-Binary反极性模式,则对数据分组的每一位取反;如果为PAM4-Gray反极性模式,则对数据分组进行PGPR转换。
9.一种用于应用权利要求1~8中任意一项所述的用于多模式信道的物理编码子层极性推断与自动翻转方法的多模式信道的物理编码子层极性推断与自动翻转装置,其特征在于,包括:
数据缓冲区L1,用于缓存PCS下层逻辑输入的数据,由寄存器构成且具有移位功能,其宽度为输入数据宽度的两倍,数据缓冲区L1将每一时钟周期输入的有效数据存储在数据缓冲区低输入数据宽度位,并将上一周期存储在低数据输入宽度位的数据向左移动数据输入宽度位,数据的有效性通过1位输入信号表示,数据缓冲区L1中缓存的数据在每一有效时钟周期将输出到数据缓冲区L2和CM判定器组;
数据缓冲区L2,用于缓存从数据缓冲区L1输入的数据,由寄存器构成,其宽度等于数据缓冲区L1的宽度,数据缓冲区L2将每个有效时钟周期从数据缓冲区L1输入的有效数据存储起来,并在每个有效时钟周期输出数据到下一级的数据缓冲区L3,从数据缓冲区L2输出的数据受到控制信号产生器1产生的通路使能信号控制:如果通路使能信号是1'b1,则输出数据缓冲区L2寄存的数据,否则输出136'h0,数据缓冲区L2输出的数据在每一有效时钟周期将输出到数据缓冲区L3和数据合成器;
数据缓冲区L3,用于缓存从数据缓冲区L2输入的数据,由寄存器构成,其宽度等于数据缓冲区L1的宽度,数据缓冲区L3将每个有效时钟周期从数据缓冲区L2输入的有效数据存储起来,并在每个有效时钟周期输出数据到数据转换器和数据合成器;
数据转换器,用于转换从数据缓冲区L3输入的数据,数据转换方式受到控制信号产生器2产生的极性模式信号控制;极性模式分为3种,分别是正极性模式、NRZ或PAM4-Binary反极性模式、PAM4-Gray反极性模式,所以极性模式信号可以用两位信号表示;极性模式信号控制数据转换方式为:如果为正极性模式,则数据分组保持不变;如果为NRZ或PAM4-Binary反极性模式,则对数据分组的每一位取反;如果为PAM4-Gray反极性模式,则对数据分组进行PGRR转换,数据转换器转换后的数据每一有效时钟周期将输出到PCS上层逻辑;
数据合成器,用于在每一有效时钟周期内从数据缓冲区L2和/或数据缓冲区L3中截取部分数据合成为56位数据分组,截取并合成数据的处理过程需要根据控制信号产生器1输入到数据合成器的偏移指针确定,且随着偏移指针大小不同,其数据合成方法也会分为两种不同情况:(1)如果偏移指针值不大于16,则从数据缓冲区L3中截取连续的56位数据,且截取数据分组的最低位为数据缓冲区L3数据的第“64+偏移指针值”位;(2)如果偏移指针值大于16,则合成的56位数据分组由高位和低位两个数据子分组构成,其低位子数据分组从数据缓冲区L3中截取,且截取数据分组的最低位为数据缓冲区L3数据的第“64+偏移指针值”位,其高位子数据分组从数据缓冲区L2中截取,且截取数据分组的最低位为数据缓冲区L2数据的第0位,高位和低位两个数据子分组总长度保持为56位,数据合成器输出的56位数据分组在每一有效时钟周期将输出到UM判定器;
CM判定器组,包括68个CM判定器,分别是CM判定器0,CM判定器1,‥‥‥,CM判定器67,记任意CM判定器为CM判定器i,其中i为编号,取值为0~67;CM判定器用于对数据缓冲区L1中的数据进行锁定判别,各个CM判定器的结构和功能完全相同,只是输入数据不同,因此其输出结果也不一定相同;CM判定器的输入数据分组是从数据缓冲区L1中截取连续的56位数据,CM判定器i,截取数据分组的最低位为数据缓冲区L1数据的第i位;每个CM判定器将输入数据分组并行的经过无转换、位反转换、PGPR转换3种处理后将相应位置数据与48位的公共对齐标记CM进行比较,将48位分成12个4字串使得每4位为一个字串,若其中存在不少于9个字串与CM的9个字串是完全相同的,则认定该数据分组与CM是相匹配的,此时该CM判定器输出的对齐标记发现信号设置为1'b1,否则认定该数据分组与CM是不匹配的,此时该CM判定器输出的对齐标记发现信号设置为1'b1;所有的68个CM判定器输出的对齐标记发现信号输出到控制信号产生器;
UM判定器组,包括4个UM判定器,分别是UM判定器0、UM判定器1、UM判定器2、UM判定器3,CM判定器用于对数据合成器输出的数进行锁定判别,各个CM判定器的结构和功能完全相同,只是用于判定UM字符串不同,因此其结果也不一定相同,各个UM判定器的输入数据分组都是数据合成器输出的56位数据,每个UM判定器将输入的数据分组并行的经过无转换、位反转换、PGPR转换3种处理后将相应位置数据与各自特别对齐标记UM进行比较,从而将48位分成12个4字串使得每4位一个字串,若其中存在不少于9个字串与UM的9个字串是完全相同的,则认定该数据分组与相应UM是匹配的,此时根据匹配数据分组经过的处理方式输出UM判定器极性模式,如果是无转换,则极性模式信号设置为正极性模式2'b01;如果是位反转换,则极性模式信号设置为NRZ或PAM4-Binary反极性模式2'b10,如果PGPR转换,则信息模式信号设置为PAM4-Gray反极性模式2'b11,否则认定该数据分组与UM是不匹配的,此时该UM判定器输出的极性模式信号设置为2'b00,所有的4个UM判定器输出的极性模式信号输出给控制信号产生器2;
控制信号产生器1,用于根据CM判定器组输入的对齐标记发现信号产生并输出通路使能信号、偏移指针信号、计数使能信号;通路使能信号为电平信号,如果CM判定器组中任意一个CM判定器的对齐标记发现信号状态为1'b1,则通路使能信号设置为1'b1;否则,通路使能信号设置为1'b0;计数使能信号为脉冲信号,如果CM判定器组中任意一个CM判定器的对齐标记发现信号状态由1'b0变化为1'b1,则计数使能信号在当前时钟周期里设置为1'b1;否则,计数使能信号设置为1'b0;偏移指针信号为电平信号,如果CM判定器组中CM判定器i的对齐标记发现信号状态为1'b1,则偏移指针信号设置为7'di;否则,偏移指针信号设置为7'd0;控制信号产生器1输出的通路使能信号输出到数据缓冲区L2,输出的偏移指针信号输出到数据缓冲区L3和数据合成器,输出的计数使能信号输出到同步锁定状态机;
控制信号产生器2,用于根据UM判定器输入的极性模式信号和同步锁定状态机输入的锁定状态信号产生并输出通道编号信号、极性模式信号;通道编号信号为脉冲信号,如果UM判定器组中UM判定器j输出的极性模式不等于2'b00,且输入的锁定状态信号为1'b1,则通道编号信号设置为3'dj,其中j为编号,取值为0~3;否则,通道编号信号保持为3'b111;极性模式信号为电平信号,如果UM判定器组中任意一个UM判定器输出的极性模式不等于2'b00,且输入的锁定状态信号为1'b1,则输出的极性模式为该UM判定器的极性模式;控制信号产生器2输出的通道编号信号输出到同步锁定状态机和PCS上层逻辑,输出的极性模式信号输出到数据转换器;
同步锁定状态机,用于根据控制信号产生器1输入的计数使能信号和控制信号产生器2输入的通道编号信号产生并输出锁定状态信号;同步锁定状态机包含1到2一共两个状态和一个计数器;对于作为默认状态的状态1,如果输入的计数使能信号脉冲电平为高,且该时钟周期输入的通道编号信号不等于3'b111,则该状态机进入到状态2;否则保持为状态1;对于状态2,如果输入的通道编号信号由3'b111变化为其他值,则在该时钟周期启动计数器计数,即每个时钟周期计数器值增加1;在固定计数周期结束的时钟周期里,如果输入的通道编号信号仍然发生3'b111变化为其他值,则保持为状态2而且启动下一个固定计数周期,且将输出锁定状态信号设置为1'b1;否则输出锁定状态信号设置为1'b0,且该状态机进入到状态1;同步锁定状态机输出的锁定状态信号输出到控制信号产生器2和PCS上层逻辑。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质中存储有用于被网络设备执行以实施权利要求1~8中任意一项所述的用于多模式信道的物理编码子层极性推断与自动翻转方法的计算机程序。
CN202210048222.5A 2022-01-17 用于多模式信道的物理编码子层极性推断与自动翻转方法及装置 Active CN114363131B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210048222.5A CN114363131B (zh) 2022-01-17 用于多模式信道的物理编码子层极性推断与自动翻转方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210048222.5A CN114363131B (zh) 2022-01-17 用于多模式信道的物理编码子层极性推断与自动翻转方法及装置

Publications (2)

Publication Number Publication Date
CN114363131A true CN114363131A (zh) 2022-04-15
CN114363131B CN114363131B (zh) 2024-05-10

Family

ID=

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5446765A (en) * 1992-11-19 1995-08-29 Cirrus Logic, Inc. Apparatus for recovering data and clock information from an encoded serial data stream
WO1997013348A2 (en) * 1995-10-06 1997-04-10 Silicon Image, Inc. Block coding for digital video transmission
CN1571413A (zh) * 2003-07-17 2005-01-26 深圳市中兴通讯股份有限公司 一种用于基带信道nrz码流转换单极性码流的方法和编码器
CN101727299A (zh) * 2010-02-08 2010-06-09 北京同有飞骥科技有限公司 连续数据存储中面向raid5的写操作优化设计方法
CN109889306A (zh) * 2019-01-16 2019-06-14 中国航空工业集团公司洛阳电光设备研究所 一种用于高速光纤数字传输系统的编码极性计算方法
CN113938144A (zh) * 2021-10-19 2022-01-14 中国人民解放军国防科技大学 一种Duo-binary PAM4发射机及数据传输系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5446765A (en) * 1992-11-19 1995-08-29 Cirrus Logic, Inc. Apparatus for recovering data and clock information from an encoded serial data stream
WO1997013348A2 (en) * 1995-10-06 1997-04-10 Silicon Image, Inc. Block coding for digital video transmission
CN1571413A (zh) * 2003-07-17 2005-01-26 深圳市中兴通讯股份有限公司 一种用于基带信道nrz码流转换单极性码流的方法和编码器
CN101727299A (zh) * 2010-02-08 2010-06-09 北京同有飞骥科技有限公司 连续数据存储中面向raid5的写操作优化设计方法
CN109889306A (zh) * 2019-01-16 2019-06-14 中国航空工业集团公司洛阳电光设备研究所 一种用于高速光纤数字传输系统的编码极性计算方法
CN113938144A (zh) * 2021-10-19 2022-01-14 中国人民解放军国防科技大学 一种Duo-binary PAM4发射机及数据传输系统

Similar Documents

Publication Publication Date Title
US9673969B2 (en) Transcoding method for multi-wire signaling that embeds clock information in transition of signal state
US5777567A (en) System and method for serial to parallel data conversion using delay line
JP5879545B2 (ja) 送信回路、受信回路、送信方法、受信方法、通信システム及びその通信方法
US7339502B2 (en) Method and device for transmitting data over a plurality of transmission lines
US7224737B2 (en) Method and apparatus employing PAM-5 coding with clock embedded in data stream and having a transition when data bits remain unchanged
US8572300B2 (en) Physical coding sublayer (PCS) architecture for synchronizing data between different reference clocks
US20100257293A1 (en) Route Lookup System, Ternary Content Addressable Memory, and Network Processor
US7075330B2 (en) System and method for balancing capacitively coupled signal lines
US7515613B2 (en) Data transmission apparatus and data transmission method
US20050220232A1 (en) Circuit arrangement and a method to transfer data on a 3-level pulse amplitude modulation (PAM-3) channel
CN114363131B (zh) 用于多模式信道的物理编码子层极性推断与自动翻转方法及装置
US9219509B1 (en) System performance improvement using data reordering and/or inversion
CN114363131A (zh) 用于多模式信道的物理编码子层极性推断与自动翻转方法及装置
JP2001024712A (ja) 並列システムをデータ・ストローブ型の送受信器とインタフェース接続するための伝送システム、送信器、受信器、及びインタフェース装置
TWI698092B (zh) 用於高速序列資料通訊系統的編碼和解碼架構及其相關方法、實體層電路、發射器與接收器及其中的通訊系統
US7463169B2 (en) 64B/66B Encoding data generation method and circuit
EP1649653B1 (en) System and apparatus for encoding using different waveforms
CA2258935A1 (en) Device and method for transmitting digital data
Ranjula et al. Implementation techniques for IEEE 802.3 ba 40Gbps Ethernet Physical Coding Sublayer (PCS)
CN113676310B (zh) 一种用于雷达系统的数据传输装置
US6889272B1 (en) Parallel data bus with bit position encoded on the clock wire
EP0672322B1 (en) An apparatus for transferring information from a first to a second electronic unit
US7860202B2 (en) Method and circuit for transferring data stream across multiple clock domains
JP2000332741A (ja) 通信装置
JP2004516744A (ja) 情報処理システム

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