Está en la página 1de 12

Introduccin al laboratorio:

Uso del simulador Modelsim

Diseo y Simulacin de Circuitos Electrnicos por Asistido por Computador


Ingeniera Tcnica Industrial Electrnica

DSEAC. Introduccin al laboratorio: Uso del simulador Modelsim

Modelsim es un software que administra un entorno que permite editar, compilar,


simular y depurar diseos de sistemas digitales

descritos en VHDL, Verilog y

SystemC, aunque para la asignatura DSEAC solo se utilizar con VHDL. La siguiente
figura representa el flujo de diseo con Modelsim:

Crear una librera de trabajo

Crear un proyecto

Aadir archivos al proyecto

Compilar diseo

Ejecutar el simulador

Depurar resultados

Existen tres modos de operacin:


- Mediante procesos por lotes.
- Lnea de comandos (se trata de un entorno interactivo en modo texto, accesible
desde el prompt del sistema operativo con el comando vsim -c).
- Ejecucin basada en GUI (Graphic User Interface). Es el modo por defecto y el
ms habitual pues utiliza una interface amigable con el usuario. Es interactiva,
maneja mens, ventanas, botones y lneas de comando (asumiremos que se
conoce el manejo del sistema operativo Windows XP).
Podemos acceder a Modelsim desde Inicio> Programas> Modelsim XE III 6.3c>
Modelsim o ejecutando C:\Modeltech_xe_starter\win32xoem\modelsim.exe. Si se
va a utilizar frecuentemente es interesante crear un Acceso Directo en el escritorio.

DSEAC. Introduccin al laboratorio: Uso del simulador Modelsim

La pantalla inicial se muestra en la siguiente figura:

Adems de los elementos bsicos de una ventana del sistema operativo Windows
(men, barra de herramientas y barra de estado), se distinguen dos zonas, una
llamada Workspace (espacio de trabajo) en la que a travs de unas pestaas
tendremos acceso a diferentes bloques relacionados con un diseo: Project, Structure,
Library, Sim, Files y Memories. La segunda zona (Transcript Session) se utiliza para
dar rdenes de compilacin, simulacin, etc. en modo texto (aunque la mayora de
estos comandos se pueden ejecutar tambin desde el men y barra de herramientas)
y para mostrar los mensajes que nos proporciona el programa, como respuesta a
nuestras acciones: resultados de una compilacin, mensajes de error, etc.
En primer lugar crearemos un proyecto, aunque no es necesario para realizar
simulaciones, simplifica y automatiza el proceso de interaccin con Modelsim. Un
proyecto es una coleccin de archivos VHDL (o referencia a ellos), ficheros del tipo
README o con documentacin relativa al diseo, libreras locales, referencias a
libreras globales, configuraciones de simulacin, etc. Los proyectos se albergan en un
directorio raz, en el que se encuentra un archivo con extensin mpf donde se
almacena informacin relativa al estado de la sesin, opciones, orden de compilacin,
etc. Incluye tambin otro directorio para la biblioteca de diseo local llamada
generalmente work y que posee unos atributos especiales. No es necesario declararla
3

DSEAC. Introduccin al laboratorio: Uso del simulador Modelsim

explcitamente (library work) y es considerada por el compilador como destino por


defecto de las unidades de diseo.
Una biblioteca de diseo es un directorio donde se almacenan las unidades de diseo
compiladas: entidades, arquitecturas, paquetes y configuraciones. Concretamente la
informacin almacenada para cada unidad de diseo es su cdigo ejecutable o
relocalizable e informacin sobre dependencias o depuracin.
Adems de la biblioteca local de trabajo a la que hemos hecho referencia
anteriormente, existen bibliotecas de recursos. Estas se pueden utilizar desde las
unidades VHDL que se estn compilando (library/use), en ellas podremos
encontrar declaraciones de tipos, constantes, funciones o unidades de diseo
(componentes) de otros proyectos o proporcionadas por fabricantes, que podemos
reutilizar.
Puesto que el objetivo de esta primera prctica es sobre todo conocer el entorno de
Modelsim, se ha seleccionado un circuito combinacional muy sencillo para introducir
las posibilidades de simulacin-verificacin de un circuito digital. En la siguiente figura
se presenta el circuito a modelar y simular:

Al crear un proyecto Modelsim automticamente crea una


librera de trabajo asignndole el nombre work salvo que
se indique lo contrario. Podemos crear un diseo con el
nombre primero en el directorio c:\fpga\tutorial, A travs
de File>New>Project

Tras pulsar OK, desde la ventana que se muestra a la izquierda


indicaremos el tipo de accin a realizar.

DSEAC. Introduccin al laboratorio: Uso del simulador Modelsim

Cretate New File: aade un fichero nuevo al proyecto.


El tipo de fichero puede ser de texto, tcl, verilog,
SystemC o VHDL, etc.

Add Existing File: incorpora un fichero que est


creado, se puede trabajar con una copia o haciendo
referencia al mismo.

Create Simulation: con esta opcin podremos indicar ficheros fuente y opciones de
simulacin.
Create New Folder: si organizaremos los archivos del proyecto en diversas carpetas.

Desde Create New File, introduciremos mediante el editor tres ficheros VHDL:
puertas.vhd, circuito.vhd y testbench.vhd. En el primer archivo especificaremos las
entidades-arquitecturas de sendas puertas nand, or y xor de dos entradas, con un
tiempo de propagacin seleccionable a travs de un genrico. Combinacional.vhd
modelar el circuito anterior mediante una descripcin estructural y otra funcional. Por
ltimo en testbench.vhd escribiremos los vectores de test para todos los valores
posibles de las entradas, que nos permitir la comprobacin del funcionamiento del
circuito durante la simulacin, en la que se comparar el resultado del modelo
estructural con el del modelo funcional.
Cada vez que se crea un archivo VHDL, aparece una lnea con esa entrada en la
pestaa Project, de la zona Workspace en la ventana principal, que naturalmente no
tiene todava ningn cdigo. Al hacer doble-click sobre el aparecer el editor. Este
reconoce las palabras reservadas del VHDL y las resalta mediante un color especfico,
esta caracterstica ser muy til a la hora de comprobar errores de transcripcin. El
uso del editor es sencillo, con las funcionalidades tpicas de un programa de este tipo
en Windows (teclas de edicin, cortar, copiar, pegar, etc.), a las que hay que aadir
otras especficas orientadas a la compilacin y simulacin.

DSEAC. Introduccin al laboratorio: Uso del simulador Modelsim

Cuando la descripcin est completa se grabar y se compilar, hay varias formas de


hacerlo:
-

desde el men principal: opcin Compile

con click-derecha en la ventana Workspace o

desde la barra de herramientas de la ventana principal y

Compilar
Compilar todo

de edicin:

Click-derecha

En el men desplegable Compile o desde del men contextual se pueden encontrar


otras opciones: compilar todos los archivos del proyecto (Compile All), solo los
seleccionados (Compile Selected) o nicamente los que hayan sido modificados
(Compile Out of Date).
El
Orden de
compilacin
6
Compilacin correcta
Sin compilar
Compilacin con errores

orden

de

compilacin

es

importante, en primer lugar se


han de procesarse los archivos a

DSEAC. Introduccin al laboratorio: Uso del simulador Modelsim

cuyas unidades se har referencia en los diseos que se compilarn despus. El


orden se establece a medida que se van aadiendo archivos al proyecto, aunque este
se pude cambiar mediante la opcin Compile Order. Se pueden obtener detalles de la
compilacin mediante Compile Report y Compile Summary. Las opciones de
compilacin se pueden indicar en Compile Propierties.
El resultado de la compilacin se muestra en la ventana de Tanscript, si se producen
errores o avisos, adems se indicar la lnea del cdigo fuente implicada y la posible
causa. Con doble-click abriremos el editor en el que la lnea de cdigo correspondiente
estar resaltada (desde el men Source>More>Clear Highlights, con la ventana de
edicin el texto seleccionada, volver a su aspecto normal), cuando solventemos el
error, antes de volver a compilar debemos salvar.

La figura superior muestra el resultado de la opcin Compile All, en la que la que solo
se produce un error en puertas.vhd, debido a que falta un ; al final de la lnea 9.
Aunque hemos utilizado el Interface Grfico de Usuario (GUI), en la ventana Transcript
podemos observar la orden en lnea de comandos equivalente:
vcom -work work -2002 -explicit C:/fpga/tutorial/puertas.vhd

DSEAC. Introduccin al laboratorio: Uso del simulador Modelsim

Cuando no exista ningn error de compilacin estaremos en disposicin de simular el


diseo: Simulate>Star Simulation:

Tendremos que indicar entonces


en la ventana de simulacin,
que entidad-arquitectura (en la
figura se muestran las que
actualmente incluye la biblioteca
work)

es

verificar.

la

que

queremos

Tambin

podremos

indicar la resolucin del tiempo


de simulacin.

Desde View>Wave activaremos la ventana donde podremos mostrar los resultados de


la simulacin para las seales seleccionadas. Podremos elegir las seales a simular
desde la pestaa Sim de la ventana Workspace, mediante la opcin Add>Add to
Wave del men contextual correspondiente a cada seal o grupo de seales:

DSEAC. Introduccin al laboratorio: Uso del simulador Modelsim

Para obtener mayor claridad en la simulacin, se pueden arrastrar las seales a la


posicin deseada dentro del panel izquierdo de la ventana Wave y agruparlas
mediante divisores tal y como muestra la siguiente figura

La Simulacin se iniciar desde el men Simulate o su correspondiente acceso en las


barras de herramientas:

DSEAC. Introduccin al laboratorio: Uso del simulador Modelsim

Para analizar los resultados con precisin se pueden utilizar cursores, situarse en
eventos de las seales

y realizar zooms

sobre la ventana Wave.

10

DSEAC. Introduccin al laboratorio: Uso del simulador Modelsim

ANEXO
A continuacin se lista un ejemplo de cdigo para los archivos puertas.vhd,
combinacional.vhd y testbench.vhd:

11

DSEAC. Introduccin al laboratorio: Uso del simulador Modelsim

12

También podría gustarte