Beruflich Dokumente
Kultur Dokumente
ESCUELA DE ELECTRÓNICA
LABORATORIO DE SISTEMAS DIGITALES
Introducción:
1
UNIVERSIDAD RICARDO PALMA
ESCUELA DE ELECTRÓNICA
LABORATORIO DE SISTEMAS DIGITALES
Figura 1
2. Haga clic en siguiente. Le saldrá una ventana, ver fig 2, que le dice que el
directorio no existe y si lo quiere crear, acepte.
Figura 2
2
UNIVERSIDAD RICARDO PALMA
ESCUELA DE ELECTRÓNICA
LABORATORIO DE SISTEMAS DIGITALES
3
UNIVERSIDAD RICARDO PALMA
ESCUELA DE ELECTRÓNICA
LABORATORIO DE SISTEMAS DIGITALES
4
UNIVERSIDAD RICARDO PALMA
ESCUELA DE ELECTRÓNICA
LABORATORIO DE SISTEMAS DIGITALES
--*************************************
-- diseñador: Elen Tito
-- Entidad: Universidad Ricardo Palma
-- Facultad: Ingeniería, Escuela de Electrónica
--Descripcion: Implementación de un circuito simple en VHDL,
-- Nombre del archivo: labocomb.vhd
--************************************************
Library ieee;
Use ieee.std_logic_1164.all;
Use ieee.numeric_std.all;
Entity labocomb is
Port (E1, E2, E3: in std_logic;
G: out std_logic );
End labocomb;
End func;
--*************************************************
Figura7 código VHDL del circuito labocomb
Figura 8
Las líneas verdes, son comentarios, las palabras azules son palabras reservadas
para el compilador, y las palabras rojas son las funciones que usamos.
5
UNIVERSIDAD RICARDO PALMA
ESCUELA DE ELECTRÓNICA
LABORATORIO DE SISTEMAS DIGITALES
Guarde el archivo con FileSave as.. y escriba el nombre de la entity (ver flecha
en la figura 8) que es labocomb en la ventana guardar como y de guardar
En la ventana Project navigator (a la izquierda de su pantalla)seleccione la
pestaña Files con ello debe ver al archivo labocomb.vhd selecciónelo y con el
botón del mouse le aparecerá una ventana seleccione Set as a Top-level Entity
ver figura a continuación. Lo cual le hará líder del proyecto, y la podrá compilar.
Figura 9
Figura 10
6
UNIVERSIDAD RICARDO PALMA
ESCUELA DE ELECTRÓNICA
LABORATORIO DE SISTEMAS DIGITALES
Figura 11
Figura 12
7
UNIVERSIDAD RICARDO PALMA
ESCUELA DE ELECTRÓNICA
LABORATORIO DE SISTEMAS DIGITALES
Figura 13
figura 14
8
UNIVERSIDAD RICARDO PALMA
ESCUELA DE ELECTRÓNICA
LABORATORIO DE SISTEMAS DIGITALES
Figura 15
Los fabricantes de FPGA han modificado su EDA para dejar de producir las
formas de onda directamente como modo de prueba del diseño esquemático,
pasando a realizar la simulación a partir de la versión HDL desde lo que se llama
tesbench.
9
UNIVERSIDAD RICARDO PALMA
ESCUELA DE ELECTRÓNICA
LABORATORIO DE SISTEMAS DIGITALES
Un banco de pruebas tiene una entidad sin puertos, una caja sin señales de
conexión exterior, es decir está vacía, esto es porque el banco de prueba mismo
no tiene entradas ni salidas. Su estructura contiene un componente que
corresponde al circuito que se desea simular. Así mismo contiene la alteración
de todas las señales de entrada, que llamaremos estímulos o vectores de
prueba, del componente, para poder abarcar un mayor número de casos de
prueba. Los vectores de prueba se generan y se aplican al dispositivo bajo
prueba en el Banco de pruebas. Tenga en cuenta que es ilegal tener un cuerpo
de arquitectura sin una declaración de la entidad.
El test-bench es un tipo de descripción entre la estructural y la comportamental.
Se utiliza para comprobar el correcto funcionamiento de los modelos mediante
un programa independiente de la plataforma de compilación-simulación.
La arquitectura cuenta con una instancia del modelo bajo test y un proceso que
le inyecta señales. Las señales de entrada adoptarán los valores que se requiera
en el instante de tiempo preciso para comprobar el correcto funcionamiento del
modelo.
Componentes
10
UNIVERSIDAD RICARDO PALMA
ESCUELA DE ELECTRÓNICA
LABORATORIO DE SISTEMAS DIGITALES
Figura 17
Luego de crear el archivo, este se guardara en el directorio modelsim que está dentro
del directorio simulation tendrá el mismo nombre pero con otra extensión de archivo,
labocomb.vht, ábralo con open file y cambie el tipo de archivo por el de test bench
output files (*.vht*.vt), para que se visualice el archivo deseado tal como se muestra
en la figura 18.
11
UNIVERSIDAD RICARDO PALMA
ESCUELA DE ELECTRÓNICA
LABORATORIO DE SISTEMAS DIGITALES
Figura 18
12
UNIVERSIDAD RICARDO PALMA
ESCUELA DE ELECTRÓNICA
LABORATORIO DE SISTEMAS DIGITALES
Figura 19
Guarde el archivo con el mismo nombre borrando vhd_tst reemplazandolo con _tb y
cambiar la extensión vht por la extensión .vhd. Tal como se muestra en la ventana de
la figura 20. No se olvide que es importante que reemplace las expresiones
enmarcadas en un rectangulo delgado en la figura 19, cambiar el termino vhd_tst con
_tb, sino no va funcionar su simulación.
Figura 20
13
UNIVERSIDAD RICARDO PALMA
ESCUELA DE ELECTRÓNICA
LABORATORIO DE SISTEMAS DIGITALES
Como se eliminó los process que se generaron con el test bench (líneas 56 a 61 de la
fig. 19). Luego copie la primera expresión del apartado A, al final de esta guía (PARA
GENERAR CLK) desde process hasta end process; y agréguele en donde estaban los
process que elimino, tal como se muestra en la siguiente figura 21
Figura 21
luego reemplace dentro de ella clk por E1, tal como se muestra en la siguiente figura
14
UNIVERSIDAD RICARDO PALMA
ESCUELA DE ELECTRÓNICA
LABORATORIO DE SISTEMAS DIGITALES
Para luego poder usarlo como patrón de estímulos de las señales restantes y así ver
luego las formas de ondas directamente. Repita el proceso para E2 y luego para E3
Para el caso que nos interesa, declararemos las señales E1; E2 y E3 como el estímulo
de reloj, pero cada una con la mitad de periodo que el anterior en otras palabras 100ns,
50ns y 25ns para el wait for, con objeto de mantenerse dentro del tiempo de 1000ns.
Ahora se deben especificar los archivos involucrados y su relacion para que se puedan
simular previa compilacion del testbench.
15
UNIVERSIDAD RICARDO PALMA
ESCUELA DE ELECTRÓNICA
LABORATORIO DE SISTEMAS DIGITALES
Para ello debe hacer start start analysis & elaboration para verificar que esta todo
bien.
En la siguiente figura se muestra como
Fig.22
Aparecera la ventana seleccione simulation y vaya a compile test bench… tal como
se muestra en la figura 23.
Fig.23
Luego presione el icono de Test Benches… de la derecha y verá la ventana tal como
se muestra en la figura 24.
16
UNIVERSIDAD RICARDO PALMA
ESCUELA DE ELECTRÓNICA
LABORATORIO DE SISTEMAS DIGITALES
Fig.24
Fig.25
Presione en el icono “…” y busque el archivo testbench creado y luego llene las
ventanillas hasta que quede como la muestra de la figura 26
Fig.26
17
UNIVERSIDAD RICARDO PALMA
ESCUELA DE ELECTRÓNICA
LABORATORIO DE SISTEMAS DIGITALES
Fig.27
Fig.28
Presione apply, luego ok. Una vez hecho esto, del menú desplegable PROCESS,
seleccione en secuencia PROCESS START START ANALISYS AND
ELABORATE, tal como se muestra en la figura 21.
Luego llame al ModelSim seleccionando en el menu desplegable TOOLRUN
SIMULATION TOOL RTL SIMULATION tal como se muestra en la figura 29.
Figura 29
18
UNIVERSIDAD RICARDO PALMA
ESCUELA DE ELECTRÓNICA
LABORATORIO DE SISTEMAS DIGITALES
Figura 30
Guarde el archivo y seteelo como líder del proyecto para luego compilarlo
19
UNIVERSIDAD RICARDO PALMA
ESCUELA DE ELECTRÓNICA
LABORATORIO DE SISTEMAS DIGITALES
Figura 31
Le aparecerá la siguiente ventana donde debe marcar el lenguaje HDL de diseño a usar
según se muestra en la figura 32
Figura 32
Luego de crearlo el archivo, este tendrá el mismo nombre, (a la hora de compilarlo solo
uno de ellos debe estar en el file de proyector), ábralo con open file tal como se muestra
en la figura 33
20
UNIVERSIDAD RICARDO PALMA
ESCUELA DE ELECTRÓNICA
LABORATORIO DE SISTEMAS DIGITALES
Figura 33
Figura 34
Observe que es un archivo tipo estructural, donde los cables de conexión son
declarados como SIGNAL SYNTHESIZED_WIRE_0: STD_LOGIC; etc. Y así completa
las conexiones.
Del menú desplegable PROJECT incluya al archivo easy.vhd en el presente proyecto
luego hágalo top level entity, con ello lo convierte en el archivo principal y compílelo
pero antes con el botón derecho del ratón presione en easy.bdf y remueva el archivo.
Luego cree un test bench a partir de él, para ello retome los pasos desde la página 11
fig. 17 hasta la página 15 fig. 2y realice la simulación en el ModelSim y muéstreselo al
docente. Puede usar los estímulos del archivolabocom_tb.
21
UNIVERSIDAD RICARDO PALMA
ESCUELA DE ELECTRÓNICA
LABORATORIO DE SISTEMAS DIGITALES
APARTADO A
GENERANDO LOS ESTÍMULOS PARA EL BANCO
DE PRUEBA
1. PARA GENERAR CLK: Se muestran dos formas para generar la señal de reloj, la
primera es por un tiempo de 1 us y la segunda es por duración indefinida, ambas a
una frecuencia de 5MHz o un periodo de 200ns, con un duty cycle = 50 %:
clk <= '1' ; wait for 100 ns ; -- valor 1 al final y se completa los 1000 ns = 1us
wait; -- se pone si no se pudo completar con lo de arriba
End Process;
-- para este process, debe agregar lo que esta en azul como valor inicial en signal clk: std_logic:= ‘0’;
Process
Begin
clk <= not clk; wait for 100 ns ; -- cambia de valor cada 100 ns
End Process;
2. Para declarar una señal de un bitio “RST” activa en uno, durante 4 ns, luego se
inactiva durante el resto de tiempo que dure la simulación.
Process
Begin
rst <= '0' ; wait for 4 ns ;
rst <= '1' ; wait for 4 ns ;
rst <= '0' ; wait ;
End Process;
22
UNIVERSIDAD RICARDO PALMA
ESCUELA DE ELECTRÓNICA
LABORATORIO DE SISTEMAS DIGITALES
23