JPH0722969A - Arithmetic unit - Google Patents

Arithmetic unit

Info

Publication number
JPH0722969A
JPH0722969A JP5144948A JP14494893A JPH0722969A JP H0722969 A JPH0722969 A JP H0722969A JP 5144948 A JP5144948 A JP 5144948A JP 14494893 A JP14494893 A JP 14494893A JP H0722969 A JPH0722969 A JP H0722969A
Authority
JP
Japan
Prior art keywords
latch
register
contents
stored
adder
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.)
Pending
Application number
JP5144948A
Other languages
Japanese (ja)
Inventor
Nobuo Asano
野 延 夫 浅
Mitsuru Uesugi
杉 充 上
Toshihiro Ishikawa
川 利 広 石
Minoru Okamoto
本 稔 岡
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 JP5144948A priority Critical patent/JPH0722969A/en
Priority to AU47598/93A priority patent/AU652896B2/en
Priority to US08/126,563 priority patent/US5715470A/en
Priority to DE69333460T priority patent/DE69333460T2/en
Priority to DE69331568T priority patent/DE69331568T2/en
Priority to EP00113488A priority patent/EP1049001B1/en
Priority to EP93115631A priority patent/EP0590597B1/en
Priority to CN93118166A priority patent/CN1049778C/en
Publication of JPH0722969A publication Critical patent/JPH0722969A/en
Priority to CN99106651.0A priority patent/CN1237046A/en
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)
  • Error Detection And Correction (AREA)

Abstract

PURPOSE:To provide an arithmetic unit in which the arithmetic amounts of the ACS calculation of a viterbi decoding can be reduced by the addition of a few hardware in a digital signal processor. CONSTITUTION:The content of an address indicated by the same pointer is read from first and second data memories 1 and 2, and inputted to one inputs of an ALU 10 and an adder 11. Then, the contents of plural registers 12-15 being a pair are inputted to the other inputs of the ALU 10 and the adder 11, and those data are added by the ALU 10 and the adder 11. Then, each arithmetic result is stored in first and second registers 18 and 19 selected by the arithmetic result of a size comparator 21, inputted also to the size comparator 21, and the compared result is stored in a shift register 23. The data are simultaneously added by the ALU 10 and the adder 11, so that ACS calculation can be attained by one step, and the arithmetic amounts can be sharply reduced without increasing a memory compared with a conventional practice.

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 used in a digital signal processor or the like for performing Viterbi decoding of convolutional coded data 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 attracting attention as a processor for incorporating the device into a mobile phone or the like in accordance with the movement of digitization in the mobile communication field. In data communication on a mobile radio line, bit errors frequently occur, and it is necessary to perform error correction processing. Some error correction methods use Viterbi decoding for the convolutional code, and DSP may be used for this error correction processing.

【0003】ビタビ復号は、ACS計算と呼ばれる加
算、比較、選択という単純な処理の繰り返しと、最終的
にデータを復号するトレースバック操作で畳み込み符号
の最尤復号を実現するものである。このビタビ復号で
は、情報ビット1ビットに対応する復号化データ(受信
信号)を得るごとに、その時点での各状態のパスのメト
リックを計算し、生き残りパスを求める。
Viterbi decoding realizes maximum likelihood decoding of a convolutional code by repeating a simple process called addition, comparison, and selection called ACS calculation and a traceback operation for finally decoding data. In this Viterbi decoding, every time the decoded data (received signal) corresponding to one information bit is obtained, the metric of the path in each state at that time is calculated, and the surviving path is obtained.

【0004】図5は符号化率1/N、拘束長kの畳み込
み符号器において、ある時点における状態S[2i]
(i=0〜2k-1 −1)に対し、一つ前の時点の状態S
[i]と状態S[i+2k-2 ]から状態遷移を表わす2
本のパスが延びている様子を示している。ここで状態S
の[ ]内の数が2k-1 以上となる場合は2k-1 の剰余
を取ることとする。生き残りパスを求めるとは、状態S
[2i]に延びている2本のパスのそれぞれのパスメト
リックを求め、比較し、確からしい方のパスを選択する
ことである。一つ前の時点の状態S[i]と状態S[i
+2k-2 ]のそれぞれのパスメトリックをP^[i],
P^[i+2k-2 ]とする。また一つ前の状態から現時
点の状態へ遷移するときの畳み込み符号器の本来の出力
と受信信号との距離をブランチメトリックと言い、それ
ぞれの状態から状態S[2i]へ延びるパスのメトリッ
クであるブランチメトリックをa,bとすると、状態S
[2i]へ延びる2本のパスのパスメトリックは、 P^[i]+a P^[i+2k-2 ]+b と表わせる。次に2つのパスメトリックを比較し、確か
らしい方を選択する。一般的にはパスメトリックの値の
小さい方を選択することが多く、状態S[2i]のパス
メトリックP[2i]は、次のようになる。 P[2i]=min[(P^[i]+a),(P^[i+2k-2 ]+b)] ここでmin[A,B]はA,Bのうち小さい方を選択
することを示す。このようにパスメトリックを求めるた
めの加算、パスメトリックの比較、パスの選択という処
理を各時点で2k-1 個の状態に対して行なう。
FIG. 5 shows a state S [2i] at a certain time point in a convolutional encoder having a code rate 1 / N and a constraint length k.
For (i = 0 to 2 k-1 -1), the state S at the immediately preceding time point is
2 representing a state transition from [i] and state S [i + 2 k-2 ]
It shows how the book path is extended. Where state S
When the number in [] is 2 k-1 or more, the remainder of 2 k-1 is taken. Finding a surviving path is the state S
The path metric of each of the two paths extending to [2i] is calculated, compared, and the path that is more likely is selected. The state S [i] and the state S [i at the previous time point
+2 k−2 ] for each path metric is P ^ [i],
Let P ^ [i + 2 k-2 ]. The distance between the original output of the convolutional encoder and the received signal at the time of transition from the previous state to the current state is called a branch metric, and is a metric of a path extending from each state to the state S [2i]. If the branch metrics are a and b, the state S
The path metric of two paths extending to [2i] can be expressed as P ^ [i] + a P ^ [i + 2k-2 ] + b. Next, the two path metrics are compared, and the most likely one is selected. In general, a smaller path metric value is often selected, and the path metric P [2i] of the state S [2i] is as follows. P [2i] = min [(P ^ [i] + a), (P ^ [i + 2k-2 ] + b)] Here, min [A, B] indicates that the smaller one of A and B is selected. . In this way, the processing for obtaining the path metric, the comparison of the path metric, and the selection of the path are performed for 2 k-1 states at each time point.

【0005】さらにパスの選択においてどちらを選択し
たかという履歴をパスセレクト信号PS[j],(j=
0〜2k-1 −1)として残しておく必要がある。選ばれ
たパスの一つ前の状態S[ ]の[ ]内の数が他方の
状態のそれよりも小さければPS[j]=0、そうでな
ければPS[j]=1とする。上記の場合、i<i+2
k-2 (mod2k-1 )とすれば、パスセレクト信号PS
[2i]は、次のようになる。
Further, the history of which path is selected in the path selection is stored in the path select signals PS [j], (j =
0 to 2 k-1 -1). If the number in [] of the state S [] immediately before the selected path is smaller than that in the other state, PS [j] = 0, otherwise PS [j] = 1. In the above case, i <i + 2
If k-2 (mod2 k-1 ), the path select signal PS
[2i] is as follows.

【数1】 [Equation 1]

【0006】パスの選択前では各状態に2本のパスが延
びているので、ある時点におけるブランチメトリックは
2・2k-1 個存在するが、畳み込み符号器の出力がNビ
ットであることを考えれば、その時点でのブランチメト
リック計算は2・2k-1 回行なう必要はなく、受信信号
と2N 通りの出力パタンとで2N 回行なっておけばよい
ことが分かる。
Since there are two paths extending in each state before the selection of a path, there are 2 · 2 k−1 branch metrics at a certain point in time, but it is assumed that the output of the convolutional encoder is N bits. Considering this, it is understood that the branch metric calculation at that time does not have to be performed 2 · 2 k−1 times, and can be performed 2 N times for the received signal and the 2 N kinds of output patterns.

【0007】図6は従来の演算装置のブロック図を示す
ものである。以下、算術論理演算回路をALUと略す。
図6において、31はパスメトリック、パスセレクト信
号などを記憶するデータメモリ、32はデータメモリ3
1に接続されデータの供給や演算結果の格納等を行なう
ためのバス、33はALU35の右側入力の値を一時記
憶するラッチ、34はALU35の左側入力の値を一時
記憶するラッチ、35は算術論理演算を行なうALU、
36、37、38、39、40、41、42は演算結果
を一時記憶するレジスタ、43、44はレジスタ出力を
選択するマルチプレクサ、45、46、47、48はデ
ータメモリ31の読み出し番地または格納番地を示すポ
インタ、49はポインタ出力を選択するマルチプレク
サ、50はALU35の出力をシフトするバレルシフタ
である。
FIG. 6 is a block diagram of a conventional arithmetic unit. Hereinafter, the arithmetic logic operation circuit is abbreviated as ALU.
In FIG. 6, 31 is a data memory for storing a path metric, a path select signal, etc., 32 is a data memory 3.
A bus connected to 1 for supplying data and storing operation results, 33 is a latch for temporarily storing a value on the right side of the ALU 35, 34 is a latch for temporarily storing a value on the left side of the ALU 35, and 35 is an arithmetic ALU that performs logical operations,
36, 37, 38, 39, 40, 41, 42 are registers for temporarily storing the operation result, 43, 44 are multiplexers for selecting register output, and 45, 46, 47, 48 are read addresses or storage addresses of the data memory 31. Is a pointer, 49 is a multiplexer for selecting the pointer output, and 50 is a barrel shifter for shifting the output of the ALU 35.

【0008】以上のように構成された演算装置につい
て、ある時点の2k-1 個の状態におけるACS計算の動
作について示す。簡単のためN=2,k=3として説明
する。データメモリ31には一つ前の時点の各状態のパ
スメトリックP^[i],(i=0〜3)、現時点で得
られる各状態のパスメトリックP[i],(i=0〜
3)およびパスセレクト信号PS[i],(i=0〜
3)を格納する領域を設けておく。図4はデータメモリ
31の領域割当の例を示す図である。ポインタ45、4
6、47、48には初期値としてそれぞれP^[0]の
読み出し番地、P^[2]の読み出し番地、P[0]の
格納番地、パスセレクト信号格納番地を設定しておく。
図3は一つ前の状態から現時点の状態へ遷移する様子を
すべての状態について示している。図3において、一つ
前の状態から現時点の状態へ遷移するときパスそれぞれ
に畳み込み符号器の本来の出力シンボルの例を記してあ
る。受信信号とそれぞれの出力シンボルの距離を計算し
たものがブランチメトリックとなるが、出力シンボルが
同じであればブランチメトリックは等しくなるので、出
力シンボル00,01,10,11の22 種類について
計算しておけばよく、レジスタ36、37、38、39
にすでに計算した22 種類のブランチメトリックを格納
しておく。
With respect to the arithmetic unit configured as described above, the operation of ACS calculation in 2 k-1 states at a certain time will be described. For simplicity, the description will be made assuming that N = 2 and k = 3. In the data memory 31, the path metric P ^ [i], (i = 0 to 3) of each state at the immediately preceding time point, and the path metric P [i], (i = 0 to 0) of each state obtained at the current time point are stored.
3) and the path select signals PS [i], (i = 0 to 0
An area for storing 3) is provided. FIG. 4 is a diagram showing an example of area allocation of the data memory 31. Pointers 45, 4
6, 47, and 48 are respectively set as a read address of P ^ [0], a read address of P ^ [2], a storage address of P [0], and a path select signal storage address as initial values.
FIG. 3 shows the transition from the previous state to the current state for all states. In FIG. 3, an example of the original output symbol of the convolutional encoder is shown for each path when the previous state transitions to the current state. The branch metric is calculated by calculating the distance between the received signal and each output symbol. If the output symbols are the same, the branch metrics are the same. Therefore, calculation is performed for 2 2 types of output symbols 00, 01, 10, 11. All you have to do is register 36, 37, 38, 39
Store 2 2 types of branch metrics already calculated in.

【0009】次にある時点の22 個の状態におけるAC
S計算の動作概要をステップに分けて説明する。
AC at 2 2 states at a certain time point
The outline of the S calculation operation will be described by dividing it into steps.

【0010】状態S[0]のACS計算 (1)ポインタ45が指すデータメモリ31の番地から
パスメトリックP^[0]を読み出し、ラッチ33に格
納する。ALU35はラッチ33の内容を素通りさせレ
ジスタ40に格納する。 (2)レジスタ36の内容をラッチ33に格納する。レ
ジスタ40の内容をラッチ34に格納する。ALU35
はラッチ33の内容とラッチ34の内容を加算し、その
結果をレジスタ40に格納する。この状態は、「P^
[0]と出力シンボル00に対するブランチメトリック
との和が求められた。」ということになる。 (3)ポインタ46が指すデータメモリ31の番地から
パスメトリックP^[2]を読み出し、ラッチ33に格
納する。ALU35はラッチ33の内容を素通りさせレ
ジスタ41に格納する。 (4)レジスタ39の内容をラッチ33に格納する。レ
ジスタ41の内容をラッチ34に格納する。ALU35
はラッチ33の内容とラッチ34の内容を加算し、その
結果をレジスタ41に格納する。この状態は、「P^
[2]と出力シンボル11に対するブランチメトリック
との和が求められた。」ということになる。 (5)レジスタ40の内容をラッチ33に格納する。レ
ジスタ41の内容をラッチ34に格納する。ALU35
はラッチ33の内容とラッチ34の内容を大小比較す
る。 (6)(5)においてラッチ33の内容の方が小さいか
等しければ、(7)(8)(9)を実行する。(5)に
おいてラッチ34の内容の方が小さければ、(7)’
(8)’(9)’を実行する。 (7)ポインタ47が指すデータメモリ31の番地にレ
ジスタ40の内容を格納する。 (8)ポインタ42の内容をラッチ33に格納する。A
LU35はラッチ33の内容を素通りさせ、バレルシフ
タ50で左1ビットのシフトを行ない、その結果をレジ
スタ42に格納する。 (9)固定値0をラッチ33に格納する。レジスタ42
の内容をラッチ34に格納する。ALU35はラッチ3
3の内容とラッチ34の内容を加算し、その結果をレジ
スタ42に格納する。 (7)’ポインタ47が指すデータメモリ31の番地に
レジスタ41の内容を格納する。 (8)’レジスタ42の内容をラッチ33に格納する。
ALU35はラッチ33の内容を素通りさせ、バレルシ
フタ50で左1ビットのシフトを行ない、その結果をレ
ジスタ42に格納する。 (9)’固定値1をラッチ33に格納する。レジスタ4
2の内容をラッチ34に格納する。ALU35はラッチ
33の内容とラッチ34の内容を加算し、その結果をレ
ジスタ42に格納する。この状態は、「パスメトリック
の比較、選択およびパスセレクト信号の格納を行なっ
た。」ということになる。
ACS calculation of state S [0] (1) The path metric P ^ [0] is read from the address of the data memory 31 pointed by the pointer 45 and stored in the latch 33. The ALU 35 allows the contents of the latch 33 to pass through and stores it in the register 40. (2) The content of the register 36 is stored in the latch 33. The content of the register 40 is stored in the latch 34. ALU35
Adds the contents of the latch 33 and the contents of the latch 34, and stores the result in the register 40. This state is "P ^
The sum of [0] and the branch metric for output symbol 00 was determined. "It turns out that. (3) The path metric P ^ [2] is read from the address of the data memory 31 pointed by the pointer 46 and stored in the latch 33. The ALU 35 allows the contents of the latch 33 to pass therethrough and stores them in the register 41. (4) The content of the register 39 is stored in the latch 33. The contents of the register 41 are stored in the latch 34. ALU35
Adds the contents of the latch 33 and the contents of the latch 34, and stores the result in the register 41. This state is "P ^
The sum of [2] and the branch metric for the output symbol 11 was obtained. "It turns out that. (5) The content of the register 40 is stored in the latch 33. The contents of the register 41 are stored in the latch 34. ALU35
Compares the contents of the latch 33 with the contents of the latch 34. (6) If the content of the latch 33 is smaller than or equal to (5), (7), (8) and (9) are executed. If the content of the latch 34 is smaller in (5), (7) '
(8) '(9)' is executed. (7) The contents of the register 40 are stored in the address of the data memory 31 pointed to by the pointer 47. (8) The content of the pointer 42 is stored in the latch 33. A
The LU 35 allows the contents of the latch 33 to pass through, shifts the left one bit by the barrel shifter 50, and stores the result in the register 42. (9) The fixed value 0 is stored in the latch 33. Register 42
The contents of the above are stored in the latch 34. ALU35 is latch 3
The contents of 3 and the contents of the latch 34 are added, and the result is stored in the register 42. (7) 'The content of the register 41 is stored in the address of the data memory 31 pointed to by the pointer 47. (8) 'The content of the register 42 is stored in the latch 33.
The ALU 35 allows the contents of the latch 33 to pass through, shifts the left one bit by the barrel shifter 50, and stores the result in the register 42. (9) 'Store the fixed value 1 in the latch 33. Register 4
The contents of 2 are stored in the latch 34. The ALU 35 adds the contents of the latch 33 and the contents of the latch 34, and stores the result in the register 42. This state means "comparison of path metrics, selection, and storage of path select signal".

【0011】状態S[1]のACS計算 (10)ポインタ45が指すデータメモリ31の番地か
らパスメトリックP^[0]を読み出し、ラッチ33に
格納する。ALU35はラッチ33の内容を素通りさせ
レジスタ40に格納する。 (11)レジスタ39の内容をラッチ33に格納する。
レジスタ40の内容をラッチ34に格納する。ALU3
5はラッチ33の内容とラッチ34の内容を加算し、そ
の結果をレジスタ40に格納する。この状態は、「P^
[0]と出力シンボル11に対するブランチメトリック
との和が求められた。」ということになる。 (12)ポインタ46が指すデータメモリ31の番地か
らパスメトリックP^[2]を読み出し、ラッチ33に
格納する。ALU35はラッチ33の内容を素通りさせ
レジスタ41に格納する。 (13)レジスタ36の内容をラッチ33に格納する。
レジスタ41の内容をラッチ34に格納する。ALU3
5はラッチ33の内容とラッチ34の内容を加算し、そ
の結果をレジスタ41に格納する。この状態は、「P^
[2]と出力シンボル00に対するブランチメトリック
との和が求められた。」ということになる。 (14)レジスタ40の内容をラッチ33に格納する。
レジスタ41の内容をラッチ34に格納する。ALU3
5はラッチ33の内容とラッチ34の内容を大小比較す
る。 (15)(14)においてラッチ33の内容の方が小さ
いか等しければ、(16)(17)(18)を実行す
る。(14)においてラッチ34の内容の方が小さけれ
ば、(16)’(17)’(18)’を実行する。 (16)ポインタ47をインクリメントした後、ポイン
タ47が指すデータメモリ31の番地にレジスタ40の
内容を格納する。 (17)レジスタ42の内容をラッチ33に格納する。
ALU35はラッチ33の内容を素通りさせ、バレルシ
フタ50で左1ビットのシフトを行ない、その結果をレ
ジスタ42に格納する。 (18)固定値0をラッチ33に格納する。レジスタ4
2の内容をラッチ34に格納する。ALU35はラッチ
33の内容とラッチ34の内容を加算し、その結果をレ
ジスタ42に格納する。 (16)’ポインタ47をインクリメントした後、ポイ
ンタ47が指すデータメモリ31の番地にレジスタ41
の内容を格納する。 (17)’レジスタ42の内容をラッチ33に格納す
る。ALU35はラッチ33の内容を素通りさせ、バレ
ルシフタ50で左1ビットのシフトを行ない、その結果
をレジスタ42に格納する。 (18)’固定値1をラッチ33に格納する。レジスタ
42の内容をラッチ34に格納する。ALU35はラッ
チ33の内容とラッチ34の内容を加算し、その結果を
レジスタ42に格納する。この状態は、「パスメトリッ
クの比較、選択およびパスセレクト信号の格納を行なっ
た。」ということになる。
ACS calculation of state S [1] (10) The path metric P ^ [0] is read from the address of the data memory 31 pointed by the pointer 45 and stored in the latch 33. The ALU 35 allows the contents of the latch 33 to pass through and stores it in the register 40. (11) The content of the register 39 is stored in the latch 33.
The content of the register 40 is stored in the latch 34. ALU3
5 adds the contents of the latch 33 and the contents of the latch 34, and stores the result in the register 40. This state is "P ^
The sum of [0] and the branch metric for the output symbol 11 was obtained. "It turns out that. (12) The path metric P ^ [2] is read from the address of the data memory 31 pointed by the pointer 46 and stored in the latch 33. The ALU 35 allows the contents of the latch 33 to pass therethrough and stores them in the register 41. (13) The contents of the register 36 are stored in the latch 33.
The contents of the register 41 are stored in the latch 34. ALU3
5 adds the contents of the latch 33 and the contents of the latch 34, and stores the result in the register 41. This state is "P ^
The sum of [2] and the branch metric for the output symbol 00 was obtained. "It turns out that. (14) The content of the register 40 is stored in the latch 33.
The contents of the register 41 are stored in the latch 34. ALU3
5 compares the contents of the latch 33 with the contents of the latch 34. (15) If the contents of the latch 33 are smaller or equal in (14), (16), (17) and (18) are executed. If the content of the latch 34 is smaller in (14), (16) '(17)' (18) 'are executed. (16) After incrementing the pointer 47, the contents of the register 40 are stored in the address of the data memory 31 pointed to by the pointer 47. (17) The content of the register 42 is stored in the latch 33.
The ALU 35 allows the contents of the latch 33 to pass through, shifts the left one bit by the barrel shifter 50, and stores the result in the register 42. (18) The fixed value 0 is stored in the latch 33. Register 4
The contents of 2 are stored in the latch 34. The ALU 35 adds the contents of the latch 33 and the contents of the latch 34, and stores the result in the register 42. (16) 'After incrementing the pointer 47, the register 41 is added to the address of the data memory 31 pointed to by the pointer 47.
Stores the contents of. (17) 'The content of the register 42 is stored in the latch 33. The ALU 35 allows the contents of the latch 33 to pass through, shifts the left one bit by the barrel shifter 50, and stores the result in the register 42. (18) ′ The fixed value 1 is stored in the latch 33. The contents of the register 42 are stored in the latch 34. The ALU 35 adds the contents of the latch 33 and the contents of the latch 34, and stores the result in the register 42. This state means "comparison of path metrics, selection, and storage of path select signal".

【0012】状態S[2]のACS計算 (19)ポインタ45をインクリメントした後、ポイン
タ45が指すデータメモリ31の番地からパスメトリッ
クP^[1]を読み出し、ラッチ33に格納する。AL
U35はラッチ33の内容を素通りさせレジスタ40に
格納する。 (20)レジスタ37の内容をラッチ33に格納する。
レジスタ40の内容をラッチ34に格納する。ALU3
5はラッチ33の内容とラッチ34の内容を加算し、そ
の結果をレジスタ40に格納する。この状態は、「P^
[1]と出力シンボル01に対するブランチメトリック
との和が求められた。」ということになる。 (21)ポインタ46をインクリメントした後、ポイン
タ46が指すデータメモリ31の番地からパスメトリッ
クP^[3]を読み出し、ラッチ33に格納する。AL
U35はラッチ33の内容を素通りさせレジスタ41に
格納する。 (22)レジスタ38の内容をラッチ33に格納する。
レジスタ41の内容をラッチ34に格納する。ALU3
5はラッチ33の内容とラッチ34の内容を加算し、そ
の結果をレジスタ41に格納する。この状態は、「P^
[3]と出力シンボル10に対するブランチメトリック
との和が求められた。」ということになる。 (23)レジスタ40の内容をラッチ33に格納する。
レジスタ41の内容をラッチ34に格納する。ALU3
5はラッチ33の内容とラッチ34の内容を大小比較す
る。 (24)(23)においてラッチ33の内容の方が小さ
いか等しければ、(25)(26)(27)を実行す
る。(23)においてラッチ34の内容の方が小さけれ
ば、(25)’(26)’(27)’を実行する。 (25)ポインタ47をインクリメントした後、ポイン
タ47が指すデータメモリ31の番地にレジスタ40の
内容を格納する。 (26)レジスタ42の内容をラッチ33に格納する。
ALU35はラッチ33の内容を素通りさせ、バレルシ
フタ50で左1ビットのシフトを行ない、その結果をレ
ジスタ42に格納する。 (27)固定値0をラッチ33に格納する。レジスタ4
2の内容をラッチ34に格納する。ALU35はラッチ
33の内容とラッチ34の内容を加算し、その結果をレ
ジスタ42に格納する。 (25)’ポインタ47をインクリメントした後、ポイ
ンタ47が指すデータメモリ31の番地にレジスタ41
の内容を格納する。 (26)’レジスタ42の内容をラッチ33に格納す
る。ALU35はラッチ33の内容を素通りさせ、バレ
ルシフタ50で左1ビットのシフトを行ない、その結果
をレジスタ42に格納する。 (27)’固定値1をラッチ33に格納する。レジスタ
42の内容をラッチ34に格納する。ALU35はラッ
チ33の内容とラッチ34の内容を加算し、その結果を
レジスタ42に格納する。この状態は、「パスメトリッ
クの比較、選択およびパスセレクト信号の格納を行なっ
た。」ということになる。
ACS calculation of state S [2] (19) After incrementing the pointer 45, the path metric P ^ [1] is read from the address of the data memory 31 pointed to by the pointer 45 and stored in the latch 33. AL
U35 allows the content of the latch 33 to pass through and stores it in the register 40. (20) The content of the register 37 is stored in the latch 33.
The content of the register 40 is stored in the latch 34. ALU3
5 adds the contents of the latch 33 and the contents of the latch 34, and stores the result in the register 40. This state is "P ^
The sum of [1] and the branch metric for the output symbol 01 was obtained. "It turns out that. (21) After incrementing the pointer 46, the path metric P ^ [3] is read from the address of the data memory 31 pointed to by the pointer 46 and stored in the latch 33. AL
U35 allows the content of the latch 33 to pass through and stores it in the register 41. (22) The contents of the register 38 are stored in the latch 33.
The contents of the register 41 are stored in the latch 34. ALU3
5 adds the contents of the latch 33 and the contents of the latch 34, and stores the result in the register 41. This state is "P ^
The sum of [3] and the branch metric for the output symbol 10 was obtained. "It turns out that. (23) The content of the register 40 is stored in the latch 33.
The contents of the register 41 are stored in the latch 34. ALU3
5 compares the contents of the latch 33 with the contents of the latch 34. If the contents of the latch 33 are smaller than or equal to (24) and (23), (25), (26) and (27) are executed. If the content of the latch 34 is smaller in (23), (25) '(26)' (27) 'are executed. (25) After incrementing the pointer 47, the contents of the register 40 are stored in the address of the data memory 31 pointed to by the pointer 47. (26) The contents of the register 42 are stored in the latch 33.
The ALU 35 allows the contents of the latch 33 to pass through, shifts the left one bit by the barrel shifter 50, and stores the result in the register 42. (27) The fixed value 0 is stored in the latch 33. Register 4
The contents of 2 are stored in the latch 34. The ALU 35 adds the contents of the latch 33 and the contents of the latch 34, and stores the result in the register 42. (25) 'After incrementing the pointer 47, the register 41 is added to the address of the data memory 31 pointed to by the pointer 47.
Stores the contents of. (26) ′ The content of the register 42 is stored in the latch 33. The ALU 35 allows the contents of the latch 33 to pass through, shifts the left one bit by the barrel shifter 50, and stores the result in the register 42. (27) ′ The fixed value 1 is stored in the latch 33. The contents of the register 42 are stored in the latch 34. The ALU 35 adds the contents of the latch 33 and the contents of the latch 34, and stores the result in the register 42. This state means "comparison of path metrics, selection, and storage of path select signal".

【0013】状態S[3]のACS計算 (28)ポインタ45が指すデータメモリ31の番地か
らパスメトリックP^[1]を読み出し、ラッチ33に
格納する。ALU35はラッチ33の内容を素通りさせ
レジスタ40に格納する。 (29)レジスタ38の内容をラッチ33に格納する。
レジスタ40の内容をラッチ34に格納する。ALU3
5はラッチ33の内容とラッチ34の内容を加算し、そ
の結果をレジスタ40に格納する。この状態は、「P^
[1]と出力シンボル10に対するブランチメトリック
との和が求められた。」ということになる。 (30)ポインタ46が指すデータメモリ31の番地か
らパスメトリックP^[3]を読み出し、ラッチ33に
格納する。ALU35はラッチ33の内容を素通りさせ
レジスタ41に格納する。 (31)レジスタ37の内容をラッチ33に格納する。
レジスタ41の内容をラッチ34に格納する。ALU3
5はラッチ33の内容とラッチ34の内容を加算し、そ
の結果をレジスタ41に格納する。この状態は、「P^
[3]と出力シンボル01に対するブランチメトリック
との和が求められた。」ということになる。 (32)レジスタ40の内容をラッチ33に格納する。
レジスタ41の内容をラッチ34に格納する。ALU3
5はラッチ33の内容とラッチ34の内容を大小比較す
る。 (33)(32)においてラッチ33の内容の方が小さ
いか等しければ、(34)(35)(36)を実行す
る。(32)においてラッチ34の内容の方が小さけれ
ば、(34)’(35)’(36)’を実行する。 (34)ポインタ47をインクリメントした後、ポイン
タ47が指すデータメモリ31の番地にレジスタ40の
内容を格納する。 (35)レジスタ42の内容をラッチ33に格納する。
ALU35はラッチ33の内容を素通りさせ、バレルシ
フタ50で左1ビットのシフトを行ない、その結果をレ
ジスタ42に格納する。 (36)固定値0をラッチ33に格納する。レジスタ4
2の内容をラッチ34に格納する。ALU35はラッチ
33の内容とラッチ34の内容を加算し、その結果をレ
ジスタ42に格納する。 (34)’ポインタ47をインクリメントした後、ポイ
ンタ47が指すデータメモリ31の番地にレジスタ41
の内容を格納する。 (35)’レジスタ42の内容をラッチ33に格納す
る。ALU35はラッチ33の内容を素通りさせ、バレ
ルシフタ50で左1ビットのシフトを行ない、その結果
をレジスタ42に格納する。 (36)’固定値1をラッチ33に格納する。レジスタ
42の内容をラッチ34に格納する。ALU35はラッ
チ33の内容とラッチ34の内容を加算し、その結果を
レジスタ42に格納する。この状態は、「パスメトリッ
クの比較、選択およびパスセレクト信号の格納を行なっ
た。」ということになる。 (37)ポインタ48が指すデータメモリ31の番地に
レジスタ42の内容を格納する。この状態は、「1つの
時点の各状態のパスセレクト信号を1ワードに詰めて格
納した。」ということになる。
ACS calculation of state S [3] (28) The path metric P ^ [1] is read from the address of the data memory 31 pointed by the pointer 45 and stored in the latch 33. The ALU 35 allows the contents of the latch 33 to pass through and stores it in the register 40. (29) The contents of the register 38 are stored in the latch 33.
The content of the register 40 is stored in the latch 34. ALU3
5 adds the contents of the latch 33 and the contents of the latch 34, and stores the result in the register 40. This state is "P ^
The sum of [1] and the branch metric for the output symbol 10 was obtained. "It turns out that. (30) The path metric P ^ [3] is read from the address of the data memory 31 pointed by the pointer 46 and stored in the latch 33. The ALU 35 allows the contents of the latch 33 to pass therethrough and stores them in the register 41. (31) The content of the register 37 is stored in the latch 33.
The contents of the register 41 are stored in the latch 34. ALU3
5 adds the contents of the latch 33 and the contents of the latch 34, and stores the result in the register 41. This state is "P ^
The sum of [3] and the branch metric for the output symbol 01 was obtained. "It turns out that. (32) The contents of the register 40 are stored in the latch 33.
The contents of the register 41 are stored in the latch 34. ALU3
5 compares the contents of the latch 33 with the contents of the latch 34. If the contents of the latch 33 are smaller than or equal to (33) and (32), (34), (35) and (36) are executed. If the content of the latch 34 is smaller in (32), (34) '(35)' (36) 'are executed. (34) After incrementing the pointer 47, the contents of the register 40 are stored in the address of the data memory 31 pointed to by the pointer 47. (35) The contents of the register 42 are stored in the latch 33.
The ALU 35 allows the contents of the latch 33 to pass through, shifts the left one bit by the barrel shifter 50, and stores the result in the register 42. (36) The fixed value 0 is stored in the latch 33. Register 4
The contents of 2 are stored in the latch 34. The ALU 35 adds the contents of the latch 33 and the contents of the latch 34, and stores the result in the register 42. (34) 'After incrementing the pointer 47, the register 41 is added to the address of the data memory 31 pointed to by the pointer 47.
Stores the contents of. (35) ′ The content of the register 42 is stored in the latch 33. The ALU 35 allows the contents of the latch 33 to pass through, shifts the left one bit by the barrel shifter 50, and stores the result in the register 42. (36) ′ The fixed value 1 is stored in the latch 33. The contents of the register 42 are stored in the latch 34. The ALU 35 adds the contents of the latch 33 and the contents of the latch 34, and stores the result in the register 42. This state means "comparison of path metrics, selection, and storage of path select signal". (37) The contents of the register 42 are stored in the address of the data memory 31 pointed to by the pointer 48. This state means that "the path select signal of each state at one time point is packed into one word and stored".

【0014】このように、上記従来の演算装置では、N
=2、k=3の場合にある時点の2 2 個の状態における
ACS計算を行なうのに、37ステップ程度で行なうこ
とができる。また、一般にN=N、k=kの場合にある
時点の2k-1 個の状態におけるACS計算を行なうの
に、(9*2k-1 +1)ステップ程度で行なうことがで
きる。ただしNが大きかったり、レジスタの本数の制限
等があるときは、多少のステップ増加を見込む必要があ
る。
As described above, in the above conventional arithmetic unit, N
= 2 and k = 3, 2 at a certain time point 2In the state of
It takes about 37 steps to perform ACS calculation.
You can Further, in general, there are cases where N = N and k = k.
Point 2k-1Of ACS calculation in each state
To (9 * 2k-1Can be done in about +1) steps
Wear. However, N is large or the number of registers is limited.
If there is such a thing, it is necessary to expect some increase in steps.
It

【0015】[0015]

【発明が解決しようとする課題】しかしながら、上記従
来の演算装置では、移動通信分野などでは1フレーム数
百ビットに対して畳み込み符号化されている場合が多
く、また移動通信においては回線のビット誤りが劣悪な
ため、畳み込み符号の拘束長kは5以上のものが使用さ
れることが多いので、各時点で各状態について行なうA
CS計算の演算量が多くなるという問題があった。
However, in the above-mentioned conventional arithmetic unit, convolutional coding is often applied to hundreds of bits in one frame in the field of mobile communication, and bit error of the line in mobile communication. Since the constraint length k of the convolutional code is often 5 or more, since A is poor, A is performed for each state at each time point.
There is a problem that the calculation amount of CS calculation increases.

【0016】本発明は、このような従来の問題を解決す
るものであり、ACS計算を行なう演算ステップ数を大
幅に軽減することができる優れた演算装置を提供するこ
とを目的とするものである。
The present invention solves such a conventional problem, and an object of the present invention is to provide an excellent arithmetic unit capable of significantly reducing the number of arithmetic steps for ACS calculation. .

【0017】[0017]

【課題を解決するための手段】本発明は、上記目的を達
成するために、同一のポインタで番地指定ができ、同時
に読み書き可能な第1および第2のデータメモリと、算
術論理演算回路と、算術論理演算回路と並行して加算を
行なう加算器と、算術論理演算回路と加算器を同時に実
行するときに対で使用する複数のレジスタと、算術論理
演算回路出力と加算器出力の大小比較を行なう大小比較
器と、大小比較器の比較結果を格納するシフトレジスタ
と、算術論理演算回路および加算器の演算結果を一時記
憶するとともに大小比較器の比較結果により選択される
第1および第2のレジスタとを備え、第1および第2の
データメモリから同一のポインタで指す番地の内容をそ
れぞれ読み出して算術論理演算回路および加算器の一方
の入力とし、対となる複数のレジスタの内容をそれぞれ
算術演算回路および加算器の他方の入力とし、算術演算
回路および加算器で同時に加算を行ない、それぞれの演
算結果をそれぞれ第1および第2のレジスタに格納する
とともに大小比較器にも入力し、その比較結果をシフト
レジスタに格納することを特徴とする。
In order to achieve the above object, the present invention provides first and second data memories which can be addressed by the same pointer and which can be read and written at the same time, an arithmetic logic operation circuit, Compares the adder that performs addition in parallel with the arithmetic logic operation circuit, the multiple registers used in pairs when executing the arithmetic logic operation circuit and the adder at the same time, and the magnitude comparison of the output of the arithmetic logic operation circuit and the adder output. A large / small comparator to be executed, a shift register for storing a comparison result of the large / small comparator, a first and a second selected by the comparison result of the large / small comparator while temporarily storing the operation result of the arithmetic logic operation circuit and the adder. A register, and reads the contents of the address pointed by the same pointer from the first and second data memories, respectively, and uses them as one input of the arithmetic logic operation circuit and the adder, and The contents of a plurality of registers are used as the other input of the arithmetic operation circuit and the adder, respectively, and the arithmetic operation circuit and the adder perform the addition at the same time. The respective operation results are stored in the first and second registers, respectively. It is characterized in that it is also input to a comparator and the comparison result is stored in a shift register.

【0018】[0018]

【作用】したがって、本発明によれば、ALUおよび加
算器で同時に加算が行なえ、それぞれの演算結果を大小
比較することができるので、1ステップでACS計算の
加算、比較を行なうことができ、データメモリのサイズ
の増加なしに演算ステップ数を減らすことができるとい
う効果を有する。
Therefore, according to the present invention, the ALU and the adder can perform the addition at the same time, and the respective operation results can be compared in magnitude. Therefore, the addition and the comparison in the ACS calculation can be performed in one step, and the data can be compared. This has the effect that the number of calculation steps can be reduced without increasing the size of the memory.

【0019】[0019]

【実施例】図1は本発明の一実施例における演算装置の
構成を示すブロック図である。図1において、1、2は
パスメトリック、パスセレクト信号などを記憶する第1
および第2のデータメモリ、3、4はそれぞれデータメ
モリ1、2に接続されデータの供給や演算結果の格納等
を行なうためのバス、5はバス4からの入力と後述する
レジスタからの入力とを選択するマルチプレクサ、6は
ALU10の右側入力の値を一時記憶するラッチ、7は
ALU10の左側入力の値を一時記憶するラッチ、8は
加算器11の右側入力の値を一時記憶するラッチ、9は
加算器11の左側入力の値を一時記憶するラッチ、10
はラッチ6および7の内容について算術論理演算を行な
うALU、11はラッチ8および9の内容を加算する加
算器、12、13、14、15はALU10および加算
器11の演算結果を一時記憶する対となる複数のレジス
タ、16、17はレジスタ12〜15の出力を選択する
マルチプレクサ、18はALU10の演算結果を一時記
憶する第1のレジスタ、19は加算器11の演算結果を
一時記憶する第2のレジスタ、20はレジスタ18、1
9の出力を選択するマルチプレクサ、21はALU10
の出力と加算器11の出力を大小比較を行ない、ALU
10の出力が小さいかまたは等しいとき比較結果0を出
力し、加算器11の出力が小さいとき比較結果1を出力
する大小比較器、22は大小比較器21の比較結果であ
るパスセレクト信号、23はパスセレクト信号22をシ
フト入力とするシフトレジスタ、24、25、26はデ
ータメモリ1、2の読み出し番地または格納番地を示す
ポインタ、27はポインタ出力を選択するマルチプレク
サ、28はパスセレクト信号22を1ステップ遅延させ
る遅延器である。
DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 is a block diagram showing the configuration of an arithmetic unit in one embodiment of the present invention. In FIG. 1, reference numerals 1 and 2 are first numbers for storing a path metric, a path select signal, and the like.
A second data memory 3 and 4 are connected to the data memories 1 and 2, respectively, and a bus 5 is provided for supplying data and storing operation results, and 5 is an input from the bus 4 and an input from a register described later. 6 is a latch for temporarily storing the value of the right input of the ALU 10, 7 is a latch for temporarily storing the value of the left input of the ALU 10, 8 is a latch for temporarily storing the value of the right input of the adder 11, 9 Is a latch for temporarily storing the value on the left side of the adder 11, 10
Is an ALU that performs arithmetic logic operation on the contents of latches 6 and 7, 11 is an adder that adds the contents of latches 8 and 9, and 12, 13, 14, and 15 are pairs that temporarily store the operation results of ALU 10 and adder 11. A plurality of registers, 16 and 17 are multiplexers for selecting the outputs of the registers 12 to 15, 18 is a first register for temporarily storing the operation result of the ALU 10, and 19 is a second register for temporarily storing the operation result of the adder 11. Register, 20 is register 18, 1
Multiplexer for selecting 9 output, 21 is ALU10
Of the ALU and the output of the adder 11 are compared, and the ALU
A large / small comparator that outputs a comparison result 0 when the output of 10 is small or equal, and a comparison result 1 when the output of the adder 11 is small, 22 is a path select signal that is the comparison result of the large / small comparator 21, 23 Is a shift register which receives the path select signal 22 as a shift input, 24, 25 and 26 are pointers indicating read addresses or storage addresses of the data memories 1 and 2, 27 is a multiplexer for selecting pointer output, and 28 is the path select signal 22. It is a delay device that delays by one step.

【0020】以上のように構成された演算装置につい
て、ある時点の2k-1 個の状態におけるACS計算の動
作について説明する。簡単のためN=2,k=3とす
る。データメモリ1、2には、一つ前の時点の各状態の
パスメトリックP^[i],(i=0〜3)、現時点で
得られる各状態のパスメトリックP[i],(i=0〜
3)およびパスセレクト信号PS[i],(i=0〜
3)を格納する領域を設けておく。図2はデータメモリ
1、2の領域割当の例を示す図である。ポインタ24、
25、26には初期値としてそれぞれ(P^[0],P
^[2])の読み出し番地、(P[0],P[2])の
格納番地、パスセレクト信号格納番地を設定しておく。
図3は一つ前の状態から現時点の状態へ遷移する様子を
すべての状態について示している。図3において、一つ
前の状態から現時点の状態へ遷移するときパスそれぞれ
に畳み込み符号器の本来の出力シンボルの例を記してあ
る。受信信号とそれぞれの出力シンボルの距離を計算し
たものがブランチメトリックとなるが、出力シンボルが
同じであればブランチメトリックは等しくなるので、出
力シンボル00,01,10,11の22 種類について
計算しておけばよく、レジスタ12、13、14、15
にすでに計算した22 種類のブランチメトリックを格納
しておく。
With respect to the arithmetic unit configured as above, the operation of ACS calculation in 2 k-1 states at a certain time will be described. For simplicity, N = 2 and k = 3. In the data memories 1 and 2, the path metric P ^ [i], (i = 0 to 3) of each state at the immediately preceding time point, and the path metric P [i], (i = 0 to
3) and the path select signals PS [i], (i = 0 to 0
An area for storing 3) is provided. FIG. 2 is a diagram showing an example of area allocation of the data memories 1 and 2. Pointer 24,
The initial values of 25 and 26 are (P ^ [0], P
A read address of ^ [2]), a storage address of (P [0], P [2]), and a path select signal storage address are set in advance.
FIG. 3 shows the transition from the previous state to the current state for all states. In FIG. 3, an example of the original output symbol of the convolutional encoder is shown for each path when the previous state transitions to the current state. The branch metric is calculated by calculating the distance between the received signal and each output symbol. If the output symbols are the same, the branch metrics are the same. Therefore, calculation is performed for 2 2 types of output symbols 00, 01, 10, 11. All you have to do is register 12, 13, 14, 15
Store 2 2 types of branch metrics already calculated in.

【0021】以下、ある時点の22 個の状態におけるA
CS計算の動作概要をステップに分けて説明する。
Hereinafter, A in 2 2 states at a certain time point
An outline of the CS calculation operation will be described in steps.

【0022】状態S[0]のACS計算 (1)ポインタ24が指すデータメモリ1、2の番地か
らパスメトリックP^[0],P^[2]を読み出し、
それぞれラッチ6、ラッチ9に格納する。レジスタ12
の内容をラッチ7に、これと対になるレジスタ15の内
容をラッチ8に格納する。ALU10は、ラッチ6の内
容とラッチ7の内容を加算し、その結果をレジスタ18
に格納するとともに大小比較器21の片方の入力とす
る。一方加算器11は、ラッチ8の内容とラッチ9の内
容を加算し、その結果をレジスタ19に格納するととも
に大小比較器21の他方の入力とする。大小比較器21
は、ALU10の出力と加算器11の出力との大小比較
を行ない、パスセレクト信号22を発生する。パスセレ
クト信号22は、シフトレジスタ23および遅延器28
にラッチされる。この状態は、「P^[0]と出力シン
ボル00に対するブランチメトリックとの和が求めら
れ、P^[2]と出力シンボル11に対するブランチメ
トリックとの和が求められ、パスメトリックの比較、選
択およびパスセレクト信号の格納を行なった。」という
ことになる。 (2)ポインタ25が指すデータメモリ1の番地に遅延
器28の出力で選択されたレジスタ18またはレジスタ
19の内容を格納する。
ACS calculation of state S [0] (1) The path metrics P ^ [0] and P ^ [2] are read from the addresses of the data memories 1 and 2 pointed by the pointer 24,
The data is stored in the latch 6 and the latch 9, respectively. Register 12
The contents of the above are stored in the latch 7, and the contents of the register 15 corresponding thereto are stored in the latch 8. The ALU 10 adds the contents of the latch 6 and the contents of the latch 7 and outputs the result to the register 18
And the other side of the magnitude comparator 21. On the other hand, the adder 11 adds the contents of the latch 8 and the contents of the latch 9, stores the result in the register 19, and uses it as the other input of the magnitude comparator 21. Large and small comparator 21
Compares the output of the ALU 10 with the output of the adder 11 to generate a path select signal 22. The path select signal 22 is transferred to the shift register 23 and the delay unit 28.
Latched on. In this state, the sum of “P ^ [0] and the branch metric for the output symbol 00 is obtained, and the sum of P ^ [2] and the branch metric for the output symbol 11 is obtained. The path select signal has been stored. " (2) The contents of the register 18 or the register 19 selected by the output of the delay device 28 are stored in the address of the data memory 1 pointed to by the pointer 25.

【0023】状態S[1]のACS計算 (3)レジスタ15の内容をラッチ7に、これと対にな
るレジスタ12の内容をラッチ8に格納する。ALU1
0は、ステップ(1)でラッチ6にすでに格納されてい
る内容とラッチ7の内容を加算し、その結果をレジスタ
18に格納するとともに大小比較器21の片方の入力と
する。一方加算器11は、ステップ(1)でラッチ9に
すでに格納されている内容とラッチ8の内容を加算し、
その結果をレジスタ19に格納するとともに大小比較器
21の他方の入力とする。大小比較器21は、ALU1
0の出力と加算器11の出力との大小比較を行ない、パ
スセレクト信号22を発生する。パスセレクト信号22
は、シフトレジスタ23および遅延器28にラッチされ
る。この状態は、「P^[0]と出力シンボル11に対
するブランチメトリックとの和が求められ、P^[2]
と出力シンボル00に対するブランチメトリックとの和
が求められ、パスメトリックの比較、選択およびパスセ
レクト信号の格納を行なった。」ということになる。 (4)ポインタ25をインクリメントした後、ポインタ
25が指すデータメモリ1の番地に遅延器28の出力で
選択されたレジスタ18またはレジスタ19の内容を格
納する。 (5)ポインタ25の内容を(P[0],P[2])の
格納番地に戻す。
ACS calculation of state S [1] (3) The contents of the register 15 are stored in the latch 7, and the contents of the register 12 paired therewith are stored in the latch 8. ALU1
For 0, the contents already stored in the latch 6 in step (1) and the contents of the latch 7 are added, the result is stored in the register 18, and the result is input to one of the magnitude comparators 21. On the other hand, the adder 11 adds the contents already stored in the latch 9 and the contents of the latch 8 in step (1),
The result is stored in the register 19 and used as the other input of the magnitude comparator 21. The size comparator 21 is the ALU1
The output of 0 and the output of the adder 11 are compared in size to generate a path select signal 22. Path select signal 22
Are latched by the shift register 23 and the delay unit 28. In this state, the sum of “P ^ [0] and the branch metric for the output symbol 11 is obtained, and P ^ [2]
Then, the sum of the branch metric for the output symbol 00 is obtained, the path metrics are compared, selected, and the path select signal is stored. "It turns out that. (4) After incrementing the pointer 25, the contents of the register 18 or the register 19 selected by the output of the delay device 28 are stored in the address of the data memory 1 pointed to by the pointer 25. (5) The content of the pointer 25 is returned to the storage address of (P [0], P [2]).

【0024】状態S[2]のACS計算 (6)ポインタ24をインクリメントした後、ポインタ
24が指すデータメモリ1、2の番地からパスメトリッ
クP^[1],P^[3]を読み出し、それぞれラッチ
6、ラッチ9に格納する。レジスタ13の内容をラッチ
7に、これと対になるレジスタ14の内容をラッチ8に
格納する。ALU10は、ラッチ6の内容とラッチ7の
内容を加算し、その結果をレジスタ18に格納するとと
もに大小比較器21の片方の入力とする。一方加算器1
1は、ラッチ8の内容とラッチ9の内容を加算し、その
結果をレジスタ19に格納するとともに大小比較器21
の他方の入力とする。大小比較器21は、ALU10の
出力と加算器11の出力との大小比較を行ない、パスセ
レクト信号22を発生する。パスセレクト信号22は、
シフトレジスタ23および遅延器28にラッチされる。
この状態は、「P^[1]と出力シンボル01に対する
ブランチメトリックとの和が求められ、P^[3]と出
力シンボル01に対するブランチメトリックとの和が求
められ、パスメトリックの比較、選択およびパスセレク
ト信号の格納を行なった。」ということになる。 (7)ポインタ25が指すデータメモリ2の番地に遅延
器28の出力で選択されたレジスタ18またはレジスタ
19の内容を格納する。
ACS calculation of state S [2] (6) After incrementing the pointer 24, the path metrics P ^ [1] and P ^ [3] are read from the addresses of the data memories 1 and 2 pointed to by the pointer 24, respectively. The data is stored in the latch 6 and the latch 9. The contents of the register 13 are stored in the latch 7, and the contents of the register 14 paired therewith are stored in the latch 8. The ALU 10 adds the contents of the latch 6 and the contents of the latch 7, stores the result in the register 18, and inputs it to one of the magnitude comparators 21. Meanwhile adder 1
1 adds the contents of the latch 8 and the contents of the latch 9 and stores the result in the register 19 and the magnitude comparator 21.
The other input of. The magnitude comparator 21 compares the output of the ALU 10 and the output of the adder 11 to generate a path select signal 22. The path select signal 22 is
It is latched by the shift register 23 and the delay device 28.
In this state, the sum of "P ^ [1]" and the branch metric for the output symbol 01 is obtained, and the sum of P ^ [3] and the branch metric for the output symbol 01 is obtained. The path select signal has been stored. " (7) The contents of the register 18 or the register 19 selected by the output of the delay device 28 are stored in the address of the data memory 2 pointed by the pointer 25.

【0025】状態S[3]のACS計算 (8)レジスタ14の内容をラッチ7に、これと対にな
るレジスタ13の内容をラッチ8に格納する。ALU1
0は、ステップ(6)でラッチ6にすでに格納されてい
る内容とラッチ7の内容を加算し、その結果をレジスタ
18に格納するとともに大小比較器21の片方の入力と
する。一方加算器11は、ステップ(6)でラッチ8に
すでに格納されている内容とラッチ9の内容を加算し、
その結果をレジスタ19に格納するとともに大小比較器
21の他方の入力とする。大小比較器21は、ALU1
0の出力と加算器11の出力との大小比較を行ない、パ
スセレクト信号22を発生する。パスセレクト信号22
は、シフトレジスタ23および遅延器28にラッチされ
る。この状態は、「P^[1]と出力シンボル10に対
するブランチメトリックとの和が求められ、P^[3]
と出力シンボル01に対するブランチメトリックとの和
が求められ、パスメトリックの比較、選択およびパスセ
レクト信号の格納を行なった。」ということになる。 (9)ポインタ25をインクリメントした後、ポインタ
25が指すデータメモリ2の番地に遅延器28の出力で
選択されたレジスタ18またはレジスタ19の内容を格
納する。 (10)ポインタ26が指すデータメモリ1の番地に、
シフトレジスタ23の内容を格納する。この状態は、
「1つの時点の各状態のパスセレクト信号を1ワードに
詰めて格納した。」ということになる。
ACS calculation of state S [3] (8) The contents of the register 14 are stored in the latch 7, and the contents of the register 13 paired therewith are stored in the latch 8. ALU1
For 0, the contents already stored in the latch 6 in step (6) and the contents of the latch 7 are added, the result is stored in the register 18, and the result is input to one of the magnitude comparators 21. On the other hand, the adder 11 adds the contents already stored in the latch 8 and the contents of the latch 9 in step (6),
The result is stored in the register 19 and used as the other input of the magnitude comparator 21. The size comparator 21 is the ALU1
The output of 0 and the output of the adder 11 are compared in size to generate a path select signal 22. Path select signal 22
Are latched by the shift register 23 and the delay unit 28. In this state, the sum of “P ^ [1] and the branch metric for the output symbol 10 is obtained, and P ^ [3]
And the branch metric for the output symbol 01 are obtained, the path metrics are compared, selected, and the path select signal is stored. "It turns out that. (9) After incrementing the pointer 25, the content of the register 18 or the register 19 selected by the output of the delay device 28 is stored in the address of the data memory 2 pointed to by the pointer 25. (10) At the address of the data memory 1 pointed by the pointer 26,
The contents of the shift register 23 are stored. This state is
That is, "the path select signal of each state at one time point is packed into one word and stored."

【0026】このように、上記実施例の演算装置では、
N=2、k=3の場合にある時点の22 個の状態におけ
るACS計算を行なうのに、従来の37ステップ程度に
対し10ステップ程度で行なうことができる。また、一
般にN=N、k=kの場合にある時点の2k-1 個の状態
におけるACS計算を行なうのに、従来の(9*2k- 1
+1)ステップ程度に対し(2*2k-1 +1)ステップ
程度で行なうことができる。ただしNが大きかったり、
レジスタの本数の制限等があるときは、多少のステップ
増加を見込む必要がある。
As described above, in the arithmetic unit of the above embodiment,
In the case of N = 2 and k = 3, ACS calculation in 2 2 states at a certain time can be performed in about 10 steps as compared with the conventional 37 steps. In addition, in general, when N = N and k = k, ACS calculation in 2 k-1 states at a certain time is performed by using the conventional (9 * 2 k- 1)
It can be performed in about (2 * 2 k-1 +1) steps as opposed to about +1) steps. However, N is large,
If there is a limit on the number of registers, it is necessary to expect some increase in steps.

【0027】[0027]

【発明の効果】本発明は、上記実施例から明らかなよう
に、ALUおよび加算器で同時に加算を行ない、それぞ
れの演算結果を大小比較するので、1ステップでACS
計算の加算、比較を行なうことができ、データメモリを
2つに分割するもののサイズの合計では増加はなく、A
CS計算の演算ステップ数を大幅に減らすことができる
という利点を有する。
According to the present invention, as is apparent from the above embodiment, since the ALU and the adder simultaneously perform the addition and the respective operation results are compared in magnitude, the ACS is performed in one step.
Calculations can be added and compared, and the data memory is divided into two but the total size does not increase.
This has an advantage that the number of calculation steps of CS calculation can be significantly reduced.

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

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

【図2】演算装置の動作説明のためのデータメモリの領
域割当例を示す模式図
FIG. 2 is a schematic diagram showing an example of area allocation of a data memory for explaining the operation of the arithmetic unit.

【図3】演算装置の動作説明のための一つ前の状態から
現時点の状態へ遷移する様子をすべての状態について示
した状態遷移図
FIG. 3 is a state transition diagram showing, for all states, a state of transition from the previous state to the current state for explaining the operation of the arithmetic unit.

【図4】演算装置の動作説明のためのデータメモリの領
域割当例を示す模式図
FIG. 4 is a schematic diagram showing an example of area allocation of a data memory for explaining the operation of the arithmetic unit.

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

【図6】従来の演算装置の概略構成を示すブロック図FIG. 6 is a block diagram showing a schematic configuration of a conventional arithmetic unit.

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

1 第1のデータメモリ 2 第2のデータメモリ 3 バス 4 バス 5 マルチプレクサ 6 ラッチ 7 ラッチ 8 ラッチ 9 ラッチ 10 ALU(算術論理演算回路) 11 加算器 12 レジスタ 13 レジスタ 14 レジスタ 15 レジスタ 16 マルチプレクサ 17 マルチプレクサ 18 第1のレジスタ 19 第2のレジスタ 20 マルチプレクサ 21 大小比較器 22 パスセレクト信号 23 シフトレジスタ 24 ポインタ 25 ポインタ 26 ポインタ 27 マルチプレクサ 28 遅延器 1 First Data Memory 2 Second Data Memory 3 Bus 4 Bus 5 Multiplexer 6 Latch 7 Latch 8 Latch 9 Latch 10 ALU (Arithmetic Logic Operation Circuit) 11 Adder 12 Register 13 Register 14 Register 15 Register 16 Multiplexer 17 Multiplexer 18 First register 19 Second register 20 Multiplexer 21 Large / small comparator 22 Path select signal 23 Shift register 24 Pointer 25 Pointer 26 Pointer 27 Multiplexer 28 Delayer

───────────────────────────────────────────────────── フロントページの続き (72)発明者 岡 本 稔 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Minoru Okamoto 1006 Kadoma, Kadoma City, Osaka Prefecture Matsushita Electric Industrial Co., Ltd.

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 同一のポインタで番地指定ができ、同時
に読み書き可能な第1および第2のデータメモリと、算
術論理演算回路と、算術論理演算回路と並行して加算を
行なう加算器と、算術論理演算回路と加算器を同時に実
行するときに対で使用する複数のレジスタと、算術論理
演算回路出力と加算器出力の大小比較を行なう大小比較
器と、大小比較器の比較結果を格納するシフトレジスタ
と、算術論理演算回路および加算器の演算結果を一時記
憶するとともに大小比較器の比較結果により選択される
第1および第2のレジスタとを備え、第1および第2の
データメモリから同一のポインタで指す番地の内容をそ
れぞれ読み出して算術論理演算回路および加算器の一方
の入力とし、対となる複数のレジスタの内容をそれぞれ
算術演算回路および加算器の他方の入力とし、算術演算
回路および加算器で同時に加算を行ない、それぞれの演
算結果をそれぞれ第1および第2のレジスタに格納する
とともに大小比較器にも入力し、その比較結果をシフト
レジスタに格納することを特徴とする演算装置。
1. A first and a second data memory capable of address designation by the same pointer and capable of simultaneous reading and writing, an arithmetic logic operation circuit, an adder for performing addition in parallel with the arithmetic logic operation circuit, and an arithmetic operation. Multiple registers used as a pair when executing the logic operation circuit and adder at the same time, a magnitude comparator that compares the magnitude of the output of the arithmetic logic operation circuit and the adder output, and a shift that stores the comparison result of the magnitude comparator The register and the first and second registers for temporarily storing the operation results of the arithmetic logic operation circuit and the adder and being selected by the comparison result of the magnitude comparator are provided, and the same data from the first and second data memories is provided. The contents of the address pointed to by the pointer are read out and used as one input of the arithmetic logic operation circuit and the adder, and the contents of a plurality of registers forming a pair are respectively calculated. The other input of the adder is added simultaneously by the arithmetic operation circuit and the adder. The respective operation results are stored in the first and second registers, respectively, and also input to the magnitude comparator, and the comparison result is shifted. An arithmetic unit characterized by storing in a register.
JP5144948A 1992-09-29 1993-06-16 Arithmetic unit Pending JPH0722969A (en)

Priority Applications (9)

Application Number Priority Date Filing Date Title
JP5144948A JPH0722969A (en) 1993-06-16 1993-06-16 Arithmetic unit
AU47598/93A AU652896B2 (en) 1992-09-29 1993-09-27 Arithmetic apparatus
US08/126,563 US5715470A (en) 1992-09-29 1993-09-27 Arithmetic apparatus for carrying out viterbi decoding at a high speed
DE69333460T DE69333460T2 (en) 1992-09-29 1993-09-28 Arithmetic device
DE69331568T DE69331568T2 (en) 1992-09-29 1993-09-28 Arithmetic device
EP00113488A EP1049001B1 (en) 1992-09-29 1993-09-28 Arithmetic apparatus
EP93115631A EP0590597B1 (en) 1992-09-29 1993-09-28 Arithmetic apparatus
CN93118166A CN1049778C (en) 1992-09-29 1993-09-29 Arithmetic device for realizing Viterbi decoding of convolutional code for error correction
CN99106651.0A CN1237046A (en) 1992-09-29 1999-05-18 Operator of Witt ratio encoding of convolutional code for realizing code error correction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5144948A JPH0722969A (en) 1993-06-16 1993-06-16 Arithmetic unit

Publications (1)

Publication Number Publication Date
JPH0722969A true JPH0722969A (en) 1995-01-24

Family

ID=15373915

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5144948A Pending JPH0722969A (en) 1992-09-29 1993-06-16 Arithmetic unit

Country Status (1)

Country Link
JP (1) JPH0722969A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6337890B1 (en) 1997-08-29 2002-01-08 Nec Corporation Low-power-consumption Viterbi decoder
US6343105B1 (en) 1997-06-10 2002-01-29 Nec Corporation Viterbi decoder
US7325184B2 (en) 1997-06-30 2008-01-29 Matsushita Electric Industrial Co., Ltd. Communications digital signal processor and digital signal processing method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6343105B1 (en) 1997-06-10 2002-01-29 Nec Corporation Viterbi decoder
US7325184B2 (en) 1997-06-30 2008-01-29 Matsushita Electric Industrial Co., Ltd. Communications digital signal processor and digital signal processing method
US6337890B1 (en) 1997-08-29 2002-01-08 Nec Corporation Low-power-consumption Viterbi decoder

Similar Documents

Publication Publication Date Title
US5715470A (en) Arithmetic apparatus for carrying out viterbi decoding at a high speed
US5946361A (en) Viterbi decoding method and circuit with accelerated back-tracing and efficient path metric calculation
EP1102408B1 (en) Viterbi decoder
US5440504A (en) Arithmetic apparatus for digital signal processor
JPH10107651A (en) Viterbi decoder
US6333954B1 (en) High-speed ACS for Viterbi decoder implementations
EP1650874A1 (en) Viterbi decoder
JPH0722969A (en) Arithmetic unit
JP3753822B2 (en) Viterbi decoding method and apparatus
JP4580927B2 (en) Viterbi decoding apparatus and Viterbi decoding method
JP3191442B2 (en) Arithmetic unit for Viterbi decoding
JP2917577B2 (en) Arithmetic unit
JP3235333B2 (en) Viterbi decoding method and Viterbi decoding device
JPH0746145A (en) Arithmetic unit
JPH08167858A (en) Viterbi decoder
JP3269845B2 (en) Viterbi decoder
JP3231647B2 (en) Viterbi decoder
JPS63129714A (en) viterbi decoder
JPH047849B2 (en)
JP3288328B2 (en) Apparatus and method for speeding up traceback processing of Viterbi decoder
JP5177028B2 (en) Decryption device
JPH0537402A (en) Viterbi decoder
JPH0653845A (en) Viterbi decoder
JPH0690178A (en) Arithmetic unit
Jamal et al. Design and FPGA Implementation of Low Power Punctured Soft Decision Viterbi Decoder