Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
DISEO LGICO
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 el mismo momento, 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 conexin 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
Modelizacin
Representacin Formal
Optimizacin
Sntesis
Implementacin Fsica
(Modelo)
(Circuito Lgico)
MODELIZACIN ALGEBRAICA DIRECTA En este tipo de metodologa de diseo, se escribe directamente la expresin algebraica que representa el comportamiento lgico esperado. Por ejemplo, al modelizar Sistemas Secuenciales con Redes de Petri, las Condiciones Lgicas de disparo de cada transicin est constituida por una expresin algebraica de las variables de entrada (combinacional). Estas expresiones de escriben de manera directa (sin plantear la tabla de verdad respectiva). DISEO MEDIANTE INTERCONEXIN DE BLOQUES FUNCIONALES Esta metodologa es muy apropiada en ciertos tipos de problemas. Por ejemplo, en los circuitos aritmticos se parte de bloques funcionales conocidos y se arman 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 impide escribir la expresin algebraica de manera directa y no existen 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: 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 tenga. Y cada salida se pondr en correspondencia con el Mapa de Karnaugh respectivo. 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 para 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 las salidas indefinidas, ya que todo circuito SIEMPRE tiene las salidas definidas (0 o 1). Lo que habitualmente se hace es definir las salidas de manera que el circuito resultante sea ms simple. Esto se hace por ejemplo con un Mapa de Karnaugh con redundancias, donde se terminan definiendo las salidas no especificadas de manera que la expresin algebraica sea la mnima posible segn el criterio de Karnaugh. DIAGRAMAS TEMPORALES Supongamos la funcin lgica F(A,B,C)= mi (1,3,6)=ABC+ AB C + A B C.
3
Si armramos el circuito y lo sometiramos a una serie de combinaciones de entradas, podramos obtener lo siguiente: A t
ABC
000
001
010
011
100
101
110
111
000
(combinacin de entradas)
Este tipo de Diagramas Temporales 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.
Problema N 2: Z = (S.C0+S.C1). H
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
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
Generador de Paridad b) I3 I2 I1 I0 Bp
A1
A0
B1
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
E3
E2
E1
Inversor Controlado
S3
S2
S1
S0