EP2817886A1 - Dispositif auto-configurable d'entrelacement/desentrelacement de trames de donnees - Google Patents

Dispositif auto-configurable d'entrelacement/desentrelacement de trames de donnees

Info

Publication number
EP2817886A1
EP2817886A1 EP13711578.8A EP13711578A EP2817886A1 EP 2817886 A1 EP2817886 A1 EP 2817886A1 EP 13711578 A EP13711578 A EP 13711578A EP 2817886 A1 EP2817886 A1 EP 2817886A1
Authority
EP
European Patent Office
Prior art keywords
control
memory
interleaving
interconnection network
memory banks
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.)
Ceased
Application number
EP13711578.8A
Other languages
German (de)
English (en)
Inventor
Philippe Coussy
Cyrille Chavet
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.)
Centre National de la Recherche Scientifique CNRS
Universite de Bretagne Sud
Original Assignee
Centre National de la Recherche Scientifique CNRS
Universite de Bretagne Sud
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 Centre National de la Recherche Scientifique CNRS, Universite de Bretagne Sud filed Critical Centre National de la Recherche Scientifique CNRS
Publication of EP2817886A1 publication Critical patent/EP2817886A1/fr
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/27Coding, 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 using interleaving techniques
    • H03M13/276Interleaving address generation
    • H03M13/2764Circuits therefore
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/27Coding, 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 using interleaving techniques
    • H03M13/2771Internal interleaver for turbo codes
    • H03M13/2775Contention or collision free turbo code internal interleaver
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/27Coding, 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 using interleaving techniques
    • H03M13/2789Interleaver providing variable interleaving, e.g. variable block sizes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6513Support of multiple code types, e.g. unified decoder for LDPC and turbo codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6519Support of multiple transmission or communication standards
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/65Purpose and implementation aspects
    • H03M13/6569Implementation on processors, e.g. DSPs, or software implementations
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/251Local memory within processor subsystem
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes

Definitions

  • the present invention relates to a device for interleaving / deinterleaving digital data.
  • the invention is in the field of high-speed data transmission, for example audio and / or video signals.
  • a particularly interesting application of the invention relates to data interleaving and / or deinterleaving for the coding and decoding of error correcting codes, in particular LDPC codes (for Low Density Parity-Check Code in English) or Turbo -codes State of the art
  • LDPC error correcting codes and Turbo codes are well known in the state of the art.
  • These coding and decoding techniques are based on an iterative processing of the data, the latter being mixed or interleaved, at each processing step, until a complete decorrelation of the errors that can be conveyed is obtained.
  • These techniques use an interleaver that performs iterative permutation of the symbols of an input code.
  • FIG. 1 shows the architecture of a known interleaving or deinterleaving device.
  • This device is intended to interleave or deinterlace data delivered by n processing elements, referenced P 0 to P n -i, arranged in parallel, said data representing symbols.
  • the interleaving or deinterleaving device comprises a set of m memory banks, referenced B 0 to B m- i, arranged in parallel and intended to store data from or to the n treatment elements and an interconnection network INT which is interposed between the processing elements and the memory banks for switching at any time the data of the processing elements to the memory banks or vice versa.
  • the data stored in the memory banks are the operands and the results of the processing operations performed in the processing elements.
  • the data to be stored in n of the memory banks are conventionally generated simultaneously by the n processing elements.
  • the number m of memory banks is greater than or equal to the number n of processing elements. Otherwise, the data must be provided by subassembly whose size is less than or equal to the number of memory banks.
  • the interconnection network INT and the memory banks are controlled by a dedicated control unit CTRL. More specifically, the control unit is responsible for providing, at any time, a control word to the interconnection network and addressing and control sequences to the memory banks to access the read or write data.
  • the control unit conventionally comprises a plurality of ROM (Read-Only Memory) type of control memories and a control circuit for reading the contents of these memories.
  • ROM Read-Only Memory
  • the control unit conventionally comprises at least one control memory for storing the control words of the interconnection network and a control memory for storing the addressing and control sequences of the memory banks. These sequences and these control words are a function of the interleaving or deinterleaving rule to be applied, the number n of processing elements, the number m of memory banks, the structure of the interconnection network and the size of the interconnections. data frames (number of symbols in the frame) treat.
  • the first four parameters namely the interleaving or deinterleaving rule, the numbers n and m and the structure of the interconnection network, do not vary and are fixed by the equipment comprising the interleaver or deinterlacing.
  • the interleaving or deinterleaving rule is imposed by the transmission standard supported by the equipment.
  • the equipment must, however, be able to handle several frame sizes for this standard, typically one hundred or more frame sizes.
  • Each of these frame sizes is then associated with a particular mode of operation of the interleaving or deinterleaving device.
  • the control unit of the interleaving or deinterleaving device generally comprises two control memories for each of the operating modes, namely a so-called network memory for storing the words of control of the interconnection network and a so-called access control memory for storing the addressing and control sequences of the memory banks for the operating mode in question.
  • the control unit of the device comprises two control memories for each mode of operation, the content of these memories being generally calculated offline by a memory placement algorithm before being stored there.
  • Another problem related to the implementation of this type of interleaving architecture concerns the access conflicts with the memory banks B 0 to
  • a first family of techniques is based on the definition of an interleaving rule based on one or more permutation (s) regular (s), for example circular (s) to implement an interleaver having a high degree of parallelism with performance equivalent or better than known interleavers, while reducing the complexity of the architecture of the interconnection network, especially for very high speed applications.
  • This type of solution also has the advantage of reducing the cost of the control unit by minimizing the total number of control memories used.
  • a first technique belonging to this family and called "turbo-code wheeled" is described in detail in the document FR 2 838 581. The disadvantage of this technique is that it is based on the definition of an interleaving rule which is a priori not compliant with a communication standard.
  • a second family of techniques proposes to add memories in the interconnection network in order to ensure a data delay in the event of a conflict situation.
  • this type of approach has the disadvantage of increasing the latency of the circuit and increasing the complexity of the interconnection network.
  • An example of such a technique is described in N. Wehn's SoC-Network for Interleaving in Wireless Communications, MPSoC, 2004.
  • a third family of techniques consists of storing the data in the memory banks in order to avoid conflicts. This approach consists of identifying the data that is intended to be consumed or produced at the same time in an assignment matrix. Although this family allows to find a data assignment in the memory banks that does not generate conflict regardless of the interleaving rule, however, it has a number of disadvantages. Indeed, it does not generate a memory access that is simple to implement using simple components in the interconnection network. Furthermore, this family requires the use of two control memories by operating mode for storing natural access orders and interleaved, which further increases the cost of the device.
  • a first example of a technique belonging to this family is described in the article "Mapping Interleaving Laws to Parallel Turbo-decoder Architectures" by A.Tarable, S.Benedetto and G.Montorsi, IEEE Volume 8, March 2004.
  • the proposed approach consists in making a first na ⁇ ve assignment of data in the memory banks, without generating a conflict and then assigning a memory bank to the unassigned data by correcting the conflicts using a method called "simulated annealing" or “Iterative refinement".
  • the simulated annealing algorithm is relatively complex to implement and does not allow to determine, a priori, the time required to obtain the solution although this time limit is limited.
  • An object of the invention is to overcome all or part of the disadvantages and limitations of the state of the art mentioned above.
  • an object of the invention is to propose a device for interleaving or de-interleaving digital data which is able to implement, without memory access conflict, the rule of interleaving or deinterleaving any type of standard. communication and in which the control unit has a memory space and a reduced number of control memories.
  • Another object of the invention is to propose a device for interleaving or de-interleaving digital data having a reduced cost control unit.
  • the memory placement algorithm is executed on the fly by the interleaver or deinterleaver.
  • the invention relates to a device for interleaving or deinterleaving frames of digital data delivered by n processing elements arranged in parallel, n being a natural integer greater than 1, said device comprising
  • n memory banks for storing data from or to said processing elements, where m is a natural integer greater than 1,
  • control unit comprising a control memory in which control words of the interconnection network are stored, and addressing and control sequences intended to control the memory banks, said control words and said addressing sequences and based on an interleaving or de-interleaving rule to be applied, the size of the digital data frames, the numbers m and n and the interconnection network, and a control circuit for controlling the interconnection network and the memory banks with the control words and the addressing and control sequences stored in said control memory, characterized in that the control unit further comprises a calculation circuit capable of generating on-line words of control.
  • control and addressing and control sequences guaranteeing conflict-free memory access according to the interleaving rule to be applied, the frame size s of digital data, the number n of processing units, the number m of memory banks and the interconnection network, said control circuit being able to write the control words and the addressing and control sequences generated by said calculation circuit in said control memory.
  • the computing circuit executes a memory placement algorithm that guarantees a non-conflicting memory access whenever at least one of the following parameters changes:
  • control circuit The results are placed in the control memory by the control circuit.
  • control memory it is no longer necessary to have a control memory for each of the possible modes of operation of the device, which contributes to reducing the cost of the device.
  • the memory placement algorithm is no longer executed offline but online.
  • control memory comprises a so-called network memory for storing the control words of the interconnection network and a memory, called access control memory, for storing the addressing and signaling sequences. control of the memory banks.
  • the network memory and the access control memory are volatile memories.
  • the device of the invention further comprises at least one computing memory for storing intermediate data generated by said calculation circuit.
  • This computation memory is for example a memory internal to the calculation circuit or to the control unit. According to a particular embodiment, said computation memory is a memory portion of said memory banks.
  • the invention also relates to a device for encoding or decoding digital data frames comprising n processing elements arranged in parallel, n being a natural integer greater than 1, and an interleaver or deinterleaver as defined previously to interleave or deinterlace data frames produced processing elements.
  • FIG. 1 already described, shows the block diagram of an interleaver or deinterleaver of the prior art
  • Figures 2 and 3 already described, show diagrams illustrating the collision problems with the device of Figure 1;
  • Figure 4 shows the block diagram of an interleaver or deinterleaver according to the invention.
  • the control unit CTRL of the interleaving or deinterleaving device according to the invention is described with reference to FIG. 4.
  • the control unit CTRL comprises a network memory M1 in which control words of the network D are stored. interconnection and an M2 access control memory in which are stored addressing and control sequences for controlling access to the memory banks.
  • the memories M1 and M2 are read and write controlled by the control circuit CC.
  • the calculation circuit CAL generates control words and addressing and control sequences guaranteeing read and write access without conflict to the memory banks B 0 to B m- as a function of internal parameters which are not likely to be modified, such as the interleaving rule to be applied, the number n of processing elements P, working in parallel, the structure of the interconnection network (butterflies, shift registers, Bénippo network, ...) and external parameters such as the size of the frames to be processed.
  • the calculation circuit CAL executes on the fly a memory placement algorithm guaranteeing a conflict-free access according to said internal and external parameters and the results of this execution are stored in the memories M1 and M2. This algorithm is executed whenever any of the internal or external parameters is changed.
  • the interleaving rule to be applied is that imposed by the communication standard of the terminal, the interconnection network is that of the terminal and the number of terminals.
  • processing elements working in parallel is generally the number n of processing elements P 0 to P n -i contained in the terminal to perform the coding or decoding of the frames.
  • the only parameter that can vary is the size of the frames.
  • the memory placement algorithm is then executed each time the frame size changes. This example is illustrated in Figure 4.
  • the terminal is capable of operating according to a so-called degraded operating mode in which only a part of the n processing elements are working, for example n / 2, the other processing elements being switched off or on standby to limit the consumption. of the terminal.
  • the memory placement algorithm is executed each time the frame size changes or a degraded operating mode is changed.
  • the memory placement algorithm is executed each time one of the internal or external parameters is changed.
  • This algorithm is for example the algorithm of low complexity described in one of the following three documents:
  • the intermediate data are stored in internal memories of the control unit CTRL or possibly in the memory banks.
  • the control words and the addressing and control sequences generated by the calculation circuit are placed in the memories M1 and M2 by the control circuit CC.
  • the memories M1 and M2 are two portions of the same control memory.
  • the calculation circuit CAL is capable of generating the control words and the addressing and control sequences for all the modes of operation of the new communication standards, for example LTE or WIMAX, if it is provided with the interleaving rule at apply, the number of processing elements P, working in parallel, the structure of the interconnection network to be controlled and the size of the frames.
  • the algorithm is re-executed each time one of these parameters is changed. All modes of operation of a communication standard can be implemented without having to use tens or even hundreds of ROMs in the device.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

Dispositif d'entrelacement/désentrelacement de données numériques délivrées par des éléments de traitement (Po... Pn-1) adapté à être utilisée aussi bien aux turbo-codes qu'aux codes LDPC. Il comprend des bancs mémoires (Ba... Bm-1) pour stocker des données en provenance ou à destination des éléments de traitement, un réseau d'interconnexion (INT) pour aiguiller les données entre les éléments de traitement et les bancs mémoires, et une unité de contrôle (CTRL) pour commander le réseau d'interconnexion et les bancs mémoires. Selon l'invention, l'unité de contrôle (CTRL) comprend un circuit de calcul (CAL) apte à générer en ligne des mots de commande du réseau d'interconnexion et des séquences d'adressage et de contrôle des bancs mémoires garantissant un accès mémoire sans conflit en fonction de la règle d'entrelacement à appliquer, de la taille des trames de données numériques, du nombre d'unités de traitement et de bancs mémoires et du réseau d'interconnexion. On peut ainsi réduire drastiquement le nombre de mémoires dans l'unité de contrôle.

Description

DISPOSITIF AUTO-CONFIGURABLE
D'ENTRELACEMENT/DESENTRELACEMENT
DE TRAMES DE DONNEES Domaine technique
La présente invention concerne un dispositif d'entrelacement / désentrelacement de données numériques. L'invention se situe dans le domaine de la transmission de données à haut débit, par exemple de signaux audio et/ou vidéo. Une application particulièrement intéressante de l'invention concerne l'entrelacement et/ou désentrelacement de données pour le codage et le décodage de codes correcteurs d'erreur, notamment des codes LDPC (pour Low Density Parity-Check Code en langue anglaise) ou des Turbo-codes Etat de la technique
Les codes correcteurs d'erreur de type LDPC et les Turbo-codes sont bien connus dans l'état de la technique. On pourra, par exemple, se référer au brevet français antérieur FR 2 675 970 qui décrit le principe général des Turbo-codes.
Ces techniques de codage et de décodage sont basées sur un traitement itératif des données, ces dernières étant mélangées ou entrelacées, à chaque étape de traitement, jusqu'à obtenir une complète décorrélation des erreurs susceptibles d'être véhiculées. Ces techniques utilisent un entrelaceur qui réalise une permutation itérative des symboles d'un code d'entrée.
On a représenté sur la figure 1 l'architecture d'un dispositif d'entrelacement ou désentrelacement connu. Ce dispositif est destiné à entrelacer ou désentrelacer des données délivrées par n éléments de traitement, référencés P0 à Pn-i , disposés en parallèle, lesdites données représentant des symboles. Le dispositif d'entrelacement ou désentrelacement comporte un ensemble de m bancs mémoires, référencés B0 à Bm-i , disposés en parallèle et destinés à stocker des données en provenance ou à destination des n éléments de traitement et un réseau d'interconnexion INT qui est interposé entre les éléments de traitement et les bancs mémoires pour aiguiller à tout instant les données des éléments de traitement vers les bancs mémoires ou inversement. Les données stockées dans les bancs mémoires sont les opérandes et les résultats des opérations de traitement réalisées dans les éléments de traitement. Les données à stocker dans n des m bancs mémoires sont classiquement générées simultanément par les n éléments de traitement. Généralement, le nombre m de bancs mémoire est supérieur ou égal au nombre n d'éléments de traitement. Dans le cas contraire, les données doivent être fournies par sous ensemble dont la taille est inférieure ou égale au nombre de bancs mémoire.
Le réseau d'interconnexion INT et les bancs mémoires sont pilotés par une unité de contrôle CTRL dédiée. Plus précisément, l'unité de contrôle est chargée de fournir, à chaque instant, un mot de commande au réseau d'interconnexion et des séquences d'adressage et de contrôle aux bancs mémoire pour accéder aux données en lecture ou en écriture.
L'unité de contrôle comporte classiquement une pluralité de mémoires de contrôle de type ROM (pour Read-Only Memory en langue anglaise) et un circuit de contrôle pour lire le contenu de ces mémoires.
L'unité de contrôle comprend classiquement au moins une mémoire de contrôle pour stocker les mots de commande du réseau d'interconnexion et une mémoire de contrôle pour stocker les séquences d'adressage et de contrôle des bancs mémoires. Ces séquences et ces mots de commande sont fonction de la règle d'entrelacement ou de désentrelacement à appliquer, du nombre n d'éléments de traitement, du nombre m de bancs mémoires, de la structure du réseau d'interconnexion et de la taille des trames de données (nombre de symboles dans la trame) à traiter. En général, les quatre premiers paramètres, à savoir la règle d'entrelacement ou de désentrelacement, les nombres n et m et la structure du réseau d'interconnexion, ne varient pas et sont fixés par l'équipement comprenant le dispositif d'entrelacement ou désentrelacement. Notamment, la règle d'entrelacement ou de désentrelacement est imposée par le standard de transmission supporté par l'équipement. L'équipement doit cependant être en mesure de gérer plusieurs tailles de trame pour ce standard, typiquement une centaine de tailles de trame voire plus. A chacune de ces tailles de trame est alors associé un mode de fonctionnement particulier du dispositif d'entrelacement ou de désentrelacement. Pour la mise en œuvre de ces différents modes de fonctionnement, l'unité de contrôle du dispositif d'entrelacement ou de désentrelacement comporte généralement deux mémoires de contrôle pour chacun des modes de fonctionnement, à savoir une mémoire dite de réseau pour stocker les mots de commande du réseau d'interconnexion et une mémoire dite de contrôle d'accès pour stocker les séquences d'adressage et de contrôle des bancs mémoires pour le mode de fonctionnement considéré. Il en résulte que l'unité de contrôle du dispositif comporte deux mémoires de contrôle pour chaque mode de fonctionnement, le contenu de ces mémoires étant généralement calculé hors ligne par un algorithme de placement mémoire avant d'y être stocké.
De tels dispositifs d'entrelacement ou de désentrelacement sont donc relativement coûteux en termes de surface sur silicium puisque la plupart des standards de transmission actuels et à venir, par exemple WiMAX
(pour Worldwide Interoperability for Microwave Access en langue anglaise) ou LTE (pour Long Term Evolution), sont prévus pour implémenter plusieurs centaines de modes de fonctionnement.
Un autre problème lié à la mise en œuvre de ce type d'architecture d'entrelacement concerne les conflits d'accès aux bancs mémoires B0 à
Bm- . En effet, comme on peut le voir sur les figures 2 et 3, avec ce type d'architecture, il est possible que deux ou plusieurs éléments de traitement parmi les éléments P0 à Pn-i producteurs ou utilisateurs de données tentent d'écrire ou, au contraire, de lire en même temps des données différentes dans ou à partir d'un même banc mémoire. Il se produit alors des collisions et, pour les éviter, il convient alors de décaler ou d'arbitrer soigneusement les accès aux bancs mémoires, ce qui ralentit alors le processus de codage ou décodage.
Des solutions à ce problème de collision existent. Ces dernières consistent essentiellement à modifier la règle d'entrelacement ou de désentrelacement ou à introduire des éléments mémorisant dans le réseau d'interconnexion de sorte que les accès simultanés à un même banc mémoire soient sérialisés ou trouver une affectation des données dans les bancs mémoire de sorte qu'il n'y ait pas de conflits d'accès. Plusieurs techniques ont été développées dans ce sens.
Une première famille de techniques est basée sur la définition d'une règle d'entrelacement reposant sur une ou des permutation(s) régulière(s), par exemple circulaire(s) permettant d'implémenter un entrelaceur ayant un haut degré de parallélisme avec des performances équivalentes ou meilleures que celles des entrelaceurs connus, tout en permettant de réduire la complexité de l'architecture du réseau d'interconnexion, en particulier pour des applications à très haut débit. Ce type de solution a aussi pour avantage de réduire le coût de l'unité de contrôle en minimisant le nombre total de mémoires de contrôle utilisées. Une première technique appartenant à cette famille et appelée «turbo-code à roulettes» est décrite en détail dans le document FR 2 838 581 . L'inconvénient de cette technique est qu'elle est basée sur la définition d'une règle d'entrelacement qui n'est a priori pas conforme à un standard de communication. Les standards ont depuis évolué pour reposer sur des permutations régulières plus ou moins complexes permettant d'implémenter plus aisément des entrelaceurs matériels parallèles. Malheureusement, les règles de permutation proposées ne permettent pas de supprimer l'ensemble des conflits. En effet, des conflits d'accès aux mémoires persistent pour certains parallélismes et/ou tailles de trames.
Une deuxième famille de techniques propose d'ajouter des mémoires dans le réseau d'interconnexion afin d'assurer une temporisation des données en cas de situation de conflit. Ce type d'approche a cependant pour inconvénients d'augmenter la latence du circuit et d'augmenter la complexité du réseau d'interconnexion. De plus, il est nécessaire de procéder par simulation pour déterminer le dimensionnement des mémoires ajoutées. Un exemple de technique de ce type est décrite dans le document «SoC- Network for Interleaving in Wireless Communications» de N. Wehn, MPSoC, 2004.
Une troisième famille de techniques consiste à ranger les données dans les bancs mémoires de manière à éviter les conflits. Cette approche consiste à identifier les données qui sont destinées à être consommées ou produites en même temps dans une matrice d'affectation. Bien que cette famille permette de trouver une assignation des données dans les bancs mémoires qui ne génère pas de conflit quelle que soit la règle d'entrelacement, elle présente toutefois un certain nombre d'inconvénients. En effet, elle ne permet pas de générer un accès mémoire qui soit simple à mettre en œuvre en utilisant des composants simples dans le réseau d'interconnexion. Par ailleurs, cette famille nécessite l'utilisation de deux mémoires de contrôle par mode de fonctionnement pour mémoriser les ordres d'accès naturel et entrelacés, ce qui augmente encore le coût du dispositif.
Un premier exemple de technique appartenant à cette famille est décrit dans l'article «Mapping Interleaving Laws to Parallel Turbo-decoder Architectures» de A.Tarable, S.Benedetto et G.Montorsi, IEEE volume 8, mars 2004. L'approche proposée consiste à effectuer une première affectation naïve des données dans les bancs mémoires, sans générer de conflit puis à attribuer un banc mémoire aux données non affectées en corrigeant les conflits à l'aide d'une méthode dite de «recuit-simule» ou de «raffinement itératif». L'algorithme de recuit-simulé est relativement complexe à mettre en œuvre et ne permet pas de déterminer, a priori, le délai nécessaire à l'obtention de la solution bien que ce délai soit borné.
Un second exemple est présenté dans le document FR 2 915 641 intitulé «Procédé et dispositif d'entrelacement de données». Ce document décrit un procédé permettant de trouver pour n'importe quelle règle d'entrelacement un placement des données dans les bancs mémoires qui garantit un accès sans conflits aux mémoires et optimise le réseau d'interconnexion selon les besoins du concepteur si la règle d'entrelacement le permet. Avec cette technique, l'unité de contrôle n'est pas optimisée et son architecture finale comprend autant de mémoires de contrôle que de bancs mémoires et cela pour tous les modes de fonctionnement à implémenter. Résumé de l'invention
Un but de l'invention est de pallier tout ou partie des inconvénients et limites de l'état de la technique cités précédemment.
En particulier, un but de l'invention est de proposer un dispositif d'entrelacement ou de désentrelacement de données numériques qui soit apte à mettre en œuvre sans conflit d'accès mémoire la règle d'entrelacement ou de désentrelacement de tout type de standard de communication et dans lequel l'unité de contrôle présente un espace mémoire et un nombre de mémoires de contrôle réduits.
Un autre but de l'invention est de proposer un dispositif d'entrelacement ou de désentrelacement de données numériques ayant une unité de contrôle de coût réduit.
L'invention a également pour but de proposer un dispositif d'entrelacement ou de désentrelacement.qui soit applicable aussi bien aux turbo-codes qu'aux codes LDPC.
A cet effet, on propose, selon l'invention, de rajouter dans l'unité de contrôle du dispositif un circuit de calcul apte à exécuter un algorithme de placement mémoire à chaque changement de mode de fonctionnement du dispositif. Ainsi, selon l'invention, l'algorithme de placement mémoire est exécuté à la volée par le dispositif d'entrelacement ou désentrelacement.
L'invention a pour objet un dispositif d'entrelacement ou désentrelacement de trames de données numériques délivrées par n éléments de traitement disposés en parallèle, n étant un entier naturel supérieur à 1 , ledit dispositif comprenant
- m bancs mémoires pour stocker des données en provenance ou à destination desdits éléments de traitement, m étant un entier naturel supérieur à 1 ,
- un réseau d'interconnexion pour aiguiller les données entre lesdits éléments de traitement et lesdits bancs mémoires, et
- une unité de contrôle comportant une mémoire de contrôle dans laquelle sont stockés des mots de commande du réseau d'interconnexion et des séquences d'adressage et de contrôle destinées à commander les bancs mémoires, lesdits mots de commande et lesdites séquences d'adressage et de contrôle étant fonction d'une règle d'entrelacement ou de désentrelacement à appliquer, de la taille des trames de données numériques, des nombres m et n et du réseau d'interconnexion, et un circuit de contrôle pour commander le réseau d'interconnexion et les bancs mémoire avec les mots de commande et les séquences d'adressage et de contrôle stockés dans la ladite mémoire de contrôle, remarquable en ce que l'unité de contrôle comprend en outre un circuit de calcul apte à générer en ligne des mots de commande et des séquences d'adressage et de contrôle garantissant un accès mémoire sans conflit en fonction de la règle d'entrelacement à appliquer, de la taille des trames de données numériques, du nombre n d'unités de traitement, du nombre m de bancs mémoires et du réseau d'interconnexion, ledit circuit de contrôle étant apte à écrire les mots de commande et les séquences d'adressage et de contrôle générés par ledit circuit de calcul dans ladite mémoire de contrôle. Le circuit de calcul exécute un algorithme de placement mémoire garantissant un accès mémoire sans conflit à chaque fois qu'au moins l'un des paramètres suivants change:
- taille de trame des données numériques,
- règle d'entrelacement ou de désentrelacement à appliquer,
- nombre n éléments de traitement du dispositif,
- nombre m de bancs mémoires du dispositif,
- réseau d'interconnexion.
Les résultats sont placés dans la mémoire de contrôle par le circuit de contrôle. Ainsi, il n'est plus nécessaire d'avoir une mémoire de contrôle pour chacun des modes de fonctionnement possible du dispositif, ce qui contribue à réduire le coût du dispositif. Par ailleurs, l'algorithme de placement mémoire n'est plus exécuté hors ligne mais en ligne.
Selon un mode de réalisation particulier, la mémoire de contrôle comporte une mémoire, dite de réseau, pour stocker les mots de commande du réseau d'interconnexion et une mémoire, dite de contrôle d'accès, pour stocker les séquences d'adressage et de contrôle des bancs mémoires.
Selon un mode de réalisation particulier, la mémoire de réseau et la mémoire de contrôle d'accès sont des mémoires volatiles.
Le dispositif de l'invention comprend en outre au moins une mémoire de calcul pour stocker des données intermédiaires générées par ledit circuit de calcul. Cette mémoire de calcul est par exemple une mémoire interne au circuit de calcul ou à l'unité de contrôle. Selon un mode de réalisation particulier, ladite mémoire de calcul est une portion mémoire desdits bancs mémoires.
L'invention concerne également un dispositif de codage ou de décodage de trames de données numériques comprenant n éléments de traitement disposés en parallèle, n étant un entier naturel supérieur à 1 , et un dispositif d'entrelacement ou de désentrelacement tel que défini précédemment pour entrelacer ou désentrelacer les trames de données produites les éléments de traitement.
D'autres avantages pourront encore apparaître à l'homme du métier à la lecture des exemples ci-dessous, illustrés par les figures annexées, donnés à titre illustratif.
Brève description des figures
La figure 1 , déjà décrite, représente le schéma fonctionnel d'un dispositif d'entrelacement ou de désentrelacement de l'art antérieur;
Les figures 2 et 3, déjà décrites, représentent des schémas illustrant les problèmes de collision avec le dispositif de la figure 1 ; et
La figure 4 représente le schéma fonctionnel d'un dispositif d'entrelacement ou de désentrelacement conforme à l'invention.
DESCRIPTION DETAILLEE D'AU MOINS UN MODE DE REALISATION
Selon l'invention, il est proposé d'implanter directement, dans l'unité de contrôle CTRL du dispositif d'entrelacement ou de désentrelacement, un circuit de calcul apte à exécuter à la volée un algorithme de placement des données numériques dans les bancs mémoires B0 à Bm- sans conflit d'accès.
L'unité de contrôle CTRL du dispositif d'entrelacement ou de désentrelacement conforme à l'invention est décrite en référence à la figure 4. L'unité de contrôle CTRL comprend une mémoire réseau M1 dans laquelle sont stockés des mots de commande du réseau d'interconnexion et une mémoire de contrôle d'accès M2 dans laquelle sont stockées des séquences d'adressage et de contrôle destinées à commander l'accès aux bancs mémoires. Les mémoires M1 et M2 sont commandées en lecture et en écriture par le circuit de contrôle CC. Les mots de commande et les séquences d'adressage et de contrôle stockés dans les mémoires M1 et
M2 sont générés par un circuit de calcul CAL. Selon l'invention, le circuit de calcul CAL génère des mots de commande et des séquences d'adressage et de contrôle garantissant un accès en lecture et en écriture sans conflit aux bancs mémoire B0 à Bm- en fonction de paramètres internes qui ne sont pas susceptibles d'être modifiés, tels que la règle d'entrelacement à appliquer, le nombre n d'éléments de traitement P, travaillant en parallèle, la structure du réseau d'interconnexion (papillons, registres à décalage, réseau de Bénès, ...) et de paramètres externes tels que la taille des trames à traiter. Pour cela, le circuit de calcul CAL exécute à la volée un algorithme de placement mémoire garantissant un accès sans conflit en fonction desdits paramètres internes et externes et les résultats de cette exécution sont stockées dans les mémoires M1 et M2. Cet algorithme est exécuté à chaque fois que l'un des paramètres internes ou externes est modifié.
Dans le cas d'un terminal de communication destiné à fonctionner selon un standard de communication donné, la règle d'entrelacement à appliquer est celle imposée par le standard de communication du terminal, le réseau d'interconnexion est celui du terminal et le nombre d'éléments de traitement travaillant en parallèle est généralement le nombre n d'éléments de traitement P0 à Pn-i contenus dans le terminal pour effectuer le codage ou le décodage des trames. Le seul paramètre susceptible de varier est la taille des trames. Dans ce cas, l'algorithme de placement mémoire est alors exécuté à chaque fois que la taille de trame change. Cet exemple est illustré par la figure 4.
Selon une variante, le terminal est capable de fonctionner selon un mode de fonctionnement dit dégradé dans lequel seule une partie des n éléments de traitement travaillent, par exemple n/2, les autres éléments de traitement étant éteints ou mis en veille pour limiter la consommation du terminal. Dans ce cas, l'algorithme de placement mémoire est exécuté à chaque fois que la taille de trame change ou que l'on passe à un mode de fonctionnement dégradé. D'une manière générale, l'algorithme de placement mémoire est exécuté à chaque fois que l'un des paramètres internes ou externes est modifié.
Cet algorithme est par exemple l'algorithme de faible complexité décrit dans l'un des trois documents suivants:
- le document IEEE intitulé "A memory marpping approach for parallel interleaver design with multiples read and write accesses" de Cyrille Chavet et Philippe Coussy, publié dans "IEEE International Symposium on Circuits and Systems (ISCAS), 2010, Paris (France);
- le document IEEE intitulé "An approach based on edge coloring of tripartite graph for designing parallel LDPC interleaver architecture" de Awais Sani, Philippe Coussy, Cyrille Chavet et Eric Martin, publié dans "IEEE International Symposium on Circuits and Systems (ISCAS), 201 1 , Rio de Janeiro (Brésil);
- le document IEEE intitulé "A methodology based on transportation problem modeling for designing parallel interleaver architectures" de Awais Sani, Philippe Coussy, Cyrille Chavet et Eric Martin, publié dans 36th IEEE International Conférence on Acoustics, Speech and Signal Processing, 201 1 , Prague (République Tchèque).
Lorsque le circuit de calcul CAL exécute l'algorithme de placement mémoire, les données intermédiaires sont stockées dans des mémoires internes de l'unité de contrôle CTRL ou éventuellement dans les bancs mémoires. Au final, les mots de commande et les séquences d'adressage et de contrôle générés par le circuit de calcul sont placés dans les mémoires M1 et M2 par le circuit de contrôle CC. Selon un mode de réalisation particulier, les mémoires M1 et M2 sont deux portions d'une même mémoire de contrôle.
Le circuit de calcul CAL est capable de générer les mots de commande et les séquences d'adressage et de contrôle pour tous les modes de fonctionnement des nouveaux standards de communication, par exemple LTE ou WIMAX, si on lui fournit la règle d'entrelacement à appliquer, le nombre d'éléments de traitement P, travaillant en parallèle, la structure du réseau d'interconnexion à commander et la taille des trames. L'algorithme est ré-exécuté à chaque fois que l'un des ces paramètres est modifié. L'ensemble des modes de fonctionnement d'un standard de communication peuvent être mis en œuvre sans avoir à utiliser des dizaines, voire des centaines, de mémoires ROM dans le dispositif.
Bien que l'invention ait été décrite en liaison avec un mode de réalisation particulier, il est bien évident qu'elle n'y est nullement limitée et qu'elle comprend tous les équivalents techniques des moyens décrits ainsi que leurs combinaisons si celles-ci entrent dans le cadre de l'invention.

Claims

REVENDICATIONS
1 ) Dispositif d'entrelacement ou désentrelacement de trames de données numériques délivrées par n éléments de traitement (P0... Pn-i) disposés en parallèle, n étant un entier naturel supérieur à 1 , ledit dispositif comprenant
- m bancs mémoires (B0...Bm- ) pour stocker des données en provenance ou à destination desdits éléments de traitement, m étant un entier naturel supérieur à 1 ,
- un réseau d'interconnexion (INT) pour aiguiller les données entre lesdits éléments de traitement et lesdits bancs mémoires, et
- une unité de contrôle (CTRL) comportant une mémoire de contrôle (M1 ,M2) dans laquelle sont stockés des mots de commande du réseau d'interconnexion et des séquences d'adressage et de contrôle destinées à commander les bancs mémoires, lesdits mots de commande et lesdites séquences d'adressage et de contrôle étant fonction d'une règle d'entrelacement ou de désentrelacement à appliquer, de la taille des trames de données numériques, des nombres m et n et du réseau d'interconnexion, et un circuit de contrôle (CC) pour commander le réseau d'interconnexion et les bancs mémoire avec les mots de commande et les séquences d'adressage et de contrôle stockés dans la ladite mémoire de contrôle,
caractérisé en ce que l'unité de contrôle (CTRL) comprend en outre un circuit de calcul (CAL) apte à générer des mots de commande et des séquences d'adressage et de contrôle garantissant un accès mémoire sans conflit en fonction de la règle d'entrelacement à appliquer, de la taille des trames de données numériques, du nombre n d'unités de traitement, du nombre m de bancs mémoires et du réseau d'interconnexion, ledit circuit de contrôle (CC) étant apte à écrire les mots de commande et les séquences d'adressage et de contrôle générés par ledit circuit de calcul dans ladite mémoire de contrôle. 2) Dispositif selon la revendication 1 , caractérisé en ce que le circuit de calcul (CAL) est apte à exécuter un algorithme de placement mémoire garantissant un accès mémoire sans conflit à chaque changement d'au moins l'un des paramètres suivants:
- taille de trame des données numériques,
- règle d'entrelacement ou de désentrelacement à appliquer,
- nombre n éléments de traitement du dispositif,
- nombre m de bancs mémoires du dispositif,
- réseau d'interconnexion.
3) Dispositif selon la revendication 1 ou 2, caractérisé en ce que la mémoire de contrôle comporte une mémoire, dite de réseau (M1 ), pour stocker les mots de commande du réseau d'interconnexion et une mémoire, dite de contrôle d'accès (M2), pour stocker les séquences d'adressage et de contrôle des bancs mémoires.
4) Dispositif selon la revendication 3, caractérisé en ce que la mémoire de réseau et la mémoire de contrôle d'accès sont des mémoires volatiles.
5) Dispositif de codage ou de décodage de trames de données numériques comprenant n éléments de traitement disposés en parallèle, n étant un entier naturel supérieur à 1 , caractérisé en ce qu'il comporte en outre un dispositif d'entrelacement ou de désentrelacement selon l'une quelconque des revendications 1 à 4.
EP13711578.8A 2012-02-23 2013-02-22 Dispositif auto-configurable d'entrelacement/desentrelacement de trames de donnees Ceased EP2817886A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1251688A FR2987527B1 (fr) 2012-02-23 2012-02-23 Dispositif auto-configurable d'entrelacement/desentrelacement de trames de donnees
PCT/EP2013/053613 WO2013124449A1 (fr) 2012-02-23 2013-02-22 Dispositif auto-configurable d'entrelacement/desentrelacement de trames de donnees

Publications (1)

Publication Number Publication Date
EP2817886A1 true EP2817886A1 (fr) 2014-12-31

Family

ID=47988889

Family Applications (1)

Application Number Title Priority Date Filing Date
EP13711578.8A Ceased EP2817886A1 (fr) 2012-02-23 2013-02-22 Dispositif auto-configurable d'entrelacement/desentrelacement de trames de donnees

Country Status (4)

Country Link
US (1) US9971684B2 (fr)
EP (1) EP2817886A1 (fr)
FR (1) FR2987527B1 (fr)
WO (1) WO2013124449A1 (fr)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9454313B2 (en) 2014-06-10 2016-09-27 Arm Limited Dynamic selection of memory management algorithm
US9875195B2 (en) 2014-08-14 2018-01-23 Advanced Micro Devices, Inc. Data distribution among multiple managed memories
EP3878102B1 (fr) * 2018-11-07 2024-03-06 Telefonaktiebolaget LM Ericsson (publ) Implémentation optimisée du (dés)entrelacement pour 3gpp nouvelle radio

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1850486A1 (fr) * 2005-02-03 2007-10-31 Matsushita Electric Industrial Co., Ltd. Entrelaceur parallele, desentrelaceur parallele et procede d'entrelacement

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2675970B1 (fr) 1991-04-23 1993-08-06 France Telecom Procede de codage convolutif correcteur d'erreurs pseudo-systematique, procede de decodage et dispositifs correspondants.
FR2838581B1 (fr) 2002-04-16 2005-07-08 Universit De Bretagne Sud Procede de codage et/ou de decodage de codes correcteurs d'erreurs, dispositifs et signal correspondants
US7454570B2 (en) * 2004-12-07 2008-11-18 International Business Machines Corporation Efficient memory update process for on-the-fly instruction translation for well behaved applications executing on a weakly-ordered processor
FR2915641B1 (fr) * 2007-04-30 2009-08-07 St Microelectronics Sa Procede et dispositif d'entrelacement de donnees
EP2210345A2 (fr) * 2007-10-02 2010-07-28 Imec Architecture asip (processeur d'ensembles d'instructions spécifique à une application) permettant de décoder au moins deux procédés de décodage
FR2931968B1 (fr) * 2008-06-02 2012-11-30 Alcatel Lucent Procede et equipement de stockage de donnees en ligne
TWI381653B (zh) * 2009-09-11 2013-01-01 Ind Tech Res Inst 二階重排多項式交織器位址產生裝置與方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1850486A1 (fr) * 2005-02-03 2007-10-31 Matsushita Electric Industrial Co., Ltd. Entrelaceur parallele, desentrelaceur parallele et procede d'entrelacement

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
See also references of WO2013124449A1 *
ZHENZHI WU ET AL: "FPGA implementation of a multi-algorithm parallel FEC for SDR platforms", 2014 24TH INTERNATIONAL CONFERENCE ON FIELD PROGRAMMABLE LOGIC AND APPLICATIONS (FPL), TECHNICAL UNIVERSITY OF MUNICH (TUM), 2 September 2014 (2014-09-02), pages 1 - 6, XP032662531, DOI: 10.1109/FPL.2014.6927446 *

Also Published As

Publication number Publication date
FR2987527A1 (fr) 2013-08-30
WO2013124449A1 (fr) 2013-08-29
US20150301940A1 (en) 2015-10-22
US9971684B2 (en) 2018-05-15
FR2987527B1 (fr) 2014-02-21

Similar Documents

Publication Publication Date Title
Wang et al. Parallel interleaver design for a high throughput HSPA+/LTE multi-standard turbo decoder
EP1332557B1 (fr) Module, dispositif et procede de decodage a haut debit, d'un code concatene
EP2092651B1 (fr) Codage et decodage d'un signal de donnees en fonction d'un code correcteur
EP1974472B1 (fr) Procedes d'encodage et de decodage rapides et dispositifs associes
Nimbalker et al. Contention-free interleavers for high-throughput turbo decoding
EP2817886A1 (fr) Dispositif auto-configurable d'entrelacement/desentrelacement de trames de donnees
Sani et al. A first step toward on-chip memory mapping for parallel turbo and LDPC decoders: a polynomial time mapping algorithm
EP4670276A1 (fr) Dispositif matériel spécifique à une application pour décoder des codes polaires non binaires
US20110087949A1 (en) Reconfigurable turbo interleavers for multiple standards
EP3622642A1 (fr) Réseau de propagation de croyance de taille minimale pour codeurs et décodeurs itératifs fec et procédé de routage associé
Chavet et al. Static address generation easing: a design methodology for parallel interleaver architectures
Chavet et al. A memory Mapping Approach for Parallel Interleaver design with multiples read and write accesses
EP2609545A1 (fr) Dispositifs d'apprentissage et/ou de décodage de messages, mettant en oeuvre un réseau de neurones, procédés d'apprentissage et de décodage et programmes d'ordinateur correspondants
FR2900294A1 (fr) Chargement de la memoire d'entree d'un decodeur ldpc avec des donnees a decoder
FR2915641A1 (fr) Procede et dispositif d'entrelacement de donnees
EP2427967B1 (fr) Procede de commande d'un noeud de parite elementaire d' un decodeur de codes ldpc non binaires, et processeur d'un noeud de parite elementaire correspondant
Zhao et al. DVB-T2 LDPC decoder with perfect conflict resolution
Marchand Implementation of an LDPC decoder for the DVB-S2,-T2 and-C2 standards
FR2888062A1 (fr) Codeur et turbo decodeur de code produit
FR3022651A1 (fr) Procedes et dispositifs de codage et de decodage correcteur d'erreurs, et programme d'ordinateur correspondant.
Martina et al. VLSI implementation of WiMax convolutional turbo code encoder and decoder
WO2008053119A1 (fr) Procedes d'entrelacement et de desentrelacement d'une trame de symboles, produits programme d'ordinateur, entrelaceur, desentrelaceur, codeur et decodeur correspondants
Rehman Designing Optimized parallel interleaver architecture for Turbo and LDPC decoders
Cavallaro A Flexible LDPC/Turbo Decoder Architecture
Abdel-Hamid et al. Memory conflict analysis for a multi-standard, reconfigurable turbo decoder

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20140827

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAX Request for extension of the european patent (deleted)
RIN1 Information on inventor provided before grant (corrected)

Inventor name: CHAVET, CYRILLE

Inventor name: COUSSY, PHILIPPE

17Q First examination report despatched

Effective date: 20160209

REG Reference to a national code

Ref country code: DE

Ref legal event code: R003

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 20180723