INF1500 : Logique des systèmes numériques

Documents pareils
Manipulations du laboratoire

Le langage VHDL. Eduardo Sanchez EPFL

IFT1215 Introduction aux systèmes informatiques

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Système binaire. Algèbre booléenne

GPA770 Microélectronique appliquée Exercices série A

SIN-FPGA DESCRIPTION PAR SCHEMA

T. BLOTIN Lycée Paul-Eluard SAINT-DENIS

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Logique séquentielle

Présentation du PL/SQL

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Architecture : Circuits numériques et éléments d architecture

Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES

Cours d algorithmique pour la classe de 2nde

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

MAC-TC: programmation d un plate forme DSP-FPGA

ELP 304 : Électronique Numérique. Cours 1 Introduction

Conception de circuits numériques et architecture des ordinateurs

FONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE

SYSTEME DE TELESURVEILLANCE VIDEO

Conception de circuits numériques et architecture des ordinateurs

ASR1 TD7 : Un microprocesseur RISC 16 bits

Organisation des Ordinateurs

IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL

VIII- Circuits séquentiels. Mémoires

SUR MODULE CAMÉRA C38A (OV7620)

Architecture des ordinateurs

Description du logiciel Modbus RTU

Partie I : Créer la base de données. Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle

Algorithmique et programmation : les bases (VBA) Corrigé

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

QUESTION 1 {2 points}

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Surveillance de Scripts LUA et de réception d EVENT. avec LoriotPro Extended & Broadcast Edition

NIVEAU D'INTERVENTION DE LA PROGRAMMATION CONCURRENTE

Génie Logiciel avec Ada. 4 février 2013

Algorithmique & programmation

Arbres binaires de recherche

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

La norme Midi et JavaSound

KL5121. Pour activer des sorties en fonction de la position d'un codeur

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

Algorithmique des Systèmes Répartis Protocoles de Communications

I- Définitions des signaux.

Cours de Génie Logiciel

Concept de machine virtuelle

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server

modèles génériques applicables à la synthèse de contrôleurs discrets pour l Internet des Objets

ACTIVITÉ DE PROGRAMMATION

Recherche dans un tableau

Application 1- VBA : Test de comportements d'investissements

Qualité du logiciel: Méthodes de test

Flexible Identity. authentification multi-facteurs. authentification sans token. Version 1.0. Copyright Orange Business Services mai 2014.

Compilation (INF 564)

CNAM - CRA Nancy 2000/2001. Génie Logiciel. Jacques Lonchamp DEUXIEME PARTIE. Les techniques de spécification.

Quatrième partie IV. Test. Test 15 février / 71

Ordonnancement temps réel

M2-Images. Rendu Temps Réel - OpenGL 4 et compute shaders. J.C. Iehl. December 18, 2013

Séminaire RGE REIMS 17 février 2011

données en connaissance et en actions?

Conception Systèmes numériques VHDL et synthèse automatique des circuits

Algèbre binaire et Circuits logiques ( )

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Haka : un langage orienté réseaux et sécurité

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Conception Systèmes numériques VHDL et synthèse automatique des circuits

ADÉQUATION ALGORITHME-ARCHITECTURE APPLIQUÉE AUX CIRCUITS RECONFIGURABLES

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

TRIGONOMETRIE Algorithme : mesure principale

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

Approche Contract First

- Couches - Éléments - Domaines - ArchiMate et les techniques du BABOK

Licence Sciences et Technologies Examen janvier 2010

Thème 3 Conception et vérification d architectures de systèmes sur puce

Architecture des ordinateurs. Robin FERCOQ

Exemples d utilisation de G2D à l oral de Centrale

Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR

Les portes logiques. Voici les symboles des trois fonctions de base. Portes AND. Portes OR. Porte NOT

Flux de données Lecture/Ecriture Fichiers

Les liaisons SPI et I2C

RÉALISATION ET MISE AU POINT D UN SYSTÈME DE TÉLÉSURVEILLANCE VIDÉO

VTP. LAN Switching and Wireless Chapitre 4

Vue d ensemble de Windows PowerShell

AMBUS IS Collecteur d impulsions M-Bus

Plan 1/9/2013. Génération et exploitation de données. CEP et applications. Flux de données et notifications. Traitement des flux Implémentation

Projet # 3 Serrure à deux clés

SAS ENTERPRISE MINER POUR L'ACTUAIRE

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Manuel Viadeis CRM Connecteur intégration L100 étendue.

7 Développement d une application de MapReduce

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes

Transcription:

INF1500 : Logique des systèmes numériques Cours 8: Machines à états Moore et Mealy Sylvain Martel - INF1500 1

Procédure d analyse d un circuit séquentiel La procédure pour analyser un circuit séquentiel synchrone à partir d un diagramme donné consiste à : Identifier les variables d état; Écrire les équations d état et les équations de sortie; Dresser le tableau d états; et, Dessiner le diagramme d état. Sylvain Martel - INF1500 2

Variables et équations d état L état d un circuit séquentiel est la valeur de tous ses éléments à mémoire à un moment donné. Dans un circuit séquentiel, chaque signal de sortie d un élément à mémoire est une variable d état du circuit. Les équations d état d un circuit séquentiel déterminent la valeur des variables d état du circuit en fonction de leurs valeurs présentes ainsi que des entrées du système. Les équations d état sont aussi appelées équations de transition. Sylvain Martel - INF1500 3

Machines d états finis (Finite State Machine) Modèle de base pour décrire le comportement d un système : Selon son état actuel, selon les évènements extérieurs, envoie des messages à l'extérieur change d'état Exemples: Distributeur automatique de monnaie Feu de circulation pour piéton La partie contrôle d un processeur Sylvain Martel - INF1500 4

Tableau d état Un tableau d état (aussi appelé tableau de transitions d état) est similaire à une table de vérité. Il comporte quatre sections : les états présents, les entrées, les états prochains, et les sorties. Si on a m bascules et n entrées, le tableau a 2 m + n rangées en forme générale. En forme compacte, le tableau n a que 2 m rangées. On forme alors des colonnes pour couvrir les différents cas des variables d entrée. Sylvain Martel - INF1500 5

Diagramme d état Toute l information présente dans un tableau d état peut être représentée sous forme graphique par un diagramme d état, et vice versa. Un diagramme d état ne contient pas plus d information qu un tableau d état mais facilite la compréhension du comportement du circuit. Dans un diagramme d état : Les états sont identifiés par des cercles, avec leur nom et/ou leur code binaire associé écrit dans le cercle; Les transitions entre les états sont identifiées par des flèches entre les cercles; Les conditions pour toute transition (i.e. les valeurs nécessaires de variables d entrée) sont placées à côté des flèches de transition; Pour les machines de Moore (i.e. si les sorties ne dépendent que de l état présent), la valeur des signaux de sortie est placée à l intérieur des cercles; et, Pour les machines de Mealy (i.e. si les sorties dépendent de l état présent et des entrées), la valeur des signaux de sortie est placée à côté des flèches de transition - on les sépare des conditions de transition par une barre oblique. Sylvain Martel - INF1500 6

Circuits séquentiels de Moore et de Mealy Un circuit séquentiel a toujours des éléments à mémoire et une fonction combinatoire pour calculer le prochain état. Il peut aussi avoir une ou des fonctions combinatoires de Mealy ou de Moore ou des deux. Dans une machine de Moore, les sorties ne sont fonctions que de l état présent. Dans une machine de Mealy, les sorties sont fonctions de l état présent ainsi que des entrées. Sylvain Martel - INF1500 7

Machine de Moore inputs Next-state Logic F excitation State Memory current state Output Logic G outputs clock input clock signal Copyright 2000 by Prentice Hall, Inc. Digital Design Principles and Practices, 3/e Sylvain Martel - INF1500 8

Machine de Mealy inputs Next-state Logic F excitation State Memory current state Output Logic G outputs clock input clock signal Copyright 2000 by Prentice Hall, Inc. Digital Design Principles and Practices, 3/e Sylvain Martel - INF1500 9

Exemple: compteur 2 bits avec la sortie MAX Next-state Logic F State Memory Output Logic G output EN input EN EN D0 excitation D CLK Q Q Q0 MAX Q0 Q0 D1 D Q Q1 Q1 CLK Q Q1 CLK clock signal current state Copyright 2000 by Prentice Hall, Inc. Digital Design Principles and Practices, 3/e Sylvain Martel - INF1500 10

Exemple 1 variables d état, équations d état et équation de sortie Tableau d état A+ = Z = B+ = Sylvain Martel - INF1500 11

Exemple 1 variables d état, équations d état et équation de sortie A+ = A B Z = (A + B) B+ = B + X Tableau d état Diagramme d état? 0 1 1 0 1 1 1 0 0 1 1 0 1 1 0 1 1 0 0 0 0 0 1 0 Sylvain Martel - INF1500 12

Exemple 2 variables d état, équations d état et équations de sortie A+ = Y = B+ = Z = Tableau d état Sylvain Martel - INF1500 13

Exemple 2 variables d état, équations d état et équations de sortie A+ = XA + XB Y = (A+B)X B+ = XA Z = A B Tableau d état Diagramme d état? 0 0 0 0 0 1 0 0 0 0 1 1 1 1 0 1 0 0 1 1 1 0 0 1 0 0 1 0 1 0 0 0 Sylvain Martel - INF1500 14

Exemple de FSMs reconnaissant la séquence 10 - En Machine de Moore S0: Pas d élément de la séquence S1: «1» observé S2: «10» observé Sylvain Martel - INF1500 15

Exemple de FSMs reconnaissant la séquence 10 - En Machine de Mealy S0: Pas d élément de la séquence S1: «1» observé Sylvain Martel - INF1500 16

Exemple de FSMs reconnaissant la séquence 10 Diagramme temporel Sylvain Martel - INF1500 17

Exemple: Concevoir une machine qui gère un code secret La sortie «Out» vaut 1 ssi les 4 dernières entrées étaient 0110 Sylvain Martel - INF1500 18

Moore et Mealy en VHDL entity FSM is is port (( clk, reset :: in in std_logic; in1, in2 :: in in std_logic; out1 :: out std_logic); end FSM; architecture archi of FSM is type STATE_TYPE is (state_0, state_1, state_2, state_3, state_4); signal state, next_state : STATE_TYPE; begin process (clk, reset) begin if if (clk='1' and clk'event) then if if (reset='0') then state <= <= state_0; else state <= <= next_state; end if; if; end if; if; end process; -Partie séquentielle Implémentation du registre «state» process (state, in1, in2) begin case state is is when state_0 => => if if (in1='0') then next_state <= <= state_0; out1 <= <= '0'; '0'; else next_state <= <= state_2; out1 <= <= 1'; end if; if; when state_1 => => end case; end process; end archi -Partie combinatoire Implémentation de «Mealy» process (state,, in1, in2) begin case state is is when state_0 => => out1 <= <= '0'; '0'; if if (in1='0') then next_state <= <= state_0; else next_state <= <= state_2; end if; if; when state_1 => => end case; end process; end archi; -Partie combinatoire Implémentation de «Moore» Sylvain Martel - INF1500 19

Exercices variables d état, équations d état et équations de sortie Q0+ = Q2+ = Q1+ = Sylvain Martel - INF1500 20

Exercice: Concevoir un système de feux de circulation à une intersection Sylvain Martel - INF1500 21

Sylvain Martel - INF1500 22