langage de programmation du matériel vhdl partie iii... · 2019. 11. 15. · les logiques...

49
Laboratoire d’Informatique Systèmes et Télécommunications Universitè Abdelmalek Essaadi Dipl.-Ing Mohammed Bsiss Mohammed Bsiss Langage de programmation du matériel VHDL

Upload: others

Post on 10-Mar-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Langage de programmation

du matériel VHDL

Page 2: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

La synthèse

La synthèse est définie comme une succession d'opérations permettant à partir

d'une description de circuit dans un domaine fonctionnel (description

comportementale) d'obtenir une description équivalente dans le domaine

physique (description structurelle).

signal intérieur

Page 3: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Exemple circuit snythètisable

La ligne 1 définit l’appel à la librairie IEEE grâce à

l’instruction « library nom_de_la_librairie ».

La ligne 2 indique l’utilisation de tous les éléments

(fonctions ou composants ou type comme

std_logic) du paquetage (ou package)

std_logic_1164 grâce à l’instruction

« use nom_de_la_librairie.nom_du_package.all ».

Lignes 3 à 6 : Définition des entrées-sorties du

design GATE. Le mot clé port annonce la liste des

signaux d’interface. 4 modes sont possibles pour

ces entrées-sorties:

in, out, inout, buffer.

Page 4: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Exemple circuit snythètisable

Lignes 7 à 16 : La partie

déclarative de l’architecture

(entre les mots clés architecture et

begin) est destinée à la

déclaration des objets internes

(les E/S sont déclarées dans

l’entity) utilisés dans cette

architecture. Ces objets sont

généralement des signaux,

constantes, variables ou alias.

Page 5: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Exemple circuit snythètisable

Page 6: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Page 7: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Les logiques programmables (FPGA/PLD)

On peut distinguer deux catégories de circuits intégrés.

les circuits standards et les circuits spécifiques à une application.

Les circuits standards se justifient pour de grandes

quantités,microprocesseurs, contrôleurs, mémoires etc.

Les circuits spécifiques sont destinés à réaliser une fonction ou un

ensemble de fonctions dans un domaine d’application particulier.

Page 8: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Les logiques programmables (FPGA/PLD)

Parmi les circuits numériques spécifiques à une application, il faut distinguer

deux familles.

• les circuits conçus à partir d’une puce de silicium « vierge » (Full-

custom),

• les circuits où des cellules standards sont déjà implantées sur la puce de

silicium (Semi-custom).

Page 9: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Les logiques programmables (FPGA/PLD)

• les circuits conçus à partir d’une puce de silicium « vierge » (Full-custom),

• les circuits où des cellules standards sont déjà implantées sur la puce de

silicium (Semi-custom).

Page 10: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Les logiques programmables (FPGA/PLD)

Dans le premier groupe, les circuits appelés « Full custom », on trouve les

circuits à la demande et ceux à base de cellules (CBIC : Cell Based Integrated

Circuit). Le fondeur réalise l'ensemble des masques de fabrication.

Dans le second groupe, les circuits appelés « Semi-custom », on trouve les

circuits prédiffusés (GA : Gate Array) et les circuits programmables.

Les cellules standards, déjà implantées sur la puce de silicium, doivent être

interconnectées les unes avec les autres. Cette phase de routage est réalisée,

soit par masquage chez le fondeur (prédiffusé), soit par programmation

Page 11: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Les logiques programmables (FPGA/PLD)

Technologie utilisée pour les interconnexions

Les cellules standards implantées dans les circuits "Semi-

custom" vont de la simple porte jusqu'à une structure

complexe utilisant un grand nombre de transistors. Il existe

plusieurs méthodes servant à interconnecter ces cellules:

• par masque (fondeur),

• par fusible,

• par anti-fusible,

• par cellule mémoire : EPROM, EEPROM, flash EPROM

et SRAM.

Page 12: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Les logiques programmables (FPGA/PLD)

Deux possibilités existent : les interconnexions

directes ou les interconnexions par cellule

mémoire.

Page 13: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Les logiques programmables (FPGA/PLD)

Interconnexion par fusible (Interconnextion directe)

C'est la technique des PROM bipolaires à fusibles (Programmable

Read Only Memory). On insère, entre chaque intersection, une diode

en série avec un fusible.

Interconnexion par anti-fusible

Avec cette technique, c'est l'opération inverse qui est

réalisée. On ne coupe pas une liaison, mais on l'établit

Une seule fois programmable

Page 14: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Page 15: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Les logiques programmables (FPGA/PLD)

Interconnexion par cellule mémoire

GCM

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

..

..

CLB

CLB

CLB

CLB

Blo

ck S

ele

ctR

AM

Blo

ck S

ele

ctR

AM

Mu

lzip

lier

Mu

lzip

lier

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

Blo

ck S

ele

ctR

AM

Blo

ck S

ele

ctR

AM

Mu

lzip

lier

Mu

lzip

lier

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

IOB IOB DCM IOB IOB IOB IOB DCM IOB IOB

IOB

WWWW

IOB

IOB

IOB

IOB

IOB

IOB

..

..

..

....

..

Configurable logic

Programmable I/Os

Field programmable gate arrays (FPGA) sont des éléments logiques programmables. Á l´intérieur de l´élément

le module il y a plusieurs petites unités de «blocs logiques», également dénommée CLB (configurable logic

blocks), qui à leur tour, sont reliés pour un réseau de connexions entre eux. Ainsi, un routage universel est

possible. Les FPGAs ont aussi des blocs SRAM, appelés blocs de RAM, pour stocker les données. Certains

FPGAs contiennent on aussi des PLLs (Phase Locked Loop), des DLLs (Delay Locked Loop), des traitements

d´impulsions (DCM: Digital Clock Manager) et aussi des simple ALUs (Arithmetic Logic Unit).

Page 16: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Les logiques programmables (FPGA/PLD)

matrice de blocs logiques

programmables ou CLB (Configurable

Logic Block),

blocs d'entrée/sortie programmables ou

IOB (Input Ouput Block) dont le nombre

varie suivant le type de boîtier (QFP ou

BGA). Ils supportent 23 standards d’E-S

plus le contrôle des impédances

d’entrée et de sortie via DCI,

réseau de distribution d'horloge avec

une faible dispersion via les DCM,

des blocs RAM 18 kbits,

des multiplieurs 18 bits x 18 bits,

de nombreuses ressources de routage.

GCM

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

..

..

CLB

CLB

CLB

CLB

Blo

ck S

ele

ctR

AM

Blo

ck S

ele

ctR

AM

Mu

lzip

lier

Mu

lzip

lier

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

Blo

ck S

ele

ctR

AM

Blo

ck S

ele

ctR

AM

Mu

lzip

lier

Mu

lzip

lier

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

IOB IOB DCM IOB IOB IOB IOB DCM IOB IOB

IOB

WWWW

IOB

IOB

IOB

IOB

IOB

IOB

..

..

..

....

..

Configurable logic

Programmable I/Os

Page 17: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Les blocs logiques configurables (CLB)

Le CLB est l'élément fonctionnel de base de ce FPGA.

Sa programmation permet à l'utilisateur de réaliser des

fonctions logiques combinatoires ou séquentielles.

Ils sont disposés dans une géométrique, qui permet à

une conception logique combinatoire et séquentielles.

Chaque élément est relié à une matrice de commutation

à fin de rendre les ressources de connexion plus rapide

et plus accessible.

Page 18: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Les blocs logiques configurables (CLB)

Le schéma bloc simplifié d'un CLB est représenté à la

page suivante. Il est constitué de 4 SLICES, qui sont

eux-mêmes formés de deux cellules logiques.

TBUF X0Y1

TBUF X0Y0

COUT

COUT

CIN

CIN Fast

Connects

To neighbors

Switch

Matrix

Slice

X0Y0

Slice

X0Y1

Slice

X1Y0

Slice

X1Y1

Page 19: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Les blocs logiques configurables (CLB)

Un slice (figure précédente) est constitué

essentiellement de 2 générateurs de fonctions (LUT) F

et G et de 2 bascules D, FFX et FFY.

Un slice (figure précédente) est constitué essentiellement de 2 générateurs de fonctions (LUT) F et G et de 2 bascules D, FFX et FFY.

LUT

F

SRL16CY

CY

MUXF5

MUXFx

ORCY

RAM1

6

LUT

G

SRL16

RAM1

6

Register

Register

LUT

F

Arithmetic

logic

Page 20: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Les blocs logiques configurables (CLB)

Ainsi, on peut trouver au maximum dans un CLB :

4 mémoires 16x1 bits synchrones simple port,

2 mémoires 32x1 bits synchrones simple port,

1 mémoire 64x1 bits synchrone simple port,

2 mémoires 16x1 bits synchrones double port,

1 registre à décalage 64 bits.

Page 21: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Blocs d’entrée / de sortie (IOBS)

Des blocs d’entrée-

sortie (IOB)

configurables sont

répartis sur toute la

périphérie du boîtier.

Chaque IOB assure

l'interface entre une

broche d'entrée/sortie

du boîtier et la logique

interne.

Page 22: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Blocs d’entrée / de sortie (IOBS)

Des blocs d’entrée-

sortie (IOB)

configurables sont

répartis sur toute la

périphérie du boîtier.

Chaque IOB assure

l'interface entre une

broche d'entrée/sortie

du boîtier et la logique

interne.

Page 23: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Blocs d’entrée / de sortie (IOBS)

Le signal sur la broche d'entrée (I/O pin) est amené

vers les CLB soit directement via le signal I, soit à

travers une paire de bascules D (ou de latch) via

IQ1 et IQ2.

Les caractéristiques de l'entrée de l’IOB sont les

suivantes :

diodes de protection ESD,

résistance de "pull-up" ou "pull-down",

Contrôle de l’impédance d’entrée (DCI),

23 standards d’entrée (différentiels ou non),

horloge indépendante de la sortie,

Un délai de quelques ns peut-être inséré dans le

chemin de la donnée d'entrée pour compenser le

retard de l’horloge,

Support du Double Data Rate pour écrire dans les

SDRAM DDR.

Page 24: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Blocs d’entrée / de sortie (IOBS) )

Le signal de sortie peut être optionnellement

inversé à l’intérieur de l’IOB et sortir

directement sur la broche ou bien être mis

en mémoire par une paire de bascules D

actives sur un front.

Les caractéristiques de la sortie d'un IOB sont

les suivantes :

buffer 3 états piloté par une paire de

bascules D,

sortie collecteur ouvert,

23 standards de sortie (différentiels ou

non),

contrôle de "slew-rate" (rapide ou lent),

Contrôle de l’impédance de sortie (DCI),

Support du Double Data Rate pour lire dans

les SDRAM DDR.

Un courant de sortie d’une valeur de 24 mA

max.

Page 25: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Mémoire FPGA

Tous les FPGA de la famille Spartan-3 incorporent des

blocs de mémoire RAM 18kbits synchrones simple ou

double ports (de 4 à 104 suivant la taille du circuit). Les

4 modes suivants sont possibles :

Page 26: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Mémoire FPGA

Bloc de mémoire RAM 18kbits

synchrones double

La RAM bloc peut être

configuré comme une partie

du port simple ou double

port.

Associé à chaque BlockRAM,

on trouve un multiplieur 18x18

= 36 bits

DIA

DIPA

ADDRA

WEA

ENA

SSRA

> CLKA

DOA

DOPA

18 Kbit Block SelectRAM

DIB

DIPB

ADDRB

WEB

ENB

SSRB

> CLKB

DOB

DOPB

18-Kbit block

SelectRAM

18

x 1

8 M

ultip

lier

Switch

Matrix

Switch

Matrix

Switch

Matrix

Switch

Matrix

Page 27: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Gestion d’horloge

Le FPGA possède un gestionnaire

d’horloge (Digital Clock Manager :

DCM)

Il permet de créer des horloges

décalées en phase

Il permet de synthétiser des horloges

avec des rapports (M x Fin) / D (avec

M entier compris entre 2 et 32 et D

entier compris entre 1 et 32).

Page 28: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Page 29: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Machine état de Mealy

Machine de Mealy.

L’état futur est calculé à partir des entrées et de l’état présent.

Les sorties d’une machine de Mealy dépendent de l’état présent et

des entrées.

Combinatoire

des états et

des sorties Mémorisation

état

Entrées

Sorties

États actuel / present

États suivant/ futur

CLK

Page 30: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Machine état de Mealy

Machine de Mealy: les sorties peuvent alors changer immédiatement après un changement des entrées, indépendamment de l’horloge. Ces systèmes sont alors totalement asynchrones

Combinatoire

des états et

des sorties Mémorisation

état

Entrées

Sorties

États actuel / present

États suivant/ futur

CLK

Page 31: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Machine état de Mealy

Machine de Mealy: Chaque transition est un couple formé d’une lettre d’entrée et d’une sortie Le changement d’état de E0 à E1 si l’entrées est présente et durant cette transition changer l’état de sortie.

E0 E1

Entrée/ Sortie

Page 32: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Machine état de Mealy

Machine de Mealy chronogramme deux états:

E0 E1

E=0 / S=0 E=1 / S=0

E=0 / S=1

E=1 / S=0

Condition de validation de la transition Afectation de

la valeur ‚0‘ à la sortie

Start

Transition

Page 33: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Page 34: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Machine de Moore

Combinatoire

des états Mémorisation

état

Entrées Sorties

États présent États futur

CLK

Machine de Moore. L’état futur est calculé à partir des entrées et de l’état présent. Les sorties d’une machine de Moore dépendent de l’état présent

Combinatoire

Des sorties

Page 35: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Machine de Moore

Machine de Moore: les sorties sont alors synchrones avec les transitions d’état et les fronts d’horloge Ces systèmes sont alors synchrones

Combinatoire

des états Mémorisation

état

Entrées Sorties

États présent États futur

CLK Combinatoire

Des sorties

Page 36: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Machine de Moore

Machine de Moore chronogramme deux états:

E0

S=0

E1

S=1

E=0 E=1

E=0

E=1

Start

Page 37: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Page 38: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Machine de de Mealy en VHDL

Combinatoire

des états et

des sorties Mémorisation

état

Entrées

Sorties

États actuel / present

États suivant/ futur

CLK

Process

combinatoire

pour affecter

les états futur

à partir des

entées et de

l‘etat présent

Process

séquentiel

de mise à

jour l‘état

présent par

l‘état futur

Page 39: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Machine de de Mealy en VHDL

Combinatoire

des états et

des sorties Mémorisation

état

Entrées

Sorties

États actuel / present

États suivant/ futur

CLK

La liste de sensibilité Process séquentiel De la mise à jour des états

Déclaration des signaux

Process

séquentiel

de mise à

jour l‘état

présent par

l‘état futur

Page 40: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Machine de de Mealy en VHDL

Combinatoire

des états et

des sorties Mémorisation

état

Entrées

Sorties

États actuel / present

États suivant/ futur

CLK

Process

combinatoire

pour affecter

les états futur

à partir des

entées et de

l‘etat présent

Process séquentiel De la mise à jour des états Et des sorties

Page 41: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Machine état de Mealy

E0 E1

E=0 / S=0 E=1 / S=0

E=0 / S=1

E=1 / S=0

Condition de validation de la transition Afectation de

la valeur ‚0‘ à la sortie

Start

Transition

Page 42: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Page 43: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Modèle de Moore

Combinatoire

des états Mémorisation

état

Entrées Sorties

États présent États futur

CLK Combinatoire

Des sorties

Process

séquentiel de

mise à jour de

l‘état futur à

partir de l‘état

présent

Process

séquentiel de

mise à jour

l‘état présent

par l‘état futur

Sur les fronts

montant

d‘horloge

Process

séquentiel

pour affecter

les sorties à

partir de l‘état

présent

Page 44: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Modèle de Moore

Combinatoire

des états Mémorisation

état

Entrées Sorties

États présent États futur

CLK Combinatoire

Des sorties

Process

séquentiel de

mise à jour

l‘état présent

par l‘état futur

Sur les fronts

montant

d‘horloge

Page 45: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Modèle de Moore

Combinatoire

des états Mémorisation

état

Entrées Sorties

États présent États futur

CLK Combinatoire

Des sorties

Process

séquentiel de

mise à jour de

l‘état futur à

partir de l‘état

présent

Process

séquentiel

pour affecter

les sorties à

partir de l‘état

présent

Page 46: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Modèle de Moore

E0

S=0

E1

S=1

E=0

E=1

E=0

E=1

Start

Page 47: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Page 48: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Exercice:

écricre un code VHDL qui implemente la machine de Mealy representé ci-

dessous

E0 E1

E=0 / S=0

Start E2

E=1 / S=0

E=0 / S=0

E=1 / S=0 E=1 / S=1

E=0 / S=0

Page 49: Langage de programmation du matériel VHDL Partie III... · 2019. 11. 15. · Les logiques programmables (FPGA/PLD) Dans le premier groupe, les circuits appelés « Full custom »,

Laboratoire d’Informatique Systèmes et Télécommunications

Universitè Abdelmalek Essaadi

Dipl.-Ing Mohammed Bsiss Mohammed Bsiss

Exercice:

écricre un code VHDL qui implemente la machine de Mealy representé ci-

dessous

E0 E1

E=0 / S=0

Start E2

E=1 / S=0

E=0 / S=0

E=1 / S=0 E=1 / S=1

E=0 / S=0