JPWO2015177917A1 - 演算回路、符号化回路及び復号回路 - Google Patents
演算回路、符号化回路及び復号回路 Download PDFInfo
- Publication number
- JPWO2015177917A1 JPWO2015177917A1 JP2016520885A JP2016520885A JPWO2015177917A1 JP WO2015177917 A1 JPWO2015177917 A1 JP WO2015177917A1 JP 2016520885 A JP2016520885 A JP 2016520885A JP 2016520885 A JP2016520885 A JP 2016520885A JP WO2015177917 A1 JPWO2015177917 A1 JP WO2015177917A1
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- circuits
- xor
- data
- data blocks
- 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.)
- Pending
Links
Images
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/07—Arithmetic codes
-
- 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/13—Linear codes
-
- 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
-
- 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3723—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using means or methods for the initialisation of the decoder
-
- 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/373—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with erasure correction and erasure determination, e.g. for packet loss recovery or setting of erasures for the decoding of Reed-Solomon codes
-
- 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/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/611—Specific encoding aspects, e.g. encoding by means of decoding
-
- 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/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/615—Use of computational or mathematical techniques
- H03M13/616—Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
-
- 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/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
-
- 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/65—Purpose and implementation aspects
- H03M13/6508—Flexibility, adaptability, parametrability and configurability of the implementation
-
- 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/65—Purpose and implementation aspects
- H03M13/6561—Parallelized implementations
-
- 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/65—Purpose and implementation aspects
- H03M13/6563—Implementations using multi-port memories
-
- 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/65—Purpose and implementation aspects
- H03M13/6572—Implementations using a tree structure, e.g. implementations in which the complexity is reduced by a tree structure from O(n) to O (log(n))
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
Abstract
Description
近年、TCP(Transmission Control Protocol)/IP(Internet Protocol)を用いた通信時に発生するパケット欠落による通信速度の低下を回避するため、RPS(Random Packet Stream)技術が提案された。RPS技術は、データ転送時に消失したパケットを自動生成する技術である。RPS技術では、パケット復元に用いる符号化データ(冗長データ)を生成するため、送信装置にて、一定のデータ量のデータブロック間のXOR演算が多数回行われる。
本発明の上記及び他の目的、特徴及び利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
(第1の実施の形態)
図1は、第1の実施の形態による演算回路の一例を示す図である。
演算回路1は、メモリM0〜M15、選択回路2a〜2p、XOR回路3a〜3o、選択信号が入力される入力端子P1、XOR演算結果が出力される出力端子P2を有する。なお、回路素子間を接続する信号線は、例えば、64ビット幅等の複数ビットを束ねていてもよい。
選択回路2a〜2pは、メモリM0〜M15が出力したデータブロックと、16ビットの選択信号とのAND演算を行い、その演算結果をXOR回路3a〜3hに出力する。このとき、入力端子P1から入力される16ビットの選択信号の“1”となるビットに応じて、メモリM0〜M15に保持されている複数のデータブロックの1つまたは複数が、選択回路2a〜2pから出力される。
XOR回路3aの2つの入力端子は、選択回路2a,2bの出力端子に接続されており、XOR回路3bの2つの入力端子は、選択回路2c,2dの出力端子に接続されている。また、XOR回路3cの2つの入力端子は、選択回路2e,2fの出力端子に接続されており、XOR回路3dの2つの入力端子は、選択回路2g,2hの出力端子に接続されている。また、XOR回路3eの2つの入力端子は、選択回路2i,2jの出力端子に接続されており、XOR回路3fの2つの入力端子は、選択回路2k,2lの出力端子に接続されている。また、XOR回路3gの2つの入力端子は、選択回路2m,2nの出力端子に接続されており、XOR回路3hの2つの入力端子は、選択回路2o,2pの出力端子に接続されている。
以下、演算回路1の動作の一例を説明する。なお、以下では図1に示されているようなRPS符号化行列の列ベクトルが、選択回路2a〜2pに入力される選択信号であるものとして説明する。
列番号が0〜15までの各列ベクトルでは、ある行の値が1であり、他の行の値は0である。選択信号としてこのような列ベクトルが入力端子P1に入力されたときには、値が1の行に対応するメモリに保持されているデータブロックが、選択回路2a〜2pの何れかから出力される。その他の選択回路からは、0が出力される。
以下、XOR演算を行う演算回路の例として、送信回路に含まれ、RPS符号化処理を行う符号化回路、また受信回路に含まれ、RPS符号化処理で符号化された符号化データを復号する復号回路を説明する。
図2は、RPS符号化処理の一例を説明する図である。
まず、RPS符号化による処理では、データが、一定サイズのデータブロックに分割される。ここでは、説明のため、16KBのデータが、1KBごとの16個のデータブロックに分割されるとし、分割された端子ブロックをブロックb0〜b15とする。
図3は、情報処理装置の一例を示す図である。
情報処理装置4は、コンピュータ5と、コンピュータ5に装着された機能拡張ボード6を有する。コンピュータ5は、CPU(Central Processing Unit)5A、主記憶部5B、PCIe(PCI express)バス5Cを有している。機能拡張ボード6には、メモリチップ6A、FPGA(Field-Programmable Gate Array)6B、LAN(Local Area Network)コネクタ6Cが搭載されている。また、CPU5AとFPGA6Bは、PCIeバス5Cを介して接続されている。
メモリチップ6Aは、FPGA6Bの有するDMA(Direct Memory Access)コントローラにより、主記憶部5Bから転送されてきたデータを格納する。メモリチップ6Aには、例えば、RAMが用いられる。
LANコネクタ6Cは、FPGA6Bが出力したパケットを、ネットワークを介して、図示しない受信装置等に転送する。
図4は、RPS符号化処理を行うFPGAの一例について説明する図である。
なお、図4では、送信データのRPS符号化処理以外の制御及び機能を実行する部分については図示が省略されている。
PCIeインターフェース6B1は、I/Oデバイス等によるPCIeエンドポイントであり、PCIeバス5Cを介して転送されてきたデータ等に対して、物理層、データリンク層における処理等を行う。
符号化回路8は、複数のデータブロック間のXOR演算を行うことで、符号化データを生成する回路である。図2の例では、符号化回路8は、ブロックb0〜b15間のXOR演算を行い、符号化データd0〜d15及び冗長符号化データe0〜e13を生成する。
図5は、第2の実施の形態による符号化回路の一例を示す図である。
符号化回路8は、BRAMm0〜m15、レジスタ9a〜9p、AND回路10a〜10p、XOR回路11a〜11o、レジスタ12a〜12o、入力端子P3,P4,P5、出力端子P6を有する。
入力端子P4には、BRAMm0〜m15がデータブロックを書き込む際の書き込みアドレス信号や、BRAMm0〜m15がデータブロックを読み出してAND回路10a〜10pに出力する際の読み出しアドレス信号が、制御回路7から入力される。
符号化回路8には、メモリチップ6Aからメモリコントローラ6B2を介して、一定サイズに分割された16個のデータブロックが供給される。
XOR回路11aの2つの入力端子は、AND回路10a,10bの出力端子に接続されており、XOR回路11bの2つの入力端子は、AND回路10c,10dの出力端子に接続されている。また、XOR回路11cの2つの入力端子は、AND回路10e,10fの出力端子に接続されており、XOR回路11dの2つの入力端子は、AND回路10g,10hの出力端子に接続されている。また、XOR回路11eの2つの入力端子は、AND回路10i,10jの出力端子に接続されており、XOR回路11fの2つの入力端子は、AND回路10k,10lの出力端子に接続されている。また、XOR回路11gの2つの入力端子は、AND回路10m,10nの出力端子に接続されており、XOR回路11hの2つの入力端子は、AND回路10o,10pの出力端子に接続されている。
図5の例では、上記のようにXOR回路11a〜11oは、複数段に渡ってツリー状(トーナメント状)に接続されている。なお、XOR回路は2入力に限定されず、3入力以上としてもよく、例えば、1つのXOR回路でAND回路10a〜10pから出力されるデータブロックのXOR演算を行ってもよい。
図6は、制御回路の一例を示す図である。
制御回路7と前述した符号化回路8との接続を説明するために、符号化回路8の一部についても図示されている。
制御回路7は、メイン制御回路13を有している。メイン制御回路13は、加算器14、レジスタ15、符号化行列保持部16、比較回路17、レジスタ18、加算器19を有している。さらに、制御回路7は、レジスタ20,21を有する。
レジスタ15は、BRAMm0〜m15の書き込みアドレスや読み出しアドレスを保持し、また、保持した書き込みアドレスや読み出しアドレスを、入力端子P3を介して、BRAMm0〜m15に出力する。レジスタ15は、図示しないクロック信号に同期して、保持しているアドレスに、加算器14により+1加算されたアドレスを保持する。
図7は、RPS符号化行列の一例を示す図である。
RPS符号化処理による符号化データは、RPS符号化行列の列ベクトルごとに生成される。RPS符号化行列の列番が0〜15の列ベクトルは、図2の例では、符号化データd0〜d15を生成する際に用いられる列ベクトルである。また、RPS符号化行列の列番が16〜29の列ベクトルは、図2の例では、冗長符号化データe16〜e29を生成する際に用いられる列ベクトルである。
レジスタ20は、BRAMm0〜m15への書き込みが可能になると、メイン制御回路13内の、図示しないWE信号生成部で生成されるWE信号を保持する。また、レジスタ20は、保持しているWE信号を、入力端子P4を介して、BRAMm0〜15に出力する。
以下、符号化回路8によるRPS符号化処理の一例を説明する。
図8は、RPS符号化処理の一例の流れを示すフローチャートである。
次に、制御回路7は、RPS符号化行列の列番号jの列ベクトルの各値をAND回路10a〜10pに入力する(ステップS3)。ステップS3の処理では、図6に示したようなレジスタ21が、入力端子P5を介して、保持しているRPS符号化の列番号jの列ベクトルの各値を、AND回路10a〜10pに入力する。
(復号処理の一例)
図9は、RPS符号化処理で得られた符号化データに対する復号処理の一例を説明する図である。
図9の例では、符号化データd2を含むパケットが消失している例が示されている。復号回路は、受信できた符号化データ及び冗長符号化データと、抽出した組み合わせ情報から、消失したパケットのブロックb2を生成(復号)する。例えば、ブロックb2は、図9に示すように、符号化データd0,d1,d3,…,d15、冗長符号化データe0のXOR演算により生成される。
次に、復号処理を行う際に用いる復号回路について、図10を用いて説明する。なお、復号回路は、例えば、図3に示したFPGA6B内に符号化回路8と共に含まれていてもよい。復号回路を制御する制御回路については、図6に示したような制御回路7と同様の回路で実現できる。
図10は、第2の実施の形態による復号回路の一例を示す図である。
復号回路8aは、BRAMn0,n1,n2,n3,…,n26,n27,n28,n29、レジスタra0,ra1,ra2,ra3,…,ra26,ra27,ra28,ra29を有している。さらに復号回路8aは、AND回路a0,a1,a2,a3,…,a26,a27,a28,a29とXOR回路部22、入力端子P13〜P15、出力端子P16を有する。
入力端子P14には、BRAMn0〜n29が符号化データ等を書き込む際の書き込みアドレスや、BRAMn0〜n29が符号化データ等を読み出してAND回路a0〜a29に出力する際の読み出しアドレスが入力される。
BRAMn0〜n29は、入力端子P13,P14を介して、書き込みアドレス、WE信号が入力されると、受信された符号化データ等を、それぞれ、1ブロックずつ書き込み保持する。また、BRAMn0〜n29は、入力端子P13を介して読み出しアドレスが入力されると、それぞれ、保持している符号化データ等を、例えば、64ビットずつ、レジスタra0〜ra29に出力する。
AND回路a0〜a29は、図5に示したAND回路10a〜10pと同様に選択回路として機能する。AND回路a0〜a29は、それぞれ、BRAMn0〜n29が出力した符号化データまたは冗長符号化データと、入力端子P5から入力された復号ベクトル(選択信号として機能する)の各値とのAND演算を行う。そして、AND回路a0〜a29は、その演算結果をXOR回路部22に出力する。このとき、AND回路a0〜a29は、それぞれ、入力端子P15を介して入力された復号ベクトル(列ベクトル)が“1”となる行に応じて、BRAMn0〜n29の符号化データまたは冗長符号化データを選択し出力する。
XOR回路部22は、AND回路a0〜a29により選択され入力された符号化データまたは冗長符号化データのXOR演算を行い、元のデータブロックを復号する。
以下、復号回路8aの動作を説明する前に、復号処理に用いる復号ベクトルの生成処理を説明する。
復号ベクトルは、例えば、復号回路8aを制御する図示しない制御回路にて生成される。
図11は、受信符号化行列の生成例を説明する図である。
また、図12は、生成された受信符号化行列の一例を示す図である。
例えば、受信側の制御回路は、上記のようなパケットを受信するたびに、ヘッダから上記列ベクトルを抽出し、列番号=0から受信順に並べていくことで、図12に示すような受信符号化行列を生成する。
上記のような受信符号化行列から、復号ベクトルが生成される。
ここで、復号回路8aのAND回路a0〜a29に入力される選択信号として機能する復号ベクトルは、受信符号化行列に基づき、例えば、復号回路8aを制御する図示しない制御回路において、例えば、以下のように生成される。
まず、複数の復号ベクトルの値が代入される行列opsの初期化が行われる(ステップS10)。
基底ベクトルは、1となる要素を1つだけ有し、また、互いに直交するベクトルである。また、以下において、要素[u](行番号がuの値)が1となる基底ベクトルを、要素[u]の基底ベクトルという。図12に示した受信符号化行列の例において、列番号cの列ベクトルをD[c]とすると、列番号cが0〜12の列ベクトルD(0)〜D(12)が、それぞれ、要素[3]〜[12]の基底ベクトルと決定される。
ステップS13の処理では、まず、受信符号化行列において、基底ベクトル(または基底ベクトル候補)の1となる要素と同じ行番号で要素が1となる列ベクトルが検出される。そして、検出された列ベクトルの当該要素を、当該要素と基底ベクトルの当該要素とのXOR演算結果で更新する。1と1のXOR演算結果は0であるため、検出された列ベクトルの当該要素は0となる。このような処理が受信符号化行列の各基底ベクトル(または基底ベクトル候補)で繰り返されることにより、受信符号化行列の基底ベクトル候補が、基底ベクトルに変換される。
ステップS13の処理によって、図12に示した基底ベクトル候補であった列ベクトルD(13)〜(15)が、図14に示されているように要素[0]〜[1]の基底ベクトルとなっている。
行列opsの各要素には、受信符号化行列の基底ベクトル候補を基底ベクトルへと変換していく際の、XOR演算結果が代入されている。以下、行列opsの列番号iの列ベクトルを列ベクトルop(i)と表記する。
図16は、行列opsの列ベクトル(復号ベクトル)と、その列ベクトルにより復号されるデータブロックとの関係の一例を示す図である。
列ベクトルop(0)〜op(15)の右端の要素が、ビット0であり、列ベクトルop(0)〜op(15)の1行目の要素に対応している。
図10に示したような復号回路8aは、複数のBRAMn0〜n29で各データブロック(符号化データ(冗長符号化データも含む))を保持し、上記のような復号ベクトルの値に基づきAND回路a0〜a29で演算に用いるデータブロックを選ぶ。そして、選ばれたデータブロック間でのXOR演算が、XOR回路部22で行われる。このような並列化処理により、多くのXOR演算を行う復号処理において、演算処理が効率化され、高速な演算が可能になる。
図17,18は、第2の実施の形態による符号化回路の変形例を示す図である。なお、図17,18は、図5に示した符号化回路8の一部に対応している。符号化回路8と同様の要素については、図5と同一の符号を付し、その説明を省略する。
BRAM30は、XOR回路11aのXOR演算結果、すなわち、BRAMm0〜m1のデータブロック間のXOR演算結果を保持する。また、セレクタ31は、入力される選択信号に基づき、レジスタ12aと、BRAM30の何れかを選択し出力する。選択信号は、例えば、図4に示した制御回路7から供給される。
BRAM32は、XOR回路11iのXOR演算結果、すなわち、BRAMm0〜m3のデータブロック間のXOR演算結果を保持する。また、セレクタ33は、入力される選択信号に基づき、レジスタ12iと、BRAM32の何れかを選択し出力する。選択信号は、例えば、図4に示した制御回路7から供給される。
図20は、符号化処理の一例の流れを説明する図である。
例えば、列番号が0の列ベクトルが入力端子P5を介して符号化回路8bに入力されたとき、BRAMm0とBRAMm1に保持されているデータブロック間のXOR演算結果がBRAM30に保持される。図20に示すRPS符号化行列において、列番号が0の列ベクトルによるBRAMm0とBRAMm1に保持されているデータブロック間のXOR演算と同様の演算が、列番号が28の列ベクトルにおいても行われる。
以上、XOR演算を行う演算回路の例として、符号化回路、復号回路を説明してきたが、これらに限定されるものではない。例えば、RAID(Redundant Arrays of Inexpensive Disks)6等のように、複数回のXOR演算を行う(パリティデータの算出のため)ものにも適用可能である。
2a〜2p 選択回路
3a〜3o XOR回路
M0〜M15 メモリ
P1 入力端子
P2 出力端子
図5の例では、上記のようにXOR回路11a〜11oは、複数段に渡ってツリー状(トーナメント状)に接続されている。なお、XOR回路は2入力に限定されず、3入力以上としてもよく、例えば、1つのXOR回路でAND回路10a〜10pから出力されるデータブロックのXOR演算を行ってもよい。
レジスタ20は、BRAMm0〜m15への書き込みが可能になると、メイン制御回路13内の、図示しないWE信号生成部で生成されるWE信号を保持する。また、レジスタ20は、保持しているWE信号を、入力端子P4を介して、BRAMm0〜m15に出力する。
次に、制御回路7は、RPS符号化行列の列番号jの列ベクトルの各値をAND回路10a〜10pに入力する(ステップS3)。ステップS3の処理では、図6に示したようなレジスタ21が、入力端子P5を介して、保持しているRPS符号化行列の列番号jの列ベクトルの各値を、AND回路10a〜10pに入力する。
Claims (6)
- 排他的論理和演算を行う単位となるデータブロックを保持する複数のメモリと、
選択信号を受け、前記複数のメモリから読み出される複数の前記データブロックのうち、排他的論理和演算に使用する2以上のデータブロックを前記選択信号に基づき選択する複数の選択回路と、
前記複数の選択回路で選択された前記2以上のデータブロックに基づく排他的論理和演算を行う1または複数の排他的論理和演算回路と、
を有することを特徴とする演算回路。 - 前記複数の選択回路のそれぞれは論理積演算回路であり、前記論理積演算回路の、第1の入力端子には、前記複数のメモリに保持されている複数の前記データブロックの何れかが入力され、第2の入力端子には、前記選択信号が入力され、前記論理積演算回路は、前記選択信号の値に基づいて、前記第1の入力端子に入力されるデータブロックを出力するか否かを選択する、ことを特徴とする請求項1に記載の演算回路。
- 前記複数のメモリのそれぞれと、前記複数の選択回路のそれぞれとの間には、前記データブロックを保持し、保持した前記データブロックの出力タイミングを調整するレジスタが接続されていることを特徴とする請求項1または2に記載の演算回路。
- 前記複数の排他的論理和演算回路は、複数段に渡って接続されており、前記複数の排他的論理和演算回路の一部の出力端子には、排他論理和演算の結果を格納するメモリが接続されていること、を特徴とする請求項1乃至3の何れか一項に記載の演算回路。
- 排他的論理和演算を行う単位となるデータブロックを保持する複数のメモリと、
選択信号を受け、前記複数のメモリから読み出される複数の前記データブロックのうち、排他的論理和演算に使用する2以上のデータブロックを前記選択信号に基づき選択する複数の選択回路と、
前記複数の選択回路で選択された前記2以上のデータブロックに基づく排他的論理和演算を行い、符号化データを生成する1または複数の排他的論理和演算回路と、
を有することを特徴とする符号化回路。 - 排他的論理和演算を行う単位となる符号化データであるデータブロックを保持する複数のメモリと、
選択信号を受け、前記複数のメモリから読み出される複数の前記データブロックのうち、排他的論理和演算に使用する2以上のデータブロックを前記選択信号に基づき選択する複数の選択回路と、
前記複数の選択回路で選択された前記2以上のデータブロックに基づく排他的論理和演算を行い、復号データを生成する1または複数の排他的論理和演算回路と、
を有することを特徴とする復号回路。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2014/063659 WO2015177917A1 (ja) | 2014-05-23 | 2014-05-23 | 演算回路、符号化回路及び復号回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2015177917A1 true JPWO2015177917A1 (ja) | 2017-04-20 |
Family
ID=54553610
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016520885A Pending JPWO2015177917A1 (ja) | 2014-05-23 | 2014-05-23 | 演算回路、符号化回路及び復号回路 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20170077951A1 (ja) |
EP (1) | EP3148092A4 (ja) |
JP (1) | JPWO2015177917A1 (ja) |
CN (1) | CN106416085A (ja) |
WO (1) | WO2015177917A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108964670B (zh) * | 2018-07-25 | 2020-07-24 | 北京翼鸥教育科技有限公司 | 一种基本编解码单元以及编解码器 |
CN109086537B (zh) * | 2018-08-13 | 2023-05-05 | 吉林大学 | 基于fpga的粒子群算法加速方法 |
WO2022003396A1 (en) * | 2020-06-30 | 2022-01-06 | Ciena Corporation | Forward error correction coding using a tree structure |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08202505A (ja) * | 1995-01-30 | 1996-08-09 | Fuji Xerox Co Ltd | アレイ型記憶装置 |
JPH10215187A (ja) * | 1997-01-29 | 1998-08-11 | Nec Corp | 誤り検出符号化復号装置および方法 |
US5825808A (en) * | 1996-04-04 | 1998-10-20 | General Electric Company | Random parity coding system |
JP2001274691A (ja) * | 2000-03-28 | 2001-10-05 | Matsushita Electric Ind Co Ltd | 排他的論理和演算装置 |
JP3225060B2 (ja) * | 1991-07-19 | 2001-11-05 | アンリツ株式会社 | 符号誤り検出装置 |
US7058876B1 (en) * | 2002-02-21 | 2006-06-06 | Ciena Corporation | Method and apparatus for use in a decoder of a forward error correction (FEC) system for locating bit errors in a error locator polynomial |
JP2007258796A (ja) * | 2006-03-20 | 2007-10-04 | Fujitsu Ltd | Ip送信装置およびip送信方法 |
JP4324195B2 (ja) * | 2004-04-07 | 2009-09-02 | パナソニック株式会社 | パスメモリ回路 |
US20120210190A1 (en) * | 2011-02-11 | 2012-08-16 | Qualcomm Incorporated | Encoding and decoding using elastic codes with flexible source block mapping |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2458179A1 (fr) * | 1979-05-31 | 1980-12-26 | Thomson Csf | Dispositif de decodage binaire et systemes de transmission comportant un tel dispositif |
US5237615A (en) * | 1982-05-20 | 1993-08-17 | The United States Of America As Represented By The National Security Agency | Multiple independent binary bit stream generator |
US5878061A (en) * | 1996-03-14 | 1999-03-02 | Intel Corporation | Providing serial data clock signal transitions with parity bits |
US20060195774A1 (en) * | 2005-02-17 | 2006-08-31 | Stephen Bowyer | Error correction circuit and method |
US7373583B2 (en) * | 2005-05-19 | 2008-05-13 | Infineon Technologies North America Corp. | ECC flag for testing on-chip error correction circuit |
US7596743B2 (en) * | 2005-09-28 | 2009-09-29 | Ati Technologies Inc. | Method and apparatus for error management |
US8271850B2 (en) * | 2005-12-29 | 2012-09-18 | Intel Corporation | Fast low-density parity-check code encoder |
US8347169B1 (en) * | 2010-03-01 | 2013-01-01 | Applied Micro Circuits Corporation | System and method for encoding using common partial parity products |
EP3119005A4 (en) * | 2014-03-11 | 2017-04-05 | Fujitsu Limited | Design support method, design support program, design support device and storage medium |
-
2014
- 2014-05-23 WO PCT/JP2014/063659 patent/WO2015177917A1/ja active Application Filing
- 2014-05-23 CN CN201480079084.0A patent/CN106416085A/zh active Pending
- 2014-05-23 EP EP14892478.0A patent/EP3148092A4/en not_active Withdrawn
- 2014-05-23 JP JP2016520885A patent/JPWO2015177917A1/ja active Pending
-
2016
- 2016-11-02 US US15/341,249 patent/US20170077951A1/en not_active Abandoned
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3225060B2 (ja) * | 1991-07-19 | 2001-11-05 | アンリツ株式会社 | 符号誤り検出装置 |
JPH08202505A (ja) * | 1995-01-30 | 1996-08-09 | Fuji Xerox Co Ltd | アレイ型記憶装置 |
US5825808A (en) * | 1996-04-04 | 1998-10-20 | General Electric Company | Random parity coding system |
JPH10215187A (ja) * | 1997-01-29 | 1998-08-11 | Nec Corp | 誤り検出符号化復号装置および方法 |
JP2001274691A (ja) * | 2000-03-28 | 2001-10-05 | Matsushita Electric Ind Co Ltd | 排他的論理和演算装置 |
US7058876B1 (en) * | 2002-02-21 | 2006-06-06 | Ciena Corporation | Method and apparatus for use in a decoder of a forward error correction (FEC) system for locating bit errors in a error locator polynomial |
JP4324195B2 (ja) * | 2004-04-07 | 2009-09-02 | パナソニック株式会社 | パスメモリ回路 |
JP2007258796A (ja) * | 2006-03-20 | 2007-10-04 | Fujitsu Ltd | Ip送信装置およびip送信方法 |
US20120210190A1 (en) * | 2011-02-11 | 2012-08-16 | Qualcomm Incorporated | Encoding and decoding using elastic codes with flexible source block mapping |
Also Published As
Publication number | Publication date |
---|---|
WO2015177917A1 (ja) | 2015-11-26 |
EP3148092A4 (en) | 2017-05-31 |
CN106416085A (zh) | 2017-02-15 |
EP3148092A1 (en) | 2017-03-29 |
US20170077951A1 (en) | 2017-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109379086B (zh) | 低复杂度的码率兼容的5g ldpc编码方法和编码器 | |
CN106257434B (zh) | 一种基于增强型外设互连协议总线的数据传输方法及装置 | |
US8370716B2 (en) | USB device and correction method thereof | |
US9910790B2 (en) | Using a memory address to form a tweak key to use to encrypt and decrypt data | |
CN102096609A (zh) | 可编程循环冗余校验(crc)计算的指令集架构 | |
KR101801075B1 (ko) | 데이터를 판독하고 기록하기 위한 방법, 장치 및 시스템 | |
CN115664640B (zh) | Sha-3算法的硬件实现方法、系统、存储介质及设备 | |
WO2015177917A1 (ja) | 演算回路、符号化回路及び復号回路 | |
US20080301537A1 (en) | Packet transmission device and packet transmission method | |
JP4574994B2 (ja) | メモリ外付けマイコン | |
CN102096610B (zh) | 利用纠错码和同步信息的数据行存储及传输 | |
CN110708160B (zh) | 基于sm2算法标量乘法编码的抗侧信道攻击方法及系统 | |
CN114003525B (zh) | 数据传输的方法、模块、装置、设备及存储介质 | |
US20160371414A1 (en) | Circuit design support method, circuit design support apparatus, and recording medium | |
CN106940684B (zh) | 一种按比特写数据的方法及装置 | |
CN113204372B (zh) | 存储受限型哈希算法的加速装置及方法 | |
JP4990843B2 (ja) | 暗号演算装置、その方法、及びプログラム | |
CN112702289B (zh) | 信息处理方法及装置、终端、基站、存储介质 | |
WO2017024873A1 (zh) | 一种存储单元和处理系统 | |
TWI835601B (zh) | 資料加密的回合密鑰擴展裝置及方法 | |
US11983606B2 (en) | Method and device for constructing quantum circuit of QRAM architecture, and method and device for parsing quantum address data | |
US20220103345A1 (en) | Methods and apparatus to hash data | |
CN117762609A (zh) | 基于Blake2b算法的数据处理方法、处理器、装置、设备及介质 | |
CN117280317A (zh) | 数据处理方法、系统、电子设备及计算机介质 | |
JP6351530B2 (ja) | 通信装置及び制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161026 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161026 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170912 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171110 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180417 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20181009 |