Tema Nombre Descripción
Cartelera Archivo Cronograma - 2017
Teóricos Archivo T1- Arquitectura de FPGAs

Clase introductoría a la tecnología de los FPGAs

Archivo T2- Introducción al VHDL

Introducción a VHDL

Archivo T3- Proceso de diseño

Proceso de diseño de circuitos digitales

Archivo T4 - Maquinas de estado

Ejemplo de una maquina de estado que genera un pulso al detectar un flanco.

Archivo T5- Recomendaciones de diseño - RTL

Transparencias de clase

Archivo T6- Depuración de errores

Depuración de errores

Archivo T7-Interconexión de cores

Opciones para interconexión de cores IP

Laboratorios Carpeta Practica 1

Practica 1

Objetivos

  • Familiarizarse con la metodología de diseño de circuitos digitales.
  • Describir circuitos digitales mediante el lenguaje de descripción Hardware VHDL
  • Familiarizarse con el software de desarrollo para Dispositivos Lógicos Programables

Descripción general del problema

Implementar un contador de segundos. La cuenta se desplegará en los display de 7 segmentos y se podrá volver a 0 mediante uno de los pulsadores de la placa.
Carpeta Práctica 2

Práctica 2

Objetivos

  • Familiarizarse con el diseño de circuitos secuenciales modo reloj.

  • Familiarizarse con la prueba de circuitos en la placa DE0.

  • Familiarizarse con el software de desarrollo para Dispositivos Lógicos Programables Quartus II de Altera.

Descripción general del problema

Diseñar el control para un sistema con un contador de segundos y un cronómetro.
Carpeta Práctica 3

Práctica 3

Objetivos

  • Uso de módulos parametrizables de Altera para el diseño de circuitos digitales más complejos.

  • Familiarización con el uso de los M9K de la familia Cyclone III de Altera.

  • Familiarización con las herramientas de análisis de tiempo de Altera y optimización para frecuencia máxima de funcionamiento.

  • Realización hardware de un algoritmo de procesamiento de señales sencillo.

Descripción general del problema

Modificar el cirtuito de la práctica anterior utilizando divisores que no son potencia de 2:

Yn = 1/3 Xn + 1/5 Xn-1 + 1/7 Xn-2 + 1/7 Xn-3

Analizar los reportes del análisis de temporización de Altera y utilizar técnicas de pipeline para mejorar la frecuencia máxima del circuito.


Utilizar el módulo lpm_divide de Altera para implementar las divisiones y el módulo altpll para obtener frecuencias de reloj mayores a los 50 MHz del oscilador de la placa.

Carpeta Práctica 4

Práctica 4

Objetivos

  • Tomar contacto con el estándar Wishbone para interfaces entre módulos (IP cores) dentro de un sistema integrado en un chip (System on Chip o SoC). Se usarán transferencias simples de lectura y escritura.


Descripción general del problema

 

El sistema a diseñar permitirá, desde un PC, escribir y leer varios dispositivos esclavo conectados a un bus Wishbone.Para esto se utilizará
un IP Core que recibe comandos a través de la conexión JTAG y los
traduce en ciclos Wishbone.

Material de apoyo Página Ejemplo sencillo de un diseño VHDL

En el ejemplo se muestra como hacer un diseño, partiendo el problema en varios módulos escritos en VHDL

El ejemplo implementa un bloque con 2 entradas (A[7..0], B[7..0]) que son registradas en los flancos ascendentes de CLK ( en caso de que ENA=1). 

La salida (S[7..0]) es la suma de las entradas A y B registradas.

Página Tutorial básico de Diseño
El presente recurso ilustra en una forma muy básica y guiada, como crear un proyecto utilizando el Quartus II de Altera, compilarlo y simularlo.
Archivo Archivo: Proyecto Quartus II de un registro
El archivo corresponde a un proyecto que tiene una entidad REGISTRO de ancho 8. El proyecto contiene simulación y asignación de dispositivo.

El archivo fue generado utilizando la función Archivar proyecto del Quartus II de Altera.
Carpeta Hojas de Datos y Manuales
Archivos con hojas de datos y manuales
URL Help de MaxPlus2
Ayuda de Maxplus2. Vean Project Reliability Guidelines.
Página Links de interes
Links con información de interes (VHDL, FPGAs, IP-Cores, etc.)
Carpeta Estándares de interconexión enre IP Cores
Especificación y nota de aplicación de estándares de interconexión
Carpeta JTAG a Wishbone Master | Diseño de referencia

JTAG a Wishbone Master | Diseño de referencia

Carpeta Serie a Wishbone Master | Diseño de referencia

Serie a Wishbone Master | Diseño de referencia

Descripción general

El diseño serie2wbm_ref_design es un diseño de referencia que permite experimentar con diseños con interfaz wishbone y con el diseño serie2wbm.

El diseño esta pensado para ser utilizado en la placa UP1 de altera (chip EPF10K20RC240-4) y contiene:
  • instancia de bloque serie2wbm
  • instancia de bloque wb_register
  • multiplexor conectado a instancias de bloques hex27seg y estos a los display 7 seg de forme de visualizar :
    • contenido de wb_register (MUX_SEL = 1)
    • bus de direcciones de serie2wbm (MUX_SEL = 0)
Diagrama de bloques

Detalle de algunas entidades

serie2wbm

Descripcion : Modulo Serie 8N1 a WB Master

El WM Master realiza ciclos Wishbone de Lectura o Escritura simple a la dirección contenida en registro interno.

Protocolo de comunicación y control a través del puerto serie:
  • Seteo de dirección en registro interno:
    • 1. Enviar byte X"01"
    • 2. Enviar byte con dirección a cargar en registro
  • Ciclo de escritura WB
    • 1. Enviar byte X"02"
    • 2. Enviar byte con dato a escribir en esclavo WB
  • Ciclo de lectura WB
    • 1. Enviar byte X"04"
    • 2. una vez recibido el dato por parte del maestro WB, es enviado en forma serie

Entidades que componen el diseño:
  • serie2wbm
    • uart
      • uart_rx
      • uart_tx
    • wb_master

Generics: BAUD_RATE_16x_COUNTER_REFERENCE
  • Para Fclk=25.175MHz y 9600bps => BAUD_RATE_16x_COUNTER_REFERENCE = F_CLK_I/(BPS * 15) -1 = 25175000 / (9600 * 15) -1 = 174

Simulación

Para simular el diseño de referencia y diseños que utilicen el bloque serie2wbm se sugiere:
  • Utilizar un CLK_I con una frecuencia de 10Mhz
  • setear el generic BAUD_RATE_16x_COUNTER_REFERENCE en la instancia de serie2wbm en serie2wbm_ref_design en 2
  • ajustar tamaño de grilla de simulación a tiempo de bit 4.5us
A modo de ejemplo se incluye el archivo de simulación sim_AddressSet_WriteByte_ReadByte.vwf. En el mismo se setea el registro de direcciones en FBh, luego se realiza la escritura de 55h en wb_register y luego su lectura (devolviendo 55h por la interfaz serie).

Simulacion

Archivos disponibles

sim_AddressSet_WriteByte_ReadByte.vwf: Vector para simulación
vhdl.zip: archivos VHDL: serie2wbm_ref_design.vhd, serie2wbm.vhd, wb_register.vhd y hex27seg.vhd
pin_assignament.txt: lineas a agregar en archivo .QSF para asignar pines rápidamente.
Carpeta Herramientas comunicación serie

Herramientas comunicación serie

Conversor RS232-TTL utilizado en el curso

Señales

Max232

Archivos de diseño

El circuito fue diseñado con el software CAD Eagle versión 5.

Al pié de página puede encontrarse:
  • esquemático y placa en formato PDF
  • esquemático y placa en formato Eagle CAD 5

Software

Hercules utility

Software que permite comunicarse en en forma serie con una aplicación. Permite enviar y recibir archivos, caracteres ASCII y hexa, etc.

El software esta disponible al pie de la página y en el sitio web del desarrollador.

Bray++ Terminal

Otro programa emulador de terminal similar al anterior.
Es solo un ejecutable, no hace falta instalar.
Se puede descargar en: http://hw-server.com/software/termv19b.html

Carpeta Core T80
Ejemplos de hardware, software y documentación sobre el procesador T80.
Carpeta Application Notes
Archivo Modo reloj: detector de flancos

La entidad GEN_PULSO descripta en gen_pulso,vhd es un diseño modo reloj que genera un pulso de duración un período de reloj, cuando detecta un flanco de subida en la señal de entrada.

Los cambios en la señal de entrada deben de producirse con un período mayor al del reloj del sistema.

Archivo Ejemplo de registro con interfaz WB Classic

Ejemplo WB Esclavo

Archivo Proyecto demo memoria Altera. Sin memoria

Proyecto utilizado en clase de In System Memory

Tema 5 Página Resumen proyectos 2016

- Interfaz FPGA para adquisición de datos con el módulo RHD2132


Página Resumen proyectos 2014

- Ecualizador de audio de 11 bandas

- Capturador de eventos para OPENMSP430

- Interfaz RS232 - Dali

Página Proyectos de años anteriores
Listado de proyectos realizados por los alumnos en ediciones anteriores del curso.
Tema 7 Página Información del curso

Horarios, ganancia, etc.

Tema 8 Página 2017 - Reunión inicial

Punteo clase inicial