HORARIO: L(8-10: LPSySE), M-M-J (8-9 hrs: A5).


REQUISITOS PARA CURSAR ESTA MATERIA


  • Haber cursado y aprobado la materia de Diseño Digital cursado con Verilog HDL, cumpliendo todos los objetivos.
  • Del curso de Diseño digital, tener la competencia para el analisis de circuitos lógicos con algebra Booleana.
  • Tener interés en el diseño de circuitos electrónicos digitales.
  • Dominar el diseño de Circuitos Combinacionales y Secuenciales con Verilog HDL en la IDE Ise Webpack 14.7.
  • Read technical documents and understand  videos in english (important).
  • Una memoria de 64 GB minimo y organizarla de la siguiente manera.
<]::::::::::::::::[=========================>

  • Tener computadora personal en casa y ser competente en su manejo.
  • Ser disciplinado en la puntualidad y orden en sus apuntes y material de clase.

 OBJETIVO GENERAL DEL CURSO
Diseñar y programar circuitos secuenciales síncronos, estructurar sistemas digitales utilizando lenguaje VHDL, conocer y desarrollar los componentes que conforman las arquitecturas básicas de un procesador.

Objetivos específicos
  • Adquirir una base sólida sobre los fundamentos del lenguaje de descripción de hardware; VHDL.
  • Aprender las fases del proceso de diseño de sistemas con VHDL para su implementación en FPGAs de Xilinx mediante las herramientas: Ise Webpack 14.7 y VIVADO 2019.1.
  • Desarrollar bancos de pruebas (testbenchs) para la simulación con VHDL.
  • Realizar ejemplos prácticos de sistemas digitales con VHDL, usando circuitos combinacionales, secuenciales.
  • Instanciar componentes propios de las bibliotecas de Xilinx incluidas en las herramientas:  Ise Webpack 14.7 y VIVADO 2019.1 en los sistemas digitales descritos en VHDL.
  • Diseñar bibliotecas de componentes propios en VHDL para su posterior utilización en otros proyectos.
  • Identificar recomendaciones de diseño con VHDL para síntesis con FPGAs.
  • Análizar las opciones de síntesis, asignación de recursos, posicionamiento y enrutado más adecuadas para la implementación de los sistemas digitales descritos con VHDL en FPGAs de Xilinx mediante las herramientas: Ise Webpack 14.7 y VIVADO 2019.1..
  • Comprender la arquitectura de contrucción de los FPGAs y obtener su mayor rendimiento
  • Implementar ejemplos prácticos de sistemas digitales de complejidad media-alta mediante las herramientas Ise Webpack 14.7 y VIVADO 2019.1., utilizando FPGAs de la familia  Artix-7 (Nexys 4 DDR) y Spartan 6 (Nexys 3) utilizando los bitstream generados.

Volver al principio


CONTENIDO DEL CURSO
 


UNIDAD I PROGRAMACION EN VHDL.


1 .1 Elementos del lenguaje VHDL
       1.1.1 Elementos sintácticos del VHDL.
       1.1.2 Operadores y expresiones en VHDL
       1.1.3 Tipos de datos.
       1.1.4 Subtipos de datos

1.2 Declaraciones básicas de objetos
       1.2.1 Declaración de constantes
       1.2.2 Declaración de variables
       1.2.3 Declaración de señales
       1.2.4 Declaración de ficheros.

1.3 Declaraciones concurrentes.
      1.3.4 Declaración de entidad.
      1.3.5 Declaración de arquitectura.
      1.3.6 Diferentes tipos de arquitecturas(Estructural, Flujo de datos y Funcional).
      1.3.7 Ejemplos de descripción flujo de datos.

1.4 Ejemplos de declaraciones secuenciales
      1.4.1 Ejemplos de diagramas de máquinas de estado.

1.5 Funciones y subprogramas

      1.5.1 Declaración de procedimientos y funciones
      1.5.2 Subprogramas
      1.5.3 Paquetes
      1.5.4 Bibliotecas

1.6 Programación de FPGA´s o CPLD’S en una aplicación.

UNIDAD II. MAQUINAS DE ESTADOS FINITO.

2.1 Modelo de Mealy y Modelo de Moore.

2.2 Representación de los modelos Mealy y Moore en diagramas de estado y diagrama ASM.

2.3 Diseño de máquinas de estados finitos tipo Mealy y tipo Moore utilizando VHDL.
      2.3.1 Obtención de la tabla de estados.
      2.3.2 Obtención de la tabla de excitación.
      2.3.3 Obtención de las ecuaciones de excitación.
      2.3.4 Programación de archivo .vhd.
      2.3.5 Simulación del archivo .vhd
      2.3.6 Obtención del archivo .jed.
      2.3.7 Programación del PLD o FPGA.

UNIDAD III. MEMORIAS
 
3.1 Fundamentos de sistemas numéricos.
      3.1.1 Sistema de numeración hexadecimal.
      3.1.2 Operaciones aritméticas en el sistema hexadecimal.

3.2 Conceptos de memorias.

       3.2.1 Terminología de memorias
       3.2.2 Operación general de memorias
       3.2.3 Tipos de memorias
       3.2.4 Estructura interna de una celda memorias
       3.2.5 Ciclos de lectura/escritura
       3.2.6 Interconexión de memorias
       3.2.7 Aplicaciones de memorias en la lógica combinacional y secuencial

UNIDAD IV. ARQUITECTURA DE PROCESADORES.

4.1 Estructura y funcionamiento de una ALU.
      4.1.1 Registro de estado.
      4.1.2 Operaciones con datos de memoria y registros.
      4.1.2 Operaciones con punto flotante y fijo.

4.2 Descripción de una ALU con VHDL.

4.3 Arquitectura Von Neumann.
      4.3.1 Arquitectura de los Microprocesadores.

4.4 Arquitectura Harvard.
      4.4.1 Arquitectura de los Microcontroladores.
https://drive.google.com/file/d/1iQ7eIn9b9N3ggZSSzbdSelwgkZvTD34b/view?usp=sharing
UNIDAD V. MODULOS DE INTERFAZ EN VHDL.

5.1. Comunicación serial con UART.
5.1.1. Introducción.
5.1.2. Diseño de un UART en VHDL.

5.2. Comunicación serial por I2C.
5.2.1. Introducción a I2C.
5.2.2. Diseño de un módulo para comunicación I2C.
5.2.3. Comunicación de un FPGA  con otro dispositivo por medio de I2C.

5.3. Comunicación por Ethernet utilizando IP cores.
5.3.1. Introducción a Ethernet.
5.3.2. Utilización de IP cores para comunicar dos FPGA´s por Ethernet.

5.4. Comunicación por CAN utilizando IP cores.
5.4.1. Introducción al Bus CAN.
5.4.2. Utilización de IP cores para comunicar dos FPGA´s por bus CAN.
EQUIPOS PARA TRABAJO DE FIN DE CURSO



DEVELOPMENT BOARDS AND MATERIAL FOR LABs.

Es importante que para el curso de esta materia de Diseño electrónico, cuentes con computadora personal e  instalar el  el ambiente de desarollo ISE WebPack version 14.7 de XILINX  , asi como el software Adept de Digilent para programar el FPGA. Trabajaremos con una tarjeta de desarrollo  Nexysx-3 Board que se tienen en el  laboratorio de electronica de la Institucion.

nexyx

                                                                                                                                                                     
The Nexys™3 digital system development platform features Xilinx's newest Spartan-6 FPGA, 48Mbytes of external memory (including two non-volatile phase-change memories from Micron), and enough I/O devices and ports to host a wide variety of digital systems. The Nexys3 is an ideal platform for any engineer to gain experience with Xilinx's latest technologies, and it is perfectly suited to the classroom - new students can build logic circuits without worrying about complex external interfaces, and more advanced students can build complete digital systems, including controllers, CODECs, and embedded processors.

The on-board Adept™ high-speed USB2 port provides board power, FPGA programming, and user-data transfers at rates up to 38Mbytes/sec. A large collection of low-cost peripheral boards, including more than 30 Pmods™ and several new Vmods™, can add additional features to the Nexys3, including A/D and D/A converters, breadboards, motor drivers, displays, etc. The Nexys3 is fully compatible with all Xilinx tools, including the free WebPack™ as well as Chipscope™, EDK™ (embedded processor design kit) and other tools.

RECURSOS EXTRAS.
 
VIDEOS TUTORIALES:

1.- VHDL Basics (Intel):


WEBSITES  DE APOYO

1.- VHDL Coding: Tips and Tricks.
2.- Finite State Machine Designer.
3.- Test Bench Generator for VHDL                       << video for help>>
4.- EasyEDA.                                                         <<What it´s EDA>>
5.- Google colab.
6.- Edaplayground.
7.- VHDL and FPGA terminology:



REFERENCIAS BIBLIOGRAFICAS  Y SITIOS INTERNET


(LIBRO) Fundamentos de Sistemas Digitales, Thomas L. Floyd, Editorial Prentice Hall
(LIBRO)  Fundamentos de Lógica digital con diseño VHDL, Stephen Brown, Zwonko Vranesic, Editoral Mc Graw hill
(reference manual)  Nexys3™ Board Reference Manual, Digilent


     
    8
Free Web Hosting