Tema Nombre Descripción
Cartelera Archivo Cronograma curso 2024
Archivo Cupo 2024
Teóricos Archivo T1- Arquitectura de FPGAs

Clase introductoria a la tecnología de los FPGAs y catalogo de productos de Xilinx.

Archivo Presentacion Catalogo Xilinx 2022
Archivo T2- Introducción al VHDL

Introducción a VHDL

Archivo T3- Proceso de diseño

Proceso de diseño de circuitos digitales

Archivo T3- Depuración de errores

Depuración de errores

Archivo T5- Recomendaciones de diseño - RTL

Transparencias de clase

Archivo T6.5 - Análisis de tiempos con TimeQuest
Archivo T7-Interconexión de cores

Opciones para interconexión de cores IP

Carpeta Uso de Git

En caso de que al querer clonar un repo de el mensaje:

"SSL certificate has expired"

git config --global http.sslVerify "false"



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
URL Ejemplo WB-Classic Esclavo | GitLab
Carpeta JTAG a Wishbone Master | Diseño de referencia

JTAG a Wishbone Master | Diseño de referencia


System Console se puede lanzar directamente de linea de comando:

C:\altera\13.1\quartus\sopc_builder\bin\system-console.exe


Si da un error Cannot load ...... jvm.dll hay que copiar el archivo MSVCR71.DLL

desde $QUARTUS_ROOTDIR/bin/jre/bin/MSVCR71.DLL 

a $QUARTUS_ROOTDIR/bin/MSVCR71.DLL. 

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 Proyecto demo memoria Altera. Completo con memoria

Proyecto utilizado en clase de In System Memory

Archivo Gen pulso v2
Archivo Proyecto InSystem Sin memoria creada

Falta crear entidad ramwiz

Archivo Slides Sources and Probes
Archivo Tecnicas y trucos para hacer VHDL reutilizable
Archivo Tutorial para usar ModelSim de Altera
Archivo Lab1-docentes
Archivo Proyecto Quartus control módulo LED manual
Página Proyecto control de módulos LED
Página Acceso a memoria utilizando TCL
Archivo Ejemplo RTL - Expendedor refresco
Tema 10 Página Información del curso

Horarios, ganancia, etc.

Tema 11 Página Reunión inicial

Punteo clase inicial