Vous êtes sur la page 1sur 67

Modélisation

de Systèmes Intégrés
Numériques

ENSIAS Rabat Z. ALAOUI ISMAILI 1


Chapitre 1: Introduction
1.1. Conception de circuits intégrés
1.2. Conception assistée par ordinateur
1.3. Modèle
1.4. Analyse et synthèse
1.5. Langage de description de matériel
1.6. Simulation logique
1.7. Synthèse logique
1.8. Synthèse architecturale
1.9. Synthèse physique

Chapitre 2: Le langage VHDL


2.1. Qu’est ce que le langage VHDL?
2.2. Flot de conception basé sur VHDL
2.3. Environnement de travail VHDL
2.4. Organisation d’un modèle VHDL
2.5. Modèles VHDL d’un registre 4 bits
2.6. Modèles génériques
2.7. Concurrence et modélisation du temps

ENSIAS Rabat Z. ALAOUI ISMAILI 2


Chapitre 3: VHDL pour la synthèse
3.1. Types supportés
3.2. Objets supportés
3.3. Opérateurs
3.4. Utilisation de processus et de l’instruction wait
3.5. Instructions séquentielles supportées
3.6. Instructions concurrentes supportées
3.7. Paramètres génériques

Chapitre 4: Modélisation de circuits numériques


4.1. Circuits logiques combinatoires
4.2. Circuits logiques séquentiels
4.3. Circuits avec état haute impédance
4.4. Machines à états finis
4.5. Opérateurs arithmétiques

ENSIAS Rabat Z. ALAOUI ISMAILI 3


Chapitre 5: VerilogHDL
5.1. Modélisation comportementale
5.2. Modélisation structurelle
5.3. Verilog 2001
5.4. Conclusion

ENSIAS Rabat Z. ALAOUI ISMAILI 4


Présenter les aspects fondamentaux de la conception de circuits intégrés et
BUT des méthodes et outils d’aide à la conception associés.
Le but principal est de mettre en évidence le rôle central de l’activité de
modélisation et des langages de description de matériel.

1.1. Conception de circuits intégrés

Un circuit intégré (integrated circuit, IC) réalise une fonction électronique sous la
forme d’un ensemble de composants électroniques miniaturisés assemblés sur un
même substrat, usuellement de silicium.

Placer plusieurs dizaines


Permettent
de millions de transistors sur une surface
Les progrès constants
de silicium plus petite qu’un timbre poste
des techniques de
fabrication

Le nbre des Tr

Structures régulières (mémoires, chemins


de données),
ENSIAS Rabat Z. ALAOUI ISMAILI 5
redoutables
problèmes
Conception du circuit

Satisfaire des
contraintes
Performances marché

surface, délais, partition domaine d’application,


matériel-logiciel, partition disponibilité et obsolescence
logique- analogique rapide du produit.

ENSIAS Rabat Z. ALAOUI ISMAILI 6


Plusieurs objectifs doivent ainsi être absolument atteints:

Une exploration Une grande


efficace de l’espace Une réutilisation optimum de flexibilité dans les
des solutions l’expertise acquise technologies de
réalisation

éviter de repartir systématiquement Rapidement tirer parti de


prendre les bonnes
de zéro à chaque nouveau produit nouvelles performances
décisions le plus tôt
possible. technologiques sans devoir
nécessairement remettre en
cause tout ou partie des
Ceci requiert, entre autres, choix de conception
une gestion rigoureuse des
données de conception

La réalisation d’un prototype au moyen


d’un FPGA et de la version optimisée
ENSIAS Rabat Z. ALAOUI ISMAILI 7
au moyen d’un ASIC
Le mode de fonctionnement du circuit joue aussi un rôle très important

Un circuit logique Un circuit mixte

Un circuit analogique
Mode discret qui ne considère
qu’un nombre limité d’états.
Travaille selon un Incorpore des parties
mode continu fonctionnant en mode
logique et des parties
Le comportement consiste fonctionnant en mode
à passer d’un état à un analogique.
autre comportement peut être
peut être décrit sous la décrit sous la forme
forme d’un programme d’équations.

Un convertisseur
logique-analogique
Un microprocesseur
Un amplificateur audio

ENSIAS Rabat Z. ALAOUI ISMAILI 8


Manière très générale

Les circuit logiques se prêtent bien au traitement de l’information (digital


signal processing), les circuit analogiques se prêtent bien à la mise en
forme de signaux mesurés (capteurs (sensors)) et les circuits mixtes sont
évidemment essentiels pour réaliser les interfaces entre les deux modes de
fonctionnement.

ENSIAS Rabat Z. ALAOUI ISMAILI 9


1.2. Conception assistée par ordinateur

maîtrisée l’assistance d’outils


logiciels appropriés
La complexité des
fonctions réalisées sur grâce à
une seule puce de silicium
de méthodes de
conception
systématiques

Il existe trois grands types de méthodes de conception:

Les méthodes descendantes Les méthodes mixtes

les méthodes montantes

ENSIAS Rabat Z. ALAOUI ISMAILI 10


Les méthodes descendantes (top-down) sont basées sur une suite de
raffinements successifs partant d’un cahier des charges pour aboutir à une
description détaillée de la réalisation.

Le cahier des charges

définit

le "quoi" le "comment

• les fonctions à réaliser la manière qui a été retenue pour fabriquer


• les conditions dans lesquelles un circuit satisfaisant les contraintes
ces fonctions devront s’exécuter. imposées par le cahier des charges.

bien adaptées à la réalisation de circuits dont la structure peut être optimisée de


manière très flexible Les contrôleurs (séquenceurs) sont des exemples typiques de tels
circuits.
ENSIAS Rabat Z. ALAOUI ISMAILI 11
Les méthodes montantes (bottom-up) se basent sur l’existence de
modules (primitives ou fonctions plus complexes) caractérisés, c’est-à-
dire dont les fonctions et les performances sont connues.

Une réalisation possible à l’aide d’un processus


de sélection de
assemblage modules.

garantir que les choix faits


satisfont les contraintes
imposées par le cahier
des charges.
Les méthodes montantes sont bien adaptées à la
réalisation de circuits dont la structure est essentielle à
leur bon fonctionnement.

Les circuits réguliers (mémoires, chemins de données (datapath modules)) en sont des
exemples types.
ENSIAS Rabat Z. ALAOUI ISMAILI 12
Les méthodes mixtes (meet-in-the-middle) sont une combinaison de méthodes
descendantes et de méthodes montantes.

adaptées

La réalisation de circuits à applications spécifiques


(ASIC)
possédant

 des multiplieurs,
un grand nombre de  des unités de contrôle
composants personnalisés  de la mémoire.

ENSIAS Rabat Z. ALAOUI ISMAILI 13


nécessitant une
description de
l’état du
système
Le processus
nombre d’étapes
de conception
sous forme

Graphique textuelle

• diagrammes • algorithmes,
• schémas • liste de pièces
• etc • connectivité (netlist), etc.).

le concepteur ou produites par des outils


logiciels.

ENSIAS Rabat Z. ALAOUI ISMAILI 14


On peut distinguer deux
types de descriptions:

Les formats d’échange Les langages de description de matériel

des descriptions qui ne sont destinées à Descriptions destinées à être en plus lues
être lues et comprises que par des outils et comprises par des concepteurs.
logiciels.

 Le langage VHDL
 les formats CIF et GDSII pour le layout  Verilog HDL
 EDIF pour le schéma et le layout.

ENSIAS Rabat Z. ALAOUI ISMAILI 15


1.3. Modèle Parfois expérimentales,
que l’on dispose à
propos d’un phénomène
ou d’un système
physique.

La création d’un modèle résulte d’un processus de


structuration d’un ensemble de connaissances
Un modèle Système
peut donné
représenter

et/ou
Comportement Structure

manière dont un système est organisé


Se concentrer sur la (les)
hiérarchiquement en sous-systèmes.
fonction(s) du système en
exprimant
des relations de cause à
effet.
ENSIAS Rabat Z. ALAOUI ISMAILI 16
La structure d’un système peut être de plus considérée sous
deux aspects complémentaires:

un aspect adimensionnel un aspect géométrique qui


pour lequel les notions de tient compte de ces notions
dimension, de taille et de
forme sont ignorées

Usuellement un schéma,
éventuellement hiérarchique,
représentant uniquement les liens
topologiques entre éléments du N.B. L’ensemble des modèles considérés
système. ici est celui des systèmes matériels
(hardware systems), c’est-à dire des
systèmes réalisés sous la forme de circuits
intégrés.

ENSIAS Rabat Z. ALAOUI ISMAILI 17


Ces modèles peuvent être classés en termes de niveaux d’abstraction
(abstraction levels) et de vues (views).

Chaque niveau d’abstraction est caractérisé par la nature des informations sur le
modèle et sur le type de composant de base, ou primitives, qu’il considère:
ENSIAS Rabat Z. ALAOUI ISMAILI 18
le plus abstrait (le Le système à concevoir est vu
moins détaillé) comme un ensemble de processus
communicants

Le niveau système (system level)

Fonctionnalités des processeurs,


de très haut des mémoires,
niveau des canaux de
communication

La manière dont les processus communiquent entre eux est plus importante que le
comportement des processus eux-mêmes

Le but principal:
Évaluer des réalisations de spécifications pour
différentes décompositions fonctionnelles et
différentes utilisations des ressources (débit de
traitement, espace mémoire, etc.).

Les modèles sont dits non interprétés (uninterpreted models)


ENSIAS Rabat Z. ALAOUI ISMAILI 19
Le niveau architecture (architecture) prend en compte le partitionnement
matériel-logiciel (hardware/software co-design).

La partie matérielle est décrite


à un niveau appelé transfert Représentation synchrone du système
de
registres (register transfer
level, RTL)
partie de contrôle partie opérative

travaillant de
manière
Les composants de base sont des modules logiques concurrente.
complexes, tels que ALU, multiplexeur, décodeur,
registre, etc.

L’information est constituée par des bits et


des mots et le temps est réduit à des
coups d’horloge.
ENSIAS Rabat Z. ALAOUI ISMAILI 20
La partie logicielle est décrite à un niveau
algorithmique (algorithmic level)

Programme Séquence d’opérations

L’information peut être de Le temps peut être explicite


n’importe quel type (réduit à des coups d’horloge)
ou implicite (les événements
sont gérés par la causalité).

ENSIAS Rabat Z. ALAOUI ISMAILI 21


Le niveau logique (gate level)

basé

Extensions pour introduire


l’algèbre de Boole
les aspects temporels (délais)

La correspondance

Le temps est représenté


Entre équations
comme un multiple entier
booléennes et L’information est quantifiée
d’une unité de base
portes logiques sous la forme de valeurs 0
est immédiate. et 1, ou sous forme
multi-valuée (0, 1, X, Z, …).

ENSIAS Rabat Z. ALAOUI ISMAILI 22


Niveau circuit (circuit level)

Le niveau le moins abstrait (le plus détaillé)

Les composants de
base sont les éléments électriques
traditionnels transistors, capacité,
résistance, sources, etc.)

Les comportements sont représentés par


des équations mathématiques impliquant
des fonctions du temps ou de la fréquence.

Le temps et la fréquence sont des variables réelles

ENSIAS Rabat Z. ALAOUI ISMAILI 23


A chaque niveau, il est en plus possible de représenter trois vues du système:

vue comportementale vue physique (ou


vue structurelle géométrique)

Ce que le système
comment le système est Comment le système
fait sous la forme
logiquement construit sous est réellement
d’un comportement
la forme d’une construit
entrée-sortie (boîte
interconnexion de
noire).
composants

Toute décomposition Elle prend en compte les


hiérarchique est purement Cette vue ne prend aspects de taille, de
fonctionnelle et pas en compte l’aspect forme et de position des
n’implique pas forcément géométrique. composants.
une structure.

ENSIAS Rabat Z. ALAOUI ISMAILI 24


Exemple de description comportementale, structurelle et physique:

Le Code 1.1 donne un extrait du comportement d’une instruction d’appel


conditionnel de sous-programme d’un processeur hypothétique en langage
VHDL.

Selon la valeur du bit 3 du registre d’instruction IR, soit le


compteur de programme PC est incrémenté,
soit une adresse de sous-programme est écrite dans le
compteur de programme, le contexte est sauvé
en mémoire en vue de l’exécution du sous-programme

ENSIAS Rabat Z. ALAOUI ISMAILI 25


La Figure 1.1 illustre une description structurelle au niveau RTL correspondant
au comportement du Code 1.1.

(unité arithmétique, registres, mémoire,


etc.) ainsi que les bus nécessaires aux
Apparaître des blocs fonctionnels interconnexions.

La partie contrôle, responsable du


séquencement des opérations, est aussi
clairement identifiée
Chaque bloc fonctionnel est décrit
de manière comportementale.

Par exemple, la partie contrôle comme une


machine à états finis, la mémoire comme
un tableau à deux dimensions.

ENSIAS Rabat Z. ALAOUI ISMAILI 26


Figure 1.1. Description structurelle au niveau RTL.

ENSIAS Rabat Z. ALAOUI ISMAILI 27


La Figure 1.2 illustre une description géométrique donnant le plan
d’implantation, ou floorplan, des blocs fonctionnels.
Figure 1.2. Description géométrique.
Les dimensions et les
positions relatives des
blocs ont maintenant une
importance

la mémoire MEM et le registre DBUF sont placés à droite du plan, alors que
les autres blocs sont groupés à gauche dans une structure dite de chemin
de données (datapath) pour laquelle les opérateurs sont découpés en
tranches de bits (bit slices).
Les bus prennent leur forme et leur longueur finales. Il s’agit de minimiser
la surface occupée et/ou les délais associés aux interconnexions
ENSIAS Rabat Z. ALAOUI ISMAILI 28
La Figure 1.3 donne un autre exemple de description géométrique d’une partie
de l’un des blocs de la Figure 1.2

Figure 1.3. Exemple de layout en style cellules standard.

Le style utilisé est celui des cellules standard


ENSIAS Rabat Z. ALAOUI ISMAILI 29
1.4. Analyse et synthèse

Un modèle est une représentation abstraite d’une réalité physique dont on ne


conserve que les aspects essentiels à une certaine utilisation.
Un modèle ignore donc délibérément des détails, soit parce qu’ils sont inutiles
ou peu importants, soit parce qu’ils ne sont pas (encore) connus.

• Dans le premier cas, le modèle sert de support à l’analyse, soit


l’extraction et la vérification de propriétés.
• Dans le second cas, le modèle sert de support à la synthèse, soit la
dérivation d’un modèle plus détaillé en fonction de contraintes de
conception.

Le processus d’analyse peut être réalisé, ou supporté, par simulation,


c’est-à-dire par un processus dans lequel le modèle est décrit sous une
forme exécutable par un logiciel de simulation.

ENSIAS Rabat Z. ALAOUI ISMAILI 30


soumis Ensemble de stimulis

Le modèle

le logiciel calcule la ou les


réponses à ces stimulis

optimisé
un type de modèle exécutable
Le logiciel de
simulation

utilise méthodes numériques, logiques ou


symboliques (résolution symbolique
d’équations).

Un exemple est la simulation logique qui permet de calculer l’évolution temporelle


de signaux dans un circuit logique en fonction de signaux appliqués aux entrées
primaires du circuit.
ENSIAS Rabat Z. ALAOUI ISMAILI 31
réalisé, ou
supporté
processus basés sur des techniques
Le processus d’analyse de preuve ou de vérification

pas nécessaire
d’appliquer des stimulis

Un exemple est le calcul des délais entrées-sorties d’un circuit logique par
accumulation des délais des portes logiques et des interconnexions des
chemins entre les entrées primaires et les sorties primaires du circuit.

ENSIAS Rabat Z. ALAOUI ISMAILI 32


réalise des transformations sur
Le processus de synthèse un modèle

plus détaillé
contraintes dériver un nouveau
imposées modèle
optimisé

Un exemple est la dérivation d’un circuit logique capable de réaliser la ou les


fonctions décrites par un algorithme tout en satisfaisant des contraintes sur les
types et les nombres d’opérateurs disponibles (p. ex. N additionneurs et M
multiplieurs) et sur le temps de cycle.

ENSIAS Rabat Z. ALAOUI ISMAILI 33


1.5. Langage de description de matériel

Un langage de description de
matériel (HDL – Hardware
Description Language)

outil

Description

Comportement Structure

Système matériel

ENSIAS Rabat Z. ALAOUI ISMAILI 34


Un langage de description de matériel idéal a les propriétés suivantes:

Systèmes combinatoires
et séquentiels, synchrones
 la description d’une large et asynchrones
gamme de systèmes à la fois
logiques numériques) et
analogiques Systèmes électriques, aussi
mécaniques, thermiques,
acoustiques, etc

important

prendre en compte les interfaces


avec l’environnement extérieur

ENSIAS Rabat Z. ALAOUI ISMAILI 35


 la description de l’état toutes les étapes
de la conception du processus

N.B. Le fait d’utiliser un langage unique renforce la cohérence entre


différentes représentations d’un même système.

Renforce la la simulation
Outils logiciels
cohérence la synthèse

Directement compris comme langage


d’entrée pour de tels outils.

ENSIAS Rabat Z. ALAOUI ISMAILI 36


Toute méthodologie
de conception
 Indépendance
Toute technologie
de fabrication

Tout outil logiciel.

Organiser le processus de
conception
les primitives
correspondantes
Comportementales
(fonctionnelles) Caractéristiques
 Supporte plusieurs
exprimer contraintes de
niveaux d’abstraction et
conception
autorise des descriptions
hiérarchiques. .
Structurelles .
.
.
ENSIAS Rabat Z. ALAOUI ISMAILI 37
Un aspect important est la possibilité de spécifier des
caractéristiques temporelles comme le cycle d’horloge, des délais, des temps de
montée, de descente, de pré-positionnement (setup time) et de maintien (hold time).

définir de nouveaux
types d’objets
permet
 Extensible Concepteur

Les nouvelles
opérations correspondantes

équipes de conception
 Un simple format la communication et
d’échange entre outils la cohésion différentes
logiciels
communautés de
concepteurs
lisible (format texte)
ENSIAS Rabat Z. ALAOUI ISMAILI 38
• une description écrite dans un tel langage contient beaucoup d’information sur
l’expertise derrière la conception

• Il améliore donc grandement les phases de spécification et de documentation.

IEEE Fournisseurs d’outils


 Standardisé par favorise une
l’intermédiaire large
ANSI différentes
d’organisations acceptation communautés de
ISO concepteurs.

ENSIAS Rabat Z. ALAOUI ISMAILI 39


1.6. Simulation logique

La simulation logique a pour but la vérification de circuits intégrés de (très)


grande taille (V)LSI (Very) Large Scale Integration).

50’000 à 1’000’000
Circuits fonctionnant
de transistors
en mode logique

Pas possible de vérifier au


niveau électrique

Plus naturel
Énorme quantité d’information
et
qu’il faudrait stocker et gérer au niveau du
plus efficace
transistor.

ENSIAS Rabat Z. ALAOUI ISMAILI 40


description du circuit à un niveau
d’abstraction plus élevé

Le niveau logique

Portes logiques (ET, les signaux représentés par des


OU, NON, etc.) formes d’ondes logiques

prendre
Nombre limité d’états

Les modèles des primitives sont simples


et le circuit comporte moins d’éléments (chaque
primitive regroupe en fait plusieurs transistors).

ENSIAS Rabat Z. ALAOUI ISMAILI 41


 De plus, l’effort nécessaire pour évaluer l’état du circuit à un moment
donné est faible car l’arithmétique est basée sur des opérateurs booléens.

 Il est ainsi possible d’effectuer des simulations 10 à 100 fois plus rapides que
les formes de simulation électrique les plus efficaces.

la rapidité de simulation
se paie par une perte de détails dans
l’information obtenue.

Bref: La simulation logique est une technique de simulation rapide basée sur
l’évaluation de fonctions logiques et la propagation d’événements dans le
modèle (Figure 1.4).

ENSIAS Rabat Z. ALAOUI ISMAILI 42


Figure 1.4. Algorithme général de simulation dirigé par les événements.

La simulation démarre par


l’affectation de valeurs initiales à Le temps est représenté par une valeur
tous les signaux. discrète, un multiple entier d’une unité de
base appelée temps de résolution
minimum (MRT -
minimum resolvable time).

Un événement est un
changement de valeur sur un
signal.

Le temps de simulation est ensuite avancé


jusqu’au moment du prochain événement
prévu.

Les valeurs des signaux ayant un événement à ce moment-là sont mises à


jour et toutes les instructions ou les composants du modèle concernés par
ces mises à jour sont réévalués.
ENSIAS Rabat Z. ALAOUI ISMAILI 43
La boucle se répète ainsi jusqu’à ce qu’il n’y ait plus d’événements à propager
dans le modèle.

N.B. l’état initial du modèle n’est pas nécessairement un état cohérent, ou


stable car il n’y a pas encore de propagation des valeurs aux entrées
primaires du modèle.

Exemple

La Figure 0.1 illustre un circuit logique réalisant la fonction A ≠ B.


Un chronogramme illustrant l’évolution des signaux logiques du circuit est
également donné en supposant un changement de valeur sur l’entrée A.

ENSIAS Rabat Z. ALAOUI ISMAILI 44


Figure 0.1. Exemple de circuit logique réalisant la fonction A ≠ B.

Les modèles des portes logiques tiennent comptent d’un délai de


changement ’0’ à ’1’ de 9 ns et d’un délai de changement de ’1’ à ’0’ de 5
ns. Le MRT est de 1 ns.

N.B. La prise en compte des délais est importante si l’on désire une
vérification plus précise du fonctionnement du modèle.
ENSIAS Rabat Z. ALAOUI ISMAILI 45
Plusieurs types de délais existent: mode de
fonctionnement idéal

l’affectation de nouvelles valeurs traitement particulier


Délai nul: aux signaux apparaît comme de la part du
immédiate. simulateur

En VHDL, on parle de délai l’état du modèle ne doit pas


delta (delta delay). dépendre de l’ordre dans lequel
les processus concurrents sont
évalués

Les signaux ne prennent ainsi jamais leur nouvelle valeur immédiatement, mais
seulement au début du délai (itération) delta suivant

effectuer la boucle sans que le temps avance


ENSIAS Rabat Z. ALAOUI ISMAILI 46
Tout événement de durée plus
Délai inertiel modélise un temps de
rapide que le délai inertiel est
(inertial delay): réaction non nul
filtré et est ainsi annulé.

Figure 1.5. Effet du délai inertiel (5 ns pour Y1, 2 ns pour Y2).

La Figure 1.5 illustre l’effet du délai inertiel sur deux signaux Y1 et Y2 avec un délai
inertiel de 5 ns pour Y1 et de 2 ns pour Y2.
ENSIAS Rabat Z. ALAOUI ISMAILI 47
modélise une réponse
fréquentielle infinie

Délai transport quelle que soit sa durée


(transport delay):

Toute impulsion est transmise

Figure 1.6. Effet du délai transport.

La Figure 1.6 illustre l’effet dudélai transport sur les même signaux que ceux de la
Figure 1.5.
ENSIAS Rabat Z. ALAOUI ISMAILI 48
Un autre aspect important de la simulation logique est le nombre d’états considérés

états indéfinis
insuffisant
Le système à deux modéliser et inconnus
états binaires ’0’ et ’1’ observer
haute impédance
Figure 1.7. Besoin d’un état indéfini.

le besoin de
disposer d’un
état indiquant
une situation
erronée

L’état ’X’ (indéfini) est ainsi utilisé pour représenter un conflit (ici dû à un contrôle
erroné des interrupteurs).

ENSIAS Rabat Z. ALAOUI ISMAILI 49


Situation courante dans un bus est accédé en
les circuits intégrés plusieurs modules
lecture
MOS
sans introduire
de conflit
définir l’état non connecté

Un quatrième état ’Z’


(haut-impédance)

Figure 1.8. Bus.

ENSIAS Rabat Z. ALAOUI ISMAILI 50


L’état ’X’ doit normalement
distinct de l’état ’X’ n’être utilisé que pour signaler
un conflit
un nouvel état ’U’
(uninitialized)
Identification des signaux jamais
affectés durant la simulation

On arrive ainsi à cinq états: ’U’, ’0’, ’1’, ’X’ et ’Z’

ENSIAS Rabat Z. ALAOUI ISMAILI 51


1.7. Synthèse logique
La synthèse logique détermine une architecture au niveau logique en identifiant
les portes logiques nécessaires à la réalisation des blocs définis au niveau RTL et
en déterminant une interconnexion optimale de ces portes.

Deux tâches
principales sont
effectuées:

optimisation logique allocation technologique

réécrire les minimiser le


équations logiques nombre d’états meilleure structure à meilleure
base de cellules programmation
standard d’un circuit FPGA.
Circuit Circuit
combinatoire séquentiel
Technologie donnée
représentant la fonction d’un
bloc décrit au niveau RTL.
ENSIAS Rabat Z. ALAOUI ISMAILI 52
Figure 1.9. Flot de synthèse logique.

ENSIAS Rabat Z. ALAOUI ISMAILI 53


La synthèse logique doit satisfaire les contraintes d’optimisation suivantes:

La part due aux interconnexions


 Surface doit être estimée à ce stade.

La partie Chemin
 Délais minimum
combinatoire critique

 Temps de cycle circuit Temps de propagation


séquentiels des signaux doit être
ramené à une valeur
minimum.
Les registres doivent être
pilotés par une ou plusieurs
horloges avec une fréquence
maximum

ENSIAS Rabat Z. ALAOUI ISMAILI 54


la courbe typique surface-délai/temps de cycle que l’on suit lorsque l’on explore
l’espace des solutions avec la synthèse logique.

Figure 1.10. Courbe surface-délai typique pour la synthèse logique.

pas possible de
minimiser à la fois la
surface du circuit et son
chemin critique.

ENSIAS Rabat Z. ALAOUI ISMAILI 55


Le Code 1.2 donne un exemple de description VHDL d’un comportement
combinatoire simple

Code 1.2: Exemple de modèle de circuit combinatoire en VHDL.

entity exsynt is
port (A, B, C, E, F, G: in BIT; Z: out BIT);
end;

architecture comb of exsynt is


signal X1, X2, X3: BIT;
begin
Z <= (A and B) or X1;
X1 <= X3 xor G;
X2 <= E or (not F);
X3 <= C and X2;
end;
La synthèse logique compile le modèle
pour en dériver une représentation
interne sous la forme d’un graphe

ENSIAS Rabat Z. ALAOUI ISMAILI 56


La Figure 1.11 illustre le circuit logique obtenu par traduction directe du
comportement, sans optimisation

Figure 1.11. Circuit obtenu par synthèse directe du Code 1.2.

Les opérateurs logiques utilisés dans


le modèle sont traduits en portes
logiques équivalentes.

ENSIAS Rabat Z. ALAOUI ISMAILI 57


La Figure 1.12 donne le résultat de l’optimisation logique et de l’allocation des
cellules d’une bibliothèque de cellules standard réelle (0.35 micron CMOS)

Figure 1.12. Circuits obtenus après utilisation d’une bibliothèque de cellules standard.

Augmentation de 36%.

ENSIAS Rabat Z. ALAOUI ISMAILI 58


N.B. La synthèse logique est principalement efficace pour de la logique aléatoire
(random logic), c’est-àdire de la logique non structurée ou peu structurée basée sur
des cellules standard (NOT, NAND, MUX, flip-flops, latches, etc.) ou des
composants programmables (EPLD, FPGA).

La synthèse de
blocs réguliers

mémoires
opérateurs arithmétiques
RAM et ROM

outils générateurs de modules meilleure


spécialisés (module generators) connaissance de
leur structures
optimisations
plus poussées
Description géométrique
(layout) optimisée

Sera assemblée aux autres blocs lors de la


synthèse physique.
ENSIAS Rabat Z. ALAOUI ISMAILI 59
1.8. Synthèse architecturale

La synthèse architecturale détermine une architecture au niveau RTL en identifiant


les ressources matérielles nécessaires à la réalisation des opérations utilisées
dans un algorithme.

séquencement tâches allocation de ressources


(scheduling) (resource sharing and binding)

Assigne les opérations à un


l’ordre d’exécution des
nombre limité de ressources
opérations dans le temps
matérielles disponibles

sur un certain
nombre de pas de Ressources
la partie opérative
contrôle nécessaires au
(datapath) du
système transfert de
Partie contrôle (control part) données
du système.
ALUs, additionneurs.. bus, multiplexeurs)
ENSIAS Rabat Z. ALAOUI ISMAILI 60
Exemple:
Système matériel

calculer la solution de l’équation


différentielle
méthode d’intégration
numérique

Une description comportementale


Forward Euler
Code 1.3: Peudo-code de l’algorithme d’intégration de l’équation différentielle.

ENSIAS Rabat Z. ALAOUI ISMAILI 61


multiplieur
Ressources matérielles disponibles addition/soustraction
et de comparaison
ALU

synthèse architecturale structure RTL

Figure 1.13. Exemple de synthèse architecturale du Code 1.3.

ENSIAS Rabat Z. ALAOUI ISMAILI 62


Ce type de synthèse est sujet à un certain nombre de contraintes d’optimisation:
chaque composant
valeur addition des
Surface
surfaces
estimation des
minimum interconnexions
temps opérations pour
latence s’exécuter termes de cycles
(latency) d’horloge

pas de contrôle
Rq:

Les circuits une séquence


un pipeline
synchrones d’opérations
architecture

opérations de manière
plusieurs ensembles
concurrente
de données

ENSIAS Rabat Z. ALAOUI ISMAILI 63


1.9. Synthèse physique

La synthèse physique a pour but de produire une description géométrique du circuit.

plusieurs couches
description géométrique de polygones
tâches
masque
Les positions
placement routage
(placement) (routing) La fabrication.
des composants
électroniques (transistors)
et des interconnexions
(wires).

ENSIAS Rabat Z. ALAOUI ISMAILI 64


Le placement Assigner des positions aux cellules circuit

complexités variables

simple transistor macro cellule (mémoire, ALU)


Porte logique
placées
blocs

réalisé plan directeur


indépendamment (floorplan).

ENSIAS Rabat Z. ALAOUI ISMAILI 65


Exemple: le style cellule standard (standard cell) place des cellules de type
porte logique en rangées en laissant des chemins pour les interconnexions
entre les rangées (Figure 1.14).

Figure 1.14. Réalisation d’un bloc en style cellule standard.

ENSIAS Rabat Z. ALAOUI ISMAILI 66


Rq: Le routage a pour fonction de tirer les fils d’interconnexion entre les cellules
sans générer de croisements.

programmes de routage algorithmes complexes

routage global routage détaillé


possibilités que la
(global routing) (detailed routing)
technologie offre

les régions qui serviront à les interconnexions utilisent


Les niveaux empruntés
faire passer les plusieurs niveaux différents
interconnexions.
 Les places des interconnexions
 Les niveaux empruntés
 Les contacts nécessaires
(passage d’un niveau à un autre).

ENSIAS Rabat Z. ALAOUI ISMAILI 67

Vous aimerez peut-être aussi