A path memory circuit for use in a viterbi decoding process performed based on state transitions through a number n (n is a positive integer) of states. The path memory circuit includes a memory area A formed by the storage circuits of the first to ith (i is an integer from 0 to m) stages; a memory area b formed by the selective storage circuits that select and hold a decoding result for any state k (k is integer from 1 to n) of the storage circuits from the i+1th stage to the mth stage; and a memory area c formed by the selective storage circuits other than the memory area A and the memory area b.
|
1. A path memory circuit for use in a viterbi decoding process performed based on state transitions through a number n (n is a positive integer) of states, comprising m (m is a positive integer) stages of storage circuits, each storage circuit including n rows of selective storage circuits, each selective storage circuit including a selection circuit for selectively outputting an input according to a result of the viterbi decoding and a storage element circuit for storing a result selectively outputted from the selection circuit, the path memory circuit comprising:
a memory area A formed by the storage circuits of the first to ith (i is an integer from 0 to m) stages;
a memory area b formed by the selective storage circuits that select and hold a decoding result for any state k (k is an integer from 1 to n) of the storage circuits from the i+1th stage to the mth stage; and
a memory area c formed by the selective storage circuits other than the memory area A and the memory area b,
wherein according to a memory length control signal, the storage circuits of the j (j is an integer from i+1 to m)th and subsequent stages in the memory area c are stopped, and the selection circuits of the jth and subsequent stages in the memory area b select an output of the selective storage circuits of a preceding storage circuit belonging to the memory area b.
2. The path memory circuit of
memory length setting means for setting, to a first state, the memory length control signal to the storage circuit of a stage so as to set a path memory length to an intended length depending on a status of a signal to be viterbi-decoded; and
logical sum means for, when the memory length control signal to the storage circuit of a stage is set to the first state, setting, to the first state, the memory length control signal to the storage circuit of the following stage.
3. The path memory circuit of
convergence determination means for, when it is determined that outputs from all the storage element circuits of a stage are equal to one another, setting, to a first state, the memory length control signal to the storage circuit of the following stage; and
logical sum means for, when the memory length control signal to the storage circuit of a stage is set to the first state, setting, to the first state, the memory length control signal to the storage circuit of the following stage.
4. The path memory circuit of
5. The path memory circuit of
data holding means for taking in an input signal when a synchronization pulse signal is in a first state and for holding the input signal when the synchronization pulse signal is in a second state; and
synchronization pulse producing means, receiving a synchronization signal and a control signal as its inputs, for outputting the synchronization pulse signal in the first state when the control signal is in the first state and for producing a pulse signal from the synchronization signal and outputting the produced pulse signal as the synchronization pulse signal when the control signal is in the second state,
wherein the memory length control signal is used as the control signal of the synchronization pulse producing means.
6. The path memory circuit of
master storage means for holding an input signal when a first synchronization signal is in a first state and for taking in the input signal when the first synchronization signal is in a second state;
slave storage means for taking in an output of the master storage means when a second synchronization signal is in the first state and for holding the output when the second synchronization signal is in the second state; and
synchronization signal producing means, receiving a synchronization signal and a control signal as its inputs, for outputting the synchronization signal as the first synchronization signal, for outputting an inverted version of the synchronization signal as the second synchronization signal when the control signal is in the first state, and for outputting the synchronization signal as it is as the second synchronization signal when the control signal is in the second state,
wherein the memory length control signal is used as the control signal of the synchronization signal producing means.
7. The path memory circuit of
synchronization pulse producing means for producing a pulse signal from a received synchronization signal and outputting the produced pulse signal; and
a driver circuit, receiving an output from the synchronization pulse producing means and the memory length control signal, for outputting a signal in a first state when the memory length control signal is in the first state, and for outputting an output from the synchronization pulse producing means when the memory length control signal is in the second state,
wherein an output signal from the driver circuit is given as a synchronization signal to the memory area b.
8. The path memory circuit of
a synchronous-type selective storage circuit for holding and outputting an input in synchronism with a clock signal when the memory length control signal is in a first state;
a repeater-type storage element circuit for outputting an input signal as it is, irrespective of the clock signal, when the memory length control signal is in the first state.
9. The path memory circuit of
each storage element circuit in the memory area b includes a circuit for a scan test, and a scan path is formed by connecting together the storage element circuits in an order starting from the i+1th stage to the mth stage; and
the storage element circuits of the jth and subsequent stages in the memory area b operate in a scan test mode when the storage circuits of the jth and subsequent stages in the memory area c are stopped according to the memory length control signal.
10. The path memory circuit of
11. The path memory circuit of
12. The path memory circuit of
13. The path memory circuit of
14. The path memory circuit of
|
This application is the U.S. National Phase under 35 U.S.C. §371 of International Application No. PCT/JP2004/018194, filed on Dec. 7, 2004, which in turn claims the benefit of Japanese Application No. 2004-112786, filed on Apr. 7, 2004, the disclosures of which Applications are incorporated by reference herein.
The present invention relates to a path memory circuit used in Viterbi decoding for storing survivor path information of each state, which is used in the read channel of communications systems, optical discs and magnetic disks.
Viterbi decoding is a technique used for a received data stream that has been encoded by a particular convolution, and assumes the most likely data based on the rules of the convolution to thereby decode the received data stream. The convolution rules can be expressed as a state transition diagram. With the concept of time taken into consideration in addition to the state transition diagram, they can be expressed as a trellis diagram.
In Viterbi decoding, in order to evaluate the likelihood (probability) of each transition from each state, the branch metric is calculated for each branch by using an evaluation function. Since the start of a decoding process, each state stores the cumulative branch metric of the most likely one of the branches leading to the state. This is called a path metric. Normally, a branch metric is calculated as the square error between the ideal value and the actually received value, and it is determined that the most likely branch is the one for which the addition between the path metric at time k−1 and the branch metric at time k yields the smallest value.
A path memory circuit holds an ideal value that takes a transition represented by the most likely branch at each time segment, and shifts the value to subsequent stages over time. At the time of the shift operation, each storage circuit selects and holds a value from a storage element circuit of a preceding stage along the most likely branch. For example, if at a given point in time the most likely branch for S0 is the branch for a transition thereto from S1, then, M0(i)=M1(i−1). In the expression, M0(x) is the value of the memory in the xth stage for state 0, M1(x) is the value of the memory in the xth stage for state 1, and i is an integer in the range from 1 to the number of path memory stages minus 1.
A path, obtained through such a process, that extends through the most likely branches at different points in time is called a survivor path. While each state in a trellis diagram has its survivor path, the survivor paths of all states converge into a single path as the decoding process proceeds. Similarly, as the shift operation proceeds, the values of the path memory circuit for each state converge into a single value. The obtained single survivor path is the final decoding result of the Viterbi decoding process.
As can be seen from the above description, a sufficient number of memory stages (memory length) of a path memory circuit is such a number that it is possible to hold all data occurring until the decoded results converge into one. However, the amount of time required until the convergence occurs varies depending not only on the encoding scheme and the application, but also on other environmental factors such as the temperature and the noise, and it is not possible to uniquely determine such an amount of time. Therefore, a conventional path memory circuit for Viterbi decoding employs a large memory length taking environmental variations into consideration. This increases the circuit scale and the power consumption.
In view of this, another type of path memory circuits are widely proposed in the art, in which the memory length can be changed according to the status of the decoding process (see Patent Document 1 and Patent Document 2). For example, in a path memory circuit having a memory length of M (M is a positive integer) stages as shown in
When receiving a memory length control signal, which instructs to stop the jth and subsequent storage circuits 23, the operation of the jth and subsequent storage circuits 23 is stopped by, for example, stopping the supply of the clock signal thereto. In order to normally take out the output from the path memory circuit, the output selection circuit 24 selectively outputs the output of the storage circuit 23 of the j−1th stage according to the memory length control signal. Thus, the path memory circuit of
There is also a known approach in which the input stage to the path memory circuit is selected by allowing for early stages, instead of later stages, of the path memory circuit to be stopped (see Patent Document 3).
Patent Document 1: Japanese Laid-Open Patent Publication No. 63-166332
Patent Document 2: Japanese Laid-Open Patent Publication No. 10-302412
Patent Document 3: Japanese Laid-Open Patent Publication No. 2002-368628
Thus, there have been proposed approaches in which the memory length of the path memory circuit is made variable in order to solve the power consumption problem of path memory circuits, but there still remains the problem of the increase in the circuit scale. In the configuration shown in
An object of the present invention is to reduce the power consumption and the circuit scale of a path memory circuit.
With a path memory circuit of the present invention, it is possible, using a control signal, to stop the operation of the storage element circuits of the i+1 (i is an integer where 0<i<M)th and subsequent stages. The path memory circuit is divided into memory areas A, B and C, wherein the memory area B includes those of the storage element circuits of the i+1th and subsequent stages that hold data regarding a certain state, and the memory area C includes those of the storage element circuits of the i+1th and subsequent stages that do not belong to the memory area B, with the memory area A including the remaining storage element circuits. When the storage element circuits of the j (j is an integer where i<j≦M)th and subsequent stages are stopped, the jth and subsequent stages in the memory area C are stopped, while the jth and subsequent stages in the memory area B are controlled so that the storage element circuits belonging to the memory area B function as shift registers.
Thus, with the path memory circuit of the present invention, even when the storage element circuits of the jth and subsequent stages are stopped, it is possible to obtain the path memory output without adding a bus wire for taking out an output from each stage or a selector for selecting the output, thereby being significantly effective in reducing the power consumption of the path memory circuit and in reducing the circuit scale.
For the purpose of illustration, the following description will be directed to a Viterbi decoder for decoding a data stream that has been encoded by the convolutional encoder shown in
The maximum memory length of the path memory circuit shown in
The memory area A is an area including the selective storage circuits 12 for all the states up to the ith stage, which are needed when the Viterbi decoding results converge at the earliest point in time. The memory area B is an area including those for state 0, among the selective storage circuits 12 from the i+1th stage to the Mth stage. The memory area C is an area including all the other selective storage circuits 12. The selection circuits 10 and the storage element circuits 11 belonging to the memory area A and the memory area C may be ordinary selectors and ordinary flip-flops or latches, respectively. In contrast, the selection circuits 10 belonging to the memory area B need to be controlled so that it selects an input coming from those of the selective storage circuits 12 of the preceding stage that belong to the memory area B when the operation thereof is stopped. The storage element circuits 11 of the memory area B can be ordinary flip-flops or latches.
How to stop the operation of the storage circuits 13 of the jth and subsequent stages will now be described. When a memory length control signal, instructing to stop the operation (it is assumed herein that the memory length control signal is instructing an operation stop when it is at H), is inputted to the storage circuits 13 of the jth and subsequent stages, the circuits from the i+1th stage to the j−1th stage in the memory area B operate normally while the selection circuits 10 of the jth and subsequent stages always select the output from the selective storage circuit 12 of state 0 (the X input in
In the memory area C, the circuits from the i+1th stage to the j−1th stage operate normally, and those of the jth and subsequent stages stop operating. A commonly known method of stopping the operation is to stop the supply of the clock signal. Stopping the operation of the selective storage circuits 12 by stopping the supply of the clock signal can be realized by providing a separate wire for each stage for supplying the clock signal to the memory area C, wherein a clock signal can be fixed to L or H when the corresponding memory length control signal is at H.
A back bias may be applied to the substrate of transistors forming circuits of the stage where the memory length control signal is at H. In this way, it is possible to reduce the leak current, and it is thus possible to further reduce the power consumption. Alternatively, a separate power source may be provided for each stage, whereby it is possible to stop the power supply itself to circuits of the stage whose operation is being stopped.
Then, a method for producing the memory length control signal will be described. As disclosed in Patent Documents 1 and 2, identified above, a commonly known method is to determine the necessary memory length in view of external factors such as the amplitude level of signals to be inputted to the Viterbi decoder and the position of the disk reading head.
The memory length setting unit 71 receives an input representing external factors to estimate the optimal memory length based on the input, and then to output a memory length control signal according to the estimation results. The estimation method may take any of various embodiments depending on the application. In one embodiment, the method is to calculate the average input signal intensity and select one of pre-stored memory lengths based on the calculated value so as to output the memory length control signal. If the memory length control circuit determines that the decoding can be done with the memory length of j−1 stages, the memory length control signals to be inputted to the storage circuits 13 of the jth and subsequent stages are all controlled to H by the logical sum circuits 72.
Another method is to produce the memory length control signal in view of the progress of the Viterbi decoding.
A second embodiment of the present invention will now be described. In the second embodiment, the storage element circuit 11 in the memory area B holds and outputs the input signal in synchronism with the clock signal when the memory length control signal is at L, and outputs the input signal as it is, irrespective of the clock signal, when the memory length control signal is at H. Thus, while it is necessary to provide separate clock wires for the memory area B and for the memory area C in the first embodiment, it is not necessary in the second embodiment. The storage element circuits 11 in the memory area C may be of the same configuration as those in the memory area B.
Where a circuit of the configuration shown in
Where a circuit of the configuration shown in
Another configuration with a higher area efficiency will now be described.
As is apparent from the description above, with any of the configurations shown in
Except for what is specified in this section, the operation for the memory area A and the memory area C, the method for producing the memory length control signal, etc., are similar to those of the first embodiment.
In the third embodiment, a portion of the selective storage circuit belonging to the memory area B is the synchronous-type selective storage element circuit 15 with the remaining portion being the repeater-type selective storage element circuit 14. In an actual arrangement, the synchronous-type selective storage circuits 15 are provided at intervals of a certain number of stages. This number of stages can be determined as follows:
Interval of synchronous-type selective storage element circuits 15≦(Tc−Tl−To−Ts)/(Td+Tl)
where Tc is the period of the clock signal inputted to the path memory circuit, Td is the output delay of the repeater-type selective storage element circuit 14, To is the output delay of the synchronous-type selective storage element circuit 15, Ts is the setup constraint, and Tl is the wire delay between selective storage circuits.
The clock control circuit 16 outputs the clock signal when the input memory length control signal is at L, and stops outputting the clock signal when it is at H. The output of the clock control circuit 16 is supplied to all the selective storage element circuits 14 and 12 in the memory area B and the memory area C for stages where the repeater-type selective storage element circuit 14 is used in the memory area B. For the synchronous-type selective storage element circuits 15, the output of the clock control circuit 16 is supplied only to the selective storage circuits 12 in the memory area C, and the original clock signal, which is not controlled by the clock control circuit 16, is inputted to the selective storage circuits in the memory area B (i.e., the synchronous-type selective storage element circuits 15).
With such a configuration, where the jth and subsequent stages are stopped by the memory length control signal, the synchronous-type selective storage element circuit 15 holds and outputs data in synchronism with the clock signal, and the repeater-type selective storage element circuit 14 outputs the input signal as it is, in the memory area B.
Thus, it is possible to minimize the amount of power to be consumed by the operation of the clock, while avoiding a problem that the output delay of the jth to Mth stages, whose operation is to be stopped, exceeds the period of the operation clock, thus causing a timing error.
While the selective storage circuits 12 for any state may be used for the memory area B in the first and second embodiments described above, a most efficient configuration is a configuration that employs, for the memory area B, a group of the selective storage circuits 12 each being a selective storage circuit for a state having a state transition path to the same state. For example, in the trellis diagram shown in
Typically, a data holding circuit such as a flip-flop includes a scan test circuit for the chip inspection.
Such data holding circuits with a scan function are used as the storage element circuits 11 in the memory area B, and the scan paths 17 are provided so as to connect together all the storage element circuits 11 in the memory area B in an ascending order from the ith stage to the Mth stage. In each stage, the output signal of the operation mode control circuit 18 is inputted to NT of the selection circuit 101 in the storage element circuit 11. The operation mode control circuit 18 outputs the input operation mode control signal when the memory length control signal is at L, and outputs a signal fixed to H when the memory length control signal is at H.
With such a configuration, when the jth and subsequent stages are stopped by the memory length control signal, the storage element circuits 11 in the memory area B of the jth and subsequent stages operate in a scan mode. Specifically, each storage element circuit 11 receives the output from the preceding storage element circuit 11 via the scan path 17, which is repeated to the storage element circuit 11 of the Mth stage.
In this configuration, if a typical flip-flop with a scan function is used as the storage element circuit 11, it is necessary to input the clock signal even to stages where the operation is stopped in the memory area B. However, if the storage element circuit 11 of the second embodiment shown in
In addition, with the configuration of
The present embodiment may also employ a configuration where the synchronous-type selective storage element circuits 15 and the repeater-type selective storage element circuits 14 coexist, as in the third embodiment.
While it is stated in the fourth embodiment that the selective storage circuit 12 for any state may be employed for the memory area B, distribution of the memory length control signal, the operation mode control signal, the clock signal, etc., is easier if the layout is such that each memory area is provided within a single area not overlapping with one another. Thus, in practice, it is preferred to employ an arrangement in which a row of the selective storage circuits 12 at the top or the bottom of the arrangement forms the memory area B, as shown in
The path memory circuit of the present invention is characteristic in that it realizes a variable memory length function while suppressing the increase in the circuit scale, and is useful as an error correction technique in the read channel system of communications systems, optical discs and magnetic disks.
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
5272706, | Dec 17 1990 | Samsung Electronics Co., Ltd. | State metric memory |
5432820, | Nov 19 1990 | Toshiba Storage Device Corporation | Maximum-likelihood decoding method and device |
6259749, | Sep 27 1996 | NEC Corporation | Viterbi decoder with pipelined ACS circuits |
6615388, | Sep 02 1999 | NEC Corporation | Low power path memory for viterbi decoders |
20010049809, | |||
JP10302412, | |||
JP2001144633, | |||
JP2002368628, | |||
JP6175935, | |||
JP63166332, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Dec 07 2004 | Panasonic Corporation | (assignment on the face of the patent) | / | |||
Aug 07 2006 | ARIMA, YUKIO | MATSUSHITA ELECTRIC INDUSTRIAL CO , LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 019570 | /0503 | |
Oct 01 2008 | MATSUSHITA ELECTRIC INDUSTRIAL CO , LTD | Panasonic Corporation | CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 021835 | /0421 |
Date | Maintenance Fee Events |
May 03 2011 | ASPN: Payor Number Assigned. |
Nov 06 2013 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Jan 22 2018 | REM: Maintenance Fee Reminder Mailed. |
Jul 09 2018 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Jun 08 2013 | 4 years fee payment window open |
Dec 08 2013 | 6 months grace period start (w surcharge) |
Jun 08 2014 | patent expiry (for year 4) |
Jun 08 2016 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jun 08 2017 | 8 years fee payment window open |
Dec 08 2017 | 6 months grace period start (w surcharge) |
Jun 08 2018 | patent expiry (for year 8) |
Jun 08 2020 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jun 08 2021 | 12 years fee payment window open |
Dec 08 2021 | 6 months grace period start (w surcharge) |
Jun 08 2022 | patent expiry (for year 12) |
Jun 08 2024 | 2 years to revive unintentionally abandoned end. (for year 12) |