JP2000311096A - 演算処理装置 - Google Patents

演算処理装置

Info

Publication number
JP2000311096A
JP2000311096A JP11122673A JP12267399A JP2000311096A JP 2000311096 A JP2000311096 A JP 2000311096A JP 11122673 A JP11122673 A JP 11122673A JP 12267399 A JP12267399 A JP 12267399A JP 2000311096 A JP2000311096 A JP 2000311096A
Authority
JP
Japan
Prior art keywords
arithmetic
data
storage means
stored
result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP11122673A
Other languages
English (en)
Other versions
JP3607116B2 (ja
Inventor
Riyuutarou Yamanaka
隆太朗 山中
Junji Soumon
淳二 惣門
Takashi Toda
隆 戸田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP12267399A priority Critical patent/JP3607116B2/ja
Priority to PCT/JP2000/002681 priority patent/WO2000067125A1/ja
Priority to CN 00800598 priority patent/CN1300391A/zh
Priority to AU39881/00A priority patent/AU3988100A/en
Priority to EP00919165A priority patent/EP1096380A1/en
Publication of JP2000311096A publication Critical patent/JP2000311096A/ja
Application granted granted Critical
Publication of JP3607116B2 publication Critical patent/JP3607116B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/65Purpose and implementation aspects
    • H03M13/6569Implementation on processors, e.g. DSPs, or software implementations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • H04L1/0043Realisations of complexity reduction techniques, e.g. use of look-up tables

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【課題】 少ないハードウェアの投資で、DSPに
よるCRC演算を効率的に処理すること。 【解決手段】 演算器104にて、演算データ記憶部
101に格納された演算データのMSBと、入力データ
記憶部102に格納された入力データとのmod2加算
を行う。演算器105にて、演算データ記憶部101に
格納された演算データをMSB側に1ビットシフトさせ
たデータと、生成多項式記憶部103に格納された生成
多項式の係数とのmod2加算を行う。選択部106に
て、演算器104の演算結果に基づき、シフトデータと
演算器105の演算結果のいずれか一方を選択し、選択
したものを新たに演算データとして演算データ記憶部1
01に格納する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、無線通信機器等に
搭載され、CRC演算を行う演算処理装置に関する。
【0002】
【従来の技術】無線通信では、無線伝送中に発生するビ
ット誤りを訂正するため、送信側にて、データに対して
誤り訂正のための符号化処理を施し、受信側にて、誤り
訂正符号に対する復号処理を施している。
【0003】しかし、伝搬環境が悪く、極端に誤りが多
く発生する場合、上記誤り訂正処理のみでは誤りを完全
に訂正することは困難である。そこで、移動無線通信で
は、上記誤り訂正処理と併用して誤り検査処理を行い、
誤りが残留しているか否かを検出している。そして、誤
り検査処理の代表的なものにCRC(Cyclic Redundanc
y Check)がある。
【0004】以下、CRCについて説明する。まず、C
RC演算の符号化回路について説明する。図7は、生成
多項式をG(X)=1+X+X3 としたときのCRC演算
の符号化回路図である。
【0005】図7に示すように、CRC演算の符号化回
路におけるシフトレジスタの段数は、生成多項式の最高
次数に等しい数となる。そして、各フリップフロップ
(以下、「FF」という)の境界が、生成多項式の各次
数に対応しており、LSB(Least Significant Bit:
最下位ビット)からMSB(Most Significant Bit:最
高位ビット)に向かう順に次数が高くなる。
【0006】また、CRC演算の符号化回路は、生成多
項式の1次以上の項の係数が「1」なら、その次数に対
応した各FFの境界にEXOR(排他的論理和素子)が
挿入される。
【0007】次に、CRCの符号化動作及びCRCの復
号動作について説明する。
【0008】CRCの符号化動作では、まず、第1ステ
ップとして、シフトレジスタの内容を全て「0」にリセ
ットする。次に、第2ステップとして、入力データ1ビ
ットに対し、シフトレジスタのMSBとのmod2加算
(modulo2‐adder:1桁の2進数の加算)を行う。そ
して、第3ステップとして、第2ステップのmod2加
算結果をシフトレジスタにシフトインとともに、最高次
数以外のEXORに入力し、各FF出力とmod2加算
を行い、結果を次段のFFに入力する。
【0009】上記の第2ステップと第3ステップの処理
を入力ビットがなくなるまで繰り返し、最終的に得られ
たシフトレジスタの内容がCRCの符号化結果であり、
冗長ビットとして入力データに付け加えられる。
【0010】一方、CRCの復号動作は、まず、上記C
RCの符号化動作と同様の動作を行い、その結果得られ
たシフトレジスタの内容と受信した冗長ビットとを比較
する。そして、比較の結果、一致した場合には、誤りは
検出されないと判定され、一致しなければ、誤りが検出
されたと判定される。
【0011】ここで、生成多項式や冗長ビットのビット
数、すなわち、シフトレジスタの段数は、システムによ
って様々であり、同じシステムの中でも複数の種類を使
い分けて使用される場合もある。
【0012】したがって、複数の種類のCRC演算に対
応した専用ハードウェアを搭載するより、DSP(ディ
ジタル信号処理プロセッサ)によりプログラマブルに処
理する方が装置の小型化、軽量化を図ることができる。
また、DSPは、携帯端末の小型化・軽量化・低価格化
を実現するために、専用LSIで処理していた領域もD
SP処理による1チップ化が図られている。
【0013】従来のDSPにてCRC演算を実現させる
場合、下記のオペレーションが必要となる。
【0014】まず、第1オペレーションで、入力データ
をロードして第1レジスタに格納する。
【0015】次に、第2オペレーションで、演算結果を
格納している第2レジスタから最高次のビット位置を抽
出して第3レジスタに格納する。
【0016】次に、第3オペレーションで、第2レジス
タをMSB側に1ビット論理シフトして、結果を第2レ
ジスタに格納する。
【0017】次に、第4オペレーションで、第1レジス
タと第3レジスタとのmod2加算を行う。
【0018】そして、第5オペレーションで、第4オペ
レーションの結果、「0」であれば第2レジスタの内容
を更新せず、「1」であれば第2レジスタと生成多項式
を格納している第4レジスタとのmod2加算結果を第
2レジスタに格納する。
【0019】このように、従来のDSPでは、CRC演
算を実現するために、入力データ1ビット当たり少なく
とも5オペレーション必要であり、それぞれを1マシン
サイクルで実行した場合には、最低でも5マシンサイク
ル必要となる。実際には、第5オペレーションの条件分
岐がDSPのパイプラインによる分岐ペナルティを起こ
すため、さらにその分だけマシンサイクルが増加する。
CRC演算に要するDSPの演算量は、必要とするマシ
ンサイクルに比例して増加する。
【0020】
【発明が解決しようとする課題】ここで、近年、移動無
線通信上で伝送されるビットレートは高速化する傾向に
ある。CRC演算に要するDSPの演算量は、ビットレ
ートに比例して増加する。
【0021】DSPによる演算量が増加すると、携帯端
末のバッテリーを長時間持続させることが困難となる。
また、既存のDSPの処理能力を超えてしまい、DSP
による1チップ化が不可能となる。演算量を増加させる
ためにDSPを高機能化させると、DSP自身のコスト
アップを招き、結果携帯端末の低価格化が実現できなく
なる。
【0022】本発明はかかる点に鑑みてなされたもので
あり、少ないハードウェアの投資で、DSPによるCR
C演算を効率的に処理する演算処理装置を提供すること
を目的とする。
【0023】
【課題を解決するための手段】本発明の骨子は、演算デ
ータと入力データとのmod2加算の演算結果に基づい
て、演算データをMSB側に1ビットシフトさせたデー
タと生成多項式の係数とのmod2加算の演算結果、あ
るいは、演算データをMSB側に1ビットシフトさせた
データのいずれか一方を新たに演算データとして格納す
ることである。
【0024】
【発明の実施の形態】本発明の第1の態様に係る演算処
理装置は、第1記憶手段に格納された演算データの最上
位ビットと第2記憶手段に格納された入力データとの2
進数加算を行う第1演算手段と、前記演算データを1ビ
ット最上位ビット側にシフトしたシフトデータと第3記
憶手段に格納された生成多項式の係数との2進数加算を
行う第2演算手段と、前記第1演算手段の演算結果に基
づき、前記第2演算手段の演算結果あるいは前記シフト
データのいずれかを選択し、新たな演算データとして前
記第1記憶手段に格納する選択手段とを具備する構成を
採る。
【0025】この構成により、入力データ1ビットにつ
き1マシンサイクルでCRC演算を繰り返し実行するこ
とができるので、DSPによるCRC演算を効率よく実
行することができ、DSPの1チップ化、装置の小型化
・軽量化・低価格化、及び、バッテリーの長寿命化を実
現することができる。
【0026】本発明の第2の態様に係る演算処理装置
は、第1記憶手段に格納された演算データの最上位ビッ
トと第2記憶手段に格納された入力データとの2進数加
算である第1演算を行い、前記演算データを1ビット最
上位ビット側にシフトしたシフトデータと第3記憶手段
に格納された生成多項式の係数との2進数加算である第
2演算を行う第3演算手段と、前記第1演算の演算結果
に基づき、前記第2演算の演算結果あるいは前記シフト
データのいずれかを選択し、新たな演算データとして前
記第1記憶手段に格納する選択手段とを具備する構成を
採る。
【0027】この構成により、1ビット当たり2マシン
サイクルでCRC演算を行い、1つの演算器で2度のm
od2加算を行うことができるので、第1の態様よりも
装置の構成を簡略化することができる。また、従来に比
べて、DSPによるCRC演算を効率よく実行すること
ができ、DSPの1チップ化、装置の小型化・軽量化・
低価格化、及び、バッテリーの長寿命化を実現すること
ができる。
【0028】本発明の第3の態様は、第2の態様の演算
処理装置において、選択手段は、第2演算の演算結果が
入力されるまで、第1演算の演算結果を第4記憶手段に
保持する構成を採る。
【0029】この構成により、CRC演算時に生じる一
時的なデータを高速に保持することができるので、2相
クロックで動作させることにより、1つの演算器で、し
かも、入力データ1ビット当たり1マシンサイクル相当
の時間でCRC演算を実行することができる。
【0030】本発明の第4の態様に係る演算処理装置
は、第1記憶手段に格納された演算データを1ビット最
上位ビット側にシフトしたシフトデータに第2記憶手段
に格納された入力データを合併した値と、第3記憶手段
に格納された生成多項式の係数に前記演算データの最上
位ビットを合併した値との2進数加算を行う第4演算手
段と、入力データと演算データの最上位ビットとの2進
数加算結果に基づき、前記シフトデータと生成多項式の
係数との2進数加算結果あるいは前記シフトデータのい
ずれかを選択し、新たな演算データとして前記第1記憶
手段に格納する選択手段とを具備する構成を採る。
【0031】本発明の第5の態様に係る演算処理装置
は、第1記憶手段に格納された演算データを1ビット最
上位ビット側にシフトしたシフトデータと、第3記憶手
段に格納された生成多項式の係数に、第2記憶手段に格
納された入力データを合併した値との2進数加算を行う
第4演算手段と、入力データと演算データの最上位ビッ
トとの2進数加算結果に基づき、前記シフトデータと生
成多項式の係数との2進数加算結果あるいは前記シフト
データのいずれかを選択し、新たな演算データとして前
記第1記憶手段に格納する選択手段とを具備する構成を
採る。
【0032】これらの構成により、2種類のデータを合
併してから演算することができるので、演算器を1つに
して、1ビット当たり1マシンサイクルでCRC演算を
行うことができ、第1の態様よりも装置の構成を簡略化
することができる。
【0033】本発明の第6の態様は、第1から第5のい
ずれかの演算処理装置において、第1記憶手段に格納さ
れる演算データの最上位ビットを所定位置に移動するシ
フト手段を具備する構成を採る。
【0034】この構成により、任意のビットのCRC演
算に対応させることができる。
【0035】本発明の第7の態様は、第6の演算処理装
置において、シフト手段はDSPの汎用シフタを構成要
素とする構成を採る。
【0036】本発明の第8の態様は、第1から第7のい
ずれかの演算処理装置において、演算手段のうち、少な
くとも一つがALUを構成要素とする構成を採る。
【0037】本発明の第9の態様は、第1から第8のい
ずれかの演算処理装置において、記憶手段のうち、少な
くとも一つがDSPの汎用レジスタを構成要素とする構
成を採る。
【0038】本発明の第10の態様は、第1から第9の
いずれかの演算処理装置において、記憶手段のうち、少
なくとも一つがシフトレジスタを構成要素とする構成を
採る。
【0039】これらの構成により、CRC演算において
DSPの汎用演算器を用いることができるので、CRC
アクセラレータのためのハード規模投資量を削減でき、
一層の装置の小型化・軽量化・低価格化を実現すること
ができる。
【0040】本発明の第11の態様に係る無線通信端末
装置は、第1から第10のいずれかの態様の演算処理装
置を搭載する構成を採る。
【0041】本発明の第12の態様に係る無線通信基地
局装置は、第11の態様の無線通信端末装置と無線通信
を行う構成を採る。
【0042】本発明の第13の態様に係る無線通信基地
局装置は、第1から第10のいずれかの態様の演算処理
装置を搭載する構成を採る。
【0043】本発明の第14の態様に係る無線通信端末
装置は、第13の態様の無線通信端末装置と無線通信を
行う構成を採る。
【0044】これらの構成によりCRC演算を効率的に
行うことができる無線通信を行うことができる。
【0045】本発明の第15の態様に係る機械読取り可
能な記録媒体は、第1から第11のいずれかの態様の演
算処理装置をソフトウェアで実現したプログラムを記録
した構成を採る。
【0046】以下、本発明の実施の形態について、添付
図面を参照して詳細に説明する。
【0047】(実施の形態1)図1は、本実施の形態に
係る演算処理装置の構成を示すブロック図である。
【0048】図1において、演算データを格納する演算
データ記憶部101と、入力データを格納する入力デー
タ記憶部102と、生成多項式の係数を格納する生成多
項式記憶部103と、mod2加算を行う演算器10
4、105と、入力した2つのデータのいずれか一方を
出力する選択部106とから主に構成される。
【0049】以下、3bitCRCの場合を例に、各構成
部が行う処理を具体的に説明する。
【0050】NbitCRCの場合、演算データ記憶部1
01及び生成多項式記憶部103は少なくともNビット
で構成され、演算器105は少なくともNビットのmo
d2加算を行う能力を有する必要がある。例えば、3bi
tCRCの場合、演算データ記憶部101及び生成多項
式記憶部103は、少なくとも3ビットで構成され、演
算器105は少なくとも3ビットのmod2加算を行
う。
【0051】演算データ記憶部101に格納される演算
データをMSBから順に{a2、a1、a0}とした場合、
2が3次と2次との境界、a1が2次と1次との境界、
0が1次と0次との境界に対応する。
【0052】入力データ記憶部102からは、CRC対
象となる入力データが先頭から1マシンサイクル毎に1
ビットづつ順に出力される。以下、入力データ記憶部1
02に格納される入力データの各時点における先頭の1
ビットを{b}とする。
【0053】生成多項式記憶部103には、(最高次数
−1)次以下の項の係数が、次数が最も高いものをMS
Bとして、順に格納される。例えば、生成多項式の係数
をMSBから順に{c2、c1、c0}とし、生成多項式と
してG(X)=1+X+X3を用いた場合、{c2、c1、c
0}={0、1、1}が格納される。
【0054】演算器104は、演算データ記憶部101
に格納された演算データのMSB{a2}と、入力データ
記憶部102に格納された入力データ{b}とのmod2
加算を行い、1ビットの演算結果{a2^b}を選択部10
6に出力する。
【0055】演算器105は、演算データ記憶部101
に格納された演算データをMSB側に1ビットシフトさ
せたデータ(以下、「シフトデータ」という){a1、a
0、0}と、生成多項式記憶部103に格納された生成多
項式の係数{c2、c1、c0}とのmod2加算を行い、
演算結果{a1^c2、a0^c1、0^c0}を選択部106に
出力する。
【0056】選択部106は、演算器104の演算結果
{a2^b}に基づいて、シフトデータ{a1、a0、0}と演
算器105の演算結果{a1^c2、a0^c1、0^c0}のい
ずれか一方を選択し、選択したものを新たに演算データ
{a2、a1、a0}として演算データ記憶部101に格納
する。例えば、演算器104の演算結果が「0」であれ
ばシフトデータを演算データ記憶部101に格納し、
「1」であれば演算器105の演算結果を演算データ記
憶部101に格納する。
【0057】次に、本実施の形態に係る演算処理装置の
処理動作について、図2のフロー図を用いて説明する。
なお、図2では、3bitCRCの場合を示し、演算デー
タをA[2:0]、入力データの各時点における先頭の1
ビットをB、生成多項式の係数をC[2:0]として表
す。
【0058】まず、ST151で、記憶部101に格納
される演算データA[2:0]を例えばA(0,0,0)等に
初期化する。また、CRC対象となる入力データを記憶
部102に読み込ませる。また、生成多項式の係数C
[2:0]を記憶部103に設定する。例えば、生成多項
式がG(X)=1+X+X3である場合、C(0,1,1)と
なる。
【0059】次に、ST152で、演算器104にて、
A[2]とBとのmod2加算:D=A[2]^Bが行わ
れ、1ビットの演算結果Dが選択部106に出力され
る。
【0060】次に、ST153からST155で、選択
部106にて、Dの値に基づくAの更新処理が行われ
る。すなわち、D=0の場合、シフトデータA<<1を新
たなAとする処理:A=A<<1が行われ、D=1の場
合、演算器104にて行われたA<<1とCとのmod2
加算の結果を新たな演算データとする処理:A=(A<<
1)^Cが行われる。
【0061】そして、ST156の判断で入力データが
なくなるまで、ST152からST155までの処理が
繰り返され、ST157で、最終的に得られるAが、3
bitCRCの演算結果である。
【0062】このように、入力データ1ビットにつき1
マシンサイクルでCRC演算を繰り返し実行することに
より、DSPによるCRC演算を効率よく実行すること
ができ、DSPの1チップ化、携帯端末の小型化・軽量
化・低価格化、及び、バッテリーの長寿命化を実現する
ことができる。
【0063】(実施の形態2)図3は、本実施の形態に
係る演算処理装置の構成を示すブロック図である。な
お、図3において、図1と共通の構成部分については図
1と同一の符号を付して説明を省略する。
【0064】図3に示す演算処理装置は、図1に示す演
算処理装置と比較して、演算器104、105の代り
に、選択部201、202、演算器203、演算結果記
憶部204を追加した構成を採る。
【0065】図3に示す演算処理装置は、図1に示す演
算処理装置における2つの演算器104、105の処理
を演算器203で兼用し、1ビット当たり2マシンサイ
クルでCRC演算を実行する。選択部201及び選択部
202は、1マシンサイクル目と2マシンサイクル目と
で、演算器203に入力するデータを切替える。
【0066】以下、各マシンサイクルにおける各部の動
作について説明する。
【0067】1マシンサイクル目において、選択部20
1は、入力データ記憶部102に格納された入力データ
を演算器203に出力する。選択部202は、演算デー
タ記憶部101に格納された演算データのMSBを演算
器203に出力する。演算器203は、入力データと演
算データのMSBとのmod2加算を行い、演算結果を
演算結果記憶部204に格納する。
【0068】2マシンサイクル目において、選択部20
1は、演算データ記憶部101に格納された演算データ
を演算器203に出力する。選択部202は、生成多項
式記憶部103に格納された生成多項式の係数を演算器
203に出力する。演算器203は、演算データと生成
多項式の係数とのmod2加算を行い、演算結果を選択
部106に出力する。
【0069】また、2マシンサイクル目において、選択
部106は、演算結果記憶部204に格納された演算結
果に基づいて、シフトデータと演算器203の演算結果
のいずれか一方を選択し、選択したものを新たに演算デ
ータとして演算データ記憶部101に格納する。例え
ば、演算結果記憶部204に格納された演算結果が
「0」であればシフトデータを演算データ記憶部101
に格納し、「1」であれば演算器105の演算結果を演
算データ記憶部101に格納する。
【0070】このように、1ビット当たり2マシンサイ
クルでCRC演算を行い、1つの演算器で2度のmod
2加算を行うことにより、実施の形態1よりも装置の構
成を簡略化することができる。また、従来に比べて、D
SPによるCRC演算を効率よく実行することができ、
DSPの1チップ化、携帯端末の小型化・軽量化・低価
格化、及び、バッテリーの長寿命化を実現することがで
きる。
【0071】なお、演算処理装置を2相クロックで動作
させ、演算結果記憶部204をラッチ(latch circui
t)で構成し、1相目のクロックでラッチさせ、上記1
サイクル目に相当する各部の処理を1相目のクロックで
行い、上記2サイクル目に相当する各部の処理を2相目
のクロックで行わせることにより、本実施の形態に係る
演算処理装置は、入力データ1ビット当たり1マシンサ
イクル相当の時間でCRC演算を実行することができ
る。
【0072】(実施の形態3)図4は、本実施の形態に
係る演算処理装置の構成を示すブロック図である。な
お、図4において、図1と共通の構成部分については図
1と同一の符号を付して説明を省略する。
【0073】図4に示す演算処理装置は、図1に示す演
算処理装置と比較して、演算器104、105の代り
に、演算器301を追加した構成を採る。
【0074】図4に示す演算処理装置は、図1に示す演
算処理装置における2つの演算器104、105の処理
を演算器301で兼用し、2種類のデータをマージ(me
rge:合併)してから演算することにより、1ビット当
たり1マシンサイクルでCRC演算を実行する。
【0075】以下、3bitCRCの場合を例に、各構成
部が行う処理を具体的に説明する。
【0076】3bitCRCの場合、演算データ記憶部1
01及び生成多項式記憶部103は、少なくとも3ビッ
トで構成され、演算器301は少なくとも4ビットのm
od2加算を行う。
【0077】演算データ記憶部101に格納される演算
データをA[2:0]、入力データ記憶部102に格納さ
れる入力データの各時点における先頭の1ビットをB、
生成多項式記憶部103に格納される生成多項式の係数
をC[2:0]とする。
【0078】演算器301に入力されるデータの一方
は、演算データ記憶部101に格納された演算データを
1ビットMSB側に論理シフトしたデータ{A[1]、A
[0]、0}と入力データ記憶部102に格納された1ビ
ットの入力データ{B}とをマージした値{A[1]、A
[0]、0、B}である。また、他方は、生成多項式記憶
部103に格納された生成多項式の係数{C[2]、C
[1]、C[0]}と演算データ記憶部101に格納された
演算データのMSB{A[2]}とをマージした値{C
[2]、C[1]、C[0]、A[2]}である。
【0079】演算器301は、{A[1]、A[0]、0、
B}と{C[2]、C[1]、C[0]、A[2]}とのmod2
加算を行い、加算結果を選択部106に出力する。
【0080】選択部106は、演算器301の演算結果
のLSB{A[2]^B}に基づいて、シフトデータ{A
[1]、A[0]、0}と演算器301のLSB以外の演算
結果{A[1]^C[2]、A[0]^C[1]、0^C[0]}のい
ずれか一方を選択し、選択したものを新たに演算データ
{A[2:0]}として演算データ記憶部101に格納す
る。例えば、{A[2]^B}が「0」であれば{A[1]、A
[0]、0}を演算データ記憶部101に格納し、「1」
であれば{A[1]^C[2]、A[0]^C[1]、0^C[0]}
を演算データ記憶部101に格納する。
【0081】このように、2種類のデータをマージして
から演算することにより、演算器を1つにして、1ビッ
ト当たり1マシンサイクルでCRC演算を行うことがで
き、実施の形態1よりも装置の構成を簡略化することが
できる。
【0082】(実施の形態4)図5は、本実施の形態に
係る演算処理装置の構成を示すブロック図である。な
お、図5において、図1と共通の構成部分については図
1と同一の符号を付して説明を省略する。
【0083】図5に示す演算処理装置は、図1に示す演
算処理装置と比較して、シフト部401を追加した構成
を採る。
【0084】シフト部401は、生成多項式の(最高次
数−1)の値だけ演算データ記憶部101に格納される
演算データをLSB側に論理シフトし、LSBの値を演
算器104に出力する。
【0085】これにより、任意のビットのCRC演算に
対応させることができる。
【0086】(実施の形態5)図6は、本実施の形態に
係る演算処理装置の構成を示すブロック図である。な
お、図6において、図5と共通の構成部分については図
5と同一の符号を付して説明を省略する。
【0087】図6に示す演算処理装置は、図5に示す演
算処理装置と比較して、演算データ記憶部101を汎用
レジスタ501にて構成し、入力データ記憶部102を
RAM502とシフトレジスタ503にて構成し、生成
多項式記憶部103をROM504と汎用レジスタ50
5にて構成し、シフト部401を汎用シフタ506にて
構成し、演算器105をALU(Arithmetic Logic Uni
t)507にて構成している。
【0088】以下、生成多項式としてG(X)=1+X+
3を用い、16ビットの固定小数点DSPを用いて3b
itCRCを実現する場合を例に、各構成部が行う処理を
具体的に説明する。
【0089】汎用レジスタ501には、演算データA
[15:0]が格納され、CRC演算を行う前に初期値A
[15:0]=0×0000が設定される。
【0090】RAM502には、入力データが16ビッ
ト詰めでMSBから先頭にデータが数ワード分格納さ
れ、CRC演算を行う前に、1ワード分の入力データB
[15:0]がシフトレジスタ503に転送される。
【0091】シフトレジスタ503は、CRC演算が実
行されると、1マシンサイクルに1回、MSBの値を演
算器104に出力し、同時にシフトアップする。
【0092】ROM504には、少なくとも1つの生成
多項式の係数が格納され、CRC演算を行う前に、予め
DSPが指示した生成多項式が汎用レジスタ505に転
送される。本例の場合、ROM504には{0、1、1}
が格納される。
【0093】汎用レジスタ505は、ROM504の出
力が16ビットに満たない場合、生成多項式下位側に、
残りの上位ビットを零詰めして格納する。3bitCRC
の場合、汎用レジスタ505は、C[15:0]=0×000
3を格納する。
【0094】汎用シフタ506は、生成多項式の(最高
次数−1)の値だけ汎用レジスタ501に格納された演
算データA[15:0]をLSB側に論理シフトし、LS
Bの値を演算器104に出力する。本例の場合、汎用シ
フタ506はA[2]を出力する。
【0095】ALU507には、汎用レジスタ501に
格納された演算データを1ビットMSB側に論理シフト
した値であるシフトデータ{A[14:0]、0}が常に固
定配線で入力される。また、ALU507には、汎用レ
ジスタ505に格納された生成多項式の係数C[15:
0]が入力される。ALU507は、{A[14:0]、
0}とC[15:0]とのmod2加算を行い、演算結果
を選択部106に出力する。
【0096】選択部106には、ALU507の演算結
果と、シフトデータが常に固定配線で入力される。選択
部106は、演算器104の演算結果に基づいて、AL
U507の演算結果とシフトデータのいずれか一方を選
択し、選択したものを新たに演算データとして汎用レジ
スタ501に格納する。例えば、演算器104の演算結
果が「0」であればシフトデータを汎用レジスタ501
に格納し、「1」であればALU507の演算結果を汎
用レジスタ501に格納する。
【0097】ここで、汎用レジスタ501、505は、
CRC演算以外における途中の演算結果を保存できる。
【0098】シフトレジスタ503は、割り算命令等、
DSPのCRC演算以外の命令と兼用できる。
【0099】汎用シフタ506は、CRC演算以外のシ
フト演算実行命令時は、汎用レジスタ群やメモリ(RA
M又はROM)等からデータを入力してシフト演算を行
い、演算結果を汎用レジスタやメモリ等に書込みを行
う。
【0100】ALU507は、CRC演算以外のALU
演算実行命令時は、汎用レジスタ群やメモリ(RAM又
はROM)等からデータを入力してALU演算を行い、
演算結果を汎用レジスタやメモリ等に書込みを行う。
【0101】このように、CRC演算にDSPの汎用レ
ジスタ、シフトレジスタ、汎用シフタ、ALU等を適宜
用いることにより、演算処理装置をLSI化する場合、
チップ面積をさらに削減することができ、コストを低減
することができる。
【0102】なお、上記各実施の形態においては、生成
多項式の次数の高い方をMSB側に格納したが、LSB
側に格納して適宜変更を施すことも可能である。
【0103】また、無線通信の基地局装置あるいは端末
装置のチャネル復号部に上記各実施の形態に係る演算処
理装置のいずれかを組み込むことにより、チャネル符号
化部、チャネル復号部及びタイミング制御部等を1チッ
プのDSPのソフトウェアで形成できるため、装置にお
ける部品点数を削減でき、装置の小型化・軽量化・低価
格化を図ることができる。
【0104】
【発明の効果】以上説明したように、本発明の演算処理
装置は、入力データ1ビットにつき1又は2マシンサイ
クルでCRC演算を繰り返し実行することができるの
で、DSPによるCRC演算を効率よく実行することが
でき、DSPの1チップ化、携帯端末の小型化・軽量化
・低価格化、及び、バッテリーの長寿命化を実現するこ
とができる。
【図面の簡単な説明】
【図1】本発明の実施の形態1に係る演算処理装置の構
成を示すブロック図
【図2】上記実施の形態に係る演算処理装置の処理動作
を示すフロー図
【図3】本発明の実施の形態2に係る演算処理装置の構
成を示すブロック図
【図4】本発明の実施の形態3に係る演算処理装置の構
成を示すブロック図
【図5】本発明の実施の形態4に係る演算処理装置の構
成を示すブロック図
【図6】本発明の実施の形態5に係る演算処理装置の構
成を示すブロック図
【図7】生成多項式G(X)=1+X+X3 のCRC演算
の符号化回路図
【符号の説明】
101 演算データ記憶部 102 入力データ記憶部 103 生成多項式記憶部 104、105、203、301 演算器 106、201、202 選択部 204 演算結果記憶部 401 シフト部 501 汎用レジスタ 503 シフトレジスタ 505 汎用レジスタ 506 汎用シフタ 507 ALU
───────────────────────────────────────────────────── フロントページの続き (72)発明者 戸田 隆 石川県金沢市彦三町二丁目1番45号 株式 会社松下通信金沢研究所内 Fターム(参考) 5B001 AA04 AB02 AC01 AD06 AE02 5J065 AA01 AB01 AC02 AD04 AF03 AH02 AH05 AH06 AH19

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 第1記憶手段に格納された演算データの
    最上位ビットと第2記憶手段に格納された入力データと
    の2進数加算を行う第1演算手段と、前記演算データを
    1ビット最上位ビット側にシフトしたシフトデータと第
    3記憶手段に格納された生成多項式の係数との2進数加
    算を行う第2演算手段と、前記第1演算手段の演算結果
    に基づき、前記第2演算手段の演算結果あるいは前記シ
    フトデータのいずれかを選択し、新たな演算データとし
    て前記第1記憶手段に格納する選択手段とを具備するこ
    とを特徴とする演算処理装置。
  2. 【請求項2】 第1記憶手段に格納された演算データの
    最上位ビットと第2記憶手段に格納された入力データと
    の2進数加算である第1演算を行い、前記演算データを
    1ビット最上位ビット側にシフトしたシフトデータと第
    3記憶手段に格納された生成多項式の係数との2進数加
    算である第2演算を行う第3演算手段と、前記第1演算
    の演算結果に基づき、前記第2演算の演算結果あるいは
    前記シフトデータのいずれかを選択し、新たな演算デー
    タとして前記第1記憶手段に格納する選択手段とを具備
    することを特徴とする演算処理装置。
  3. 【請求項3】 選択手段は、第2演算の演算結果が入力
    されるまで、第1演算の演算結果を第4記憶手段に保持
    することを特徴とする請求項2記載の演算処理装置。
  4. 【請求項4】 第1記憶手段に格納された演算データを
    1ビット最上位ビット側にシフトしたシフトデータに、
    第2記憶手段に格納された入力データを合併した値と、
    第3記憶手段に格納された生成多項式の係数に、前記演
    算データの最上位ビットを合併した値との2進数加算を
    行う第4演算手段と、入力データと演算データの最上位
    ビットとの2進数加算結果に基づき、前記シフトデータ
    と生成多項式の係数との2進数加算結果あるいは前記シ
    フトデータのいずれかを選択し、新たな演算データとし
    て前記第1記憶手段に格納する選択手段とを具備するこ
    とを特徴とする演算処理装置。
  5. 【請求項5】 第1記憶手段に格納された演算データを
    1ビット最上位ビット側にシフトしたシフトデータと、
    第3記憶手段に格納された生成多項式の係数に、第2記
    憶手段に格納された入力データを合併した値との2進数
    加算を行う第4演算手段と、入力データと演算データの
    最上位ビットとの2進数加算結果に基づき、前記シフト
    データと生成多項式の係数との2進数加算結果あるいは
    前記シフトデータのいずれかを選択し、新たな演算デー
    タとして前記第1記憶手段に格納する選択手段とを具備
    することを特徴とする演算処理装置。
  6. 【請求項6】 第1記憶手段に格納される演算データの
    最上位ビットを所定位置に移動するシフト手段を具備す
    ることを特徴とする請求項1から請求項5のいずれかに
    記載の演算処理装置。
  7. 【請求項7】 シフト手段はDSPの汎用シフタを構成
    要素とすることを特徴とする請求項6記載の演算処理装
    置。
  8. 【請求項8】 演算手段のうち、少なくとも一つがAL
    Uを構成要素とすることを特徴とする請求項1から請求
    項7のいずれかに記載の演算処理装置。
  9. 【請求項9】 記憶手段のうち、少なくとも一つがDS
    Pの汎用レジスタを構成要素とすることを特徴とする請
    求項1から請求項8のいずれかに記載の演算処理装置。
  10. 【請求項10】 記憶手段のうち、少なくとも一つがシ
    フトレジスタを構成要素とすることを特徴とする請求項
    1から請求項9のいずれかに記載の演算処理装置。
  11. 【請求項11】 請求項1から請求項10のいずれかに
    記載の演算処理装置を搭載することを特徴とする無線通
    信端末装置。
  12. 【請求項12】 請求項11記載の無線通信端末装置と
    無線通信を行うことを特徴とする無線通信基地局装置。
  13. 【請求項13】 請求項1から請求項10のいずれかに
    記載の演算処理装置を搭載することを特徴とする無線通
    信基地局装置。
  14. 【請求項14】 請求項13記載の無線通信基地局装置
    と無線通信を行うことを特徴とする無線通信端末装置。
  15. 【請求項15】 請求項1から請求項10のいずれかに
    記載の演算処理装置をソフトウェアで実現したプログラ
    ムを記録したことを特徴とする機械読取り可能な記録媒
    体。
JP12267399A 1999-04-28 1999-04-28 演算処理装置 Expired - Fee Related JP3607116B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP12267399A JP3607116B2 (ja) 1999-04-28 1999-04-28 演算処理装置
PCT/JP2000/002681 WO2000067125A1 (fr) 1999-04-28 2000-04-25 Processeur
CN 00800598 CN1300391A (zh) 1999-04-28 2000-04-25 运算处理装置
AU39881/00A AU3988100A (en) 1999-04-28 2000-04-25 Processor
EP00919165A EP1096380A1 (en) 1999-04-28 2000-04-25 Processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12267399A JP3607116B2 (ja) 1999-04-28 1999-04-28 演算処理装置

Publications (2)

Publication Number Publication Date
JP2000311096A true JP2000311096A (ja) 2000-11-07
JP3607116B2 JP3607116B2 (ja) 2005-01-05

Family

ID=14841813

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12267399A Expired - Fee Related JP3607116B2 (ja) 1999-04-28 1999-04-28 演算処理装置

Country Status (5)

Country Link
EP (1) EP1096380A1 (ja)
JP (1) JP3607116B2 (ja)
CN (1) CN1300391A (ja)
AU (1) AU3988100A (ja)
WO (1) WO2000067125A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002029228A1 (en) 2000-10-05 2002-04-11 Nissan Motor Co., Ltd. Control of supercharger
US6754870B2 (en) 2000-04-14 2004-06-22 Matsushita Electric Industrial Co., Ltd. CRC operation unit and CRC operation method
WO2019224955A1 (ja) * 2018-05-23 2019-11-28 堺ディスプレイプロダクト株式会社 接続システム

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7124351B2 (en) * 2002-12-04 2006-10-17 Stmicroelectronics Asia Pacific Pte. Ltd. Software instructions utilizing a hardwired circuit
CN100517214C (zh) * 2007-05-30 2009-07-22 北京天碁科技有限公司 一种实现二进制多项式运算的硬件配置方法及硬件系统
CN102681818A (zh) * 2011-03-09 2012-09-19 上海华虹集成电路有限责任公司 基于ucps加密算法的128比特模加电路及控制方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51132048A (en) * 1975-05-13 1976-11-16 Mitsubishi Electric Corp Computing circuit of cyclic code
JP3252029B2 (ja) * 1993-08-04 2002-01-28 松下電器産業株式会社 符号化装置及び符号化方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6754870B2 (en) 2000-04-14 2004-06-22 Matsushita Electric Industrial Co., Ltd. CRC operation unit and CRC operation method
WO2002029228A1 (en) 2000-10-05 2002-04-11 Nissan Motor Co., Ltd. Control of supercharger
WO2019224955A1 (ja) * 2018-05-23 2019-11-28 堺ディスプレイプロダクト株式会社 接続システム

Also Published As

Publication number Publication date
EP1096380A1 (en) 2001-05-02
WO2000067125A1 (fr) 2000-11-09
JP3607116B2 (ja) 2005-01-05
AU3988100A (en) 2000-11-17
CN1300391A (zh) 2001-06-20

Similar Documents

Publication Publication Date Title
US5946361A (en) Viterbi decoding method and circuit with accelerated back-tracing and efficient path metric calculation
JP3338374B2 (ja) 演算処理方法および装置
KR100439211B1 (ko) 연산처리장치
US8989242B2 (en) Encoding/decoding processor and wireless communication apparatus
US6754870B2 (en) CRC operation unit and CRC operation method
JP3274668B2 (ja) 演算処理装置及び演算処理方法
US6442729B1 (en) Convolution code generator and digital signal processor which includes the same
JP2000311096A (ja) 演算処理装置
US7661059B2 (en) High performance turbo and Viterbi channel decoding in digital signal processors
AU758068B2 (en) Fast metric calculation for viterbi decoder implementation
JP3191442B2 (ja) ビタビ復号用演算装置
US6023782A (en) RAM based key equation solver apparatus
US6125153A (en) Data processor and data processing method
WO2004030226A1 (en) Method of calculating an intra-row permutation pattern for an interleaver
JP2001186021A (ja) 誤り検出装置及びそれを内蔵した演算処理装置
JP3252029B2 (ja) 符号化装置及び符号化方法
JP3250363B2 (ja) 演算装置
KR100414152B1 (ko) 프로그래머블 프로세서에서의 비터비 디코딩 연산방법 및그 연산방법을 실행하기 위한 연산회로
JP3996858B2 (ja) 演算処理装置
JPH1146148A (ja) 演算処理装置とその利用装置
WO2002056480A1 (fr) Decodeur de viterbi
JP3634333B2 (ja) ディジタル信号処理プロセッサ
JPH04352518A (ja) 演算装置
JP3521558B2 (ja) 伝送装置
JPH10178356A (ja) 演算処理装置及びそれを用いた無線局装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040116

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: 20040928

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041006

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees