introduction aux fpgas concepts de...

80
H.Boumeridja Département d’Infotronique Avril 2012 --------------------------------- INTRODUCTION AUX FPGAS CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS -----------------------

Upload: others

Post on 16-Aug-2020

22 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

H.Boumeridja Département d’Infotronique

Avril 2012

---------------------------------

INTRODUCTION AUX FPGAS

CONCEPTS DE BASE, ARCHITECTURE

ET APPLICATIONS

-----------------------

Page 2: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

POSITION DU PROBLÈME

ÉVOLUTION DE LA TECHNOLOGIE DES CIRCUITS FPGA

TECHNOLOGIE DE PROGRAMMATION ET USAGE DES CIRCUITS FPGA

TERMINOLOGIE: PROGRAMMABLE OU PROGRAMMÉE

FPGA: PASSÉ ET PRÉSENT

FPGA: DÉFINITION ET CARACTÉRISTIQUES

ARCHITECTURE DES FPGAS

STRUCTURE GÉNÉRALE DE SPARTAN ET DE VIRTEX

CONCEPTION ET IMPLÉMENTATION SUR FPGA

ANNEXE

PLAN

Page 3: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

L’INTÉRÊT DES CIRCUITS LOGIQUES PROGRAMMABLES SE JUSTIFIE PAR :

LE COÛTS TRÈS IMPORTANT DES ASICS,

LE TEMPS DE DÉVELOPPEMENT D ’UN ASIC,

LA NON FLEXIBILITÉ DES SOLUTIONS ASIC,

« DÉMOCRATISATION » DES FPGA.

Position du problème

Page 4: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Evolution de la Technologie des Circuits FPGA XILINX

LES DIFFÉRENTES « FAMILLES » FPGA XILINX

* Produits obsolètes

Page 5: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Industrie FPGAs : Principaux Producteurs

Xilinx, Altera, Lattice, Actel.

Xilinx Inc. www.xilinx.com Altera Corp. www.altera.com Atmel Corp. www.atmel.com Lattice Semiconductor Corp. www.latticesemi.com Actel Corp. www.actel.com QuickLogic Corp. www.quicklogic.com

Page 6: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Circuits de Logique Programmable (Configurable): FPGA et Autres

FPGA

Technologie CMOS

Performances (fréquence, consommation, densité) bonnes

Temps de développement moyen (sur site)

Coût de développement limité

….et…

Description par langage normalisé

Portabilité

« Design re-use »

Page 7: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Technologie de Programmation Technologie de Programmation

& Usage FPGA

Dans un CLP, la programmation consiste à relier ou non 2 lignes de connexion.

Technologie de Programmation et Usage : FPGA

Page 8: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Technologie de Programmation et Usage : FPGA

La technologie originale utilisée pour les premiers dispositifs programmables, les mémoires ROM, étaient des fusibles. Le dispositif inclut un fusible à chaque lien programmable.

Le principe du fusible repose sur l’utilisation d’un métal conducteur qui fond et coupe le circuit lorsqu’il est chauffé par un courant électrique.

Pour programmer le dispositif, il faut appliquer une tension élevée (typiquement 2 à 3 fois la tension nominale du dispositif) à des pattes choisies.

Une fois les fusibles fondus, le circuit est programmé.

L’inconvénient principal de cette technologie est qu’on ne peut programmer le dispositif qu’une seule fois. Les fusibles occupent aussi beaucoup d’espace sur la puce. Cette technologie n’est plus utilisée.

1. FUSIBLE

Page 9: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

PROGRAMMABLE UNE SEULE FOIS : SYSTÈMES CONFIGURABLES

Les anti-fusibles fonctionnent de façon contraire à un fusible.

Le dispositif non programmé ne contient que des liens qui ne sont pas encore

établis.

Pour effectuer une connexion, il faut faire passer un courant élevé à travers

l’anti-fusible pour fermer le circuit.

Technologie de Programmation et Usage FPGA

2. ANTI-FUSIBLE ou anti-fuse

Page 10: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Reprogrammable un grand nombre de fois => Systèmes Reconfigurables

Technologie de Programmation et Usage FPGA

L’acronyme SRAM signifie mémoire RAM statique ( porte 4 ou 6 transistors).

Elle a plusieurs avantages. Il est facile de programmer et d’effacer le dispositif.

Cependant, dès que l’alimentation est coupée, la puce perd toute son

information de configuration.

Ensuite, dans un système déployé, le fichier des bits de configuration doit être

entreposé dans une mémoire ROM sur la planchette. Cette mémoire peut être lue

par quiconque voudrait voler la propriété intellectuelle du design.

3. SRAM

Page 11: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Les manufacturiers de FPGA permettent de chiffrer le fichier et d’entreposer la clé dans un registre spécial non volatile sur le FPGA.

Malgré tous ces désavantages, la technologie SRAM reste de loin la plus

populaire pour les applications générales.

Technologie de Programmation et Usage FPGA

Page 12: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

RÉSUMÉ DES TECHNOLOGIES DE PROGRAMMATION POUR FPGA

Page 13: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

USAGE USAGE

PRODUCTION DʼUN FAIBLE VOLUME DES CIRCUITS

FABRICATION DES PROTOTYPES: IMPLÉMENTATION ET TEST DES CIRCUITS AVANT LA

FABRICATION DʼASIC.

CONCEPTION DES SYSTÈMES RECONFIGURABLES.

PRODUCTION DʼUN FAIBLE VOLUME DES CIRCUITS

FABRICATION DES PROTOTYPES: IMPLÉMENTATION ET TEST DES CIRCUITS AVANT LA

FABRICATION DʼASIC.

CONCEPTION DES SYSTÈMES RECONFIGURABLES.

Page 14: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

TERMINOLOGIE:

PROGRAMMÉE ET PROGRAMMABLE?

TERMINOLOGIE:

PROGRAMMÉE ET PROGRAMMABLE?

Logique programmée = configuration "temporelle"

Exécution d'instructions l'une à la suite de l'autre.

Logique programmable = configuration "spatiale"

Opérations en parallèle, dont l'interconnexion (variable) fixe la

fonction.

Page 15: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

FPGA Xilinx : Passé et Présent FPGA Xilinx : Passé et Présent

1984 : Sur le marché.

Évolution: familles 2000, 3000, 4000, Spartan, Virtex, Virtex II, Virtex II-

Pro, Virtex 4, Virtex 5 ...

Architecture proche, mais avec plus de ressources:

Virtex: 8 couches en 150nm et 9 couches en 130nm.

Aujourd'hui des circuits avec beaucoup de ressources logiques et dʼI/O (de

lʼordre de 1000).

En plus de CLB: Blocs de mémoire RAM, circuits multiplicateurs

dédicacés, μP, ou des IP spécifiques,...

Page 16: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

COMMENT FAIRE DES CIRCUITS LOGIQUES PROGRAMMABLES ? COMMENT FAIRE DES CIRCUITS LOGIQUES PROGRAMMABLES ?

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 notion de

« programmabilité ».

Rappelez vous!

Page 17: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

D’ou…

Définition de

FPGA

D’ou…

Définition de

FPGA

Un FPGA est un CI qui contient des blocs de logiques configurables et des interconnexions configurables entre ces blocs.

Un FPGA réalise une fonction logique complexe.

Il est programmable, et reprogrammable dans son environnement. Cette configuration se fait sur place ( Field Programmable).

Les circuits FPGA XILINX sont disponibles en de nombreuses configurations de taille, de vitesse et de prix.

Des outils logiciels puissants et automatiques permettent de réaliser facilement un système sur FPGA.

Page 18: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

CARACTÉRISTIQUES PRINCIPALES DES FPGA’S CARACTÉRISTIQUES PRINCIPALES DES FPGA’S

Rapidité

Coût

Versatibilité

Fonctionnement

Intégration

Reconfigurabilité

Rapidité

Coût

Versatibilité

Fonctionnement

Intégration

Reconfigurabilité

Page 19: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

LES FPGAs Circuits digitaux configurables présentent des architectures distribuées.

FPGAs permettent la réalisation des circuits combinatoires ou séquentiels.

FPGAs se réalisent en VLSI ou ULSI (échelle d’intégration), en TECHNOLOGIE CMOS

exclusivement.

Leur architectures flexibles, s’adaptent à certains types d’applications complexes

comme celles du traitement de signal.

Possèdent des ressources spécifiques pour le calcul de la propagation de la

retenue, pour la réalisation de circuits arithmétiques.

Possèdent aussi des ressources logiques pour la réalisation des unités de

mémoires. Cela facilite l’implémentation de circuits complexes comme les

sytèmes embarqués basés sur les microprocesseurs.

Permettent la reconfiguration partielle sans affecter le fonctionnement du reste

du circuit.

Page 20: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Architectures

des FPGAs

Blo

ck R

AM

s

Blo

ck R

AM

s

Configurable Logic Blocks

I/O Blocks

Tous les FPGAs de Xilinx contiennent les mêmes

ressources de bases:

SLICES (GROUPÉS DANS DES CLBS: blocs logiques configurables )

Comprennent de la logique combinatoire et

ressources de registre.

IOBs

Interface entre FPGA et le monde extérieur.

INTERCONNEXION PROGRAMMABLE

AUTRES RESSOURCES

Mémoire,

Multiplieurs,

“Global clock buffers”,

DCM,etc…

Page 21: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

CLB CLB

CLB CLB

Logic cell

Slice

Logic cell

Logic cell

Slice

Logic cell

Logic cell

Slice

Logic cell

Logic cell

Slice

Logic cell

Configurable logic block (CLB)

CLB & SLICES

The Design Warrior’s Guide to FPGAs

Devices, Tools, and Flows. ISBN 0750676043

Copyright © 2004 Mentor Graphics Corp. (www.mentor.com)

Page 22: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

SLICES Doivent permettre la réalisation de n’importe quel circuit

combinatoire ou séquentiel par eux mêmes ou par plusieurs

blocs(slices) groupés.

Architectures des FPGAs

Slice 0

LUT LUT Carry Carry

LUT LUT Carry Carry D Q

CE

PRE

CLR

D Q CE

PRE

CLR

Chaque Slice possède quatre sorties

Deux sorties enregistrées,

Deux sorties non enregistrées

La logique de la retenue ou Carry logic

s’éxécute verticalement et vers le haut

seulement.

Page 23: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

BLOCS D’E/S

Permettent de configurer les caractéristiques des terminaux

d’entrée/sortie de l’FPGA.

1.Utilisation du terminal comme entrée:

• Bistable pour la mémorisation.

• Choix d’entrée directe ou mémorisée à travers le bistable.

• Niveau logique: ttl, cmos, etc.

2.Utilisation du terminal comme sortie:

• Bistable de mémorisation.

• Choix de sortie directe ou mémorisée à travers le bistable.

• Courant de sortie maximal,etc.

La fonction d’un IOB est de permettre le passage d’un signal dans/ dehors

du circuit.

Pour cela, dépendement de l’interface électrique, cet élément doit avoir les

ressources suivantes:

Sorties configurables de type Tri-State ou Open-Collector.

Entrées avec possiblité de pull-up ou pull-down programables.

Registres de sortie.

Registres d’entrée.

Page 24: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

La dispersion des ressources logiques dans les FPGAs nécessitent de disposer des ressources d’interconnexion flexibles.

Cette flexibilité s’obtient grâce aux lignes d’interconnexion de différentes longitudes, qui se distribuent par différentes formes à l’intérieur des FPGAs.

Les lignes d’interconnexion se connectent entre elles par des connexions configurables, réalisées de différentes formes dans différents FPGAs, dépendant de la technologie.

RESSOURCES

D’INTERCONNEXION

LIGNES (CHEMINS)

D’INTERCONNEXION

TYPES DE LIGNES D’INTERCONNEXION

Architectures des FPGAs

Page 25: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

CHEMINS D’INTERCONNEXION DIRECTS

MOINS DE RETARD MAIS MOINS DE FLEXIBILITÉ

LIGNES (CHEMINS) D’INTERCONNEXION

LIGNES (CHEMINS) D’INTERCONNEXION

CHEMINS D’INTERCONNEXION SEGMENTÉS (INDIRECTS)

PLUS DE FLEXIBILITÉ MAIS PLUS DE

RETARD.

Page 26: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

CONNEXIONS CONFIGURABLES: TYPES DE CONNEXIONS CONFIGURABLES

Page 27: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

CONNEXIONS CONFIGURABLES

CONNEXIONS CONFIGURABLES ENTRE LIGNES DIRECTES PAR MULTIPLEXEURS

Page 28: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

CONNEXIONS CONFIGURABLES ENTRE LIGNES DIRECTES PAR DES POINTS DE CONNEXIONS PROGRAMMABLES SIMPLES.

CONNEXIONS CONFIGURABLES

Page 29: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

EXEMPLE CONCRET

Connexions configurables entre lignes segmentées par des points de connexion programmable simple.

CONNEXIONS CONFIGURABLES

Page 30: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

POINT DE CONNEXION PROGRAMMABLE COMPOSÉ

CONNEXIONS CONFIGURABLES

Page 31: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

MATRICES DE COMMUTATION DES FAMILLES 3000 ET 4000 DE XILINX

CONNEXIONS CONFIGURABLES

Page 32: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Un CLB comprend une LUT 4 entrées et une bascule D (D Flip-Flop).

La bascule D permet la réalisation de fonctions logiques séquentielles.

La configuration du multiplexeur 2 vers 1 de sortie autorise la sélection

des deux types de fonction, combinatoire ou séquentielle.

AVANT BLOCS LOGIQUES INTERNES : BLOC LOGIQUE COMBINATOIRE « CLB »

Page 33: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

BLOCS LOGIQUES INTERNES : NOTION DE LUT

Le concept du FPGA est basé sur l'utilisation d'une LUT (LookUp Table)

comme élément combinatoire de la cellule de base (SLICE).

En première approximation, cette LUT peut être vue comme une

mémoire (16 bits en général) qui permet de créer n’importe quelle

fonction logique combinatoire de 4 variables d’entrées appelée aussi

générateur de fonction.

Page 34: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Pour implémenter les fonctions combinatoires, le concepteur programme les tables de vérité dans les LUTs et utilise la sortie directe.

A B C D Y

0 0 X X 0

0 1 X X 1

1 0 X X 1

1 1 X X 0

Table de Vérité

Entrées

(ABCD)

Sortie

00XX 0

01XX 1

10XX 1

11XX 0

LUT

BLOCS LOGIQUES INTERNES : NOTION DE LUT: IMPLÉMENTATION DES FONCTIONS COMBINATOIRES

IMPLÉMENTATION D’UNE XOR2

Page 35: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

La logique combinatoire est stockée dans les Look-Up Tables (LUTs)

Appelées aussi Générateurs de fonction “Function Generators (FGs)”

Leur capacité est limitée par le nombre d’entrées, et non pas de leur compléxité.

Délai à travers la LUT est constant.

A B C D Z

0 0 0 0 0

0 0 0 1 0

0 0 1 0 0

0 0 1 1 1

0 1 0 0 1

0 1 0 1 1

. . .

1 1 0 0 0

1 1 0 1 0

1 1 1 0 0

1 1 1 1 1

LOGIQUE COMBINATOIRE

A

B

C

D

Z

BLOCS LOGIQUES INTERNES : NOTION DE LUT: IMPLÉMENTATION DES FONCTIONS COMBINATOIRES

Page 36: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

CHAQUE LUT PEUT

IMPLÉMENTER N’IMPORTE

QUELLE FONCTION DE

QUATRE ENTRÉES.

BLOCS LOGIQUES INTERNES : NOTION DE LUT: IMPLÉMENTATION DES FONCTIONS COMBINATOIRES

x 1 x 2 x 3 x 4

y

x 1 x 2

y

LUT

x 1

x 2 x 3

x 4

y

0

x 1

0

x 2 x 3 x 4

0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1

y

0 1 0 0 0 1 0 1 0 1 0 0 1 1 0 0

0

x 1

0

x 2 x 3 x 4

0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1

y

1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0

x 1 x 2 x 3 x 4

y

x 1 x 2 x 3 x 4

y

x 1 x 2

y

x 1 x 2

y

LUT

x 1

x 2 x 3

x 4

y

0

x 1

0

x 2 x 3 x 4

0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1

y

0 1 0 0 0 1 0 1 0 1 0 0 1 1 0 0

0

x 1

0

x 2 x 3 x 4

0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1

y

0 1 0 0 0 1 0 1 0 1 0 0 1 1 0 0

0

x 1

0

x 2 x 3 x 4

0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1

y

1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0

0

x 1

0

x 2 x 3 x 4

0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1

y

1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0

Page 37: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Et si c’était une fonction à 5

entrées, combien de luts va t-elle

utiliser?

LUT LUT LUT LUT

X5 X4 X3 X2 X1 Y

0 0 0 0 0 0

0 0 0 0 1 1

0 0 0 1 0 0

0 0 0 1 1 0

0 0 1 0 0 1

0 0 1 0 1 1

0 0 1 1 0 0

0 0 1 1 1 0

0 1 0 0 0 1

0 1 0 0 1 0

0 1 0 1 0 0

0 1 0 1 1 1

0 1 1 0 0 1

0 1 1 0 1 1

0 1 1 1 0 1

0 1 1 1 1 1

1 0 0 0 0 0

1 0 0 0 1 0

1 0 0 1 0 0

1 0 0 1 1 0

1 0 1 0 0 0

1 0 1 0 1 0

1 0 1 1 0 0

1 0 1 1 1 1

1 1 0 0 0 0

1 1 0 0 1 1

1 1 0 1 0 0

1 1 0 1 1 1

1 1 1 0 0 0

1 1 1 0 1 1

1 1 1 1 0 0

1 1 1 1 1 0

LUT LUT LUT LUT

OUT

BLOCS LOGIQUES INTERNES : NOTION DE LUT: IMPLÉMENTATION DES FONCTIONS COMBINATOIRES

Probablement 2 luts.

Biensur.

Page 38: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Pour implémenter les fonctions séquentielles, “il” utilise un flip-flop et réalimente la sortie séquentielle dans une des entrées de la LUT si c’est nécessaire.

• Implémenter Flip Flop D dans un bloc:

LUT FF-D

clk

Q

D

enable reset

BLOCS LOGIQUES INTERNES : NOTION DE LUT: IMPLÉMENTATION DES FONCTIONS SÉQUENTIELLES

Page 39: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Résumé : Trois Types de Blocs

1. Le CLB: un ensemble régulier de blocs logiques (LB pour Logic Block) identiques; ces blocs présentent une structure interne programmable permettant d'y implanter une ou plusieurs fonctions logiques combinatoires ou séquentielles.

2. Sur le pourtour du circuit, un ensemble sortie ( interfacer les monde extérieur tension, sortance,

2. Sur le pourtour du circuit, un ensemble de blocs d'entrée-sortie (I/O block) destinés à interfacer les signaux internes avec le monde extérieur (niveau de tension, sortance, etc).

3. Un réseau d'interconnexions programmables: ce réseau sert à connecter les blocs logiques entre eux ainsi qu'avec les blocs d'entrée-sortie.

Page 40: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

FPGA : Zoom Les interconnexions sont représentées sur la figure: 1.

2.

Les interconnexions sont représentées sur la figure: 1. Les liaisons sont assurées par des canaux de lignes horizontales et

verticales sur lesquels les blocs logiques viennent se connecter (connection block).

2. Le routage des signaux est assuré par des boîtiers d'interrupteurs programmables (Switch box) situés au croisement des canaux.

Page 41: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Structure du CLB de SPARTAN

LUTs

MUXs

Bascules

Page 42: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Structure Générale d'un CLB: Mini-Système Séquentiel

Circuit séquentiel

Le bloc logique configurable (CLB: configurable logic block) est l'élément fondamental d'un circuit intégré programmable.

CFG mem: La mémoire de configuration représente l'ensemble des éléments de mémoire destinés à fixer l'architecture de travail du bloc. Ces éléments sont répartis sur toute la surface du bloc.

Page 43: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Interconnexions Programmables: Définition

Le réseau de connexions est un élément fondamental de l'organisation d'un circuit intégré programmable. Il a un impact direct sur les performances du circuit par son influence sur les délais de transmission des signaux. Il intervient dans le coût de fabrication vu la surface qui doit lui être attribuée (environ 80% de la surface du circuit) et vu les exigences qu'il génère sur le choix de la technologie (nombreuses couches de métallisation).

Page 44: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Interconnexions Programmables: Topologie Générale du Réseau

Elle résulte de la disposition adoptée pour les blocs fonctionnels du

Elle résulte de la disposition adoptée pour les blocs fonctionnels du circuit (CLB et IOB). Le réseau est formé à partir de trois sous-réseaux: 1. un réseau de routes est-ouest, 2. un réseau de routes nord-sud, 3. un réseau configuré en anneau à la périphérie du circuit.

Page 45: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Interconnexions Programmables: Topologie Générale du Réseau

Structure d'interconnexion hiérarchique sur

Structure d'interconnexion hiérarchique sur différents niveaux de métallisation

– niveaux supérieur: routes globales (longues).

– niveaux intermédiaires: routes semi-globales.

– niveaux inférieurs: routes locales (courtes).

sans oublier: – distribution des alimentations (VDD et GND).

– distribution des horloges.

– distribution des infos de configuration.

Page 46: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Interconnexions Programmables: Connexion entre Blocs

Pour utiliser les ressources de manière optimale: différentes longueurs de pistes sont nécessaires.

connexions possibles (flexibilité) via PIP(point de contact programmable).

CLB

Page 47: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Interconnexions Programmables: Point de Contact Programmable (PIP)

Point de contact = connexion entre deux pistes différentes

– Typiquement connexion horizontale/verticale

Point de contact programmable = connexion

Programmable entre deux pistes.

Exemple de raccordement d'un CLB

En général, un seul point de contact utilisé

Page 48: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Interconnexions Programmables: Le Switch Un switch ("commutateur" en français) est un élément de routage

Un switch ("commutateur" en français) est un élément de routage qui permet toute une série de configurations de chemins à partir de deux axes perpendiculaires.

Élément de routage à 6 points de contact.

– avantage: compact et flexible.

Quelques routages possibles

Page 49: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Interconnexions Programmables: Switch Box

La « switch box » rassemble une série de switches au croisement de routes nord-sud et est-ouest.

Matrices d'interconnexions (Programmable Switch Matrix)

Page 50: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Interconnexions Programmables: Couches de métallisation

Une exploitation efficace des connexions => disposer de plusieurs niveaux de métallisation afin de permettre le croisement des pistes.

Il est intéressant de disposer d'au moins quatre niveaux de métallisation, à savoir: 1. un niveau pour organiser l'alimentation des circuits (VDD et

GND), 2. un niveau pour les liaisons locales, 3. un niveau pour les liaisons nord-sud, 4. et un niveau pour les liaisons est-ouest.

En pratique, la plupart des FPGA récents exploitent des

technologies à 5 et 6 couches de métallisation.

Page 51: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

IOB: IN, OUT, INOUT

L'information peut être transmise directement

ou mémorisée dans une mémoire aussi bien à

l'entrée qu'à la sortie. Pour la voie de sortie, un

multiplexeur permet de contourner ou non la

mémoire; pour la voie d'entrée, il existe deux

chemins d'accès différents.

L'état actif des horloges de synchronisation

(output clock, input clock) et de la donnée sortante

peut être inversé par un circuit programmable

formé d'un inverseur et d'un multiplexeur.

Le signal d'entrée peut être éventuellement

retardé (bloc "Delay") de manière à permettre son

échantillonnage.

IOB: IN, OUT, INOUT

L'information peut être transmise directement

ou mémorisée dans une mémoire aussi bien à

l'entrée qu'à la sortie. Pour la voie de sortie, un

multiplexeur permet de contourner ou non la

mémoire; pour la voie d'entrée, il existe deux

chemins d'accès différents.

L'état actif des horloges de synchronisation

(output clock, input clock) et de la donnée sortante

peut être inversé par un circuit programmable

formé d'un inverseur et d'un multiplexeur.

Le signal d'entrée peut être éventuellement

retardé (bloc "Delay") de manière à permettre son

échantillonnage.

BLOCS D’ENTRÉE/SORTIE

Page 52: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Exemples: Architecture de la série XC4000

Page 53: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Exemples: :Architecture SPARTAN 3E

• 1 bloc CLB = 4 « slices » •

• 1 bloc CLB = 4 « slices » • 1 slice = 2 tables de look-up

(LUT) • + 2 bascules sur front (flip-

flop) ou niveau (latches)

Xilinx Spartan 3E: 12345

Xilinx Spartan 3E: 1) Configurable Logic Blocks (CLBs) 2) Input/output blocks (IOBs) 3) Block RAM 4) Multiplier blocks 5) Digital Clock Manager(DCM)

Page 54: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

SLICE : ¼ Tranche CLB

Chaque SLICE contient :

Chaque SLICE contient :

• Deux générateurs de fonction (F & G).

• Deux éléments du stockage.

• Des portes de la logique arithmétique.

• Grands multiplexeurs.

• Une large fonctionnalité.

• Une logique de retenue rapide.

• Une chaîne de cascade horizontale (porte OU).

Page 55: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

• BLOCS LOGIQUES ADDITIONNELS: MULTIPLIEURS DE 18 x 18 BITS.

FAMILLE VIRTEX II DE XILINX

• BLOCS LOGIQUES ADDITIONNELS: DIGITAL CLOCK MANAGER (DCM): PLL DIGITAL.

Page 56: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

FPGA NOMENCLATURE

XC3S50 -4 PQ 208 C

Device Type

Speed Grade

Package Type

Temperature Range C= Commercial (Tj= 0º C to 85ºC) I=Industrial (Tj= -40ºC C to 100ºC)

Number of Pins

Page 57: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

QUELLES SONT LES CARACTÉRISTIQUES IMPORTANTES D’UNE CONCEPTION SUR UN FPGA?

QUELLES SONT LES CARACTÉRISTIQUES IMPORTANTES D’UNE CONCEPTION SUR UN FPGA?

Page 58: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Conception et Implémentation pour FPGA Conception et Implémentation pour FPGA

Conception synchrone • On obtient en général de bien meilleurs résultats

avec un FPGA en adoptant un style de conception synchrone.

• Les structures asynchrones sont mal adaptées aux FPGAs.

Bascules vs loquets • Il est donc grandement avantageux de toujours

utiliser des bascules. • cela améliore la qualité de l’analyse statique des

délais ce qui permet de mieux estimer la performance du circuit.

Page 59: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Initialisation globale

Il est avantageux d’utiliser un signal unique pour initialiser toutes les bascules parce que la plupart des FPGAs comportent un chemin spécial pour accomplir cette tâche.

Génération et distribution de signaux d’horloge

Quand on génère un signal d’horloge il est important de prendre en considération le routage de celui-ci aux différentes bascules du circuit.

On spécifie à l’outil de synthèse qu’un certain signal est un signal d’horloge => Le synthétiseur utilise l’un des tampons spéciaux disponibles sur le FPGA ainsi que les circuits réservés pour la distribution de l’horloge.

Pour les outils de Xilinx, on insére le symbole « BUFG » à la sortie du générateur d’horloge.

Conception et Implémentation pour FPGA Conception et Implémentation pour FPGA

Page 60: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Quelques Principes Importants en Conception Numérique

De bons outils de conception et d’analyse ne garantissent pas le succès mais facilitent la tâche.

Le système qui doit être conçu devra éventuellement être fabriqué et testé. On gagne beaucoup à tenir compte de la testabilité du système pendant sa conception.

La logique programmable est d’une grande utilité à cause de la flexibilité qu’elle offre au concepteur.

Éviter les systèmes asynchrones.

Porter une attention particulière à la synchronisation entre deux systèmes synchrones

Page 61: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

APPLICATIONS des FPGAs

Prototypage de nouveaux circuits ; Prototypage de nouveaux circuits ;

Fabrication de composants spéciaux en petite série ;

Traitement de signal;

Systèmes de commande à temps réel ;

Imagerie médicale.

Page 62: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Conclusion

Dans le FPGA, il y a des

).

Dans le FPGA, il y a des "ressources":

traitement (CLBs, blocs combinatoires, LUT).

mémorisation (données).

configuration (mémoires de configuration).

communication (interconnexions).

Page 63: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Annexe: Logique Fixe et Logique Programmable

Page 64: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

ANNEXE

• Un anti-fusible est fabriqué en plaçant du silicium amorphe entre deux conducteurs métalliques. Le silicium amorphe conduit très mal le courant et peut être considéré comme un isolant. En lui appliquant une tension élevée, cependant, on transforme le silicium amorphe en silicium polycristallin conducteur. Le circuit électrique ainsi formé entre les deux conducteurs métalliques s’appelle un via.

• La Figure ci-dessous illustre un anti-fusible avant et après sa programmation.

FABRICATION D’UN ANTI-FUSIBLE

Page 65: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Le grand DÉSAVANTAGE de la technologie anti-fusible est que le

dispositif n’est programmable qu’une seule fois. Plusieurs FPGAs sur le

marché présentement utilisent pourtant cette technologie.

Un AVANTAGE important des anti-fusibles est leur immunité aux

radiations, une caractéristique essentielle pour les applications spatiales.

La compagnie ACTEL est un important manufacturier de FPGA à

technologie anti-fusible.

AVANTAGES ET INCONVÉNIENTS

DE LA CONFIGURATION ANTI-FUSIBLE

Page 66: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Environnement d’Applications des

Circuits Programmables (FPGA)

Complexité du circuit moyenne ou élevée

– Jusqu’à 200.000 portes équivalentes.

– Jusqu’a 5.000 équations logiques et bistables.

– Jusqu’à 500 terminaux d’E/S de l’utilisateur.

– Jusqu’à 500 MHz de fréquence d’horloge.

– Jusqu’à 100 kbytes de RAM interne.

– Jusqu’à 50 MACs hardware.

Page 67: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Champs d’Application

Secteur Industriel automobile

Page 68: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Champs d’Application

Secteur de Télécommunications ADSL, Satélite

Page 69: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Champs d’Application

Secteur Aérospatial

Page 70: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Champs d’Application

Secteur Scientifique et Médical

Page 71: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Champs d’Application

Secteur Informatique

Page 72: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Caractérisitques des FPGAs

• Capacité logique élevée: intégration de systèmes complexes, systèmes en un circuit (SOC)…

Page 73: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Champs d’Application

• Secteur industriel automobile

• Secteur de télécommunications ADSL, satélite

• Secteur scientifique acquisition des données

• Secteur aérospatial

• Secteur informatique

Page 74: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Caractéristiques des FPGAs

• Traitement des données en parallèle:

traitement de signal: audio, vidéo, acquisition de données.

Page 75: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Types de Circuits Implémentés

Circuits d’interface complexes

Transfert et mémorisation de données: Ethernet, USB, CAN,etc…

Circuits de traitement de signal.

Systèmes en un circuit ( SOC : System On Chip ):

microprocesseur + mémoire + périphériques.

Circuits Reconfigurables.

Page 76: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Types de circuits implémentés

Circuits d’interface complexes

Page 77: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Types de circuits implémentés: Systèmes en un Circuit

• Consistent à implémenter en un unique circuit intégré les

circuits suivants:

Un microprocesseur

Une ou plusieurs unités de mémoires de programme et/ou de

données

Les périphériques du microprocesseur.

Page 78: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Types de circuits implémentés: Systèmes en un Circuit - Exemple

Page 79: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Types de circuits implémentés Circuits Reconfigurables

Applications qui nécessitent un changement dans la fonction de

l’FPGA en un temps très réduit.

Jusqu’à 1997, le temps de configuration ne pouvait pas être

inférieur aux milisecondes.

Possibilité de reconfiguration ou reconfigurabilité partielle.

Réalisation de différents algorithmes de traitement de signal à

différents instants:

Modulation/démodulation

Transmission/reception

Codification/décodification

Compression/décompression du son, video,etc.

Page 80: INTRODUCTION AUX FPGAS CONCEPTS DE BASE,ekladata.com/ppRjvvOgV3QvtI9w24RR8S4RQG0/cours2-a-publier.pdf · CONCEPTS DE BASE, ARCHITECTURE ET APPLICATIONS ----- POSITION DU PROBLÈME

Caractérisitques des FPGAs

• Capacité logique élevée: intégration de systèmes

complexes, systèmes en un circuit (SOC)…