Download programa_01_02 - Dpto. de Electrónica UMA

Document related concepts

Contador wikipedia , lookup

Sistema secuencial wikipedia , lookup

Decodificador wikipedia , lookup

Sumador wikipedia , lookup

Lógica binaria wikipedia , lookup

Transcript
SISTEMAS ELECTRÓNICOS DIGITALES
Objetivos Generales.
- Análisis lógico de circuitos digitales combinacionales en el nivel de puerta
- Diseño lógico de circuitos combinacionales en el nivel de puerta.
- Análisis de circuitos digitales combinacionales en el nivel de bloque funcional.
- Diseño lógico de circuitos electrónicos digitales con funciones integradas.
- Análisis de circuitos digitales secuenciales.
- Diseño de circuitos electrónicos digitales basados en funciones secuenciales
integradas.
- Conocimiento de un sistema de representación de Bloques Funcionales.
- Desarrollo de la metodología de diseño basada en Máquinas de Estados Finitos.
- Síntesis de funciones con Dispositivos Lógicos Programables.
De actitud:
- Respetar las especificaciones y requisitos de un diseño.
- Aprender a trabajar en grupo.
- Respetar las normas de un centro de trabajo: el aula y el laboratorio.
De habilidad:
- Buscar información de manera autónoma.
- Generar documentación correcta sobre un diseño.
Resumiendo, se puede decir que el objetivo general de la asignatura es el estudio de la
metodología de diseño lógico de circuitos electrónicos digitales combinacionales y
secuenciales en los niveles de puerta y de bloques funcionales y mediante Dispositivos
Lógicos Programables. Se hace hincapié en el diseño jerarquizado utilizando circuitos
integrados comerciales y en su descripción mediante la norma ANSI.
Contenido por bloques.
Bloque I: INTRODUCCIÓN.
Este bloque temático está dedicado a presentar la asignatura a los alumnos. En su único
tema, Introducción, se justifica el estudio de la electrónica como una de las tecnologías
óptimas en el desarrollo de la Ingeniería Informática. Se ubica su contenido en el
contexto de la electrónica aplicada, diferenciando los conceptos de electrónica digital y
analógica. El objetivo primordial de esta introducción es dar al alumno una buena
perspectiva de la asignatura y proporcionarle
una serie de hitos que le ayuden a
autoevaluarse y a mantener el ritmo de aprendizaje.
Bloque II. HERRAMIENTAS MATEMÁTICAS PARA EL DISEÑO LÓGICO.
El bloque está dedicado a presentar las herramientas matemáticas necesarias para el
diseño lógico. El primer tema se dedica a la representación de la información en un
sistema digital, por tanto se centra en los sistemas de numeración binario, octal y
hexadecimal, y en los principales códigos binarios. La representación de las cantidades
en formatos que permitan su manipulación algebraica será esencial para el estudio
posterior de bloques funcionales aritméticos.
El segundo tema conecta el diseño de circuitos digitales con las reglas que rigen el
procesamiento lógico. Se estudia el álgebra de Boole, desarrollada en un principio para
describir las leyes de la lógica, y su aplicación particular al diseño de circuitos lógicos.
Se presentan los operadores lógicos básicos y los dispositivos que los implementan
(puertas lógicas) y se realizan los primeros circuitos lógicos en el nivel de puerta.
Bloque III. DISEÑO COMBINACIONAL.
El bloque está dedicado al estudio de los circuitos combinacionales en el nivel de
bloque funcional. Junto con el siguiente constituye la parte más importante de la
asignatura. En el primer tema, Análisis y Síntesis de Circuitos Combinacionales, se
empieza con el análisis de un circuito en el modelo lógico ideal, para acabar con la
realización de cronogramas en el modelo lógico de respuestas transitorias e
introduciendo los azares. En la síntesis se da la metodología basada en mapas de
Karnaugh para simplificación de funciones y la implementación de éstas en dos niveles
con los conjuntos completos de operadores. En el siguiente tema Bloques Funcionales
Combinacionales se justifica el diseño en el nivel de bloque frente al diseño en el nivel
de puerta, y se estudian las principales funciones combinacionales y su implementación
MSI. Los bloques funcionales diseñados serán utilizados en la implementación de
circuitos lógicos de mediana complejidad. Aquí se explican de manera sistemática
muchos de los conceptos que hemos estado utilizando a lo largo del curso sin tener
conciencia de ello, - p.e. la metodología de diseño top-down - o sin conocer
exactamente su significado, - p.e. la norma ANSI para la representación de circuitos -.
Bloque IV: DISEÑO SECUENCIAL
El bloque está dedicado al estudio de los circuitos secuenciales con especial atención al
nivel de registro y al modelo de Máquinas de Estados Finitos. La metodología de
introducción al diseño secuencial no está normalizada en los diferentes libros de texto.
Nuestra propuesta consiste en empezar con una introducción a los circuitos secuenciales
para justificar la necesidad de elementos básicos de memoria: el biestable; una
descripción de los distintos tipos de biestables disponibles comercialmente y el estudio
de sus características físicas. El siguiente tema tratará sobre los modelos de máquina de
estados finitos de Mealy y Moore y el análisis y síntesis de circuitos secuenciales
síncronos y en el esbozo de los problemas estructurales de los circuitos secuenciales
asíncronos: azares y carreras. Este bloque acaba con la presentación y diseño de las
funciones secuenciales como registros y contadores como un caso particular de este
modelo. Finalmente, estos bloques funcionales diseñados serán utilizados en la
implementación de circuitos secuenciales de mediana complejidad.
Bloque V: LÓGICA PROGRAMABLE.
Este bloque temático constituye la culminación del curso en un doble sentido. Por un
lado, presenta una técnica de diseño puntera: el diseño con PLDs; y por otro, compendia
de alguna manera el contenido de la asignatura visto hasta el momento, ya que se parte
de la expresión de funciones como suma de productos, (bloque II), y se implementan
mediante PLDs las funciones combinacionales implementadas con C.I. MSI (bloque
III) y los sistemas secuenciales síncronos (bloque IV). El estudio de una OLMC
permitirá repasar el análisis de un circuito en el que intervienen inversores,
multiplexores y biestables.
Programa detallado de la asignatura.
Bloque I. INTRODUCCIÓN.
Tema 1: Introducción.
1.1. Información y señales. Electrónica digital y analógica.
1.2. Niveles de abstracción en el estudio de un sistema electrónico. Su relación con el
temario de la asignatura.
1.3. Relación de la asignatura con la titulación de Ingeniero Informático.
1.4. Metodología didáctica. Bibliografía.
Bloque II. HERRAMIENTAS MATEMÁTICAS PARA EL DISEÑO LÓGICO.
Tema 2: Sistemas de numeración. Codificación.
2.1. Introducción. Sistemas de numeración posicionales. Repaso del sistema decimal.
2.2. Sistemas de numeración binario, octal y hexadecimal. Operaciones y cambio de
base.
2.3. Representación de números enteros con signo.
2.3.1. Representación en el formato signo-magnitud. Operaciones.
2.3.2. Representación en el formato complemento a 1. Operaciones.
2.3.3. Representación en el formato complemento a 2. Operaciones.
2.4. Códigos binarios para la representación de números decimales.
2.4.1. Código BCD natural.
2.4.2. Código BCD-Exceso-3. Códigos autocomplementarios.
2.4.3. Código BCD-Aiken.
2.5. Otros códigos binarios.
2.5.1. Código Gray. Códigos continuos.
2.6. Códigos para la detección y corrección de errores.
2.6.1. Características de un código detector y de un código corrector de error.
2.6.2. Código de paridad.
2.6.3. Otros códigos detectores de error.
2.6.4. Códigos correctores.
2.7. Práctica de laboratorio: Manejo del instrumental: osciloscopio, fuente de
alimentación, generador de funciones.
Tema 3: Álgebra de Conmutación y Diseño Lógico.
3.1. Introducción. El álgebra de Boole y los circuitos lógicos.
3.2. Álgebra de Boole.
3.2.1. Definición axiomática .
3.2.2. Teoremas fundamentales.
3.3. Álgebra de Conmutación.
3.3.1. Funciones de conmutación.
3.3.2. Formas de expresión de una función lógica.
3.3.2.1. Expresión algebraica.
3.3.2.2. Tabla de verdad.
3.3.2.3. Formas canónicas. Mintérminos y Máxtérminos.
3.3.3.4. Mapas de Karnaugh.
3.4. Puertas lógicas.
3.5. Conjunto completo de operadores.
3.6. Práctica de laboratorio: Programa de simulación OrCAD (SDT,VST).
Bloque III. DISEÑO COMBINACIONAL.
Tema 4: Análisis y Síntesis de Circuitos Combinacionales.
4.1. Introducción: Algoritmo de análisis. Modelo lógico ideal.
4.2. Modelo lógico de retraso. Respuestas transitorias. Azares.
4.3. Síntesis de circuitos. Criterios de optimización.
4.4. Simplificación de funciones.
4.4.1. Definiciones. Implicantes e implicadas. Expresiones mínimas.
4.4.2. Método algebraico. Mapas de Karnaugh.
4.4.3. Tablas cíclicas. Método de Petrick.
4.5. Circuitos de múltiples salidas.
4.6. Funciones incompletamente especificadas.
4.7. Implementación en dos niveles con conjuntos completos de operadores.
4.8. Ejemplos de diseño lógico.
4.9. Práctica de laboratorio: Simulación y montaje con puertas NAND de un circuito
combinacional.
Tema 5: Bloques Funcionales Combinacionales.
5.1. Multiplexor.
5.1.1. Descripción funcional del multiplexor. Función lógica.
5.1.2. Diseño de un multiplexor básico.
5.1.3. Algunos C.I. multiplexores.
5.1.4. Asociación de Multiplexores.
5.1.5. Implementación de funciones lógicas con multiplexores.
5.2. Demultiplexor.
5.2.1. Descripción funcional del demultiplexor. Funciones lógicas de salida.
5.2.2. Diseño de un demultiplexor básico.
5.2.3. Algunos C.I. demultiplexores.
5.2.4. Aplicación a la transmisión de datos.
5.3. Decodificador.
5.3.1. Descripción funcional del decodificador.
5.3.2. Diseño de un decodificador binario básico.
5.3.3. Algunos C.I. decodificadores. Distintas funcionalidades de un mismo C.I.
5.3.4. Aplicaciones del decodificador.
5.3.5. Otros decodificadores
5.3.5.1 Decodificador BCD/decimal.
5.3.5.2 Decodificador BCD/siete segmentos.
5.4. Codificador
5.4.1. Descripción funcional del codificador.
5.4.2. Diseño de un codificador básico.
5.4.3. Codificador de prioridad.
5.4.4. Extensión de un codificador de prioridad.
5.5. Convertidores de Código.
5.5.1. Convertidor BCD/Binario y Binario/BCD.
5.5.2. Convertidor Binario/Gray y Gray/Binario.
5.6. Generador/detector de paridad.
5.6.1. Análisis de un circuito generador/detector de paridad.
5.7. Bloques Funcionales Aritméticos.
5.7.1. Circuitos Semi-sumador y sumador completo. Tiempo de respuesta.
5.7.2. Sumador paralelo de cuatro bit con acarreo en serie.
5.7.3. Sumador paralelo de cuatro bit con acarreo anticipado.
5.7.4. Restadores binarios.
5.7.5. Comparador.
5.7.6. Unidad aritmético-lógica.
5.8. Diseño de circuitos combinacionales en el nivel de bloque funcional. Ejemplos.
5.9. Práctica de laboratorio: Diseño y montaje de circuitos aritméticos con MUX-151 y
puertas lógicas.
Bloque IV. DISEÑO SECUENCIAL
Tema 6: Circuitos secuenciales.
6.1. Introducción a los circuitos secuenciales.
6.1.1. Definiciones básicas. Modelo estructural. Consideraciones temporales.
6.1.2. Tabla de estados. Diagramas de estados.
6.2. Elementos básicos de memoria.
6.2.1. Cerrojo SR. Cronogramas.
6.2.2. Biestables síncronos. Niveles de disparo.
6.2.3. Biestables J-K, D y T.
6.3. Biestables Maestro-Esclavo.
6.4. Temporización en biestables: tiempos de “set-up” y “hold”.
Tema 7: Análisis y Síntesis de Circuitos Secuenciales.
7.1. El modelo de Máquina de Estados Finitos.
7.1.1. Máquina de Estados Finitos. Definición formal.
7.1.2. Modelo de Moore y Modelo de Mealy. Equivalencia.
7.2. Análisis de Circuitos Secuenciales.
7.3. Diseño de sistemas secuenciales síncronos basado en Máquinas de Estados Finitos.
7.3.1. Diagrama de estados.
7.3.2. Tablas de próximos estados y salidas.
7.3.3. Minimización de estados. Tabla de implicación. Conjunto de estados
equivalentes. Conjunto de estados compatibles.
7.3.4. Asignación de estados. Codificación.
7.3.5. Tabla de transición de estados.
7.3.6. Funciones de excitación.
7.4. Circuitos secuenciales asíncronos. Problemática.
7.5. Diseño de circuitos secuenciales basados en biestables.
7.6. Práctica de laboratorio: Diseño, simulación y montaje con componentes discretos
de un sistema secuencial síncrono.
Tema 8: Bloques Funcionales Secuenciales MSI/LSI.
8.1. Registros.
8.1.1. Registro paralelo.
8.1.2. Registro serie.
8.1.3. Registro universal.
8.1.4. Registros integrados.
8.2. Contadores.
8.2.1. Contador divisor por 16.
8.2.2. Contador de décadas.
8.2.3. Contadores síncronos.
8.2.4. Contador síncrono universal.
8.2.5. Contadores Integrados.
8.3. Generadores y detectores de secuencias.
8.4. Autómata celular. Generadores de números pseudo-aleatorios.
8.5. Diseño de circuitos secuenciales en el nivel de bloques funcionales.
8.6. Práctica de laboratorio: Diseño, simulación y montaje de un circuito secuencial
mediante bloques funcionales secuenciales.
Bloque V: LÓGICA PROGRAMABLE.
Tema 9: Diseño lógico con Dispositivos Lógicos Programables.
9.1. Introducción. Justificación del uso de PLDs.
9.2. Arquitectura general de un dispositivo PLD.
9.2.1. Representación gráfica.
9.3. Clasificación de los dispositivos PLDs.
9.3.1. PLA.
9.3.1.1. Características.
9.3.1.1. Ejemplo de diseño con un dispositivo PLA.
9.3.2. PAL.
9.3.2.1. Características.
9.3.2.1. Ejemplo de diseño con un dispositivo PAL.
9.3.3. PROM.
9.3.3.1. Características.
9.3.3.1. Ejemplo de diseño con un dispositivo PROM.
9.4. Casos de estudio:
9.4.1. PAL16R6.
9.4.1.1. Arquitectura de una PAL16R6.
9.4.2. PAL22V10.
9.4.2.1. Arquitectura de una PAL22V10.
9.4.2.2. Macrocelda Lógica de Salida (OLMC) de una PAL22V10.
9.5. Introducción a la programación de PLDs.
9.5.1. Proceso de programación.
9.5.2. Estructura de un programa ABEL.
9.5.2.1. Declaraciones. Descripciones lógicas.
9.5.2.2. Operaciones Booleanas. Ecuaciones. Conjuntos. Tablas de
Verdad. Vectores de Prueba.
9.6. Ejemplos de diseño con PLDs.
9.6.1. Cuádruple multiplexor 1 de 4.
9.6.2. Contador en código Gray ascendente/descendente de 3 bits.
9.6.3. Otros ejemplos.
9.7. Práctica de laboratorio: Implementación de los ejemplos del apartado 9.6.
Bibliografía completa.
[Wakerly, 2000] WAKERLY, J. F., Diseño Digital. Principios y Prácticas Ed. Prentice
Hall (7ª ed.), 2000.
[Barrón, 1994] BARRÓN, M., Lógica Programable, ejercicios resueltos con
OrCAD/PLD, Ed. Mc-Graw Hill, 1994.
[Floyd, 2000]
FLOYD, T.L., Fundamentos Digitales, Ed. Prentice Hall, séptima
edición, 2000.
[Gajski, 1997] GAJSKI, Principios de Diseño Digital, Ed. Prentice may, 1997.
[Katz, 1994]
KANTZ, R.H., Contemporary Logic Design, The Benjamin Comming
Pub., 1994.
[Lloris, 1996]
LLORIS, A. y PRIETO, A., Diseño Lógico, Ed. McGraw-Hill, 1996.
[Mandado, 1992] MANDADO, E., Sistemas Electrónicos Digitales, Ed. Marcombo,
séptima edición, 1992.
[Nelson, 1996] NELSON, V., TROY, H., y otros. Análisis y Diseño de Circuitos
Lógicos Digitales, Ed. Prentice Hall, 1996.
[Romero, 1992] ROMERO GÓMEZ, L.F., Curso de diseño con OrCAD, EAC,
Elementos auxiliares de clase, nº. 46, Universidad de Málaga, 1992.
Bibliografía de problemas
[Almoacid, 1995], ALMOACID PUCHE, G., Desarrollo y aplicaciones de sistemas
digitales, Paraninfo, 1995
[Baena, 1997]
BAENA, C. y OTROS, Problemas de Circuitos y Sistemas Digitales,
Ed. McGraw-Hill, 1997.
[López, 1987]
LÓPEZ, P. y MARTÍNEZ, J.M., Sistemas Digitales (Problemas).
Publ. U.P. Valencia, 1987.
[Ojeda, 1994]
OJEDA CHERTA, F., Problemas de Electrónica Digital, Ed.
Paraninfo, 1994
[Padilla, 1989] PADILLA, I., Ejercicios de Electrónica Digital, Servicio de
Publicaciones de la E.T.S.I. Telecomunicación, Madrid. 1989.
[Velasco, 1995] VELASCO, J. y OTERO, J., Problemas de Sistemas Electrónicos
Digitales, Ed. Paraninfo, 1995.
Bibliografía complementaria
[Carter, 1997]
CARTER, J. W., Digital Designing with Programmable Logic
Devices, Ed. Prentice Hall, 1997
[Hayes, 1996]
HAYES, J.P., Introducción al Diseño Lógico Digital, Ed. AddisonWesley Iberoamericana, 1996.
[Muñoz-Merino, 1980] MUÑOZ MERINO, E. y OTROS, Circuitos Electrónicos.
Tomos 3 y 4 (digitales i y ii), Servicio de Publicaciones de la E.T.S.I.
de Telecomunicación de Madrid. 1980.
[Taub, 1993]
TAUB, H., Circuitos digitales y microprocesadores, Ed. McGrawHill. 1993.