cours vhdl 10 partie6 ire sequentiel

Upload: nouha-al-majed

Post on 13-Jul-2015

74 views

Category:

Documents


1 download

TRANSCRIPT

VHDL Logique programmablePartie 6 - Logique combinatoire logique squentielle D.Giacona 1/68 VHDL - Logique programmable Partie 6 Systmes combinatoires Systmes squentiels Denis Giacona ENSISA cole Nationale Suprieure d'Ingnieur Sud Alsace 12, rue des frres Lumire 68 093 MULHOUSE CEDEX FRANCE Tl. 33 (0)3 89 33 69 00 VHDL Logique programmablePartie 6 - Logique combinatoire logique squentielle D.Giacona 2/68 1. Systmes combinatoires ........................................................................................................................................................................ 41.1. Styles de description ........................................................................................................................................................................ 41.2. Blocs combinatoires standard .......................................................................................................................................................... 51.3. Fonctions arithmtiques laide doprateurs arithmtiques ........................................................................................................... 61.3.1. Addition de 2 nombres de 8 bits ................................................................................................................................................ 71.3.2. Surcharge de loprateur + ........................................................................................................................................................ 81.3.3. Addition de 4 nombres de 8 bits .............................................................................................................................................. 101.3.4. Multiplication non signe et multiplication signe .................................................................................................................... 121.3.5. Multiplication non signe 2bits * 2bits, rsultat sur 4bits ......................................................................................................... 131.3.6. Multiplication signe 8bits * 8bits, rsultat sur 16bits .............................................................................................................. 141.4. Fonctions arithmtiques laide doprateurs de dcalage ........................................................................................................... 151.5. Comparaisons l'aide d'oprateurs relationnels ........................................................................................................................... 161.6. Multiplexage .................................................................................................................................................................................. 171.6.1. Multiplexage : processus avec instruction case ..................................................................................................................... 171.6.2. Multiplexage : processus avec fonction de conversion ........................................................................................................... 181.6.3. Multiplexage : avec sortie 3 tats ............................................................................................................................................ 191.7. Partage de ressources logiques .................................................................................................................................................... 201.8. Dcodage ...................................................................................................................................................................................... 221.8.1. Dcodage : processus avec instruction case ......................................................................................................................... 221.8.2. Dcodage dadresses ............................................................................................................................................................. 231.9. Dcalage combinatoire .................................................................................................................................................................. 242. Systmes squentiels .......................................................................................................................................................................... 252.1. Bloc logique squentiel asynchrone .............................................................................................................................................. 252.2. Bloc logique squentiel synchrone ................................................................................................................................................ 252.3. La mmorisation implicite .............................................................................................................................................................. 262.4. Description comportementale de la logique squentielle asynchrone ........................................................................................... 272.4.1. Exemple de description laide dun processus ..................................................................................................................... 272.5. Description comportementale de la logique squentielle synchrone ............................................................................................. 292.5.1. Description incorrecte dun flip-flop D avec reset asynchrone ................................................................................................. 292.5.2. Mthode de synchronisation correcte ..................................................................................................................................... 312.5.3. reset et preset asynchrones .................................................................................................................................................... 322.5.4. reset et preset synchrones ...................................................................................................................................................... 33VHDL Logique programmablePartie 6 - Logique combinatoire logique squentielle D.Giacona 3/682.6. Exemples de blocs squentiels ..................................................................................................................................................... 342.6.1. D flip-flop (rising edge) ............................................................................................................................................................ 342.6.2. D flip-flop with enable .............................................................................................................................................................. 362.6.3. D flip-flop with Active High Synchronous Preset ..................................................................................................................... 402.6.4. D flip-flop with Active Low Synchronous Reset ....................................................................................................................... 412.6.5. D latch (level sensitive) ........................................................................................................................................................... 422.6.6. D latch (level sensitive) ........................................................................................................................................................... 432.6.7. RS latch (entres actives l'tat bas) ..................................................................................................................................... 442.6.8. RS latch (entres actives l'tat bas) ..................................................................................................................................... 452.6.9. RS latch (entres actives l'tat bas) ..................................................................................................................................... 462.6.10. Registre D synchrone, 8 bits, avec reset asynchrone .......................................................................................................... 472.6.11. Registre D synchrone, 8 bits, avec reset synchrone ............................................................................................................ 482.6.12. Registre D synchrone, 8 bits, avec reset synchrone et entre de validation ........................................................................ 492.6.13. Registre dcalage droite 4 bits, avec reset asynchrone ................................................................................................. 512.6.14. Registre dcalage droite 12 bits, avec reset asynchrone ............................................................................................... 532.6.15. Compteur BCD 4 bits, reset asynchrone, validation de comptage, sortie retenue assignation combinatoire .................... 542.6.16. Compteur BCD 4 bits, reset asynchrone, validation de comptage, sortie retenue assignation combinatoire .................... 582.6.17. Compteur BCD 4 bits, reset asynchrone, validation de comptage, sortie retenue synchronise ......................................... 612.6.18. Compteur binaire naturel 4 bits, synchrone, chargeable, sorties 3 tats.............................................................................. 662.6.19. Compteur 8 bits commandes multiples ............................................................................................................................. 67VHDL Logique programmablePartie 6 - Logique combinatoire logique squentielle D.Giacona 4/68 1. Systmes combinatoires 1.1.Styles de description La logique combinatoire peut tre dcrite dans tous les styles flot de donnes structurelle comportementale architecture nom_architecture of nom_entit is begin { instruction_concurrente_dassignation_de_signal | instruction_concurrente_dinstanciation_de_composant | instruction_concurrente_de_processus | instruction_de_gnration} end [architecture] [nom_architecture]; VHDL Logique programmablePartie 6 - Logique combinatoire logique squentielle D.Giacona 5/68 1.2.Blocs combinatoires standard Instruction case Instruction if elsif else Assignation conditionnelle whenelse Assignation slective with...selectDescription structurelle Oprateur arithmtique Additionneur xx Soustracteur xx Multiplexeurxxxx Dmultiplexeurxxxx Codeurxx x Dcodeurxx x Comparateur xx Multiplieur xx VHDL Logique programmablePartie 6 - Logique combinatoire logique squentielle D.Giacona 6/68 1.3.Fonctions arithmtiques laide doprateurs arithmtiques Lesoprateurs+(addition)et*(multiplication)sontinitialementdfinispourdes donnes de type entier. Lorsquelecompilateurrencontrel'oprateur+avecdepartetd'autreunsignalde typestd_logic_vector,ilgnreuneerreur,saufsionouvrelabibliothque contenant la surcharge de cet oprateur laide des directives suivantes : library ieee; use ieee.std_logic_unsigned.all; VHDL Logique programmablePartie 6 - Logique combinatoire logique squentielle D.Giacona 7/68 1.3.1.Addition de 2 nombres de 8 bits library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity add8_v2 is port( a: in std_logic_vector(7 downto 0); b: in std_logic_vector(7 downto 0); sum : out std_logic_vector(7 downto 0)); end add8_v2; architecture arch_add8_v2 of add8_v2 is begin sum