CN111404555B - 一种循环移位网络控制方法、系统、存储介质、译码器 - Google Patents
一种循环移位网络控制方法、系统、存储介质、译码器 Download PDFInfo
- Publication number
- CN111404555B CN111404555B CN202010094680.3A CN202010094680A CN111404555B CN 111404555 B CN111404555 B CN 111404555B CN 202010094680 A CN202010094680 A CN 202010094680A CN 111404555 B CN111404555 B CN 111404555B
- Authority
- CN
- China
- Prior art keywords
- inputs
- shift
- cyclic shift
- module
- effective
- 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
- 125000004122 cyclic group Chemical group 0.000 title claims abstract description 156
- 238000000034 method Methods 0.000 title claims abstract description 27
- 240000003537 Ficus benghalensis Species 0.000 claims abstract description 33
- 239000011159 matrix material Substances 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 abstract description 5
- 238000012545 processing Methods 0.000 abstract description 3
- 230000006872 improvement Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 101000863856 Homo sapiens Shiftless antiviral inhibitor of ribosomal frameshifting protein Proteins 0.000 description 1
- 108010003272 Hyaluronate lyase Proteins 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明属于无线通信技术领域,公开了一种循环移位网络控制方法、系统、存储介质、译码器,根据收到的移位控制信号将并行输入数据进行分组处理,并将分组后的结果送入QSN模块;根据接收到的移位控制信号产生控制信号控制QSN模块和Banyan模块工作;根据收到的控制信号将输入分组模块送入的并行数据进行第一次循环移位,并将结果送入Banyan模块;根据收到的控制信号将QSN模块送入的并行数据进行第二次循环移位,在移位同时将并行数据进行解分组完成整个循环移位操作。本发明循环移位器兼容多种不同的并行输入端口数,可灵活拆分为相应个独立的移位器,成倍提高吞吐量;尤其适于兼容多码率多模高吞吐5G LDPC译码器。
Description
技术领域
本发明属于无线通信技术领域,尤其涉及一种循环移位网络控制方法、系统、存储介质、译码器。
背景技术
目前,最接近的现有技术:在5G通信系统中,实现高吞吐的LDPC译码器具有重要意义。5G标准中的LDPC奇偶校验矩阵与传统标准的奇偶校验矩阵不同,基矩阵的提升因子Z有51种情况,矩阵尺寸变化范围广。通常LDPC译码器是以满足最大Z译码的资源来设计的,在Z较小时,只能利用很少一部分资源利用,吞吐量较小,满足不了系统的高吞吐要求。所以要对小Z情况下的译码器进行改进,而译码器改进的关键为移位网络的改进。LDPC译码器中的循环移位网络主要完成Z个并行输入的循环移位,Z的值可简单表示为Z=A×2j。目前,业内的现有技术是这样的:用QSNswitch和Banyanswitch构成两层循环移位网络。QSNswitch支持的输入个数为任意个,可以完成A×2j-k个输入的循环移位。Banyanswitch支持的输入个数为2的幂次,可以用来完成2k(k≤j)个输入的循环移位。由于A、j分别有8种取值情况,现有的结构有多种方案实现5G LDPC译码器中的循环移位网络,所以需要找出其中资源占用最少的情况。且当Z比较小时,受限于第二层Banyanswitch,每次Z路输入都要分为2k组,当Z不能被2k整除时,就要把Z路输入适当重复2的幂次倍使得其能被2k整除来完成循环移位。系统此时只完成了Z路输入的循环移位,资源复用率低,严重影响整个系统的吞吐。
综上所述,现有技术存在的问题是:现有技术未确定具体的循环移位网络的实现方案;其次在现有结构下,Z比较小的时候资源利用率不高,受移位模块的限制,LDPC译码系统的吞吐量低。
解决上述技术问题的难度:5G LDPC译码器的实现要求在占用资源尽可能小的条件下实现支持所有Z的循环移位网络;在Z比较小的时候,通过增加资源复用来提高吞吐量,将大Z的循环移位网络拆分为数个独立的适用于小Z的循环移位网络,这使得循环移位网络的实现带来难度。
解决上述技术问题的意义:确定了5G LDPC译码器中循环移位模块的大小,对译码器的具体实现方案具有指导意义;成倍的提高了小Z时,循环移位模块的吞吐量,使得与之配套的5G LDPC译码器在小Z时可以满足通信系统的吞吐量要求。
发明内容
针对现有技术存在的问题,本发明提供了一种循环移位网络控制方法、系统、存储介质、译码器。
本发明是这样实现的,一种循环移位网络控制方法,所述循环移位网络控制方法包括以下步骤:
第一步,根据收到的移位控制信号将并行输入数据进行分组处理,并将分组后的结果送入QSN模块;
第二步,根据接收到的移位控制信号产生控制信号控制QSN模块和Banyan模块工作;
第三步,根据收到的控制信号将输入分组模块送入的并行数据进行第一次循环移位,并将结果送入Banyan模块;
第四步,根据收到的控制信号将QSN模块送入的并行数据进行第二次循环移位,在移位同时将并行数据进行解分组完成整个循环移位操作。
进一步,所述循环移位网络控制方法的本循环移位网络并行输入为In0~In255,移位控制信号为seg_flag、a_flag、Z、shift0~shift15,输出信号为Out0~Out255。
进一步包括:
当Z≤16时,每16个输入前Z个为有效输入,前16个输入中In0~In(Z-1)为有效输入,InZ~In15为无效输入;seg_flag为0,输入不需要分组,移位控制信号shift0~shift15全部有效;
当16<Z≤32时,每32个输入前Z个为有效输入,前32个输入中In0~In(Z-1)为有效输入,InZ~In31为无效输入,seg_flag为1,输入需要分2组,移位控制信号shift0~shift7有效;
当32<Z≤64时,每64个输入前Z个为有效输入,前64个输入中In0~In(Z-1)为有效输入,InZ~In63为无效输入,seg_flag为2,输入需要分4组,移位控制信号shift0~shift3有效;
当64<Z≤128时,每128个输入前Z个为有效输入,前128个输入中In0~In(Z-1)为有效输入,InZ~In127为无效输入,seg_flag为3,输入需要分8组,移位控制信号shift0~shift1有效;
当128<Z≤256时,256个输入前Z个为有效输入,seg_flag为4,输入需要分16组,移位控制信号shift0有效。
进一步包括:m路输入信号S,表示为S=[s0,s1,…,sm-1],其中有效信号个数为z,将该路信号分为n(n≥2)段,m被n整除,分段后的信号用U(0)~U(n-1)表示,分段后每段共有q个信号,有效信号个数为p。其中q=m/n,p=z/n,则任意一段信号可以如下表示:U(k)=[sk,sk+n,...,sk+(q-1)×n]。
进一步,分组之后,若此时为循环左移,移位次数为shift,则分组后Banyanswitch需要完成的循环移位次数为shift%n;QSNswitch需要完成的循环移位次数为其中前shift%n组x=1,后面的分组x=0。
进一步,所述循环移位网络控制方法根据seg_flag、a_flag、Z、shift0~shift15和产生QSN模块的控制信号,完成第一次循环移位;并确定Banyan模块需要使用的Banyanswitch来完成第二次循环移位,在完成第二次循环移位的同时,将分组的数据合并起来,完成解分组。
本发明的另一目的在于提供一种接收用户输入程序存储介质,所存储的计算机程序使电子设备执行包括下列步骤:
第一步,根据收到的移位控制信号将并行输入数据进行分组处理;
第二步,根据接收到的移位控制信号产生控制信号;
第三步,根据收到的控制信号将并行数据进行第一次循环移位;
第四步,根据收到的控制信号将送入的并行数据进行第二次循环移位,在移位同时将并行数据进行解分组完成整个循环移位操作。
本发明的另一目的在于提供一种存储在计算机可读介质上的计算机程序产品,包括计算机可读程序,供于电子装置上执行时,提供用户输入接口以实施所述的循环移位网络控制方法。
本发明的另一目的在于提供一种实施所述循环移位网络控制方法的循环移位网络控制系统,所述循环移位网络控制系统包括:
输入分组模块,根据收到的移位控制信号将并行输入数据进行分组处理,并将分组后的结果送入QSN模块;
控制模块,根据接收到的移位控制信号产生控制信号控制QSN模块和Banyan模块工作;
QSN模块,根据收到的控制信号将输入分组模块送入的并行数据进行第一次循环移位,并将结果送入Banyan模块;
Banyan模块,根据收到的控制信号将QSN模块送入的并行数据进行第二次循环移位,在移位同时将并行数据进行解分组完成整个循环移位操作。
本发明的另一目的在于提供一种搭载所述循环移位网络控制系统的译码器,所述译码器为5G LDPC译码器;
所述5G LDPC译码器在46×68大小的基矩阵下,需要13677个时钟完成译码,吞吐量为:
在42×52大小的基矩阵下,需要10659个时钟完成译码,吞吐量为:
吞吐量单位为:Mbit/s。
综上所述,本发明的优点及积极效果为:本发明5G中基矩阵的提升因子Z取值范围变化大,不同的提升因子对应的移位网络不同,现有兼容结构在提升因子较小时吞吐量低,不能满足通信系统要求。本发明的循环移位器兼容多种不同的并行输入端口数,并且对于不同的并行输入端口数,该移位器可灵活拆分为相应个独立的移位器,成倍的提高吞吐量,且Z越小时,提升倍数越大:Z≤16时,该循环移位网络可拆分为16个独立的循环移位网络,完成16个Z路并行输入的循环移位,传统的循环移位网络只能完成单个Z路并行输入的循环移位,吞吐量扩展了16倍;16<Z≤32时,该循环移位网络可拆分为8个独立的循环移位网络,完成8个Z路并行输入的循环移位,传统的循环移位网络只能完成单个Z路并行输入的循环移位,吞吐量扩展了8倍;32<Z≤64时,该循环移位网络可拆分为4个独立的循环移位网络,完成4个Z路并行输入的循环移位,传统的循环移位网络只能完成单个Z路并行输入的循环移位,吞吐量扩展了4倍;64<Z≤128时,该循环移位网络可拆分为2个独立的循环移位网络,完成2个Z路并行输入的循环移位,传统的循环移位网络只能完成单个Z路并行输入的循环移位,吞吐量扩展了2倍。该循环移位网络充分利用了QSNswitch资源,不论Z取值为多少时,都能确保所有QSNswitch做的工作为有效工作,不会被闲置或进行无效工作,具有资源复用率高的优点。该循环移位网络是译码器资源利用率和吞吐量提升的关键,且已成功用于自主开发的5G LDPC译码器。
本发明的循环移位网络在兼容5G LDPC编译码中所有Z的条件下做到了资源最优;并且对于不同的Z,循环移位网络可以拆分为多个独立的循环移位网络:对于Z≤16,循环移位网络可拆分为16个独立的循环移位网络,吞吐量扩展了16倍;对于16<Z≤32,循环移位网络可拆分为8个独立的循环移位网络,吞吐量扩展了8倍;对于32<Z≤64,循环移位网络可拆分为4个独立的循环移位网络,吞吐量扩展了4倍;对于64<Z≤128,循环移位网络可拆分为2个独立的循环移位网络,吞吐量扩展了2倍。
附图说明
图1是本发明实施例提供的循环移位网络控制方法流程图。
图2是本发明实施例提供的循环移位网络控制系统的结构示意图;
图中:1、输入分组模块;2、控制模块;3、QSN模块;4、Banyan模块。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种循环移位网络控制方法、系统、存储介质、译码器,下面结合附图对本发明作详细的描述。
如图1所示,本发明实施例提供的循环移位网络控制方法包括以下步骤:
S101:根据收到的移位控制信号将并行输入数据进行分组处理,并将分组后的结果送入QSN模块;
S102:根据接收到的移位控制信号产生控制信号控制QSN模块和Banyan模块工作;
S103:根据收到的控制信号将输入分组模块送入的并行数据进行第一次循环移位,并将结果送入Banyan模块;
S104:根据收到的控制信号将QSN模块送入的并行数据进行第二次循环移位,在移位同时将并行数据进行解分组完成整个循环移位操作。
如图2所示,本发明实施例提供的循环移位网络控制系统包括:
输入分组模块1,根据收到的移位控制信号将并行输入数据进行分组处理,并将分组后的结果送入QSN模块3。
控制模块2,根据接收到的移位控制信号产生控制信号控制QSN模块3和Banyan模块4工作。
QSN模块3,根据收到的控制信号将输入分组模块送入的并行数据进行第一次循环移位,并将结果送入Banyan模块4。
Banyan模块4,根据收到的控制信号将QSN模块3送入的并行数据进行第二次循环移位,在移位同时将并行数据进行解分组完成整个循环移位操作。
在本发明的优选实施例中,整个循环移位网络并行输入为In0~In255,移位控制信号为seg_flag、a_flag、Z、shift0~shift15,输出信号为Out0~Out255。
本发明实现一种兼容所有Z的循环移位网络,Z的取值范围如表1所示。
表1 5G标准中LDPC循环移位矩阵扩展因子z取值表
资源占用方面,若有PM个输入端口,每个端口数据为1bit,则一个Banyanswitch需要PM*log2(PM)个“2-1MUX”,相应的一个QSN switch需要PM*(2*log2(PM)-1)+1≈2*PM*log2(PM)个“2-1MUX”。
由表1可知,A取值最大为15。为兼容所有Z的情况,所以QSNswitch支持的并行输入要大于等于15。考虑到当Z=256时,不能被15整除,所以选择16为QSNswitch的最小输入端口。此时当改变QSNswitch的端口数时,其资源占用情况如表2所示。
由表可知,当QSNswitch的端口数选择为16时,资源占用最少。此时循环移位网络由第一层16个16输入16输出的QSNswitch和第二层16个16输入16输出的Banyanswitch构成。
如前所述,此循环移位网络在完成小Z个输入时,无法有效地利用全部资源,造成吞吐过低,严重影响了LDPC译码器的吞吐量。如果简单的想要实现小Z时,吞吐成倍增加,就需要成倍的循环移位网络,资源开支过大。
表2 QSNswitch端口不同时,资源占用情况
本发明在小Z时,吞吐量成倍增加的循环移位网络。对于不同的并行输入个数Z,该循环移位网络可以拆分为多个独立的循环移位网络:对于Z≤16,循环移位网络可拆分为16个独立的循环移位网络,吞吐量扩展了16倍;对于16<Z≤32,循环移位网络可拆分为8个独立的循环移位网络,吞吐量扩展了8倍;对于32<Z≤64,循环移位网络可拆分为4个独立的循环移位网络,吞吐量扩展了4倍;对于64<Z≤128,循环移位网络可拆分为2个独立的循环移位网络,吞吐量扩展了2倍。
由于QSNswitch可以完成任意小于输入端口数的循环移位,所以当Z≤16时,由一个QSNswitch就可以完成循环移位。为克服16输入的Banyan switch要求将Z分为16段的要求,直接在QSNswitch后接输出,此时16个QSNswitch可以并行工作,吞吐量变为了原来的16倍;当16<Z≤32时,可以将Z个输入分为2段,由2个QSNswitch就可以完成循环移位。在QSNswitch后接8组Banyanswitch,每组为16个2输入2输出的Banyanswitch,此时16个QSNswitch可以并行工作,吞吐量变为了原来的8倍;当32<Z≤64时,可以将Z个输入分为4段,由4个QSNswitch就可以完成循环移位。在QSNswitch后接4组Banyan switch,每组为16个4输入的Banyanswitch,此时16个QSNswitch可以并行工作,吞吐量变为了原来的4倍;当64<Z≤128时,可以将Z个输入分为8段,由8个QSNswitch就可以完成循环移位。在QSNswitch后接2组Banyan switch,每组为16个8输入的Banyanswitch,此时16个QSNswitch可以并行工作,吞吐量变为了原来的2倍。
此时整个系统“2-1MUX”资源占用情况为:3072+2×16×8×log28+4×16×4×log24+8×16×2×log22=4608。为原来的1.5倍。在可接受的情况下成倍的增加了Z较小时系统的吞吐量。
下面结合附图对本发明的技术方案作进一步的描述。
针对现有的循环移位方法存在Z较小时,资源利用率不高,吞吐量也较小的问题。本发明兼容所有Z,具有高吞吐量、资源复用率高的循环移位网络。可使与其配套工作的5GLDPC译码器吞吐量成倍增加。
本循环移位网络并行输入为In0~In255,移位控制信号为seg_flag、a_flag、Z、shift0~shift15,输出信号为Out0~Out255。
当Z≤16时,每16个输入前Z个为有效输入,如前16个输入中In0~In(Z-1)为有效输入,InZ~In15为无效输入。此时seg_flag为0,输入不需要分组。移位控制信号shift0~shift15全部有效。
当16<Z≤32时,每32个输入前Z个为有效输入,如前32个输入中In0~In(Z-1)为有效输入,InZ~In31为无效输入。此时seg_flag为1,输入需要分2组。移位控制信号shift0~shift7有效。
当32<Z≤64时,每64个输入前Z个为有效输入,如前64个输入中In0~In(Z-1)为有效输入,InZ~In63为无效输入。此时seg_flag为2,输入需要分4组。移位控制信号shift0~shift3有效。
当64<Z≤128时,每128个输入前Z个为有效输入,如前128个输入中In0~In(Z-1)为有效输入,InZ~In127为无效输入。此时seg_flag为3,输入需要分8组。移位控制信号shift0~shift1有效。
当128<Z≤256时,256个输入前Z个为有效输入。此时seg_flag为4,输入需要分16组。移位控制信号shift0有效。
其分组方式如下:假设m路输入信号S,表示为S=[s0,s1,...,sm-1]。其中有效信号个数为z。将该路信号分为n(n≥2)段(m被n整除)。分段后的信号用U(0)~U(n-1)表示。分段后每段共有q个信号,有效信号个数为p。其中q=m/n,p=z/n。则任意一段信号可以如下表示:U(k)=[sk,sk+n,...,sk+(q-1)×n]。
分组之后,若此时为循环左移,移位次数为shift。则分组后Banyanswitch需要完成的循环移位次数为shift%n;QSNswitch需要完成的循环移位次数为其中前shift%n组x=1,后面的分组x=0。
控制模块根据seg_flag、a_flag、Z、shift0~shift15和上述方法来产生QSN模块的控制信号,完成第一次循环移位。并确定Banyan模块需要使用的Banyanswitch来完成第二次循环移位。在完成第二次循环移位的同时,需要将分组的数据合并起来,完成解分组,其方法为分组的逆操作。
在理想的LDPC译码器中,两帧数同时进行译码迭代十次,此时若使用本发明提出的循环移位网络,在两种不同基矩阵下吞吐量如下所示。
5G LDPC译码器在46×68大小的基矩阵下,需要13677个时钟完成译码,吞吐量为(单位:Mbit/s):
在42×52大小的基矩阵下,需要10659个时钟完成译码,吞吐量为(单位:Mbit/s):
当Z为30时,系统工作情况如下。此时In0~In29、In32~In61、In64~In93、In96~In125、In128~In157、In160~In189、In192~In221、In224~In253为8组有效输入,seg_flag为1,移位控制信号shift0~shift7有效。假设shift0~shift7与10~17一一对应。
需将每组输入分为两组。根据分组方法,将第一组输入分为In0、In2、…、In28和In1、In3、…、In29两组,分别送入第一个和第二个QSNswitch;将第二组输入分为In32、In34、…、In60和In33、In35、…、In61两组,分别送入第三个和第四个QSNswitch;将第三组输入分为In64、In66、…、In92和In65、In67、…、In93两组,分别送入第五个和第六个QSNswitch;将第四组输入分为In96、In98、…、In124和In97、In99、…、In125两组,分别送入第七个和第八个QSNswitch;将第五组输入分为In128、In130、…、In156和In129、In131、…、In157两组,分别送入第九个和第十个QSNswitch;将第六组输入分为In160、In162、…、In188和In161、In163、…、In189两组,分别送入第十一个和第十二个QSNswitch;将第七组输入分为In192、In194、…、In220和In193、In195、…、In221两组,分别送入第十三个和第十四个QSNswitch;将第八组输入分为In224、In226、…、In252和In225、In227、…、In253两组,分别送入第十五个和第十六个QSNswitch。
此时,可知,八组Banyanswitch的移位次数分别为0、1、0、1、0、1、0、1、0、1,每组中16个2输入Banyanswitch移位次数相同。16个QSNswitch的移位次数分别为5、5、6、5、6、6、7、6、7、7、8、7、8、8、9、8。QSN模块循环移位结束后,第一个QSNswitch输出为In10、In12、…、In8;第二个QSNswitch输出为In11、In13、…、In9;第三个QSNswitch输出为In44、In46、…、In42;第四个QSNswitch输出为In43、In45、…、In41;第五个QSNswitch输出为In76、In78、…、In74;第六个QSNswitch输出为In77、In79、…、In75;第七个QSNswitch输出为In110、In112、…、In108;第八个QSNswitch输出为In109、In111、…、In107;第九个QSNswitch输出为In142、In144、…、In140;第十个QSNswitch输出为In143、In145、…、In141;第十一个QSNswitch输出为In176、In178、…、In174;第十二个QSNswitch输出为In175、In177、…、In173;第十三个QSNswitch输出为In208、In210、…、In206;第十四个QSNswitch输出为In209、In211、…、In207;第十五个QSNswitch输出为In242、In244、…、In240;第十六个QSNswitch输出为In241、In243、…、In239。然后将第一个和第二个QSNswitch的输出送入第一组Banyanswitch,将第三个和第四个QSNswitch的输出送入第二组Banyanswitch,将第五个和第六个QSNswitch的输出送入第三组Banyanswitch,将第七个和第八个QSNswitch的输出送入第四组Banyanswitch,将第九个和第十个QSNswitch的输出送入第五组Banyanswitch,将第十一个和第十二个QSNswitch的输出送入第六组Banyanswitch,将第十三个和第十四个QSNswitch的输出送入第七组Banyanswitch,将第十五个和第十六个QSNswitch的输出送入第八组Banyanswitch。每个QSNswitch有15个有效输出,两个QSNswitch的输出送入一组Banyanswitch时,第一个QSNswitch的输出送入前15个Banyanswitch中的第一个输入,第二个QSNswitch的输出送入前15个Banyanswitch中的第二个输入。此时将每组十六个Banyanswitch的循环移位输出按顺序排列,可以得到第一组Banyanswitch输出为In10~In29、In0~In9,第二组输出为In43~In61、In32~In42,第三组输出为In76~In93、In64~In75,第四组输出为In109~In125、In96~In108,第五组输出为In142~In157、In128~In141,第六组输出为In175~In189、In160~In174,第七组输出为In208~In211、In192~In207,第八组输出为In241~In253、In224~In240。同时完成了八组并行输入的循环移位。
再传统结构下,Z为30时,首先要将输入重复8次得到240个输入,In0~In29、In0~In29、In0~In29、In0~In29、In0~In29、In0~In29、In0~In29、In0~In29。然后将这240个输入分为16组,每组15个,第一组为In0、In16、In2、In18、In4、In20、In6、In22、In8、In24、In10、In26、In12、In28、In14,其他15组依此类推可以得到,接着可以得到QSNswitch和Banyanswitch的循环移位次数,完成循环移位。此时完成了一组并行输入的循环移位。
由以上具体实施例可知,本发明所采取的新结构可在Z为30时,吞吐量提高为原来结构的八倍。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种循环移位网络控制方法,其特征在于,所述循环移位网络控制方法包括以下步骤:
第一步,根据收到的移位控制信号将并行输入数据进行分组处理,并将分组后的结果送入QSN模块;
第二步,根据接收到的移位控制信号产生控制信号控制QSN模块和Banyan模块工作;
第三步,根据收到的控制信号将输入分组模块送入的并行数据进行第一次循环移位,并将结果送入Banyan模块;
第四步,根据收到的控制信号将QSN模块送入的并行数据进行第二次循环移位,在移位同时将并行数据进行解分组完成整个循环移位操作;
所述循环移位网络控制方法的本循环移位网络并行输入为In0~In255,移位控制信号为seg_flag、a_flag、Z、shift0~shift15,输出信号为Out0~Out255;
进一步包括:
当Z≤16时,每16个输入前Z个为有效输入,前16个输入中In0~In(Z-1)为有效输入,InZ~In15为无效输入;seg_flag为0,输入不需要分组,移位控制信号shift0~shift15全部有效;
当16<Z≤32时,每32个输入前Z个为有效输入,前32个输入中In0~In(Z-1)为有效输入,InZ~In31为无效输入,seg_flag为1,输入需要分2组,移位控制信号shift0~shift7有效;
当32<Z≤64时,每64个输入前Z个为有效输入,前64个输入中In0~In(Z-1)为有效输入,InZ~In63为无效输入,seg_flag为2,输入需要分4组,移位控制信号shift0~shift3有效;
当64<Z≤128时,每128个输入前Z个为有效输入,前128个输入中In0~In(Z-1)为有效输入,InZ~In127为无效输入,seg_flag为3,输入需要分8组,移位控制信号shift0~shift1有效;
当128<Z≤256时,256个输入前Z个为有效输入,seg_flag为4,输入需要分16组,移位控制信号shift0有效;
所述循环移位网络控制方法根据seg_flag、a_flag、Z、shift0~shift15产生QSN模块的控制信号,完成第一次循环移位;并确定Banyan模块需要使用的Banyanswitch来完成第二次循环移位,在完成第二次循环移位的同时,将分组的数据合并起来,完成解分组。
2.一种接收用户输入程序存储介质,其特征在于,所存储的计算机程序使电子设备执行权利要求1所述循环移位网络控制方法。
3.一种实施权利要求1所述循环移位网络控制方法的循环移位网络控制系统,其特征在于,所述循环移位网络控制系统包括:
输入分组模块,根据收到的移位控制信号将并行输入数据进行分组处理,并将分组后的结果送入QSN模块;
控制模块,根据接收到的移位控制信号产生控制信号控制QSN模块和Banyan模块工作;
QSN模块,根据收到的控制信号将输入分组模块送入的并行数据进行第一次循环移位,并将结果送入Banyan模块;
Banyan模块,根据收到的控制信号将QSN模块送入的并行数据进行第二次循环移位,在移位同时将并行数据进行解分组完成整个循环移位操作;
本循环移位网络并行输入为In0~In255,移位控制信号为seg_flag、a_flag、Z、shift0~shift15,输出信号为Out0~Out255;
进一步包括:
当Z≤16时,每16个输入前Z个为有效输入,前16个输入中In0~In(Z-1)为有效输入,InZ~In15为无效输入;seg_flag为0,输入不需要分组,移位控制信号shift0~shift15全部有效;
当16<Z≤32时,每32个输入前Z个为有效输入,前32个输入中In0~In(Z-1)为有效输入,InZ~In31为无效输入,seg_flag为1,输入需要分2组,移位控制信号shift0~shift7有效;
当32<Z≤64时,每64个输入前Z个为有效输入,前64个输入中In0~In(Z-1)为有效输入,InZ~In63为无效输入,seg_flag为2,输入需要分4组,移位控制信号shift0~shift3有效;
当64<Z≤128时,每128个输入前Z个为有效输入,前128个输入中In0~In(Z-1)为有效输入,InZ~In127为无效输入,seg_flag为3,输入需要分8组,移位控制信号shift0~shift1有效;
当128<Z≤256时,256个输入前Z个为有效输入,seg_flag为4,输入需要分16组,移位控制信号shift0有效;
根据seg_flag、a_flag、Z、shift0~shift15产生QSN模块的控制信号,完成第一次循环移位;并确定Banyan模块需要使用的Banyanswitch来完成第二次循环移位,在完成第二次循环移位的同时,将分组的数据合并起来,完成解分组。
4.一种搭载权利要求3所述循环移位网络控制系统的译码器,其特征在于,所述译码器为5G LDPC译码器;
所述5G LDPC译码器在46×68大小的基矩阵下,需要13677个时钟完成译码,吞吐量为:
在42×52大小的基矩阵下,需要10659个时钟完成译码,吞吐量为:
吞吐量单位为:Mbit/s。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010094680.3A CN111404555B (zh) | 2020-02-16 | 2020-02-16 | 一种循环移位网络控制方法、系统、存储介质、译码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010094680.3A CN111404555B (zh) | 2020-02-16 | 2020-02-16 | 一种循环移位网络控制方法、系统、存储介质、译码器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111404555A CN111404555A (zh) | 2020-07-10 |
CN111404555B true CN111404555B (zh) | 2023-12-19 |
Family
ID=71430357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010094680.3A Active CN111404555B (zh) | 2020-02-16 | 2020-02-16 | 一种循环移位网络控制方法、系统、存储介质、译码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111404555B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114286368B (zh) * | 2021-12-24 | 2023-05-30 | 北京中科晶上科技股份有限公司 | 循环移位的实现方法与装置 |
CN115225443B (zh) * | 2022-06-28 | 2023-08-25 | 苏州大学 | 载波循环移位方法和循环移位光滤波器组多载波系统 |
CN117081608A (zh) * | 2023-08-30 | 2023-11-17 | 白盒子(上海)微电子科技有限公司 | 一种nr ldpc编译码循环移位实现装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102281125A (zh) * | 2011-07-29 | 2011-12-14 | 上海交通大学 | 分层分块非规则低密度校验码译码器及译码方法 |
US8291283B1 (en) * | 2008-06-06 | 2012-10-16 | Marvell International Ltd. | Layered quasi-cyclic LDPC decoder with reduced-complexity circular shifter |
CN107395213A (zh) * | 2017-06-30 | 2017-11-24 | 记忆科技(深圳)有限公司 | 一种qsn网络的实现方法 |
WO2019001477A1 (zh) * | 2017-06-27 | 2019-01-03 | 华为技术有限公司 | 信息处理的方法、装置和通信设备 |
CN109687877A (zh) * | 2018-12-28 | 2019-04-26 | 深圳忆联信息系统有限公司 | 一种降低多级循环移位网络级联级数的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8588223B2 (en) * | 2010-11-09 | 2013-11-19 | Lsi Corporation | Multi-stage interconnection networks having smaller memory requirements |
-
2020
- 2020-02-16 CN CN202010094680.3A patent/CN111404555B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8291283B1 (en) * | 2008-06-06 | 2012-10-16 | Marvell International Ltd. | Layered quasi-cyclic LDPC decoder with reduced-complexity circular shifter |
CN102281125A (zh) * | 2011-07-29 | 2011-12-14 | 上海交通大学 | 分层分块非规则低密度校验码译码器及译码方法 |
WO2019001477A1 (zh) * | 2017-06-27 | 2019-01-03 | 华为技术有限公司 | 信息处理的方法、装置和通信设备 |
CN107395213A (zh) * | 2017-06-30 | 2017-11-24 | 记忆科技(深圳)有限公司 | 一种qsn网络的实现方法 |
CN109687877A (zh) * | 2018-12-28 | 2019-04-26 | 深圳忆联信息系统有限公司 | 一种降低多级循环移位网络级联级数的方法及装置 |
Non-Patent Citations (3)
Title |
---|
A novel method of constructing Quasi-Cyclic RS-LDPC codes for 10GBASE-T Ethernet;S. -I. Hwang, H. Lee and S. -I. Lim;《2012 IEEE International Symposium on Circuits and Systems (ISCAS)》;20120820;1771-1774 * |
LDPC码误码平台的优化及其可重构分层译码器的设计;李璐;《中国优秀硕士学位论文全文数据库 信息科技辑》;20181015;I136-59 * |
适用于准循环LDPC码译码器的新型循环移位置换结构设计;苑津莎等;《电子与信息学报》;20090915(第09期);120-123 * |
Also Published As
Publication number | Publication date |
---|---|
CN111404555A (zh) | 2020-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111404555B (zh) | 一种循环移位网络控制方法、系统、存储介质、译码器 | |
CN102708022B (zh) | 响应于用户级指令进行循环冗余校验和运算 | |
CN101777921B (zh) | 用于显式存储片上系统的结构化ldpc码译码方法及装置 | |
CN106911336B (zh) | 多核调度的高速并行低密度奇偶校验译码器及其译码方法 | |
CN105975251B (zh) | 一种基于粗粒度可重构架构的des算法轮迭代系统及迭代方法 | |
US20140040700A1 (en) | Multicore type error correction processing system and error correction processing apparatus | |
CN104461966B (zh) | 一种基于Nand Flash芯片的数据缓存传输方法及其控制器 | |
JP5264770B2 (ja) | 異なる通信標準間のハンドオフのシステムおよび方法 | |
CN106572500A (zh) | 一种c‑ran中硬件加速器的调度方法 | |
CN109347486A (zh) | 低复杂度高吞吐率的5g ldpc编码器和编码方法 | |
CN109687877B (zh) | 一种降低多级循环移位网络级联级数的方法及装置 | |
JP2015503785A (ja) | Fft/dftの逆順ソーティングシステム、方法およびその演算システム | |
CN117742996A (zh) | 用于计算的通信优化方法、装置、电子设备和存储介质 | |
CN113900713B (zh) | 一种粗粒度可重构阵列并行指令配置装置及处理器 | |
CN116961696A (zh) | 一种双模模块通信方法、装置、电子设备及存储介质 | |
CN102611667B (zh) | 随机接入检测fft/ifft处理方法及装置 | |
CN113159302B (zh) | 一种用于可重构神经网络处理器的路由结构 | |
CN102201817A (zh) | 基于存储器折叠架构优化的低功耗ldpc译码器 | |
CN114286368B (zh) | 循环移位的实现方法与装置 | |
CN103905066A (zh) | Turbo码译码装置和方法 | |
CN102130693B (zh) | 一种低密度奇偶校验码的译码方法和装置 | |
CN111142808A (zh) | 存取设备及存取方法 | |
CN102065007B (zh) | 可配置数据重组网络单元 | |
CN113612582B (zh) | 类Turbo变序列消息传递并行的LDPC译码器 | |
CN113795831B (zh) | 一种多功能的数据重组网络 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |