objetivo general. objetivo específicos....sistemas digitales ii. guía 2 6 figura 8: creación de...

26
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. 1 tarjeta Spartan 6 - LX9-MicroBoard. 1 tarjeta de entradas / salidas (E/S o I/O). 1 tarjeta con display o PMODSSD. 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 figura 6 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). Instituto de Investigación e Innovación en Electrónica. Docente: Kelman Belloso. Objetivo General. Objetivo Específicos. Material y equipo. Tarea previa. Introducción teórica

Upload: others

Post on 07-Mar-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Objetivo General. Objetivo Específicos....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

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.

1 tarjeta Spartan 6 - LX9-MicroBoard.

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

1 tarjeta con display o PMODSSD.

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

figura 6 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).

Instituto de Investigación e Innovación en Electrónica.

Docente: Kelman Belloso. Objetivo General.

Objetivo Específicos.

Material y equipo.

Tarea previa.

Introducción teórica

Page 2: Objetivo General. Objetivo Específicos....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

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....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

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 nombredel 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....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

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....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

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....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

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....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

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, 11 y 27) 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”F6” 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....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

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>

F14 G14 D17 D18 K12 K13 F17 F18 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 0 1 1 0 F6 8

1001 1 1 1 0 0 1 1 0 E6 9

1010 A

1011 b

1100 c

1101 d

1110 e

1111 f

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

Tabla1: 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.

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....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

Sistemas digitales II. Guía 2 9

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.

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)).

Page 10: Objetivo General. Objetivo Específicos....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

Sistemas digitales II. Guía 2 10

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

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.

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

Page 11: Objetivo General. Objetivo Específicos....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

Sistemas digitales II. Guía 2 11

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

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

Page 12: Objetivo General. Objetivo Específicos....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

Sistemas digitales II. Guía 2 12

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

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....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

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:

LIBRARY ieee;

USE ieee.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(3downto0);

Data_Out : out std_logic_vector(7downto0)

); END COMPONENT;

--Inputs

Signal Data_In: std_logic_vector(3downto0);

--Outputs

Signal Data_Out : std_logic_vector(7downto0);

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....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

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....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

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....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

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....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

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 = F14 | IOSTANDARD = LVCMOS33; #PMOD1_P7 - AA

NET “Data_Out<6>” LOC = G14 | IOSTANDARD = LVCMOS33; #PMOD1_P8 - AB

NET “Data_Out<5>” LOC = D17 | IOSTANDARD = LVCMOS33; #PMOD1_P9 - AC

NET “Data_Out<4>” LOC = D18 | IOSTANDARD = LVCMOS33; #PMOD1_P10 - AD

#Connector J4

NET “Data_Out<3>” LOC = K12 | IOSTANDARD = LVCMOS33; #PMOD2_P7 - AE

NET “Data_Out<2>” LOC = K13 | IOSTANDARD = LVCMOS33; #PMOD2_P8 - AF

NET “Data_Out<1>” LOC = F17 | IOSTANDARD = LVCMOS33; #PMOD2_P9 - AG

NET “Data_Out<0>” LOC = F18 | IOSTANDARD = LVCMOS33; #PMOD2_P10 – CAT – PD

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

46) Conecte la tarjeta de PmodSSD (display cátodo común) a la tarjeta Spartan 6 en la línea de

pines más cercana al borde de la tarjeta Spartan, el display debe quedar frente a la FPGA, ver

figuras 26 y 27.

Figura 26: Tarjeta PmodSSD (display cátodo común).

Figura 27: Conectar Spartan 6 LX9 Microboard a tarjeta PmodSSD, paso 46.

Page 18: Objetivo General. Objetivo Específicos....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

Sistemas digitales II. Guía 2 18

Nota: Como alternativa puede ocupar la tarjeta de display’s desarrollada en los laboratorios del

Instituto de Investigación e Innovación en Electrónica (IIIE), mostrada en la figura 28.

Figura 28: Conectar Spartan 6 LX9 Microboard a tarjeta de display, paso 46.

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

Figura 29: Conexión de tarjeta Spartan 6 LX9 Microboarda computadora.

Page 19: Objetivo General. Objetivo Específicos....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

Sistemas digitales II. Guía 2 19

48) En ISE 14.7, en el cuadro inferior izquierdo dé clic derecho sobre Implement Design y en el

menú contextual elija la opción Run.

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

para programar la tarjeta (archivo con extensión .bit).

50) 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.

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

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

Figura 30: Programación de FPGA, paso 50.

Figura 31: Ventana ISE IMPACT, paso 51.

Page 20: Objetivo General. Objetivo Específicos....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

Sistemas digitales II. Guía 2 20

52) 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 32).

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

53) Se desplegará una ventana (ver figura 33) 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 33: Descargar archivo sobre la FPGA, paso 53).

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

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

figura 34).

KBH001_LX9_Handshaking_tb.vhd

KBH001_LX9_Handshaking_tb.vhd

Page 21: Objetivo General. Objetivo Específicos....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

Sistemas digitales II. Guía 2 21

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

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

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

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

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

programa sobre la FPGA.

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

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

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

código VHDL implementado.

KBH001_LX9_Handshaking_tb.vhd

KBH001_LX9_Handshaking_tb.vhd

KBH001_LX9_Handshaking_tb.vhd

Page 22: Objetivo General. Objetivo Específicos....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

Sistemas digitales II. Guía 2 22

Figura 37: Descargar archivo sobre la FPGA, 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’s 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. Modifique el código VHDL para que el valor visualizado en el PmodSSD sea en la posición no

ocupado durante la práctica, además haga que mediante el código el valor en el display no salga

invertido (rotarlo 180°).

3. Pruebe el programa de sumador binario de 2 bits de la guía 1 por medio de la tarjeta PmodSSD

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 la tarjeta PmodSSD rotando el digito 180°.

4. 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.

Investigación complementaria

Page 23: Objetivo General. Objetivo Específicos....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

Sistemas digitales II. Guía 2 23

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

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

5. Repita el ejercicio anterior pero muestre su respuesta en la tarjeta de display’s de la figura 26

(en su defecto puede usar la tarjeta de la figura 28).

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

el 7442, 74154.

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

8. 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

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

Page 24: Objetivo General. Objetivo Específicos....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

Sistemas digitales II. Guía 2 24

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 40: Diagrama esquemático de matriz de led´s de 16x5.

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

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

Figura 42: Display matricial LTP1057R.

Page 25: Objetivo General. Objetivo Específicos....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

Sistemas digitales II. Guía 2 25

Figura 43: 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%2Ftru

nk%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

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:

Bibliografía

Page 26: Objetivo General. Objetivo Específicos....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

Sistemas digitales II. Guía 2 26

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 FamilyOverview:

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 ProductBrief:

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. PMODSSD:

https://store.digilentinc.com/pmod-ssd-seven-segment-display/

https://reference.digilentinc.com/_media/reference/pmod/pmodssd/pmodssd_sch.pdf

https://reference.digilentinc.com/_media/reference/pmod/pmodssd/pmodssd_rm.pdf

https://www.digilentinc.com/Pmods/Digilent-Pmod_%20Interface_Specification.pdf

15. 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

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&resultsView=categ

ory&tab=sd&num=1000&sortBy=displayOrder&show_dynamic_navigation=1&sort=date%3A

D%3AR%3Ad1&documentClass=Document&requiredfields=-

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

cations+inmeta:Devices%3DSpartan%252D6+inmeta:Document%2520Class%3DDocument+i

nmeta:Product%2520Type%3DSilicon%2520Devices&dnavs=inmeta:Document%2520Type%

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

20Class%3DDocument+inmeta:Product%2520Type%3DSilicon%2520Devices

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

8&client=support&proxystylesheet=support&site=Answers_Docs&filter=0&resultsView=categ

ory&tab=sd&num=1000&sortBy=date&show_dynamic_navigation=1&sort=date%3AD%3AR

%3Ad1&documentClass=Document&requiredfields=-

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

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

:Product%2520Type%3DSilicon%2520Devices&dnavs=inmeta:Document%2520Type%3DAp

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

DDocument+inmeta:Product%2520Type%3DSilicon%2520Devices

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

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