JP2917577B2 - Arithmetic unit - Google Patents
Arithmetic unitInfo
- Publication number
- JP2917577B2 JP2917577B2 JP3127150A JP12715091A JP2917577B2 JP 2917577 B2 JP2917577 B2 JP 2917577B2 JP 3127150 A JP3127150 A JP 3127150A JP 12715091 A JP12715091 A JP 12715091A JP 2917577 B2 JP2917577 B2 JP 2917577B2
- Authority
- JP
- Japan
- Prior art keywords
- arithmetic
- output
- addition
- control signal
- circuit
- 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 - Lifetime
Links
Landscapes
- Detection And Correction Of Errors (AREA)
- Complex Calculations (AREA)
- Error Detection And Correction (AREA)
- Dc Digital Transmission (AREA)
Description
【0001】[0001]
【産業上の利用分野】本発明は誤り訂正用畳み込み符号
のビタビ復号を行うディジタル信号処理プロセッサ内部
の演算装置に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an arithmetic unit in a digital signal processor for performing Viterbi decoding of a convolutional code for error correction.
【0002】[0002]
【従来の技術】近年、ディジタル信号処理プロセッサ
(以下DSPと略称する)は、移動体通信分野へのディ
ジタルシステム導入の動きに合わせて、携帯電話等への
機器組み込み用途のプロセッサとして注目されている。
このようなディジタル移動通信用音声符号化装置を実現
するためのDSPにおいては、音声の符号化処理等の演
算の他に、誤り訂正処理を行う必要がある。誤り訂正の
手法にはビタビ復号を使用するものがある。2. Description of the Related Art In recent years, a digital signal processor (hereinafter abbreviated as DSP) has been receiving attention as a processor for use in incorporating a device into a portable telephone or the like in accordance with the trend of introduction of a digital system in the field of mobile communication. .
In a DSP for realizing such a voice coding apparatus for digital mobile communication, it is necessary to perform error correction processing in addition to calculations such as voice coding processing. Some error correction techniques use Viterbi decoding.
【0003】ビタビアルゴリズムは、加算、比較、選択
と言う単純な処理の繰り返しで畳み込み符号の最尤復号
を実現するものである。このビタビ復号では、情報ビッ
ト1ビットに対応する符号化データ(受信系列)を得る
ごとに、その時点での各状態の生き残りパスのメトリッ
クを計算し、更新する。図3は拘束長kの畳み込み符号
器において、ある時点における状態S2n(nは正整数)
に対し、一つ前の時点の状態Snと状態Sn+2k-1から状
態遷移を表す2本のパスが延びている様子を示してい
る。a、bは状態S2nに入力するパスの出力シンボルと
受信系列とのハミング距離(ブランチメトリック)であ
る。パスの選択はまずあらかじめ計算しておいた各ブラ
ンチのメトリックのテーブルから、一つ前の時点の生き
残りパスのそれぞれのメトリックの値に上記ブランチメ
トリックを加えることにより各パスの総合のメトリック
を算出する。状態S2nに入力する2本のパスのメトリッ
クを比較し、ハミング距離の合計が小さいパスを残し、
他は捨てる。ビタビアルゴリズムによる畳み込み符号の
復号は以上のように、ブランチメトリックと一つ前の時
点までの入力に対するパスメトリックとの加算、メトリ
ックの比較、最適パスの選択。という加算比較選択演算
及びパスメトリックの記憶を、各時系列ごとに2 k-1 個
の状態に対して行う必要がある。The Viterbi algorithm realizes maximum likelihood decoding of a convolutional code by repeating simple processing such as addition, comparison and selection. In this Viterbi decoding, every time encoded data (reception sequence) corresponding to one information bit is obtained, the metric of the surviving path in each state at that time is calculated and updated. FIG. 3 shows a state S2n (n is a positive integer) at a certain time point in a convolutional encoder having a constraint length k.
On the other hand, two paths representing the state transition from the state Sn and the state Sn + 2k-1 at the immediately preceding time point are extended. a and b are Hamming distances (branch metrics) between the output symbols of the path input to the state S2n and the reception sequence. In selecting a path, a total metric of each path is calculated by adding the above branch metric to the value of each metric of the surviving path at the immediately preceding time from a metric table of each branch calculated in advance. . The metric of the two paths input to the state S2n is compared, and a path having a small total Hamming distance is left.
Discard others. As described above, the decoding of the convolutional code by the Viterbi algorithm is the addition of the branch metric to the path metric for the input up to the immediately preceding point, comparison of the metric, and selection of the optimal path. It is necessary to perform the addition / comparison / selection operation and storage of the path metric for 2 k−1 states for each time series.
【0004】図2は従来の演算装置のブロック図を示す
ものである。図2において、1はプロセッサの命令語や
ビタビ復号における各状態のパスのメトリック(累積計
量)、情報ビット1ビットに対応する符号化データ(受
信系列)の値に対して各パスがとるブランチメトリック
の値のテーブル、各状態における生き残りパスの選択結
果などを記憶する主記憶部、2は主記憶部1に接続され
データの供給や演算結果の格納等を行うバス、12は算
術論理演算を行う算術論理演算回路である。10は論理
演算回路12の左側入力の値を一時記憶するラッチ回路
で6は右側入力の値を一時記憶するラッチ回路、18と
19は演算結果を一時記憶するレジスタである。FIG. 2 shows a block diagram of a conventional arithmetic unit. In FIG. 2, reference numeral 1 denotes a metric (cumulative metric) of a path in each state in a command word of a processor or Viterbi decoding, and a branch metric taken by each path with respect to a value of encoded data (reception sequence) corresponding to one information bit. , A main storage unit that stores a selection result of a surviving path in each state, a bus 2 connected to the main storage unit 1 for supplying data, storing a calculation result, and the like, and 12 performing an arithmetic and logic operation. It is an arithmetic logic operation circuit. 10 is a latch circuit for temporarily storing the value of the left input of the logical operation circuit 12, 6 is a latch circuit for temporarily storing the value of the right input, and 18 and 19 are registers for temporarily storing the operation results.
【0005】以上のように構成された演算装置につい
て、1つの受信系列に対して行うビタビ復号の加算比較
選択演算とパス選択信号の記憶の動作について以下のよ
うな6つのステップに分けて説明する。[0005] In the arithmetic unit configured as described above, the operation of addition / comparison / selection operation of Viterbi decoding performed on one received sequence and the operation of storing the path selection signal will be described in the following six steps. .
【0006】(1)パスメトリックとブランチメトリッ
クの第1の加算ステップ 図3に示した状態Snにおけるパスメトリックの値を主
記憶部1からバス2を介してラッチ回路10に格納し、
ブランチメトリックaの値を同様に主記憶部1からバス
2を介してラッチ回路6に格納する。算術論理演算回路
12はラッチ回路10と6の内容の加算を行いレジスタ
18に格納する。(1) First Addition Step of Path Metric and Branch Metric The value of the path metric in the state Sn shown in FIG. 3 is stored in the latch circuit 10 from the main storage unit 1 via the bus 2,
Similarly, the value of the branch metric a is stored in the latch circuit 6 from the main storage unit 1 via the bus 2. The arithmetic and logic operation circuit 12 adds the contents of the latch circuits 10 and 6 and stores the result in the register 18.
【0007】(2)パスメトリックとブランチメトリッ
クの第2の加算ステップ 図3に示した状態Sn+2k-1におけるパスメトリックの値
を主記憶部1からバス2を介してラッチ回路10に格納
し、ブランチメトリックbの値を同様に主記憶部1から
バス2を介してラッチ回路6に格納する。算術論理演算
回路12はラッチ回路10と6の内容の加算を行いレジ
スタ19に格納する。(2) Second Addition Step of Path Metric and Branch Metric The value of the path metric in the state Sn + 2 k-1 shown in FIG. 3 is stored in the latch circuit 10 from the main storage unit 1 via the bus 2. Then, the value of the branch metric b is similarly stored in the latch circuit 6 from the main storage unit 1 via the bus 2. The arithmetic and logic operation circuit 12 adds the contents of the latch circuits 10 and 6 and stores the result in the register 19.
【0008】(3)2個の加算結果の減算(大小比較)
ステップ レジスタ18と19の内容をそれぞれラッチ回路10と
6に格納する。算術論理演算回路12はラッチ回路10
と6の減算を行う。結果の格納はしない。(3) Subtraction of two addition results (comparing large and small)
The contents of the step registers 18 and 19 are stored in the latch circuits 10 and 6, respectively. The arithmetic and logic operation circuit 12 includes the latch circuit 10
And 6 are subtracted. No result is stored.
【0009】(4)演算結果の符号判定(選択)ステッ
プ 制御部(図示せず)は(3)の減算結果の符号を判断し
て下記(5)(6)のステップのプログラム制御(分
岐)を行う。(4) Step of judging (selecting) sign of operation result A control unit (not shown) judges the sign of the subtraction result of (3) and performs program control (branch) of the following steps (5) and (6). I do.
【0010】(5)小であると判定された加算結果の格
納(パスメトリックの更新)ステップ (4)の結果により(3)の減算結果が負であればレジ
スタ18の内容を主記憶部1に格納する。(3)の減算
結果が正であればレジスタ19の内容を主記憶部1に格
納する。(5) Storing the addition result determined to be small (updating the path metric) Step If the subtraction result of (3) is negative according to the result of (4), the contents of the register 18 are stored in the main storage unit 1. To be stored. If the subtraction result of (3) is positive, the contents of the register 19 are stored in the main storage unit 1.
【0011】(6)パス選択信号の記憶ステップ (4)の結果により(3)の減算結果が負であれば、
値″0″を主記憶部1に格納する。(3)の減算結果が
正であれば値″1″を主記憶部1に格納する。(6) Step of storing path selection signal If the result of (3) is negative according to the result of (4),
The value “0” is stored in the main storage unit 1. If the subtraction result of (3) is positive, the value “1” is stored in the main storage unit 1.
【0012】このように上記従来の演算装置では、算術
論理演算回路においてビタビ復号における加算と比較を
行い、この比較結果によってプログラム制御を行うこと
により、ビタビ復号処理を行うことができる。As described above, in the above-described conventional arithmetic device, the arithmetic and logic operation circuit performs addition and comparison in Viterbi decoding, and performs program control based on the comparison result, thereby performing Viterbi decoding processing.
【0013】[0013]
【発明が解決しようとする課題】しかしながら上記従来
の演算装置では、1回の加算比較選択演算に要する演算
ステップ数が多く、またパス選択信号1ビットをメモリ
ーの1ワードに記憶するため大きいメモリー量を必要と
するという問題点があった。However, in the above-mentioned conventional arithmetic unit, the number of operation steps required for one addition / comparison / selection operation is large, and a large amount of memory is required because one bit of the path selection signal is stored in one word of the memory. There was a problem that required.
【0014】本発明はこのような従来の問題点を解決す
るものであり、少ない演算ステップ数と少ないメモリー
量でビタビ復号を行うことができる優れた演算装置を提
供することを目的とするものである。An object of the present invention is to solve such a conventional problem and to provide an excellent arithmetic unit capable of performing Viterbi decoding with a small number of operation steps and a small memory amount. is there.
【0015】[0015]
【課題を解決するための手段】本発明は前記目的を達成
するために、少なくともビタビ復号におけるパスメトリ
ックとブランチメトリックを記憶する記憶手段と、この
記憶手段から読み出したパスメトリックとブランチメト
リックの加算を行う算術論理演算手段と、この算術論理
演算手段が出力する複数の加算結果の内の少なくとも1
つを一時記憶する一時記憶手段と、前記算術論理演算手
段が出力する複数の加算結果を比較して、どの加算結果
が小さいかを示す選択制御信号を出力する比較手段と、
この比較手段が出力する選択制御信号に従って加算結果
を選択して出力する選択手段とを備えた構成である。According to the present invention, in order to achieve the above object, at least storage means for storing a path metric and a branch metric in Viterbi decoding, and addition of the path metric and the branch metric read out from the storage means. Arithmetic logic operation means for performing , and at least one of a plurality of addition results output by the arithmetic logic operation means
Temporary storage means for temporarily storing one, and comparing means for comparing a plurality of addition results output by the arithmetic and logic operation means, and outputting a selection control signal indicating which addition result is smaller,
Selection means for selecting and outputting the addition result according to the selection control signal output by the comparison means.
【0016】[0016]
【作用】したがって本発明によれば、加算器による加算
結果とあらかじめ第1のレジスタに一時記憶した加算結
果との大小比較を比較器が行い、比較器で小であると判
定した加算結果を第2のメモリが記憶し、定数出力手段
が出力する定数をシフタがnビット左にシフトして出力
した結果と選択制御信号の格納先データとの算術論理演
算を、算術論理演算回路が行って、比較器が出力する選
択制御信号を格納先データの第n番目のビット位置に格
納することにより、ビタビ復号における生き残りパスの
累積計量の加算比較選択演算とパス選択信号の記憶を少
ないステップ数でまた小さいメモリー量で行うことがで
きるという効果を有する。Therefore, according to the present invention, the comparator compares the result of the addition by the adder with the result of the addition temporarily stored in the first register, and compares the result of the addition determined to be small by the comparator with the result of the comparison. The arithmetic and logic circuit performs an arithmetic and logic operation on a result stored in the memory of the second memory and output by the shifter by shifting the constant output to the left by n bits to the storage destination data of the selection control signal. By storing the selection control signal output from the comparator in the n-th bit position of the storage destination data, the addition / comparison / selection operation of the cumulative metric of the surviving path in Viterbi decoding and the storage of the path selection signal can be performed with a small number of steps. This has the effect that it can be performed with a small amount of memory.
【0017】[0017]
【実施例】以下本発明の一実施例の演算装置について、
図面を参照しながら説明する。DESCRIPTION OF THE PREFERRED EMBODIMENTS An arithmetic unit according to one embodiment of the present invention will be described below.
This will be described with reference to the drawings.
【0018】図1は本発明の実施例における演算装置の
構成図を示すものである。図1において、符号1は第1
のメモリ部材としての主記憶部で、この主記憶部1に
は、プロセッサの命令語やビタビ復号における各状態の
パスのメトリック(累積計量)、情報ビット1ビットに
対応する符号化データ(受信系列)の値に対して各パス
がとるブランチメトリックの値のテーブル、各状態にお
ける生き残りパスの選択結果などが記憶される。FIG. 1 is a diagram showing the configuration of an arithmetic unit according to an embodiment of the present invention. In FIG. 1, reference numeral 1 denotes a first
The main storage unit 1 stores a command word of a processor, a metric (cumulative metric) of a path in each state in Viterbi decoding, and encoded data (received sequence) corresponding to one information bit. ), A table of branch metric values taken by each path for each value, a selection result of a surviving path in each state, and the like are stored.
【0019】2は主記憶部1に接続されデータの供給や
演算結果の格納等を行なうバス、3は最下位ビットの値
が1で他のビットが全て0である定数を出力する定数回
路、4はバス2に接続されたプロセッサの命令デコート
部(図示せず)から出力されるシフトビット数を一時記
憶してバス2等に出力するレジスタ、5は定数回路3ま
たはレジスタ4の出力を入力として、レジスタ4で示さ
れるシフトビット数だけシフトしてまたはシフトせずに
出力するバレルシフタ、6はバレルシフタ5の出力をラ
ッチするラッチ回路、9は排他的論理和ゲートから構成
されラッチ回路6の出力を反転または非反転して出力す
る反転回路、10はデータバス出力をラッチするラッチ
回路である。Reference numeral 2 denotes a bus connected to the main storage unit 1 for supplying data, storing operation results, and the like, 3 denotes a constant circuit for outputting a constant in which the value of the least significant bit is 1 and all other bits are 0; Reference numeral 4 denotes a register for temporarily storing the number of shift bits output from an instruction decoding unit (not shown) of a processor connected to the bus 2 and outputting it to the bus 2 or the like. Reference numeral 5 denotes an output of the constant circuit 3 or the register 4 , A barrel shifter for shifting the shift bit number indicated by the register 4 or outputting without shifting, 6 a latch circuit for latching the output of the barrel shifter 5, 9 an exclusive OR gate, and an output of the latch circuit 6 Is an inverting circuit that inverts or non-inverts and outputs a latch circuit 10 that latches the data bus output.
【0020】また、7は反転回路9に反転動作をするか
しないかを指示する制御信号8と論理演算回路12に論
理和をとるか論理積をとるかを指示する制御信号11を
出力する演算制御部、12はラッチ回路10と反転回路
9の出力を入力として算術論理演算を行う演算手段とし
ての算術論理演算回路、13は算術論理演算回路12の
出力を一時記憶するレジスタ、14はレジスタ13の内
容と算術論理演算回路12の出力との大小比較を行って
演算制御部7とセレクタ16に選択制御信号15を出力
する比較器、16は選択制御信号15に従ってレジスタ
13の内容と算術論理演算回路12の出力のうち小さい
方を選択するセレクタ、17はセレクタ出力を格納する
第2のメモリ部材としてのレジスタである。An operation 7 outputs a control signal 8 for instructing the inversion circuit 9 to perform an inversion operation or not and a control signal 11 for instructing the logical operation circuit 12 to perform a logical sum or a logical product. A control unit 12 is an arithmetic and logic operation circuit as an arithmetic means for performing an arithmetic and logic operation by using the outputs of the latch circuit 10 and the inversion circuit 9 as inputs, 13 is a register for temporarily storing the output of the arithmetic and logic operation circuit 12, and 14 is a register 13 The comparator 16 compares the contents of the register 13 with the output of the arithmetic and logic operation circuit 12 and outputs a selection control signal 15 to the operation control unit 7 and the selector 16. A selector 17 selects the smaller one of the outputs of the circuit 12, and 17 is a register as a second memory member for storing the selector output.
【0021】このように構成された演算装置について、
以下動作を説明する。まず(表1)は選択制御信号15
の値と反転回路9、算術論理演算回路12の動作内容の
関係を示したものである。With respect to the arithmetic unit configured as described above,
The operation will be described below. First, (Table 1) shows the selection control signal 15
And the operation contents of the inversion circuit 9 and the arithmetic and logic operation circuit 12 are shown.
【0022】[0022]
【表1】 [Table 1]
【0023】演算制御部7は(表1)に示した関係にし
たがって反転回路9と論理演算回路12を制御する。す
なわち、選択制御信号15が″0″の場合(レジスタ1
3の値が小の場合)反転回路9は反転動作を行なう一
方、算術論理演算回路12は論理積を演算によって求め
る。他方、選択制御信号15が″1″の場合(加算結果
が小の場合)反転回路9は非反転動作を行なう一方、算
術論理演算回路12は論理和を演算によって求める。The arithmetic control unit 7 controls the inverting circuit 9 and the logical operation circuit 12 according to the relationship shown in (Table 1). That is, when the selection control signal 15 is “0” (register 1
The inversion circuit 9 performs an inversion operation, while the arithmetic and logic operation circuit 12 obtains a logical product by an operation. On the other hand, when the selection control signal 15 is "1" (when the addition result is small), the inversion circuit 9 performs a non-inversion operation, while the arithmetic and logic operation circuit 12 obtains a logical sum by operation.
【0024】以下、畳み込み符号器の1状態に対して行
うビタビ復号の加算比較選択演算とパス選択信号の記憶
の動作につき、図3を参照して、(1)パスメトリック
とブランチメトリックの第1の加算ステップ、(2)第
2の加算と比較選択のステップ、(3)パス選択信号の
ビット転送のステップの3つのステップに分けて説明す
る。Referring to FIG. 3, the operation of addition / comparison / selection operation of Viterbi decoding performed for one state of the convolutional encoder and storage of the path selection signal will be described with reference to FIG. (2) a second addition and comparison selection step, and (3) a bit selection signal transfer step.
【0025】(1)パスメトリックとブランチメトリッ
クの第1の加算ステップ 図3に示した状態Snにおけるパスメトリックの値を主
記憶部1からバス2を介してラッチ回路10に格納し、
ブランチメトリックaの値を同様に主記憶部1からバス
2を介してラッチ回路6に格納する。このとき、バレル
シフタ6はシフト動作を行わない。算術論理演算回路1
2は、ラッチ回路10と6の内容の加算を行いレジスタ
13に格納する。またレジスタ17に一時記憶されてい
る1サイクル前の加算比較選択演算で更新されたパスメ
トリックの値を主記憶部1に格納する。(1) First Addition Step of Path Metric and Branch Metric The value of the path metric in the state Sn shown in FIG. 3 is stored in the latch circuit 10 from the main storage unit 1 via the bus 2,
Similarly, the value of the branch metric a is stored in the latch circuit 6 from the main storage unit 1 via the bus 2. At this time, the barrel shifter 6 does not perform the shift operation. Arithmetic logic operation circuit 1
2 adds the contents of the latch circuits 10 and 6 and stores the result in the register 13. Further, the value of the path metric temporarily stored in the register 17 and updated by the addition / comparison / selection operation one cycle before is stored in the main storage unit 1.
【0026】(2)第2の加算と比較選択のステップ 図3に示した状態Sn+2k-1におけるパスメトリックの値
を主記憶部1からバス2を介してラッチ回路10に格納
し、ブランチメトリックbの値を同様に主記憶部1から
バス2を介してラッチ回路6に格納する。このときバレ
ルシフタ6はシフト動作を行なわない。算術論理演算回
路12はラッチ回路10と6の内容の加算を行い比較器
14に出力する。比較器14は加算結果とレジスタ13
の値との大小比較を行い、レジスタ13の値が小の場合
は″0″、加算結果が小の場合は″1″の1ビットの選
択制御信号15をセレクタ16と演算制御部7に出力す
る。セレクタ16は選択制御信号15が″0″の場合は
レジスタ13の値を、″1″の場合は算術論理演算回路
出力を選択してレジスタ17に格納する。(2) Step of Second Addition and Comparison Selection The value of the path metric in the state Sn + 2 k-1 shown in FIG. 3 is stored in the latch circuit 10 from the main storage unit 1 via the bus 2; Similarly, the value of the branch metric b is stored in the latch circuit 6 from the main storage unit 1 via the bus 2. At this time, the barrel shifter 6 does not perform the shift operation. The arithmetic and logic operation circuit 12 adds the contents of the latch circuits 10 and 6 and outputs the result to the comparator 14. The comparator 14 calculates the addition result and the register 13
And outputs a 1-bit selection control signal 15 of "0" to the selector 16 and the arithmetic control unit 7 when the value of the register 13 is small and "1" when the addition result is small. I do. When the selection control signal 15 is “0”, the selector 16 selects the value of the register 13, and when the selection control signal 15 is “1”, selects the output of the arithmetic logic operation circuit and stores it in the register 17.
【0027】(3)パス選択信号のビット転送のステッ
プ まず主記憶部1内のパス選択信号を格納するデスティネ
ーションワードをバス2を介してラッチ回路10にラッ
チする。同時にバレルシフタ5は定数回路3から入力し
た定数(00000001)を、命令デコード部からレ
ジスタ4に格納されている値nだけ左にシフトして出力
し、ラッチ回路6にラッチする。次に反転回路9は(表
1)に示したように、ラッチ回路6の内容を、(2)の
ステップで演算制御部に入力された選択制御信号15
が″0″の場合は反転して、″1″の場合は非反転で算
術論理演算回路12に出力する。算術論理演算回路12
はラッチ回路10に格納されているデスティネーション
ワードと反転回路9の出力の論理演算を、(表1)に示
したように選択制御信号15が″0″の場合は論理
積、″1″の場合は論理和を算出し、バス2に出力し主
記憶部1に格納する。これによりパス選択信号(選択制
御信号15)を1ビット単位で主記憶部1の任意のビッ
ト位置に格納することができる。(3) Step of Bit Transfer of Path Selection Signal First, a destination word for storing the path selection signal in the main storage unit 1 is latched by the latch circuit 10 via the bus 2. At the same time, the barrel shifter 5 shifts the constant (00000001) input from the constant circuit 3 to the left by the value n stored in the register 4 from the instruction decoding unit and outputs the same, and latches it in the latch circuit 6. Next, as shown in (Table 1), the inversion circuit 9 changes the contents of the latch circuit 6 to the selection control signal 15 input to the arithmetic control unit in the step (2).
Is "0", it is inverted, and if it is "1", it is output to the arithmetic and logic operation circuit 12 without being inverted. Arithmetic logic operation circuit 12
Indicates the logical operation of the destination word stored in the latch circuit 10 and the output of the inverting circuit 9, as shown in (Table 1), the logical product when the selection control signal 15 is “0”, and the logical operation of “1” In this case, a logical sum is calculated, output to the bus 2 and stored in the main storage unit 1. As a result, the path selection signal (selection control signal 15) can be stored in an arbitrary bit position of the main storage unit 1 in 1-bit units.
【0028】以上のように本実施例によれば、(2)の
ステップにおける算術論理演算回路12による加算結果
と(1)のステップであらかじめレジスタ13に一時記
憶した加算結果との大小比較を比較器14が行い、比較
器14が小であると判定した加算結果をセレクタ16が
選んでレジスタ17に一時記憶し、定数回路3が出力す
る定数をバレルシフタ5がnビット左にシフトして出力
した結果と選択制御信号の格納先データとの論理演算
を、(表1)に示す制御規則に従って反転回路9と算術
論理演算回路12が行なって、比較器14が出力する選
択制御信号15を格納先データの第n番目のビット位置
に1ビット単位で格納することにより、ビタビ復号にお
ける生き残りパスの累積計量の加算比較選択演算とパス
選択信号の記憶を従来例の半分という少ないステップ数
で、さらに小さいメモリー量で行うことができるという
効果を有する。As described above, according to the present embodiment, the magnitude comparison between the addition result by the arithmetic and logic operation circuit 12 in the step (2) and the addition result temporarily stored in the register 13 in the step (1) is compared. The selector 16 selects and temporarily stores in the register 17 the addition result determined by the comparator 14 to be small, and the barrel shifter 5 shifts the constant output by the constant circuit 3 to the left by n bits and outputs it. The inversion circuit 9 and the arithmetic and logic operation circuit 12 perform a logical operation on the result and the storage data of the selection control signal in accordance with the control rules shown in (Table 1), and the selection control signal 15 output from the comparator 14 is stored in the storage destination. By storing the data in bit units at the n-th bit position of the data, the addition / comparison / selection operation of the accumulated metric of the surviving path in Viterbi decoding and the storage of the path selection signal are performed. A small number of steps that half the example has the effect that can be performed in smaller amount of memory.
【0029】また定数回路3が出力する最下位ビットの
みが1でそれ以外のビットが全て0である定数をバレル
シフタ5がシフトすることにより、パス選択信号の格納
先データのビット更新に必要なビットパターンデータを
生成することができ、プロセッサの命令語の中にビット
パターンデータ(データ幅16ビットの場合16ビッ
ト)を保持する代わりに、ビット転送先のビット位置に
対応したシフトビット数(データ幅16ビットの場合4
ビット)のみを保持すればよいので、短い語長の命令語
でビタビ復号処理を行うことができる。さらに本実施例
の構成要素であるバレルシフタ5や反転回路9、算術論
理演算回路12等は、ディジタル信号処理プロセッサ等
には数値演算用にあらかじめ設置されているのが普通で
あるため、わずかなハードウェアの追加のみで演算装置
を実現できるという効果も有する。The barrel shifter 5 shifts a constant in which only the least significant bit output from the constant circuit 3 is 1 and all the other bits are 0, so that the bits necessary for updating the bit of the storage destination data of the path selection signal are changed. Pattern data can be generated. Instead of holding bit pattern data (16 bits for a data width of 16 bits) in a processor instruction word, the number of shift bits (data width) corresponding to the bit position of the bit transfer destination 4 for 16 bits
Bit) only, the Viterbi decoding process can be performed with an instruction word having a short word length. Further, the barrel shifter 5, the inverting circuit 9, the arithmetic and logic operation circuit 12 and the like, which are the components of the present embodiment, are usually installed in a digital signal processor or the like in advance for numerical operation, so that a slight hardware There is also an effect that an arithmetic unit can be realized only by adding hardware.
【0030】なお、実施例において、定数回路3の値は
最下位ビットのみを1、他のビットを0としたが、最上
位ビットのみを1としてバレルシフタ5で右シフトする
ようにしたり、最下位ビットのみを0、他のビットを1
として(表1)に於ける反転回路9の反転、非反転の制
御を逆にしたりしてもよい。In the embodiment, the value of the constant circuit 3 is set such that only the least significant bit is 1 and the other bits are 0. However, only the most significant bit is set to 1 and the value is shifted to the right by the barrel shifter 5, Bit only 0, other bits 1
Alternatively, the control of inversion and non-inversion of the inversion circuit 9 in (Table 1) may be reversed.
【0031】[0031]
【発明の効果】本発明は上記実施例より明らかなよう
に、演算手段による加算結果とあらかじめ第1のレジス
タに一時記憶した加算結果との大小比較を比較器が行
い、比較器で小であると判定した加算結果を第2のメモ
リが記憶し、定数出力手段が出力する定数をシフタがシ
フトして出力した結果と選択制御信号の格納先データと
の算術論理演算を、演算手段が行って、比較器が出力す
る選択制御信号を格納先データの所定のビット位置に格
納するようにしたため、ビタビ復号における生き残りパ
スの累積計量の加算比較選択演算とパス選択信号の記憶
を少ないステップ数で、さらに小さいメモリー量で行う
ことができるという効果を有する。According to the present invention, as is apparent from the above embodiment, the comparator compares the addition result by the arithmetic means with the addition result temporarily stored in the first register in advance, and the comparator compares the addition result with the addition result. The addition result determined by the second memory is stored in the second memory, and the arithmetic means performs an arithmetic and logic operation on the result of shifting and outputting the constant output by the constant output means and the storage data of the selection control signal. Since the selection control signal output by the comparator is stored at a predetermined bit position of the storage destination data, the addition and selection of the cumulative metric of the surviving path in Viterbi decoding and the storage of the path selection signal can be performed with a small number of steps. There is an effect that the operation can be performed with a smaller memory amount.
【図1】本発明の一実施例における演算装置の構成を示
すブロック図FIG. 1 is a block diagram illustrating a configuration of an arithmetic unit according to an embodiment of the present invention.
【図2】従来の演算装置の概略構成を示すブロック図FIG. 2 is a block diagram showing a schematic configuration of a conventional arithmetic unit.
【図3】演算装置の動作説明のためのビタビ復号におけ
る畳み込み符号器の状態遷移のパスを示す図FIG. 3 is a diagram showing a state transition path of a convolutional encoder in Viterbi decoding for explaining the operation of an arithmetic unit;
1 主記憶部(第1のメモリ部材) 2 バス 3 定数回路 4 レジスタ 5 バレルシフタ 6 ラッチ回路 7 演算制御部 8 制御信号 9 反転回路 10 ラッチ回路 11 制御信号 12 算術論理演算回路(演算手段) 13 レジスタ 14 比較器 15 選択制御信号 16 セレクタ 17 レジスタ(第2のメモリ部材) DESCRIPTION OF SYMBOLS 1 Main storage part (1st memory member) 2 Bus 3 Constant circuit 4 Register 5 Barrel shifter 6 Latch circuit 7 Operation control part 8 Control signal 9 Inverting circuit 10 Latch circuit 11 Control signal 12 Arithmetic logic operation circuit (Operation means) 13 Register 14 comparator 15 selection control signal 16 selector 17 register (second memory member)
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) H03M 13/00 G06F 11/10 310 G06F 17/10 H04L 25/08 ──────────────────────────────────────────────────続 き Continued on the front page (58) Field surveyed (Int.Cl. 6 , DB name) H03M 13/00 G06F 11/10 310 G06F 17/10 H04L 25/08
Claims (2)
リックとブランチメトリックを記憶する記憶手段と、こ
の記憶手段から読み出したパスメトリックとブランチメ
トリックの加算を行う算術論理演算手段と、この算術論
理演算手段が出力する複数の加算結果の内の少なくとも
1つを一時記憶する一時記憶手段と、前記算術論理演算
手段が出力する複数の加算結果を比較して、どの加算結
果が小さいかを示す選択制御信号を出力する比較手段
と、この比較手段が出力する選択制御信号に従って加算
結果を選択して出力する選択手段とを備えた演算装置。Storage means for storing path metrics and branch metrics in claim 1 wherein at least Viterbi decoding, and arithmetic logic means for adding the path metric and the branch metric read out from the storage means, the arithmetic Theory
At least one of the plurality of addition results output by the logical operation means.
Temporary storage means for temporarily storing one of them, comparison means for comparing a plurality of addition results outputted by the arithmetic and logic operation means and outputting a selection control signal indicating which addition result is smaller, Selecting means for selecting and outputting an addition result according to a selection control signal to be output.
数出力手段と、この定数出力手段の出力をシフトするシ
フタと、このシフタのシフト動作に必要なシフトビット
数を出力するシフトビット数出力手段と、前記算術論理
演算手段が加算のほかに前記比較手段からの選択制御信
号により、前記シフタの出力またはその反転結果と前記
記憶手段に記憶されたデータとの論理積または論理和を
行い、前記比較手段が出力する選択制御信号を1ビット
単位で前記記憶手段の任意のビット位置に格納すること
を特徴とする請求項1記載の演算装置。2. A constant output means for outputting a predetermined constant, a shifter for shifting an output of the constant output means, and a shift bit number output means for outputting a shift bit number necessary for a shift operation of the shifter. , the selection control signal from the arithmetic logic <br/> calculating means said comparing means in addition to the sum, logical product of the data stored in the <br/> storage means output or the inverted result of the shifter 2. The arithmetic unit according to claim 1, wherein a logical sum is performed, and the selection control signal output from the comparing unit is stored in an arbitrary bit position of the storage unit in units of one bit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3127150A JP2917577B2 (en) | 1991-05-30 | 1991-05-30 | Arithmetic unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3127150A JP2917577B2 (en) | 1991-05-30 | 1991-05-30 | Arithmetic unit |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04352518A JPH04352518A (en) | 1992-12-07 |
JP2917577B2 true JP2917577B2 (en) | 1999-07-12 |
Family
ID=14952862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3127150A Expired - Lifetime JP2917577B2 (en) | 1991-05-30 | 1991-05-30 | Arithmetic unit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2917577B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU652896B2 (en) * | 1992-09-29 | 1994-09-08 | Matsushita Electric Industrial Co., Ltd. | Arithmetic apparatus |
US5465275A (en) * | 1993-11-16 | 1995-11-07 | At&T Ipm Corp. | Efficient utilization of present state/next state registers |
US7301541B2 (en) * | 1995-08-16 | 2007-11-27 | Microunity Systems Engineering, Inc. | Programmable processor and method with wide operations |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6188334A (en) * | 1984-10-06 | 1986-05-06 | Nec Corp | Divider circuit |
JPS62151031A (en) * | 1985-12-25 | 1987-07-06 | Nec Corp | Data processor |
JPS63229531A (en) * | 1987-03-19 | 1988-09-26 | Matsushita Electric Ind Co Ltd | Residue arithmetic unit |
-
1991
- 1991-05-30 JP JP3127150A patent/JP2917577B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH04352518A (en) | 1992-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU652896B2 (en) | Arithmetic apparatus | |
US5946361A (en) | Viterbi decoding method and circuit with accelerated back-tracing and efficient path metric calculation | |
US8495119B2 (en) | Efficient check node message transform approximation for LDPC decoder | |
JPH10107651A (en) | Viterbi decoder | |
US5440504A (en) | Arithmetic apparatus for digital signal processor | |
KR100439211B1 (en) | The arithmetic processing unit | |
US20050157823A1 (en) | Technique for improving viterbi decoder performance | |
JP3274668B2 (en) | Arithmetic processing device and arithmetic processing method | |
US7131055B2 (en) | Fast bit-parallel Viterbi decoder add-compare-select circuit | |
JP2917577B2 (en) | Arithmetic unit | |
US7437657B2 (en) | High speed add-compare-select processing | |
US6910177B2 (en) | Viterbi decoder using restructured trellis | |
JP3191442B2 (en) | Arithmetic unit for Viterbi decoding | |
US7852960B2 (en) | Method of computing path metrics in a high-speed Viterbi detector and related apparatus thereof | |
JP3259387B2 (en) | Viterbi decoder | |
JP3250363B2 (en) | Arithmetic unit | |
JP3237267B2 (en) | Arithmetic unit | |
JP3269845B2 (en) | Viterbi decoder | |
JP2591332B2 (en) | Error correction decoding device | |
JPH0722969A (en) | Arithmetic unit | |
KR100414152B1 (en) | The Processing Method and Circuits for Viterbi Decoding Algorithm on Programmable Processors | |
JP3996858B2 (en) | Arithmetic processing unit | |
JPH0766735A (en) | Viterbi decoding device and state metric normalizing method | |
JP3351414B2 (en) | Viterbi decoding device | |
JP2001024526A (en) | Viterbi decoder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080423 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090423 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100423 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110423 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120423 Year of fee payment: 13 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120423 Year of fee payment: 13 |