You are on page 1of 36

Cours VHDL - IV

L3-S6 - Universit de Cergy-Pontoise

Laurent Rodriguez Benot Miramond


Plan du cours

I Historique de conception des circuits intgrs


- HDL
- Modles de conceptions
- VHDL
- Les modles de conceptions en VHDL
- Les 5 briques de base
II VHDL et FPGA
- VHDL
- Syntaxe et typage
- Retour sur les briques de bases
- Retour sur la conception structurelle et comportementale en VHDL
Port map, Equations logiques, Tables de vrits (With ... Select)
- FPGA
- Qu'est ce qu'un FPGA
- Flot de conception
- Carte de dveloppement et environnement de TP
Plan du cours

III Modlisation
- Complments sur la description Structurelle
- Description comportementale approfondie
Circuits combinatoires
- Styles de description
Flots de donnes
Instructions concurrentes
Table de vrit
Fonctions
- Circuits standards
- Comparateur
- Multiplexeurs
- Encodeurs
Plan du cours

IV Processus et gestion du temps


- Syntaxe et smantique
- Porte - signaux & variables
- Annotations temporelles et dlais
V Simulation
- TestBench
- GHDL & GTK-Waves
- Quartus & ModelSIM
VI Modles gnriques
- Paramtres gnriques
- Generate
- Boucles
- Exemples
Plan du cours

IV Processus et gestion du temps


- Syntaxe et smantique
- Porte - signaux & variables
- Annotations temporelles et dlais
V Simulation
- TestBench
- GHDL & GTK-Waves
- Quartus & ModelSIM
VI Modles gnriques
- Paramtres gnriques
- Generate
- Boucles
- Exemples
Plan du cours

VIII Machines tats finis (FSM)


- Dfinition
- Reprsentation
- Formelle
- Table de transition
- Diagramme
- Type de machines
- Exemples
- Multiplieur machine tats
- Notions importantes
- Reset
- Reprsentation des tats
VIII Machine tats finis
Finite State Machine (FSM)
VIII - FSM: Dfniton

Les Machines tats fnis (FSM en anglais) sont utlises pour dcrire des
comportements squentels lis au contrle des partes opratves
Cet aspect squentel fait intervenir la noton dtat interne implments dans
les circuits sous forme de registres

Un automate est dfini par:


Un ensemble dentres E = {Ei}
Un ensemble de sortes S = {Sj}
Un ensemble dtats R = {rk}
Une foncton de transiton
Une foncton de gnraton : R E R
: R E S
Reprsentaton circuit

n
p
S

CK
Automate de Moore :
Si la fonction de gnration ne dpend que de ltat courant
(ne dpend pas des entres)
Exemple
Automate dtectant la parit dune suite binaire
Nombre de 1 pair => 1
Nombre de 1 impair => 0

e s

1 ck

0 P I 0
1

Etat

Transiton
02/03/2014 10
Proprits dun automate
Complet :
Un automate est complet si la somme logique (OR) des
expressions boolennes sortant de chaque tat vaut 1


x
x ( Ei ) 1
Dterministe :
Si le produit logique des expressions boolennes sortant de
chaque tat 2 2 vaut 0

x, y x ( Ei ). y ( Ei ) 0
x y

02/03/2014 11
2) Reprsentaton dune FSM
On reprsente de manire quivalente une FSM
Soit par un diagramme dtats
Soit par une table de vrit correspondant aux fonctons de transitons et de gnratons
Diagrammes correspondants
3) Modlisaton des FSM
Utlisaton de registres dtats
Explicite : numraton des tats
Implicite : dpend de la structure du modle
Introducton dune mthode dinitalisaton
Reset synchrone
Ou asynchrone
Encodage des tats
La faon de coder les tats un impact direct sur la complexit de la foncton de transiton,
donc sur les performances du circuit
Choix Mealy / Moore
Moore, plus de matrise sur le comportement
Mealy, plus de flexibilit puisque les sortes peuvent changer au sein dun mme tat

! Transitons
La transiton dun tat lautre est synchronise sur signal dhorloge implicite qui nest
reprsent ni dans la tables dtats ni dans les diagrammes dtats
Types de machines

Machine de Moore: Codage des sorte directement dans les tats


Machine de Mealy: Codage des sortes sur les transitons
Exemple
a) Registre explicite et processus
Circuit synthts

Gnraton de 5 bascules :
3 pour ltat
2 pour les sortes synchrones
b) Usage de plusieurs processus
Lutlisaton de plusieurs processus (trois) permet de simplifer lcriture en sparant
clairement:

La gnraton des sortes


Le calcul des transitons
La mmorisaton de ltat courant
Code 3 processus

NSL = Next State Logic


Sorte logique

Parte gnrique pour la mmorisaton


4) Exemple
On veut raliser le contrleur dun multplieur qui utlise
des additonneurs (lancs par le signal ADD) et
des dcalages (signal interne SHIFT)
On utlise le signal interne INIT pour le reset du multplieur complet (adder+shifter)
Et le signal LSB qui indique le bit de poids faible du multplicande : le registre A
Le signal dentre STB dmarre le calcul
Le signal de sorte done indique la fn du calcul
On implmente une machine de Moore
Schma en blocs

RST STB CLK

LSB REGA
ADD
Additonneur

REGB
INIT
Contrleur
SHIFT
Dcaleur

REGZ
Done
Diagramme du contrleur
Code du contrleur
5) Modlisaton sans registre explicite
Lutlisaton de squences dinstructon wait sur le mme signal
modlise une FSM sans nommage des tats :

Cette mthode convient seulement pour les comportements


itratfs.
a) Exemple avec reset synchrone
b) Exemple avec reset asynchrone
6) Exemple du calcul de convoluton
Le produit de convoluton (en traitement de signal) se calcule de la manire suivante :

O xi reprsentent les valeurs des chantllons capturs sur lhorloge Clk et ai les cofficients.
a) Entt du convolueur
b) Architecture FSM
7) Notons importantes
a) Reset
Le reset synchrone requiert plus de logique combinatoire que lasynchrone car il faut que tous
les tats possibles soient pris en compte dans le calcul du prochain tat.
Ceci est possible en ajoutant par exemple une clause when others au processus NSL en
assignant le prochain tat next_state un tat valide.
Si ce nest pas fait, la machine dtat peut dmarrer dans un tat invalide sans quelle puisse
plus sortr, mme avec le reset.

b) Encodage des tats


Les codages possibles sont :
Squentel, avec des valeurs binaires croissantes
De Gray, et de Johnson, qui ont la proprit de ne changer que dun seul bit dun tat lautre
One-hot, utlise un seul flip-flop par tat, pour des circuits plus rapides, mais occupant plus de
ressources
Codage spcifque (custom)
Comparaison de 2 FSM
avec reset asynchrone (a) ou synchrone
(b)

Les FSM RST synchrone occupent en moyenne 15% de ressources en plus


Formats dencodage
Biblio
Documents de cours
Ce cours en ligne :

Http://perso-etis.ensea.fr/rodriguez/
Un trs bon support de cours

http://hdl.telecom-paristech.fr/index.html
Le cours de Licence 2 (en particulier pour ceux qui ne l'ont pas suivi):

http://perso-etis.ensea.fr/miramond/Enseignement/L2/circuits_numeriques.html
Le cours de Licence 3 de 2013 :

http://perso-etis.ensea.fr/miramond/Enseignement/L3/Cours_VHDL_2011.html
Documents de dveloppement
Quartus
http://quartushelp.altera.com/current/
Documentation Altera sur les Cyclones II et IV (entre autre...)
http://www.altera.com/literature/lit-index.html

You might also like