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

Curso 2024/2025
Fecha de aprobación: 28/06/2024

Grado

Grado en Ingeniería Informática

Rama

Ingeniería y Arquitectura

Módulo

Formación de Especialidad 3: Ingeniería de Computadores

Materia

Sistemas de Cómputo para Aplicaciones Específicas

Year of study

3

Semestre

2

ECTS Credits

6

Tipo

Obligatoria

Profesorado

Teórico

María Begoña del Pino Prieto. Grupo: A

Práctico

María Begoña del Pino Prieto Grupo: 1

Tutorías

María Begoña del Pino Prieto

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 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 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%