Guía docente de Desarrollo de Hardware Digital (Especialidad Ingeniería de Computadores) (296113N)

Grado
Rama
Módulo
Materia
Curso
Semestre
Créditos
Tipo
Profesorado
Teórico
Práctico
Prerrequisitos y/o Recomendaciones
No es necesario aprobar asignaturas, materias o módulos previos como requisito indispensable para cursar esta asignatura. No obstante, se recomienda tener conocimientos previos en Tecnología y Organización de Computadores, en especial en análisis y diseño de sistemas digitales.
En el caso de utilizar herramientas de IA para el desarrollo de la asignatura, se debe adoptar un uso ético y responsable de las mismas siguiendo las recomendaciones contenidas en el documento de "Recomendaciones para el uso de la inteligencia artificial en la UGR" publicado por la UGR. En general, no se permitirá el uso de herramientas de IA durante el desarrollo de las clases ni sesiones de prácticas, excepto autorización expresa del profesorado.
Breve descripción de contenidos (Según memoria de verificación del Máster)
- Metodologías de diseño y construcción de sistemas digitales.
- Hardware reconfigurable y plataformas de codiseño.
- Modelado y síntesis automática con lenguajes de descripción hardware, verificación.
- Desarrollo de procesadores específicos, módulos de interfaz y de comunicaciones.
- Integración de sistemas de cómputo específicos, codiseño Hardware/Software.
- Campos de aplicación.
Competencias
Competencias Generales
- CG09. Capacidad para resolver problemas con iniciativa, toma de decisiones, autonomía y creatividad. Capacidad para saber comunicar y transmitir los conocimientos, habilidades y destrezas de la profesión de Ingeniero Técnico en Informática.
Resultados del proceso de formación y de aprendizaje
Conocimientos o Contenidos
- C01. Conoce las materias básicas y tecnologías que capacitan para el aprendizaje y desarrollo de nuevos métodos y tecnologías, así como las que dotan de una gran versatilidad para adaptarse a nuevas situaciones.
Competencias
- COM01. Concebir, redactar, organizar, planificar, desarrollar y firmar proyectos en el ámbito de la ingeniería en informática que tengan por objeto, de acuerdo con los conocimientos adquiridos, la concepción, el desarrollo o la explotación de sistemas, servicios y aplicaciones informáticas.
- COM02. Dirigir las actividades objeto de los proyectos del ámbito de la informática de acuerdo con los conocimientos adquiridos.
- COM04. Definir, evaluar y seleccionar plataformas hardware y software para el desarrollo y la ejecución de sistemas, servicios y aplicaciones informáticas.
- COM08. Realizar mediciones, cálculos, valoraciones, tasaciones, peritaciones, estudios, informes, planificación de tareas y otros trabajos análogos de informática.
- COM09. Analizar y valorar el impacto social y medioambiental de las soluciones técnicas, comprendiendo la responsabilidad ética y profesional de la actividad del Ingeniero Técnico en Informática.
Habilidades o Destrezas
- HD01. Resuelve problemas con iniciativa, toma de decisiones, autonomía y creatividad, y sabe comunicar y transmitir los conocimientos, habilidades y destrezas de la profesión de Ingeniero Técnico en Informática.
- HD15. Posee la capacidad de organizar y planificar, así como de gestionar la información.
- HD16. Toma decisiones basadas en criterios objetivos (datos experimentales, científicos o de simulación disponibles), y argumenta y justifica lógicamente dichas decisiones, sabiendo aceptar otros puntos de vista.
- HD17. Usa y aplica las TIC en el ámbito académico y profesional.
- HD18. Se comunica en lengua extranjera, particularmente en inglés.
- HD19. Trabaja en equipo, usando competencias demostrables mediante la elaboración y defensa de argumentos.
- HD20. Aplica principios de ética profesional para conseguir la mejora continua y la calidad de los productos actuando con rigor y responsabilidad.
- HD21. Respeta los derechos fundamentales y de igualdad entre hombres y mujeres.
- HD22. Proyecta los conocimientos, habilidades y destrezas adquiridos para promover una sociedad basada en los valores de la libertad, la justicia, la igualdad y el pluralismo.
Resultados de aprendizaje (Objetivos)
- Conocer diferentes metodologías de diseño y construcción de sistemas digitales, sus ventajas y limitaciones.
- Conocer dispositivos y plataformas de desarrollo de sistemas con hardware reconfigurable, y sus campos de aplicación.
- Utilizar apropiadamente herramientas software de síntesis automática y verificación para el diseño de módulos hardware específicos.
- Especificar sistemas digitales mediante un lenguaje de descripción estándar.
- Obtener descripciones sintetizables para inferencia de lógica combinacional y secuencial.
- Analizar y diseñar módulos hardware tales como procesadores específicos, módulos de interfaz y de comunicaciones.
- Comprender nociones básicas de codiseño hardware/software para la integración de sistemas de cómputo específicos.
Programa de contenidos Teóricos y Prácticos
Teórico
Tema 1. Metodologías de diseño y construcción de sistemas digitales
- Ciclo de desarrollo
- Requisitos de diseño
- Metodologías de diseño
- Alternativas de implementación física
- Herramientas software
- Evolución histórica
- Estado actual y tendencias
Tema 2. Hardware reconfigurable
- Conceptos generales
- Perspectiva histórica
- Dispositivos reconfigurables
- Metodologías de desarrollo
- Herramientas CAD/EDA
- Plataformas de desarrollo
- Campos de aplicación
Tema 3. Lenguajes de descripción hardware
- Cuestiones preliminares
- Perspectiva histórica
- Lenguajes de descripción hardware estándar
- Fundamentos del estándar IEEE-1076: VHDL
Tema 4. Diseño de hardware digital con VHDL
- VHDL sintetizable
- Descripciones funcionales y estructurales
- Síntesis de lógica combinacional
- Inferencia de elementos de memoria y registros
- Especificación de máquinas de estados finitos
- Diseño de sistemas RT
- Recomendaciones de diseño
Tema 5. Integración de sistemas de cómputo específicos
- Nociones básicas de codiseño hardware/software
- Diseño basado en componentes IP y diseño basado en plataforma
- Sistemas completamente configurables descritos en lenguajes multiplataforma
Tema 6. Desarrollo de componentes IP
- Modelado
- Bancos de pruebas
- Diseños reutilizables
- Ejemplos: procesadores específicos, módulos de interfaz y de comunicaciones
Práctico
Seminarios/Talleres:
- Iniciación a una plataforma de desarrollo basada en hardware reconfigurable
- Iniciación a herramientas de especificación, verificación y síntesis automática
- Iniciación a herramientas para la integración de sistemas de cómputo específicos utilizando hardware reconfigurable
Prácticas de laboratorio:
- Diseño de un procesador en VHDL
- Análisis, desarrollo y optimización de proyectos con hardware reconfigurable
Bibliografía
Bibliografía fundamental
- Ashenden, P.J., The designer’s guide to VHDL, Morgan Kaufmann Publishers, c2008
- Chu, P. P., FPGA prototyping by VHDL examples : Xilinx Spartan-3 version , Wiley-Interscience, c2008.
- Hamblen, J.O., Hall T.S., Furman, M.D.: Rapid Prototyping of Digital Systems : SOPC Edition, Springer 2008
- Maxfield, C., FPGAs: Instant Access, Newnes 2008
- Rushton, A., VHDL for Logic Synthesis, John Wiley and Sons, 2011
- Terés, Ll. et al, VHDL, Lenguaje estándar de diseño electrónico, McGraw Hill, 1997
- Unsalan, C. and Tar B., Digital System Design with FPGA: Implementation Using Verilog and VHDL, McGrawHill, 2017.
- Bruno, F. and Eschemann, G., The FPGA Programming Handbook: An essential guide to FPGA design for transforming ideas into hardware using SystemVerilog and VHDL 2nd ed. Edition, Packt Publishing, 2024.
- Dally, W.J., et al, Digital Design Using VHDL: A Systems Approach, Cambridge University Press, 2015.
Bibliografía complementaria
- Ashenden, P. J., Digital Design: An Embedded Systems Approach Using VHDL, Elseiver 2008
- Ashenden, P.J., Lewis, J., VHDL-2008: just the new stuff, Elsevier/Morgan Kaufmann, c2008
- Bergeron, J., Writing Testbenches: Functional Verification of HDL Models, Second Edition, Springer 2003 • Brown, S. y Vranesic, Z., Fundamentals of digital logic with VHDL design, McGraw-Hill, 2009, 3rd ed (Traducida al castellano la edición anterior: Brown, S. y Vranesic, Z., Fundamentos de lógica digital con diseño VHDL, McGraw-Hill, 2006, 2ª ed)
- Cayssials, R, Sistemas embebidos en FPGA, Marcombo, 2014
- Chu , P.P., RTL Hardware Design Using VHDL: Coding for Efficiency, Portability, and Scalability, Wiley-IEEE Press, 2006
- Chu , P.P., Embedded SoPC design with NIOS II processor and Verilog examples, Wiley, c2012.
- Grout, I. Digital systems design with FPGAs and CPLDs. Elsevier, c2008 • Hwang, E.D., Digital Logic and Microprocessor Design with VHDL, Thomson, 2006
- Kafig, W., VHDL 101: everything you need to know to get started, Elsevier 2011
- Kits, S., Advanced FPGA Design: Architecture, Implementation, and Optimization, Wiley-IEEE Press, 2007
- LaMeres, B.J., Introduction to Logic Circuits & Logic Design with VHDL, Springer, 2017
- Maxfield, C., The design warrior’s guide to FPGAs: devices, tools and flows, Elsevier, c2004
- Meyer-Baese , U., Digital Signal Processing with Field Programmable Gate Arrays (Signals and Communication Technology), Springer; 3rd edition, 2007
- Navaby, Z., VHDL: Modular Desing and Synthesis of Cores and Systems, McGraw-Hill, 2007
- Pardo, F. Y Boluda, J.A., VHDL: lenguaje para síntesis y modelado de circuitos, Ra-Ma, 2011
- Pedroni, V.A., Digital electronics and design with VHDL, Elsevier Morgan Kaufmann Publishers, 2008
- Perry, D.L., VHDL programming by example, McGraw-Hill, 2002
- Ruz, J.L., VHDL: De la tecnología a la arquitectura de computadores, Editorial síntesis, 1997.
- Sass, R, Schmidt, A. G., Embedded Systems Design with Platform FPGAs: Principles and Practices. Elsevier 2010 (Recurso electrónico).
- Schaumont, P.R. , Hardware/Software Codesign: A Practical Introduction, Springer 2013
- Short, K.L., VHDL for Engineers, Prentice Hall, 2008
- Taraate, V., PLD Based Design with VHDL: RTL Design, Synthesis and Implementation Springer, 2017.
- Vahid, F., Embedded System Design: A Unified Hardware/Software Introduction, Wiley; 2001
- Wilson, P.R., Design recipes for FPGAs, Newnes, 2007
Enlaces recomendados
Principales fabricantes de dispositivos configurables:
Estándares IEEE (sobre manuales de referencia de lenguajes HDL, bibliotecas, etc.):
Repositorios de hardware abierto:
Otros:
- Recomendaciones para usar la IA en la UGR (recomendaciones, preguntas frecuentes, guía para usar herramientas de IA en UGR protegiendo tus datos).
Metodología docente
- MD01. Lección Magistral (Clases Teóricas-Expositivas)
- MD02. Actividades Prácticas (Resolución de Problemas, Resolución de Casos Prácticos, Desarrollo de Proyectos, Prácticas en Laboratorio, Taller de Programación, Aula de Informática, Prácticas de Campo).
- MD03. Seminarios (Debates, Demos, Exposición de Trabajos Tutelados, Conferencias, Visitas Guiadas, Monografías).
- MD04. Actividades no presenciales Individuales.
- MD05. Actividades no presenciales Grupales.
- MD06. Tutorías Académicas.
Metodología docente
- MD01. Lección magistral.
- MD02. Actividades prácticas.
- MD03. Seminarios.
- MD04. Actividades no presenciales.
- MD05. Tutorías académicas.
Evaluación (instrumentos de evaluación, criterios de evaluación y porcentaje sobre la calificación final)
Evaluación Ordinaria
Todo lo relativo a la evaluación se regirá por la normativa sobre evaluación y calificación vigente en la Universidad de Granada. El sistema de calificaciones se expresará mediante calificación numérica de acuerdo con lo establecido en el art. 5 del R. D 1125/2003, de 5 de septiembre, por el que se establece el sistema europeo de créditos y el sistema de calificaciones en las titulaciones universitarias de carácter oficial y validez en el territorio nacional.
La evaluación continua de la asignatura se compone de las siguientes actividades:
- Actividades individuales o grupales durante el semestre
- Se plantean cuestiones de teoría, problemas y actividades de análisis/síntesis, justificando respuestas y decisiones adoptadas.
- Criterios de evaluación: Exactitud, razonamiento, criterios de decisión
- Porcentaje sobre calificación final: 25%
- Prueba de conocimientos teóricos y de resolución de problemas
- Se plantean cuestiones de teoría y problemas, justificando respuestas y decisiones adoptadas.
- Criterios de evaluación: Exactitud, razonamiento, criterios de decisión
- Porcentaje sobre calificación final: 15%
- Evaluación sobre casos prácticos
- Se propondrá realizar un conjunto de actividades basadas en casos prácticos, y responder una serie de preguntas sobre la metodología, herramientas de verificación y de síntesis, optimización de prestaciones y otras cuestiones consideradas en las prácticas de la asignatura.
- Criterios de evaluación: Capacidad de análisis, funcionalidad de la solución, metodología, razonamiento, conclusiones.
- Porcentaje sobre calificación final: 50%
- Evaluación de seminarios:
- Se realizarán preguntas y ejercicios en relación con la temática de los seminarios.
- Criterios de evaluación: Capacidad de análisis, razonamiento, conclusiones.
- Porcentaje sobre calificación final:10%
Evaluación Extraordinaria
En las convocatorias extraordinarias se utilizará la evaluación única final, tal y como se describe más abajo.
Evaluación única final
La evaluación única final se realizará en la fecha indicada por el Centro para tal efecto, y constará de las siguientes pruebas:
- Prueba de conocimientos teóricos y de resolución de problemas
- Se plantean cuestiones de teoría y problemas, justificando respuestas y decisiones adoptadas.
- Criterios de evaluación: Exactitud, razonamiento, criterios de decisión
- Porcentaje sobre calificación final: 40%
- Prueba sobre prácticas y seminarios
- Se propondrá realizar un conjunto de actividades basadas en casos prácticos, y responder una serie de preguntas sobre la metodología, herramientas de verificación y de síntesis, optimización de prestaciones y otras cuestiones consideradas en los seminarios y las prácticas de la asignatura.
- Criterios de evaluación: Capacidad de análisis, funcionalidad de la solución, metodología, razonamiento, conclusiones.
- Porcentaje sobre calificación final: 60%
Información adicional
Información de interés para estudiantado con discapacidad y/o Necesidades Específicas de Apoyo Educativo (NEAE): Gestión de servicios y apoyos (https://ve.ugr.es/servicios/atencion-social/estudiantes-con-discapacidad).