DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

85
DISEÑO DIGITAL CONTENIDO DE LA MATERIA INTRODUCCION A LA MATERIA DE DISEÑO DIGITAL:....................4 DESCRIPCIÓN GENERAL DEL CONTENIDO DE LA MATERIA:...............4 OBJETIVO GENERAL DEL CURSO:.....................................4 UNIDAD 1 FUNDAMENTOS DE LOS SISTEMAS DIGITALES...........................5 COMPUERTAS LOGICAS..............................................6 TIPOS DE COMPUERTAS MAYORMENTE CONOCIDAS........................8 FAMILIAS LOGICAS...............................................10 DESARROLLO Y ESTRUCTURA BASICA DE LOS PLD”S....................12 ALGEBRA BOOLEANA...............................................15 POSTULADOS Y TEOREMAS BOOLEANOS................................17 OBSERVACIONES Y/O CONCLUSIONES:................................20 BIBLIOGRAFÍA...................................................21 UNIDAD 2 FORMA CANÓNICA.................................................22 MINITERMINOS Y MAXITERMINOS..................................22 IMPLEMENTACIÓN DE COMPUERTAS NAND Y NOR.........................22 DIFERENTES FORMAS DE LAS FUNCIÓNES BOOLEANAS....................25 MINIMIZACIÓN DE FUNCIONES BOOLEANAS............................28 MINIMIZACION POR MAPAS DE KARNAUGH.............................30 IMPLEMENTACION DE CIRCUITOS COMBINACIONALES CON SSI............32 ANÁLISIS DE SISTEMAS COMBINACIONALES...........................33 SUMADORES RESTADORES...........................................34 1

Transcript of DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

Page 1: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

CONTENIDO DE LA MATERIA

INTRODUCCION A LA MATERIA DE DISEÑO DIGITAL:.....................................................4

DESCRIPCIÓN GENERAL DEL CONTENIDO DE LA MATERIA:..................................4

OBJETIVO GENERAL DEL CURSO:.................................................................................4

UNIDAD 1

FUNDAMENTOS DE LOS SISTEMAS DIGITALES...........................................................5

COMPUERTAS LOGICAS...................................................................................................6

TIPOS DE COMPUERTAS MAYORMENTE CONOCIDAS...............................................8

FAMILIAS LOGICAS..........................................................................................................10

DESARROLLO Y ESTRUCTURA BASICA DE LOS PLD”S..........................................12

ALGEBRA BOOLEANA.....................................................................................................15

POSTULADOS Y TEOREMAS BOOLEANOS.................................................................17

OBSERVACIONES Y/O CONCLUSIONES:.....................................................................20

BIBLIOGRAFÍA...................................................................................................................21

UNIDAD 2

FORMA CANÓNICA...........................................................................................................22

MINITERMINOS Y MAXITERMINOS.................................................................................22

IMPLEMENTACIÓN DE COMPUERTAS NAND Y NOR........................................................22

DIFERENTES FORMAS DE LAS FUNCIÓNES BOOLEANAS............................................25

MINIMIZACIÓN DE FUNCIONES BOOLEANAS.............................................................28

MINIMIZACION POR MAPAS DE KARNAUGH...............................................................30

IMPLEMENTACION DE CIRCUITOS COMBINACIONALES CON SSI.........................32

ANÁLISIS DE SISTEMAS COMBINACIONALES............................................................33

SUMADORES RESTADORES..........................................................................................34

CODIFICADORES..............................................................................................................35

DECODIFICADORES.........................................................................................................38

DETECTORES/GENERADORES DE PARIDAD..............................................................40

1

Page 2: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

MULTIPLEXORES Y DEMULTIPLEXORES.....................................................................41

COMPARADORES.............................................................................................................44

SUMADORES.....................................................................................................................45

PROGRAMACIÓN VHDL...................................................................................................51

OBSERVACIONES Y/O CONCLUSIONES:.....................................................................52

BIBLIOGRAFÍA...................................................................................................................53

UNIDAD 3

SISTEMAS SECUENCIALES SÍNCRONOS.....................................................................54

FLIP-FLOP NAND...............................................................................................................55

FLIP-FLOP CON COMPUERTAS NOR (SET-RESET)....................................................56

FLIP FLOP S-R, J-K, Y D...................................................................................................57

DISEÑO DE CIRCUITOS SECUENCIALES SÍNCRONOS..............................................62

CONTADORES SÍNCRONOS...........................................................................................63

OBSERVACIONES Y/O CONCLUSIONES:.....................................................................64

BIBLIOGRAFÍA...................................................................................................................65

2

Page 3: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

INTRODUCCION A LA MATERIA DE DISEÑO DIGITAL:

El estudio de los circuitos digitales establece el puente entre la electrónica y la arquitectura de computadoras. Además, dichos circuitos constituyen una disciplina técnica independiente, con aplicaciones en las tecnologías de la información, la meca trónica, las tecnologías de comunicación y de control entre otras. Por otra parte, un sistema electrónico digital tiende a eliminar la frontera entre la parte material (el hardware) y la parte lógica (el software) a través de la implementación de algoritmos en circuitos integrados (proceso de síntesis) para la ejecución de una infinidad de tareas en la diversidad de la actividad humana.

Además de lo anterior, esta asignatura es de suma importancia ya que establecerá las bases para el análisis y el diseño de circuitos digitales proporcionándole al alumno las herramientas necesarias para su profesión. Con esta asignatura se pretende involucrar al alumno para que desarrolle proyectos finales con los cuales puedan participar tanto en concursos de creatividad, como en los de emprendedores. Dándole así, la experiencia y la visión necesarias para un desarrollo más integral dentro de sus estudios.

DESCRIPCIÓN GENERAL DEL CONTENIDO DE LA MATERIA:

El programa presenta en forma gradual los temas inherentes al diseño de los circuitos lógicos desde las ideas claves fundamentadas en teoremas y postulados de matemáticas discretas hasta la ejecución material y práctica de los algoritmos de codificación de la información lógica a través circuitos integrados utilizando en todo el proceso las herramientas computacionales; para el desarrollo de todo lo anterior se muestra la tecnología de los circuitos digitales básicos, los dispositivos lógicos programables y los fundamentos del lenguaje de descripción de hardware.

OBJETIVO GENERAL DEL CURSO:

Conocer, comprender, analizar, diseñar y simular circuitos digitales básicos como circuitos lógicos combinacionales, y secuenciales de tipo síncrono, que son base de muchos sistemas digitales utilizando algún lenguaje descriptivo de programación como HDL, Verilog, VHDL, u otros.

Construir prototipos con las bases de diseño digital e ir fomentando su capacidad creativa y emprendedora.

3

Page 4: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

UNIDAD 1 - ALGEBRA BOOLEANA, COMPUERTAS Y FAMILIAS LOGICAS.

FUNDAMENTOS DE LOS SISTEMAS DIGITALES.

Un sistema digital es un conjunto de dispositivos destinados a la generación, transmisión, manejo, procesamiento o almacenamiento de señales digitales. También, y a diferencia de un sistema analógico, un sistema digital es una combinación de dispositivos diseñados para manipular cantidades físicas o información que estén representadas en forma digital; es decir, que sólo puedan tomar valores discretos.

Para el análisis y la síntesis de sistemas digitales binarios se utiliza como herramienta el álgebra de Boole.

SISTEMAS DIGITALES COMBINACIONALES : Aquellos cuyas salidas solo dependen del estado de sus entradas en un momento dado. Por lo tanto, no necesitan módulos de memoria, ya que las salidas no dependen de los estados previos de las entradas.

SISTEMAS DIGITALES SECUENCIALES : Aquellos cuyas salidas dependen además del estado de sus entradas en un momento dado, de estados previos. Esta clase de sistemas necesitan elementos de memoria que recojan la información de la 'historia pasada' del sistema.

Para la implementación de los circuitos digitales, se utilizan compuertas lógicas (AND, OR y NOT), construidas generalmente a partir de transistores. Estas compuertas siguen el comportamiento de algunas funciones booleanas.

Según el propósito de los sistemas digitales, se clasifican en:

a) sistemas de propósitos especiales

b) sistemas de propósitos generales. Estos últimos permiten el cambio de su comportamiento mediante la programación de algoritmos de soluciones de problemas específicos.

4

Page 5: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

COMPUERTAS LOGICAS

Una puerta lógica, o compuerta lógica, es un dispositivo electrónico con una función booleana. Suman, multiplican, niegan o afirman, incluyen o excluyen según sus propiedades lógicas. Se pueden aplicar a tecnología electrónica, eléctrica, mecánica, hidráulica y neumática. Son circuitos de conmutación integrados en un chip. Una compuerta lógica es un dispositivo que nos permite obtener resultados, dependiendo de los valores de las señales que le ingresemos. Es necesario aclarar entonces que las compuertas lógicas se comunican entre sí (incluidos los microprocesadores), usando el sistema BINARIO. Este consta de solo 2 indicadores 0 y 1 llamados BIT dado que en electrónica solo hay 2 valores equivalentes 0=0volt 1=5volt (conectado-desconectado). Es decir que cuando conectamos una compuerta a el negativo equivale a introducir un cero (0) y por el contrario si derivamos la entrada a 5v le estamos enviando un uno (1). Ahora para comprender como se comporta cada compuerta se debe ver su TABLA DE VERDAD. Esta nos muestra todas las combinaciones lógicas posibles y su resultado.

Claude El Wood Shannon experimentaba con relés o interruptores electromagnéticos para conseguir las condiciones de cada compuerta lógica, por ejemplo, para la función booleana Y (AND) colocaba interruptores en circuito serie, ya que con uno solo de éstos que tuviera la condición «abierto», la salida de la compuerta Y sería = 0, mientras que para la implementación de una compuerta O (OR), la conexión de los interruptores tiene una configuración en circuito paralelo.

La tecnología microelectrónica actual permite la elevada integración de transistores actuando como conmutadores en redes lógicas dentro de un pequeño circuito integrado. El chip de la CPU es una de las máximas expresiones de este avance tecnológico.

5

Page 6: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

Las compuertas lógicas son dispositivos que operan con aquellos estados lógicos mencionados en lo anterior y funcionan igual que una calculadora, de un lado ingresas los datos, ésta realiza una operación, y finalmente, te muestra el resultado.

Cada una de las compuertas lógicas se las representa mediante un Símbolo, y la operación que realiza (Operación lógica) se corresponde con una tabla, llamada Tabla de Verdad, veamos la primera.

LÓGICA POSITIVA

En esta notación al 1 lógico le corresponde el nivel más alto de tensión y al 0 lógico el nivel más bajo, pero que ocurre cuando la señal no está bien definida. Entonces habrá que conocer cuáles son los límites para cada tipo de señal (conocido como tensión de histéresis), en este gráfico se puede ver con mayor claridad cada estado lógico y su nivel de tensión.

LÓGICA NEGATIVA

Aquí ocurre todo lo contrario, es decir, se representa al estado "1" con los niveles más bajos de tensión y al "0" con los niveles más altos.

Por lo general se suele trabajar con lógica positiva, la forma más sencilla de representar estos estados es como se puede ver en el siguiente gráfico.

6

Page 7: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

7

Page 8: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

TIPOS DE COMPUERTAS MAYORMENTE CONOCIDAS.

COMPUERTA AND:

Cada compuerta tiene dos variables de entrada designadas por A y B y una salida binaria designada por x. La compuerta AND produce la multiplicación lógica AND: esto es: la salida es 1 si la entrada A y la entrada B están ambas en el binario 1: de otra manera, la salida es 0. Estas condiciones también son especificadas en la tabla de verdad para la compuerta AND. La tabla muestra que la salida x es 1 solamente cuando ambas entradas A y B están en 1. El símbolo de operación algebraico de la función AND es el mismo que el símbolo de la multiplicación de la aritmética ordinaria (*). Las compuertas AND pueden tener más de dos entradas y por definición, la salida es 1 si todas las entradas son 1.

COMPUERTA OR:

La compuerta OR produce la función sumadora, esto es, la salida es 1 si la entrada A o la entrada B o ambas entradas son 1; de otra manera, la salida es 0. El símbolo algebraico de la función OR (+), es igual a la operación de aritmética de suma. Las compuertas OR pueden tener más de dos entradas y por definición la salida es 1 si cualquier entrada es 1.

COMPUERTA NOT:

El circuito NOT es un inversor que invierte el nivel lógico de una señal binaria. Produce el NOT, o función complementaria. El símbolo algebraico utilizado para el complemento es una barra sobra el símbolo de la variable binaria. Si la variable binaria posee un valor 0, la compuerta NOT cambia su estado al valor 1 y viceversa. El círculo pequeño en la salida de un símbolo gráfico de un inversor designa un inversor lógico. Es decir cambia los valores binarios 1 a 0 y viceversa.

8

Page 9: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

COMPUERTA NAND:

Es el complemento de la función AND, como se indica por el símbolo gráfico, que consiste en una compuerta AND seguida por un pequeño círculo (quiere decir que invierte la señal). La designación NAND se deriva de la abreviación NOT - AND. Una designación más adecuada habría sido AND invertido puesto que es la función AND la que se ha invertido. Las compuertas NAND pueden tener más de dos entradas, y la salida es siempre el complemento de la función AND.

COMPUERTA NOR:

La compuerta NOR es el complemento de la compuerta OR y utiliza el símbolo de la compuerta OR seguido de un círculo pequeño (quiere decir que invierte la señal). Las compuertas NOR pueden tener más de dos entradas, y la salida es siempre el complemento de la función OR.

COMPUERTA BUFFER”S:

Un símbolo triángulo por sí mismo designa un circuito separador, el cual no produce ninguna función lógica particular puesto que el valor binario de la salida es el mismo de la entrada. Este circuito se utiliza simplemente para amplificación de la señal. Por ejemplo, un separador que utiliza 5 volt para el binario 1, producirá una salida de 5 volt cuando la entrada es 5 volt. Sin embargo, la corriente producida a la salida es muy superior a la corriente suministrada a la entrada de la misma.De ésta manera, un separador puede excitar muchas otras compuertas que

9

Page 10: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

requieren una cantidad mayor de corriente que de otra manera no se encontraría en la pequeña cantidad de corriente aplicada a la entrada del separador.

FAMILIAS LOGICAS.

Una familia lógica es un conjunto de circuitos integrados que implementan distintas operaciones lógicas compartiendo la tecnología de fabricación y en consecuencia, presentan características similares en sus entradas, salidas y circuitos internos. La similitud de estas características facilita la implementación de funciones lógicas complejas al permitir la directa interconexión entre los chips pertenecientes a una misma familia. Teniendo en cuenta el tipo de transistores utilizados como elemento de conmutación, las familias lógicas pueden dividirse en dos grandes grupos: las que utilizan transistores bipolares y las que emplean transistores MOS. La primera familia lógica en aparecer en el mercado, a principios de la década del 60, fue implementada con lógica de transistores bipolares acoplados por emisor (ECL, Emitter Coupled Logic). A fin de desarrollar circuitos de alta velocidad los transistores conducen en zona activa y de esta manera se minimiza el tiempo de conmutación entre conducción y corte. Casi inmediatamente aparecieron otras familias lógicas basadas en transistores bipolares conmutando entre corte y saturación a fin de reproducir dentro de un chip los circuitos que hasta ese momento se realizaban utilizando componentes discretos. La primera de estas familias fue implementada con resistencias y transistores bipolares y se la identifica como lógica RTL (Resistor Transistor Logic). La integración de resistencias demanda gran cantidad de área de silicio, reduciendo la cantidad de compuertas que se podían incluir dentro de un mismo chip. Para mejorar el aprovechamiento del área algunas resistencias de los circuitos comenzaron a ser reemplazadas por diodos, principalmente en las etapas de entrada, dando lugar a la aparición de la lógica de diodos y transistores identificada como DTL (Diode Transistor Logic). Finalmente, los transistores multiemisor reemplazaron los diodos y se llegó a una topología circuital que dio lugar a una familia lógica basada fundamentalmente en transistores bipolares y una mínima cantidad de resistencias. Esta familia, denominada lógica TTL (Transistor Logic), se popularizó rápidamente y mantiene, aún en la actualidad, su vigencia. Con el correr del tiempo la familia TTL se convirtió en un conjunto de familias lógicas que si bien entre sí difieren en velocidad, consumo de energía y costo, mantienen características de entrada y salida compatibles de manera que en un sistema digital pueden mezclarse componentes de distintas familias TTL.

10

Page 11: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

Los principales inconvenientes de los circuitos con transistores bipolares son el alto consumo y, como consecuencia, la baja escala de integración admisible (cantidad de dispositivos posibles de integrar en un mismo chip) que se relaciona directamente con una baja complejidad del circuito. Como alternativa para soslayar estos inconvenientes y facilitar el aumento del nivel de integración surgieron las familias basadas en transistores de efecto de campo de compuerta aislada (MOS, metal oxide semiconductor) de enriquecimiento. En esta tecnología, los circuitos lógicos pueden ser implementados íntegramente con transistores MOS evitando la presencia de resistencias, en consecuencia, para implementar una función lógica dada se ocupa menor área de silicio con un proceso de fabricación más simple. Además del hecho que, dado que los transistores MOS son controlados por tensión y no permiten la circulación de corriente en sus entradas, requieren menos potencia para su funcionamiento facilitando el aumento de la escala de integración. Teniendo en cuenta que los transistores MOS tienen un único tipo de portadores, y en el caso de los transistores con canal tipo N (NMOS) los portadores son electrones que tienen una movilidad considerablemente mayor que la de los huecos responsables de la conducción en los de canal P (PMOS), las primeras familias lógicas de transistores MOS se basaban en transistores de canal tipo N, siendo conocida como familia NMOS. A fines de los setenta surgieron procesos tecnológicos que permitían integrar transistores canal N y canal P simultáneamente en una misma pastilla. De esta manera surge la tecnología de transistores MOS complementarios (CMOS, complementary MOS). El conjunto de familias CMOS posee ventajas indudables sobre la TTL, y aún sobre la misma NMOS; sobre todo en cuanto al mínimo consumo de potencia haciendo que rápidamente se estableciera como el estándar dando lugar a un aumento vertiginoso de la escala de integración hasta llegar a poner cientos de millones de transistores en un mismo chip. Las familias TTL no han experimentado cambios importantes en los últimos años, mientras que la permanente evolución de la tecnología CMOS puso a disposición familias CMOS capaces de reemplazar en forma directa los integrados TTL incluso con mejor rendimiento. Las familias TTL siguen estando presentes en el mercado si bien a partir de mediados de los ochenta los circuitos CMOS fueron ganando rápidamente el primer lugar en preferencias. El importante y permanente desarrollo de la tecnología CMOS llevó a la aparición de circuitos con cada vez mayor velocidad de respuesta y nivel de complejidad, imponiéndose como la preferida en el diseño de microprocesadores y micro controladores.

11

Page 12: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

12

Page 13: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

DESARROLLO Y ESTRUCTURA BASICA DE LOS PLD”S

En electrónica y computación la Lógica programada es un tipo de diseño implementado en chips que permite la reconfiguración de los circuitos con el simple cambio del software que incorpora, es lo contrario de la lógica cableada. La lógica programada se basa en dispositivos lógicos programables (PLD), los cuales tienen una función no establecida, al contrario que las puertas lógicas que tienen una función fija en el momento de su fabricación. Antes de poder utilizar el PLD en un circuito, este debe ser programado. La lógica programable, como el nombre implica, es una familia de componentes que contienen conjuntos de elementos lógicos (AND, OR, NOT, FLIP-FLOP) que pueden configurarse en cualquier función lógica que el usuario desee y que el componente soporte. Hay varias clases de dispositivos lógicos programables: ASICs, FPGAs, PLAs, PROMs, PALs, GALs, y PLDs complejos.

¿QUE SON LOS PLD”S?

Las iniciales PLD vienen del inglés Programable Logic Device, que traducido a nuestro idioma significa Dispositivo Lógico Programable y son circuitos integrados que ofrecen a los diseñadores en un solo chip, un arreglo de compuertas lógicas y flip-flop’s, que pueden ser programados por el usuario para implementar funciones lógicas; y así, una manera más sencilla de reemplazar varios circuitos integrados estándares o de funciones fijas

• Los PLDs se utilizan en casi todos los nuevos equipos electrónicos de control, industriales, de consumo, de oficina, de comunicaciones,

• Existen en la actualidad infinidad de arquitecturas diferentes de PLDs y su número se incrementa día a día.

ESTRUCTURA DE LOS PLD”S

Un dispositivo programable por el usuario es aquel que contiene una arquitectura general pre-definida en la que el usuario puede programar el diseño final del dispositivo empleando un conjunto de herramientas de desarrollo. Las arquitecturas generales pueden variar pero normalmente consisten en una o más matrices de puertas AND y OR para implementar funciones lógicas. Muchos dispositivos también contienen combinaciones de flip-flops que pueden usarse como elementos de almacenaje para entrada y salida de un dispositivo. Los dispositivos más complejos contienen macro células. Las macro células permiten al usuario configurar el tipo de entradas y salidas necesarias en el diseño

Un PLD típico está compuesto de arreglos de compuertas lógicas, uno de ellos a base de compuertas AND al que se le denomina Plano AND y el otro de compuertas OR, denominado Plano OR; estos pueden ser programables y

13

Page 14: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

dependiendo del plano o los planos que lo sean, será la clasificación que reciba el PLD.

USOS.

La flexibilidad y programabilidad de los PLDs hacen que su diseño con ellos sea mucho más rápido que diseñar con lógica discreta. Esto es, se puede utilizar el PLD para implementar la mayoría de las funciones hechas con los cientos de dispositivos de la familia lógica "7400". También cabe recalcar que toman menos espacio sobre el circuito impreso que con los dispositivos discretos.

Una vez tomada la decisión de cambiar de lógica discreta a los PLD´s. Hay que escoger PLD's que sean compatibles con los otros dispositivos que se estén utilizando. Hay que tomar en consideración la potencia que se requiere, ya que varía la potencia necesaria de un PLD a otro y otro factor importante es su estabilidad.

TIPOS DE PLD’S

ROM: Mask Read-Only Memory (Memoria de Máscara Programable de Solo Lectura). En un circuito combi nacional que genera 2 a la n mini términos de n variables en su plano AND. A pesar de tener solo 2 niveles cuando tiene muchas entradas y salidas tienden a ser lentas las comparaciones con los circuitos lógicos.

PROM: Programmable Read-Only Memory

14

Page 15: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

(Memoria Programable de Solo Lectura), Dispositivo el cual es programado por el usuario y no borrable o reprogramable.

EPROM: Erasable Programmable Read-Only Memory (Memoria Programable y Borrable de Solo Lectura); este tipo de Memorias se borran Mediante Luz ultravioleta; con la ventaja de que puede ser programada por el usuario.

EEPROM: Electrically Erasable Programmable Read-Only Memory (Memoria Programable y Borrable Eléctricamente de Solo Lectura); al igual que EPROM puede ser programada por el usuario.

PAL: Programmable Array Logic (Lógica en un Arreglo Programable), la arquitectura de éste

PLD está compuesta por  AND programable y el OR fijo. Este dispositivo es el intermedio entre una PROM y un PLA.

PLA: Programmable Logic Array ( Arreglo Lógico Programable ), este tipo de dispositivos resuelve el problema de las PROM; debido a que, tiene tanto la matriz AND como la matriz OR programables. De forma que solo se seleccionan los productos de términos necesarios para las diferentes aplicaciones.

15

Page 16: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

16

Page 17: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

Los PLD se dividen en dos clases:

1. PLDs combinatorios.

Constituidos por arreglos de compuertas AND – OR. El usuario define las interconexiones y en esto consiste la programación.

2. PLDs secuenciales.

Además de los arreglos de compuertas, incluyen flip – flops para programar funciones secuenciales como contadores y máquinas de estado

• Los PLD’s representan menor costo para los fabricantes.

• Pueden reemplazar funciones de otros dispositivos lógicos.

• Reducción de espacio en las tarjetas de circuito impreso.

• Simplificación del alambrado entre unos chips y otros.

• Disminución en los requerimientos de potencia ( por consiguiente menor consumo de energía )

• Realización de aplicaciones especiales no encontradas en circuitos integrados de funciones fijas.

• Puede reflejarse menor costo para el usuario al ver las ventajas de tener menor cantidad de circuitos integrados.

ALGEBRA BOOLEANA

Las álgebras booleanas, estudiadas por primera vez en detalle por George Boole , constituyen un área de las matemáticas que ha pasado a ocupar un lugar prominente con el advenimiento de la computadora digital. Son usadas ampliamente en el diseño de circuitos de distribución y computadoras, y sus aplicaciones van en aumento en muchas otras áreas. En el nivel de lógica digital de una computadora, lo que comúnmente se llama hardware, y que está formado por los componentes electrónicos de la máquina, se trabaja con diferencias de tensión, las cuales generan funciones que son calculadas por los circuitos que forman el nivel. Éstas funciones, en la etapa de diseña del hardware, son interpretadas como funciones de Boole En el presente trabajo se intenta dar una definición de lo que es un álgebra de boole; se tratan las funciones booleanas, haciendo una correlación con las fórmulas proposicionales. Asimismo, se plantean dos formas canónicas de las funciones booleanas, que son útiles para varios propósitos, tales como el de determinar si dos expresiones representan o no la misma función.

17

Page 18: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

18

Page 19: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

El álgebra booleana es un sistema matemático deductivo centrado en los valores cero y uno (falso y verdadero). Un operador binario " º " definido en éste juego de valores acepta un par de entradas y produce un solo valor booleano, por ejemplo, el operador booleano AND acepta dos entradas booleanas y produce una sola salida booleana.

Para cualquier sistema algebraico existen una serie de postulados iniciales, de aquí se pueden deducir reglas adicionales, teoremas y otras propiedades del sistema, el álgebra booleana a menudo emplea los siguientes postulados:

Cerrado. El sistema booleano se considera cerrado con respecto a un operador binario si para cada par de valores booleanos se produce un solo resultado booleano.

Conmutativo. Se dice que un operador binario " º " es conmutativo si A º B = B º A para todos los posibles valores de A y B.

Asociativo. Se dice que un operador binario " º " es asociativo si (A º B) º C = A º (B º C) para todos los valores booleanos A, B, y C.

Distributivo. Dos operadores binarios " º " y " % " son distributivos si A º (B % C) = (A º B) % (A º C) para todos los valores booleanos A, B, y C.

Identidad. Un valor booleano I se dice que es un elemento de identidad con respecto a un operador binario " º " si A º I = A.

Inverso. Un valor booleano I es un elemento inverso con respecto a un operador booleano " º " si A º I = B, y B es diferente de A, es decir, B es el valor opuesto de A.

La relación que existe entre la lógica booleana y los sistemas de cómputo es fuerte, de hecho se da una relación uno a uno entre las funciones booleanas y los circuitos electrónicos de compuertas digitales. Para cada función booleana es posible diseñar un circuito electrónico y viceversa, como las funciones booleanas solo requieren de los operadores AND, OR y NOT podemos construir nuestros circuitos utilizando exclusivamente éstos operadores utilizando las compuertas lógicas homónimas. Un hecho interesante es que es posible implementar cualquier circuito electrónico utilizando una sola compuerta, ésta es la compuerta NAND, Para probar que podemos construir cualquier función booleana utilizando sólo compuertas NAND, necesitamos demostrar cómo construir un inversor (NOT), una compuerta AND y una compuerta OR a partir de una compuerta NAND, ya que como se dijo, es posible implementar cualquier función booleana utilizando sólo los operadores booleanos AND, OR y NOT. Para construir un inversor simplemente conectamos juntas las dos entradas de una compuerta NAND. Una vez que tenemos un inversor, construir una compuerta AND es fácil, sólo invertimos la salida de una compuerta NAND, después de todo, NOT (NOT (A AND B)) es equivalente a A AND B. Por supuesto, se requieren dos compuertas NAND para construir una sola compuerta AND, nadie ha dicho que los circuitos implementados sólo utilizando compuertas NAND sean lo óptimo, solo se ha dicho que es

19

Page 20: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

posible hacerlo. La otra compuerta que necesitamos sintetizar es la compuerta lógica OR, esto es sencillo si

Utilizamos los teoremas de De Morgan, que en síntesis se logra en tres pasos, primero se reemplazan todos los "·" por "+" después se invierte cada literal y por último se niega la totalidad de la expresión:

A OR BA AND B.......................Primer paso para aplicar el teorema de DeMorganA' AND B'.....................Segundo paso para aplicar el teorema de DeMorgan(A' AND B')'..................Tercer paso para aplicar el teorema de DeMorgan(A' AND B')' = A' NAND B'.....Definición de OR utilizando NAND

Si se tiene la necesidad de construir diferentes compuertas de la manera descrita, bien hay dos buenas razones, la primera es que las compuertas NAND son las más económicas y en segundo lugar es preferible construir circuitos complejos utilizando los mismos bloques básicos. Observe que es posible construir cualquier circuito lógico utilizando sólo compuertas de tipo NOR (NOR = NOT(A OR B)). La correspondencia entre la lógica NAND y la NOR es ortogonal entre la correspondencia de sus formas canónicas. Mientras que la lógica NOR es útil en muchos circuitos, la mayoría de los diseñadores utilizan lógica NAND.

POSTULADOS Y TEOREMAS BOOLEANOS

LOS TEOREMAS BÁSICOS DEL ALGEBRA BOOLEANA

TEOREMA 1 Ley Distributiva (B+C) = AB+AC

A B C B+C AB AC AB+AC A (B+C)

0 0 0 0 0 0 0 0

0 0 1 1 0 0 0 0

0 1 0 1 0 0 0 0

0 1 1 1 0 0 0 0

1 0 0 0 0 0 0 0

1 0 1 1 0 1 1 1

1 1 0 1 1 0 1 1

1 1 1 1 1 1 1 1

TEOREMA 2

A+A = A

AA = A

20

Page 21: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

A A A+A

0 0 0

1 1 1

A A AA

0 0 0

1 1 1

TEOREMA 3

Redundancia

A+AB = A

A B AB X

0 0 0 0

0 1 0 0

1 0 0 1

1 1 1 1

A (A+B) = A

A B A+B X

0 0 0 0

0 1 1 0

1 0 1 0

1 1 1 1

TEOREMA 4

0+A = A

Equivalente a una compuerta OR con una de sus terminales conectada a tierra

A B=0 X

0 0 0

1 0 1

1A = A

Equivalente a una compuerta AND con una de sus terminales conectada a 1

21

Page 22: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

A B=1 X

0 1 0

1 1 1

1+A = 1

A B=1 X

0 1 1

1 1 1

0A = 0

A B=0 X

0 0 0

1 0 0

22

Page 23: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

OBSERVACIONES Y/O CONCLUSIONES:

JAIME DOMINGUEZ BALDERAS – 12/430/142

En la unidad 1 más que nada nos enfocamos a estudiar los diferentes tipos de compuertas que o por lo menos las más conocidas, como lo son las And, Nand, Or, Nor, buffer, Not, ya que estas son de vital importancia en la electrónica digital, analizamos como actuaban las tablas de verdad de cada compuerta.

Un compañero expuso acerca de las familias lógicas, como lo son la TTL y la familia Cmos.

También estuvimos realizando muchos problemas de conversión de números binarios a decimal, de binario a octal, y viceversa, esto también es algo importante en la electrónica digital.

EVERARDO RAMOS ZAVALA – 12/430/155

En la unidad 1 estuvimos viendo algunos temas como por ejemplo:

En la exposición que hubo nos ensenaron todos los diferentes tipos de compuertas que ahí, también estuvimos viendo algo acerca de los Plds, los cuales son sistemas lógicos programables y en la clase estuvimos realizando muchos ejercicios de conversión de binario a decimal.

JOSE EDUARDO DE LA GARZA – 11/430/070

En esta unidad nosotros pudimos observar cómo funcionan las compuertas lógicas, es decir cómo se comportan, también las diferentes combinaciones que podemos formar. Esta unidad estuvo muy interesante ya que hasta una práctica realizamos que nos sirvió para aclarar algunas dudad que pudiéramos tener de la unidad.

23

Page 24: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

BIBLIOGRAFÍA

“LIBROS”

DISEÑO DIGITAL

AUTORES: M. Morris Mano, Gonzalo Duchén Sánchez

DISEÑO DIGITAL UNA PERSPECTIVA

AUTORES: Ramón Alcubilla Gonzales.

Joan Pons Nin.

Daniel Bardes.

“PAGINAS DE INTERNET”

http://www.monografias.com/trabajos71/compuertas-logicas/compuertas-logicas.shtml

http://www.profesormolina.com.ar/electronica/componentes/int/comp_log.htm

http://www.slideshare.net/darhagen/compuertas-logicas

http://es.wikipedia.org/wiki/%C3%81lgebra_de_Boole

http://www.monografias.com/trabajos14/algebra-booleana/algebra-booleana.shtml

http://matematicasparacomputadora.weebly.com/unidad-4---algebra-booleana.html

24

Page 25: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

UNIDAD 2 – LOGICO COMBINACIONAL

FORMA CANÓNICA

Una Función lógica, que está compuesta por operador lógico, puede ser expresada en forma canónica usando los conceptos de mini término y maxi término. Todas las funciones lógicas son expresables en forma canónica, tanto como una suma de mini término como producto de maxi término. Esto permite un mejor análisis para la simplificación de dichas funciones.

MINITERMINOS Y MAXITERMINOS

MINITÉRMINO

Para una función booleana de n variables x1,...xn, un producto booleano en el que cada una de las n variables aparece una sola vez (negada o sin negar) es llamado mini término. Es decir, un mini término es una expresión lógica de n variables consistente únicamente en el operador conjunción lógica (AND) y el operador complemento o negación (NOT). Por ejemplo, abc, ab'c y abc' son ejemplos de mini términos para una función booleana con las tres variables a, b y c.

Maxitermino

Un maxitérmino es una expresión lógica de n símbolos que consiste únicamente en la disyunción lógica y el operador complemento o negación. Los cuales están unidos por los operadores del algebra de boole (+. ‘) Por ejemplo, los siguientes términos canónicos son maxitérminos:

1. a + b' + c2. a' + b + c

IMPLEMENTACIÓN DE COMPUERTAS NAND Y NOR

Como ya se comentó en un apartado anterior, a la hora de realizar una implementación de una función lógica, puede ser necesario aplicar unas ciertas restricciones.  Las propias tecnologías de implementación son las que en algunos casos pueden introducir una de estas dos restricciones:

25

Page 26: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

Implementar la función lógica solamente con puertas NAND. Implementar la función lógica solamente con puertas NOR.

Esto es debido a que la tecnología de fabricación de puertas en muchos casos da lugar a que las puertas más sencillas de construir (de tamaño más reducido y de menor consumo) sean las puertas NAND o NOR. Es de tal importancia este hecho, que en esas tecnologías, las demás puertas se construyen a partir de esas NAND o NOR. Esta situación ciertamente no

Es intuitiva ya que en principio, las puertas NOT, AND, y OR parecen más sencillas en concepto que las NAND o NOR que son una combinación de las anteriores.

LÓGICA COMPLETA

Una puerta NAND forma lo que se conoce como “lógica completa”, que quiere decir que se puede construir cualquier otra puerta utilizando la puerta NAND como elemento principal.

Efectivamente, se puede comprobar que si se desea construir una puerta NOT en cuya entrada introduzcamos la variable A y a su salida obtengamos A’, únicamente es necesario introducir la misma variable A a ambas entradas de la puerta NAND. El resultado es que la salida será (A·A)’ = A’.

Para construir una puerta AND, únicamente es necesario utilizar una puerta NAND a la que se apliquen las entradas A y B y a su salida colocar otra puerta NAND configurada como NOT (como en el párrafo anterior) para conseguir que ((A·B)’)’=A·B.

Para construir una puerta OR se debe hacer uso del teorema de De Morgan expresado como:

A+B = (A’·B’)’

Para construir esta puerta OR, se necesitará por tanto dos puertas NAND (configuradas como NOT) para realizar la inversión de cada una de las dos variables de entrada A y B. Con ellas se obtendrán los valores A’ y B’.  Además, será necesario otra puerta NAND para completar la operación exterior (A’·B’)’. Se hace un uso de un total de 3 puertas lógicas.

Para el caso de las puertas NOR se puede demostrar que igualmente forma una “lógica completa”. En la figura siguiente se muestra una tabla resumen:

26

Page 27: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

TABLA RESUMEN NOR / NAND

En la primera columna se dibujan los tres tipos de puertas: NOT, AND y OR. En la segunda columna se muestra cómo implementar las puertas anteriores con NAND y en la tercera columna cómo se implementan con NOR.

27

Page 28: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

DIFERENTES FORMAS DE LAS FUNCIÓNES BOOLEANAS

En matemáticas, una función booleana es una función cuyo dominio son las palabras conformadas por los valores binarios 0 o 1 ("falso" o "verdadero", respectivamente), y cuyo condominio son ambos valores 0 y 1.

Formalmente, son las funciones de la forma ƒ: Bn → B, donde B = {0,1} y n un entero no negativo correspondiente a la paridad de la función.

El uso de una u otra, como veremos, dependerá de las necesidades concretas en cada caso.

ALGEBRAICA

Se utiliza cuando se realizan operaciones algebraicas. A continuación se ofrece un ejemplo con distintas formas en las que se puede expresar algebraicamente una misma función de tres variables.

a) F = [(A + BC’)’ + ABC]’ + AB’C

b) F = A’BC’ + AB’C’ + AB’C + ABC’

c) F = (A + B + C) (A + B + C’) (A + B’ + C’) (A’ + B’ + C’)

d) F = BC’ + AB’

e) F = (A + B) (B’ + C’)

f) F = [(BC’)’ (CB) ´ (AB’)’]’

g) F = [(A + B)’ + (B’ + C’)’]’

La expresión a) puede proceder de un problema lógico planteado o del paso de unas especificaciones a lenguaje algebraico. Las formas b) y c) reciben el nombre expresiones canónicas: de suma de productos (sum-of-products, SOP, en inglés), la b), y de productos de sumas (product-of-sums, POS, en inglés), la c); su característica principal es la aparición de cada una de las variables (A, B y C) en cada uno de los sumandos o productos.

POR TABLA DE VERDAD

Una tabla de verdad contiene todos los valores posibles de una función lógica dependiendo del valor de sus variables. El número de combinaciones posibles para una función de n

28

Page 29: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

variables vendrá dado por 2n. Una función lógica puede representarse algebraicamente de distintas formas como acabamos de ver, pero sólo tiene una tabla de verdad. La siguiente tabla corresponde a la función lógica del punto anterior.

La forma más cómoda para ver la equivalencia entre una tabla de verdad y una expresión algebraica es cuando esta última se da en su forma canónica. Así, la función canónica de suma de productos (o forma canónica disyuntiva)

F = A’BC’ + AB’C’ + AB’C + ABC’

Nos indica que será 1 cuando lo sea uno de sus sumandos, lo que significa que tendrá por lo tanto cuatro combinaciones que lo serán (010 para A’BC’, 100 para AB’C’, 101 para AB’C y 110 para ABC’) siendo el resto de combinaciones 0. Con la función canónica de producto de sumas (o forma canónica conjuntiva) se puede razonar de forma análoga, pero en este caso observando que la función será 0 cuando lo sea uno de sus productos.

También es fácil obtener la tabla de verdad a partir de la función simplificada, pero no así a la inversa.

NUMÉRICA

La representación numérica es una forma simplificada de representar las expresiones canónicas. Si consideramos el criterio de sustituir una variable sin negar por un 1 y una negada por un 0, podremos representar el término, ya sea una suma o un producto, por un número decimal equivalente al valor binario de la combinación. Por ejemplo, los siguientes términos canónicos se representarán del siguiente modo (observe que se toma el orden de A a D como de mayor a menor peso):

AB’CD = 10112 = 1110

A’ + B + C’ + D’ = 01002 = 410

Para representar una función canónica en suma de productos utilizaremos el símbolo Σn (sigma) y en producto de sumas Πn (pi), donde n indicará el número de variables. Así, la representación numérica correspondiente a la tabla de verdad del punto anterior quedará como:

F = Σ3 (2, 4, 5, 6) = Π3 (0, 1, 3, 7)

Matemáticamente se demuestra, que para todo término i de una función, se cumple la siguiente ecuación:

F = [Σn (i)]' = Πn (2n-1-i)

29

Page 30: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

A modo de ejemplo se puede utilizar esta igualdad para obtener el producto de sumas a partir de la suma de productos del ejemplo anterior:

F = Σ3 (2, 4, 5, 6) = [Σ3 (2, 4, 5, 6)]' ' = [Σ3 (0, 1, 3, 7)]' = Π3 (0, 1, 3, 7)

GRÁFICA

La representación gráfica es la que se utiliza en circuitos y esquemas electrónicos. En la siguiente figura se representan gráficamente dos funciones algebraicas, una con símbolos no normalizados, superior, y la otra con normalizados, inferior (véanse los símbolos de las puertas lógicas )

Representación gráfica de dos funciones lógicas

30

Page 31: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

MINIMIZACIÓN DE FUNCIONES BOOLEANAS

¿QUE ES LA MINIMIZACIÓN?

Básicamente es la simplificación de una función, obteniendo una expresión que contenga menos términos o menos variables que la función original.  Esto se refleja en la obtención de circuito más económico por tener un menor número de compuertas.

La simplificación de estas funciones puede realizarse con el uso de álgebra de Boole pero no es un método sencillo de ejecutar. La manipulación de funciones booleana puede llegar a ser muy compleja y muchas veces es necesario un ingenio considerable y quizás mucha suerte.

La minimización con álgebra de Boole  presenta dos limitaciones importantes:No existe un algoritmo que nos garantice encontrar la forma más simple de la expresión.

   · Dado un determinado resultado intermedio no hay forma de saber si realmente hemos llegado a la forma mínima.

Para efecto de este curso cuando nos referimos a una expresión mínima, nos estamos refiriendo  a la expresión más simple de dos niveles.

FORMA DE DOS NIVELES

Cualquier función booleana puede ser implantada con dos niveles de compuertas.

Como se señaló anteriormente una función puede ser representada utilizando la forma suma de productos como:

f = ( )+ ( )+ ( ).......+ ( )

31

Page 32: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

De esta manera  los términos ( ) son productos de las variables de entrada (negadas o no) que se realizan con compuertas AND. Los + se realizan con una compuerta OR de tantas entradas como términos productos haya en la función.

Como resultado tendremos que la función puede realizase con dos niveles de compuertas:El nivel 1 representado por las compuertas AND y el nivel 2 representado por la compuerta OR, como se muestra en la figura. (En el nivel 1 se consideran también la variables negadas, que siendo formales se implantan con una compuerta NOT.)

Como señalamos anteriormente, la simplificación de las funciones lógicas es una meta importante por el hecho de que cuanto más sencilla sea la función, más fácil será construir el circuito equivalente. El objetivo de la simplificación es el de minimizar el costo de implantación de una función mediante componentes electrónicos, donde el costo depende del número y complejidad de los elementos necesarios para construirla.

La optimalidad de la simplificación utilizando Algebra de Boole depende de la habilidad del diseñador para aplicar la propiedad más adecuada en cada paso del proceso. Esta tarea se hace cada vez más difícil al crecer la complejidad de la expresión. Por ello, se utilizan algunos métodos que facilitan y automatizan el proceso de simplificación de las funciones lógicas, como lo son los Mapas de Karnaugh, y el método de Quine-McCluskey. (Para este curso solo se cubrirá el método de Mapas de Karnaugh) l

En este punto, siendo la minimización el último paso antes de la implantación en el diseño de un sistema digital y antes de pasar a describir el método de minimización utilizando Mapas de Karnaugh, resumamos los diferentes pasos que deben seguirse en un problema de  diseño de lógica combi nacional.

1.      Se toman las proposiciones y se simbolizan.

2.      Se construye una tabla de verdad con todas las combinaciones posibles de las variables de entrada y se coloca un 1 para las combinaciones que cumplan con las condiciones de diseño.

3.      Se obtiene la forma canónica Suma de productos tomando los minterminos de la tabla de verdad que sean iguales a 1.

32

Page 33: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

4.      Se simplifica la función utilizando Mapas de Karnaugh y se obtiene una expresión mínima de dos niveles

5. Se realiza el diagrama circuital y se implanta el circuito.

MINIMIZACION POR MAPAS DE KARNAUGH

Este método consiste en formar diagramas de 2n cuadros, siendo n el número de variables. Cada cuadro representa una de las diferentes combinaciones posibles y se disponen de tal forma que se puede pasar de un cuadro a otro en las direcciones horizontal o vertical, cambiando únicamente una variable, ya sea en forma negada o directa.

Este método se emplea fundamentalmente para simplificar funciones de hasta cuatro variables. Para un número superior utilizan otros métodos como el numérico. A continuación pueden observarse los diagramas, también llamados mapas de Karnaugh, para dos, tres y cuatro variables.

MAPAS DE KARNAUGH PARA DOS, TRES Y CUATRO VARIABLES

Es una práctica común numerar cada celda con el número decimal correspondiente al término canónico que albergue, para facilitar el trabajo a la hora de plasmar una función canónica.

Para simplificar una función lógica por el método de Karnaugh se seguirán los siguientes pasos:

1º) Se dibuja el diagrama correspondiente al número de variables de la función a simplificar.

33

Page 34: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

2º) Se coloca un 1 en los cuadros correspondientes a los términos canónicos que forman parte de la función.

3º) Se agrupan mediante lazos los unos de casillas adyacentes siguiendo estrictamente las siguientes reglas:

a) Dos casillas son adyacentes cuando se diferencian únicamente en el estado de una sola variable.

b) Cada lazo debe contener el mayor número de unos posible, siempre que dicho número sea potencia de dos (1, 2, 4, etc.)

c) Los lazos pueden quedar superpuestos y no importa que haya cuadrículas que pertenezcan a dos o más lazos diferentes.

d) Se debe tratar de conseguir el menor número de lazos con el mayor número de unos posible.

4º) La función simplificada tendrá tantos términos como lazos posea el diagrama. Cada término se obtiene eliminando la o las variables que cambien de estado en el mismo lazo.

A modo de ejemplo se realizan dos simplificaciones de una misma función a partir de sus dos formas canónicas:

F = Σ3 (0, 2, 3, 4,7) = Π3 (1, 2,6)

De acuerdo con los pasos vistos anteriormente, el diagrama de cada función quedará del siguiente modo:

SIMPLIFICACIÓN DE UNA FUNCIÓN DE TRES VARIABLES

34

Page 35: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

La función simplificada tendrá tres sumandos en un caso y dos productos en el otro. Si nos fijamos en el mapa correspondiente a la suma de productos, observamos que en el lazo 1 cambia la variable A (en la celda 0 es negada y en la 4 directa), en el lazo 2 es la C y en el lazo 3 vuelve a ser A. por lo tanto, la ecuación simplificada es:

F = B’C’ + A’B + BC

IMPLEMENTACION DE CIRCUITOS COMBINACIONALES CON SSI

35

Page 36: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

ANÁLISIS DE SISTEMAS COMBINACIONALES

DEFINICIÓN DE CIRCUITO COMBINACIONAL

Un circuito combinacional es aquel que está formado por funciones lógicas elementales ( AND, OR, NAND, NOR, etc. ), que tiene un determinado número de entradas y salidas, dependiendo los valores que toman las salidas exclusivamente de los que toman las entradas en ese instante. Ejemplo de este tipo de circuitos son: los codificadores, decodificadores, multiplexores, demultiplexores, comparadores, generadores-detectores de paridad, etc.

ANÁLISIS DE CIRCUITOS COMBINACIONALES

En este punto se trata el análisis de circuitos combinacionales a nivel de puertas lógicas. La estructura del circuito vendrá dada por su diagrama lógico, cuyos constituyentes serán puertas lógicas cuyo comportamiento lo determina el símbolo que lo representa

Figura 1. Circuito combinacinal

Un circuito combinacional se analiza determinando la salida de los elementos lógicos que lo constituyen (normalmente puertas lógicas), partiendo de las variables de entrada y avanzando en el sentido de la señal hacia la salida.

36

Page 37: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

SUMADORES RESTADORESUn sumador es un circuito lógico que calcula la operación suma. En los computadores modernos se encuentra en lo que se denomina Unidad aritmético lógica (ALU). Generalmente realizan las operaciones aritméticas en código binario decimal o BCD exceso 3, por regla general los sumadores emplean el sistema binario. En los casos en los que se esté empleando un complemento a dos para representar números negativos el sumador se convertirá en un sumador-sustractor (Adder-subtracter).

Las entradas son A, B, Cin que son las entradas de bits A y B, y Cin es la entrada de acarreo. Por otra parte, la salida es S y Cout es la salida de acarreo.

QUE ES UN RESTADOR BINARIO

Las reglas para la resta o sustracción binaria de dos bits son similares a las de la suma. En un problema de sustracción, recordando a la anotación matemática, el número de arriba se denomina minuendo y el de abajo sustraendo, el resultado de la operación será la diferencia.

Reglas de sustracción:

0 - 0 = 0

1 - 0 = 1

1 - 1 = 0

0 - 1 = 0

(Y se toma 1; se llama borrow)

El borrow es un concepto análogo al carry de la suma.

Estas reglas de sustracción permiten la resta de dos números cualesquiera, siempre que el minuendo sea mayor que el sustraendo.

Existe otro método. Se basa en sumar el complemento de un número a otro, en ved de realizar la resta de los números directamente.

37

Page 38: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

CODIFICADORES

Son sistemas combinacionales con m £ 2n entradas y n salidas que se encargan de transformar una serie de señales sin codificar en un conjunto que responda a un código.

CODIFICADORES SIN PRIORIDAD

Su cometido es la generación de un número binario sobre sus n salidas que identifique cuál de las entradas está activadas (ver siguiente figura 7).

 

 Figura 7. Codificador

Como no hay nada que impida el que se activen simultáneamente varias líneas de entrada de un codificador, los circuitos codificadores se diseñan normalmente para que respondan a una sola señal de entrada activa, dando lugar a los codificadores con prioridad.

El codificador de la figura 7 corresponde a un codificador de octal a binario sin prioridad, cuya tabla de verdad es la siguiente:

1         0         0         0         0        0        0        0

0        1          0         0         0        0        0        0

0        0          1         0         0        0        0        0

0         0         0

0         0         1

0         1         0

38

Page 39: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

0        0          0         1         0        0        0        0

0        0          0         0         1        0        0        0

0        0          0         0         0        1        0        0

0        0          0         0         0        0        1        0

0        0          0         0         0        0        0        1

0         1         1

1         0         0

1         0         1

1         1         0

1         1         1

Las funciones lógicas para las salidas, a partir de la tabla de verdad anterior y entrada ENABLE (E) para activar la entrada cuando vale 1 o inhibirla cuando vale 0, quedan:

A2 = (B4 +B5 + B6 + B7) E

A1 = (B2 +B3 + B6 + B7) E

A0 = (B1 +B3 + B5 + B7) E

Siendo la función lógica: F = (B0 + B1 + B2 +B3 + B4 + B5+ B6 + B7) E, una señal de salida especial que se activa cuando todas las señales de entrada son nulas y E=1.

CODIFICADORES CON PRIORIDAD

Para obtener codificadores que respondan a una sola señal de entrada activa, se le asigna valores fijos de prioridad a las líneas de entrada, de forma que en cada instante sólo se genera el código de salida de la entrada activa que tenga la máxima prioridad.

39

Page 40: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

Figura 8. Símbolo de un codificador 74148 con prioridad de 8 líneas a 3 líneas

Figura 9. TABLA DE VERDAD del codificador con prioridad

Por tanto, en la salida del codificador aparecerá el mayor número i, tal que Bi esté activada (si hemos impuesto en el diseño el criterio de prioridad a la entrada más alta).

40

Page 41: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

La EI (negada) es la señal ENABLE, las I i (negadas) entradas, Ai (negadas) salidas, EO (negada) señal de salida especial que se activa cuando todas las señales de entrada son nulas y GS (negada) señal de grupo que se activa cuando EI (negada) = L y hay petición de servicio.

El codificador 74148 se trata de un codificador con prioridad cuyas entradas y salidas son activas a nivel bajo. Esto significa que las entradas se activan con ceros lógicos y las salidas aparecen complementadas. Una entrada o salida activa a nivel bajo se simboliza en los diagramas lógicos (figura 8), en lógica positiva, insertando un pequeño círculo. También se suele indicar que la línea es activa a nivel bajo poniendo la correspondiente negada (ver siguiente figura 11).

Figura 11. Ejemplo de indicación de líneas a nivel bajo

41

Page 42: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

DECODIFICADORES

Un decodificador es un circuito combinacional con n entradas y m 2n salidas. Para cada una de las 2n posibles configuraciones binarias que se pueden presentarse en su entrada, el sistema pone a 1 una y sólo una de las salidas, de acuerdo con la siguiente regla: si la configuración binaria presente en las entradas forma el número binario i, entonces se activa la salida i-ésima.

Según esto el funcionamiento de un decodificador es el opuesto al de un codificador.

Decodificadores BCD-DECIMAL y Excitador BCD-7 segmentos

En el decodificador BCD-DECIMAL, n=4 y m=10 (ver figura 12 siguiente)

Obteniendo las expresiones lógicas de la tabla de verdad anterior, podremos realizar la síntesis del circuito combinacional mediante puertas lógicas (ver figura 13):

42

Page 43: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

Figura 13. Síntesis mediante puertas del decodificador BCD-DECIMAL CD4028BC

DETECTORES/GENERADORES DE PARIDAD

Los circuitos electrónicos digitales se basan en la transmisión y el procesamiento de información, lo que hace necesario verificar que la información recibida es igual a la emitida; no suelen producirse errores, por lo que cuando ocurren en la mayoría de los casos el error en la transmisión se produce en un único bit.

El método más sencillo y eficaz de comprobación de la transmisión de datos consiste en añadir a la información transmitida un bit más, con la misión de que el número de 1 transmitidos en total sea par (paridad par), o impar (paridad impar).

Detectores/generadores de paridad

Los generadores de paridad par son aquellos circuitos que generan un 0 cuando el número de 1 en la entrada es par y un 1 cuando es impar, en el caso de dos bit, sería como se muestra en la tabla de verdad:

Entradas Salidas

A B P I

0 0 0 1

0 1 1 0

1 0 1 0

43

Page 44: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

1 1 0 1

P = paridad par, es decir un número de 1 par.

I = paridad impar, es decir un número de 1 impar.

Las funciones canónicas serán:

Cuya posible implementación se muestra en la figura:

Imagen 28. Elaboración propia

Como venimos comentando a lo largo de todo el tema estos circuitos no se suelen cablear, sino que se presentan como circuitos integrados, un ejemplo de generadores de paridad sería el CI 74180.

MULTIPLEXORES Y DEMULTIPLEXORES

MULTIPLEXORES

Un multiplexor es un sistema digital que consta de varias entradas y una salida, y mediante un mecanismo de selección, una determinada entrada se transfiere a la salida.

Figura 17. Multiplexor y su tabla de verdad

44

Page 45: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

Una definición más formal de multiplexor sería la de un circuito combinacional con n entradas de selección o control (a, b,..), 2n entradas de datos (K1, K2,...) y una salida Z. Los datos de la se rutan desde la entrada de datos cuyo número de orden coincide con el número binario puesto en la entrada de selección hacia la salida (ver figura 18)

Figura 18. Selección de la entrada de datos del multiplexor

La síntesis con puertas lógicas se realiza obteniendo la expresión lógica de la salida Z, obteniendo:

Es importante reseñar que algunos multiplexores presentan entradas ENABLE o STROBE para dar permiso de funcionamiento o no al multiplexor.

45

Page 46: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

DEMULTIPLEXORES

El funcionamiento es el contrario al del multiplexor, encauzando los datos desde una fuente común de entrada hacia uno de 2n destinos de salida.

Por tanto, un demultiplexor es un circuito combinacional con una entrada J, n entradas de selección y 2n salidas.

Es importante comentar que los demultiplexores pueden trabajar como decodificadores. Vamos a explicar cómo se consigue esto con un ejemplo: supongamos que tenemos un DEMUX 1:4 (una J entrada a cuatro salidas), si hago la entrada J=1 siempre activa, transformo el funcionamiento a un DECODIFICADOR 2:4, actuando ahora las señales de selección (a, b,...) como entrada de código a decodificar y las salidas como salidas del código decodificado.

Figura 20. Demux actuando como decodificador

La síntesis con puertas sería, partiendo de su tabla de verdad:

Figura 21. Síntesis con puertas de un demultipexor/decodificador

46

Page 47: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

COMPARADORES

Son circuitos integrados combinacionales con uno o más pares de entradas que tienen como función comparar dos magnitudes binarias para determinar su relación.

El comparador más básico, que determina si dos números son iguales, se consigue mediante una puerta XOR (or exclusiva), ya que su salida es 1 si los dos bits de entrada son diferentes y 0 si son iguales.

Muchos comparadores poseen además de la salida de igualdad, dos salidas más que indican cuál de los números colocados a la entrada es mayor (M) que el otro, o bien es menor (m) que el otro.

Vamos a implementar un circuito comparador de dos bits empleando puertas elementales, para lo que, en primer lugar escribiremos su tabla de verdad.

 

Entradas

A B

Salidas

I M m 0 0 1 0 0 0 1 0 0 1 1 0 0 1 0 1 1 1 0 0

Con lo que las funciones canónicas serán:

O bien como I=1 solo cuando M=m=0

Que equivale a leer los 0 de la tabla de verdad de I.

Con lo que al implementar la función lógica quedará el siguiente circuito:

47

Page 48: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

Imagen 17. Elaboración propia

Generalmente estos circuitos combinacionales no suelen cablearse, vienen en circuitos integrados como por ejemplo el CI 7485, que es un comparador de 4 bits. Posee 3 entradas en cascada que permiten utilizar varios comparadores para comparar números binarios de más de 4 bits:

Imagen 18. Elaboración propia Imagen

Se usa un comparador para los 4 bits menos significativos de los 2 números y se aplica su salida a la entrada en cascada del siguiente que compara los bits de mayor significación, proporcionando el resultado final.

SUMADORES

Un sumador es un circuito que realiza la suma de dos palabras binarias. Es distinta de la operación OR, con la que no nos debemos confundir. La operación suma de números binarios tiene la misma mecánica que la de números decimales.

Por lo que en la suma de números binarios con dos o más bits, puede ocurrir el mismo caso que podemos encontrar en la suma de números decimales con varias cifras: cuando al sumar los dos primeros dígitos se obtiene una cantidad mayor de 9, se da como resultado el dígito de menor peso y “me llevo" el anterior a la siguiente columna, para sumarlo allí.

48

Page 49: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

En la suma binaria de los dígitos 1 + 1, el resultado es 0 y me llevo 1, que debo sumar en la columna siguiente y pudiéndose escribir 10, solamente cuando sea la última columna a sumar. A este bit más significativo de la operación de sumar, se le conoce en inglés como carry (acarreo), equivalente al “me llevo una” de la suma decimal.

Semisumador. Es un dispositivo capaz de sumar dos bits y dar como resultado la suma de ambos y el acarreo. La tabla de verdad correspondiente a esta operación sería:

Entradas Salidas

A B C S

0 0 0 0

0 1 0 1

1 0 0 1

1 1 1 0

Con lo que sus funciones canónicas serán:

Que una vez implementado con puertas lógicas, un semisumador tendría el circuito:

Imagen 20. Elaboración propia

49

Page 50: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

Sumador completo. Presenta tres entradas, dos correspondientes a los dos bits que se van a sumar y una tercera con el acarreo de la suma anterior. Y tiene dos salidas, el resultado de la suma y el acarreo producido. Su tabla de verdad será:

 

Entradas Salidas

A B C-1 C S

0 0 0 0 0

0 0 1 0 1

0 1 0 0 1

0 1 1 1 0

1 0 0 0 1

1 0 1 1 0

1 1 0 1 0

1 1 1 1 0

Sus funciones canónicas serán:

Que una vez simplificadas quedarían:

O bien:

Una vez implementado con puertas lógicas el sumador presentaría cualquiera de los siguientes circuitos:

50

Page 51: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

Imagen 21. Elaboración propia Imagen 22. Elaboración propia

Aunque, como ya hemos dicho en otros casos, en realidad estos circuitos no se cablean con puertas lógicas, si no que forman parte de circuitos integrados como el CI 7483, que es un sumador de cuatro bits.

Imagen 23. Elaboración propia

51

Page 52: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

Imagen 24. Elaboración propia

 

El esquema mostrado en la figura es el conexionado interno que presenta dicho sumador de 4 bits, configurado dentro del CI 7483.

52

Page 53: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

Imagen 25. . ©

Un sumador BCD es un circuito que suma dos dígitos en BCD. En una suma BCD, la suma 9+9+1=19 es el valor máximo resultante, siendo el 1 en la suma el acarreo de entrada. Los dígitos BCD con un acarreo de entrada, se agregan en un sumador binario de cuatro bits para producir la suma binaria. CS es el acarreo de la suma de los números A y B de entrada y los dígitos E0 a E3 son el resultado de la suma binaria, donde cada dígito tiene los pesos 8, 4, 2, 1 del código BCD. Cuando la suma binaria es menor o igual a 1001, no se agrega nada a la suma. Cuando el número binario es mayor que 1001 se obtiene una representación en código BCD no válida. La suma del número binario 0110 a la suma binaria convierte la representación a un código BCD válido. La suma del número 0110 se realiza por medio de un segundo sumador inferior. Este código BCD válido lo podemos ver en la tabla en la columna de suma BCD. Las salidas E a B representan la suma BCD. A es el acarreo de salida de la suma BCD.

53

Page 54: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

Suma Binaria | Suma BCD |Cs | E3 | E2 | E1 | E0 | A | B | C | D | E |0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 |0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |1 | 0 |0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 |0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 1 |0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 0 |0 | 0 | 1 | 1 | 1 | 0| 0 | 1 | 1 | 1 |0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 |0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 |0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 |0 | 1 | 1 |0 | 0 | 1 | 0 | 0 | 1 | 0 |0 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |0 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 0 |0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 |1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 |1| 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 1 |1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 |1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 1 |

PROGRAMACIÓN VHDL

VHDL significa VHSIC Hardware Description Language, y a su vez VHSIC significa Very High Speed Integrated Circuit. Se trata de un lenguaje de descripción de hardware, esto significa que mediante él se puede describir la forma de comportarse de un circuito electrónico. El comportamiento puede ser llevado a algún dispositivo que dispondrá de sus propios componentes con los que lograr ese comportamiento deseado. La forma de comportarse es independiente del hardware donde se implementará.

El VHDL es un estándar llamado IEEE 1076-1993. Sus ventajas son:

Una disponibilidad pública Independencia de dispositivos y fabricantes Reutilización Diseño jerárquico

Un proyecto de VHDL puede contener muchos ficheros. El código VHDL usualmente se encuentra en los ficheros con extensión *.vhd. La estructura típica de uno de estos ficheros es:

54

Page 55: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

OBSERVACIONES Y/O CONCLUSIONES:

JAIME DOMINGUEZ BALDERAS – 12/430/142

En esta segunda unidad no hubo exposición, pero al momento de desarrollar los temas pues leí algunas cosas como por ejemplo: la implementación de compuertas AND y OR, como una compuerta NAND forma lo que se conoce como “lógica completa”, que quiere decir que se puede construir cualquier otra compuerta utilizando la compuerta NAND como elemento principal, pero también decía que era necesario aplicar algunas restricciones. También leí sobre los codificadores, y los decodificadores, las diferencias y las características que estos poseen, además de lo útil que son, y sobre la programación VHDL la cual es un poco complicada al principio pero será muy útil en la electrónica digital.

EVERARDO RAMOS ZAVALA – 12/430/155

La segunda unidad era demasiada larga, en lo particular a mí los temas que más me parecieron interesantes fueron los que tenían que ver en cuanto a la simplificación de funciones booleanas ya sea por alguno de los diferentes métodos que existen, por ejemplo la minimización por el método de mapas de Karnaugh, aunque la verdad me pareció un poco complicado pero es algo muy interesante, conocer los distintos métodos de minimización de funciones booleanas

JOSE EDUARDO DE LA GARZA – 11/430/070

Estas unidad me pareció interesante, aunque son demasiado temas en muy poco tiempo para verlos y comprenderlos, y como estuvimos haciendo practicas la mayor parte del tiempo, pues me faltaron comprender algunas cosas, pero dentro de lo que me pareció más interesante fue todo lo referente a los sumadores y rastreadores, también investigue un poco sobre los codificadores, pero pues eso me parece que es un poco más sencillo y fácil de comprender el funcionamiento.

55

Page 56: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

BIBLIOGRAFÍA

“LIBROS”

DISEÑO DIGITAL

AUTORES: M. Morris Mano, Gonzalo Duchén Sánchez

DISEÑO DIGITAL UNA PERSPECTIVA

AUTORES: Ramón Alcubilla Gonzales.

Joan Pons Nin.

Daniel Bardes.

“PAGINAS DE INTERNET”

http://matematicasparacomputadora.weebly.com/431-mini-y-maxi-teacuterminos.html

http://www.virtual.unal.edu.co/cursos/ingenieria/2000477/lecciones/020401.htm

http://www.unicrom.com/Dig_mapa-karnaugh.asp

http://www.electronica2000.com/digital/codideco.htm

http://html.rincondelvago.com/codificadores-y-decodificadores_multiplexores-y-demultiplexores.html

http://www.slideshare.net/alicianicolas/codificadoresy-decodificadores

56

Page 57: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

UNIDAD 3 LOGICA SECUENCIAL SINCRONA

Los circuitos de conmutación secuenciales tienen la propiedad de que la salida no depende de la entrada actual sino, también de la secuencias de entradas anteriores.

Los elementos de memoria utilizados en este tipo de circuitos son biestables.

Los biestables son circuitos que pueden asumir uno de dos estados estables que muestren en sus salidas. Pueden tener una o más entradas que hacen que cambie el estado estable.

SISTEMAS SECUENCIALES SÍNCRONOS

Según la forma de realizar el elemento de memoria nos podemos encontrar Distintos tipos de sistemas secuenciales, principalmente dos: · Sistemas Secuenciales Síncronos, En los que su comportamiento puede definirse en instantes de discretos de tiempo, se necesita una sincronización de los elementos del sistema mediante una señal de reloj, que no es más que un tren de pulsos periódico. Las variables internas no cambian hasta que no llega un pulso del reloj.

· Sistemas Secuenciales Asíncronos, actúan de forma continua en el tiempo, un cambio de las entradas provoca cambios en las variables internas sin esperar a la intervención de un reloj. Son sistemas más difíciles de diseñar.

El cambio de las variables internas se puede producir de dos maneras en un Sistema secuencial síncrono: · Por niveles: cuando permiten que las variables de entrada actúen sobre elSistema en el instante en el que la señal de reloj toma un determinadoNivel lógico (0 o 1).

· Por flancos, o cambios de nivel: cuando la acción de las variables de Entrada sobre el sistema se produce cuando ocurre un flanco activo delReloj. Este flanco activo puede ser de subida (cambio de 0 a 1) o de bajada (cambio de 1 a 0).

57

Page 58: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

FLIP-FLOP NAND

Un flip-flop es un circuito digital que tiene dos salidas Q y Q`, las cuales siempre se encuentran en estados opuestos. Si Q=1 entonces Q`=0 y se dice que el flip-flop está inicializado (set). Si Q = 0 entonces Q`=1 y se dice que el flip-flop está reinicializado (reset), inactivo o borrado. Existen varios tipos de flip-flops, y las entradas de control cambian con cada tipo. Los niveles lógicos en las entradas de los flip-flops determinan el estado de las salidas de acuerdo con la tabla de verdad del flip-flop.

A diferencia de las compuertas estudiadas hasta este momento, el flip-flop puede en algunos estados mantener su estado de salida (encendido o apagado) aún después de que las señales de entrada que produjeron el estado de salida cambien. De esta manera el flip-flop puede guardar un bit de información.

Flip-Flop con compuertas NAND (set-reset)

Un flip-flop set-reset es un circuito digital cuya salida es inicializada por la entrada set pero que sólo puede ser reinicializada por la entrada reset.

La operación del circuito se describe de la siguiente manera:

Set = Reset = 1. Esta condición es el estado normal y no tiene efecto alguno sobre el estado de salida. Las salidas Q y Q` permanecerán en el estado en que se encontraban antes de presentarse esta condición de entrada.

Set = 0, Reset =1. Este estado siempre ocasionará que la salida pase al estado Q=1, donde permanecerá aun después de que Set retorne a nivel lógico alto.

Set = 1, Reset = 0. Esto siempre producirá el estado Q=0, donde la salida permanecerá aun después de que Reset retorne a nivel lógico alto. A esto se le llama borrado o reinicio del flip-flop.

Set = Reset = 0. Esta condición intenta iniciar y borrar el flip-flop en forma simultánea. No debe utilizarse.

58

Page 59: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

La tabla de verdad del flip-flop es la siguiente:

FLIP-FLOP CON COMPUERTAS NOR (SET-RESET)

La operación del circuito se describe de la siguiente manera:

Set = Reset = 0. Esta es la condición normal del flip-flop básico NOR y no tiene efecto alguno sobre el estado de salida. Q y Q` permanecerán en cualquier estado en que se encontraran antes de esta condición de entrada.

Set = 1, Reset = 0. Esto siempre hará Q=1, donde permanecerá aun después de que Set retorne a 0.

Set = 0, Reset = 1. Esto siempre hará Q=0, donde se quedará aun después de que Reset regrese a 0.

Set = Reset = 1. Esta condición intenta iniciar y borrar el flip-flop básico al mismo tiempo. No debe utilizarse porque el estado de su salida es impredecible.

El flip-flop básico de la compuerta NOR opera exactamente igual que el flip-flop básico NAND excepto que las entradas Set y Reset son activas en alto, en lugar de activas en bajo. Además que el estado de reposo es cuando Set y Reset están a nivel bajo (0 lógico).

59

Page 60: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

FLIP FLOP S-R, J-K, Y D

Flip flop sr

Dispositivo de almacenamiento temporal de 2 estados (alto y bajo), cuyas entradas principales permiten al ser activadas:

R: el borrado (reset en inglés), puesta a 0 o nivel bajo de la salida.

S: el grabado (set en inglés), puesta a 1 o nivel alto de la salida

Si no se activa ninguna de las entradas, el biestable permanece en el estado que poseía tras la última operación de borrado o grabado. En ningún caso deberían activarse ambas entradas a la vez, ya que esto provoca que las salidas directas (Q) y negada (Q') queden con el mismo valor: abajo, si el flip-flop está construido con puertas NOR, o a alto, si está construido con puertas NAND. El problema de que ambas salidas queden al mismo estado está en que al desactivar ambas entradas no se podrá determinar el estado en el que quedaría la salida. Por eso, en las tablas de verdad, la activación de ambas entradas se contempla como caso no deseado (N. D.).

Biestable RS (Set Reset) asíncrono

Sólo posee las entradas R y S. Se compone internamente de dos puertas lógicas NAND o NOR, según se muestra en la siguiente figura:

60

Page 61: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

Biestable RS (Set Reset) síncrono

Circuito Biestable RS síncrono a) y esquema normalizado b).

Además de las entradas R y S, posee una entrada C de sincronismo cuya misión es la de permitir o no el cambio de estado del biestable. En la siguiente figura se muestra un ejemplo de un biestable síncrono a partir de una asíncrona, junto con su esquema normalizado:

61

Page 62: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

Biestable D (Data o Delay)

Símbolos normalizados: Biestables D a) activo por nivel alto y b) activo por flanco de subida.

El flip-flop D resulta muy útil cuando se necesita almacenar un único bit de datos (1 o 0). Si se añade un inversor a un flip-flop S-R obtenemos un flip-flop D básico. El funcionamiento de un dispositivo activado por el flanco negativo es, por supuesto, idéntico, excepto que el disparo tiene lugar en el flanco de bajada del impulso del reloj. Recuerde que Q sigue a D en cada flanco del impulso de reloj.

Para ello, el dispositivo de almacenamiento temporal es de dos estados (alto y bajo), cuya salida adquiere el valor de la entrada D cuando se activa la entrada de sincronismo, C. En función del modo de activación de dicha entrada de sincronismo, existen dos tipos:

Activo por nivel (alto o bajo), también denominado registro o cerrojo (latch en inglés).

Activo por flanco (de subida o de bajada).

La ecuación característica del biestable D que describe su comportamiento es:

62

Page 63: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

Esta báscula puede verse como una primitiva línea de retardo o una retención de orden cero (zero order hold en inglés), ya que los datos que se introducen, se obtienen en la salida un ciclo de reloj después. Esta característica es aprovechada para sintetizar funciones de procesamiento digital de señales (DSP en inglés) mediante la transformada Z.

BIESTABLE JK

Es versátil y es uno de los tipos de flip-flop más usados. Su funcionamiento es idéntico al del flip-flop S-R en las condiciones SET, RESET y de permanencia de estado. La diferencia está en que el flip-flop J-K no tiene condiciones no válidas como ocurre en el S-R.

Este dispositivo de almacenamiento es temporal que se encuentra dos estados (alto y bajo), cuyas entradas principales, J y K, a las que debe el nombre, permiten al ser activadas:

J: El grabado (set en inglés), puesta a 1 o nivel alto de la salida.

K: El borrado (reset en inglés), puesta a 0 o nivel bajo de la salida.

Si no se activa ninguna de las entradas, el biestable permanece en el estado que poseía tras la última operación de borrado o grabado. A diferencia del biestable

RS, en el caso de activarse ambas entradas a la vez, la salida adquirirá el estado contrario al que tenía.

La ecuación característica del biestable JK que describe su comportamiento es:

63

Page 64: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

Biestable JK activo por flanco

Símbolos normalizados: Biestables JK activo a) por flanco de subida y b) por flanco de bajada

Junto con las entradas J y K existe una entrada C de sincronismo o de reloj cuya misión es la de permitir el cambio de estado del biestable cuando se produce un flanco de subida o de bajada, según sea su diseño. Su denominación en inglés es J-K Flip-Flop Edge-Triggered. De acuerdo con la tabla de verdad, cuando las entradas J y K están a nivel lógico 1, a cada flanco activo en la entrada de reloj, la salida del biestable cambia de estado. A este modo de funcionamiento se le denomina modo de basculación (toggle en inglés).

Ejemplo: 74LS73

Biestable JK Maestro-Esclavo

64

Page 65: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

Símbolos normalizados: Biestable JK Maestro-Esclavo a) activo por nivel alto y b) activo por nivel bajo

Aunque aún puede encontrarse en algunos equipos, este tipo de biestable, denominado en inglés J-K Flip-Flop Master-Slave, ha quedado obsoleto ya que ha sido reemplazado por el tipo anterior.

Su funcionamiento es similar al JK activo por flanco: en el nivel alto (o bajo) se toman los valores de las entradas J y K y en el flanco de bajada (o de subida) se refleja en la salida.

DISEÑO DE CIRCUITOS SECUENCIALES SÍNCRONOS.

Como se comentó con anterioridad los sistemas secuenciales pueden ser de naturaleza síncrona o asíncrona. Los sistemas síncronos se basan en circuitos que están controlados por un reloj maestro. En los sistemas asíncronos no existe un reloj común, los estados internos y las salidas pueden resultar afectados en cualquier momento por un cambio en las entradas. En general el diseño síncrono es más sencillo que su equivalente asíncrono, éste último es susceptible de presentar problemas de inestabilidad, por lo tanto en este apartado nos centraremos en el diseño de sistemas secuenciales síncronos.

Un circuito secuencial está formado por una etapa de lógica combinacional y una etapa de memoria (flip-flops). Para el funcionamiento del circuito se requiere la información almacenada en la etapa de memoria (estado), así como las entradas de la lógica. En el campo de la electrónica digital, un "contador" es un circuito lógico secuencial. Este circuito consta de una serie de flip-flops: circuitos electrónicos que tienen dos condiciones estables, cada una correspondiente a una de las dos señales de entrada alternativa. Los circuitos pueden alternar a través de una secuencia de estados. Existen dos tipos de contador: sincrónico y asíncrono.

CONTADORES SÍNCRONOS

Los contadores síncronos suelen consistir en un elemento de memoria, que se implementa usando flip-flops y un elemento combinatorio, que es implementado tradicionalmente mediante puertas lógicas. Las puertas lógicas son circuitos lógicos con uno o más terminales de entrada y un terminal de salida, en el que la salida se conmuta entre dos niveles de tensión determinados por una combinación

65

Page 66: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

de señales de entrada. El uso de las puertas lógicas para la lógica combinacional suele reducir el costo de los componentes de los circuitos del contador a un mínimo absoluto, por lo que sigue siendo un enfoque popular.

OBSERVACIONES Y/O CONCLUSIONES:

JAIME DOMINGUEZ BALDERAS – 12/430/142

La unidad 3 se enfoca más que nada a lo que viene siendo por ejemplo los FLIP-FLOP de echo son muchos temas sobre esto, Los FLIP-FLOP NAND, FLIP-FLOP NORD, también habían algunos temas como el análisis de los circuitos

66

Page 67: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

secuenciales síncronos y asíncronos, y cada una de las características que estos poseen.

EVERARDO RAMOS ZAVALA – 12/430/155

Esta unidad me pareció que fue la más complicada de todas, ya que en realidad no alcanzamos a ver casi ningún tema de ella, solo realizamos la investigación, algo que me pareció muy útil fue lo de los contadores síncronos, ya que son algo útiles.

JOSE EDUARDO DE LA GARZA – 11/430/070

La unidad 3 casi no la vimos, pero algo que me gusto y de echo fue lo que investigue fue acerca de los diseños de contadores mediante VHDL, ya que es algo complicado al principio pero creo que puede ser algo útil en la carrera.

BIBLIOGRAFÍA

“LIBROS”

DISEÑO DIGITAL

AUTORES: M. Morris Mano, Gonzalo Duchén Sánchez

67

Page 68: DESARROLLO DE LA MATERIA DISEÑO DIGITAL.docx

DISEÑO DIGITAL

DISEÑO DIGITAL UNA PERSPECTIVA

AUTORES: Ramón Alcubilla Gonzales.

Joan Pons Nin.

Daniel Bardes.

“PAGINAS DE INTERNET”

http://www.ehowenespanol.com/contadores-sincronos-asincronos-info_472637/

http://www.forosdeelectronica.com/tutoriales/contadores-sincronos.htm

http://meteo.ieec.uned.es/www_Usumeteog/comp_sec_contadores_sincronos.html

http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_VHDL

http://es.wikipedia.org/wiki/VHDL

68