Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE...

72
Laboratorio de Microproce sadores - ITBA -Daniel Ja coby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby [email protected] Abril 2009 Instituto Tecnológico de Buenos aires Cyclone Architecture

Transcript of Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE...

Page 1: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

1

REV 005 -2009

LABORATORIO DE MICROPROCESADORES

Daniel A Jacoby

[email protected]

Abril 2009

Instituto Tecnológico de Buenos aires

Cyclone Architecture

Page 2: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

2

1- Features

Page 3: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

3

1- Features

Page 4: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

4

2- LE

Page 5: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

5

2- LE

Page 6: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

6

Si uso un…

MULTIPLICADOR (8X8 NO SIGN SALIDA 16)

APROX 70 LE

DECODIFICADOR DE 8 ENTRADAS

APROX 292 LE

MULTIPLEXOR DE DOS ENTRADAS DE 8 BITS

APROX 8 LE

OR CON <= 4 ENTRADAS 1 LE

OR CON 5 ENTRADAS 2 LE

Page 7: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

7

3- Interconexión

Page 8: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

8

3- Interconexión

Page 9: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

9

3- Interconexión

Page 10: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

10

4- Memoria

Page 11: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

11

4- Memoria

Page 12: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

12

4- Memoria

Page 13: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

13

4- Memoria

Page 14: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

14

2- Crear una carpeta

Crear una carpeta y un nombre para el proyecto

Page 15: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

15

3- Agregar archivos de diseño adicionales

Agregar archivos y librerías al proyecto

Este paso se puede ignorar y solo tiene sentido si se quiere usar material de diseños previos o de terceros

Page 16: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

16

4- Selección del dispositivo

Se debe seleccionar el dispositivo indicado que es el que usa la placa Cyclone

Nota: Lo único que puede llegar a diferir es la velocidad

Actualmente se usara el dispositivo:

EP1C6T144C6

Page 17: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

17

5- Selección de Herramientas adicionales de diseño

Con este cuadro se seleccionan herramientas adicionales de diseño (EDA: Electronic Design Automation) como ser Leonardo Spectrum ,synplify o modelsim.

En nuestro caso no seleccionamos ninguna

Page 18: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

18

6- Resumen de las opciones seleccionadas

Con este cuadro se visualizan las opciones elegidas de manera que si alguna no corresponde con lo deseado se puede volver a modificar (Back)

De todos modos todas estas opciones se pueden cambiar mas adelante (botón derecho sobre el dispositivo)

Page 19: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

19

7- Adicionar un esquemático al proyecto

2

1

Page 20: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

20

8- Guardar el archivo

Page 21: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

21

Primer Ejemplo

El primer ejemplo consiste en controlar los leds que se encuentran en la placa mediante las llaves (dip - switch) residentes en la misma. Cada llave controlara a un led. El diseño consiste entonces rutear dentro de la FPGA cada llave a un led. Un esquemático es la mejor forma de representar esta situación. Antes de dibujar debemos saber a que pines de la FPGA se encuentran conectados los leds y las llaves

Page 22: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

22

Pinout Llaves y LedsDevice FPGA PIN Comments

LED2 106 Active Low

LED3 107 Active Low

LED4 108 Active Low

SW4 33 Low When Closed

SW3 34 Low When Closed

SW2 35 Low When Closed

SW1 36 Low When Closed

Page 23: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

23

Selección de componentes

En primer lugar se deben poner los pines de entrada (llaves) y salida (leds) en el esquemático. Para hacer esto usamos el “symbol tool” y elegimos un pin de entrada (usar repeat insert mode)

Page 24: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

24

Asignación de nombres

A continuación asignamos nombres a los pines (doble click en los mismos).

Page 25: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

25

Asignación de nombres

Repitiendo para la salidas (leds) nos queda:

Page 26: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

26

Asignación de pines

Ahora podemos asignar los pines a cada puerto usando el editor de asignación de pines

Page 27: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

27

Asignación de pines

La edición quedaría asi:

Page 28: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

28

Dibujo del esquemático

Finalizamos ruteando cada llave con su respectivo led dentro de la FPGA:

Page 29: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

29

Asignación de pines NO usados

ESTO ES MUY IMPORTANTE DE NO RESPETARLO PODEMOS QUEMAR PINES DE LA FPGA

Page 30: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

30

Compilar todo el proyecto

Como resultado se generaran los archivos:

“testleds1.sof” y “testleds1.pof”

sof = Sram Output File para la FPGA

pof = Programming Output File para la Flash Externa

Page 31: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

31

SOF Vs. POF

Los archivos sof se usan para programar las celdas RAM de la FPGA. Como consecuencia el programa quedara en la FPGA mientras haya alimentación.

Los archivos pof se usan para programar la flash de configuración externa a la FPGA. Como consecuencia el si se usa este archivo el programa se cargara en las celdas RAM de la FPGA desde la memoria de configuración externa cada vez que se aplique alimentación a la FPGA. Por lo tanto los archivos sof están pensados para programar versiones definitivas de la aplicación la que se iniciara cada vez que apliquemos alimentación a la FPGA. Dado que la memoria de configuración externa reduce el tiempo de retención cada vez que se graba en ella recomiendo minimizar su uso

Page 32: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

32

Programación

Antes de programar debemos cortar la alimentación y luego conectar el programador mediante el cable plano a la Placa con la FPGA. A su vez el programador deberá conectarse al puerto paralelo de la PC.

Nota: Para archivos sof se debe usar el conector rotulado JTAG (H2) mientras que para los pof se debera usar el conector ASMI(H1)

Page 33: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

33

Programación SOF

Una vez conectado todo aplicar alimentación y ejecutar el programador en Quartus II

Antes de programar verificar que:

1- Figure el puerto correcto y la leyenda “Byteblaster II”

2- Modo = JTAG

3- Este cargado el archivo SOF (de no estar usar Add file)

4 – Chequeada la opción Program / configure

Page 34: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

34

Programación POF

Una vez conectado todo aplicar alimentación y ejecutar el programador en Quartus II

Antes de programar verificar que:

1- Figure el puerto correcto y la leyenda “Byteblaster II”

2- Modo = Active Serial Programming

3- Este cargado el archivo SOF (de no estar usar Add file)

4 – Chequeada la opción Program / configure (como en la figura)

Page 35: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

35

Uso del PLL - Ejemplo2Siguiendo los mismos pasos del primer ejemplo creamos ahora un nuevo proyecto llamado “plltest” y agregamos un esquemático al proyecto. Vamos ahora a instanciar un PLL para lo cual usamos nuevamente el “symbol tool” y usamos el “MegaWizard Plug-in Manager” tal como se ve en la figura

Page 36: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

36

Uso del PLL - Ejemplo2A continuación seleccionamos una instancia propia de una megafuncion (que será el PLL) y seleccionamos “Next”

Page 37: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

37

Uso del PLL - Ejemplo2Dentro de “IO” seleccionamos “ALTPLL” le damos un nombre al archivo de salida que generara el MegaWizard en VHDL y seleccionamos “Next”

Page 38: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

38

Uso del PLL - Ejemplo2Ahora vamos a configurar el PLL para un cristal de 24MHz y la velocidad del mismo en grado“6” luego “Next”

Page 39: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

39

Uso del PLL - Ejemplo2En la siguiente pagina eliminar todas Entradas y Salidas luego “Next”

Page 40: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

40

Uso del PLL - Ejemplo2En este ejemplo se usara al PLL para proveernos de una frecuencia de 48 MHz en la salida c0. Seleccionar los parámetros como se indican abajo luego “Next”

Page 41: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

41

Uso del PLL - Ejemplo2

Saltear las siguientes dos paginas (pag. 6 y 7) (usar “Next”) lo que nos lleva a la siguiente pagina. Acá solo presionar “Finish” y luego “OK” para finalizar el componente PLL

Page 42: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

42

Uso del PLL - Ejemplo2

Saltear las siguientes dos paginas (pag. 6 y 7) (usar “Next”) lo que nos lleva a la siguiente pagina. Acá solo presionar “Finish” y luego “OK” para finalizar el componente PLL

Page 43: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

43

Uso del PLL - Ejemplo2

Una vez finalizado agregamos un pin de entrada para proveer de clock al PLL. La placa dispone de un oscilador a cristal que se encuentra conectado al pin 16 de la FPGA. La frecuencia del oscilador es de 24 MHz

Page 44: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

44

Uso del PLL - Ejemplo2

Como aplicación vamos a realizar un contador binario Los 3 bits mas significativos del contador serán conectados a los leds de la placa. Podemos ver al contador binario como un divisor de P bits en cascada con un contador binario de 3 bits. La cantidad total de bits del contador es N= P+3. Para poder visualizar los leds la frecuencia de entrada del contador de 3 bits puede ser de aproximadamente 1 Hz . Asi resulta que

P=log(Fxtal/Fpout)/log(2) donde Fxtal= 48E6 Hz y Fpout =1 Hz

P=25.51 redondeamos a P= 25 o sea que N=28. El Primer led se encenderá a un ritmo de Fxal / [2^(P+1)] = 0.7153 HZ que es suficiente para visualizar el contador de 3 bits

Fxtal

MSBLSB

%P

Page 45: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

45

Uso del PLL - Ejemplo2

Como aplicación vamos a realizar un contador binario que será conectado a los leds de la placa. Se usara un contador LPM de la librería de altera. Los 3 bits menos significativos del contador serán conectados a los leds de la placa

Page 46: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

46

Uso del PLL - Ejemplo2

Vamos a configurar nuestro contador como sigue:

Page 47: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

47

Uso del PLL - Ejemplo2

Fijamos el tamaño del contador N=28

Page 48: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

48

Uso del PLL - Ejemplo2

En la siguiente pagina solo seleccionamos binario puro

Page 49: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

49

Uso del PLL - Ejemplo2

En la siguiente pagina no se selecciona ninguna opción

Page 50: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

50

Uso del PLL - Ejemplo2

Finalizamos !!

Page 51: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

51

Uso del PLL - Ejemplo2

Conectamos los leds a los 3 bits mas significativos del contador. Se usaron inversores por ser activo bajos los leds. El clock del contador se conecta a la salida del PLL.

Page 52: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

52

Uso del PLL - Ejemplo2

La asignación de pines deberá ser la siguiente

Luego de compilar el programa y programarlo como se vio en el ejemplo 1 Verificar el funcionamiento del mismo.

Adicionalmente podemos guardar este ejemplo en la memoria de configuración de manera que al encenderse la fuente empiece a ejecutarse este ejemplo. NO OLVIDAR APAGAR LA FUENTE AL CAMBIAR DE MODO SOF a POF

Page 53: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

53

Uso del SignalTap II Logic Analyzer Ejemplo3

Quartus II nos permite realizar el análisis de los nodos internos de nuestro diseño mediante un componente que tiene la misma funcionalidad que un analizador logico.

Este componente es conocido como SignalTap II Logic Analyzer. Antes de usarlo vamos a agregar a nuestro diseño previo (Ejemplo2) un modulo que detecte cuando el contador de 3 bits se encuentra entre 3 y 5.

La forma mas cómoda de modelar este detector es usando VHDL

La interface del detector sera la siguiente:

Entradas : Tres bits que irán conectados a la salidas de nuestro contador

Salidas : Un bit que nos indica si nuestro contador se encuentra dentro del rango indicado (Activo Alto).

Page 54: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

54

Uso del SignalTap II Logic Analyzer Ejemplo3

El script en vhdl es:

library ieee;

use ieee.std_logic_1164.all;

ENTITY detector IS

PORT

(

count : IN integer range 0 to 7;

in_range : OUT STD_LOGIC

);

END detector;

ARCHITECTURE V1 OF detector IS

SIGNAL detect : STD_LOGIC;

BEGIN

detector:

PROCESS (count)

BEGIN

IF count > 2 AND count < 6 THEN

in_range<= '1';

ELSE

in_range<= '0';

END IF;

END PROCESS ;

END v1;

Page 55: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

55

Uso del SignalTap II Logic Analyzer Ejemplo3

Para incorporar el script en nuesto proyecto debemos:

1- Crear un archivo nuevo al que llamaremos detector.vhd

Para hacer esto hacemos File New y seleccionamos VHDL File

Page 56: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

56

Uso del SignalTap II Logic Analyzer Ejemplo3

Luego de presionar ok aparecerá un archivo en blanco al que guardaremos (FileSave As) con el nombre detector.vhd

Page 57: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

57

Uso del SignalTap II Logic Analyzer Ejemplo3

Como paso final editamos el código y guardamos el archivo (No olvidar).

Nota: Para no perder el tiempo hacer copy & paste del código en PowerPoint.

Page 58: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

58

Uso del SignalTap II Logic Analyzer Ejemplo3

2 Ahora incorporamos el archivo al proyecto Settings ( )

Seleccionamos FILES , buscamos el archivo y lo agregamos al proyecto (Add)

Page 59: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

59

Uso del SignalTap II Logic Analyzer Ejemplo33 Ahora Vamos a generar el símbolo grafico asociado a nuestro archivo VHDL. Para lo cual con el archivo a la vista hacemos File Create/Update Create Symbol Files for current file

Page 60: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

60

Uso del SignalTap II Logic Analyzer Ejemplo3Si todo esta bien tendremos un nuevo componente en la librería para verlo volvemos al esquemático y buscamos el componente en la librería y lo pegamos en el esquemático.

Page 61: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

61

Uso del SignalTap II Logic Analyzer Ejemplo3Ahora resta conectar los tres bits del contador al detector

Page 62: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

62

Uso del SignalTap II Logic Analyzer Ejemplo3Luego conectar un puerto de salida del detector.(Recordar caminarle el nombre) y asignarle un pin (103) con el editor de asignaciones

Page 63: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

63

Uso del SignalTap II Logic Analyzer Ejemplo3Conviene compilar todo el proyecto para asegurarnos que no hay errores

Podemos probar nuestro diseño conectando un osciloscopio al pin 8 del header J3-B3 (cuarto pin del header) grabar el programa y verificar el funcionamiento

Page 64: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

64

Uso del SignalTap II Logic Analyzer Ejemplo3Ahora Vamos a usar el ELA (Embebed Logic Analizer) Signal Tap II

Empezamos creando una instancia del ELA haciendo:

Tools Signal Tap Logic Analyzer II

Page 65: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

65

Uso del SignalTap II Logic Analyzer Ejemplo3Podemos observar una ventana como la que sigue. Para trabajar mas cómodos la vamos a maximizar la ventana usando el icono

Page 66: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

66

Uso del SignalTap II Logic Analyzer Ejemplo3Ahora debemos configurar nuestro ELA

Empezamos por la conexión JTAG y el archivo de programacion (SOF)

De esta manera el ELA se podrá comunicar con windows via JTAG

Se puede programar desde acá

Page 67: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

67

Uso del SignalTap II Logic Analyzer Ejemplo3A continuación seleccionaremos los nodos a monitorear haciendo doble click dentro de la siguiente ventana y seleccionando los nodos de interés

El resultado es el siguente

Page 68: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

68

Uso del SignalTap II Logic Analyzer Ejemplo3Nos queda por definir la condición de disparo. Como ejemplo tomaremos algo simple como ser el flanco de subida de in_range. Con el botón derecho sobre la condición de trigger para la señal in_range. Creamos la condición de trigger para el ELA

Page 69: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

69

Uso del SignalTap II Logic Analyzer Ejemplo3

Finalmente elegimos como clock del ELA a la salida q(16) del contador usando el node finder y fijamos un buffer de 4K para el buffer de adquisición

Node finder

Page 70: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

70

Uso del SignalTap II Logic Analyzer Ejemplo3

Para una mejor visualización de los datos podemos agrupar las tres salidas del contador en un bus único. Esto se hace pasando a la solapa Data y marcando las 3 señales ( con ctrl + mouse) y seleccionando con el botón derecho la opción agrupar

Page 71: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

71

Uso del SignalTap II Logic Analyzer Ejemplo3

Compilamos el proyecto y grabamos el programa en la FPGA

Una vez corriendo el programa vamos a la solapa del ELA y presionamos el botón de adquisición continua

Deberá observarse lo siguiente:

Page 72: Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 005 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Abril 2009 Instituto.

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby

72

Uso del SignalTap II Logic Analyzer Ejemplo3

Pasado un cierto tiempo (hasta que se llene el buffer) se veran las señales adquiridas

Trigger