VALMEM Traduction automatique d'une description comportementale VHDL + annotations temporelles en automates temporisés A. Bara, E. Encrenaz LIP6 VALMEM.

Slides:



Advertisements
Présentations similaires
Ing Mohamed MASMOUDI Cours VHDL Ing Mohamed MASMOUDI
Advertisements

MACHINE DE MOORE SYNCHRONE SIMPLIFIÉE Professeur à l'UHP / ESIAL
Cours #6 Conception d’unités de contrôle
E. André, E. Encrenaz, L. Fribourg
Cours #4 Éléments à mémoire et circuits séquentiels synchrones de base
Plan 1-Introduction. 2-Standard VHDL-AMS. Modélisations:
Cours #7 Vérification d’un modèle VHDL
Cours #5 Conception de chemins des données
Modélisation VHDL d’un chemin des données
Banc d’essai pour un circuit combinatoire
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Synthèse d’un circuit.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Analyse de machines.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Description d’un circuit.
Concepts intermédiaires de VHDL
Synthèse et implémentation d’un circuit combinatoire
Journées d'études Faible Tension Faible Consommation 14, 15, 16 mai Gwenolé CORRE, Nathalie JULIEN, Eric SENN, Eric MARTIN LESTER, Université de.
Introduction au VHDL - R.WEBER - Polytech'Orleans
Architecture et technologie des ordinateurs II
VHDL pour circuits séquentiels
ABUL - Travail en réseau Pierre Jarillon – ESSEC – 28 février 2009 Gestion récursive des tâches non récurrentes.
L’ordinateur et ses composants Un ordinateur est composée d'une unité centrale et de périphériques. Tous les périphériques sont branchés sur l'unité centrale.
Activité DIESEL TS1 BTS MCI 2016  STRATEGIES INJECTION
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Rappel - analyse et.
Les Instructions Itératives (Les Boucles)
Introduction au Langage Pascal
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
03/02/2018.
Quelques Termes INFORMATIQUE ? ORDINATEUR ( Système Informatique)?
Description d’un circuit combinatoire en VHDL
Introduction à l’algorithmique. Introduction Algorithme: Procédure décrivant, étape par étape, une méthode permettant de résoudre un problème. Mot provenant.
Automates Programmables Industriels Automates Programmables
Langage de manipulation de données (LMD)
Opérateurs Toute donnée informatique est stockée en mémoire sous la forme d'une combinaison de bits (mot machine). Les opérateurs bits permettent de modifier.
Arithmétique entière en VHDL
Semaine #1 INF130 par Frédérick Henri.
Chapitre 01: Structure d'un module VHDL
Architecture de machines Eléments de logique
L’Instruction de Test Alternatif
Introduction à l’algorithmique. Introduction Algorithme: Procédure décrivant, étape par étape, une méthode permettant de résoudre un problème. Mot provenant.
Classification des archtecutres paralleles
Synthèse et implémentation de circuits arithmétiques sur FPGA
Le temps de propagation des signaux dans un circuit
Tests de boîte blanche.
Fonctions Logiques & Algèbre de BOOLE
Traduction automatique d'une description
Vérification avec UPPAAL de circuits décrits en VHDL avec délais
Analyse de l'architecture abstraite
L’I NSTRUCTION DE T EST A LTERNATIF Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira, Bejaia Année.
Vérification de l'architecture abstraite
Vérification avec Uppaal de l'architecture
Chapitre 7 Configuration de l'environnement du bureau
Introduction à l’algorithmique. Introduction Algorithme: Procédure décrivant, étape par étape, une méthode permettant de résoudre un problème. Mot provenant.
PROGRAMMATION ET ENSEIGNEMENT
Calcul Scientifique Initiation à SCILB
ACP Analyse en Composantes Principales
Modèles de représentation des systèmes d’information
MINISTÈRE DE L’ENSEIGNEMENT SUPÉRIEUR ET DE LA RECHERCHE SCIENTIFIQUE
SYSTèMES à évènements discrets
Les réseaux logiques programmables
AIAC GEET-12 Année : Régulation Industrielle: Programme M.BAHATTI.
Sylvie DELAËT 2002 Architecture des machines Bienvenus en Amphi d’Architecture des Machines.
Définition : 2 Les structures de contrôle conditionnelles permettent à un programme de modifier son traitement en fonction d’une condition.
Contribution du LHyGeS
Piles et files.
Le jeu de la bière en réseau
Analyse et programmation langage ADA
TP N°1 : GUI en NetBeans Module R & C Université de Jijel
Contenu Systèmes de test parallèles Multithreading Synchronisation
Type Tableau Partie 1 : Vecteurs
Dridi Lobna 1 Couche Réseau II Réseau : Gestion de l’accès.
Transcription de la présentation:

VALMEM Traduction automatique d'une description comportementale VHDL + annotations temporelles en automates temporisés A. Bara, E. Encrenaz LIP6 VALMEM – réunion du 12/06/2009

Situation dans la méthode a <= b or c xor d; process (a,b) begin if a then... b_up VHDL comportemental x_a := 0 Abstraction fonctionnelle Traduction x_a ≤ 4 Caractérisation temporelle Automates temporisés (Hytech) Transistor netlist b_up c_0 d_0 a_up 120 b_dn c_1 d_1 a_dn 100 Annotations temporelles VALMEM – réunion du 12/06/2009

Syntaxe VHDL acceptée Architecture : signaux in /out de type bit Entity : VHDL comportemental Affectations concurrentes Processus (forme restreinte) (Pas d'instanciation de composants internes) VALMEM – réunion du 12/06/2009

Modèle d'automates temporisés Réseau d'automates concurrents Horloges Variables discrètes Stocke la valeur courante d'un signal Permet la détection des fronts ('event / 'transaction) Paramètres Délais de propagation des fronts VALMEM – réunion du 12/06/2009

Principes de traduction (1) 1 affectation concurrente : 1 automate temporisé Calcul sortie up s <= f(a,b,c, ...); x = d_s_up x ≤ d_s_up s_up x:=0 x:=0 x:=0 Sortie stable x:=0 s_dn front sur a, b, c, ... pour f --> 1 x = d_s_dn x ≤ d_s_dn Disjonction de tous les cas !! front sur a, b, c, ... pour f --> 0 Calcul sortie dn VALMEM – réunion du 12/06/2009

Principes de traduction (2) 1 process : 1 à 3 automates temporisés process (a,b,c, ...) begin if a = 1 then s <= b; elsif e2 then s <= not b; end Automate condition 1 (optionnel) Automate condition 2 (optionnel) Automate affectation sortie VALMEM – réunion du 12/06/2009

Insertion des informations temporelles Récupération des délais dans le fichier temporel Affectation aux paramètres des TA Deux paramètres de délais pour chaque signal Front montant / front descendant Intervalle des valeurs de délai pour toutes les configuration d'entrées et front induisant un front sur le signal de sortie VALMEM – réunion du 12/06/2009

Modélisation de l'environnement Un (réseau d') automate représentant l'évolution des signaux d'entrée est ajouté. IMPORTANT : la vérification / synthèse de paramètres est valide pour les scénarii couverts par l'environnement Méthode exhaustive en temps pour un ensemble de scénarii prédéfini VALMEM – réunion du 12/06/2009

Réductions du modèle Simplification des chaines d'inverseurs Elimination des automates conditions lorsque les les conditions des processus sont réduites à “signal = constante” VALMEM – réunion du 12/06/2009

Exemples traités 3 programmes VHDL Exp1 : quelques portes et registres BLUEB_LSV : abstraction manuelle de SPSMALL lors du projet BLUEBERRIES (1 mot de 1 bit) SPSMALL_1*2 : abstraction fonctionnelle de SPSMALL (2 mots de 1 bit) par LIP6 Données temporelles non intégrées (tous les délais sont à 1) VALMEM – réunion du 12/06/2009

Exemple -- Exp1 ENTITY exp1 IS PORT ( Q_0 : out BIT; CK : in BIT; CSN : in BIT; D_0 : in BIT; vdd : in BIT; gnd : in BIT ); END exp1; ARCHITECTURE RTL OF exp1 IS SIGNAL v_18_E_net81 : BIT; ... BEGIN v_18_E_net81 <= not (D_0); v_18_E_net85 <= not (v_18_E_net81); v_18_E_net83 <= not (v_18_E_net85); v_18_E_data_delay_H <= not (v_18_E_net83); v_17_12_10_net13 <= (not(CK) or (v_17_12_10_ext_cs_N and v_18_E_net83)); VALMEM – réunion du 12/06/2009

Exemple – Exp1 (cont'd) v_17_12_10_clk_sig_H <= not (v_17_12_10_net13); v_17_12_10_net41 <= not (v_17_12_10_clk_sig_H); CLK_H <= not (v_17_12_10_net41); v_18_E_clk_local_L <= not (CLK_H); v_18_E_clk_local_H <= not (v_18_E_clk_local_L); v_17_12_10_net96 <= not (CSN); v_17_12_10_ext_cs_H <= not (v_17_12_10_net96); REG10: PROCESS (CK, v_17_12_10_ext_cs_H) BEGIN IF CK = '0' THEN v_17_12_10_ext_cs_N <= not (v_17_12_10_ext_cs_H); END IF; END PROCESS; REG12: PROCESS (v_18_E_clk_local_L, v_18_E_data_delay_H) IF v_18_E_clk_local_L = '1' THEN v_18_E_data_delay_H_inv <= not (v_18_E_data_delay_H); END; VALMEM – réunion du 12/06/2009

Traduction de Exp1 Sans réduction : 16 automates + 1 (env) pb mémoire hytech Avec réductions : Réductions chaines de not + gardes des processus 7 automates + 1 (env) / 10 var / 18 paramètres Calcul de traces d'exécution (chronogrammes) pour différents environnements (avec tous les délais à 1) VALMEM – réunion du 12/06/2009

Exp1-- env1 VALMEM – réunion du 12/06/2009

Exemple – BLUEB_LSV Architecture complète abstraite dans le projet BLUEBERRIES (1 mot de 1 bit) / simplifications manuelles Traduction (avec optimisations) : 28 automates / 28 horloges / 32 var / 62 paramètres Actuellement non validée... VALMEM – réunion du 12/06/2009

Exemple – SPSMALL1*2 Architecture complète abstraite automatiquement par LIP6 dans VALMEM Adaptations préalables à la traduction : bit_vector --> bit retrait de 8 processus (monstrueux) signaux non connectés supprimés Traductions : Sans opt : 90 automates / 90 horloges / 112 var / 178 paramètres Avec opt : 56 automates / 56 horloges / 68 var / 134 paramètres Actuellement non validées ... VALMEM – réunion du 12/06/2009

Limitations actuelles Syntaxe VHDL Type bit uniquement (pas de bit_vector / std_logic) Process très limités Modèle à 2 délais uniquement Combinatoire !!! Taille des automates (combinatoire des transitions) Produit d'automates avant l'analyse : Outil hytech limité à une dizaine d'automates Produit à la volée : UPPAAL / outil ad-hoc VALMEM – réunion du 12/06/2009