Vous êtes sur la page 1sur 84

Electronique embarque

Cours partie II les rfrences bibliographiques insres dans la version finale

seront

La bascule RS

Bascule RS-NAND

Comportement statique de la bascule RS-NOR

Comportement statique de la bascule RS-NOR

La bascule D verrouillage ou D latch

Ralisation d'une D latch

Ralisation d'une D latch

Ralisation d'une D latch

Bascule D dclenchement sur front ou D flip-flop

10

Ralisation d'une D flip-flop

11

Cohabitation de fonctions synchrones et asynchrones

12

Bascules RS et D

13

Bascules RS et D

Bonne configuration Mauvaises configuration


14

Registre

15

Registre

16

Les registres dcalage

17

Les registres dcalage

18

Les registres dcalage

19

Les registres : applications

20

Les registres : applications

21

Les registres : applications

22

Les registres : applications

23

Les compteurs

24

Le diviseur (de frquence) par 2

25

Compteurs asynchrones modulo 2n

26

Dcompteurs asynchrones modulo 2n

27

Classification par mode opratoire

28

Classification par type d'accs

29

Classification

30

Performances des mmoires

31

Les mmoires vives accs alatoire : RAM

32

SRAM : cellule mmoire

33

DRAM : cellule mmoire

34

Comparaison DRAM / SRAM

35

ROM et PROM : inscription du contenu de la mmoire

36

Mmoires mortes reprogrammables REPROM

37

Mmoire EPROM

38

Mmoire EPROM

39

Mmoires mortes reprogrammables REPROM

40

Mmoire EEPROM ou FLASH

41

Mmoire EEPROM ou FLASH

42

Autres types de mmoires

43

Langage HDL
Hardware Description Language Dcrire le systme de diffrents points de vue : Comportement : quest ce quil fait ? Structure : de quoi il est compos ? Proprits fonctionnelles : comment on peut linterfacer? Proprits physiques : sa rapidit? Puissance consomme?

Langage VHDL/Introduction

What is VHDL? V H I S C Very High Speed Integrated Circuit Hardware Description Language
IEEE Standard 1076-1993

Langage VHDL/Introduction
Designed by IBM, Texas Instruments, and Intermetrics as part of the DoD funded VHSIC program

Langage VHDL/Utilit dun HDL


Permet de les simuler avant leur ralisation Cest lentre standardise de nombreux outils de synthtiseur automatique Existence de Bibliothques de description de sous ensembles (Rutilisation Reuse) La description VHDL est souvent exige dans la livraison des dispositifs lectroniques numriques (Tlcom, aro-spacial) Cest un passage oblig dans ltude de tout dispositif dlectronique numrique

Langage VHDL/Description du matriel ou de son comportement


La description du matriel ncessite : La prise en compte du sens du matriel et de ses niveaux dabstraction. La structure fine des descriptions doit correspondre celle du matriel. La description de son seul comportement peut se faire laide dalgorithmes dont la structure na rien voir avec celle du matriel. Seuls les rsultats de ces algorithmes sont pris en compte. Lvolution actuelle des outils de description du matriel soriente manifestement vers la seconde alternative (process de VHDL, Verilog, SystemC). Linconvnient de cette approche est quelle ne favorise pas la comprhension de la nature du matriel.

Langage Verilog
Le Verilog est un des deux principaux langages de description matrielle (HDL). Certains trouvent le Verilog plus facile matriser que le VHDL. Le VHDL a t standardis par IEEE en 1987 et le Verilog en 1995. Verilog sapparente beaucoup au C tandis que le VHDL lui sapparente au ADA. Verilog a t introduit en 1985 par Gateway Design System faisant maintenant partie de Cadence. Le langage reste la proprit de Cadence jusquen 1990 o lOVI (Open Verilog International) fut form. Cadence voulait rendre le langage publique afin que le Verilog devienne le langage HDL le plus rpandu et utilis.

Langage Verilog/Exemple

Comparaison VHDL ET Verilog/ Assignations

Cest une des plus vidente diffrence entre le Verilog et le VHDL. Le Verilog est beaucoup plus permissif que le VHDL... ceci comporte des bons et des mauvais cts.

Langage Verilog/Exemple

Comparaison VHDL ET Verilog/ Comment faire un choix entre les deux


La ralit: dans la majorit des cas, on na pas le choix! Le compagnie pour laquelle vous travaillez vous impose le langage Le client vous limpose Vous partez dune base de code existante Vos outils choisissent votre place Pour un simulateur ou un outil de synthse, le prix des licences varie en fonction du langage

Comparaison VHDL ET Verilog/ Comment faire un choix entre les deux


a dpend des rgions. Par exemple, le VHDL est plus populaire en Europe, moins aux USA. a dpend des coles, universits. Les outils permettent maintenant de mlanger les deux.

SystemC/Dfinition

SystemC/Dfinition

Electronique embarque
Langages VHDL

VHDL
Langage de description de systmes matriels Comportement Structure Documentation Dveloppement de modles excutables Simulation Synthse (sous-ensemble) Modle logiciel Langage fortement typ Modularit Extensibilit Standard IEEE (rf. IEEE Std 1076-2002) Support par tous les outils EDA

Domaine d'application

La vue Gomtrie dcrit les caractristiques physiques du systme matriel.

Styles de description
Le langage VHDL permet la description dun systme selon trois styles de description: - comportemental (behavioral): description du fonctionnement du modle qui ne prcise rien de son ventuelle ralisation - flot de donnes (data flow): description base sur les quations boolenne qui ne considre que les flots de donnes entrants et sortants du systme - structurel (structural): description de la ralisation du systme laide de composants interconnects

Utilisation de VHDL
Lanalyseur (ou compilateur) vrifie la syntaxe dune description VHDL. L'laborateur a pour tche de crer un modle excutable partir de modules compils sparment et de dtecter des erreurs globales. Le simulateur calcule comment le systme modlis se comporte lorsquon lui applique un ensemble de stimuli. Lenvironnement de test peut galement tre crit en VHDL

Langage VHDL/Structure dune description VHDL simple.


Une description VHDL est compose de 2 parties indissociables savoir : Lentit (ENTITY), elle dfinit les entres et sorties. Larchitecture (ARCHITECTURE), elle contient les instructions VHDL permettant de raliser le fonctionnement attendu.

Flot de conception Asic/FPGA


Exemple : Un dcodeur 1 parmi 4.

Units de conception

PACKAGE permet de regrouper des dclarations de types et/ou de sous- programmes et en fait de construire des bibliothques. Elle offre ainsi la possibilit dexporter un de ces objets. PACKAGE BODY, pas toujours ncessaire, contient lcriture proprement dite des fonctions ou des procdures dclares au niveau paquetage. CONFIGURATION permet de crer un couple entit-architecture

Units de conception

Units de conception
L'unit de conception (design unit) est le plus petit module VHDL compilable sparment. Le code source VHDL dcrivant une unit de conception est stock dans un fichier appel fichier de conception (design file). Il existe cinq types d'units de conception: La dclaration d'entit (entity declaration) dcrit la vue externe (ou l'interface) d'un composant matriel. Ceci inclut les paramtres et les ports. Le corps d'architecture (architecture body) dcrit une vue interne d'un composant matriel sous la forme d'un comportement fonctionnel et/ou d'une hirarchie de sous-composants. Il peut exister plusieurs architectures pour une mme entit.

Units de conception
La dclaration de configuration (configuration declaration) permet d'associer une paire entit-architecture pour chaque instance de composant dans une architecture. La dclaration de paquetage (package declaration) dfinit un ensemble de dclarations (p.ex. de types, de sous-programmes) qui peuvent tre utiliss dans plusieurs units de conception. Le corps de paquetage (package body) dcrit les corps des dclarations dfinies dans la dclaration de paquetage (p.ex. les corps de sous-programmes).

L'entit de conception (design entity) est l'abstraction de base en VHDL. Elle reprsente une portion dun systme matriel possdant une interface entre-sortie et une fonction bien dfinies.

Bibliothques de conception
Librairie IEEE IEEE a dvelopp un package appel std_logic_1164 qui permet dtendre les valeurs logiques - 0 et 1 issus dune sortie forte - Let H issus dune sortie faible (par ex au travers dune rsistance) - Z tat isol - X conflit entre deux sorties - W conflit entre deux sorties faibles - - tat indiffrent (pour optimiser la logique) Il existe aussi des packages numeric_bit et numeric_std pour effectuer des oprations arithmtiques entre des bit_vector normaux ou std

Additionneur 1 bit: Architecture "flot de donnes"

affectation concurrente de signal

un signal ne prend jamais sa nouvelle valeur immdiatement chaque instruction d'affectation est en fait un processus

Additionneur 1 bit: Architecture "algorithmique"

Additionneur 1 bit: Architecture "algorithmique"


Le style de description "algorithmique" consiste dcrire le comportement du composant sous la forme d'une squence d'instructions. Ceci signifie que l'ordre dans lequel ces instructions sont spcifies est important. L'architecture algo utilise une instruction processus explicite (process statement) dont le corps inclut des instructions squentielles qui ne sont excutes que si un vnement survient sur au moins l'un des signaux dits sensibles. Ici il s'agit des signaux opa, opb et cin spcifis dans une liste de sensibilit (sensitivity list) juste aprs le mot rserv process.

Additionneur 1 bit: Architecture "structurelle"

Les entits de conceptions instancies sont supposes avoir t pralablement analyses et stockes dans une bibliothque de nom logique gates. La dclaration de bibliothque (clause library) est requise pour rendre cette bibliothque visible dans l'architecture.

Additionneur 1 bit: Architecture "structurelle"


Le style de description "structurel" consiste dcrire un modle sous la forme d'une interconnexion de composants communiquant par l'intermdiaire de signaux. L'architecture str utilise le mcanisme dit d'instanciation directe (direct instantiation) qui permet d'inclure directement une entit de conception dans le modle. Par analogie avec un circuit imprim, on "soude" chaque instance d'entit de conception (de composant discret) dans l'architecture (sur la carte).
.

Chaque instance de composant possde une tiquette unique (p.ex. A1 et A2 pour les deux instances de portes AND) et associe (map) les paramtres gnriques et les ports actuels

Additionneur 1 bit: Architecture "structurelle"

Domaines d'instructions
Evnements asynchrone.

VHDL dfinit un cycle de simulation canonique qui prcise comment ces diffrentes instructions sont excutes.

Langage VHDL/Entit : Exemple

Langage VHDL/Architecture

Langage VHDL/Instructions concurrentes

Langage VHDL/Processus

Langage/ Les signaux

Langage VHDL/Les vnements

Langage VHDL/ Processus

Langage VHDL/Les processus