Part01 COURS Systèmes Numeriques 2014 2015

  • Upload
    juhan

  • View
    33

  • Download
    1

Embed Size (px)

Citation preview

  • R. YAHIAOUI

    1

    UFR Sciences et Techniques BesanonLicence EEA 3me Anne

    Systmes Numriques

    M. Rda YAHIAOUI

    Cours TD TP22h 18h 20h

  • R. YAHIAOUI

    2

    Panorama des types de circuits logiques

    FPGA : Field Programmable Gate Array rseau de portes programmables in-situ CPLD : Complex Programmable Logic Device

  • R. YAHIAOUI

    3

    UFR Sciences et Techniques BesanonLicence EEA 3me Anne

    Cours

    Systmes Numriques

  • R. YAHIAOUI

    4

    Systmes Numriques

    Actuellement les Objets Techniques (O.T.) utilisent de plus en plus la logique programme (P, Mmoires, C, ...). Ces structures ont besoin de s'interfacer entre elles. Elles utilisent gnralement pour raliser ces interfaces des fonctions base de fonctions logiques lmentaires, compteurs, registres , .... Le nombre de circuits ncessaires pour remplir ces fonctions peut devenir trs vite important.

    Les Circuits Logiques Programmables (P.L.D.)

    Pour diminuer les cots de fabrication, de dveloppement et de maintenance, les fabricants de circuits intgrs ont donn naissance aux Circuits Logique Programmable ou encore P.L.D. (Programmable Logic Device)

    Ces circuits sont capables pour un O.T. de raliser plusieurs fonctions logiques dans un seul circuit. Si ces fonctions taient ralises base circuits de logique Si ces fonctions taient ralises base circuits de logique classique, il en faudrait plusieurs circuits.classique, il en faudrait plusieurs circuits.

    Un autre avantageUn autre avantage, l'volution des fonctions d'un l'O.T. s'effectue par programmation compare une solution classique o il faut refaire un circuit imprim si on veut modifier le fonctionnement.

    Introduction

  • R. YAHIAOUI

    5

    Les Circuits Logiques Programmables (P.L.D.)Classification

    Les constructeurs de P.L.D. se livrent entre eux une guerre commerciale et sur les appellations, ce qui explique la difficult tablir la classification des P.L.D.

    La plus ancienne et la plus connue est certainement la famille des P.A.L. Le nom a t donn par la socit M.M.I (Fusion depuis avec A.M.D.), c'est une appellation dpose, comme Walkman pour Sony ou Rfrigrateur pour Frigidaire.

    * P.A.L. signifie Programmable Array Logic, c'est dire rseau logique programmable. La programmation de ces circuits s'effectue par destruction de fusibles. Une fois programms on ne peut plus les effacer. On distingue deux sous familles:

    -Les P.A.L. combinatoires ou P.A.L. simples. Ils sont constitus de fonctions de logique combinatoire.

    - Les P.A.L. registres ou F.P.L.S. Field Programmable Logic Squencer pour squenceur logique programmable. Ils sont constitus de logique combinatoire et squentielle (Registre).

    Systmes Numriques

  • R. YAHIAOUI

    6

    Les Circuits Logiques Programmables (P.L.D.)Classification (suite)

    Les P.A.L. effaables: E.P.L.D.

    Les E.P.L.D. Ce qui signifie EErasable rasable PProgrammable rogrammable LLogic ogic DDeviceevice, c'est dire circuit logique programmable et effasable et qui sont aux P.A.L. ce que sont les U.V.P.R.OM. aux P.R.O.M. Les E.P.L.D. peuvent tre effacs par U.V. Les E.P.L.D. peuvent tre effacs par U.V. ou ou lectriquement. lectriquement. Ils sont encore appels P.A.L. CMOS.

    Les G.A.L.

    Les G.A.L. Ce qui signifie GGenericeneric A Arrayrray L Logicogic ou encore rseau logique rseau logique gnrique gnrique ce qui veut dire pas grand chose mais qui sont aux P.A.L. ce que sont les E.E.P.R.O.M aux P.R.O.M. Le nom de G.A.L. a t dpos par LATTICE SEMICONDUCTOR. Leur fonctionnement est identique aux P.A.L. CMOS, ils sont programmables et effaables lectriquement.

    Systmes Numriques

  • R. YAHIAOUI

    7

    * Les C.P.L.D.

    Les C.P.L.D. Ce qui signifie CComplexomplex P Programmablerogrammable L Logicogic D Deviceevice. Ces circuits sont composs de plusieurs P.A.L.s lmentaires (Par exemple lquivalent de P.A.L.s 22V10) relis entre-eux par une zone dinterconnexion. Grce cette architecture, ils permettent datteindre des vitesses de fonctionnement leves (plusieurs centaine de Mhz).

    Les Circuits Logiques Programmables (P.L.D.)Classification (suite)

    * Les L.C.A. & F.P.G.A. anti-fusible.

    -Les L.C.A. Ce qui signifie LLogicogic C Cell ell AArrayrray ou encore rseau de cellules logiques. Ces circuits sont composs de blocs logiques lmentaires de 2000 10000 portes que l'utilisateur peut interconnecter.

    - Les F.P.G.A. anti fusibles anti fusibles sont identiques aux L.C.A sauf qu'ils permettent une plus grande intgration de portes et ils ne sont pas effaables lectriquement. Le nom anti-fusible vient de la programmation des connexions qui s'effectue par fermeture de circuits, compar aux fusibles o l'on ouvre les circuits.

    RemarqueRemarque : Les composants programmables proposs par ALTERA sont de type EEPROM et SRAM.

    Systmes Numriques

  • R. YAHIAOUI

    8

    Structure de base

    Les Circuits Logiques Programmables (P.L.D.)

    La plupart des PLDs suivent la structure suivante :

    Un ensemble doprateurs ET sur lesquels viennent se connecter les variables dentre et leurs complments. Un ensemble doprateurs OU sur lesquels les sorties des oprateurs ET sont connectes. Une ventuelle structure de sortie (Portes inverseuses, logique 3 tats, registres...).

    Les deux premiers ensembles forment chacun ce quon appelle une matrice. Les interconnexions de ces matrices doivent tre programmables. Cest la raison pour laquelle elles sont assures par des fusibles qui sont grills lors de la programmation.

    Lorsquun PLD est vierge toutes les connexions sont assures.

    symbolisation des portes logiques pour les PLDs

    Systmes Numriques

  • R. YAHIAOUI

    9

    Structure de base

    Les Circuits Logiques Programmables (P.L.D.)

    D'un point de vue fonctionnel un D'un point de vue fonctionnel un P.A.LP.A.L. est constitu d'une zone d'entre de fusibles ou matrice de programmation et une structure de sortie non programmable dterminant le type de circuit voir schma ci-dessous.

    En rsumEn rsum

    Tout Tout P.A.L. est constitu :P.A.L. est constitu :

    - D'entres (Input): I1 In avec 8

  • R. YAHIAOUI

    10

    Structure de base dun P.L.D

    Les Circuits Logiques Programmables (P.L.D.)

    Un exemple de ce type de structure est prsent ici :

    On peut remarquer que la reprsentation dune telle structure est complexe alors que le nombre de portes intgres est peu important.

    Symbolisation normalise

    Systmes Numriques

  • R. YAHIAOUI

    11

    Structure de base dun P.L.D

    Les Circuits Logiques Programmables (P.L.D.)

    Les constructeurs ont donc trs rapidement adopts un autre type de reprsentation rendant les schmas beaucoup plus lisibles.

    On remarquera que la norme adopte est amricaine (normal, la plupart des constructeurs sont amricains).

    Un exemple de cette reprsentation est donn ici:

    Structure de base avec les normes des constructeurs

    Cette figure reprsente la structure interne dun PLD ayant ses fusibles intacts. Les quations logiques de Q0 et Q1 sont :Q0 = Q1 = a./b./a.b + a./b./a.b + a./b./a.b + a./b./a.b = 0

    Somme des Termes produits

    Systmes Numriques

  • R. YAHIAOUI

    12

    Structure de base dun P.L.D

    Les Circuits Logiques Programmables (P.L.D.)

    Si on veut obtenir les fonctions Q0 = a./b + /a.b et Q1 = /a./b + a.b , on grillera des fusibles de faon obtenir le schma suivant :

    PLD programm

    Systmes Numriques

  • R. YAHIAOUI

    13

    Exercices

    Les Circuits Logiques Programmables (P.L.D.)

    Implanter les quations suivantes dans le PAL 22V10 ci-dessous.F = /a.b + /c./b./a + c.bG = /a + /b

    On marque d'une croix les fusibleslaisss intact.

    Prciser comment sont les fusibles d'un terme produit non utilis. Il faut en effet que le terme produit correspondant n'influence pas la sortie. Le terme est donc annul en configurant les fusibles de la bonne manire.

    Systmes Numriques

  • R. YAHIAOUI

    14

    Exercices

    Les Circuits Logiques Programmables (P.L.D.)

    Implanter les quations suivantes dans le PAL 22V10 ci-dessous.F = /a.b + /c./b./a + c.bG = /a + /b

    Prciser comment sont les fusibles d'un terme produit non utilis. Il faut en effet que le terme produit correspondant n'influence pas la sortie. Le terme est donc annul en configurant les fusibles de la bonne manire.

    Un terme produit non utilis est Un terme produit non utilis est neutralis en ralisant le calcul neutralis en ralisant le calcul de la valeur logique 0, quelque de la valeur logique 0, quelque soit la valeur sur son entre.soit la valeur sur son entre.

    Systmes Numriques

  • R. YAHIAOUI

    15

    Exercices

    Les Circuits Logiques Programmables (P.L.D.)

    Implanter les quations suivantes dans le PAL suivant :

    F = /e + a.d + /g.a./d + h.e./aH = a./d./c.e + /g.d.c

    La validation du PAL est ralise par une quation

    Enable F = a.dEnable H = c.h

    Prciser comment sont grs les termes produits non utiliss.

    Systmes Numriques

  • R. YAHIAOUI

    16

    Les Circuits Logiques Programmables (P.L.D.)

    Dans l'exemple du cours et les deux exercices prcdent, la programmation tait facilement ralisable, ce n'est pas toujours le cas. C'est pourquoi il existe un grand nombre de P.A.L. utilisant des structures de sorties diffrentes. On peut distinguer trois types de structures de base:

    - Combinatoire. - Squentielle. - Versatile.- Combinatoire. - Squentielle. - Versatile.

    Les diffrentes structuresLes diffrentes structures

    - H -> (High) Porte ET suivit d'une Porte OU. Sortie active l'tat haut.- L -> (Low) Porte ET suivit d'une Porte NON OU. Sortie active l'tat bas.- C -> (Combine) programmable en type H ou L.

    1. Combinatoire:1. Combinatoire: Il existe trois types:

    Systmes Numriques

  • R. YAHIAOUI

    17

    Les Circuits Logiques Programmables (P.L.D.)

    Les diffrentes structuresLes diffrentes structures

    2. Squentielle:2. Squentielle: Il existe trois types:

    - R -> (Register): RegistreRegistre. Ces circuits sont composs de bascule D. Les sorties des bascules sont de type trois tats contrles par un signal de validation Enable ou OE, et une horloge est commune toutes les bascules (clock).

    - X -> (Register Or Exclusif): Ou Exclusif et Registre.Ou Exclusif et Registre.

    Systmes Numriques

  • R. YAHIAOUI

    18

    Les Circuits Logiques Programmables (P.L.D.)

    Les diffrentes structuresLes diffrentes structures

    -RA -> (Register Asynchron): Registre asynchrone.Registre asynchrone.

    2. Squentielle (suite):2. Squentielle (suite):

    Elles peuvent prendre quatre configurations suivant les valeurs de AP et AR.

    Les structures de sorties sont beaucoup plus volues par rapport aux autres P.A.L., elles se rapprochent des P.A.L. de type versatile.

    Systmes Numriques

  • R. YAHIAOUI

    19

    Les Circuits Logiques Programmables (P.L.D.)

    Les diffrentes structuresLes diffrentes structures

    3. Les versatiles V:3. Les versatiles V:

    Ce type de structure reprsente les P.A.L. les plus volues, car les structures de sorties dite versatile proposent quatre configurations possibles suivant les valeurs de S0 et S1.

    Ce qui donne:

    Systmes Numriques

  • R. YAHIAOUI

    20

    Systmes NumriquesLes Circuits Logiques Programmables (P.L.D.)

    Exemple de P.A.LExemple de P.A.L

    Le plus clbre des circuits versatile est certainement le P.A.L. 22V10 de chez AMD. Il permet d'muler pratiquement tout les autres types de P.A.L. et dispose d'un circuit de remise zro des registres la mise sous tension du circuit.

    Schma interne dun PAL 22V10 : ( GAL22V10 Lattice Semiconductor).

  • R. YAHIAOUI

    21

    Les Circuits Logiques Programmables (P.L.D.)

    Les rfrences des Les rfrences des P.A.L.P.A.L.

    Les constructeurs de P.A.L. ont standardis le marquage des P.A.L.

    Chez AMD:

    Chez TEXAS INSTRUMENTS:

    Systmes Numriques

  • R. YAHIAOUI

    22

    Les Circuits Logiques Programmables (P.L.D.)

    Les rfrences des Les rfrences des P.A.L.P.A.L.

    Le nombre dentres varie entre 8 et 22.

    Le nombre de sorties varie entre 2 et 15.

    La puissance est indique par une lettre code.

    La vitesse indique le temps de propagation en nS.

    Les versions versatiles ont une cellule de sortie programmable permettant dobtenir nimporte quel autre type de structure de sortie (L, H, R ...).

    Les versions CMOS (CE) sont effaables lectriquement. Les fusibles sont remplacs par des transistors de type MOS FET. Ce ne sont ni plus ni moins que des GALs .

    Un circuit Un circuit P.A.L. peut tre dupliqu comme une EPROM, pour le protger les P.A.L. peut tre dupliqu comme une EPROM, pour le protger les constructeurs ont ajout un bit dit de scurit. Si ce bit est programm alors le constructeurs ont ajout un bit dit de scurit. Si ce bit est programm alors le circuit ne peut plus tre relu.circuit ne peut plus tre relu.

    Remarques :

    Systmes Numriques

  • R. YAHIAOUI

    23

    Les Circuits Logiques Programmables (P.L.D.)

    Les rfrences des Les rfrences des P.A.L.P.A.L. Exemples:

    PAL 16 L 8 H 15 PCPAL 16 L 8 H 15 PC : 1616 entres maximum, L:L: Structure de sortie : Combinatoire Structure de sortie : Combinatoire active Basactive Bas, 88 sorties maximum, HH: Consommation : puissance, 15: 15: Vitesse : 15 nS, PCPC: Type de botier : DIL plastique civile

    Systmes Numriques

  • R. YAHIAOUI

    24

    Les G.A.L (GGeneric AArray LLogic).

    Linconvnient majeur des PALs est quils ne sont programmables quune seule fois. Ceci impose un gaspillage important de ces circuits lorsquon veut dvelopper un nouveau produit.

    La firme LATTICE a donc pens, il y a un peu plus de 10 ans, remplacer les fusibles remplacer les fusibles irrversibles des PALs par des transistors MOS FET pouvant tre rgnrsirrversibles des PALs par des transistors MOS FET pouvant tre rgnrs. Ceci a donc donn naissance aux GALs que lon pourrait traduire par Rseau logique Gnrique .

    Ces circuits peuvent donc tre reprogramms volont sans pour autant avoir une dure de vie restreinte. On peut aussi noter que dans leur structure interne les GALs sont constitus On peut aussi noter que dans leur structure interne les GALs sont constitus de transistor CMOS alors que les PALs classiques sont constitus de transistors bipolaires.de transistor CMOS alors que les PALs classiques sont constitus de transistors bipolaires. La consommation des GALs est donc beaucoup plus faibleLa consommation des GALs est donc beaucoup plus faible. Depuis dautres constructeurs fabriquent ce type de produit en les appelant PAL CMOS .

    Par soucis de remplacer les PALs, LATTICE a quip la plupart de ses GALs de macro-cellules programmables permettant dmuler nimporte quel PAL. Ces structures de sortie sont donc du type Versatile (V).

    EMULER : Se dit d'un systme pouvant fonctionner comme un autre systme travers des EMULER : Se dit d'un systme pouvant fonctionner comme un autre systme travers des fonctions pour lesquelles il n'avait pas t prvu l'origine, sorte de compatibilit a posteriori. fonctions pour lesquelles il n'avait pas t prvu l'origine, sorte de compatibilit a posteriori.

    Systmes Numriques

  • R. YAHIAOUI

    25

    Les G.A.L (GGeneric AArray LLogic).

    Protection Contre la Duplication

    Comme pour les PAL, les GAL sont dots dun bit de scurit qui peut tre activ lors de dun bit de scurit qui peut tre activ lors de la programmation empchant ainsi toute lecture du contenu du circuitla programmation empchant ainsi toute lecture du contenu du circuit. Ce bit est remis zro seulement en effaant compltement le GAL.Il est aussi constitu dun ensemble de huit octets, appel signature lectronique, pouvant contenir des informations diverses sur le produit.

    Rfrence des GAL

    Le nombre de types de GAL est de 8de GAL est de 8. Les deux 2 derniers-ns prsentent une structure plus particulire. Les six plus anciens sont diffrencis par leurs nombres dentres et de sorties. Ils possdent une structure de sortie soit du type Versatile soit du type Registre asynchrone .

    Systmes Numriques

  • R. YAHIAOUI

    26

    Les Circuits Logiques Programmables Complexes(Les C.P.L.D)

    Les CPLDs pour (Complex Programmable Logic Device) ont une capacit en nombre de portes et en possibilits de configuration trs suprieure celle des PALs. Leurs architectures sont bases sur celles des PALS. Un CPLD cest Un CPLD cest lquivalent de plusieurs PALs mis dans le mme circuit associ une zone lquivalent de plusieurs PALs mis dans le mme circuit associ une zone dinterconnexion.dinterconnexion. Le nombres de portes peut varier entre 100 et 100 000 portes logiques et entre 16 et 1000 bascules voir plus.

    Structure gnrale dun CPLD.

    Systmes Numriques

  • R. YAHIAOUI

    27

    Les Circuits Logiques Programmables Complexes(Les C.P.L.D)

    PIA (Programmable Interconnect Array)

    Systmes Numriques

  • R. YAHIAOUI

    28

    LES F.P.G.A.s (Fields Programmable Gate Array).

    les FPGAs la diffrence des CPLDs sont assimilables des A.S.I.C. (Application Specific Integrated Circuit) programmables par lutilisateur.La puissance de ces circuits est telle quils peuvent tre composs de plusieurs milliers voire millions de portes logiques et de bascules. Les dernires gnrations de FPGA intgrent mme de la mmoire vive (RAM). Les deux plus grands constructeurs de FPGA sont XILINX et ALTERA.

    Introduction:

    Systmes Numriques

  • R. YAHIAOUI

    29

    LES F.P.G.A.s (Fields Programmable Gate Array).Architectures:

    Row-based architecture consiste en une alternance de ranges de modules logiques programmables et de pistes

    d'interconnexion.

    Sea of gates architecture ou mer de transistors (portes).

    Systmes Numriques

  • R. YAHIAOUI

    30

    LES F.P.G.A.s (Fields Programmable Gate Array).

    Systmes Numriques

  • R. YAHIAOUI

    31

    LES F.P.G.A.s (Fields Programmable Gate Array).

    Structure CPLD Structure FPGA

    (Complex Programmable Logic Device) (Field Programmable Gate Array)

    Fabricants : Xilinx, Altera, Atmel, Cypress, Quicklogic, Actel

    lments logiques LE

    Interconnexions :

    Fusibles, antifusibles, EEPROM, RAM

    Cellules I/O

    Systmes Numriques

  • R. YAHIAOUI

    32

    UFR Sciences et Techniques BesanonLicence EEA 3me Anne

    Cours

    Le VHDL plus en dtails

  • R. YAHIAOUI

    33

    Introduction la Synthse logique - VHDL

    Pourquoi avoir cr un langage de description de structures lectroniques (H.D.L.Hardware Description language) VHDL ?

    Labrviation VHDL signifie VHSIC Hardware Description Language (VHSIC : VeryHigh Speed Integrated Circuit). Ce langage a t crit dans les annes 70 pour raliser la simulation de circuits lectroniques. On la ensuite tendu en lui rajoutant des extensions pour permettre la conception (synthse) de circuits logiques programmables (P.L.D. Programmable Logic Device).Auparavant pour dcrire le fonctionnement dun circuit lectronique programmable les techniciens et les ingnieurs utilisaient des langages de bas niveau (ABEL, PALASM, ORCAD/PLD,..) ou plus simplement un outil de saisie de schmas.

    Actuellement la densit de fonctions logiques (portes et bascules) intgre dans les PLDs est telle (plusieurs milliers de portes voire millions de portes) quil nest plus possible dutiliser les outils dhier pour dvelopper les circuits daujourdhui.

    Systmes Numriques

  • R. YAHIAOUI

    34

    Introduction la Synthse logique - VHDL

    Les socits de dveloppement et les ingnieurs ont voulu saffranchir des contraintes technologiques des circuits. Ils ont donc cr des langages dits de haut niveau savoir VHDL et VERILOG. Ces deux langages font abstraction des contraintes technologies des circuits PLDs.Ils permettent au code crit dtre portable, cest dire quune description crite pour un circuit peut tre facilement utilise pour un autre circuit.

    Il faut avoir lesprit que ces langages dits de haut niveau permettent de matrialiserles structures lectroniques dun circuit.

    En effet les instructions crites dans ces langages se traduisent par une configuration logique de portes et de bascules qui est intgre lintrieur des circuits PLDs. Cest pour cela quon prfre parler de description VHDL ou VERILOG que de langage.

    Systmes Numriques

  • R. YAHIAOUI

    35

    Introduction la Synthse logique - VHDLRelation entre une description VHDL et les circuits logiques

    programmables.

    Schma fonctionnel dimplantation de descriptions VHDL dans un circuit logique

    programmable.

    Lors de la phase de synthse chaque bloc sera matrialis par des portes et/ou des bascules. La phase suivante sera dimplanter les portes et les bascules lintrieur du circuit logique.

    Cette tche sera ralise par le logiciel placement/routage ( Fitter ), au cours de laquelle les entres et sorties seront affectes des numros de broches.

    Limplantation dune ou de plusieurs descriptions VHDL dans un PLD va dpendre de laffectation que lon fera des broches dentres / sorties et des structures de base du circuit logique programmable.

    On peut remarquer sur le schma la fonction particulire du bloc VHDL N5. En effet dans la description fonctionnelle dun PLD on a souvent besoin dune fonction qui sert cadencer le fonctionnement de lensemble, celle-ci est trs souvent ralise par une machine dtats synchronise par une horlogemachine dtats synchronise par une horloge.

    Systmes Numriques

  • R. YAHIAOUI

    36

    Organisation fonctionnelle de

    dveloppement dun PLD.

    Systmes Numriques

  • R. YAHIAOUI

    37

    Structure dune description VHDL simple.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.

    Un dcodeur 1 parmi 4.

    Systmes Numriques

  • R. YAHIAOUI

    38

    Structure dune description VHDL simple.Structure dune description VHDL simple.

    1)1) Dclaration des bibliothques.Dclaration des bibliothques.

    Toute description VHDL utilise pour la synthse a besoin de bibliothques.

    LIEEE (Institut of Electrical and Electronics Engineers) les a normalises et plus particulirement la bibliothque IEEE1164. Elles contiennent les dfinitions des types de signaux lectroniques, des fonctions et sous programmes permettant de raliser des oprations arithmtiques et logiques,...

    Library ieee;Use ieee.std_logic_1164.all;Use ieee.numeric_std.all;Use ieee.std_logic_unsigned.all;

    -- cette dernire bibliothque est souvent utilise pour lcriture de compteurs

    La directive UseUse permet de slectionner les bibliothques utiliser.

    Systmes Numriques

  • R. YAHIAOUI

    39

    Structure dune description VHDL simple.Structure dune description VHDL simple.

    2) Dclaration de lentit et des entres / sorties (I/O).2) Dclaration de lentit et des entres / sorties (I/O).

    Systmes Numriques

  • R. YAHIAOUI

    40

    Structure dune description VHDL simple.Structure dune description VHDL simple.2) Dclaration de lentit et des entres / sorties (I/O).2) Dclaration de lentit et des entres / sorties (I/O).

    2.1) Le 2.1) Le NOM_DU_SIGNAL.NOM_DU_SIGNAL.Il est compos de caractres, le premier caractre doit tre une lettre, sa longueur est quelconque, mais elle ne doit pas dpasser une ligne de code. VHDL nest pas sensible la casse , cest dire quil ne fait pas la distinction entre les majuscules et les minuscules.2.2) Le 2.2) Le SENS du signal.SENS du signal.- in : in : pour un signal en entre.- out : out : pour un signal en sortie.- inout : inout : pour un signal en entre sortie- buffer : buffer : pour un signal en sortie mais utilis comme entre dans la description.2.3) Le 2.3) Le TYPE.TYPE.Le TYPE utilis pour les signaux dentres / sorties est :- le std_logic pour un signal.- le std_logic_vector pour un bus compos de plusieurs signaux.

    Systmes Numriques

  • R. YAHIAOUI

    41

    Structure dune description VHDL simple.Structure dune description VHDL simple.

    3) Dclaration de larchitecture correspondante lentit : description du 3) Dclaration de larchitecture correspondante lentit : description du fonctionnementfonctionnement.

    Larchitecture dcrit le fonctionnement souhait pour un circuit ou une partie du circuit.

    En effet le fonctionnement dun circuit est gnralement dcrit par plusieurs modules VHDL. Il faut comprendre par module le couple ENTITE/ARCHITECTURE. Dans le cas de simples PLDs on trouve souvent un seul module.

    Larchitecture tablit travers les instructions les relations entre les entres et les sorties. On peut avoir un fonctionnement purement combinatoire, squentiel voire les deux squentiel et combinatoire.

    Systmes Numriques

  • R. YAHIAOUI

    42

    Introduction la Synthse logique - VHDLIntroduction la Synthse logique - VHDL

    En VHDL, une structure logique est dcrite l'aide d'une entit et d'une architecture de la faon suivante:

    Rsum:Rsum:

    Systmes Numriques

  • R. YAHIAOUI

    43

    Introduction la Synthse logique - VHDLIntroduction la Synthse logique - VHDL

    Exemple:Exemple:

    Systmes Numriques

  • R. YAHIAOUI

    44

    Introduction la Synthse logique - VHDLIntroduction la Synthse logique - VHDL

    Exemple:Exemple:

    Systmes Numriques

  • R. YAHIAOUI

    45

    Exemples de Exemples de Dclaration de larchitecture Dclaration de larchitecture

    Introduction la Synthse logique - VHDLIntroduction la Synthse logique - VHDLSystmes Numriques

  • R. YAHIAOUI

    46

    Description comportementale et structurelleDescription comportementale et structurelle

    Il existe deux faons distinctes de dcrire une structure. L'une dite comportementalecomportementale et l'autre structurellestructurelle.

    Dans ce type de description, le comportement de la structure est directement inscrit dans l'architecture l'aide d'instructions squentielles ou sous forme de flow de donnes.

    Description comportementaleDescription comportementale

    Introduction la Synthse logique - VHDLIntroduction la Synthse logique - VHDLSystmes Numriques

  • R. YAHIAOUI

    47

    Description comportementale et structurelleDescription comportementale et structurelle

    Description StructurelleDescription Structurelle

    Introduction la Synthse logique - VHDLIntroduction la Synthse logique - VHDLSystmes Numriques

  • R. YAHIAOUI

    48

    Description comportementale et structurelleDescription comportementale et structurelle

    Description StructurelleDescription Structurelle

    Introduction la Synthse logique - VHDLIntroduction la Synthse logique - VHDLSystmes Numriques

  • R. YAHIAOUI

    49

    Les instructions de base (mode concurrent ), logique combinatoire.Les instructions de base (mode concurrent ), logique combinatoire.

    Introduction la Synthse logique - VHDLIntroduction la Synthse logique - VHDL

    Quest ce que le mode concurrent concurrent ? Pour une description VHDL toutes les instructions sont values et affectent les signaux de sortie en mme temps.

    Lordre dans lequel elles sont crites na aucune importance.Lordre dans lequel elles sont crites na aucune importance. En effet la description gnre des structures lectroniques, cest la grande diffrence entre une description VHDL et un langage informatique VHDL et un langage informatique classique.

    Dans un systme microprocesseur, les instructions sont excutes les unes la suite des autres.

    Avec VHDL il faut essayer de penser la structure qui va tre gnre par le VHDL il faut essayer de penser la structure qui va tre gnre par le synthtiseur synthtiseur pour crire une bonne description, cela nest pas toujours vident.

    Systmes Numriques

  • R. YAHIAOUI

    50

    Les instructions de base (mode concurrent ), logique combinatoire.Les instructions de base (mode concurrent ), logique combinatoire.Introduction la Synthse logique - VHDLIntroduction la Synthse logique - VHDL

    Pour le dcodeur 1 parmi 4 au transparent 98, lordre dans lequel seront crites les instructions na aucune importance.

    Linstruction dfinissant ltat de D0D0 t dplace la troisime ligne, la synthse de cette architecture est quivalente la premire.

    Systmes Numriques

  • R. YAHIAOUI

    51

    Introduction la Synthse logique - VHDLIntroduction la Synthse logique - VHDL

    1) Les oprateurs.

    Les instructions de base (mode concurrent ), logique combinatoire.Les instructions de base (mode concurrent ), logique combinatoire.

    1.a) Laffectation simple :

  • R. YAHIAOUI

    52

    Introduction la Synthse logique - VHDLIntroduction la Synthse logique - VHDLLes instructions de base (mode concurrent ), logique combinatoire.Les instructions de base (mode concurrent ), logique combinatoire.

    1.a) Laffectation simple :

  • R. YAHIAOUI

    53

    Introduction la Synthse logique - VHDLIntroduction la Synthse logique - VHDLLes instructions de base (mode concurrent ), logique combinatoire.Les instructions de base (mode concurrent ), logique combinatoire.

    1.b) Oprateur de concatnation : &.

    Cet oprateur permet de joindre des signaux entre eux .

    Systmes Numriques

  • R. YAHIAOUI

    54

    Introduction la Synthse logique - VHDLIntroduction la Synthse logique - VHDLLes instructions de base (mode concurrent ), logique combinatoire.Les instructions de base (mode concurrent ), logique combinatoire.

    1.c) Oprateurs logiques.

    Systmes Numriques

  • R. YAHIAOUI

    55

    Introduction la Synthse logique - VHDLIntroduction la Synthse logique - VHDLLes instructions de base (mode concurrent ), logique combinatoire.Les instructions de base (mode concurrent ), logique combinatoire.

    1.d) Oprateurs arithmtiques.

    Systmes Numriques

  • R. YAHIAOUI

    56

    Introduction la Synthse logique - VHDLIntroduction la Synthse logique - VHDLLes instructions de base (mode concurrent ), logique combinatoire.Les instructions de base (mode concurrent ), logique combinatoire.

    1.e) Oprateurs relationnels.

    Systmes Numriques

  • R. YAHIAOUI

    57

    Introduction la Synthse logique - VHDLIntroduction la Synthse logique - VHDLLes instructions de base (mode concurrent ), logique combinatoire.Les instructions de base (mode concurrent ), logique combinatoire.

    2) Les instructions du mode concurrent .

    2.a) Affectation conditionnelle :

    Systmes Numriques

  • R. YAHIAOUI

    58

    Introduction la Synthse logique - VHDLIntroduction la Synthse logique - VHDLLes instructions de base (mode concurrent ), logique combinatoire.Les instructions de base (mode concurrent ), logique combinatoire.

    2) Les instructions du mode concurrent .

    2.a) Affectation conditionnelle :

    Systmes Numriques

  • R. YAHIAOUI

    59

    Introduction la Synthse logique - VHDLIntroduction la Synthse logique - VHDLLes instructions de base (mode concurrent ), logique combinatoire.Les instructions de base (mode concurrent ), logique combinatoire.

    2) Les instructions du mode concurrent .

    2.b) Affectation slective :

    Cette instruction permet daffecter diffrentes valeurs un signal, selon les valeurs prises par un signal dit de slection.

    Systmes Numriques

  • R. YAHIAOUI

    60

    Introduction la Synthse logique - VHDLIntroduction la Synthse logique - VHDLLes instructions de base (mode concurrent ), logique combinatoire.Les instructions de base (mode concurrent ), logique combinatoire.

    2) Les instructions du mode concurrent .

    2.b) Affectation slective :

    Systmes Numriques

  • R. YAHIAOUI

    61

    Introduction la Synthse logique - VHDLIntroduction la Synthse logique - VHDLLes instructions de base (mode concurrent ), logique combinatoire.Les instructions de base (mode concurrent ), logique combinatoire.

    2) Les instructions du mode concurrent .2.b) Affectation slective :

    Systmes Numriques

  • R. YAHIAOUI

    62

    Introduction la Synthse logique - VHDLIntroduction la Synthse logique - VHDLLes instructions de base (mode concurrent ), logique combinatoire.Les instructions de base (mode concurrent ), logique combinatoire.

    2) Les instructions du mode concurrent .2.b) Affectation slective :

    Systmes Numriques

  • R. YAHIAOUI

    63

    Introduction la Synthse logique - VHDLIntroduction la Synthse logique - VHDLLes instructions de base (mode concurrent ), logique combinatoire.Les instructions de base (mode concurrent ), logique combinatoire.

    2) Les instructions du mode concurrent .2.b) Affectation slective :

    Systmes Numriques

  • R. YAHIAOUI

    64

    Introduction la Synthse logique - VHDLIntroduction la Synthse logique - VHDLLes instructions du mode squentielLes instructions du mode squentiel

    1) Dfinition dun PROCESS.

    Systmes Numriques

  • R. YAHIAOUI

    65

    Introduction la Synthse logique - VHDLIntroduction la Synthse logique - VHDLLes instructions du mode squentielLes instructions du mode squentiel

    2) Les deux principales structures utilises dans un process.

    Systmes Numriques

  • R. YAHIAOUI

    66

    Introduction la Synthse logique - VHDLIntroduction la Synthse logique - VHDLLes instructions du mode squentielLes instructions du mode squentiel

    -Seul le signal CLK fait partie de la liste de sensibilit. Daprs les rgles de fonctionnement nonces prcdemment, seul un changement dtat un changement dtat du signal CLK va dclencher le process et par consquent valuer les instructions de celui-ci.

    -Linstruction if if (CLK'event and CLK='1') thenthen permet de dtecter un front montant du signal CLK. La dtection de front est ralise par lattribut eventevent appliqu lhorloge CLK. CLK. Si on veut un dclenchement sur un front descendant, il faut crire linstruction suivante : : if (CLK'event and if (CLK'event and CLK='0').CLK='0').

    -Les bibliothques IEEEIEEE possdent deux instructions permettant de dtecter les fronts montants ) rising_edge(CLK) ou descendants falling_edge(CLK).

    - Si la condition est remplie alors le signal de sortie S sera affect avec la valeur du signal dentre DD.

    Commentaires3) Exemple de Process

    Systmes Numriques

  • R. YAHIAOUI

    67

    Introduction la Synthse logique - VHDLIntroduction la Synthse logique - VHDLLes instructions du mode squentielLes instructions du mode squentiel

    4) Les compteurs :

    Ils sont trs utiliss dans les descriptions VHDL. Lcriture dun compteur peut tre trs simple comme trs complique. Ils font appels aux process.

    4.1) Compteur simple :

    Systmes Numriques

  • R. YAHIAOUI

    68

    Introduction la Synthse logique - VHDLIntroduction la Synthse logique - VHDLLes instructions du mode squentielLes instructions du mode squentiel

    Systmes Numriques

  • R. YAHIAOUI

    69

    Introduction la Synthse logique - VHDLIntroduction la Synthse logique - VHDLLes instructions du mode squentielLes instructions du mode squentiel

    Systmes Numriques

  • R. YAHIAOUI

    70

    Introduction la Synthse logique - VHDLIntroduction la Synthse logique - VHDLLes instructions du mode squentielLes instructions du mode squentiel

    4.2) Compteur mise un SET et mise zro RESET :

    Systmes Numriques

  • R. YAHIAOUI

    71

    Introduction la Synthse logique - VHDLIntroduction la Synthse logique - VHDLLes instructions du mode squentielLes instructions du mode squentiel

    4.3) Compteur / Dcompteur entre de prchargement :Remarque : La mise zro des sorties du compteur passe par linstruction : CMP 0 correspond mettre tous les bits du bus zro quelque soit le nombre de bits du bus. De la mme faon on peut crire others=>1 pour mettre tous les bits un.

    Systmes Numriques

  • R. YAHIAOUI

    72

    Introduction la Synthse logique - VHDLIntroduction la Synthse logique - VHDL

    1) Ecriture du fichier VHDL2) Compilation (analyse syntaxique)

    Si il y a une erreur elle est indique et parfois explique.Correction et compilation jusqu limination de toutes les erreurs

    3) Simulation fonctionnelleSi les signaux obtenus ne correspondent pas ceux esprsRevoir lanalyse du problme

    4) Choix du composant et affectation des broches5) Compilation et fitter (le logiciel intgre le fichier compil dans le composant)

    Si le fittage choue (composant trop petit , affectation des broches trop contraignante)

    Changer de composant. Revoir le fichier VHDL (analyse)6) Simulation tenant compte des temps de propagation

    Si les signaux obtenus ne correspondent pas ceux esprsChanger de composant. Revoir le fichier VHDL (analyse)

    7) Programmation du composant (transfre du fichier de configuration par un cble entre le PC et la carte)

    ALGORITHME DE PROGRAMMATION

    Les composants programmables proposs par ALTERA sont de type EEPROM et SRAM.

    Systmes Numriques

  • R. YAHIAOUI

    73

    THE ENDTHE END

    Diapo 1Diapo 2Diapo 3Diapo 4Diapo 5Diapo 6Diapo 7Diapo 8Diapo 9Diapo 10Diapo 11Diapo 12Diapo 13Diapo 14Diapo 15Diapo 16Diapo 17Diapo 18Diapo 19Diapo 20Diapo 21Diapo 22Diapo 23Diapo 24Diapo 25Diapo 26Diapo 27Diapo 28Diapo 29Diapo 30Diapo 31Diapo 32Diapo 33Diapo 34Diapo 35Diapo 36Diapo 37Diapo 38Diapo 39Diapo 40Diapo 41Diapo 42Diapo 43Diapo 44Diapo 45Diapo 46Diapo 47Diapo 48Diapo 49Diapo 50Diapo 51Diapo 52Diapo 53Diapo 54Diapo 55Diapo 56Diapo 57Diapo 58Diapo 59Diapo 60Diapo 61Diapo 62Diapo 63Diapo 64Diapo 65Diapo 66Diapo 67Diapo 68Diapo 69Diapo 70Diapo 71Diapo 72Diapo 73