88
3.2. 3.2. Componentes Componentes combinacionales combinacionales bá i bá i sicos sicos Fundamentos de los Computadores Grado en Ingeniería Informática

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

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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