Ministerio de Cultura y Educación
Universidad Nacional de San Luis
Facultad de Ciencias Físico Matemáticas y Naturales
Departamento: Informatica
Área: Area II: Sistemas de Computacion
(Programa del año 2016)
I - Oferta Académica
Materia Carrera Plan Año Periodo
ESPECIFICACION DE CIRCUITOS DIGITALES ING. EN COMPUT. 28/12 2016 2° cuatrimestre
II - Equipo Docente
Docente Función Cargo Dedicación
GROSSO, ALEJANDRO LEONARDO Prof. Responsable P.Adj Exc 40 Hs
ARROYUELO BILLIARDI, JORGE A. Responsable de Práctico JTP Exc 40 Hs
III - Características del Curso
Credito Horario Semanal Tipificación Duración
Teórico/Práctico Teóricas Prácticas de Aula Práct. de lab/ camp/ Resid/ PIP, etc. Total B - Teoria con prácticas de aula y laboratorio Desde Hasta Cantidad de Semanas Cantidad en Horas
Periodo
 Hs. 2 Hs. 0 Hs. 2 Hs. 4 Hs. 2º Cuatrimestre 08/08/2016 18/11/2016 15 60
IV - Fundamentación
Este curso forma parte de las asignaturas de grado para los alumnos de cuarto año de la Ingeniería en Cs. de la Computación. Es una asignatura que introduce al alumno en el desarrollo de circuitos digitales y en el uso de herramientas que permiten sintetizar hardware desde una especificación en el lenguaje de descripción de hardware VHDL. El desarrollo de la asignatura consiste en clases teóricas que introducen el lenguaje VHDL, la especificación de diferentes circuitos aritméticos y la especificación de máquinas secuenciales. Las clases prácticas y de laboratorio permiten al alumno utilizar las herramientas de software para especificar, simular y sintetizar diseños digitales como así también configurar dispositivos de hardware programables (CPLD y FPGA).
V - Objetivos
El objetivo de esta asignatura es introducir al alumno en la especificación de circuitos digitales. El alumno comprenderá la construcción de circuitos digitales mediante la utilización de lenguajes de descripción hardware que permiten la obtención del circuito deseado en forma automática. Dicha descripción puede servir tanto para configurar dispositivos electrónicos programables como para producir el "layout" (plano a ser impreso sobre el silicio) del circuito para su fabricación.
Para ello aprenderá el uso de herramientas de software que permiten la especificación, simulación y síntesis de un circuito digital.
VI - Contenidos
Unidad 1:
Elementos básicos de VHDL: identificadores, literales, tipos, tipo enumerado, tipo escalar, tipo físico, tipo record, tipo array, tipo pointer, tipo file, subtipos, constantes, variables, señales. Paquete estandard, entidad y arquitectura.

Unidad 2:
Conceptos de modelización en VHDL: Procesos, comunicación entre procesos y sincronización de procesos. Señales: formas de onda, eventos, drivers y atributos. Ciclo de simulación. Resolución de señales. El tipo resuelto std_logic.

Unidad 3:
Sentencias concurrentes de VHDL. Sentencia proceso. Sentencia assert. Sentencia de llamada a procedimiento. Sentencia de asignación de señal
condicional. Sentencia de asignación de señal seleccionada. Sentencia de instanciación de componentes. Sentencias generate. Sentencia Block.

Unidad 4:
Sentencias secuenciales de VHDL. Sentencia de asignación de variable. Sentencia de asignación de señal. Sentencia if. Sentencia case. Sentencia loop. Sentencia next. Sentencia exit. Sentencia null. Sentencia de llamada a procedimiento. Sentencia return. Sentencia assert. Sentencia wait.

Unidad 5:
Procedimientos y funciones: declaración y definición. Definición de operadores. Sobrecarga de funciones y operadores. Paquete std_logic_1164. Paquete numeric_std.

Unidad 6:
Sumador carry-ripple. Sumador fast-carry. Computación de los prefijos. Sumador prefijo. Multiplicación. Multiplicación high-radix.

Unidad 7:
Máquinas de estado finitas. Máquina de Moore. Máquina de Mealy. Especificación de máquinas de Moore con dos procesos. Interfaces entre unidades asincrónicas: Protocolos de 4 fases, protocolos de 2 fases, interfaces bus procesador.
Recepción y transmisión serie asincrónica y sincrónica, transmisión sincrónica digital con frecuencia modulada: modulador y demodulador.

Unidad 8:
Construcción del camino de datos de un procesador basado en acumulador con un conjunto de intrucciones sencillo. Construcción de la unidad de control para dicho procesador.
Simulación y síntesis del procesador.

VII - Plan de Trabajos Prácticos
Práctico 1:
Especificación
de diferetes circuitos combinacionales como multiplexores, decodificadores, codificadores, semisumadores, sumadores completos, etc., utilizando sentencias concurrentes.

Laboratorio 1:
Familiarización con las herramientas de software. Especificación, simulación y sìntesis de los ejercicios del práctico 1.

Práctico 2:
Especificación de un sumador carry-ripple, sumador fast-carry, y sumador prefijo, un sumador sintetizable por la herramienta de software.

Laboratorio 2:
Especificación, simulación y sìntesis de los ejercicios del práctico 2.
Análisis de tiempos para las distintas especificaciones y análisis del área utilizada por los distintos sumadores.

Práctico 3:
Especificación de un multiplicador add-shift, de multiplicadores hihg-radix para radix 4 y 8.

Laboratorio 3:
Especificación, simulación y sìntesis de los ejercicios del práctico 3.
Análisis de tiempos para las distintas especificaciones y análisis del área utilizada por los distintos multiplicadores.

Práctico 4:
Especificación de máquinas de estado finitas tipo Mealy y tipo Moore. Especifición de máquinas de estado con salida memorizada ("registered").

Laboratorio 4:
Especificación, simulación y sìntesis de los ejercicios del práctico 5.

Laboratorio 5:
Especificación, simulación y síntesis de un transmisor serie.

Proyecto final: especificación, simulación y síntesis del procesador propuesto en la unidad 8.
VIII - Regimen de Aprobación
La asignatura es promocional. El alumno debe asistir al 80% de las clases teóricas y prácticas, aprobar con al menos el 70% todos los laboratorios, aprobar con al menos el 70% un proyecto de mediana complejidad siguiendo los pasos de especificación, simulación, síntesis y configuración del dispositivo programable, aprobar un examen integrador con al menos el 70%. En caso de aprobar todas la evaluaciones el alumno promociona la materia. En caso de aprobar todas la evaluaciones con excepción del examen integrador el alumno obtiene la regularidad de la materia.
IX - Bibliografía Básica
[1] Niklaus Wirth, "Digital Circuit Design: An Introductory Textbook". Ed. Springer. ISBN 3-5405-8577-X. [1995]
[2] K. C. Chang, "Digital Design and Modeling with VHDL and Synthesis. IEEE computer society. ISBN 0-8186-7716-3. [1997]
[3] K. Skahill, "VHDL for Programmable Logic". Addison Wesley. ISBN 0-201-89573-0. [2006]
[4] Volnei Pedroni. "Circuits Design and Simulation with VHDL". Ed MIT press [2010].
X - Bibliografia Complementaria
[1] Hubert Kaeslin. "Digital Integrated Circuit Design". Ed. Cambridge University Press [2008].
[2] J. M. Bergé, A. Fonkoua, S. Maginot y J. Rouilliard, "VHDL Designer's Reference". Kluwer Academic Publishers. ISBN 0-7923-1756-4.
XI - Resumen de Objetivos
Diseñar circuitos digitales. Utilizar herramientas de sofware que asisten el proceso de diseño e implementación de circuitos digitales. Especificar circuitos digitales. Simular circuitos digitales. Analizar los costos de tiempo y área de los circuitos sintetizados. Configurar dispositivos programables.
XII - Resumen del Programa
1) Elementos básicos del lenguaje de especificación VHDL.
2) Sentencias Secuenciales de VHDL.
3) Sentencias Concurrentes de VHDL.
4) Subprogramas en VHDL.
5) Especificación de circuitos combinacionales
6) Especificación de circuitos síncronos.
7) Especificación de circuitos asíncronos.
XIII - Imprevistos
Comunicarse con la cátedra.
Oficina 25. Primer Piso. Bloque II.
Sistemas de computación.
Departamento de Informática.
Facultad de Cs. Físico, Matemáticas y Naturales.
Universidad Nacional de San Luis.
Ejercito de los Andes 950. CP 5700.