La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 001 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby Marzo 2008 Instituto.

Presentaciones similares


Presentación del tema: "Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 001 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby Marzo 2008 Instituto."— Transcripción de la presentación:

1 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 001 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby jacoby@itba.edu.ar Marzo 2008 Instituto Tecnológico de Buenos aires Cyclone Board Quick Reference

2 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 2 1- Start Project Wizard  El primer paso es iniciar el “Project Wizard”

3 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 3 2- Crear una carpeta  Crear una carpeta y un nombre para el proyecto

4 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 4 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

5 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 5 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

6 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 6 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

7 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 7 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)

8 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 8 7- Adicionar un esquemático al proyecto 2 1

9 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 9 8- Guardar el archivo

10 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 10 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

11 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 11 Pinout Llaves y Leds DeviceFPGA PINComments LED2106Active Low LED3107Active Low LED4108Active Low SW433Low When Closed SW334Low When Closed SW235Low When Closed SW136Low When Closed

12 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 12 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)

13 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 13 Asignación de nombres A continuación asignamos nombres a los pines (doble click en los mismos).

14 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 14 Asignación de nombres Repitiendo para la salidas (leds) nos queda:

15 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 15 Asignación de pines Ahora podemos asignar los pines a cada puerto usando el editor de asignación de pines

16 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 16 Asignación de pines La edición quedaría asi:

17 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 17 Dibujo del esquemático Finalizamos ruteando cada llave con su respectivo led dentro de la FPGA:

18 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 18 Asignación de pines NO usados ESTO ES MUY IMPORTANTE DE NO RESPETARLO PODEMOS QUEMAR PINES DE LA FPGA

19 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 19 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

20 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 20 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

21 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 21 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)

22 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 22 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

23 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 23 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)

24 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 24 Uso del PLL - Ejemplo2 Siguiendo 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

25 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 25 Uso del PLL - Ejemplo2 A continuación seleccionamos una instancia propia de una megafuncion (que será el PLL) y seleccionamos “Next”

26 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 26 Uso del PLL - Ejemplo2 Dentro de “IO” seleccionamos “ALTPLL” le damos un nombre al archivo de salida que generara el MegaWizard en VHDL y seleccionamos “Next”

27 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 27 Uso del PLL - Ejemplo2 Ahora vamos a configurar el PLL para un cristal de 24MHz y la velocidad del mismo en grado“6” luego “Next”

28 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 28 Uso del PLL - Ejemplo2 En la siguiente pagina eliminar todas Entradas y Salidas luego “Next”

29 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 29 Uso del PLL - Ejemplo2 En 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”

30 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 30 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

31 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 31 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

32 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 32 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

33 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 33 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 MSB LSB %P

34 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 34 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

35 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 35 Uso del PLL - Ejemplo2 Vamos a configurar nuestro contador como sigue:

36 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 36 Uso del PLL - Ejemplo2 Fijamos el tamaño del contador N=28

37 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 37 Uso del PLL - Ejemplo2 En la siguiente pagina solo seleccionamos binario puro

38 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 38 Uso del PLL - Ejemplo2 En la siguiente pagina no se selecciona ninguna opción

39 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 39 Uso del PLL - Ejemplo2 Finalizamos !!

40 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 40 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.

41 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 41 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

42 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 42 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).

43 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 43 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 : INinteger 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;

44 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 44 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

45 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 45 Uso del SignalTap II Logic Analyzer Ejemplo3 Luego de presionar ok aparecerá un archivo en blanco al que guardaremos (File  Save As) con el nombre detector.vhd

46 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 46 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.

47 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 47 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)

48 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 48 Uso del SignalTap II Logic Analyzer Ejemplo3 3 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

49 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 49 Uso del SignalTap II Logic Analyzer Ejemplo3 Si 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.

50 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 50 Uso del SignalTap II Logic Analyzer Ejemplo3 Ahora resta conectar los tres bits del contador al detector

51 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 51 Uso del SignalTap II Logic Analyzer Ejemplo3 Luego conectar un puerto de salida del detector.(Recordar caminarle el nombre) y asignarle un pin (103) con el editor de asignaciones

52 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 52 Uso del SignalTap II Logic Analyzer Ejemplo3 Conviene 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

53 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 53 Uso del SignalTap II Logic Analyzer Ejemplo3 Ahora Vamos a usar el ELA (Embebed Logic Analizer) Signal Tap II Empezamos creando una instancia del ELA haciendo: Tools  Signal Tap Logic Analyzer II

54 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 54 Uso del SignalTap II Logic Analyzer Ejemplo3 Podemos observar una ventana como la que sigue. Para trabajar mas cómodos la vamos a maximizar la ventana usando el icono

55 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 55 Uso del SignalTap II Logic Analyzer Ejemplo3 Ahora 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á

56 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 56 Uso del SignalTap II Logic Analyzer Ejemplo3 A 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

57 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 57 Uso del SignalTap II Logic Analyzer Ejemplo3 Nos 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

58 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 58 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

59 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 59 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

60 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 60 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:

61 Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 61 Uso del SignalTap II Logic Analyzer Ejemplo3 Pasado un cierto tiempo (hasta que se llene el buffer) se veran las señales adquiridas Trigger


Descargar ppt "Laboratorio de Microprocesadores - ITBA -Daniel Jacoby 1 REV 001 -2009 LABORATORIO DE MICROPROCESADORES Daniel A Jacoby Marzo 2008 Instituto."

Presentaciones similares


Anuncios Google