Tutorial: Synthèse logique et vérification avec Design Compiler et ModelSim



Documents pareils
SIN-FPGA DESCRIPTION PAR SCHEMA

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

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

Tutorial Cadence Virtuoso

Manipulations du laboratoire

Le langage VHDL. Eduardo Sanchez EPFL

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

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

Introduction à Eclipse

Installation de SQL Server Reporting Services avec l intégration dans un site Windows SharePoint Services V3

BIRT (Business Intelligence and Reporting Tools)

Quelques outils pour le logiciel «Tux Paint»

Connexions à un projet CVS via Eclipse en accès local et distant. 15 Mai 2007

PROJET AZURE (par Florent Picard, A2011)

Tuto 2 : Configuration Virtual box, Configuration et installation du serveur XiBO

Tutoriel de formation SurveyMonkey

L installation a quelque peu changée depuis les derniers tutos, voici une actualisation.

Les différentes méthodes pour se connecter

Installation de la plate-forme Liberacces 2.0 «Intégrale» avec LiberInstall

Création et Gestion des tables

Projet De Stijl Plate-forme pour robots mobiles

BASE. Vous avez alors accès à un ensemble de fonctionnalités explicitées ci-dessous :

TP LINUX : LINUX-SAMBA SERVEUR DE FICHIERS POUR UTILISATEURS WINDOWS

Transmission d informations sur le réseau électrique

Guide d'installation et de configuration de Pervasive.SQL 7 dans un environnement réseau Microsoft Windows NT

Reporting Services - Administration

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

Universal Robots. Fiche Méthode : Installation du simulateur Polyscope

Contenu. Cocher : Network Policy and Access Services > Next > Next. Cocher : Network Policy Server > Next > Install

Direction des Systèmes d'information

Deuxième Licence en Informatique Data Warehousing et Data Mining La Classification - 1

QUESTION 1 {2 points}

Exploiter les statistiques d utilisation de SQL Server 2008 R2 Reporting Services

Tutoriel Création d une source Cydia et compilation des packages sous Linux

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

TP Contraintes - Triggers

Importation de fichiers Eagle

Projet audio. Analyse des Signaux ELE2700

1 Démarrage de Marionnet

INSTRUCTIONS D'INSTALLATION


Vue d ensemble de Windows PowerShell

TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL

Introduction à MATLAB R

Installation de SCCM 2012 (v2)

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

Mise en place d un serveur trixbox sur un domaine Kwartz. Version 1.0 du 25 juin 2012 Lycée Polyvalent d Artois, Noeux les Mines Adrien Bonnel

Votre premier projet Android

calls.paris-neuroscience.fr Tutoriel pour Candidatures en ligne *** Online Applications Tutorial

Le langage C. Séance n 4

Classe et groupe : 1P 3 SEN TRI. Ubuntu : serveur Contrôleur de Domaine (PDC) avec SAMBA

Documentation FOG. Déploiement d images de systèmes d exploitation à travers le réseau.

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

L informatique en BCPST

Table des matières. 1. Installation de VMware ESXI Pré-requis Installation... 3

Automatisation de l administration système

Quelques outils pour le logiciel «Tuxpaint»

Petit guide pour l installation de CVW sous Linux

Manuel de l Administrateur

Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza

Velo-city Nantes France Mode d emploi pour soumettre votre contribution en ligne. Guide des contributeurs

ESPACE COLLABORATIF SHAREPOINT

Installation et compilation de gnurbs sous Windows

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

Compilation (INF 564)

CAMERA DOME AMELIORÉE DE SURVEILLANCE EN RÉSEAU GUIDE D INSTALLATION

TP1 Initiation à la conception de circuits intégrés analogiques.

Préparer un état de l art

Ce document décrit la démarche à suivre pour installer les outils de développement et compiler le projet TANAGRA.

MS SQL Express 2005 Sauvegarde des données

COMPRENDRE LES DIFFERENTS TYPES DE CONNEXION LORS DE LA

EJBCA PKI Open Source

Procédures Stockées WAVESOFT ws_sp_getidtable Exemple : ws_sp_getnextsouche Exemple :... 12

Sauvegarde et Restauration d un environnement SAS

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

Installation SQL Server 2005 Express sur le serveur

Partie 1 : Tutorial de vérification de backup par ABGX 1.0.5

INSTALLATION DE WINDOWS 2000 SERVER POUR BCDI3. par. G.Haberer, A.Peuch, P.Saadé

TD/TP 1 Introduction au SDK d Android

Configuration de GFI MailArchiver

Architecture de la plateforme SBC

VAMT 2.0. Activation de Windows 7 en collège

Tout d abord les pré-requis : Au menu un certain nombre de KB

Cours 1 : La compilation

Installation d'un serveur FTP géré par une base de données MySQL

Ce TP consiste à installer, configurer et tester un serveur DNS sous Linux. Serveur open source : bind9 Distribution : Mandriva

Réaliser un inventaire Documentation utilisateur

TUTORIEL D INSTALLATION D ORACLE ET DE SQL DEVELOPPER TUTORIEL D INSTALLATION D ORACLE...1 ET DE SQL DEVELOPPER...1

WINDOWS SHAREPOINT SERVICES 2007

Création d un service web avec NetBeans 5.5 et SJAS 9

Micro-ordinateurs, informations, idées, trucs et astuces utiliser le Bureau à distance

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

Installation du transfert de fichier sécurisé sur le serveur orphanet

Conception de circuits numériques et architecture des ordinateurs

wxwidgets dans un environnement Microsoft Windows

France SMS+ MT Premium Description

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

Transcription:

Tutorial: Synthèse logique et vérification avec Design Compiler et ModelSim Camille Leroux 1 Introduction Ce tutorial a pour objectif l apprentissage des outils de conception Design Compiler (Synopsys) et ModelSim SE (Mentor Graphics) dédiés à la conception et à la simulation d ASICs numériques. Le logiciel Design Compiler permet la synthèse logique grâce aux outils design_vision (en mode graphique) et dc_shell (en mode ligne de commande). Le logiciel ModelSim SE permet la simulation temporelle d un circuit au niveau comportemental ou au niveau porte, à partir des langages VHDL ou Verilog. D autres outils équivalents existent mais ces deux outils font références dans l industrie des circuits integrés numériques. Le tutorial va vous permettre, dans un premier temps, d appréhender ces outils en présentant leurs principales composantes. Ensuite, nous nous appuierons sur un exemple concret : la synthèse logique et la vérification d un compteur 6 bits. 2 Flot de conception/vérification Design Compiler + Modesim L outil Design Compiler (DC) fait la traduction d une description VHDL en un réseau de portes logiques (netlist) : c est ce que l on appelle la synthèse logique. Les portes logiques utilisées dans la netlist sont habituellement fournies par un fondeur de circuit (AMS, ST Microelectronics, Intel, Samsung, etc...) sous forme de librairie : c est ce que l on appelle la Librairie de Cellules Standard ou bien le Design Kit. La Figure 1 représente les principales étapes du flot de conception ASIC avec l outil Design Compiler (pour la synthèse logique) et Modelsim (pour la vérification). La librairie de cellules standards que nous allons utiliser est une librairie AMS 0.35µm. analyze : Cette première étape charge le ou les fichier(s) vhdl à lire et effectue une vérification synthaxique du fichier d entrée (counter.vhdl). L outil vérifie non- 1

Figure 1 Flot de conception seulement les erreurs de synthaxes mais il s assure également que le VHDL est synthetisable. elaborate : Cette phase correspond à une traduction du VHDL comportemental en une version structurelle du design. Les portes logiques constituants la netlist générée sont génériques (GTECH) indépendantes de la technologie. Durant cette étape l outil réalise déjà un certain nombre d optimisations. A l issue de cette étape, il est possible de sauvegarder le design dans un format propre à l outil (*.ddc). compile : Il s agit de l étape de synthèse logique à proprement parlé. L outil traduit la netlist générique en une netlist constituée des cellules de la librairie standard. L outil effectue un grand nombre d optimisations combinatoires pour pouvoir respecter les contraintes imposées par l utilisateur dans le fichier de contraintes (contrainte.tcl). Lors de cette étape, il est également possible de demander à l outil de faire plus ou moins d optimisations. Plus les optimisations sont poussées, plus le temps de synthèse est long. A l issue de cette étape là, il est possible de sauvegarder le design (*.ddc), de générer la netlist au format vhdl et de générer un fichier d annotations temporelles (*.sdf). Ces deux derniers seront utilisés pour l étape de vérification post-synthèse dans l outil ModelSim. report : A l issue de la synthèse logique, il est possible de générer tout un tas de rapports de synthèses qui permettent de quantifier les performances du circuit 2

généré (fréquence max, analyse du chemin critique, consommation de puissance, surface,...). vsim : C est le processus de vérification post-synthèse dans lequel le concepteur vérifie que la netlist générée par l outil a bien un comportement strictement équivalent à la description VHDL comportementale d entrée. Les simulations sont faites avec l outil ModelSim Dans ce TP nous allons appliqué ce flot de conception à un compteur binaire 6 bits. 3 Préparation de l espace de travail 3.1 Mise en place de l environnement Récupérez le fichier tuto_synopsys.tar.gz se trouvant à l adresse : cleroux.vvv.enseirb-matmeca.fr/en219/tp/. Créez un répertoire tuto_synopsys/, Copiez y le fichier tuto_synopsys.tar.gz et décompressez le avec la commande tar -zxvf tuto_synopsys.tar.gz. 3.2 Paramétrage des fichiers de configuration de Design Compiler Avant de faire des synthèses logiques il est nécessaire de dire à l outil où se trouve la librairie standard. Les chemins des librairies standards sont spécifiés dans un script./scripts/synopsys_dc.setup. Le design kit que nous utilisons est fourni par la société AMS. Il s agit d une technologie CMOS avec une caractéristique de 0.35µm. Ouvrez et examinez le fichier de configuration synopsys_dc.setup. Déduisez-en les caractéristiques de la librairie standard utilisée. Quelles autres librairies avons-nous à disposition? Pourquoi avoir plusieurs librairies? 4 Structuration du répertoire de travail De manière générale l utilisation d outils de conception implique la manipulation d un grand nombre de fichiers (crées par l utilisateur ou bien générés par l outil). Pour s y retrouver, il est donc primordial de définir une structure de répertoire de travail qui permette de s y retrouver facilement. Voici la structure de répertoire que vous devrez utiliser : 3

./db : pour mettre vos netlist au format.ddc./scripts : pour mettre vos scripts de synthèse./sim : pour mettre tous les fichiers liés à la simulation dans modelsim (avant et après synthèse) : test benches vhdl, netlist, fichiers.sdf,..../source : pour mettre vos fichiers source à synthétiser (.vhdl)./work : contient les fichiers générés par DC. Ce repertoire est crée par l outil, nul besoin de le créer vous-même../report : pour mettre les rapports de synthèse contenant les informations de timing, surface, conso de puissance, etc... Remarque : DC n utilise comme point d entrée que des fichiers de type VHDL (ou Verilog). Il n existe pas de méthode de saisie graphique pour décrire un système numérique. Les netlists issues de la synthèse logique peuvent etre exportées sous différents formats : VHDL, Verilog, edif, ddc,... 5 Synthèse logique Ce tutorial s appuie sur l exemple d un compteur 6 bits dont nous allons réaliser l analyse complète en détaillant toutes les étapes de la synthèse logique et de la vérification. 5.1 Lancement de l outil IMPORTANT : Placez vous toujours dans votre répertoire de travail ($HOME/tuto_synopsys/counter) AVANT de lancer Design Compiler. Il existe deux manières d utiliser l outil de synthèse : la première consiste en l emploi d une interface en mode ligne de commande. Pour cela on utilise la commande : dc_shell qui lance l environnement (apparition du prompt dc_shell dans le terminal) ; la deuxième consiste en l emploi d une interface graphique. La commande : design_vision permet de lancer l environnement graphique. La fenêtre Design Vision apparaît alors à l écran. Pour les premières utilisations, il est conseillé d utiliser l interface graphique qui est nettement plus conviviale que l interface en mode ligne de commande. Toutes les commandes de dc_shell peuvent être lues au fur et à mesure de leur exécution dans la fenêtre Log en bas de l écran. Il est également possible d écrire des commandes de Design Compiler (dc_shell) dans la ligne design_vision> sous la fenêtre Log. Dans la suite de ce tutorial, nous utiliserons l interface graphique Design_vision mais nous entrerons également des commandes dans la ligne design_vision>. Avec un peu d experience, vous verrez qu il devient vite 4

fastidieux d utiliser l interface graphique. Beaucoup de tâches peuvent être automatisées avec des scripts. Les scripts présentent également l avantage de pouvoir reproduire des résultats de synthèse à l identique. 5.2 Fichier VHDL à synthétiser Vous devez réaliser la synthèse logique d un compteur 6 bits. Le point d entrée de l outil est un fichier VHDL. Ce fichier (counter.vhdl) se trouve dans le répertoire source de votre répertoire de travail. ATTENTION : Tout VHDL n est pas synthétisable! Seul un sous-ensemble de VHDL est synthétisable. library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_unsigned.all; entity counter is port( rst : in std_logic; clk : in std_logic; enable : in std_logic; value : out std_logic_vector(5 downto 0)); end counter; architecture RTL of counter is signal bit_counter: std_logic_vector(5 downto 0); begin data_counter_proc : process(rst, clk) begin if(rst= 1 ) then bit_counter <= (others => 0 ); elsif(clk event and clk = 1 ) then if(enable = 1 ) then bit_counter <= bit_counter + 1; end if; end if; end process; 5

value <= bit_counter; end RTL; 5.3 Chargement et analyse d un fichier VHDL dans Design Vision Placer vous à la racine de votre projet : cd $HOME/tuto_synopsys/counter. Lancer l outil : design_vision. La première chose à faire est de donner les informations sur la librairie standard à utiliser. Pour cela, il faut exécuter le script./scripts/synopsys_dc.setup. Dans l invite de commande dc_shell, tapez : source./scripts/synopsys_dc.setup. On peut alors lancer la phase d analyse du fichier.vhd : Dans l interface graphique faire File > Analyze > Add, puis sélectionnez le fichier./source/counter.vhdl, spécifier le format VHDL, la librairie WORK et cliquez sur OK. L outil vérifie la synthaxe du ou des fichiers VHDL et crée un certain nombre de fichiers intermédiaires dans le répertoire./work. La commande dc_shell équivalente est : analyze -f vhdl counter.vhdl IMPORTANT : Après chaque commande il est primordial de vérifier qu aucune erreur n a été détectée dans l onglet de Log. Vous pouvez retrouver l historique des commandes dans l onglet history. 5.4 Phase d élaboration du modèle VHDL (synthèse logique technoindépendante) La phase d élaboration correspond à une synthèse logique indépendante de la technologie utilisée, il s agit de générer une vue RTL du design à partir de sa description VHDL. Pour lancer la phase d élaboration : File > Elaborate. Choisissez le circuit à synthétiser dans la bibliothèque de travail WORK, si vous utilisez une entité generic, précisez la valeur des variables générique, puis lancez l élaboration (OK). Vérifiez qu aucune erreur n est détectée pendant cette phase. Le schéma correspondant peut être alors visualisé : Schematic > New Schematic view La commande dc_shell équivalente est : elaborate counter -arch "RTL" -lib WORK -update 6

5.5 Sauvegarde d un résultat de synthèse Après l élaboration, le résultat obtenu peut être sauvegardé afin d être utilisé sur plusieurs cibles technologiques ou dans le but d être optimisé suivant différents critères (vitesse, surface, conso,...). Pour sauvegarder votre design :File > Save As, nommez le counter_elab et choisissez le format.ddc et placer le fichier dans le répertoire./db. Le format.ddc est le format interne à Synopsys. La commande dc_shell équivalente est : write -format ddc -hierarchy -output "./db/counter_elab.ddc" 5.6 Mise en oeuvre des contraintes Les contraintes sont des déclarations explicites qui définissent les objectifs à atteindre pour le circuit considéré. L outil propose de jouer sur les contraintes de temps, de surface et de consommation de puissance. Par défaut, l outil minimise la surface en respectant la contrainte de temps imposée. Lors de la phase d optimisation, DC utilise deux modèles de contraintes : les contraintes implicites, qui sont imposées par la bibliothèque technologique ; les contraintes d optimisation (ou contraintes explicites) imposées par l utilisateur. Il existe trois manières de spécifier les contraintes : par ligne de commande, par l interface graphique ou bien directement dans le fichier VHDL. Nous utiliserons la première méthode. Les contraintes sont réunies dans le fichier./scripts/contrainte.tcl : # Create user defined variables set CLK_PORT [get_ports clk] set CLK_PERIOD 4.00 set CLK_SKEW 0.0 set INPUT_DELAY 0.0 set OUTPUT_DELAY 0.0 set MAX_AREA 380000 # Time Budget create_clock -period $CLK_PERIOD -name my_clock $CLK_PORT set_dont_touch_network my_clock set_clock_uncertainty $CLK_SKEW [get_clocks my_clock] set_input_delay $INPUT_DELAY -max -clock my_clock [remove_from_collection [all_inpu set_output_delay $OUTPUT_DELAY -max -clock my_clock [all_outputs] 7

# Area Constraint set_max_area $MAX_AREA Pour exécuter toutes les commandes contenues dans ce fichier, dans la ligne de commande design_vision tapez : source./scripts/contrainte_counter.tcl 5.7 Compilation et optimisation du design (synthèse logique technodépendante) Pour se rendre compte de l importance de l étape de synthèse il est nécessaire d observer les résultats de compilation avant optimisation (cf section sur l élaboration). On applique maintenant l étape d optimisation pour la technologie ciblée : Design > Compile Design. Ouvrez ensuite le nouveau schéma. On observe que le design est maintenant un réseau de portes logiques de la bibliothèque AMS. La commande dc_shell équivalente est : compile Après avoir vérifier qu aucune erreur n est détectée par l outil, nous allons sauvegarder le résultat de synthèse en vue d une simulation du design synthétisé au niveau porte. Exécuter les commandes suivantes dans la ligne de commande design_vision : write_sdf./sim/source/counter_syn.sdf permet d écrire dans un fichier les temps de propagations à travers chaque porte logique du design synthétisé. write -format ddc -hierarchy -output "./db/counter_syn.ddc" permet de sauvegarder votre design au format.ddc. write -hierarchy -format vhdl -output./sim/source/counter_syn.vhdl permet de sauvegarder la netlist générée au format.vhdl. Nous utiliserons cette netlist ainsi que le fichier.sdf pour la simulation post-synthèse dans Modelsim. Ouvrez et étudiez le fichier.sdf et le fichier.vhdl générés. Lors de l écriture du fichier sdf, un message de type Information apparaît dans le Log. Que signifie ce message? Sommes-nous dans le cas suggéré? 8

5.8 Caractéristique du circuit obtenu Pour obtenir les caractéristiques temporelles du circuit, taper : report_timing>./report/counter.timing. Pour obtenir les caractéristiques de surface du circuit, taper : report_area>./report/counter.area. Pour obtenir les caractéristiques de conso. de puissance du circuit, taper : report_power>./report/counter.power. Pour obtenir des infos sur les cellules standards instanciées dans le design, taper : report_cell>./report/counter.cell Pour obtenir des infos sur l horloge : report_clock>./report/counter.clock Pour obtenir un résumé des caractéristique du circuit généré : report_qos>./report/counter.qos 5.9 Script dc_shell Les étapes décrites jusqu ici sont très similaires d un design à un autre. Il est donc très commode d utiliser des scripts qui permettent d automatiser la synthèse logique et donc de gagner du temps! Les étapes décrites dans ce tutorial sont rassemblées dans deux scripts :./scripts/run.tcl qui contient les commande de synthèse et de reporting et./scripts/contrainte.tcl qui contient les contraintes à appliquer à notre design : counter. Pour exécuter ce script, il suffit de taper la commande : source./scripts/run.tcl 6 Simulation pré/post synthèse avec Modelsim 6.1 Pourquoi simuler? Modelsim est un outil de simulation de systèmes numériques développé par la société MentorGraphics. C est un outil très largement utilisé dans l industrie. 9

Nous allons utiliser Modelsim pour simuler notre système avant synthèse (simulation comportementale) et après synthèse (simulation de la netlist générée par DC). La simulation post-synthèse permet d une part de valider l étape de synthèse logique en s assurant que la netlist générée par DC a bien le même comportement que la description comportementale. D autre part, Modelsim permet de simuler notre système avec une contrainte de temps (fréquence d horloge fixée) afin de vérifier que notre système peut fonctionner avec la fréquence maximum annoncée par DC. 6.2 Simulation pré-synthèse Figure 2 Simulation pré-synthèse La simulation pré-synthèse permet de vérifier le fonctionnement de notre système, c est à dire de s assurer que le VHDL/Verilog que l on a écrit permet bien de faire ce que l on souhaite (un comptage modulo 64). L invocation de l outil modelsim se fait par la commande vsim. Une fois l outil lancé, assurez-vous d être dans le répertoire de simulation : File > Change Directory et choisir le répertoire $HOME/tuto_synopsys/counter/sim. Notez que le répertoire sim/ contient un sous répertoire source/ qui contiendra les différents 10

fichiers source nécessaire à la simulation. Pour préparer la simulation du compteur au niveau comportemental (avant synthèse) : Créez un nouveau projet que l on nommera par example simu_counter dans le répertoire sim/ : File > New > Project, puis : Browse > $HOME/tuto_synopsys/counter/sim/ Ajouter au projet le fichier VHDL contenant la description comportementale du compteur : Project > Add To Project > Existing File : $HOME/tuto_synopsys/counter/source/counter.vhdl Ajouter également le test bench qui se trouve dans le répertoire sim/source $HOME/tuto_synopsys/counter/sim/source/tb_counter.vhdl Compiler tous les fichiers : Compile > Compile All Votre système est alors prêt à être simulé. Pour lancer la simulation : Ouvrir la fenêtre de simulation : Simulate > Start Simulation Dans l onglet Design, sélectionner l architecture behavior du test bench Cliquez sur OK, la simulation se lance Faites glisser les signaux que vous souhaitez visualiser dans l onglet wave. Dans l invite de commande de modelsim, tapez : restart, puis run 1us. Vous pouvez vérifier que la sortie value du compteur correspond bien à un comptage modulo sur 6 bits. 6.3 Simulation post-synthèse Figure 3 Simulation post-synthèse Pour faire une simulation post-synthèse dans Modelsim, nous avons besoin de quatre éléments : 11

1. Un test bench (tb_counter.vhdl). Celui-ci se trouve déjà dans le projet. 2. Une netlist de notre circuit générée par Design Compiler utilisant les portes logiques de la librairie AMS : counter_syn.vhdl 3. Une description fonctionnelle des portes logiques de la librairie AMS : fichiers vhdl ou verilog se trouvant dans le répertoire./sim/source/libs_ams (c35_corelib.v et c35_udp.v) 4. Les temps de propagation de toutes les portes logiques contenues dans notre netlist estimés par Design Compiler : fichier counter_syn.sdf Ajout de la netlist : Enlevez la description comportementale du compteur : dans l onglet Project, clique droit sur counter.vhdl puis Remove from Project Ajouter la description au niveau porte : Project > Add to Project > Existing File > $HOME/synopsys/counter/sim/source/counter_syn.vhdl Compilation de la librairie : Créez une bibliothèque : Dans l invite de commande, tapez : vlib c35_corelib. Une bibliothèque est normalement créee dans l onglet Library et un répertoire c35_corelib est crée dans $HOME/synopsys/counter/sim/. Compilez les fichiers verilog dans la librairie c35_corelib : tapez vlog -work c35_corelib./source/libs_ams/c35_corelib.v, puis vlog -work c35_corelib./source/libs_ams/c35_udp.v Compilation et simulation du design avec les timings Nous allons maintenant simuler le compteur en incluant les annotations temporelles calculées pendant la synthèse logique (counter_syn.sdf) : Compilez : Compile > Compile All Ouvrez la fenêtre de simulation : Simulation > Start Simulation Dans l onglet SDF, chargez le fichier d annotations temporelles à appliquer au composant à tester (/tb_counter/uut) : Browse > counter_syn.sdf Apply to Region > tb_counter/uut (on applique les temps spécifiés dans le fichier.sdf uniquement au counter se trouvant dans le test bench) Sélectionnez les temps de propagation min : Delay > max Dans l onglet Librairies rajouter la librairie que vous venez de compiler : c35_corelib 12

Dans l onglet Design, sélectionnez une résolution en ns, décochez la case enable optimization et lancez la simulation du testbench Le compteur fonctionne t-il correctement? 7 Annexe Voici une liste non exhaustive des fichiers utilisés dans design compiler : Extension des fichiers sources les fichiers.v sont des fichiers source en langage Verilog les fichiers.vhd/.vhdl sont des fichiers source en langage VHDL les fichiers.edif sont des fichiers source au format EDIF Extension des fichiers de synthèse et de script les fichiers.sdf (standard delay format) sont des fichiers contenant les temps de propagations extraits après synthèse les fichiers.scr/.sh/.tcl sont des fichiers script Extension des fichiers de rapport de compilation et de login les fichiers.log sont des fichiers contenant toutes les commandes et alias de l application. Fichier très utile pour tracer les erreurs lors de la synthèse. les fichiers.db/.ddc sont répertoriés dans la base de données du logiciel. C est également l extension par défaut de DDC. 13