96
-1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours de l’ISEP disponible sur le WEB Pierre Bomel

-1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

Embed Size (px)

Citation preview

Page 1: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-1-Emmanuel Boutillon

Les FPGAs

Emmanuel Boutillon

Cours réalisé à partir de :

Nathalie Julien, cours IUP EEA 1999.

Jean-Luc Danger, ENST Paris

Cours de l’ISEP disponible sur le WEB

Pierre Bomel

Page 2: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-2-Emmanuel Boutillon

Comment et pourquoi faire de la logique programmable ?

Les technologies de personnalisation PAL, EPLD et FPGA Spécificité du développement des CLPs Situation présente et évolution.

PLAN

Page 3: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-3-Emmanuel Boutillon

microprocesseursprocesseurs DSPsmémoirespériphériques

FPGAEPLD

circuits logiques

programmables

circuits logiques

programmablesASICsASICs

Position du problème

MatérielMatériel LogicielLogiciel

circuits existantscircuits existantscircuits personnaliséscircuits personnalisés

Page 4: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-4-Emmanuel Boutillon

Position du problème

L’intérêt des CLP se justifie (depuis 30 ans) par :

Le coûts très important des ASICs

Le temps de développement d ’un ASIC

Les performances faibles du logiciel

La non flexibilité des solutions ASIC

« Démocratisation » des FPGA

Page 5: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-5-Emmanuel Boutillon

Coût à la pièce

Nombre de pièces

ASIC

CLP

NRE

seuil

le seuil augmente si le nombre de portes baisseseuil mini = 1000 pièces

Coût CLP/ASIC

Page 6: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-6-Emmanuel Boutillon

temps

Temps de conception

specspec

FPGA

ASIC

Code+synthCode+synth PlacementRoutage

PlacementRoutage fabfab

specspec Code+synthCode+synth

specspeclogiciel

PRPR

CodeCode

P

+

Time to market

Page 7: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-7-Emmanuel Boutillon

processeur : traitement séquentiel

fclock

nb op/cyclef =

f

Nb opérations/cycle1 2 3 4 8 12 16 20 24 28 32 36 40 44 48 52

10

20

30

40

50

60

70

80 circuit personnalisé : traitement parallèle

F clock

fréquencede traitement

Les performances

Page 8: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-8-Emmanuel Boutillon

Démocratisation de la conception

Temps log10(complexité)

10Masque

8Transistor

7Porte

5RTL

4Spécifications

3Idée

T0 Tfin

Développem

ent

Val

idat

ion

ASI

C

Fonderie

Produit

Val

idat

ion

CL

PAffaire de

Spécialistes avec un équipement

lourd

Page 9: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-9-Emmanuel Boutillon

prototypage conception rapide de démonstrateurs autonomie (pas de fondeur)

Reprogrammation maintenance in situ

Intérêts propres aux CLPs

Page 10: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-10-Emmanuel Boutillon

Comment faire des CLP ?

Un circuit classique contient :- des portes logiques ;- des connections entre les portes logiques ;- des éléments de mémorisation (registre et/ou mémoire) ;- des entrées-sorties.- une (ou des) horloges- une structure hiérarchique

Le CLP doit donc avoir les mêmes fonctionnalités, avec la notionde « programmabilité ».

Page 11: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-11-Emmanuel Boutillon

Toute fonction logique booléenne peut s'exprimer sous forme canonique

S = A2A1A0 + A2A1A0 + A2A1A0 + A2A1A0S = A2A1A0 + A2A1A0 + A2A1A0 + A2A1A0

minterme ou terme produit

Matrice ETproduits des

entrées

Matrice ETproduits des

entrées

Matrice OUsomme des produits

Matrice OUsomme des produits

Ai

Sj

= Réseau logique programmable

exemple :

Fonction logique simple : Réseau logique

Page 12: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-12-Emmanuel Boutillon

f(A1,A0 ) = f(0,0)A1A0 + f(0,1)A1A0 + f(1,0)A1A0 +f(1,1)A1A0f(A1,A0 ) = f(0,0)A1A0 + f(0,1)A1A0 + f(1,0)A1A0 +f(1,1)A1A0fonction logique 2 entrées :

mémoire 4 mots de 1 bit : d = d0A1A0 + d1A1A0 + d2A1A0 + d3A1A0d = d0A1A0 + d1A1A0 + d2A1A0 + d3A1A0

A0

A1

F(A1,A0)=d= A1A0 + A1A0

adresse=entrées

liaison non programmableliaison programmable

Mémoire

d0=0d1=1

d2=1d3=0

Page 13: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-13-Emmanuel Boutillon

A0

A1

A2

A3

S0

S1

matrice

ETfigée

matrice

OUprogrammable

adresse=entrées

liaison non programmableliaison programmable

mémoire 16 mots de 2 bits => 2 fonctions logiques de 4 entrées

Mémoire

Page 14: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-14-Emmanuel Boutillon

LOOK UP TABLE (LUT)

Une mémoire contient la table de vérité d ’une fonction logique :

Ex : Fonction F(a,b,c) = a xor b xor c

000 0001 1010 0011 1100 0101 1110 0111 1

SRAMAdresse(a,b,c)

F(a,b,c)

=> Mode de lecture différent du résultat

Page 15: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-15-Emmanuel Boutillon

ABCD

S0

S1

S2

S3

matrice

ETprogrammable

matrice

OUfigée

liaison non programmableliaison programmable

Programmable Array Logic

somme de produits = Macrocellule

PAL

PLD : 4 fonctions de 12 mintermes (max) de 3 variablesAu déparet #70-85 : programmation « à la main » (fichier de fusibles)

Page 16: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-16-Emmanuel Boutillon

utilisée pour la technologie ANTIFUSIBLE

équivaut à une LUT cablée

mux

a b

sortie

e0

e1

e2

e3

sortie = abe0 ou abe1 ou abe2 ou abe3

intérêt : surface réduite cellule grain fin

cellule logique à MUX

Page 17: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-17-Emmanuel Boutillon

ET

OU

OUOU

ET

MEMOIRE

PAL

MUX

type structure avantage inconvénient

toutes les fonctions=> 22n possibles

• grand nombre d'entrées• économique

•Mémoire conséquente si nombreuses entrées

Nombre de mintermes limité

Taille très faible Limité à peu d ’entrées

comparatif des réseaux programmables

Page 18: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-18-Emmanuel Boutillon

Programmation des interconnections

Par connexion ou non de deux fils

F1

F2

F1

F2

Par l’utilisation de multiplexeur

F1

F2

F1’ Le nombre de connexionsréalisables est limité à ce quiexiste...

!

Page 19: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-19-Emmanuel Boutillon

Programmation des registres et E/S

clk

DQ

rst

Registre

Possibilité d ’utiliser ou non le registre

Possibilité de programmerle PAD en mode entrée ousortie.

Page 20: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-20-Emmanuel Boutillon

Système d’entrée sortie complet

DFF

DFF

OE

OUT

IN

broche

la broche peut être :

entrée simplesortie simplebidirentrée avec DFF (structure FPGA)sortie avec DFF (structure FPGA)inutilisée pour faciliter le routage (structure PAL)avec logique JTAG

Page 21: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-21-Emmanuel Boutillon

Gestion des horloges

Mise en place d ’un arbre de d ’horloge pour effectuer de la logique synchrone.

Principe : système asservi en phase

CLK

CLK_OUT

PLL

compensation le "skew" d'horloge multiplication de la fréquence si diviseur dans la boucle de réaction

Page 22: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-22-Emmanuel Boutillon

Gestion de la complexité

Pour les CLP complexes, il est possible de définir des niveaux de hiérarchie du matériel.

=> Au niveau des interconnections=> Au niveau du regroupement de fonctions logiques

Il est aussi possible de diviser le circuit en fonctionnalitésdifférentes :

=> Zone de mémoire RAM=> Zone de CLP=> Zone spécialisée

Page 23: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-23-Emmanuel Boutillon

technologiesde programmation :

- EEPROM- SRAM

- antifusible

technologiesde programmation :

- EEPROM- SRAM

- antifusible

architectures du plan actif : - PAL hiérarchique (EPLD)

- gate-array (FPGA) - mixtes (CPLD ALTERAs)

architectures du plan actif : - PAL hiérarchique (EPLD)

- gate-array (FPGA) - mixtes (CPLD ALTERAs)

Entrées / Sorties

Entrées/Sorties

Plan actif : cellules logiques

Plan de programmation : interconnexion

Entrées / Sorties

programmationou configuration

Entrées / Sorties

Principes du CLP

Page 24: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-24-Emmanuel Boutillon

Comment et pourquoi faire de la logique programmable ?

Les technologies de personnalisation PAL, EPLD et FPGA Spécificité du développement des CLPs Situation présente et évolution.

PLAN

Page 25: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-25-Emmanuel Boutillon

Les composants logiques programmables :

Les technologies de personnalisation

Fusibles Anti-fusibles UV PROM (obsolète) EEPROM SRAM Métalisation Comparaison des différents techniques.

Le circuit est personnalisé par création/destruction de connections sur la structure prédéfinie.

Page 26: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-26-Emmanuel Boutillon

Les composants logiques programmables : Technologie de personnalisation :

Fusibles métalliques ou Si

Lignes métalliques : interconnexions

Intact «Programmé»

Problème de l’électro-migration

Même structure en ligne polysilicium

Ou Transistor «grillable» joue le rôle de fusible

Page 27: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-27-Emmanuel Boutillon

Les composants logiques programmables : Technologie de personnalisation :

Antifusibles

Page 28: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-28-Emmanuel Boutillon

Les composants logiques programmables : Technologie de personnalisation :

UV-EPROM / EEPROM

SAMOS : Stacked MOS

Non-volatile

Page 29: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-29-Emmanuel Boutillon

Les composants logiques programmables : Technologie de personnalisation :

SRAM

Besoin d’une mémoire externed’initialisation :Processeur associé ou EEPROM série

Page 30: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-30-Emmanuel Boutillon

Prédiffusés (Gate Array) Circuits génériques au «catalogue»

(ressources sans les interconnexions finales)

Développement / production rapides Pas d ’utilisation optimale du Si

Exemple de métalisation pour obtenir un registre.

Les outils de CAO vont permettrede dériver le dessin du ou desmasques de connexions en tenant compte du schéma et du circuit choisi

Les ressources peuvent être uniques(par exemple des NAND) ou plusdiversifiéesLe routage se fait «dessus» : sea of gateou «à coté» : row-based

Page 31: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-31-Emmanuel Boutillon

Comparaison

Critères pour les interconnexions :rapidité de propagation à travers l ’interrupteur (produit résistance - capacité parasite)densité possible des interconnexions (surface de la cellule)facilité d ’utilisation (ISP, support, PROM de configuration)maintien de la configuration (volatile)reprogrammablilité (OTP)

Typed'interconnexion

EPROM Antifusible SRAM

Rapidité - + -

Densité - + --

Facilité + - +

Reprogrammabilité + non ++

Page 32: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-32-Emmanuel Boutillon

Comment et pourquoi faire de la logique programmable ?

Les technologies de personnalisation PAL, EPLD et FPGA Spécificité du développement des CLPs Situation présente et évolution.

PLAN

Page 33: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-33-Emmanuel Boutillon

Taxinomie des CLPs (PLD)

Circuits logiques programmable

(Programmable Logic Device)

PLD EPLD-CPLD FPGA

SRAM antifusePAL GAL

UVPROM EECMOS isp

Les noms peuvent changer selon l‘auteur, le fondeur ...!

Page 34: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-34-Emmanuel Boutillon

Vocabulaire (1)

a. PAL, GAL ( Programmable Array Logic, Généric Array Logic).

b. EPLD-CPLD (Erasable PLD ou Complex PLD)Les EPLD sont programmables électriquement et effaçables aux UV ;Les EEPLD sont effaçables électriquementPrincipe similaire aux PAL mais avec interconnexions réalisées en techno UVPROMOn trouve également les pLSI et ispLSI (in situ programmable)

c. FPGA (Field Programmable Gate Array)C ’est un ensemble de blocs logiques élémentaires que l ’utilisateur peut interconnecter pour réaliser les fonctions logiques de son choixLa densité des portes est importante et sans cesse en évolution

FPGA à SRAM ou LCA Logic Cell Array (1985 par Xilinx)FPGA à antifusibles (1990 Actel) non effaçables

Page 35: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-35-Emmanuel Boutillon

Vocabulaire (2)ASIC Application Specific Integrated Circuit - Circuit intégré conçu à la demandeCPLD Complex Programmable Logic Device - Réseau logique programmable complexeDRAM Dynamic Random Access Memory - Mémoire dynamique à accès aléatoireDSP Digital Signal Processor - Processeur orienté vers le traitement du signalEDIF Electronic Design Interchange FormatEEPLD Electrically Erasable Programmable Logic Device - PLD effaçable électriquementFPGA Field Programmable Gate Array - Réseau de portes programmablesGAL Generic Array Logic - PAL génériqueISP In-System (In Situ) Programmable - Composant programmable sur carteJEDEC Joint Electronic Device Engineering Council - Organisme de normalisationJTAG Joint Test Action Group - Bus de test des composantsLCA Logic Cell Array (Xilinx) - Réseau de cellules logiquesLUT Look-Up TableMAX Multiple Array Matrix - Megapals d'AlteraNOVRAM ou NVRAM Non Volatile Random Access Memory - RAM non volatileOTP One Time Programmable - Programmable une seule foisPAL Programmable Array Logic - Réseau logique programmablePGA Programmable Gate Array - Réseau de portes programmablePLA Programmable Logic Array - Réseau logique programmablePLD Programmable Logic Device - Dispositif logique programmable, EPLD : Erasable PLD : PLD EffacableROM Read Only Memory, Mémoire à lecture seule, PROM : Programmable ROM,. EPROM: Erasable : Effacable,

EEPROM : Electricaly EPROM : Mémoire à lecture seule, électriquement effaçable.RAM Random Access Memory - Mémoire à accès aléatoireSDF Standard Delay FileSOG Sea-of-Gates - Mer de portes : réseau actif logique prédiffuséSRAM Static Random Access Memory - Mémoire statique à accès aléatoireTTL Transistor Transistor Logic - Logique transistor-transistorVHDL VHSIC Hardware Description Language - Langage de description matérielle VHSIC

Page 36: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-36-Emmanuel Boutillon

Nomenclature des PALs

Convention de dénomination PAL II AB 00 (CE) C ZZ DEF PAL (nbr d ’entrées) (structure de sortie) (nbr sorties) (CMOS Eraseble) (conso.) (vitesse)

(boitier)

Types de sortiesType Structure de sortie

H combinatoire à logique positive

L combinatoire à logique négative

P combinatoire à polarité programmable

C combinatoire à logique complémentaireR logique à registre

RA logique asynchrone à registre

RP logique à registre programmable

V logique à macrocellules (versatiles)

Page 37: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-37-Emmanuel Boutillon

Principe des PAL

Possibilité de rebouclage

Vedette : PAL22V10CEProgrammable array logic22 I/O - 10 Versatile OutputsCMOS ERASABLE

Architecture générale des PALs

Page 38: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-38-Emmanuel Boutillon

PAL22V10CE : sortie Versatile

Choix de la polarité de la logiqueProgrammation entrée sortie

Rebouclage programmable.

Page 39: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-39-Emmanuel Boutillon

PA

L22

V10

Page 40: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-40-Emmanuel Boutillon

Architecture PAL hiérarchique (EPLD)

• Ensemble de blocs logiques LAB (Logic Array Block) composés de macrocellules• Une matrice d'interconnexion PIA (Programmable Interconnect Array)• Chaque E/S est liée à une macrocellule

PIA

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/S

E/S

E/S

E/S

matrice d'interconnexion

matrice d'interconnexion

. . .

. . .

LABLAB

LABLAB

LABLAB

LABLAB

LABLAB

macrocellulemacrocellule. .

.

macrocellulemacrocellulemacrocellulemacrocellule

Page 41: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-41-Emmanuel Boutillon

Routage d’un EPLD

routage systématisé modèle électrique et délais prédictibles placement non critique (temps de compilation faible

LABE/S LAB LAB LAB

Page 42: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-42-Emmanuel Boutillon

Exemple : EP610/1810 (1)

Page 43: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-43-Emmanuel Boutillon

Exemple (ALTERA) : P610/1810 (2)

Page 44: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-44-Emmanuel Boutillon

MAX9000 (1)

Page 45: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-45-Emmanuel Boutillon

PLD / CPLD / FPGA : L’offre ALTERA :

MAX9000 (2)

Page 46: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-46-Emmanuel Boutillon

MAX9000 (3)

Page 47: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-47-Emmanuel Boutillon

Architecture gate-array (FPGA)

• Ensemble de cellules logiques disposées en matrice et séparées par des canaux de routage organisés en Rangées/Colonnes. A chaque intersection se trouve un commutateur.• Le temps de propagation dépend du routage choisi pour réaliser l'interconnexion.

canaux de routage

cellule logique

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

E/SE/S

Page 48: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-48-Emmanuel Boutillon

rangée pour connexions locales =segments

colonne pourconnexions locales

commutateur

cellulelogiquecellulelogique

rangée pour connexions globales = lignes longues

exemple : XC4000 XILINXexemple : XC4000 XILINX

routage dans un FPGA

cellulelogiquecellulelogique

Page 49: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-49-Emmanuel Boutillon

A

B

A

B

grande adaptabilité du routage

routage dans un FPGA

Page 50: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-50-Emmanuel Boutillon

AAAroutage localdans le bloc

A

B

cellules dans le même bloc cellules dans blocs différents :1 ligne rangée et colonne occupée

1 commutation max => temps de propagation + déterministebesoin de + de lignes

routage dans un FPGA : FLEX ALTERA

B

Page 51: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-51-Emmanuel Boutillon

FLEX10K(1)

Page 52: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-52-Emmanuel Boutillon

FLEX10K(2)

Page 53: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-53-Emmanuel Boutillon

FLEX10K(3)

Page 54: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-54-Emmanuel Boutillon

FLEX10K(4)

Page 55: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-55-Emmanuel Boutillon

FLEX10K(5)

Mode normal

Mode arithmétique

Page 56: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-56-Emmanuel Boutillon

FLEX10K(6)

Page 57: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-57-Emmanuel Boutillon

performancesperformances

granularité fineflexibilité

granularité fineflexibilité

rapidité de compilation

rapidité de compilation

prédictibilité des temps de propagation

prédictibilité des temps de propagation grand nombre

de registresgrand nombre

de registres

type EPLD

typeFPGA

Intérêts des deux architectures

Page 58: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-58-Emmanuel Boutillon

EPLD FPGA

• machine à états complexe

• machine à états performante• intégration de circuits logiques et PALs• temps de calcul pin à pin prédictible.

• traitement en pipeline

• arithmétique• machine à état codée "hot line"• applications à haut niveau d'intégration• nombre registres et E/S

12

34

5

Applications EPLD/FPGA

Page 59: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-59-Emmanuel Boutillon

APEX20K(1)

Page 60: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-60-Emmanuel Boutillon

APEX20K(2)

Page 61: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-61-Emmanuel Boutillon

XILINX : Famille VIRTEX

CLB CLB

CLB

BRAM

BRAM

BRAM

BRAM

DLL

CL IOB

IOB

IOB

IOB

IOB

IOBIOB

IOB

DLL

DLL DLL

CLCL

CL

CLB

4th GenerationLogic/Memory/Routing Fabric

DLL Technology for High-Performance Clock & I/O

Select I/O Technology

Thermal ManagementSelectMAP

Advanced Configuration Technology

Ultra-High PerformanceSynchronous Dual-Port SRAM

Page 62: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-62-Emmanuel Boutillon

Comment et pourquoi faire de la logique programmable ?

Les technologies de personnalisation PAL, EPLD et FPGA Comment choisir un FPGA Situation présente et évolution.

PLAN

Page 63: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-63-Emmanuel Boutillon

Comment choisir un FPGA ?

Caractéristiques techniques du FPGA- Performances (complexité, vitesse, conso.)

- Nombre E/S et interface

- Tension d’alimentation

- Boitié

Qualité des softs associés au FPGA (CAO et IP)

Technique de programmation (Field/InSitu)

Technique de debug et de test

Critères économiques

- prix, disponibilité

- pérennité et flexibilité de la famille.

Page 64: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-64-Emmanuel Boutillon

PC et/ou station de travail

SAISIESAISIE SYNTHESESYNTHESE PLACEMENTROUTAGE

PLACEMENTROUTAGE

VERIFICATIONVERIFICATION

PROGRAMMATIONCONFIGURATION

PROGRAMMATIONCONFIGURATION

CAO pour conception de CLP

spécifications

Très similaires à celle des circuits VLSI :

TechnologieCLP

: : Synthèse et P/R spécifique :• nombre de cellules figé par circuit • 1 cellule = entre 1 et 20 portes 2 entrées

Synthèse et P/R spécifique :• nombre de cellules figé par circuit • 1 cellule = entre 1 et 20 portes 2 entrées

Autonomie :réalisation= téléchargement de la liste d’équipotentielles dans le circuit

Autonomie :réalisation= téléchargement de la liste d’équipotentielles dans le circuit

Page 65: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-65-Emmanuel Boutillon

partitionnementcircuits multiples floorplanning placement routage

"Netlist " après synthèse

versprogrammeur

CLP+

addercontrol

FIFO

timing

glue

placement routage

Chaque vendeur de CLP fournit son outil de P/R dédié

CLP

Bloc cellule équipotentielle

Page 66: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-66-Emmanuel Boutillon

Importance de la qualité des softs

Les FPGAs deviennent très complexes et très flexibles.=> L’optimisation du P/R devient très complexe=> Logiciels performants

Hors les logiciels de CAO pour les CLPs manquent de maturités : => très lents (24 h pour un placement routage) => peu stables (machine à rebouter) => peu efficaces et non déterministes :

a) temps de propagation trop longb) en échec (pas de solution trouvée). =>il faut alors guider « à la main » le placement

Page 67: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-67-Emmanuel Boutillon

Synthèse sur FPGA

Pour optimiser la synthèse, il faut la guider :

=> Directive global de compilation :Effort d ’optimisation, critères de synthèse (Vitesse vs Surface, Fan out)

=> Directive locale de compilation dans le texte--  « mot clef » « directive compilation »

=> Directive hiérarchique de compilation tel bloc, telle méthode (insertion libre de registres, méthode A).

=> Utilisation d ’opérateurs « optimisés par le fondeur »appels de macro-blocs additionneurs, multiplieurs,... paramétrables

PROBLEME : Le code VHDL devient spécifique au FPGA

Page 68: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-68-Emmanuel Boutillon

Placement sur FPGA

Problème NP-complet qui conditionne :- la possibilité de trouver une solution de routage- le chemin critique

Solution :- Indiquer « à la main » le placement des blocs dans le floor plan.- Placement routage incrémental

Assignation manuelle ou automatique des PAD E/S sur les entrées/sorties du composant VHDL.

Page 69: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-69-Emmanuel Boutillon

Intellectual Property (IP)

Les structures matérielles deviennent du consommable Achat ou location d ’un design paramétrable Licence ou royalties Développement et échange d’IP grâce aux langages standards

La qualité d ’une CLPs dépend aussi des IPs disponibles pour accélérer la conception (de même que la qualité d’un systèmed ’exploitation dépend des logiciels existant).

Page 70: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-70-Emmanuel Boutillon

IP MegaStore: Search Engine

www.altera.com/IPmegastore

Page 71: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-71-Emmanuel Boutillon

The Portfolio (XILINX, ALTERA)

Communications

ADPCM (u-law, a-law)

ATM Controller

Cell Delineation

CRC

Ethernet MAC (10/100/Gigabit)

HDLC Protocol Core

IMA Controller

Intermediate Data Rate Framer/DeFramer

Multi-Channel ATM TC

Packet Over SONET Controller

Rank Order Filter

Speedbridge

Telephony Tone Generator

Utopia Level II/III Master and Slave

Bus Interface

CAN Bus

IIC Slave

IIC Master

IEEE 1394

PCI Target

PCI Master/Target

PCI-X Master/Target

PowerPC Bus Arbiter

PowerPC Bus Master

PowerPC Bus Slave

USB Function Controller

USB Host Controller

Digital Signal Processing

Adaptive Filter

Binary Pattern Correlator

Biorthogonal Wavelet Filter

Complex Multiplier Mixer

CSC

Decimating Filter

Digital Modulator

Discrete Cosine Transform

Early/Late Gate Symbol

FFT

FIR Compiler

FIR Filter Library

Floating Point Adder/Divider

IIR Compiler

Image Processing Library

Integer Divider

NCO

Reed Solomon Compiler

Square Root Operator

Symbol Interleaver/Deinterleaver

Viterbi Decoder

Processor, Peripheral

2910

49410

6402 UART

6850 UART

16450/550 UARTs

8251 UART

8237 DMA Controller

8255 Peripheral Interface

8259 Interrupt Controller

8254 Timer/Counter

8051

8052

6502

Z80

Excalibur NIOS Processor

LX-4080R

Xtensa 32-bit Processor

SDRAM Controller

Page 72: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-72-Emmanuel Boutillon

EPLD

Technologie EEPROMTechnologie EEPROM

programmation sur site via des broches dédiées : ISP (In system Programmation)

connecteur de configurationbroches JTAG

programmateur

Programmation

Page 73: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-73-Emmanuel Boutillon

Technologie SRAMTechnologie SRAM

Configuration

mémoire de configuration

configuration autonome sur site : ICR (In Circuit Reconfiguration)

microcontrôleur

broches de configuration dédiéesou port JTAGCLPFPGA

Page 74: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-74-Emmanuel Boutillon

Debug : Analyseur embarqué

Internal Chip-level

Activity

ExternalBoard-level

Activity

Certains constructeurs proposent des IPs « analyseur logique »

Cela permet de sortir du FPGA des signaux internes pourle debug du système. + Simulation en temps réel (très important).- Synthèse et placement à chaque modification de l ’environnement de test.

Page 75: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-75-Emmanuel Boutillon

JTAG pour le test : boundary scan test

puce

TDI TD0

puce

TDI TD0

ligne à testercircuit Jtag 1 circuit Jtag 2

Le boudary scan test impose :• broches dédiées : TDI,TDO,TMS,TCLK,nTRST

• controleur JTAG Test Access Port avec registre d'instruction• registre à décalage sur les broches (Boundary scan register)

Page 76: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-76-Emmanuel Boutillon

Critère économique

Coût du composant : évidemment...

Coût du développement : dépend de la culture de l’entreprise=> Savoir faire=> Réutilisation de code déjà existant=> Existence ou non des logiciels de CAO(conditionne aussi le temps de développement)

Coût de maintenance :=> extension de la famille FPGA : nouvelle génération de produit

Page 77: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-77-Emmanuel Boutillon

Comment et pourquoi faire de la logique programmable ?

Les technologies de personnalisation PAL, EPLD et FPGA Comment choisir un FPGA Situation présente et évolution.

PLAN

Page 78: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-78-Emmanuel Boutillon

opérateurs +,- : chaîne de retenue, cellule utilisée en "full adder" * : chaîne de retenue pour arbre d’addition + LUT

ou RAM pour logique câblée non linéaires : LUT, mémoire

mémoire temporaires nombreux registres pour pipeline et retards blocs mémoires

Gestion de l'horloge PLL pour diminuer le "skew" et augmenter la fréquence

Intérêts des CLPs pour le traitement du signal

Page 79: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-79-Emmanuel Boutillon

coprocesseur"front end" :décodage canal

filtrage

coprocesseur"front end" :décodage canal

filtrage

processeur"back end"

données au débit élevé

canal 1

canal 2

canal 2

info au débit moins élevé

CLP processeur DSP, RISC,...

performancescalcul et mémoire distribués

centralisation du calcul et de la mémoirefonctions multiples et algorithme complexe

contrôle

interfaceasynchrone

gestion système

complémentarité CLP processeur

Page 80: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-80-Emmanuel Boutillon

Evolution (Roadmap)

Circuit Année N (T ou gates)

4004 1971 2250 T

Pentium I 1993 3100000 T

Pentium IV 2000 42000000 T

ALTERA 2000 1à 4.106 Portes

Page 81: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-81-Emmanuel Boutillon

L’offre ALTERA (début 2001)

ALTERAALTERA

DeviceDevice

APEXAPEXHigh Density, CAM,High Performance IOs FLEX, ACEXFLEX, ACEXDensity

Memory

ExcaliburExcaliburNIOS, ARM, MIPSEmbedded ProcessorPeripherals, More Memory

MAXMAXLogic

MAXMAXLogic

Page 82: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-82-Emmanuel Boutillon

PLD / CPLD / FPGA : L’offre ALTERA :

EXCALIBUR

Processeur embarqué dans une FPGA- Primitive VHDL synthétisé : NIOS- Processeur matériel ARM ou MIPS + FPGA

Performance(MIPs)

20

50

100

200 ARMCore

MIPSCore

0 Soft Core Hard Cores

CoreCore

TMTM

Page 83: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-83-Emmanuel Boutillon

Configurable Soft Core Optimized for ALTERA’s PLD

Architecture 16 or 32 bits Data Path 16 bits instruction set RISC base, 4-stage pipeline 50 MIPS performance

1100 LE for 16-bit mode 1700 LE for 32-bit mode

12% of EP20K200E

NIOS Embedded Processor

Timer

IRQ

PB

M CPU

UART

APEX EP20K200E

Your DesignHere

FLASH

SRAM

SerialPort

Page 84: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-84-Emmanuel Boutillon

Nios RISC Processor Block Diagram

Standard RISC Components

Fully-Synchronous Interface

Page 85: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-85-Emmanuel Boutillon

Nios Compile-Time Parameters

Data Path (32 or 16) Address Bus Width (10 to 33-bits) Register File Size (128, 256 or 512) Reset Address Exception Vector Table Address Barrel-Shifter Speed (1, 3, 7, 15 or 31

Bits/Clock) Hardware-Assisted Multiply (MSTEP)

Page 86: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-86-Emmanuel Boutillon

Nios Peripheral List & PBM

Nios Core

Address Decode

InterruptControl

Wait StateGeneration

Data InMultiplexer

Bus Sizing(Optional)

PeripheralsPeripheral Bus Module

UART

Timer

PIO

Int.& Ext.Memory

User-definedPeripheral

User-definedPeripheral

Processor Core

Port Interface

Page 87: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-87-Emmanuel Boutillon

Nios Flexibility & Scalability

APEX EP20K100E

APEX EP20K200E

APEX EP20K1000E

High-PerformanceEmbedded Processor Custom

DSPMulti-Processor

Micro-Coded System75K Gates Available

150K Gates Available

500K GatesAvailable

FFTFFT

ES

BE

SB

ES

BE

SB

ES

BE

SB

ES

BE

SB

ES

BE

SB

ES

BE

SB

ES

BE

SB

ES

BE

SB

ES

BE

SB

ES

BE

SB

ES

BE

SB

ES

BE

SB

Before Nios 68XXX = 8 MIPS ARM 7 = 53 MIPS Pentium III = 500 MIPS

After Nios 1 Nios = 44 MIPS 40 Nios = 1760 MIPS

Page 88: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-88-Emmanuel Boutillon

ARM/MIPS : Logical Structure

EBI

SRAM(Single Port)

SDRAMController

DPRAM

SDRAM Interface

FlashInterface B

rid

ge

Master Port

Slave Port

Dual-Port RAM Interface

ARM- or MIPS-Based

ProcessorPL

Ls

PLD

Page 89: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-89-Emmanuel Boutillon

EPXA10

SRAM

DPRAM

EPXA4

SRAM

DPRAM

EPXA1

SRAM

DPRAM

Embedded Processor PLD

EmbeddedProcessor

Stripe

PLD

JTAG

TraceModule

ARM922T

ExternalMemory

Interfaces

InterruptController

PLL

Timer

UART

WatchdogTimer

Page 90: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-90-Emmanuel Boutillon

ARM/MIPS : Ressources

Page 91: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-91-Emmanuel Boutillon

ARM/MIPS : Design WorkFLow

Notion deCo-Design

Page 92: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-92-Emmanuel Boutillon

Les acteurs du marché des PLD/FPGA

(en Million$) Ventes 1999 Ventes 2000• ALTERA 837 1377• XILINX 899 1558

• LATTICE 410 568 • ACTEL 172 226• LUCENT • ATMEL• CYPRESS• ...

Permet aux PME d’accéder aux circuits intégrés complexes

Page 93: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-93-Emmanuel Boutillon

Les acteurs du marché des ASIC

Prédiffusés(Million$) 1999

• FUJITSU 494• NEC 370• TOSHIBA 350 • HITACHI 300• LSI Logic 200

Précaractérisés(Million$) 1999

• IBM micro-e 2200• AGERE (LUCENT) 1900• LSI Logic 1450• NEC 1050 • FUJITSU 820

Page 94: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-94-Emmanuel Boutillon

Evolution des marchés

Répartition 99 (en $) des circuits CMOSet prévisions

99 99 00 01 02 03• PLD 10 % 0,5 0,6 0,7 0,9 1• Prédiffusés 12 % 0,4 0,3 0,3 0,3 0,2• Précaractérisés 44 % 2,1 2,7 3,4 4,2 4,9• Full Custom 4 % 0,03 0,02 0,01 0,01 0• Glue 9 % • Autres 21 %

Pour un marché de 25,8 Md$ en 99Forte croissance des PLD/FPGA et PrécaractérisésBaisse (et mort) des prédiffusés et des full custom

Page 95: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-95-Emmanuel Boutillon

Le futur (1)

FPGA avec Processeur … ou Processeur avec zone de FPGA ?

FPGA reconfigurable dynamiquement :- de façon déterministe (filtre A puis B sur image).- de façon dynamique en fonction des données…

=> Problèmes de recherche qui débutent.- software radio : la configuration est télé-chargée , - partitionnement logiciel-matériel- prouver que cela marche...

Page 96: -1- Emmanuel Boutillon Les FPGAs Emmanuel Boutillon Cours réalisé à partir de : Nathalie Julien, cours IUP EEA 1999. Jean-Luc Danger, ENST Paris Cours

-96-Emmanuel Boutillon

Le futur (2)

Circuit programmable Analogiques et Mixtes : En cours(www.anadigm.com)