33
Guide des outils de conception Page 1 Eduardo Sanchez Guide d’utilisation des outils de conception VHDL - FPGA Eduardo Sanchez EPFL - LSL 2003

Guide d’utilisation des outils de conception VHDL - …lslpar défaut stocké dans la mémoire Flash (le processeur Nios 32 bits). Guide des outils de conception Page 20 Eduardo

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Guide d’utilisation des outils de conception VHDL - …lslpar défaut stocké dans la mémoire Flash (le processeur Nios 32 bits). Guide des outils de conception Page 20 Eduardo

Guide des outils de conception Page 1 Eduardo Sanchez

Guide d’utilisation des outils de conception

VHDL - FPGA

Eduardo Sanchez EPFL - LSL

2003

Page 2: Guide d’utilisation des outils de conception VHDL - …lslpar défaut stocké dans la mémoire Flash (le processeur Nios 32 bits). Guide des outils de conception Page 20 Eduardo

Guide des outils de conception Page 2 Eduardo Sanchez

Exemple de programme VHDL: Une ALU 8 bits

C’est une ALU très simple, avec seulement deux opérations possibles, choisies à l’aide de la variable de contrôle OPALU:

OPALU opération 0 A + B 1 A - B

Les deux entrées (ENTREEA et ENTREEB) ainsi que le résultat (RESULTAT) sont des variables à 8 bits. L’opération de soustraction produit un flag qui est chargé dans un registre si la variable de contrôle LDFLAG est active.

ENTREEA ENTREEB

RESULTAT

CLK

INALU OPALU LDFLAG

FLAG RESET

ALU

0

INALU

LDFLAGFLAG

OPALU

CLK

ENTREEA

ENTREEB

0 1

RESULTAT

RESET VRAIB

ZERO

Page 3: Guide d’utilisation des outils de conception VHDL - …lslpar défaut stocké dans la mémoire Flash (le processeur Nios 32 bits). Guide des outils de conception Page 20 Eduardo

Guide des outils de conception Page 3 Eduardo Sanchez

library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity alu is port (clk : in std_logic; reset, inalu, opalu, ldflag : in std_logic; flag : out std_logic; entreea, entreeb : in std_logic_vector(7 downto 0); resultat : out std_logic_vector(7 downto 0)); end alu; architecture synt of alu is signal vraib : std_logic_vector(7 downto 0); signal zero : std_logic; begin process (entreeb, inalu) begin if inalu='0' then vraib <= entreeb; else vraib <= (others => '0'); end if; end process; process (opalu, entreea, vraib) variable bidon : std_logic_vector(7 downto 0); begin zero <= '0'; if opalu='0' then resultat <= entreea + vraib; else bidon := entreea - vraib; resultat <= bidon; if (bidon = "00000000") then zero <= '1'; end if; end if; end process; process (clk, reset) begin if reset='0' then flag <= '0'; else if (clk'event and clk='1') then if ldflag='1' then flag <= zero; end if; end if; end if; end process; end synt;

Page 4: Guide d’utilisation des outils de conception VHDL - …lslpar défaut stocké dans la mémoire Flash (le processeur Nios 32 bits). Guide des outils de conception Page 20 Eduardo

Guide des outils de conception Page 4 Eduardo Sanchez

Simulation VHDL avec ModelSim (avant placement - routage du circuit FPGA)

Démarrer l’application ModelSim:

Start → Programs → ModelSim SE 5.7d → ModelSim Deux fenêtres s’affichent:

• la fenêtre de contrôle, tableau de bord de la application, et • une fenêtre de bienvenue.

(Si cette dernière fenêtre n’apparaît pas, vous pouvez l’appeler depuis le menu Help → Welcome Menu).

Le bouton Jumpstart de la fenêtre de bienvenu permet l’affichage d’une nouvelle fenêtre qui facilite le choix de la première commande à exécuter (en général, créer un nouveau projet ou ouvrir un ancien projet).

Page 5: Guide d’utilisation des outils de conception VHDL - …lslpar défaut stocké dans la mémoire Flash (le processeur Nios 32 bits). Guide des outils de conception Page 20 Eduardo

Guide des outils de conception Page 5 Eduardo Sanchez

Créer un projet, en indiquant son emplacement et son nom:

L’emplacement du projet est un dossier (directory) créé à l’avance par

vos soins. Les fichiers VHDL à compiler et à simuler doivent se trouver à l’intérieur de ce dossier. En créant un projet, ModelSim crée en fait un fichier, au nom du projet et avec l’extension .mpf, et la bibliothèque (library) de travail (work). Dans notre exemple, après la création du projet alu, dans le dossier Manuel, nous aurons un nouveau dossier work (la bibliothèque de travail) et un nouveau fichier alu.mpf (des informations sur le projet, internes à ModelSim). Nous devons maintenant créer notre fichier VHDL alu.vhd à l’intérieur du dossier Manuel.

Créer le fichier VHDL de travail: un nouveau dialogue nous permet la

création d’un fichier source, ou l’ajout dans le projet d’un ou plusieurs fichiers source déjà existants.

Page 6: Guide d’utilisation des outils de conception VHDL - …lslpar défaut stocké dans la mémoire Flash (le processeur Nios 32 bits). Guide des outils de conception Page 20 Eduardo

Guide des outils de conception Page 6 Eduardo Sanchez

Si nous choisissons de créer un nouveau fichier source, un dialogue nous demande son nom:

Après fermeture des dialogues, la fenêtre de contrôle est disponible:

barre d’outils barre de menus

fichiers source écriture des commandes et affichage des résultats

Page 7: Guide d’utilisation des outils de conception VHDL - …lslpar défaut stocké dans la mémoire Flash (le processeur Nios 32 bits). Guide des outils de conception Page 20 Eduardo

Guide des outils de conception Page 7 Eduardo Sanchez

Les commandes du simulateur peuvent être exécutées depuis la barre de menus, depuis la barre d’outils ou en les écrivant dans la fenêtre de contrôle.

Un éditeur de fichiers source VHDL est appelé en cliquant deux fois sur le nom du fichier:

Compiler les programmes VHDL dans la bibliothèque work:

Tools → Compile

ou icône Compile sur la barre d’outils:

Les fichiers doivent être compilés dans le bon ordre hiérarchique, de bas en haut.

Démarrer la simulation: Simulate → Simulate...

ou icône Simulate sur la barre d’outils:

Page 8: Guide d’utilisation des outils de conception VHDL - …lslpar défaut stocké dans la mémoire Flash (le processeur Nios 32 bits). Guide des outils de conception Page 20 Eduardo

Guide des outils de conception Page 8 Eduardo Sanchez

Un dialogue apparaît, qui permet de choisir l’architecture à simuler, à l’intérieur de la bibliothèque work :

Afficher toutes les fenêtres de simulation: View → All Windows

Page 9: Guide d’utilisation des outils de conception VHDL - …lslpar défaut stocké dans la mémoire Flash (le processeur Nios 32 bits). Guide des outils de conception Page 20 Eduardo

Guide des outils de conception Page 9 Eduardo Sanchez

Déplacer de la fenêtre signals vers la fenêtre wave tous les signaux que l’on veut suivre en simulation.

Page 10: Guide d’utilisation des outils de conception VHDL - …lslpar défaut stocké dans la mémoire Flash (le processeur Nios 32 bits). Guide des outils de conception Page 20 Eduardo

Guide des outils de conception Page 10 Eduardo Sanchez

Si nécessaire, modifier la base pour l’affichage des valeurs numériques des signaux. Pour passer à la base hexadécimale, par exemple, il faut sélectioner le signal voulu et exécuter la commande:

Format → Radix → Hexadecimal

Exécuter les commandes de simulation. Ceci peut être fait en les écrivant dans la fenêtre de commande ou en exécutant un script:

do NomDuScript Un exemple de script de commande pour l’ALU du chapitre précédent est

le suivant:

force clk 0 0, 1 40 -repeat 80 force start 1 0, 0 60 force entreea 16#39 0, 16#0 60, 16#39 140 force inalu 0 0, 1 60, 0 140 force entreeb 16#12 0, 16#39 140 force opalu 1 0, 0 140, 1 220 force ldflag 0 0, 1 60 run 300 ns

Où la commande force sert à initialiser un signal, à l’aide de trois paramètres: le nom du signal, sa valeur et le temps où cette valeur est affectée. Il est possible de donner plusieurs valeurs, en les séparant par des virgules. Et l’option –repeat n indique que la suite de valeurs précédentes sera répétée chaque n nanosecondes. Le préfixe 16# indique que la valeur est donnée en hexadécimal.

Le résultat de cette simulation est illustré par la figure suivante:

Page 11: Guide d’utilisation des outils de conception VHDL - …lslpar défaut stocké dans la mémoire Flash (le processeur Nios 32 bits). Guide des outils de conception Page 20 Eduardo

Guide des outils de conception Page 11 Eduardo Sanchez

Synthèse avec Leonardo

Démarrer l’application Leonardo Spectrum:

Start → Programs → Leonardo Spectrum LS2002e_16 →

LeonardoSpectrum LS2002e_16

Exécuter le wizard depuis la barre d’outils:

barre d’outils

Page 12: Guide d’utilisation des outils de conception VHDL - …lslpar défaut stocké dans la mémoire Flash (le processeur Nios 32 bits). Guide des outils de conception Page 20 Eduardo

Guide des outils de conception Page 12 Eduardo Sanchez

Choisir la cible de la synthèse: type de circuit (FPGA), fabricant (Altera), numéro du circuit (EP20K200EFC484), vitesse (-2X):

Choisir le dossier (directory) de travail, le fichier VHDL à synthétiser et le type de codage pour les machines séquentielles:

Page 13: Guide d’utilisation des outils de conception VHDL - …lslpar défaut stocké dans la mémoire Flash (le processeur Nios 32 bits). Guide des outils de conception Page 20 Eduardo

Guide des outils de conception Page 13 Eduardo Sanchez

Spécifier la vitesse voulue de fonctionnement (fréquence d’horloge: 33MHz):

Spécifier le format de sortie de la netlist (le format par défaut, Auto, produit un fichier en format EDIF)

Page 14: Guide d’utilisation des outils de conception VHDL - …lslpar défaut stocké dans la mémoire Flash (le processeur Nios 32 bits). Guide des outils de conception Page 20 Eduardo

Guide des outils de conception Page 14 Eduardo Sanchez

Prenez note du nom du fichier de sortie. Le bouton Finish du dialogue précédent termine l’introduction des

données et démarre la synthèse. Les résultats sont affichés dans la fenêtre principale (faire attention aux éventuels warnings et messages d’erreurs).

utilisation du FPGA

fréquence d’horloge

Page 15: Guide d’utilisation des outils de conception VHDL - …lslpar défaut stocké dans la mémoire Flash (le processeur Nios 32 bits). Guide des outils de conception Page 20 Eduardo

Guide des outils de conception Page 15 Eduardo Sanchez

Le fichier VHDL peut être modifié directement dans Leonardo: il suffit de cliquer sur un message d’erreur pour ouvrir une fenêtre avec le code source. Dans ce cas, après correction on doit relancer le wizard Afficher le logigramme généré en cliquant sur le bouton View RTL Schematic de la barre d’outils

Sauver le projet:

Page 16: Guide d’utilisation des outils de conception VHDL - …lslpar défaut stocké dans la mémoire Flash (le processeur Nios 32 bits). Guide des outils de conception Page 20 Eduardo

Guide des outils de conception Page 16 Eduardo Sanchez

File → Save Project

Page 17: Guide d’utilisation des outils de conception VHDL - …lslpar défaut stocké dans la mémoire Flash (le processeur Nios 32 bits). Guide des outils de conception Page 20 Eduardo

Guide des outils de conception Page 17 Eduardo Sanchez

Carte de développement Altera

Pour l’implémentation de nos systèmes, nous utiliserons la carte de développement d’Altera (Excalibur Development Kit), qui est équipée d’un circuit FPGA EP20K200EFC484-2X (l’équivalent de 200'000 portes disponibles, plus 106'496 bits de RAM).

Plusieurs des entrées/sorties du FPGA sont disponibles pour l’utilisateur : • onze pins du connecteur JP12. Le numéro du pin correspondant du FPGA

est indiqué sur la figure suivante (le pin 5 du connecteur JP12 est connecté, par exemple, au pin R18 du FPGA). Le connecteur JP12 fournit en plus les signaux d’alimentation (GND et +5V)

Page 18: Guide d’utilisation des outils de conception VHDL - …lslpar défaut stocké dans la mémoire Flash (le processeur Nios 32 bits). Guide des outils de conception Page 20 Eduardo

Guide des outils de conception Page 18 Eduardo Sanchez

• vingt-neuf pins du connecteur JP11. Le numéro du pin correspondant du

FPGA est indiqué sur la figure suivante (le pin 15 du connecteur JP11 est connecté, par exemple, au pin N17 du FPGA). Le connecteur JP11 fournit en plus plusieurs signaux de terre (GND)

• un affichage 7 segments à deux caractères. Le numéro du pin du FPGA connecté à chaque segment de l’affichage est donné à la figure suivante. Un segment s’allume lorsqu’un 0 est envoyé sur la sortie correspondante du FPGA

Page 19: Guide d’utilisation des outils de conception VHDL - …lslpar défaut stocké dans la mémoire Flash (le processeur Nios 32 bits). Guide des outils de conception Page 20 Eduardo

Guide des outils de conception Page 19 Eduardo Sanchez

• un bloc à 8 interrupteurs (SW1). Le numéro du pin du FPGA connecté à chaque interrupteur est donné à la figure suivante. Le FPGA voit un 1 lorsque l’interrupteur correspondant est à la position OPEN

• cinq boutons poussoirs (SW3, SW4, SW5, SW6, SW7) et deux LEDs (LED1 et LED2). Le numéro du pin du FPGA connecté à un bouton ou un LED est donné à la figure suivante. Le FPGA voit un zéro lorsque le bouton correspondant est pressé. Les LEDs s’allument lorsqu’un 1 est envoyé à la sortie correspondante du FPGA.

Le bouton SW3 est marqué CLEAR, mais sa fonction dépend entièrement de l’utilisateur (il est connecté à l’entrée N7 du FPGA)

Le bouton poussoir SW2 est un power-on reset: chaque fois qu’il est pressé, le système reçoit un reset général et le FPGA est chargé avec la configuration par défaut stocké dans la mémoire Flash (le processeur Nios 32 bits).

Page 20: Guide d’utilisation des outils de conception VHDL - …lslpar défaut stocké dans la mémoire Flash (le processeur Nios 32 bits). Guide des outils de conception Page 20 Eduardo

Guide des outils de conception Page 20 Eduardo Sanchez

Le chargement de la configuration externe du FPGA se fait via le câble ByteBlasterMV, reliant le connecteur JP3 de la carte (placé à côté du connecteur RS232) avec un port parralèle du PC. Un circuit d’horloge interne fournit un signal 33MHz, connecté au pin L6 du FPGA. Le même signal est disponible à l’extérieur via le pin 9 du connecteur JP13. D’autres caractéristiques de la carte sont principalement utilisables en combinaison avec le processeur Nios: • 1 Mbyte de mémoire Flash (512K x 16) • 256 Kbytes de mémoire RAM statique (deux circuits 64K x 16) • un connecteur RS232 • un connecteur SODIMM, compatible avec des modules de mémoire

dynamique • deux connecteurs de type PCI

Page 21: Guide d’utilisation des outils de conception VHDL - …lslpar défaut stocké dans la mémoire Flash (le processeur Nios 32 bits). Guide des outils de conception Page 20 Eduardo

Guide des outils de conception Page 21 Eduardo Sanchez

Placement-routage du FPGA avec Quartus II

Démarrer l’application Quartus II: Start → Programs → Altera → Quartus II 2.2

Créer un nouveau projet:

File → New Project Wizard...

Introduire le nom du dossier (directory) de travail, le nom du projet et le nom du fichier .edf à placer-router:

Page 22: Guide d’utilisation des outils de conception VHDL - …lslpar défaut stocké dans la mémoire Flash (le processeur Nios 32 bits). Guide des outils de conception Page 20 Eduardo

Guide des outils de conception Page 22 Eduardo Sanchez

Sélectionner les autres fichiers à inclure dans le projet (s’ils existent):

Sélectionner ModelSim comme outil de simulation:

Sélectionner le type de circuit (EP20K200EFC484-2X)

Indiquer le brochage (pinout) du système: il faut associer chaque entrée/sortie de l’entité (entity) au plus haut niveau avec l’un des pins du FPGA disponibles à l’extérieur (voir le chapitre sur la carte de développement d’Altera pour les détails)

Page 23: Guide d’utilisation des outils de conception VHDL - …lslpar défaut stocké dans la mémoire Flash (le processeur Nios 32 bits). Guide des outils de conception Page 20 Eduardo

Guide des outils de conception Page 23 Eduardo Sanchez

Assignments → Assign Pins...

Dans ce dialogue, on fait l’affectation de chaque port de l’entité VHDL

avec l’un des pins du FPGA: on sélectionne le pin, on écrit le nom et on presse le bouton Add. Pour notre exemple, une affectation possible est la suivante:

Nom du port Numéro du pin FPGA

clk L6 horloge interne à 33MHz reset N7 bouton CLEAR inalu R18 pin 5 du connecteur JP12 opalu U21 pin 7 du connecteur JP12 ldflag U1 pin 9 du connecteur JP12

entreea[0] L15 pin 3 du connecteur JP11 entreea[1] N19 pin 5 du connecteur JP11 entreea[2] M3 pin 7 du connecteur JP11 entreea[3] U5 pin 9 du connecteur JP11 entreea[4] L14 pin 13 du connecteur JP11 entreea[5] N17 pin 15 du connecteur JP11 entreea[6] R3 pin 17 du connecteur JP11 entreea[7] P3 pin 21 du connecteur JP11 entreeb[0] Y10 interrupteur 1 de SW1 entreeb[1] U12 interrupteur 2 de SW1 entreeb[2] P11 interrupteur 3 de SW1 entreeb[3] V10 interrupteur 4 de SW1 entreeb[4] U10 interrupteur 5 de SW1 entreeb[5] T10 interrupteur 6 de SW1 entreeb[6] U9 interrupteur 7 de SW1

Page 24: Guide d’utilisation des outils de conception VHDL - …lslpar défaut stocké dans la mémoire Flash (le processeur Nios 32 bits). Guide des outils de conception Page 20 Eduardo

Guide des outils de conception Page 24 Eduardo Sanchez

entreeb[7] V9 interrupteur 8 de SW1 flag P18 pin 32 du connecteur JP11

resultat[0] P19 pin 4 du connecteur JP11 resultat[1] R20 pin 6 du connecteur JP11 resultat[2] N1 pin 8 du connecteur JP11 resultat[3] M2 pin 10 du connecteur JP11 resultat[4] T20 pin 14 du connecteur JP11 resultat[5] T21 pin 16 du connecteur JP11 resultat[6] P1 pin 18 du connecteur JP11 resultat[7] M15 pin 28 du connecteur JP11

Remarquez l’utilisation des crochets en lieu et place des parenthèses,

pour les noms des ports: c’est une exigence de Quartus, contraire à la syntaxe VHDL.

Démarrer le processus de placement-routage, à l’aide de la commande:

Processing → Start Compilation ou du bouton Start Compilation de la barre d’outils:

A la fin du processus, un rapport est affiché, avec lers résultats du placement-routage :

Page 25: Guide d’utilisation des outils de conception VHDL - …lslpar défaut stocké dans la mémoire Flash (le processeur Nios 32 bits). Guide des outils de conception Page 20 Eduardo

Guide des outils de conception Page 25 Eduardo Sanchez

A ce point, le fichier alu.sof contient la configuration du FPGA. Pour charger cette configuration, il faut connecter la carte de développement Altera au port parallèle du PC, à l’aide du câble ByteBlasterMV. Ensuite, on sélectionne la commande:

Tools → Programmer

ou on presse le bouton Programmer de la barre d’outils:

Le dialogue suivant apparaît:

Presser sur le bouton Add File… pour ajouter le fichier de configuration

alu.sof. Sélectionner alors Program/Configure. Si, en haut du dialogue, le type de matériel de programmation n’est pas

ByteBlasterMV, il faut presser le bouton Setup… et le sélectionner dans le nouvel dialogue.

Finalement, il faut presser le bouton Start. Après quelques secondes,

le FPGA est configuré et vous pouvez tester votre système

Page 26: Guide d’utilisation des outils de conception VHDL - …lslpar défaut stocké dans la mémoire Flash (le processeur Nios 32 bits). Guide des outils de conception Page 20 Eduardo

Guide des outils de conception Page 26 Eduardo Sanchez

Page 27: Guide d’utilisation des outils de conception VHDL - …lslpar défaut stocké dans la mémoire Flash (le processeur Nios 32 bits). Guide des outils de conception Page 20 Eduardo

Guide des outils de conception Page 27 Eduardo Sanchez

Simulation VHDL avec ModelSim (après placement - routage du circuit FPGA)

L’application Quartus, lors du placement-routage, a créé un ensemble de

fichiers pour préparer la simulation avec les vrais retards. Ces fichiers sont placés dans le dossier: <DossierDuProjet>\simulation\modelsim

Le fichier alu.vho contient la nouvelle description VHDL à simuler et le fichier alu_vhd.sdo contient les retards.

La simulation a besoin en plus d’une description du FPGA, fournie par

Altera dans les fichiers: <DisqueDur>:\quartus\eda\sim_lib\apex20ke_atoms.vhd et <DisqueDur>:\quartus\eda\sim_lib\apex20ke_components.vhd

Pour la nouvelle simulation, il faut créer un nouveau projet, à l’intérieur du même dossier de la simulation précédente.

Démarrer l’application ModelSim:

Start → Programs → ModelSim SE 5.7d → ModelSim Créer le nouveau projet: File → New → Project...

Donner un nouveau nom au projet et vérifier que l’emplacement est le même du projet précédent et que la librairie par défaut est work

Ajouter au projet les trois fichiers VHDL mentionés au point 1: apex20ke_atoms.vhd, apex20ke_components.vhd et alu.vho:

Page 28: Guide d’utilisation des outils de conception VHDL - …lslpar défaut stocké dans la mémoire Flash (le processeur Nios 32 bits). Guide des outils de conception Page 20 Eduardo

Guide des outils de conception Page 28 Eduardo Sanchez

Créer la bibliothèque apex20ke, en la reliant à work: File → New → Library...

Page 29: Guide d’utilisation des outils de conception VHDL - …lslpar défaut stocké dans la mémoire Flash (le processeur Nios 32 bits). Guide des outils de conception Page 20 Eduardo

Guide des outils de conception Page 29 Eduardo Sanchez

Compiler les fichiers VHDL, dans l’ordre suivant: apex20ke_atoms.vhd apex20ke_components.vhd alu.vho Avant de compiler, il faut vérifier que le compilateur accepte la syntaxe

1993. Pour cela, il faut sélectionner les noms des trois fichiers dans la fenêtre de contrôle de ModelSim et cliquer sur le bouton droit de la souris, pour choisir les propriétés des fichiers:

Démarrer la simulation (icône Simulate):

Pour commencer, il faut ajouter le fichier des retards, alu_vhd.sdo:

Page 30: Guide d’utilisation des outils de conception VHDL - …lslpar défaut stocké dans la mémoire Flash (le processeur Nios 32 bits). Guide des outils de conception Page 20 Eduardo

Guide des outils de conception Page 30 Eduardo Sanchez

Ensuite, il faut charger l’architecture que l’on veut simuler:

Afficher toutes les fenêtres de simulation: View → All

Page 31: Guide d’utilisation des outils de conception VHDL - …lslpar défaut stocké dans la mémoire Flash (le processeur Nios 32 bits). Guide des outils de conception Page 20 Eduardo

Guide des outils de conception Page 31 Eduardo Sanchez

Déplacer dès la fenêtre signals vers la fenêtre wave tous les signaux que l’on veut suivre en simulation. Il peut être nécessaire de changer de module dans la fenêtre structure pour voir apparaître à la fenêtre signals les signaux recherchés.

Page 32: Guide d’utilisation des outils de conception VHDL - …lslpar défaut stocké dans la mémoire Flash (le processeur Nios 32 bits). Guide des outils de conception Page 20 Eduardo

Guide des outils de conception Page 32 Eduardo Sanchez

Exécuter les commandes de simulation. Ceci peut être fait en les écrivant

dans la fenêtre de commande ou en exécutant un script: do NomDuScript Un exemple de script de commande pour l’ALU de notre exemple est le

suivant:

force clk 0 0, 1 40 -repeat 80 force start 1 0, 0 60 force entreea 16#39 0, 16#0 60, 16#39 140 force inalu 0 0, 1 60, 0 140 force entreeb 16#12 0, 16#39 140 force opalu 1 0, 0 140, 1 220 force ldflag 0 0, 1 60 run 300 ns

Le résultat de cette simulation est illustré par la figure suivante:

Page 33: Guide d’utilisation des outils de conception VHDL - …lslpar défaut stocké dans la mémoire Flash (le processeur Nios 32 bits). Guide des outils de conception Page 20 Eduardo

Guide des outils de conception Page 33 Eduardo Sanchez

Ces résultats de simulation sont différents de ceux obtenus avant le placement-routage: les retards sont maintenant visibles, notamment dans le bus resultat et le signal flag.