Universidad de Costa Rica

IE0323 Circuitos Digitales I

Créditos:
3
Departamento:
Automática
Curso:
Troncal
Tipo:
0 - Teórico
Horas:
4h: 3h T, 0h L, 1h P, 0h T/P
Requisitos:

Descripción

Este es un curso que enseña las herramientas y desarrolla las destrezas para el análisis y diseño de circuitos digitales combinacionales y secuenciales, así como la herramienta de descripción de hardware Verilog.

Contenidos

  1. Introducción general a los sistemas digitales
    1. Señales analógicas y contenido de información en las señales.
    2. Muestreo de señales analógicas y retención. Teorema de muestreo (frecuencia de muestreo).
    3. Cuantización de señales muestreadas, error de cuantización, resolución y exactitud.
    4. Conversión A/D de tres pasos: Muestreo y retención, Cuantización y Codificación.
    5. Elementos binarios: bit, Palabra, Byte y nibble.
  2. Sistemas de numeración y códigos digitales
    1. Sistemas de Numeración.
    2. Cambios de base numérica.
    3. Operaciones aritméticas en bases distintas de la base 10.
    4. Representación de números con signo.
    5. Operaciones de suma y resta en complemento de base. Reglas de suma y resta de números con signo. Rebase y acarreo.
    6. Códigos Binarios: BCD, Octal, hexadecimal, ASCII. Suma en BCD.
    7. Ejemplos de conversión analógica a digital para números binarios con y sin signo.
  3. Álgebra Booleana
    1. Conectivas lógicas y funciones lógicas.
    2. Algebra de Conmutación:
      1. Proposiciones elementales: complemento, elemento 0, elemento 1, Idempotencia.
      2. Leyes fundamentales: asociativa, conmutativa, distributiva, Teorema de De Morgan.
    3. Reducción de expresiones Booleanas por manipulación algebraica.
    4. Otras conectivas lógicas que son un conjunto completo en sí mismas: NOO, NOY.
    5. Representaciones alternas de las conectivas Y, O y NO con conectivas NOY y NOO.
  4. Mapa de Karnaugh y redes iterativas.
    1. Descomposición de una función lógica en mintérminos y maxtérminos.
    2. Determinación de las 8 formas estándar para una función lógica.
    3. Construcción y propiedades del mapa de Karnaugh. Algebra de conjuntos y su isomorfismo con el álgebra de Boole. Del diagrama de Venn al mapa de Karnaugh. Mapas de Karnaugh de 2, 3 y 4 variables.
    4. Concepto de implicante, implicantes primos, implicantes esenciales.
    5. Definición de función mínima.
    6. Minimización de funciones Booleanas empleando el mapa de Karnaugh.
    7. Mapas de karnaugh de 5 variables. Minimización de funciones de 5 variables.
    8. Funciones parcialmente especificadas: condiciones “no importa” y no pueden ocurrir.
    9. Forma de producto de sumas (PDS) mínima y otras formas mínimas.
    10. Diseño de redes iterativas basadas en el concepto de propagación de estado y tablas de transición de estado. Desarrollo de ejemplos de redes iterativas
  5. Temas avanzados en circuitos combinacionales.
    1. Mapas de dimensión reducida: Mapas de una variable ingresada para funciones completamente especificadas. Función mínima.
    2. Mapas de una ingresada para funciones parcialmente especificadas. Función mínima.
    3. Mapas de más de una variable ingresada para funciones completamente especificadas. Función mínima.
    4. Mapas de más de una variable ingresada para funciones parcialmente especificadas. Función mínima.
    5. Unidad lógica combinacional: Diseño de Multiplexores
    6. Realización de funciones lógicas con multiplexores.
    7. Mapas de variable ingresada y funciones de N variables con Multiplexores: i) 2^N X 1, ii) 2N-1 X 1, iii) 2N-2 X 1.
    8. Árboles de multiplexores (Realización en N niveles de multiplexación.)
  6. Flip-Flops.
    1. Biestable R-S con compuertas NOO y NOY
    2. Descripción funcional por medio de diagramas de tiempo.
    3. Biestables RS con habilitador de entrada. Latch tipo D transparente.
    4. Flip-Flops RS; Flip-Flop tipo D Maestro-Esclavo, Flip-Flops JK maestro esclavo; Flip-flop T, disparados por transición y por pulso. Ejemplo de análisis por Diagramas de tiempos.
    5. Metaestabilidad: Causas y efectos.
    6. Ejemplo de diseño con FF: Contadores de rizo y Contadores sincrónicos.
    7. Restablecimiento al encendido.
    8. Ejemplo de diagramas de tiempo.
  7. Máquinas de estado.
    1. Introducción a Máquinas de estado.
    2. Máquinas de estados: Tablas de estado, diagramas de estado, diagramas de estado algorítmico.
    3. Máquinas en modo de reloj (máquinas sincrónicas).
    4. Estructura de las máquinas de estado sincrónicas: memoria de estado, lógica combinacional de próximo estado, lógica combinacional de salidas.
    5. Ciclos de temporización en las máquinas de estados sincrónicas.
    6. Pasos en el diseño de una máquina secuencial: Definición, descripción, evaluación, síntesis y prueba.
    7. Primera etapa de diseño: Definición, descripción y evaluación: Ejemplo de semáforo peatonal.
    8. Eliminación de estados redundantes: métodos de las particiones.
    9. Segunda etapa de diseño: Síntesis y prueba.
    10. Proceso de síntesis de una máquina de estado.
      1. Estructura de las máquinas de estado.
      2. Determinación de la función de cálculo próximo estado.
      3. Determinación de la función de cálculo de salidas
      4. Diagramas de tiempo de máquinas sincrónicas.
      5. Determinación del tipo de flip-flop y su relación con la asignación de estados.
      6. La función de salidas: Modos de activación y Acondicionamiento de salidas
      7. Síntesis de máquinas clase 2: contadores sincrónicos y secuenciadores.
      8. Síntesis de máquinas clase 1.
      9. Ejemplos de diseño de máquinas clase 3 y 4.
  8. Verilog HDL.
    1. Reseña histórica de los lenguajes de descripción de hardware.
    2. Introducción a Verilog HDL
      1. Módulos
      2. Simulación y Síntesis.
    3. Convenciones de Léxico en Verilog
    4. Tipos de Datos en Verilog
    5. Modelado por Flujo de Datos: RTL
    6. Modelado Estructural
      1. Descripción por Modelado Estructural
      2. Diseño Jerárquico.
      3. Formas de descripción en Modelado Estructural.
      4. Instanciación por descripción posicional: el sumador completo
      5. Instanciación por descripción nombrada: el sumador completo.
      6. Descripción estructural del multiplexor.
    7. Diseño secuencial en Verilog
      1. Sentencia Always y If-Then-Else
      2. Asignaciones de bloqueo y de no bloqueo.
      3. Flip-Flops, Registros y Latches
      4. Sentencia Case
    8. Descripción de Máquinas de Estado Sincrónicas.
    9. System tasks, system function
    10. Testbench en Verilog
    11. Herramientas de compilación y simulación
      1. Compilador iverilog
      2. Simulación con resultados en terminal: vvp runtime engine.
      3. Archivos de resultados: system tasks dumpfile y dumpvars.
      4. Visor de formas de onda gtkwave.
  9. Competencias

    N/A

© 2020 Escuela de Ingeniería Eléctrica, Universidad de Costa Rica.