LABORATORIO DE ELECTRÓNICA DIGITAL 1 2022-1 UNIVERSIDAD NACIONAL DE COLOMBIA


LABORATORIO DE ELECTRÓNICA DIGITAL 1 2022-1 UNIVERSIDAD NACIONAL DE COLOMBIA

Profesor:

Ferney Alberto Beltrán Molina, Ing, MSc, PhD(c)
fabeltranm@unal.edu.co.
github: https://github.com/Fabeltranm/    https://unal-edigital1.github.io/2022-1

Material de clase, labs de años anteriores

Descripción

Este curso-laboratorio proporciona las bases metodológicas y tecnológicas para el diseño de sistemas digitales. Una vez cursado el estudiante debe ser capaz de realizar el proceso completo de diseño de un sistema digital complejo, desde su especificación hasta la implementación física, utilizando herramientas CAD que faciliten el proceso, y su implementación

Metodología

El estudiante es responsable de adquirir el conocimiento, y tiene la responsabilidad de preparar los temas que se van a tratar , antes de cada nuevo tema se dejarán lecturas para las prácticas que deben ser realizadas por el estudiante y las dudas se discutirán y aclararán en clase de laboratorio.

Adicionalmente, el estudiante debe aprender a manejar por su cuenta los programas computacionales utilizados en el curso. Con esto se elimina la dependencia tecnológica y permite que en la vida profesional se puedan adquirir nuevos conocimientos de forma autónoma. Sobra decir que el componente práctico es de vital importancia ya que el estudiante debe ser capáz de realizar implementaciones físicas que cumplan con especificaciones físicas, eléctricas, funcionales y económicas.

Requisitos: Aparte de los establecidos en cada uno de los programas que incluye el curso, es recomendable que el estudiante tenga disposición para el diseño e implementación de circuitos electrónicos y así como bases en algún lenguaje de programación de computadores.

Objetivos

  • Realizar el flujo completo de diseño de un sistema digital complejo desde su especificación hasta su implementación física.
  • Adopción y utilización de metodologías de diseño modernas basadas en representaciones funcionales, estructúrales y físicas.
  • Sembrar las bases para el desarrollo de aplicaciones comerciales.

Contenido macro para el desarrollo de los laboratorios

  • Introducción al Diseño Electrónico Digital
  • Representación de Datos y Sistemas Numéricos
  • Lógica Combinacional
  • Lógica Secuencial FSM
  • Maquinas de Estado Algorítmico
  • Introducción a procesadores
  • PROYECTO fINAL

Evaluación

  • 100% Proyecto. se realizan 7 laboratorios como prerequisito, y se realizan las respectivas realimentaciones y observaciones de mejora, Todos los laboratorios deben tener documentación.

Estructura de los Laboratorios y Proyecto

Metodología de trabajo

Para cada paquete de trabajo se debe clonar la plantilla dada, y los resultados del trabajo de cada grupo deben ser subidos antes de la fecha estipulada. Se recomienda leer la ayuda de github classroom en este link y ver los videos de github de su canal de YouTube de este link o pueden descargar un libro de git del siguiente link Antes de empezar si no ha tenido ningún acercamiento con los repositorios de git debe realizar los siguientes pasos:

  • Crear una cuenta de github. Ver este video
  • Para crear repositorios revise este link

Antes de comenzar con cada paquete de trabajo se debe leer las instrucciones y tener todos los archivos. Para acceder a cada paquete de trabajo debe:

  • Aceptar la asignación de cada link dado.
  • La aplicación les pregunta si desean crear un grupo nuevo o unirse a uno existente:
    • Para crear un grupo nuevo coloque “Grupo-xx”, donde xx es el número del grupo.
    • Para unirse a un grupo existente, busque el nombre y pulse el botón ´join´.

Nota: Todos los estudiantes debes unirse al grupo correspondiente y tener cuidado de no equivocarse de grupo

Luego de unirse a cada grupo de trabajo debe clonar su repositorio en su computador, para lo cual:

  • Si usted no tiene ningún conocimiento de cómo hacer esto, recomiendo usar github Desktop el cual se puede descargar de este link, y la documentación de uso la encuentra en este link Recuerde lo que debe hacer es clonar el repositorio creado de forma automática por git classroom y NO crear uno nuevo
  • Para los estudiantes que usen el sistema operativo Linux les recomiendo usar la siguiente guía para clonar el repositorio e iniciar en el mundo de control de versiones link

RECUERDEN: Todos los integrantes del grupo deben trabajar en el respectivo repositorio y participar en los commit push, y la construcción de la documentación

Video configuración git

Documentación

Para todos los paquetes de trabajo se debe realizar la documentación respectiva, que evidencie el progreso del trabajo. Puede hacer uso de fotos, videos, comentar el código HDL, y todo lo que el grupo considere necesario para explicar los avances que va teniendo.

Recuerde el trabajo que ustedes documenten, será el que leerán sus compañeros de los próximos semestres. En este contexto, la evaluación de la documentación será tenida en cuenta la minuciosidad y claridad de la misma.

La documentación se debe diligenciar en el archivo README.md, que se encuentra en cada repositorio dentro de la carpeta docs, en el cual deben colocar el nombre3 de los integrantes y el número de identificación.

El archivo README.md, se debe escribir en formato Markdown. Para aprender cual es el formato de este documento se recomienda revisar el siguiente link que les da una visión rápida de formato usado para hacer la documentación. Las imágenes, fotos y soportes gráficos deben ser alojados en la carpeta ‘figs’ y deben ser vinculadas en documento README.md.

Para una mejor compresión y visualización de los avances de los pre-laboratorios y del proyecto se debe configurar la pagina con https://pages.github.com/

Código HDL

El código HDL está alojado en la carpeta ´src´. Allí están los archivos fuentes dados en clase y allí deben alojar todo los archivos diseñados y desarrollados por los integrantes de grupo y según sea solicitado en la guía de cada paquete de trabajo.

Entrega

Recuerde tener presente el deadline de cada paquete de trabajo, a las 8 de la noche del día indicado se cierra el sistema y los grupos no podrán actualizar el repositorio. Para actualizar el repositorio deben realizar el respectivo commit y push, según sea la plataforma que estén utilizando y como se explicó en clase. Recuerda también revisar que en la página de github se refleja las actualizaciones realizadas por el grupo de trabajo

Tarjetas de trabajo

CicloneIV

Ejemplos sencillos de programación

*link

Videos de clase

drive

tutorias

Cronograma de laboratorios (labs)

Semana Tema Guia de laboratorio WP deadline
Semana 1 instalación Vivado/Quartus link    
Semana 2 L1 Configuracion de Git y Quartus sum1b link L00 Basico L01 sum1b  
Semana 4 L2 Sumador 4b y testbench link L02  
Semana 6 L3 BCD2sseg display 7 segmentos link L03  
Semana 8 opcional implementación en remoto link L03b laboratorio de implementación.pdf  
Semana 10 L4 Banco de Registro link L04  
Semana 12 L5 multiplicador link L05  
Semana 14 L6 Prueba Buffer de memoria y configutación test VGA link L06  

Desarrollo proyecto

A partir de los laboratorisos el estudiante realiza el plan de trabajo del proyecto.

WP semana deadline Tema Documentación Repositorio
02 semana 2   propuesta adición   WP02
03 semana 3   Entrega   WP03

Entregas

Laboratorios

Proyecto

GRUPO09

Bibliografía

  • Daniel D. Gajski. Principles of Digital Design. Prentice Hall, 1997.
  • J. Wakerly Diseño Digital, Ed.3 – Principios y Prácticas.
  • Michael D. Ciletti Advanced Digital Design with the Verilog HDL – Prentice Hall India, 2003
  • David Harris & Sarah Harris, Digital design and computer architecture, Morgan Kauffman, 2004
  • Bob Zeidman, Designing with FPGAs and CPLDs, Elsevier, 2002
  • P. Ashenden, Digital Design an embedded systems approach using Verilog, Morgan Kauffman, 2008
  • I. Grout, Digital Systems Design with FPGAs and CPLDS, Newnes, 2008.