VHDL et la synthèse de circuits séquentiels

Documents pareils
Le langage VHDL. Eduardo Sanchez EPFL

SIN-FPGA DESCRIPTION PAR SCHEMA

Manipulations du laboratoire

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

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

Logique séquentielle

IFT1215 Introduction aux systèmes informatiques

VIII- Circuits séquentiels. Mémoires

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

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Instructions Mozilla Thunderbird Page 1

FONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE

Conception de circuits numériques et architecture des ordinateurs

THÈSE. présentée à TÉLÉCOM PARISTECH. pour obtenir le grade de. DOCTEUR de TÉLÉCOM PARISTECH. Mention Informatique et Réseaux. par.

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

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

UML : Unified Modeling Language

Eléments de statistique

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

Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00

DOCUMENTATION - FRANCAIS... 2

3615 SELFIE. HOW-TO / GUIDE D'UTILISATION

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

QUESTION 1 {2 points}

Contrôle d'accès Access control. Notice technique / Technical Manual

Frequently Asked Questions

Logitech Tablet Keyboard for Windows 8, Windows RT and Android 3.0+ Setup Guide Guide d installation

Utiliser une WebCam. Micro-ordinateurs, informations, idées, trucs et astuces

XtremWeb-HEP Interconnecting jobs over DG. Virtualization over DG. Oleg Lodygensky Laboratoire de l Accélérateur Linéaire

Dans une agence de location immobilière...

Editing and managing Systems engineering processes at Snecma

VMware : De la Virtualisation. au Cloud Computing

VTP. LAN Switching and Wireless Chapitre 4

ANGULAR JS AVEC GDE GOOGLE

DOCUMENTATION - FRANCAIS... 2

lundi 3 août 2009 Choose your language What is Document Connection for Mac? Communautés Numériques L informatique à la portée du Grand Public

SUR MODULE CAMÉRA C38A (OV7620)

DOCUMENTATION - FRANCAIS... 2

Forthcoming Database

Guide d'installation rapide TFM-560X YO.13

HAUTE DISPONIBILITÉ DE MACHINE VIRTUELLE AVEC HYPER-V 2012 R2 PARTIE CONFIGURATION OPENVPN SUR PFSENSE

Comprendre l impact de l utilisation des réseaux sociaux en entreprise SYNTHESE DES RESULTATS : EUROPE ET FRANCE

Ordinateurs, Structure et Applications

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

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

TABLE DES MATIERES A OBJET PROCEDURE DE CONNEXION

WEB page builder and server for SCADA applications usable from a WEB navigator

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

Institut français des sciences et technologies des transports, de l aménagement

Lesson Plan Physical Descriptions. belle vieille grande petite grosse laide mignonne jolie. beau vieux grand petit gros laid mignon

Cette Leçon va remplir ces attentes spécifiques du curriculum :

Fiche produit ifinance v4

Practice Direction. Class Proceedings

Thank you for choosing the Mobile Broadband USB Stick. With your USB Stick, you can access a wireless network at high speed.

Improving the breakdown of the Central Credit Register data by category of enterprises

Formulaire d inscription (form also available in English) Mission commerciale en Floride. Coordonnées

Thank you for choosing the Mobile Broadband USB Stick. With your USB Stick, you can access a wireless network at high speed.

Using a Walker. 2. Move your injured or weak leg toward the walker first. If you have had surgery on both legs, use either leg to begin walking.

REMOTE DATA ACQUISITION OF EMBEDDED SYSTEMS USING INTERNET TECHNOLOGIES: A ROLE-BASED GENERIC SYSTEM SPECIFICATION

France SMS+ MT Premium Description

Algorithmique des Systèmes Répartis Protocoles de Communications

If you understand the roles nouns (and their accompanying baggage) play in a sentence...

Folio Case User s Guide

CETTE FOIS CEST DIFFERENT PDF

Durée estimée :1 journée Date de la réalisation : Description Fournisseur Référence Nombre PU HT LM35CZ, LM35AZ LM35DZ

Acronymes et abréviations. Acronymes / Abbréviations. Signification

Gestion des prestations Volontaire

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

Chapitre 4 : Les mémoires

Conférence sur les microcontroleurs.

Supervision et infrastructure - Accès aux applications JAVA. Document FAQ. Page: 1 / 9 Dernière mise à jour: 15/04/12 16:14

Cours Bases de données 2ème année IUT

Configurer la supervision pour une base MS SQL Server Viadéis Services

Moteur DC: Comment faire varier sa vitesse?

Get Instant Access to ebook Cest Maintenant PDF at Our Huge Library CEST MAINTENANT PDF. ==> Download: CEST MAINTENANT PDF

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

CEST POUR MIEUX PLACER MES PDF

Le No.1 de l économie d énergie pour patinoires.

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

PRESENT SIMPLE PRESENT PROGRESSIF

Règles et paramètres d'exploitation de Caparmor 2 au 11/12/2009. Pôle de Calcul Intensif pour la mer, 11 Decembre 2009

Application Form/ Formulaire de demande

Macroscope et l'analyse d'affaires. Dave Couture Architecte principal Solutions Macroscope

Exercices sur SQL server 2000

Cedric Dumoulin (C) The Java EE 7 Tutorial

CEPF FINAL PROJECT COMPLETION REPORT

Exemple PLS avec SAS

Notice Technique / Technical Manual

Le passé composé. C'est le passé! Tout ça c'est du passé! That's the past! All that's in the past!

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

Once the installation is complete, you can delete the temporary Zip files..

How to Login to Career Page

IPSAS 32 «Service concession arrangements» (SCA) Marie-Pierre Cordier Baudouin Griton, IPSAS Board

REMBO Version 2.0. Mathrice 2004 DESCRIPTION MISE EN OEUVRE CONCLUSION.

Software and Hardware Datasheet / Fiche technique du logiciel et du matériel

I>~I.J 4j1.bJ1UlJ ~..;W:i 1U

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

physicien diplômé EPFZ originaire de France présentée acceptée sur proposition Thèse no. 7178

Installer un domaine DNS

Transcription:

VHDL et la synthèse de circuits séquentiels

Qu est-ce que la Synthèse? Générer du hardware depuis HDL Eg. C <= A nand B donne A B C Pas si simple! Nécessite un processus complexe afin d optimiser un arrangement entre le temps et l espace.

Règles de conception Systèmes synchrones(simu fonctionnelle simplifiée et puissante, analyse temporelle statique possible,) : 1 SEULE horloge (broche globale du composant) Si plusieurs domaines d horloges, il faut des FIFOs tampons resynchroniser tous les signaux asynchrones pour éviter la métastabilité entre 1 et 0

Règles de conception Adopter une démarche qualité (dénomination, hierarchisation, testbench ) Attention aux assignations incomplètes (mémorisation implicite) Attention à l utilisation des variables Penser implantation (orienter le compilateur) : il faut connaître l architecture du composant Trouver le bon compromis entre ressources et vitesses en choisissant le bon degré de parallélisation (pas compact mais rapide) ou de sérialisation (compact mais lent)

Danger! Time expressions after Assert, Text I/O Configuration declarations Dynamic Loops Initial values Sensitivity lists Simulation seulement Modifie les résultats de synthèse

Eléménts séquentiels de base Latches Moins complexe que FFs Perturbes les synchronizations et l analyse temporelle Des latches sont parfois générés sans le savoir!! Flip-flops Edge sensitive, front montant ou descendant Asynchronous et synchronous set and reset

Description with Latches Data input: D; enable: LE; output: Q. signal D, LE, Q: bit ;... b1 : process (D, LE) begin if (LE = 1 ) then Q <= D; end if ; end process ; Observe that this syntax example involves storing the signal in a memory

Modeling Latches when: Q <= D when En= 1 else Q;... Q <= D when En= 1 else unaffected; (VHDL 93) if controlled by Enable library IEEE; use IEEE.Std_Logic_1164.all; entity Latch is port (D, En : in Std_Logic; Q : out Std_Logic); end Latch; architecture RTL of Latch is begin L1: process(d, En) begin if En= 1 then Q <= D; end if; end process; end RTL;

LOGIQUE SEQUENTIELLE / bascules bascule D «edge-triggered» D ck Q 1 ère possibilité de description: utilisation de l instruction WAIT le PROCESS n est exécuté que lors du passage de 0 à 1 du signal d horloge le PROCESS ne comporte pas de liste de sensibilité il est nécessaire de passer par un signal interne («memo» dans l exemple) ENTITY DFF IS PORT (D,ck : IN BIT; Q : OUT BIT); END DFF ; ARCHITECTURE arch1 OF DFF IS SIGNAL memo : BIT; BEGIN PROCESS BEGIN WAIT UNTIL ck= 1 ; memo <= D; END PROCESS; Q <= memo; END arch1;

Description using Edge Triggered Flip Flops Flip Flop is based on a clock signal. Rising/Falling edge triggered. signal D, Q, clk : bit ;... process (clk) begin if (clk event and clk= 1 ) then Q <= D; end if ; end process ; Rising edge

Descriptions of Synchronous Set/Reset Flip Flops Data and reset is NOT on sensitivity list. signal D, Q, clk, reset : bit ;... process (clk) begin if (clk event and clk = 1 ) then if reset = 1 then D <= 0 ; else Q <= D ; end if ; end if ; end process ; D is symbol of next state, not current state

Asynchronous Set/Reset Flip Flops Reset is ON sensitivity list. signal D, Q, clk, reset : bit ;... process (clk, reset) begin if (reset = 1 ) then Q <= 0 ; elsif (clk event and clk = 1 ) then Q <= D ; end if ; end process ;

Clock Enable Flip Flops signal D, Q, enable, clk : bit ;... process (clk) begin if (clk event and clk= 1 ) then if (enable= 1 ) then Q <= D ; end if ; end if ; end process ; D clk enable D Q

Flip Flops inferred by Wait Until signal D, Q, clk : bit ;... process begin wait until clk event and clk= 1 ; Q <= D ; end process ; No sensitivity lists No asynchronous reset D D Q clk

Why so many FF syntax? Highlight the importance of writing good HDL code Coding style affects synthesized structure directly Internal working of synthesizers

Descriptions of Tristate Buffers 3 output states: 0, 1, Z (high impedance) entity tristate is port ( D, en: in std_logic ; Q : out std_logic); end tristate ; architecture EG of tristate is begin Q <= D when en = 1 else Z ; end EG ; p1 : process (en, D) begin if (en= 1 ) then Q <= D ; else Q <= Z ; end if ; end process ; Observe that because I used symbol Z the system inferred tri-state circuit by itslef

Description of wired circuit using Tristate Buffers Simultaneous assignment to 1 signal Does not verify exclusivity We do not specify if this is wired OR or wired AND or what library IEEE; use IEEE.std_logic_1164.all; entity tristate is port ( D1, D2, en1, en2 : in std_logic ; Q : out std_logic); end tristate ; architecture EG of tristate is begin Q <= D1 when en1 = '1' else 'Z' ; Q <= D2 when en2 = '1' else 'Z' ; end EG ;

Busses with tri-state buffers Use arrays in the declarations entity tristate is port ( D1, D2: in std_logic_vector (7 downto 0); en1, en2 : in std_logic; Q : out std_logic_vector (7 downto 0) ); end tristate ; architecture EG of tristate is begin Q <= D1 when en1 = '1' else "ZZZZZZZZ" ; Q <= D2 when en2 = '1' else "ZZZZZZZZ" ; end EG ; This description and circuit describes selector circuit realized with tri-state buffers on a bus this is an important circuit

Automatisation des procédés

Catégories de machines séquentielles

Modèle générale (machines synchrones)

State Machines Finite State Machines (FSM) are a key tool of logic design A synthesizer can perform state optimization on FSMs to minimize the circuit area / delay This optimization is only available if the FSM model fits templates 1 0 0 1 start wait found 0 0 0 1 1 State Diagram for Pulse Generator clk sig result state start start wait found start Timing Diagram for Pulse Generator

Modèle général (machine asynchrone)

Machine de Moore Les sorties dépendent des états présents. Un bloc de logique combinatoire traite les entrées et l état antérieur des sorties et alimente un bloc de bascules en sortie. Ainsi, les sorties changent de manière synchrone sur un front d horloge.

Machine de Mearly A la différence de la machine de Moore, la sortie peut changer lors d un changement de l entrée et ce indépendamment de l horloge. Une machine de Mealy est donc asynchrone. Une machine de Moore changera seulement sur des transitions du signal d horloge : son fonctionnement synchrone facilite son utilisation dans tout circuit synchrone, ce qui en fait un avantage sur la machine de Mealy. Il existe cependant une version synchrone de la machine de Mealy.

MACHINES d ETAT (exemple) ENTITY machine IS PORT (a,b,clk : IN BIT; x,y : OUT BIT); END machine ; ARCHITECTURE moore OF machine IS TYPE STATE_TYPE IS (s0,s1,s2); SIGNAL etat : STATE-TYPE; BEGIN PROCESS BEGIN WAIT UNTIL clk = 1 ; CASE etat IS WHEN s0 => IF a= 0 AND b= 1 THEN etat <= s1; ELSIF a= 1 AND b= 0 THEN etat <= s2; ELSE etat <= s0; END IF; WHEN s1 => IF a= 0 AND b= 1 THEN etat <= s0; ELSIF b= 0 THEN etat <= s2; ELSE etat <= s1; END IF; WHEN s2 => etat <= s0; WHEN OTHERS => etat <= s0; A =0 B= 1 /a.b s1 (x,y) = (0,0) s0 (x,y) = (1,0) /0 1.b B /b = 0 A=0 B= 1 A=1 B= 0 a./b s2 (x,y) = (0,1) END CASE; END PROCESS; x <= 1 WHEN etat = s0 ELSE 0 ; y <= 1 WHEN etat = s2 ELSE 0 ; END moore; vrai

LOGIQUE SEQUENTIELLE / compteurs compteur: association d un registre et d un additionneur additionneur CLK constante (par ex. 1) n x y x+y n registre D Q ck n OUT

LOGIQUE SEQUENTIELLE / compteurs (suite) exemple: compteur 4 bits modulo 10 ENTITY compt10 IS PORT (CK : IN BIT; Q : OUT INTEGER RANGE 0 TO 9 ); END compt10; ARCHITECTURE mod10 OF compt10 IS SIGNAL valeur : INTEGER RANGE 0 TO 9; BEGIN PROCESS (CK) BEGIN IF CK EVENT AND CK= 1 THEN IF valeur = /9 THEN valeur <= valeur +1; ELSE valeur <= 0; END IF; ELSE valeur <= valeur; END IF; END PROCESS; Q <= valeur; END mod10;

LOGIQUE SEQUENTIELLE / compteurs (suite) pour info: structure physique du compteur 4 bits modulo 10 synthétisé par le compilateur transparent pour le concepteur CK 0001 x 4 x+y y 0 4 1 0000 4 D ck Q 4 comparateur Q 1001 4 a b =?

A word of caution. Hardware realization of VHDL objects Implementation of TMP : wire Implementation of TMP : latch. Do you real want it?

Séquentialiser si besoin! Interdire un feedback zéro délai : OP <= OP + Y ; syntaxiquement correcte, refusée par la plupart des synthétiseurs On utilise un process : Process (OP, Y) Begin OP <= OP + Y ; End process ;

VHDL!!! C est la pratique qui fait le designer!