Outils EDA. Contenu présentation

Documents pareils
SIN-FPGA DESCRIPTION PAR SCHEMA

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

Manipulations du laboratoire

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

Quoi de neuf en LabVIEW FPGA 2010?

Le langage VHDL. Eduardo Sanchez EPFL

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

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

1 Démarrer L écran Isis La boite à outils Mode principal Mode gadget Mode graphique...

Usine Numérique Intégration Produit Production

Conception et Intégration de Systèmes Critiques

Installation et prise en main

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

Mini_guide_Isis.pdf le 23/09/2001 Page 1/14

PIC EVAL Dev Board PIC18F97J60

Synergies entre Artisan Studio et outils PLM

Profil UML pour TLM: contribution à la formalisation et à l automatisation du flot de conception et vérification des systèmes-sur-puce.

SQL Server 2012 Implémentation d'une solution de Business Intelligence (Sql Server, Analysis Services...)

Bases Java - Eclipse / Netbeans

Mini_guide_Isis_v6.doc le 10/02/2005 Page 1/15

Intervenants. Thomas d'erceville Project Manager. Christian NGUYEN Practice Manager IT Quality

Les systèmes embarqués Introduction. Richard Grisel Professeur des Universités Université de Rouen Nacer Abouchi Professeur ESCPE Lyon

TP1 : Initiation à Java et Eclipse

DOCUMENT PROTEGE PAR UN DROIT DE COPIE. CPLD ou FPGA Critères de choix. page 1

Master4Light. Caractérisation Optique et Electrique des Sources Lumineuses. Equipement 2-en-1 : source de courant et spectrophotomètre

SharePoint Foundation 2013 Construire un intranet collaboratif en PME (édition enrichie de vidéos)

WORKSHOP OBIEE 11g (version ) PRE-REQUIS:

ÉCOLE POLYTECHNIQUE DE MONTRÉAL. Département de Génie Électrique. La technologie de TEXAS INSTRUMENTS DSP pour le cours Analyse des Signaux ELE2700

TABLE DES MATIÈRES 1. DÉMARRER ISIS 2 2. SAISIE D UN SCHÉMA 3 & ' " ( ) '*+ ", ##) # " -. /0 " 1 2 " 3. SIMULATION 7 " - 4.

Tutorial Cadence Virtuoso

TD/TP 1 Introduction au SDK d Android

Le nouveau visage de la Dataviz dans MicroStrategy 10

wxwidgets dans un environnement Microsoft Windows

RTDS G3. Emmanuel Gaudin

Chapitre II-2 : Conception SoPC (Altera)

QUESTION 1 {2 points}

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

Document de formation pour une solution complète d automatisation Totally Integrated Automation (T I A)

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume

Communication technique TC1552 Ed 01 Date: 22/11/2011

Projet M1 Année scolaire 2013/2014

IFT2255 : Génie logiciel

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

Fabien Pinckaers Geoff Gardiner. OpenERP. Tiny. Pour une. gestion d entreprise efficace et intégrée. Groupe Eyrolles, 2008, ISBN :

Tutoriel code::blocks

Outils de CAO. Ecole de microélectronique IN2P octobre 2009, La Londe Les Maures. C. Colledani

Management des Systèmes d Information

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

SoMachine. Solution logicielle pour votre architecture Machine Atelier de découverte. SoMachine

Sommaire. Systèmes d Exploitation Intégration Sage 100 Sage CRM Disponibilité Client Bases de données... 3

Chapitre 1 : Introduction aux méthodologies de conception et de vérification pour SE

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

SensOrLabs. a protocol validation platform for the IoT. Dominique Barthel, Quentin Lampin IMT/OLPS/BIZZ/MIS Apr 7th 2014, ST, CEA, LIG

Déploiement de SAS Foundation

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Contrôleur de communications réseau. Guide de configuration rapide DN

Internet Information Services (versions 7 et 7.5) Installation, configuration et maintenance du serveur Web de Microsoft

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

Projet audio. Analyse des Signaux ELE2700

Licence Pro ASUR Supervision Mai 2013

Fiche technique CPU 314SC/DPM (314-6CG13)

Extensions à la formation. Laurent Pérochon, avril 2008, RMT Modelia, modélisation conceptuelle, formation UML, INRA Castanet Tolosan

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

TP1 : Initiation à Java et Eclipse

Comment paramétrer et sauvegarder les configurations d Altium Designer?

JOnAS Day 5.1. Outils de développements

SAUVEGARDER SES DONNEES PERSONNELLES

Environnements de développement (intégrés)

Serveur Acronis Backup & Recovery 10 pour Linux. Update 5. Guide d'installation

en SCÈNE RATIONAL Rational Démonstration SDP : automatisation de la chaîne de développement Samira BATAOUCHE sbataouche@fr.ibm.com

ABB i-bus KNX Les nouveaux Room Master RM/S 3.1 et RM/S 4.1

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

[ Rencontres Mondiales du Logiciel Libre 2011 Lundi 11 juillet 2011 ] Introduction à l'open Hardware Auteur : Dr Ir Robert Viseur

TP WINDOWS 2008 SERVER - OUTILS DE SAUVEGARDE ET DE RESTAURATION

Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza

DEVAKI NEXTOBJET PRESENTATION. Devaki Nextobjects est un projet sous license GNU/Public.

Cours 7 : Programmation d une chaîne d acquisition

Introduction à Eclipse

1. Formation F5 - Local Traffic Manager Configuring (LTM)

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Modélisation de la Reconfiguration Dynamique appliquée à un décodeur LDPC Non Binaire

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Dossier. Développer en Java sur téléphone mobile. Benjamin Damécourt UFR SITEC Master 2 EESC 11 janvier 2012

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

Institut d Informatique & d Initiative Sociale

CATALOGUE FORMATION. Product Lifecycle Management. Juin 2013

Tivoli Storage Manager version TSM Server

Projet de développement

Learning Object Metadata

VoIP & Domotique. KITS DOMOTIQUES EnOcean

Business Intelligence avec SQL Server 2012

Qu'est-ce que le BPM?

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

UltraBackup NetStation 4. Guide de démarrage rapide

ENSSAT EII2 Projet en conception de circuits intégrés dédiés

MSDN Academic Alliance Département SRC Vichy

Travail collaboratif. Glossaire

Les liaisons SPI et I2C

Annexe : La Programmation Informatique

Transcription:

Unité CSF Conception de systèmes numériques sur FPGA Outils EDA Etienne Messerli Mise à jour le 21 février 2012 CSF P1, Méthodologie, p 1 Contenu présentation Design flow VHDL Les outils EDA: catégorie, fonctionnalités,.. Liste des outils disponible Outils IDE: aide gestion projet et saisie graphique Simulateur QuestaSim/ModelSim Synthétiseur Placement et routage Script QuestaSim/ModelSim CSF P1, Méthodologie, p 2

Outils EDA (Electronic Design Automation) Logiciels EDA modernes comprennent les catégories suivantes: Outils d'aide à la gestion de projet (IDE) Outils de saisie graphique avec génération automatique de descriptions VHDL Simulateur VHDL Synthétiseur VHDL Outils de placement-routage des fabricants de PLDs CSF P1, Méthodologie, p 3 Réalisation d'un circuit : Design flow Description VHDL synthétisable Modèle de spécification Fichier de simulation VHDL SYNTHETISEUR (traduction) Spécification Description logique netlist fichier VDHL VHDL fonctionnelle temporelle SIMULATEUR Placement routage (intégration) Programmation circuit fichier de progr. fichiers VDHL CSF P1, Méthodologie, p 4

Catégories de logiciels EDA Outil de gestion de projet et saisie graphique (IDE): Active-HDL (Aldec) Altium Designer (Altium) HDL Designer (Mentor Graphics) Simulateurs: ModelSim (Model Technology & Mentor Graphics) VHDL, Verilog, SystemC QuestaSim (Mentor Graphics) VHDL, Verilog, SystemVerilog Riviera-PRO 2010 (Aldec) VHDL, New VHDL 2008, Verilog, SystemVerilog SMASH (Dolphin Integration) VHDL VCS (Synopsys) VHDL, Verilog, SystemVerilog CSF P1, Méthodologie, p 5 Catégories de logiciels EDA Synthétiseurs: Leonardo, Precision (Mentor Graphics) Synopsys Synplify FPGA (Synopsys, ex Synplicity) RTL Synthesis (Synopsys) ou synthétiseur des logiciels de P-R (voir ci-dessous) Logiciels de placement routage Propriétaire pour chaque fabricant de PLD Voir "Logiciel EDA vendeurs de PLDs" CSF P1, Méthodologie, p 6

Logiciels EDA des vendeurs de PLDs Logiciel proposé par les vendeurs de PLDs IDE: Logiciel intégré avec un synthétiseur et un simulateur simple ou externe Gestion du projet, saisie graphique (hiérarchie) MegaWizard pour fonctions de base et étendues (licence) Simulation simple Synthèse, placement et routage Version de base gratuite Recommandé pour design simple Recommandé pour design de moyenne complexité avec un simulateur externe Logiciel vendeurs de PLDs Altera: Quartus II Actel: Libero IDE Lattice: isplever Xilinx: ISE Design Suite CSF P1, Méthodologie, p 7 Autres outils EDA Symphony EDA - http://www.symphonyeda.com/ Offers a VHDL compiler/simulator with an integrated development environment. Supports VHDL'93, Vital, and SDF. Free command-line tools also available Translogic - http://www.translogiccorp.com/ EASE and EALE provide HDL aware entry tools, both graphical and text based. Also providing Linux support. SynaptiCAD - http://www.syncad.com/ Software tools for EDA, VHDL and Verilog model generation, simulation, and timing diagram editor. TransEDA - http://www.transeda.com/ Provider of ready-to-use verification solutions for the SoC, ASIC and FPGA CSF P1, Méthodologie, p 8

Logiciels EDA-SoC pour PLDs Conception de SoC: Altera Altium Lattice Xilinx SOPC Builder (Nios-II) Altium Designer isplever Platform Studio and the EDK (MicroBlaze) CSF P1, Méthodologie, p 9 Les outils EDA au REDS Outil de gestion de projet et saisie graphique: HDL Designer 2007.1 (pour BSL et SSA) Simulateur: QuestaSim 6.3d Synthétiseur: Precision RTL 2007a Placement et routage: Quartus II, Altera ISE Project Navigator, Xilinx CSF P1, Méthodologie, p 10

HDL Designer Outils d'aide utilisé pour la réalisation de circuits numériques avec intégration dans un PLDs Gestion du projet et des fichiers Saisie graphique de schéma bloc et de machines d'états Génération automatique de la description VHDL correspondant aux saisies graphiques Pilote les autres outils pour la simulation et la synthèse Possibilité lancement outils de placement et routage CSF P1, Méthodologie, p 11 HDL Designer : gestion de projet Gestion des répertoires et des fichiers du projet NomProjet_proj répertoire racine du projet NomProjet (plusieurs possibles) répertoire de travail du projet Comp : compilation pour ModelSim Graph : infos graphique pour HDL Designer P_R : infos pour le placement-routage par Quartus Synth : infos pour la synthèse, Precision VHDL : fichier sources VHDL CSF P1, Méthodologie, p 12

Design manager CSF P1, Méthodologie, p 13 Designer manager, suite.. CSF P1, Méthodologie, p 14

Saisie graphique du Symbol CSF P1, Méthodologie, p 15 Schéma "Block Diagram" CSF P1, Méthodologie, p 16

Schéma bloc Add1_c Schéma hiérarchique, utilisation librairie "REDS_Lib_Base" CSF P1, Méthodologie, p 17 dia volontairement laisser vide CSF P1, Méthodologie, p 18

Réalisation de projet textuel Utilisation de scripts pour les différents outils GUI des outils sont en Tcl/Tk, dispose d un wish Tcl Utilisation langage Tcl/Tk (gratuit) Automatise compilation, chargement, Définir une structure des répertoires: racine: scripts, puis sous-répertoires: comp compilation pour ModelSim p_r infos pour le placement-routage par Quartus src fichiers sources vhdl src_tb fichiers sources pour la simulation synth : infos pour la synthèse, Precision CSF P1, Méthodologie, p 19 Exemple structure répertoire r CapT_I2C Structure des répertoires du TP CSF P1, Méthodologie, p 20

Simulateur Questa & ModelSim Simulateur très répandu ModelSim: VHDL, Verilog, SystemC Questa: VHDL, Verilog, SystemC, SystemVerilog CSF P1, Méthodologie, p 21 Fonctionnalités s d'un simulateur Exécute la description VHDL comportement dans le temps de notre description VHDL permet de décrire un banc de test envoi de stimuli et vérifications des sorties Permet de visualiser n'importe quel signal du design (analyseur logique) CSF P1, Méthodologie, p 22

Simulation Automatique: utilisation d'un banc de test automatique génère des stimuli et opère des vérification, résultat Go/ no Go Manuelle: limiter son utilisation au strict nécessaire! utilisé pour des simulations simples, pour des composants de base principe: générer des stimuli sur les entrées vérifier le comportement du circuit par lecture du chronogramme CSF P1, Méthodologie, p 23 Exemple de simulation manuelle CSF P1, Méthodologie, p 24

Console interactive du REDS Console utilisée pour simulation manuelle : Composant à simuler connecté dans Top_Sim CSF P1, Méthodologie, p 25 Fichier Top_Sim.vhd Permet une simulation manuelle Connexion de la console "REDS Console" avec la description à simuler Modèle d'un générateur d'horloge disponible dans le fichier Top_Sim.vhd Preuve de la simulation fournie par le chronogramme CSF P1, Méthodologie, p 26

fichier Top_Sim.vhd entity Top_Sim is port( --8 switchs (interrupteurs) S0_i : in Std_Logic; S7_i : in std_logic; --Valeurs 8 bits Val_A et Val_B Val_A_i : in std_logic_vector ( 7 downto 0 ); Val_B_i : in std_logic_vector ( 7 downto 0 ); --8 Leds L0_o : out std_logic; L7_o : out std_logic; --2 Resultats sur 8 bits Result_A_o : out std_logic_vector ( 7 downto 0 ); Result_B_o : out std_logic_vector ( 7 downto 0 ); --2 Affichage 7 segments avec valeurs en hexadecimal (4 bits) Hex0_o : out Std_Logic_Vector (3 downto 0); Hex1_o : out Std_Logic_Vector (3 downto 0); --1 Affichage 7 segments seg7_a_o : out std_logic; seg7_g_o : out std_logic ); end Top_Sim ; CSF P1, Méthodologie, p 27 fichier Top_Sim.vhd architecture Struct of Top_Sim is -- Declraration de signaux internes signal B_s : std_logic_vector(3 downto 0); signal P_s : std_logic_vector(3 downto 0); -- Declaration du composant a simuler component Master_I2C_timer port( Clock_i : in std_logic; Reset_i : in std_logic; Start_i : in std_logic; Done_o : out std_logic ); end component ; for all : Master_I2C_timer use entity Work.Master_I2C_timer(Comport); -- Declaration de constantes et signaux internes constant Periode_c : Time := 100 ns; signal Horloge_s : Std_Logic; begin CSF P1, Méthodologie, p 28

fichier Top_Sim.vhd begin -- process de generation d'une horloge interne à Top_Sim process begin Horloge_s <= '0', '1' after Periode_c/3, '0' after (Periode_c/3)+(Periode_c/2); wait for Periode_c; end process; -- Instanciation du composant a simuler I1 : Master_I2C_timer port map ( Clock_i => Horloge_s, --connecter sur horloge Reset_i => S7_i, Start_i => S0_i, Done_o => L0_o ); end Struct; CSF P1, Méthodologie, p 29 Utilisation scripts Tcl Permet d'automatiser les commandes nécessaires pour les différentes étapes d'une simulation, soit: création des librairie Work ou spécifique compilation de l'ensemble des fichiers du projet chargement du test-bench ouverture des fenêtres et ajout des signaux à visualiser sauvegarder le format de la fenêtre wave préparer lors d'une simulation génération des stimuli pour simulation manuelle lancement de la simulation CSF P1, Méthodologie, p 30

Script Tcl pour ModelSim & QuestaSim ModelSim/QuestaSim sont écrit en Tcl/Tk La fenêtre log est un Wish Tcl Disponibilité immédiate du Tcl Lien immédiat avec les signaux VHDL et le Tcl forcer des signaux, ou lire leur état Possibilité de réaliser des fenêtre graphique avec Tk voir exemple de la console REDS d'où : intégration complète entre le simulateur et Tcl/Tk CSF P1, Méthodologie, p 31 Script de compilation Top_sim # -- File : comp_master_i2c_timer_sim.tcl # Complation des paquetages vcom -reportprogress 300 -work work../lib/log_pkg.vhd vcom -reportprogress 300 -work work../src_master_i2c/master_i2c_pkg.vhd # Complation des fichiers du I2C master vcom -reportprogress 300 -work work../src_master_i2c/master_i2c_timer.vhd # Compilation du top_sim pour la simulation manuelle vcom -reportprogress 300 -work work../src_master_i2c_tb/top_sim_timer.vhd CSF P1, Méthodologie, p 32

Script pour lancer simulation # -- File : run_master_i2c_timer_sim.tcl vlib work vmap work work #appel fichier de compilation de Top_Sim_Timer do../comp_master_i2c_timer_sim.tcl #Charge le projet dans QuestaSim vsim Top_Sim #Affiche les signaux dans la fenetre wave do../wave_master_i2c_timer_sim.tcl Voir présentation: Script Tcl pour ModelSim & QuestaSim CSF P1, Méthodologie, p 33 Configuration du chronogramme Possible de changer format d'affichage CSF P1, Méthodologie, p 34

Simulation automatique d un d design Description en VHDL d un banc de test automatique: Génère des stimuli sur les entrées Modélise comportement système externe au design Génération de valeur de référence Vérification des sorties avec le model (référence) Résultat Go/ no Go Possibilité de génération de fichiers de report Affichage des erreurs Fenêtre «wave» pour le debug du design Chronogramme pour la documentation CSF P1, Méthodologie, p 35 Simulation d'un projet complexe CSF P1, Méthodologie, p 36

simulation d'un projet complexe Utilisation d un banc de test automatique CSF P1, Méthodologie, p 37 simulation d'un projet complexe Agrandissement d'une partie du chronogramme CSF P1, Méthodologie, p 38

Simulation Go/ no G0 Copie de la fenêtre log du simulateur # ** Note: >> Debut de la simulation # Time: 0 ns Iteration: 0 Instance: /master_i2c_tb/tester # ** Warning: NUMERIC_STD."=": metavalue detected, returning FALSE # Time: 0 ns Iteration: 0 Instance: /master_i2c_tb/uut/timer # ** Warning: NUMERIC_STD."=": metavalue detected, returning FALSE # Time: 0 ns Iteration: 0 Instance: /master_i2c_tb/uut/cpt_nb # Time: 6696502 ns Iteration: 0 Instance: /master_i2c_tb/tester # ** Note: >> Debut d'une transmission donnee, stimuli (I=48) # Time: 6871502 ns Iteration: 0 Instance: /master_i2c_tb/tester # ** Note: >> Debut d'une transmission donnee, stimuli (I=49) # ** Note: >> Debut d'une transmission donnee, stimuli (I=165) # Time: 33048502 ns Iteration: 0 Instance: /master_i2c_tb/tester # ** Note: ---------------------------------------------------------- # >>Nombre d'erreur(s) détectée(s) = 0 # >>Le design semble correct. # >>Fin de la simulation # Time: 33173502 ns Iteration: 0 Instance: /master_i2c_tb/tester CSF P1, Méthodologie, p 39 Synthétiseur tiseur Traduction de la description VHDL en net-liste Synthèse adaptée selon la technologie utilisée configurer la famille de PLD utilisé utilisation d'algorithme d'optimisation différencié Possible configurer optimisation surface/vitesse Fmax signal particulier Fourni en sorti une net-list pour logiciel de placement et routage CSF P1, Méthodologie, p 40

Outil de placement et routage Spécifique aux vendeurs de PLDs Connait structure interne des circuits configuration des chemins de routage dans le circuits calcul des temps de propagation calcul de la fréquence max en full synchrone Génère un fichier de programmation du circuit (*.pof) Dispose généralement d'un outil de programmation via LPT ou USB CSF P1, Méthodologie, p 41 Terminologie CPLD : Complex Programmable Logic Device EDA : Electronic Design Automation FPGA : Field Programmable Gate Array HDL : Hardware Description Language IDE : Integrated Design Environment PLD : Programmable Logic Device SoC : System on Chip SoPC : System on Programmable Chip CSF P1, Méthodologie, p 42

Questions! CSF P1, Méthodologie, p 43