JPH10503311A - ガロアフィールド多項式乗算/除算回路およびそれを組込むディジタル信号プロセッサ - Google Patents

ガロアフィールド多項式乗算/除算回路およびそれを組込むディジタル信号プロセッサ

Info

Publication number
JPH10503311A
JPH10503311A JP9510608A JP51060897A JPH10503311A JP H10503311 A JPH10503311 A JP H10503311A JP 9510608 A JP9510608 A JP 9510608A JP 51060897 A JP51060897 A JP 51060897A JP H10503311 A JPH10503311 A JP H10503311A
Authority
JP
Japan
Prior art keywords
binary signals
signal
circuit
accumulator
binary
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
JP9510608A
Other languages
English (en)
Other versions
JP2842947B2 (ja
Inventor
フェットバイス,ゲルハルト・ペー
ツーリギアン,ミーラン
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.)
Atmel Corp
Original Assignee
Atmel Corp
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 Atmel Corp filed Critical Atmel Corp
Publication of JPH10503311A publication Critical patent/JPH10503311A/ja
Application granted granted Critical
Publication of JP2842947B2 publication Critical patent/JP2842947B2/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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
    • G06F7/726Inversion; Reciprocal calculation; Division of elements of a finite field
    • 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/033Theoretical methods to calculate these checking codes
    • 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/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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Complex Calculations (AREA)
  • Error Detection And Correction (AREA)
  • Logic Circuits (AREA)

Abstract

(57)【要約】 乗算/除算回路(20)はALU(30)の排他的OR機能(32)を用いる。アキュムレータ(46,60,22)、およびシフトされた信号をALU(30)に再び戻すシフトレジスタ(26,34)を通る排他的OR機能(32)の結果により、乗算または除算機能を行なうようにすることができる。テレコミュニケーションの目的に用いられるときには、乗算/除算回路(20)はコンボルーションエンコーディングおよびサイクリックリダンダンシチェックなどの機能を行なうことができる。

Description

【発明の詳細な説明】 ガロアフィールド多項式乗算/除算回路および それを組込むディジタル信号プロセッサ技術分野 この発明は、ガロアフィールド多項式乗算/除算回路であって、第1の複数の 2進信号を第2の複数の2進信号によって乗算または除算することができるもの に関する。この発明はさらに、このような回路を含むディジタル信号プロセッサ に関する。発明の背景 ガロアフィールド多項式乗算/除算回路は技術分野においてよく知られている 。このような回路においては、第1の複数の2進信号を第2の複数の2進信号に よって乗算または除算することが所望される。ガロアフィールド乗算/除算回路 は通信におけるCRC(サイクリックリダンダンシチェック)ビット信号および コンボルーションエンコーディング信号を計算するための用途などに用いられる 。 典型的な先行技術のガロアフィールド乗算/除算回路においては、動作を行な うためにシフトレジスタが用いられる。典型的な先行技術のガロアフィールド乗 算回路においては、動作を行なうために、加算器および乗算器を備えた複数のシ フトレジスタが用いられる。先行技術のガロアフィールド乗算回路においては、 第1の複数の2進信号の各ビットがシフトレジスタへシフトされ、複数の第2の 2進信号によって乗算され、加算されるというように続く。したがって、乗算動 作を行なうために少なくともN+1個の数のクロックサイクルが必要であるとい う点で、動作は性質的に「連続的」である。ただしここでNは第1の複数の2進 信号のビット数である。 同様に、典型的な先行技術のガロアフィールド除算回路においては、動作を行 なうためにシフトレジスタと加算器と乗算器とが用いられる。動作を行なうため に必要なシフトまたはサイクルの数は、多項式のデータに1を足したものの数に 等しい。ここでもまた、先行技術のガロアフィールド乗算回路と同じように、先 行技術のガロアフィールド除算回路は性質的に「連続的」である。 先行技術の除算回路の一例についてはたとえば米国特許第5,341,322 号を、さらに先行技術の乗算/除算回路の一例については米国特許第5,270 ,962号を参照されたい。発明の概要 この発明において、乗算/除算回路は第1の複数の2進信号と第2の複数の2 進信号とを受取り、制御信号に応答して、その乗算または除算を行なう。乗算/ 除算回路は、第1および第2の複数の2進信号を受取り、かつそれらに応答して 第3の複数の2進信号を発生するための手段を有する。第3の複数の2進信号は 前記第1および第2の複数の2進信号の排他的ORであり、かつ最上位ビット( MSB)を有する。第1のマルチプレクサ手段は第3の複数の2進信号と第2の 複数の2進信号とを受取り、第1のマルチプレクス信号に応答して第4の複数の 2進信号を発生する。第4の複数の2進信号もまたMSBを有する。第1のアキ ュムレータ手段は第4の複数の2進信号を受取り、かつそれらをストアする。第 1のシフト手段は第1のアキュムレータ手段にストアされた第4の複数の2進信 号を受取り、第2の複数の2進信号を発生し、さらに第2の複数の2進信号を受 取手段に与える。第2の複数の2進信号は、第4の複数の2進信号を2で乗算し たものを表わす1つの2進桁信号だけシフトされた第4の複数の2進信号である 。第1のインバータ手段は第3の複数の2進信号のMSBを受取り、第1のビッ ト信号を発生する。第2のマルチプレクサ手段は、第1のビット信号と第4の複 数の2進信号のMSBと制御信号とを受取り、制御信号に応答して第2のビット 信号を発生する。第2のアキュムレータ手段は複数のビット信号をストアし、か つ最下位ビット(LSB)とMSBとを有する。第2のアキュムレータ手段はL SBとしての第2のビット信号を受取り、ストアされた第2のビット信号をMS B位置に1桁分シフトする。第2のインバータ手段は第2のアキュムレータ手段 にストアされたMSBを受取り、それに応答して第4のビット信号を発生する。 第3のマルチプレクサ手段は第4のビット信号と第3の複数の2進信号のMSB と制御信号とを受取り、制御信号に応答して第5のビット信号を発生する。第5 のビット信号は、第1のマルチプレクス信号として第1のマルチプレクサ手段に 与えられる。乗算を行なうよう制御信号が乗算/除算回路を制御する場合、乗算 動作の結果は第1のアキュムレータ手段にストアされる。除算を行なうよう制御 信号が乗算/除算回路を制御する場合、除算動作の結果は第1および第2のアキ ュムレータ手段にストアされる。 この発明はまた、乗算のみを行なうことのできる前述の乗算/除算回路および 除算のみを行なうことのできる前述の乗算/除算回路に関する。さらにこの発明 は、前述の乗算/除算回路を組込むディジタル信号プロセッサに関する。図面の簡単な説明 図1は、メモリと相互作用するこの発明のディジタル信号プロセッサ(DSP )の概略的なブロックレベル図である。 図2は、この発明の乗算/除算回路の概略的なブロックレベル図である。 図3は、この発明の除算回路の概略的なブロックレベル図である。 図4は、この発明の乗算回路の概略的なブロックレベル図である。図面の詳細な説明 図1を参照して、この発明のディジタル信号プロセッサ(DSP)10のブロ ックレベル図が示される。この発明のDSP10はアドレスバス14およびデー タバス16を通してメモリモジュール12と相互作用する。技術分野においては 周知であるように、アドレス信号はアドレスバス14に沿ってメモリ12のアド レス部分に与えられてそこからデータ信号を取出してそれらをデータバス16に 与えさらにDSP10の中に与えるか、またはDSP10からのデータバス16 上のデータ信号を、アドレスバス14によって選択されたアドレスの中に書込む 。 この発明のDSP10は通信動作に特に適する。技術分野において周知である ように、特に通信においては、コンボルーションエンコーディング信号およびサ イクリックリダンダンシチェック(CRC)信号を計算する必要はない。 図2を参照して、概略的なブロックレベル図には、この発明の乗算/除算回路 20を組込むこの発明のDSP10の一部分が示されている。技術分野において は周知であるように、DSP10は命令デコーダ(図示せず)およびメモリアド レスレジスタ(図示せず)などといった他の機能回路を有し得る。この発明の乗 算/除算回路20にはDSP10の一部分しか含まれていない。 先に述べたように、DSP10はアドレスバス14に与えられたアドレス場所 のメモリ12から、データバス16を介してデータ信号を受取る。データ信号を DSP10に与えるデータバス16はMビットのバス幅を有する。DSP10は 第1のアキュムレータ22を含む。第1のアキュムレータ22はNビットをスト アすることができる。データバス16からのMビットおよび第1のアキュムレー タ22からのNビットは第1のマルチプレクサ24に与えられる。Mビットまた はNビットのいずれかを含む第1のマルチプレクサ24の出力は第1のシフタ2 6に与えられる。好ましい実施例において、データバス16からのMビットは1 6に等しい。第1のアキュムレータ22からのNビットは40に等しい。第1の シフタ26はさらに40ビットをストアすることができる。したがって、データ バス16に沿ってメモリ12からデータが与えられる場合、第1のシフタ26を 完全に満たすためには3つのメモリフェッチ動作が必要である。第1のアキュム レータ22からデータが与えられる場合は、第1のシフタ26は、第1のアキュ ムレータ22からのデータすべてを単一ロードサイクルにおいて保持することが できる。乗算/除算回路20は第1のシフタ26からデータ信号を受取る。した がって、第1のシフタ26は始めは、乗算/除算回路20による動作に必要な第 1の複数の2進信号および第2の複数の2進信号の両方をストアすることができ る。 好ましい実施例における乗算/除算回路20は演算論理ユニット(ALU)3 0を含む。しかしながら、見られるように、乗算/除算回路20の動作には、A LU30の機能的能力のうち一部分しか用いられない。乗算/除算回路20がD SP10に用いられるため、ALUもまた用いられる。しかしながら、見られる ように乗算/除算回路20はDSPに用いられる必要がないため、乗算/除算回 路20の動作に用いられる、ALU30の機能のみを設ける必要がある。この機 能は排他的OR回路32を含む。排他的OR回路32は第1のシフタ26からの 第1の複数の2進信号27および(その機能および動作を後により詳細に説明す ることとなる)第2のシフタ34からの第2の複数の2進信号を受取る。排他的 OR回路32の出力は第3の複数の2進信号36である。第3の複数の2進信号 36は、第1の複数の2進信号27および第2の複数の2進信号33の、対応す る位置にある2進信号の排他的OR結果である。もし第1のシフタ26からの第 1の複数の2進信号27が下記のビットストリームを含み、 abcde かつ第2のシフタ34からの第2の複数の2進信号33が下記のビットストリ ームを含むならば、 tuvwx 第3の複数の2進信号36である、排他的OR回路32の出力は下記のものを 含むこととなる。 第3の複数の2進信号36は単一ビットを含む、最上位ビット(MSB)を有 し得る。第2の複数の2進信号33および第3の複数の2進信号36は第2のマ ルチプレクサ40に与えられる。第2のマルチプレクサ40は第1のマルチプレ クス信号42に応答して、その出力として第4の複数の2進信号44を与える。 第4の複数の2進信号44は第2のアキュムレータ46に与えられてストアされ る。さらに、第4の複数の2進信号44もまた最上位ビット(MSB)を有する 。 第5の複数の2進信号48は第2のアキュムレータ46の出力を含む。第5の 複数の2進信号48は第2のシフタ34に与えられる。第2のシフタ34は第5 の複数の2進信号48を受取って、それを、1つの2進桁分左に、または第5の 複数の2進信号48を2で乗算したものを表わす最上位位置にシフトする。第2 のシフタ34の出力は第2の複数の信号33であり、これは、先に述べたように 排他的OR回路32に与えられる。 第3の複数の2進信号のMSBは第1のインバータ50によって反転され、こ の第1のインバータ50はその出力として第1のビット信号52を発生する。第 4の複数の2進信号44のMSBおよび第1のビット信号52は第3のマルチプ レクサ54に与えられる。第3のマルチプレクサ54は乗算/除算制御信号56 であって、乗算の機能または除算の機能のうちいずれかを行なうよう乗算/除算 回路20にコマンドするものによって制御される。それに応答して、第3のマル チプレクサ54の出力は第2のビット信号58である。第2のビット信号58は 第3のアキュムレータ60の最下位ビット(LSB)位置に与えられる。LSB または最下位ビット位置は一般的には最右ビット位置である。第3のアキュムレ ータ60はさらに、2進信号のNビットをストアすることができる。第3のアキ ュムレータ60のNビットはN,N−1,N−2…1を含む。第3のアキュムレ ータ60はその出力として、N−1,N−2…1の位置にストアされた2進信号 をとり、それらの2進信号を、N,N−1,N−2…2の位置において第3のア キュムレータ60の中にロードして戻す。この、第3のアキュムレータ60の出 力をそれ自身へロードして戻すことは、第2のビット信号58をLSB位置にロ ードして戻す度に、その後に起こる。したがって、この動作により、第2のビッ ト信号58を第3のアキュムレータ60のLSB位置にロードして、その後第3 のアキュムレータ60からのN−1ビットをそれ自身上にロードして戻すことに より、LSB位置にロードされた第2のビット信号58がMSB位置の方に1つ の2進位置分だけシフトされる。 第3のアキュムレータ60のMSB信号は第3のビット信号62として第2の インバータ64に与えられ、このインバータ64はその出力として第4のビット 信号66を発生する。第4のビット信号66および第3の複数の2進信号36の MSBは第4のマルチプレクサ68に与えられる。第4のマルチプレクサ68は 、第3のマルチプレクサ54を制御するものと同じ乗算/除算制御信号56によ って制御される。第4のマルチプレクサ68の出力は第1のマルチプレクス信号 42であり、これは、第2のマルチプレクサ40を制御するのに用いられる 乗算/除算回路20を制御して乗算モードまたは除算動作のいずれかで動作す る際の乗算/除算制御信号56の機能は、図3および図4を参照して最もよく理 解できる。図3は、専用除算回路120を示す。機能的には、除算回路120は 、乗算/除算制御信号56が除算動作モードに設定されるときには乗算/除算回 路20と同じように動作する。 図2において説明されかつ示された乗算/除算回路20と同様に、図3に示さ れる除算回路120はDSP10の一部分として用いることができる。この点に 関連して、DSP10は、メモリ12または第1のアキュムレータ22のいずれ かから与えられ、かつ第1のマルチプレクサ24を通して第1のシフタ26の中 にシフトされた第1の複数の2進信号および第2の複数の2進信号を受取ること となる。第1のシフタ26からの第1の複数の2進信号27は、排他的OR回路 32を含むALU30に与えられる。排他的OR回路32はその入力として第2 のシフタ34からの第2の複数の2進信号33を受取る。排他的OR回路32の 出力は第3の複数の2進信号36である。 第3の複数の2進信号36はMSB信号を有する。第2の複数の2進信号33 および第3の複数の2進信号36は第2のマルチプレクサ40に与えられ、この 第2のマルチプレクサ40は第3の複数の2進信号36のMSB2進信号によっ て制御される。第2のマルチプレクサ40の出力は第4の複数の2進信号44で あり、この第4の複数の2進信号44は第2のアキュムレータ46に与えられて ストアされる。第5の複数の2進信号は第2のアキュムレータ46の出力からの ものであり、かつ第2のシフタ34に与えられる。第2のシフタ34は第5の複 数の2進信号48を受取り、かつそれを1つの2進位置分だけ左に、または最上 位位置にシフトし、それにより第5の2進信号を2で乗算する。第2のシフタ3 4の結果は、第2の複数の2進信号33であり、この第2の複数の2進信号33 はALU30の排他的OR回路32に与えられる。 第3の複数の2進信号36のMSB2進信号は第1のインバータ50に与えら れ、この第1のインバータ50はその出力として第1のビット信号52を発生す る。第1のビット信号52は第3のアキュムレータ60の最下位ビット位置に与 えられる。第3のアキュムレータ60からの、位置N−1,N−2…1にストア された2進信号は、N,N−1…2の位置において第3のアキュムレータ60に 戻され、それにより第3のアキュムレータ60の最下位ビット位置にストアされ た第2のビット信号を1だけMSB位置にシフトする。 除算動作の結果は、第3のアキュムレータ60にストアされた商および第2の アキュムレータ46にストアされた剰余である。 同様に、乗算/除算回路20に乗算動作を行なわせるよう乗算/除算制御信号 56が設定される場合、結果として生じる専用乗算回路が図4に示される。専用 乗算回路220はスタンドアロンモードにおいて用いられるか、またはDSP1 0の一部として用いることができる。乗算回路220は、乗算回路220がDS P10の一部分として用いられる場合にはALU30を含む。ALU30は、第 1のシフタ26からの第1の複数の2進信号27および第2のシフタ34からの 第2の複数の2進信号33を受取る。ALU30は排他的OR回路32を含み、 この排他的OR回路32は第1の複数の2進信号27および第2の複数の2進信 号33を受取り、かつその出力として第3の複数の2進信号36を発生し、この 第3の複数の2進信号36は第1の複数の2進信号27および第2の複数の2進 信号33における、対応するビット信号の排他的ORである。第2の複数の2進 信号33および第3の複数の2進信号36は第2のマルチプレクサ40に与えら れる。第2のマルチプレクサ40は第1のマルチプレクス信号42によって制御 され、かつその出力として第4の複数の2進信号44を発生する。第4の複数の 2進信号44は、それと関連したMSB2進信号を有する。 第4の複数の2進信号44は第2のアキュムレータ46に与えられてストアさ れる。第5の複数の2進信号48は第2のアキュムレータ46の出力である。第 5の複数の2進信号48は第2のシフタ34に与えられ、この第2のシフタ34 は第5の複数の2進信号48を1つの2進ビット位置分だけMSB位置にシフト し、それにより2の乗算を行なう。第2のシフタ34の出力は第2の複数の2進 信号33であり、この第2の複数の2進信号33はALU30に与えられる。 第4の複数の2進信号44のMSB2進信号は、第3のアキュムレータ60の 最下位ビット位置に与えられる。第3のアキュムレータ60の位置N−1,N− 2…1からの、N−1の2進信号は第3のアキュムレータ60に戻されて、第3 のアキュムレータ60の2進位置N,N−1…2にストアされる。これにより、 最下位ビット位置にストアされた信号が1だけ左に、またはMSB位置にシフト される。第3のアキュムレータ60のMSB2進信号は、第2のインバータ64 に与えられ、この第2のインバータ64はその出力として第1のマルチプレクス 信号42を発生し、この第1のマルチプレクス信号42は第2のマルチプレクサ 40を制御するために用いられる。 乗算動作の結果は、第3のアキュムレータ60にストアされる。 この発明の動作の理論は以下のとおりである。図2に示される乗算/除算回路 20が乗算モードで動作する場合には、乗算/除算制御信号56が第3のマルチ プレクサ54および第4のマルチプレクサ68に送られて、その信号の流れを制 御して、図4に示される機能または回路が得られるようにする。第1の多項式2 進信号がメモリ12か、または第1のアキュムレータ22かのいずれかから取出 され、排他的OR回路32を通して与えられて、第2のアキュムレータ46にス トアされる。次に、第2のアキュムレータ46からの第1の多項式2進信号が第 2のシフタ34によって1ビット分シフトされ、第2の複数の2進信号33とし て排他的OR回路32に与えられる。第2の多項式2進信号がメモリ12または 第1のアキュムレータ22からさらに取出され、第1のシフタ26を通して与え られて第1の複数の2進信号27として排他的OR回路32に与えられる。第1 の複数の2進信号27および第2の複数の2進信号33の排他的ORの動作の結 果は第3の複数の2進信号36であり、この第3の複数の2進信号36のMSB ビットは第3のアキュムレータ60のLSB位置にロードされる。第3の複数の 2進信号36のMSB信号の各々が排他的OR回路32によって発生すると、第 3のアキュムレータ60のLSB位置に、新しいMSB信号の各々が与えられる 。N+1動作の後、第3のアキュムレータ60にストアされた結果は、以下の理 論的根拠に従って、第1の複数の2進信号27および第2の複数の2進信号33 を乗算したものである。 多項式の乗算 多項式の乗算は一般的な乗算とほぼ同じであるが、係数の加算が排他的OR動 作によって行なわれるという点で異なる。 例♯1 例♯2 この例♯2において、実数の乗算とは異なり、2つの「X」項または2つの「 1」項は除去される。 乗算モードで動作しているときの乗算/除算回路20は、第2の複数の2進信 号33によってコンボルーションエンコードされた第1の複数の2進信号27の ンボルーションエンコーディング動作を行なうことが所望されるときには、通信 分野における特定的な用途に用いられる。 除算モードにおいて乗算/除算回路20を動作するのが所望されるときには、 乗算/除算制御信号56が第3のマルチプレクサ54および第4のマルチプレク サ68に与えられ、それにより、結果として生じたハードウェア回路が、図3に 示される実施例に実質的に従って機能するようにする。この実施例において、第 2の複数の2進信号または除数がメモリ12またはアキュムレータ22から取出 されて、第2のアキュムレータ46にストアされる。第2の複数の2進信号は第 2のシフタ34に与えられて第2の複数の2進信号33を発生する。第1の複数 の2進信号もまたメモリ12またはアキュムレータ22から取出されて、除数と しての第1の複数の2進信号27として、排他的OR回路32に与えられる。第 1の複数の2進信号27によって除算された第2の複数の2進信号33の動作の 結果は、商として第3のアキュムレータ60にストアされた複数の2進信号であ り、剰余は第2のアキュムレータ46にストアされている。動作の原理は以下の とおりである。 多項式の除算 多項式の除算は一般的な除算とほぼ同じであるが、係数の加算が排他的OR動 作によって行なわれるという点で異なる。 例♯1 例♯2 乗算/除算回路20がテレコミュニケーションの用途に用いられる場合には、 除算回路220は、CRC信号は第2のアキュムレータ46にストアされる状態 で第1の複数の2進信号27によってチェックされ第2の複数の2進信号33の CRCを計算するに際して特定的な用途を見い出す。この場合、第3のアキュム レータ60にストアされた商の結果は用いられない。 以上のことからわかるように、乗算/除算回路は小型であり、DSPにおいて ALUとともに用いられる場合には、テレコミュニケーション分野において特定 的な用途を有する。

Claims (1)

  1. 【特許請求の範囲】 1.第1の複数の2進信号および第2の複数の2進信号を受取り、かつ制御信号 に応答してその乗算または除算を行なうための乗算/除算回路であって、前記装 置は、 前記第1および第2の複数の2進信号を受取り、かつそれに応答して第3の複 数の2進信号を発生するための手段を含み、前記第3の複数の2進信号は前記第 1および第2の複数の2進信号の排他的ORであり、前記第3の複数の2進信号 は最上位ビット(MSB)を有し、さらに、 前記第3の複数の2進信号および前記第2の複数の2進信号を受取り、かつ第 1のマルチプレクス信号に応答して第4の複数の2進信号を発生するための第1 のマルチプレクサ手段を含み、前記第4の複数の2進信号はMSBを有し、さら に、 前記第4の複数の2進信号を受取り、かつストアするための第1のアキュムレ ータ手段と、 前記第1のアキュムレータ手段にストアされた前記第4の複数の2進信号を受 取り、前記第2の複数の2進信号を発生し、かつ前記受取手段に前記第2の複数 の2進信号を与えるための第1のシフト手段とを含み、前記第2の複数の2進信 号は、前記第4の複数の2進信号を2で乗算したものを表わす1つの2進数字信 号によってシフトされた前記第4の複数の2進信号であり、さらに、 前記第3の複数の2進信号の前記MSBを受取り、かつ第1のビット信号を発 生するための第1のインバータ手段と、 前記第1のビット信号と前記第4の複数の2進信号の前記MSBと前記制御信 号とを受取り、かつ前記制御信号に応答して第2のビット信号を発生するための 第2のマルチプレクサ手段と、 複数のビット信号をストアし、最下位ビット(LSB)とMSBとを有し、か つ前記LSBとしての前記第2のビット信号を受取って前記ストアされた第2の ビット信号を1桁分前記MSBにシフトするための第2のアキュムレータ手段と 、 前記第2のアキュムレータ手段にストアされた前記MSBを受取り、かつそれ に応答して第4のビット信号を発生するための第2のインバータ手段と、 前記第4のビット信号と前記第3の複数の2進信号の前記MSBと前記制御信 号とを受取り、かつ前記制御信号に応答して第5のビット信号を発生するための 第3のマルチプレクサ手段と、 前記第1のマルチプレクス信号として前記第1のマルチプレクサ手段に前記第 5のビット信号を与えるための手段とを含み、 前記乗算動作の結果が前記第1のアキュムレータ手段にストアされ、かつ前記 除算動作の結果が前記第1および第2のアキュムレータ手段にストアされる、乗 算/除算回路。 2.前記回路が、除算動作を行なわせる前記制御信号に応答してガロアフィール ド除算動作を行なう、請求項1に記載の回路。 3.前記除算回路の商の結果が前記第2のアキュムレータ手段にストアされ、か つ前記除算回路の剰余の結果が、前記第3のアキュムレータ手段にストアされる 、請求項2に記載の回路。 4.前記回路がCRC計算を行ない、前記CRC計算の結果が前記第1のアキュ ムレータ手段にストアされる、請求項2に記載の回路。 5.前記回路が、乗算動作を行なわせる前記制御信号に応答してガロアフィール ド乗算を行なう、請求項1に記載の回路。 6.前記回路が、前記第1のアキュムレータ手段にストアされた前記エンコーデ ィング動作の結果によってコンボルーションエンコーディング動作を行なう、請 求項5に記載の回路。
JP9510608A 1995-08-29 1996-08-27 ガロアフィールド多項式乗算/除算回路およびそれを組込むディジタル信号プロセッサ Ceased JP2842947B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/521,112 1995-08-29
US521,112 1995-08-29
US08/521,112 US5602767A (en) 1995-08-29 1995-08-29 Galois field polynomial multiply/divide circuit and a digital signal processor incorporating same

Publications (2)

Publication Number Publication Date
JPH10503311A true JPH10503311A (ja) 1998-03-24
JP2842947B2 JP2842947B2 (ja) 1999-01-06

Family

ID=24075410

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9510608A Ceased JP2842947B2 (ja) 1995-08-29 1996-08-27 ガロアフィールド多項式乗算/除算回路およびそれを組込むディジタル信号プロセッサ

Country Status (8)

Country Link
US (1) US5602767A (ja)
EP (1) EP0788629B1 (ja)
JP (1) JP2842947B2 (ja)
KR (1) KR100431576B1 (ja)
AU (1) AU6908496A (ja)
DE (1) DE69625035T2 (ja)
TW (1) TW312774B (ja)
WO (1) WO1997008613A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001109376A (ja) * 1999-10-04 2001-04-20 Toyo Commun Equip Co Ltd 演算回路および演算プロセッサ

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2724741B1 (fr) * 1994-09-21 1996-12-20 Sgs Thomson Microelectronics Circuit electronique de calcul modulaire dans un corps fini
US6038581A (en) * 1997-01-29 2000-03-14 Nippon Telegraph And Telephone Corporation Scheme for arithmetic operations in finite field and group operations over elliptic curves realizing improved computational speed
US6760742B1 (en) * 2000-02-18 2004-07-06 Texas Instruments Incorporated Multi-dimensional galois field multiplier
FR2853424B1 (fr) * 2003-04-04 2005-10-21 Atmel Corp Architecture de multiplicateurs polynomial et naturel combines
US7519644B2 (en) * 2004-05-27 2009-04-14 King Fahd University Of Petroleum And Minerals Finite field serial-serial multiplication/reduction structure and method
GB2458665B (en) * 2008-03-26 2012-03-07 Advanced Risc Mach Ltd Polynomial data processing operation
KR101770122B1 (ko) 2010-12-30 2017-08-23 삼성전자주식회사 Simd 프로세서를 이용하는 갈로아 필드 이진 다항식 제산 장치 및 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR1588511A (ja) * 1968-07-05 1970-04-17
JPS58219648A (ja) * 1982-06-15 1983-12-21 Toshiba Corp ガロア体における除算装置
FR2604270B1 (fr) * 1986-09-22 1991-10-18 Jutand Francis Additionneur binaire comportant un operande fixe, et multiplieur binaire parallele-serie comprenant un tel additionneur
EP0281303A3 (en) * 1987-03-04 1990-08-29 Cylink Corporation Modulo arithmetic processor chip
DE3880409T2 (de) * 1987-09-23 1993-11-25 France Telecom Binäre Additions- und Multiplikationsvorrichtung.
US4939687A (en) * 1988-11-01 1990-07-03 General Electric Company Serial-parallel multipliers using serial as well as parallel addition of partial products
US4970676A (en) * 1989-04-04 1990-11-13 Rca Licensing Corporation Digital word-serial multiplier circuitry
JPH04211547A (ja) * 1990-03-20 1992-08-03 Fujitsu Ltd 同期回路
US5341322A (en) * 1992-05-11 1994-08-23 Teknekron Communications Systems, Inc. Bit level pipeline divide circuit and method therefor
US5270962A (en) * 1992-05-11 1993-12-14 Teknekron Communications Systems, Inc. Multiply and divide circuit
KR950015182B1 (ko) * 1993-11-20 1995-12-23 엘지전자주식회사 갈로아 필드 곱셈회로

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001109376A (ja) * 1999-10-04 2001-04-20 Toyo Commun Equip Co Ltd 演算回路および演算プロセッサ

Also Published As

Publication number Publication date
DE69625035T2 (de) 2003-07-24
WO1997008613A1 (en) 1997-03-06
EP0788629A4 (en) 1999-11-17
KR970707487A (ko) 1997-12-01
US5602767A (en) 1997-02-11
EP0788629B1 (en) 2002-11-27
EP0788629A1 (en) 1997-08-13
DE69625035D1 (de) 2003-01-09
KR100431576B1 (ko) 2004-08-25
JP2842947B2 (ja) 1999-01-06
TW312774B (ja) 1997-08-11
AU6908496A (en) 1997-03-19

Similar Documents

Publication Publication Date Title
US6209017B1 (en) High speed digital signal processor
JP4955182B2 (ja) 整数の計算フィールド範囲の拡張
US6049815A (en) Method and apparatus for finite field multiplication
US6115729A (en) Floating point multiply-accumulate unit
JPH1195981A (ja) 乗算回路
US5633897A (en) Digital signal processor optimized for decoding a signal encoded in accordance with a Viterbi algorithm
US7698357B2 (en) Modular multiplication with parallel calculation of the look-ahead parameters
JP2835153B2 (ja) 高基数除算器
JPH061438B2 (ja) 倍精度乗算器
US6108682A (en) Division and/or square root calculating circuit
US6029267A (en) Single-cycle, soft decision, compare-select operation using dual-add processor
JP4302640B2 (ja) 被乗数のシフトを用いて乗算を計算するための装置およびその方法、上記装置を実行するためのプログラムコードを格納した記録媒体
JP2842947B2 (ja) ガロアフィールド多項式乗算/除算回路およびそれを組込むディジタル信号プロセッサ
JP2000172520A (ja) ガロア体演算プロセッサ
JPH0850578A (ja) 算術論理演算装置及び制御方法
CA2329104C (en) Method and apparatus for calculating a reciprocal
KR960032231A (ko) 승산기 및 곱합 연산 장치
US7296049B2 (en) Fast multiplication circuits
JP3913921B2 (ja) 有限フィールドでの任意要素の逆数具現回路
JP2000207387A (ja) 演算装置及び暗号処理装置
US6725360B1 (en) Selectively processing different size data in multiplier and ALU paths in parallel
WO2000067125A1 (fr) Processeur
JP3252954B2 (ja) 乗算方法および乗算回路
JP3210420B2 (ja) 整数上の乗算回路
GB2345563A (en) Digital signal processor for performing fixed-point and/or integer arithmetic

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060627

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060926

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20061113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070911

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071210

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080121

A313 Final decision of rejection without a dissenting response from the applicant

Free format text: JAPANESE INTERMEDIATE CODE: A313

Effective date: 20080508

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080624