CN105141558B - 加扰装置及加扰配置方法 - Google Patents
加扰装置及加扰配置方法 Download PDFInfo
- Publication number
- CN105141558B CN105141558B CN201410240141.0A CN201410240141A CN105141558B CN 105141558 B CN105141558 B CN 105141558B CN 201410240141 A CN201410240141 A CN 201410240141A CN 105141558 B CN105141558 B CN 105141558B
- Authority
- CN
- China
- Prior art keywords
- scrambling
- circuit
- calculation unit
- input
- bits
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000004364 calculation method Methods 0.000 claims description 406
- 230000003111 delayed effect Effects 0.000 claims description 13
- 235000019580 granularity Nutrition 0.000 description 49
- 238000010586 diagram Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 9
- 230000000295 complement effect Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000005315 distribution function Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- TVZRAEYQIKYCPH-UHFFFAOYSA-N 3-(trimethylsilyl)propane-1-sulfonic acid Chemical compound C[Si](C)(C)CCCS(O)(=O)=O TVZRAEYQIKYCPH-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/03—Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Logic Circuits (AREA)
- Dc Digital Transmission (AREA)
Abstract
本发明公开了加扰装置及加扰配置方法。通过多路选择器对加扰电路进行级联,每级加扰电路连接的多路选择器的输入来自于本级加扰电路反馈的加扰状态字、本级加扰电路之后的每级加扰电路反馈的加扰状态字,以及前一级加扰电路前馈的加扰状态字,从而可根据一个时钟周期输入的待加扰数据的比特数量灵活选取一个或多级级联的加扰电路,通过配置这些加扰电路所连接的多路选择器输入端的有效状态,以选通相应的加扰状态字传送到加扰电路参与加扰计算,实现了灵活可配置的可变带宽以太网加扰。进一步地,可由反馈计算单元来计算加扰状态字并输出给相应的加扰计算单元使用,以减少加扰计算单元内部级联的加扰电路的逻辑组合级数,节省资源开销。
Description
技术领域
本发明涉及通信领域,尤其涉及加扰装置及加扰配置方法。
背景技术
随着互联网的发展,对带宽的需求呈爆炸式增长。以太网的接口带宽也从10G到100G,并向400G/1TG演进。同时为了提高信道的利用率,出现了Flexible Grid光传送网(英文:optical transport network,简称:OTN)技术。Flexible Grid OTN技术是指根据传输距离、信道质量等信息,光层动态地调整发送带宽。这种可变带宽的光层技术的出现催生了电层可变带宽接口的需求,灵活以太网(英文:flexible ethernet)技术因此应运而生。采用灵活以太网技术可以根据对端设备的类型动态配置接口标准,从而增加设备的灵活性,减少硬件成本和维护成本。
在以太网通信协议中,为了保证时钟数据恢复(英文:clock data recovery,简称:CDR)电路工作正常,采用加扰算法保证数据的随机性,以减少0或1连续出现的可能性。现有加扰算法可以分为帧同步加扰(英文:frame synchronous scrambling,简称:FSS)、离散采样加扰(英文:distributed sample scrambling,简称:DSS)、自同步加扰(英文:selfsynchronous scrambling,简称:SSS)等。按照加扰的作用范围大致可以分为两种:一种是对所有物理链路(英文:all lane,简称:AL)一起加扰,如以太网802.3协议;另一种是对物理链路(英文:physical lane,简称:PL)独立加扰,如interlaken协议。
AL加扰相对于PL加扰可以降低错误扩展导致跨包的概率。基于AL的加扰方案符合现有以太网40G/100G标准。但是目前基于AL的加扰算法都是针对固定带宽的接口设计的,而将加扰引入到可变带宽以太网中时,无法动态适配不同带宽的加扰需求。
发明内容
本发明实施例提供了一种加扰装置及加扰配置方法,用以实现灵活可配置的可变带宽以太网加扰。
第一方面,提供一种加扰装置,该加扰装置包括:M个加扰电路和M个多路选择器,所述M个加扰电路通过所述M个多路选择器级联为M级加扰电路,所述M级加扰电路按照级联顺序包括第0级至第M-1级加扰电路,每级加扰电路用于对S比特进行加扰,M>1,S>1,其中:
每级加扰电路连接一个多路选择器,所述多路选择器的每一路输入均为加扰状态字,所述多路选择器的所有路输入中有一路输入被配置为有效,被配置为有效的一路输入对应的加扰状态字被输出到多路选择器连接的加扰电路以参与加扰运算,其中,第i级加扰电路连接的多路选择器的输入分别来自于第i级至第M-1级加扰电路的反馈以及第i-1级加扰电路的前馈,1<i≤N。
结合第一方面,在第一种可能的实现方式中,第0级加扰电路连接的多路选择器的输入分别来自于第0级至第M-1级加扰电路的反馈。
结合第一方面或者第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述S为最小数据单元的比特数量。
第二方面,提供一种基于前述加扰装置实现的加扰配置方法,该方法包括:
获取一个时钟周期输入的待加扰比特的数量;
根据一个时钟周期输入的待加扰比特的数量确定用于对所述一个时钟周期输入的待加扰比特进行加扰的加扰电路的级联级数,并根据所述级联级数确定用于对所述一个时钟周期输入的待加扰比特进行加扰的K个级联的加扰电路,所述K个级联的加扰电路包括第一加扰电路至第K加扰电路,所述待加扰比特按照从低比特位到高比特位的顺序由第一加扰电路至第K加扰电路进行加扰,K表示级联级数,K=N/S,N为一个时钟周期输入的待加扰比特的数量;
对于第一加扰电路连接的多路选择器,将所有路输入中第K加扰电路的反馈设置为有效、将其他路输入设置为无效,对于第二到第K级加扰电路中的每个加扰电路连接的多路选择器,将所有路输入中前一级加扰电路的前馈设置为有效、将其他路输入设置为无效。
结合第二方面,在第一种可能的实现方式中,所述方法还包括:
如果所述一个时钟周期输入的待加扰比特的数量为S,则选取一个加扰电路,并针对被选取的加扰电路连接的多路选择器,将所有路输入中所述被选取的加扰电路的反馈设置为有效、将其他路输入设置为无效。
本发明实施例提供的加扰装置中,通过多路选择器对加扰电路进行级联,每级加扰电路连接的多路选择器的输入来自于本级加扰电路反馈的加扰状态字、本级加扰电路之后的每级加扰电路反馈的加扰状态字,以及前一级加扰电路前馈的加扰状态字,这样,可根据一个时钟周期输入的待加扰数据的比特数量选取用于执行加扰计算的一个或多级级联的加扰电路,通过配置被选取用于执行加扰计算的加扰电路所连接的多路选择器输入端的有效状态,以选通相应的加扰状态字传送到加扰电路参与加扰计算。可以看出,本发明实施例提供了一种灵活可配置的加扰结构,能够根据一个时钟周期输入的待加扰比特的数量选取相应数量的加扰电路执行加扰计算,通过配置被选取的加扰电路所连接的多路选择器来使所述被选取的加扰电路使用正确的加扰状态字进行加扰计算,实现了灵活可配置的可变带宽以太网加扰。
第三方面,提供一种加扰装置,该加扰装置包括:加扰模块和反馈模块;
所述加扰模块包括第一输入选择器、第一输出选择器以及由R个加扰计算单元级联而成的R级加扰计算单元,R>1,其中:
所述第一输入选择器用于将第一时钟周期输入的待加扰比特分发到用于对所述待加扰比特进行加扰计算的一个加扰计算单元或K个级联的加扰计算单元,1<K≤R;
每级加扰计算单元用于根据前一级加扰计算单元前馈的加扰状态字或者所述反馈模块输出的加扰状态字,对分发到本级加扰计算单元的待加扰比特进行加扰;
所述第一输出选择器用于将进行加扰计算的加扰计算单元的加扰结果合并为所述待加扰比特的加扰结果并输出;
所述反馈模块包括第二输入选择器、第二输出选择器以及X个反馈计算单元,X≥1,其中:
所述第二输入选择器用于根据所述第一时钟周期输入的待加扰比特的数量,将所述待加扰比特分发到用于针对所述数量的比特计算加扰状态字的反馈计算单元;
每个反馈计算单元用于根据所述第二输入选择器分发的待加扰比特计算加扰状态字;
所述第二输出选择器用于将反馈计算单元计算得到的加扰状态字输出给加扰计算单元。
结合第三方面,在第一种可能的实现方式中,每个加扰计算单元被配置以并行地对M×S比特进行加扰计算,S为最小数据单元的比特数量,M>1;
所述第一输入选择器具体用于:将所述第一时钟周期输入的n×S个待加扰比特分发到H个级联的加扰计算单元,
所述H个级联的加扰计算单元中,最低一级的加扰计算单元具体用于根据反馈计算单元输出的加扰状态字对分发到本级加扰计算单元的待加扰比特进行加扰计算,其他级的加扰计算单元具体用于根据本级加扰计算单元的前一级加扰计算单元前馈的加扰状态字对分发到本级加扰计算单元的待加扰比特进行加扰计算;
所述第二输入选择器具体用于:将所述第一时钟周期输入的n×S个待加扰比特分发到用于针对n×S个比特计算加扰状态字的反馈计算单元;
所述第二输出选择器具体用于:将用于针对n×S个比特计算加扰状态字的反馈计算单元计算得到的加扰状态字输出给所述H个级联的加扰计算单元中的最低一级的加扰计算单元。
结合第三方面或者第三方面的第一种可能的实现方式,在第二种可能的实现方式中,相邻两级加扰计算单元之间还连接有第一寄存器或第一寄存器组,所述第一寄存器或第一寄存器组用于将所述相邻两级加扰计算单元中的前一级加扰计算单元计算得到的加扰状态字延迟Y个时钟周期后输出到下一级加扰计算单元,Y≥1。
结合第三方面的第二种可能的实现方式,在第三种可能的实现方式中,每个加扰计算单元的加扰结果输出端与所述第一输出选择器的输入端之间连接有第二寄存器或第二寄存器组,所述第二寄存器或第二寄存器组用于将加扰结果进行延迟后输出到所述第一输出选择器;并且
相邻两级加扰计算单元中,前一级的加扰计算单元的加扰结果被延迟的时钟周期数量相比于后一级加扰计算单元多Y个。
结合第三方面或者结合第三方面的第一种至第三种可能的实现方式中的一种,在第四种可能的实现方式中,所述加扰计算单元包括:M个加扰电路和M个多路选择器,所述M个加扰电路通过所述M个多路选择器级联为M级加扰电路,所述M级加扰电路按照级联顺序包括第0级至第M-1级加扰电路,每级加扰电路用于对S比特进行加扰,M>1,S>1,其中:
每级加扰电路连接一个多路选择器,所述多路选择器的每一路输入均为加扰状态字,所述多路选择器的所有路输入有一路输入被配置为有效,被配置为有效的一路输入对应的加扰状态字被输出到多路选择器连接的加扰电路以参与加扰运算,其中,第i级加扰电路连接的多路选择器的输入分别来自于第i级至第M-1级加扰电路的反馈、第i-1级加扰电路的前馈以及所述反馈模块的输出,1<i≤N。
结合第三方面的第四种可能的实现方式,在第五种可能的实现方式中,一个加扰计算单元中第M-1级加扰电路计算得到的加扰状态字,被输出到本级加扰计算单元的下一级加扰计算单元中第0级加扰电路连接的多路选择器的输入端。
结合第三方面的第四种可能的实现方式,在第六种可能的实现方式中,一个加扰计算单元中,每个加扰电路计算得到的加扰状态字经一个寄存器延迟一个时钟周期后反馈到本加扰电路连接的多路选择器;和/或
一个加扰计算单元中的每个加扰电路计算得到的加扰状态字经过一个寄存器延迟一个时钟周期后反馈到所有前级加扰电路连接的多路选择器。
结合第三方面的第四种可能的实现方式,在第七种可能的实现方式中,一个加扰计算单元中,每个加扰电路的待加扰比特输入端与所述第一输入选择器的输出端之间连接有第三寄存器或第三寄存器组,所述第三寄存器或第三寄存器组用于将待加扰比特进行延迟后输出到加扰电路;并且
相邻两级加扰电路中,前一级的加扰电路的待加扰比特被延迟的时钟周期数量相比于后一级加扰电路少Y个,所述Y为相邻两级加扰计算单元之间,前一级加扰计算单元前馈到后一级加扰计算单元的加扰状态字被延迟输出的时钟周期数量。
结合第三方面或者结合第三方面的第一种至第六种可能的实现方式中的一种,在第八种可能的实现方式中,所述X个反馈计算单元中包括至少一个第一反馈计算单元,所述第一反馈计算单元中包括W个加扰电路和W个多路选择器,所述W个加扰电路通过所述W个多路选择器级联为W级加扰电路,所述W级加扰电路按照级联顺序包括第0级至第W-1级加扰电路,每级加扰电路用于对2i×S个比特进行加扰,每级加扰电路加扰的比特的数量相同或不同,W>1,i为大于或等于0的整数,其中:
每级加扰电路连接一个多路选择器,所述多路选择器的每一路输入均为加扰状态字,所述多路选择器的所有路输入中有一路输入被配置为有效,被配置为有效的一路输入对应的加扰状态字被输出到多路选择器连接的加扰电路以参与加扰运算,其中,第i级加扰电路连接的多路选择器的输入分别来自于第i级至第W-1级加扰电路的反馈以及第i-1级加扰电路的前馈。
结合第三方面或者结合第三方面的第一种至第六种可能的实现方式中的一种,在第九种可能的实现方式中,所述X个反馈计算单元中包括至少一个第二反馈计算单元,所述第二反馈计算单元包括L级加扰电路,所述L级加扰电路中至少有一级加扰电路由L1个加扰电路通过L1个多路选择器并联构成,所述L级加扰电路中其余级加扰电路用于对2i×S个比特进行加扰,W>1,i为等于0或大于0的整数,n为大于或等于0的整数,L>1,1≤L1<L,其中;
并联的加扰电路中的每个加扰电路连接一个多路选择器,并联的加扰电路连接的所有多路选择器中:每个多路选择器的每一路输入均为加扰状态字,每个多路选择器的所有路输入中有一路输入被配置为有效,被配置为有效的一路输入对应的加扰状态字被输出到多路选择器连接的加扰电路以参与加扰运算,其中每个多路选择器的输入分别来自于自身连接的加扰电路的反馈、本级加扰电路的所有后级加扰电路的反馈以及本级加扰电路的前一级加扰电路的前馈;
除所述并联的加扰电路以外的每级加扰电路连接一个多路选择器,所述除并联的加扰电路以外的所有级加扰电路连接的多路选择器中:每个多路选择器的每一路输入均为加扰状态字,所述多路选择器的所有路输入中有一路输入被配置为有效,被配置为有效的一路输入对应的加扰状态字被输出到多路选择器连接的加扰电路以参与加扰运算,其中,每个多路选择器的输入分别来自于本级加扰电路的所有后级加扰电路的反馈、本级加扰电路的反馈以及本级加扰电路的前一级加扰电路的前馈。
第四方面,提供一种基于前述加扰装置实现的加扰配置方法,该方法包括:
获取一个时钟周期输入的n×S个待加扰比特的数量;
根据所述n×S确定用于对所述n×S个待加扰比特进行加扰的加扰计算单元的级联级数,并根据所述级联级数确定用于对所述一个时钟周期输入的待加扰比特进行加扰的H个级联的加扰计算单元,所述H个级联的加扰计算单元包括第一加扰计算单元至第H加扰计算单元,所述待加扰比特按照从低比特位到高比特位的顺序由第一加扰计算单元至第H加扰计算单元进行加扰,H表示级联级数,每个加扰计算单元被配置以并行地对M×S比特进行加扰计算;
对于第一加扰计算单元连接的多路选择器,选通反馈计算单元输出的加扰状态字的输入通道,对于第二到第H加扰计算单元中的每个加扰计算单元,选通前一级加扰计算单元前馈的加扰状态字的输入通道;
根据所述n×S确定用于针对n×S比特计算加扰状态字的反馈计算单元。
结合第四方面,在第一种可能的实现方式中,所述对于第一加扰计算单元,选通反馈计算单元输出的加扰状态字的输入通道,包括:
对于所述第一加扰计算单元中级联的M个加扰电路中第0级加扰电路连接的多路选择器,将反馈模块输出的加扰状态字对应的一路输入设置为有效、将其他路输入设置为无效;
对于所述第一加扰计算单元中级联的M个加扰电路中第1~M-1级加扰电路连接的多路选择器,将前一级加扰电路前馈的加扰状态字对应的一路输入设置为有效、将其他路输入设置为无效;
所述对于第二到第H级加扰计算单元中的每个加扰计算单元,选通前一级加扰计算单元前馈的加扰状态字的输入通道,包括:
对于第二到第H级加扰计算单元中每个加扰计算单元中级联的第0级加扰电路,将加扰电路连接的多路选择器中前一级加扰计算单元前馈的加扰状态字对应的一路输入设置为有效、将其他路输入设置为无效;
对于第二到第H级加扰计算单元中每个加扰计算单元中级联的第1~M-1级加扰电路中的每个加扰电路,将加扰电路连接的多路选择器中前一级加扰电路前馈的加扰状态字对应的一路输入设置为有效、将其他路输入设置为无效。
结合第四方面,在第二种可能的实现方式中,所述根据所述n×S确定用于针对n×S比特计算加扰状态字的反馈计算单元之后,还包括:
根据所述n×S确定所述用于针对n×S比特计算加扰状态字的反馈计算单元中用于对所述n×S个的待加扰比特计算加扰状态字的加扰电路级联级数;
根据所述级联级数确定用于对所述n×S个待加扰比特计算待加扰状态字的B个级联的加扰电路,所述B个级联的加扰电路包括第一加扰电路至第B加扰电路,所述n×S个待加扰比特按照从低比特位到高比特位的顺序由第一加扰电路至第B加扰电路进行加扰;
对于第一加扰电路连接的多路选择器,将第B加扰电路反馈的加扰状态字对应的一路输入设置为有效、将其他路输入设置为无效;
对于第2至B加扰电路连接的多路选择器,将前一级加扰电路前馈的加扰状态字对应的一路输入设置为有效、将其他路输入设置为无效。
结合第四方面或者结合第四方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述方法还包括:
如果n≤M,则选取一个加扰计算单元;
确定用于对所述n×S个的待加扰比特进行加扰的n个级联的加扰电路,所述n个级联的加扰计算单元包括第一至第n加扰电路,所述n×S个待加扰比特按照从低比特位到高比特位的顺序由第一至第n加扰计算单元进行加扰;
对于第一加扰电路连接的多路选择器,将第n加扰电路反馈的加扰状态字对应的一路输入设置为有效、将其他路输入设置为无效;
对于第2至第n加扰电路连接的多路选择器,将前一级加扰电路前馈的加扰状态字对应的一路输入设置为有效、将其他路输入设置为无效。
本发明实施例提供的加扰装置中,一方面包括多个级联的加扰计算单元,每个加扰计算单元包括多个级联的加扰电路,因此可根据待加扰的比特数量选择相应数量的加扰计算单元进行加扰计算,也就是说,可根据带宽需求选取参与加扰计算的加扰计算单元,从而实现了灵活可配置的可变带宽以太网加扰;另一方面,针对待加扰的比特数量较大的情况,由反馈计算单元来计算加扰状态字并输出给相应的加扰计算单元使用,可以减少加扰计算单元内部级联的加扰电路的逻辑组合级数,节省资源开销。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中加扰操作在以太网中的位置示意图;
图2为本发明实施例提供的加扰装置100的结构示意图;
图3为本发明实施例提供的以64bit为最小数据单元的加扰装置的结构图;
图4为基于图2所示的加扰装置100实现的加扰配置流程示意图;
图5为基于图2所示的加扰装置100实现的加扰流程示意图;
图6为本发明实施例提供的加扰装置200的总体结构示意图;
图7A和图7B分别为图6所示的加扰装置200的内部结构示意图;
图8为图7A或图7B中的加扰计算单元的内部结构示意图;
图9、图10和图11分别为图7A或图7B中的反馈计算单元的内部结构示意图;
图12为本发明实施例提供的加扰装置200的一种可选方式示意图;
图13为基于加扰装置200实现的加扰配置流程示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
加扰计算在物理编码子层(英文:physical coding sublayer,简称:PCS)中进行。
例如,如图1所示,在100G以太网标准中,物理层可包括协调子层(英文:reconciliation sublayer,简称:RS)、PCS、物理介质连接(英文:physical mediumattachment,PMA)子层、物理介质相关(英文:physical media dependent,简称:PMD)子层等。在PCS,多通道分发后得到多路PCS lane并对每路PCS lane进行64b/66b编码,然后对编码后的多路PCS lane分别进行加扰,最后对加扰后的多路数据流进行虚拟通道(英文:virtual lane,简称:VL)分发。
加扰计算由加扰装置完成。这里的“加扰装置”可由现场可编程门阵列(英文:Field-Programmable Gate Array,简称:FPGA)实现,也可以由专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)实现。
本发明实施例提供的加扰装置可以是PHY(中文:物理层)、PHY芯片(英文:PHYchip)、系统芯片(英文:system chip)或者多端口以太网设备(英文:multi-port Ethernetdevice)。
所述PHY可以通过FPGA或者ASIC实现。所述PHY可以是网络接口卡(英文:networkinterface card,简称:NIC)中的部件,所述NIC可以是线卡(英文:line card)或者物理接口卡(英文:physical interface card,简称:PCI)。所述PHY可以包含用于连接到(英文:for interfacing to)媒体接入控制(英文:media access control,简称:MAC)子层的媒体无关接口(英文:media-independent interface,简称:MII)。
所述PHY芯片可以包括多个PHY。所述PHY芯片可以通过FPGA或者ASIC实现。
所述系统芯片可以包括多个MAC以及多个PHY;所述系统芯片可以通过FPGA或者ASIC实现。
所述多端口以太网设备可以是以太网集线器、以太网路由器或者以太网交换机。所述多端口以太网设备包括多个端口,每个端口可以包括系统芯片,所述端口包括的系统芯片可以包括MAC和PHY。在所述多端口以太网设备中,还可以将多个MAC整合到一个MAC芯片(英文:MAC chip),以及将多个PHY整合到一个PHY芯片。所述多端口以太网设备也可以将多个MAC以及多个PHY整合到一个系统芯片中。
实施例一
参见图2,为本发明的一个实施例提供的加扰装置100的结构示意图。
如图所示,加扰装置100可包括M个加扰电路11和M个多路选择器12,所述M个加扰电路11通过所述M个多路选择器12级联为M级加扰电路,所述M级加扰电路按照级联顺序包括第0级至第M-1级加扰电路,每级加扰电路用于对S比特进行加扰,M>1,S>1。S表示最小数据单元的比特数量,采用IEEE802.3ba以太网标准时S取值为64。可选地,所述M级加扰电路被配置为流水线结构,按照流水线执行顺序包括第0级至第M-1级加扰电路。
每级加扰电路连接一个多路选择器,所述多路选择器的每一路输入均为加扰状态字,所述多路选择器的所有路输入中有一路输入被配置为有效,被配置为有效的一路输入对应的加扰状态字被输出到多路选择器连接的加扰电路以参与加扰运算。每级加扰电路利用多路选择器选择的加扰状态字对输入到本级加扰电路的待加扰比特进行加扰,输出本级加扰电路的加扰结果,并根据本级加扰电路的加扰结果得到加扰状态字。
每一级加扰电路计算得到的加扰状态字被分别反馈到本级加扰电路以及本级之前的所有级加扰电路连接的多路选择器,作为这些多路选择器的一路输入;每一级加扰电路计算得到的加扰状态字还被前馈到后一级加扰电路连接的多路选择器,作为该后一级加扰电路连接的多路选择器的一路输入。以第i级加扰电路为例,第i级加扰电路连接的多路选择器的输入分别来自于第i级至第M-1级加扰电路的反馈以及第i-1级加扰电路的前馈,1<i≤N。第0级加扰电路连接的多路选择器的输入分别来自于第0级以及第1~M-1级加扰电路的反馈。
可选地,每一级加扰电路计算出的加扰状态字被存储到本级加扰电路以及前面各级加扰电路连接的多路选择器输入端的寄存器,这些寄存器可在下一个时钟周期将存储的加扰状态字输出到本级加扰电路以及本级之前的所有级加扰电路连接的多路选择器。并且,每级加扰电路在当前时钟周期计算得到的加扰状态字不经寄存地前馈到下一级加扰电路连接的多路选择器,在当前时钟周期的下一个时钟周期,根据多路选择器的配置,其输入端的相应的加扰状态字被输出到加扰电路进行加扰计算。也就是说,在当前时钟周期,每级加扰电路加扰时利用的加扰状态字如果是前级模块的前馈输出,就是本时钟周期内计算得到的;如果是本级或后级模块的反馈输出,则是当前时钟周期的上一个时钟周期计算得到的。
加扰装置100采用自同步加扰时,一个加扰电路反馈到前级的加扰状态字以及前馈到后级的加扰状态字可从该加扰电路的加扰结果中选取,即,将加扰结果中的部分比特作为加扰状态字。加扰状态字的选取与采用的自同步加扰算法相关。比如,如果采用如下代码描述的加扰算法,则加扰电路选取加扰结果中的末58比特作为反馈给前级以及前馈到后级的加扰状态字:
按照前面的描述,对于第0级加扰电路来说,多路选择器的输入来源包括第0级加扰电路反馈的加扰状态字、第1~M-1级加扰电路反馈的加扰状态字,共有M路输入,因此需要选用M:1的多路选择器。对于第1级加扰电路来说,多路选择器的输入来源包括第1级加扰电路反馈的加扰状态字、第0级加扰电路前馈的加扰状态字以及第2~M-1级加扰电路反馈的加扰状态字,共M路输入,因此也需要选用M:1的多路选择器。对于第2级加扰电路,多路选择器的输入来源包括第2级加扰电路反馈的加扰状态字、第1级加扰电路前馈的加扰状态字以及第3~M-1级加扰电路反馈的加扰状态字,共M-1路输入,以此类推,随后的每级加扰电路,按照级数递增的顺序,多路选择器的输入逐级递减。
考虑到现有IEEE802.3ba以太网标准中以最小数据单元为单位进行加扰计算,为了与现有以太网标准一致,可选地,加扰装置100中每个加扰电路在一个时钟周期并行处理的比特的数量与最小数据单元的比特数量相同。以100G以太网标准为例,100G以太网标准中的最小数据单元的比特数量为64,因此加扰装置100中的每个加扰电路11的带宽为64比特,即,一个加扰电路11被配置以并行地对64比特的数据进行加扰。
可选地,级联的M个加扰电路中,位于中间位置上的加扰电路计算得到加扰状态字无需经过寄存器而是被直接反馈到本级以及每个前级加扰电路连接的多路选择器,并被前馈到下一级加扰电路连接的多路选择器,这样可以使这些反馈和前馈的加扰状态字均在下一个时钟周期生效,从而改善加扰计算的准确性。
考虑到当M的取值较大时逻辑级数较多,这样在FPGA实现加扰时会导致时序较差,进而难以收敛,因此可选地,加扰装置100中加扰电路级联的数量可控制在一定范围之内。比如,对于100G以及100以内的灵活以太网,级联的加扰电路数量可选取为4。对于400G或400G以上的灵活以太网,可以在FPGA实现加扰时对FPGA进行结构优化,或者可以考虑用ASIC实现加扰。
图3示出了以64bits加扰电路作为一个基本加扰单元的加扰装置。mux表示多路选择器。Curr_poly和Next_poly分别表示数据加扰前的加扰状态字和数据加扰后生成的新的加扰状态字,且都是58bit。Unscrambler_data表示待加扰的数据,scrambled_data表示加扰后的数据,待加扰的数据和加扰后的数据都是64bits。
基于上述加扰装置100,根据待加扰数据的带宽灵活配置加扰的流程可如图4所示,包括:
S401:获取一个时钟周期输入的待加扰比特的数量。
灵活以太网中,电层逻辑接口的带宽可灵活配置,一个电层逻辑接口对应多个PCSlane,一个PCS lane的带宽是固定的。一个或多个PCS lane可以定义为一个子流。一个电层逻辑接口可以划分为一个或多个子流。MAC子层的数据流可以根据流标签(id),将数据分发到对应的电层逻辑接口的子流上。在加扰时,需要对属于同一MAC子层的数据流的PCS lane一起进行加扰。因此,针对一个MAC子层的数据流使用一个加扰装置100进行加扰处理。这里所述的“一个时钟周期输入的待加扰比特”属于一个MAC子层的数据流。通常,会有一个实现数据分发功能的模块将属于同一MAC子层的数据流的待加扰比特分发到加扰装置进行加扰处理。本发明实施例对于将待加扰比特分发给加扰装置的具体实现过程不做限制。
S402:根据一个时钟周期内输入的待加扰比特的数量确定用于对所述一个时钟周期输入的待加扰比特进行加扰的加扰电路的级联级数,并根据所述级联级数确定用于对所述一个时钟周期内输入的待加扰比特进行加扰的K个级联的加扰电路,所述K个级联的加扰电路包括第一加扰电路至第K加扰电路,所述待加扰比特按照从低比特位到高比特位的顺序由第一加扰电路至第K加扰电路进行加扰,K表示级联级数,K=N/S,N为一个时钟周期输入的待加扰比特的数量,S表示最小数据单元的比特数量,采用IEEE802.3ba以太网标准时S取值为64。
在S402中,由于每个加扰电路对S比特进行加扰,因此根据一个时钟周期输入的待加扰比特的数量可以确定出用于执行加扰操作的加扰电路的级联级数为K个,其中,K=N/S,N为一个时钟周期输入的待加扰比特的数量。然后根据级联级数K选取K个级联的加扰电路,这K个加扰电路将用于对待加扰的所有比特进行加扰。其中,这K个加扰电路按照级联顺序称为第一至第K加扰电路,一个时钟周期输入的所有待加扰比特按照从低比特位到高比特位的顺序被分发到第一至第K加扰电路,每个加扰电路被分发到S比特。比如,这K个加扰电路中,第一加扰电路对PCS lane0加扰,第二加扰电路对PCS lane1加扰,以此类推,第K加扰电路对PCS lane K-1加扰。
在S402中,在选取K个级联的加扰电路时,可从加扰装置100中级联的M个加扰电路中的任意一个加扰电路开始选取K个级联的加扰电路。比如,在图2所示的加扰装置100中,可选取第0~K-1级加扰电路执行加扰计算,也可以选取第1~K级加扰电路执行加扰计算。
S403:对于第一加扰电路连接的多路选择器,将所有路输入中第K加扰电路的反馈设置为有效、将其他路输入设置为无效,对于第二到第K级加扰电路中的每个加扰电路连接的多路选择器,将所有路输入中前一级加扰电路的前馈设置为有效、将其他路输入设置为无效。
通过S403,可将第K加扰电路计算得到的加扰状态字反馈到第一加扰电路,对于选取的K级级联加扰电路中除第K加扰电路以外的其他加扰电路,其计算得到的加扰状态字被前馈到下一级加扰电路。
如果K<M,即,只需要从M级加扰电路中选择部分级联的加扰电路来进行加扰操作,则对于未被选取执行加扰操作的加扰电路来说,由于其反馈到前级加扰电路的加扰状态字和前馈到下一级加扰电路的加扰状态字均被设置为无效,因此对那些被选取执行加扰操作的加扰电路的加扰操作没有影响。
进一步地,如果一个时钟周期输入的待加扰比特的数量为S,则只需要选取一个加扰电路进行加扰操作。在配置该加扰电路时,对于该加扰电路连接的多路选择器,将所有路输入中本加扰电路的反馈设置为有效、将其他路输入设置为无效。
上述流程可由一个控制电路来执行。该控制电路通过向相应多路选择器发送控制信号,以对控制多路选择器输入端的寄存器的状态进行设置。
基于加扰装置100的结构以及图4所示的加扰配置流程,加扰流程可如图5所示,包括:
S501:被选取执行加扰计算的K个级联的加扰电路接收第一时钟周期输入的待加扰比特。每一个加扰电路接收一路PCS lane。
S501中,一个时钟周期输入的待加扰比特属于同一个MAC子层的数据流。在S501之前,可先将待加扰比特按最小数据单元进行划分,以最小数据单元的比特数量S等于64为例,将待加扰比特按64比特分块,每级加扰电路得到一个64比特分块。
S502:所述K个加扰电路中的每个加扰电路分别并行地对输入的待加扰比特进行加扰。所述K个加扰电路输出的加扰结果构成了S501中输入的待加扰比特的加扰结果。
S502中,所述K个加扰电路中的每个加扰电路,利用本加扰电路连接的多路选择器输出的第一加扰状态字对本加扰电路接收到的待加扰比特进行加扰,根据加扰结果得到第二加扰状态字,并将所述第二加扰状态字分别反馈给本加扰电路到第一加扰电路连接的多路选择器,并前馈到本加扰电路的下一级加扰电路连接的多路选择器。
所述第一加扰状态字分为两类:一是来自前级的第一时钟周期计算得到的加扰状态字;二是本级及后面各级的第二时钟周期计算得到的加扰状态字。所述第二时钟周期为所述第一时钟周期的上一个时钟周期。举例来说,在当前时钟周期,每级加扰电路加扰时利用的加扰状态字如果是前级模块的前馈输出,就是本时钟周期内计算得到的;如果是本级或后级模块的反馈输出,则是当前时钟周期的上一个时钟周期计算得到的。每级加扰电路在当前时钟周期计算得到的加扰状态字不经寄存地前馈到下一级加扰电路,同时被存储到本级以及前面各级相应多路选择器输入端的寄存器,以更新该寄存器内存储的加扰状态字。在当前时钟周期的下一个时钟周期,根据多路选择器的配置,其输入端的相应的加扰状态字被输出到加扰电路进行加扰计算。
S502中,每级加扰电路根据加扰算法将输入的待加扰比特中的某些比特与加扰状态字的某些比特进行异或操作,得到加扰结果。比如,可采用如下代码描述的加扰算法:
进一步地,每一级加扰电路连接的多路选择器的输入还包括初始设置的加扰状态字。在初始情况下(即在当前时钟周期各级加扰电路还没有计算得到加扰状态字的情况下),加扰电路使用初始设置的加扰状态字进行加扰计算。例如,如果选取第0~K-1级加扰电路执行加扰计算,则在初始情况下,第0~K-1级加扰电路使用初始设置的加扰状态字进行加扰计算。初始设置的加扰状态字的取值可以是全1或者是其他非0值,视具体算法而定。加扰电路可以按照设定周期回到初始状态。
通过对实施例一的描述可以看出,本发明实施例提供的加扰装置100中,通过多路选择器对加扰电路进行级联,每级加扰电路连接的多路选择器的输入来自于本级加扰电路反馈的加扰状态字、本级加扰电路之后的每级加扰电路反馈的加扰状态字,以及前一级加扰电路前馈的加扰状态字,这样,可根据一个时钟周期输入的待加扰数据的比特数量选取用于执行加扰计算的一个或多级级联的加扰电路,通过配置被选取用于执行加扰计算的加扰电路所连接的多路选择器输入端的有效状态,以选通相应的加扰状态字传送到加扰电路参与加扰计算。可以看出,本发明实施例提供了一种灵活可配置的加扰结构,能够根据一个时钟周期输入的待加扰比特的数量选取相应数量的加扰电路执行加扰计算,通过配置被选取的加扰电路所连接的多路选择器来使所述被选取的加扰电路使用正确的加扰状态字进行加扰计算,实现了灵活可配置的可变带宽以太网加扰。
实施例二
采用实施例一的方案,当加扰装置100中的加扰电路级联级数较多时,会造成加扰状态字的反馈路径的组合逻辑级数过大,时序收敛困难。针对该问题,实施例二在加扰电路级联的基础上提出了一种多粒度结构并联的优化方案。
参见图6,为本发明实施例二提供的加扰装置200的整体结构图。如图所示,加扰装置200包括加扰模块21和反馈模块22。加扰模块21用于执行加扰计算,反馈模块22用于执行加扰状态字的计算并将计算得到的加扰状态字输出给加扰模块21,以使加扰模块根据加扰状态字进行加扰计算。通过设置加扰模块21和反馈模块22使得加扰计算和加扰状态字计算分开处理。
可选地,对于不要求在一个时钟周期内完成的加扰计算,加扰模块21可采用流水线结构以减少组合逻辑级数。可选地,加扰模块21可通过多个级联的加扰计算单元实现加扰计算。每级加扰计算单元用于根据反馈模块22输出的加扰状态字或前一级加扰计算单元前馈的加扰状态字,对输入到本加扰计算单元的待加扰比特进行加扰。其中,反馈模块22输出给加扰模块21的加扰状态字是当前时钟周期的前一个时钟周期计算得到的。
可选地,对于要求在一个时钟周期内完成的加扰状态字计算由反馈模块22中的反馈计算单元实现。根据不同的带宽需求,反馈模块22中包含一个或多个反馈计算单元。一个反馈计算单元中可仅由一级加扰电路实现以针对一种带宽需求计算加扰状态字。一个反馈计算单元中也可以由多级加扰电路实现以针对多种带宽需求计算加扰状态字。
图7A和图7B示出了加扰装置200的内部结构示意图。
如图7A所示,加扰模块21中包括第一输入选择器211、第一输出选择器213以及由R个加扰计算单元212级联而成的R级加扰计算单元,R>1,其中:
第一输入选择器211为多路选择器,位于加扰计算单元的待加扰比特输入端一侧,用于将第一时钟周期输入的待加扰比特分发到用于对所述待加扰比特进行加扰计算的一个加扰计算单元或K个级联的加扰计算单元,1<K≤R;
每级加扰计算单元212用于根据前一级加扰计算单元前馈的加扰状态字或者所述反馈模块输出的加扰状态字,对分发到本级加扰计算单元的待加扰比特进行加扰;
第一输出选择器213为多路选择器,位于加扰计算单元的加扰结果输出端一侧,用于将进行加扰计算的加扰计算单元的加扰结果合并为所述待加扰比特的加扰结果并输出。
如图7A所示,反馈模块22中包括第二输入选择器221、第二输出选择器223以及X个反馈计算单元222,X≥1,其中:
第二输入选择器221为多路选择器,位于反馈计算单元的待加扰比特输入端一侧,用于根据所述第一时钟周期输入的待加扰比特的数量,将所述待加扰比特分发到用于针对所述数量的比特计算加扰状态字的反馈计算单元;
每个反馈计算单元222用于根据第二输入选择器221分发的待加扰比特计算加扰状态字;
第二输出选择器223为多路选择器,位于反馈计算单元的加扰状态字输出端一侧,用于将反馈计算单元222计算得到的加扰状态字输出给加扰计算单元212。
可选地,每个加扰计算单元被配置以并行地对M×S比特进行加扰计算,S为最小数据单元的比特数量,比如S的取值可以是64,M>1。可选地,可综合考虑资源消耗、实现难度等因素来确定M的取值。M的取值越大,则相应资源消耗以及实现难度越大。
在每个加扰计算单元并行地对M×S比特进行加扰计算的情况下:
第一输入选择器211可将所述第一时钟周期输入的n×S个待加扰比特分发到H个级联的加扰计算单元,其中,表示向上取整;
所述H个级联的加扰计算单元中,最低一级的加扰计算单元具体用于根据反馈计算单元输出的加扰状态字对分发到本级加扰计算单元的待加扰比特进行加扰计算,其他级的加扰计算单元具体用于根据本级加扰计算单元的前一级加扰计算单元前馈的加扰状态字对分发到本级加扰计算单元的待加扰比特进行加扰计算;
第二输入选择器221具体用于:将所述第一时钟周期输入的n×S个待加扰比特分发到用于针对n×S个比特计算加扰状态字的反馈计算单元;
第二输出选择器223具体用于:将用于针对n×S个比特计算加扰状态字的反馈计算单元计算得到的加扰状态字输出给所述H个级联的加扰计算单元中的最低一级的加扰计算单元。
可选地,如图7B所示,相邻两级加扰计算单元之间还连接有一个寄存器或寄存器组214(如图7B中所示的“reg241”),为描述方便,将其称为第一寄存器或第一寄存器组。所述第一寄存器或第一寄存器组用于将所述相邻两级加扰计算单元计算得到的加扰状态字延迟Y(Y≥1)个时钟周期后输入到下一级加扰计算单元。所述第一寄存器组可由Y个寄存器串接构成,其中每个寄存器可将数据延迟一个时钟周期后输出。
可选地,为了保证所有加扰计算单元输出的加扰结果在时序上对齐,所有加扰计算单元的加扰结果通过一个寄存器或一个寄存器组(为方便描述称为第二寄存器或称为第二寄存器组)以延迟相应时钟周期后再输出到第一输出选择器,所述第二寄存器组可由多个寄存器串接构成。每级加扰计算单元的加扰结果输出端连接的第二寄存器组中寄存器的数量与级间的第一寄存器组中的寄存器数量相关。以相邻两级加扰计算单元之间连接Y个寄存器以延迟Y个时钟周期向下一级加扰计算单元前馈加扰状态字为例,相邻两级加扰计算单元中,前一级的加扰计算单元的加扰结果被延迟的时钟周期数量相比于后一级加扰计算单元多Y个。比如,R个级联的加扰计算单元为第0级加扰计算单元到第R-1级加扰计算单元,则第0级加扰计算单元的加扰结果输出端连接由R×Y个寄存器串接而成的第二寄存器组,第1级加扰计算单元的加扰结果输出端连接由(R-1)×Y个寄存器串接而成的第二寄存器组,第2级加扰计算单元的加扰结果输出端连接由(R-2)×Y个寄存器串接而成的第二寄存器组,以此类推,每一级加扰计算单元的加扰结果输出端连接的第二寄存器组中寄存器的数量比后一级加扰计算单元多Y个。
可选地,图8示出了一种加扰计算单元212的内部结构,其中,Curr_poly和Next_poly分别表示当前时钟周期数据加扰前的加扰状态字和数据加扰后产生的的加扰状态字,比如加扰状态字可以是58比特。如图8所示,加扰计算单元212可包括:M个加扰电路和M个多路选择器,所述M个加扰电路通过所述M个多路选择器级联为M级加扰电路,所述M级加扰电路按照级联顺序包括第0级至第M-1级加扰电路,每级加扰电路用于对S比特进行加扰,M>1,S>1,其中:
每级加扰电路连接一个多路选择器,所述多路选择器的每一路输入均为加扰状态字,所述多路选择器的所有路输入中有一路输入被配置为有效,被配置为有效的一路输入对应的加扰状态字被输出到多路选择器连接的加扰电路以参与加扰运算,其中,第i级加扰电路连接的多路选择器的输入分别来自于第i级至第M-1级加扰电路的反馈、第i-1级加扰电路的前馈以及所述反馈模块的输出,1<i≤N。第0级加扰电路连接的多路选择器的输入来自于第M-1级加扰电路的反馈。
可选地,一个加扰计算单元中第M-1级加扰电路计算得到的加扰状态字,被输出到本级加扰计算单元的下一级加扰计算单元中第0级加扰电路连接的多路选择器的输入端。特别地,对于第0级加扰计算单元来说,第0级加扰计算单元中的第0级加扰电路连接的多路选择器的一路输入来自于第R-1级加扰计算单元中第M-1级加扰电路输出的加扰状态字。
可选地,每个加扰电路计算得到的加扰状态字经一个寄存器(如图中的reg表示寄存器)延迟一个时钟周期后反馈到本加扰电路连接的多路选择器。
可选地,一个加扰计算单元中的每个加扰电路计算得到的加扰状态字经过一个寄存器延迟一个时钟周期后反馈到所有前级加扰电路连接的多路选择器。
可选地,为了保证多个加扰计算单元级联时逐级加扰的正确性,在一个加扰计算单元中,每个加扰电路的待加扰比特输入端与所述第一输入选择器的输出端之间连接有第三寄存器或第三寄存器组,所述第三寄存器组可由多个寄存器串接构成。相邻两级加扰电路中,前一级的加扰电路的待加扰比特被延迟的时钟周期数量相比于后一级加扰电路少Y个,所述Y为相邻两级加扰计算单元之间,前一级加扰计算单元前馈到后一级加扰计算单元的加扰状态字被延迟输出的时钟周期数量。
下面对加扰装置200中的反馈模块进行详细描述。
如前所述,根据带宽需求可设置一个或多个加扰计算单元。一个加扰计算单元可为多级加扰结构,从而可针对不同带宽需求进行灵活配置。
可选地,加扰装置200的反馈模块22中的所述X个反馈计算单元中,包括至少一个第一反馈计算单元。所述第一反馈计算单元中包括W(W>1)个加扰电路和W个多路选择器,所述W个加扰电路通过所述W个多路选择器级联为W级加扰电路,所述W级加扰电路按照级联顺序包括第0级至第W-1级加扰电路。每级加扰电路用于对2i×S(i为大于或等于0的整数)个比特进行加扰,S表示最小数据单元的比特数量,采用IEEE802.3ba以太网标准时S取值为64。即,每级加扰电路为幂2粒度的加扰电路。以下为了描述方便,将第一反馈计算单元称为幂2粒度的反馈计算单元。
在一个幂2粒度的反馈计算单元中,每级加扰电路连接一个多路选择器,所述多路选择器的每一路输入均为加扰状态字,所述多路选择器的所有路输入中有一路输入被配置为有效,被配置为有效的一路输入对应的加扰状态字被输出到多路选择器连接的加扰电路以参与加扰运算,其中,第i级加扰电路连接的多路选择器的输入分别来自于第i级至第W-1级加扰电路的反馈以及第i-1级加扰电路的前馈。
可选地,一个幂2粒度的反馈计算单元中,每个幂2粒度的加扰电路加扰的比特的数量可能相同也可能不同,通过不同的组合可以满足针对不同数量的待加扰比特计算加扰状态字。比如,一个幂2粒度的反馈计算单元中包括3个级联的加扰电路,且每个加扰电路被配置以并行地对22×64bits进行加扰,这样可以满足4×64bits、8×64bits、12×64bits三种带宽需求。再比如,一个幂2粒度的反馈计算单元中包括3个级联的加扰电路,按照级联顺序包括21×64bits粒度的加扰电路、22×64bits粒度的加扰电路以及23×64bits粒度的加扰电路,这样可以满足2×64bits、4×64bits、6×64bits、8×64bits、10×64bits、12×64bits、14×64bits七种带宽需求。
如果反馈模块22中包含多个幂2粒度的反馈计算单元,则不同的幂2粒度的反馈计算单元在一个或多个方面可能会存在差异,从而可通过不同的幂2粒度的反馈计算单元满足不同带宽需求,所述一个或多个方面可包括:级联的加扰反馈电路的数量不同、加扰反馈电路的带宽不同(即加扰电路的加扰比特数量不同)。
如果反馈模块22中包含多个幂2粒度的反馈计算单元,可选地,部分幂2粒度的反馈计算单元可针对小带宽需求计算加扰状态字,部分幂2粒度的反馈计算单元可针对大带宽需求计算加扰状态字。
举例来说,如果一个时钟周期输入到加扰装置200的待加扰比特数量不多,则幂2粒度的反馈计算单元可采用相同粒度的加扰电路级联。比如,一个时钟周期输入的待加扰比特数量在128比特以下,则幂2粒度的反馈计算单元可由2个64bits的加扰电路通过2个多路选择器级联而成,这样,该幂2粒度的反馈计算单元可针对比特数量为64bits~128bits的待加扰比特计算加扰状态字。
如果一个时钟周期输入到加扰装置200的待加扰比特数量较多,则为了减少流水线级数,幂2粒度的反馈计算单元可采用较大粒度的加扰电路级联,比如,采用128bits或256bits的加扰电路级联,其中,128bits的加扰电路表示该加扰电路被配置以并行地对128个比特进行加扰计算,256bits的加扰电路表示该加扰电路被配置以并行地对256个比特进行加扰计算。
加扰装置200的反馈模块22中,在幂2粒度的反馈计算单元中采用幂2粒度的加扰电路级联,可更好地满足时序可实现性。另外,将不同幂2粒度的加扰电路级联,还可满足不同的带宽需求,并满足资源最省的要求。
图9示例性地示出了一种幂2粒度的反馈计算单元的内部结构。Curr_poly和Next_poly分别表示当前时钟周期数据加扰前的加扰状态字和数据加扰后产生的加扰状态字。reg表示寄存器,用于将数据延时一个时钟周期后输出。由于加扰状态字实际上是通过将加扰后数据的部分比特延迟一个时钟周期得到的,因此幂2粒度的反馈计算单元与加扰计算单元的内部结构类似。图9所示的幂2粒度的反馈计算单元由多个加扰运算位宽为2i×64bits(i=0,1,2,3…)的幂2粒度的加扰电路以及相应数量的多路选择器(图中mux表示多路选择器)级联组成,从而用较少的级联级数实现针对多种位宽需求计算加扰状态字。每级幂2粒度加扰电路的Curr_poly来自多路选择器,多路选择器的输入分别来自加扰电路自身的反馈poly,前级加扰电路的前馈poly、以及后级加扰电路的反馈poly。每级幂2粒度加扰电路的Next_poly经过寄存器延迟一个时钟周期后生成本级加扰电路的反馈poly。各级加扰电路只包含反馈poly的计算逻辑。
为了满足更多带宽需求,尤其满足针对奇数倍的64比特带宽计算加扰状态字的需求,可选地,加扰装置200的反馈模块22中的所述X个反馈计算单元中可包括至少一个第二反馈计算单元,所述第二反馈计算单元包括L(L>1)级加扰电路,所述L级加扰电路中至少有一级加扰电路由L1(1≤L1<L)个加扰电路通过L1个多路选择器并联构成,所述L级加扰电路中其余级加扰电路用于对2i×S(i为等于0或大于0的整数)个比特进行加扰。
在一个第二反馈计算单元中,并联的加扰电路中的每个加扰电路连接一个多路选择器,并联的加扰电路连接的所有多路选择器中:每个多路选择器的每一路输入均为加扰状态字,每个多路选择器的所有路输入中有一路输入被配置为有效,被配置为有效的一路输入对应的加扰状态字被输出到多路选择器连接的加扰电路以参与加扰运算,其中,每个多路选择器的输入分别来自于自身连接的加扰电路的反馈、本级加扰电路的所有后级加扰电路的反馈以及本级加扰电路的前一级加扰电路的前馈。
在该第二反馈计算单元中,除所述并联的加扰电路以外的每级加扰电路连接一个多路选择器,所述除并联的加扰电路以外的所有级加扰电路连接的多路选择器中:每个多路选择器的每一路输入均为加扰状态字,所述多路选择器的所有路输入中有一路输入被配置为有效,被配置为有效的一路输入对应的加扰状态字被输出到多路选择器连接的加扰电路以参与加扰运算,其中,每个多路选择器的输入分别来自于本级加扰电路的所有后级加扰电路的反馈、本级加扰电路的反馈以及本级加扰电路的前一级加扰电路的前馈。
可选地,上述第二反馈计算单元中,并联的多个加扰电路位于流水线结构中的同一级,这些并联的加扰电路中至少有一个加扰电路被配置以并行地对奇数倍的S比特进行加扰计算(S为最小数据单元的比特数量),从而可到针对奇数倍S比特的加扰状态字。
由于第二反馈计算单元可配置为针对奇数倍的S比特计算加扰状态字,相对于只能针对偶数倍的S比特计算加扰状态字的幂2粒度的反馈计算单元提供了补充方案,因此为描述方便,以下将第二反馈计算单元称为补充粒度反馈计算单元。
图10示例性地示出了一种补充粒度反馈计算单元的内部结构示意图。
如图10所示,补充粒度反馈计算单元包括多个幂2粒度加扰电路以及多个补充粒度加扰电路。图中J×64bits加扰电路和K×64bits加扰电路并联连接,位于同一级。图中的reg表示寄存器,用于将数据延迟一个时钟周期。补充粒度加扰电路的加扰计算位宽可以是幂2粒度,也可以不是幂2粒度。比如,图中J和/或K的取值可以是2n(n为等于0或大于0的整数),也可以是奇数。各级加扰单元的Curr_poly来自多路选择器,多路选择器的输入分别来自加扰电路自身反馈的加扰状态字,前级加扰电路前馈的加扰状态字以及后级加扰电路反馈的加扰状态字。各级加扰电路的Next_poly经过寄存器延迟一个时钟周期后生成本级加扰电路反馈的加扰状态字。特别的,同一级的加扰电路之间是并联关系,不会相互传递前馈的加扰状态字或反馈的加扰状态字。各加扰电路只包含加扰状态字的计算逻辑。
补充粒度反馈计算单元一般作为幂2粒度反馈计算单元的补充方案使用。相比幂2粒度的反馈计算单元,补充粒度的反馈计算单元可以用更少的级联级数实现同等功能,但代价是需要更多的资源消耗。例如,前述的由21×64bits粒度的加扰电路、22×64bits粒度的加扰电路以及23×64bits粒度的加扰电路级联形成的3级反馈计算单元,无法覆盖奇数倍64bits位宽的加扰状态字计算需求,这可以通过增加1级20×64bits加扰单元+1级多路选择器解决。但是,级联级数的增加会增大实现难度。如果用图11所示的补充粒度的加扰计算单元,可在不增加级联级数的情况下达到相同的目的。
图11中的反馈计算单元为三级级联结构,即,23×64bits加扰电路+22×64bits加扰电路+并联连接的3×64bits/2×64bits/1×64bits加扰电路,通过3级级联实现与4级级联的反馈计算单元等效的功能。
图12示出了一种加扰装置200的可选结构。其中在反馈模块中包含p个幂2粒度的反馈计算单元和q个补充粒度的反馈计算单元。
基于上述加扰装置200,根据待加扰数据的带宽灵活配置加扰的流程可如图13所示,包括:
S1301:获取一个时钟周期输入的n×S个待加扰比特的数量。S表示最小数据单元的比特数量,采用IEEE802.3ba以太网标准时S取值为64。
灵活以太网中,电层逻辑接口的带宽可灵活配置,一个电层逻辑接口对应多个PCSlane,一个PCS lane的带宽是固定的。一个或多个PCS lane可以定义为一个子流。一个电层逻辑接口可以划分为一个或多个子流。MAC子层的数据流可以根据流标签(id),将数据分发到对应的电层逻辑接口的子流上。在加扰时,需要对属于同一MAC子层的数据流的PCS lane一起进行加扰。因此,针对一个MAC子层的数据流使用一个加扰装置100进行加扰处理。这里所述的“一个时钟周期输入的待加扰比特”属于一个MAC子层的数据流。通常,会有一个实现数据分发功能的模块将属于同一MAC子层的数据流的待加扰比特分发到加扰装置进行加扰处理。本发明实施例对于将待加扰比特分发给加扰装置的具体实现过程不做限制。
S1302:根据所述n×S确定用于对所述n×S个待加扰比特进行加扰的加扰计算单元的级联级数,并根据所述级联级数确定用于对所述一个时钟周期输入的待加扰比特进行加扰的H个级联的加扰计算单元,所述H个级联的加扰计算单元包括第一加扰计算单元至第H加扰计算单元,所述待加扰比特按照从低比特位到高比特位的顺序由第一加扰计算单元至第H加扰计算单元进行加扰,H表示级联级数, 表示向上取整,每个加扰计算单元被配置以并行地对M×S比特进行加扰计算。
在S1302中,由于每个加扰电路对M×S比特进行加扰,因此根据一个时钟周期输入的待加扰比特的数量n×S可以确定出用于执行加扰操作的加扰计算单元的级联级数为H个,其中,然后根据级联级数H选取H个级联的加扰计算单元,这H个加扰计算单元将用于对待加扰的所有比特进行加扰。其中,这H个加扰计算单元按照级联顺序称为第一至第H加扰计算单元,一个时钟周期输入的所有待加扰比特按照从低比特位到高比特位的顺序被分发到第一至第H加扰计算单元,每个加扰计算单元被分发到M×S比特,如果最后一级加扰计算单元分发到的比特数量少于M×S,则通过配置将多余的计算单元不使能。
在S1302中,在选取H个级联的加扰计算单元时,可从加扰装置200中级联的R个加扰电路中的任意一个加扰计算单元开始选取H个级联的加扰计算单元。比如,在图7A所示的加扰装置200中,可选取第0~H-1级加扰计算单元执行加扰计算,也可以选取第1~H级加扰计算单元执行加扰计算。
S1303:对于第一加扰计算单元连接的多路选择器,选通第H加扰计算单元反馈的加扰状态字的输入通道,对于第二到第H加扰计算单元中的每个加扰计算单元连接的多路选择器,选通前一级加扰计算单元前馈的加扰状态字的输入通道。
S1304:根据所述n×S确定用于针对n×S比特计算加扰状态字的反馈计算单元。
上述流程中的“S”所标识的操作没有严格的时序要求,比如,S1304也可发生在S1303之前,或者与S1303同时执行。
可选地,在S1303中配置第一加扰计算单元的过程可包括:对于所述第一加扰计算单元中级联的M个加扰电路中第0级加扰电路连接的多路选择器,将反馈模块输出的加扰状态字对应的一路输入设置为有效、将其他路输入设置为无效;对于所述第一加扰计算单元中级联的M个加扰电路中第1~M-1级加扰电路连接的多路选择器,将前一级加扰电路前馈的加扰状态字对应的一路输入设置为有效、将其他路输入设置为无效;对于第二到第H级加扰计算单元中每个加扰计算单元中级联的第0级加扰电路,将加扰电路连接的多路选择器中前一级加扰计算单元前馈的加扰状态字对应的一路输入设置为有效、将其他路输入设置为无效;对于第二到第H级加扰计算单元中每个加扰计算单元中级联的第1~M-1级加扰电路中的每个加扰电路,将加扰电路连接的多路选择器中前一级加扰电路前馈的加扰状态字对应的一路输入设置为有效、将其他路输入设置为无效。
可选地,在S1304中,根据所述n×S确定用于针对n×S比特计算加扰状态字的反馈计算单元之后还包括配置该反馈计算单元的过程。所述配置该反馈计算单元的过程可包括:
根据所述n×S确定所述用于针对n×S比特计算加扰状态字的反馈计算单元中用于对所述n×S个的待加扰比特计算加扰状态字的加扰电路级联级数;
根据所述级联级数确定用于对所述n×S个待加扰比特计算待加扰状态字的B个级联的加扰电路,所述B个级联的加扰电路包括第一加扰电路至第B加扰电路,所述n×S个待加扰比特按照从低比特位到高比特位的顺序由第一加扰电路至第B加扰电路进行加扰;
对于第一加扰电路连接的多路选择器,将用于存储第B加扰电路反馈的加扰状态字的寄存器设置为有效、将其他用于存储加扰状态字的寄存器设置为无效;
对于第2至B加扰电路连接的多路选择器,将前一级加扰电路前馈的加扰状态字对应的一路输入设置为有效、将其他路输入设置为无效。
进一步地,如果n≤M,即输入的待加扰比特由一个加扰计算单元即可完成加扰计算,则选取一个加扰计算单元,确定用于对所述n×S个的待加扰比特进行加扰的n个级联的加扰电路,所述n个级联的加扰计算单元包括第一至第n加扰电路,所述n×S个待加扰比特按照从低比特位到高比特位的顺序由第一至第n加扰计算单元进行加扰。对于第一加扰电路连接的多路选择器,将第n加扰电路反馈的加扰状态字对应的一路输入设置为有效、将其他路输入设置为无效。对于第2至第n加扰电路连接的多路选择器,将前一级加扰电路前馈的加扰状态字对应的一路输入设置为有效、将其他路输入设置为无效。
以图12所示的加扰装置为例,在加扰过程中,一个时钟周期输入来的待加扰数据流被拆分为n路64bits比特数据流,分别并行地送入多个M×64bits加扰计算单元以及反馈计算单元。M×64bits加扰计算单元根据输入的n路待加扰数据,以及反馈计算单元提供的加扰状态字,生成n路64bits加扰后数据并输出。在上述过程中,第二输入选择器根据带宽配置模式的不同,向反馈计算单元输出待加扰数据。反馈计算单元生成的加扰状态字通过第二输出选择器输出给加扰计算单元。
例如,如果一个时钟周期输入10*64bits,选取第0~2级M*64bits的加扰计算单元执行加扰计算,M=4,则加扰过程可包括:
第一输入选择器将4*64bits分发给第0级M*64bits的加扰计算单元,将其后的4*64bits分给第1级M*64bits的加扰计算单元,将其后的2*64bits分给第2级M*64bits的加扰计算单元。第二输入选择器将待加扰的10*64bits数据分发给用于计算10*64bits加扰状态字的反馈计算单元,该反馈计算单元可由(22*64bits+23*64bits)级联而成。
第0级M*64bits的加扰计算单元利用该反馈计算单元输出的加扰状态字(是针对上一次输入的待加扰比特计算得到的)进行加扰,将加扰结果输出给第一输出选择器;
第1级M*64bits的加扰计算单元利用第0级M*64bits的加扰计算单元前馈的加扰状态字进行加扰,将加扰结果输出给第一输出选择器;
第2级M*64bits的加扰计算单元利用第1级M*64bits的加扰计算单元前馈的加扰状态字进行加扰,将加扰结果输出给第一输出选择器;
第一输出选择器将第0~2级M*64bits的加扰计算单元的加扰结果拼接合并后输出。
反馈计算单元执行加扰计算,根据加扰结果得到加扰状态字,将加扰状态字输出给第二输出选择器。第二输出选择器将该加扰状态字输出给第0级M*64bits的加扰计算单元,以用于对下一个输入的待加扰10*64bits数据进行加扰。具体的,该反馈计算单元输出的加扰状态字输出给第0级M*64bits的加扰计算单元中的第0级64bits的加扰电路。
通过对实施例二的描述可以看出,本发明实施例提供的加扰装置200中,一方面包括多个级联的加扰计算单元,每个加扰计算单元包括多个级联的加扰电路,因此可根据待加扰的比特数量选择相应数量的加扰计算单元进行加扰计算,也就是说,可根据带宽需求选取参与加扰计算的加扰计算单元,从而实现了灵活可配置的可变带宽以太网加扰;另一方面,针对待加扰的比特数量较大的情况,由反馈计算单元来计算加扰状态字并输出给相应的加扰计算单元使用,可以减少加扰计算单元内部级联的加扰电路的逻辑组合级数,节省资源开销。
综上所述,本发明的上述实施例提供的加扰方案,解决了可变带宽以太网对AL加扰的灵活可配问题。同时考虑到可实现行,用幂2粒度加扰结构,保证资源占用与时序收敛的平衡。
本发明实施例提供的加扰方法,不仅适用于自同步加扰,也可适用于其他加扰算法,比如帧同步加扰或者离散采样加扰。
本发明实施例提供的加扰方案在具体应用中不受限与接口速率、PCS lane数量和一个时钟周期输入的待加扰比特的数量等限制。可以结合具体应用,用本发明实施例提供的方案选择级联级数、以及幂2粒度的加扰计算单元的个数与种类等,以达到资源与时序的平衡。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器,使得通过该计算机或其他可编程数据处理设备的处理器执行的指令可实现流程图中的一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作S以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图的一个流程或多个流程和/或方框图的一个方框或多个方框中指定的功能的S。
尽管已描述了本发明的可选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括可选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (19)
1.一种加扰装置,其特征在于,包括:M个加扰电路和M个多路选择器,所述M个加扰电路通过所述M个多路选择器级联为M级加扰电路,所述M级加扰电路按照级联顺序包括第0级至第M-1级加扰电路,每级加扰电路用于对S比特进行加扰,M>1,S>1,其中:
每级加扰电路连接一个多路选择器,所述多路选择器的每一路输入均为加扰状态字,所述多路选择器的所有路输入中有一路输入被配置为有效,被配置为有效的一路输入对应的加扰状态字被输出到多路选择器连接的加扰电路以参与加扰运算,其中,第i级加扰电路连接的多路选择器的输入分别来自于第i级至第M-1级加扰电路的反馈以及第i-1级加扰电路的前馈,1<i≤N。
2.如权利要求1所述的加扰装置,其特征在于,第0级加扰电路连接的多路选择器的输入分别来自于第0级至第M-1级加扰电路的反馈。
3.如权利要求1或2所述的加扰装置,其特征在于,所述S为最小数据单元的比特数量。
4.一种基于如权利要求1至3中任一项所述的加扰装置实现的加扰配置方法,其特征在于,包括:
获取一个时钟周期输入的待加扰比特的数量;
根据一个时钟周期输入的待加扰比特的数量确定用于对所述一个时钟周期输入的待加扰比特进行加扰的加扰电路的级联级数,并根据所述级联级数确定用于对所述一个时钟周期输入的待加扰比特进行加扰的K个级联的加扰电路,所述K个级联的加扰电路包括第一加扰电路至第K加扰电路,所述待加扰比特按照从低比特位到高比特位的顺序由第一加扰电路至第K加扰电路进行加扰,K表示级联级数,K=N/S,N为一个时钟周期输入的待加扰比特的数量;
对于第一加扰电路连接的多路选择器,将所有路输入中第K加扰电路的反馈设置为有效、将其他路输入设置为无效,对于第二到第K级加扰电路中的每个加扰电路连接的多路选择器,将所有路输入中前一级加扰电路的前馈设置为有效、将其他路输入设置为无效。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
如果所述一个时钟周期输入的待加扰比特的数量为S,则选取一个加扰电路,并针对被选取的加扰电路连接的多路选择器,将所有路输入中所述被选取的加扰电路的反馈设置为有效、将其他路输入设置为无效。
6.一种加扰装置,其特征在于,包括:加扰模块和反馈模块;
所述加扰模块包括第一输入选择器、第一输出选择器以及由R个加扰计算单元级联而成的R级加扰计算单元,R>1,其中:
所述第一输入选择器用于将第一时钟周期输入的待加扰比特分发到用于对所述待加扰比特进行加扰计算的一个加扰计算单元或K个级联的加扰计算单元,1<K≤R;
每级加扰计算单元用于根据前一级加扰计算单元前馈的加扰状态字或者所述反馈模块输出的加扰状态字,对分发到本级加扰计算单元的待加扰比特进行加扰;
所述第一输出选择器用于将进行加扰计算的加扰计算单元的加扰结果合并为所述待加扰比特的加扰结果并输出;
所述反馈模块包括第二输入选择器、第二输出选择器以及X个反馈计算单元,X≥1,其中:
所述第二输入选择器用于根据所述第一时钟周期输入的待加扰比特的数量,将所述待加扰比特分发到用于针对所述数量的比特计算加扰状态字的反馈计算单元;
每个反馈计算单元用于根据所述第二输入选择器分发的待加扰比特计算加扰状态字;
所述第二输出选择器用于将反馈计算单元计算得到的加扰状态字输出给加扰计算单元。
7.如权利要求6所述的加扰装置,其特征在于,每个加扰计算单元被配置以并行地对M×S比特进行加扰计算,S为最小数据单元的比特数量,M>1;
所述第一输入选择器具体用于:将所述第一时钟周期输入的n×S个待加扰比特分发到H个级联的加扰计算单元,
所述H个级联的加扰计算单元中,最低一级的加扰计算单元具体用于根据反馈计算单元输出的加扰状态字对分发到本级加扰计算单元的待加扰比特进行加扰计算,其他级的加扰计算单元具体用于根据本级加扰计算单元的前一级加扰计算单元前馈的加扰状态字对分发到本级加扰计算单元的待加扰比特进行加扰计算;
所述第二输入选择器具体用于:将所述第一时钟周期输入的n×S个待加扰比特分发到用于针对n×S个比特计算加扰状态字的反馈计算单元;
所述第二输出选择器具体用于:将用于针对n×S个比特计算加扰状态字的反馈计算单元计算得到的加扰状态字输出给所述H个级联的加扰计算单元中的最低一级的加扰计算单元。
8.如权利要求7所述的加扰装置,其特征在于,相邻两级加扰计算单元之间还连接有第一寄存器或第一寄存器组,所述第一寄存器或第一寄存器组用于将所述相邻两级加扰计算单元中的前一级加扰计算单元计算得到的加扰状态字延迟Y个时钟周期后输出到下一级加扰计算单元,Y≥1。
9.如权利要求8所述的加扰装置,其特征在于,每个加扰计算单元的加扰结果输出端与所述第一输出选择器的输入端之间连接有第二寄存器或第二寄存器组,所述第二寄存器或第二寄存器组用于将加扰结果进行延迟后输出到所述第一输出选择器;并且
相邻两级加扰计算单元中,前一级的加扰计算单元的加扰结果被延迟的时钟周期数量相比于后一级加扰计算单元多Y个。
10.如权利要求6至9中任一项所述的加扰装置,其特征在于,所述加扰计算单元包括:M个加扰电路和M个多路选择器,所述M个加扰电路通过所述M个多路选择器级联为M级加扰电路,所述M级加扰电路按照级联顺序包括第0级至第M-1级加扰电路,每级加扰电路用于对S比特进行加扰,M>1,S>1,其中:
每级加扰电路连接一个多路选择器,所述多路选择器的每一路输入均为加扰状态字,所述多路选择器的所有路输入有一路输入被配置为有效,被配置为有效的一路输入对应的加扰状态字被输出到多路选择器连接的加扰电路以参与加扰运算,其中,第i级加扰电路连接的多路选择器的输入分别来自于第i级至第M-1级加扰电路的反馈、第i-1级加扰电路的前馈以及所述反馈模块的输出,1<i≤N。
11.如权利要求10所述的加扰装置,其特征在于,一个加扰计算单元中第M-1级加扰电路计算得到的加扰状态字,被输出到本级加扰计算单元的下一级加扰计算单元中第0级加扰电路连接的多路选择器的输入端。
12.如权利要求10所述的加扰装置,其特征在于,一个加扰计算单元中,每个加扰电路计算得到的加扰状态字经一个寄存器延迟一个时钟周期后反馈到本加扰电路连接的多路选择器;和/或
一个加扰计算单元中的每个加扰电路计算得到的加扰状态字经过一个寄存器延迟一个时钟周期后反馈到所有前级加扰电路连接的多路选择器。
13.如权利要求10所述的加扰装置,其特征在于,一个加扰计算单元中,每个加扰电路的待加扰比特输入端与所述第一输入选择器的输出端之间连接有第三寄存器或第三寄存器组,所述第三寄存器或第三寄存器组用于将待加扰比特进行延迟后输出到加扰电路;并且
相邻两级加扰电路中,前一级的加扰电路的待加扰比特被延迟的时钟周期数量相比于后一级加扰电路少Y个,所述Y为相邻两级加扰计算单元之间,前一级加扰计算单元前馈到后一级加扰计算单元的加扰状态字被延迟输出的时钟周期数量。
14.如权利要求6至9中任一项所述的加扰装置,其特征在于,所述X个反馈计算单元中包括至少一个第一反馈计算单元,所述第一反馈计算单元中包括W个加扰电路和W个多路选择器,所述W个加扰电路通过所述W个多路选择器级联为W级加扰电路,所述W级加扰电路按照级联顺序包括第0级至第W-1级加扰电路,每级加扰电路用于对2i×S个比特进行加扰,每级加扰电路加扰的比特的数量相同或不同,W>1,i为大于或等于0的整数,其中:
每级加扰电路连接一个多路选择器,所述多路选择器的每一路输入均为加扰状态字,所述多路选择器的所有路输入中有一路输入被配置为有效,被配置为有效的一路输入对应的加扰状态字被输出到多路选择器连接的加扰电路以参与加扰运算,其中,第i级加扰电路连接的多路选择器的输入分别来自于第i级至第W-1级加扰电路的反馈以及第i-1级加扰电路的前馈。
15.如权利要求6至9中任一项所述的加扰装置,其特征在于,所述X个反馈计算单元中包括至少一个第二反馈计算单元,所述第二反馈计算单元包括L级加扰电路,所述L级加扰电路中至少有一级加扰电路由L1个加扰电路通过L1个多路选择器并联构成,所述L级加扰电路中其余级加扰电路用于对2i×S个比特进行加扰,W>1,i为等于0或大于0的整数,n为大于或等于0的整数,L>1,1≤L1<L,其中;
并联的加扰电路中的每个加扰电路连接一个多路选择器,并联的加扰电路连接的所有多路选择器中:每个多路选择器的每一路输入均为加扰状态字,每个多路选择器的所有路输入中有一路输入被配置为有效,被配置为有效的一路输入对应的加扰状态字被输出到多路选择器连接的加扰电路以参与加扰运算,其中,每个多路选择器的输入分别来自于自身连接的加扰电路的反馈、本级加扰电路的所有后级加扰电路的反馈以及本级加扰电路的前一级加扰电路的前馈;
除所述并联的加扰电路以外的每级加扰电路连接一个多路选择器,所述除并联的加扰电路以外的所有级加扰电路连接的多路选择器中:每个多路选择器的每一路输入均为加扰状态字,所述多路选择器的所有路输入中有一路输入被配置为有效,被配置为有效的一路输入对应的加扰状态字被输出到多路选择器连接的加扰电路以参与加扰运算,其中,每个多路选择器的输入分别来自于本级加扰电路的所有后级加扰电路的反馈、本级加扰电路的反馈以及本级加扰电路的前一级加扰电路的前馈。
16.一种基于如权利要求6至15中任一项所述的加扰装置实现的加扰配置方法,其特征在于,包括:
获取一个时钟周期输入的n×S个待加扰比特的数量;
根据所述n×S确定用于对所述n×S个待加扰比特进行加扰的加扰计算单元的级联级数,并根据所述级联级数确定用于对所述一个时钟周期输入的待加扰比特进行加扰的H个级联的加扰计算单元,所述H个级联的加扰计算单元包括第一加扰计算单元至第H加扰计算单元,所述待加扰比特按照从低比特位到高比特位的顺序由第一加扰计算单元至第H加扰计算单元进行加扰,H表示级联级数,每个加扰计算单元被配置以并行地对M×S比特进行加扰计算;
对于第一加扰计算单元连接的多路选择器,选通反馈计算单元输出的加扰状态字的输入通道,对于第二到第H加扰计算单元中的每个加扰计算单元,选通前一级加扰计算单元前馈的加扰状态字的输入通道;
根据所述n×S确定用于针对n×S比特计算加扰状态字的反馈计算单元。
17.如权利要求16所述的方法,其特征在于,所述对于第一加扰计算单元,选通反馈计算单元输出的加扰状态字的输入通道,包括:
对于所述第一加扰计算单元中级联的M个加扰电路中第0级加扰电路连接的多路选择器,将反馈模块输出的加扰状态字对应的一路输入设置为有效、将其他路输入设置为无效;
对于所述第一加扰计算单元中级联的M个加扰电路中第1~M-1级加扰电路连接的多路选择器,将前一级加扰电路前馈的加扰状态字对应的一路输入设置为有效、将其他路输入设置为无效;
所述对于第二到第H级加扰计算单元中的每个加扰计算单元,选通前一级加扰计算单元前馈的加扰状态字的输入通道,包括:
对于第二到第H级加扰计算单元中每个加扰计算单元中级联的第0级加扰电路,将加扰电路连接的多路选择器中前一级加扰计算单元前馈的加扰状态字对应的一路输入设置为有效、将其他路输入设置为无效;
对于第二到第H级加扰计算单元中每个加扰计算单元中级联的第1~M-1级加扰电路中的每个加扰电路,将加扰电路连接的多路选择器中前一级加扰电路前馈的加扰状态字对应的一路输入设置为有效、将其他路输入设置为无效。
18.如权利要求16所述的方法,其特征在于,所述根据所述n×S确定用于针对n×S比特计算加扰状态字的反馈计算单元之后,还包括:
根据所述n×S确定所述用于针对n×S比特计算加扰状态字的反馈计算单元中用于对所述n×S个的待加扰比特计算加扰状态字的加扰电路级联级数;
根据所述级联级数确定用于对所述n×S个待加扰比特计算待加扰状态字的B个级联的加扰电路,所述B个级联的加扰电路包括第一加扰电路至第B加扰电路,所述n×S个待加扰比特按照从低比特位到高比特位的顺序由第一加扰电路至第B加扰电路进行加扰;
对于第一加扰电路连接的多路选择器,将第B加扰电路反馈的加扰状态字对应的一路输入设置为有效、将其他路输入设置为无效;
对于第2至B加扰电路连接的多路选择器,将前一级加扰电路前馈的加扰状态字对应的一路输入设置为有效、将其他路输入设置为无效。
19.如权利要求16至18中任一项所述的方法,其特征在于,所述方法还包括:
如果n≤M,则选取一个加扰计算单元;
确定用于对所述n×S个的待加扰比特进行加扰的n个级联的加扰电路,所述n个级联的加扰计算单元包括第一至第n加扰电路,所述n×S个待加扰比特按照从低比特位到高比特位的顺序由第一至第n加扰计算单元进行加扰;
对于第一加扰电路连接的多路选择器,将第n加扰电路反馈的加扰状态字对应的一路输入设置为有效、将其他路输入设置为无效;
对于第2至第n加扰电路连接的多路选择器,将前一级加扰电路前馈的加扰状态字对应的一路输入设置为有效、将其他路输入设置为无效。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410240141.0A CN105141558B (zh) | 2014-05-30 | 2014-05-30 | 加扰装置及加扰配置方法 |
PCT/CN2015/077210 WO2015180545A1 (zh) | 2014-05-30 | 2015-04-22 | 加扰装置及加扰配置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410240141.0A CN105141558B (zh) | 2014-05-30 | 2014-05-30 | 加扰装置及加扰配置方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105141558A CN105141558A (zh) | 2015-12-09 |
CN105141558B true CN105141558B (zh) | 2019-02-01 |
Family
ID=54698055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410240141.0A Active CN105141558B (zh) | 2014-05-30 | 2014-05-30 | 加扰装置及加扰配置方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105141558B (zh) |
WO (1) | WO2015180545A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107204941A (zh) * | 2016-03-18 | 2017-09-26 | 中兴通讯股份有限公司 | 一种灵活以太网路径建立的方法和装置 |
CN107888345B (zh) * | 2016-09-29 | 2022-02-18 | 中兴通讯股份有限公司 | 一种信息传输的方法和设备 |
CN108075903B (zh) | 2016-11-15 | 2020-04-21 | 华为技术有限公司 | 用于建立灵活以太网群组的方法和设备 |
CN108268417B (zh) * | 2018-01-22 | 2021-03-30 | 成都天诚慧芯科技有限公司 | 一种数据加、解扰电路及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101610122A (zh) * | 2009-07-03 | 2009-12-23 | 中兴通讯股份有限公司 | 一种并行帧同步的扰码装置及其解扰码装置 |
CN103354533A (zh) * | 2007-10-04 | 2013-10-16 | 高通股份有限公司 | 通信系统中的加扰序列生成 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001237826A (ja) * | 2000-02-23 | 2001-08-31 | Nec Corp | パラレルランダムパタン生成回路及びそれを用いたスクランブル回路並びにデスクランブル回路 |
US6623887B2 (en) * | 2000-04-06 | 2003-09-23 | Wilson Greatbatch Ltd. | Silver vanadium oxide cathode material for high discharge rate lithium cells |
US7106859B2 (en) * | 2001-10-16 | 2006-09-12 | Intel Corporation | Parallel data scrambler |
-
2014
- 2014-05-30 CN CN201410240141.0A patent/CN105141558B/zh active Active
-
2015
- 2015-04-22 WO PCT/CN2015/077210 patent/WO2015180545A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103354533A (zh) * | 2007-10-04 | 2013-10-16 | 高通股份有限公司 | 通信系统中的加扰序列生成 |
CN101610122A (zh) * | 2009-07-03 | 2009-12-23 | 中兴通讯股份有限公司 | 一种并行帧同步的扰码装置及其解扰码装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2015180545A1 (zh) | 2015-12-03 |
CN105141558A (zh) | 2015-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1791120B (zh) | 用于有效对准并行数据信道上的数据比特的系统和方法 | |
CN105141558B (zh) | 加扰装置及加扰配置方法 | |
US7613991B1 (en) | Method and apparatus for concurrent calculation of cyclic redundancy checks | |
CN105264778B (zh) | 一种crc计算方法及装置 | |
US10275219B2 (en) | Bit-serial multiplier for FPGA applications | |
EP3079324B1 (en) | Scrambling method and scrambling apparatus | |
US8732375B1 (en) | Multi-protocol configurable transceiver with independent channel-based PCS in an integrated circuit | |
CN109190413B (zh) | 一种基于fpga和md5加密的串行通信系统 | |
US10237782B2 (en) | Hardware acceleration for batched sparse codes | |
CN105103454A (zh) | 模块化且可扩展的循环冗余校验计算电路 | |
Broscius et al. | Exploiting parallelism in hardware implementation of the DES | |
CN113064852B (zh) | 一种可重构处理器及配置方法 | |
CN105187050A (zh) | 一种可配置的五输入查找表电路 | |
US20080195915A1 (en) | Apparatus for pipelined cyclic redundancy check circuit with multiple intermediate outputs | |
US9992053B1 (en) | Multi-channel, multi-lane encryption circuitry and methods | |
CN114615069A (zh) | 一种Quartet轻量级加密算法的实现装置及方法 | |
US10715360B2 (en) | Data scrambling method and scrambling apparatus | |
US9519807B1 (en) | Hash generation circuitry and methods for multi-channel, multi-lane encryption and authentication | |
Li et al. | LDBR: Low-deflection bufferless router for cost-sensitive network-on-chip design | |
US20150007003A1 (en) | Methods, systems, and computer readable media for multi-packet cyclic redundancy check engine | |
US20160342393A1 (en) | Multiply-and-accumulate unit in carry-save adder format and application in a feedback loop equalizer | |
US11016822B1 (en) | Cascade streaming between data processing engines in an array | |
US9048889B1 (en) | High-speed data communications architecture | |
CN116155481A (zh) | 一种sm3算法的数据加密实现方法和装置 | |
CN108243113B (zh) | 随机负载均衡的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |