WO2002100055A1 - Verfahren und schaltungsanordnung zur übertragung von daten zwischen einem prozessor und einem hardware-rechenwerk - Google Patents
Verfahren und schaltungsanordnung zur übertragung von daten zwischen einem prozessor und einem hardware-rechenwerk Download PDFInfo
- Publication number
- WO2002100055A1 WO2002100055A1 PCT/DE2002/002063 DE0202063W WO02100055A1 WO 2002100055 A1 WO2002100055 A1 WO 2002100055A1 DE 0202063 W DE0202063 W DE 0202063W WO 02100055 A1 WO02100055 A1 WO 02100055A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- memory
- dsp
- processor
- ram2
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/63—Joint error correction and other techniques
- H03M13/6331—Error control coding in combination with equalisation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
- H03M13/4161—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
- H03M13/4169—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management using traceback
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6569—Implementation on processors, e.g. DSPs, or software implementations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/03—Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
- H04L25/03006—Arrangements for removing intersymbol interference
- H04L25/03178—Arrangements involving sequence estimation techniques
- H04L25/03184—Details concerning the metric
- H04L25/03197—Details concerning the metric methods of calculation involving metrics
Definitions
- the invention relates to a method and a circuit for transmitting data between a processor and a hardware arithmetic unit, in particular a Viterbi hardware arithmetic unit.
- the Viterbi algorithm is a recursion procedure, the calculation processes of which are repeated step by step. to fetch. Especially with high data rates, when using higher-level modulation methods, when using a long channel memory for equalization or when using small code rates for channel coding and in many other situations, processing the Viterbi algorithm can be very computationally demanding.
- the simplest way to implement the Viterbi algorithm is to have it executed by a suitably programmed processor alone.
- this solution has the disadvantage that powerful and thus expensive processors are required, whose computing power is in the order of magnitude of at least 400 MIPS (million instructions per second).
- processors have a high power consumption, which is why they are practically unusable in mobile phones due to the limited energy resources there.
- a circuit for a Viterbi decoder with low power consumption is described in EP 0 899 887 A2.
- the circuit consists of arithmetic units and memories for the temporary storage of intermediate results calculated in the arithmetic units. There is no indication in the document of how this circuit interacts with a DSP (digital signal processor) or is programmed by it.
- DSP digital signal processor
- the invention is based on the object of specifying a method for transmitting data between a digital processor and a hardware arithmetic unit, in particular a Viterbi hardware arithmetic unit, which can be used advantageously with a view to the requirements mentioned. Furthermore, the invention aims to provide a circuit arrangement or interface with these properties for the data exchange between a processor and a hardware arithmetic unit.
- the invention is based on a hardware arithmetic unit to which at least one table memory is assigned, with data of several data types (for example in the case of a Viterbi arithmetic unit receiving symbols, channel coefficients, soft output values, trace-back data symbols etc.) in the Table storage should be saved.
- the processor's write and / or read access to the table memory comprises the steps of selecting a base address, which is dependent on the data type of the data to be transmitted, and accessing the table memory by starting from the selected base address by the for the Write and / or read access used address of the table memory is calculated with each access according to a predetermined arithmetic calculation in hardware.
- the assignment of base addresses to data types ensures that the table memory is partitioned in such a way that data of different data types are stored in different memory subareas.
- the memory subarea reserved for the corresponding data type is addressed by selecting its base address. Since the addressing takes place in the subsequent memory accesses by calculating the addresses in hardware, this can be carried out quickly and without any computational effort for the processor.
- the invention relates to the transfer of data between the digital processor and the hardware arithmetic unit, but not to the internal accesses of the hardware arithmetic unit to the table memory.
- the interaction between the hardware arithmetic unit and the table memory i.e. the access control of the hardware arithmetic unit to the table memory
- the arithmetic calculation rule for calculating the addresses of the table memory is preferably an incrementing or decrementing rule.
- the table memory is operated in each of the memory subareas in the manner of a shift register or FIFO, in contrast to a conventional shift register not the data being shifted here, but the address which acts as a pointer to the fixed data being counted.
- the base addresses assigned to the different data types are preferably stored in a base address register. sets, the selection of a base address is carried out by setting a selection bit assigned to this base address via the processor. The address pointer thus automatically jumps to the preset base address as soon as the processor sets the corresponding selection bit. In this case, the processor also does not have to generate base addresses.
- the base addresses are predefined unchangeable or hard-wired in hardware.
- the table memory is thus available in a predefined configuration.
- An alternative embodiment variant of the method according to the invention is characterized in that the base addresses can be programmed by the digital processor.
- the processor has the possibility of flexible programming of the hardware support comprising the hardware arithmetic unit and the table memory, which can be advantageous in particular when using different mobile radio standards or modulation methods.
- Another advantageous measure of the method according to the invention is characterized by the selection of a packing mode, which causes a plurality of data words output by the processor for write access to be combined to form a "packed" storage data word for the table memory, and / or by the selection of an unpacking mode, which causes a memory data word read from the table memory with a read access to be broken down into several data words before being input into the processor.
- a packing mode which causes a plurality of data words output by the processor for write access to be combined to form a "packed" storage data word for the table memory
- an unpacking mode which causes a memory data word read from the table memory with a read access to be broken down into several data words before being input into the processor.
- the unpacking mode allows "packed" memory data words to be separated again into the original data words, so that the processor (which has a predefined input word width) can process the data words.
- the data words can in turn be packed or unpacked without the involvement of the processor.
- the arithmetic unit is a Viterbi hardware arithmetic unit (e.g. for channel decoding or for equalization).
- a circuit arrangement according to the invention for the transmission of data of several data types between the processor and the hardware arithmetic unit provides an input and / or output memory which the processor accesses for the data input / output with a predetermined address.
- the measures already described in connection with the method according to the invention are used by means of a base address storage means (which in particular is arranged outside the processor). tes base address register) and a hardware address calculation circuit, which is in particular a counting means, generates the access address for the table memory without the involvement of the processor.
- the data word in the input and / or output memory is then stored in the table memory under this address.
- the method enables a high data rate because the processor can access the input and / or output memory without waiting cycles, ie in the system cycle.
- an advantageous embodiment variant of the circuit arrangement according to the invention is characterized by a configuration memory in which information about the number of data that are written to or read from the memory subareas assigned to the respective base addresses and / or information about the block size of data blocks and / or information about the decoding rate and / or information about the convolution polynomials used in the channel coding are stored.
- This configuration data informs the hardware arithmetic unit of the assignment and use of the data which are written by the digital processor into the memory subareas assigned to the respective base addresses or which are written by the digital one Processor can be read from the memory subareas assigned to the respective base addresses.
- FIG. 1 shows a circuit for performing Viterbi calculations in the form of function blocks, to explain the general structure of such a circuit
- FIG. 2 shows a schematic circuit diagram of a circuit arrangement according to the invention
- FIG. 3 is a block diagram showing the architecture of an equalizer and channel decoder circuit using a circuit arrangement according to the invention
- Fig. 4 is a schematic representation of a memory partition for the equalizer and channel decoder circuit shown in Fig. 3;
- FIG. 5 shows a schematic representation of a variant of the circuit arrangement according to the invention to explain the packing of data words or the unpacking of memory data words.
- FIG. 1 shows the general structure of a Viterbi calculation unit consisting of a unit for calculating transition metrics BMU (Branch Metric Unit), a unit for
- a Viterbi calculation unit of the structure shown is used both in equalizers (data detectors) and in channel decoders. The general functioning of Viterbi calculation units is known and is only briefly explained here:
- the Viterbi calculation is based on the idea of using a recursive method to determine a shortest path through a state diagram (so-called trellis diagram) in which the states of a shift register are plotted over time.
- the shift register represents the channel memory, while in the case of channel decoding, the shift register of the channel encoder is considered.
- one data unit (for the equalizer: one data symbol; for the encoder: one bit) is inserted into the corresponding shift register, thereby changing the state of the shift register.
- Time increments are considered as possible reception values.
- the probability for the occurrence of these data units as received values is determined time by time using the Viterbi recursion.
- the unit BMU calculates transition probabilities for each possible transition in the (channel encoder or equalizer) trellis diagram, which are referred to as transition metric values. The calculation of these transition metric values is based on the information currently available to the receiver, i.e. in the case of equalization on the received data symbols and the channel parameters determined by a channel estimator, and in the case of channel decoding on the soft output values output by the equalizer.
- the transition metric values calculated in the unit BMU for calculating the transition metrics are supplied to the ACS unit via the data connection 2.
- the transition metric values are added to the respective state metrics of the previous states (so-called "ADD” operation), and the sums obtained in this way are compared (so-called "COMPARE” operation).
- the ACS step is carried out cyclically within each time step, as is indicated by the loop 3 in FIG. 1.
- the ACS operation is processed for a specific group of previous states and target states, which is referred to as the "butterfly".
- the SMU unit carries out a trace-back operation to determine a data bit (channel decoding) or data symbol (equalization) that is a certain number of time steps away.
- the trace-back operation is based on the fact that the individual paths converge in the backward direction in time in the trellis diagram, that is to say that data bits / data symbols which were determined for a transition which was carried out earlier are more secure for surviving paths (whether a Path survived or not, it only turns out after a certain number of further time steps have been processed).
- the unit SMU outputs 5 decoded data bits via the data connection.
- 5 soft output values and hard output values are provided via the data connection.
- FIG. 2 illustrates the structure of an interface according to the invention and the sequence of data transfer between a digital signal processor DSP and a Viterbi arithmetic unit RW using an example.
- the Viterbi arithmetic unit RW designed in the form of hard-wired hardware is connected via a bidirectional data connection DV to the data input / output of a table memory SP. Furthermore, the data input / output of the table memory SP is connected to the data input / output of an input / output memory I / 0_M via a further data connection DV1.
- the input / output memory I / 0_M is assigned to the DSP and can be addressed by the DSP via a predefined address.
- the word width of the input / output memory I / 0_M corresponds to the word width of the DSP, e.g. 16 bit.
- the table memory SP also has a fixed word width, which can be, for example, identical to the word width of the input / output memory I / 0_M.
- the address decoder of the table memory SP is controlled by a counter C.
- the counter C has a set input E1, via which the count value can be set.
- Counter C is clocked with the system clock CLK.
- the set input El of the counter C is connected to the output of a base address register AR.
- Several base addresses BA0, BAI, .., BAn are stored in the base address register AR.
- a control line SL with a word length n + 1 is provided to control the base address register AR.
- the DSP Via the control line SL, the DSP is able to selectively set one of the ones stored in the base address register AR by setting a respective selection bit B0, Bl, ..., Bn in a control register CO Select n + 1 basic addresses BAO, BAI, .., BAn and thus forward them to the set input El of the counter C.
- the base addresses BAO, BAI, .., BAn are predefined addresses of the table memory SP, which specify a functional partitioning of the memory subarea of the table memory SP into different subareas TO, Tl, .., Tn.
- the base addresses BAO, BAI, ..., BAn are either fixed by hardwiring or can be programmed directly by the DSP and thus changed if the table memory SP can be configured flexibly.
- the Viterbi arithmetic unit RW carries out the calculation of the transition metrics, the ACS operations and the trace-back operations.
- the following data types must be transferred between the DSP and the Viterbi processor RW before or after a calculation run by the Viterbi processor RW.
- Receive symbols X k (k denotes the time step) channel coefficients h 0 , .., h m ; or products of the channel coefficients and the values of the symbol alphabet; or partial sums of such products (m denotes the length of the channel memory)
- Output data of the Viterbi arithmetic unit RW - Hard-output values (ie the trace-back values) soft-output values
- the input data values are loaded from the DSP into the table memory SP.
- a partial memory area is used for each data type.
- the reception symbols X k are first written into the memory subarea TO.
- the DSP notifies the base address register AR by setting the corresponding selection bit BO that the data type "receive data symbols" is to be transmitted.
- the base address BAO is assigned to this data type. Setting the corresponding selection bit BO causes the address pointer to jump to the position Z0 shown in FIG. 2.
- the system clock CLK is applied to the clock input of the counter C and at the same time the receive symbols X k are conveyed in the system clock by the DSP into the input / output memory I / /_M.
- the reception symbols X k are written into the input / output memory without waiting states when using the same, predetermined address of the input / output memory I / 0_M.
- the address calculation by the counter C is therefore activated only when the DSP accesses the input / output memory I / 0_M.
- the data word temporarily stored in the input / output memory I / 0_M is written into the table memory SP via the data connection DV1 at the selected address. If no packing mode is selected (for example, this can be the case with the identical word width of the table memory SP and the data word), exactly one data word is stored in each system clock cycle CLK.
- the partitioning of the table memory SP specifies the maximum number of data words of each data type to be stored in one calculation run.
- the system switches to the next data type by the DSP via the control line SL selects the next base address, eg BAI, by setting the appropriate selection bit.
- the address pointer then jumps to the position ZI (ie the lowest address in the memory sub-area T1) and the data transfer from the DSP to the table memory SP is continued in the same way for the second data type.
- the Viterbi arithmetic unit RW begins processing the corresponding arithmetic operations.
- the arithmetic logic unit RW is implemented in sequential logic and therefore enables the arithmetic steps to be carried out quickly and in an energy-saving manner.
- data required for the calculation are continuously called up from the individual memory subareas and result data are written into further memory subareas (e.g. T2 to Tn) of the table memory SP provided for this purpose. These access steps are not time-critical since they are carried out in parallel with the processing of arithmetic steps in the arithmetic unit RW.
- the Viterbi arithmetic unit RW changes to a waiting state in which the result data must be read out of the table memory SP as quickly as possible by the DSP.
- the reading out of data from the table memory SP takes place in the same way as the writing of data into the table memory SP.
- the DSP only accesses the input / output memory I / 0_M and is redirected to the memory data word defined in the table memory SP by the base address and the number of accesses that have already taken place.
- the change in the memory subareas is in turn accomplished by selecting a different base address selection bit.
- the input / output memory I / 0_M can be a processor-internal so-called user-defined register ("user-defined register"). It is important that the DSP can access this register without waiting states and with a fixed address.
- FIG. 3 shows the architecture of a receiver circuit with an equalizer and a channel decoder, which uses a digital signal processor DSP and a hardware support for the equalization and decoding which is connected to the DSP via an interface according to the invention.
- the DSP is through one or more configuration registers
- the first arithmetic unit RW1 is used for equalization of the received data signal
- the second arithmetic unit RW2 performs channel decoding.
- the arithmetic logic units RW1 and RW2 can equalize or decode channels, e.g. according to the GSM (Global System for Mobile Communications) standard as well as the EDGE (Enhanced Data Services for GSM Evolution) standard.
- the first arithmetic unit RW1 is connected to a first volatile data connection DL1 with a first volatile data memory RAM1 and via a second bidirectional data connection DL2 to a second volatile data memory RAM2.
- Corresponding third and fourth bidirectional data connections DL3 and DL4 are provided between the second arithmetic unit RW2 and the first data memory RAM1 and the second arithmetic unit RW2 and the second data memory RAM2.
- Both arithmetic units RW1 and RW2 can also access two volatile data memories RAMW1 and RAMW2.
- data memories RAMW1 and RAMW2 stored result values that arise during equalization and / or channel decoding in the calculating units RW1 and RW2.
- the DSP can access all of the aforementioned data memories RAM1, RAM2, RAMW1, RAMW2 via data buses DB1, DB2, DB3 and DB4, which are connected to a central data bus DB.
- Each data memory RAM1, RAM2, RAMW1, RAMW2 therefore corresponds to the table memory SP shown in FIG. 2; the data buses DB1, DB2, DB3 and DB4 are each comparable to the data connection DV1 in FIG. 2.
- the DSP is accessed via two separate input / output memories I / 0_DEC and I / 0_EQ. These two memories correspond to the input / output memory designated by the reference symbol I / OJM in FIG. 2.
- the input / output memory I / 0_DEC is used for access by the DSP during a channel decoding process, while the input / output memory I / 0_EQ is used for access by the DSP during an equalization process.
- the input / output memory I / 0_EQ is used for access by the DSP during an equalization process.
- all hardware memory subareas for the applications Viterbi decoder and Viterbi equalizer are written and read.
- the control register CO can be arranged as part of the configuration register CONFIG in the external memory area of the DSP.
- the base address register AR assigned to the control register CO is also located in the external memory area of the DSP and has been omitted in FIG. 3.
- the control of the data memories RAM1, RAM2, RAMW1 and RAMW2 via associated counters C corresponds to the illustration in FIG. 2 and is likewise omitted in FIG. 3.
- RAMW2 using the (hard-wired or via the DSP program mable) base address register AR can be partitioned into the following memory subareas:
- RAM1 (32 bit word length): T0_RAM1 receive data symbols x k (complex value)
- RAM2 (16 bit word length): T0_RAM2 trace-back values from decoder T1_RAM2 soft input values for decoder T2_RAM2 soft output values from equalizer T3 RAM2 hard output values from equalizer
- RAMWl data memory (32-bit word length):
- Data memory RAMW2 (32 bit word length): T0_RAMW2 metrics for target states, decoder T1_RAMW2 metrics for target states, equalizers T2__RAMW2 paths to target states, equalizers
- the temporary values stored in the data memories RAMW1 and RAMW2 can also be addressed by the DSP. This allows a process run to be interrupted (decoding and / or equalization) by another process and the interrupted process run to continue after the interrupting process has ended.
- the configuration register CONFIG can contain further configuration information. mations for the configuration of the hardware calculators RWl and RW2 included. For example, this includes configuration information
- the hardware arithmetic units RW1 or RW2 are given information about the processing or use of the data written in the memory subareas.
- Such information about the use of the data written by the DSP in the memory subareas relates to e.g. the size of the memory subarea T1_RAM2 for the soft input values for the decoder,
- the size of the memory sub-area T2_RAM2 for the soft output values from the equalizer - The size of the memory subarea T3_RAM2 for the hard output values from the equalizer, etc.
- the configuration data written in the configuration memory CONFIG not only relate to the write process (i.e. the transmission of data from the DSP to the hardware arithmetic units RW1, RW2), but also the memory subareas provided for performing the DSP read access are supported accordingly.
- the DSP uses the configuration data written in the configuration register CONFIG e.g. the amount of intermediate results to be read by the DSP during a reading process and possibly further configuration information which relate to the processing in the DSP of the data calculated in the hardware arithmetic units RW1, RW2 and stored in the respective memory subareas.
- Another aspect of the invention takes into account that the data types to be transmitted can have different word widths and a real or complex value range (in the latter case two data words are required for one size), i.e. are generally encoded with a different number of bits.
- packing the data to be transmitted e.g. one, two or three data words
- Packing also supports multiple access on the part of the hardware arithmetic units, e.g. the real and imaginary parts of received data symbols or also of state metric values for neighboring states can be stored within a memory data word of the data memory.
- the selection of a packing or unpacking mode by the DSP can be done in a similar way to the selection of the base addresses by setting corresponding selection bits PC0, PCI, etc. a pack configuration memory PC, see FIG. 5.
- a 16-bit multiplexer MUX16 for writing and a 16-bit demultiplexer DMUX16 for reading are arranged with a word width of 32 bits.
- the multiplexer MUX16 and also the demultiplexer DMUX16 are each provided with a buffer for a 16-bit data word in order to combine or, when writing, two 16-bit data words successively output by the DSP to form a 32-bit memory data word to split a 32-bit memory data word into two 16-bit data words to be processed sequentially by the DSP.
- Corresponding multiplexers and demultiplexers MUX8 and DMUX8 with buffers for an 8-bit data word section are arranged in the data bus DB2 to the 16-bit data memory RAM2.
- the packing mode here means that two 16-bit data words output by the DSP, each of which only uses 8 bits (eg soft input / output values), are combined to form a 16-bit memory data word.
- the counter clock of counter C When a packing mode is set, the counter clock of counter C must be adjusted accordingly and slowed down compared to the system clock CLK.
- the setting of the pack or Unpacking modes not only depend on the word widths of the transmitted data words or the word widths of the memory, but can also be caused by the design and configuration of the Viterbi arithmetic unit RW.
- the code rate can vary depending on the service selected.
- the DSP hardware interface described in the present example is only an example for data connections 1 and 5 and e.g. can also be provided in the data connections 2, 4.
- Trace-back values are calculated in the processor DSP, while a hardware arithmetic unit is used only for the execution of the ACS operations.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Power Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
Abstract
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP02748568A EP1393514B1 (de) | 2001-06-06 | 2002-06-06 | Verfahren und schaltungsanordnung zur übertragung von daten zwischen einem prozessor und einem hardware-rechenwerk |
DE50207939T DE50207939D1 (de) | 2001-06-06 | 2002-06-06 | Verfahren und schaltungsanordnung zur übertragung von daten zwischen einem prozessor und einem hardware-rechenwerk |
US10/730,619 US8006066B2 (en) | 2001-06-06 | 2003-12-08 | Method and circuit configuration for transmitting data between a processor and a hardware arithmetic-logic unit |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10127348.7 | 2001-06-06 | ||
DE10127348A DE10127348A1 (de) | 2001-06-06 | 2001-06-06 | Verfahren und Schaltungsanordnung zur Übertragung von Daten zwischen einem Prozessor und einem Hardware-Rechenwerk |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/730,619 Continuation US8006066B2 (en) | 2001-06-06 | 2003-12-08 | Method and circuit configuration for transmitting data between a processor and a hardware arithmetic-logic unit |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2002100055A1 true WO2002100055A1 (de) | 2002-12-12 |
Family
ID=7687312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/DE2002/002063 WO2002100055A1 (de) | 2001-06-06 | 2002-06-06 | Verfahren und schaltungsanordnung zur übertragung von daten zwischen einem prozessor und einem hardware-rechenwerk |
Country Status (4)
Country | Link |
---|---|
US (1) | US8006066B2 (de) |
EP (1) | EP1393514B1 (de) |
DE (2) | DE10127348A1 (de) |
WO (1) | WO2002100055A1 (de) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7643549B2 (en) * | 2004-09-28 | 2010-01-05 | Broadcom Corporation | Wireless device having a hardware accelerator to support equalization processing |
US20110090773A1 (en) * | 2009-10-16 | 2011-04-21 | Chih-Ching Yu | Apparatus for generating viterbi-processed data using an input signal obtained from reading an optical disc |
US8432780B1 (en) * | 2012-05-10 | 2013-04-30 | Mediatek Inc. | Viterbi decoding apparatus using level information generator supporting different hardware configurations to generate level information to Viterbi decoder and related method thereof |
US10388362B1 (en) * | 2018-05-08 | 2019-08-20 | Micron Technology, Inc. | Half-width, double pumped data path |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5537445A (en) * | 1993-11-16 | 1996-07-16 | At&T Corp. | Variable length tracebacks |
US5539780A (en) * | 1993-10-28 | 1996-07-23 | Motorola, Inc. | Computationally efficient data decoder and method used therein |
US5905757A (en) * | 1996-10-04 | 1999-05-18 | Motorola, Inc. | Filter co-processor |
US6195782B1 (en) * | 1998-05-28 | 2001-02-27 | Advanced Micro Devices, Inc. | MLSE implementation using a general purpose DSP and shared hardware for a GSM application |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3833888A (en) * | 1973-02-05 | 1974-09-03 | Honeywell Inf Systems | General purpose digital processor for terminal devices |
DE2944757C2 (de) * | 1979-11-06 | 1986-01-16 | Bruno M. Einsiedeln Hess | Programmierbare Prozeßsteuerung |
US5311523A (en) * | 1988-12-08 | 1994-05-10 | Kabushiki Kaisha Toshiba | Carrier phase synchronous type maximum likelihood decoder |
US5150471A (en) * | 1989-04-20 | 1992-09-22 | Ncr Corporation | Method and apparatus for offset register address accessing |
AU652896B2 (en) * | 1992-09-29 | 1994-09-08 | Matsushita Electric Industrial Co., Ltd. | Arithmetic apparatus |
JP3277856B2 (ja) * | 1997-08-29 | 2002-04-22 | 日本電気株式会社 | ビタビデコーダ |
US6310891B1 (en) * | 1997-12-18 | 2001-10-30 | Alcatel Usa Sourcing, L.P. | Method of scheduling time division multiplex (TDM) cells in a synchronous optical network (SONET) frame |
JP3132456B2 (ja) * | 1998-03-05 | 2001-02-05 | 日本電気株式会社 | 階層的画像符号化方式、及び階層的画像復号方式 |
-
2001
- 2001-06-06 DE DE10127348A patent/DE10127348A1/de not_active Ceased
-
2002
- 2002-06-06 WO PCT/DE2002/002063 patent/WO2002100055A1/de active IP Right Grant
- 2002-06-06 EP EP02748568A patent/EP1393514B1/de not_active Expired - Lifetime
- 2002-06-06 DE DE50207939T patent/DE50207939D1/de not_active Expired - Lifetime
-
2003
- 2003-12-08 US US10/730,619 patent/US8006066B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5539780A (en) * | 1993-10-28 | 1996-07-23 | Motorola, Inc. | Computationally efficient data decoder and method used therein |
US5537445A (en) * | 1993-11-16 | 1996-07-16 | At&T Corp. | Variable length tracebacks |
US5905757A (en) * | 1996-10-04 | 1999-05-18 | Motorola, Inc. | Filter co-processor |
US6195782B1 (en) * | 1998-05-28 | 2001-02-27 | Advanced Micro Devices, Inc. | MLSE implementation using a general purpose DSP and shared hardware for a GSM application |
Also Published As
Publication number | Publication date |
---|---|
DE50207939D1 (de) | 2006-10-05 |
DE10127348A1 (de) | 2002-12-19 |
EP1393514A1 (de) | 2004-03-03 |
US8006066B2 (en) | 2011-08-23 |
EP1393514B1 (de) | 2006-08-23 |
US20040143722A1 (en) | 2004-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69827915T2 (de) | Verarbeitungsverfahren und -vorrichtung | |
DE60028906T2 (de) | Viterbi Dekoder | |
US5432804A (en) | Digital processor and viterbi decoder having shared memory | |
DE60117831T2 (de) | Modul zur erzeugung von decoderschaltungen für faltungscodes, zugehöriges verfahren und schaltung | |
DE2816913A1 (de) | Decoder fuer konvolutinal codierte daten | |
WO2003071689A2 (de) | Kombinierter ver- und entschachteler sowie turbo-decodierer mit kombiniertem ver- und entschachteler | |
DE69425313T2 (de) | Viterbi-Entzerrer mit Rechenleistungsparendem Trace-Back-Verfahren | |
EP0488456A2 (de) | Maximalwahrscheinlichkeitsempfänger | |
DE69602932T2 (de) | Multitor ram zur anwendung in einem viterbidecoder | |
DE102008047165A1 (de) | Halbleitervorrichtung mit basierend auf einem gespeicherten Bit und einem nächsten Bit leitendem Schalter | |
DE69434249T2 (de) | Digitaler Signalprozessor mit Coprozessor zur Viterbi Decodierung | |
US20080148018A1 (en) | Shift Processing Unit | |
DE10196688B3 (de) | Ein Decodierer für eine trellis-basierte Kanalcodierung | |
DE69030073T2 (de) | Dekodierungsverfahren mit hoher Datenrate für die Signalverarbeitung in kodierten Kanälen | |
EP1393514A1 (de) | Verfahren und schaltungsanordnung zur übertragung von daten zwischen einem prozessor und einem hardware-rechenwerk | |
DE60101745T2 (de) | Viterbi dekodierung mit pfadmetrikaktualisierung durchgeführt in einheiten von bitscheiben | |
DE10010238C2 (de) | Verfahren zum Speichern von Pfadmetriken in einem Viterbi-Decodierer | |
DE3854181T2 (de) | System zur datenübertragung. | |
DE60008388T2 (de) | Speicher ausführung von register-exchange traceback für gigabit ethernet sender-empfänger | |
EP1223679B1 (de) | Berechnung und Zuweisung von Übergangsmetrikwerten für einen Viterbi-Dekodierer | |
CN106452461A (zh) | 一种通过矢量处理器实现viterbi解码的方法 | |
DE69026363T2 (de) | Multipositionsverschieber mit Paritätsbitgenerator | |
DE60117705T2 (de) | Viterbi-Decodierungsprozessor | |
DE69706639T2 (de) | Datenprozessor und Verfahren zur Datenverarbeitung | |
DE69914241T2 (de) | Addier- Vergleichs- Auswahl- Schaltung für einen Viterbi Dekodierer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): CN JP US |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2002748568 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 10730619 Country of ref document: US |
|
WWP | Wipo information: published in national office |
Ref document number: 2002748568 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: JP |
|
WWW | Wipo information: withdrawn in national office |
Country of ref document: JP |
|
WWG | Wipo information: grant in national office |
Ref document number: 2002748568 Country of ref document: EP |