viernes, 6 de enero de 2017

VIDEO DE INTRODUCCIÓN CIRCUITOS LÓGICOS SECUENCIALES Y ALGEBRA BOOLEANA



EJERCICIOS DE CIRCUITOS SECUENCIALES

EJERCICIOS DE CIRCUITOS SECUENCIALES:

   Las siguientes ecuaciones describen completamente un circuito secuencial:
A(t+1) = Bx´+ AB + Ax´
B(t+1) = A´x + A´B + Bx
Y = AB´x
1. Diseñe el circuito secuencial utilizando flip-flops JK
2. Encuentre la tabla de estados y el diagrama de estados del circuito.
3. Monte el circuito en el laboratorio en el módulo DIGI-BOARD2 y compruebe la operación del mismo.
 Solución:
     Las ecuaciones anteriores se refieren a un circuito secuencial con dos flip-flops A y B, por lo que tendrá 4 estados: 00, 01, 10 y 11. Igualmente tiene una entrada x y una salida Y.

    Por comodidad encontraremos la ecuación característica de un flip-flop JK, esto es, la ecuación que nos proporciona el estado siguiente del flip-flop cuando ocurra un pulso de reloj en función de los valores presentes en sus entradas de excitación J K y del estado presente en el mismo:
    En la figura 3 se muestra la tabla característica del flip-flop JK que define la operación de este tipo de flip-flop. Q es el estado presente en el flip-flop y Q(t+1) es el estado siguiente del mismo. Se debe observar que Q(t+1) y Q no son dos variables distintas, es la misma variable, ambas denominaciones representan la salida del flipflop pero en momentos del tiempo diferentes. Así, Q es el valor de la salida del flipflop antes de que ocurra un pulso de reloj, y Q(t+1) después de que ocurra el pulso. Evaluando esta tabla característica se puede construir la tabla que se muestra en la figura 4 que nos da el estado siguiente del flip-flop en función del estado presente, y de las entradas de excitación J y K.
De la tabla de la figura 4 se puede construir el mapa de Karnaugh de la figura 5 para encontrar Q(t+1) de forma simplificada como se muestra a continuación Q(t+1) = JQ´+ K´Q…………….ecuación característica del flip-flop JK:

    De acuerdo a lo anterior podremos plantear las ecuaciones características de los flipflops A y B de nuestro problema.
A(t+1) = JA A´+ K´A A y B(t+1) = JBB´+ K´BB
Donde JA y KA son las entradas J y K del flip-flop A, y JB y KB las correspondientes al flip-flop B.
    De la ecuación de estado del flip-flop A se puede plantear lo siguiente. A(t+1) = Bx´+ AB + Ax´ = (A+A´)Bx´+ AB + Ax´= Bx´A´ + (Bx´+ B + x´)A
   Comparando esta expresión con la ecuación característica del flip-flop A se obtienen las funciones de las entradas de excitación de este flip-flop. JA = Bx´ y KA = (Bx´+ B + x´)´= (B´+ x) B´x = B´B´x + B´x x= B´x ´B´x = B´x
   Procediendo de forma similar con el flip-flop B
se encuentra: B(t+1) = A´x + A´B+ Bx = A´(B+B´)x + A´B + Bx = A´x B´ + (A´x + A´ +x) B
= A´x B´+ (A´+ x) B
Por tanto JB = A´x y KB = (A´+ x)´ = Ax´
   De las funciones encontradas de las entradas de excitación JK de los flip-flops A y B conjuntamente con la función de la señal de salida Y se puede elaborar el circuito secuencial que se muestra en la figura 6 formado por 2 flip-flops JK, 1 inversor y 5 compuertas AND.
    Evaluando las ecuaciones de estado del circuito secuencial se puede encontrar el estado siguiente para cada estado presente y cada estado que tenga la señal de entrada x. Similarmente, como la señal de salida Y = AB´x, esta señal sólo tendrá el valor de 1 lógico cuando el circuito se encuentre en el estado 10 y la señal de entrada x = 1.
    Lo anterior se resume en la tabla de estados que se muestra en la figura 7. Esta tabla nos informa por ejemplo que si el circuito se encuentra en el estado 10, si x=0 se queda en el estado 10, pero si x=1 pasa al estado 00 cuando ocurra un pulso de reloj. Similarmente, la salida Y=0 en el estado 10 si x=0, pero en este mismo estado 10 la salida Y=1 si x=1.
Observe que a diferencia de un circuito combinacional, la salida puede tener diferentes valores aún para el mismo valor de la señal de entrada:


  De la tabla de estados de la figura 7 puede ser fácilmente obtenido el diagrama de estados que se muestra en la figura 8:



CIRCUITOS SECUENCIALES

CIRCUITOS SECUENCIALES

      Los sistemas digitales que introducen la dependencia temporal son conocidos como sistemas secuenciales. Una definición más rigurosa de sistema secuencial puede ser la siguiente:

     Un circuito de conmutación secuencial se define como un circuito bivaluado en el cual, la salida en cualquier instante depende de las entradas en dicho instante y de la historia pasada (o secuencia) de entradas. 
         Esta definición implica una serie de características inherentes a estos sistemas. Entre éstas podemos destacar las siguientes:
• Poseen uno o más caminos de realimentación, es decir, una o más señales internas o de salida se vuelven a introducir como señales de entradas. Gracias a esta característica se garantiza la dependencia de la operación con la secuencia anterior.
 • Como es lógico, existe una dependencia explícita del tiempo. Esta dependencia se produce en los lazos de realimentación antes mencionados. En estos lazos es necesario distinguir entre las salidas y las entradas realimentadas. Esta distinción se traducirá en un retraso de ambas señales (en el caso más ideal), como se puede ver en la figura 1.2, el cual puede producirse mediante dos elementos:
 • Elementos de retraso, ya sean explícitos o implícitos debido al retraso de la lógica combinacional. Este retraso es fijo e independiente de cualquier señal.
• Elementos de memoria, que son dispositivos que almacena el valor de la entrada en un instante determinado por una señal externa y lo mantiene hasta que dicha señal ordene el almacenamiento de un nuevo valor. La diferencia de comportamiento entre ambos elementos radica en que la salida del elemento de retraso es una copia de la señal de entrada; mientras que el elemento de memoria copia determinados instantes de la entrada (determinados por una señal externa), y no la señal completa, el resto del tiempo la salida no cambia de valor, como podemos apreciar en la figura 1.2. 

Para que me entiendan un poco de que les hablo les mostrare el siguiente ejemplo:

-       -  En este caso, podemos observar que la salida del elemento de retraso es una copia de la señal de entrada retraso un determinado tiempo; mientras que la salida del elemento de memoria copia los valores de la entrada cuando la señal de control tiene una transición de subida, por lo que la copia no es exacta, sino que sólo copia lo que interesa. Por lo tanto, el modelo clásico de un sistema secuencial consta de un bloque combinacional, que generará la función lógica que queramos realizar, y un grupo de elementos de memoria con una serie de señales realimentadas, como se muestra en la figura 1.3.


    En ella podemos distinguir tres tipos de señales: señales de entradas, señales de salida y señales de estado. Las señales de entrada y salida tienen el mismo significado que en los sistemas combinacionales. En cambio, las señales de estado son aquellas que mantienen la información de la historia pasada del sistema. Las señales de estado tienen dos versiones, según se consideren a la salida o a la entrada del elemento de memoria:
  
 • Si consideramos las señales de estado a la salida de los elementos de memoria, o lo que es lo mismo, a la entrada del bloque combinacional, se denominan señales de estado presente ya que nos indica el estado en el que se encuentra el sistema para realizar una operación.
• Si consideramos las señales de estado a la entrada de los elementos de memoria, o lo que es lo mismo, a la salida del bloque combinacional, se denominan señales del próximo estado ya que nos indican el estado al que llegará después de que el bloque combinacional haya realizado la operación.

 CLASIFICACIÓN DE LOS SISTEMAS SECUENCIALES:

      Uno de los primeros problemas de los circuitos secuenciales era determinar el momento en el que el próximo estado debía pasar a estado presente, sin capturar situaciones no deseadas como pueden ser los azares. Este problema es lo que se conoce como sincronización, cuyas soluciones dieron lugar a una de la principales clasificaciones de los sistemas secuenciales. Así podemos dividir los sistemas en dos categorías:
• Sistemas asíncronos.- La sincronización depende exclusivamente de los retrasos de la lógica combinacional, sin necesidad de ninguna señal externa al sistema.
• Sistemas síncronos.- La sincronización depende exclusivamente de una señal externa al sistema, conocida generalmente como señal de reloj. Esta señal de reloj controlará el comportamiento de los elementos de memoria:



       Las operaciones de un sistema asíncrono tienen efecto, es decir, se almacena el próximo estado, en intervalos temporales diferentes. Por lo tanto, su velocidad de operación será distinta para cada secuencia de entradas. De esta forma se toma como el parámetro de la velocidad de operación el valor medio de todas las velocidades. Así, la operación de un sistema asíncrono se denomina operación del caso medio.

      En cambio, las operaciones de un sistema síncrono tienen efecto en el mismo intervalo temporal, el dictaminado por el periodo de la señal de reloj. Por lo tanto, su velocidad de operación será siempre la misma para todas las secuencias de entrada. Esta velocidad debe ser tal que todas las operaciones tengan el tiempo necesario para poder llevarse a cabo. Así, la velocidad de un sistema síncrono (y por tanto la frecuencia de la señal de reloj asociada) debe estar limitada por la operación más lenta. A este tipo de operaciones se le suele denominar operación del caso peor.

     Estos dos tipos de operaciones se muestran esquematizadas en la figura 1.4. Ambos se pueden modelar de la misma forma, es decir, con una lógica combinacional y realimentaciones a través de elementos de memoria. La diferencia radica en el control de estos elementos: en el caso síncrono, los elementos de memoria son controlados por una señal externa, que por lo general es controlada directamente por el usuario; mientras que en el caso asíncrono, esta señal de control no existe (por lo que el elemento de memoria se traduce en un elemento de retraso) o en su defecto dicha señal es generada por el propio circuito, luego el gobierno de las operaciones recaen completamente en el propio circuito. Así podemos apreciar que el cambio de las señales de próximo estado a estado presente se llevan a cabo mediante un mayor o menor retraso en el caso asíncrono o cuando lo indique una señal externa en el caso síncrono.


EXISTEN DOS GRANDES TIPOS DE CIRCUITOS SECUENCIALES:
a) Maquina de Mealy. En este tipo de circuitos, las salidas dependen, en cada instante de los valores de los elementos de memoria y de las entradas presentes en ese instante. Aquí, para cada estado, podemos tener tantas salidas como combinaciones tengarnos en las entradas.
b) Maquina de Moore. Aquí las salidas en cada instante dependen exclusivamente de los estados de los elementos de memoria, y no dependen directamente de las entradas en ese instante. Los valores de las entradas, sirven para modificar las diversas transiciones entre estados.

       ECUACIONES BOOLEANAS O LLAMADAS TAMBIÉN FUNCIONES BOOLEANAS:
    Un tipo especial de funciones son las denominadas funciones booleanas. Su especificidad se centra en el hecho que su dominio e imagen se basan en el conjunto {0,1}. Su importancia radica en el hecho que son imprescindibles en la era digital: forman parte del núcleo que permite comprender, más allá de los requerimientos meramente tecnológicos, las bases de la Informática.
    La raíz de las funciones booleanas está en la denominada álgebra booleana, o álgebra de Boole (gran matemático del s. XIX que desarrollo este área). El álgebra de Boole contiene las bases de la lógica binaria, en las que el 0 representa el valor lógico "falso", y el 1 representa el valor lógico "verdadero". Las variables lógicas, cuyos valores son los anteriores, se combinan mediante los llamados conectores u operadores lógicos  para dar lugar a expresiones complejas; a partir de los valores iniciales de las variables lógicas puede calcularse el valor de la expresión compleja, expresión que se denomina función booleana.
   Para cualquier sistema algebraico existen una serie de postulados iniciales, de aquí se pueden deducir reglas adicionales, teoremas y otras propiedades del sistema, el álgebra booleana a menudo emplea los siguientes postulados: 


•Cerrado. El sistema booleano se considera cerrado con respecto a un operador binario si para cada par de valores booleanos se produce un solo resultado booleano.

•Conmutativo. Se dice que un operador binario " º " es conmutativo si A º B = B º A para todos los posibles valores de A y B.
•Asociativo. Se dice que un operador binario " º " es asociativo si (A º B) º C = A º (B º C) para todos los valores booleanos A, B, y C.
•Distributivo. Dos operadores binarios " º " y " % " son distributivos si A º (B % C) = (A º B) % (A º C) para todos los valores booleanos A, B, y C.
•Identidad. Un valor booleano I se dice que es un elemento de identidad con respecto a un operador binario " º " si A º I = A.
•Inverso. Un valor booleano I es un elemento inverso con respecto a un operador booleano " º " si A º I = B, y B es diferente de A, es decir, B es el valor opuesto de A. 

ECUACIONES BOOLEANAS DE ESTADO:

  Un circuito secuencial queda completamente determinado si en cada estado presente en que se encuentre se conoce:
1. Los valores de las señales de salida del circuito y
2. El estado siguiente al cual pasa el circuito cuando ocurra un pulso de reloj.

   Como el estado del circuito secuencial es el conjunto de estados de los flip-flops individuales, para conocer el estado siguiente del circuito se debe conocer el estado siguiente de cada uno de los flip-flops.
   Una ecuación de estado es una expresión algebraica que proporciona el estado siguiente de un flip-flop particular en función del estado presente en un circuito secuencial y de los valores que tengan las señales de entrada al mismo.
  El lado izquierdo de la ecuación denota el estado siguiente y el lado derecho es una función de Boole que evaluada produce el valor del estado siguiente del flip-flop.

    Por ejemplo, la ecuación de estado A(t+1) = x´A´B + xA´B´ es la ecuación de estado del flip-flop A de un circuito secuencial con dos flip-flops A y B y una sola señal de entrada: x.
  La ecuación anterior nos dice que el estado siguiente del flip-flop A, A(t+1), es 1 si:
 1. el estado presente en el circuito es el estado 01 y x=0, ó
2. el estado presente en el circuito es el estado 00 y x=1. En cualquier otra condición, el estado siguiente del flip-flop A será el estado 0.
  De la discusión anterior se desprende que para conocer el estado siguiente de un circuito secuencial harán falta r ecuaciones de estado, donde r es el número de flipflops de dicho circuito.


EJERCICIOS DE CIRCUITOS COMBINACIONALES

Ejercicios de circuitos combinacionales:

1- Diseñar un circuito combinacional cuya entrada sea un número menor o igual que 15 y cuya salida sea la parte entera de su raíz cuadrada debidamente codificada. Dicho circuito debe tener también una línea de salida que indique si el número introducido era o no cuadrado perfecto.

Solución:

N1 =A + B


2- Diseñe un circuito combinacional que realice la suma aritmética de dos números binarios, uno de un bit (A) y otro de dos bits (B1 B0), y cuyo resultado también esté dado en binario (S1 S0).

Solución:

Las funciones canónicas serían: 
  
Los mapas de Karnaugh serán: 


 Se pueden hacer tres bolsas de dos celdas con lo que la expresión quedará: 

La expresión no se puede simplificar por Karnaugh, pero utilizando métodos algebraicos se obtiene: 

Al implementar el circuito combinacional quedará: 

3-  Del circuito siguiente obtener: 1) La ecuación de la salida en suma de productos 2) La tabla de verdad del circuito 3) Hacer el mapa de Karnaugh 4) Obtener a partir del mapa de Karnaugh la ecuación simplificada en suma de productos (SOP) y productos de sumas (POS) 5) Dibujar el esquema en puertas de las ecuaciones en suma de productos y producto de sumas simplificadas:
Solución:
1) Ecuación de la salida en suma de productos:


2) Tabla de verdad:
Una de las maneras de elaborar la tabla de verdad es ir evaluando los valores a las salidas de cada una de las puertas:

3) Mapa de Karnaugh:

4) Ecuaciones en SOP y POS:

5) Esquema de la ecuaciones en SOP y POS simplificadas:








CIRCUITOS COMBINACIONALES

CIRCUITOS DIGITAL O LÓGICO

En el presente contenido hablaremos primero de lo que es un circuito digital o lógico, para que puedan comprender que son Circuitos Combinacionales y Secuenciales.
        Al hablar de circuito digital  estamos en presencia de operaciones binarias ya que es aquel que maneja la información en forma binaria, es decir, con valores de "1" y "0".
         Estos dos niveles lógicos de voltaje fijos representan:
·        "1" nivel alto o "high".
·        "0" nivel bajo o "low".
       Se llaman de esta forma todos los circuitos cuyos componentes realizan operaciones binarias (que indican los operadores lógicos), que están compuestos por elementos digitales como la compuerta AND (Y), compuerta OR (O), compuerta NOT (NO) y otras combinaciones muy complejas de los circuitos antes mencionados.
    Ahora si entrando en el tema que nos interesa podemos decir que los Circuito combinacionales están formados por funciones lógicas elementales ( AND, OR, NAND, NOR, etc. ), que tiene un determinado número de entradas y salidas. Es un circuito cuya salida depende solamente de la "combinación" de sus entradas en el momento que se está realizando la medida en la salida.
    Los circuitos de lógica combinacional son hechos a partir de las compuertas básicas compuerta AND, compuerta OR, compuerta NOT. También pueden ser construidos con compuertas NAND, compuertas NOR, compuerta XOR, que son una combinación de las tres compuertas básicas.
     Los circuitos lógicos digitales pueden ser de dos tipos:
1)     combinacionales y
2)      secuenciales:
LOS CIRCUITOS COMBINACIONALES:
      Son aquellos circuitos digitales con varias entradas y varias salidas, en los cuales la relación entre cada salida y las entradas puede ser expresada mediante una función lógica (expresiones algebraicas, tablas de verdad, circuito con puertas lógicas, etc.), se denominan circuitos combinacionales, es decir la Salida depende sólo de la entrada, por ejemplo: sumador de dos operando. Estos circuitos se denominan combinacionales porque para analizar su comportamiento deben ser tomadas en cuenta todas las combinaciones posibles entre los valores que pueden adoptar las entradas. Por ejemplo:
en un circuito AND de 2 entradas la tabla de estados debe poseer 4 filas para representar las 4 combinaciones posibles de los dos valores (0,1) que cada una de esas dos entradas podra adoptar: 0 con 0, 0 con 1, 1 con 0, 1 con 1:

TIPOS CIRCUITOS COMBINACIONALES
       Hay varios tipos de circuitos combinacionales, atendiendo a su densidad de integración”; esto es, a su número de transistores o de puertas lógicas:
-Circuitos SSI: Son circuitos de baja escala de integración, y contienen hasta 10 puertas lógicas o 100 transistores.
-  Circuitos MSI: Son los de media escala de integración, y contienen entre 10 y 100 puertas lógicas, o de 100 a 1.000 transistores.
 Los circuitos MSI se clasifican de la siguiente forma según la función que desempeñan en los sistemas digitales:
1)     DE COMUNICACIÓN: Transmiten y modifican información.
a)     Codificadores: Con prioridad o sin prioridad.
b)     Decodificadores: Excitadores y no excitadores.
c)      Multiplexores y demultiplexores.
2)     ARITMÉTICOS: Operan con los datos binarios que procesan.
a)     Sumadores y semisumadores.
b)     Comparadores.
c)     Restadores

- Circuitos LSI: Son circuitos de alta escala de integración, y tienen entre 100 y 1.000 puertas lógicas, o de 1.000 a 10.000 transistores.
- Circuitos VLSI: Son los de más alta escala de integración, y tienen más de 1.000 puertas lógicas o más de 10.000 transistores.  
CLASIFICACIÓN
Entre los circuitos combinacionales clásicos tenemos:
1)     Lógicos:
a)     Generador/Detector de paridad
b)     Multiplexor y Demultiplexor
c)     Codificador y Decodificador
d)     Conversor de código
e)     Comparador
 2)     Aritméticos
a)     Sumador
3)     Aritméticos y lógicos
a)     Unidad aritmético lógica

Éstos circuitos están compuestos únicamente por puertas lógicas interconectadas entre sí.

SIMBOLOGÍA DE CIRCUITOS COMBINACIONALES 


FUNCIONES LÓGICAS Y CIRCUITOS COMBINACIONALES:

1. Compuertas Lógicas
El número total de posibles combinaciones de entradas binarias es determinada con la siguiente fórmula: N =2n
Invertidor (NOT): Ejecuta la función lógica básica llamada inversión o complementación. Su propósito es cambiar de un nivel
lógico a su nivel opuesto. En término de bits, cambia de 1 a 0 y de 0 a 1.
AND:  Ejecuta la multiplicación lógica, comúnmente llamada la función AND. La salida sólo es HIGH (1) cuando todas las entradas son HIGH (1), de lo contrario la salida es LOW (0).
OR: Ejecuta la suma lógica, comúnmente llamada la función OR. La salida es HIGH (1) si al menos una entrada es HIGH (1), de lo contrario es la salida es LOW (0).
NAND: Es un elemento lógico muy popular porque se puede utilizar como una función universal. La salida sólo es LOW (0) cuando todas las entradas son HIGH (1), de lo contrario la salida es HIGH (1).
NOR: Al igual que el NAND, es de gran utilidad por su propiedad universal. La salida es LOW (0) si al menos hay una entrada HIGH (1).
XOR: Tiene sólo dos entradas. La salida es HIGH (1) sólo cuando las entradas tienen niveles opuestos, de lo contrario (entrada del mismo nivel) la salida es LOW (0).
XNOR: Tiene sólo dos entradas. La salida es LOW (0) sólo cuando las entradas tienen niveles opuestos, de lo contrario (entrada del mismo nivel) la salida es HIGH (1).
Exor: Esta puerta lógica , la EXOR, nos da a la salida un 0 siempre que sus entradas tengan igual valor . En el resto de los casos da 1 a la salida.
SIMBOLOGÍA TRADICIONAL E INTERNACIONAL CORRESPONDIENTE A LAS PUERTAS LÓGICAS BÁSICAS:


2. Tablas de la Verdad:
     Es un instrumento utilizado para la simplificación de circuitos digitales a través de su ecuación booleana. Todas las tablas de verdad funcionan de la misma manera sin importar la cantidad de columnas que tenga y todas tienen siempre una columna de salida (la última columna a la derecha) que representa el resultado de todas las posibles combinaciones de las entradas.
      El número total de columnas en una tabla de verdad es la suma de las entradas que hay + 1 (la columna de la salida). Les dare un ejemplo para que puedan comprender mejor de que les hablo:

      El número de filas de la tabla es la cantidad de combinaciones que se pueden lograr con las entradas y es igual a 2n, donde en el número de columnas no se toma en cuenta la columna de salida.
   Ejemplo: en la siguiente tabla de verdad hay 3 columnas de entrada, entonces habrán: 23 = 8combinaciones (8 filas):

     Un circuito con 3 interruptores de entrada (con estados binarios “0” o “1”), tendrá 8 posibles combinaciones. Siendo el resultado (la columna salida) determinado por el estado de los interruptores de entrada.
      Los circuitos lógicos son básicamente un arreglo de interruptores, conocidos como “compuertas lógicas” (compuertas AND, NAND, OR, NOR, NOT, etc.). Cada compuerta lógica tiene su tabla de verdad.

 1.Diagramas:

- Diseño de Circuitos
 - Minimización de ecuaciones:
 (1) Algebra Booleana
 (2) Mapas de Karnaugh

2. Funciones Lógicas:
Símbolo Lógico del Half Adder
 
Símbolo Lógico del Full Adder