LABORATORIO DE ELECTRÓNICA DIGITAL 1 2021-2 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/2021-2
Material de clase, labs de años anteriores
Descripción
Este curso 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, talleres y 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 incluyen la asignatura, 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. los laboratorios son prerequisitos , y se realzian las respectivas realimentaciones y observaciones de mejora, Todos los laboratoriso 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:
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
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
tutorias
Cronograma de laboratorios (Prelabs)
Semana | Tema | Guia de laboratorio | WP | deadline |
---|---|---|---|---|
Semana 1 | instalación Vivado/Quartus | link | ||
Semana 1 | Configuracion de Git y Quartus sum1b | link | L00 | |
Semana 2 | Sumador 4b y testbench | link | l01 | |
Semana 4 | BCD2sseg display 7 segmentos | link | L02 | |
Semana 6 | implementación | link | L03 laboratorio de implementación.pdf | |
Semana 8 | Banco de Registro | link | L04 | |
Semana 9 | multiplicador | link | L05 | |
Semana 10 | Prueba Buffer de memoria y configutación test VGA | link | WP01 |
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
Proyecto
Laboratorios
- lab VGA G07
- lab BR G07
- lab VD G07
- lab VGA G06
- lab BR G06
- lab VD G06
- lab VGA G08
- lab BR G08
- lab VD G08
- lab SUM G08
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.