Introduction à Quartus II et ModelSim 1 Introduction Ce Laboratoire a pour but de vous initier aux logiciels Quartus II et ModelSim, après avoir suivi celui-ci, vous serez capable de modéliser un schéma logique avec Quartus II et de le simuler à l aide de ModelSim. Avant toute chose, nous allons nous assurer que votre disque réseau MyFiles a correctement été connecté, pour ce faire veuillez suivre le tutoriel sur http://wiki.epfl.ch/myfiles-windows. Nous allons organiser notre laboratoire dans un répertoire lui étant destiné, voici la hiérarchie des dossiers que vous allez devoir créer dans un répertoire, disons Z :/lab01 : Z :/lab01/ quartus/ modelsim/ Dans ce laboratoire, nous allons voir la création et la simulation d un additionneur complet. Cependant, vous n aurez pas à vous soucier de la théorie dans ce laboratoire, toute la synthèse a été faite pour vous et sera vue durant les cours. 2 Quartus II 12.0sp2 Altera Quartus II 1 est un logiciel de conception permettant de faire l analyse et la synthèse de systèmes numériques. Bref aperçu de l interface de Quartus II 1. Liste des fichiers contenus dans le projet 2. Tâches en cours (progression de la compilation) 3. Messages lors de la compilation 4. Bar d outils principale FIGURE 1 Quartus II 1. Ce logiciel est gratuit dans sa version Web Edition sur http://www.altera.com EPFL - IC - Version 1.4 1 sur 8
2.1 Création d un projet Il est possible de créer un nouveau projet de deux manières : À l ouverture du logiciel, en cliquant sur Create new project de la fenêtre Getting Started. En passant par le menu : File New... New Quartus II Project. FIGURE 2 Quartus II - Getting Started Une fois l assistant de création de projet ouvert, entrez les informations suivantes : 1. Directory, Name, Top-Level Entity Working Directory : Z :/lab01/quartus/ Project Name : lab01 Top-Level Entity : lab01 (Celle-ci pourra être modifiée dans les préférences du projet) 2. Add Files Ajouter des fichiers pré-existants au projet. Pour ce laboratoire, il n y en a pas. 3. Family & Device Settings Family : Cyclone IV E Device : EP4CE22F17C6 4. EDA Tool Settings Design Entry/Synthesis : Precision Synthesis Simulation : ModelSim-Altera VHDL 5. Summary Etape qui résume la configuration du projet. 2.2 Création d un schéma Quartus II propose plusieurs méthodes de conception. Durant ce semestre, nous allons nous concentrer sur la conception à l aide de schémas à l aide du Block Editor. A partir du prochain semestre nous verrons comment modéliser ces schémas à l aide du langage VHDL. Pour ce faire, allez dans File New... Block Diagram / Schematic File. Si vous voulez travailler en plein écran, cliquez sur 2.2.1 Bibliothèque (Detach Window) pour extraire la fenêtre. Pour insérer des composants, ouvrez la bibliothèque à l aide du bouton (Symbol), la fenêtre de la figure 3 permet d insérer des composants qui pourront être relié entre-eux pour former un schéma. Entrez or2 dans le champs name, ceci aura pour effet de vous afficher une porte logique OU à deux entrées dans le cadre de droite. Cliquez sur OK puis cliquez dans l éditeur de bloc pour placer le composant à l intérieur de celui-ci. EPFL - IC - Version 1.4 2 sur 8
FIGURE 3 Symbol 2.2.2 Connections entre composants Pour connecter deux composants entre eux, il suffit d aller sur l une des pins du composant. C est alors que le curseur se transformera en croix, ce qui signifie que vous pouvez interconnecter les composants entre eux. Créez le diagramme comme présenté sur la figure 4 en effectuant les étapes suivantes : FIGURE 4 Block Editor (FullAdder) 1. Ajoutez les portes logiques suivantes : Deux portes ET à deux entrées AND2 Deux portes OU-Exclusif XOR Une portes OU à deux entrées OR2 2. Ajoutez trois entrées Input 3. Ajoutez deux sorties Output 4. Renommez les entrées/sorties. 5. Reliez les composants. Pour finir, enregistrez le schéma dans le répertoire du projet sous le nom FullAdder.bdf. 2.3 Création d un composant A l instar de la programmation orienté objet, il est utile de pouvoir créer de nouveaux composants afin de les réutiliser de façon modulaire. Il est maintenant question de créer notre composant à partir du schéma crée précédemment. Pour ce faire, File Create / Update Create Symbol Files for Current File, enregistrez le fichier sous le nom de FullAdder.bsf dans le répertoire du projet. EPFL - IC - Version 1.4 3 sur 8
Notre composant sera automatiquement ajouté à la bibliothèque. Nous allons en avoir besoin pour finir la création de notre schéma principal. Pour ce faire, créez un nouveau schéma comme vu à la section 2.2 et enregistrezle sous la nom Lab01.bdf, puis ajoutez-y le composant FullAdder qui se trouve dans la bibliothèque comme le montre la figure 5. FIGURE 5 Symbol with Lab01 Il est possible de modifier la représentation d un composant à l aide du Symbol Editor, Faites un clic droit sur le composant et sélectionnez Edit Selected Symbol. Après avoir enregistrez vos modifications, faites un clic droit dans le Block Editor et sélectionnez Update Symbol or Block, ce qui aura pour effet de mettre à jour la représentation de tous les composants. Pour finir, ajoutez trois entrées et deux sorties, renommez-les et reliez-les comme sur le schéma 6. FIGURE 6 Block & Symbol Editor 2.4 Compilation du projet Une fois les schémas créé, il ne nous reste plus qu à compiler le projet afin de le synthétiser. Pour ce faire, cliquez sur (Start Compilation), une fenêtre de rapport s ouvrira. En cas d erreurs, Quartus II vous les affichera dans la zone Messages. EPFL - IC - Version 1.4 4 sur 8
3 ModelSim 6.6d Altera ModelSim 2 est un logiciel de simulation de document de description du matériel (HDL). Bref aperçu de l interface Pour avoir la même interface que sur l image ci-dessous, il vous faut tout d abord passer l interface en mode simulation (Layout Simulate) et ensuite ouvrir le cadre des signaux (View Wave). 1. Library : Liste des librairies pouvant être utilisées par notre projet Project : Liste des fichiers faisant partie du projet ModelSim 2. Objets pouvant être simulés 3. Processus (liés à VHDL, cette partie sera vue au prochain semestre) 4. Signaux de la simulation en cours 5. Console permettant de contrôler la simulation en cours FIGURE 7 ModelSim 3.1 Lancement de la simulation depuis Quartus II Pour effectuer la simulation sous ModelSim, il nous faut pour cela ouvrir ModelSim. Quartus propose un raccourci qui nous permet d ouvrir ModelSim ainsi que de compiler le projet sous ModelSim. Sous Quartus II, allez dans Tools Run Simulation Tool Gate Level Simulation..., il faut ensuite prendre le modèle "Slow Model" et cliquez sur run, qui aura pour effet d ouvrir ModelSim et de compiler le projet. FIGURE 8 EDA Gate Level Simulation Toutefois, il est possible d effectuer ces étapes à la main, veuillez lire la section 3.3. 2. Ce logiciel est gratuit dans sa version Starter Edition sur http://www.altera.com. Comme pour Quartus II, prenez la version 10.1sp1 - sinon elle ne sera pas compatible avec Quartus II. EPFL - IC - Version 1.4 5 sur 8
3.2 Simulation Cliquez sur (Simulate) et choisissez le projet en cours work lab01. (voir figure 9) FIGURE 9 Start Simulation 3.2.1 Ajout des objets à la liste des signaux visibles Lorsque la simulation est lancée, tous les signaux faisant parti du projet se retrouvent dans le cadre Objects, pour les ajouter à la liste des signaux visibles, sélectionnez-les et glissez-les à l intérieur du cadre Wave. Il est possible de modifier la base d affichage (binaire, décimal, hexadécimal,...) à l aide de la fenêtre de dialogue Objects Global Signal Radix. 3.2.2 Configuration des signaux en entrée Pour configurer les signaux, il faut leur indiquer quel sera leurs comportement lors de la simulation. Ceci s effectue dans la console à l aide de la commande : 1 force <object > <state0 > <time0 > [,... [, <staten > <timen >]] [-repeat p] Listing 1 Commande de simulation object : Signal à définir state : Etat sous forme binaire (0 ou 1) ou hexadecimal (16#1, 16#2,..., 16#f,... ) time : Temps auquel l état sera activé -repeat : Permet de définir un signal périodique de période p Sans unité, les temps sont en picoseconde (ps), il est possible d ajouter une unité picoseconde (ps), nanoseconde (ns) ou milliseconde (ms). C est au moment de la simulation (commande run) que le signal affichera prendra ces valeurs. Par exemple, si on veut que le signal a effectue les variations de la figure 10 et que l on veuille répéter ces variations toutes les 40ps, il faudra écrire la commande suivante : 1 force a 0 0, 1 10, 0 20, 1 25, 0 30, 1 35 -repeat 40 Listing 2 Commande de simulation EPFL - IC - Version 1.4 6 sur 8
a 1 period 0 0 10 20 30 40 50 FIGURE 10 Chronogramme de a 3.2.3 Simuler Il faut maintenant lancer la commande run n qui va lancer la simulation pendant un temps n. 3.2.4 Script de simulation Il est possible de configurer et lancer la simulation à l aide d un script. Pour ce faire il suffit d écrire les commandes dans un fichier texte qui se trouvera à la base du répertoire du projet et d exécuter la commande : 1 do ScriptFileName Listing 3 Exécution du script de simulation Il faut que le script soit dans le même dossier que ModelSim, exécutez la commande pwd dans ModelSim afin de voir dans quel dossier vous êtes. 3.2.5 Simulation de l additionneur complet Dans notre simulation, le but est de tester toutes les valeurs possible pour a, b et c_in, nous allons donc utiliser les commandes suivante : 1 force a 0 0, 1 20 -repeat 40 2 force b 0 0, 1 40 -repeat 80 3 force c_in 0 0, 1 80 -repeat 160 4 run 160 Listing 4 Script de simulation FIGURE 11 Simulation EPFL - IC - Version 1.4 7 sur 8
3.3 Utilisation de ModelSim sans passer par Quartus 3.3.1 Création d un projet Pour créer un projet : File New Project... Entrez les informations concernant le projet en cours et placez-le dans le répertoire Z :/lab01/modelsim/ créé en début de laboratoire. Une fois le projet créé, une fenêtre vous propose d ajouter ou créer un fichier au projet, il faut cliquer sur Add Existing File pour y ajouter le fichier qui a été créé lors de la compilation par Quartus II. Prenez le document Z :/lab01/quartus/simulation/modelsim/lab01.vho et sélectionnez la case Copy to project directory pour effectuer une copie dans le répertoire du projet. FIGURE 12 Create Project - Add Items & File 3.3.2 Compilation ModelSim n utilisant pas Quartus II, il va devoir lui aussi compiler le projet. Pour cela, cliquez sur le bouton (Compile All) qui aura pour effet de compiler tous les documents HDL. Si la compilation a réussi, un message sera affiché dans la console. Vous pouvez alors passer à la partie simulation comme décrit à la section 3.2. EPFL - IC - Version 1.4 8 sur 8