JP4976397B2 - 並列剰余演算器及び並列剰余演算方法 - Google Patents
並列剰余演算器及び並列剰余演算方法 Download PDFInfo
- Publication number
- JP4976397B2 JP4976397B2 JP2008530909A JP2008530909A JP4976397B2 JP 4976397 B2 JP4976397 B2 JP 4976397B2 JP 2008530909 A JP2008530909 A JP 2008530909A JP 2008530909 A JP2008530909 A JP 2008530909A JP 4976397 B2 JP4976397 B2 JP 4976397B2
- Authority
- JP
- Japan
- Prior art keywords
- partial
- parallel
- sub
- remainder
- crc
- 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.)
- Expired - Fee Related
Links
- 238000004364 calculation method Methods 0.000 title claims description 58
- 230000001186 cumulative effect Effects 0.000 claims description 13
- 238000000034 method Methods 0.000 description 30
- 206010009944 Colon cancer Diseases 0.000 description 25
- 238000010586 diagram Methods 0.000 description 17
- 238000004891 communication Methods 0.000 description 16
- 230000005540 biological transmission Effects 0.000 description 15
- 238000006243 chemical reaction Methods 0.000 description 9
- 238000004519 manufacturing process Methods 0.000 description 7
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 description 4
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
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/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
- H03M13/091—Parallel or block-wise CRC computation
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
CRCの多項式表現を、次式(3)で表すとすると、Bの多項式表現は、次式(4)で示される。
CRC符号化は、あらかじめ定められたc次の多項式G(D)に対し、B(D)がG(D)で割り切れるようにR(D)が定められる。すなわち、A(D)DcをG(D)で割った剰余がR(D)である。
以上のようにしてCRC符号化されたn+cビットが、通信路13を介して送信される。通信路13では、ビット誤り(ノイズ)E(D)が付加される。
かれる。CRC検査部26によるCRC検査では、誤り訂正復号で取りきれなかった誤りがあるかどうかを検査する。
図3は、一般的によく知られる逐次CRC計算回路の構成を示す図である。
特許文献1には、部分CRCを算出することで処理遅延時間を短縮する部分CRC算出方法が開示されている。
また、特許文献2,3には、データをサブブロックに分割して並列処理を行うサブブロック分割型並列CRC回路が開示されている。特許文献2,3では、剰余R(D)の計算式を次式(8)のように変形する。
今井秀樹著、「符号理論」、電子情報通信学会、1990年3月
生成する逆順部分剰余生成手段と、前記入力データと、前記逆順部分剰余生成手段から出力される逆順部分剰余の値の論理を計算する論理手段と、前記論理手段から出力される値を、累積的に加算する累積加算手段とを備える構成を採る。
まず、本発明の基本原理について説明する。
本発明では、剰余R(D)の計算式を次式(9)のように変形する。
[手順1] i=0,mにおける部分CRCの値(すなわち、サブブロックの先頭点における部分CRC)Dn−l+cmodG(D))、Dn−l+c−mmodG(D))をあらかじめ求めておく。
[手順2] 上記の2つの値を初期値として、i=1〜m−l及びi=m+l〜n−lに対応する部分CRCを、順次算出する。
不要のため、小型・低遅延という特徴がある。
上記、サブブロックの先頭点における部分CRCを元に、その他の部分CRCを順次求める方法について、好適な計算方法について説明する。
[手順1’] DMn−l+c(D)=Dn−l+cmodG(D)及びDMn−l+c−m(D)=Dn−l+c−mmodG(D)をあらかじめ求めておく。
[手順2’] DMn−l+c(D)を元に、i=1〜m−1に対応する部分CRC(DMn−l+c−l(D)〜DMn−l+c−(m−l)(D))及び、i=m+1〜n−1に対応する部分CRC(DMn−l+c−(m+l)(D)〜DMn−l+c−n(D))を、順次求める。
上記では、各サブブロックのデータは、元のデータ順に従い順序良く入力する(例えば
a0〜am−l)としたが、逆順(例えばam−l〜a0)に入力するような並列CRC計算回路も実現できる。
[手順1] i=m−l,n−lにおける部分CRCの値(すなわち、サブブロックの最終点における部分CRC)Dn−l+c−(m−l)modG(D)、Dn−l+c−(n−l)modG(D)をあらかじめ求めておく。
[手順2] 上記の2つの値を初期値として、i=m−2〜0及びi=n−2〜mに対応する部分CRCを、順次算出する。
図6は、上記基本原理に基づく本発明の実施の形態1に係る並列剰余演算器の全体構成を示すブロック図である。本実施の形態は、上記[ポイント1]及び[ポイント2]に対応する例である。「ポイント」の説明では、データを2分割する(2並列)例を示したが、実施の形態1では、4並列の場合を例として説明する。すなわち、長さnの入力データをi=0〜m−1、i=m〜2m−1、i=2m〜3m−1、i=3m〜n―1の4つのサブブロックに分割する。また、CRCの長さを24ビット(c=24)とした。
図8は、部分CRC生成部111〜114が計算(担当)する部分CRCを表にまとめた図である。ここで、DM{T}(D)という表記を用いた。DM{T}(D)=DMT(D)=DTmodG(D)である。
g[0]=g[17]=g[18]=g[22]=g[23]=1,
g[1]=g[2]=...=g[15]=g[16]=g[19]=g[20]=g[21]=0
と定める。ここで、g[i]は、Dc−i−1の係数である。Dcの係数は常に1であるから、g[−1]を定義する必要はない。
16進数で表記すると、
g=C60001H
である。
に基づき算出される。
…(15)
上記式(15)中の+はビットごとの排他的論理和(EXOR)、*は論理積(AND)である。また、{p1[22:0],0}という表記は、シフト操作を表す。すなわち、p1の値を1ビット分上位方向にシフトし、LSBに0を挿入することを意味する。{g[22:0],1}は、同様にシフト操作であるが、LSBに1を挿入することを意味する。
AND部121〜124(AND部<1>〜<4>)は、入力端子101〜104から入力された1ビットと、上記部分CRC生成部111〜114から出力された24ビットの値のAND(論理積)を計算する。
図13は、累積加算部130の回路構成を示す図である。
上記式(16)中、sは更新前のフリップフロップの値、s’は更新後のフリップフロップの値である。
初期値生成部110の実装方法について説明する。
っているので、modG(D)上で定義される多項式の除算を行うことなく、小型の回路で部分CRCを算出できる。
図17は、本発明の実施の形態2に係る並列剰余演算器の全体構成を示すブロック図である。図6と同一構成部分には同一符号を付している。
iは整数)から、2つの部分CRC、DM{N−1+c+i+1}(D)とDM{N−1+c+i+2}(D)を出力する。このような構成により、各入力端子101〜104には1クロックサイクルごとに2ビットのデータを入力することができるようになる。すなわち、データをサブブロック分割した上で、各サブブロックのデータをシリアル・パラレル変換する場合にも、本明細に「ポイント1」「ポイント2」として示した方法を用いて、簡易な構成で並列計算が可能となる。
Claims (13)
- 入力データが複数のサブブロックに分割されて並列に入力される並列剰余演算器であって、
前記各サブブロックの先頭点に対応する部分剰余を初期値として生成する初期値生成手段と、
前記初期値生成手段から各サブブロックの先頭に対応する部分剰余を初期値として受け取り、残りの部分剰余を所定の漸化式に従って順次生成する部分剰余生成手段と、
前記入力データと、前記部分剰余生成手段から出力される部分剰余の値の論理を計算する論理手段と、
前記論理手段から出力される値を、累積的に加算する累積加算手段と
を備える並列剰余演算器。 - 入力データが複数のサブブロックに分割されて並列に入力される並列剰余演算器であって、
前記各サブブロックの最終点に対応する部分剰余を初期値として生成する初期値生成手段と、
前記初期値生成手段から各サブブロックの最終点に対応する部分剰余を初期値として受け取り、残りの部分剰余を所定の漸化式に従って順次生成する逆順部分剰余生成手段と、
前記入力データと、前記逆順部分剰余生成手段から出力される逆順部分剰余の値の論理を計算する論理手段と、
前記論理手段から出力される値を、累積的に加算する累積加算手段と
を備える並列剰余演算器。 - 前記初期値生成手段は、長さnの入力データを長さn−mとmのデータ列に分割し、分割された個々のデータ列をサブブロックとするとき、最大次数cにおいて定められる多項式G(D)の値に応じて、各サブブロックのi=0,mにおける先頭点の部分剰余であるDn−l+cmodG(D)とDn−l+c−mmodG(D)を初期値として生成する請求項1記載の並列剰余演算器。
- 前記初期値生成手段は、長さnの入力データを長さn−mとmのデータ列に分割し、分割された個々のデータ列をサブブロックとするとき、最大次数cにおいて定められる多項式G(D)の値に応じて、各サブブロックのi=m−1,n−1における最終点の部分剰余であるDn−l+c−(m−1)modG(D)とDn−l+c−(n−1)modG(D)を初期値として生成する請求項2記載の並列剰余演算器。
- 前記部分剰余生成手段は、元のデータ順に従いデータが入力され、
前記Dn−l+cmodG(D)とDn−l+c−mmodG(D)を初期値として、i=1〜m−l及びi=m+l〜n−lに対応する部分剰余を、所定の漸化式により算出する請求項1記載の並列剰余演算器。 - 前記逆順部分剰余生成手段は、元のデータ順を逆順にしてデータが入力され、
前記Dn−l+c−(m−1)modG(D)とDn−l+c−(n−1)modG(D)を初期値として、i=m−2〜0及びi=n−2〜mに対応する逆順部分剰余を、所定の漸化式により算出する請求項2記載の並列剰余演算器。 - 前記累積加算手段は、ビットごとの排他的論理和により加算する請求項1に記載の並列剰余演算器。
- 長さnの入力データを長さn−mとmのデータ列に分割し、分割された個々のデータ列
をサブブロックとするとき、最大次数cにおいて定められる多項式G(D)の値に応じて、各サブブロックのi=0,mにおける先頭点の部分剰余であるDn−l+cmodG(D)とDn−l+c−mmodG(D)を初期値としてあらかじめ求めるステップと、
前記Dn−l+cmodG(D)とDn−l+c−mmodG(D)を初期値として、i=1〜m−l及びi=m+l〜n−lに対応する部分剰余を、順次算出するステップと
を有する並列剰余演算方法。 - 長さnの入力データを長さn−mとmのデータ列に分割し、分割された個々のデータ列をサブブロックとするとき、最大次数cにおいて定められる多項式G(D)の値に応じて、各サブブロックのi=m−1,n−1における最終点の部分剰余であるDn−l+c−(m−1)modG(D)とDn−l+c−(n−1)modG(D)を初期値としてあらかじめ求めるステップと、
前記Dn−l+c−(m−1)modG(D)とDn−l+c−(n−1)modG(D)を初期値として、i=m−2〜0及びi=n−2〜mに対応する逆順部分剰余を、順次算出するステップと
を有する並列剰余演算方法。 - 前記部分剰余を算出するステップでは、
元のデータ順に従いデータを入力し、
前記Dn−l+cmodG(D)とDn−l+c−mmodG(D)を初期値として、i=1〜m−l及びi=m+l〜n−lに対応する部分剰余を、所定の漸化式により算出する請求項8記載の並列剰余演算方法。 - 前記逆順部分剰余を算出するステップでは、
元のデータ順を逆順にしてデータを入力し、
前記Dn−l+c−(m−1)modG(D)とDn−l+c−(n−1)modG(D)を初期値として、i=m−2〜0及びi=n−2〜mに対応する部分剰余を、所定の漸化式により算出する請求項9記載の並列剰余演算方法。 - さらに、入力データと、前記部分剰余の値の論理を計算するステップと、
前記論理計算された値を、累積的に加算するステップとを有する請求項8記載の並列剰余演算方法。 - さらに、入力データと、前記逆順部分剰余の値の論理を計算するステップと、
前記論理計算された値を、累積的に加算するステップとを有する請求項9記載の並列剰余演算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008530909A JP4976397B2 (ja) | 2006-08-22 | 2007-08-21 | 並列剰余演算器及び並列剰余演算方法 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006225934 | 2006-08-22 | ||
JP2006225934 | 2006-08-22 | ||
PCT/JP2007/066156 WO2008023684A1 (fr) | 2006-08-22 | 2007-08-21 | Unité d'opération arithmétique de résidus en parallèle et procédé d'opération arithmétique de résidus en parallèle |
JP2008530909A JP4976397B2 (ja) | 2006-08-22 | 2007-08-21 | 並列剰余演算器及び並列剰余演算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2008023684A1 JPWO2008023684A1 (ja) | 2010-01-14 |
JP4976397B2 true JP4976397B2 (ja) | 2012-07-18 |
Family
ID=39106769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008530909A Expired - Fee Related JP4976397B2 (ja) | 2006-08-22 | 2007-08-21 | 並列剰余演算器及び並列剰余演算方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8700971B2 (ja) |
JP (1) | JP4976397B2 (ja) |
CN (1) | CN101507120A (ja) |
WO (1) | WO2008023684A1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8156413B2 (en) * | 2007-11-28 | 2012-04-10 | Qualcomm Incorporated | Convolutional encoding with partitioned parallel encoding operations |
US8930431B2 (en) * | 2010-12-15 | 2015-01-06 | International Business Machines Corporation | Parallel computation of a remainder by division of a sequence of bytes |
JP2012169926A (ja) * | 2011-02-15 | 2012-09-06 | Fujitsu Ltd | Crc演算回路 |
CN102318250B (zh) * | 2011-08-02 | 2014-03-05 | 华为技术有限公司 | 通信系统中的循环冗余校验处理方法、装置和lte终端 |
JP2015019276A (ja) * | 2013-07-11 | 2015-01-29 | 株式会社東芝 | 記憶装置、crc生成装置およびcrc生成方法 |
JP2016051924A (ja) | 2014-08-28 | 2016-04-11 | 富士通株式会社 | 復号装置及び誤り検出方法 |
EP3202045A1 (en) * | 2014-10-03 | 2017-08-09 | Telefonaktiebolaget LM Ericsson (publ) | Method and device for calculating a crc code in parallel |
US9787434B2 (en) * | 2014-12-11 | 2017-10-10 | Mediatek Inc. | Cyclic redundancy check device and method |
KR20220083883A (ko) | 2020-12-11 | 2022-06-21 | 삼성전자주식회사 | 메모리 장치, 그것의 데이터 출력 방법 및 그것을 갖는 메모리 시스템 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3257298B2 (ja) | 1994-11-16 | 2002-02-18 | 松下電器産業株式会社 | Crc符号生成方法 |
JP2001036414A (ja) * | 1999-07-21 | 2001-02-09 | Nec Corp | Crc符号生成回路及びcrcエラー検出回路 |
JP3655872B2 (ja) * | 1999-11-15 | 2005-06-02 | 三菱電機株式会社 | 巡回符号を用いた誤り制御装置および方法 |
WO2001061868A2 (en) | 2000-02-17 | 2001-08-23 | Analog Devices, Inc. | Method, apparatus, and product for use in generating crc and other remainder based codes |
US6677869B2 (en) | 2001-02-22 | 2004-01-13 | Panasonic Communications Co., Ltd. | Arithmetic coding apparatus and image processing apparatus |
JP3540287B2 (ja) * | 2001-04-19 | 2004-07-07 | Necマイクロシステム株式会社 | パラレル処理回路 |
DE60236896D1 (de) * | 2002-04-22 | 2010-08-12 | Fujitsu Ltd | Fehlerdetektionscodierer und -decodierer |
US7191383B2 (en) * | 2003-03-28 | 2007-03-13 | International Business Machines Corporation | System and method for optimizing iterative circuit for cyclic redundancy check (CRC) calculation |
JP2005006188A (ja) | 2003-06-13 | 2005-01-06 | Mitsubishi Electric Corp | Crc演算方法およびcrc演算装置 |
US7168024B2 (en) * | 2003-10-03 | 2007-01-23 | Jennic Limited | Data processing system and method |
-
2007
- 2007-08-21 JP JP2008530909A patent/JP4976397B2/ja not_active Expired - Fee Related
- 2007-08-21 CN CNA2007800307836A patent/CN101507120A/zh active Pending
- 2007-08-21 US US12/377,772 patent/US8700971B2/en active Active
- 2007-08-21 WO PCT/JP2007/066156 patent/WO2008023684A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US20100198892A1 (en) | 2010-08-05 |
CN101507120A (zh) | 2009-08-12 |
WO2008023684A1 (fr) | 2008-02-28 |
JPWO2008023684A1 (ja) | 2010-01-14 |
US8700971B2 (en) | 2014-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4976397B2 (ja) | 並列剰余演算器及び並列剰余演算方法 | |
CN110771047B (zh) | 具有f功能和g功能的llr域计算的极性解码器 | |
US11265020B2 (en) | Electronic device with bit pattern generation, integrated circuit and method for polar coding | |
WO1999012265A1 (fr) | Codeur/decodeur turbo et procede de codage/decodage turbo | |
WO2007034870A1 (ja) | 復号装置および受信装置 | |
CN101371448B (zh) | 快速编码和解码方法及相关设备 | |
CN110741558B (zh) | 具有逻辑三维存储器的极化编码器、通信单元、集成电路及其方法 | |
JPWO2009019763A1 (ja) | 誤り検出装置及び誤り訂正/誤り検出復号装置並びに方法 | |
US20170250710A1 (en) | Method and device for calculating a crc code in parallel | |
US8631307B2 (en) | Method for encoding and/or decoding multimensional and a system comprising such method | |
US7594156B2 (en) | High-efficiency compact turbo-decoder | |
KR20060121312A (ko) | 컨볼루션 터보 부호 인터리버 | |
CN110022158B (zh) | 一种译码方法及装置 | |
KR20070065831A (ko) | 연산 회로 | |
WO2012109872A1 (zh) | 通信系统中的循环冗余校验处理方法、装置和lte终端 | |
JP2005006188A (ja) | Crc演算方法およびcrc演算装置 | |
Benaissa et al. | Reconfigurable hardware architectures for sequential and hybrid decoding | |
TWI523437B (zh) | Bch碼編碼與癥狀計算共用設計電路及決定該共用設計電路的方法 | |
Bhoyar | Design of encoder and decoder for Golay code | |
KR20120064377A (ko) | 비씨에이치 디코더, 이를 포함하는 메모리 시스템 및 비씨에이치 디코딩 방법 | |
KR20060084218A (ko) | 부호 복호 방법 | |
CN1124692C (zh) | 卷积码的软输出最大似然解码方法 | |
Sirbu et al. | On Some Characteristics of a Novel Lossless Data Compression Algorithm based on Polynomial Codes | |
US8095848B1 (en) | Multi-byte cyclic redundancy check calculation circuit and method of operating the same | |
CN112054808A (zh) | Polar码的编码方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100209 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120321 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120412 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4976397 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150420 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |