JPH04352518A - Arithmetic unit - Google Patents

Arithmetic unit

Info

Publication number
JPH04352518A
JPH04352518A JP3127150A JP12715091A JPH04352518A JP H04352518 A JPH04352518 A JP H04352518A JP 3127150 A JP3127150 A JP 3127150A JP 12715091 A JP12715091 A JP 12715091A JP H04352518 A JPH04352518 A JP H04352518A
Authority
JP
Japan
Prior art keywords
arithmetic
output
bit
constant
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.)
Granted
Application number
JP3127150A
Other languages
Japanese (ja)
Other versions
JP2917577B2 (en
Inventor
Toshihiro Ishikawa
利広 石川
Katsuhiko Ueda
勝彦 上田
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 JP3127150A priority Critical patent/JP2917577B2/en
Publication of JPH04352518A publication Critical patent/JPH04352518A/en
Application granted granted Critical
Publication of JP2917577B2 publication Critical patent/JP2917577B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

PURPOSE:To execute a viterbi signal processing at high speed with a little memory capacity by adding a little hardwares at a digital signal processor. CONSTITUTION:A comparator 14 compares an added result by an arithmetic means 12 with an added result temporarily stored in a first register 13 beforehand, and an inverter circuit 9 and the arithmetic means 12 performs arithmetic and logic operation between a result of shifting and outputting a constant outputted from a constant circuit 3 by a barrel shifter 5 and the storage destination data of a path select signal. In this arithmetic and logic operation, the arithmetic means 12 is operated corresponding to a select control signal 15 outputted from the comparator 14 and the select control signal 15 is stored in the prescribed bit position of the storage destination data for the unit of a bit so as to execute the adding, comparing and selecting operations of the cumulative amount of a remaining path in viterbi decoding and to store a path select signal.

Description

【発明の詳細な説明】[Detailed description of the invention]

【0001】0001

【産業上の利用分野】本発明は誤り訂正用畳み込み符号
のビタビ復号を行うディジタル信号処理プロセッサ内部
の演算装置に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an arithmetic unit within a digital signal processor that performs Viterbi decoding of convolutional codes for error correction.

【0002】0002

【従来の技術】近年、ディジタル信号処理プロセッサ(
以下DSPと略称する)は、移動体通信分野へのディジ
タルシステム導入の動きに合わせて、携帯電話等への機
器組み込み用途のプロセッサとして注目されている。 このようなディジタル移動通信用音声符号化装置を実現
するためのDSPにおいては、音声の符号化処理等の演
算の他に、誤り訂正処理を行う必要がある。誤り訂正の
手法にはビタビ復号を使用するものがある。
[Prior Art] In recent years, digital signal processing processors (
DSP (hereinafter abbreviated as "DSP") is attracting attention as a processor for use in devices such as mobile phones, in line with the trend of introducing digital systems into the mobile communication field. In a DSP for realizing such a voice encoding device for digital mobile communication, it is necessary to perform error correction processing in addition to operations such as voice encoding processing. Some error correction techniques use Viterbi decoding.

【0003】ビタビアルゴリズムは、加算、比較、選択
と言う単純な処理の繰り返しで畳み込み符号の最尤復号
を実現するものである。このビタビ復号では、情報ビッ
ト1ビットに対応する符号化データ(受信系列)を得る
ごとに、その時点での各状態の生き残りパスのメトリッ
クを計算し、更新する。図3は拘束長kの畳み込み符号
器において、ある時点における状態S2n(nは正整数
)に対し、一つ前の時点の状態Snと状態Sn+2k−
1から状態遷移を表す2本のパスが延びている様子を示
している。a、bは状態Snに入力するパスの出力シン
ボルと受信系列とのハミング距離(ブランチメトリック
)である。パスの選択はまずあらかじめ計算しておいた
各ブランチのメトリックのテーブルから、一つ前の時点
の生き残りパスのそれぞれのメトリックの値に上記ブラ
ンチメトリックを加えることにより各パスの総合のメト
リックを算出する。状態S2nに入力する2本のパスの
メトリックを比較し、ハミング距離の合計が小さいパス
を残し、他は捨てる。ビタビアルゴリズムによる畳み込
み符号の復号は以上のように、ブランチメトリックと一
つ前の時点までの入力に対するパスメトリックとの加算
、メトリックの比較、最適パスの選択。という加算比較
選択演算及びパスメトリックの記憶を、各時系列ごとに
2k−1個の状態に対して行う必要がある。
The Viterbi algorithm realizes maximum likelihood decoding of convolutional codes by repeating simple processes of addition, comparison, and selection. In this Viterbi decoding, each time encoded data (received sequence) corresponding to one information bit is obtained, the metric of the surviving path in each state at that time is calculated and updated. In a convolutional encoder with constraint length k, FIG.
It shows that two paths representing state transitions extend from 1. a and b are Hamming distances (branch metrics) between the output symbol of the path input to state Sn and the received sequence. To select a path, first calculate the overall metric of each path by adding the above branch metric to the metric value of each surviving path from the previous point in time from a table of metrics for each branch calculated in advance. . The metrics of the two paths input to state S2n are compared, and the path with the smaller total Hamming distance is retained, and the others are discarded. As described above, decoding of convolutional codes using the Viterbi algorithm involves adding the branch metric and the path metric for the input up to the previous point, comparing the metrics, and selecting the optimal path. It is necessary to perform the addition comparison selection operation and storage of path metrics for 2k-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 Figure 2, 1 is the metric (cumulative metric) of the path of each state in processor instruction words and Viterbi decoding, and the branch metric taken by each path for the value of encoded data (received sequence) corresponding to 1 information bit. 2 is a bus connected to the main memory 1 and supplies data and stores calculation results. 12 is a bus that performs arithmetic and logical operations. It is an arithmetic logic operation circuit. 10 is a latch circuit that temporarily stores the value of the left input of the logic operation circuit 12, 6 is a latch circuit that temporarily stores the value of the right input, and 18 and 19 are registers that temporarily store the calculation results.

【0005】以上のように構成された演算装置について
、1つの受信系列に対して行うビタビ復号の加算比較選
択演算とパス選択信号の記憶の動作について以下のよう
な6つのステップに分けて説明する。
[0005] Regarding the arithmetic unit configured as described above, the operation of the Viterbi decoding addition/comparison selection operation performed on one received sequence and the storage of the path selection signal will be explained 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 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 section 1 via the bus 2. The arithmetic and logic operation circuit 12 adds the contents of the latch circuits 10 and 6 and stores it 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 state Sn+2k-1 shown in FIG.
Similarly, the value of the branch metric b is stored in the latch circuit 6 from the main memory section 1 via the bus 2. The arithmetic and logic operation circuit 12 adds the contents of the latch circuits 10 and 6 and stores it in the register 19.

【0008】(3)2個の加算結果の減算(大小比較)
ステップ レジスタ18と19の内容をそれぞれラッチ回路10と
6に格納する。算術論理演算回路12はラッチ回路10
と6の減算を行う。結果の格納はしない。
(3) Subtraction of two addition results (comparison of size)
The contents of step registers 18 and 19 are stored in latch circuits 10 and 6, respectively. The arithmetic logic operation circuit 12 is the latch circuit 10
and subtract 6. Results are not stored.

【0009】(4)演算結果の符号判定(選択)ステッ
プ 制御部(図示せず)は(3)の減算結果の符号を判断し
て下記(5)(6)のステップのプログラム制御(分岐
)を行う。
(4) Sign determination (selection) step control unit (not shown) of the operation result determines the sign of the subtraction result in (3) and performs program control (branching) 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) If the subtraction result in (3) is negative as a result of step (4), the contents of the register 18 are stored in the main memory 1. Store in. If the subtraction result in (3) is positive, the contents of the register 19 are stored in the main memory section 1.

【0011】(6)パス選択信号の記憶ステップ(4)
の結果により(3)の減算結果が負であれば、値″0″
を主記憶部1に格納する。(3)の減算結果が正であれ
ば値″1″を主記憶部1に格納する。
(6) Path selection signal storage step (4)
If the result of subtraction in (3) is negative, the value is "0".
is stored in the main storage unit 1. If the subtraction result in (3) is positive, the value "1" is stored in the main storage unit 1.

【0012】このように上記従来の演算装置では、算術
論理演算回路においてビタビ復号における加算と比較を
行い、この比較結果によってプログラム制御を行うこと
により、ビタビ復号処理を行うことができる。
[0012] As described above, in the conventional arithmetic device described above, the arithmetic and logic operation circuit performs addition and comparison in Viterbi decoding, and program control is performed based on the results of this comparison, thereby making it possible to perform Viterbi decoding processing.

【0013】[0013]

【発明が解決しようとする課題】しかしながら上記従来
の演算装置では、1回の加算比較選択演算に要する演算
ステップ数が多く、またパス選択信号1ビットをメモリ
ーの1ワードに記憶するため大きいメモリー量を必要と
するという問題点があった。
[Problems to be Solved by the Invention] However, in the conventional arithmetic device described above, the number of arithmetic steps required for one addition, comparison and selection operation is large, and the amount of memory is large because one bit of the path selection signal is stored in one word of the memory. The problem was that it required .

【0014】本発明はこのような従来の問題点を解決す
るものであり、少ない演算ステップ数と少ないメモリー
量でビタビ復号を行うことができる優れた演算装置を提
供することを目的とするものである。
The present invention solves these conventional problems, and aims to provide an excellent arithmetic device that can perform Viterbi decoding with a small number of arithmetic steps and a small amount of memory. be.

【0015】[0015]

【課題を解決するための手段】本発明は前記目的を達成
するために、ビタビ復号等の処理を行なう演算装置に、
データを記憶する第1のメモリ部材のデータを加算する
演算手段と、この演算手段の出力を一時記憶する第1の
レジスタと、前記第1のレジスタの出力と前記演算手段
の出力との大小比較して選択制御信号を出力する比較器
と、前記第1のレジスタ出力と前記演算手段出力のうち
小さい方の出力を記憶する第2のメモリ部材と、あらか
じめ定められた定数を出力する定数出力手段と、定数出
力手段の出力をシフトするシフタと、シフタのシフト動
作に必要なシフトビット数を出力するシフトビット数出
力手段と、前記比較回路からの選択制御信号により前記
演算手段の演算モードを制御する演算制御手段とを備え
、前記演算手段に、前記演算制御手段による演算モード
制御により、前記第1のメモリに記憶されたデータの加
算および、前記シフタ出力の算術論理演算を行なわせる
ようにしたことを要旨とする。
[Means for Solving the Problems] In order to achieve the above object, the present invention provides an arithmetic device that performs processing such as Viterbi decoding.
a calculation means for adding data in a first memory member for storing data; a first register for temporarily storing the output of the calculation means; and a magnitude comparison between the output of the first register and the output of the calculation means. a comparator that outputs a selection control signal; a second memory member that stores the smaller output of the first register output and the arithmetic means output; and constant output means that outputs a predetermined constant. a shifter for shifting the output of the constant output means; a shift bit number output means for outputting the number of shift bits necessary for the shift operation of the shifter; and a selection control signal from the comparison circuit to control the calculation mode of the calculation means. and an arithmetic control means for causing the arithmetic means to perform addition of data stored in the first memory and arithmetic and logical operations on the output of the shifter through arithmetic mode control by the arithmetic control means. The gist is that.

【0016】[0016]

【作用】したがって本発明によれば、加算器による加算
結果とあらかじめ第1のレジスタに一時記憶した加算結
果との大小比較を比較器が行い、比較器で小であると判
定した加算結果を第2のメモリが記憶し、定数出力手段
が出力する定数をシフタがnビット左にシフトして出力
した結果と選択制御信号の格納先データとの算術論理演
算を、算術論理演算回路が行って、比較器が出力する選
択制御信号を格納先データの第n番目のビット位置に格
納することにより、ビタビ復号における生き残りパスの
累積計量の加算比較選択演算とパス選択信号の記憶を少
ないステップ数でまた小さいメモリー量で行うことがで
きるという効果を有する。
[Operation] Therefore, according to the present invention, the comparator compares the addition result by the adder with the addition result temporarily stored in the first register in advance, and the addition result determined by the comparator to be small is used as the first addition result. The arithmetic and logic operation circuit performs an arithmetic and logic operation on the result of the shifter outputting the constant stored in the memory No. 2 and outputted by the constant output means by n bits to the left and the storage destination data of the selection control signal, By storing the selection control signal output by the comparator in the n-th bit position of the storage destination data, the addition and comparison selection operation of the cumulative metric of the surviving paths in Viterbi decoding and the storage of the path selection signal can be performed in a small number of steps. This has the advantage that it can be performed with a small amount of memory.

【0017】[0017]

【実施例】以下本発明の一実施例の演算装置について、
図面を参照しながら説明する。
[Embodiment] Below, regarding an arithmetic device according to an embodiment of the present invention,
This will be explained with reference to the drawings.

【0018】図1は本発明の実施例における演算装置の
構成図を示すものである。図1において、符号1は第1
のメモリ部材としての主記憶部で、この主記憶部1には
、プロセッサの命令語やビタビ復号における各状態のパ
スのメトリック(累積計量)、情報ビット1ビットに対
応する符号化データ(受信系列)の値に対して各パスが
とるブランチメトリックの値のテーブル、各状態におけ
る生き残りパスの選択結果などが記憶される。
FIG. 1 shows a block diagram of an arithmetic unit in an embodiment of the present invention. In FIG. 1, numeral 1 indicates the first
The main memory section 1 is a main memory section that serves as a memory component of the processor, and the main memory section 1 stores instruction words of the processor, path metrics (cumulative metrics) of each state in Viterbi decoding, and encoded data (received sequence information) corresponding to one information bit. ), a table of branch metric values taken by each path with respect to the value of , a selection result of a surviving path in each state, etc. are stored.

【0019】2は主記憶部1に接続されデータの供給や
演算結果の格納等を行なうバス、3は最下位ビットの値
が1で他のビットが全て0である定数を出力する定数回
路、4はバス2に接続されたプロセッサの命令デコート
部(図示せず)から出力されるシフトビット数を一時記
憶してバス2等に出力するレジスタ、5は定数回路3ま
たはレジスタ4の出力を入力として、レジスタ4で示さ
れるシフトビット数だけシフトしてまたはシフトせずに
出力するバレルシフタ、6はバレルシフタ5の出力をラ
ッチするラッチ回路、9は排他的論理和ゲートから構成
されラッチ回路6の出力を反転または非反転して出力す
る反転回路、10はデータバス出力をラッチするラッチ
回路である。
2 is a bus connected to the main storage unit 1 for supplying data and storing calculation results; 3 is a constant circuit for outputting a constant whose least significant bit is 1 and all other bits are 0; 4 is a register that temporarily stores the number of shift bits output from the instruction decoding unit (not shown) of the processor connected to bus 2 and outputs it to bus 2, etc.; 5 is an input for the output of constant circuit 3 or register 4; , a barrel shifter that shifts the number of shift bits indicated by the register 4 or outputs the output without shifting, 6 a latch circuit that latches the output of the barrel shifter 5, and 9 an exclusive OR gate that outputs the output of the latch circuit 6. 10 is a latch circuit 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のメモリ部材としてのレジスタである。
Further, 7 is an operation for outputting a control signal 8 instructing the inverting circuit 9 to perform an inverting operation or not, and a control signal 11 instructing the logical operation circuit 12 to perform an OR or an AND. 12 is an arithmetic logic operation circuit as a calculation means for performing arithmetic and logic operations using the outputs of the latch circuit 10 and the inversion circuit 9 as inputs; 13 is a register that temporarily stores the output of the arithmetic logic operation circuit 12; 14 is a register 13; A comparator 16 compares the contents of the register 13 with the output of the arithmetic logic circuit 12 and outputs a selection control signal 15 to the arithmetic control section 7 and the selector 16. A selector 17 selects the smaller one of the outputs of the circuit 12, and a register 17 serves as a second memory member that stores the selector output.

【0021】このように構成された演算装置について、
以下動作を説明する。まず(表1)は選択制御信号15
の値と反転回路9、算術論理演算回路12の動作内容の
関係を示したものである。
Regarding the arithmetic device configured in this way,
The operation will be explained below. First (Table 1) is the selection control signal 15.
The relationship between the value of and the operation contents of the inverting circuit 9 and the arithmetic and logic operation circuit 12 is shown.

【0022】[0022]

【表1】[Table 1]

【0023】演算制御部7は(表1)に示した関係にし
たがって反転回路9と論理演算回路12を制御する。す
なわち、選択制御信号15が″0″の場合(レジスタ1
3の値が小の場合)反転回路9は反転動作を行なう一方
、算術論理演算回路12は論理積を演算によって求める
。他方、選択制御信号15が″1″の場合(加算結果が
小の場合)反転回路9は非反転動作を行なう一方、算術
論理演算回路12は論理和を演算によって求める。
The arithmetic control section 7 controls the inverting circuit 9 and the logical arithmetic circuit 12 according to the relationship shown in Table 1. That is, when the selection control signal 15 is "0" (register 1
(If the value of 3 is small) The inversion circuit 9 performs an inversion operation, while the arithmetic logic operation circuit 12 calculates a logical product. 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 logic operation circuit 12 calculates a logical sum.

【0024】以下、畳み込み符号器の1状態に対して行
うビタビ復号の加算比較選択演算とパス選択信号の記憶
の動作につき、図3を参照して、(1)パスメトリック
とブランチメトリックの第1の加算ステップ、(2)第
2の加算と比較選択のステップ、(3)パス選択信号の
ビット転送のステップの3つのステップに分けて説明す
る。
Hereinafter, with reference to FIG. 3, we will explain the addition, comparison and selection operation of Viterbi decoding performed for one state of the convolutional encoder and the storage of the path selection signal. (2) the step of second addition and comparison selection; and (3) the step of bit transfer of the path selection signal.

【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 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 section 1 via the bus 2. At this time, the barrel shifter 6 does not perform a shift operation. Arithmetic logic 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) Second addition and comparison selection step The value of the path metric in the state Sn+2k-1 shown in FIG. Similarly, the value of main memory 1
The data is stored in the latch circuit 6 via the bus 2. At this time, the barrel shifter 6 does not perform a shifting 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 compares the addition result with the value of the register 13, and outputs a 1-bit selection control signal 15 of "0" if the value of the register 13 is small, and "1" if the addition result is small. It is output to the selector 16 and the calculation control section 7. The selector 16 selects the value of the register 13 when the selection control signal 15 is "0", and selects the arithmetic logic circuit output when the selection control signal 15 is "1", 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, the destination word storing the path selection signal in the main memory section 1 is latched into 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 section, outputs it, and latches it into the latch circuit 6. Next, as shown in Table 1, the inverting circuit 9 inverts the contents of the latch circuit 6 when the selection control signal 15 input to the arithmetic control section in step (2) is "0". , "1", the output is non-inverted to the arithmetic and logic operation circuit 12. The arithmetic logic operation circuit 12 performs a logical operation on the destination word stored in the latch circuit 10 and the output of the inversion circuit 9, and performs an AND operation when the selection control signal 15 is "0" as shown in (Table 1). ,″
1'', calculates the logical sum, outputs it to bus 2, and stores it in main memory 1.This allows the path selection signal (selection control signal 15) to be placed in any bit position in main memory 1 in 1-bit units. Can be stored.

【0028】以上のように本実施例によれば、(2)の
ステップにおける算術論理演算回路12による加算結果
と(1)のステップであらかじめレジスタ12に一時記
憶した加算結果との大小比較を比較器14が行い、比較
器14が小であると判定した加算結果をセレクタ16が
選んでレジスタ17に一時記憶し、定数回路3が出力す
る定数をバレルシフタ5がnビット左にシフトして出力
した結果と選択制御信号の格納先データとの論理演算を
、(表1)に示す制御規則に従って反転回路9と算術論
理演算回路12が行なって、比較器14が出力する選択
制御信号15を格納先データの第n番目のビット位置に
1ビット単位で格納することにより、ビタビ復号におけ
る生き残りパスの累積計量の加算比較選択演算とパス選
択信号の記憶を従来例の半分という少ないステップ数で
、さらに小さいメモリー量で行うことができるという効
果を有する。
As described above, according to this embodiment, the addition result by the arithmetic and logic operation circuit 12 in step (2) is compared in magnitude with the addition result temporarily stored in the register 12 in advance in step (1). The selector 16 selects the addition result determined by the comparator 14 to be small and temporarily stores it in the register 17, and the barrel shifter 5 shifts the constant output by the constant circuit 3 to the left by n bits and outputs it. The inverting circuit 9 and the arithmetic logic operation circuit 12 perform a logical operation on the result and the storage destination data of the selection control signal according to the control rules shown in (Table 1), and the selection control signal 15 output from the comparator 14 is transferred to the storage destination. By storing 1-bit units in the n-th bit position of the data, the addition, comparison, and selection operation of the cumulative metric of the surviving paths in Viterbi decoding and the storage of the path selection signal can be performed in fewer steps than in the conventional method, making it even smaller. This has the advantage that it can be performed using only a small amount of memory.

【0029】また定数回路3が出力する最下位ビットの
みが1でそれ以外のビットが全て0である定数をバレル
シフタ5がシフトすることにより、パス選択信号の格納
先データのビット更新に必要なビットパターンデータを
生成することができ、プロセッサの命令語の中にビット
パターンデータ(データ幅16ビットの場合16ビット
)を保持する代わりに、ビット転送先のビット位置に対
応したシフトビット数(データ幅16ビットの場合4ビ
ット)のみを保持すればよいので、短い語長の命令語で
ビタビ復号処理を行うことができる。さらに本実施例の
構成要素であるバレルシフタ5や反転回路9、算術論理
演算回路12等は、ディジタル信号処理プロセッサ等に
は数値演算用にあらかじめ設置されているのが普通であ
るため、わずかなハードウェアの追加のみで演算装置を
実現できるという効果も有する。
Furthermore, by shifting the constant outputted by the constant circuit 3, in which only the least significant bit is 1 and all other bits are 0, the bits necessary for updating the bits of the path selection signal storage destination data are shifted by the barrel shifter 5. Instead of storing bit pattern data (16 bits in case of 16 bit data width) in the instruction word of the processor, the number of shift bits (data width Since it is necessary to hold only 4 bits (in the case of 16 bits), Viterbi decoding processing can be performed using a short instruction word. Furthermore, the barrel shifter 5, inverting circuit 9, arithmetic logic circuit 12, etc., which are the components of this embodiment, are usually installed in advance in digital signal processing processors etc. for numerical calculations, so only a small amount of hardware is required. It also has the effect that an arithmetic device 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 such that only the least significant bit is set to 1 and the other bits are set to 0. However, only the most significant bit may be set to 1 and shifted to the right by the barrel shifter 5. Only bits are 0, other bits are 1
As shown in Table 1, the inversion and non-inversion control of the inversion circuit 9 may be reversed.

【0031】[0031]

【発明の効果】本発明は上記実施例より明らかなように
、演算手段による加算結果とあらかじめ第1のレジスタ
に一時記憶した加算結果との大小比較を比較器が行い、
比較器で小であると判定した加算結果を第2のメモリが
記憶し、定数出力手段が出力する定数をシフタがシフト
して出力した結果と選択制御信号の格納先データとの算
術論理演算を、演算手段が行って、比較器が出力する選
択制御信号を格納先データの所定のビット位置に格納す
るようにしたため、ビタビ復号における生き残りパスの
累積計量の加算比較選択演算とパス選択信号の記憶を少
ないステップ数で、さらに小さいメモリー量で行うこと
ができるという効果を有する。
Effects of the Invention As is clear from the above embodiments, the present invention has a comparator that compares the addition result by the arithmetic means with the addition result temporarily stored in the first register in advance.
A second memory stores the addition result determined by the comparator to be small, and performs an arithmetic and logic operation on the result obtained by shifting the constant output by the constant output means and output by the shifter and the storage destination data of the selection control signal. , the calculation means performs and stores the selection control signal output by the comparator in a predetermined bit position of the storage destination data, so that the addition comparison selection calculation of the cumulative metric of the surviving path in Viterbi decoding and the storage of the path selection signal are performed. This has the advantage that it can be performed with a small number of steps and with a smaller amount of memory.

【図面の簡単な説明】[Brief explanation of drawings]

【図1】本発明の一実施例における演算装置の構成を示
すブロック図
FIG. 1 is a block diagram showing the configuration of an arithmetic device in an embodiment of the present invention.

【図2】従来の演算装置の概略構成を示すブロック図[Fig. 2] Block diagram showing the schematic configuration of a conventional arithmetic unit


図3】演算装置の動作説明のためのビタビ復号における
畳み込み符号器の状態遷移のパスを示す図
[
FIG. 3 is a diagram showing state transition paths of a convolutional encoder in Viterbi decoding to explain the operation of the arithmetic unit.

【符号の説明】[Explanation of symbols]

1  主記憶部(第1のメモリ部材) 2  バス 3  定数回路 4  レジスタ 5  バレルシフタ 6  ラッチ回路 7  演算制御部 8  制御信号 9  反転回路 10  ラッチ回路 11  制御信号 12  算術論理演算回路(演算手段)13  レジス
タ 14  比較器 15  選択制御信号 16  セレクタ
1 Main memory section (first memory member) 2 Bus 3 Constant circuit 4 Register 5 Barrel shifter 6 Latch circuit 7 Arithmetic control section 8 Control signal 9 Inversion circuit 10 Latch circuit 11 Control signal 12 Arithmetic logic circuit (arithmetic means) 13 Register 14 Comparator 15 Selection control signal 16 Selector

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】  データを記憶する第1のメモリ部材と
、前記第1のメモリ部材に記憶されたデータの加算を行
う演算手段と、この演算手段の出力を一時記憶する第1
のレジスタと、前記第1のレジスタの出力と前記演算手
段の出力との大小比較して選択制御信号を出力する比較
器と、前記第1のレジスタ出力と前記演算手段出力のう
ち前記比較器により小であると判定された方の出力を記
憶する第2のメモリ部材と、あらかじめ定められた定数
を出力する定数出力手段と、定数出力手段の出力をシフ
トするシフタと、シフタのシフト動作に必要なシフトビ
ット数を出力するシフトビット数出力手段と、前記比較
回路からの前記選択制御信号により前記演算手段の演算
モードを制御する演算制御手段と、を備え、前記演算手
段は、前記演算制御手段による演算モード制御により、
前記第1のメモリ部材に記憶されたデータの加算および
、前記シフタ出力の算術論理演算を行なうことを特徴と
する演算装置。
1. A first memory member for storing data, a calculation means for adding data stored in the first memory member, and a first memory member for temporarily storing the output of the calculation means.
a comparator that compares the output of the first register with the output of the calculation means and outputs a selection control signal; a second memory member that stores the output determined to be smaller; a constant output means that outputs a predetermined constant; a shifter that shifts the output of the constant output means; and a shifter that is necessary for the shift operation of the shifter. shift bit number output means for outputting a shift bit number; and arithmetic control means for controlling the arithmetic mode of the arithmetic means by the selection control signal from the comparator circuit, By controlling the calculation mode by
An arithmetic device that performs addition of data stored in the first memory member and arithmetic and logical operations on the output of the shifter.
【請求項2】  定数出力手段は、あらかじめ定めたビ
ット位置のビットが1でそれ以外のビットが全て0であ
る定数或いはこの定数の補数を出力し、またシフトビッ
ト数出力手段は、前記定数内の前記ビット位置のビット
をデスティネーションビットのビット位置までシフトす
るのに必要なシフトビット数を前記シフタに出力するこ
とを特徴とする請求項1記載の演算装置。
2. The constant output means outputs a constant in which a bit at a predetermined bit position is 1 and all other bits are 0, or the complement of this constant, and the shift bit number output means outputs a constant in which a bit at a predetermined bit position is 1 and all other bits are 0, and the shift bit number output means outputs a constant whose bit is 1 at a predetermined bit position and all other bits are 0. 2. The arithmetic device according to claim 1, wherein the number of shift bits required to shift the bit at the bit position of the bit position to the bit position of a destination bit is output to the shifter.
JP3127150A 1991-05-30 1991-05-30 Arithmetic unit Expired - Lifetime JP2917577B2 (en)

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 true JPH04352518A (en) 1992-12-07
JP2917577B2 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)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0590597A2 (en) * 1992-09-29 1994-04-06 Matsushita Electric Industrial Co., Ltd. Arithmetic apparatus
EP0653849A2 (en) * 1993-11-16 1995-05-17 AT&T Corp. Efficient utilization of present state/next state registers
JP2007531072A (en) * 2003-12-19 2007-11-01 マイクロユニティ システムズ エンジニアリング インコーポレイテッド Programmable processor and method with extended arithmetic

Citations (3)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0590597A2 (en) * 1992-09-29 1994-04-06 Matsushita Electric Industrial Co., Ltd. Arithmetic apparatus
EP0590597A3 (en) * 1992-09-29 1995-10-18 Matsushita Electric Ind Co Ltd Arithmetic apparatus
US5715470A (en) * 1992-09-29 1998-02-03 Matsushita Electric Industrial Co., Ltd. Arithmetic apparatus for carrying out viterbi decoding at a high speed
CN1049778C (en) * 1992-09-29 2000-02-23 松下电器产业株式会社 Calculator
EP1049001A1 (en) * 1992-09-29 2000-11-02 Matsushita Electric Industrial Co., Ltd. Arithmetic apparatus
EP0653849A2 (en) * 1993-11-16 1995-05-17 AT&T Corp. Efficient utilization of present state/next state registers
EP0653849A3 (en) * 1993-11-16 1997-01-29 At & T Corp Efficient utilization of present state/next state registers.
JP2007531072A (en) * 2003-12-19 2007-11-01 マイクロユニティ システムズ エンジニアリング インコーポレイテッド Programmable processor and method with extended arithmetic

Also Published As

Publication number Publication date
JP2917577B2 (en) 1999-07-12

Similar Documents

Publication Publication Date Title
US5946361A (en) Viterbi decoding method and circuit with accelerated back-tracing and efficient path metric calculation
EP1049001B1 (en) Arithmetic apparatus
US5440504A (en) Arithmetic apparatus for digital signal processor
US5517439A (en) Arithmetic unit for executing division
JPH10107651A (en) Viterbi decoder
JPH05327524A (en) Addition/comparison/selection array for bit-serial viterbi decoder
JP3274668B2 (en) Arithmetic processing device and arithmetic processing method
US6754870B2 (en) CRC operation unit and CRC operation method
US20050157823A1 (en) Technique for improving viterbi decoder performance
US7131055B2 (en) Fast bit-parallel Viterbi decoder add-compare-select circuit
JPH04352518A (en) Arithmetic unit
JP3191442B2 (en) Arithmetic unit for Viterbi decoding
JP3250363B2 (en) Arithmetic unit
JP3984790B2 (en) Viterbi decoding processor
KR100414152B1 (en) The Processing Method and Circuits for Viterbi Decoding Algorithm on Programmable Processors
JP3237267B2 (en) Arithmetic unit
JP3259387B2 (en) Viterbi decoder
JP3383661B2 (en) Arithmetic processing unit
JP3996858B2 (en) Arithmetic processing unit
JP2001024526A (en) Viterbi decoder
JP3634333B2 (en) Digital signal processor
JP3231647B2 (en) Viterbi decoder
JPS6277717A (en) Metric operating system
SC140 How to Implement a Viterbi Decoder on the
JP2001094443A (en) Acs arithmetic unit and 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