Вы находитесь на странице: 1из 15

DISEO COMBINACIONAL

Asignatura:

DIGITAL I

Carrera:

Ingeniera Electrnica

Facultad de Ciencias Exactas, Ingeniera y Agrimensura Universidad Nacional de Rosario

Ao 2011

DISEO LGICO
RESOLUCIN DE PROBLEMAS ABIERTOS DE INGENIERA
Habitualmente el Diseo Lgico se inserta en un proceso ms amplio de la resolucin de problemas abiertos de ingeniera. Podramos especificar este proceso de la siguiente manera:

ANLISIS DEL PROBLEMA A RESOLVER

Seales lgicas de entrada

DISEO LGICO

Seales lgicas de salida

INTERFASES DE ENTRADA Y SALIDA

La etapa de ANLISIS DEL PROBLEMA parte de algo que se quiere lograr pero que no est completamente definido todava, constituyendo un PROBLEMA ABIERTO. Por ejemplo, supongamos que el problema fuese disear el control automtico de un sistema de dos ascensores para un edificio de oficinas de 10 pisos. Hasta este punto hay muchas opciones para elegir. Lo que se hace es seleccionar los criterios ms adecuados. Por ejemplo, un criterio podra ser que el flujo de personas a las oficinas sea lo ms fluido posible, para evitar demoras. Esto implicara un anlisis de la manera cmo debera comportarse el sistema. Habra que analizar por ejemplo, cmo es el flujo de personas, si en general se dirigen solamente de la planta baja a una oficina en particular, o hay un desplazamiento entre oficinas, etc. Por ejemplo, si convendra que cada ascensor recorriera todos los pisos o estuviese dedicado a ciertos pisos en particular. Si el botn de llamada de cada piso sera nico para los dos ascensores o habra uno para cada ascensor. Si al llamar al ascensor se especificara la direccin (Ascenso/Descenso) o no, etc. Tambin habra que definir cmo se comportara cada ascensor, cules sern las reglas que gobernaran su comportamiento, si el comportamiento de los ascensores sera independiente o estaran relacionados, etc. En esta etapa se pueden aplicar conocimientos de otras reas de la ingeniera, ms all de los Sistemas Lgicos propiamente dichos. Una vez concluida esta etapa se tiene un PROBLEMA CERRADO para encarar la etapa del Diseo Lgico.

La etapa de DISEO LGICO trabaja nicamente con la relacin entre las seales lgicas de entrada y las seales lgicas de salida. Si las seales lgicas de salida dependen solamente del valor de las seales lgicas de entrada en cualquier todo momento en cual se analice, el sistema a disear ser de tipo Combinacional o Combinatorio, constituyendo lo que denominaremos DISEO LGICO COMBINACIONAL. Si las seales lgicas de salida dependen del valor de las seales lgicas de entrada en ese mismo momento y de las secuencias anteriores de entradas, el sistema a disear ser de tipo Secuencial y ser un sistema con memoria. Dicho de otra manera, las salidas dependern de las entradas y del estado interno del sistema. A este tipo de diseo lo denominaremos DISEO LGICO SECUENCIAL.

Luego de la etapa de Diseo Lgico propiamente dicha, resta la integracin con el mundo fsico (por ejemplo, una seal lgica puede comandar una etapa de potencia para controlar dispositivos, etc.). En esta etapa, se trabaja con las INTERFASES DE ENTRADA Y SALIDA.

Ahora nos centraremos en la etapa de DISEO LGICO propiamente dicha. En el proceso general de Diseo de un Sistema Lgico, se pueden identificar las siguientes ETAPAS: Etapa 1: ESPECIFICACIN. Es de donde se parte. Consiste en una descripcin del comportamiento lgico deseado en lenguaje natural. Si el problema a resolver est mal especificado puede no ser resoluble o el resultado no ser el que en realidad se esperaba. Un problema est mal especificado cuando a partir de un proceso de diseo sin errores se llega a un resultado diferente al esperado. Etapa 2: MODELIZACIN Es un proceso de formalizacin que permite construir una Representacin Formal del comportamiento en algn lenguaje formal apropiado, constituyendo un Modelo del Sistema. Existen distintos tipos de modelos del comportamiento de un sistema. En correspondencia con esto, tambin existen diversas Metodologas de Diseo. Etapa 3: OPTIMIZACIN (opcional) Habitualmente se busca optimizar la representacin formal, segn algn tipo de criterio (costo, rapidez, confiabilidad, etc.). De esta manera se puede obtener un Modelo Optimizado segn el criterio adoptado. En realidad la optimizacin no es independiente de la tecnologa que se adoptar para su implementacin. Por ejemplo, si el sistema es combinacional y se implementar con compuertas lgicas y se aplica el criterio de Karnaugh, el modelo optimizado ser la expresin algebraica mnima segn dicho criterio. En cambio, si se implementar mediante un multiplexor, el criterio puede ser disminuir el nmero de canales necesarios, y el modelo optimizado puede ser una manipulacin del mapa de Karnaugh asociado a la Tabla de Verdad, para ver cmo conviene utilizar las variables en el multiplexor, ya que no se utiliza la expresin algebraica para este tipo de implementacin. El propio criterio de optimizacin puede servir para seleccionar la tecnologa de implementacin ms apropiada para un caso en particular. Etapa 4: SNTESIS En esta etapa se parte del Modelo Optimizado y se realiza la implementacin fsica (circuito lgico).

PROCESO COMPLETO DE DISEO LGICO

Comportamiento Lgico (lenguaje natural) (Especificacin)

Modelizacin

Representacin Formal (Modelo)

Optimizacin

Representacin Formal Optimizada (Modelo Optimizado)

Sntesis

Implementacin Fsica (Circuito Lgico)

En ocasiones se requiere realizar slo alguno de las etapas marcadas, sin partir de la especificacin y/o sin llegar a la implementacin fsica, de cualquier manera se las reconoce como tareas de Diseo1.
Cabe mencionar que los profesionales suelen tener que recorrer las etapas anteriores, pero en sentido contrario al indicado por las flechas. Partiendo de un dispositivo fsico para terminar interpretando el comportamiento del mismo, incluso en algunos casos se busca reestablecer una Especificacin, por ejemplo cuando se requiere perfeccionar la documentacin asociada a un equipo en funcionamiento. Las tareas realizadas en este sentido, an cuando recorren slo una parcialidad de las etapas, se denominan de Anlisis.
1

DISEO LGICO COMBINACIONAL


En este tipo de Diseo pueden diferenciarse tres tipos de METODOLOGAS DE DISEO: 1. Modelizacin Algebraica Directa 2. Diseo mediante Interconexin de Bloques Funcionales 3. Diseo Tabular MODELIZACIN ALGEBRAICA DIRECTA En este tipo de metodologa de diseo, se escribe directamente la expresin algebraica que representa el comportamiento lgico esperado. Este mtodo suele utilizarse cuando se deben expresar comportamientos sencillos, generalmente controlados por pocas variables o una relacin simple de un grupo grande de variables, por ejemplo el producto booleano de todas ellas. Por ejemplo, al modelizar Sistemas Secuenciales con Redes de Petri, las Condiciones Lgicas de disparo de cada transicin est constituida por una expresin algebraica (combinacional), muchas veces de algunas de las variables de entrada. Estas expresiones suelen escribirse de manera directa (sin aplicar metodologas sistemticas como por ejemplo establecer un comportamiento en forma explcita planteando la tabla de verdad respectiva). DISEO MEDIANTE INTERCONEXIN DE BLOQUES FUNCIONALES Esta metodologa es muy apropiada en ciertos tipos de problemas. En general cuando el comportamiento global del sistema se puede subdividir en varios comportamientos parciales en relacin a grupos parciales o subconjuntos de variables, datos o seales. Particularmente si estos subcomportamientos se repiten entre los distintos subconjuntos mencionados. El inters en esta metodologa aumenta en los caso de sistemas que deben manejar una gran cantidad de variables que se presten a la subdivisin en grupos, con subcomportamientos congruentes o semejantes. Por ejemplo, en los circuitos aritmticos se puede partir de bloques funcionales conocidos integrando los circuitos por interconexin de eso bloques. Por ejemplo, con 4 Sumadores Totales Binarios de 4 bits se puede armar un Sumador Binario de 16 bits de manera muy sencilla. Si en este caso se pretendiese hacer una tabla de verdad, dado que entran dos nmeros binarios de 16 bits cada uno, la misma tendra 232 filas, lo cual hace la metodologa impracticable. Y por otra parte, aunque fuese posible representarlo, el costo del circuito resultante sera elevadsimo, ya que cada sumador tendra un circuito totalmente diferente dependiente del nmero de bits del mismo. En cambio, al trabajar con bloques funcionales estndar (de bajo costo) el proceso de diseo es muy simple y el costo muy reducido. DISEO TABULAR (mediante Tablas de Verdad) Cuando la complejidad del comportamiento pretendido dificulta escribir la expresin algebraica de manera directa y no se localizan bloques funcionales apropiados que permitan hacer el diseo mediante su interconexin, lo que se hace es utilizar la Tabla de Verdad del sistema para el diseo. Podramos especificar las siguientes fases de este proceso, a partir de la especificacin del comportamiento: 1. Diagrama de E/S (con Diccionario con el significado fsico de los valores lgicos de las seales de entrada y de salida) 2. Armado De la Tabla de Verdad a partir del comportamiento deseado.

3. Optimizacin y sntesis (depende de la tecnologa de implementacin), por ejemplo: a. Implementacin con memorias PROM: se usa la Tabla para cargar los registros de la PROM. No se optimiza. b. Implementacin con Multiplexores: se transcribe la Tabla en un Mapa de Karnaugh y se manipulan las variables para disminuir el nmero de canales necesarios del multiplexor (no se saca la expresin algebraica) c. Implementacin con Decodificadores o Demultiplexores: se transcribe la Tabla en un Mapa de Karnaugh y se manipulan las variables para poder implementarlo con un Decodificador ms pequeo (no se saca la expresin algebraica) d. Implementacin con Compuertas lgicas, en circuitos con lgica de dos niveles: se transcribe la Tabla en un Mapa de Karnaugh y se aplica el criterio de Karnaugh para obtener la expresin mnima segn ese criterio, de manera de obtener el menor nmero de trminos con el menor nmero de variables por trmino.

SISTEMAS MULTIFUNCIN Cuando un sistema lgico tiene ms de una salida lo denominaremos Sistema Multifuncin. En este caso, la Tabla de Verdad en vez de tener una columna para la salida, tendr tantas columnas como salidas marque su diagrama de entradas y salidas. Si la sntesis se pretende hacer usando la metodologa de los Mapas de Karnaugh, ser necesario disponer un mapa para cada funcin, estableciendo la correspondencia con cada variable de salida y su respectivo Mapa de Karnaugh. Es decir, si el sistema tiene N salidas, la tabla de Verdad tendr N columnas del lado derecho y habr asociados N Mapas de Karnaugh (uno por cada salida). SISTEMAS NO TOTALMENTE ESPECIFICADOS Cuando un grupo de combinaciones de entradas son imposibles, no hay que especificar el valor de las salidas para dichas combinaciones de entradas, de manera que el sistema ser NO TOTALMENTE ESPECIFICADO, dando origen a un conjunto de REDUNDANCIAS de salida. Es decir, habr ciertas combinaciones de entradas que no tendrn asociada una salida definida, ya que esas combinaciones de entrada nunca se van a presentar. Las redundancias se simbolizan con alguno de estos smbolos:

,X,

En realidad, para poder sintetizar el circuito lgico se deben definir valores concretos para las salidas indefinidas, ya que todo circuito SIEMPRE tiene TODAS las salidas definidas (0 o 1). Lo que habitualmente se hace es valorar cada una de las redundancias por separado, asignndole un valor, aprovechando esta posibilidad para que produzca alguna conveniencia, generalmente tecnolgica en la implementacin. Por ejemplo si se est implementando un circuito a partir de un Mapa de Karnaugh con redundancias, se valorar a cada una de ellas, con el valor que produzca la cubertura ms conveniente, extendiendo en lo posible los implicantes primos tomados en la cubertura. Logrando de esta manera que la expresin algebraica sea la mnima posible segn el criterio de Karnaugh. DIAGRAMAS TEMPORALES Para ensayar un Circuito Lgico ya implementado como un dispositivo fsico, deberamos someterlo a todas las combinaciones posibles de los valores de las entradas e ir registrando los valores producidos en la salida. Tericamente sera adecuado realizar un ensayo que evale todas las combinaciones en forma simultnea, pero eso en la realidad resulta totalmente imposible. En contrapartida resulta simple generar todas las combinaciones de los valores de entradas no simultneamente si no organizadas en una secuencia y a medida que van pasando una a una las combinaciones ir registrando los valores que se producen en la salida (los Generadores de ondas proporcionan estas secuencias). Debemos tener muy presente que en los sistemas Combinatorios Esencialmente, no tiene NINGUNA importancia la duracin en el cual se est sometiendo al circuito a una combinacin en particular de las entradas, para constatar su salida. Tampoco tendra NINGUNA importancia el orden en el cual aparece cada una de las combinaciones, en relacin a las anteriores. La propuesta de ensayo basadas en un generador de ondas normal (que hace evolucionar las combinaciones de valores en un orden preestablecido y mantiene cada de ellas un lapso tambin preestablecido, generalmente constante) no contempla para nada estas CONDICIONES ESENCIALES de los Sistemas combinatorios. Por lo cual se debe enfatizar que el conjunto de valores de salida es totalmente independiente de ambas restricciones impuestas por el mtodo de ensayo. Los valores surgidos del uso de este dispositivo frecuentemente se grafican, incluso suelen aparecer en pantallas de los mismos aparatos de ensayo, estableciendo los llamados Diagramas Temporales. El nombre mismo de esta representacin habla del divorcio entre la representacin y lo que se quiere representar. Claramente parece inadecuado llamar Temporal algn atributo de sistemas que esencialmente NO DEPENDEN del TIEMPO.

De cualquier manera la sencillez del ensayo ha popularizado este tipo de grficos, an para Sistemas Combinatorios, que por cierto no es una representacin adecuada del comportamiento.

Supongamos la funcin lgica F(A,B,C)= mi (1,3,6)=ABC+ AB C + A B C.


3

Dadas una serie de combinaciones de entradas como las indicadas, podra graficarse: A t

ABC

000

001

010

011

100

101

110

111

000

(combinacin de entradas)

Este Diagrama Temporal podra aparecer en un simulador. No hay que confundir esta representacin temporal con una representacin equivalente a la tabla de verdad del sistema. Cabe aclarar que un Diagrama Temporal idntico a ste podra corresponder a un Sistema Secuencial donde no se puso de manifiesto este hecho. En ese caso podra ocurrir que alguna secuencia posterior produjese una salida diferente para la misma combinacin de entradas. Es decir, esta representacin sirve a modo de verificacin del comportamiento del sistema, pero no es una representacin completa del comportamiento del sistema.

PRCTICA de Modelizacin Algebraica Directa


ENUNCIADOS
En todos los problemas, escribir de manera directa la/s expresin/es algebraica/s de la/s salida/s. Problema N 1: La salida Alarma debe activarse (A=1) cuando est la alarma Habilitada (H=1) y se produce alguna de estas situaciones: Ventana abierta (V=1) o Puerta abierta (P=1). Problema N 2: Un DEMULTIPLEXOR de 2 canales (C0, C1), una entrada de seleccin (S) y una entrada de habilitacin (H) debe generar una salida (Z), cuyo valor coincida con el valor del respectivo canal de entrada: S=0 Z = C0 S=1 Z = C1 cuando el DEMUX est habilitado (H=1) o que sea Z=0 cuando el DEMUX est inhabilitado (H=0). Problema N 3: Un TANQUE DE AGUA cuenta con 3 sensores de nivel (N1, N2 y N3), una llave selectora (M) y una bomba (B) para su llenado, con los siguientes significados fsicos de sus valores lgicos: N1 = 1 nivel por debajo del valor mnimo N2 = 1 nivel igual o por encima del valor intermedio N3 = 1 nivel por debajo del valor mximo M = 1 Modo Manual M = 1 Modo Automtico B = 1 bomba encendida A = 1 luz de alarma encendida Escribir de manera directa: a) La expresin algebraica de la funcin que maneja la bomba de agua (B), de manera que est encendida si est en Modo Manual y el nivel por debajo del mximo, o si est en Modo Automtico y el nivel por debajo del valor intermedio. b) La expresin algebraica de la funcin que maneja la luz de alarma (A), de manera que est encendida si el nivel est por debajo del mnimo cuando est en Modo Automtico. Problema N 4: Un SILO DE GRANOS cuenta con sensores de temperatura y de humedad y con una llave selectora de programa, con los siguientes significados fsicos de sus valores lgicos: temperatura del silo admisible T1=1 T2=1 temperatura del silo temperatura ambiente H1=1 humedad del silo admisible H2=1 humedad ambiente 90% P=1 programa manual P=0 programa automtico Escribir de manera directa directa, la expresin algebraica de la funcin que maneja el ventilador (V), si se espera el siguiente comportamiento del mismo: Estar encendido (V=1) si la temperatura del silo es mayor a la admisible o mayor a la temperatura ambiente, en ambos casos, con una humedad ambiente < 90%, o si la humedad del silo es mayor o igual a la admisible en cualquier caso. Todo esto, siempre y cuando est seleccionado el programa automtico. En caso de estar seleccionado el programa manual, debe permanecer encendido permanentemente.

SOLUCIONES A LOS PROBLEMAS Problema N 1: A = H. (V+P)

Problema N 2: Z = (S.C0+S.C1). H

Problema N 3: a) B = M.N3 + M.N2 b) A = N1.M

Problema N 4: V = [(T1+T2).H2+H1]. P+ P

Se puede observar que en realidad no es necesario multiplicar el [ ] por P ya que si fuese P=1 el otro trmino forzara que sea V=1. Esto que puede razonarse intuitivamente, podra haberse deducido aplicando el teorema del lgebra de Boole: P + P. X = P + X , quedando: V = (T1+T2).H2+ H1 + P

PRCTICA de Diseo mediante Interconexin de Bloques Funcionales


ENUNCIADOS

Disear los siguientes circuitos, mediante interconexin de bloques funcionales (en este caso los bloques funcionales seran las compuertas lgicas):

Problema 1: Para generar un Cdigo de Paridad, se agrega un Bit de Paridad (Bp) de manera que el nuevo cdigo tenga un nmero de unos siempre Par (Cdigo de Paridad PAR) o siempre Impar (cdigo de Paridad IMPAR). Estos son Cdigos Detectores de Errores de 1 bit, ya que si en el proceso de transmisin un bit llegara cambiado esto afectara la paridad y el error sera detectado. Se pide disear un Generador de Paridad.

I3

I2

I1

I0 a) Generador de Paridad PAR Generador de Paridad IMPAR

Generador de Paridad b) I3 I2 I1 I0 Bp

Problema 2: Se pide disear un Comparador de Palabras de 2 bits (A = A1A0, B = B1B0).

A1

A0

B1

B0 Si A>B Si B>A Si A=B I MA=1 MB=1 I=1

Comparador de Palabras MA MB

Problema 3: Se pide disear un Detector de Paridad. Al recibirse el cdigo (4 bits de Informacin y 1 bit de Paridad), se genera una salida P=1 si la paridad es la esperada.

I3

I2

I1

I0

Detector de Paridad a) PAR: P=1 si la Paridad es PAR IMPAR: P=1 si la Paridad es IMPAR

Generador de Paridad b) P

Problema 4: Disear un Inversor Controlado de 4 bits:

E3

E2

E1

E0 Si C=1 Si C=0 Sn=E (invierte) Sn=E (no invierte)

Inversor Controlado

S3

S2

S1

S0

PRCTICA de Diseo Tabular (mediante Tablas de Verdad)


ENUNCIADOS
En todos los problemas se pide hacer el diagrama de E/S con diccionario, la Tabla de Verdad, los mapas de Karnaugh y las ecuaciones mnimas e implementar circuitalmente con compuertas lgicas.

Problema 1: Disear un Circuito de Mayora, con 3 entradas y 1 salida, la cual debe ponerse en alto cuando haya mayora de 1s a su entrada. Problema 2: Disear un conversor de cdigo Binario de 4 bits a cdigo Gray. B3 B2 B1 B0

Binario / Gray

G3

G2

G1

G0

Problema 3: Disear un conversor de cdigo BCD (decimal codificado en binario) a 7 segmentos, para excitar un display. B3 B2 B1 B0

a f e g d b c
a b c d e f g

BCD / 7 seg

Problema 4: Disear un conversor de cdigo Binario de 4 bits a cdigo BCD. A3 A2 A1 A0

B3 B2 B1 B0

C3 C2 C1 C0

Problema 5: Disear un conversor de cdigo BCD de 2 dgitos decimales a cdigo Binario. Problema 6: Disear un dispositivo integrado por 4 teclas y 2 lmparas indicadoras, al cual llega la seal de un Reloj (R), de manera que: T 3 T 2 T 1 T0

La lmpara intermitente (LI) se enciende y apaga a la frecuencia del reloj cuando: t No se pulsa ninguna tecla Se pulsa slo una tecla Se pulsan slo T2 y T0

La lmpara fija (LF) se enciende cuando no se cumple ninguna LI LF de las condiciones anteriores.

Problema 7: Disear un Multiplicador binario de dos nmeros de 2 bits: A1 A0 B1 B0

Multiplicador

C3

C2

C1

C0

Problema 8: Para controlar el llenado de un tanque de agua se dispone de 2 sensores ubicados a distintos niveles (N1 inferior, N2 superior). stos presentan un nivel lgico 1 a su salida cuando les toca el agua. Para el llenado del tanque se dispone de 2 bombas A y B, y hay una vlvula de consumo cuya posicin tambin es sensada (V=1 vlvula abierta). El llenado del tanque debe hacerse de la siguiente manera: Si el nivel del agua est por debajo de los dos sensores, deben funcionar ambas bombas. Si el nivel del agua est entre sensores y la vlvula est abierta, deben funcionar ambas bombas. Si el nivel del agua est entre sensores y la vlvula est cerrada, slo debe funcionar la bomba A. Si el nivel llega al sensor superior (tanque lleno), deben estar ambas bombas apagadas.

Problema 9: A un sistema ingresa un cdigo de 4 bits que nunca puede contener ms de 3 bits en 1. El sistema debe encender una lmpara L1 cuando el nmero de variables de entrada en 1 sea superior al nmero de variables de entrada en 0 y encender una lmpara L2 cuando sean iguales.

C3

C2

C1 C0

L2

L1

Problema 10: Un codificador de posicin de eje proporciona una seal de 4 bits que indica la posicin de un eje en pasos de 30 usando un cdigo reflejado (Gray), como se indica en la tabla siguiente. Se puede suponer que las 4 combinaciones posibles de 4 bits no usados, no se producirn jams. Se desea disear un sistema que dadas estas seales, genere una seal S que sea 1 siempre que el eje se encuentre dentro del primer cuadrante (0 - 89) Al resolver el problema, respetar la definicin de Tabla de Verdad en cuanto a la manera de estructurarla.

Posicin del eje 0 - 29 30 - 59 60 - 89 90 - 119 120 - 149 150 - 179 180 - 209 210 - 239 240 - 269 270 - 299 300 - 329 330 - 359 E1 0 0 0 0 0 0 1 1 1 1 1 1

Salida del Codificador E2 E3 0 1 0 1 1 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 0 1 0 1

E4 1 0 0 1 1 0 0 1 1 0 0 1

Problema 11: Un blanco de tiro con arco y flecha est formado por 8 bandas concntricas asignndosele a la banda central el valor 10 y en orden decreciente lleva el valor 3 la exterior. La informacin de en qu banda se produjo el impacto se obtiene a partir de 4 seales ( I, P, C, E ) que el dispositivo sensor entrega al sistema a disear ( ).

I
(MSB)

D3 D2 D1 D0

10 9

P C E
(LSB)

Seales I=1 P=1 C=E=0 C=0 , E=1 C=1 , E=0 C=E=1

SIGNIFICADO Flecha impacta en una banda IMPAR Flecha impacta en una banda PAR Flecha impacta en la banda 3 o 4 Flecha impacta en la banda 5 o 6 Flecha impacta en la banda 7 u 8 Flecha impacta en la banda 9 o 10

El sistema a disear ( ) debe indicar en BINARIO, el nmero de banda en la cual hizo impacto la flecha (siendo D3 el bit ms significativo -MSB- , y D0 el bit menos significativo -LSB- ). En caso que no se haya hecho blanco la indicacin debe ser cero y adems debe ser N=1.

Вам также может понравиться