Les composants logiques programmables

PLAN

I. II. III. IV. V.

Introduction Les mémoires vives Les mémoires mortes Évolution des composants programmables Les FPGA

I INTRODUCTION
Il existe deux grandes familles de circuits logiques programmables : • Les mémoires programmables • Les PLD (programmable logic device)

Quelques rappels : Les mémoires
• Une mémoire est un élément de stockage d’information • Les bits stockés sont organisés sous forme de matrice: la dimension de la mémoire est donnée par le nombre de lignes fois la largeur de la ligne • Chaque ligne de la mémoire est appelée un mot. Elle est identifiée par une adresse (numéro de la ligne) • Le nombre de lignes est toujours une puissance de deux • Deux opérations sont possibles, sur un mot complet: La lecture (read) et l’écriture (write)

Classification des mémoires

II Les Mémoires Vives : RAM

Random Acces Memory, mémoires vives
• Des mémoires contenant des programmes et des données • Information disponible tant que le courant est présent • 2 types de RAM: StaticRAM ET DynamicRAM
Statique Ram: Un bit = une bascule D (4 transistors) Dynamique Ram : Un bit = une capacité (1 transistor)

RAM Statique
d a ta 1 2 \d a ta

m em 2 s e le c t 1

RAM Statique : simulation

un CI Ram de 4 mots de 4 bits

NB: Les signaux cs et wr sont actifs à 0 (niveau bas)

Addition horizontale de CI pour augmenter le nombre de bits d ’un mot

Une mémoire de 4 mots de 8 bits chacun

Addition verticale de CI pour augmenter le nombre de mots

SRAM de 8 mots de 4 bits

LES RAM DYNAMIQUE (DRAM)

• Info stockée dans un condensateur sous forme de charge électrique • Plus grande intégration mais nécessite des opérations de rafraîchissement. • Rafraîchissement= lire le bit et le réécrire environ toutes les 10nsec Avec rafraîchissement Tension en volts
5

3
2
0

‘1’ ‘0’

temps

RAM dynamique
• • • • Un seul transistor : gain de place Cycle complexe de lecture Lecture puis ré-écriture Cycle de rafraîchissement

s e le c t

d a ta

Présentation des DRAM SIMM Single In line Memory Module

III Les Mémoires mortes: Read Only Mémory

• Les données ne peuvent être que lues • L’écriture se fait soit lors de la fabrication ou nécessite un matériel spécialisé. • La donnée est retenue même en absence du courant (donnée non volatile)

1 Les différentes familles de PROM

2) PROM: Programmable ROM
• ROM programmable par l'utilisateur une seule fois: 1 point mémoire = fusible • EPROM: PROM effaçable plusieurs fois Effacement = soumettre l ’Eprom à un rayonnement ultraviolet (UVPROM) ou un courant électrique EEPROM • L’écriture nécessite un temps 1000 + grand que dans une Ram

a) PRINCIPE DES PROM A FUSIBLE

Structure à : • ET fixes (les circuits de décodage d'adresse) • OU programmables (les données placées dans la mémoire).

A D R E S S E S

00 01 10 11

Zone mémoire

ROM (suite)

PRINCIPE DES PROM A FUSIBLE
• Lorsque la mémoire est livrée tous les fusibles sont intacts. Elle ne contient alors que des l. • La programmation va consister à faire sauter les fusibles aux emplacements où on souhaite mémoriser des 0 en utilisant une haute tension (généralement 12 volts), pour faire sauter le ou les fusibles. • Les PROM à fusibles sont en voie de disparition

Fusibles métalliques ou Si
Lignes métalliques : interconnexions Intact «Programmé»

Rem : Antifusibles

UV-PROM

b) PRINCIPE DES UVPROM
• chaque cellule mémoire élémentaire est constituée d'un transistor MOS dont la grille de commande est totalement isolée dans une couche d'oxyde. • Par application d'une tension suffisamment élevée, qui est appelée tension de programmation, on créé des électrons chauds ou électrons ayant une énergie suffisante pour passer au travers de cet isolant. • Ces charges s'accumulent alors sur cette grille isolée où elles se trouvent piégées. La cellule mémoire est programmée.

Grille isolée

Grille de contrôle

Isolant

UV-EPROM / EEPROM

Non-volatile SAMOS : Stacked MOS

Durée de rétention
• La qualité de l'isolant étant excellente, la durée de rétention des charges atteint au minimum 10 ans à 70 °C, c'est-à-dire jusqu'à 100 fois plus à 25 °C
• On expose la puce à un rayonnement ultraviolet. Les photons, communiquent leur énergie aux électrons et leur font franchir la barrière en sens inverse

Effacement

c) Principe des EEPROM

• Ce sont des PROM effaçables électriquement octet par octet si nécessaire. • Les EPROM FLASH sont effaçables globalement, sont plus rapides et plus simples (1 CMOS par bit) que les EEPROM. • Toutes deux sont programmables en circuit.

d) Les Mémoires FLASH
• Mémoires non volatiles, réécriture possible (500 000 fois), capacité 8 Gigabytes. • Même structure qu’une Ram équipée d ’une alimentation de faible consommation. • Contrairement au Ram, effacement par bloc de données et non par octet. • Grande tolérance au chocs, extrêmes températures, environnement avec beaucoup de perturbation. • Utilisation: Caméras digitaux, téléphones mobiles, Imprimantes, Pc portables, Applications militaires…

Comparaison

IV Évolution du marché des composants programmables

• De plus en plus présent dans le quotidien
– – – – – – Ordinateurs, PDA GSM,GPRS,UMTS, GPS TV numérique Electronique embarquée Baladeurs CD/MP3 DVD Traitement du signal

Les atouts des CLP : les standards
• Les standards facilitent l’intégration de services :
– PDA + GSM – GSM + MP3 – UMTS + MPEG4 + MP3 + Hiperlan2 + ...

Plus de performance
• GSM =>GPRS =>EDGE =>UMTS • Bluetooth 11 Mbits/s =>Hiperlan2 à 54 Mbits/s

Réduire le « time to market »
• Les produits ont une durée de vie de plus en plus faible
– Réduire le «time to market» – Réutilisation pour concevoir d’autres produits (rentabiliser)

REUTILISATION
• Approche retenue pour limiter les coûts • Conception d’un « Système On Chip » à partir de blocs prédéfinis : Intellectual Properties

Notion d’IP (Intellectual Property)
• Blocs fonctionnels complexes réutilisables
– Hard: déjà implanté, dépendant de la technologies, fortement optimisé – Soft: dans un langage de haut niveau (VHDL, Verilog, C++…), paramétrables

• Normalisation des interfaces • Environnement de développement (co-design, co-specif, coverif) • Performances moyennes (peu optimisé)

Contraintes liées à l’utilisation d’IP
- connaître les fonctionnalités – estimer les performances dans un système – être sûr du bon fonctionnement de l’IP – intégrer cet IP dans le système – valider le système

MERCI ...

ARCHITECTURES

CONCEPTION

UTILISATION

DES

FPGA

PLAN
I. II. III. IV. V. VI. VII. VIII. Introduction, historique FPGA vs ASIC Architecture et conception des FPGA Famille de FPGA Altera Famille de FPGA Xilinx Autres Exemples de FPGA Utilisation des FPGA, CAO CoDesign, SORC et nouvelles Conclusion

I. INTRODUCTION

Définition

FPGA : Field Programmable Gate Array

En français : Composant, constitué d’un ensemble de ressources logiques élémentaires configurables pouvant être mises en relation par un réseau d’interconnexions également configurable

Historique
IXème av JC Les chinois comptent avec un boulier ! 1640 1875 1940 1946 Blaise Pascal, invente une machine mécanique à additionner et soustraire : la Pascaline Sir J.W. Swan invente le tube à incandescence Utilisation des premières PLL (principe étudié en 1932 par Bellescize) ENIAC 1er calculateur électronique (18 000 tubes, tient dans un hall de 10*17m) Von Neumann présente le concept de programme enregistré 1948 Bardeen, Brattain et Shockley (Bells Labs) inventent le transistor bipolaire 1er ordinateur le SSEC d’IBM 1950 1958 1er circuit reconfigurable « the fuse configurable diode matrix » Harris Semiconductor Jack Kibly invente le circuit intégrée, brevet Texas Fairchild dépose un brevet sur la fabrication des CI par procédé Planar 1962 Famille TTL

Historique
1968 Famille MOS Robert Noyce et Gordon Moore créer une startup : intel 1er PLA « read only associative memory ROAM » IBM 1969 1970 Neil Amstrong marche sur la Lune Introduction du terme PAL Texas Instrument 1ère ROM, Harris Semiconductor 1971 1972 1973 1975 1978 1980 1981 intel, 1er UV-PROM (effaçable par UV) Intel, 1er processeur : 4004 André Truong et Francis Grenelle mettent au point et commercialisent le 1er micro-ordinateur du monde, le Micral, made in France ! Un certain Bill Gates fonde une petite société d’informatique : Microsoft 1ère famille PAL commerciale, MMI Premiers microprocesseurs 32 bits chez intel et Motorola IBM lance le PC

Historique
1983 1984 1984 1er GAL effaçable électriquement, Lattice Apple lance le Macintosh Introduction du FPGA par XILINX : le XC2000 (de 600 à 1500 portes) création de la société ALTERA Technologie CMOS UV-EPROM 1985 1992 1993 2001 2005 mise sur le marché du 1er FPGA XILINX 1er FPGA Altera : le Flex 8000 (15 000 portes max) Technologie EEPROM Lancement du Virtex II Xilinx (jusqu’à 10 millions de portes) FPGA avec des capacités supérieures à 50 millions de portes fonctionnant à des fréquences surpassant les 500 MHz

Marché des FPGA
REVENUS NETS DE XILINX ET ALTERA
1200000

1000000

REVENUS NETS EN $

800000

600000

400000

200000

0 1991 1992 1993 1994 1995
ANNEE

1996

1997

1998

1999

2000

XILINX

ALTERA

Marché des FPGA
PARTS DE MARCHE DES FABRICANTS DE FPGA

40

35

30

25

% 20

15

Xilinx Altera Lattice Other Actel

10

5

0 1998 1999
ANNEE

2000

Marché des FPGA
PARTS DE MARCHE DES FABRICANTS DE FPGA POUR 2000

Other 8%

Actel 6%

Lattice 14%

Xilinx 38%

Altera 34%

Évolution de la technologie
Évolution de la technologie Évolution de la technologie

Technologie : Taille relative : Année :

0.6 µ trois couches de métal 100% 1994

0.5 µ trois couches de métal 78% 1995

0.18 µ 0.35 µ 0.25 µ quatre couches cinq couches six couches de métal de métal de métal 32% 1996 19% 1998 12% 1999

2002 : techno cuivre 0.13 µm à 8 couches de métal 2004 : techno cuivre 0.09 µm à 12 couches de métal (200 000 portes/mm²)

Évolution de la technologie

La technologie cuivre (aujourd’hui maîtrisée) permet d’augmenter la rapidité des circuits donc d’augmenter les fréquences de fonctionnement

Problèmes techniques
Pourcentage de perte à la fabrication du à l’augmentation de la taille des wafers (de 200 à 300 mm) =>
300 mm 200 mm

Ressources surnuméraires déconnectables permettent de prévoir le % de perte à la fabrication

Évolution des prix
INDICE PRIX PAR ELEMENT LOGIQUE
1,2 1 0,8 0,6 0,4 0,2 0 1995 1996 1997 1998 1999 2000

(Source : Altera)

Le prix par élément logique diminue de 40 % par an

Évolutions

Prix (de l’élément logique)

- 46% par an

Densité (logique)

+ 55% par an

Vitesse (fréquence système)

+ 35% par an

Évolutions

D’après Xilinx, en 2005 les plus gros FPGA auront • des capacités de 50 millions de portes • des complexités de 2 billions de transistors • utilisant des technologies à 70 nm avec 12 couches de métallisations (cuivre) • avec des cœurs de microprocesseurs câblés cadencés à 1GHz

FPGA

?

ASIC

Taxonomie des CI (HARD)
ASIC

CUSTOM Circuits sur mesure Circuits précaractérisés Circuits prédiffusés

SEMI-CUSTOM Circuits configurables

Full Custom

ASIC

Standard cell

Sea of gate

Gate array SRAM

FPGA

CPLD

PAL

Antifuse

ASIC FPGA CPLD PAL GAL SRAM

: Application Specific Integrated Circuit : Field Programmable Gate Array : Complex Programmable Logic Device : Programmable Array Logic : Generic Array Logic = PAL : Static Random Access Memory

PLD

ASIC Full Custom
ASIC

CUSTOM Circuits sur mesure Circuits précaractérisés Circuits prédiffusés

SEMI-CUSTOM Circuits configurables

Full Custom

Standard cell

Sea of gate

Gate array SRAM

FPGA

CPLD

PAL

Antifuse

ASIC

: Application Specific Integrated Circuit

ASIC Full Custom

Au départ

Au final

SPECIFICATIONS

+

ASIC Standard Cell
ASIC

CUSTOM Circuits sur mesure Circuits précaractérisés Circuits prédiffusés

SEMI-CUSTOM Circuits configurables

Full Custom

Standard cell

Sea of gate

Gate array SRAM

FPGA

CPLD

PAL

Antifuse

ASIC

: Application Specific Integrated Circuit

ASIC Standard Cell

Au départ

BIBLIHOTEQUE D’ELEMENTS PRE-CARACTERISES
SPECIFICATIONS

Au final

+ +

ASIC Gate Array
ASIC

CUSTOM Circuits sur mesure Circuits précaractérisés Circuits prédiffusés

SEMI-CUSTOM Circuits configurables

Full Custom

Standart cell

Sea of gate

Gate array SRAM

FPGA

CPLD

PAL

Antifuse

ASIC

: Application Specific Integrated Circuit

ASIC Gate Array

Au départ

Au final

SPECIFICATIONS

+

Il est possible aussi d’utiliser des bibliothèques de composants pré-caractérisés

PAL
ASIC

CUSTOM Circuits sur mesure Circuits précaractérisés Circuits prédiffusés

SEMI-CUSTOM Circuits configurables

Full Custom

Standart cell

Sea of gate

Gate array SRAM

FPGA

CPLD

PAL

Antifuse

PAL

: Programmable Array Logic

PAL

Matrice de ET réalisant tous les produits possibles (maxtermes) connectée aux sorties par des OU

Grande surface de Si utilisée. Ces circuits ne sont plus utilisés aujourd’hui

CPLD
ASIC

CUSTOM Circuits sur mesure Circuits précaractérisés Circuits prédiffusés

SEMI-CUSTOM Circuits configurables

Full Custom

Standart cell

Sea of gate

Gate array SRAM

FPGA

CPLD

PAL

Antifuse

CPLD

: Complex Programmable Logic Device

CPLD
Les CPLDs regroupent plusieurs PALs interconnectés par un réseau de connexions programmables.

PAL

PAL

Les CPLDs sont les prémisses des premiers FPGAs.

E/S

MATRICE D’INTERCONNECTIONS

E/S

Ces circuits ne sont plus utilisés aujourd’hui car remplacés par les FPGAs.

PAL

PAL

FPGA
ASIC

CUSTOM Circuits sur mesure Circuits précaractérisés Circuits prédiffusés

SEMI-CUSTOM Circuits configurables

Full Custom

Standart cell

Sea of gate

Gate array SRAM

FPGA

CPLD

PAL

Antifuse

FPGA

: Field Programmable Gate Array
A SUIVRE !!!

Comparaison

ASIC CARACTERISTIQUES DENSITE FLEXIBILITE ANALOGIQUE PERFORMANCE TEMPS DE CONCEPTION COUT DE CONCEPTION UTILISATION DES OUTILS VOLUME DE PRODUCTION FPGA GATE ARRAY FAIBLE GRANDE NON FAIBLE TRES PETIT TRES PETIT SIMPLE PETIT MOYENNE PETITE NON MOYENNE MOYEN MOYEN COMPLEXE MOYEN STANDARD CELL MOYENNE MOYENNE OUI BONNE MOYEN MOYEN COMPLEXE GRAND FULL CUSTOM GRANDE GRANDE OUI TRES BONNE GRAND TRES GRAND TRES COMPLEXE GRAND

Capacités comparées
Nombre de portes (log)
100 M 10M 1M 100 k 10k 1k

é cit a ap C

ax m

SIC A

n satio ’utili d enne A Moy PG 80% des design fonctionnent xF a m té aujourd’hui à moins de 200MHZ aci ap C
1989

année1997

2001

Les FPGA sont au cœurs des systèmes

Temps de mise en œuvre
TEMPS DE MISE EN OEUVRE COMPARES

FPGA

ASIC

0

1

2

3

4

5

6

7

8

9

10

APPRENTISSAGE

SAISIE

COMPILATION

SIMULATION

FABRICATION

Point de "cross-over" des FPGA et des ASIC

Cross-over de 200 000 de pièces environ en 2000

Cross-over de 1 000 000 de pièces environ en 2004

Un jeu de masques correspond à 1M$ à amortir en techno 0,13µm

Nick Tredennick, Brion Shimamoto. The Rise of Reconfigurable Systems. In proceeding of Engineering of Reconfigurable Systems and Algorithms, ERSA’2003. June 23-26,Las Vegas, Nevada, USA.

Contextes d’utilisations en grandes séries

Volume

ASIC FPGA
À-coup de production

Conception prototypage

Pré-série

Production

Fin de vie

Temps

Les ASIC
AVANTAGES • hautes intégrations
• hautes performances (vitesse, low-power) • coûts faibles pour de gros volumes de production • personnalisation • sécurité industrielle

INCONVENIENTS • prix du 1er exemplaire
• pas d’erreur possible • non-flexible • time-to-market élevé • fabrication réservée aux spécialistes (fondeur)

Les FPGA
AVANTAGES • possibilité de prototypage
• time-to-market faible • adaptabilité aux futurs évolutions grâce à la reconfiguration

• flexibilité INCONVENIENTS • intégration limité par les ressources de routage
• performances • prix à l’unité élevé pour de grosses productions

Conclusion
Le choix entre FPGA ou ASIC, se fait en fonction du cahier des charges de l’application : • temps de mise sur le marché et durée de vie courte • très petit nombre de circuits • optimisation des performances • grande série ASIC FPGA

FPGA

ASIC

FPGA et conjoncture économique mondiale
D’après une interview du directeur de Xilinx dans la revue électronique internationale

Les FPGA sont les rares produits d’électronique qui profite de la crise économique actuelle dans le domaine des technologies de pointes ceci pour plusieurs raisons : • diminution des volumes de production • diminution de la durée de vies des produits • possibilités techniques des FPGAs largement suffisantes pour la plus part des applications

« en 2006, il y aura un circuit logique programmable dans chaque appareil numérique …. »

FPGA et conjoncture économique mondiale

III. ARCHITECTURE & CONCEPTION

Les différentes familles de circuits logiques programmables 1) Quelques définitions
• • • • • • • • EEPROM ou E2PROM (Electrical Erasable Programmable Read-Only Memory) :Mémoire programmable à lecture seule, effaçable électriquement. EPLD (Erasable Programmable Logic Device):Circuits logiques reprogrammables. FPGA (Field Programmable Gate Array):Réseau de portes programmables GAL (Generic Array Logic):Circuits logiques PAL reprogrammables à technologie CMOS. ISP (In System Programmable):Circuit que l’on peut programmer (et donc effacer) même lorsqu’il est en place sur l’application. PAL (Programmable Array Logic):Circuits logiques programmables dans lesquels seules les fonctions ET sont programmables, les fonctions OU ne le sont pas. PLD (Programmable Logic Device):Famille des circuits programmables qui comprend les PAL,GAL,EPLD et FPGA.

2)Les différentes familles de PLD
ASIC

CUSTOM Circuits sur mesure Circuits précaractérisés Circuits prédiffusés

SEMI-CUSTOM Circuits configurables

Full Custom

ASIC

Standard cell

Sea of gate

Gate array SRAM

FPGA

CPLD

PAL

Antifuse

ASIC FPGA CPLD PAL GAL SRAM

: Application Specific Integrated Circuit : Field Programmable Gate Array : Complex Programmable Logic Device : Programmable Array Logic : Generic Array Logic = PAL : Static Random Access Memory

PLD

Les différentes familles de PLD (suite)
TYPE Nombre de portes intégrées 2 000 à 500 000 Matrice ET Matrice OU Effaçable PROM Fixe Programmable Non

PAL

10 à 100

Programmable

Fixe

Non

GAL

10 à 100

Programmable

Fixe

Electriquement

EPLD

100 à 3000

Programmable

Fixe

Aux U-V Electriquement Electriquement Non

FPGA

3000 à 6.000.000

Programmable

Programmable

a) Les PAL

• L’invention des PAL date d’une vingtaine d’année, ce sont les ingénieurs de la société MMI rachetée par AMD qui ont eut l’idée d’utiliser la technologie des fusibles. • Ce sont des composants programmables une seule fois.

Structure de base d’un PLD
•Ils possèdent des matrices « ET » programmables et des matrices « OU » fixes. •La fusion des fusibles est obtenue en appliquant à leurs bornes une tension de 11,5 V pendant 10 à 50 µS (leur tension de fonctionnement est environ de 5V). •Cette opération est bien sûr effectuée en utilisant un programmateur adapté.
b
1 1

a
1 1

&

&

&

&

>1 Q0 Q1

>1

Structure de base avec les normes des constructeurs
.

b

a

b

a

: Fusible intact Q0 Q1

: Fusible intact
Q0 = a . b + a. b

Q0

Q1 Q1 = a.b + a.b

Q0 = Q1 = a.b.a.b + a.b.a.b + a.b.a.b + a.b.a.b = 0

PLD ayant ses fusibles intacts

PLD programmé

Configuration des entrées/sorties
•Certaines broches de ces circuits peuvent être utilisées aussi bien en entrée qu’en sortie grâce à un système de logique 3 états. •La commande de cette dernière est configurée au moment de la programmation. •La structure de sortie permet aussi de réinjecter les sorties en entrée (Feed-

Porte trois états permettant de déconnect r la broche e de la matrice "ET"

I/O

REFERENCE DES PAL

Les diverses possibilités de ces circuits et leur standardisation ont conduit les constructeurs à définir une nomenclature permettant de décoder assez facilement la référence des PALs. PAL : PAL (CE) : CE pour version CMOS Lettre(s) Code(s) Structure de sortie XX : Nombre d’entrées AB : Structure de sortie L Combinatoire active bas YY : Nombre de sorties C : Consommation H Combinatoire active haut ZZ : Vitesse DEF : Type de boîtier C Combinatoire complémentaire
R RA X V Registre synchrone (D) Registre asynchrone Registre OU exclusif Versatile

emarques : Le nombre d’entrées varie entre 10 et 22. Le nombre de sorties varie entre 1 et 10. La puissance est indiquée par une lettre code. La vitesse indique le temps de propagation en nS. Les versions versatiles ont une cellule de sortie programmable permettant d’obtenir n’importe quel autre type de structure de sortie (L, H, R ...). Les versions CMOS (CE) sont effaçables électriquement. Les fusibles sont remplacés par des transistors de type MOS FET. Ce ne sont ni plus ni moins que des « GALs ». xemple : PAL 16 L 8 H 15 PC

AL : PAL Nombre d’entrées : Structure de sortie :

Structures de base des PAL
Brochage du PAL 16R6 Brochage du PAL 16L6 -

PAL22V10 : Sortie (VERSATILE)

PAL22V10

ZOOM

Complet

b) Les GAL
• Les GAL sont des PAL à technologie CMOS, c’est à dire programmables et surtout effaçables électriquement. • On retrouve les mêmes références qu’en PAL. • Protection contre la duplication. • Les GAL sont dotés d’un bit de sécurité qui peut être activé lors de la programmation empêchant ainsi toute lecture du contenu du circuit. Ce bit est remis à zéro seulement en effaçant complètement le GAL. • Il est constitué d’un ensemble de huit octets, appelé signature électronique, pouvant contenir des informations diverses sur le produit.

c) Les EPLD

Généralités

• L’introduction des EPLD telle que l’a voulue ALTERA visait deux buts : • Densité d’intégration supérieure aux PAL • Fonctionner à une vitesse au moins égale aux PAL bipolaires

EPLD : Description Fonctionnelle
Les EPLD de la famille MAX possèdent une architecture comportant les éléments suivants : • Logic array blocks (LABs) • Macrocellules • Réseau d’interconnections Programmables (PIA) • I/O control blocks Les séries MAX incluent des entrées dédiées telles que des (horloges,clear,..) pour chaque macrocellule.

Exemple de EPLD : le MACH 4
Le MACH 4 est un EPLD programmable in situ (ISP) par l'intermédiaire d'un bus J-TAG. Il dispose de 32 entrées / sortie, de matrices « ET » programmables, de matrices "OU" fixes, d'une matrice centrale d'interconnexion, d'une circuiterie d'horloge et de 32 ou 64 macrocellules. L'architecture interne du MACH 4-32/32 est équivalente à 4 PALCE 22V10 interconnectés.

d) LES FPGA (field programmable gate arrays)

L'architecture, retenue par Xilinx, se présente sous forme de deux couches : • • une couche appelée circuit configurable, une couche réseau mémoire SRAM.

LES FPGA
• La couche dite 'circuit configurable' est constituée d'une matrice de blocs logiques configurables CLB permettant de réaliser des fonctions combinatoires et des fonctions séquentielles. • Tout autour de ces blocs logiques configurables, nous trouvons des blocs entrées/sorties IOB dont le rôle est de gérer les entrées-sorties réalisant l'interface avec les modules extérieurs . La programmation du circuit FPGA appelé aussi LCA (logic cells arrays) consistera par le biais de l'application d'un potentiel adéquat sur la grille de certains transistors à effet de champ à interconnecter les éléments des CLB et des IOB afin de réaliser les fonctions souhaitées et d'assurer la propagation des signaux. • Ces potentiels sont mémorisés dans le réseau mémoire SRAM.

La SRAM
• La configuration du circuit est mémorisée sur la couche réseau SRAM et stockée dans une ROM externe. Un dispositif interne permet à chaque mise sous tension de charger la SRAM interne à partir de la ROM. Ainsi, un même circuit peut être exploité successivement avec des ROM différentes puisque sa programmation interne n'est jamais définitive. • On voit tout le parti que l'on peut tirer de cette souplesse en particulier lors d'une phase de mise au point. La mise au point d'une configuration s'effectue en deux temps: une première étape purement logicielle va consister à dessiner puis simuler logiquement le circuit fini, puis lorsque cette étape sera terminée on effectuera une simulation matérielle en configurant un circuit réel et l'on pourra alors vérifier si le fonctionnement réel correspond bien à l'attente du concepteur, et si besoin est identifier les anomalies liées généralement à des temps de transit réels légèrement différents de ceux supposés lors de la simulation logicielle ce qui peut conduire à des états instables voire même erronés..

Architecture interne du FPGA

Les architectures
L’architecture reflète la topologie du réseau de routage

Trois grands styles architecturaux s’affrontent • îlots de calcul, majoritaire chez Xilinx • hiérarchique, majoritaire chez Altera • logarithmique, un peu exotique...

Architecture îlots de calculs

Les éléments fonctionnels (logique, mémoire, IO) sont regroupés sous forme de matrice

Ce type d’architecture est très répandu, en particulier chez Xilinx, mais aussi chez ATMEL

Les composants logiques programmables :

Architectures globales

Figure 1 : Structure of a CPLD Les MACROCELL = P-TERM (PAL-Like)

Architecture îlots de calculs
Élément configurable : • élément logique • élément de mémorisation

EC

• élément arithmétique • entrée/sortie Réseau de routage : • lignes horizontales • lignes verticales

Matrice de connexions

BC

MC

Bloc de connexions

Les blocs de connexions

EC BC

EC

Architecture hiérarchique

Les réseaux de routage d’une architecture hiérarchique dépendent du niveau de hiérarchie dans lequel on se trouve. Ceci permet une optimisation du routage par niveau

Très répandu chez Altera et Lattice

Architecture hiérarchique

Architecture hiérarchique

Réseau de routage de niveau 2 Élément Hiérarchique de niveau 2

Réseau de routage de niveau 1 Élément Hiérarchique de niveau 1

Réseau de routage de niveau 3 Élément Hiérarchique de niveau 3 • éléments logiques • éléments de mémorisation • ...

Architecture logarithmique

Architecture hiérarchique dans laquelle chaque niveau i correspond à une matrice de 42i cellules de bases. Chacun de ces niveaux possède des ressources de longueur 42i-1 .

Exemple typique: le circuit Xc6200 de Xilinx

Architecture logarithmique
Cell Cell Cell Cell

Cellule logique de base

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Matrice de 16 cellules

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Cell

Lignes de longueur 4 cellules

Cell

Cell

Cell

Cell

4*4

4*4

4*4

4*4

16*16

16*16

16*16

16*16

4*4

4*4

4*4

4*4

Lignes de longueur 16 cellules

16*16

16*16

16*16

16*16

4*4

4*4

4*4

4*4

16*16

16*16

16*16

16*16

4*4

4*4

4*4

4*4

Lignes de longueur 64 cellules

16*16

16*16

16*16

16*16

Les éléments logiques

Les éléments logiques configurables sont les briques de bases de tous les FPGA, ils sont majoritairement réalisés autour de LUT, Look Up Table, de chaîne de propagation rapide de la retenue et de bascule D.

On rencontre toutefois des cellules logiques rudimentaires à base de multiplexeurs

Les Look Up Tables
Ce sont de petits éléments de mémorisation, qui reflètent la table de vérité d’une fonction logique.
In 0 In 1 In 2 In 3

LUT = Table de scrutation LUT 4 entrées = RAM 2octets
SRAM SRAM

In 0 In 1 In 2 In 3

SRAM

LUT 4

Out
SRAM SRAM SRAM

Out

Les Look Up Tables

In 0

In 1

In 2

In 3

1111 1110 1101 1100 1011 1010

0 1 1 0 0 1

Out

Les Look Up Tables

In 0 = 0

In 1

In 2

In 3

1111 1110 1101 1100 1011 1010

0 1 1 0 0 1

Out

Les Look Up Tables

In 0 =0

In 1

In 2

In 3

1111 1110 1101 1100 1011 1010

0 1 1 0 0 1

Out

Les Look Up Tables

In 0 =0

In 1 = 1

In 2

In 3

1111 1110 1101 1100 1011 1010

0 1 1 0 0 1

Out

Les Look Up Tables

In 0 =0

In 1 = 1

In 2

In 3

1111 1110 1101 1100 1011 1010

0 1 1 0 0 1

Out

Les Look Up Tables

In 0 =0

In 1 = 1

In 2 =1

In 3 = 1

1111 1110 1101 1100 1011 1010

0 1 1 0 0 1

Out= 1 = In3 • In2 • In1 • Ino

Les Look Up Tables
Généralement le nombre d’entrées des LUT est de quatre car c’est un bon compromis entre vitesse et surface Le nombre de LUT dans les éléments logiques varie de 2 à 4 généralement Résultats d’une étude de l’Université de Toronto :
Critère Surface Délais Surface et délais Taille des LUT 3–4 7 4–6 Nombre de LUT 6 – 10 4 – 10 4 – 10

Les Look Up Tables
Élément logique de base avec LUT
Carry-In

ENTREES

LUT
FAST CARRY CHAIN

D Q

SORTIES

HORLOGE

Carry-Out

Les réseaux d’horloges

Les circuits sont de plus en plus grands => augmentation de la longueur des connexions => les chemins d’horloges sont plus longs => plus de retard => ASYNCHRONISME MALSAINT !!!

Les réseaux d’horloges
Le problème 1 : JITTER : bruit de phase

Le problème 2 : CLOCK SKEW : Décalage entre les transitions de la même horloge à différents points d’un circuit. Le problème 3 : on peut avoir besoin de plusieurs horloges dans un même circuit

Solutions d’asservissement des horloges

Les PLL (analogique) Phase-Locked Loop ( ALTERA )

Les DLL (numérique) Delay-Locked Loop ( XILINX )

Caractéristiques des PLL et DLL

Comparaison PLL vs DLL
Comparaison "objective" faite par ALTERA Bien que plus performantes les PLL sont aussi beaucoup plus complexes à intégrer (mixage analogique et numérique)

Avons nous besoin d’une telle précision ???

Les cœurs de processeurs
Aujourd’hui les systèmes numériques font de plus en plus appel conjointement à des ressources logicielles micro-programmées (µP, µC, DSP) et des ressources matérielles re-configurables (FPGA) D’où l’idée de mettre sur un même puce un cœur de microprocesseur et un cœur de logique configurable, les deux étant optimisés technologiquement

Le cœur de processeur peut prendre environ 10% de la surface totale de la puce

Les cœurs de processeurs
Altera propose le circuit Excalibur contenant : • une partie configurable : type APEX 20K1000 • un cœur de processeur : ARM9 (32 Bits) à 200MHz 8 K octets de cache Instructions 8 K octets de cache Données
Matrice FPGA
RAM double port RAM simple port Cœur ARM 922T

Les cœurs de processeurs
PLL JTAG ARM

Processor & Memory Interfaces
Interfaces

UART

External

Trace Module

SRAM

SRAM

SRAM

Timer I-CACHE Interrupt D-CACHE ARM922T Watchdog 8K Bytes Controller 8K Byte Timer

Coeur de processeur
DPRAM DPRAM DPRAM

XA1
LEs ESB Bytes 4160 6.5K 32 Kbytes SRAM 16 Kbytes DPRAM

FPGA
LEs ESB Bytes 16400 26K

XA4
128 Kbytes SRAM 64 Kbytes DPRAM

LEs ESB Bytes

38400 40K

XA10

256 Kbytes SRAM 128 Kbytes DPRAM

Les cœurs de processeurs

Xilinx propose aussi une version de son circuit Virtex II avec un cœur de processeur le Virtex II-Pro comprenant : • de 1 à 4 cœurs Power-PC (RISC 32 bits) 125MHz • matrice VIRTEX avec capacité de 900 mille portes

Les alimentations en énergie
Le cœur est alimenté généralement en 1.8 V (voir 1.5 V) car avec la technologie à 0.18 µm les oxydes ne sont pas assez épais pour supporter plus de tension Les entrées sorties sont alimentées sous 3.3V, 2.5V, 1.8V ou 1.5 V suivant le standard choisi

Dans la plupart des cas il faut deux alimentations Attention à la consommation des E/S => minimiser leur nombre !!!

Les alimentations en énergie

Technologiquement pour permettre aux entrées sorties de supporter des tensions d’alimentations jusqu’à 3.3V on effectue plusieurs oxydations avec des masques spéciaux

De cette façon la technologie utilisée pour les entrées-sorties n’est pas la même que pour le cœur

Répartition de la consommation de puissance

RESEAU D’HORLOGE 21%

ENTREES SORTIES 9% RESSOURCES DE ROUTAGE 65%

RESSOURCES LOGIQUES 5%

Modélisation de la consommation de puissance
La consommation globale du circuit peut être donnée par le modèle suivant : P = Pstat + α*[Cwire + Cswitches ]*Vdd ²*f De ce fait la répartition vue précédemment est vraie dans certaines conditions: • Technologie (Pstat , C, Vdd ) • Fréquence (action linéaire) • Taux d’activité (action linéaire) • Taux d’occupation (C) • Algorithmes de placement routage (fmx , C) a • Nombre d’entrées sorties utilisées => du fait de ces nombreux paramètres il est très compliqué de trouver un moyen d’estimer la consommation de puissance du circuit pour une application

Les architectures de FPGA sont donc très variées, tant aux niveau du routage que du grain des ressources qui les composent. Savoir quels types d’architecture et de ressources sont les plus en adéquation avec l’application que l’on développe reste un challenge aujourd’hui.

IV. LA FAMILLE ALTERA

La famille ALTERA
1984 1988 1992 1995 1997 1999 2000 2000 2001 2001 Débuts d’Altera qui vend des EPLD Lancement des CPLD MAX (Multiple Array matriX) qui sont des fétus de FPGA 1er FPGA Altera : le FLEX 8000 (15 000 portes) (Flexible Logic Element matriX) technologie 0.5 µm Lancement de la famille FLEX 10K (250 000 portes) Famille FLEX 6K bas coûts (24 000 portes) Famille APEX 20K (1 500 000 portes) Famille APEX 20K C utilisant la technologie cuivre Famille APEX 20K E avec plus de ressources mémoires technologie 0.18 µm Circuit Excalibur couplant une matrice FPGA APEX 20K 1000 et un cœur de processeur ARM 9 Famille APEX II (dont le but est de concurrencer le Virtex de Xilinx) (3 000 000 de portes) technologie 0.15 µm

Février 2002 : Lancement du STRATIX concurrent direct du Virtex II Xilinx, technologie cuivre 0.13 µm Septembre 2002 : Lancement du Cyclone un petit FPGA (architecture STRATIX) pour application grand public bas-coûts

La famille ALTERA
STRATIX

APEX II - Caractéristiques

Le plus gros composant disponible est l’APEX II EP2A70 Caractéristiques MAX: • 3 000 000 de portes utilisables • 1 146 880 bits de mémoires RAM soit 140 Kilo octets • 4 PLL • cœur alimenté en 1.5 V • 1 060 entrées sorties (tension 1.5 V, 1.8 V, 2.5 V ou 3.3 V) • 380 Mbps de débit en entrées sorties • technologie cuivre 0.15 µm 8 niveaux de métallisation • taille de la puce 40*40 mm soit 1600 mm²

APEX II - Architecture
L’architecture est de type hiérarchique, au premier niveau de hiérarchie apparaisse les MegaLAB : Mega Logic Array Block

4 rangées de MegaLAB soit au total 280 MegaLAB

70 colonnes de MegaLAB

APEX II - MegaLAB

Un MegaLAB contient de 16 à 24 LAB (Logic Array Block) et 1 ESB (Embedded System Block)

APEX II - LAB

Les LAB sont constitués de 10 LE : Logic Element

APEX II - LE

Le nombre max de LE pour un APEX II est de 67 200

APEX II - Carry Chain

APEX II - ESB
Bloc de mémoire de 4096 bits configurable en simple ou double port Peut être utilisé en CAM (Content Access Memory) et en matrice PAL

APEX II - Entrées Sorties

APEX II - PLL

Stratix

Toujours plus gros, toujours plus performant, Stratix, le dernier née d’Altera !

Stratix - Architecture

Stratix - Architecture

Stratix - Blocs mémoires

Stratix - DSP élémentaires

Des blocs multiplieurs sont insérés

Stratix - Réseau d’horloges

Évolutions futures

Progression de la famille STRATIX: Version Excalibur avec un cœur ARM10 Version bas coûts, plus petite, pour les grandes séries (=> CYCLONE)

VI. FAMILLE XILINX

La Famille XILINX
1985 1987 1991 1995 1996 1998 1999 1999 2000 2001 2002 Lancement de la 1er famille de FPGA Xilinx le XC2000 (1500 portes - obsolète) Famille XC3000 (6000 portes - obsolète) Famille XC 4000 (500 000 portes) Famille XC 5200 spéciale petit design (18 000 portes) 0.6 µm 6 couches Innovations avec la famille XC 6200 (100 000) visant le coprocessing et le reconfigurable dynamiquement, echec commercial Famille SPARTRAN vise la souplesse d’utilisation et les petits design Famille VIRTEX vise les fortes capacités ( 4 millions de portes) techno 0,22 µm 5 niveaux de métallisation VIRTEX-E amélioration du VIRTEX avec plus de mémoires, techno 0.18 µm 6 niveaux de métallisation Famille SPARTRAN II, FPGA moyennes capacités (100 000 portes) bas coûts, ce sont de petits VIRTEX, techno 0.18 µm 6 niveaux de métallisation Famille VIRTEX II, toujours plus fort (10 millions de portes) techno 0.15 µm 8 niveaux de métallisation, avec des transistors rapide 0.12 µm Famille VIRTEX II-Pro qui contient 4 cœurs de µP RISC Power-PC

Xilinx propose aussi une gamme complète de CPLD

La Famille XILINX

Virtex II - Caractéristiques
Le plus gros composant disponible est le VIRTEX II XC2V 10000 Caractéristiques MAX: • 10 millions de portes utilisables (122 880 LUT et 10 *+ de bascule D) • 5 376 K bits de mémoires RAM soit 656 Kilo octets • 192 Multiplieurs (18*18 bits à 200MHz) • 12 DLL • cœur alimenté en 1.5 V • 1 108 entrées sorties (tension 1.5 V, 1.8 V, 2.5 V ou 3.3 V) • Fréquence interne 420 MHz • 840 Mbps de débit en entrées sorties • technologie allu 0.15µm 8 niveaux de métallisation • taille de la puce 40*40 mm soit 1600 mm²

Virtex II - Architecture
CLB : Configurable Logic Block
CLB Slice

Virtex II - Réseau de routage

Virtex II - Réseau d’horloges

DCM : Digital Clock Manager

Virtex II - DCM
Digital Clock Manager

Virtex II - Entrées sorties

Virtex II - Configuration

Virtex II - Évolution

Virtex II Pro- Architecture

VII. AUTRES EXEMPLES DE FPGA

Autres exemples de FPGA

Il n’est pas nécessaire de détailler d’autres architectures de FPGA, elles n’apportent rien de plus que ce que l’on a vue chez Xilinx ou Altera

Mais il est toutefois intéressant de connaître l’offre d’autres fabricants

Autres exemples de FPGA
ACTEL ProASIC technologie flash, ASIC reprogrammable, non volatile et à granularité fine, ISP. Utilise les outils ASIC ou FPGA AXELERATOR technologie antifusibles => OTP (One Time Programmable), FPGA les plus rapide à 500MHz interne et 300MHz de fonctionnement système HiRel, RT, RH, technologie antifusibles série militaire, tolérance aux radiations

Autres exemples de FPGA
ATMEL AT40K, technologie SRAM, architecture îlots de calcul, faible densité (5K à 50K portes), reconfigurable dynamiquement, des cœurs FPGA dérivés de cette famille peuvent s’intégrer dans les circuits prédiffusés ATMEL. ispXPGA, technologie SRAM, archi îlots de calcul, densité de 125K à 1,2M portes. EEPROM de configuration intégré => configuration à la mise sous tension en moins de 200 µs

Lattice

Autres exemples de FPGA

Quick Logic

pASIC (1,2 et 3), série Quick (Ram, PCI), technologie antifusible (One Time Programmable), faible densité de 1K à 90K portes

Cypress

CY39K, architecture mixte CPLD-FPGA

VIII. UTILISATIONS & CAO

Programmation des PLDs.
La programmation des PLDs nécessite un logiciel adapté pour le développement du programme et un programmateur permettant de « griller » le circuit. Le fichier JEDEC est un ensemble de données binaires indiquant au programmateur les fusibles à « griller ».
Cahier des charges Mise en « équation » du problème Résolution du problème sous forme d’équation logique, de logigramme ou d’algorithme Choix du PLD en fonction du nombre d’entrées et de sorties

Saisie des équations logiques, de la table de vérité, du logigramme ou de l’algorithme avec le logiciel

Simplification logique Ces étapes sont Ces étapes sont effectuées par le effectuées par le logiciel logiciel

Génération d’un fichier au format JEDEC

Simulation Programmation du PLD à l’aide du fichier JEDEC et du programmateur

PLD programmé

Outils de CAO

Les outils de CAO sont les points faibles de ces circuits. Si un circuit est très performant il ne se vendra pas si les outils qui lui sont associés ne sont pas performants !

Chez Xilinx 50% des ingénieurs de R&D se consacrent à ces outils !

Outils de CAO
Tous les fabricants de FPGA proposent des outils de CAO, passage obligé pour configurer leurs circuits

pour Xilinx c’est ISE - Foundation

pour Altera c’est Quartus ou MAX + II

Avec ces outils on peut réaliser tout le flot de conception de la synthèse à la configuration. Pour certaines phases du flot ces outils font en fait appel à d’autres outils

Autres outils de CAO

Flot FPGA

Synthèse

Simulation

IP : Intellectual Property
Communications
ADPCM (u-law, a-law) ATM Controller CRC Ethernet MAC (10/100/Gigabit) HDLC Protocol Core IMA Controller SONET/SDH Framer T3/E3 Framer Packet Over SONET Processor Telephony Tone Generator Utopia Master & Slave POS-PHY Interface

Bus Interface
PCI Target PCI Master-Target PCI-X CAN Bus IIC Master & Slave IEEE 1394 PowerPC Bus Arbiter PowerPC Bus Master PowerPC Bus Slave USB Function Controller USB Host Controller

Digital Signal Processing
Color Space Converter Correlator Digital Modulator Discrete Cosine Transform Fast Fourier Transform FIR Compiler IIR Filter Image Processing Library NCO Reed Solomon Encoder/Decoder Interleaver/Deinterleaver Viterbi Decoder Turbo Decoder

Processor, Peripheral
NiosTM Processor Tensilica X-tensa Processor PalmChip Bus SDRAM Controller DDR-SDRAM Controller QDR-SDRAM Controller 8237 DMA Controller 8255 Peripheral Interface 8259 Interrupt Controller 8254 Timer/Counter 8051, 6502, Z80

Et plus encore !

Exemple d’IP : NIOS
NIOS : cœur de processeur RISC générique optimisé Caractéristiques : • données sur 16 ou 32 bits • 128, 256 ou 512 registres • registres à décalage rapide ( 1, 3, 7, 15 ou 31 bits/clock) • possibilités de lui adjoindre des périphériques (UART, RAM, ROM) Serial Port
SRAM FLASH

PBM

CPU

Timer UART

12% d’un EP20K200E

Ici le reste de votre système

APEX EP20K200E

IRQ

IX. EVOLUTIONS CODESIGN, SORC

Les nouvelles utilisations des FPGA

Longtemps réduit au prototypage, aujourd’hui les FPGA sont utilisés, pour leur capacité de reconfiguration, dans des systèmes électroniques complexes, même pour de la grande série. • le CoDesign pour le Run Time Reconfigurable • les SORC : System-On-a-Reconfigurable-Chip

Le CoDesign
Définition : Les méthodes de CoDesign sont des méthodes de développement simultané (de manière concurrente) des parties HW et SW (spécification, design, vérification)

SW = microprocesseur

HW = FPGA ou ASIC

Buts : • Gérer au mieux l’hétérogénéité de la nature des fonctions qui composent le système (du logiciel à l’architecture reconfigurable) • Comparer les différents choix de partitionnement • Définir les interfaces entre le SW et le HW • Valider le système complet (co-vérification et co-simulation)

Flot de CoDesign
SPECIFICATION HAUT NIVEAU DE L’APPLICATION ordonnancement de l’application proposition de candidats HW et SW

ESTIMATION SYSTEME

ESTIMATION LOGICIELLE

ESTIMATION MATERIELLE

PARTITIONNEMENT

Choix des réalisation HW ou SW

SYNTHESE LOGICIELLE

SYNTHESE INTERFACE

SYNTHESE MATERIELLE

COSIMULATION Retour d’expérience IMPLEMENTATION HW et SW

TESTS

Les SORC
Technique héritière direct des SOC : System On Chip

Différentes notations : • SORC (Xilinx) : System On a Reconfigurable Chip • SOPC (Altera) : System On a Programmable Chip • CSOC : Configurable System On Chip

L’utilisation des techniques de CoDesign est inévitable !

L’engouement pour les SORC est certain vue le nombre de cœur de processeurs (IP ou câblés) présents sur le marché

CONCLUSIONS

Le futur

Le futur
Processeurs re-programmant leur environnement en temps réel : « Hardware intelligent programmé à haut niveau »

Le futur
Circuit programmable Analogiques et Mixtes : (www.anadigm.com)

Intégration de MEMS : Plus tard

REFERENCES BIBLIOGRAPHIQUES

Références bibliographiques
Livres : Laurent Dutrieux, Didier Demigny, LOGIQUE PROGRAMMABLE, Architecture des FPGA et CPLD, Méthodes de conception, Le langage VHDL. Eyrolles, 1997 Vaughn Betz, Jonathan Rose, Alexander Marquardt, Architecture and CAD for Deep-Submicron FPGAs. Kluwer Academic Publisher, 1999

Revues : Électronique - Le mensuel des ingénieurs de conception Électronique International Hebdo Xcell Journal (Xilinx press) Revues IEEE

Références bibliographiques
Sites Internet : LES SITES DES CONSTRUCTEURS (Xilinx, Altera, Atmel, Actel, QuickLogic …) AUTRES :
http://www.mrc.uidaho.edu/fpga/fpga.html page de liens vers FPGA http://optimagic.com/ the Programmable Logic Jump Station http://eet.com/embedsub site de l’embedded developers journal http://www.mvd-fpga.com/fr/default.htm site d’une entreprise française de service spécialisée dans les FPGA http://www.design-reuse.com/ site sur les IP http://www.supelec-rennes.fr/ren/perso/jweiss/fpga/poly/fam99-fin.htm cours de SUPELEC J. Weiss http://www.enseirb.fr/~kadionik/formation/altera/index.htm cours de l’ENSEIRB L. Dulau http://micdigital.web.cern.ch/micdigital/VLSI_Trieste/design_styles/index.htm autre cours en PPT

conférences
Conférences spécialisées : FPGA FPL FCCM FTP RSP ERSA RAW ACM International Symposium on Field-Programmable Gate Arrays International Workshop on Field-Programmable Logic and Applications IEEE Symposium on Field-Programmable Custom Computing Machines IEEE International Conference on Field-Programmable Technology IEEE International Workshop on Rapid System Prototyping Engineering of Reconfiguraable Systems and Algorithms Reconfigure Architectures Workshop (part of IPDPS)

FPGA/PLD Design Conference (part of ASP-DAC)

Conférences généralistes DAC : Design Automation Conference

ASP-DAC Asian and South Pacific Design Automation Conference DATE ISCAS Design Automation & Test Exhibition IEEE International Symposium on Circuits and Systems

MERCI ...

Sign up to vote on this title
UsefulNot useful