3.2.3.2.componentes componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/tema3/... ·...
TRANSCRIPT
![Page 1: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/1.jpg)
3.2.3.2.Componentes Componentes combinacionalescombinacionalesbá ibá ibásicosbásicos
Fundamentos de los ComputadoresGrado en Ingeniería Informática
![Page 2: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/2.jpg)
IntroducciónIntroducción
Los circuitos combinacionales son aquellos cuyo valor de salida d d ú i l i t d l l d t ddepende única y exclusivamente de los valores de entrada
Los circuitos complejos suelen diseñarse reutilizando bi i l b i dcomponentes combinacionales básicos de uso común
Los objeti os de este tema son: Los objetivos de este tema son: Describir algunos de los componentes combinacionales básicos más
frecuentemente usados en el diseño de circuitosfrecuentemente usados en el diseño de circuitos Describir como se implementan estos componentes utilizando puertas
lógicas básicasg
Componentes combinacionales básicos 2
![Page 3: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/3.jpg)
IntroducciónIntroducción
Introducción Circuitos comparadores Codificación/Decodificación Selección/Distribución de datos Buses y salidas triestado Buses y salidas triestado Desplazamiento/Rotación Di iti bl Dispositivos programables Resumen y bibliografía
Componentes combinacionales básicos 3
![Page 4: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/4.jpg)
Circuitos comparadoresCircuitos comparadores
La función básica de un circuito comparador consiste en l it d d d tid d bi icomparar las magnitudes de dos cantidades binarias para
determinar la relación entre ellas
En su forma más sencilla, un circuito comparador determina si dos números son iguales o no
Resulta frecuente ampliar la funcionalidad de un circuito comparador para que, en caso de que los dos números p p q , qcomparados no sean iguales, sea capaz de distinguir cuál de los dos es el mayory
Componentes combinacionales básicos 4
![Page 5: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/5.jpg)
Igualdad entre magnitudesIgualdad entre magnitudes
La puerta XOR puede ser utilizada como comparador básico, ya lid 0 i l t d i l 1 i l t dque su salida es 0 si las entradas son iguales y 1 si las entradas
son diferentes
Componentes combinacionales básicos 5
![Page 6: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/6.jpg)
Igualdad entre magnitudesIgualdad entre magnitudes
Por ejemplo, para comparar números binarios de dos bits serán i d t XORnecesarias dos puertas XOR
Si los números son iguales los dos bits también lo seránSi l ú di ti t l d l bit á di ti t Si los números son distintos, alguno de los bits será distinto
Este esquema es fácilmente extensible para números con mayor tid d d bitcantidad de bits
Componentes combinacionales básicos 6
![Page 7: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/7.jpg)
Desigualdad entre magnitudesDesigualdad entre magnitudes
Además de indicar si los números comparados son iguales, es f t l i it d i di ál d lfrecuente que los circuitos comparadores indiquen cuál de los dos números es el mayor
Esto implica la existencia de tres salidas en el circuito:salidas en el circuito: Indicación de si el primer número
es el mayor (A>B) Indicación de si los dos números
son iguales (A=B) Indicación de si el segundo número
es el mayor (A<B)
Componentes combinacionales básicos 7
![Page 8: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/8.jpg)
Desigualdad entre magnitudesDesigualdad entre magnitudes
El procedimiento general para comparar dos números consiste en b d i ld d l i d l i ibuscar una desigualdad en cualquiera de las posiciones, comenzando por el bit más significativo
La relación entre los números queda establecida en el momento en que se encuentre la primera desigualdad Si Ai = 1 y Bi = 0 entonces A > B Si Ai = 0 y Bi = 1 entonces A < B
Si se examinan todas las posiciones y no se encuentra ninguna desigualdad, entonces los números son igualesg g
Componentes combinacionales básicos 8
![Page 9: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/9.jpg)
Desigualdad entre magnitudesDesigualdad entre magnitudes
También resulta útil tener tres entradas para permitir la ió d d i it dconexión en cascada de circuitos comparadores
Cuando se realice este tipo de conexión en cascada es importante i i i i l lid d ltener en cuenta que siempre será prioritaria la salida del
comparador correspondiente a los bits más significativos
Componentes combinacionales básicos 9
![Page 10: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/10.jpg)
Diseño de un circuito comparadorDiseño de un circuito comparador
Un circuito comparador universal que permita comparar dos ú X Y d di ñ t d ód l illnúmeros X e Y puede diseñarse conectando módulos sencillos que
comparen pocos bits
Cada módulo necesitará sólo dos salidas: G y L G = 1 X > Y G = 0 X ≤ Y
L = 1 X < Y L = 0 X ≥ Y
Si G = 0 y L = 0 al mismo tiempo X = Y
La conexión de estos módulos para generar un circuito comparador puede hacerse en serie o en paralelo
Componentes combinacionales básicos 10
![Page 11: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/11.jpg)
Diseño de un circuito comparadorDiseño de un circuito comparador
El diseño de un circuito comparador de números de dos bits d li d l ét d d K hpuede realizarse usando el método de Karnaugh
G = A1B1 + A1A0B0 + B1A0B0
L = A1B1 + A1A0B0 + B1A0B0
Componentes combinacionales básicos 11
![Page 12: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/12.jpg)
Diseño de un circuito comparadorDiseño de un circuito comparador
Dadas estas ecuaciones, el diseño del circuito comparador de ú d d bit d inúmeros de dos bits queda como sigue:
G = A1B1 + A1A0B0 + B1A0B0
L = A1B1 + A1A0B0 + B1A0B0
Componentes combinacionales básicos 12
![Page 13: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/13.jpg)
Diseño de un circuito comparadorDiseño de un circuito comparador
Una implementación en serie de un comparador usaría un ód l d d bit d j d bit d bmódulo de dos bits para comparar cada pareja de bits de ambos
númerosl l d d l i d Hay que tener en cuenta que el resultado de la comparación de
los bits más significativos siempre es prioritaria respecto a los d á bitdemás bits
Componentes combinacionales básicos 13
![Page 14: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/14.jpg)
Diseño de un circuito comparadorDiseño de un circuito comparador
El problema de la conexión en serie es que el retardo del circuito l b l d d d l ió d l ñ l t d lglobal depende de la propagación de la señal por todos los
módulosd l i l l l Esto puede resolverse con una conexión paralela en la que
primero se comparan parejas, luego parejas de parejas y así i tsucesivamente
Componentes combinacionales básicos 14
![Page 15: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/15.jpg)
IntroducciónIntroducción
Introducción Circuitos comparadores Codificación/Decodificación Selección/Distribución de datos Buses y salidas triestado Buses y salidas triestado Desplazamiento/Rotación Di iti bl Dispositivos programables Resumen y bibliografía
Componentes combinacionales básicos 15
![Page 16: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/16.jpg)
Circuitos decodificadoresCircuitos decodificadores
La función básica de un decodificador es detectar la presencia de d t i d bi ió d bit d i d ódiuna determinada combinación de bits, denominada código, en
sus entradas
Un decodificador indicará la presencia de un código en sus entradas por medio de un determinado nivel de salida, ya sea alto o bajo
En su forma más general, un decodificador tendrá n entradas y 2ng , ysalidas para indicar cada una de las posibles combinaciones de valores de las entradas
Componentes combinacionales básicos 16
![Page 17: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/17.jpg)
Activación a nivel altoActivación a nivel alto
Por ejemplo, supongamos que queremos indicar cuándo aparece l bi ió 1001 l t d d i it di dla combinación 1001 en las entradas de un circuito por medio de un nivel alto en la salida
d ili l b i d Se puede utilizar una puerta AND como elemento básico de decodificación, ya que sólo genera un nivel alto a la salida si t d l t d tá i l lttodas las entradas están a nivel alto
ABB
X = ABCD
CD
Componentes combinacionales básicos 17
![Page 18: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/18.jpg)
Entrada de habilitaciónEntrada de habilitación
Los circuitos decodificadores suelen incorporar también una t d d h bilit ió E h bilit f i i tentrada de habilitación E para habilitar o no su funcionamiento
Cuando la entrada de habilitación de un decodificador activo a Cuando la entrada de habilitación de un decodificador activo a nivel alto esté a 0, todas las salidas serán 0 independientemente de la combinación de valores de las entradasde la combinación de valores de las entradas
Cuando la entrada de habilitación esté a 1, la salida Cuando la entrada de habilitación esté a 1, la salida correspondiente a la combinación de valores de las entradas será 1 y todas las demás salidas serán 0y
Componentes combinacionales básicos 18
![Page 19: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/19.jpg)
Decodificadores activos a nivel altoDecodificadores activos a nivel alto
Un decodificador de 1 entrada tendrá 2 salidas, tal y como se t ti iómuestra a continuación
C0 = E·A00 0
C1 = E·A0
Componentes combinacionales básicos 19
![Page 20: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/20.jpg)
Decodificadores activos a nivel altoDecodificadores activos a nivel alto El diseño anterior puede expandirse fácilmente para obtener un
decodificador de 2 entradas y 4 salidasdecodificador de 2 entradas y 4 salidas
C0 = E·A1·A0
C = E A AC1 = E·A1·A0
C2 = E·A1·A02 1 0
C3 = E·A1·A0
Componentes combinacionales básicos 20
![Page 21: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/21.jpg)
Decodificadores activos a nivel altoDecodificadores activos a nivel alto
También resulta posible construir decodificadores mayores, por j l 3 t d 8 lid ti d l blejemplo con 3 entradas y 8 salidas, a partir de los bloques
anterioresl di i l i i i l d d difi d d d l d El diseño incluirá varios niveles de decodificadores, donde los de
un nivel habilitan o no a los del siguiente
Componentes combinacionales básicos 21
![Page 22: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/22.jpg)
Activación a nivel bajoActivación a nivel bajo
Supongamos ahora que queremos indicar cuándo aparece la bi ió 1001 l t d d i it di dcombinación 1001 en las entradas de un circuito por medio de un
nivel bajo en la salida d ili l b i d Se puede utilizar una puerta NAND como elemento básico de
decodificación, ya que sólo genera un nivel bajo a la salida si t d l t d tá i l lttodas las entradas están a nivel alto
ABB
X = ABCD
CD
Componentes combinacionales básicos 22
![Page 23: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/23.jpg)
Decodificadores activos a nivel bajoDecodificadores activos a nivel bajo
Por ejemplo, un decodificador activo a nivel bajo con 4 líneas de t d it á 16 lid d d difi t d lentrada necesitará 16 salidas para poder decodificar todas las
posibles combinaciones de entrada
Componentes combinacionales básicos 23
![Page 24: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/24.jpg)
Decodificadores activos a nivel bajoDecodificadores activos a nivel bajo
Otro ejemplo es el decodificador BCD a decimal, que tiene 4 lí d t d d ódi BCD 8421líneas de entrada que se corresponden con un código BCD 8421
Este decodificador sólo necesita 10 líneas de salida, di l d i d i l h icorrespondientes a los dígitos decimales, ya que hay que ignorar
6 de las posibles combinaciones de entrada
Componentes combinacionales básicos 24
![Page 25: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/25.jpg)
Decodificadores activos a nivel bajoDecodificadores activos a nivel bajo
Otra aplicación es usar un decodificador con 4 líneas de entrada, di t ódi BCD 7 lí d lidcorrespondientes a un código BCD, y 7 líneas de salida que
controlen un display de 7 segmentos
Componentes combinacionales básicos 25
![Page 26: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/26.jpg)
Generación de funciones lógicasGeneración de funciones lógicas
Cada salida de un decodificador se corresponde con un término d t té i l dproducto o con un término suma, por lo que podemos usar
decodificadores para implementar funciones lógicas
Ejemplo: dada una tabla de verdad obtener una 0) 0 0 0 0
A B C Fde verdad, obtener una expresión como suma de productos o como
0) 0 0 01) 0 0 12) 0 1 03) 0 1 1
0101productos o como
producto de sumas3) 0 1 14) 1 0 05) 1 0 16) 1 1 0
10106) 1 1 0
7) 1 1 101
F(A,B,C) = ∏(0,2,4,6)F(A,B,C) = ∑(1,3,5,7)
Componentes combinacionales básicos 26
F(A,B,C) ∏(0,2,4,6)
![Page 27: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/27.jpg)
Generación de funciones lógicasGeneración de funciones lógicas
Para generar una función expresada como suma de productos d difi d ti i l lt á i tcon un decodificador activo a nivel alto será necesario conectar
las salidas correspondientes a una puerta OR
F(A,B,C) = ∑(1,3,5,7)
Componentes combinacionales básicos 27
![Page 28: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/28.jpg)
Generación de funciones lógicasGeneración de funciones lógicas
Para generar una función expresada como suma de productos d difi d ti i l b j á i tcon un decodificador activo a nivel bajo será necesario conectar
las salidas correspondientes a una puerta NAND
F(A,B,C) = ∑(1,3,5,7)
Componentes combinacionales básicos 28
![Page 29: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/29.jpg)
Generación de funciones lógicasGeneración de funciones lógicas
Para generar una función expresada como producto de sumas d difi d ti i l lt á i tcon un decodificador activo a nivel alto será necesario conectar
las salidas correspondientes a una puerta NOR
F(A,B,C) = ∏(0,2,4,6)
Componentes combinacionales básicos 29
( ) ∏( )
![Page 30: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/30.jpg)
Generación de funciones lógicasGeneración de funciones lógicas
Para generar una función expresada como producto de sumas d difi d ti i l b j á i tcon un decodificador activo a nivel bajo será necesario conectar
las salidas correspondientes a una puerta AND
F(A,B,C) = ∏(0,2,4,6)
Componentes combinacionales básicos 30
( ) ∏( )
![Page 31: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/31.jpg)
Circuitos codificadoresCircuitos codificadores
Un circuito codificador realiza, en esencia, la función contraria a i it d difi dun circuito decodificador
Cuando se activa una de sus líneas de entrada, un circuito codificador generará una salida codificada correspondiente a la entrada
En su forma más general, un codificador tendrá n salidas y 2n
entradas que se corresponderán a cada una de las posibles q p pcombinaciones de salida
Componentes combinacionales básicos 31
![Page 32: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/32.jpg)
Codificadores activos a nivel altoCodificadores activos a nivel alto
Un codificador activo a nivel alto generará una combinación de lid i l t d di t tá i l ltsalida si la entrada correspondiente está a nivel alto
P j l Por ejemplo, un codificador de decimal a BCD 8421 tendrá 10BCD 8421 tendrá 10 líneas de entrada, que se corresponden con loscorresponden con los dígitos decimales, y 4 líneas de salida paralíneas de salida para codificarlas
Componentes combinacionales básicos 32
![Page 33: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/33.jpg)
Codificadores activos a nivel altoCodificadores activos a nivel alto
Cada una de las líneas de salida se corresponde a uno de los bits d l ódi BCD 8421del código BCD 8421
A0 = 1 + 3 + 5 + 7 + 9A1 = 2 + 3 + 6 + 7A2 = 4 + 5 + 6 + 7A2 4 + 5 + 6 + 7A3 = 8 + 9
Componentes combinacionales básicos 33
![Page 34: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/34.jpg)
Codificadores activos a nivel bajoCodificadores activos a nivel bajo
Un codificador también puede ser activo a nivel bajo, es decir, á bi ió d lid d l t dgenerará una combinación de salida cuando la entrada
correspondiente esté a nivel bajoj l difi d d l bi i d l d Por ejemplo, un codificador de octal a binario tendrá 8 líneas de
entrada, correspondientes a los dígitos octales, y 3 líneas de lid difi l bi isalida para codificarlos en binario
Componentes combinacionales básicos 34
![Page 35: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/35.jpg)
Codificadores con prioridadCodificadores con prioridad
Si se activa más de una línea de entrada en un circuito difi d l lt d d lid á l dcodificador, el resultado de salida no será el esperado
Para evitar esto es necesario dar un orden de prioridad a las entradas, de manera que siempre que haya varias entradas activadas sólo se tenga en cuenta una de ellas
Un codificador con prioridad también puede tener una salida adicional, denominada CUALQUIERA, que se activará si alguna , Q , q gde las entradas está activada
Componentes combinacionales básicos 35
![Page 36: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/36.jpg)
Codificadores con prioridadCodificadores con prioridad
Un codificador con prioridad activo a nivel alto con 2 entradas t d á 1 lí d lid t l t ti iótendrá 1 línea de salida, tal y como se muestra a continuación
A0 = D1
C l i D DCualquiera = D0+D1
Componentes combinacionales básicos 36
![Page 37: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/37.jpg)
Codificadores con prioridadCodificadores con prioridad
El diseño anterior puede expandirse fácilmente para obtener un d difi d d 4 t d 2 liddecodificador de 4 entradas y 2 salidas
A = D ·D +DA0 = D1 D2+D3
A1 = D2+D3
C l i D +D +D +DCualquiera = D0+D1+D2+D3
Componentes combinacionales básicos 37
![Page 38: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/38.jpg)
IntroducciónIntroducción
Introducción Circuitos comparadores Codificación/Decodificación Selección/Distribución de datos Buses y salidas triestado Buses y salidas triestado Desplazamiento/Rotación Di iti bl Dispositivos programables Resumen y bibliografía
Componentes combinacionales básicos 38
![Page 39: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/39.jpg)
Circuitos multiplexores o selectoresCircuitos multiplexores o selectores
Un multiplexor o selector es un circuito que permite dirigir la i f ió di it l d t d i lí d t d h iinformación digital procedente de varias líneas de entrada hacia una única línea de salida
Su principal objetivo es permitir que información procedente de varias fuentes pueda transmitirse a un destino común a través de una línea compartida
Un multiplexor posee 2n líneas de entrada y una única línea de p p ysalida, además de n entradas de selección que permiten decidir qué entrada se conecta a la salidaq
Componentes combinacionales básicos 39
![Page 40: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/40.jpg)
Diseño de circuitos multiplexoresDiseño de circuitos multiplexores
Este diagrama muestra el diseño de un circuito multiplexor con 2 t d d d t 1 t d d l ió it l ientradas de datos y 1 entrada de selección que permite elegir
entre ellas
Y = S·D0 +S·D1
Componentes combinacionales básicos 40
![Page 41: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/41.jpg)
Diseño de circuitos multiplexoresDiseño de circuitos multiplexores
Este otro diagrama muestra el diseño de un multiplexor con 4 t d d d t l á i 2 t d dentradas de datos, por lo que serán necesarias 2 entradas de
selección para elegir entre ellas
Y=S0S1D0+ S0S1D1+ S0S1D2+ S0S1D3
Componentes combinacionales básicos 41
![Page 42: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/42.jpg)
Diseño de circuitos multiplexoresDiseño de circuitos multiplexores
Un multiplexor con 8 entradas de datos y 3 de selección puede t i d i lti lconstruirse usando varios multiplexores menores
Un primer nivel de multiplexores permitirá elegir entre cada dos d l i i i l l i l j ientradas, el siguiente nivel elegirá entre las parejas anteriores y
así sucesivamente
Componentes combinacionales básicos 42
![Page 43: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/43.jpg)
Diseño de circuitos multiplexoresDiseño de circuitos multiplexores
Un multiplexor de 8 entradas de datos también puede i l t d d difi d d 3 t dimplementarse usando un decodificador de 3 entradas para controlar las señales de selección
i l d l i l Esta técnica sólo puede usarse para multiplexores pequeños, pues, en otro caso, el coste del decodificador y la puerta OR de
lid í d i d dsalida sería demasiado grande
Componentes combinacionales básicos 43
![Page 44: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/44.jpg)
Generación de funciones lógicasGeneración de funciones lógicas
Una aplicación de los multiplexores es la generación de f i ló ifunciones lógicas El número de entradas de selección equivale al número de variables de la
funciónfunción El número de entradas de datos equivale al número de posibles
combinaciones de entrada
Dada una tabla de verdad las entradas del multiplexor Dada una tabla de verdad, las entradas del multiplexor correspondientes a las líneas de la tabla con valor de salida 1 se fijan a 1fijan a 1
El resto de las entradas de datos se fijan a 0
Componentes combinacionales básicos 44
![Page 45: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/45.jpg)
Generación de funciones lógicasGeneración de funciones lógicas
Dada una función de 3 variables, podemos representarla tili d lti l 3 t d d l ióutilizando un multiplexor con 3 entradas de selección
F(A B C) = ∑(1 2 4 5)F(A,B,C) ∑(1,2,4,5)
F(A,B,C) = ∏(0,3,6,7)
0) 0 0 0 0A B C F
MUX1) 0 0 12) 0 1 03) 0 1 1
1103) 0
4) 1 0 05) 1 0 16) 1 1 0
01106) 1 1 0
7) 1 1 100
Componentes combinacionales básicos 45
![Page 46: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/46.jpg)
Generación de funciones lógicasGeneración de funciones lógicas
Una función de 3 variables también se puede realizar usando un lti l ól 2 t d d l ió d dmultiplexor con sólo 2 entradas de selección, usando un mapa de
Karnaugh como ayuda
F(A,B,C) = ∑(1,2,4,5)
MUX
F(A,B,C) = ∏(0,3,6,7)
MUXAB
C 0 100 10 D0
1011110 11
000
D1D3D210 11 D2
Componentes combinacionales básicos 46
![Page 47: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/47.jpg)
Generación de funciones lógicasGeneración de funciones lógicas
También podemos realizar una función de 4 variables con un lti l d 3 t d d l ió i d j d lmultiplexor de 3 entradas de selección, siempre dejando en las
columnas del mapa una única variable
F(A,B,C,D) = ∑(1,2,4,5,9,10,11)F(A,B,C,D) = ∏(0,3,6,7,8,12,13,14,15)ABC
D 0 1000 10 D0
MUX1001011
000
D1D3
010 11 D2110 00 D6
0111101
0
011
D7D5
Componentes combinacionales básicos 47
100 10 D4
![Page 48: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/48.jpg)
Diseño de circuitos codificadoresDiseño de circuitos codificadores
Los multiplexores o selectores también pueden usarse para i l t i it difi d i id d ti dimplementar un circuito codificador con prioridad a partir de circuitos codificadores simples
Un codificador diseñado así tendrá varios niveles formadostendrá varios niveles formados por codificadores más sencillos que agrupan las líneas de q g pentrada
Las salidas CUALQUIERA de Las salidas CUALQUIERA de los codificadores se propagarán hasta que se obtenga el código q g gde salida
Componentes combinacionales básicos 48
![Page 49: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/49.jpg)
Diseño de circuitos codificadoresDiseño de circuitos codificadores
La salida CUALQUIERA de los codificadores de un mismo i l tili á t d d l ió i itnivel se utilizará como entrada de selección para circuitos
multiplexores que generen los bits menos significativos de cada parte del códigoparte del código
Componentes combinacionales básicos 49
![Page 50: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/50.jpg)
Circuitos demultiplexores o distribuidoresCircuitos demultiplexores o distribuidores
Un demultiplexor realiza la función contraria a la de un lti l d i di t ib i l d t i t dmultiplexor, es decir, distribuir los datos provenientes de una
línea de entrada entre varias líneas de salida
Su principal objetivo es permitir que información procedente una fuente común que llega por una línea compartida pueda transmitirse a varios destinos
Un demultiplexor posee una única línea de entrada y 2n líneas de p p ysalida, además de n entradas de selección que permiten decidir qué salida se conecta a la entradaq
Componentes combinacionales básicos 50
![Page 51: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/51.jpg)
Diseño de circuitos demultiplexoresDiseño de circuitos demultiplexores
Este diagrama muestra el diseño de un circuito demultiplexor 4 lid d d t 2 t d d l ió itcon 4 salidas de datos y 2 entradas de selección que permiten
elegir entre ellas
0 0S0 S1 D0 D1 D2 D3
E X X X0 00 1
EX
XE
XX
XX
1 01 1
XX
XX
EX
XE
Componentes combinacionales básicos 51
![Page 52: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/52.jpg)
Diseño de circuitos demultiplexoresDiseño de circuitos demultiplexores
La implementación de un demultiplexor puede realizarse usando i it d difi d t d d h bilit ióun circuito decodificador con una entrada de habilitación
Las entradas de datos serán usadas como entradas de selección
La entrada de habilitación será usada como entrada de datos▫ Cuando esté a 0, todas las
salidas estarán a 0▫ Cuando esté a 1, la salida
correspondiente al códigoDEMUX
correspondiente al código de entrada estará a 1
Componentes combinacionales básicos 52
![Page 53: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/53.jpg)
IntroducciónIntroducción
Introducción Circuitos comparadores Codificación/Decodificación Selección/Distribución de datos Buses y salidas triestado Buses y salidas triestado Desplazamiento/Rotación Di iti bl Dispositivos programables Resumen y bibliografía
Componentes combinacionales básicos 53
![Page 54: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/54.jpg)
BusesBuses
Es difícil fabricar multiplexores con un gran número de t d i li í t li ú dentradas, ya que eso implicaría centralizar un gran número de
conexiones en un único lugar
Un bus es un elemento de transmisión de datos, fácil de fabricar, que permite solucionar este problema
Para implementar un bus se utiliza un componente denominado adaptador triestado, cuya salida puede proporcionar tres posibles p , y p p p pvalores: un 0, un 1 o un estado de alta impedancia
Componentes combinacionales básicos 54
![Page 55: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/55.jpg)
Adaptadores triestadoAdaptadores triestado
Un adaptador triestado tiene una línea de datos (D), una línea de lid (Y) t d d h bilit ió (E)salida (Y) y una entrada de habilitación (E) Siempre que la entrada de habilitación esté a 1, la salida será igual al
contenido de la entradacontenido de la entrada Si la entrada de habilitación está a 0, la salida será un estado de alta
impedanciap
En la práctica, el estado de alta impedancia (Z) puede considerarse como una desconexión eléctrica del busconsiderarse como una desconexión eléctrica del bus
Componentes combinacionales básicos 55
![Page 56: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/56.jpg)
Adaptadores triestadoAdaptadores triestado
El funcionamiento de los adaptadores triestado de un bus es i l t l d lti lequivalente al de un multiplexor
Cada bus contiene un conjunto de jadaptadores triestado, de forma que se utiliza uno de ellos para cada fuente de pdatos que se conecta al bus
Las entradas de habilitación de los adaptadores deben establecerse de manera que sólo una fuente de datos qpueda estar conectada al bus en un momento dado
Componentes combinacionales básicos 56
![Page 57: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/57.jpg)
Implementación de busesImplementación de buses
Utilizando los mismos principios se pueden construir buses que t á f t d d ttengan más fuentes de datos
Por ejemplo, un bus con cuatro j p ,fuentes necesitará dos entradas de selección para elegir la fuente que se p g qconecta al bus
Estas entradas de selección pueden pconectarse a un decodificador, que será el encargado de manipular las g plíneas de habilitación de los adaptadores triestado
Componentes combinacionales básicos 57
![Page 58: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/58.jpg)
IntroducciónIntroducción
Introducción Circuitos comparadores Codificación/Decodificación Selección/Distribución de datos Buses y salidas triestado Buses y salidas triestado Desplazamiento/Rotación Di iti bl Dispositivos programables Resumen y bibliografía
Componentes combinacionales básicos 58
![Page 59: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/59.jpg)
Desplazamiento y rotaciónDesplazamiento y rotación
Una operación de desplazamiento consiste en desplazar un ú bi i i i d bit l i i d l d hnúmero binario m posiciones de bit a la izquierda o a la derecha
Como resultado de un desplazamiento, se mueven fuera m bits del número y se introducen m bits nuevos
Una operación de rotación es similar a una de desplazamiento, Una operación de rotación es similar a una de desplazamiento, pero en ella no se pierden bits, ya que los que se mueven fuera son los que se introducen de nuevo por el otro extremo del q pnúmero
Componentes combinacionales básicos 59
![Page 60: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/60.jpg)
Modos de desplazamientoModos de desplazamiento
La operación de desplazamiento puede realizarse tanto en modo ló i d it étilógico como en modo aritmético
Un desplazamiento lógico siempre introduce ceros para rellenar Un desplazamiento lógico siempre introduce ceros para rellenar las posiciones vacías del número desplazado
Un desplazamiento aritmético de una posición representa una multiplicación por dos si es a la izquierda o una división por dos si es a la derecha Si se desplaza a la derecha un número en complemento a 2, se rellenan las
i i i d l bit d inuevas posiciones con copias del bit de signo Si se desplaza a la izquierda un número en complemento a 2, el bit más
significativo debe ser un duplicado del bit de signosignificativo debe ser un duplicado del bit de signo
Componentes combinacionales básicos 60
![Page 61: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/61.jpg)
Circuitos desplazadores y rotadoresCircuitos desplazadores y rotadores
La implementación de circuitos desplazadores y rotadores se li tili d lti lrealiza utilizando multiplexores
Por ejemplo un circuito desplazador/rotador universal Por ejemplo, un circuito desplazador/rotador universal necesitaría tres señales de control para manipular los multiplexoresmultiplexores Una señal S0 indicará si el circuito debe realizar una operación de
desplazamiento o una operación de rotaciónp p Una señal S1 indicará si la operación de desplazamiento o rotación debe
realizarse a la izquierda o a la derecha Una señal S2 indicará si se realiza la operación de desplazamiento o
rotación, o bien si se deja el número sin modificar
Componentes combinacionales básicos 61
![Page 62: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/62.jpg)
Circuitos desplazadores y rotadoresCircuitos desplazadores y rotadores Este diagrama muestra un circuito desplazador/rotador universal
que puede realizar un desplazamiento lógico o rotar una posiciónque puede realizar un desplazamiento lógico o rotar una posición a izquierda o derecha
Componentes combinacionales básicos 62
![Page 63: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/63.jpg)
Circuitos desplazadores y rotadoresCircuitos desplazadores y rotadores
El circuito anterior solo puede realizar una operación d l i t t ió d ú i i iódesplazamiento o rotación de una única posición
Esto significa que para desplazar o rotar más de una posición habrá que pasar el número por el circuito varias veces, lo que ralentizaría el proceso
Para evitar esto se puede utilizar un desplazador o rotador en bloques, que es capaz de desplazar o rotar cualquier número de q , q p p qposiciones
Componentes combinacionales básicos 63
![Page 64: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/64.jpg)
Circuitos desplazadores y rotadoresCircuitos desplazadores y rotadores
Los desplazadores/rotadores en bloques utilizan varios niveles de lti lmultiplexores
Dado un número de n bits el desplazamiento/rotación máximo Dado un número de n bits, el desplazamiento/rotación máximo será de n – 1 bits, para lo que serán necesarios tantos niveles de multiplexores como bits tenga la representación binaria de nmultiplexores como bits tenga la representación binaria de n
Cada nivel de multiplexores desplazará o rotará el número tantas Cada nivel de multiplexores desplazará o rotará el número tantas posiciones como el peso de uno de los bits de n, por lo que combinándolos todos podremos obtener todos los valores entre 0 py n – 1
Componentes combinacionales básicos 64
![Page 65: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/65.jpg)
Circuitos desplazadores y rotadoresCircuitos desplazadores y rotadores
Por ejemplo, un rotador a la derecha en bloques para números de h bit l t d l di it á tocho bits, como el mostrado en el diagrama, necesitará tres
entradas de selecciónS t 1 i ió S0 rota 1 posición
S1 rota 2 posiciones S rota 4 posiciones S2 rota 4 posiciones
Componentes combinacionales básicos 65
![Page 66: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/66.jpg)
IntroducciónIntroducción
Introducción Circuitos comparadores Codificación/Decodificación Selección/Distribución de datos Buses y salidas triestado Buses y salidas triestado Desplazamiento/Rotación Di iti bl Dispositivos programables Resumen y bibliografía
Componentes combinacionales básicos 66
![Page 67: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/67.jpg)
Dispositivos lógicos programables (PLD)Dispositivos lógicos programables (PLD)
Los dispositivos lógicos programables (PLD – Programmable Logic ) tili l i it l jDevice) se utilizan para reemplazar circuitos complejos,
reduciendo el coste y ahorrando espacio
Un PLD está formado por una matriz de puertas AND y puertas OR que se puede programar para conseguir funciones lógicas específicas
Esencialmente, una de estas matrices programables es una red de , p gconductores distribuidos en filas y columnas con un fusible en cada punto de intersecciónp
Componentes combinacionales básicos 67
![Page 68: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/68.jpg)
Matriz OR programableMatriz OR programable
Una matriz OR está formada por una serie de puertas OR t d t i blconectadas a una matriz programable
La matriz se programa fundiendo los fusibles para eliminar d i d i bl d l d liddeterminadas variables de los puntos de salida Para cada entrada de una puerta OR sólo quedará intacto el fusible
di t l i bl d dcorrespondiente a la variable deseada Una vez fundido, un fusible no se puede volver a conectar
Componentes combinacionales básicos 68
![Page 69: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/69.jpg)
Matriz AND programableMatriz AND programable
Una matriz AND está formada por una serie de puertas AND t d t i blconectadas a una matriz programable
La matriz se programa fundiendo los fusibles para eliminar d i d i bl d l d liddeterminadas variables de los puntos de salida Para cada entrada de una puerta AND sólo quedará intacto el fusible
di t l i bl d dcorrespondiente a la variable deseada Una vez fundido, un fusible no se puede volver a conectar
Componentes combinacionales básicos 69
![Page 70: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/70.jpg)
Clasificación de los PLDClasificación de los PLD
Existen cuatro tipos de PLD, clasificados en función de la i ió d l t i torganización de sus elementos internos:
Memorias programables de sólo lectura (PROM – Programmable Read-Only Memory)Memorias programables de sólo lectura (PROM Programmable Read-Only Memory)
Matrices lógicas programables PLA (PLA - Programmable Logic Array)
Matrices lógicas programables PAL (PAL - Programmable Array Logic)
Matrices lógicas genéricas (GAL – Generic Array Logic)
Componentes combinacionales básicos 70
![Page 71: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/71.jpg)
PROMPROM
Las memorias programables de sólo lectura (PROM – Programmable ) tá f d j t fij d tRead-Only Memory) están formadas por un conjunto fijo de puertas
AND conectadas como decodificador y una matriz programable OROR
Debido a la limitación de las puertas AND fijas, las PROM l i di i blsuelen usarse como memorias direccionables y no como
dispositivos lógicos
Componentes combinacionales básicos 71
![Page 72: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/72.jpg)
PLAPLA
Las matrices lógicas programables PLA (Programmable Logic Array) tá f d t i AND bl t iestán formadas por una matriz AND programable y una matriz
OR programable
Componentes combinacionales básicos 72
![Page 73: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/73.jpg)
PALPAL
Las matrices lógicas programables PAL (Programmable Array Logic) tá f d t i AND bl t iestán formadas por una matriz AND programable y una matriz
OR fija con una lógica de salidai l d l l jid d d l Este esquema evita los retardos y la complejidad causada por los
fusibles adicionales resultantes de tener dos matrices blprogramables
Componentes combinacionales básicos 73
![Page 74: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/74.jpg)
GALGAL
Las matrices lógicas genéricas (GAL – Generic Array Logic) se forman t i AND bl t i OR fijcon una matriz AND programable y una matriz OR fija con una
lógica de salida programabledif i d l Se diferencian de las PAL en que:
Las configuraciones de salida son programables Las GAL se pueden reprogramar una y otra vez debido a que usan una
tecnología más avanzada en lugar de fusibles
Componentes combinacionales básicos 74
![Page 75: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/75.jpg)
Matrices lógicas programables (PAL)Matrices lógicas programables (PAL)
Las PAL están formadas por una matriz programable de puertas AND t d t i d t OR fij ló iAND conectadas a una matriz de puertas OR fijas con una lógica de salida
La matriz AND programable está formada por una red de conductores con cada fila conectada a la entrada de una puertaconductores, con cada fila conectada a la entrada de una puerta AND y cada columna conectada a una variable de entrada o a su complementocomplemento
Cada punto de intersección entre una fila y una columna se p ydenomina celda, siendo éste el elemento programable de la PAL
Componentes combinacionales básicos 75
![Page 76: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/76.jpg)
Programación de una PALProgramación de una PAL
Una PAL permite implementar cualquier expresión en forma d d d t ú d i bl d fi idde suma de productos con un número de variables definido
Por ejemplo, este diagrama muestra la estructura básica de una d i bl d d lidPAL para dos variables de entrada y una salida
Componentes combinacionales básicos 76
![Page 77: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/77.jpg)
Programación de una PALProgramación de una PAL
El proceso de programación consiste en fundir los fusibles d d bt l f ió d dadecuados para obtener la función deseada Cuando se requiere la conexión entre una fila y una columna, el fusible
correspondiente queda intactocorrespondiente queda intacto Cuando dicha conexión no se requiere, el fusible se abre
Componentes combinacionales básicos 77
![Page 78: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/78.jpg)
PAL: Símbolos simplificadosPAL: Símbolos simplificados
Las PAL reales son circuitos muy complejos, por lo que los f b i t h d t d t ió i lifi dfabricantes han adoptado una notación simplificada para representarlos
i l di d i d l d d Para evitar cargar el diseño con demasiadas líneas de entrada se utilizan buffers de entrada, que generan tanto el valor de una
i bl l tvariable como su complemento Para evitar cargar el diseño con demasiadas filas, las entradas de
las puertas AND se representan con una única línea horizontal Para representar los fusibles intactos se utiliza una X, mientras
que para los fusibles fundidos no se indica nada
Componentes combinacionales básicos 78
![Page 79: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/79.jpg)
PAL: Símbolos simplificadosPAL: Símbolos simplificados
Este diagrama muestra una expresión lógica en forma de suma d d t i l t d PAL d l t ióde productos implementada con una PAL usando la notación simplificada
Componentes combinacionales básicos 79
![Page 80: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/80.jpg)
PAL: Lógica PAL: Lógica combinacionalcombinacional de salidade salida
Existen varios tipos de circuitos bi i l d lidcombinacionales de salida:
Una salida combinacional, usada para una suma de productos que puede estar asuma de productos, que puede estar a nivel alto o bajo
Una entrada/salida combinacional, que se , qusa cuando la salida debe realimentarse a una entrada de la matriz
Una salida de polaridad programable, que permite seleccionar la función de salida o su complemento usando una puerta XORsu complemento usando una puerta XOR y un fusible que se elimina para invertir la salida
Componentes combinacionales básicos 80
![Page 81: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/81.jpg)
Matrices lógicas genéricas (GAL)Matrices lógicas genéricas (GAL)
Las GAL están formadas por una matriz de puertas AND bl t d t i d t OR fijreprogramable conectada a una matriz de puertas OR fija con
una lógica de salida programable
La matriz AND reprogramable está formada por una red de conductores ordenados en filas y columnas con una celdaconductores, ordenados en filas y columnas, con una celda E2CMOS (Electrically Erasable CMOS) en cada punto de intersección en lugar de un fusibleen lugar de un fusible
Cada fila de celdas está conectada a la entrada de una puerta pAND y cada columna a una variable de entrada o a su complementop
Componentes combinacionales básicos 81
![Page 82: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/82.jpg)
Matrices lógicas genéricas (GAL)Matrices lógicas genéricas (GAL)
Una celda E2CMOS activada conecta de forma efectiva su di t fil l i t ldcorrespondiente fila y columna, mientras que una celda
desactivada no conecta la fila con la columna
La principal ventaja de utilizar celdas E2CMOS en lugar de fusibles es que cada una de estas celdas se puede borrar y reprogramar eléctricamente
Dependiendo de la tecnología, una celda E2CMOS típica puede p g , p ppermanecer en el estado en el que se la ha programado durante 20 años o más
Componentes combinacionales básicos 82
![Page 83: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/83.jpg)
Programación de una GALProgramación de una GAL
Una GAL permite implementar cualquier expresión en forma d d d t ú d i bl d fi idde suma de productos con un número de variables definido
Por ejemplo, este diagrama muestra la estructura básica de una d i bl d d lidGAL para dos variables de entrada y una salida
Componentes combinacionales básicos 83
![Page 84: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/84.jpg)
Programación de una GALProgramación de una GAL
El proceso de programación consiste en activar o desactivar cada ld E2CMOS l bj ti d li l bi iócelda E2CMOS con el objetivo de aplicar la combinación
adecuada de variables a cada puerta AND y obtener la suma de productosproductos
Componentes combinacionales básicos 84
![Page 85: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/85.jpg)
Programación de una GALProgramación de una GAL
Las salidas de las puertas AND se introducen en macroceldas ló i d lid ( ) tilógicas de salida (OLMC – Output Logic Macrocells) que contienen puertas OR y lógica programable
i h fl ibilid d l Estas OLMC proporcionan mucha más flexibilidad que la lógica de salida fija de las PAL, convirtiendo las GAL en un ti d di iti á átiltipo de dispositivo más versátil
Componentes combinacionales básicos 85
![Page 86: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/86.jpg)
IntroducciónIntroducción
Introducción Circuitos comparadores Codificación/Decodificación Selección/Distribución de datos Buses y salidas triestado Buses y salidas triestado Desplazamiento/Rotación Di iti bl Dispositivos programables Resumen y bibliografía
Componentes combinacionales básicos 86
![Page 87: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/87.jpg)
ResumenResumen
La reutilización de módulos combinacionales previamente di ñ d lt t j l i l t ió d i itdiseñados resulta ventajosa para la implementación de circuitos digitales
i d d l bi i l Existe un gran número de estos módulos combinacionales que se han usado frecuentemente en los diseños y que se siguen usando,
l i t t t t f i i tpor lo que es importante conocer su estructura y funcionamiento Además, el diseño modular nos permite realizar abstracciones
jerárquicas de los componentes del circuito, haciendo posible la implementación de circuitos digitales complejos
Componentes combinacionales básicos 87
![Page 88: 3.2.3.2.Componentes Componentes …serdis.dis.ulpgc.es/~gii-fc/material_clases_teoria/Tema3/... · 2012-02-28 · correspondi t ódi BCD 7 lí d liddientes a un código BCD, y 7 líneas](https://reader035.vdocumento.com/reader035/viewer/2022062916/5ebc76bd70665256a667884a/html5/thumbnails/88.jpg)
BibliografíaBibliografíaPrincipios de Diseño Digital
Capítulo 5Capítulo 5Daniel D. GajskiPrentice Hall, 1997,
Fundamentos de Sistemas Digitales (7ª edición)Capítulos 6 y 7Thomas L. FloydPrentice Hall 2000Prentice Hall, 2000
Componentes combinacionales básicos 88