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 2026)
I - Oferta Académica
Materia Carrera Plan Año Periodo
ESPECIFICACION DE CIRCUITOS DIGITALES ING. EN COMPUT. 28/12 2026 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
0 Hs. 1 Hs. 1 Hs. 2 Hs. 4 Hs. 2º Cuatrimestre 03/08/2026 13/11/2026 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 un modelo en un lenguaje de descripción de hardware (HDL). El desarrollo de la asignatura consiste en clases teóricas que introducen el lenguaje de descripción de hardware, la modelización de diferentes circuitos combinacionales y de máquinas secuenciales finitas. Las clases de laboratorio permiten al alumno utilizar las herramientas de software para modelar, simular y sintetizar diseños digitales como así también configurar dispositivos de hardware programables tales como los CPLD’s (Complex Programmable Logic Device) y los FPGA’s (Field-Programmable Gate Array).
V - Objetivos / Resultados de Aprendizaje
El objetivo de esta asignatura es introducir al alumno en la modelizació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 descripción, simulación y síntesis de un circuito digital. Como continuación de los conceptos introducidos en la materia sobre arquitecturas de procesadores se mantendrá la distinción entre arquitectura, implementación y realización durante el proceso de modelización, descripción y síntesis del sistema digital.
VI - Contenidos
Contenidos mínimos
Elementos básicos de VHDL. 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. Sentencias concurrentes de VHDL. Sentencias secuenciales de VHDL. Procedimientos y funciones.

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 estándar, entidad y arquitectura.

Unidad 2:
Conceptos de modelización en VHDL: Procesos, comunicación entre procesos y sincronización de procesos. Señales: forma 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. Descripció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. Construcción del camino de datos y del control de la computadora MU0 (Computadora desarrollada en la Universidad de Manchester versión cero).

VII - Plan de Trabajos Prácticos
Metodología de enseñanza:

Los alumnos resuelven los prácticos propuestos utilizando una metodología de refinamiento(top-down) dividiendo el problema en subproblemas con interfaces definidas y para cada bloque desarrollan una descripción arquitectural(behavoiral) y otra de implementación(Dataflow). Luego verifican la solución con aserciones de equivalencia de las dos descripciones. En los ejercicios utilizan las construcciones de VHDL vistas en las clases teóricas. Para el desarollo de las descripciones, los alumnos utilizan herramientas de Xilinx que si bien son propietarias son gratuitas. La placa sobre la cual realizan las diferentes síntesis es una Spartan 6 Mojo. Los alumnos utilizan las máquinas del laboratorio que el departamento dispone y también, para aquellos que poseen máquinas, la cátedra les provee una máquina virtual con todas la herramientas.

Práctico 1:
Modelización de diferentes 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. Descripción, simulación y síntesis de los ejercicios del práctico 1.

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

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

Práctico 3:
Descripción de máquinas de estado finitas de Mealy y de Moore. Descripción de máquinas de estado con salida memorizada.

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

Práctico 4:
Descripción de un multiplicador add-shift. Otro de radix-4.

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

Laboratorio 5:
Descripción, simulación y síntesis de un transmisor serie. Proyecto final: Descripción, simulación y síntesis de un circuito de mediana complejidad, el transmisor-receptor asíncrono universal (UART).
A continuación, se describe cómo se abordan y cómo se evalúan los ejes transversales trabajados en la asignatura:

Eje:
Identificación, formulación y resolución de problemas de informática

Cómo se aborda:
Se aborda a partir de la unidad 1 mediante el desarrollo de trabajos prácticos, guiados por clases teóricas, diapositivas de clase, prácticos de aula y consultas grupales e individuales.

Cómo se evalúa:
Mediante un seguimiento continuo de parte de los docentes. Control de ejercicios en el pizarrón. Además, mediante una evaluación parcial en las fechas predeterminadas en el cronograma de la materia, cada evaluación posee una doble recuperación.

Eje:
Concepción, diseño y desarrollo de proyectos de informática

Cómo se aborda:
El estudiante debe trabajar en la construcción de circuitos digitales tanto académicos como reales usando herramientas que automatizan el proceso de modelización, simulación y construcción. Para ello se trabajará utilizando conceptos introducidos en la materia sobre arquitectura de computadoras, primero el desarrollo de la arquitectura del circuito, luego el desarrollo de la implementación del circuito para finalmente llegar a la realización que en nuestro caso es completamente automático mediante el uso de herramientas de software que permiten la síntesis, la ubicación y el conexionado del circuito sobre un FPGA. La arquitectura al igual que la implementación es descripta mediante VHDL y la simulación de las dos descripciones deben conincidir entre sí y con la realización.

Cómo se evalúa:
A través de la presentación del código VHDL de las descripciones y su corrección por parte de los docentes. Además, deben realizar una presentación oral explicando la resolución y funcionamiento del proyecto final.

Eje:
Utilización de técnicas y herramientas de aplicación en la informática

Cómo se aborda:
El estudiante debe modelar utilizando herramientas de modelados específicas, y la descripción se desarrolla en el lenguaje VHDL.

Cómo se evalúa:
A través de la presentación de los códigos en VHDL, luego en la presentación oral del mismo se observa el código fuente de la descripción desarrollada.

Eje:
Fundamentos para la comunicación efectiva

Cómo se aborda:
Expresión oral: mediante la presentación del modelo para el circuito a desarrollar.

Cómo se evalúa:
Expresión oral: En las presentaciones se hace hincapié no sólo en lo disciplinar sino también en cuestiones de un lenguaje adecuado durante la exposición.

Eje:
Fundamentos para evaluar y actuar en relación con el impacto social de su actividad en el contexto global y local

Cómo se aborda:
Desde el inicio se fomentará una actitud crítica que les permita evaluar el impacto que tendrá el sistema a desarrollar, tanto en el aumento de la productividad del trabajo con la incorporación de nuevas tecnologías y su impacto social en mundo del trabajo.

Como se evalúa:
Mediante un análisis sobre el impacto social y laboral que tendrá el sistema.

Eje:
Fundamentos para el aprendizaje continuo

Cómo se aborda:
Todas las unidades tienen actividades prácticas para que los estudiantes respondan participando de las clases teóricas y clases prácticas. En cada práctico se hace un seguimiento de los ejercicios realizados por el estudiante.

Cómo se evalúa:
Cada entrega/consulta tiene una corrección por parte de los docentes .
VIII - Regimen de Aprobación
La asignatura es promocional. El alumno debe asistir al 80% de las clases teóricas, prácticas y de laboratorio, aprobar un examen integrador con al menos el 70% o alguna de sus dos recuperaciones. Debe aprobar los trabajos prácticos o su recuperación con el 60%.
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].
[5] P. ASHENDEN, "The Designer's Guide to VHDL". Morgan Kaufmann Publisher. ISBN 13-978-1-55860-674-.2 2da. Ed. [2002]
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. Descripción de 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 Descripción de hardware.
2) Sentencias Secuenciales de VHDL.
3) Sentencias Concurrentes de VHDL.
4) Subprogramas en VHDL.
5) Descripción de circuitos combinacionales
6) Descripción de circuitos síncronos.
7) Descripción de circuitos asíncronos.
XIII - Imprevistos
Comunicarse con la cátedra.
Correo electrónico: agrosso@email.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