Escolar Documentos
Profissional Documentos
Cultura Documentos
Facultad de Ingeniería
Laboratorio de diseño digital I
PRACTICA # 0
El problema a resolver:
Finalmente presione siguiente tres veces consecutivas (en estos pasos se pueden agregar
archivos al proyecto pero lo haremos posteriormente)
Una vez creado el proyecto, hay que crear un nuevo diseño de esquemático. Para ello hacer
clic derecho sobre el área SOURCES y clic en NEW SOURCE
Una vez seleccionado el tipo de archivo y el nombre, pulsar NEXT. En el siguiente cuadro de
diálogo, simplemente resume las propiedades del esquemático que acabamos de crear.
Una vez hecho esto se abrirá el editor de esquemáticos. Si no aparece esta pantalla, de clic
en SOURCES en la parte derecha de la pantalla y luego doble clic en el nombre del
esquematico
En la parte izquierda superior hay una ventana con cuatro pestañas, en la primera podemos
ver la jerarquía de los módulos (SOURCES) que en un proyecto simple, aparecen los
archivos de trabajo) y en la cuarta se encuentran los símbolos (SYMBOLS) donde se
encuentran los componentes que se pueden añadir a un esquemático.
Luego conectemos los componentes con la herramienta agregar conexión (ADD WIRE) ,
ubicada en la parte superior izquierda de la pantalla. Al terminar el circuito debe quedar
como en la figura:
Ahora es necesario definir las entradas y salidas del circuito; por lo tanto es necesario
agregar marcadores de Entrada/Salida (ADD I/O MARKER) . Seleccione la herramienta
y de clic sobre los puntos que son entradas o salidas.
Cuando se selecciona una herramienta, en la parte inferior izquierda, aparecen las opciones
para esta, para este caso aparecen opciones sobre la dirección del marcador (Entrada,
salida, Entrada/Salida, etc.). Antes de dar clic sobre cada punto de Entrada/Salida seleccione
la dirección correcta. Al finalizar el circuito se debe ver como la figura:
Ahora editemos cada nodo para que corresponda con el nombre de cada entrada o salida.
Para esto doble clic sobre el marcador
En NAME escribimos el nombre correspondiente a cada marcador (X0, X1, X2, o Z2), Al
finalizar el circuito se debe ver como en la figura:
Una vez terminado el diseño del circuito puede hacerse una comprobación simple sobre el
mismo para asegurarnos de que todas las conexiones están bien hechas y que no hay cables
sueltos o puertas sin conectar. Para ello desde el menú principal clic en Tools y dentro de
este menú en Check Schematics. Aparecerá una ventana que nos informará si hay algún
Error o Warning.
Creación de un símbolo
Para crearlo desde el menú principal clic en TOOLS y dentro de este menú SYMBOL
WIZARD.
Esquemático para Z1
Esquemático para Z0
Creemos un nuevo esquemático para conectar los tres bloques diseñados, recuerden clic
derecho sobre SOURCES y luego NEW SOURCE.
Los simbolos para las tres salidas aparecen en CATEGORIES con la ruta del proyecto
Luego, en cualquier parte del esquemático agregamos dos líneas y las llamamos X(2:0) y
Z(2:0) respectivamente. Finalmente le ponemos el marcador correspondiente (entrada para
X y salida para Z). El esquemático final debe verse como en la figura
Simulación
Para simular el circuito diseñado, damos clic en SOURCES, y cambiamos la barra SOURCES
FOR de SYNTHESIS/IMPMENTATION a BEHAVIORAL SIMULATION
Luego clic derecho sobre el área de SOURCES, Seleccionamos NEW SOURCE, pero en este
caso al crear la nueva fuente seleccionamos TEST BENCH WAVEFORM y le damos un
nombre al archivo de simulación, por ejemplo tb_tut1Fin:
Luego clic en NEXT, nos pregunta cual modulo dentro del proyecto deseamos simular,
seleccionamos tut1Fin que contiene los tres bloques ensamblados presionamos NEXT
siguiente dos veces y luego finalizar.
Al hacer esto aparece una ventana para iniciar los parámetros de simulación. Nuestro
circuito es combinacional (la diferencia entre combinacional y secuencial se ve dentro de los
temas del curso). Por lo tanto seleccionamos COMBINATORIAL (OR INTERNAL
CLOCK), el resto de opciones pueden dejarse por defecto.
Para simular, damos clic en el archivo y en la pestaña PROCESS VIEW (parte inferior
derecha de la pantalla) aparece la opción SIMULATE BEHAVIORAL MODEL bajo la
opción XILINX ISE SIMULATOR
Damos doble clic, y el proceso de simulación comienza. Al finalizar el resultado aparece en
una nueva ventana:
Implementación
Para la implementación necesitamos que las entradas X2, X1 y X0 sean suiches, mientras
que las salidas Z2, Z1 y Z0 sean leds. Por lo tanto cada pin de la FPGA debe ser asignado a un
siguiendo las instrucciones entregadas por el fabricante de la tarjeta de desarrollo (Digilent
inc)
Para asignar los pines debemos cambiar la barra SOURCES FOR nuevamente a
SYNTHESIS IMPLEMENTATION seleccionamos el esquemático en SOURCES y. En la
parte inferior en PROCESS aparece la opción USER CONSTRAINTS y dentro de esta
ASSIGN PACKAGE PINES.
Al dar doble clic el ISE pregunta si desea crear un nuevo archivo de restricciones (UCF) a lo
que respondemos si. Al hacer esto se abre el PACE. Este es un programa que permite crear
restricciones de área, tiempo, etc para la FPGA. En nuestro caso solo nos interesa la
asignación de pines. Llenamos la tabla con los valores que seleccionamos anteriormente
pero antecediendo la letra p. Al terminar el PACE se debe ver como en la figura siguiente:
Guardamos (si aparece el cuadro de dialogo Bus Delimeter seleccionamos XST OPTIONAL
{}) y cerramos el PACE.
El último paso es programar la FPGA, para esto conecte el cable JTAG al puerto USB y
finalmente el adaptador.
Seleccione el esquemático en SOURCES y de doble clic en GENERATE PROGRAMMING
FILE. Xilinx ISE comienza todo el proceso de Síntesis del circuito e Implementación. Deben
aparecer marcas verdes sobre los tres procesos (SYNTHESIZE, IMPLEMENT DESIGN
y GENERATE PROGRAM FILE), en caso de error observe la consola (parte inferior) e
intente corregir el error.
Luego dentro de GENERATE PROGRAM FILE ejecutamos el IMPACT. Seleccionamos
BOUNDARY SCAN MODE, presionamos Siguiente y seleccionamos AUTOMATICALLY
CONNECT TO CABLE AND IDENTIFY BOUNDARY-SCAN CHAIN. El software
comienza a buscar la FPGA por todos los puertos posibles.
Cuando termine la búsqueda, de clic derecho sobre el gráfico de la FPGA y seleccione
ASSIGN NEW CONFIGURATION FILE. Seleccione el archivo .bit del proyecto en el que
está trabajando (tut1Fin.bit).
Al hacer esto se nos advierte sobre un problema de configuración del reloj. Podemos
ignorarlo. Luego presionamos clic derecho sobre el gráfico de la FPGA y clic en PROGRAM.
Finalmente OK para programar la FPGA
Verifique el funcionamiento del circuito con los suiches y los leds asignados.