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 2024)
(Programa en trámite de aprobación)
(Programa presentado el 09/09/2024 10:01:33)
I - Oferta Académica
Materia Carrera Plan Año Periodo
ESPECIFICACION DE CIRCUITOS DIGITALES ING. EN COMPUT. 28/12 2024 2° cuatrimestre
II - Equipo Docente
Docente Función Cargo Dedicación
GROSSO, ALEJANDRO LEONARDO Prof. Responsable P.Asoc 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. 1 Hs.  Hs. 3 Hs. 4 Hs. 2º Cuatrimestre 05/08/2024 15/11/2024 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 un lenguaje de descripción de hardware (HDL). El desarrollo de la asignatura consiste en clases teóricas que introducen el lenguaje de especificación de hardware, la especificación de diferentes circuitos combinacionales y la especificación de máquinas secuenciales finitas. 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 / Resultados de Aprendizaje
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. Paquetes aritméticos.

Unidad 6:
Sumador completo. Sumador carry-ripple. Multiplicación por corrimientos sucesivos. Multiplicación de radix mayor que dos.

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,

Unidad 8:
Construcción del camino de datos y del control de un transmisor-receptor asíncorono universal (UART).
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 y/o procedures.

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, 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 máquinas de estado finitas tipo Mealy y tipo Moore. Especifición de máquinas de estado con salida memorizada ("registered").

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

Práctico 4:
Especificación de un multiplicador add-shift, de multiplicador para radix 4.

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

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

Proyecto final: especificación, simulación y síntesis de un circuito síncrono de mediana complejidad, el transmisor-receptor asíncrono universal (UART).

VIII - Regimen de Aprobación
La asignatura es promocional. El alumno debe asistir al 80% de las clases teóricas y prácticas, aprobar un examen integrador con al menos el 70% o alguna de sus dos recuperaciones. En caso de aprobar el examen integrador, el alumno promociona la materia. En caso de obtener una puntuación mayor o igual al 40% y menor al 70% 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 un lenguaje de especificación de hardware.
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.
Correo electrónico: agrosso@unsl.edu.ar
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.
XIV - Otros