Sistemas Digitales Basicos

download Sistemas Digitales Basicos

of 83

description

Pdf detallado con toda la informacion refrente a Sistemas Digitales Basicos

Transcript of Sistemas Digitales Basicos

Julio 16 de 2006

MODULO SISTEMAS DIGITALES BASICOS

MIGUEL PINTO APARICIO [email protected]

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD BUCARAMANGA 2006

INTRODUCCION El curso de Circuitos Digitales Bsicos es del Campo de Formacin Profesional especfica para el programa de Ingeniera Electrnica, con dos crditos acadmicos, es Metodolgico y a distancia. Busca darle la capacidad de describir al estudiante de manera suficiente las nociones, los conceptos y los procedimientos necesarios para el anlisis y diseo de Circuitos Digitales. Este curso es un abre bocas al maravilloso mundo digital, y pretende dar una formacin bsica a los futuros diseadores digitales, que con dispositivos como PLDs, FPGAs, DSPs, etc. podrn llevar a la vida real aquellas ideas que le permitan interactuar al hombre con la mquina. La Electrnica Digital ha experimentado un rpido crecimiento tecnolgico; Los circuitos digitales son comnmente usados en productos de consumo, equipos industriales y de control, equipos de oficina, equipos mdicos, militares y de comunicaciones. Este uso extensivo de los circuitos digitales ha sido gracias a los avances tecnolgicos que han reducido los costos en los circuitos integrados y la capacidad de los mismos, as como la aplicacin de displays, memorias y tecnologa computarizadas. El curso consiste de dos Unidades, la primera detalla todos los conceptos bsicos, procedimientos y mtodos de reduccin de circuitos digitales; la segunda unidad es una fundamentacin en el uso del Lenguaje VHDL, el cual es empleado para el diseo asistido por Computador de los Circuitos Digitales. El enfoque para el aprendizaje autnomo de este curso es del tipo tericoprctico, en donde la teora es fcilmente llevada a la prctica por medio de talleres diseados para tal fin. De tal manera, que el estudiante pueda depurar su conocimiento y dominio del tema por medio de su aplicacin inmediata. Inicialmente el estudiante entender como desde una ecuacin Booleana se puede construir fsicamente un circuito digital y cmo estos cumplen con las operaciones bsicas del Algebra de Boole. Este enfoque ser gracias al estudio independiente que se desarrolla a travs del trabajo personal y del trabajo en pequeos grupos colaborativos de aprendizaje, y de acompaamiento tutorial desarrollado a travs de la tutora individual, en pequeos grupos colaborativos y de tutora en grupo de curso. As mismo busca fomentar la cultura investigativa y de lectura en el estudiante a travs del uso de tecnologas que faciliten el acceso a la informacin y la obtencin de fuentes bibliogrficas, de manera que fortalezca su aprendizaje autnomo. En cuanto al sistema de evaluacin del curso, este se basa en lo contemplado y definido en el Reglamente General Estudiantil, de forma que permita comprobar el nivel de avance del auto-aprendizaje alcanzado a lo largo del

curso. Por lo tanto, se emplearn tres tipos de evaluacin alternativas y complementarias: Autoevaluacin: evaluacin que realiza el estudiante para valorar su propio proceso de aprendizaje. Coevaluacin: se realiza a travs de los grupos colaborativos, y pretende la socializacin de los resultados del trabajo personal. Heteroevaluacin: Es la valoracin que realiza el tutor.

Para el desarrollo del curso es importante el papel que juegan los siguientes recursos tecnolgicos como medio activo, buscando la relacin tutorestudiante: Mdulos y guas escritos para estudio temtico y orientacin pedaggica. El Computador como herramienta informtica para estudio con CD ROM, conexin a Internet y editores de texto. Sistemas y plataformas tecnolgicas institucionales para favorecer la comunicacin sincrnica, tales como; videoconferencia, Chat. Estas permiten encuentros presnciales directos o mediados, favoreciendo una interaccin inmediata. Y las comunicaciones asincrnicas tales como: Grupos de inters, pginas WEB, Correo electrnico, grupos de noticias, servidores FTP. Estas permiten la comunicacin en forma diferida favoreciendo la disposicin del tiempo del estudiante para su proceso de aprendizaje. Para facilitar el auto-aprendizaje es necesario consultar la bibliografa recomendada, utilizar la biblioteca virtual y el acceso a Internet, con esto se est tambin potenciando en los estudiantes la capacidad de investigacin y de auto gestin para adquirir conocimiento segn sean sus necesidades y/ debilidades encontradas durante cada uno de los pasos del proceso a seguir, es decir el modelo pedaggico a desarrollar son las habilidades de pensamiento. El acceso a documentos adquiere una dimensin de suma importancia en tanto la informacin sobre el tema exige conocimientos y planteamientos preliminares, por tal razn es imprescindible el recurrir a diversas fuentes documentales y el acceso a diversos medios como son: bibliotecas electrnicas, hemerotecas digitales e impresas, sitios Web especializados. En la medida que el estudiante adquiera su rol, se interiorice y aplique los puntos abordados anteriormente, podr obtener los logros propuestos en este curso. Es importante ser consciente de las fortalezas y debilidades, prestando atencin a pulir las primeras y mejorar en las segundas, y lo mejor para llevarlo a cabo con Disciplina.

PRIMERA UNIDAD DIDCTICA

SISTEMAS DIGITALES BASICOS

CAPTULO 1. OPERACIONES BINARIAS

Desde la antigedad el hombre ha tenido la necesidad de contar, y para hacerlo ha desarrollado diferentes sistemas de numeracin, como el Decimal, binario, Octal, etc; Estos sistemas de numeracin se diferencian entre s por la base que empleen, es decir, por el nmero de dgitos que empleen para contar. De tal forma que el sistema decimal tiene los dgitos 0,1,2,3,4,5,6,7,8,9; el sistema Octal tiene los dgitos 0,1,2,3,4,5,6,7; el sistema binario tiene los dgitos 0,1; de donde podemos concluir que la base del sistema decimal es 10, del sistema Octal es 8 y el sistema binario es 2. Cualquier sistema de numeracin que se emplee puede ser representado de la siguiente manera:an an 1.....a2 a1a0 = ai bi = an b n + an 1b n 1 + ... + a1b1 + a0b 0i=n 0

(Ecuacin No. 1)

Donde an an 1...a2 a1a0 representa la distribucin de los dgitos en el nmero representado por el sistema numrico, es decir, si hablamos del sistema decimal, a0 representara el dgito de las unidades, a1 representara el dgito de las decenas, a2 representara el dgito de las centenas, y as sucesivamente. En la sumatoria expresada en la Ecuacin No. 1, la i representa la posicin relativa del dgito en el nmero representado, y esta numeracin de la posicin se inicia desde 0 y en el sentido derecha a izquierda. Y el trmino bi , representa la base del sistema de numeracin empleado elevado a la i. El lado derecho de la Ecuacin No. 1 enfatiza la manera como los dgitos y la relacin de su posicin en el nmero representado puede llevarse a su valor numrico, es decir, sabemos que para el sistema decimal las unidades tienen un valor de 1, las decenas tienen un valor de 10, las centenas tienen un valor de 100, etc.; que es lo mismo que decir, que como las unidades estn en la posicin 0 del nmero es tener a la base (b=10) elevada a la posicin 0 ( b 0 = 100 = 1 ), las decenas estn en la posicin 1 entonces es tener b1 = 101 = 10 , las centenas estn en la posicin 2 entonces es tener b 2 = 10 2 = 100 , etc..

Ahora, si tenemos el valor de la posicin que le corresponde a cada dgito, entonces el dgito y su valor de posicin son multiplicados, y el producto de todos los dgitos y su valor son sumados para obtener el valor numrico del nmero representado. Esto lo podemos comprender en el siguiente ejemplo2197 = 2 *103 + 1*102 + 9 *101 + 7 *100

Explicacin Tenemos el nmero 2197, el cual tiene el dgito 2 en la posicin tres, el dgito 1 en la posicin dos, el dgito 9 en la posicin uno y el dgito 7 en la posicin cero; tenemos en cuenta que este nmero est representado en base 10, por lo tanto, para expresarlo de forma numrica hacemos la sumatoria de cada dgito multiplicado por la base elevada a la posicin representativa del dgito en el nmero. De esta manera tenemos que

2197 = 2*1000 + 1*100 + 9*10 + 7*1 = 2000 + 100 + 90 + 7 .

Sistema Binario Nosotros empleamos el sistema de numeracin decimal, es decir, empleamos la base 10 para contar, pero en el caso de los sistemas digitales, ellos slo tienen dos estados posibles, dos posibles dgitos, el 0 y el 1, por lo tanto, emplean el sistema binario. As que para poder expresar nuestro mundo en el mundo digital necesitamos representarlo en los requerimientos de este. Teniendo en cuenta la ecuacin No. 1 y conociendo que la base de los sistemas digitales es 2, se puede definir el valor numrico en decimal de un nmero binario de la siguiente manera:an an 1...a2 a1a0 = an * 2n + an 1 * 2 n 1 + ... + a2 * 2 2 + a1 * 21 + a0 * 20

(Ecuacin No. 2)

En donde, se mantiene que an an 1...a2 a1a0 representa el valor de cada dgito segn su posicin relativa, pero con una caracterstica especial, cada dgito slo puede tomar el valor 1 o el valor 0, lo que nos puede dar a entender que cada posicin de un dgito representado en un nmero binario tiene un valor fijo si este es uno, es decir, la posicin cero vale 1, la posicin uno vale 2, la posicin dos vale 4, la posicin cuatro vale 8, y as sucesivamente si vamos resolviendo las potencias que se muestran en la Ecuacin No. 2.

Nota Importante: Antes de continuar, tenemos que definir para este mdulo (como es acostumbrado en casi todos los textos) que cuando tengamos un nmero representado, este debe ir acompaado de un subndice que nos indique el sistema numrico en el cual se est representando, es decir: si el subndice es 2, es porque es sistema Binario, ejemplo: 111012 si el subndice es 8, es porque es sistema Octal, ejemplo: 56038 si el subndice es 10, es porque es sistema Decimal, ejemplo: 985610

Como podemos observar de la Ecuacin 2, las posiciones de los dgitos tienen un peso numrico relacionado con una potencia de 2, es decir, ha medida que la posicin del dgito incrementa, su valor numrico se incrementa en potencias de dos:

110 , 210 , 410 , 810 , 1610 , 3210 , 6410 , 12810 , 25610 , 51210 ,........Para convertir un nmero Decimal en un nmero Binario se puede implementar el mtodo explicado en el siguiente ejemplo: Convertir el nmero 87510 al sistema Binario Para poder realizar la conversin de este nmero se busca la potencia de dos que sea igual o menor al nmero dado, en este caso es 51210 por lo cual se asume que la posicin nueve del nmero Binario ser un uno. Ahora slo tenemos en cuenta las unidades restantes entre el nmero original y la potencia encontrada, las cuales son 36310 . Para las 36310 unidades restantes, la potencia encontrada es 25610 por lo cual la octava posicin del nmero Binario ser un uno, y las unidades restantes en este caso son 10710 . Para las 10710 unidades restantes, la potencia encontrada es 6410 por lo cual la sexta posicin del nmero Binario ser un uno, y las unidades restantes en este caso son 4310 . Para las 4310 unidades restantes, la potencia encontrada es 3210 por lo cual la quinta posicin del nmero Binario ser un uno, y las unidades restantes en este caso son 1110 . Para las 1110 unidades restantes, la potencia encontrada es 810 por lo cual la tercera posicin del nmero Binario ser un uno, y las unidades restantes en este caso son 310 . Para las 310 unidades restantes, la potencia encontrada es 210 por lo cual la primera posicin del nmero Binario ser un uno, y la unidad restante en

este caso es 110 lo cual nos indica que la posicin cero ser un uno. Por lo tanto la respuesta es 87510 11011010112

1.1 Suma y Resta En cualquier sistema numrico, las tcnicas empleadas en las operaciones de suma y resta son iguales, se siguen los mismos criterios de adicin y sustraccin; cuando sobrepasamos el mximo nmero de dgitos disponibles generamos un acarreo al dgito siguiente ms significativo, de similar manera si estamos restando a un dgito que es menor al valor que se le resta se procede a solicitar un prstamos al dgito siguiente ms significativo. Se mantiene la norma de comenzar a sumar o restar desde el dgito menos significativo o dgito de la posicin cero. 1.1.1 Definicin La suma binaria la definiremos de la siguiente manera: Si adicionamos dos dgitos cuyos valores son cero, el resultado es cero. Si adicionamos un dgito cuyo valor es uno con un dgito cuyo valor es cero, su resultado es uno Si adicionamos dos dgitos cuyos valores son unos, el resultado es cero, pero generamos un dgito adicional que lo llamaremos acarreo y cuyo valor es uno; el dgito de acarreo ser un componente a adicionar a los dgitos inmediatamente ms significativos. La resta binaria la definiremos de la siguiente manera: El orden de la resta se define del primer dgito dado menos el segundo dgito dado, por lo tanto, en la mayora de los casos el primer nmero binario dado para la resta debe ser mayor al nmero binario sustraendo. Si esto no se cumple, en la mayora de los casos se implementa una representacin binaria conocida como representacin en Complemento a dos, la cual nos permite diferenciar nmeros binarios positivos de nmeros binarios negativos. Si el primer dgito es cero y se le resta un segundo dgito que es cero, el resultado es cero. Si el primer dgito es uno y se le resta un segundo dgito que es cero, el resultado es uno. Si el primer dgito es uno y se le resta un segundo dgito que es uno, el resultado es cero. Si el primer dgito es cero y se le resta un segundo dgito que es uno, estaramos solicitndole al dgito inmediatamente ms significativo un prstamos de una unidad permitiendo un resultado de uno; este prstamo se convierte en una resta adicional a la que se efectuara en el siguiente dgito ms significativo.

1.1.2 Ejercicios Prcticos Realicemos la suma del nmero 110102 con el nmero 10112 : Procedimiento: Primero que todo agrupamos los dos nmeros binarios uno encima del otro de tal manera que los dgitos de la misma posicin se encuentre en la misma columna o uno sobre el otro:

11010 2 + 010112Noten que agregamos un cero a la izquierda en el segundo nmero binario slo para igualar el nmero de dgitos en ambos (es algo que con la experiencia no necesitaremos). Los dgitos de la posicin cero son 0 y 1 respectivamente, por lo tanto su resultado es 1. Los dgitos de la posicin uno son 1 y 1 respectivamente, por lo tanto su resultado es 0, pero generan un dgito de acarreo con valor 1 para ser sumado con el resultado de la suma de los dgitos de la posicin dos. Los dgitos de la posicin dos son 0 y 0 respectivamente, por lo tanto su resultado es 0, pero tenemos un dgito de acarreo que proviene de la suma anterior, este dgito lo adicionamos al presente resultado lo que nos da 1. Los dgitos de la posicin tres son 1 y 1 respectivamente, por lo tanto su resultado es 0, pero generan un dgito de acarreo con valor uno para ser sumado con el resultado de la suma de los dgitos de la cuarta posicin. Los dgitos de la cuarta posicin son 1 y 0 respectivamente, por lo tanto su resultado es 1, pero tenemos un dgito de acarreo que proviene de la suma anterior, este dgito lo adicionamos al presente resultado lo que nos da 0, y generamos un dgito ms de acarreo para la siguiente suma. Resulta que no tenemos ms dgitos para sumar, pero tenemos un acarreo de un 1, por lo tanto consideramos que los dgitos de la quinta posicin son ceros y su suma es 0, adicionndole el dgito de acarreo tendremos un resultado de 1. Por lo tanto el resultado es el siguiente:

011010 2 + 0010112 1001012

Realicemos ahora la resta del nmero 110102 con el nmero 10112 : Procedimiento: Primero que todo agrupamos los dos nmeros binarios uno encima del otro de tal manera que los dgitos de la misma posicin se encuentre en la misma columna o uno sobre el otro:

11010 2 010112Agregamos de nuevo un cero a la izquierda en el segundo nmero binario slo para igualar el nmero de dgitos en ambos. Los dgitos de la posicin cero son 0 y 1 respectivamente, por lo tanto solicitamos un prstamo al dgito siguiente ms significativo del primer nmero binario, el resultado es 1, y una resta adicional de un 1 para la operacin de los dgitos siguientes. Los dgitos de la posicin uno son 1 y 1 respectivamente, por lo tanto su resultado es 0, pero como tenemos generado un prstamo de la operacin anterior, tenemos un resta de un 1 pendiente para esta posicin; como a un 0 le vamos a quitar un 1 debemos solicitar un prstamo al siguiente dgito generando un nuevo dgito de prstamo; el resultado es 1. Los dgitos de la posicin dos son 0 y 0 respectivamente, por lo tanto su resultado es 0, pero tenemos un dgito de prstamo que proviene de la resta anterior, este dgito lo restaremos al presente resultado lo que nos da 1, y generamos un dgito de prstamos ms. Los dgitos de la posicin tres son 1 y 1 respectivamente, por lo tanto su resultado es 0, pero tenemos un prstamo que debemos restar en esta operacin, por lo tanto, el resultado es 1 y un nuevo dgito de prstamo. Los dgitos de la cuarta posicin son 1 y 0 respectivamente, por lo tanto su resultado es 1, pero tenemos un dgito de prstamo pendiente as que el resultado es 0. Por lo tanto el resultado es el siguiente:

011010 2 0010112 0011112

1.2 Multiplicacin y divisin De similar manera a la suma y resta de nmeros binarios, la multiplicacin y divisin de nmeros binarios mantiene los mismos procedimientos que en el sistema decimal. 1.2.1. Definicin La multiplicacin binaria la definiremos de la siguiente manera: Si multiplicamos dos dgitos cuyos valores son 0 su resultado es 0. Si multiplicamos un dgito cuyo valor es 0 con un dgito cuyo valor es 1, su resultado es 0. Si multiplicamos dos dgitos cuyos valores son 1 su resultado es 1. Si multiplicamos un nmero de varios dgitos con otro de varios dgitos el proceso es similar al que realizamos con nmeros decimales (ver seccin 1.2.2.) La divisin binaria la definiremos de la siguiente manera: Si dividimos un dgito cuyo valor es 1 entre otro cuyo valor es 1 su resultado es 1. Si dividimos un dgito 0 entre un dgito 1 su resultado es 0 En los sistemas binarios tambin se considera como un valor indeterminado la divisin entre 1 y 0, y entre 0 y 0. Cuando se dividen dos nmeros binarios de varios dgitos se implementa la misma metodologa que cuando se divide en el sistema digital 1.2.2 Ejercicios Prcticos Realicemos ahora la multiplicacin del nmero 110102 con el nmero 10112 : Procedimiento: Primero que todo agrupamos los dos nmeros binarios uno encima del otro de tal manera que los dgitos de la misma posicin se encuentre en la misma columna o uno sobre el otro:

Ahora de la misma manera que en el sistema digital, el dgito de la posicin cero del segundo nmero binario se multiplica por todo el primer nmero binario:

De igual manera el dgito de la posicin uno del segundo nmero binario se multiplica por todo el primer nmero, pero su resultado se coloca a partir de la columna correspondiente a la posicin uno:

Ahora el dgito de la posicin dos del segundo nmero binario se multiplica por todo el primer nmero, pero su resultado se coloca a partir de la columna correspondiente a la posicin dos; se procede de similar manera con la posicin tres y cuatro, lo que nos da

De igual manera que en el sistema decimal, procedemos a sumar columna por columna, por lo tanto el resultado es:

Realicemos ahora la divisin del nmero 110010102 con el nmero 10112 : Procedimiento: Primero que todo agrupamos los dos nmeros binarios de la misma manera que cuando realizamos una divisin en el sistema decimal:

El divisor tiene cuatro dgitos, por lo tanto, procedemos a tomar de izquierda a derecha cuatro dgitos del dividendo; el nmero que forman estos cuatro dgitos debe ser mayor al nmero divisor, si no es as se tomara un dgito ms en el dividendo. Cuando este nmero es mayor que el divisor, se coloca un 1 en la zona del resultado de la divisin y se procede a restar como sigue:

Al resultado de la resta se le agrega a su derecha el siguiente dgito que sigue a los cuatro inicialmente tomados en el dividendo; se examina si el nuevo nmero que se forma es mayor al divisor, si no es el caso se agrega el dgito siguiente, y en la zona del resultado se coloca un cero (en este caso debemos recurrir una vez ms a este procedimiento):

Ahora que el nmero generado es mayor que el divisor, colocamos un 1 en la zona del resultado y restamos de nuevo el divisor a este nmero obteniendo.

An nos falta por bajar un dgito del dividendo, pero el nmero que se forma no es mayor que el divisor, as que agregamos un cero al nmero de la zona de resultado:

De donde el resultado de la divisin es el nmero 100102 y el residuo de esta divisin es el nmero 100 2 EJERCICIOS: 1. Realice las siguientes sumas binarias:

2. realice las siguientes restas binarias:

3. Realice las siguientes multiplicaciones binarias:

4. Realice las siguientes divisiones binarias:

2. CIRCUITOS DIGITALES Los circuitos digitales son un conjunto de componentes electrnicos que permiten manejar el voltaje que se les suministra para representar y manipular nmero binarios; este proceso de representacin del nmero binario est relacionado con el nivel de voltaje que se encuentra ya sea a la entrada del circuito o a la salida del mismo, de donde se precisa un nivel alto o bajo con muy clara diferencia entre los mismos; esto es fcilmente aclarado en el tema 2.2 y 2.3 El poder diferenciar claramente los niveles de voltaje en la salida o la entrada del circuito nos permite nombrar estos niveles como 1 y 0, respectivamente. Esta asignacin nos acerca ms al trmino de sistema binario, y nos permite comprender de alguna manera el porqu los circuitos digitales slo trabajan con nmeros binarios. Cada entrada o salida del circuito digital representa un dgito binario, por lo tanto, estos se conocen como bit, del trmino ingls BInary DigiT. Por lo cual, se acostumbra a hablar de un circuito digital de n bits de entrada o n bits de salida. En la figura No. 1 tenemos el ejemplo de la representacin de un circuito digital de 3 bits de entrada y 5 bits de salida: Figura No. 1 Circuito Digital de 3 bits de entrada y 5 bits de salida

2.1 Compuertas Lgicas Un circuito digital es muy similar a un sistema, con sus entradas, sus salidas y un proceso interno que establece la relacin entre las entradas al mismo y sus salidas. Este llamado proceso interno se puede representar por medio de ecuaciones matemticas, cuyas variables y nmeros son NO REALES, por lo tanto, no aplicamos las mismas operaciones y propiedades que conocemos, sino que recurrimos a las definidas en el Algebra de Boole. 2.1.1 Definicin Una compuerta lgica es aquel circuito digital que tiene la capacidad de aplicar un proceso interno a sus n bits de entrada, que cumple con alguna de las operaciones definidas en el lgebra de Boole, y que cuyos resultados son manifiestos en sus bits de salida. En la figura No. 2 podemos observar las operaciones del Algebra de Boole, sus tablas de verdad y representacin grfica.

Figura No. 2 Propiedades del Algebra de Boole: Tablas y representacin grfica

2.1.2 Aplicaciones de las Compuertas Las compuertas lgicas digitales son implementadas para representar las funciones booleanas que representan los sistemas digitales, y que permiten realizar algn tipo de aplicacin como control de un proceso industrial, operaciones aritmticas (sumas, restas, multiplicaciones y divisiones de nmeros binarios), etc. Un ejemplo de esto se representa en la figura No. 3, en donde est la funcin boolena de un sistema digital y la representacin del mismo empleando compuertas lgicas (Este tema ser ampliado en la seccin 3.1). Figura No. 3 Funcin boleana y su representacin por medio de Compuertas lgicas

2.2. Familia TTL Como se coment en la seccin 2.1, los circuitos digitales trabajan con 1 y 0, los cuales representan un rango de voltaje en el bit de entrada o salida del mismo; la caracterstica especial de estos rangos es que el voltaje de los bits slo deben estar dentro de los rangos de voltaje determinados para cada estado, de tal manera que existe una zona de voltaje entre los rangos asignados al 1 y 0 que nunca estar presente en el comportamiento elctrico de los mismos. Si recordamos el componente Electrnico llamado Transistor NPN (ver figura No. 4), este tiene tres Zonas de trabajo: La zona activa, la de corte y la de saturacin. La zona activa funciona como un amplificador lineal de corriente y/o voltaje dependiendo de la configuracin del circuito en el cual se emplee el transistor; las otras dos zonas funcionan de igual manera que un interruptor elctrico, en la zona de corte funciona como circuito abierto y en la zona de saturacin funciona como un corto circuito; esto permite configurar un circuito en el cual el transistor puede acercarse a un voltaje cercano a cero o cercano al voltaje de alimentacin, lo que asumimos como un 0 y 1 respectivamente. Ahora, con una adecuada configuracin de varios circuitos que contengan transistores se pueden generar comportamientos entre las entradas y salidas del circuito que cumplan con el comportamiento de las operaciones booleanas.

Figura No. 4

Transistor NPN

2.2.1 Definicin Los circuitos digitales implementados con la lgica TransistorTransistor son conocidos como circuitos integrados TTL (sigla del trmino en ingls, Transistor-Transistor Logic), y todo circuito integrado que contenga cualquier tipo de compuerta lgica que se genere con este tipo de circuito lgico se relaciona con la Familia TTL. 2.2.2 Caractersticas Los circuitos integrados de la Familia TTL se alimentan con 5V con una variacin aceptable de 0.25V y funcionan adecuadamente en temperaturas ambientales entre los 0 a 70 C. La Familia TTL configura la zona de voltaje para definir el 0 entre 0V y 0.8V, y para definir el 1 entre 2.4V y 5.0V. La velocidad de cambio de estado lgico del bit de salida a razn del cambio lgico de los bits de entrada alcanza en algunas versiones de la familia hasta 250 Mhz, claro est que esto incrementa el consumo de potencia del circuito integrado Cuando una de las entradas del circuito lgico no se conecta sino que se deja al aire, el sistema lo toma como un 1; pero es recomendable conectar la entrada por medio de una resistencia de 1k a 5V para garantizar el estado del mismo. La Familia TTL tiene un limitante en cuanto al nmero de compuertas que se pueden interconectar entre s (fan out), esta caracterstica est impuesta por la capacidad de corriente que puede suministrar o recibir. 2.2.3 Tipos de Circuitos Integrados La familia TTL es una de las familias de Circuitos Integrados (CI) ms utilizados, son reconocidos por la serie estndar 74 e incluyen una amplia variedad de compuertas, flip-flops, multivibradores monoestales, registros de corrimiento, contadores, decodificadores, memorias y circuitos aritmticos.

Dependiendo de la combinacin entre velocidad de respuesta y consumo de potencia la serie se clasifica como: Serie 74L, ofrece bajo consumo de potencia. Serie 74H, ofrece alta velocidad. Serie 74S, configuracin Schottky. Serie 74LS, configuracin Schottky de bajo consumo de potencia. Serie 74AS, configuracin Schottky avanzada. Serie 74ALS, configuracin Schottky avanzada con bajo consumo de potencia. La familia TTL tambin se clasifica dependiendo del tipo de salida con que cuenta: Salida TTL con colector abierto. Salida TTL de tres estados. 2.3. Familia CMOS Otro tipo de transistores aplicados en los CI son los transistores MOS (MOS, de la sigla en ingls Metal-Oxide Semiconductor) los cuales consumen y disipan menos energa por compuerta; este dispositivo puede modelarse como una resistencia controlada por voltaje con tres terminales, de tal forma que opera con una resistencia muy alta (1) o muy baja(0) (Ver figura No. 5). Este transistor tiene dos configuraciones que son complementarias conocidas como NMOS y PMOS, los cuales al ser implementados en un circuito forman la lgica MOS Complementaria (CMOS), con la cual tambin se pueden implementar los comportamiento de las diferentes operaciones boolenas, como por ejemplo una compuerta inversora (Ver figura No. 6). Figura No. 5 Transistor MOS

Figura No. 6 Circuito Inversor CMOS

2.3.1 Definicin Se denominan circuitos integrados de la Familia CMOS a aquellos en los cuales se ha implementado la lgica booleana por medio de circuitos lgicos CMOS. 2.3.2 Caractersticas Los circuitos integrados de la Familia CMOS se alimentan con valores entre 3V y 18V (claro que las series ms nuevas definen su rango de alimentacin entre 2V y 6V), y los estados lgicos 1 y 0 se definen en los rangos Vcc-0.7Vcc y 0.3Vcc-0V, respectivamente. Estos integrados son especialmente susceptibles a daos por carga electrosttica, aunque las ltimas generaciones de CI CMOS vienen protegidos contra estas descargas.

2.3.3 Tipos de Circuitos Integrados La familia CMOS en sus comienzos fue conocida como la serie 4000; aunque tena un bajo consumo de potencia, era bastante lenta y de muy difcil conexin con la familia TTL. Este aspecto fue mejorado por la serie 74HC (CMOS de alta velocidad) y la 74HCT (CMOS de alta velocidad, compatible con TTL). Despus se introdujo la serie 74AC (CMOS avanzada) y la 74ACT (CMOS avanzada, compatible con TTL). 2.4 CIRCUITOS INTEGRADOS El Circuito Integrado (CI) es un chip de Silicio en el cual se han fabricado una o ms compuertas lgicas (Ver figura No. 7), se caracterizan por venir en un paquete de cermica o plstico con contactos metlicos en su periferia que permiten establecer conexin elctrica para el suministro de energa y de las seales de entrada y salida; lo que interesa conocer de un CI es su comportamiento elctrico y funcional. Normalmente un CI se conecta en una tarjeta de Circuito Impreso (PCB, del trmino ingls Printed-Circuit Board) para poder establecer su interconexin con otros circuitos integrados segn la

funcionalidad que tenga en el sistema implementado. interconectaremos principalmente en Protoboards. Figura No. 7 Imagen de un Circuito Integrado

Nosotros lo

INVESTIGACION: 1). En qu consiste la lgica de diodos? implementen. D ejemplo de circuitos que la

2). Cmo se configura un inversor lgico por medio de un transistor NPN?. 3). Qu otros tipos de lgicas circuitales se han implementado para poder implementar las operaciones booleanas? 4). Investigue cules son los circuitos integrados ms comnmente usados y qu caractersticas poseen.

3. PRINCIPIOS DE DISEO DE LOGICA COMBINACIONAL Un circuito lgico combinacional es aquel en el cual sus bits de salida dependen solamente del estado actual de los bits de entrada. El comportamiento de estos circuitos se analiza inicialmente por medio de un diagrama lgico de dnde se obtiene la descripcin formal de la funcin ya sea por medio de una tabla de verdad o una expresin lgica. 3.1 ALGEBRA DE CONMUTACION Basados en el trabajo del matemtico George Boole y las observaciones del investigador Claude E. Shannon se han fundamentado las tcnicas formales para el anlisis de los circuitos digitales. 3.1.1 Definicin Seal lgica: Es el estado que se registra en los bits de entrada o salida de un circuito combinacional; se han definido el estado 1 o ALTO y el estado 0 o BAJO. En el lgebra de Boole una variable simblica (por ejemplo X) ser quien represente la seal lgica en un bit de entrada. Operaciones Binarias bsicas NOT: una de los axiomas principales del lgebra de Boole es que si X = 0 , entonces X 0 ; y por analoga si X = 1 , entonces X 0 . Ahora si definimos la accin de negar una variable como la manera en la cual si su estado es 0, al negarla su estado sera 1, o viceversa; y si definimos el universo de los circuitos lgicos en los cules slo son posibles dos estados (1 y 0), entenderamos que si X = 1 , su complemento sera X ' = X = 0 , y si X = 0 , entonces X ' = X = 1 . Esto es lo que se conoce como la operacin NOT o inversor (ver figura No. 2). AND: Para una multiplicacin lgica tenemos que si las entradas son X y Y, su representacin algebraica sera F = X Y , en donde el punto de multiplicacin () indica una operacin AND o multiplicacin lgica (Ver figura No. 2) y cuyo resultado slo es 1 cuando todas las entradas son 1. OR: una suma lgica u operacin OR, la cual se representa por medio de un signo ms ( F = X + Y ), tiene como salida 0 si y solamente si todas las entradas son 0 (Ver figura No. 2). Basados en estas tres operaciones bsicas tenemos los siguientes teoremas para una variable:______

El lgebra de Boole cumple los siguientes postulados: 1. las operaciones OR y AND son conmutativas:X +Y = Y + X X Y = Y X

(ecuacin No. 3)

2. Cada operacin (AND y OR) es distributiva para la otra, es decir:X + (Y Z ) = ( X + Y ) ( X + Z ) X (Y + Z ) = ( X Y ) + ( X Z ) 3. las operaciones OR y AND son asociativas: ( X + Y ) + Z = X + (Y + Z ) = X + Y + Z ( X Y ) Z = X (Y Z ) = X Y Z

(ecuacin No. 4) (ecuacin No. 5)

(ecuacin No. 6) (ecuacin No. 7)

4. Para cada par de elementos se cumple que (Propiedad de absorcin o cobertura): X + X Y = X (ecuacin No. 8) (ecuacin No. 9) X (X + Y) = X 5. La propiedad de combinacin consiste en: X Y + X Y = X (X + Y) (X + Y ) = X 6. El Teorema de Morgan consiste en: (X + Y + Z) = X Y Z____________ ________________ ___ ___ ___ ___ ___

(ecuacin No. 10) (ecuacin No. 11)

(ecuacin No. 12) ecuacin No. 13)

X Y Z = X + Y + Z

___

___

___

7. El teorema de Shannon define el complementario de una funcin como aquel en el cual cada variable se reemplaza por su complementaria y, al mismo tiempo, se intercambian las operaciones AND y OR, es decir: f ( X , Y , Z ,...,+,) = f ( X , Y , Z ,...,,+ ) 8. El teorema de Expansin consiste en:___ ___ f ( X , Y , Z ,...) = [X + f (0, Y , Z ,...) ] X + f (1, Y , Z ,...) = X f(1, Y, Z,...) + X f (0, Y , Z ,...)

________________

___ ___ ___

(ecuacin No. 14)

(ecuacin No. 15) En donde el desarrollo o la expansin puede realizarse en funcin de cualquiera de las variables presentes.

3.1.2 Ejercicios

Ahora aplicaremos los teoremas del +algebra de Boole para resolver ecuaciones lgicas: Probemos que ( X + Y ) Y = X Y Procedimiento: 1. Tomaremos el trmino de la izquierda del igual, y por medio de la propiedad distributiva (Ec. No. 5) eliminaremos el parntesis: X Y + Y Y = X Y 2. Si observamos el segundo trmino del lado izquierdo del igual ( Y Y ), notaremos que estn cumpliendo la propiedad del complemento para la multiplicacin lgica, por lo tanto el resultado de este trmino es 0:___ ___ ___

X Y + 0 = X Y3. Ahora el lado izquierdo del igual se asemeja a la propiedad de la identidad para la suma lgica, por lo tantoX Y = X Y

De donde queda demostrada la igualdad

______________

Aplique el Teorema de Morgan en

A (B + C)

Procedimiento: 1. El Teorema de Morgan dice que toda variable es reemplazada por su complemento, las operaciones AND y OR son reemplazadas por su inverso (OR y AND) (Ver ecuaciones No. 12 y 13). Inicialmente colocaremos los complementos de A y del trmino que va entre parntesis, y la operacin inversa de la multiplicacin lgica, lo cual nos da: A (B + C) = A + (B + C) = 2. Ahora, el trmino entre parntesis est negado, cuando aplicamos la negacin los trminos B y C son reemplazados por sus complementos y la operacin de la suma lgica se reemplaza por la multiplicacin lgica:______________ ______________ ___ _________

A (B + C) = A + (B + C) = A + B C______________

___

_________

___

___ ___

Por lo tanto A (B + C) = A + B C___ ___ ___

3.2 ANALISIS Y SINTESIS DE CIRCUITOS COMBINACIONALES

Para el anlisis de Circuitos Combinacionales nosotros manejamos funciones booleanas que nos representan el comportamiento de los mismos en funcin del estado de sus entradas. Una funcin booleana sencilla es la siguiente: f (X ) = X Esta funcin indica que para cada valor de X la respuesta de la misma es el complemento, como X slo puede tomar dos valores (0 y 1), las respuestas sern sus complementos (1 y 0). Como en el lgebra, las funciones pueden tener varias variables, f ( X ,Y ) = ( X + Y ) Y Para esta funcin en particular podemos notar que cuando f (0,0) = (0 + 0 ) 0 = (0 + 1) 0 = 1 0 = 0 f (0,1) = (0 + 1 ) 1 = (0 + 0) 1 = 0 1 = 0 f (1,0) = (1 + 0 ) 0 = (1 + 1) 0 = 1 0 = 0 f (1,1) = (1 + 1 ) 1 = (1 + 0) 1 = 1 1 = 1 Y como habamos probado en la seccin 3.1.2, esta funcin es lo mismo que tener la multiplicacin lgica de X y Y, de donde la salida slo es 1 cuando las dos entradas son 1, y la salida es 0 en los dems casos. La representacin bsica de una funcin lgica es la tabla de verdad, la cual, para la funcin anterior la podemos ver en la figura No. 8; como se observa, el nmero de columnas de la tabla de verdad est dado por el nmero de variables de la funcin seguido de su resultado. El nmero de filas de la tabla de verdad est dado por el nmero mximo de diferentes posibles combinaciones de los estados de las entradas ( 2 n , n= nmero de variables), por ejemplo, si tenemos 3 variables en una funcin sern 8 filas en la tabla de verdad y cuatro columnas. Figura No. 8 Tabla de Verdad de la funcin f ( X ,Y ) = ( X + Y ) Y___ __ __ __ __ ___ ___

Como se pudo observar, por medio de la funcin booleana se defini el comportamiento de la tabla de verdad; de similar manera, nosotros podemos

partir de una tabla de verdad para poder deducir la funcin booleana, el problema es que se pueden obtener una multitud de funciones booleanas que tendrn el mismo comportamiento, as que nuestra misin ser encontrar la funcin que este lo ms simplificada posible. 3.2.1 Descripcin de Diseo y circuitos A partir de una tabla de verdad se pueden obtener varias funciones booleanas que expresan el comportamiento descrito en la tabla; todas estas funciones sern equivalentes, y unas se podrn deducir de otras por medio de las propiedades del lgebra de Boole. Lo generalmente ms empleado para la deduccin de las expresiones resultantes de una tabla de verdad, son las formas cannicas. Estas se caracterizan porque en todos los trminos de estas expresiones aparecen todas las variables. Para entender una forma cannica debemos comprender lo siguiente: Trmino producto: Es la multiplicacin lgica de dos o ms variables, ejemplos: XYZ , X Y Z , A B C_____

Expresin de suma de productos: Es la suma lgica de trminos productos, ejemplo: X + X Y + XY Z___ __

Trmino suma: Es la suma lgica de dos o ms variables; ejemplos:X +Y + Z ,___

X +Y + Z+ A

__

Expresin de producto de sumas: Es el producto lgico de trminos suma, ejemplo: X ( X + Y ) ( X + Y + Z ) ( X + Y + Z + A)__ ___ ___ ___ ___

Trmino normal: Es un producto o trmino suma en el que ninguna variable aparece ms de una vez. Ejemplos: XYZ , X + Y , A + B + C + D Mintrmino: Es un trmino de producto normal con n variables. Ejemplos: X Y Z , X Y Z , X Y Z___ __ ___ ___ ___ __

Maxtrmino: Es un trmino suma normal con n variables. Ejemplos:

X +Y + Z +W ,

X + Y + Z +W ,

___

___

___

X + Y+ Z+W

__

__

Existe una relacin entre la tabla de verdad y los mintrminos y maxtrminos de una funcin:

Un mintrmino puede definirse como un trmino producto que es 1 en una de las filas de la tabla de verdad; como es un producto, la nica manera que logramos que sus entradas nos den como resultado un 1 es haciendo que todas sean 1, por lo tanto, el mintrmino tendr las variables que sean 0 complementadas (Ver figura No. 9) Un maxtrmino puede definirse como un trmino suma que es exactamente 0 en una de las filas de la tabla de verdad; de similar manera al mintrmino, el resultado del mxtermino debe ser un 0, as que todas las variables que sean 1 sern complementadas (ver figura No. 9) Figura No. 9 Ejemplo de Mintrminos y Maxtrminos para dos variables

Ahora si estamos capacitados para entender cmo las formas cannicas son empleadas para deducir expresiones lgicas que describen un circuito lgico a partir de la tabla de verdad correspondiente. La primera forma cannica es la Suma Cannica de la funcin lgica, la cual es la suma de los mintrminos correspondientes a las filas de la tabla de verdad en las cuales los resultados sean un 1, como ejemplo, la suma cannica de la tabla de verdad de la figura No. 8 es F = XY La suma cannica se compone de un solo trmino porque solamente una fila tiene como resultado un 1, ahora si aplicamos toda la tabla de verdad en esta expresin notaremos que la cumple (esto se propone como ejercicio al estudiante) La segunda forma cannica es el Producto Cannico de la funcin lgica, y consiste en el producto de los maxtrminos correspondientes a las combinaciones de las entradas para las cuales la salida es un 0. Por ejemplo, el producto cannico de la tabla en la figura No. 8 es F = ( X + Y )( X + Y )( X + Y ) De similar manera, se propone al estudiante representar toda la tabla de verdad en la expresin resultante para confirmar que cumple con las condiciones de la tabla.___ ___

Ahora el punto que debe preocuparnos es si las dos expresiones resultantes son realmente equivalentes? Para confirmarlo deduciremos de la expresin de productos de maxtrminos la expresin de suma de mintrminos, as que nuestra expresin inicial es la siguiente: F = ( X + Y )( X + Y )( X + Y ) Procedimiento: 1. Hemos dicho que las operaciones OR y AND son asociativas (Ver Ecuacin. No. 7), por lo tanto, agruparemos los dos primeros maxtrminos como sigue: F = [( X + Y )( X + Y )]( X + Y ) 2. La ecuacin No. 5 nos dice que la operacin OR es distributiva, as que asumiremos que el primer maxtrmino es una sola variable y el producto del mismo por el segundo maxtrmino ser distribuido de la siguiente manera F = [( X + Y ) X + ( X + Y ) Y )]( X + Y ) 3. Con la expresin resultante redistribuiremos el producto de cada variable por el maxtrmino que lo multiplica: F = [ XX + YX + X Y + Y Y ]( X + Y ) 4. Ahora aplicando el teorema de Idempotencia y complemento obtenemos F = [ X + YX + X Y + 0]( X + Y ) F = [ X + YX + X Y ]( X + Y ) 5. Simplificando el primer trmino de la multiplicacin tendremos: F = [ X (1 + Y + Y )]( X + Y ) 6. Ahora, una variable que es sumada con un 1 y con su complemento nos da la misma variable, por lo cual F = [ XY ]( X + Y ) F = XY ( X + Y ) 7. Aplicando la ley distributiva tenemos F = XY X + XYY 8. Aplicando la ley conmutativa F = YX X + XYY___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___

9. y por el teorema del complemento para la multiplicacin

F = Y 0 + XYY = 0 + XYY = XYY10.y por el teorema de Idempotencia aplicado a la variable YF = XY

Por lo cual obtenemos la misma expresin resultante para la suma cannica de la tabla en la figura No. 8 Ya tenemos unas herramientas bsicas para generar expresiones lgicas de una tabla de verdad, pero de dnde se genera la tabla de verdad? Por regla general, la tabla de verdad se deduce de una descripcin verbal de un problema descrito por alguien o por nosotros mismos. Esta descripcin puede ser un listado de combinaciones de varias entradas para las cuales debe estar activo o desactivo un bit en especial (salida del sistema).

3.2.2 minimizacin de Circuitos Combinacionales Cuando obtenemos una expresin lgica que describe una situacin especial o un comportamiento requerido en un circuito, el paso siguiente sera el implementarlo en un circuito electrnico, pero en la mayora de los casos, la implementacin directa de una suma o multiplicacin cannica no es la ms fiable econmicamente hablando pues el nmero de mintrminos y maxtrminos crece exponencialmente con el nmero de variables. Esta es una de las causas por las cules la minimizacin es una de las mejores herramientas para optimizar el circuito lgico diseado, de tal manera, que la expresin final sea la de menor nmero y tamao de compuertas electrnicas necesarias para construirla. Los medios que tenemos para optimizar una expresin booleana son: Utilizando Propiedades y Teoremas del lgebra de Boole. Utilizando el mtodo de los mapas de Karnaugh

3.2.3 Teorema de Morgan Normalmente las formas cannicas no son las expresiones ms simplificadas, pero el procedimiento para hacer la simplificacin no tiene un mtodo analtico, hay que basarse en la experiencia y el conocimiento de las propiedades del lgebra de Boole. Un ejemplo de simplificacin de expresiones lgicas fue realizado en la seccin 3.2.1. A continuacin veremos otro ejemplo:

Ejercicio resuelto: Minimizar la siguiente expresin: F = X Z + XY + X Y Z___ ___

Procedimiento: 1). Podemos aplicar la ley asociativa de la suma lgica para los dos ltimos trminos as F = X Z + ( XY + X Y Z ) 2) Aplicando el procedimiento inverso para la ley distributiva de la multiplicacin lgica con respecto a la suma tendremos F = X Z + X (Y + Y Z ) 3). Para el trmino (Y + Y Z ) aplicamos la ley distributiva segn la Ecuacin No. 4, de tal forma que obtenemos (Y + Y ) (Y + Z ) , y como para la suma de complementos se cumple que es igual a 1 tendramos (1) (Y + Z ) = (Y + Z ) , as que reemplazando en la expresin: F = X Z + X (Y + Z ) 4). Aplicando la ley distributiva y conmutativa tendremos: F = X Z + X (Y + Z ) = X Z + XY + XZ = X Z + XZ + XY 5). Agrupando los dos primeros trminos tendremos F = X Z + XZ + XY = ( X + X ) Z + XY 6). De donde por la propiedad de la suma de complementos F = ( X + X ) Z + XY = (1) Z + XY = Z + XY F = Z + XY De donde podemos observar que de requerir inicialmente una compuerta OR de tres entradas, dos compuertas AND de dos entradas, una compuerta AND de tres entradas y dos compuertas inversoras; al realizar la minimizacin llegamos a necesitar solamente una OR de dos entradas y una AND de dos entradas. Por lo tanto en la mayora de casos el proceso de minimizacin reduce notablemente la cantidad de componentes electrnicos requeridos en el montaje de un Circuito Digital (Ver figura No. 10). Queda como tarea para el estudiante el construir las tablas de verdad de las dos expresiones y comprobar que se comportan igual.___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___

Figura No. 10 Accin de Minimizacin: Circuito de una expresin lgica original y Minimizada

3.2.4 Mapas de Karnaugh Un mapa de Karnaugh es una representacin grfica de la tabla de verdad de una expresin lgica. Bsicamente es una tabla de cuadros de 2 i filas por 2 j columnas, en donde i + j = n , siendo n el nmero de variables, adems se cumple que 2 n = 2 i * 2 j , es decir, la tabla tendr tantos cuadros como posibles combinaciones de las variables de entrada (Ver figura No. 11). Como el mapa de Karnaugh es otra forma de representar la tabla de verdad, debemos asignar un nmero i de variables para designar las filas y un nmero de j variables para designar las columnas, se acostumbra colocar las primeras i variables de la tabla de verdad a las filas y las j variables restantes a las columnas (ver figura No. 12). Figura No. 11 Ejemplo de un mapa de Karnaugh para una expresin de 4 variables

Las expresiones 2 i y 2 j indican el nmero de posibles combinaciones que se pueden realizar con las i y las j variables respectivamente, es por eso que las filas y las columnas son el mismo nmero de combinaciones posibles de cada grupo de variables asignadas a cada lado del mapa de Karnaugh; pero el truco es no colocar las posibles combinaciones en el mismo orden en que se generaran como si estuvisemos contando en binario (00, 01, 10, 11); las posibles combinaciones de las variables asignadas en las filas y columnas,

deben de una a la siguiente combinacin variar uno slo de sus dgitos es decir: 00, 01, 11, 10 Podemos ver la aplicacin de este concepto en la figura No. 13. Tenga en cuenta que el primer dgito de cada trmino (sea en la fila o la columna) corresponde a la primera variable asignada para la fila o la columna; de manera similar se hace con los dems dgitos, es decir, el segundo dgito va con la segunda variable, el tercer dgito con la tercera variable, etc.

Figura No. 12 Ubicacin de las variables en un mapa de Karnaugh para una expresin de 4 variables

Lo que nos falta es relacionar cada lnea de la tabla de verdad con cada cuadro del Mapa de Karnaugh. Para hacerlo, lo que hacemos es analizar cada una de las intersecciones entre las filas y las columnas, por ejemplo, la fila dos y la columna tres en la Figura No. 13 es la interseccin entre el trmino 01 y el trmino 11, lo que nos indica que debe ser el trmino de la expresin correspondiente a F(X,Y,Z,W) = F(0,1,1,1); de similar manera, la interseccin entre la fila tres y la columna cuatro es el trmino de la expresin correspondiente a F(X,Y,Z,W) = F(1,1,1,0). En otras palabras cada cuadro del mapa de Karnaugh tiene un mintrmino correspondiente en la tabla de verdad; y en cada cuadro se colocar el resultado esperado para cada uno de ellos. Es importante tener en cuenta que existen columnas y filas adyacentes en el mapa de Karnaugh en las cuales una de las variables es 1 y no vara, esto lo podemos observar en la figura No. 14.

Figura No. 13 Mapa de Karnaugh para una expresin de 4 variables

Figura No. 14 Mapa de Karnaugh para: a) Dos variables b). Tres variables c). Cuatro variables

Ahora llevemos a la prctica lo hasta el momento aprendido. Realicemos el mapa de Karnaugh de la siguiente tabla de verdad y halle la expresin mnima:

Procedimiento: 1. Identificamos que es una tabla de verdad con tres variables, por lo tanto, necesitaremos un mapa con dos filas y cuatro columnas como la observada en el Item b) de la figura No. 14.

2. Cada uno de los mintrminos de la tabla de verdad ser relacionada con cada uno de los cuadros del mapa de Karnaugh, por lo cual, en cada cuadro relacionado colocaremos los resultados esperados segn la tabla de verdad:

3. Ya tenemos el mapa de Karnaugh, pero requerimos minimizar la expresin que representa de la tabla de verdad, por lo tanto, la minimizaremos por medio de la suma de productos (mintrminos): F ( A, B, C ) = A B C + A B C + A BC + A B C + ABC De donde, aplicando la ley conmutativa para la suma y la operacin___

___ ___

___

___

___

___

contraria a la idempotencia para la suma en el trmino A BC tendremos F ( A, B, C ) = A B C + A BC + A B C + A BC + A B C + ABC Ahora la ley asociativa F ( A, B, C ) = ( A B C + A BC ) + ( A B C + A BC ) + ( A B C + ABC ) Y por la ley distributiva podemos hacer lo siguiente F ( A, B, C ) = A ( B C + BC ) + A B( C + C ) + A( B C + BC ) Y luego F ( A, B, C ) = A C ( B + B) + A B( C + C ) + AC ( B + B) De donde por el teorema de complemento obtenemos F ( A, B, C ) = A C (1) + A B(1) + AC (1) Y con el teorema de Identidad F ( A, B, C ) = A C + A B + AC Por la ley conmutativa F ( A, B, C ) = A C + AC + A B Y aplicando de nuevo la ley asociativa y distributiva___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___

F ( A, B, C ) = ( A C + AC ) + A B F ( A, B, C ) = C ( A + A) + A B Y por el teorema del complemento y la identidad F ( A, B, C ) = C (1) + A B F ( A, B, C ) = C + A B De donde obtenemos la mnima expresin lgica para la tabla de verdad dada 4. Ahora podemos confrontar el resultado anterior con el resultado que obtengamos con el mapa de Karnaugh, para ello tendremos en cuenta las siguientes normas: a. Slo tendremos en cuenta los unos que identificamos en los cuadros del mapa de Karnaugh___ ___ ___ ___

___

___

b. Realizaremos grupos de estos unos de tal manera que formemos grupos mltiplos de dos y que sean lneas horizontales, lneas verticales, que formen rectngulos, ejemplos

c. Seleccionamos el grupo o los grupos que mejor relacionen los unos del mapa de Karnaugh, ejemplo

d. Para cada uno de los grupos seleccionados determinamos qu variables slo participan con uno slo de sus estados (1 0) y los seleccionamos con la misma representacin como lo hacemos para los mintrminos, ejemplo

e. Ahora, como la representacin inicial de las variables en el mapa de Karnaugh era con mintrminos, y como los mintrminos son

empleados para la minimizacin por la forma cannima de suma de productos, estos dos resultados sern nuestra respuesta, la cual es la misma que nos di en el punto 4 F ( A, B, C ) = C + A B___

EJERCICIOS: 1). Investigue en qu consiste la convencin de lgica positiva y lgica negativa? 2) Realice las siguientes operaciones

1+ 0 = X +0=Z Z =

1+1 = Y +1 =

1 0 = X 0 =XX =___

1 1 = X+X =

X+X =X + XY + Y =

___

X + X Y = 0

Y (Y + X ) =

3). Aplique el Teorema de Morgan: a). XY + CD Z = b). ( XY + ZW ) V = 4). Obtenga las tablas de verdad de las siguientes expresiones: F = X Y + X Y Z F = X Y + X Y___ ___ ___ ___ ___________________ ________________ ____________

F = X Y + X Y F = XY Z + X Y Z + X YZ__ __ __

___

___

5) Obtenga las suma y el producto cannico, el mapa de Karnaugh y la minimizacin de las expresiones de las siguientes tablas:

6) realice la minimizacin de las siguientes expresiones lgicas empleando los dos mtodos de minimizacin y el mapa de Karnaugh: a. F = A C D + B CD + A C D + BCD b. F = WX Z + W X YZ + XZ c. F = ( X + Y ) (W + X + Y ) (W + X + Z ) d. AB C D + A B C + ABD + A CD + BC D___ ___ ___ ___ __ ___ __ ___ ___ ___ ___ ___

___

___

___

___

___

7). Investigue cmo se trabajan los mapas de Karnaugh para cinco o ms variables. 8). Determine la expresin mnima de los siguientes mapas de Karnaugh

4. PRINCIPALES CIRCUITOS INTEGRADOS Una de las principales aplicaciones de las compuertas lgicas en los circuitos digitales es como convertidores de cdigos. Los cdigos ms usados son los binarios, BCD (8421), Octal, hexadecimal y el decimal. Como sabemos hasta ahora los circuitos digitales trabajan con 1 y 0, pero las personas en la mayora de los casos, no son capaces de manipular largas cadenas de 1 y 0, por lo cual es necesario convertir la numeracin binaria a la decimal o viceversa.

4.1 Decodificadores BCD a Decimal y BCD a Siete Segmentos El cdigo BCD (de las siglas en ingls Binary Coded Decimal) se conoce como Decimal Codificado Binario, el cual codifica los dgitos 0 a 9 por sus representaciones binarias sin signo de 4 bits, del 0000 2 al 10012 . Los trminos del 10102 al 11112 no son empleados. El Cdigo Siete Segmentos hace relacin a los Display de Siete Segmentos, los cuales son segmentos formados por diodos emisores de luz, que son empleados para representar visualmente los nmeros decimales y hexadecimales (Ver figura No. 15); cada uno de los segmentos que forman parte de un display tiene un carcter asociado (ver figura No. 16), de tal manera que cuando por ejemplo deseamos representar el nmero 2, debemos iluminar los segmentos a, b, g, c y d. Figura No. 15 Display Siete Segmentos

Figura No. 16 Asignacin de letras a cada Segmento de un Display

4.1.1 Definicin Codificador BCD a Decimal: Es aquel circuito lgico combinacional con cuatro entradas (las cuales se restringen a los cdigos BCD) y diez salidas, las cuales representan cada uno de los diez dgitos decimales (0, 1, 2, 3, 4, 5, 6, 7, 8 y 9). Codificador BCD a Siete Segmentos: Es aquel circuito lgico combinacional con cuatro entradas (las cuales se restringen a los cdigos BCD) y siete salidas, las cuales sern conectadas a un display siete segmentos para representar los correspondientes dgitos del cdigo BCD de la entrada. 4.1.2 Circuito Bsico de Funcionamiento Codificador BCD a Decimal: La tabla de verdad relacionada con el comportamiento del codificador BCD a Decimal es la siguiente:

En la tabla se puede apreciar que el cdigo BCD es el valor correspondiente a cada dgito en decimal con su valor en binario, por lo cual, cada posicin binaria de la entrada ha sido asignada con las letras A, B, C y D, siendo esta asignacin en orden ascendente a su correspondiente valor numrico. Ahora, se entiende que el sistema tiene diez salidas, las cuales corresponden a cada uno de los dgitos decimales segn el correspondiente cdigo binario en la entrada, y cada una de ellas se activar (estado en 1) solamente cuando su respectivo cdigo binario est en la entrada del sistema. Por lo tanto, para analizar el esquema lgico a emplear, se puede pensar en la tabla como el resultado de condensar diez tablas con las mismas entradas, pero con cada una de las salidas correspondientes a cada uno de los dgitos decimales.

Podemos analizar cada una de las tablas por medio de mintrminos, de dnde slo analizaremos los correspondientes a las salidas en 1, de tal forma que tendremos las siguientes diez expresiones lgicas: F ( D, C , B, A) = D C B A F ( D, C , B, A) = D C B A F ( D, C , B, A) = D C B A F ( D, C , B, A) = D C B A F ( D, C , B, A) = D C B A F ( D, C , B, A) = D C B A F ( D, C , B, A) = D C B A F ( D, C , B, A) = D C B A F ( D, C , B, A) = D C B A F ( D, C , B, A) = D C B A___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___

(Para el dgito cero) (Para el dgito uno) (Para el dgito dos) (Para el dgito tres) (Para el dgito cuatro) (Para el dgito cinco) (Para el dgito seis) (Para el dgito siete) (Para el dgito ocho) (Para el dgito nueve)

De donde podemos obtener el diagrama lgico de la Figura No. 17. Codificador BCD a Siete Segmentos: La tabla de verdad relacionada con un codificador BCD a Siete Segmentos es la siguiente, teniendo en cuenta que el segmento se iluminar cuando el estado de salida correspondiente sea 1:

Figura No. 17 Circuito lgico para el conversor BCD a Decimal

En la tabla anterior, usted podr notar que para los valores binarios del 10102 al 11112 el sistema tiene unas salidas activadas (segmentos), esas salidas a qu informacin en conjunto corresponde?. Como ejercicio prctico, encuentre la mnima expresin lgica para cada una de las salidas (segmentos) y realice el circuito lgico correspondiente al conversor BCD Siete Segmentos. En la figura No. 18 podemos observar el circuito lgico empleado en el CI MC14511B, conversor BCD Siete Segmentos, junto a la tabla de verdad y a la distribucin de pines (cortesa de On semiconductor, www.onsemi.com)

Figura No. 18 Circuito lgico y Tabla de Verdad del CI MC14511B Conversor BCD Siete Segmentos

4.2 codificadores Los cdigos son cadenas de n bits en las cuales la manera como se combinen sus estados pueden llegar a representar nmeros o adquirir otros significados, ya tenemos el caso del cdigo BCD, en el cual, por medio de 4 bits se representan los dgitos decimales. 4.2.1 Definicin Un codificador es aquel circuito lgico que hace la conversin de un cdigo a otro cdigo; algunos de estos cdigos son el GRAY; el cdigo de Caracteres; los cdigos para acciones, condiciones y estados (empleado en la comunicacin del teclado con el PC); los cdigos para detectar y corregir errores; cdigos Bidimensionales; cdigos para la transmisin y el almacenamiento de Datos en Serie (NRZI, BPRZ, AMI; etc.) 4.2.2 Circuito Bsico de Funcionamiento Otra forma de expresar dgitos decimales en binario es por medio del cdigo 2421, el cual tiene la siguiente tabla de relacin que a la vez puede ser la tabla de verdad:

De donde podemos deducir las siguientes expresiones lgicas (los nmeros presentes en las expresiones son las variables de las entradas): 2 4 2 1F (0,1,2,3,4,5,6,7,8,9) = 5 + 6 + 7 + 8 + 9 F (0,1,2,3,4,5,6,7,8,9) = 4 + 6 + 7 + 8 + 9 F (0,1,2,3,4,5,6,7,8,9) = 2 + 3 + 5 + 8 + 9 F (0,1,2,3,4,5,6,7,8,9) = 1 + 3 + 5 + 7 + 9

Y cuyo circuito lgico es el indicado en la Figura No. 19.

Figura No. 19 circuito Lgico del conversor Decimal 2421

4.3 Multiplexores En muchas situaciones de la vida nos hemos visto obligados a hacer fila y esperar nuestro turno, en algunos de esos casos, son varias las filas que esperan a que un solo funcionario sea el que les atienda, y en esos casos, el funcionario decide a cual de las filas empieza a atender. Una situacin similar se presenta en los dispositivos electrnicos, por ejemplo un bus de transmisin de Datos, al que muchos dispositivos desean acceder pero deben esperar su turno para hacerlo. 4.3.1 Definicin Un multiplexor es un conmutador digital; es el encargado de encauzar datos de una fuente entre n fuentes posibles, a una sola salida. 4.3.2 Circuito Bsico de Funcionamiento Realicemos un multiplexor de 4 entradas y una salida, en donde adems se requiere indicarle al circuito cul de las entradas se desea obtener en la salida, por lo tanto se requiere dos entradas adicionales para direccionar los datos deseados; a continuacin podemos observar la tabla de verdad de este circuito. Por primera vez incorporamos en la tabla una X dentro de los estados lgicos, esta X indica que el estado de la variable que la tenga no interesa para el anlisis en la respectiva salida:

En la tabla anterior, hemos empleado la designacin de las entradas como D0, D1, D2 y D3 haciendo referencia al trmino Datos; Las direcciones se han designado como A1 y A0 haciendo alusin al trmino de direccin en ingls (Address); y la Salida se ha denominado O en relacin al trmino de salida en ingls (out). Por lo cual se puede deducir la siguiente expresin lgica: F ( D3, D 2, D1, D0, A1, A0) = D0 A0 A1+ D1 A0 A1+ D 2 A0 A1+ D3 A0 A1 De dnde el circuito lgico correspondiente se puede analizar en la Figura No. 20. Figura No. 20 Circuito lgico de un multiplexor de cuatro entradas y una salida___ ___ ___ ___

4.4 compuertas OR Exclusivas y Circuitos de Paridad Una compuerta OR exclusiva (XOR) es aquella compuerta de dos entradas cuya salida en 1 slo cuando una sola de sus entradas es 1, es decir, cuando sus entradas son diferentes. 4.4.1 Definicin La operacin XOR algunas veces se reconoce por el smbolo y se define comoX Y = X Y + X Y___ ___

Una de las mayores aplicaciones de la operacin XOR es la conformar un circuito de Paridad. Un circuito de Paridad se puede definir como aquel circuito lgico que indica si una secuencia o conjunto de bits tiene un nmero par o impar de 1, por lo cual, existen circuitos lgicos de paridad par y circuitos lgicos de paridad impar. Un ejemplo de paridad puede tomarse del nmero 10102 , en donde existen slo dos 1, por lo tanto el nmero tiene paridad par. 4.4.2 Circuito Bsico de Funcionamiento En la Figura No. 21 se puede observar la compuerta representativa de la operacin XOR y el circuito lgico. Figura No. 21 Compuerta representativa, Tabla de verdad y circuito lgico de la operacin XOR

En la figura No. 22 se puede observar el circuito lgico de un Circuito de Paridad impar para cuatro entradas Figura No. 22 Circuito de Paridad impar de cuatro entradas

4.5 comparadores Es muy comn que en un computador o en sistemas de Interconexin de dispositivos o perifricos se requiera la comparacin de dos palabras binarias, ya sea para poder acceder a una direccin, ya sea para comparar la clave de acceso, etc. Algo que es importante definir es el concepto de Byte. Un byte es un conjunto de 8 bits, que en algunos casos representan nmeros binarios, caracteres, cdigos, etc. Y al conjunto de uno o ms Bytes se les conoce como palabra binaria, en donde se adquiere la idea que esta palabra ya no representa exclusivamente un nmero binario. 4.5.1 Definicin Un Comparador es un circuito lgico que compara dos palabras binarias indicando si son iguales o no. 4.5.2 Circuito Bsico de Funcionamiento Ya conocemos el funcionamiento de la operacin XOR, y hemos notado que cuando las entradas son iguales, la salida de esta operacin es un 0 y en caso contrario es 1; Ahora si empleamos una compuerta XOR para la comparacin de cada uno de los bits de entrada de las palabras que se desean comparar, y las salidas de cada una de esas comparaciones se lleva a una compuerta OR, obtendremos un comparador bsico, en donde un 1 nos indica que son diferentes y un 0 nos indica que son iguales. En la figura No. 23 podemos observar el circuito lgico de un comparador de dos palabras de 4 bits cada una. Figura No. 23 Circuito de Paridad Impar de cuatro entradas

4.6 Sumadores Una de las mayores aplicaciones de los circuitos electrnicos es el desarrollo de operaciones matemticas, pero nosotros desarrollamos nuestras operaciones en el sistema decimal, as que tenemos que codificar la numeracin decimal a binaria, realizar las operaciones en binario y despus volver a codificar los nmeros a decimales para su visualizacin. Una de las operaciones ms utilizadas en los circuitos electrnicos es la suma y es la base para el desarrollo de algunas otras operaciones. 4.6.1 Definicin Un sumador es el circuito encargado de realizar la operacin de la suma aritmtica a dos nmeros binarios. 4.6.2 Circuito Bsico de Funcionamiento De acuerdo al procedimiento visto en el primer captulo para sumar nmeros binarios, comenzaremos con un circuito que permita sumar dos bits, por lo tanto, el resultado de la suma de estos dos bits debe darnos el resultado correspondiente a la posicin original de los dos bits, y un resultado relacionado con el acarreo necesario para la suma de los bits de la siguiente posicin, segn lo anterior, podemos plantear la siguiente tabla de verdad

Para la columna del resultado, claramente se nota la operacin XOR, y para la columna de acarreo la operacin AND. Para el caso en el cual, se realice la suma de los bits de la posicin uno en adelante, la tabla de verdad requiere de otra entrada, la cual est relacionada con el acarreo proveniente de la suma anterior, por lo tanto, la tabla de verdad se modifica de la siguiente manera:

Para la salida del Resultado, el circuito a emplear lo podemos entender como un circuito de paridad impar para tres bits; para la salida de acarreo podemos tomarlo como el circuito lgico de la siguiente expresinAcarreoSal ida ( A, B 0, B1) = A( B 0 + B1) + B1.B 0

Donde las variables A, B0 y B1 son el Acarreo de Entrada, el bit0 y el bit1 respectivamente. En la figura No. 24 podemos observar los circuitos para sumar los bits de la posicin cero y para sumar los bits de la posicin uno en adelante. Figura No. 24. Circuitos sumadores: a). Circuito sumador de dos bits b). circuito sumador de dos bits con acarreo de entrada

4.7 Restadores 4.7.1 Definicin El circuito de Resta es aquel que realiza la operacin de sustraer entre dos valores binarios. 4.7.2 Circuito Bsico de Funcionamiento Para analizar el circuito de resta, tendremos en cuenta como entradas el bit B0 (Minuendo), el bit B1 (Sustraendo) y el bit P (Indicando el Prstamo entrante de anteriores restas); las salidas del circuito son el bit D (la diferencia resultante) y el bit Psal (Indica el Prstamo saliente para una prxima resta); De estas entradas y salidas, las expresiones lgicas que las relaciona son:

D = B0 B1 PPsal = B0 B1 + B0 P + B1.PEn la figura No. 25 podemos observar el circuito lgico correspondiente a las expresiones lgicas del circuito restador. Figura No. 25 Circuito Lgico de un Restador Completo___ ___

4.8 ALU El trmino ALU viene de las siglas de la frase en ingls Arithmetic and Logical Unit que significa unidad Aritmtica y lgica; esta unidad hace parte de Microprocesares y Microcontroladores, y es la encargada de realizar las operaciones matemticas. 4.8.1 Definicin La unidad Aritmtica y Lgica (ALU) es un circuito combinacional especializado en el desarrollo de operaciones aritmticas y lgicas diferentes a dos valores binarios dados; la seleccin del tipo de operacin requerido se realiza por medio de las entradas destinadas para este fin. Por lo tanto, este tipo de circuito tiene las entradas para los dos valores binarios y entradas adicionales para especificar el tipo de operacin a realizar. 4.8.2 Circuito Bsico de Funcionamiento Uno de los circuitos integrados con funciones de ALU es el 74LS181, el cual es una ALU de 4 bits que puede desarrollar 16 posibles operaciones sobre dos nmeros de 4 bits. En la figura No. 26 se puede observar la distribucin de pines, el circuito lgico y la tabla de verdad de este CI.

4.9 Multiplicadores Combinacionales Cuando estuvimos manejando la multiplicacin binaria, observamos que en realidad es un proceso de corrimientos y sumas que emulan la forma como nosotros multiplicamos con papel y lpiz en el sistema decimal. Pero estos corrimientos y sumas no indican un comportamiento secuencial o que dependa del tiempo, es posible expresar la accin de la multiplicacin por medio de una tabla de verdad. 4.9.1 Definicin Un multiplicador combinacional es un circuito lgico con una tabla de verdad que expresa el producto de dos palabras de entrada de n bits como una funcin combinacional. 4.9.2 Circuito Bsico de Funcionamiento Realicemos el circuito que realiza la multiplicacin de dos palabras de 2 bits, en donde la primera palabra ser designada por la letra a ( a1a0 ) y la segunda con la letra b ( b1b0 ), y como resultado de esta multiplicacin tendremos una palabra de 4 bits, designada por la letra c ( c3c2c1c0 ). De tal manera que la operacin de la multiplicacin al hacerla en el papel sera:

Figura No. 26 CI 74LS181

De donde podemos obtener las siguientes expresiones lgicas: c0 = a0b0 c1 = a0b1 a1b1

c 2 = a1b1 (( a 0 b1 )( a1b0 ))c3 = (a1b1 )(a0b1 )(a1b0 ) Por lo tanto, podemos observar en la figura No. 27 el circuito correspondiente a un multiplicador combinaciones de dos palabras de 2 bits. Figura No. 27 circuito lgico de un Multiplicador Combinacional de dos palabras de 2 bits

Ejercicios: 1). Disee un decodificador de 3 a 8 para decodificar un cdigo Gray. 2). Investigue sobre el Circuito Integrado 74LS139, analice el correspondiente diagrama lgico. 3). Investigue sobre el CI 74LS49 y el CI 74LS47, descargue del Internet las hoja de Datos de estos componentes y comprelos (un posible sitio es www.ti.com) 4) Investigue sobre el CI 74LS148, qu hace y cmo funciona?

5. DISPOSITIVOS LOGICOS PROGRAMABLES Un Dispositivo Lgico Programable (PLD del trmino Programmable Logic Device) es un circuito integrado que le permite al diseador adecuarlo segn las necesidades especficas para las que se requiere. El diseo del PLD permite a su usuario final programarlo para realizar la funcin requerida en el diseo final en donde se emplear. 5.1 Memoria ROM El trmino ROM viene de la sigla de Read-Only Memory que significa memoria de slo lectura, por lo tanto, una memoria ROM slo permite leer su contenido, y este contenido est relacionado con la tabla de verdad que relacione cada una de sus posiciones de memoria y su valor respectivo; esto nos permite deducir que la memoria ROM es un circuito combinacional que almacena por medio de una funcin lgica cierta informacin. Es de aclarar que este tipo de memoria es una memoria no voltil, pues su contenido se preserva aunque no est conectada la energa elctrica. Otro punto importante con este tipo de memorias es que su contenido es definido desde su fabricacin o cuando se programa pues el usuario final no tiene posibilidad de variar su contenido. 5.1.1 Definicin Una memoria ROM es un circuito combinacional con n entradas y b salidas, en donde las entradas se conocen como entradas de Direccin y tradicionalmente por el trmino en ingls Address cada una de ellas se les llama A0 , A1 , , An 1 ; las salidas se conocen como Salidas de Datos y a cada una de ellas se les llama D0 , D1 , , Db 1 . 5.1.2 Circuito Bsico de Funcionamiento Para la memoria ROM podemos hablar de una estructura bsica y no de su circuito bsico, pues dependiendo de su contenido, este se puede representar como un circuito lgico o por medio de una funcin lgica; en la figura No. 28 podemos observar la estructura bsica de una ROM de n entradas y b salidas ( 2 n xb ). 5.1.3 Aplicaciones Como se haba comentado antes, una memoria ROM puede almacenar la relacin establecida en una tabla de verdad y por lo tanto, con un solo CI se puede reemplazar el nmero necesario de compuertas discretas para construir el circuito lgico que represente esa tabla de verdad. Por lo tanto, se puede construir una memoria ROM para almacenar cualquier tabla de verdad que satisfaga la cantidad de entradas y salidas requeridas para la misma.

Figura No. 28

Estructura bsica de una ROM de 2 n xb

Un ejemplo muy claro es construir con una memoria ROM de 256 x 8 un multiplicador binario de 4 bits x 4 bits, lo que nos representara usar una memoria ROM de 8 entradas (4 entradas para el multiplicando y 4 para el multiplicador) y 8 salidas (el producto de dos nmeros binarios de 4 bits nos da un nmero de mximo 8 bits), este ejemplo se puede ver en la figura No. 29, la tabla lgica a almacenar en la memoria ROM sera la correspondiente a la multiplicacin de todos los posibles trminos de los dos nmeros binarios de 4 bits. Figura No. 29 configuracin de la memoria ROM 256 x 8 Para realizar una multiplicacin binaria de 4 x 4

5.2 PLD Combinacional A diferencia de la memoria ROM, algunos dispositivos se pueden programar despus de la fabricacin del mismo permite varias programaciones, un ejemplo de estos dispositivos son los PLD Combinacionales. 5.2.1 Definicin Un PLD combinacional es cualquier dispositivo lgico cuya funcin es especificada por el usuario final despus de ser fabricado el dispositivo. Otro nombre con el cual se conoce este tipo de dispositivo es PLA (de las siglas de Programmable Logic Array) , tambin conocido como un arreglo lgico programable.

5.2.2 Circuito Bsico de Funcionamiento Un ejemplo de un Arreglo Lgico Programable puede ser como el de la figura No. 30, en donde se tiene un dispositivo AND-OR de dos niveles combinacional que puede programarse de tal forma que se pueda aplicar una expresin lgica de suma de mintrminos; el procedimiento de la programacin consiste en daar los fusibles que se colocan antes de la compuerta AND, de tal manera que quedan funcionando slo los que estn relacionados con los mintrminos seleccionados. Figura No. 30 Ejemplo de dispositivo PLA tal como sale de fbrica

Un ejemplo real de un PLA es el componente de Signetics 82S100 el cual tiene 16 entradas, 48 compuertas AND y ochos salidas. De donde podemos concluir que tiene 1536 fusibles para el arreglo AND y 384 fusibles para el arreglo OR 5.2.3 Aplicaciones En algunos casos, los PLAs o PLDs se emplean como memorias ROM; como se haba planteado, una memoria ROM se puede representar con una tabla de verdad en donde las entradas identifican la direccin de memoria y las salidas indicaran el valor almacenado en esa posicin de memoria, ahora, si esta tabla de verdad la representamos con varias expresiones de suma de mintrminos y estas expresiones se programan en un PLA, podemos obtener una memoria ROM implementada con este tipo de dispositivos. Con este tipo de CI es fcil realizar la implementacin de grandes circuitos lgicos, con mayor complejidad, emplendose un menor nmero de CI y por lo tanto, un menor espacio empleado.

5.3 Memoria RAM El trmino RAM viene de las siglas en ingls de Random Access Memory, lo cual significa Memoria de Acceso Aleatorio. Una memoria RAM no es conocida como un dispositivo lgico programable, pero es igual de estructurado. Cuando se habla de Memorias, se tiene en cuenta el trmino voltil; cuando se dice que una memoria es voltil se entiende que cuando el dispositivo se apaga (se deja de suministrarle energa) toda la informacin contenida en ella se pierde.

5.3.1 Definicin Una memoria RAM es un dispositivo semiconductor que puede ser ledo o escrito por una unidad central de procesamiento u otros dispositivos, y es empleado para el almacenamiento de datos. 5.3.2 Circuito Bsico de Funcionamiento Un circuito integrado de memoria RAM es el CI 74F189, el cual es una memoria RAM de 64 bits de lectura/escritura, en la figura No. 31 se observa el smbolo lgico con el que se representa la memoria 74F189. Figura No. 31 Smbolo lgico del CI 74F189

5.3.3 Aplicaciones La memoria RAM es una memoria voltil ampliamente usada en computadores para mantener informacin de datos y programas temporalmente. Investigacin: 1). Investigue qu tipos de ROM comerciales existen.

2). Qu otro tipo de entradas requieren las memorias ROM para su funcionamiento? 3). Qu tipos de memoria RAM existen?

BIBLIOGRAFIA WAKERLY , John F. (1992). Diseo Digital: Principios y Prcticas. USA: Prentice-Hall Hispanoamericana. TOKHEIM, Roger L. (1994). Schaum's outlines of theory and problems of digital principles. Tercera Edicin, McGraw-Hill. LU, Mi (2004). Arithmetic and logic in computer systems. John Wiley and Sons, Inc Publication. Universidad Nacional de Colombia (2003). "Electrnica Digital I". En: http://www.virtual.unal.edu.co/cursos/ingenieria/2000477/index.html

SEGUNDA UNIDAD DIDCTICA

LENGUAJE VHDL

CAPTULO 1. INTRODUCCION AL LENGUAJE VHDL El lenguaje VHDL es un lenguaje descriptor de Hardware o, en otras palabras, es un lenguaje para la descripcin de sistemas electrnicos digitales y de esta descripcin el sistema o circuito real puede ser implementado El lenguaje VHDL se soporta en el lenguaje de descripcin de Hardware VHSIC; en donde la abreviacin VHSIC viene del trmino ingls Very High Speed Integrated Circuits (Circuitos integrados de muy alta velocidad). Esta versin inicial fue iniciativa del Departamento de Defensa de los Estados Unidos en la dcada del 80. Actualmente, la IEEE (Institute of Electrical and Electronics Engineers) tiene el Estndar de este lenguaje como el IEEE 1076, y un estndar posterior, el IEEE 1164. El lenguaje VHDL es un estndar, por lo cual, el lenguaje es independiente de la tecnologa o el fabricante que lo emplee en sus dispositivos, y esto lo hace porttil y reutilizable. Este lenguaje es principalmente utilizado en el campo de los dispositivos lgicos programables y en Circuitos Integrados de aplicacin Especfica (ASIC, del trmino en ingls Application Specific Integrated Circuits). El lenguaje VHDL es un lenguaje de programacin como tal, pues incluye tipos de Datos, Paquetes, Instrucciones secuenciales, Procedimientos, Funciones, Estructuras de control y archivos de entrada y salida; adems, este lenguaje contiene estructuras para definir y simular eventos, sincronizacin y concurrencia. A la vez, facilita la documentacin de instrucciones segn la arquitectura, estados de mquina, estructuras y jerarquas de diseo de hardware. Pero existen diferencias entre el diseo de un paquete de software y el diseo de un sistema electrnico las cuales son: Un sistema electrnico es un sistema en paralelo. Todos los circuitos en un sistema electrnico siempre estn funcionando. En cambio, en un sistema de software se tiene la nocin de flujo del programa, en donde secuencias de instrucciones son ejecutadas por lazos o por estructuras condicionales. Un paquete de software casi siempre est enfocado al diseo del comportamiento del sistema. En un sistema electrnico, no solamente el comportamiento del sistema se tiene en cuenta, tambin se analiza la estructura del sistema, la forma como se distribuyen las funciones, el tipo de tecnologa a emplear, la sincronizacin del sistema, etc. En el diseo de sistemas electrnicos, la posibilidad de probar el sistema en su aplicacin final es muy limitada, a diferencia de los sistemas de software que por medio de mltiples recopilaciones del diseo se puede

optimizar el producto final. Por ejemplo, en el caso del diseo de un circuito integrado complejo, en el cual, slo existe una oportunidad de enviarlo a la fbrica de circuitos integrados y obtener una versin del mismo en una pastilla, es muy importante tener las herramientas de soporte que permitan en el diseo una detallada simulacin y evaluacin del mismo, que garanticen que el diseo enviado a fabricar es el ptimo.

1.1 DESCRIPCIN DE LA ESTRUCTURA Un sistema electrnico se representa como un mdulo con entradas y salidas, en donde el comportamiento de las salidas est representado por una expresin lgica dependiente del estado de las entradas. En la figura No. 32 se observa la representacin estructural de un sistema digital de dos entradas (X, Y) y una salida (F); en trminos del lenguaje VHDL todo el sistema es conocido como una entidad (entity) y las entradas y salidas se conocen como puertos (ports) Figura No. 32 Representacin estructural de un sistema digital De dos entradas y una salida

Como la salida del sistema est representada por una expresin lgica, esta expresin lgica nos indica la manera como se compone el sistema en pequeas partes o sub-mdulos. Cada uno de estos sub-mdulos son conocidos como instancias o casos (instance), y los puertos de estas instancias son interconectados por seales (signals). Como ejemplo, podemos observar en la figura No. 33 las instancias que conformaran la representacin estructural de la figura No. 32. Tngase en cuenta que cada una de las instancias A, B y C pueden estar compuestas a su vez por otro tipo de instancias.

1.2 DESCRIPCIN DEL COMPORTAMIENTO La expresin lgica que permite determinar el comportamiento de un sistema digital es conocida como descripcin del comportamiento o descripcin funcional (functional or behavioural description). Esta descripcin del comportamiento lgico del sistema es el cdigo apropiado en lenguaje VHDL que lo describe, y es ubicado en la seccin de arquitectura (architecture). Algunas de estas descripciones del comportamiento lgico estn ubicadas en la seccin de la librera (library), la cual es una coleccin de las partes de cdigo ms comnmente usadas, las cuales se pueden usar en diferentes diseos. El cdigo empleado para una librera es usualmente escrito en forma

de funciones (functions), procedimientos (procedures) o (components), y todo lo anterior es ubicado dentro de paquetes.

componentes

Figura No. 33 Ejemplo de una representacin estructural de un sistema digital por medio de instancias

1.3 DESCRIPCIN DEL PROCESO DE DISEO Es costumbre seguir los siguientes pasos para el diseo de un sistema electrnico: Realizar una descripcin del comportamiento del sistema a disear. Realizar una simulacin del comportamiento del sistema deseado. Realizar una descripcin estructural del sistema en diseo. Implementar el diseo realizado en el tipo de tecnologa seleccionada. Para el caso de disear sistemas electrnicos con el lenguaje VHDL, los pasos anteriores se realizan en paralelo, es decir, la descripcin del comportamiento, la descripcin estructural y la simulacin se realizan a la par, lo que nos permite obtener al final un listado de interconexiones que al ser implementada se obtiene un CI con las caractersticas deseadas. Las secciones bsicas de un cdigo VHDL se pueden observar en la figura No. 34 en donde se puede observa la seccin de librera, entidad y arquitectura. Para declarar el uso de una librera en el cdigo VHDL es necesario ubicar al principio las siguientes dos lneas de comando: LYBRARY nombre_de_la_librera; USE nombre_de_la_librera.nombre_del_paquete.partes_del_paquete; En la primera lnea se indica el nombre de la librera a emplear, en la segunda lnea se especifica cual de los paquetes de la librera se manejar y en detalle cada una de las partes del mismo. Casi siempre los paquetes que ms se emplean son:

ieee.std_logic_1164 el cual pertenece a la librera ieee y especifica un sistema lgico multinivel. standard de la librera std, especifica recursos como tipos de datos, textos de entrada y salida, etc. work de la librera work, es donde se almacenan los diseos realizados.

Figura No. 34 Secciones bsicas de un cdigo VHDL

Para la seccin de la entidad es necesario el siguiente cdigo bsico:ENTITY nombre_de_la_entidad IS PORT ( Nombre_del_puerto : modo_de_funcionamiento tipo_de_seal; Nombre_del_puerto : modo_de_funcionamiento tipo_de_seal; . . . . . ); END nombre_de_la_entidad;

Como se haba comentado, una entidad es un sistema lgico que contiene entradas y salidas denominadas puertos, cada uno de estos puertos tienen un nombre asignado por el programador, y dependiendo de su funcin en el sistema, cada uno de los puertos tiene un modo de funcionamiento (mode) el cual indica si es una entrada (IN), una salida (OUT), una entrada-salida (INOUT) o una interfaz (BUFFER). Cuando hablamos de interfaz, nos referimos a que este puerto ser una salida que tendr una influencia dentro del comportamiento del mismo sistema (realimentacin). Para cada puerto, se tiene la posibilidad de indicar qu tipo de seal manejar, es decir, si ser un bit (BIT), un estado lgico (STD_LOGIC), un entero (INTEGER), etc. En cuanto al nombre de la entidad, se puede cualquiera siempre y cuando no sea una de las palabras reservadas por el cdigo VHDL (consultar el estndar 1164 de la IEEE). Tomemos como ejemplo el cdigo que describe una compuerta OR, cuyas entradas se llaman A y B, y su salida C:

ENTITY compuerta_OR IS PORT(A, B : IN BIT; C : OUT BIT); END compuerta_OR ;

Para la seccin de la arquitectura se tiene en cuenta el siguiente cdigo:ARCHITECTURE nombre_de_la_arquitectura OF nombre_de_la_entidad IS (declaraciones) BEGIN (cdigo) END nombre_de_la_arquitectura;

En el mismo caso que del nombre de la entidad, puede ser cualquier nombre de la arquitectura excepto las palabras reservadas por el lenguaje VHDL. En la parte de las declaraciones, la cual es opcional, se realiza una declaracin de las seales y constantes presentes en el sistema. En la parte del cdigo se incorpora la descripcin del comportamiento lgico del sistema. Continuemos con el ejemplo de la compuerta OR, en cuyo caso el cdigo correspondiente en la seccin de arquitectura sera:ARCHITECTURE comp_OR OF compuerta_OR IS BEGIN C CASE teclas IS WHEN 0011 => proximo_estado := tercer_numero; WHEN 0010 => proximo_estado := Espera_segundo; WHEN OTHERS => proximo_estado := RESET; END CASE; WHEN espera_segundo => CASE teclas IS WHEN 0011 => proximo_estado := tercer_numero; WHEN 0010 => NULL; WHEN OTHERS => proximo_estado := RESET; END CASE; WHEN tercer_numero => CASE teclas IS WHEN 0100 => proximo_estado := cuarto_numero; WHEN 0011 => proximo_estado := Espera_tercer; WHEN OTHERS => proximo_estado := RESET; END CASE; WHEN espera_tercero => CASE teclas IS WHEN 0100 => proximo_estado := cuarto_numero; WHEN 0011 => NULL; WHEN OTHERS => proximo_estado := RESET; END CASE; WHEN cuarto_numero => CASE teclas(0) IS WHEN 0 => proximo_estado :=

RESET; WHEN OTHERS => NULL; END CASE; WHEN OTHERS => NULL; END CASE; END IF; Estado_presente