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