Guia 71012018 2021
Guia 71012018 2021
Guia 71012018 2021
GUÍA DE
ESTUDIO
PÚBLICA
20-21
INGENIERÍA DE COMPUTADORES III
CÓDIGO 71012018
ÍNDICE
PRESENTACIÓN Y CONTEXTUALIZACIÓN
REQUISITOS Y/O RECOMENDACIONES PARA CURSAR LA
ASIGNATURA
EQUIPO DOCENTE
HORARIO DE ATENCIÓN AL ESTUDIANTE
TUTORIZACIÓN EN CENTROS ASOCIADOS
COMPETENCIAS QUE ADQUIERE EL ESTUDIANTE
RESULTADOS DE APRENDIZAJE
CONTENIDOS
METODOLOGÍA
SISTEMA DE EVALUACIÓN
BIBLIOGRAFÍA BÁSICA
BIBLIOGRAFÍA COMPLEMENTARIA
RECURSOS DE APOYO Y WEBGRAFÍA
TUTORIZACIÓN EN CENTROS ASOCIADOS
PRESENTACIÓN Y CONTEXTUALIZACIÓN
Se recomienda al alumno que antes de iniciar el estudio de esta asignatura curse las dos
asignaturas de primer curso siguientes:
• Fundamentos de sistemas digitales
• Ingeniería de Computadores I
Los conocimientos explicados en esas dos asignaturas constituyen la base para entender los
fundamentos del diseño y análisis de hardware digital explicados en esta asignatura.
EQUIPO DOCENTE
Nombre y Apellidos ALFONSO URQUIA MORALEDA (Coordinador de asignatura)
Correo Electrónico aurquia@dia.uned.es
Teléfono 91398-8459
Facultad ESCUELA TÉCN.SUP INGENIERÍA INFORMÁTICA
Departamento INFORMÁTICA Y AUTOMÁTICA
Las consultas pueden dirigirse al Equipo Docente de las tres maneras siguientes:
• La comunicación escrita se realizará preferiblemente a través de los foros del curso virtual
de la asignatura. También puede contactarse con el Equipo Docente escribiendo a la
dirección de correo electrónico de la asignatura (ic3@dia.uned.es), o mediante correo
postal, que debe dirigirse a la dirección: "Alfonso Urquía, Dpto. de Informática y Automática,
ETS de Ingeniería Informática, UNED, Juan del Rosal 16, 28040, Madrid".
• Llamando a los números de teléfono 91 398 84 59 / 82 53 cualquier martes lectivo, entre las
10:00h y las 14:00h.
• Acudiendo personalmente a la E.T.S. de Ingeniería Informática de la UNED. En este caso,
el alumno debe previamente concertar una cita con el Equipo Docente, mediante
comunicación telefónica o escribiendo un correo electrónico.
RESULTADOS DE APRENDIZAJE
Como resultado del aprendizaje, se pretende que el alumno adquiera fundamentalmente las
capacidades enumeradas a continuación.
1. El alumno debe adquirir la capacidad de discutir las diferentes etapas del ciclo de diseño
de circuitos digitales y el uso en cada una de ellas de los lenguajes para la descripción del
hardware (HDL).
2. El alumno debe adquirir la capacidad de discutir qué características fundamentales deben
tener los HDL para poder describir circuitos digitales y qué características fundamentales
deben tener los entornos de simulación que soportan este tipo de lenguajes.
3. El alumno debe adquirir la capacidad de aplicar el lenguaje VHDL al diseño para síntesis
de circuitos digitales combinacionales y secuenciales, tanto mediante la descripción de su
comportamiento como de su estructura.
4. El alumno debe adquirir la capacidad de aplicar el lenguaje VHDL a la programación de
bancos de prueba para testear los circuitos diseñados.
A continuación se detallan los resultados del aprendizaje que el alumno debe alcanzar tras
estudiar cada uno de los temas.
TEMA 1. FUNDAMENTOS DEL DISEÑO DEL HARDWARE DIGITAL
• Discutir la finalidad de los lenguajes para la descripción del hardware (HDL) y algunas de
las principales ventajas que presenta su uso.
• Discutir el ciclo de diseño del hardware digital y el papel que desempeñan en el ciclo de
diseño los HDL.
• Discutir y comparar las características de las siguientes tecnologías de fabricación de
circuitos integrados: full-custom ASIC, standard cell ASIC, gate array ASIC, dispositivos
programables en campo (FPGA, CPLD, PROM, PAL y PLA), y componentes estándar de
pequeño y medio tamaño.
• Discutir las siguientes propiedades de los circuitos digitales: el retardo de los dispositivos,
su ejecución concurrente, la marginalidad en el diseño y la fortaleza de las señales.
• Discutir el propósito y los fundamentos del test en diseño y manufactura, así como los
conceptos: modelo de fallos, cobertura del test y calidad del test.
• Discutir la utilidad y composición de los bancos de pruebas.
• Discutir y comparar los niveles de abstracción y representación de los sistemas digitales.
• Realizar las operaciones básicas de manejo de algún entorno de simulación de VHDL'93 de
su elección. Estas operaciones básicas incluyen al menos la edición de modelos VHDL, su
depurado usando el debugger, su simulación y la visualización de los resultados.
TEMA 2. CONCEPTOS BÁSICOS DE VHDL
• Discutir la finalidad de las unidades de diseño de VHDL entity, architecture, package y
configuration.
• Describir la interfaz de los circuitos digitales mediante unidades de diseño entity. Discutir las
características y las diferencias entre los modos in, out e inout de los puertos.
• Discutir la sintaxis y la finalidad de las sentencias concurrentes simple, condicional y de
selección. Dibujar el diagrama conceptual del hardware a que da lugar la síntesis de estas
sentencias y el correspondiente circuito al nivel de puertas lógicas.
• Discutir la sintaxis y la finalidad de la sentencia generate.
• Discutir la sintaxis y la finalidad de los bloques process y de las sentencias secuenciales de
asignación a señal, a variable, if, case y del bucle for. En casos sencillos, dibujar el
diagrama conceptual del hardware a que da lugar la síntesis del bloque process, y el
correspondiente circuito compuesto de puertas lógicas y biestables.
• Discutir cómo se realiza el modelado del retardo en VHDL.
• Definir en VHDL la estructura de un circuito mediante instanciación y conexión de otros
circuitos. Asimismo, discutir la utilidad de la parametrización en la descripción de un circuito.
• Discutir las principales características de las señales, variables y constantes en VHDL.
Discutir la diferencia entre señales y variables en lo que respecta al retardo en la asignación
de los nuevos valores.
• Discutir cuáles son los tipos predefinidos de VHDL y sus operadores básicos. Asimismo,
discutir las finalidad, los operadores básicos y las funciones de conversión de los tipos de
dato std_logic, std_logic_vector, unsigned y signed. Finalmente, discutir las características
de los tipos de dato time y string, así como de los tipos enumerados.
• Discutir qué son los atributos en VHDL y la finalidad de algunos de ellos.
• Discutir qué finalidad tienen las librerías en VHDL y conocer las librerías más comúnmente
usadas.
• Discutir la utilidad de los procedimientos y funciones de VHDL.
• Discutir la finalidad de las sentencias assert y report.
TEMA 3. SIMULACIÓN DEL CÓDIGO VHDL
• Discutir las etapas análisis, elaboración y ejecución, de que consta el procesamiento y
simulación del código VHDL realizado por las herramientas de CAD.
• Discutir el orden en el cual debe compilarse el código VHDL, atendiendo a las relaciones
existentes entre las diferentes unidades de diseño.
• Discutir los conceptos driver y función de resolución.
• Discutir en qué consiste la inicialización y cómo se realiza.
• Discutir qué son los atributos de las señales y los conceptos evento, señal activa,
transacción y señal implícita.
• Discutir cómo se realiza la simulación de las asignaciones con retardo ?, y cómo se
combina la simulación de asignaciones con retardo explícito y asignaciones con retardo ?.
• Discutir cómo se gestionan las colas de transacciones de los drivers.
CONTENIDOS
METODOLOGÍA
El texto base de la asignatura es una Unidad Didáctica editada por la UNED. Este texto está
adaptado para la educación a distancia y cubre totalmente el temario de la asignatura. En el
CD que acompaña a la Unidad Didáctica puede encontrarse el código VHDL de todos los
ejemplos y soluciones a los ejercicios.
En la página web de la asignatura (http://www.uned.es/71012018/) están disponibles los
objetivos docentes de cada tema y el temario detallado, de modo que aquellos alumnos
que lo deseen puedan preparar la asignatura empleando otros recursos diferentes al texto
base.
Se recomienda al alumno que aprenda a manejar algún simulador de VHDL'93 y que realice
por sí mismo la simulación de los diseños explicados en el texto base, así como que emplee
dicho simulador para resolver los ejercicios y las actividades propuestas. En la página web
de la asignatura y en el texto base puede encontrarse información acerca de varios
simuladores gratuitos.
En la página web de la asignatura hay ejercicios resueltos de autoevaluación. También
pueden encontrarse los trabajos y exámenes resueltos de anteriores convocatorias, y
enlaces a recursos de uso opcional que pueden ser útiles para aquellos alumnos que
voluntariamente deseen profundizar en la materia más allá de los objetivos planteados en la
asignatura.
SISTEMA DE EVALUACIÓN
TIPO DE PRUEBA PRESENCIAL
Tipo de examen Examen de desarrollo
Preguntas desarrollo 4
Duración del examen 120 (minutos)
Material permitido en el examen
Ninguno
Criterios de evaluación
La puntuación de cada pregunta se especifica en el enunciado del examen.
% del examen sobre la nota final 60
Nota del examen para aprobar sin PEC 0
Nota máxima que aporta el examen a la 0
calificación final sin PEC
Nota mínima en el examen para sumar la 5
PEC
Comentarios y observaciones
BIBLIOGRAFÍA BÁSICA
ISBN(13):9788436262742
Título:DISEÑO Y ANÁLISIS DE CIRCUITOS DIGITALES CON VHDL (septiembre de 2011)
Autor/es:Alfonso Urquia ; Carla Martin ;
Editorial:UNED Col. Grado
BIBLIOGRAFÍA COMPLEMENTARIA
ISBN(13):9780071400701
Título:VHDL: PROGRAMMING BY EXAMPLE (2002)
Autor/es:Douglas L. Perry ;
Editorial:McGraw Hill
ISBN(13):9780262162241
Título:CIRCUIT DESIGN WITH VHDL (2004)
Autor/es:Volnei A. Pedroni ;
Editorial:MIT PRESS
ISBN(13):9780471720928
Título:RTL HARDWARE DESIGN USING VHDL: CODING FOR EFFICIENCY, PORTABILITY, AND
SCALABILITY (2006)
Autor/es:Pong P. Chu ;
Editorial:: JOHN WILEY & SONS INC.
ISBN(13):9780534466022
Título:ADVANCED DIGITAL LOGIC DESIGN: USING VHDL, STATE MACHINES, AND SYNTHESIS
FOR FPGAS (2006)
Autor/es:Sunggu Lee ;
Editorial:NELSON THOMSON LEARNING
Dado que VHDL es un lenguaje usado muy ampliamente, en Internet puede encontrarse
abundante documentación sobre VHDL, ejemplos de diseño de circuitos, libros, herramientas
de simulación, etc. En la página web de la asignatura (http://www.uned.es/71012018) hay
algunos enlaces de interés.
A continuación se realizan algunos comentarios sobre los cuatro libros recomendados como
bibliografía complementaria y su relación con el contenido de la asignatura. La consulta de
estos libros es opcional, ya que el texto base cubre completamente el temario de la
asignatura.
El Capítulo 1 de (Chu, 2006) proporciona información adicional acerca de los niveles de
abstracción en la representación de los sistemas digitales, y acerca del ciclo de diseño del
hardware digital y el papel de los HDL. Acerca de las características de los lenguajes para la
descripción del hardware, se recomienda la consulta del Capítulo 2 de (Chu, 2006). El
Capítulo 2 de (Lee, 2006) es una buena referencia acerca del diseño de lógica digital usando
lenguajes para la descripción del hardware.
Existe gran cantidad de bibliografía en la cual se describen las capacidades y uso de
VHDL'93. Los Capítulos 1 a 8 de (Perry, 2002) constituyen una exposición paso a paso, muy
didáctica, de los conceptos básicos de VHDL. Los Capítulos 3 y 4 de (Pedroni, 2004)
contienen muchos ejemplos de definición de nuevos tipos, conversión entre tipos,
operaciones y atributos.
El Capítulo 6 de (Chu, 2006) es una excelente referencia acerca de la síntesis del código
VHDL. En el Capítulo 7 de este mismo texto se dan recomendaciones y guías valiosas
acerca del diseño con VHDL para síntesis de circuitos combinacionales eficientes. En los
Capítulos 9 y 10 de (Perry, 2002) se discute el diseño para síntesis usando VHDL.
Los Capítulos 8 y 9 de (Chu, 2006) contienen varios ejemplos de diseño de registros y
memorias. En el Capítulo 7 de (Pedroni, 2004) se encuentra el código VHDL de diferentes
registros descritos de diferentes formas y se discute el número de registros inferidos en cada
descripción. Asimismo, se comentan algunos de los errores de diseño más comunes. En el
Capítulo 9 de (Pedroni, 2004) se describe el diseño de diferentes elementos de memoria,
tales como la memoria ROM y la RAM.
Los Capítulos 8 y 9 de (Chu, 2006) contienen también información útil y variedad de
ejemplos acerca del diseño para síntesis de circuitos secuenciales. El Capítulo 10 está
dedicado por completo al diseño de máquinas de estado finito con VHDL a partir de
diagramas ASM. El Capítulo 8 de (Pedroni, 2004) es una buena referencia sobre las
máquinas de estado finito y tiene varios ejemplos interesantes descritos en VHDL.
El Capítulo 11 de (Chu, 2006) describe el diseño de circuitos siguiendo la metodología RT,
mediante el empleo de diagramas ASMD (diagrama ASM con camino de datos), y en el
Capítulo 12 se desarrollan varios casos de estudio. En el Capítulo 5 de (Lee, 2006) puede
encontrarse información adicional acerca del diseño aplicando la metodología RT, así como
ejemplos de diseño detallados, como es el caso de un controlador LCD. En (Perry, 2002)
puede encontrarse un ejemplo de diseño de relativa complejidad usando VHDL: una
pequeña CPU, compuesta de un array de registros, una ALU, varios registros (de
desplazamiento, contador de programa, de dirección y de instrucción), un comparador y una
unidad de control. También en (Lee, 2006) pueden encontrarse diseños completos de
relativa complejidad: un analizador de protocolo USB, varias unidades aritméticas rápidas y
un microprocesador RISC.
IGUALDAD DE GÉNERO
En coherencia con el valor asumido de la igualdad de género, todas las denominaciones que en esta
Guía hacen referencia a órganos de gobierno unipersonales, de representación, o miembros de la
comunidad universitaria y se efectúan en género masculino, cuando no se hayan sustituido por
términos genéricos, se entenderán hechas indistintamente en género femenino o masculino, según el
sexo del titular que los desempeñe.