WO2012123243A1 - Systeme mono-puce comprenant un coeur programmable synthetisable et un procede de fabrication d'un tel systeme - Google Patents

Systeme mono-puce comprenant un coeur programmable synthetisable et un procede de fabrication d'un tel systeme Download PDF

Info

Publication number
WO2012123243A1
WO2012123243A1 PCT/EP2012/053271 EP2012053271W WO2012123243A1 WO 2012123243 A1 WO2012123243 A1 WO 2012123243A1 EP 2012053271 W EP2012053271 W EP 2012053271W WO 2012123243 A1 WO2012123243 A1 WO 2012123243A1
Authority
WO
WIPO (PCT)
Prior art keywords
cps
core
configuration file
hdl
chip system
Prior art date
Application number
PCT/EP2012/053271
Other languages
English (en)
Inventor
Gil Peer SCHMITT
Philippe Robert DIEHL
Original Assignee
S.A.S Adicsys
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 S.A.S Adicsys filed Critical S.A.S Adicsys
Publication of WO2012123243A1 publication Critical patent/WO2012123243A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
    • H01L27/04Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body
    • H01L27/10Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body including a plurality of individual components in a repetitive configuration
    • H01L27/118Masterslice integrated circuits

Definitions

  • the invention relates to a single-chip system comprising a synthesizable programmable core and a method of manufacturing such a system. It applies in particular to the field of integrated circuits.
  • a first possibility is to use integrated circuits designed specifically for a given application or set of applications. These circuits are designated by the acronym ASIC coming from the Anglo-Saxon expression "Application-Specific Integrated Circuit”. They enable fast execution of applications and the cost of production is reduced when they are produced on a large scale. However, the design of such circuits is long and the development costs can be significant.
  • FPGA circuits acronym from the English expression "Field Programmable Gate Array”.
  • the FPGA circuits are composed of a plurality of elementary logic cells that can be connected to each other by programming.
  • the programming of an FPGA is implemented using a set of configuration bits for connecting the elementary cells in different ways.
  • This set of configuration bits is usually grouped into a configuration file.
  • This file is usually designated by the English word "bitstream”.
  • the configuration file can be stored outside the FPGA circuit in external nonvolatile memory.
  • One of the advantages of FPGA chips is that they can be reprogrammed by modifying the configuration file. The implementation of a given application is facilitated because when an error is detected, it can be corrected by reprogramming the circuit without hardware modification.
  • FIG. 1 is a simplified representation of the design steps of a SoC system comprising an eFPGA circuit. Many difficulties are encountered.
  • the first are the dedicated blocks and the second are the eFPGA blocks.
  • HDL hardware description language
  • VHDL Very High Definition Language
  • Verilog Verilog languages
  • the HDL languages are usually used to describe the expected operation of the dedicated blocks and allow their translation into a logical gate assembly, this logical gate assembly being obtained using a synthesis tool 102. More precisely, the result of the synthesis corresponds to a list of interconnections of logic gates 103, said list being usually presented in the form of a file designated by the English expression "netlist gate”. This file corresponds to a list containing all the basic logic gates to be used for the implementation of the dedicated SoC blocks as well as information on how these doors are connected to each other.
  • the designer must produce a hardware description 104 of the circuit and then use a generation tool 105 so as to generate from the hardware description an interconnection list of transistors 106, said list being presented usually in the form of a file referred to by the expression Anglo-Saxon "netlist transistor".
  • a geometric file is also obtained.
  • the generation tool to obtain these files is usually dedicated to eFPGA circuit design. It makes it possible to obtain in addition to the list of transistors and the geometrical file a simulation model. However, this simulation model is limited because it does not take into account all the physical phenomena related to the implementation of the eFPGA circuit on the SoC single chip system. Such an imperfect simulation model is nevertheless used to validate the system before the physical generation of the chip.
  • the operations required for the implementation of the two streams are conducted independently of each other.
  • the first stream 109 used for the synthesis of the dedicated blocks is called a flow of conventional design in the remainder of the description, the conventional term being used because this type of flow is similar to that used in the design of ASIC circuits.
  • the second stream 1 10 is called the eFPGA stream.
  • the lists 103, 106 obtained by the implementation of the conventional streams 109 and eFPGA 1 10 are then used at another stage of the design in order to obtain an image of the chip to be melted, this image being stored in files called geometric files 106, 1 12, also called "layout" file in English language.
  • a disadvantage of this approach is that two independent streams 109, 1 10 are required. Designers must therefore decide as early as the specification phase of the single-chip system 100 of the distribution of functions required for the implementation of the targeted application or applications. Indeed, the functions necessary for the implementation of the chosen application can be implemented either in dedicated blocks or in eFPGA circuits. By way of example, a SoC will be obtained by implementing a first subset of functions in a dedicated block and a second-subset of functions in an eFGPA block.
  • An object of the invention is in particular to overcome the aforementioned drawbacks.
  • the subject of the invention is a single-chip system comprising at least one CPS synthesizable programmable core and a dedicated block.
  • the CPS core and the dedicated block were synthesized together on the one hand from a model in the HDL hardware description language of the dedicated block and on the other hand from an HDL model of the CPS core associated with a configuration file by default.
  • the HDL model and the default configuration file of the CPS core have been generated from an initial HDL model corresponding to a non-programmable block.
  • the HDL model of the CPS core associated with its default configuration file is functionally equivalent to the original HDL model.
  • the default configuration file is obtained by compiling the result of the synthesis of the initial HDL model, the architecture of the CPS core being taken into account by the compilation.
  • the CPS core is synthesized, for example, using a standard cell library commonly used for ASIC synthesis.
  • memory elements are used for programming the CPS core.
  • An initialization signal places the memory elements in a known state, said initialization signal being adapted so that the known states of the memory elements correspond to the values included in the default configuration file.
  • the initialization signal is for example adapted by retro-annotation of the HDL model of the CPS core in order to match each the default configuration file information when the memory element is set to 1 or reset.
  • the memory elements are, for example, D flip-flops.
  • the initialization signal is routed to the data inputs of flip-flops D.
  • the initialization signal is routed to the SET or RESET inputs of the D flip-flops.
  • the D flip-flops are for example chosen with a forcing input at 0 or with a forcing input at 1 so that said flip-flops are initialized by loading the values associated with them in the default configuration file.
  • the CPS core associated with its configuration file implements a memory controller.
  • the invention also has a method for manufacturing a single-chip system as described above.
  • the method comprises a step of generating a model in HDL hardware description language of a CPS synthesizable programmable core to implement functions described using an initial HDL model, a step of generating a file default configuration of the CPS core by synthesis and compilation of the initial HDL model, a step of synthesis of the CPS core and the dedicated block using the same synthesis tool, a step of generating a geometric file from the result of the synthesis and a step of casting the single chip system using said geometric file.
  • the synthesis is performed using a standard cell library commonly used for synthesizing ASICs.
  • the HDL template and the default CPS core configuration file were generated from an initial HDL template corresponding to a non-programmable block so that the HDL model of the CPS core associated with its default configuration file is functionally equivalent to the initial HDL model.
  • FIG. 1 is a simplified representation of the design steps of a SoC system comprising an eFPGA circuit
  • FIG. 2 shows an example of a single-chip system according to the invention
  • FIG. 3 illustrates a first design phase making it possible to obtain a description in hardware description language of a CPS core as well as its configuration file;
  • FIG. 4 illustrates how a SoC system according to the invention can be obtained from the HDL model of a CPS core and its configuration file
  • FIG. 5 illustrates how a SoC system comprising a CPS synthesizable programmable core can be set by default.
  • FIG. 2 shows an example of a single-chip system 200 according to the invention.
  • This example SoC system comprises four dedicated blocks 201, 202, 203, 207 and three blocks called hard blocks 204, 205, 206.
  • the hard blocks 204, 205, 206 correspond to blocks implementing functions commonly used in integrated circuits, such as memories, input-output interface circuits or PLLs, acronym from the English expression. -shows "Phase Locked Loop”.
  • the system further comprises an area in which appears a dedicated block 207 and two CPS synthesizable programmable cores 208, 209.
  • a CPS heart 208, 209 is associated with at least one configuration file internally stored in the SoC or in a memory external. Such a file makes it possible to precisely program a CPS core after the chip of the mono-core system has been melted.
  • the dedicated blocks 201, 202, 203 having their own functionalities can be implemented using HDL models already used to implement dedicated blocks validated in the context of other SoCs. The designers can choose to reuse them directly, the risks of errors resulting from the implementation of these blocks being limited.
  • a SoC according to the invention comprises one or more programmable synthesizable CPS cores 208, 209. Part of the new functionalities to be implemented in the SoC is allocated thereto, and the fact that these cores are programmable makes it possible to correct errors even after the production of the chip by modifying a configuration file. If the SoC is used for different versions of a product, the features implemented at CPS cores can also be adapted from one product to another by modifying the configuration file.
  • the programmable logic of a CPS core is optimized to be able to achieve a given set of functions of a nature known a priori by the designer. For example, if a CPS core needs to implement a memory controller, the characteristic resources of a processor are useless and will not be included in the physical elements making up the core.
  • a CPS core is a semi-dedicated block, which differs from FPGA and eFPGA type circuits whose architectures are developed to meet any need. FPGAs and eFPGAs are therefore often oversized, which is not the case for CPS cores.
  • FIGS. 3 and 4 show in a simplified manner the two design phases making it possible to obtain a SoC system according to the invention.
  • FIG. 3 illustrates a first design phase making it possible to obtain an HDL model 307 of a CPS core, that is to say a description in the hardware description language of this core 306, as well as its configuration file 305.
  • a first set of functions A is intended to be embedded in a dedicated block.
  • a second set B of functions is divided into two subsets of functions B1 and B2.
  • the subset of functions B1 is intended to be embedded in a dedicated block and the subset of functions B2 is intended to be embedded in a CPS core.
  • a first step has the purpose of describing these sets of functions in hardware description language 300.
  • An HDL model is obtained for each of them.
  • a succession of steps is then applied to obtain from an initial HDL model 307 of the subset B2 an HDL model of the CPS core and its default configuration file.
  • the architecture of the CPS core must be determined 301. This can be described by the designer, for example using appropriate software. It is also possible to generate this architecture automatically or to select it from among different possible CPS core architectures included in a library. The architecture of a CPS core can also be refined for specific needs through the use of specialized modules or functions.
  • the architecture of the CPS core is described by a hardware description language.
  • the B2 function subset model is synthesized 303 from the initial HDL model 307 taking into account the architecture of the CPS core.
  • the result of this synthesis is compiled 304 so as to produce a default configuration file 305 of the CPS core.
  • a specific compilation tool is then required such as a conventional compilation tool for FPGA or eFPGA.
  • the combination of the HDL 306 model of the CPS core and its default configuration file 305 is then functionally equivalent to the HDL model of an original non-programmable block 307 of the subset of B2 functions also called the initial HDL template, and can to be used in a classical synthesis flow.
  • Figure 4 illustrates how a SoC system according to the invention can be obtained from the HDL model and its configuration file.
  • the functional equivalence between the initial non-programmable 307 HDL model of the functional subset to be implemented on the core CPS, i.e., the subset B2 in this example, and the set consisting of the HDL template of said core 306, 402 associated with its default configuration file 305, 401 is essential for the design of a SoC according to the invention.
  • the initial HDL model and the set composed of the HDL model of the core and its default configuration file can be easily exchanged inside the synthesis stream.
  • the physical part of the SoC implementing the subset of function is different depending on whether one or the other alternative is chosen. In particular, the silicon surface will be different.
  • the initial HDL model and the composite set of the CPS core HDL model associated with its configuration file are both synthesizable by the same tools. This has the particular advantage of avoiding the implementation of an additional integration step when deciding on such a permutation.
  • the HDL 402 model of the CPS core and its configuration file 401 can be synthesized 404 together with the HDL model of the functional subset B1 and the HDL model of the function set A.
  • a geometry file 406 may be generated 405 using a conventional tool and the SoC system 408 comprising a synthesizable programmable heart may be merged 407.
  • the SoC system can then be implemented using any integrated circuit manufacturing technology.
  • FIG. 5 illustrates how a SoC system comprising a CPS synthesizable programmable core can be configured by default.
  • a SoC according to the invention is a compromise between a SoC comprising an eFGPA and a SoC comprising only dedicated blocks.
  • a SoC according to the invention is a semi-dedicated system. These systems are therefore useful for the implementation of one or more given applications, the CPS heart or hearts for programming some of the functions used by these applications.
  • an advantageous embodiment of such a SoC system according to the invention comprises a technology that allows it to be configured by default when it is powered up.
  • the FPGA and eFPGA circuits must load the bits contained in a configuration file at memory points internal to these circuits, called memory points in the following description. These memory points are sequentially programmed from the configuration file usually stored on a storage medium external to the circuit to be programmed. This approach is typical when FPGA or eFPGA circuits are used because their configuration is not or does not need to be known at the time of their manufacture.
  • the configuration file Once the configuration file has been determined, when the system using an FPGA or an eFPGA is turned on, the bits of the configuration file are loaded. This operation is not instantaneous. In addition, an FPGA or an eFPGA is not available with a default configuration.
  • the mono-chip system according to the invention advantageously allows to contain a default configuration of the CPS or cores without the purchaser of such a system having to perform any programming operation. For this, two alternatives are described below.
  • an initialization signal is usually used in integrated circuits to put toggle memory elements in a known state. This signal is usually generated outside the circuit and is called the initialization signal. By default, the initialization signal loads 0 in all elements.
  • a first way to load the default configuration automatically is to modify this initialization signal so that it does not load only 0s in elements 501 for programming cells 500 of the CPS core, but 0's and 1's in accordance with the values of the default configuration file.
  • the effect produced by the initialization signal is adapted at the time of writing of the HDL model of the CPS core. For that, after generation of the HDL model of the CPS core as well as its configuration file, the HDL model is retro-annotated in order to match each information of the default configuration file with a setting to 1 or a setting of 0. a memory point of the CPS heart when the initialization signal is applied.
  • the initialization signal may be derived from the conventional initialization signal of a SoC, another signal or a combination between this initialization signal and another signal. Moreover, this technique of taking into account the default configuration at the level of the initialization signal advantageously allows a complete simulation of the operation of the SoC system from the HDL models of the CPS core and the other HDL models associated with the dedicated blocks and the hard blocks.
  • An alternative way of loading the default configuration of the CPS core automatically is to change the nature of the selected memory elements 501.
  • standard cell libraries are used at the time of synthesis. These libraries allow the implementation of at least two types of memorizing elements.
  • a first type of element is the latch D on state also called “latch” in English and a second type of element is the D flip-flop on front also called “flip-flop” flip-flop.
  • a state D flip-flop takes up less space on a SoC than a front-end D flip-flop.
  • the choice between these two types of memory elements is usually made at the time of writing the HDL model. After the synthesis, however, it remains possible to modify selected flip-flops for taking into account the values of the configuration file.
  • the modification after synthesis consists of a replacement of flip-flops D with a forcing input at 0 RESET by a flip-flop D with a forcing input at 1 SET or the inverse according to the corresponding value of the configuration file, the signal of initialization being for example connected to this input.
  • This modification can be implemented by manually updating or using a suitable software file "netlist pamper" generated from HDL models SoC. It remains possible to re-program the SoC using the conventional programming mode of a programmable circuit, that is to say by loading the bits of a configuration file 502 different from the default configuration file by the channel. of normal data 504 of the memory elements, for example by using the input D of a flip-flop D.
  • One of the default configuration techniques can be applied to all or part of a CPS core. This advantageously allows the designer not to disclose the entire default configuration file.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Stored Programmes (AREA)

Abstract

L'invention a pour objet un système mono-puce (200, 408) comportant au moins un cœur programmable synthétisable CPS (208, 209) et un bloc dédié 10 (201, 202, 203, 207). Le cœur CPS et le bloc dédié ont été synthétisés ensemble à partir dune part d'un modèle en langage de description matérielle HDL du bloc dédié (201, 202, 203, 207) et d'autre part d'un modèle en langage de description matérielle HDL du cœur CPS (306, 402) associé à un fichier de configuration par défaut (305, 401).

Description

SYSTEME MONO-PUCE COMPRENANT UN CŒUR PROGRAMMABLE SYNTHETISABLE ET UN PROCEDE DE FABRICATION D'UN TEL
SYSTEME L'invention concerne un système mono-puce comprenant un cœur programmable synthétisable et un procédé de fabrication d'un tel système. Elle s'applique notamment au domaine des circuits intégrés.
Il existe aujourd'hui plusieurs alternatives pour mettre en œuvre des applications sur circuits intégrés.
Une première possibilité est d'utiliser des circuits intégrés conçus spécialement pour une application ou un ensemble d'application donné. Ces circuits sont désignés par l'acronyme ASIC venant de l'expression anglo- saxonne « Application-Specific Integrated Circuit ». Ils permettent une exécution rapide des applications et le coût de production est réduit lorsqu'ils sont produits à grande échelle. Cependant, la conception de tels circuits est longue et les coûts de développement peuvent être importants.
Une alternative est d'utiliser des circuits intégrés programmables comme par exemple des circuits FPGA, acronyme venant de l'expression anglo-saxonne « Field Programmable Gâte Array ». Les circuits FPGA sont composés d'une pluralité de cellules logiques élémentaires pouvant être connectées les unes aux autres par programmation. La programmation d'un FPGA est mise en œuvre à l'aide d'un ensemble de bits de configurations permettant de connecter les cellules élémentaires de différentes manières. Cet ensemble de bits de configuration est habituellement regroupé dans un fichier de configuration. Ce fichier est désigné habituellement par le mot anglais « bitstream ». Le fichier de configuration peut être mémorisé à l'extérieur du circuit FPGA dans une mémoire non volatile externe. Un des avantages des circuits FPGA est qu'ils peuvent être reprogrammés par modification du fichier de configuration. La mise en œuvre d'une application donnée est facilitée du fait que lorsqu'une erreur est détectée, celle-ci peut être corrigée par reprogrammation du circuit sans modification matérielle. Cependant, pour une application donnée, du fait qu'un circuit FPGA n'est pas spécialisé, la surface en silicium est plus importante que celle requise par un circuit ASIC. De plus, sont coût est plus élevé et ses performances en termes de temps d'exécution moins bonnes. Une autre alternative est d'intégrer un circuit FPGA dans un système mono-puce comportant aussi des éléments de calcul spécialisés, lesdits éléments de calcul spécialisés étant mis en œuvres dans des blocs dédiés, c'est-à-dire non programmables. Les systèmes mono-puce sont désignés habituellement par l'acronyme SoC venant de l'expression anglo- saxonne « System on Chip ». Puisque dans ce cas le circuit FPGA est intégré au sein d'un système SoC, celui-ci est désigné par l'acronyme eFPGA, le 'e' faisant référence au mot anglais « embedded ». La figure 1 représente de manière simplifiée les étapes de conception d'un système SoC comportant un circuit eFPGA. De nombreuses difficultés y sont rencontrées.
Après avoir spécifié 100 quelles sont les caractéristiques du système SoC voulu, deux types de blocs doivent être conçus. Les premiers sont les blocs dédiés et les seconds les blocs eFPGA.
Pour concevoir des blocs dédiés dans un SoC, une description fonctionnelle synthétisable 101 desdits blocs doit être produite. Pour cela, un langage de description matérielle HDL, acronyme venant de l'expression anglo-saxonne « Hardware Description Langage >> est utilisé. Des exemples couramment utilisés de tels langages sont les langages VHDL et Verilog. Les langages HDL sont utilisés habituellement pour décrire le fonctionnement attendu des blocs dédiés et permettre leur traduction en un assemblage de portes logiques, cet assemblage de portes logiques étant obtenu à l'aide d'un outil de synthèse 102. Plus précisément, le résultat de la synthèse correspond à une liste d'interconnections de portes logiques 103, ladite liste étant présentée habituellement sous la forme d'un fichier désigné par l'expression anglo-saxonne « netlist gate ». Ce fichier correspond à une liste contenant l'ensemble des portes logiques élémentaires à utiliser pour la mise en œuvre des blocs dédiés du SoC ainsi que des informations sur la manière dont ces portes sont connectées les unes aux autres.
Pour ce qui concerne la conception du circuit eFPGA, le concepteur doit produire une description matérielle 104 du circuit puis utiliser un outil de génération 105 de manière à générer à partir de la description matérielle une liste d'interconnexion de transistors 106, ladite liste étant présentée habituellement sous la forme d'un fichier désigné par l'expression anglo-saxonne « transistor netlist ». Un fichier géométrique est également obtenu. L'outil de génération permettant d'obtenir ces fichiers est habituellement dédié à la conception de circuit eFPGA. Il permet d'obtenir en plus de la liste de transistors et du fichier géométrique un modèle de simulation. Cependant, ce modèle de simulation est limité car il ne prend pas en compte tous les phénomènes physiques liés à l'implémentation du circuit eFPGA sur le système mono-puce SoC. Un tel modèle de simulation imparfait est néanmoins utilisé pour valider le système avant la génération physique de la puce.
II apparaît donc qu'une première série d'opérations de conception
109, et une seconde série d'opérations de conception 1 10 sont nécessaires pour obtenir un SoC intégrant un circuit eFPGA, ces séries d'opérations étant appelées flots de conception. Les opérations requises pour la mise en œuvre des deux flots sont conduites indépendamment les unes des autres. Le premier flot 109 utilisé pour la synthèse des blocs dédiés est appelé flot de conception classique dans la suite de la description, le terme classique étant utilisé car ce type de flot est similaire à celui utilisé lors de la conception de circuits ASIC. Le second flot 1 10 est appelé flot eFPGA.
Les listes 103, 106 obtenues par la mise en œuvre des flots classique 109 et eFPGA 1 10 sont ensuite utilisées à un autre stade de la conception dans le but d'obtenir une image de la puce à fondre, cette image étant mémorisée dans des fichiers appelés fichiers géométriques 106, 1 12, appelé aussi fichier « layout >> en langue anglaise.
Un inconvénient de cette approche est que deux flots indépendants 109, 1 10 sont requis. Les concepteurs doivent donc décider dès la phase de spécification du système mono-puce 100 de la répartition des fonctions requises pour la mise en œuvre de la ou des applications ciblées. En effet, les fonctions nécessaires à la mise en œuvre de l'application choisie peuvent être implémentées soit dans des blocs dédiés, soit dans des circuits eFPGA. A titre d'exemple, un SoC sera obtenu par la mise en œuvre d'un premier sous-ensemble de fonctions dans un bloc dédié et d'un second-sous ensemble de fonctions dans un bloc eFGPA.
Un autre inconvénient de cette approche est qu'un certain nombre d'erreurs ne peuvent être détectés qu'une fois la puce fondue. Cela est du notamment aux imperfections du modèle de simulation du bloc eFPGA obtenus à l'aide de l'outil de génération 105 et à la réalisation de fichiers géométriques 106, 1 12 avec deux processus indépendantes 105, 107. Ces erreurs détectées tardivement ont pour conséquences une augmentation significative du temps et du coût de développement du système SoC car il est alors nécessaire de corriger les modèles HDL des blocs dédiés à générer puis de synthétiser de nouveaux fichiers netlist dans le but de corriger ces erreurs puis de fondre une nouvelle puce pour la tester.
Un but de l'invention est notamment de pallier les inconvénients précités.
A cet effet l'invention a pour objet un système mono-puce comportant au moins un cœur programmable synthétisable CPS et un bloc dédié. Le cœur CPS et le bloc dédié ont été synthétisés ensemble à partir d'une part d'un modèle en langage de description matérielle HDL du bloc dédié et d'autre part d'un modèle HDL du cœur CPS associé à un fichier de configuration par défaut.
Selon un aspect de l'invention, le modèle HDL et le fichier de configuration par défaut du cœur CPS ont été générés à partir d'un modèle HDL initial correspondant à un bloc non programmable. Le modèle HDL du cœur CPS associé à son fichier de configuration par défaut est équivalent fonctionnellement au modèle HDL initial.
Selon un autre aspect de l'invention, le fichier de configuration par défaut est obtenu par compilation du résultat de la synthèse du modèle HDL initial, l'architecture du cœur CPS étant prise en compte par la compilation.
Le cœur CPS est synthétisé, par exemple, en utilisant une bibliothèque de cellules standard communément utilisée pour la synthèse de circuits ASIC.
Dans un mode de réalisation, des éléments mémoire sont utilisés pour la programmation du cœur CPS. Un signal d'initialisation met les éléments mémoire dans un état connu, ledit signal d'initialisation étant adapté de manière à ce que les états connus des éléments mémoire correspondent aux valeurs comprises dans le fichier de configuration par défaut.
Le signal d'initialisation est par exemple adapté par retro- annotation du modèle HDL du cœur CPS afin de faire correspondre chaque information du fichier de configuration par défaut à une mise à 1 ou à une mise à 0 d'un élément mémoire.
Les éléments mémoire sont, par exemple, des bascules D.
Selon un mode de réalisation, le signal d'initialisation est routé vers les entrées de données des bascules D.
Selon un autre mode de réalisation, le signal d'initialisation est routé vers les entrées SET ou RESET des bascules D.
Les bascules D sont par exemple choisies avec une entrée de forçage à 0 ou avec une entrée de forçage à 1 de manière à ce que lesdites bascules soient initialisées en chargeant les valeurs leurs étant associées dans le fichier de configuration par défaut.
Par exemple, le cœur CPS associé à son fichier de configuration met en œuvre un contrôleur de mémoire.
L'invention a aussi un procédé de fabrication d'un système mono- chip tel que décrit précédemment. Le procédé comprend une étape de génération d'un modèle en langage de description matérielle HDL d'un cœur programmable synthétisable CPS devant mettre en œuvre des fonctions décrites à l'aide d'un modèle HDL initial, une étape de génération d'un fichier de configuration par défaut du cœur CPS par synthèse et compilation du modèle HDL initial, une étape de synthèse du cœur CPS et du bloc dédié en utilisant un même outil de synthèse, une étape de génération d'un fichier géométrique à partir du résultat de la synthèse et une étape de fonte du système mono-puce en utilisant ledit fichier géométrique.
Selon un aspect de l'invention, la synthèse est effectuée en utilisant une bibliothèque de cellules standard communément utilisée pour la synthèse de circuits ASIC.
Le modèle HDL et le fichier de configuration par défaut du cœur CPS ont été générés à partir d'un modèle HDL initial correspondant à un bloc non programmable de manière à ce que le modèle HDL du cœur CPS associé à son fichier de configuration par défaut soient équivalent fonctionnellement au modèle HDL initial.
D'autres caractéristiques et avantages de l'invention apparaîtront à l'aide de la description qui suit donnée à titre illustratif et non limitatif, faite en regard des dessins annexés parmi lesquels : la figure 1 représente de manière simplifiée les étapes de conception d'un système SoC comportant un circuit eFPGA; la figure 2 présente un exemple de système mono-puce selon l'invention ;
la figure 3 illustre une première phase de conception permettant d'obtenir une description en langage de description matérielle d'un cœur CPS ainsi que son fichier de configuration ;
- la figure 4 illustre la manière dont un système SoC selon l'invention peut être obtenu à partir du modèle HDL d'un cœur CPS et de son fichier de configuration ;
la figure 5 illustre la manière dont un système SoC comprenant un cœur programmable synthétisable CPS peut être paramétré par défaut.
La figure 2 présente un exemple de système mono-puce 200 selon l'invention. Cet exemple de système SoC comprend quatre blocs dédiés 201 , 202, 203, 207 ainsi que trois blocs appelés blocs durs 204, 205, 206.
Les blocs durs 204, 205, 206 correspondent à des blocs mettant en œuvre des fonctions communément utilisées dans les circuits intégrés, comme par exemple des mémoires, des circuits d'interface entrées-sorties ou bien des PLL, acronyme venant de l'expression anglo-saxonne « Phase Locked Loop ».
Le système comporte en outre une zone dans laquelle apparaît un bloc dédié 207 ainsi que deux cœurs programmables synthétisables CPS 208, 209. Un cœur CPS 208, 209 est associé à au moins un fichier de configuration mémorisé en interne au SoC ou bien dans une mémoire externe. Un tel fichier permet de programmer précisément un cœur CPS après que la puce du système mono-cœur ait été fondue.
Les blocs dédiés 201 , 202, 203 ayant leurs propres fonctionnalités peuvent être implémentés à l'aide de modèles HDL déjà utilisés pour implémenter des blocs dédiés validés dans la cadre d'autres SoC. Les concepteurs peuvent ainsi choisir de les réutiliser directement, les risques d'erreurs résultant de l'implémentation de ces blocs étant limités.
La problématique est différente par exemple lorsque des fonctionnalités nouvelles doivent être introduites dans le SoC. Dans ce cas, une solution de type eFPGA peut être choisie. De cette façon, les fonctionnalités nouvelles sont reprogrammables après que le SoC ait été fondu. Dans le cadre de l'invention, une solution nouvelle et innovante est proposée. Un SoC selon l'invention comprend un ou plusieurs cœurs programmables synthétisables CPS 208, 209. Une partie des fonctionnalités nouvelles à mettre en œuvre dans le SoC y est allouée, et le fait que ces cœurs soient programmables permet la correction d'erreurs même après la production de la puce par modification d'un fichier de configuration. Si le SoC est utilisé pour différentes versions d'un produit, les fonctionnalités mises en œuvre au niveau des cœurs CPS peuvent aussi être adaptées d'un produit à l'autre en modifiant le fichier de configuration.
Avantageusement, la logique programmable d'un cœur CPS est optimisée pour pouvoir réaliser un ensemble donné de fonctions de nature connue a priori par le concepteur. A titre d'exemple, si un cœur CPS doit mettre en œuvre un contrôleur de mémoire, les ressources caractéristiques d'un processeur sont inutiles et ne seront pas comprises dans les éléments physiques composant le cœur. En d'autres termes, un cœur CPS est un bloc semi-dédié, ce qui diffère des circuits de type FPGA et eFPGA dont les architectures sont mises au point afin de répondre à n'importe quel besoin. Les FPGA et eFPGA sont par conséquent souvent surdimensionnés, ce qui n'est pas le cas des cœurs CPS.
Les figure 3 et figures 4 présentent de manière simplifiée les deux phases de conception permettant d'obtenir un système SoC selon l'invention.
La figure 3 illustre une première phase de conception permettant d'obtenir un modèle HDL 307 d'un cœur CPS, c'est-à-dire une description en langage de description matérielle de ce cœur 306, ainsi que son fichier de configuration 305.
Dans cet exemple, les concepteurs ont choisi de mettre en œuvre une application 300 dans laquelle un premier ensemble de fonctions A est destiné à être embarqué dans un bloc dédié. Un deuxième ensemble B de fonctions est divisé en deux sous-ensembles de fonctions B1 et B2. Le sous- ensemble de fonctions B1 est destiné à être embarqué dans un bloc dédié et le sous-ensemble de fonctions B2 est destiné à être embarqué dans un cœur CPS.
Une première étape a pour finalité la description de ces ensembles de fonctions en langage de description matérielle 300. Un modèle HDL est obtenu pour chacun d'eux.
Une succession d'étape est ensuite appliquée pour obtenir à partir d'un modèle HDL initial 307 du sous-ensemble B2 un modèle HDL du cœur CPS ainsi que son fichier de configuration par défaut.
Dans un premier temps, l'architecture du cœur CPS doit être déterminée 301 . Celle-ci peut être décrite par le concepteur, par exemple en utilisant des logiciels adaptés. Il est aussi possible de générer cette architecture automatiquement ou de la sélectionner parmi différentes architectures de cœurs CPS possibles comprises dans une bibliothèque. L'architecture d'un cœur CPS peut aussi être affinée pour des besoins spécifiques par l'utilisation de modules ou de fonctions spécialisées.
L'architecture du cœur CPS est décrite par un langage de description matérielle. D'autre part, le modèle le sous-ensemble de fonctions B2 est synthétisé 303 à partir du modèle HDL initial 307 en prenant en compte 308 l'architecture du cœur CPS. Le résultat de cette synthèse est compilé 304 de manière à produire un fichier de configuration par défaut 305 du cœur CPS. Un outil de compilation spécifique est alors requis comme par exemple un outil classique de compilation pour FPGA ou eFPGA. La combinaison du modèle HDL 306 du cœur CPS et de son fichier de configuration par défaut 305 est alors équivalente fonctionnellement au modèle HDL d'un bloc non programmable d'origine 307 du sous-ensemble de fonctions B2 appelé aussi modèle HDL initial, et peut être utilisée dans un flot de synthèse classique.
La figure 4 illustre la manière dont un système SoC selon l'invention peut être obtenu à partir du modèle HDL et de son fichier de configuration.
L'équivalence fonctionnelle entre le modèle HDL initial 307 non programmable du sous-ensemble de fonction à mettre en œuvre sur le cœur CPS, c'est-à-dire le sous-ensemble B2 dans cet exemple, et l'ensemble composé du modèle HDL dudit cœur 306, 402 associé à son fichier de configuration par défaut 305, 401 est essentielle pour la conception d'un SoC selon l'invention.
Cette équivalence va au-delà de celle obtenue quand un eFPGA est utilisé. En effet, en plus d'avoir la même fonctionnalité logique, le modèle HDL initial et l'ensemble composé du modèle HDL du cœur et de son fichier de configuration par défaut peuvent être permutés aisément à l'intérieur du flot de synthèse. La partie physique du SoC mettant en œuvre le sous- ensemble de fonction est différente selon que l'une ou l'autre alternative est choisie. En particulier, la surface de silicium sera différente. Cependant, le modèle HDL initial et l'ensemble composé du modèle HDL du cœur CPS associé à son fichier de configuration sont tous deux synthétisables par les mêmes outils. Cela a notamment comme avantage d'éviter la mise en œuvre d'une étape d'intégration supplémentaire quand on décide d'une telle permutation.
Lorsque le modèle HDL 402 du cœur CPS et son fichier de configuration 401 ont été générés, ils peuvent être synthétisés 404 en même temps que le modèle HDL du sous-ensemble B1 de fonctions et du modèle HDL de l'ensemble A de fonctions. Après la synthèse logique 404, un fichier de géométrie 406 peut être généré 405 en utilisant un outil classique et le système SoC 408 comprenant un cœur programmable synthétisable peut être fondu 407.
Dans le cas où la synthèse de cœur CPS est mise en œuvre à l'aide d'une bibliothèque de cellules standard, l'équivalence est valable à travers tout le processus de conception, y compris pour le placement et le routage, c'est-à-dire pour l'étape de génération de fichier géométrique. Le système SoC peut alors être mis en œuvre en utilisant n'importe quelle technologie de fabrication de circuits intégrés.
La figure 5 illustre la manière dont un système SoC comprenant un cœur programmable synthétisable CPS peut être configuré par défaut. Un SoC selon l'invention est un compromis entre un SoC comprenant un eFGPA et un SoC ne comprenant que des blocs dédiés. En d'autres termes, un SoC selon l'invention est un système semi-dédié. Ces systèmes sont donc utiles pour la mise en œuvre d'une ou plusieurs applications données, le ou les cœurs CPS permettant de programmer certaines des fonctions utilisées par ces applications. Comme explicité précédemment, il y a équivalence fonctionnelle entre le modèle HDL initial et le modèle HDL du cœur CPS associé à son fichier de configuration par défaut.
Pour l'acquéreur d'un système SoC selon l'invention, il peut être utile que celui-ci soit directement utilisable sans avoir à le programmer, tout en laissant la possibilité de paramétrer finement plus tard un sous-ensemble de fonctions. Pour cela, un mode de réalisation avantageux d'un tel système SoC selon l'invention comprend une technologie lui permettant de se configurer par défaut au moment de sa mise sous tension.
Pour rappel, pour pouvoir fonctionner les circuits FPGA et eFPGA doivent charger les bits contenus dans un fichier de configuration au niveau de points de mémoire internes à ces circuits, appelés points mémoire dans le suite de la description. Ces points mémoire sont programmés séquentiellement à partir du fichier de configuration habituellement mémorisé sur un support de stockage externe au circuit à programmer. Cette approche est classique lorsque des circuits FPGA ou eFPGA sont utilisés, car leur configuration n'est pas ou n'a pas besoin d'être connue au moment de leur fabrication. Une fois que le fichier de configuration a été déterminé, à la mise sous tension du système utilisant un FPGA ou un eFPGA les bits dudit fichier de configuration sont chargés. Cette opération n'est pas instantanée. De plus, un FPGA ou un eFPGA n'est pas disponible avec une configuration par défaut.
Le système mono-chip selon l'invention permet avantageusement de contenir une configuration par défaut du ou des cœurs CPS sans que l'acquéreur d'un tel système n'ait à réaliser une quelconque opération de programmation. Pour cela, deux alternatives sont décrites ci-après.
Toujours à titre de rappel, un signal d'initialisation est habituellement utilisé dans les circuits intégrés pour mettre des éléments mémoire de type bascule dans un état connu. Ce signal est habituellement généré à l'extérieur du circuit et est appelé signal d'initialisation. Par défaut, le signal d'initialisation charge la valeur 0 dans tous les éléments.
Une première manière pour charger la configuration par défaut automatiquement est de modifier ce signal d'initialisation de sorte que celui-ci ne charge pas uniquement des 0 dans les éléments 501 permettant de programmer les cellules 500 du cœur CPS, mais des 0 et des 1 en conformité avec les valeurs du fichier de configuration par défaut. L'effet produit par le signal d'initialisation est adapté au moment de l'écriture du modèle HDL du cœur CPS. Pour cela, après génération du modèle HDL du cœur CPS ainsi que son fichier de configuration, le modèle HDL est retro- annoté afin de faire correspondre chaque information du fichier de configuration par défaut à une mise à 1 ou à une mise à 0 d'un point mémoire du cœur CPS lorsque le signal d'initialisation est appliqué.
Le signal d'initialisation peut être dérivé du signal d'initialisation classique d'un SoC, d'un autre signal ou d'une combinaison entre ce signal d'initialisation et un autre signal. De plus, cette technique de prise en compte de la configuration par défaut au niveau du signal d'initialisation permet avantageusement une simulation complète du fonctionnement du système SoC à partir des modèles HDL du cœur CPS et des autres modèles HDL associés aux blocs dédiés et aux blocs durs.
Une manière alternative de charger la configuration par défaut du cœur CPS automatiquement est de modifier la nature des éléments mémoire 501 choisis. Lors de la conception d'un système SoC selon l'invention, des bibliothèques de cellules standards sont utilisées au moment de la synthèse. Ces bibliothèques permettent la mise en œuvre d'au moins deux types d'éléments mémorisant. Un premier type d'élément est la bascule D sur état appelée aussi « latch >> en anglais et un deuxième type d'élément est la bascule D sur front appelée aussi bascule « flip-flop ». Une bascule D sur état prend moins de place sur un SoC qu'une bascule D sur front. Le choix entre ces deux types d'éléments mémoire est fait habituellement au moment de écriture du modèle HDL. Après la synthèse, il reste cependant possible de modifier des bascules choisies pour la prise en compte des valeurs du fichier de configuration. La modification après synthèse consiste en un remplacement de bascules D avec une entrée de forçage à 0 RESET par une bascule D avec une entrée de forçage à 1 SET ou l'inverse en fonction de la valeur correspondant du fichier de configuration, le signal d'initialisation étant par exemple connecté à cette entrée. Cette modification peut être mise en œuvre en mettant à jour manuellement ou à l'aide d'un logiciel adapté le fichier « netlist gâte >> généré à partir des modèles HDL du SoC. Il reste possible de re-programmer le SoC en utilisant le mode de programmation classique d'un circuit programmable, c'est-à-dire en chargeant les bits d'un fichier de configuration 502 différent du fichier de configuration par défaut par la voie de donnée normale 504 des éléments mémoires, par exemple en utilisant l'entrée D d'une bascule D.
L'une des techniques de configuration par défaut peut être appliquée à tout ou partie d'un cœur CPS. Cela permet avantageusement au concepteur de ne pas divulguer la totalité du fichier de configuration par défaut.

Claims

REVENDICATIONS
Système mono-puce (200, 408) caractérisé en ce qu'il comporte au moins un cœur programmable synthétisable CPS (208, 209) et un bloc dédié (201 , 202, 203, 207), ledit cœur CPS et ledit bloc dédié ayant été synthétisés ensemble à partir d'une part d'un modèle en langage de description matérielle HDL du bloc dédié (201 , 202, 203, 207) et d'autre part d'un modèle en langage de description matérielle d'un modèle HDL du cœur CPS (306, 402) associé à un fichier de configuration par défaut (305, 401 ).
Système mono-puce (200, 408) selon la revendication 1 dans lequel le modèle HDL (306) et le fichier de configuration par défaut (305) du cœur CPS ont été générés à partir d'un modèle HDL initial (307) correspondant à un bloc non programmable, le modèle HDL du cœur CPS (306) associé à son fichier de configuration par défaut (305) étant équivalent fonctionnellement au modèle HDL initial (307).
Système mono-puce (200, 408) selon l'une des revendications 1 ou 2 dans lequel le fichier de configuration par défaut est obtenu par compilation (304) du résultat de la synthèse (303) du modèle HDL initial (307), l'architecture du cœur CPS étant prise en compte (308) par la compilation (304).
Système mono-puce (200, 408) selon l'une quelconque des revendications précédentes dans lequel le cœur CPS est synthétisé en utilisant une bibliothèque de cellules standard communément utilisée pour la synthèse de circuits ASIC.
Système mono-puce (200, 408) selon l'une quelconque des revendications précédentes dans lequel des éléments mémoire (501 ) sont utilisés pour la programmation du cœur CPS, un signal d'initialisation mettant lesdits éléments (501 ) dans un état connu, ledit signal d'initialisation étant adapté de manière à ce que les états connus des éléments mémoire (501 ) correspondent aux valeurs comprises dans le fichier de configuration par défaut.
Système mono-puce (200, 408) selon la revendication 5 dans lequel le signal d'initialisation est adapté par retro-annotation du modèle HDL du cœur CPS afin de faire correspondre chaque information du fichier de configuration par défaut à une mise à 1 ou à une mise à 0 d'un élément mémoire.
Système mono-puce (200, 408) selon l'une quelconque des revendications précédentes dans lequel les éléments mémoire (501 ) sont des bascules D.
Système mono-puce (200, 408) selon la revendication 7 dans lequel le signal d'initialisation est routé vers les entrées de données des bascules D.
Système mono-puce (200, 408) selon la revendication 7 dans lequel le signal d'initialisation est routé vers les entrées SET ou RESET des bascules D.
10- Système mono-puce (200, 408) selon l'une des revendications 7 à 9 dans lequel les bascules D sont choisies avec une entrée de forçage à 0 (RESET) ou avec une entrée de forçage à 1 (SET) de manière à ce que lesdites bascules soient initialisées en chargeant les valeurs leurs étant associées dans le fichier de configuration par défaut (305).
1 1 - Système mono-puce (200, 408) selon l'une quelconque des revendications précédentes dans lequel le cœur CPS associé à son fichier de configuration met en œuvre un contrôleur de mémoire.
12- Procédé de fabrication d'un système mono-chip selon l'une quelconques des revendications 1 à 1 1 comprenant les étapes suivantes : la génération (301 ) d'un modèle en langage de description matérielle HDL (306) d'un cœur programmable synthétisable CPS devant mettre en œuvre des fonctions décrites à l'aide d'un modèle HDL initial (307);
la génération (302) d'un fichier de configuration par défaut (305) du cœur CPS (306) par synthèse (303) et compilation (304) du modèle HDL initial (307) ;
la synthèse (404) du cœur CPS et du bloc dédié en utilisant un même outil de synthèse ;
la génération (405) d'un fichier géométrique (406) à partir du résultat de la synthèse ;
la fonte (407) du système mono-puce en utilisant ledit fichier géométrique (406).
- Procédé selon la revendication 12 dans lequel la synthèse est effectuée en utilisant une bibliothèque de cellules standard communément utilisée pour la synthèse de circuits ASIC.
14- Procédé selon l'une des revendications 12 ou 13 dans lequel le modèle HDL (306) et le fichier de configuration par défaut (305) du cœur CPS ont été générés à partir d'un modèle HDL initial (307) correspondant à un bloc non programmable de manière à ce que le modèle HDL du cœur CPS (306) associé à son fichier de configuration par défaut (305) soient équivalent fonctionnellement au modèle HDL initial (307).
PCT/EP2012/053271 2011-03-11 2012-02-27 Systeme mono-puce comprenant un coeur programmable synthetisable et un procede de fabrication d'un tel systeme WO2012123243A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1152017A FR2972566B1 (fr) 2011-03-11 2011-03-11 Système mono-puce comprenant un coeur programmable synthetisable et un procédé de fabrication d'un tel système
FR1152017 2011-03-11

Publications (1)

Publication Number Publication Date
WO2012123243A1 true WO2012123243A1 (fr) 2012-09-20

Family

ID=44202116

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2012/053271 WO2012123243A1 (fr) 2011-03-11 2012-02-27 Systeme mono-puce comprenant un coeur programmable synthetisable et un procede de fabrication d'un tel systeme

Country Status (2)

Country Link
FR (1) FR2972566B1 (fr)
WO (1) WO2012123243A1 (fr)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3157171A1 (fr) 2015-10-15 2017-04-19 Menta Architecture de blocs logiques pour réseau de portes programmable par l'utilisateur
EP3157172A1 (fr) 2015-10-15 2017-04-19 Menta Système et procédé de test et de configuration d'un réseau fpga
EP3355196A1 (fr) 2017-01-27 2018-08-01 Menta Fpga et procédé de fonctionnement
EP3376669A1 (fr) 2017-03-17 2018-09-19 Menta Fpga et procédé de programmation fpga
WO2022149080A1 (fr) 2021-01-08 2022-07-14 Menta Architecture de système sur puce, interposeur, fpga et procédé de conception
TWI800702B (zh) * 2019-12-11 2023-05-01 瑞昱半導體股份有限公司 具有記憶體之晶片

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030163668A1 (en) * 1997-10-31 2003-08-28 Ethan Mirsky Local control of multiple context processing elements with configuration contexts
US20070011642A1 (en) * 2005-07-07 2007-01-11 Claus Pribbernow Application specific configurable logic IP
US20070294659A1 (en) * 2005-04-01 2007-12-20 Altera Corporation Methods for producing equivalent field-programmable gate arrays and structured application-specific integrated circuits

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030163668A1 (en) * 1997-10-31 2003-08-28 Ethan Mirsky Local control of multiple context processing elements with configuration contexts
US20070294659A1 (en) * 2005-04-01 2007-12-20 Altera Corporation Methods for producing equivalent field-programmable gate arrays and structured application-specific integrated circuits
US20070011642A1 (en) * 2005-07-07 2007-01-11 Claus Pribbernow Application specific configurable logic IP

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3157171A1 (fr) 2015-10-15 2017-04-19 Menta Architecture de blocs logiques pour réseau de portes programmable par l'utilisateur
EP3157172A1 (fr) 2015-10-15 2017-04-19 Menta Système et procédé de test et de configuration d'un réseau fpga
WO2017063957A1 (fr) 2015-10-15 2017-04-20 Menta Système et procédé d'essai et de configuration d'un réseau prédiffusé programmable par l'utilisateur
WO2017063956A1 (fr) 2015-10-15 2017-04-20 Menta Architecture de bloc logique pour réseau prédiffusé programmable
EP3435545A1 (fr) 2015-10-15 2019-01-30 Menta Système et procédé de test et de configuration d'un réseau fpga
US10295595B2 (en) 2015-10-15 2019-05-21 Menta System and method for testing and configuration of an FPGA
US10746796B2 (en) 2015-10-15 2020-08-18 Menta System and method for testing and configuration of an FPGA
EP3355196A1 (fr) 2017-01-27 2018-08-01 Menta Fpga et procédé de fonctionnement
EP3376669A1 (fr) 2017-03-17 2018-09-19 Menta Fpga et procédé de programmation fpga
TWI800702B (zh) * 2019-12-11 2023-05-01 瑞昱半導體股份有限公司 具有記憶體之晶片
US11880678B2 (en) 2019-12-11 2024-01-23 Realtek Semiconductor Corp. Chip having memory
WO2022149080A1 (fr) 2021-01-08 2022-07-14 Menta Architecture de système sur puce, interposeur, fpga et procédé de conception

Also Published As

Publication number Publication date
FR2972566B1 (fr) 2013-03-15
FR2972566A1 (fr) 2012-09-14

Similar Documents

Publication Publication Date Title
WO2012123243A1 (fr) Systeme mono-puce comprenant un coeur programmable synthetisable et un procede de fabrication d'un tel systeme
WO2013164528A2 (fr) Bibliothèque de cellules et procédé de conception d'un circuit intégré asynchrone
FR2978289A1 (fr) Dispositif ayant un mode de retention de donnees et un mode de traitement de donnees
EP1984857A2 (fr) Procédé d'estimation d'un bruit généré dans un système électronique et procédé de test d'immunité au bruit associé
Bergeron et al. Asymptotique des nombres de Betti, invariants $ l^ 2$ et laminations
EP2996040A1 (fr) Procédé de détermination par optimisation d'une architecture multi-coeurs
FR2904129A1 (fr) Coeur processeur a frequence pilotee et procede de demarrage dudit coeur processeur dans un mode programme
EP2100244A2 (fr) Procede de conception de vehicule automobile
FR3091388A1 (fr) Procédé de compilation d’un circuit quantique sur un processeur quantique à ions piégés
WO2008007026A2 (fr) Procédé de modélisation de l'activité de commutation d'un circuit numérique
EP3443369B1 (fr) Systeme et procede de test d'un circuit integre
FR2996005A1 (fr) Procede de conception d'un circuit electronique
EP1813952B1 (fr) Test de scan
EP0469507A1 (fr) Circuit intégré comprenant une cellule standard, une cellule d'application et une cellule de test
EP0229433B1 (fr) Dispositif de test de circuit logique combinatoire
EP3105679A1 (fr) Encodage de scenarios de defaillance d'un processeur manycore
FR2914525A1 (fr) Procede de simulation transactionnelle d'un modele generique de noeud de communication, produit programme d'ordinateur et moyen de stockage correspondants
WO2012052080A1 (fr) Procede de controle d'un circuit integre
WO2017207889A1 (fr) Dispositif et procédé de traitement parallélisé de données
EP4390734A1 (fr) Procede de configuration
FR2999313A1 (fr) Circuit integre comprenant un module de logique programmable
Benabdallah et al. Approche complète de développement des IPs pour les SoCs
Bilavarn et al. Estimation de performances à un niveau comportemental pour l’implantation sur composants FPGA
OA17850A (fr) Processeur asynchrone
Chavet et al. M\'ethodologie de mod\'elisation et d'impl\'ementation d'adaptateurs spatio-temporels

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12706040

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: CONSTATATION DE LA PERTE D UN DROIT CONFORMEMENT A LA REGLE 112(1) CBE (OEB FORM 1205N EN DATE DU 19/11/2013)

122 Ep: pct application non-entry in european phase

Ref document number: 12706040

Country of ref document: EP

Kind code of ref document: A1