Éléments d'analyses et de synthèses en électronique numérique Patrick COHEN Pag

Éléments d'analyses et de synthèses en électronique numérique Patrick COHEN Page 2 IUFM de Toulouse - Lycée Technique d'Agen (3699) Sommaire 1 FONCTIONS COMBINATOIRES.................................................................................................................................... 5 1.1 EXEMPLE ........................................................................................................................................................................ 5 1.2 EQUATIONS..................................................................................................................................................................... 6 1.3 LA SYNTHÈSE « CLASSIQUE » ......................................................................................................................................... 6 1.4 DESCRIPTION À L’AIDE DU LANGAGE VHDL.................................................................................................................. 6 2 LES FONCTIONS SÉQUENTIELLES............................................................................................................................. 7 2.1 LES MACHINES SYNCHRONES À NOMBRE FINIS D’ÉTATS ................................................................................................. 7 2.1.1 Horloge, registre d’état et transitions.................................................................................................................... 7 2.1.1.1 Le registre d’état ...................................................................................................................................................................7 2.1.1.2 L’horloge ..............................................................................................................................................................................7 2.1.2 Les différentes architectures .................................................................................................................................. 7 3 OUTILS DE DESCRIPTION ............................................................................................................................................. 8 3.1 LE DIAGRAMME DE TRANSITION ..................................................................................................................................... 8 3.2 DU DIAGRAMME AUX ÉQUATIONS................................................................................................................................... 8 3.3 DESCRIPTION VHDL ...................................................................................................................................................... 9 4 EXEMPLES ......................................................................................................................................................................... 9 4.1 SYNTHÈSE D’UN SÉQUENCEUR........................................................................................................................................ 9 4.1.1 Analyse du cahier des charges............................................................................................................................... 9 4.1.2 Tracé des chronogrammes................................................................................................................................... 10 4.1.3 Représentation du diagramme de transition........................................................................................................ 10 4.1.4 Description en VHDL........................................................................................................................................... 11 4.2 ANALYSE D’UN FICHIER DE DESCRIPTION VHDL.......................................................................................................... 11 5 SYNTAXE DU LANGAGE VHDL.................................................................................................................................. 12 6 STRUCTURE GÉNÉRALE D’UN FICHIER DE DESCRIPTION.............................................................................. 12 6.1 LES OBJETS ET LEURS TYPES. LES ATTRIBUTS............................................................................................................... 13 6.1.1 Les objets ............................................................................................................................................................. 13 6.1.2 Les signaux .......................................................................................................................................................... 13 6.1.3 Les variables........................................................................................................................................................ 13 6.1.4 Les constantes...................................................................................................................................................... 13 6.1.5 Les types............................................................................................................................................................... 13 6.1.5.1 Entier ..................................................................................................................................................................................13 6.1.5.2 Bits......................................................................................................................................................................................13 6.1.5.3 Les tableaux........................................................................................................................................................................13 6.1.6 Les attributs ......................................................................................................................................................... 13 6.2 LES INSTRUCTIONS CONCURRENTES ............................................................................................................................. 14 6.2.1.1 Affectations concurrentes de signaux .................................................................................................................................14 6.2.1.1.1 Affectation simple........................................................................................................................................................14 6.2.1.1.2 Affectation conditionnelle............................................................................................................................................14 6.2.1.1.3 Affectation sélective.....................................................................................................................................................14 6.2.1.2 Instanciation de composants ...............................................................................................................................................14 6.2.1.3 Process................................................................................................................................................................................14 6.3 LES INSTRUCTIONS SÉQUENTIELLES.............................................................................................................................. 15 6.3.1.1 Affectation séquentielle ......................................................................................................................................................15 6.3.1.2 Affectation de variable........................................................................................................................................................15 6.3.1.2.1 Le test if … then … elsif … else … end if ;.................................................................................................................15 6.3.1.2.2 Le test case … when … end case ;...............................................................................................................................15 6.3.1.2.3 La boucle for ................................................................................................................................................................15 6.3.1.2.4 La boucle while............................................................................................................................................................16 7 INTÉGRATION DANS UN CPLD. ................................................................................................................................. 16 Page 3 Patrick COHEN (3699) 7.1 LES COMPOSANTS ALTERA ........................................................................................................................................ 16 7.1.1 La famille MAX 7000S......................................................................................................................................... 16 7.1.2 Le composant EPM 7128S................................................................................................................................... 17 7.2 PROGRAMMATION MATÉRIELLE.................................................................................................................................... 18 7.3 ALGORITHME DE PROGRAMMATION ............................................................................................................................. 18 7.4 LE LOGICIEL MAXPLUS.............................................................................................................................................. 19 Page 4 IUFM de Toulouse - Lycée Technique d'Agen (3699) Page 5 Patrick COHEN (3699) On peut considérer qu’il existe en électronique numérique, deux types de fonctions : les fonctions combinatoires et les fonctions séquentielles. 1 1 FONCTIONS COMBINATOIRES FONCTIONS COMBINATOIRES Une fonction combinatoire peut être représentée par un système dont les sorties dépendent uniquement des entrées. Le système ci-contre est parfaitement déterminé par un ensemble de p équations logiques S0 = FC0(E0, …, En) à SP = FCp(E0, …, En). Ces équations font référence aux opérateurs logiques de base (ET, OU, NON). FC E0 En S0 Sp L’outil permettant la description exhaustive d’un tel système est la table de vérité. Des méthodes mathématiques ont été développées afin de réduire ces équations, entre autres les tableaux de Karnaugh. Dés que la complexité du système devient importante (au-delà de quatre variables) il faut faire appel à des outils informatiques. 1.1 EXEMPLE On veut réaliser un dispositif effectuant la conversion BCD vers 7-segments. a b c d e f g b3 b2 b1 b0 a b c d e f g 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 1 1 0 0 1 0 1 0 0 1 1 1 1 1 1 0 0 1 0 1 0 0 0 0 1 0 0 1 1 0 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 1 Page 6 IUFM de Toulouse - Lycée Technique d'Agen (3699) 1.2 EQUATIONS .... etc g ... ... etc b . b . b . b b . b . b . b b . b . b . b b . b . b . b a 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 1.3 LA SYNTHÈSE « CLASSIQUE » Les équations précédentes sont élaborées à l’aide de circuits électroniques standard, après avoir simplifié ces équations afin de réduire la complexité de la réalisation. 1.4 DESCRIPTION À L’AIDE DU LANGAGE VHDL library ieee ; use ieee.std_logic_1164.ALL; entity BCD_2_7SEG is port ( BIN : in STD_LOGIC_VECTOR(3 downto 0) ; SORTIE : out STD_LOGIC_VECTOR(6 downto 0) ); end BCD_2_7SEG; architecture COMPORTEMENT of BCD_2_7SEG is begin process(BIN) -- Décodeur Binaire 7 segments. Les sorties sont actives au niveau bas. begin -- "abcdefg" case BIN is when 0 => SORTIE <= "0000001" ; when 1 => SORTIE <= "1001111" ; when 2 => SORTIE <= "0010010" ; when 3 => SORTIE <= "0000110" ; when 4 => SORTIE <= "1001100" ; when 5 => SORTIE <= "0100100" ; when 6 => SORTIE <= "0100000" ; when 7 => SORTIE <= "0001111" ; when 8 => SORTIE <= "0000000" ; when 9 => SORTIE <= "0000100" ; when others => SORTIE <= "01100000" ; -- E pour erreur end case ; end process ; end COMPORTEMENT; ------------------------------------------------- Dans ce cas le logiciel de synthèse se chargera de la réduction des équations en fonction de paramètres liés au type de circuit utilisé. Page 7 Patrick COHEN (3699) 2 2 LES FONCTIONS SÉQUENTIELLES LES FONCTIONS SÉQUENTIELLES La différence essentielle entre une fonction combinatoire et une fonction séquentielle réside dans la capacité de cette dernière de «se souvenir » des événements antérieurs : une même combinaison des entrées, à un certain instant, pourra avoir des effets différents suivant les valeurs des combinaisons précédentes de ces mêmes entrées. Pour traduire cet effet de mémoire on introduit la notion d’état interne de la fonction, l’action des entrées est alors de provoquer d’éventuels changements d’état, la situation qui suit le changement de l’une des entrées dépend de l’état précédent. Si le nouvel état est différent du précédent on dit qu’il y a eu une transition. 2.1 LES MACHINES SYNCHRONES À NOMBRE FINIS D’ÉTATS Fonction Combinatoire Calcul de l’état futur Registre d’état Fonction Combinatoire Calcul des sorties Horloge Entrées Etat futur Sorties p Etat actuel n n q Une machine à états (M.A.E.) en anglais Finite State Machine (F.S.M.) est un système dynamique, qui peut se trouver, à chaque instant, dans une position parmi un nombre fini de positions possibles. Elle parcourt des cycles, en changeant éventuellement d’état lors des transitions actives de l’horloge. L’architecture générale d’une machine à état est présentée ci-dessous. 2.1.1 HORLOGE, REGISTRE D’ÉTAT ET TRANSITIONS Le registre d’état, piloté par son horloge, constitue le cœur d’une machine à états. Les autres blocs fonctionnels sont à son service. 2.1.1.1 LE REGISTRE D’ÉTAT Il est constitué de n bascules synchrones. Son contenu représente l’état actuel de la machine. Il s’agit d’un nombre codé en binaire sur n bits. L’entrée du registre d’état constitue l’état futur, celui qui sera chargé lors de la prochaine transition active de l’horloge. Le registre d’état est la mémoire de la machine. La taille du registre d’état fixe le nombre d’états accessibles. Si n est le nombre de bascules, le nombre d’états N = 2n . 2.1.1.2 L’HORLOGE Le rôle de l’horloge est de fixer les instants où les transitions entre états sont prises en compte. Entre deux fronts consécutifs de l’horloge, la machine est figée en position mémoire. 2.1.2 LES DIFFÉRENTES ARCHITECTURES La figure 2 présente l’architecture générale d’une machine à états. Suivant la façon dont les sorties dépendent des états et des commandes, on distingue deux types de Page 8 IUFM de Toulouse - Lycée Technique d'Agen (3699) machines à états : les machines de Moore et les machines de Mealy. Dans les premières les sorties ne dépendent que de l’état actuel (la liaison en trait interrompue est absente), pour les secondes les sorties dépendent de l’état actuel et des entrées (la liaison en trait interrompu est présente). 3 3 OUTILS DE DESCRIPTION OUTILS DE DESCRIPTION Si l’outil d’analyse et de synthèse des fonctions combinatoires est la table de vérité, le diagramme de transition constitue l’outil privilégié pour l’analyse et la synthèse des fonctions séquentielles. 3.1 LE DIAGRAMME DE TRANSITION On associe à chaque valeur possible du registre d’état, une case. L’évolution du système est représentée par des flèches représentant les transitions. Pour qu’une transition soit activée il faut que les trois conditions suivantes soient vérifiées : 1. Le système se trouve dans l’état «source » considéré 2. La condition de réalisation sur les entrées est vraie 3. Un front actif de l’horloge survient Pour les machines de Moore les sorties évoluent après l’activation de la transition. Les valeurs des sorties seront représentées dans les cases du diagramme. Etat 0 S0=1 S1=0 Etat 1 S0=1 S1=1 Etat 2 S0=0 S1=0 E=0 E=1 E=0 E=1 E=0 Etat 0 Etat 1 Etat 2 E=0 S0=1 S1=1 E=1 S0=1 S1=0 E=0 S0=0 S1=0 E=1 S0=1 S1=0 E=0 S0=0 S1=0 Pour les machines de Mealy les sorties évoluent après l’évolution des entrées. Les valeurs uploads/Litterature/ vhdl-coh.pdf

  • 21
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager