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
Tutorías
María Begoña del Pino Prieto
Ver email- Primer semestre
- Lunes de 17:30 a 19:30 (Despacho Nº3,Segunda Planta, Etsiit)
- Jueves de 09:30 a 13:30 (Despacho Nº3,Segunda Planta, Etsiit)
- Segundo semestre
- Lunes de 09:30 a 12:30 (Despacho Nº3,Segunda Planta, Etsiit)
- Miércoles de 09:30 a 12:30 (Despacho Nº3,Segunda Planta, Etsiit)
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.
Breve descripción de contenidos (Según memoria de verificación del Grado)
- 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
General competences
- 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 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 con hardware reconfigurable
- Iniciación a herramientas de especificación, verificación y síntesis automática
- Iniciación a herramientas de codiseño de sistemas empotrados con 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
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:
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.
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 de los estudiantes 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 cuatrimestre
- 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 que supongan la elaboración de conclusiones sobre ventajas e inconvenientes de la metodología explicada en el contexto del desarrollo de sistemas de cómputo específicos.
- 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%