25
Sistemas digitales II. Guía 2 1 INTRODUCCIÓN ISE(XILINX). Utilizar el editor de archivos de Xilinx para sintetizar, corroborar la sintaxis y probar los códigos VHDL para los ejemplos propuestos. Utilizar la herramienta ISE de Xilinx para la escritura de archivos VHDL. Sintetizar el código de los archivos con extensión .vhd para obtener la abstracción del código escrito en forma de circuito digital, representación de tablas de verdad, funciones lógicas y mapas de karnaugh. Interpretar los diagramas de tiempos generados a partir de códigos VHDL de los Test Bench. Verificar el funcionamiento de cada archivo de código VHDL en la tarjeta Spartan 6 - LX9-MicroBoard. 1 Computadora con ISE 14.7 instalado. 1tarjeta Spartan 6 - LX9-MicroBoard. 1 tarjeta de entradas / salidas (E/S o I/O). 1 tarjeta con display. 10 cables (jumpers) macho – macho. 1. Leer el blog: http://systemonfpga.blogspot.com/2015_01_01_archive.html. 2. Ver los videos: ISE Circuit: https://www.youtube.com/watch?v=kx9ql74iWME Intro ISE: https://www.youtube.com/watch?v=fnWVHz488Mw ISE TESTBENCH: https://www.youtube.com/watch?v=Ww6lO_mUVEI Pasos para la creación de aplicaciones. 1. Esquematizar mental o gráficamente el circuito que se pretende desarrollar. 2. Crear el proyecto conforme a las especificaciones de la tarjeta con su respectiva FPGA (ver figura6 y 7). 3. Escribir el código vhdl. Facultad: Ingeniería. Escuela: Electrónica. Asignatura: Sistemas Digitales II. Lugar de Ejecución: Microprocesadores (3.23). Objetivo General. Objetivo Específicos. Material y equipo. Tarea previa. Introducción teórica

Objetivo General. Objetivo Específicos. · 2017-01-16 · Sistemas digitales II. Guía 2 3 Parte I: Creación de proyectos con ISE para Spartan-6 LX9 CSG324. Se realizará el proyecto

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Objetivo General. Objetivo Específicos. · 2017-01-16 · Sistemas digitales II. Guía 2 3 Parte I: Creación de proyectos con ISE para Spartan-6 LX9 CSG324. Se realizará el proyecto

Sistemas digitales II. Guía 2 1

INTRODUCCIÓN ISE(XILINX).

Utilizar el editor de archivos de Xilinx para sintetizar, corroborar la sintaxis y probar los

códigos VHDL para los ejemplos propuestos.

Utilizar la herramienta ISE de Xilinx para la escritura de archivos VHDL.

Sintetizar el código de los archivos con extensión .vhd para obtener la abstracción del

código escrito en forma de circuito digital, representación de tablas de verdad, funciones

lógicas y mapas de karnaugh.

Interpretar los diagramas de tiempos generados a partir de códigos VHDL de los Test

Bench.

Verificar el funcionamiento de cada archivo de código VHDL en la tarjeta Spartan 6 -

LX9-MicroBoard.

1 Computadora con ISE 14.7 instalado.

1tarjeta Spartan 6 - LX9-MicroBoard.

1 tarjeta de entradas / salidas (E/S o I/O).

1 tarjeta con display.

10 cables (jumpers) macho – macho.

1. Leer el blog: http://systemonfpga.blogspot.com/2015_01_01_archive.html.

2. Ver los videos:

ISE Circuit: https://www.youtube.com/watch?v=kx9ql74iWME

Intro ISE: https://www.youtube.com/watch?v=fnWVHz488Mw

ISE TESTBENCH: https://www.youtube.com/watch?v=Ww6lO_mUVEI

Pasos para la creación de aplicaciones.

1. Esquematizar mental o gráficamente el circuito que se pretende desarrollar.

2. Crear el proyecto conforme a las especificaciones de la tarjeta con su respectiva FPGA (ver

figura6 y 7).

3. Escribir el código vhdl.

Facultad: Ingeniería.

Escuela: Electrónica.

Asignatura: Sistemas Digitales II.

Lugar de Ejecución: Microprocesadores (3.23).

Objetivo General.

Objetivo Específicos.

Material y equipo.

Tarea previa.

Introducción teórica

Page 2: Objetivo General. Objetivo Específicos. · 2017-01-16 · Sistemas digitales II. Guía 2 3 Parte I: Creación de proyectos con ISE para Spartan-6 LX9 CSG324. Se realizará el proyecto

Sistemas digitales II. Guía 2 2

4. Sintetizar el código.

5. Verificar el diagrama esquemático.

6. Realizar el test bench para el archivo vhdl (simular el comportamiento del sistema).

7. Asignar las variables según las especificaciones de pines de la tarjeta que se posea.

8. Realizar el Place & Route.

9. Generar el Programming File.

10. Descargar el archivo con extensión .bit sobre la FPGA.

11. Realizar las pruebas de funcionamiento.

Figura 1: Vista superior e inferior de tarjeta Spartan 6 – LX9 Microboard.

Figura 2: Descripción de pines.

Page 3: Objetivo General. Objetivo Específicos. · 2017-01-16 · Sistemas digitales II. Guía 2 3 Parte I: Creación de proyectos con ISE para Spartan-6 LX9 CSG324. Se realizará el proyecto

Sistemas digitales II. Guía 2 3

Parte I: Creación de proyectos con ISE para Spartan-6 LX9 CSG324.

Se realizará el proyecto para un decodificador BCD a siete segmentos, tal como el propuesto en la

figura 3:

Figura 3: Circuito a generar con el VHDL.

1) Dé un clic en el icono de ISE en la barra de lanzadores a la izquierda del escritorio .

2) En la barra de menús seleccione File/New Project. Aparecerá la ventana de opciones de un

nuevo proyecto (New Project Wizard), ver figura 4.

3) Introduzca el nombre del proyecto como Deco7segCC, navegue para encontrar la ubicación

donde guardará el proyecto (Location), como se muestra en la figura 4 y seleccione tipo HDL

desde la opción Top-level source type y presione el botón Next, lo cual desplegará la ventana

de la figura 5.

4) Seleccione las opciones de la figura 5 (conforme a la tarjeta sobre la que desarrollará la

aplicación, en este caso las tarjetas Spartan 6 LX9 Microboard) y luego presione el botón Next

lo que desplegará la ventana de la figura 6.

Property Name Value

Family Spartan6

Device XC6SLX9

Package CSG324

Speed -2

Preferred language VHDL

VHDL Source Analysis Standard VHDL-200X

Procedimiento.

Page 4: Objetivo General. Objetivo Específicos. · 2017-01-16 · Sistemas digitales II. Guía 2 3 Parte I: Creación de proyectos con ISE para Spartan-6 LX9 CSG324. Se realizará el proyecto

Sistemas digitales II. Guía 2 4

Figura 4: Creación de un nuevo proyecto, pasos 2) y 3).

Figura 5: Creación de nuevo proyecto, paso 4).

5) Presione el botón Finish para crear el proyecto.

6) Dé clic derecho sobre la segunda línea (xc6slx9-2csg324) del cuadro superior izquierdo de la

ventana de navegación del proyecto (figura 7).

7) Elija la opción New Source…

Page 5: Objetivo General. Objetivo Específicos. · 2017-01-16 · Sistemas digitales II. Guía 2 3 Parte I: Creación de proyectos con ISE para Spartan-6 LX9 CSG324. Se realizará el proyecto

Sistemas digitales II. Guía 2 5

Figura 6: Configuración de nuevo proyecto, paso 4).

Figura 7: Creación de archivos, pasos 6) y 7).

8) En la ventana New Source Wizard, seleccione la opción VHDL Module, colóquele un nombre

al archivo en el campo File Name:, este será el nombre que adopte la entidad dentro de nuestro

bloque o circuito a describir, verifique que el check box Add to Project esté activo y dé clic en

el botón Next tal como lo indica la figura 6.

Page 6: Objetivo General. Objetivo Específicos. · 2017-01-16 · Sistemas digitales II. Guía 2 3 Parte I: Creación de proyectos con ISE para Spartan-6 LX9 CSG324. Se realizará el proyecto

Sistemas digitales II. Guía 2 6

Figura 8: Creación de archivos, paso 8).

9) Como puede observar en la figura 9 ya aparece el nombre de la entidad, coloque en las filas los

nombres de las variables de entrada (Data_In [3,0]) y salida (Data_Out[7,0]) de su sistema,

así como la longitud de los vectores o buses a utilizar (considerando que la posición 0 cuenta

como valor). Con la lista desplegable elija la dirección del flujo de datos (in, out o inout) tal

como lo indica la figura 7 y dé clic en el botón Next.

Figura 9: Creación de archivos, paso 9), elección de entradas y salidas del componente.

10) La figura 10 muestra un breve resumen de los atributos seleccionados en la creación del modulo

VHDL. Dé clic izquierdo en el botón Finish.

Page 7: Objetivo General. Objetivo Específicos. · 2017-01-16 · Sistemas digitales II. Guía 2 3 Parte I: Creación de proyectos con ISE para Spartan-6 LX9 CSG324. Se realizará el proyecto

Sistemas digitales II. Guía 2 7

Figura 10: Creación de archivos, paso 10).

11) Se mostrará en el editor de código VHDL de ISE, en dicha ventana modifique el código VHDL

para que se vea igual al mostrado a continuación (Código 1), tome en cuenta la conexión de la

FPGA (ver figura 3 y 11) y la tabla 1:

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

entity Deco7segCC is

Port ( Data_In : in STD_LOGIC_VECTOR (3 downto 0);

Data_Out : out STD_LOGIC_VECTOR (7 downto 0));

end Deco7segCC;

architecture Behavioral of Deco7segCC is

begin

Data_Out <= x”FC” when Data_In = “0000” else

x”60” when Data_In = “0001” else

x”DA” when Data_In = “0010” else

x”F2” when Data_In = “0011” else

x”66” when Data_In = “0100” else

x”B6” when Data_In = “0101” else

x”BE” when Data_In = “0110” else

x”E0” when Data_In = “0111” else

x”FE” when Data_In = “1000” else

x”E6” when Data_In = “1001” else x”9E”;

end Behavioral;

Código 1: Código VHDL, archivo Deco7segCC.vhd, paso 11).

Nota: Se debe recordar que la combinación de datos de salida debe estimular cada segmento del

display cátodo común.

Page 8: Objetivo General. Objetivo Específicos. · 2017-01-16 · Sistemas digitales II. Guía 2 3 Parte I: Creación de proyectos con ISE para Spartan-6 LX9 CSG324. Se realizará el proyecto

Sistemas digitales II. Guía 2 8

Figura 11: Conexiones de display de siete segmentos (tarjeta I/O).

Entradas Salidas (Data_Out <7:0>)

Display Data_In <3:0>

D18 D17 G14 F14 C18 C17 F16 F15 Hex_Value

a b c d e f g DP

0000 1 1 1 1 1 1 0 0 FC 0

0001 0 1 1 0 0 0 0 0 60 1

0010 1 1 0 1 1 0 1 0 DA 2

0011 1 1 1 1 0 0 1 0 F2 3

0100 0 1 1 0 0 1 1 0 66 4

0101 1 0 1 1 0 1 1 0 B6 5

0110 1 0 1 1 1 1 1 0 BE 6

0111 1 1 1 0 0 0 0 0 E0 7

1000 1 1 1 1 1 1 1 0 FE 8

1001 1 1 1 0 0 1 1 0 E6 9

xxxx 1 0 0 1 1 1 1 0 9E E

Tabla 1: Valores a escribir en el display de siete segmentos (tarjeta I/O).

Parte II: Sintetizar el código.

Este proceso permite:

Verificar la sintaxis del código VHDL escrito.

La conversión del código VHDL a un circuito digital equivalente ya sea a LUT’s o circuitos

MSI.

Abrir una vista del circuito digital equivalente al código VHDL escrito.

12) De clic izquierdo sobre el nombre del archivo VHDL debajo de la línea xc6slx9-2csg324, del

cuadro superior izquierdo de la ventana de navegación del proyecto (figura 7) para habilitar las

funciones de este archivo en el cuadro inferior.

Q2

2N3439

Q2

Q1

2N3439

Q1

GND

g

e

DP

f

c

d

b

a

R4

1k

abcdefg.

Gnd

DISP2

abcdefg.

Gnd

DISP1

R2

2.2k

R1

2.2k

R3

1k

Page 9: Objetivo General. Objetivo Específicos. · 2017-01-16 · Sistemas digitales II. Guía 2 3 Parte I: Creación de proyectos con ISE para Spartan-6 LX9 CSG324. Se realizará el proyecto

Sistemas digitales II. Guía 2 9

13) En el cuadro inferior izquierdo, de clic derecho sobre la opción Synthetize – XST, elija la

opción Run del menú desplegable.

Figura 12: Sintetizar código VHDL, pasos12) y 13).

Para verificar el diagrama esquemático detallado.

14) Dé clic izquierdo sobre el nombre del archivo VHDL debajo de la línea xc6slx9-2csg324, del

cuadro superior izquierdo de la ventana de navegación del proyecto (figura 7), para habilitar las

funciones de este archivo en el cuadro inferior.

15) De doble clic izquierdo sobre la opción View Technology Schematic, ver figura 13.

Figura 13: Verificar el diagrama esquemático detallado, paso 15).

16) Dé clic izquierdo en el botón OK de la figura 14.

17) En la ventana desplegable dé clic en el botón Add -> y luego el botón Create Schematic

(figura 15).

18) Dé doble clic izquierdo sobre la caja de cuatro entradas (Data_In(3:0)) y ocho salidas

(Data_Out(7:0)).

19) Dé clic izquierdo en el icono Zoom to Full View.

Page 10: Objetivo General. Objetivo Específicos. · 2017-01-16 · Sistemas digitales II. Guía 2 3 Parte I: Creación de proyectos con ISE para Spartan-6 LX9 CSG324. Se realizará el proyecto

Sistemas digitales II. Guía 2 10

Figura 14: Verificar el diagrama esquemático detallado, paso 16).

Figura 15: Verificar diagrama esquemático simplificado, paso 17).

20) Dé doble clic izquierdo sobre cada una de las cajas que tengan la palabra LUT1 incluida y

verifique cada una de las opciones.

Verificar el diagrama esquemático de un circuito complejo (abstracción del diseño):

21) Dé clic izquierdo sobre el nombre del archivo VHDL debajo de la línea xc6slx9-2csg324, del

cuadro superior izquierdo de la ventana de navegación del proyecto (figura 7), para habilitar las

funciones de este archivo en el cuadro inferior.

22) Dé doble clic izquierdo sobre la opción View RTL Schematic, ver figura 13.

23) En la ventana (figura 16) que se despliegue presione el botón Ok.

24) Dé clic en el botón Add -> y luego el botón Create Schematic (figura 17).

1LUT: Look-Up Tables (Tabla de consulta).

Page 11: Objetivo General. Objetivo Específicos. · 2017-01-16 · Sistemas digitales II. Guía 2 3 Parte I: Creación de proyectos con ISE para Spartan-6 LX9 CSG324. Se realizará el proyecto

Sistemas digitales II. Guía 2 11

Figura 16: Verificar diagrama esquemático, paso 23).

25) Se desplegará una figura de bloque que al hacer doble clic izquierdo sobre la misma mostrará el

circuito equivalente al código VHDL.

Figura 17: Verificar diagrama esquemático, paso 25).

Realizar el test bench para el archivo vhdl (simular el comportamiento del sistema).

26) De clic derecho sobre la segunda línea (xc6slx9-2csg324) del cuadro superior izquierdo de la

ventana de navegación del proyecto (figura 7).

27) Elija la opción New Source…

28) En la ventana New Source Wizard, seleccione la opción VHDL Test Bench, colóquele un

nombre al archivo en el campo File Name:, la extensión del archivo será .vhd al igual que al

archivo del código fuente en VHDL por lo que si escribe el mismo nombre para el test bench

Page 12: Objetivo General. Objetivo Específicos. · 2017-01-16 · Sistemas digitales II. Guía 2 3 Parte I: Creación de proyectos con ISE para Spartan-6 LX9 CSG324. Se realizará el proyecto

Sistemas digitales II. Guía 2 12

estará intentando sobre escribir el código VHDL, por lo que se recomienda agregar _tb al final

del nombre del archivo del test bench para diferenciarlo del código VHDL.

29) Verifique que el check box Add to Project este activo y de clic en el botón Next tal como lo

indica la figura 18.

Figura 18: Creación de archivo test bench, pasos 28) y 29).

30) De clic izquierdo en el botón Next -> de la figura 19.

Figura 19: Creación de archivo test bench, paso 30).

31) Para finalizar de clic izquierdo en el botón Finish de la figura 20.

Page 13: Objetivo General. Objetivo Específicos. · 2017-01-16 · Sistemas digitales II. Guía 2 3 Parte I: Creación de proyectos con ISE para Spartan-6 LX9 CSG324. Se realizará el proyecto

Sistemas digitales II. Guía 2 13

Figura 20: Creación de archivo test bench, paso 31).

32) Comente o elimine las partes referidas al clock porque el circuito de la figura 3 no utiliza el

reloj. De tal manera que el código VHDL del Test Bench se vea como el siguiente:

LIBRARYieee;

USEieee.std_logic_1164.ALL;

ENTITY Deco7segCC_tb IS

END Deco7segCC_tb;

ARCHITECTURE behavior OF Deco7segCC_tb IS

-- Component Declaration for the Unit Under Test (UUT)

COMPONENT Deco7segCC

Port (

Data_In : in std_logic_vector (3 downto 0);

Data_Out : out std_logic_vector (7 downto 0)

); END COMPONENT;

--Inputs

signal Data_In: std_logic_vector (3 downto 0);

--Outputs

signal Data_Out : out std_logic_vector (7 downto 0);

BEGIN

-- Instantiate the Unit Under Test (UUT)

uut: Deco7segCC PORT MAP (

Data_In => Data_In,

Data_Out => Data_Out, );

-- Stimulus process

stim_proc: process

begin

-- hold reset state for 10 ns.

Page 14: Objetivo General. Objetivo Específicos. · 2017-01-16 · Sistemas digitales II. Guía 2 3 Parte I: Creación de proyectos con ISE para Spartan-6 LX9 CSG324. Se realizará el proyecto

Sistemas digitales II. Guía 2 14

Data_In <= “0000”; wait for 10 ns;

Data_In <= “0001”; wait for 10 ns;

Data_In <= “0010”; wait for 10 ns;

Data_In <= “0011”; wait for 10 ns;

Data_In <= “0100”; wait for 10 ns;

Data_In <= “0101”; wait for 10 ns;

Data_In <= “0110”; wait for 10 ns;

Data_In <= “0111”; wait for 10 ns;

Data_In <= “1000”; wait for 10 ns;

Data_In <= “1001”; wait for 10 ns;

Data_In <= “1010”; wait for 10 ns;

Data_In <= “1011”; wait for 10 ns;

Data_In <= “1100”; wait for 10 ns;

Data_In <= “1101”; wait for 10 ns;

Data_In <= “1110”; wait for 10 ns;

Data_In <= “1111”; wait for 10 ns;

Data_In <= “1110”; wait for 10 ns;

Data_In <= “1101”; wait for 10 ns;

Data_In <= “1100”; wait for 10 ns;

Data_In <= “1011”; wait for 10 ns;

Data_In <= “1010”; wait for 10 ns;

Data_In <= “1001”; wait for 10 ns;

Data_In <= “1000”; wait for 10 ns;

Data_In <= “0111”; wait for 10 ns;

Data_In <= “0110”; wait for 10 ns;

Data_In <= “0101”; wait for 10 ns;

Data_In <= “0100”; wait for 10 ns;

Data_In <= “0011”; wait for 10 ns;

Data_In <= “0010”; wait for 10 ns;

Data_In <= “0001”; wait for 10 ns;

Data_In <= “0000”; wait for 10 ns;

wait;

end process;

END;

Código 2: Código VHDL del Test Bench, archivo SDI111_G1_EJ1_tb.vhd, paso 32).

33) De clic izquierdo en el botón de opción Simulation en el cuadro superior izquierdo.

34) Seleccione el nombre del archivo del test bench: Deco7segCC_tb (este es el nombre del

ejemplo que se está realizando) tal como lo indica la figura 21.

Figura 21: Creación de archivo test bench, pasos 33) al 35).

Page 15: Objetivo General. Objetivo Específicos. · 2017-01-16 · Sistemas digitales II. Guía 2 3 Parte I: Creación de proyectos con ISE para Spartan-6 LX9 CSG324. Se realizará el proyecto

Sistemas digitales II. Guía 2 15

35) Luego en el cuadro inferior izquierdo de clic derecho sobre la opción Behavioral Check

Syntax y elija la opción Run tal como se muestra en la figura 21. Si usted no ha guardado el

archivo antes de correr esta opción le pedirá guardar el archivo del test bench a lo que deberá

contestar en el botón Yes.

36) En el cuadro inferior izquierdo de clic derecho sobre la opción Simulate Behavioral Model y

elija la opción Process Properties… Esto abrirá una ventana en la que fijaremos el valor de

Simulation Run Time a 320 ns, tal como se indica en la figura 22.

Figura 22: Asignación de tiempo a simular en el Test Bench, paso 36).

37) En el cuadro inferior izquierdo de clic derecho sobre la opción Simulate Behavioral Model y

elija la opción Run. Esto abrirá el software ISim donde podrá corroborar las respuestas en el

diagrama de tiempos de la figura 23.

38) De clic en el icono Zoom to Full View de ISim y verifique que a medida que las entradas

(data_in(3:0)) toman valores cada 10 ns las salidas (data_out(7:0)) obtienen el valor

correspondiente al asignado en la tabla 1.

Figura 23: Creación de archivo test bench, pasos 37) al 39).

Page 16: Objetivo General. Objetivo Específicos. · 2017-01-16 · Sistemas digitales II. Guía 2 3 Parte I: Creación de proyectos con ISE para Spartan-6 LX9 CSG324. Se realizará el proyecto

Sistemas digitales II. Guía 2 16

39) Dé clic derecho sobre alguno de los vectores y en el menú contextual elija la opción Radix >>

Hexadecimal para visualizar los datos escritos en el VHDL.

Parte III: Programar la tarjeta Spartan 6 LX9 Microboard.

40) Dé clic izquierdo en el botón de opción Implementation en el cuadro superior izquierdo.

41) Dé clic derecho sobre el nombre del archivo del VHDL: Deco7segCC.

42) Elija la opción New Source…

43) En la ventana New Source Wizard, seleccione la opción Implementation Constraints File,

colóquele un nombre al archivo en el campo File Name:, la extensión del archivo será .ucf.

Verifique que el check box Add to Project este activo y de clic en el botón Next tal como lo

indica la figura 24.

44) Para finalizar el cuadro de dialogo dé clic izquierdo en el botón Finish de la figura 25.

Figura 24: Creación de archivo user constraint file, paso 43).

Figura 25: Creación de archivo user constraint file, paso 44).

Page 17: Objetivo General. Objetivo Específicos. · 2017-01-16 · Sistemas digitales II. Guía 2 3 Parte I: Creación de proyectos con ISE para Spartan-6 LX9 CSG324. Se realizará el proyecto

Sistemas digitales II. Guía 2 17

45) Digite el siguiente código en el editor que se abrió.

#Switches

NET “Data_In<3>” LOC = A4; #GPIO_DIP4

NET “Data_In<2>” LOC = B4; #GPIO_DIP3

NET “Data_In<1>” LOC = A3; #GPIO_DIP2

NET “Data_In<0>” LOC = B3; #GPIO_DIP1

#Connector J5

NET “Data_Out<7>” LOC = D18 | IOSTANDARD = LVCMOS33; #PMOD1_P10

NET “Data_Out<6>” LOC = D17 | IOSTANDARD = LVCMOS33; #PMOD1_P9

NET “Data_Out<5>” LOC = G14 | IOSTANDARD = LVCMOS33; #PMOD1_P8

NET “Data_Out<4>” LOC = F14 | IOSTANDARD = LVCMOS33; #PMOD1_P7

NET “Data_Out<3>” LOC = C18 | IOSTANDARD = LVCMOS33; #PMOD1_P4

NET “Data_Out<2>” LOC = C17 | IOSTANDARD = LVCMOS33; #PMOD1_P3

NET “Data_Out<1>” LOC = F16 | IOSTANDARD = LVCMOS33; #PMOD1_P2

NET “Data_Out<0>” LOC = F15 | IOSTANDARD = LVCMOS33; #PMOD1_P1

Código 3: Archivo descriptor de pines de la tarjeta Spartan para la aplicación de la figura 3.

46) Conecte la tarjeta Spartan 6 LX9 Microboard a la PC tal como lo indica la figura 26.

Figura 26: Creación de archivo user constraint file, paso 46).

47) En el cuadro inferior izquierdo dé clic derecho sobre Implement Design y en el menú

contextual elija la opción Run.

48) Dé doble clic izquierdo en Generate Programming File, con lo cual se generará el archivo

para programar la tarjeta.

49) Dé un clic en el signo más de la opción Configure Target Device, y dé doble clic en la opción

Generate Target PROM/ACE File, se abrirá una ventana que sirve para trasferir el código a la

tarjeta.

50) La acción anterior hará que se despliegue la ventana de la figura 28. En la cual debe dar doble

clic izquierdo sobre la opción Boundary Scan del recuadro superior izquierdo.

Page 18: Objetivo General. Objetivo Específicos. · 2017-01-16 · Sistemas digitales II. Guía 2 3 Parte I: Creación de proyectos con ISE para Spartan-6 LX9 CSG324. Se realizará el proyecto

Sistemas digitales II. Guía 2 18

Figura 27: Creación de archivo user constraint file, pasos 47) al 49).

Figura 28: Ventana ISE IMPACT.

51) El proceso anterior hará que la parte derecha de la ventana se haga de color blanco esperando

que Ud establezca la comunicación entre la PC y la tarjeta (reconocimiento de la misma), para

lo cual debe dar clic izquierdo en el icono Initialize Chain (ver figura 29).

Page 19: Objetivo General. Objetivo Específicos. · 2017-01-16 · Sistemas digitales II. Guía 2 3 Parte I: Creación de proyectos con ISE para Spartan-6 LX9 CSG324. Se realizará el proyecto

Sistemas digitales II. Guía 2 19

Figura 29: Descargar archivo sobre la FPGA, paso 51).

52) Se desplegará una ventana (ver figura 30) donde se pregunta si quiere asignar un nuevo archivo

de configuración a la tarjeta, de clic izquierdo en el botón Yes. Aparecerá en el fondo blanco

un integrado que hace referencia a la FPGA que desea programar.

Figura 30: Descargar archivo sobre la FPGA, paso 52).

53) Se desplegará una ventana de dialogo donde debe seleccionar el archivo .bit creado en el paso

48, búsquelo en el directorio donde se guardo, selecciónelo y de clic en el botón open (ver

figura 31).

Figura 31: Descargar archivo sobre la FPGA, paso 53).

KBH001_LX9_Handshaking_tb.vhd

KBH001_LX9_Handshaking_tb.vhd

KBH001_LX9_Handshaking_tb.vhd

Page 20: Objetivo General. Objetivo Específicos. · 2017-01-16 · Sistemas digitales II. Guía 2 3 Parte I: Creación de proyectos con ISE para Spartan-6 LX9 CSG324. Se realizará el proyecto

Sistemas digitales II. Guía 2 20

54) Un nueva ventana (ver figura 32) más se desplegará preguntando si quiere dejar permanente el

programa VHDL en la FPGA, a lo cual responderá que No.

Figura 32: Descargar archivo sobre la FPGA, paso 54).

55) Seleccione el botón Ok en la ventana de la figura 33, para afirmar que se quiere descargar el

programa sobre la FPGA.

Figura 33: Descargar archivo sobre la FPGA, paso 55).

56) De doble clic izquierdo sobre la opción Program del recuadro inferior izquierdo (ver figura

34), se realizará el proceso de grabación y la tarjeta estará lista para verificar físicamente el

código VHDL implementado.

Figura 34: Descargar archivo sobre la FPGA, paso 56).

KBH001_LX9_Handshaking_tb.vhd

KBH001_LX9_Handshaking_tb.vhd

Page 21: Objetivo General. Objetivo Específicos. · 2017-01-16 · Sistemas digitales II. Guía 2 3 Parte I: Creación de proyectos con ISE para Spartan-6 LX9 CSG324. Se realizará el proyecto

Sistemas digitales II. Guía 2 21

57) Conecte la tarjeta de display a la tarjeta Spartan (ver figura 35).

Figura 35: Conectar Spartan 6 LX9 Microboard a tarjeta de display, paso 57).

58) Verifique el funcionamiento del VHDL. Accione combinaciones con el minidip SW1 de la

tarjeta y vea el resultado en el display.

59) Desconecte la tarjeta Spartan de la computadora.

60) Desconecte la tarjeta de display de la tarjeta Spartan.

61) Cierre las aplicaciones abiertas y apague la computadora.

1. Modifique el VHDL, para realizar un decodificador hexadecimal a siete segmentos para display

de cátodo común.

2. Pruebe el programa de sumador binario de 2 bits de la guía 1 por medio de la tarjeta I/O y la

tarjeta Spartan 6 LX9 Microboard; utilice el minidip de la tarjeta Spartan para introducir los dos

números binarios de 2 bits y como salidas utilice los led’s de la tarjeta I/O.

Investigación complementaria

Page 22: Objetivo General. Objetivo Específicos. · 2017-01-16 · Sistemas digitales II. Guía 2 3 Parte I: Creación de proyectos con ISE para Spartan-6 LX9 CSG324. Se realizará el proyecto

Sistemas digitales II. Guía 2 22

Figura 36: Diagrama esquemático de tarjeta I/O.

Figura 37: Vista superior de PCB de tarjeta I/O.

3. Realice un sumador/restador binario de 3 bits, un bit del minidip se utilizará para saber si se

realizará la suma o la resta de los números, la introducción de números y el total se realizará a

través de la tarjeta I/O.

4. Realice un decodificador 4 a 16 con habilitador, verifique funcionalidades de integrados como

el 7442, 74154.

5. Realice un circuito para detectar la paridad par e impar de una palabra de 8 bits.

6. Dado el siguiente diagrama esquemático, realice un código VHDL para formar letras en una

matriz de led’s, considere que se necesitan 9 salidas de la tarjeta Spartan, podrá utilizar 4 bits

del minidip + 7 entradas para realizar la combinación que permitan formar letras formadas por 5

filas y 5 columnas, cada combinación encenderá una columna a la vez, 211 = 2048

Page 23: Objetivo General. Objetivo Específicos. · 2017-01-16 · Sistemas digitales II. Guía 2 3 Parte I: Creación de proyectos con ISE para Spartan-6 LX9 CSG324. Se realizará el proyecto

Sistemas digitales II. Guía 2 23

combinaciones; por lo que en promedio se podrán formar 409 caracteres diferentes entre letras

mayúsculas y minúsculas, números y símbolos. El docente elegirá una palabra a formar y se

realizarán las combinaciones para formar dicha palabra en la matriz de led’s.

Figura 38: Diagrama esquemático de matriz de led´s de 16x5.

Figura 39: Vista superior de PCB de matriz de led’s de 16x5.

7. Considere como opción utilizar display matriciales LTP1057R.

Figura 40: Display matricial LTP1057R.

Page 24: Objetivo General. Objetivo Específicos. · 2017-01-16 · Sistemas digitales II. Guía 2 3 Parte I: Creación de proyectos con ISE para Spartan-6 LX9 CSG324. Se realizará el proyecto

Sistemas digitales II. Guía 2 24

Figura 41: Posibles letras en display matricial LTP1057R.

1. http://systemonfpga.blogspot.com/2015_01_01_archive.html

2. http://www.xilinx.com/products/boards-and-kits/1-3i2dfk.html

3. All Programmable Low-End Portfolio Product Selection Guide:

http://www.xilinx.com/publications/prod_mktg/low-end-portfolio-product-selection-

guide.pdf

4. Xilinx® Spartan®-6 FPGA LX9 MicroBoard User Guide:

http://opencores.org/websvn,filedetails?repname=openmsp430&path=%2Fopenmsp430

%2Ftrunk%2Ffpga%2Fxilinx_avnet_lx9microbard%2Fdoc%2FXilinx_Spartan-

6_LX9_MicroBoard_Rev_B2_Hardware_User_Guide.pdf

5. http://www.xilinx.com/products/silicon-devices/fpga/spartan-6.html

6. http://community.em.avnet.com/t5/Spartan-6-LX9-MicroBoard/LX9-Pinout-

Diagram/td-p/3749

7. TE CONNECTIVITY INTERCONNECT SOLUTIONS FOR THE XILINX®

SPARTAN®-6 FPGA LX9 MICROBOARD

Bibliografía

Page 25: Objetivo General. Objetivo Específicos. · 2017-01-16 · Sistemas digitales II. Guía 2 3 Parte I: Creación de proyectos con ISE para Spartan-6 LX9 CSG324. Se realizará el proyecto

Sistemas digitales II. Guía 2 25

http://www.em.avnet.com/en-us/design/drc/Documents/Xilinx/TE-AES-S6MB-LX9-G-

13.2-V2.pdf

8. Configuring the Xilinx Spartan - 6 LX9 MicroBoard:

http://www.em.avnet.com/Support%20And%20Downloads/Avnet_Spartan-

6_LX9_MicroBoard_Configuration_Guide_v1_1.pdf

9. Tutorial 1 Creating an AXI – based Embedded System:

http://www.eeworld.com.cn/uploadfile/Xilinx/uploadfile/201107/20110712024756897.

pdf

10. Spartan-6 Family Overview:

http://www.xilinx.com/support/documentation/data_sheets/ds160.pdf

11. Spartan-6 FPGA Data Sheet: DC and Switching Characteristics:

http://www.xilinx.com/support/documentation/data_sheets/ds162.pdf

12. Spartan6 Product Brief:

http://www.xilinx.com/publications/prod_mktg/Spartan6_Product_Brief.pdf

13. Spartan-6 FPGA Packaging and Pinouts: Product Specification:

http://www.xilinx.com/support/documentation/user_guides/ug385.pdf

14. Driver (C:\Xilinx\14.7\ISE_DS\common\bin\nt64\digilent):

http://forums.xilinx.com/t5/General-Technical-Discussion/xilinx-spartan-6-lx9-

microboard-ise-driver/m-p/317679#M13784

15. http://xgoogle.xilinx.com/search?output=xml_no_dtd&ie=UTF-8&oe=UTF-

8&client=support&proxystylesheet=support&site=Answers_Docs&filter=0&resultsVie

w=category&tab=sd&num=1000&sortBy=displayOrder&show_dynamic_navigation=1

&sort=date%3AD%3AR%3Ad1&documentClass=Document&requiredfields=-

Archived%3Atrue&getfields=*&q=+inmeta:Document%2520Type%3DPackage%2520

Specifications+inmeta:Devices%3DSpartan%252D6+inmeta:Document%2520Class%3

DDocument+inmeta:Product%2520Type%3DSilicon%2520Devices&dnavs=inmeta:Do

cument%2520Type%3DPackage%2520Specifications+inmeta:Devices%3DSpartan%2

52D6+inmeta:Document%2520Class%3DDocument+inmeta:Product%2520Type%3D

Silicon%2520Devices

16. http://xgoogle.xilinx.com/search?output=xml_no_dtd&ie=UTF-8&oe=UTF-

8&client=support&proxystylesheet=support&site=Answers_Docs&filter=0&resultsVie

w=category&tab=sd&num=1000&sortBy=date&show_dynamic_navigation=1&sort=d

ate%3AD%3AR%3Ad1&documentClass=Document&requiredfields=-

Archived%3Atrue&getfields=*&q=+inmeta:Document%2520Type%3DApplication%2

520Notes+inmeta:Devices%3DSpartan%252D6+inmeta:Document%2520Class%3DDo

cument+inmeta:Product%2520Type%3DSilicon%2520Devices&dnavs=inmeta:Docum

ent%2520Type%3DApplication%2520Notes+inmeta:Devices%3DSpartan%252D6+in

meta:Document%2520Class%3DDocument+inmeta:Product%2520Type%3DSilicon%

2520Devices

17. http://www.fpga4fun.com/JTAG.html

18. http://linuxzone.es/crear-lanzadores-dentro-de-los-menus-de-gnome/