Circuitos Secuenciales

Slides:



Advertisements
Presentaciones similares
Capítulo 1 Algebra de Boole.
Advertisements

DISEÑO DE TRANSFERENCIA ENTRE REGISTROS
Tema 7: Análisis y diseño con registros
Diseño de Circuitos Lógicos Secuenciales1
FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.
Organización de Computadoras UNLA
DESCRIBIR LOS PRINCIPIOS DE LA LÓGICA SECUENCIAL
1 UNIVERSIDAD NACIONAL DE INGENIERIA LOGICA COMBINACIONAL Y SECUENCIAL FACULTAD DE INGENIERIA QUIMICA Y MANUFACTURERA Ing. JORGE COSCO GRIMANEY CONTROLES.
UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES
UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES
Circuitos digitales secuenciales I: Resumen del contenido
Tema II Unidad de memoria. 2 Unidad de memoria 2.1 Definiciones y conceptos básicos Localización Capacidad Unidad de transferencia
Análisis Análisis y Síntesis Métodos de análisis: Tabla de verdad.
NIVEL DE LENGUAJES ORIENTADOS A PROBLEMAS NIVEL DE LENGUAJE ENSAMBLADOR NIVEL DE MAQUINA DEL SISTEMA OPERATIVO NIVEL DE MICROPROGRAMACIÓN NIVEL DE LÓGICA.
Unidad aritmético-lógica
INTEGRANTES: CABRERA BYRON GUAMAN PABLO NIOLA XAVIER MOLINA JORGE
Algebra Booleana y Compuertas Lógicas
UNIDAD 1:SISTEMA DE NUMEROS
Circuitos Combinacionales Comunes
Circuitos Combinacionales
Entradas FF Sincrónicas y Asincrónicas
TRADUCTOR DE UN PROGRAMA
 SON FUNCIONES LÓGICAS  REPRESENTADAS POR TABLAS DE VERDAD  SIMPLIFICABLES POR LÓGICA BOOLEANA  SIMPLIFICABLES POR KARNAUGH  APLICACIONES: funciones.
circuitos vlsi TEMA 4. LÓGICA SECUENCIAL CMOS Dr. José Fco. López
Introducción a la Ingeniería en Sistemas
Diseño de un Controlador de Luces de un Semáforo
EXAMEN CORTO SOBRE FLIP-FLOPS
Demultiplexor y Chip 74LS154
Alumno: Israel Espinosa Jiménez Matricula: Licenciatura: TIC Asignatura: Arquitectura de Computadoras Cuatrimestre: 4 Página 1 de 9.
REGISTROS DE DESPLAZAMIENTO
INTRODUCCIÓN AL DISEÑO SECUENCIAL: CONTADORES Y REGISTROS
Organización del Computador 1
CIRCUITOS DIGITALES II: Análisis de Sistemas Secuenciales
SISTEMAS DIGITALES SECUENCIALES
Análisis de Sistemas Secuenciales
EXAMEN CORTO SOBRE FLIP-FLOPS
Sistemas decimal, binario, octal y hexadecimal
UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES
Lógica Positiva En esta notación al 1 lógico le corresponde el nivel más alto de tensión (positivo, si quieres llamarlo así) y al 0 lógico el nivel mas.
UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES
Codificadores y Decodificadores
Capítulo 7 Gestión de memoria.
Unidad aritmético-lógica
Arquitectura de Von Neumann
Tecnologías de las computadoras
Organización del Computador I Verano Aritmética (3 de 3) Basado en el capítulo 4 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
CLASE 2.
Circuitos Digitales.
Organización del Computador 1
Diseño lógico secuencial con VHDL
Diseño de Combinacionales. Diseño Combinacional El diseño consiste en crear un sistema que cumpla con unos requerimientos establecidos, siempre tratando.
Sistemas Secuenciales Electrónica Digital
Organización del Computador 1
Germán Landinez Álvaro Del Toro Ronald Gutiérrez.
Reglas Básicas del Álgebra de Boole
UNIVERSIDAD AUTONOMA SAN FRANCISCO
Contenido Los puntos 9.7 y 9.8 no se dan 9.1. Revisión del concepto de máquina secuencial. Taxonomía Temporización en los circuitos lógicos síncronos.
FLIP - FLOP Oscar Ignacio Botero H..
PROGRAMACIÓN ESTRUCTURADA LOS DIAGRAMAS DE ESTADO
Alumno: Gerardo Mario Valdés Ortega
MIA - Grupo 5 Unidad 2.
Flip-Flop Integrantes: Hesbon Esaù Torres Jaime
Compuertas lógicas INTRODUCCION
Curso: Fundamentos de Computación
 PRESENTADO POR : ANDRES MAYORGA DANIELA PAEZ VEGA.
Máquinas de estado con VHDL
Circuitos Combinacionales I
Circuitos secuenciales 2
Arquitectura de Computadores IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia.
Organización del Computador 1 Lógica Digital 2 Circuitos y memorias.
Transcripción de la presentación:

Circuitos Secuenciales Flip-Flops S-R, D y J-K, Registros Paralelos y de Desplazamiento, Contadores Asíncronos y Síncronos

Circuitos Secuenciales Los circuitos combinacionales implementan las funciones esenciales de un computador digital. Sin Embargo, excepto para el caso especial de ROM, no proporciona memoria o información de estado, elementos también esenciales para el funcionamiento de un computador digital. Para estos últimos fines, se usa una forma de circuitos lógicos digitales más compleja: los circuitos secuenciales. La salida actual (presente) de un circuito secuencial depende no solo de la entrada actual (presente), sino también de la historia pasada de las entradas. Otra manera más general y útil de ver esto es que la salida actual de un circuito secuencial depende de la entrada actual y del estado actual del circuito. Nota: Los circuitos secuenciales se implementan con circuitos combinacionales. Flip-Flops (Circuitos secuenciales BIESTABLES) La forma más sencilla de un circuito secuencial es un Flip-Flop. Hay varios tipos de flip-flops, y todos ellos comparten dos propiedades: El flip-flop es un dispositivo con dos estados. Está en uno de dos estados y, en ausencia de entrada, se mantiene en este último estado. Entonces, el flip-flop puede funcionar como una memoria de un bit. El flipflop tiene dos salidas que son siempre complementarias . Normalmente se denominan Q y Q .

Circuitos Secuenciales – Flip-Flop S-R Flip-Flop (Latch o Cerrojo) S-R La siguiente figura muestra una configuración común conocida como flip-flop S-R ó cerrojo (latch) S-R y el símbolo del mismo. El circuno tiene dos entradas, S (Set) y R (Reset), y dos salidas, Q y 𝑸 , y consiste en dos compuertas NOR conectadas por retroalimentación. Primero, se debe mostrar que el circuito es biestable. Supongamos que S y R valen 0 y que Q es 0. Las entradas a la puerta NOR inferior son Q = 0 y S = 0. Entonces, la salida Q = 1 significa que las entradas de la compuerta NOR superior son Q = 1 y R = 0, con salida Q = 0. Por tanto, el estado del circuito es internamente consistente y permanece estable mientras S = R = 0. Con un razonamiento similar se llega a que el estado Q = 1, Q = O, es también estable para R = S = 0.

Circuitos Secuenciales – Flip-Flop S-R Por tanto, este circuito pueden funcionar como una memoria de 1 bit. Podemos ver la salida Q como el «valor» del bit. Las entradas S y R sirven para escribir los valores 1 y 0, respectivamente, en la memoria. Para ver esto, consideremos el estado Q = 0, Q = 1, S = 0, R = 0. Supóngase que S cambia al valor 1. Ahora las entradas el la compuerta NOR inferior son S = 1 , Q = 0. Después de cierto tiempo de retardo Δt, la salida de la compuerta NOR inferior será Q = 0 (ver la siguiente figura) Mientras que S = 1 y R = 0, las salidas seguirán siendo Q = 1, Q = 0. Además, si S vuelve a 0, las salidas permanecerán sin cambiar. La salida R realiza la función contraria. Cuando R = 1, fuerza Q = 0, Q = 1, sin importar el estado previo de Q y Q . De nuevo hay un tiempo de retardo de 2Δt antes de que se reestablezca la estabilidad, tal como se puede ver en la figura anterior.

Circuitos Secuenciales – Flip-Flop S-R El flip-flop S-R se puede definir con una tabla parecida a la tabla de verdad, llamada tabla característica, que muestra el siguiente estado o estados de un circuito secuencial en función de los estados y entradas actuales. En el caso del flip-flop S-R, el estado se puede definir por el valor de Q. La siguiente tabla muestra en (a) la tabla característica resultante. Se observa que las entradas S = 1, R = 1 no están permitidas, ya que producirían una salida inconsistente (Q y Q igual a 0). La tabla se puede expresar de forma más compacta, tal como se muestra en (b). En la parte (c) se muestra una ilustración del comportamiento del flip-flop S-R.

Circuitos Secuenciales – Flip-Flop S-R síncrono La salida del cerrojo S-R cambia, tras un breve tiempo de retardo, en respuesta a un cambio en la entrada. Esto se denomina operación asíncrona. La mayoría de los acontecimientos en las computadoras digitales están sincronizados por un pulso de reloj, así que los cambios ocurren solo en un pulso de reloj. La siguiente figura muestra esta disposición y el símbolo correspondiente. Este dispositivo se llama flip-flop S-R síncrono. Nótese que las entradas S y R se aplican a las entradas de las compuertas NOR sólo durante el pulso de reloj.

Circuitos Secuenciales – Flip-Flop D Un problema con los flip-flops S-R es que la condición R = 1, S = 1 debe ser evitada. Una manera de hacerlo es permitir solo una única entrada. El flip-flop D lo cumple. La siguiente figura muestra una implementación con compuertas, símbolo y la tabla característica del flip-flop D. Usando un inversor, las entradas de no reloj de las dos compuertas AND garantizan ser una la opuesta de la otra. El flip-flop D a veces se denomina flip-flop de datos porque es, en efecto, almacén para un bit de datos. La salida del flip-flop D es siempre igual al valor más reciente aplicado a la entrada. Por tanto, recuerda y produce la última entrada. También se le llama flip-flop de retardo, porque retrasa un cero o uno aplicado a la entrada durante un pulso de reloj.

Circuitos Secuenciales – Flip-Flop T El flip-flop T cambia de estado en cada pulso de T. El pulso es un ciclo completo de cero  a 1. Nótese que cuando la señal de entrada T es 0, la salida en el siguiente ciclo de reloj Q(t+1) será igual a la salida actual Q(t). Si T es 1, la salida en el siguiente ciclo de reloj será el complemento de la salida actual.

Circuitos Secuenciales – Flip-Flop JK Otro flip-flop útil es el flip-flop J-K. Como el flip-flop S-R, tiene dos entradas. Sin embargo, en este caso, todas las combinaciones posibles de los valores de entrada son válidos. La siguiente figura muestra una implementación con compuertas, símbolo y tabla característica del flip-flop J-K. Nótese que las tres primeras combinaciones son las mismas que para el flip-flop S-R. Sin entrada, la salida es estable. La entrada J sola realiza la función de puesta a 1, causando que la salida sea 1; la entrada K solo realiza la función de puesta a cero, provocando que la salida sea 0. Cuando J y K son 1, la función realizada se denomina función de conmutación (toggle): la salida se invierte. Entonces, si Q vale 1 y se aplica un 1 a J y K, entonces Q se hace 0.

Circuitos Secuenciales – Flip-Flop JK Flip-Flop Maestro-Esclavo Los flip-flops maestro-esclavo son construidos a partir con dos flip-flops, uno sirve de maestro y otro de esclavo. Durante la subida del pulso de reloj se habilita el maestro y se deshabilita el esclavo a través de la compuerta NOT puesta a la entrada del reloj del segundo flip-flop. Los datos de entrada se transmiten a la salida del  flip-flop maestro. Cuando el pulso baja nuevamente a cero, se deshabilita el maestro, lo cual evita que lo afecten las entradas externas y se habilita el esclavo. Entonces el esclavo pasa al mismo estado del maestro. 

Circuitos Secuenciales – Flip-Flops

Circuitos Secuenciales – Conversión de flip-flops Para la conversión de un flip-flop a otro, primeramente se debe diseñar un circuito combinacional. Si se requiere un flip-flop J-K, por ejemplo, las entradas se proporcionan al circuito combinacional y la salida del circuito combinacional se conecta a las entradas del flip-flop original. Entonces, la salida del flip-flop original es la salida del flip-flop requerido (en este caso, el de un flip-flop J-K). Conversión de un flip-flop S-R a un flip-flop J-K Las entradas J y K del flip-flop J-K deseado se utilizarán como entradas externas a un circuito combinacional cuyas salidas se conectan al flip-flop S-R original. Las salidas del flip-flop S-R se comportarán como las salidas del flip-flop J-K deseado, esto en base a los valores de las entradas J y K. Las tablas de verdad para la conversión de flip-flop se muestran en la siguiente página. El estado actual o presente ,Qn , se representa con Qp y el siguiente estado, Qn+1 , se representa con Qp+1 , cuando se aplican las entradas J y K. Para dos entradas J y K, habrán 8 posibles combinaciones. Para cada combinación de J, K y Qp , se determinan los siguientes estados Qp+1 . Qp+1 simplemente sugiere los valores futuros que se obtendrán en el flip-flop J-K que le siguen a el valor de Qp . La tabla se completa escribiendo los valores S y R requeridos para obtener cada Qp+1 de su correspondiente Qp . Esto es, se escriben los valores de S y R que son requeridos para cambiar de estado del flip-flop de Qp a Qp+1 .

Circuitos Secuenciales – Conversión de flip-flops NOTA: Haga click sobre este texto para ver más conversiones de flip-flops. Información tomada de www.circuitstoday.com

Circuitos Secuenciales – Registros – Registros paralelos Como ejemplo del uso de los flip-flops, examinemos primero uno de los elementos esenciales del CPU: el registro. Como sabemos, un registro es un circuito digital usado en el CPU para almacenar uno o más bits de datos. Normalmente se usan dos tipos básicos de registros: registros paralelos y de desplazamiento. Registros Paralelos Un registro paralelo consiste en un conjunto de memorias de un bit que se pueden leer o escribir simultáneamente. Se usa para almacenar datos. Los registros de los que hemos hablado a lo largo de este libro son registros paralelos. La siguiente figura muestra un ejemplo de un registro paralelo de 8 bits, implementado mediante flip-flops D. Una señal de control, llamada validación de dato de entrada, controla la escritura en los registros de los valores provenientes de las líneas de señales, de la D11 a la D18. Estas líneas pueden ser salidas de multiplexores, ya que los datos que se pueden cargar en un registro pueden provenir de una gran variedad de fuentes

Circuitos Secuenciales – Registros – Registros de desplazamiento Un registro de desplazamiento acepta y/o transfiere información vía serie. Consideremos, por ejemplo, la siguiente figura, que muestra un registro de desplazamiento de cinco bits construido a partir de flip-flops D síncronos. Los datos se introducen únicamente a través del flip-flop que está más a la izquierda. Con cada pulso de reloj, los datos se desplazan a la derecha una posición, y el bit más a la derecha (bit más significativo) se transfiere fuera. Los registros de desplazamiento se pueden usar como interfaz de dispositivos serie de E/S. Además, pueden usarse en la ALU para realizar desplazamiento lógicos y funciones de rotación. En este último uso, necesitan equiparse con circuitería de lectura/escritura tanto paralela como serie.

Circuitos Secuenciales – Contadores Otra categoría útil de circuitos secuenciales es la de contador. Un contador es un registro cuyo valor se puede incrementar fácilmente en 1, considerando el módulo de la capacidad del registro. Esto es, después de que el máximo valor se alcanza, el próximo incremento establece en 0 el valor del contador. Por lo tanto, un registro compuesto por n flip-flops puede contar hasta 2n - 1. Un ejemplo de un contador en el CPU es el registro PC (Program Counter). Los contadores pueden ser asíncronos o síncronos, dependiendo de la forma en que operen. Los contadores asíncronos son relativamente lentos, ya que la salida de un flip-flop produce un cambio en el estado del siguiente flip-flop. En un contador síncrono, todos los flip-flops cambian de estado a la vez. Como el último tipo es mucho más rápido, es el tipo que se usa en un CPU. Sin embargo, es útil empezar la discusión con una descripción del contador asíncrono.

Circuitos Secuenciales – Contadores – Contador asíncronos Contadores asíncronos Un contador asíncrono se denomina también contador de onda (ripple), ya que el cambio que se produce para incrementar el contador empieza en un extremo y se transfiere como una «Onda» hasta el otro extremo. La siguiente figura muestra una implementación de un contador de cuatro bits usando flip-flops J-K, junto con un diagrama de tiempo que ilustra su comportamiento. El diagrama de tiempo está idealizado ya que no muestra el retardo de propagación que se produce cuando las señales se propagan en la serie de flip-flops. La salida del flip-flop más a la izquierda (Q0) es el bit menos significativo. El diseño se podría ampliar fácilmente a un número arbitrario de bits añadiendo en cascada más flip-flops. En la implementación mostrada, el contador se incrementa con cada pulso de reloj. Las entradas J y K de cada flip-flop se mantienen en un 1 constantemente. Esto quiere decir que, cuando hay un pulso de reloj, la salida en Q se invierte (de 1 a 0; de 0 a 1 ). Nótese que el cambio de estado se produce cuando cae el flanco del pulso de reloj; esto se conoce como flip-flop disparado por flanco. Usando flip-flops que responden a la transición en un pulso de reloj, en vez de en el pulso mismo, proporciona un mejor control en tiempo de circuitos complejos. Si se analizan los patrones de salida d este contador, se puede ver el ciclo 0000, 0001, …, 1110, 1111, 0000, etc.

Circuitos Secuenciales – Contadores – Contador síncronos Contadores síncronos El contador asíncrono tiene la desventaja del retardo asociado al cambio de valor, que es proporcional al tamaño del contador. Para superar esta desventaja, los CPUs usan contadores síncronos, en los que todos los flip-flops del contador cambian al mismo tiempo. Aquí se presenta el diseño de un contador síncrono de tres bits. Al mismo tiempo, se ilustrarán algunos conceptos básicos en el diseño de circuitos síncronos. Para un contador de tres bits, necesitamos tres flip-flops. Se usarán flip-flops J-K y las salidas sin complementar serán llamadas A, B y C, respectivamente, donde A representa el bit menos significativo. El primer paso es construir la tabla de verdad que relaciona las entradas J-K con las salidas, para poder diseñar el resto del circuito. Dicha tabla de verdad se muestra a continuación. Las primeras tres columnas muestran las combinaciones posibles de las salidas A, B y C. Están listadas en el orden en que aparecen cuando se incrementa el contador. Cada fila indica el valor actual de A, B, C y las entradas a los tres flip-flops que se necesitarán para alcanzar el siguiente valor de A, B y C.

Circuitos Secuenciales – Contadores – Contador síncronos Para comprender la forma en la que se ha hecho la tabla de verdad anterior, puede ser útil reestructurar la tabla característica del flip-flop J-K. Se recordará que esta tabla de verdad se presentaba como sigue: En esta forma, la tabla muestra el efecto que las entradas J y K tienen en la salida. Ahora se considerará la siguiente organización de la misma información: En esta forma, la tabla proporciona el valor de la siguiente salida cuando se conocen las entradas y la salida actual. Esta es exactamente la información que se necesita para diseñar el contador o, de hecho, cualquier circuito secuencial. En esta forma, la tabla se denomina tabla de exitaciones o tabla de estados.

Circuitos Secuenciales – Contadores – Contador síncronos Considerando la Tabla de verdad y la Tabla de excitaciones anteriores, Se puede observar que se desea que los valores de B y C se mantengan en 0 y que el de A cambie de 0 a 1 con la aplicación del siguiente pulso de reloj. La tabla de excitaciones muestra que para mantener una salida a 0, debemos tener las entradas J = 0 e indiferencia para K. Para que haya una transición de 0 a 1, las entradas deben ser J = 1 y K = d. Estos valores se encuentran en la primera fila de la tabla. Con un razonamiento similar, se puede llenar el resto de la tabla. Una vez construida la tabla de verdad, vemos que la tabla muestra los valores requeridos para todas las entradas J y K como funciones de los valores actuales de A, B y C. Con la ayuda de mapas de Karnaugh, podemos obtener las expresiones booleanas para estas seis funciones. Esto se muestra en la figura de la siguiente página. Por ejemplo, el mapa de Karnaugh de la variable Ja (la entrada J del flip-flop que produce la salida A) da lugar a la expresión Ja = BC. Cuando se derivan las seis expresiones requeridas, es sencillo diseñar el circuito real, tal como se muestra al final de la figura mencionada.

Circuitos Secuenciales – Contadores – Contador síncronos