Tecnicas Digitales I Resumen UTN FRM

114
TÉCNICAS DIGITALES I Guido Otero Ingeniería Electrónica UTN FRM

description

resumen de asignatura técnicas digitales I, de la carrera de ingeniería electrónica. UTN FRMendoza.

Transcript of Tecnicas Digitales I Resumen UTN FRM

Page 1: Tecnicas Digitales I Resumen UTN FRM

TÉCNICAS DIGITALES I

Guido OteroIngeniería ElectrónicaUTN – FRM

Page 2: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

1.1.1 SISTEMAS DE NUMERACIÓN

Un sistema de numeración es un conjunto de símbolos y reglas de generación que permiten construir todos los números válidos. Estos, pueden clasificarse en dos grandes grupos: posicionales y no-posicionales:

En los sistemas no-posicionales los dígitos tienen el valor del símbolo utilizado, que no depende de la posición (columna) que ocupan en el número. Ejemplo: Numeración Egipcia.

En los sistemas de numeración ponderados o posicionales el valor de un dígito depende tanto del símbolo utilizado, como de la posición que ése símbolo ocupa en el número. Un sistema de numeración posicional de base b significa que disponemos de b símbolos diferentes para escribir los números, y que b unidades forman una unidad de orden superior.

Los sistemas digitales actúan bajo el control de variables discretas (variables que toman un número finito de valores). Por ser de fácil realización los componentes físicos con dos estados diferenciados, usualmente se trabaja con variables binarias.

Ventajas de la Implementación de Sistemas digitales con Base binaria: Velocidad – Costo – Confiabilidad.

Representación de los Números:

En un sistema de base b, un número N cualquiera se puede representar mediante un polinomio de potencias de la base, multiplicadas por un símbolo perteneciente al sistema. En general:

𝑵𝑵 = 𝒂𝒂𝒏𝒏.𝒃𝒃𝒏𝒏 + 𝒂𝒂𝒏𝒏−𝟏𝟏.𝒃𝒃𝒏𝒏−𝟏𝟏 + ⋯+ 𝒂𝒂𝟎𝟎.𝒃𝒃𝟎𝟎 + 𝒂𝒂−𝟏𝟏.𝒃𝒃−𝟏𝟏 + ⋯𝒂𝒂−𝒑𝒑.𝒃𝒃−𝒑𝒑 Siendo b la base del sistema, y 𝑎𝑎1 un número perteneciente al sistema, que cumple por lo tanto: 0 ≤ 𝑎𝑎1 < 𝑏𝑏: 𝒏𝒏 + 𝟏𝟏 y p representan respectivamente el número de dígitos enteros y fraccionarios Para identificar el sistema al que pertenece un número se suele indicar la base del mismo como subíndice. Sistema Binario:

El sistema binario utiliza sólo dos símbolos distintos (base 2), que se representan por 0 y 1. Estos reciben el nombre de bit. La utilización del mismo en sistemas electrónicos es debido a la rapidez de respuesta de elementos físicos que poseen dos estados diferenciados, y la sencillez de operaciones aritméticas las cuales compensan la necesidad de utilizar más símbolos para la representación.

La conversión de un número binario a decimal, se realiza representando el número mediante su polinomio equivalente y operando en base 10.

Si se divide un número entero expresado en una base 𝒃𝒃𝟏𝟏 > 𝒃𝒃𝟐𝟐 , y el cociente se vuelve a dividir por 𝒃𝒃𝟐𝟐 y así sucesivamente, el último cociente y los restos forman parte del número expresado en 𝒃𝒃𝟐𝟐

Sistema Binario

Sistema Decimal

0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9 1010 10 1011 11 1100 12 1101 13 1110 14 1111 15

Page 3: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Demostración:

Números Enteros: A partir de la igualdad: 𝑵𝑵𝒃𝒃𝟏𝟏 = 𝒂𝒂𝒏𝒏.𝒃𝒃𝟐𝟐𝒏𝒏 + 𝒂𝒂𝒏𝒏−𝟏𝟏.𝒃𝒃𝟐𝟐𝒏𝒏−𝟏𝟏 + ⋯+ 𝒂𝒂𝟎𝟎.𝒃𝒃𝟐𝟐

𝟎𝟎

Si dividimos ambos miembros de la ecuación por b2: 𝑵𝑵𝒃𝒃𝟏𝟏𝒃𝒃𝟐𝟐

= 𝒂𝒂𝒏𝒏.𝒃𝒃𝟐𝟐𝒏𝒏 + 𝒂𝒂𝒏𝒏−𝟏𝟏.𝒃𝒃𝟐𝟐𝒏𝒏−𝟏𝟏 + ⋯+ 𝒂𝒂𝟏𝟏 + 𝒂𝒂𝟎𝟎𝒃𝒃𝟐𝟐

El resto obtenido 𝒂𝒂𝟎𝟎 es igual al dígito menos significativo del número representado en base 𝒃𝒃𝟐𝟐 Si volvemos a repetir la división, el resto 𝑎𝑎1 que obtendremos representa el segundo dígito de N expresado en la base 𝑏𝑏2. Repitiendo el proceso se obtienen así todos los dígitos de 𝑵𝑵𝒃𝒃𝟐𝟐 siendo el último cociente el dígito más significativo.

Números Fraccionarios: Para la conversión de un número fraccionario en b1 a b2: 𝑵𝑵𝒃𝒃𝟏𝟏 = 𝒂𝒂−𝟏𝟏𝒃𝒃𝟐𝟐−𝟏𝟏 + 𝒂𝒂−𝟐𝟐𝒃𝒃𝟐𝟐−𝟐𝟐 + ⋯+ 𝒂𝒂−𝒏𝒏𝒃𝒃𝟐𝟐−𝒏𝒏 Debemos multiplicar ambos miembros de la igualdad por la base 𝑏𝑏2: 𝒃𝒃𝟐𝟐𝑵𝑵𝒃𝒃𝟏𝟏 = 𝒂𝒂−𝟏𝟏 + 𝒂𝒂−𝟐𝟐𝒃𝒃𝟐𝟐−𝟏𝟏 + ⋯+ 𝒂𝒂−𝒏𝒏𝒃𝒃𝟐𝟐−𝒏𝒏+𝟏𝟏

La parte entera obtenida 𝑎𝑎−1 representa la cifra más significativa del número N en la base 𝑏𝑏2. Si volvemos a multiplicar la parte fraccionaria, el nuevo cociente es la segunda cifra de 𝑁𝑁𝑏𝑏2. Repitiendo el proceso hasta que la parte fraccionaria sea nula se obtienen todas las cifras de 𝑵𝑵𝒃𝒃𝟐𝟐.

Sistema Octal:

Sistema de numeración de base ocho (8 símbolos: 0 al 7). Permite una conversión sencilla al sistema binario ya que 23 = 8.

Para convertir un número de base 8 a binario se convierte cada cifra en su equivalente binario

La conversión de un número binario al sistema de base ocho se realiza a la inversa, agrupando bits enteros y fraccionarios de grupos de a tres a partir de la coma decimal. Para completar el último grupo se agregan los ceros que fuesen necesarios

La conversión de un número en octal a decimal se realiza mediante el polinomio de numeración con las operaciones aritméticas de la base 10. Para el caso del pasaje de decimal a octal, hacemos división sucesiva del número por la nueva base, el último cociente y los restos conformarán el nuevo número expresado en base 8 (Tal cómo se hizo con el sistema binario).

Sistema Hexadecimal:

Sistema de numeración de base dieciséis (16 símbolos: 0-9 y A-F). El interés del sistema radica en la ágil conversión respecto del binario, ya que 16 es una potencia de 2: 24 = 16

Para la conversión de un número hexadecimal en binario, se sustituye cada símbolo por el equivalente en el nuevo sistema. Para el camino inverso, se agrupan los bits enteros y fraccionarios de a 4 a partir de la coma decimal y convirtiendo cada grupo de manera independiente. Para completar el último grupo se agregan tantos ceros como sean necesarios.

Page 4: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Page 5: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

1.1.2 CÓDIGOS

Código: Es una representación unívoca de cantidades y/o caracteres alfabéticos de forma tal que, a cada uno de ellos, se asigna una combinación de símbolos determinada y viceversa.

Códigos Binarios:

Los sistemas de numeración constituyen códigos de representación de cantidades. El sistema de numeración binario recibe el nombre de código natural binario (Presenta grandes ventajas en cuanto a agilidad en las operaciones aritméticas)

Con n cifras binarias o bits, se pueden obtener 2𝑛𝑛 combinaciones diferentes y cada una de ellas se puede asignar a una cantidad distinta.

Códigos Continuos: Un código es continuo cuando las combinaciones a números decimales consecutivos son adyacentes (difieren en un bit)

Códigos Cíclicos: Un código es cíclico si además de ser continuo, la última combinación es adyacente a la primera.

Códigos decimales codificados en Binario (BCD):

La información procesada por un sistema digital ha de convertirse para que pueda ser interpretada con facilidad, razón de la existencia de los códigos BCD. En estos, cada número decimal es codificado directamente en un código binario. Es necesario para ello utilizar 4 bits, lo que da un total de 16 combinaciones, de las cuales sólo se utilizan 10.

La conversión de un número decimal a BCD se realiza expresando cada dígito mediante la combinación correspondiente según el código que se trate.

Pueden Clasificarse en ponderados y no ponderados:

Códigos BCD ponderados: Son aquellos en los que cada posición o cifra binaria se le asigna un peso, y el número decimal equivalente a una combinación binaria se obtiene sumando los pesos de las posiciones que tienen el valor 1. Así, un número decimal N del 0 al 9 se representa por 𝑁𝑁 =∑ 𝑝𝑝𝑖𝑖𝑥𝑥𝑖𝑖𝑖𝑖=3𝑖𝑖=0

El único de los códigos BCD que se utiliza en la actualidad es el BCD natural, en el cual, los pesos de las posiciones coinciden con los del código binario natural (1,2,4,8).

El código BCD Aiken es un código Autocomplementario, la combinación correspondiente al complemento a 9 de N, (9-N), se obtiene invirtiendo la combinación correspondiente a N (Cambiando ceros por unos y viceversa).

Dicha propiedad hace que un sumador/restador en BCD Aiken se realice con un circuito electrónico más sencillo que en BCD natural. Hoy, la microelectrónica ha hecho que este tipo de sumadores no tenga ninguna ventaja en la práctica, por lo que se ha abandonado el uso de este código.

Dígito Decimal

BCD Natural

BCD Aiken

0 0000 0000 1 0001 0001 2 0010 0010 3 0011 0011 4 0100 0100 5 0101 1011 6 0110 1100 7 0111 1101 8 1000 1110 9 1001 1111

Dígito BCD

Page 6: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Códigos BCD no ponderados: Son aquellos en los que cada posición binaria no tiene asignada un peso. El más conocido es el BCD exceso tres. En este, cada número decimal N se codifica en el valor correspondiente a N+3 del BCD Natural. También es Autocomplementario, y ha caído en desuso como el BCD Aiken.

Ejemplo: Expresando 74810 en BCD

Código de Gray:

Este código cíclico es también conocido como reflejado. La denominación de reflejado es debido a que la formación de un código de n bits, se realiza partiendo del de n-1 bits, repitiendo simétricamente las combinaciones de este y añadiendo por la izquierda un nuevo bit 0 para las primeras 𝟐𝟐𝒏𝒏−𝟏𝟏 combinaciones y un bit 1 para las 𝟐𝟐𝒏𝒏−𝟏𝟏 restantes.

La ventaja de este código es la facilidad de conversión al código binario natural y viceversa mediante la función XOR.

Los códigos continuos se utilizan en aplicaciones en las que pueden que aparezcan combinaciones de bits erróneas.

Código de Johnson:

Código continuo y cíclico, progresivo. Su capacidad de codificación de n posiciones binarias es 2n cantidades diferentes. No se utiliza en sistemas digitales por implicar una mayor complejidad de los mismos.

La sencillez de los contadores cuyos estados codifican en código Johnson hace posible su utilización en la unidad de control de numerosos procesadores digitales. En la actualidad se utiliza para realizar contadores cuyo contenido es transferido, en cualquier instante a un procesador secuencial síncrono.

Decimal EXC3 0 0011 1 0100 2 0101 3 0110 4 0111 5 1000 6 1001 7 1010 8 1011 9 1100

BCD Natural 0111 0100 1000 BCD Aiken 1101 0100 1110 BCD EXC3 1010 0111 1011

Código de Gray Dígito

Decimal 2 Bits 3 Bits 4 Bits

0 00 000 0000 1 01 001 0001 2 11 011 0011 3 10 010 0010 4 110 0110 5 111 0111 6 101 0101 7 100 0100 8 1100 9 1101

10 1111 11 1110 12 1010 13 1011 14 1001 15 1000

Dígito Decimal

C. Johnson

0 00000 1 00001 2 00011 3 00111 4 01111 5 11111 6 11110 7 11100 8 11000 9 10000

Page 7: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Código ASCII:

En algunos sistemas es necesario representar información alfabética y además algunos símbolos especiales, lo que da lugar a la existencia de códigos Alfanuméricos. Se ha definido como código internacional el ASCII (American Standard Code for Information Exchange).

Para representar los 26 caracteres y 10 números son necesarios 6bits (25 < 36 < 26), de modo tal que se dispone de 28 combinaciones restantes para poder representar símbolos especiales.

Los números del 0 al 9 se representan en BCD natural del 0 al 9. También, en algunos sistemas es necesario codificar mediante combinaciones binarias algunas operaciones de control para periféricos como impresoras, etc, para ello se añade un séptimo bit que da lugar al código ASCII completo

Page 8: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Códigos Detectores de Error:

En la transmisión de información numérica, es posible que se introduzcan errores por presencia de ruido o por fallas en los componentes, la detección del error sólo será posible en aquellos códigos en donde no se utilicen todas las combinaciones posibles del mismo. Ya que una combinación del código se transformará en otra que pertenece a él.

Sin embargo, como condición necesaria y suficiente para que un código binario permita detectar errores la distancia mínima del mismo debe ser superior a la unidad.

Distancia Mínima: La distancia entre dos combinaciones binarias viene dada por el número de bits que se deben modificar en una de ellas para obtener la otra, en un código binario, la distancia mínima es la menor de las distancias entre dos combinaciones cualesquiera del código.

Podemos encontrar códigos detectores de error de peso constante (Entendiendo por peso el número de unos lógicos de una combinación binaria), y códigos de paridad constante.

Códigos de Peso constante: La detección de errores en códigos de peso constante puede realizarse mediante un circuito de detección de paridad

• En el código “2 entre 5” cada combinación binaria posee solamente 2 unos lógicos. Además, la distancia mínima del código es 2.

• El código biquinario es un código ponderado de 7 bits, cuya distancia mínima también es 2. Este ha sido utilizado directamente en operaciones aritméticas.

Códigos de Paridad Constante:

Las ventajas de los códigos de paridad constante hacen que los de peso constante hayan caído en desuso.

Los códigos de paridad constante se obtienen añadiendo a las combinaciones de los códigos de distancia unidad un bit llamado de paridad. Si el código que se desea obtener es de paridad par, dicho bit debe ser tal que la cantidad de unos en cada combinación del nuevo código sea par. Caso contrario, si se busca paridad impar este nuevo bit debe tomar el valor tal que la cantidad de unos en cada combinación del nuevo código sea impar.

La detección de errores en estos códigos consiste en verificar si el número de unos de cada combinación es par o impar (Códigos de paridad par u impar)

Dígito Decimal

C. 2 entre 5

0 01100 1 11000 2 10100 3 10010 4 01010 5 00110 6 10001 7 01001 8 00101 9 00011

Dígito Decimal

C. Biquinario 5 0 4 3 2 1 0

0 0 1 0 0 0 0 1 1 0 1 0 0 0 1 0 2 0 1 0 0 1 0 0 3 0 1 0 1 0 0 0 4 0 1 1 0 0 0 0 5 1 0 0 0 0 0 1 6 1 0 0 0 0 1 0 7 1 0 0 0 1 0 0 8 1 0 0 1 0 0 0 9 1 0 1 0 0 0 0

Dígito Decimal

BCD Natural Bit de Paridad Impar

0 0000 1 1 0001 0 2 0010 0 3 0011 1 4 0100 0 5 0101 1 6 0110 1 7 0111 0 8 1000 0 9 1001 1

Page 9: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Los códigos de peso constante como los de paridad constante, son de distancia mínima dos, por lo tanto permiten la detección de errores en un bit. Para poder detectar errores de más de un bit, es necesaria la utilización de un código de distancia mínima superior a dos. El número de bits que se puede detectar, es igual a número en que la distancia mínima es superior a la unidad.

Diagrama de Bloques de un Sistema de Comunicación digital con Detección de Errores

Códigos Correctores de Error:

Estos códigos no solo detectan el error, sino que también nos proporcionan información de cuál o cuáles son las cifras binarias erróneas. Y, por consiguiente, su corrección mediante la inversión del bit correspondiente. Estos códigos son de gran utilidad en sistemas de transmisión en donde no se puede solicitar nuevamente la información al emisor, como es el caso en los sistemas de tiempo real.

Los códigos de distancia mínima 2, no permiten corrección, ya que al producirse el error la combinación obtenida posee como mínimo dos combinaciones adyacentes pertenecientes al código y no es posible discernir que bit es erróneo.

Para poder corregir errores la distancia mínima del código debe ser superior a 2. La distancia mínima de un código para que permita corregir errores de n bits ha de ser: 𝒅𝒅𝒎𝒎 = 𝟐𝟐𝒏𝒏 + 𝟏𝟏

Page 10: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Código de Hamming:

Los códigos de Hamming adicionan a un código de distancia unidad de n bits, p bits. Obteniendo, de manera tal un nuevo código de 𝑛𝑛 + 𝑝𝑝 bits. En este, se realizan 𝑝𝑝 detecciones de paridad en los bits seleccionados, obteniendo un bit de paridad (1 u 0) según el número de bits.

El conjunto de los 𝑝𝑝 bits de paridad forma un número en binario natural cuyo equivalente decimal nos indica la posición del bit erróneo, si hay ausencia de error tal número es cero.

El número 𝑝𝑝 de bits añadidos debe ser suficiente para permitir la detección y la ausencia de error de las 𝑛𝑛 +𝑝𝑝 posiciones. Dado que con 𝑝𝑝 bits, se obienen 2𝑝𝑝 combinaciones, se debe cumplir la relación:

𝟐𝟐𝒑𝒑 ≥ 𝒏𝒏 + 𝒑𝒑 + 𝟏𝟏

Ejemplo: Código Hamming obtenido a partir del Cód decimal codificado en BCD Natural:

Para representar los dígitos del 0 al 9, necesitamos 𝑛𝑛 = 4 bits, por consiguiente, cumpliendo con la relación para la detección y corrección de errores: 𝑝𝑝 = 3 → 23 = 4 + 3 + 1

Por consiguiente, necesitamos ocho combinaciones binarias que obtenemos mediante los bits 𝑐𝑐1, 𝑐𝑐2 𝑦𝑦 𝑐𝑐3 denominados correctores de error y el número decimal equivalente. A partir de la tabla del binario natural:

Generamos cada uno de los bits de la combinación correctora de errores:

El bit 𝑐𝑐1 tomará el valor uno si se produce algún error en las combinaciones 𝑏𝑏1,𝑏𝑏3,𝑏𝑏5 𝑦𝑦 𝑏𝑏7. Si el número de unos existentes en estas combinaciones es siempre par, un error cualquiera en estos cuatro bits convierte al código en impar.

Para lograr las condiciones se han de generar adecuadamente los 3 bits que se añaden a los cuatro de la combinación BCD. Dado que 𝑏𝑏1,𝑏𝑏2 𝑦𝑦 𝑏𝑏4 sólo aparecen en una expresión cada uno se los elige como bits añadidos, y los bits originales del binario natural serán 𝑏𝑏3,𝑏𝑏5,𝑏𝑏6 𝑦𝑦 𝑏𝑏7.

Evaluando, dichas expresiones, ya que 𝑐𝑐1, 𝑐𝑐2 𝑦𝑦 𝑐𝑐3 serán cero si no se producen errores en la transmisión, obtenemos el siguiente código de Hamming:

Dígito Decimal

Bit Erróneo 𝑐𝑐3 𝑐𝑐2 𝑐𝑐1

0 0 0 0 Ninguno 1 0 0 1 𝑏𝑏1 2 0 1 0 𝑏𝑏2 3 0 1 1 𝑏𝑏3 4 1 0 0 𝑏𝑏4 5 1 0 1 𝑏𝑏5 6 1 1 0 𝑏𝑏6 7 1 1 1 𝑏𝑏7

Dígito Decimal

Código de Hamming 𝑏𝑏7 𝑏𝑏6 𝑏𝑏5 𝑏𝑏4 𝑏𝑏3 𝑏𝑏2 𝑏𝑏1

0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 2 0 0 1 1 0 0 1 3 0 0 1 1 1 1 0 4 0 1 0 1 0 1 0 5 0 1 0 1 1 0 1 6 0 1 1 0 0 1 1 7 0 1 1 0 1 0 0 8 1 0 0 1 0 1 1 9 1 0 0 1 1 0 0

Page 11: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Cubos n:

Una cadena de n bits, puede visualizarse geométricamente como un vértice de un objeto llamado cubo n. Este cubo tiene 2𝑛𝑛 vértices, cada uno de los cuales se encuentra etiquetado con una cadena de n bits. Los bordes, se dibujan de manera de que cada vértice sea adyacente a otros n vértices cuyas etiquetas difieren del vértice dado en sólo un bit.

Para valores razonables (𝒏𝒏 ≤ 𝟒𝟒), los cubos n hacen fácil la visualización de ciertos problemas de codificación y minimización lógica.

El diseño de un código de Gray de n bits consiste en encontrar la trayectoria a lo largo de los bordes de un cubo n, trayectoria que visita cada vértice sólo una vez.

Los cubos n también proporcionan una interpretación geométrica para el concepto de distancia, o distancia de Hamming. La distancia entre dos cadenas de n bits es el número de posiciones en las cuales difieren dichas cadenas. Visto en un cubo n, la distancia es la mínima longitud entre dos vértices (Dos vértices adyacentes tienen distancia igual a uno). En un cubo n, la distancia mínima es el menor camino posible para llegar desde un vértice perteneciente al código a otro de la misma condición.

Un subcubo 𝑚𝑚 de un cubo 𝑛𝑛, es un conjunto de 2𝑚𝑚 vértices en el cual 𝑛𝑛 −𝑚𝑚 de los bits tienen el mismo valor

en cada vértice y los m bits restantes se hacen cargo de todas las combinaciones restantes.

Códigos detectores de error vistos mediante cubos n: Detección y Corrección de Errores Múltiples:

• Un código corrector de errores, si tiene una distancia mínima de 2𝑐𝑐 + 1, puede utilizarse para corregir errores que afecten hasta 𝑐𝑐 bits.

• Si la distancia mínima de un código es 2𝑐𝑐 + 𝑑𝑑 + 1, puede emplearse para corregir errores en hasta 𝑐𝑐 bits, y detectar errores de hasta 𝑑𝑑 bits adicionales.

Page 12: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Códigos Bidimensionales:

Una manara de obtener un código que maximice la distancia mínima, es construir un código bidimensional. Los bits de información se acomodan conceptualmente en un arreglo bidimensional y se proporcionan bits de paridad para verificar tanto filas como columnas.

Un código 𝐶𝐶𝑓𝑓𝑖𝑖𝑓𝑓𝑓𝑓 con distancia mínima 𝑑𝑑𝑓𝑓𝑖𝑖𝑓𝑓𝑓𝑓 se utiliza para las filas, y probablemente un código distinto 𝐶𝐶𝐶𝐶𝐶𝐶𝑓𝑓𝐶𝐶𝑚𝑚𝑛𝑛𝑓𝑓 con 𝑑𝑑𝑐𝑐𝐶𝐶𝑓𝑓𝐶𝐶𝑚𝑚𝑛𝑛𝑓𝑓 para las columnas. Los bits de paridad de la “esquina” pueden seleccionarse de acuerdo a cualquier código.

La distancia mínima de un código bidimensional es el producto 𝒅𝒅𝒇𝒇𝒇𝒇𝒇𝒇𝒂𝒂𝒇𝒇 ∗ 𝒅𝒅𝒄𝒄𝒄𝒄𝒇𝒇𝒄𝒄𝒎𝒎𝒏𝒏𝒂𝒂𝒇𝒇

El código bidimensional más simple utiliza códigos de paridad par de 1 bit para las filas y columnas, y tiene una distancia mínima de 2 ∗ 2 = 4 (Cualquier patrón de 1, 2 o 3 bits en las filas, columnas o ambos causa paridad incorrecta), para que el error no sea detectable tienen que haber 4 o más bits erróneos.

Los procedimientos de detección y corrección para este código son directos. A medida que leemos cada fila, la verificamos. Si se detecta un error no podemos decir cuál es el bit erróneo

únicamente. Sin embargo, podemos reconstruirlo formando el XOR bit a bit de las columnas, omitiendo el renglón malo, pero incluyendo el renglón de verificación de la columna.

Para obtener una distancia aún más grande, pueden aplicarse Códigos de Hamming de distancia 3 o 4, o bien construir un código de más dimensiones.

Una aplicación interesante de los códigos bidimensionales se encuentra en los sistemas de almacenamiento RAID (Arreglo Redundante de Discos lógicos), en este se utilizan 𝑛𝑛 + 1 unidades de disco idénticas para almacenar datos en 𝑛𝑛 discos, y el disco restante contiene los bloques de verificación de la información.

Códigos de Redundancia Cíclica (CRC):

Los bloques de datos ingresados en estos sistemas contienen un valor de verificación adjunto, basado en el residuo de una división de polinomios; el cálculo es repetido, y la acción de corrección puede tomarse en contra de los datos presuntamente corruptos en caso de que el valor de verificación no concuerde; por lo tanto se puede afirmar que este código es un tipo de función que recibe un flujo de datos de cualquier longitud como entrada y devuelve un valor de longitud fija como salida. El término suele ser usado para designar tanto a la función como a su resultado. Pueden ser usadas como suma de verificación para detectar la alteración de datos durante su transmisión o almacenamiento.

El CRC es un código de detección de error cuyo cálculo es una larga división de computación en el que se descarta el cociente y el resto se convierte en el resultado, con la importante diferencia de que la aritmética que usamos conforma que el cálculo utilizado es el arrastre de un campo, en este caso los bits. El tamaño del resto es siempre menor

Page 13: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

que la longitud del divisor, que, por lo tanto, determina el tamaño del resultado. La definición de un CRC especifica el divisor que se utilizará, entre otras cosas.

Los bits representados de entrada son alineados en una fila, y el (n + 1) representa el patrón de bits del divisor CRC (llamado polinomio) se coloca debajo de la parte izquierda del final de la fila. Aquí está la primera de ellas para el cálculo de 3 bits de CRC:

Si la entrada que está por encima del extremo izquierdo del divisor es 0, no se hace nada y se pasa el divisor a la derecha de uno en uno. Si la entrada que está por encima de la izquierda del divisor es 1, el divisor es Or exclusiva en la entrada (en otras palabras, por encima de la entrada de cada bit el primer bit conmuta con el divisor). El divisor es entonces desplazado hacia la derecha, y el proceso se repite hasta que el divisor llega a la derecha, en la parte final de la fila de entrada. Aquí está el último cálculo:

Desde la izquierda se divide por cero todos los bits de entrada, cuando este proceso termina el único bits en la fila de entrada que puede ser distinto de cero es n bits más a la derecha, en la parte final de la fila. Estos n bits son el

resto de la división, y será también el valor de la función CRC (es el CRC escogido a menos que la especificación de algún proceso posterior lo cambie).

Page 14: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

1.3 UNIDAD ARITMÉTICA

Suma y Resta de Números no Decimales:

La suma y resta de números no decimales utiliza el mismo método manual que el aprendido en la escuela primaria para números decimales, sólo que las tablas de suma y resta son diferentes.

Para sumar dos dígitos binarios X e Y, sumamos juntos los bits menos significativos con un acarreo inicial igual a cero, y de esta manera producimos un bit de suma (𝑠𝑠) y un nuevo bit de acarreo (𝑐𝑐𝑠𝑠𝑠𝑠𝑠𝑠). Un acarreo siempre se produce cuando el resultado es mayor a la base del sistema. De este modo, continuamos realizando la operación de derecha a izquierda sumando el acarreo producido en la columna siguiente.

La resta binaria se realiza de modo similar, empleando préstamos (𝑏𝑏𝑒𝑒𝑒𝑒𝑒𝑒 𝑦𝑦 𝑏𝑏𝑠𝑠𝑠𝑠𝑠𝑠) en lugar de acarreos entre pasos, y produciendo un bit de diferencia (𝑑𝑑). Como en la resta decimal, los valores del minuendo binario en las columnas se modifican cuando se presenta el préstamo.

Las tablas de suma y resta pueden desarrollarse también para dígitos octales, hexadecimales o cualquier otra base deseada. Sin embargo, implicaría tener que memorizar las tablas para dichos sistemas, por consiguiente lo que se hace es realizar la conversión a decimal, operar algebraicamente y luego reconvertir el número.

Un uso común de la resta binaria en las técnicas digitales es la comparación de dos números, Si 𝑿𝑿 − 𝒀𝒀 produce un préstamo (o transporte negativo) que procede del bit más significativo, entonces 𝑿𝑿 > 𝒀𝒀. Caso contrario, 𝑿𝑿 ≤ 𝒀𝒀

Representación de Números Negativos:

Para la representación de números negativos se utilizan dos convenios:

Representación de Magnitud con Signo: En este convenio el número además de su magnitud contiene un símbolo que indica si es positivo o negativo +𝟏𝟏𝟏𝟏𝟏𝟏𝟏𝟏 ó− 𝟏𝟏𝟏𝟏𝟏𝟏𝟏𝟏. También se aplica a los números binarios haciendo uso de una posición extra para representar el signo (bit de signo), por lo general este es el bit más significativo (MSB). En una cadena de bits, este tomará 0 si el número a representar es positivo, y 1 si es negativo, el resto de los bits de la cadena contienen la magnitud del número. Como desventaja este sistema de representación, necesita de circuitería más compleja debido a las verificaciones de magnitud y signo que deben hacerse para realizar las operaciones aritméticas. Por consiguiente, se utilizan los sistemas numéricos de complemento

Sistemas Numéricos de Complemento: Un sistema numérico de complemento convierte a negativo el número tomando su complemento definido por el propio sistema. La ventaja del convenio radica en que dos números de complemento pueden sumarse o restarse directamente sin realizar verificaciones de magnitud y signo.

Page 15: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Representación de Complemento a la Base:

En un sistema de complemento a la base, el complemento de un número de 𝑛𝑛 dígitos se obtiene al restarlo de 𝑏𝑏𝑒𝑒.

Si D=0, el resultado de la resta es 𝑏𝑏𝑒𝑒. En donde hay 𝑛𝑛 + 1 dígitos, descartando el dígito extra de mayor orden obtenemos cero. Por consiguiente, sólo existe una representación de cero en un sistema de complemento a la base.

Podemos redefinir el complemento de un dígito como 𝒃𝒃 − 𝟏𝟏 − 𝒅𝒅, de modo que el complemento a la base de un número 𝑫𝑫 puede obtenerse complementando individualmente los dígitos y sumar 1.

Representación de Complemento a dos:

En los números binarios, el complemento a la base se conoce como complemento a dos. El MSB de un número en este sistema sirve como bit de signo: un número es negativo sí y sólo sí su MSB es 1.

Si un acarreo fuera del MSB ocurre, como en todas las operaciones de complemento a dos este bit se ignora y solamente se utilizan los 𝑛𝑛 bits de menor orden del resultado

Representación de Complemento a la Base Reducida:

En un sistema de Complemento a la base Reducida, el complemento de un número de 𝑛𝑛 bits se obtiene al restarlo de 𝑏𝑏𝑒𝑒 − 1. Lo que es equivalente a complementar individualmente los dígitos del número D.

𝑪𝑪𝑫𝑫𝒃𝒃−𝟏𝟏 = 𝒃𝒃𝒏𝒏 − 𝟏𝟏 − 𝑫𝑫

En representación decimal, esta representación se denomina complemento a 9

Representación de Complemento a uno:

En los números binarios, el complemento a la base reducida se conoce como complemento a uno. Tal como en el complemento a dos, el bit más significativo es el de signo (0 si el número es positivo, 1 si es negativo). Hay dos representaciones de Cero, cero positivo (00…00) y cero negativo (11…11).

Las representaciones para los números positivos son iguales que en el complemento a dos. Sin embargo, las representaciones de números negativos difieren por uno.

Como ventaja, este sistema de representación presenta facilidad a la hora de la complementación. Pero cuenta con el problema de que el diseño de circuitos es más complejo que en complemento a 2 y deben ser capaces de verificar ambas representaciones del cero o convertir su signo.

Page 16: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Representaciones en Exceso:

La representación en exceso B de una cadena de 𝑚𝑚 bits, cuyo valor sin signo es 𝑀𝑀, representa el entero con signo 𝑴𝑴−𝑩𝑩. B es lo que se conoce como tendencia del sistema. El uso común de las representaciones en exceso se encuentra en los sistemas numéricos de punto flotante

B no tiene un valor estandarizado, pero suele tomarse como 2𝑒𝑒−1 (que coincide con el complemento a dos con el MSB negado y cuyo rango es de −2𝑒𝑒−1 𝑎𝑎 2𝑒𝑒−1 − 1 ), o como 2𝑒𝑒−1 − 1 en el caso de la norma IEEE-754

SUMA Y RESTA BINARIA:

Complemento a 2:

Reglas de la Suma

Debido a que la suma ordinaria es una extensión del conteo, los números en complemento a 2 pueden sumarse mediante la suma binaria ordinaria, ignorando cualquier acarreo más allá del MSB. Ya que si contamos de forma ascendente todo número puede obtenerse mediante la suma a 1 del anterior ignorando cualquier acarreo más allá del MSB.

El resultado siempre será la suma correcta siempre y cuando no se exceda el intervalo del sistema numérico.

Desbordamiento:

Si una suma produce un resultado que excede el intervalo del sistema numérico, se dice que ocurre un desbordamiento. La suma de dos números con signo diferente nunca puede producir desbordamiento, mientras que la de dos con igual signo sí.

Existe una regla para detectar el desbordamiento en una suma: “La suma provoca desbordamiento si los signos de los sumandos son iguales y el signo de la suma es diferente”. En términos de acarreos: “La suma provoca desbordamiento si los bits de acarreo de entrada y salida de la posición del signo (MSB) son diferentes”

Operaciones con números negativos mediante complemento a 2:

Por medio del complemento a dos, la resta binaria se reduce a una suma. Analicemos la operación aritmética (𝑎𝑎 −𝑏𝑏), ambos de 𝑛𝑛 bits (𝑛𝑛 − 1 𝑑𝑑𝑑𝑑 𝑖𝑖𝑛𝑛𝑖𝑖𝑖𝑖𝑖𝑖𝑚𝑚𝑎𝑎𝑐𝑐𝑖𝑖ó𝑛𝑛 𝑦𝑦 1 𝑑𝑑𝑑𝑑 𝑠𝑠𝑖𝑖𝑠𝑠𝑛𝑛𝑖𝑖). Pueden presentarse los siguientes casos:

• 𝒂𝒂 y 𝒃𝒃 POSITIVOS: Representando −𝑏𝑏 mediante su complemento a 2𝑒𝑒: (𝒂𝒂 − 𝒃𝒃) ≡ 𝒂𝒂 + (𝟐𝟐𝒏𝒏 − 𝒃𝒃) = 𝟐𝟐𝒏𝒏 + (𝒂𝒂 − 𝒃𝒃)

Si 𝑎𝑎 > 𝑏𝑏 se producirá un acarreo que por ser complemento a 2 no es tenido en cuenta, y el número quedará expresado en forma directa:

Si 𝑎𝑎 < 𝑏𝑏, no se producirá acarreo y el resultado vendrá expresado en complemento a 2:

(𝑎𝑎 − 𝑏𝑏) ≡ 𝑎𝑎 + (2𝑒𝑒 − 𝑏𝑏) = 𝟐𝟐𝒏𝒏 − (𝒃𝒃 − 𝒂𝒂)

Page 17: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

• 𝒂𝒂 y 𝒃𝒃 NEGATIVOS:

Haciendo la diferencia entre −𝑎𝑎 y −𝑏𝑏 obtenemos: (−𝒂𝒂) − (−𝒃𝒃) = (2𝑒𝑒 − 𝑎𝑎) − (2𝑒𝑒 − 𝑏𝑏)

= (2𝑒𝑒 − 𝑎𝑎) + [2𝑒𝑒 − (2𝑒𝑒 − 𝑏𝑏)] = 2𝑒𝑒 − 𝑎𝑎 + 2𝑒𝑒 − 2𝑒𝑒 + 𝑏𝑏

= 𝟐𝟐𝒏𝒏 − (𝒂𝒂 − 𝒃𝒃)

Si el resultado es positivo, se produce un acarreo que no es tenido en cuenta. Y el número se encuentra expresado de manera directa

Si el resultado es negativo, queda expresado mediante su complemento a 2.

• 𝒂𝒂 POSITIVO y 𝒃𝒃 NEGATIVO: La diferencia 𝑎𝑎 − (−𝑏𝑏) da como resultado un número positivo y no se produce acarreo:

𝑎𝑎 − (−𝑏𝑏) = 𝑎𝑎 − [2𝑒𝑒 − (2𝑒𝑒 − 𝑏𝑏)] = 𝑎𝑎 + 𝑏𝑏

• 𝒂𝒂 NEGATIVO y 𝒃𝒃 POSITIVO:

(𝑎𝑎 − 𝑏𝑏) = (2𝑒𝑒 − 𝑎𝑎) + (2𝑒𝑒 − 𝑏𝑏) = 2𝑒𝑒 + [2𝑒𝑒 − (𝑎𝑎 + 𝑏𝑏)] La diferencia (−𝑎𝑎) − 𝑏𝑏 , dará como resultado un número negativo que queda representado mediante su complemento a 2𝑒𝑒. Además, se produce un acarreo que no es tenido en cuenta.

Conclusiones de la Resta en C2:

• Si el resultado es positivo, el Acarreo no es tenido en cuenta • Si el resultado es negativo, vendrá expresado en complemento a 2, si hay acarreo se desprecia.

Page 18: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Complemento a 1:

Observando una tabla de números expresados en 𝐶𝐶1 vemos que si contamos de forma ascendente vemos que la obtención de los números sucesivos es equivalente a ir sumando 1, salvo en la transición de 11112 (0 negativo) a 00012 (1 positivo), para mantener el conteo apropiado debemos agregar 2 en vez de uno donde rebase.

La técnica para sumar números en complemento a 1 consiste en efectuar la suma binaria estándar, si hay un acarreo de salida de la posición del signo, agregar 1 al resultado. Regla conocida como Acarreo de redondeo final

Operaciones con números negativos mediante complemento a 1:

Por medio del complemento a uno, la resta binaria, también se reduce a una suma. Analicemos la operación aritmética (𝑎𝑎 − 𝑏𝑏), ambos de 𝑛𝑛 bits (𝑛𝑛 − 1 𝑑𝑑𝑑𝑑 𝑖𝑖𝑛𝑛𝑖𝑖𝑖𝑖𝑖𝑖𝑚𝑚𝑎𝑎𝑐𝑐𝑖𝑖ó𝑛𝑛 𝑦𝑦 1 𝑑𝑑𝑑𝑑 𝑠𝑠𝑖𝑖𝑠𝑠𝑛𝑛𝑖𝑖). Pueden presentarse los siguientes casos:

• 𝒂𝒂 y 𝒃𝒃 POSITIVOS:

Representando 𝑏𝑏 mediante su complemento a 1, es decir, (2𝑒𝑒 − 1):

(𝑎𝑎 − 𝑏𝑏) = 𝑎𝑎 + (2𝑒𝑒 − 1 − 𝑏𝑏)

Si 𝑎𝑎 > 𝑏𝑏 , el resultado será positivo y además se producirá un acarreo. Como el resultado es igual a las diferencia menos la unidad, se corrige sumando el acarreo obtenido.

(𝑎𝑎 − 𝑏𝑏) = 2𝑒𝑒 + (𝑎𝑎 − 𝑏𝑏 − 1)

Si 𝑎𝑎 < 𝑏𝑏, el resultado será negativo y queda expresado en complemento a 1

(𝑎𝑎 − 𝑏𝑏) ≡ 𝑎𝑎 + (2𝑒𝑒 − 𝑏𝑏 − 1) = 𝟐𝟐𝒏𝒏 − (𝒃𝒃 − 𝒂𝒂) − 𝟏𝟏

• 𝒂𝒂 y 𝒃𝒃 NEGATIVOS:

(𝑎𝑎 − 𝑏𝑏) = (−𝑎𝑎) − (−𝑏𝑏) = (2𝑒𝑒 − 1 − 𝑎𝑎) − (2𝑒𝑒 − 1 − 𝑏𝑏) = (2𝑒𝑒 − 1 − 𝑎𝑎) + [2𝑒𝑒 − 1 − (2𝑒𝑒 − 1 − 𝑏𝑏)] = 2𝑒𝑒 − 1 − 𝑎𝑎 + 2𝑒𝑒 − 1 − 2𝑒𝑒 + 1 + 𝑏𝑏

= 𝟐𝟐𝒏𝒏 − 𝟏𝟏 − (𝒂𝒂 − 𝒃𝒃)

Si el resultado es positivo se produce un acarreo que debe ser sumando al LSB

Si el resultado es negativo, este queda correctamente expresado en C1

Page 19: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

• 𝒂𝒂 POSITIVO y b NEGATIVO: (𝑎𝑎 − 𝑏𝑏) = 𝑎𝑎 − (−𝑏𝑏) = 𝑎𝑎 − (2𝑒𝑒 − 1 − 𝑏𝑏) = 𝑎𝑎 + [2𝑒𝑒 − 1 − (2𝑒𝑒 − 1 − 𝑏𝑏)] = 𝒂𝒂 + 𝒃𝒃

La diferencia da como resultado un número positivo y no se produce acarreo

• 𝒂𝒂 NEGATIVO y b POSITIVO: (𝑎𝑎 − 𝑏𝑏) = (−𝑎𝑎) − 𝑏𝑏

= (2𝑒𝑒 − 1 − 𝑎𝑎) + (2𝑒𝑒 − 1 − 𝑏𝑏)= 2𝑒𝑒 + 2𝑒𝑒 − 2 − (𝑎𝑎 + 𝑏𝑏)

La diferencia −𝑎𝑎 − 𝑏𝑏 da como resultado un número negativo al cual hay que sumarle el acarreo para que quede correctamente expresado en el convenio del C1

Multiplicación Binaria:

La multiplicación de dos números binarios de un bit 𝑎𝑎0 y 𝑏𝑏0, coincide con la tabla de verdad de la función producto lógico (Bolilla 1.4). Matemáticamente: 𝑃𝑃 = 𝑎𝑎0. 𝑏𝑏0

El algoritmo de la multiplicación en el sistema binario natural coincide con el del sistema decimal: Se multiplica el multiplicando por el bit menos significativo del multiplicador. Al resultado obtenido, se le suma aritméticamente el producto del segundo bit del multiplicador desplazado, y así sucesivamente.

En los sistemas digitales es más conveniente ir realizando sumas parciales de los multiplicandos trasladados como si fuese un producto parcial:

Conclusiones Resta en C1: • Si el resultado es positivo, y se produce un acarreo, este debe sumarse • Si el resultado es negativo, y no se produce acarreo, esta expresado correctamente en C1 • Si el resultado es negativo, y se produce acarreo (A- y B+), el acarreo debe sumarse

Page 20: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Cuando multiplicamos un número de 𝑛𝑛 bits por un número de 𝑚𝑚, se necesitan como máximo 𝑛𝑛 +𝑚𝑚 bits para representar el resultado.

Este algoritmo requiere de 𝑚𝑚 productos y sumas parciales, sin embargo la primera suma es trivial por tratarse del primer producto parcial todos ceros. Luego de cada paso de suma, el producto parcial gana un bit más

significativo, ya que cada suma parcial puede producir un acarreo.

La multiplicación de números con signo puede realizarse aplicando la multiplicación sin signo y la convención de signos tradicionales.

División Binaria:

El algoritmo de división binaria se basa en el método del desplazamiento y resta, el cual es coincidente con el método de división para el sistema decimal. Se va comparando el dividendo con múltiplos del divisor, aunque para el caso binario esto resulta sencillo ya que las combinaciones posibles son sólo 0 y 1.

El dividendo será de 𝑛𝑛 + 𝑚𝑚 bits, mientras que el divisor será de 𝑛𝑛. Dando como resultado un cociente de 𝑚𝑚 bits, y un resto de 𝑛𝑛. El desbordamiento de la división se producirá cuando el divisor sea cero, o el cociente necesita más de m bits para expresarse.

La división de números con signo puede llevarse a cabo mediante la división sin signo y utilizando el convenio de signos conocido.

Page 21: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Operaciones en BCD:

Suma en BCD: La suma de códigos BCD en binario natural se realiza sumando bit a bit cada dígito codificado. Si el resultado de cada posición del código está comprendido entre 0 y 9, el mismo se encuentra correctamente expresado. Caso contrario, se debe efectuar corrección. La misma consiste en sumar 6 (0110) al resultado y el acarreo al dígito siguiente.

Resta en BCD: La resta en el sistema decimal, puede realizarse como en binario sumando el complemento a la base (10𝑒𝑒) ó el complemento a la base disminuida (𝟏𝟏𝟏𝟏𝒏𝒏 − 𝟏𝟏) , complemento a 9, del sustraendo.

En las restas BCD, se utiliza el complemento a 9 ya que reduce la complejidad y circuitería del sistema.

(𝒂𝒂 − 𝒃𝒃) = 𝒂𝒂 + (𝟏𝟏𝟏𝟏𝒏𝒏 − 𝟏𝟏 − 𝒃𝒃) = 𝟏𝟏𝟏𝟏𝒏𝒏 + (𝒂𝒂 − 𝒃𝒃 − 𝟏𝟏)

De la expresión de la resta, podemos concluir que:

• Si el resultado es positivo, se produce un acarreo que debe ser sumado al resultado para expresar el mismo correctamente.

• Si el resultado es negativo, no se produce acarreo, y el número obtenido queda expresado en el convenio del complemento a 9.

Representación de Números Fraccionarios:

Representación de Números en Coma Fija:

En esta forma de representación, se asigna un lugar fijo a la coma (una vez elegida su posición, no se modifica). La ventaja de este método de representación es que las operaciones aritméticas son iguales a las estudiadas para los números enteros.

El inconveniente radica en que al dejar la coma fija, no aprovechamos las máximas capacidades de representación ni la de los operadores aritméticos.

Page 22: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Representación de Números en Coma Flotante:

Con este convenio de representación evitamos los inconvenientes de la coma fija, pero los algoritmos de operaciones aritméticas se vuelven más complejos.

La representación de un número en coma flotante de un sistema de base 𝐵𝐵 se realiza mediante una mantisa 𝑚𝑚 y un exponente 𝑑𝑑, tal que: 𝒏𝒏 = 𝒎𝒎.𝑩𝑩𝒆𝒆

Pueden optarse por dos criterios de representación: • Situación de la coma antes de la cifra más significativa distinta de cero: 0,225. 𝑥𝑥105 ; 0,11𝑥𝑥20010 • Situación de la coma después de la cifra más significativa distinta de cero: 2,25𝑥𝑥104 ; 1,1𝑥𝑥20001

Se deduce que el paso de una forma de representación a la otra se realiza desplazando la coma tantos lugares como

sea necesario hacía la izquierda o la derecha, y aumentando el exponente en tantas unidades como desplazamientos se hayan realizado.

Para representar la mantisa, puede utilizarse cualquiera de los convenios de representación numéricos vistos: • Bit de Signo y Valor Absoluto • Bit de Signo y Complemento a 1 • Bit de Signo y Complemento a 2.

Para escoger el exponente correcto, hay que recordar que para la suma en coma flotante, es necesario comparar los exponentes, e incrementar el menor en tantas unidades como se diferencia del mayor.

Para comparar los exponentes, es conveniente que los números negativos se representen mediante combinaciones binarias menores que las de los números positivos. Lo que se consigue asignando el valor 1 al bit de signo de los exponentes positivos y representando los exponentes negativos mediante el complemento a 2 de su correspondiente positivo.

Norma IEEE 745:

Este formato de representación en punto flotante estandarizado, tiene 3 versiones de 32,64 y 128 bits.

En él, la mantisa es un número representado en valor absoluto cuyo bit de signo es cero si el número es positivo y uno si es negativo. Se escoge el valor absoluto en vez del C2 ya que así se simplifica la multiplicación y división. Además, la mantisa se encuentra normalizada de modo que la coma siempre queda a la derecha de la cifra distinta de cero más significativa. Dado que esta cifra es un uno, no es necesario incluirla en el campo de la mantisa, que, por lo tanto contiene los 23 bits que se encuentran a la derecha de la coma.

El exponente (8 bits) es un número representado en binario natural desplazado que, por lo tanto puede variar entre −128 y 127.

La complejidad de los algoritmos en coma flotante los hizo recién integrables en circuitos VLSI (Grandes Escalas de integración). En la actualidad, los procesadores digitales suelen tener circuitos operadores en coma flotante que reciben la denominación de coprocesadores.

Page 23: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Formatos binarios de los números en coma flotante del estándar IEEE 754 (2008):

Representación (Nro de Bits) Características

Tipo Bits Signo

Bits Exp.

Bits Mant.

Total Bits / Tamaño

Bias del Exponente

Bits de Precisión (Nro de Bits

Significativos

Dígitos Significativos en Decimal. (apróx)

Rango

Medio (Half)

1 6 9 16 bits (2 bytes)

31 10 3,31 …

Simple (Simple)

1 8 32 32 bits (4 bytes)

127 24 7,22 -1,701411733e38 .. 3,402823466e+38

Doble (Double)

1 11 64 64 bits (8 bytes)

1023 53 15,95 2,2250738585072014e-308 .. 1,7976931348623158e+308

Cuádruple (Quad)

1 15 128 128 bits (16 bytes)

16383 113 34,02 …

Operaciones en Coma Flotante:

Suma:

Antes de operar se igualan los Exponentes, se desplaza a la derecha la mantisa del número con menor exponente. Cada posición desplazada a la derecha implica aumentar en uno el exponente.

Una vez que los dos números tienen el mismo exponente se realiza la suma de las mantisas. Puede existir la posibilidad de Desbordamiento (Overflow) de la mantisa, tal desbordamiento se debe corregir

desplazando la mantisa en una posición a la derecha y aumentando en uno el exponente. Debe controlarse también en tal caso, el no desbordamiento del exponente.

Resta:

Al igual que en la suma, los exponentes deben ser iguales. Por lo tanto normalizamos para que ambos lo sean. En la resta podemos obtener un número con varios ceros en los bits mas significativos, por consiguiente

debemos normalizarlo. El resultado se normaliza desplazando la mantisa hacia la izquierda y restando uno al exponente por cada

desplazamiento. Debemos controlar que el formato no produzca desborde a cero en el exponente (Underflow).

Multiplicación:

Aquí no es necesario que los exponentes sean iguales, por consiguiente se realiza el producto de las mantisas y los exponentes se suman.

Existe la posibilidad que sea necesario normalizar el resultado. Debemos controlar que no se produzca Over o Underflow.

División:

Consiste en efectuar la división de las mantisas y restar los exponentes. Si el dividendo es cero, el resultado es cero. Si el divisor es cero, se considera desbordamiento (Overflow) Si el dividendo y el divisor son cero, el resultado se identifica como desconocido. Existe la posibilidad que sea necesario normalizar el resultado. Debemos controlar que no se produzca Underflow del exponente

Page 24: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

1.4 ÁLGEBRA BINARIA

Postulados Álgebra de Boole:

Un álgebra de Boole es toda clase o un conjunto de elementos que pueda tomar dos valores perfectamente diferenciados, que designaremos por 0 y 1, y que están relacionadas por las operaciones denominadas suma y producto lógico que cumplen con los siguientes postulados:

a) Conmutatividad: Ambas operaciones son Conmutativas, si 𝑎𝑎 y 𝑏𝑏 son elementos del álgebra se verifica: 𝒂𝒂 + 𝒃𝒃 = 𝒃𝒃 + 𝒂𝒂 𝒂𝒂.𝒃𝒃 = 𝒃𝒃.𝒂𝒂

b) Elemento Neutro: Dentro del álgebra existen dos elementos neutros (0 y 1), que cumplen la propiedad de identidad con respecto a cada una de dichas operaciones:

𝟎𝟎 + 𝒂𝒂 = 𝒂𝒂 𝟏𝟏.𝒂𝒂 = 𝒂𝒂

c) Distributiva: Cada operación es distributiva respecto a la otra: 𝒂𝒂. (𝒃𝒃 + 𝒄𝒄) = 𝒂𝒂.𝒃𝒃 + 𝒂𝒂. 𝒄𝒄

𝒂𝒂 + (𝒃𝒃. 𝒄𝒄) = (𝒂𝒂 + 𝒃𝒃). (𝒂𝒂 + 𝒄𝒄) d) Elemento Opuesto: Para cada elemento del álgebra existe un elemento tal que:

𝒂𝒂 + 𝒂𝒂 = 𝟏𝟏 𝒂𝒂.𝒂𝒂 = 𝟎𝟎

Dicho postulado define la operación inversión o complementación de una variable. La variable 𝑎𝑎 se encuentra siempre en estado opuesto a la de 𝑎𝑎. A partir de las expresiones mencionadas se puede ver que nunca pueden tener el mismo valor lógico.

Teoremas del Álgebra de Boole:

A partir de los Postulados mencionados se deducen una serie de Teoremas que pueden demostrarse algebraicamente o mediante la tabla de verdad. Una tabla de verdad de una expresión algebraica representa los valores que dicha expresión puede tomar para cada estado de las variables que forman parte de la misma.

1) Dualidad: Cada identidad de los postulados permanece válida si se intercambian las operaciones <+> y <*> y los elementos 0 por 1 y viceversa.

2) Elemento Absorbente: Para cada elemento 𝑎𝑎 de un álgebra de Boole, se demuestra que: 𝒂𝒂 + 𝟏𝟏 = 𝟏𝟏 ; 𝒂𝒂.𝟎𝟎 = 𝟎𝟎

Demostración: 1 = 𝑎𝑎 + 𝑎𝑎 = 𝑎𝑎 + 𝑎𝑎. 1 = (𝑎𝑎 + 𝑎𝑎). (𝑎𝑎 + 1) = 1. (𝑎𝑎 + 1) = (𝑎𝑎 + 1) La segunda, queda demostrada por dualidad.

3) Tautología: Para cada elemento 𝑎𝑎 de un álgebra de Boole se verifica: 𝒂𝒂 + 𝒂𝒂 = 𝒂𝒂 ; 𝒂𝒂.𝒂𝒂 = 𝒂𝒂

Demostración: 𝑎𝑎 = 𝑎𝑎 + 0 = 𝑎𝑎 + 𝑎𝑎.𝑎𝑎 = (𝑎𝑎 + 𝑎𝑎). (𝑎𝑎 + 𝑎𝑎) = (𝑎𝑎 + 𝑎𝑎). 1 = 𝑎𝑎 + 𝑎𝑎

Complementación 𝑎𝑎 𝑎𝑎 0 1 1 0

Page 25: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

4) Absorción: Para cada par de elementos 𝑎𝑎 y 𝑏𝑏 de un álgebra de Boole se demuestra que: 𝒂𝒂 + 𝒂𝒂.𝒃𝒃 = 𝒂𝒂 ; 𝒂𝒂. (𝒂𝒂 + 𝒃𝒃) = 𝒂𝒂

5) Asociación: En un álgebra de Boole, las operaciones suma y producto son asociativas: 𝑎𝑎 + (𝑏𝑏 + 𝑐𝑐) = (𝑎𝑎 + 𝑏𝑏) + 𝑐𝑐 = 𝑎𝑎 + 𝑏𝑏 + 𝑐𝑐

𝑎𝑎. (𝑏𝑏. 𝑐𝑐) = (𝑎𝑎. 𝑏𝑏). 𝑐𝑐 = 𝑎𝑎. 𝑏𝑏. 𝑐𝑐

6) Complementación Doble: Para todo elemento 𝑎𝑎 de u álgebra de Boole se verifica:

𝒂𝒂 = 𝒂𝒂 7) Leyes de DeMorgan: En toda álgebra de Boole se verifica:

𝑎𝑎 + 𝑏𝑏 + 𝑐𝑐 + 𝑑𝑑 = 𝑎𝑎. 𝑏𝑏. 𝑐𝑐. 𝑑

𝑎𝑎. 𝑏𝑏. 𝑐𝑐.𝑑𝑑 = 𝑎𝑎 + 𝑏𝑏 + 𝑐𝑐 + 𝑑

Demostración: Para verificar las expresiones anteriormente mencionadas, recurrimos al postulado “d” (Elemento Opuesto), por tratarse de una complementación, debe verificar: (𝑎𝑎 + 𝑏𝑏) + 𝑎𝑎𝑏𝑏 = 1 ; (𝑎𝑎 + 𝑏𝑏).𝑎𝑎𝑏𝑏 = 0 Aplicando para dos variables:

(𝑎𝑎 + 𝑏𝑏) + 𝑎𝑎. 𝑏𝑏 = 𝑎𝑎 + 𝑎𝑎 + 𝑏𝑏. (𝑏𝑏 + 𝑎𝑎 + 𝑏𝑏) = 1.1 = 1 (𝑎𝑎 + 𝑏𝑏).𝑎𝑎𝑏𝑏 = 𝑎𝑎.𝑎𝑎. 𝑏𝑏 + 𝑏𝑏.𝑎𝑎. 𝑏𝑏 = 0 + 0 = 0

Podemos generalizar para un número cualquiera de variables utilizando un cambio de variables, 𝑝𝑝 = 𝑏𝑏 + 𝑐𝑐 + 𝑑𝑑 + ⋯, e ir aplicando la ley de De Morgan de dos variables de forma recurrente.

Este teorema define dos nuevas funciones lógicas que serán utilizadas como elementos básicos para la realización de circuitos digitales: NO-O (NOR) – NO-Y (NAND)

Álgebra de Llaves: El álgebra de Boole es un ente matemático, físicamente son varios los conjuntos que poseen dos estados bien diferenciados y cumplen con las operaciones binarias mencionadas. La lógica de llaves es útil para el estudio del álgebra de Boole.

La operación suma se asemeja a la interconexión en paralelo de dos o más llaves

Suma Lógica

𝑏𝑏 𝑎𝑎 𝑓𝑓(𝑏𝑏,𝑎𝑎) 0 0 0 0 1 1 1 0 1 1 1 1

El producto lógico es equivalente a la conexión en serie de dos o más llaves

Producto Lógico

𝑏𝑏 𝑎𝑎 𝑓𝑓(𝑏𝑏,𝑎𝑎) 0 0 0 0 1 0 1 0 0 1 1 1

El inverso de un contacto es siempre otro que se encuentra en el estado opuesto. El elemento 0 es un contacto que está siempre abierto, mientras que el 1 uno que está siempre cerrado.

Complementación 𝑎𝑎 𝑎𝑎 0 1 1 0

Absorción

𝑏𝑏 𝑎𝑎 𝑓𝑓(𝑏𝑏,𝑎𝑎) 0 0 0 0 1 1 1 0 0 1 1 1

(NOR)

(NAND)

Page 26: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Funciones de un Álgebra de Boole:

Una función de un álgebra de Boole es una variable binaria, cuyo valor es igual al de una expresión algebraica que relaciona variables binarias por medio de operaciones básicas: Suma, producto e inversión lógicos.

Se representa una función lógica por medio de la expresión 𝑓𝑓 = 𝑓𝑓(𝑎𝑎, 𝑏𝑏, 𝑐𝑐, … ). El valor lógico de 𝑓𝑓 dependerá del valor de las variables 𝑎𝑎, 𝑏𝑏, 𝑐𝑐, …

Se llama término canónico de una función lógica a todo producto (MINTERM) o suma (MAXTERM) en la cual aparecen todas las variables en su forma directa o inversa.

El número máximo de productos o sumas canónicas de 𝑛𝑛 variables es 2𝑛𝑛.

Para representarlos con mayor facilidad, a cada térmico canónico se le asocia un número decimal equivalente al binario obtenido de sustituir las variables ordenadas por 0 o 1 según aparezcan en forma directa u inversa.

Cuando una función se expresa como suma de productos canónicos o un producto de sumas canónicas se dice que se encuentra en su forma canónica. Por ejemplo, la función:

𝑓𝑓(𝑎𝑎, 𝑏𝑏, 𝑐𝑐) = 𝑎𝑎𝑏𝑏𝑐𝑐 + 𝑎𝑎𝑏𝑏𝑐𝑐 + 𝑎𝑎𝑏𝑏𝑐𝑐 = ∑(2,3,5) 𝑓𝑓(𝑎𝑎, 𝑏𝑏, 𝑐𝑐) = 𝑎𝑎 + 𝑏𝑏 + 𝑐𝑐. (𝑎𝑎 + 𝑏𝑏 + 𝑐𝑐). (𝑎𝑎 + 𝑏𝑏 + 𝑐𝑐) = ∏(1,2,7)

Teorema: Toda función de un álgebra de Boole se puede expresar de la forma:

𝑓𝑓(𝑎𝑎, 𝑏𝑏, 𝑐𝑐, … ) = 𝑎𝑎𝑓𝑓(1, 𝑏𝑏, 𝑐𝑐, … ) + 𝑎𝑎𝑓𝑓(0, 𝑏𝑏, 𝑐𝑐, … ) 𝑓𝑓(𝑎𝑎, 𝑏𝑏, 𝑐𝑐, … ) = [𝑎𝑎 + 𝑓𝑓(0,𝑏𝑏, 𝑐𝑐, … )]. [𝑎𝑎 + 𝑓𝑓(1, 𝑏𝑏, 𝑐𝑐, … )]

Demostración: Comprobamos si la igualdad se cumple tanto para 𝑎𝑎 = 0 y 𝑎𝑎 = 1. • 𝑎𝑎 = 0 → 𝑎𝑎 = 1: 𝑓𝑓(𝑎𝑎, 𝑏𝑏, 𝑐𝑐, … ) = 0.𝑓𝑓(1, 𝑏𝑏, 𝑐𝑐, … ) + 1.𝑓𝑓(0, 𝑏𝑏, 𝑐𝑐, … ) = 𝑓𝑓(0, 𝑏𝑏, 𝑐𝑐, … ) • 𝑎𝑎 = 1 → 𝑎𝑎 = 0: 𝑓𝑓(𝑎𝑎, 𝑏𝑏, 𝑐𝑐, … ) = 1.𝑓𝑓(1, 𝑏𝑏, 𝑐𝑐, … ) + 0.𝑓𝑓(0, 𝑏𝑏, 𝑐𝑐, … ) = 𝑓𝑓(1, 𝑏𝑏, 𝑐𝑐, … )

La segunda queda demostrada por Dualidad. Si ahora Multiplicamos la primera por 𝑎𝑎 y luego por 𝑎𝑎:

𝑎𝑎.𝑓𝑓(𝑎𝑎, 𝑏𝑏, 𝑐𝑐, … ) = 𝑎𝑎. 𝑓𝑓(1, 𝑏𝑏, 𝑐𝑐, … ) + 0 = 𝑎𝑎.𝑓𝑓(1, 𝑏𝑏, 𝑐𝑐, … ) 𝑎𝑎𝑓𝑓(𝑎𝑎, 𝑏𝑏, 𝑐𝑐, … ) = 0 + 𝑎𝑎𝑓𝑓(0,𝑏𝑏, 𝑐𝑐, … ) = 𝑎𝑎𝑓𝑓(0, 𝑏𝑏, 𝑐𝑐, … )

Si para el caso de la segunda, sumamos 𝑎𝑎 y luego 𝑎𝑎 (Operación Dual a la Anterior): 𝑎𝑎 + 𝑓𝑓(𝑎𝑎, 𝑏𝑏, 𝑐𝑐, … ) = 𝑎𝑎 + 𝑓𝑓(0,𝑏𝑏, 𝑐𝑐, … ) 𝑎𝑎 + 𝑓𝑓(𝑎𝑎, 𝑏𝑏, 𝑐𝑐, … ) = 𝑎𝑎 + 𝑓𝑓(1,𝑏𝑏, 𝑐𝑐, … )

Estas cuatro expresiones pueden utilizarse para simplificar funciones lógicas

Pasaje de Expresiones Canónicas:

El teorema anterior permite concluir que toda función lógica puede transformarse en una función canónica bajo cualquiera de las dos formas mencionadas.

Toda función se puede representar mediante la suma de todos los productos canónicos multiplicados por un coeficiente igual a 1 si el término forma parte de la función e igual a cero si no forma parte de ella.

𝑓𝑓(𝑎𝑎, 𝑏𝑏, 𝑐𝑐, … ) = (𝑎𝑎𝑏𝑏𝑐𝑐… ).𝑓𝑓(1,1,1, … ) + 𝑎𝑎. 𝑏𝑏. 𝑐𝑐. … .𝑓𝑓(0,0,0, … )

Page 27: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

De igual forma, se deduce que la expresión en forma de producto de sumas canónicas es:

𝑓𝑓(𝑎𝑎, 𝑏𝑏, 𝑐𝑐, … ) = [(𝑎𝑎 + 𝑏𝑏 + 𝑐𝑐 + ⋯ ) + 𝑓𝑓(0,0,0, … )]. [𝑎𝑎 + 𝑏𝑏 + 𝑐𝑐 + … + 𝑓𝑓(1,1,1, … )]

Se deduce que la expresión canónica de sumas canónicas de una función es igual al producto de todas las sumas canónicas posibles, sumando a cada una de ellas un coeficiente igual a cero, si el término forma parte de la función e igual a 1 si no forma parte de ella.

Utilizando la notación decimal, podemos escribir la relación que nos permite pasar de una forma canónica a la otra:

𝑓𝑓(𝑎𝑎, 𝑏𝑏, 𝑐𝑐, … ) = (𝑓𝑓𝑖𝑖). 𝑖𝑖2𝑛𝑛−1

𝑖𝑖=0

= (2𝑛𝑛 − 1 − 𝑖𝑖) + 𝑖𝑖2𝑛𝑛−1

𝑖𝑖=0

Si un producto canónico 𝒊𝒊 aparece en la función debido a que su coeficiente es igual a 1, no aparecerá en forma de producto de sumas canónicas de dicha función el término (𝟐𝟐𝒏𝒏 − 𝟏𝟏 − 𝒊𝒊). Ej: ∑ (𝟎𝟎,𝟐𝟐,𝟓𝟓) = ∏ (𝟎𝟎,𝟏𝟏,𝟑𝟑,𝟒𝟒,𝟔𝟔)𝟑𝟑𝟑𝟑

La función inversa de 𝑓𝑓, está formada por los términos canónicos que no pertenecen a 𝑓𝑓. Por lo tanto, invirtiendo 𝑓𝑓 obtenemos nuevamente a 𝑓𝑓, pero expresada en forma dual:

𝑓𝑓 = ∑ (0,3,7)3 𝑓𝑓 = ∑ (1,2,4,5,6)3

𝑓𝑓 = 𝑓𝑓 = ∑ (1,2,4,5,6)3 = ∏ (1,2,3,5,6)3

Obtención de Expresiones en forma Canónica:

Cuando una función lógica se presenta de una forma no canónica su transformación en canónica resulta sencilla por procedimientos algebraicos:

Si se desea obtener la expresión canónica en forma de suma de productos lógicos, se aplica la propiedad distributiva del producto con respecto a la suma, hasta obtener una expresión de suma de productos no canónicos. Para convertir cada uno de estos en productos canónicos se le multiplica por la suma de las variables que faltan en él y sus inversas. Si se desea obtener la expresión canónica en forma de producto de sumas

lógicas, se aplica la propiedad distributiva de la suma respecto del producto hasta obtener un producto de sumas no canónicas, para convertir estos en canónicos se les suma el producto de cada variable que falta en ella por su inversa.

Operaciones Lógicas Básicas e Inversas:

Operación Tabla de Verdad Símbolo no Normalizado

Símbolo Normalizado

AND (Producto Lógico):

Producto Lógico

𝑏𝑏 𝑎𝑎 𝑓𝑓(𝑏𝑏, 𝑎𝑎) = 𝑎𝑎. 𝑏𝑏 0 0 0 0 1 0 1 0 0 1 1 1

Page 28: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

OR (Suma Lógica)

Suma Lógica

𝑏𝑏 𝑎𝑎 𝑓𝑓(𝑏𝑏, 𝑎𝑎) = 𝑎𝑎 + 𝑏𝑏 0 0 0 0 1 1 1 0 1 1 1 1

NOT (Inversión Lógica)

Inversión 𝑎𝑎 𝑎𝑎 0 1 1 0

NAND (NO-Y): Operación inversa del producto lógico. Como consecuencia del Teorema de De Morgan, existen dos representaciones:

𝑎𝑎. 𝑏𝑏 = 𝑎𝑎 + 𝑏𝑏

NAND

𝑏𝑏 𝑎𝑎 𝑓𝑓(𝑏𝑏, 𝑎𝑎) = 𝑎𝑎. 𝑏𝑏 0 0 1 0 1 1 1 0 1 1 1 0

NOR (NO-O): Operación Inversa a la Suma Lógica. Por el teorema de De Morgan tiene dos representaciones:

𝑎𝑎 + 𝑏𝑏 = 𝑎𝑎. 𝑏𝑏

NOR

𝑏𝑏 𝑎𝑎 𝑓𝑓(𝑏𝑏, 𝑎𝑎) = 𝑎𝑎 + 𝑏𝑏 0 0 1 0 1 0 1 0 0 1 1 0

Las tres funciones elementales: Suma, producto e inversión lógica pueden realizarse mediante las funciones NAND y NOR. Aplicando el teorema de De Morgan:

𝒂𝒂𝒃𝒃 = 𝒂𝒂𝒃𝒃 = 𝒂𝒂 + 𝒃𝒃 𝒂𝒂 + 𝒃𝒃 = 𝒂𝒂 + 𝒃𝒃 = 𝒂𝒂.𝒃𝒃

La inversión se realiza con una función NOR ó NAND de una sola entrada

Funciones Especiales:

O-Exclusiva:

La función XOR (O-Exclusiva) de dos variables, es aquella que toma el valor 1 sólo cuando una de las variables toma el valor 1. Se representa con el símbolo 𝑓𝑓𝑋𝑋𝑋𝑋𝑋𝑋 = 𝑎𝑎 ⊕ 𝑏𝑏, y electrónicamente se representa por las figuras:

Deduciendo de la tabla de verdad las expresiones canónicas: 𝑓𝑓𝑋𝑋𝑋𝑋𝑋𝑋 = 𝑎𝑎 ⊕ 𝑏𝑏 = 𝑏𝑏𝑎𝑎 + 𝑏𝑏𝑎𝑎 = (𝑎𝑎 + 𝑏𝑏). (𝑎𝑎 + 𝑏𝑏)

O-Exclusiva (XOR)

𝑏𝑏 𝑎𝑎 𝑓𝑓(𝑏𝑏, 𝑎𝑎) = 𝑎𝑎 ⊕ 𝑏𝑏 0 0 0 0 1 1 1 0 1 1 1 0

Page 29: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Las mismas no pueden simplificarse. Tal como vemos, puede realizarse dicha función mediante compuertas NOR y NAND, sin embargo hay bloques funcionales que permiten realizar dicha función.

Propiedades:

• La función XOR de 𝑛𝑛 variables toma el valor lógico 1 si el número de variables dependientes que se encuentran en estado uno es impar, y el valor lógico 0 cuando un número par de ellas se encuentran en alto.

• 𝑓𝑓0 = 𝑎𝑎 ⊕ 𝑏𝑏 = 𝑎𝑎 ⊕ 𝑏𝑏 = 𝑎𝑎 ⊕ 𝑏𝑏 = 𝑎𝑎 ⊕ 𝑏𝑏 • Podemos utilizar una compuerta XOR como inversor controlado, esto es, invertir una variable si una señal de

control lo indica. Si 𝑎𝑎 es la variable a invertir y 𝑏𝑏 la señal de control, vemos que cuando 𝑎𝑎 = 0 y 𝑏𝑏 = 0 no hay inversión; cuando 𝑎𝑎 = 0 y 𝑏𝑏 = 1 el resultado de la función es el inverso de 𝑎𝑎.

Función Equivalencia o Comparación (XNOR):

La función equivalencia de dos o más variables es aquella que toma el valor lógico uno cuando todas sus variables dependientes se encuentran en un mismo estado lógico, y el valor cero, en caso contrario.

De la tabla de verdad vemos que: 𝑓𝑓𝑥𝑥𝑛𝑛𝑋𝑋𝑋𝑋 = 𝑎𝑎 ⊕ 𝑏𝑏

Propiedades:

• 𝑓𝑓𝑥𝑥𝑛𝑛𝑋𝑋𝑋𝑋 = 𝑎𝑎 ⊕ 𝑏𝑏 = 𝑎𝑎⨁𝑏𝑏 = 𝑎𝑎⨁𝑏𝑏 • A partir de la propiedad anterior, se observa que la forma más sencilla de

realizar el circuito lógico es mediante una XOR con una de sus entadas negadas.

Función Mayoría:

La función mayoría es aquella cuyo valor lógico es 1 cuando la mayoría de sus entradas o variables dependientes es uno. Como caso particular, la función mayoría de tres variables es la suma de los productos de dos variables acertadas a la vez: 𝑓𝑓𝑚𝑚𝑚𝑚𝑚𝑚𝑋𝑋𝑋𝑋í𝑚𝑚(𝑎𝑎, 𝑏𝑏, 𝑐𝑐) = 𝑎𝑎. 𝑏𝑏 + 𝑎𝑎. 𝑐𝑐 + 𝑏𝑏. 𝑐𝑐

Minimización de Funciones Lógicas:

Los sistemas lógicos combinacionales son aquellos en los que a cada instante el estado lógico de su salida, depende únicamente del estado de sus entradas. Por ende, son una función lógica y pueden ser representados por una tabla de verdad o mediante expresiones canónicas.

El criterio de minimización más utilizado es el de obtener una expresión en forma de suma de productos o productos de suma que tenga un número mínimo de términos con el menor número de variables posibles en cada uno de ellos. Esto es así porque se traduce directamente en el costo del diseño y en la reducción de la probabilidad de fallas.

F. Equivalencia XNOR

𝑏𝑏 𝑎𝑎 𝑓𝑓(𝑏𝑏, 𝑎𝑎) = 𝑎𝑎 ⊕ 𝑏𝑏 0 0 1 0 1 0 1 0 0 1 1 1

Page 30: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

De manera sistemática, en los métodos de minimización lo que se hará es aplicar las siguientes propiedades del Álgebra de Boole:

𝑎𝑎. 𝑏𝑏. 𝑐𝑐… + 𝑎𝑎. 𝑏𝑏. 𝑐𝑐. . = 𝑏𝑏. 𝑐𝑐… Esta expresión indica que la suma de dos productos canónicos adyacentes (difieren sólo en el estado de una variable), se reduce a un único producto en el que desaparece dicha variable.

(𝑎𝑎 + 𝑏𝑏 + 𝑐𝑐 + ⋯ ). (𝑎𝑎 + 𝑏𝑏 + 𝑐𝑐 + ⋯ ) = 𝑎𝑎 + 𝑏𝑏 +⋯ Un producto de sumas canónicas adyacentes, se reduce a una única suma en la que desaparece la variable que difiere.

La expresión final en la que no se puede suprimir ningún término ni eliminar variables se denomina expresión irreducible

Método de Minimización Gráfico (Mapa de Karnaugh):

Si bien es sistemática la minimización algebraica existen diversas formas de agrupar los términos para su reducción y por consiguiente, varias expresiones irreducibles. Para ello, se idearon métodos gráficos para representar la tabla de verdad de una función lógica.

Mediante el método de Karnaugh se agrupan todos los términos canónicos adyacentes de modo que estén físicamente contiguos y de que sea sencillo realizar agrupaciones para minimizar términos.

Los cuadros que tienen un lado en común corresponden a términos canónicos que son lógicamente adyacentes y los números decimales que les corresponden se difieren en una potencia de 2. Además, los cuadrados de la fila superior son adyacentes a los respectivos de la fila inferior, y los de la columna izquierda a los de la derecha.

Los cuadrados correspondientes a los términos canónicos que forman parte de la función se los completa con 1, el resto se los deja en blanco. Para obtener la expresión algebraica más sencilla de una función se debe hacer el menor número de agrupaciones de mayor complejidad posible, de modo que cada uno cubra todos los unos de la tabla.

Mapa de Karnaugh (2 Variables)

Mapa de Karnaugh (3 Variables)

Mapa de Karnaugh (4 Variables)

Procedimiento:

1. Se toman todos los unos que no se pueden agrupar con ningún otro 2. Se forman todos los grupos de dos 1, que no pueden formar un grupo de cuatro. 3. Se forman todos los grupos de cuatro 1, que no pueden formar un grupo de ocho. 4. Así sucesivamente hasta que se hayan cubierto todos los unos. 5. El lógico que corresponde a cada grupo se obtiene eliminando las variables que toman el valor 0 en la mitad

de las células y 1 en la otra mitad, y asignando la forma directa a la o las variables que toman valor 1 y de manera inversa las que toman valor 0.

Page 31: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

En la práctica, es necesario realizar el proceso para ambas expresiones canónicas (Minterms y Maxterms), y a partir de los resultados escoger la más sencilla.

Al realizar la minimización de una función puede existir más de una forma irreducible, en tal caso puede elegirse arbitrariamente.

La aplicación del método gráfico de Karnaugh de más de cinco variables en la práctica no resulta conveniente, ya que resulta difícil observar los términos adyacentes. Para simplificar una función de 5 variables podemos utilizar dos mapas de Karnaugh de 4 variables, sobre los cuales tendremos que tener en cuenta que los términos simétricos de cada una son adyacentes ya que en ellos difieren en el estado de la variable e.

Ejemplos:

𝑓𝑓1 = (2,3,5,7,10,11,15)4

𝑓𝑓1 = (1,2,3,6,7,9,11,14,15)4

Suma de Productos Canónicos

Producto de Sumas Canónicas

𝑓𝑓1 = 𝑎𝑎𝑏𝑏 + 𝑏𝑏𝑐𝑐𝑑 + 𝑎𝑎𝑐𝑐𝑑 + 𝑑𝑑𝑐𝑐𝑏𝑏 = 𝒂𝒂𝒃𝒃 + 𝒂𝒂𝒄𝒄𝒅𝒅 + 𝒃𝒃𝒄𝒄 𝑓𝑓1 = (𝒃𝒃 + 𝒄𝒄). (𝒂𝒂 + 𝒄𝒄). (𝒅𝒅 + 𝒃𝒃)

Como puede verse, la expresión de la minimización del producto de las sumas canónicas es más sencilla, y por ende más fácil de implementar ya que posee tres términos pero de dos variables cada una.

𝑓𝑓2 = (0,1,2,3,4,5,6,16,17,18,19,20,22,23)5

Page 32: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

𝒆𝒆 = 𝟎𝟎 𝒆𝒆 = 𝟏𝟏 𝒇𝒇𝟐𝟐 = 𝒅𝒅𝒄𝒄 + 𝒂𝒂𝒅𝒅 + 𝒃𝒃𝒅𝒅𝒆𝒆 + 𝒃𝒃𝒅𝒅𝒆𝒆

Método de Minimización Numérico (Quine Mc-Kluskey):

Los métodos gráficos son prácticos hasta cinco variables, para un número mayor o también cuando se trata de una multifunción es necesario caer en métodos numéricos. Este método está basado en el convenio de asignar un número decimal a cada término canónico. Si dos términos difieren en una sola variable, sus números correspondientes difieren en una potencia de dos y pueden agruparse en un solo término que ya no es canónico al que le falta dicha variable. A su vez, si dos términos a los cuáles les falta la misma variable difieren en una misma potencia de dos, pueden ser agrupados en un nuevo término al cual le falte la variable correspondiente a dicha diferencia. Realizando el proceso de manera iterativa se consigue obtener todos los términos primos (Aquellos que contienen el máximo número de términos canónicos de la función y que, por otra parte, no existe ningún término de menor complejidad que los contenga). Procedimiento: Tomemos como ejemplo la función: 𝑓𝑓(𝑑𝑑𝑐𝑐𝑏𝑏𝑎𝑎) = ∑ (0,1,3,4,7,8,11,12,13,15)4

1. Se forma una tabla en la que los términos canónicos se ordenan en grupos de acuerdo con el número de unos que posee la combinación binaria que les corresponde. De modo tal que para realizar las agrupaciones es necesario comparar los términos de cada grupo con los del siguiente.

Tabla 1 C. de Unos T. Canónico

0 0 X 1 1 X

4 X 8 X

2 3 X 12 X

3 7 X 11 X 13 X

4 15 X

Tabla 2 Término Diferencia

0-1 1 0-4 4 X 0-8 8 X 1-3 2

4-12 8 X 8-12 4 X 3-7 4 X

3-11 8 X 12-13 1 7-15 8 X

11-15 4 X 13-15 2

Tabla 3 Término Diferencia 0-4-8-12 (4,8) 0-8-4-12 (8,4)

… … 3-7-11-15 (4,8) 3-11-715 (8,4)

Page 33: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

2. Partiendo de la primera tabla se forma una segunda, comparando los términos canónicos que pertenecen a grupos adyacentes y agrupando en un solo término aquellos cuya diferencia (Se toma como minuendo el término que contiene mayor número de unos) sea una potencia de dos positiva. Todos los términos de la primera tabla que han sido utilizados para realizar la segunda se marcan con una X, lo que indica que no son términos primos.

3. En la segunda tabla se agrega una columna que contiene la diferencia entre los términos canónicos que forman parte de cada elemento de la misma.

4. Se forma una tercera tabla agrupando los términos pertenecientes a grupos adyacentes cuya diferencia es igual y que además difieren entre sí en una potencia de dos. Se agrega una columna a la tercera tabla que contiene las diferencias: la interna de cada grupo (la de la tabla anterior) y la que existe entre los grupos que se unen.

5. El proceso se continúa realizando tablas sucesivas hasta que no es posible realizar más agrupaciones. Se obtienen en esta tabla todos los términos por duplicado con diferente orden (diferencias intercambiadas), de ellos sólo es necesario considerar uno. La cuarta tabla, en caso que sea posible se forma agrupando todos los términos de grupos adyacentes de la tercera cuyas diferencias coinciden y que además difieren en una potencia de dos.

6. Considerando los términos primos (los que no se han agrupado con otros para formar uno mayor), debemos elegir la mínima combinación de los mismos que cubra la función. Para ello, se realiza una última tabla que contiene una columna por cada término canónico que forma parte de la función, y una fila por cada término primo. En la fila correspondiente a un determinado número primo, se coloca X en las columnas cuyo número está contenido en el término

7. Se marca en dicha tabla las columnas que sólo tienen una X. Dichos términos primos son esenciales. 8. Se busca la combinación más sencilla de los términos primos restantes que realiza el resto de los términos

canónicos. Se vuelve a confeccionar una tabla que contiene los términos no esenciales como filas, y los términos canónicos no realizados como columnas. Se elige la combinación de términos que realice de la forma más sencilla todos los términos canónicos restantes. Cuando existen términos primos no esenciales que contienen a otros que realcen los mismos términos que ellos y otros más, se pueden suprimir los contenidos, ya que los mismos no forman parte de la solución mínima.

9. Obtenemos las expresiones literales de las representaciones numéricas de los términos esenciales y de los no esenciales elegidos para completar la función. A partir de la representación numérica del término, eliminamos de la función lógica las variables cuyo peso sea la diferencia entre este número y el segundo, entre ese y el tercero, y así sucesivamente.

Términos Primos 0 1 3 4 7 8 11 12 13 15 0-1 X X 1-3 X X 2-13 X X 13-15 X X 0-4-8-12 X X X X 3-7-11-15 X X X X

Para el término 0-4-8-12: 0 = 𝑑𝑐𝑐𝑏𝑏𝑎𝑎 4 − 0 = 4 → 𝑐𝑐

8 − 0 = 8 → 𝑑𝑑 Expresión Algebraica: 𝒃𝒃𝒂𝒂

Términos Primos no Esenciales

1 13

0-1 X 1-3 X 12-13 X 13-15 X

Page 34: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Para el término 3-7-11-15: 3 = 𝑑𝑐𝑐𝑏𝑏𝑎𝑎 7 − 3 = 4 → 𝑐𝑐

11 − 3 = 8 → 𝑑𝑑 Expresión Algebraica: 𝒃𝒃𝒂𝒂

Para el término 0-1: 0 = 𝑑𝑐𝑐𝑏𝑏𝑎𝑎 0 − 1 = 1 → 𝑎𝑎

Expresión Algebraica: 𝒅𝒅𝒄𝒄𝒃𝒃 Para el término 12-13: 12 = 𝑑𝑑𝑐𝑐𝑏𝑏𝑎𝑎 13 − 12 = 1 → 𝑎𝑎

Expresión Algebraica: 𝒅𝒅𝒄𝒄𝒃𝒃

𝑓𝑓(𝑑𝑑𝑐𝑐𝑏𝑏𝑎𝑎) = (0,1,3,4,7,8,11,12,13,15)4

= 𝒃𝒃𝒂𝒂 + 𝒃𝒃𝒂𝒂 + 𝒅𝒅𝒄𝒄𝒃𝒃 + 𝒅𝒅𝒄𝒄𝒃𝒃

Funciones Incompletas:

Se denomina funciones totalmente definidas a aquellas en las que a cada combinación de las entradas se le define un valor lógico 1 o 0. También pueden existir funciones incompletas, son aquellas en las para una o más combinaciones de las entrada, a la salida se le puede asignar un valor 0 o 1 indistintamente. Lo que puede deberse a:

No pueden existir una o más combinaciones de entrada. Por lo tanto a la salida correspondiente a esas combinaciones de entrada se le asigna el valor 0 o 1

Cuando aparecen una o más combinaciones de entrada y la acción de la salida del sistema esta inhibida.

La forma canónica de una función incompleta se representa separando los términos canónicos para los cuales la función vale uno y los términos canónicos para los cuales es indiferente.

𝑓𝑓(𝑎𝑎, 𝑏𝑏, 𝑐𝑐,𝑑𝑑) = (1,3,6,8,10,11) + (0,2,4,12,13)𝜙𝜙4

En la tabla de verdad, se coloca X a las combinaciones de entrada para las cuales no está definido el estado de la salida.

La minimización de este tipo de funciones se puede realizar con cualquiera de los métodos vistos. La única diferencia con respecto a las funciones totalmente definidas es que a los términos indiferentes se les puede asignar a voluntad el valor cero o uno.

El método gráfico de Karnaugh se aplica de la misma manera, y para realizar cada término de la función que toma el valor 1, se agrupan con él el máximo número de términos posibles. Para lograrlo, se asigna el valor 1 a aquellos términos indiferentes que permitan simplificar la función, y el valor 0 a los restantes.

En el caso del método numérico de Quine Mc-Kluskey consideramos desde el primer momento los términos indiferentes con valor 1 hasta obtener todos los términos primos. Si alguno de los términos obtenidos está conformado sólo por términos indiferentes de la función incompleta se lo descarta. El resto del procedimiento se concluye de igual manera.

Multifunciones:

Por lo general, los circuitos combinacionales poseen más de una salida, es decir, están constituidos por varias funciones lógicas que responden a las mismas variables de entrada y han de ser realizadas simultáneamente. Estos circuitos son equivalentes a una multifunción.

Page 35: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

La minimización de una multifunción se puede realizar tratando cada una de las funciones independientemente por los métodos vistos, sin embargo, no se tiene la seguridad de obtener el circuito más sencillo.

Las multifunciones pueden ser totalmente definidas o no totalmente definidas. Podemos efectuar la simplificación mediante el método gráfico o el numérico. En ambos casos, es necesario tener en cuenta los términos comunes a más de una función.

Por el método de Karnaugh se deben realizar las siguientes etapas en la minimización:

a) Realización de Tablas de todas las funciones y sus productos lógicos. b) Todos aquellos términos canónicos que sólo toman el valor uno para una función se realizan de la forma más

sencilla posible en la tabla correspondiente a esa función. c) Todos aquellos términos que son comunes a dos funciones, es decir que forman parte del producto lógico de

ambas, que no son comunes a tres funciones y que no han sido realizadas en el apartado anterior, se realizan de la forma más sencilla en la tabla correspondiente.

d) El proceso se repite para los términos comunes a tres funciones que todavía no han sido realizados, y así sucesivamente.

El método gráfico de Karnaugh no resulta aplicable en la práctica a multifunciones que incluyan más de tres funciones simples.

La aplicación del método numérico resulta más conveniente, ya que puede ser aplicado para cualquier una multifunción de cualquier complejidad. Debe contemplarse el siguiente procedimiento:

En la primera tabla (términos canónicos ordenados por cantidad de unos), se agrega una columna, indicando en ella a que función pertenecen. Continuamos aplicando el método de la forma ya vista, con la salvedad de agregar en cada tabla a que función pertenece el término correspondiente. Los términos que no tengan en común la pertenencia a una función se descartan. Siguiendo con el método, marcamos como utilizados aquellos términos que se utilicen para formar otros más complejos, siempre que todas las funciones a las que pertenecen sean las mismas.

En la tabla de términos primos se dibujan en grupos separados las columnas con los términos de cada función, y además se indica a qué función o funciones pertenece cada término primo. Al encontrar los términos primos esenciales, se recuadran los términos canónicos realizados, sólo de las funciones a las cuales pertenece dicho término primo esencial. Se completa el método numérico tal como se hizo anteriormente.

Método del Puenteo:

Este método consiste en representar mi función canónica como una función XOR (cualquiera de sus expresiones) de la misma cantidad de variables que la función original. Básicamente, lo que hace es multiplicar por otra función que permita quitar los unos de la función XOR que no deseo, ya que mi función original no los tiene. Y, al producto realizado

Page 36: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

sumarle otra función que añada los unos necesarios para poder representar la función original (Ya que la XOR no los tiene).

La expresión general es la siguiente: 𝑓𝑓(𝑑𝑑, 𝑐𝑐, 𝑏𝑏,𝑎𝑎) = (𝑑𝑑⨁𝑐𝑐⨁𝑏𝑏⨁𝑎𝑎).∑ (… ) + ∑ (… )44

A partir de la tabla de verdad de la función XOR, llegamos al siguiente mapa de Karnaugh: El método resulta eficiente cuando nuestra función se asemeja bastante a una función XOR, ya que no deberemos agregar muchos términos a las funciones de suma y producto.

Resulta útil la siguiente planilla de puenteo, para seguir un procedimiento sistemático de representación este método. A partir de la misma:

1. Identifico las diferencias que tiene mi función respecto a la XOR (0,1 y X) 2. Para poner ceros que la XOR no tiene, reemplazo en la función multiplicada el uno correspondiente por un cero,

y en la función sumada el “X” correspondiente por un cero. (1 ∗ 0 + 0 = 0) 3. Para poner unos que la XOR no tiene, dejo el “X” correspondiente en la función multiplicada y reemplazo el cero

correspondiente con un uno en la función sumada (1 ∗ 𝑋𝑋 + 1 = 1) 4. Para poner los no importa, “X”, que la función XOR no tiene: Cambio el uno correspondiente en la función

multiplicada por un “X” (o conservo el X si así fuese), y Cambio el cero correspondiente por un “X” en la función sumada (o conservo el X si así fuese). (1 ∗ 𝑋𝑋 + 𝑋𝑋 = 𝑋𝑋) ; (0 ∗ 𝑋𝑋 + 𝑋𝑋 = 𝑋𝑋)

Dispositivos de Tercer Estado: Buffer

La lógica de tres estados, permite en ciertos dispositivos, además de tener salidas con valor 0 y 1 un estado de alta impedancia (Hi-Z).

El estado Hi-Z pone la salida en alta impedancia, haciendo que el pin ya no tenga relevancia en el circuito. Normalmente, la intención de este estado es permitir a varios circuitos compartir el mismo bus o línea de salida. O también, permitir a un dispositivo monitorizar señales sin afectar a la señal.

Buffer 𝐸𝐸𝐸𝐸 𝑎𝑎 𝑏𝑏 0 0 Z 0 1 Z 1 0 0 1 1 1

Page 37: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Podemos ver un buffer triestado como un interruptor. Es decir cuando en EN hay un 1, funciona como si el interruptor estuviera activado, mientras que si hay un 0, actúa como si estuviera desactivado (Estado de Alta Impedancia).

Un buffer triestado se diseña normalmente de modo que el retardo de habilitación de salida (de Hi-Z a Alto o Bajo) sea un poco más largo que el retardo de deshabilitación de salida (de Alto o Bajo a Hi-Z). Así, si un circuito de control activa la entrada de habilitación de salida de un dispositivo al mismo tiempo que desactiva la entrada de habilitación de un segundo dispositivo, al tener un retardo de deshabilitación de salida más corto se puede asegurar que antes de que el primer dispositivo ponga un nivel Alto o Bajo en el bus, el segundo dispositivo se encontrará en estado de alta impedancia.

Page 38: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

1.5 SISTEMAS DIGITALES

Definiciones:

Un sistema digital es aquel que recibe información de tipo discreta, la procesa convenientemente y luego la transmite de acuerdo a lo establecido.

Variable Digital: Todo elemento que sólo toma valores discretos bien especificados.

Variable Binaria: Es una variable digital que sólo toma dos valores. Expresados en el sistema binario, estos son 0 y 1. Se las denota con letras minúsculas.

Función Digital: Es toda relación algebraica entre variables binarias a través de las operaciones lógicas del Álgebra de Boole (Suma, producto e inversión Lógica). Se las representa de manera gráfica mediante un diagrama de blocks.

Diagrama de Blocks: Es una representación de un sistema digital, en el cual se colocan a la izquierda las entradas con flechas ingresando al block que representa el circuito, y luego con flechas a la derecha se indican las salidas.

Vector Digital: Conjunto de variables digitales que cumplen con el mismo

propósito. Las variables que especifican a un vector determinado pueden ser acertadas o negadas. Estos vectores poseen: Módulo, Dirección y Sentido.

• Módulo: Cantidad de variables o funciones que posee un vector determinado. 𝜶𝜶[𝟑𝟑] = [𝒛𝒛,𝒙𝒙,𝒚𝒚] • Dirección o nivel del Vector: Valor específico que toma el vector en un instante determinado. Debe

aclararse bajo qué sistema de numeración se especifica. 𝜶𝜶[𝟑𝟑]|𝒕𝒕𝟎𝟎 = [𝒛𝒛,𝒙𝒙,𝒚𝒚]|𝒕𝒕𝟎𝟎 = [𝟎𝟎𝟎𝟎𝟎𝟎]𝟐𝟐

• Sentido: Todo vector digital puede tener dos sentidos: Positivo ò Negativo. Para ello, se utilizan los convenios de representación de números negativos vistos: Signo y ABS - Signo y Complemento.

Identificador Vectorial: Conjunto de vectores más importantes de un sistema Digital, son aquellos que se usan para

definir el funcionamiento del mismo. Existen dos tipos de vectores: • Vectores de Independientes: aquellos conformados por

variables del sistema. • Vectores Funcionales: Aquellos conformados por

funciones digitales (relaciones algebraicas de las variables independientes), sus variaciones dependerán de las variables independientes y del sistema.

Estado de un Sistema Digital: Es el valor numérico que toma el identificador vectorial para un instante 𝑡𝑡𝑖𝑖 determinado. Visto de otra manera, es el conjunto de direcciones que identifican al sistema digital en dicho instante. Se lo identifica mediante una letra Mayúscula con un subíndice, dentro de una circunferencia, y por fuera se denota el valor que toma el identificador vectorial para ese estado.

Page 39: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Para un estado cualquiera, lo primero en establecerse será la dirección de los vectores independientes, y luego en función de las relaciones algebraicas del sistema se obtendrán las direcciones de los vectores funcionales.

Transición entre Estados: Mientras se mantengan las características propias de un estado, en especial su dirección, el sistema permanecerá en el mismo. Pero cuando se produzca una modificación en la dirección o sentido de algún vector (interno o externo), el sistema evolucionará a un nuevo estado, el cual tendrá su propia identidad.

Una representación de lo anteriormente mencionado se puede ver mediante un “grafo de transición”: La transición entre estados puede llevarse a cabo por motivos concretos: Por el establecimiento de una dirección determinada ó Por el cambio de dirección en algún vector.

Diseño de Sistemas Digitales:

1. Conocimiento del Sistema: Análisis y determinación básica de los objetivos que deberá cumplir el sistema. Las necesidades del sistemas pueden ser planteadas mediante: a. Requerimientos Verbales: El solicitante del sistema digital establece las necesidades y pautas a través del

conocimiento empírico del sistema a realizar (Objetivo del problema a resolver, pretensión o sugerencia del camino de resolución).

Dicha información subjetiva estará acompañada de información objetiva establecida por requerimientos externos al sistema: leyes de distinta índole y ambiente en el que opera el sistema.

Puede confeccionarse una tabla de requerimientos y objetivos (TRO), la cual se hace a gusto del diseñador y contiene una fila para cada tarea a realizar, donde se especifica el nombre, función y objetivos de cada tarea a realizar.

La idea de este paso en el diseño es sentar bases claras y ordenadas, de la manera más completa posible, ya que podrán surgir nuevas tareas, modificaciones o especificaciones en el sistema.

b. Diagrama Temporal: Es la representación gráfica de una función respecto del tiempo.

Por lo general se trata de un parámetro físico, para nuestro caso de estudio, de índole eléctrico. Desde el punto de vista de los sistemas digitales es la variación temporal del identificador vectorial.

Este es el caso común para el diseño de partes circuitales en dónde se tiene conocimiento de la forma de onda del sistema que se desea diseñar. Cuando los gráficos para describir todas las funciones del sistema son muchos, se los apila de forma vertical haciendo coincidir el origen y si es posible, utilizando la misma escala. Esto permite evaluar de manera comparativa el identificador vectorial de manera global.

De esta forma, tenemos representada toda la información que volcamos al sistema digital y la que deseamos obtener, para cumplir con los objetivos de diseño.

c. Ecuaciones Lógico Aritméticas: Se presentan las expresiones algebraicas con las que el sistema debe cumplir,

pueden ser lógicas, aritméticas o de cualquier tipo. Mediante esta forma de presentación del sistema digital, partimos conociendo los vectores puestos en juego y el

identificador vectorial, lo que facilita arduamente el diseño. Por consiguiente, es la forma más sencilla y precisa. Se puede además especificar restricciones o necesidades especiales para los vectores con los que se trabaja.

Page 40: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

2. Determinación de Variables y Vectores: a. Definición de Variables, Vectores e Identificador Vectorial: A partir de las necesidades de diseño de un sistema

digital, puede ocurrir que los datos estén: Perfectamente definidos, ya se cuenta con el conocimiento lógico y tecnológico de las variables, vectores e

identificador vectorial. En general ocurre cuando los requerimientos de diseño se presentan en forma de diagramas temporales o ecuaciones lógicas.

Datos parcialmente definidos o Indefinidos, lo que ocurre cuando los requerimientos son verbales, no existe una definición explícita de las variables, por ende tampoco de los vectores e IV.

Se buscan las variables y funciones que se pondrán en juego para el procedimiento de diseño mediante un análisis profundo y exhaustivo. Una vez determinados todos los vectores (IV del sistema), es conveniente realizar un diagrama en blocks con los mismos.

b. Características de los Vectores: Una vez definidos los vectores, es necesario conocer el

estado lógico, tecnológico y funcional de los mismos. Es importante distinguir que toda variable digital binaria tiene dos estados perfectamente diferenciados: Estado de Reposo: Es aquel en el que se encuentra la variable cuando el sistema está

desactivado ó en el que permanece la mayor parte del tiempo. Estado de Excitación: Estado al cual pasan las variables cuando se excitan. El tipo de Excitación está determinado por parámetros externos.

3. Análisis de Funcionamiento: En esta etapa se determina el funcionamiento lógico del sistema digital, por consiguiente, cualquier error de conocimiento y/o análisis funcional cometido será insalvable posteriormente. Se puede realizar un diagrama de flujo de funcionamiento, en donde se consideren las necesidades funcionales, flujos anormales, errores, señalización, etc. Una vez conocido el flujo funcional del sistema, que establece los lineamientos elementales y externos del mismo, se realiza un análisis más cercano al circuito digital a través de un diagrama que va analizando estado a estado (Diagrama funcional de Estados o Diagrama de Estados) El diagrama funcional de estados se caracteriza por un seguimiento detallado de las variaciones numéricas del IV, es decir, la consideración de los distintos estados por los que transita es sistema digital deseado. Para realizar el diagrama funcional de estados, debemos considerar: Tabla de Requerimientos y Objetivos, Diagramas de Tiempo y ecuaciones lógicas, características lógicas de los vectores establecidos, y diagrama de flujo de funcionamiento, a partir de ello:

1) Partiendo del estado de reposo, se traza un diagrama, en donde se van produciendo las variaciones adecuadas de los vectores independientes.

2) Se establecen en primer lugar, las transiciones a nuevos estados por variación del o los vectores independientes y determinando lo que se espera o necesita de los vectores funcionales. Se obtienen los resultados específicos para cada vector funcional.

Page 41: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

A partir de los diagramas de funcionamiento posibles de un sistema digital, podemos inferir que habrá dos tipos de ellos:

Diagramas Definidos: Aquellos en los cuales cada estado queda unívocamente definido por los vectores que componen el IV. No se repiten estados para los vectores Independientes.

Diagramas Indefinidos: Aquellos en los cuales cada estado no solo depende de los vectores independientes, sino también de los otros estados del mismo diagrama. (Debe recordarse el camino transitado para saber que hacer).

Estas diferencias en los diagramas de funcionamiento identifican dos tipos de Sistemas Digitales:

Sistemas Digitales Combinacionales: Son aquellos en donde las funciones de salida quedan perfectamente definidas por la combinación de las variables de entrada (Para cada dirección de los Vectores Independientes hay un único estado en el diagrama de funcionamiento). Por consiguiente, la cantidad de estados posibles es finita y es como máximo 2𝑛𝑛, donde n es el número de variables independientes.

Sistemas Digitales Secuenciales: Son aquellos en donde cada estado no queda definido solamente por el valor

de los vectores, sino que depende también de la secuencia de estados que ha seguido el funcionamiento del mismo.

Los dos sistemas indicados tienen camino de diseño distinto, por ende el proceso de diseño se divide en dos ramas. Si a través del diagrama de estados no queda claro qué tipo de sistema estamos diseñando, puede realizarse una tabla de funcionamiento provisoria para tal fin.

Tabla de Funcionamiento: En una tabla de tres Columnas: Vectores Independientes, Vectores Funcionales y Estados de Funcionamiento; se van colocando en cada fila las direcciones de los vectores correspondientes y el estado al que corresponden. Para el caso de Sistemas Combinacionales, la tabla quedará perfectamente explicitada, para cada vector independiente existe un único vector de salida y por ende un único estado. En un sistema secuencial, la tabla no quedará perfectamente definida, la dirección de los vectores no identificará unívocamente a cada estado.

Vectores Independientes

Vectores Funcionales

Estados

Page 42: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

El siguiente diagrama muestra el procedimiento de diseño de Sistemas Digitales, sea combinacional o secuencial

Page 43: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Estándares de Documentación: Una buena documentación es esencial para el diseño eficiente de sistemas digitales. Por regla, una documentación al menos debe contener los siguientes seis elementos:

1. Especificación de Circuito: Especificación que describe lo que se supone que debe hacer el circuito o sistema, incluyendo la descripción de entradas y salidas.

2. Diagrama de Bloques: Descripción pictórica e informal de los principales módulos del sistema y su interconexión.

3. Diagrama Esquemático: Especificación formal de los componentes eléctricos del sistema, sus interconexiones y todos los detalles necesarios para construir el sistema, incluyendo tipos de CI e indicadores. Es interesante que también se incluya un diagrama Lógico y la cuenta de materiales.

4. Diagrama de Temporización: Muestra los valores de diversas señales lógicas en función del tiempo, incluyendo retardos de causa y efecto entre las señales críticas.

5. Descripción de Lógica Estructurada: Indica la función interna de un dispositivo de lógica programada (PLD), arreglo de compuertas programables (FPGA) o circuito integrado de aplicación específica (ASIC). Normalmente, dicha descripción se hace sobre un HDL (Lenguaje de Descripción de Hardware), pero puede estar en forma de ecuaciones lógicas, tablas de estados, o diagramas de estado. Puede utilizarse un lenguaje de software convencional como C, para modelar el funcionamiento del circuito.

6. Descripción del Circuito: Documento narrativo que en conjunto de la documentación, explica el funcionamiento interno del circuito. Debe incluir suposiciones, posibles fallas y también señalar cualquier truco de diseño que no sea obvio.

Nombres de Señales y Niveles Activos:

Para continuar con un procedimiento de diseño adecuado, a cada entrada y salida del circuito lógico se le debe colocar una etiqueta alfanumérica descriptiva con el nombre de la señal. Además, cada nombre deberá tener un nivel activo asociado a él. Una señal es activa-alta (asertiva), si realiza la acción nombrada o indica la condición nombrada cuando está en nivel alto (1 Lógico). Una señal es activa-baja (des-asertiva) cuando realiza la acción o condición nombrada y está en nivel bajo (0 lógico). Para denotar el nivel activo de cada señal en el circuito debe especificarse junto con el nombre bajo alguna convención. Ej: READY; READY_L, el sufijo _L denota LOW.

Niveles Activos para Terminales:

Podemos asociar los terminales de entrada y salida de las compuertas y elementos lógicos con las terminales de entrada y salida de las compuertas. Empleamos una burbuja de inversión para indicar una terminal activa baja y la ausencia de una burbuja para indicar una terminal activa alta. Las burbujas de inversión indican que deben aplicarse ceros lógicos a las terminales de entrada para activar las funciones lógicas. En ocasiones se utiliza un buffer no inversor para incrementar el fan-out de una señal lógica sin modificar su función.

Diseño de Lógica Burbuja-Burbuja:

El diseño burbuja-burbuja consiste en la elección de los símbolos lógicos y nombres de señal, incluyendo las denominaciones de nivel activo que facilitan la comprensión de un circuito lógico. Significa seleccionar los nombres, tipos y símbolos de las compuertas de modo tal que la mayoría de las burbujas de inversión se cancelen, y el diagrama lógico pueda analizase como si todas las señales fuesen activas altas.

Page 44: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Reglas de Diseño: 1. El nombre de la señal en una salida de dispositivo deberá tener el mismo nivel activo que la terminal de salida. 2. Si el nivel activo de una señal de entrada es el mismo que el de la terminal de entrada a la cual se encuentra

conectada, entonces la función lógica se activa cuando la señal es asertiva. 3. Si el nivel activo de una señal es opuesto al de la terminal de entrada a la que está conectada, entonces la

función lógica es activada cuando la señal es negada, caso que debemos tratar de evitar para obviar seguir una pista de negación en la comprensión del circuito.

Representación de la Ubicación de los Componentes:

Los diagramas lógicos y esquemáticos deben dibujarse con las compuertas en sus posiciones normales, con las entradas a la izquierda y las salidas a la derecha.

El flujo general de las señales de un sistema debe dirigirse de izquierda a derecha. Si una entrada o salida apareciera a mitad de la página debe extenderse hacia el extremo o izquierdo o derecho.

Para distinguir entre líneas que se cruzan y líneas que se conectan, se adopta por convención la interconexión tipo “T”.

Se recomienda trabajar siempre los diagramas esquemáticos en forma panorámica (horizontal). Diagramas esquemáticos que no se ajusten a una única página deberán dividirse en páginas individuales de

modo tal que se minimicen las conexiones. Las señales deberán tener una referencia a todos sus destinos. Pueden construirse también diagramas esquemáticos ordenados de manera jerárquica: El diagrama de nivel

superior es una página simple que puede tomar el lugar de un diagrama de bloques, los bloques o subsistemas se convierten en páginas de nivel inferior, las cuales pueden contener descripciones a nivel compuertas o bloques de jerarquías inferiores.

Los buses son colecciones de dos o más líneas relacionadas. Los diagramas esquemáticos completos indican el tipo de CI (Nombre: Familia Lógica, Velocidad).

Temporización de un Circuito:

Las salidas de un circuito real necesitan tiempo para reaccionar ante los cambios de las entradas.

Un diagrama de temporización muestra el comportamiento lógico de las señales de un circuito digital como función del tiempo (Fundamentales en la Documentación de un Sistema Digital), y pueden usarse tanto para explicar las relaciones de tiempo entre señales de un sistema, como para definir los requerimientos de temporización de señales externas que actuarán sobre el mismo.

Las flechas que ocasionalmente se dibujan en diagramas complejos indican causalidad: “Cuales transiciones de entrada generan las correspondientes transiciones de salida”

La información más importante que proporciona un diagrama de tiempo es una especificación del retardo entre las transiciones; El retardo a través de cualquier

trayectoria determinada puede variar dependiendo si la salida está cambiando de Bajo a Alto ó de Alto a Bajo.

El retardo en un diagrama y un circuito real se mide normalmente entre los puntos centrales de las transiciones (50% de la rampa). Además, se suele incluir junto con el diagrama, una tabla de temporización que especifica cada tiempo de retardo y las condiciones en que es válido.

Page 45: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

La tabla puede especificar valores dentro de un intervalo (mínimo, típico y máximo), ya que en los componentes digitales reales el tiempo de retardo será función de la tensión, temperatura y parámetros de fabricación.

Retardo de Propagación: El retardo de propagación de una señal es el tiempo que necesita un cambio en la entrada de la trayectoria para producir un cambio en la salida. Un circuito combinacional con muchas entradas y salidas tiene muchas trayectorias diferentes, y cada una puede tener un retardo de propagación distinto. Además, el retardo de propagación cuando la salida cambia de Bajo a Alto (𝑡𝑡𝑝𝑝𝑝𝑝𝑝𝑝) puede ser diferente que cuando cambia de Alto a Bajo (𝑡𝑡𝑝𝑝𝑝𝑝𝑝𝑝).

Un diseñador lógico que combina distintos CI en un circuito más complejo utiliza las especificaciones individuales de cada dispositivo para analizar la temporización. El retardo de una trayectoria a través de un circuito es igual a la suma de los retardos a través de las subtrayectorias de los dispositivos individuales.

Especificaciones de Temporización: Cada dispositivo en su tabla de temporización puede indicar valores mínimos, típicos y máximos para cada trayectoria de retardo de propagación:

Diseñar en función del máximo es lo más frecuente, puesto que nunca habrá una trayectoria con mayor retardo de propagación que la especificada. El retardo típico es el que se observará en un dispositivo que fue fabricado un “buen día” y funciona bajo condiciones cercanas a las ideales. Mientras que el mínimo es el retardo de propagación más pequeño que puede exhibir una trayectoria. Si este no se especifica el diseñador lo supone cero. Análisis de Temporización: Para analizar con precisión la temporización de un circuito que contiene varios dispositivos SSI y MSI, un diseñador debe estudiar el comportamiento lógico con bastante detalle. Volviéndose más complicado aún si hay múltiples MSI en la trayectoria de retardo, o si existen múltiples trayectorias desde una señal de entrada para una señal específica de salida.

Los diseñadores, a menudo simplifican este análisis bajo el concepto del “peor de los casos”. El retardo del peor de los casos a través de un circuito se calcula como la suma del retardo del peor de los casos (máximo de las especificaciones) de todos los componentes individuales. Esto ahorra tiempo de diseño y garantiza el funcionamiento del circuito.

Herramientas para el Análisis de Temporización: Existen herramientas CAD para facilitar el análisis. Un simulador nos permite aplicar secuencias de entrada y observar cómo y cuándo se producen las salidas. Por lo general permite controlar los valores de retardo máx., mín. y típico. Si bien algunos programas pueden calcular de forma automática todas las trayectorias posibles de un circuito, el diseñador siempre tiene que aplicar sus conocimientos para interpretar correctamente los resultados.

Page 46: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

1.6 LENGUAJES DE DESCRIPCIÓN DE HARDWARE:

HDL: Un lenguaje de descripción de hardware (HDL, Hardware Description Language) es un lenguaje de programación

especializado que se utiliza para definir la estructura, diseño y operación de circuitos electrónicos, y más comúnmente, de circuitos electrónicos digitales. Así, los lenguajes de descripción de hardware hacen posible una descripción formal de un circuito electrónico, y posibilitan su análisis automático y su simulación.

En un primer momento, los HDL eran utilizados para el modelado y documentación de sistemas digitales. Luego, las herramientas de síntesis permitieron diseñar, simular y sintetizar cualquier circuito en un chip.

VENTAJAS DE LOS HDL - Si bien los HDL nacen para la descripción y simulación del hardware, su uso se ha generalizado en el diseño y síntesis del mismo. - Permiten intercambio entendible entre distintos equipos de trabajo. - Son de disponibilidad pública. - Soportan descripciones con múltiples niveles de abstracción. - No dependen de la metodología. - Proporcionan códigos reutilizables. - Pueden depender o no de la tecnología.

DESVENTAJAS DE LOS HDL - Evolución lenta con muchas diferencias entre las versiones sucesivas. - El no poseer una semántica matemática formal, la portabilidad se ve limitada. COMPARATIVA ENTRE HDLS VHDL:

• Sintaxis parecida al lenguaje ADA • Sintaxis más compleja • Gran número de tipos de datos

Verilog: • Sintaxis parecida al lenguaje C • Sintaxis más simple • Número de tipos de datos reducido

AHPL: “A Hardware Programming Languaje” fue desarrollado por la Universidad de Arizona con fines didácticos para enseñar arquitectura de computadoras. Sin embargo, luego se lo consideró un HLD por incorporar un compilador y simulador. Este lenguaje describe el funcionamiento del Hardware mediante un único modelo de flujo de datos ente los puertos y submódulos

VHDL: VHDL es un lenguaje definido por el IEEE (Institute of Electrical and Electronics Engineers) (ANSI/IEEE 1076-1993)

usado por ingenieros para describir circuitos digitales. VHDL es el acrónimo que representa la combinación de VHSIC y HDL, donde VHSIC es el acrónimo de Very High Speed Integrated Circuit y HDL es a su vez el acrónimo de Hardware Description Language.

Aunque puede ser usado de forma general para describir cualquier circuito se usa principalmente para programar PLD (Programable Logic Device - Dispositivo Lógico Programable), FPGA (Field Programmable Gate Array), ASIC y similares.

Page 47: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Enfoques de Diseño: Según sea el tipo de diseño, podemos definir dos metodologías buttom up (ascendente) o top down (descendente), estas se basan en el enfoque que utilizado para llegar al sistema digital:

TOP DOWN

Nivel Funcional Funciones y Algoritmos que relacionan las E/S

↑ BUTTON UP

Nivel Arquitectural Componentes funcionales que interconectados definen la arquitectura

Nivel Físico Materialización a nivel eléctrico y geométrico para una tecnología.

Flujo de Diseño:

Desarrollo Realización

1. Planteo del Sistema: Diagrama en Bloques funcional y Jerárquico del Sistema. Definición de Módulos e

Interfaces

2. Codificación: Escribir código VHDL para todos los componentes, módulos e interfaces. Los IDE de VHDL contienen un editor de texto

especializado.

3. Compilación: El compilador VHDL trasforma el programa fuente en objeto, para ello hace

previamente una depuración. Aquí también, reúne toda la información necesaria para la simulación del

proyecto.

4. Verificación: (Funcional y Temporal). Primero se comprueba el funcionamiento del circuito sin incluir variables temporales (sin

retardos). Luego, se verifica los resultados del circuito real a partir de retardos estimados (ya que aún no se han seleccionado circuitos reales

de síntesis). La simulación permite definir entradas y aplicarlas al prototipo, para analizar los distintos módulos y verificar las salidas.

NOTA: La verificación temporal es aproximada ya que se basa en valores estimados, nos sirve para verificar si los criterios de diseño son buenos. En el proceso de síntesis se establecerán los circuitos específicos y ahí se tomarán en cuenta tiempos más realistas de acuerdo a la tecnología, componentes, etc.

1. Síntesis: Convierte la descripción VHDL en componentes que articularán en un circuito real para una

tecnología adecuada (Puede especificarse el tipo de Circuito o Tecnología, y provee herramientas para cada

caso)

2. Ajuste y Enrutamiento: Herramientas que mapean las ecuaciones o componentes de acuerdo a

los recursos disponibles, componentes y restricciones impuestas por el usuario

3. Verificación Completa: En esta etapa se verifica mediante simulación todo el circuito con

tiempos reales de componentes, buses, etc.Por lo general se utilizan los mismos bancos que en la

verificación de Desarrollo

SISTEMA DIGITAL: Objetivos

Depuración

Simulación

SISTEMA DIGITAL

Page 48: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Modelos: La descripción y simulación de Hardware en VHDL es permitida gracias a Modelos que permiten asignar a la Estructura propiedades de concurrencia y tiempo:

El modelo de Estructura define a un componente, que puede ser llamado en cualquier instancia mediante el uso de la sentencia “COMPONENT” (Este está conformado por una entidad y una Arquitectura).

Además de la descripción es necesario un modelo de Concurrencia (Ya que todos los circuitos trabajan y coexisten al mismo tiempo). Esto hará que los procesos se efectúen de manera paralela con el resto, aunque internamente ejecuten de manera secuencial. • Un Proceso se ejecutará si hay un cambio

en alguna señal a la que es sensible • El proceso se detendrá al encontrar un

WAIT • La Señal (SIGNAL) será el nexo entre

procesos que tienen asociadas las colas de eventos

Un Modelo de tiempo, permitirá observar el comportamiento del Sistema en el Tiempo: SIMULACIÓN. La Simulación se manejará por eventos (cambio de una señal), y finalizará cuando no existan más eventos. Habrá un retardo entre la finalización de los procesos y la actualización de los valores de las señales.

Definición y representación de Módulos: Dentro del VHDL hay varias formas con las que podemos diseñar el mismo circuito y es tarea del diseñador elegir la más apropiada.

Funcional o Algorítmico: Describimos la forma en que se comporta el circuito mediante un algoritmo que se ejecuta secuencialmente. Esta es la forma que más se parece a los lenguajes de software ya que la descripción es secuencial. Estas sentencias secuenciales se encuentran dentro de los llamados procesos en VHDL. Los procesos son ejecutados en paralelo entre sí, y en paralelo con asignaciones concurrentes de señales y con las instancias a otros componentes.

Flujo de datos: describe el funcionamiento de un circuito mediante un

conjunto de asignaciones concurrentes (en paralelo) de señales. Existirá una correspondencia directa entre el código y el hardware. Esta es una descripción funcional y estructural

Estructural: se describe el circuito con instancias de componentes interconectados mediante señales. Este tipo de descripciones no incluye funcionalidad (por lo que son sólo estructurales o de jerarquía). Primero se declaran todos los componentes, y luego se los interconecta.

Mixta: combinación de todas o algunas de las anteriores.En VHDL también existen formas metódicas para el diseño de máquinas de estados, filtros digitales, bancos de pruebas etc.

architecture Algoritmico of Mux21 is begin

process (a, b, ctrl) begin

if (ctrl = '0') then z <= a;

eIse z <= b;

end if; end process;

end Algoritmico;

architecture FlujoDatos of Mux21 is signal ctrl_n, n1, n2 : bit; begin

ctrl_n <= not (ctrl) after 1 ns; n1 <= ctrl_n and a after 2 ns; n2 <= ctrl and b after 2 ns; z <= (n1 or n2) after 2 ns;

end FlujoDatos;

architecture Estructural of Mux21 is signal ctrl_n, n1, n2 : bit; component INV

port ( y : in bit; z : out bit);

end component; …. begin U0: INV port map (ctrl, ctrl_n); U1: AND2 port map (ctrl_n, a, n1); U2: AND2 port map (ctrl, b, n2); end Estructural;

Page 49: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Estructuras de Programas:

VHDL fue diseñado con base a los principios de la programación estructurada. La idea es definir la interfaz de un módulo de hardware mientras deja invisible sus detalles internos. La entidad (ENTITY) en VHDL es simplemente la declaración de las entradas y salidas de un módulo mientras que la arquitectura (ARCHITECTURE) es la descripción detallada de la estructura interna del módulo o de su comportamiento.

Muchos diseñadores conciben la Entity como una funda de la arquitectura dejando invisible los detalles de lo que hay dentro (architecture). Esto forma la base de un sistema de diseño jerárquico, la arquitectura de la entidad de más nivel (top level) puede usar otras entidades, dejando invisible los detalles de la arquitectura de la identidad de menos nivel. A la pareja entidad-arquitectura se la llama modelo. En un fichero texto VHDL la entidad y la arquitectura se escriben separadas

Entidades: Tal como se lo expuso anteriormente, una entidad en VHDL es una “descripción” que modela al componente

como Caja Negra (lo abstrae de los detalles específicos). Esto facilita la interconexión y jerarquización de los componentes dentro del sistema digital. La Sintaxis para declararla dentro de un compilador VHDL es:

Donde además de un nombre para identificarla, se def inen las señales que podrán ser accesibles

desde el exterior y su modo de operación.

Ç

Arquitecturas:

Los bloques de arquitecturas describen el funcionamiento o estructura interna de cada entidad. Su Sintaxis de declaración en un compilador VHDL es:

A una Arquitectura se la identifica dentro del código mediante un nombre, y a la misma se la refiere a la identidad que describe.

Las declaraciones mencionadas pueden no estar todas presentes, esto dependerá del diseño que se esté realizando.

ENTITY Nombre_entidad IS PORT ( Nombre de señal: modo tipo de señal; . . . Nombre de señal: modo tipo de señal ); END nombre_entidad ;

ARCHITECTURE nombre_arquitectura OF nombre_entidad IS Declaración de tipos Declaración de señales. Declaración de componentes Definición de funciones Definición de procedimientos BEGIN Enunciado concurrente . . . END nombre_arquitectura;

Page 50: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Operadores en VHDL: Operadores Definidos en VHDL para los tipos:

Lógicos AND, OR, XOR, NOT, NAND, NOR, XNOR Bit y Booleanos De relación =, /=, <, >, >=, <= Cadenas Aritméticas +, -, *, /, Mod, Rem, Abs (Mod: Modulo de la división. Rem: Resto de la división Abs: valor absoluto)

Identificadores Básicos:

Las palabras reservadas dentro del compilador no son sensibles a las mayúsculas o minúsculas VHDL ignora los espacios y saltos de líneas. Los comentarios se escriben con 2 guiones (--) y terminan al final de

la línea. Existen asignaciones de forma condicional, mediante WITH, SELECT, WHEN, ELSE

Variables y Funciones:

Las variables en VHDL son similares a las señales excepto que ellas no tienen significado físico en el circuito. Estas son usadas en funciones, procedimientos y procesos. Todas las señales, variables y constantes en VHDL tienen asociadas un tipo, este especifica el conjunto de valores que el objeto puede tomar. También hay un conjunto de operadores tales como add, and, etc., asociados con un tipo dado.

Paquetes:

En los paquetes se guardan definiciones de tipos, subprogramas y objetos que pueden ser utilizados en los diferentes diseños que invoquen su utilización. De esta manera, se pueden hacer visibles las interfaces de los subprogramas y ocultar su descripción.

Los paquetes se separan en declaraciones y cuerpo, aunque la última puede eliminarse si no se definen funciones o procedimientos. La sintaxis para la definición de paquetes es:

Para acceder a los datos de un paquete, se debe indicar el nombre del paquete a utilizar seguido del elemento que se desea utilizar, separados por un punto.

Otra forma es:

USE work.mi_paquete.ALL

Librerías:

Cuando se realiza una descripción en VHDL se utilizan entidades, arquitecturas, y paquetes, en uno o más ficheros, éstos se denominan ficheros de diseño. Posteriormente, estos ficheros serán compilados para obtener una librería o biblioteca de diseño, de forma que esta biblioteca contiene los elementos que componen el circuito. La biblioteca donde se guardan los resultados de la compilación se denomina work.

Una librería se compone de dos partes bien diferenciadas, dependiendo de las unidades que la formen. Por un lado, están las unidades primarias, que corresponderán a entidades, paquetes y archivos de configuración. Mientras que

-- Declaración de paquete PACKAGE nombre IS declaraciones END [PACKAGE] [nombre]; -- Declaración del cuerpo PACKAGE BODY nombre IS declaraciones subprogramas ... END [PACKAGE BODY] [nombre];

Page 51: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

las unidades secundarias serán arquitecturas y cuerpos de paquetes. Por lo tanto, se puede sacar la conclusión de que cada unidad secundaria deberá estar asociada con una unidad primaria.

La forma que toma la librería una vez compilada es muy diversa; dependiendo de la herramienta de compilación utilizada así será el resultado obtenido, esto se debe a que en VHDL no existe un estándar para crear bibliotecas.

Para incluir una librería a un diseño basta con utilizar la palabra reservada LIBRARY seguida del nombre de la biblioteca a utilizar. Además, también es posible hacer visibles elementos internos de estas bibliotecas con el uso de la sentencia USE, como se explicó en el apartado anterior. En el caso de querer hacer visible todos los elementos de un paquete se puede utilizar la palabra reservada ALL.

En VHDL hay dos librerías que no hacen falta importarlas. Por un lado está la librería work, que contiene las unidades que se están compilando, y por otro lado, la librería std que contiene los paquetes standard y textio, las cuales contienen definiciones de tipos y funciones para el acceso a ficheros de texto.

Una de las bibliotecas más utilizadas en el mundo de la industria es la denominada ieee, la cual contiene algunos tipos y funciones que completan a las que vienen por defecto en el propio lenguaje. Dentro de la librería existe un paquete denominado std_logic_1164, con el cual se pueden trabajar con un sistema de nueve niveles lógicos, como puede ser: valor desconocido, alta impedancia, etc

Temporización: Una de las grandes características de VHDL es que puede introducir el tiempo dentro de las descripciones y

modelado de los circuitos. De manera simple, las instrucciones que se utilizan para introducir el tiempo como variable son:

AFTER: Permite especificar un retardo temporal en cualquier instrucción de asignación de señal. WAIT: Se utiliza para suspender un proceso durante un periodo de tiempo especificado.

Simulación: Una vez que se ha desarrollado y compilado el código VHDL, se realiza la verificación funcional y Temporal, lo

cual se hace por medio de la simulación. En una primera instancia el simulador inicializa las señales a un valor predeterminado (establecidas en la herramienta adecuada). También, inicializará cualquier variable o señal que se haya declarado explícitamente en el programa. A todo esto se lo conoce como Tiempo de Simulación Cero TS0 Luego, comenzará el Ciclo de Simulación. Aquí, el simulador comenzará a ejecutar todos los procesos e instrucciones concurrentes. Sin embargo como esto no es posible, se puede interpretar que lo realiza utilizando una “matriz de eventos temporales” y una “matriz de sensibilidad de señal”. Entonces, cada instrucción concurrente es equivalente a un proceso. Una vez que todos los procesos se encuentren preparados para su ejecución, se seleccionara uno de ellos y se ejecutarán a partir de él todas las instrucciones secuenciales, incluyendo todos los eventos repetitivos especificados en la descripción. Al finalizar la ejecución de este proceso, se seleccionará otro, y así sucesivamente hasta terminar la ejecución de todos completando el ciclo de simulación

U Indefinido

X Desconocido

0 0

1 1

Z Alta impedancia

W Desconocido

L LOW (weak low o 0 débil)

H HIGH (weak high o 1 débil) - Desconocido

Page 52: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

2.1 TECNOLOGÍA DE LOS SISTEMAS DIGITALES:

Escalas de Integración de CI:

SSI 1-10 Puertas/mm2 (Compuertas Lógicas) MSI 10-100 Puertas/mm2 (Circuitos Combinacionales y Secuenciales) LSI 100-1000 Puertas/mm2 (Dispositivos de Lógica Programable) VLSI 1000-10000 Puertas/mm2 ULSI >10000 Puertas/mm2

Familias Lógicas:

Page 53: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Parámetros Funcionales:

Cargabilidad de Entrada (FAN-IN): Es el máximo número de entradas que puede tener una compuerta lógica de una familia en particular. Dispositivos lógicos con mayor fan-in tienden a ser más lentos.

Cargabilidad de Salida (FAN-OUT): Es el máximo número de compuertas que se encuentran conectadas (y gobernadas) por una salida lógica.

Retardo de Propagación: Una trayectoria de señal es la ruta eléctrica de una señal particular de entrada hacia una señal particular de salida, en un elemento lógico. El retardo de propagación 𝒕𝒕𝒑𝒑 de una trayectoria, es el tiempo que requiere la entrada para producir un cambio en la señal de salida.

Tiempo de Propagación medio 𝑡𝑡𝑝𝑝𝑝𝑝: Se define como la media aritmética entre los tiempos medios de propagación del cambio de estado de la entrada a la salida en los casos que esta pasa de 0 a 1 y viceversa.

𝑡𝑡𝑝𝑝𝑝𝑝 =𝑡𝑡𝑝𝑝𝑝𝑝𝑝𝑝 + 𝑡𝑡𝑝𝑝𝑝𝑝𝑝𝑝

2

Tiempo de Conmutación: Cuando intentamos conmutar la salida de una puerta lógica de Bajo a Alto o Viceversa, existen tiempos que deben tenerse en cuenta para el diseño de sistemas digitales. Estos tiempos, denominados de conmutación se debe al cambio de operación (Encendido o Apagado) del dispositivo electrónico que controla la compuerta. Para el caso del transistor bipolar, esto es pasar de la saturación al corte o viceversa. Como vemos

en las características, el tiempo de encendido (Tiempo necesario para que el T conmute de apagado a encendido) estará dado por: 𝑡𝑡𝑂𝑂𝑂𝑂 =𝑡𝑡𝑝𝑝 + 𝑡𝑡𝑟𝑟

Donde: 𝒕𝒕𝒅𝒅: Tiempo de Retardo en la carga de Entrada e inicio de una respuesta de salida. (0 𝑎𝑎 10% 𝑑𝑑𝑑𝑑 𝐼𝐼𝐶𝐶𝐶𝐶)

𝒕𝒕𝒓𝒓: Tiempo de Subida (10 𝑎𝑎 90% 𝑑𝑑𝑑𝑑 𝐼𝐼𝐶𝐶𝐶𝐶).

𝑡𝑡𝑝𝑝 = τ1. 𝑉𝑉2+0.6𝑉𝑉2+𝑉𝑉1

𝜏𝜏1 = 𝑅𝑅𝐵𝐵. (𝐶𝐶𝑇𝑇𝑇𝑇 + 𝐶𝐶𝑇𝑇𝐶𝐶) 𝑡𝑡𝑟𝑟 = 𝜏𝜏𝑟𝑟𝑠𝑠

El tiempo total para que un transistor conmute de encendido a apagado (Saturación a Corte), se define como:

𝑡𝑡𝑂𝑂𝑂𝑂𝑂𝑂 = 𝑡𝑡𝑓𝑓 + 𝑡𝑡𝑠𝑠

Donde: 𝒕𝒕𝒔𝒔: Tiempo de Almacenamiento (100 𝑎𝑎 90% 𝑑𝑑𝑑𝑑 𝐼𝐼𝐶𝐶𝐶𝐶) 𝒕𝒕𝒓𝒓: Tiempo de Caída (90 𝑎𝑎 10% 𝑑𝑑𝑑𝑑 𝐼𝐼𝐶𝐶𝐶𝐶).

𝑡𝑡𝑠𝑠 =𝜏𝜏𝑠𝑠(𝑠𝑠 − 1)

𝑠𝑠 + 𝐼𝐼𝐵𝐵2𝐼𝐼𝐵𝐵𝑠𝑠𝐵𝐵𝐵𝐵

Analicemos en Detalle a que se debe cada uno de estos tiempos en la conmutación:

Page 54: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

El tiempo de retardo (𝑡𝑡𝑝𝑝) se debe principalmente a: a) Tiempo necesario para cargar la Capacidad de Transición de la unión de emisor. b) Tiempo no nulo que requieren los portadores minoritarios que comienzan a inyectarse en la base para llegar al

colector. c) Tiempo necesario para que la concentración de portadores minoritarios en la base alcance el valor de 0.1𝐼𝐼𝐶𝐶𝐶𝐶

El tiempo de subida (𝑡𝑡𝑟𝑟) se debe a que el transistor debe atravesar la zona activa antes de alcanzar la saturación.

El tiempo de almacenamiento (𝑡𝑡𝑠𝑠) se debe a que el transistor en saturación tiene un exceso de portadores minoritarios almacenados en la base (Fenómeno análogo al exceso de portadores minoritarios almacenados en la unión p-n de un diodo). Por lo que el transistor no puede responder hasta que este exceso de carga en saturación se haya eliminado.

Los tiempos de Conmutación pueden minimizarse mediante:

Uso de un capacitor paralelo a la resistencia de Base. Esto permitirá brindar un camino rápido para la descarga de los portadores minoritarios en exceso, ya que cuando la polaridad de la unión Base-Emisor cambie el capacitor se descargará sobre la resistencia de base disminuyendo el tiempo 𝑡𝑡𝑠𝑠.

Además, con esto conseguiremos una disminución en el tiempo de subida (𝑡𝑡𝑟𝑟), ya que ante un escalón de tensión en la entrada 𝐶𝐶𝑏𝑏 se comportará como un cortocircuito y aporta una corriente en disminución hasta llegar a 𝐼𝐼𝐵𝐵𝑠𝑠𝐵𝐵𝐵𝐵

Uso de un Diodo Schottky para evitar la Saturación: Colocando un diodo Schottky (𝑉𝑉𝑇𝑇 =0.25𝑉𝑉) entre la unión Base colector enclavamos el circuito para que el transistor no llegue a saturarse. Esto hace que el tiempo de almacenamiento (𝑡𝑡𝑠𝑠) disminuya de forma considerable.

Parte de la corriente de base se deriva a través del diodo, la reducción del tiempo de almacenamiento es a costa del incremento de consumo de energía.

Márgenes de Ruido: Por medio de las curvas de transferencia que nos brinda el

fabricante podemos definir los valores Lógicos Altos y Bajos, sin embargo, estas curvas representan valores típicos y en condiciones bastante ideales. Por ello, a la hora del diseño es importante basarse en los siguientes datos suministrados en la hoja de datos: • 𝑽𝑽𝑶𝑶𝑶𝑶𝑶𝑶í𝒏𝒏 : Mínimo voltaje de la salida en Alto. • 𝑽𝑽𝑰𝑰𝑶𝑶𝑶𝑶í𝒏𝒏: Mínimo voltaje de la entrada que será reconocido como Alto. • 𝑽𝑽𝑰𝑰𝑰𝑰𝑶𝑶á𝒙𝒙: Máximo voltaje en que la entrada será reconocida como Bajo. • 𝑽𝑽𝑶𝑶𝑰𝑰𝑶𝑶á𝒙𝒙: Máximo voltaje de la salida en Bajo

Page 55: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

A partir de ellos podemos definir al Margen de Ruido como la variación de tensión admisible en la entrada de una compuerta lógica sin que la salida del mismo cambie de estado. Existirán dos márgenes, uno para el estado lógico Alto y otro para Bajo.

𝑴𝑴𝑵𝑵𝑶𝑶 = 𝑽𝑽𝑶𝑶𝑶𝑶𝑶𝑶á𝒙𝒙 − 𝑽𝑽𝑰𝑰𝑶𝑶𝑶𝑶í𝒏𝒏 𝑴𝑴𝑵𝑵𝑰𝑰 = 𝑽𝑽𝑰𝑰𝑰𝑰𝑶𝑶á𝒙𝒙 − 𝑽𝑽𝑶𝑶𝑰𝑰𝑶𝑶á𝒙𝒙

Potencia:

En circuitos digitales se define la potencia disipada sobre una compuerta lógica sobre un ciclo de trabajo del 50%.

Potencia en Régimen Estático: Es la que ocurre cuando los niveles lógicos se encuentran estables (Se encuentran en Alto o Bajo). El consumo en estos casos es prácticamente despreciable ya que en su mayoría se debe a pérdidas. Para las lógicas activas, con transistores bipolares, tenemos:

𝑂𝑂𝑂𝑂𝑑𝑑𝑂𝑂𝑎𝑎𝑂𝑂𝑑𝑑𝑂𝑂 𝑑𝑑𝑂𝑂 𝑆𝑆𝑎𝑎𝑡𝑡𝑆𝑆𝑂𝑂𝑎𝑎𝑆𝑆𝑆𝑆ó𝑂𝑂: 𝑉𝑉 ≈ 0 ; 𝐼𝐼 = 𝐼𝐼𝑠𝑠𝐵𝐵𝐵𝐵 → 𝑃𝑃𝑇𝑇 ≈ 0 𝑂𝑂𝑂𝑂𝑑𝑑𝑂𝑂𝑎𝑎𝑂𝑂𝑑𝑑𝑂𝑂 𝑑𝑑𝑂𝑂 𝐶𝐶𝑂𝑂𝑂𝑂𝑡𝑡𝑑𝑑: 𝑉𝑉 = 𝑉𝑉𝐶𝐶𝐶𝐶𝑟𝑟𝐵𝐵𝐶𝐶 ; 𝐼𝐼 ≈ 0 → 𝑃𝑃𝑇𝑇 ≈ 0

Potencia en Régimen Dinámico: Es la disipación de potencia que ocurre durante las transiciones entre niveles lógicos, representa una magnitud importante en términos de consumo. Esta es dependiente del tiempo de transición ya que cuando el dispositivo se encuentra en conmutación debe pasar por la zona activa, sin embargo, lo es en mayor medida con las cargas capacitivas de salida.

Las transiciones de carga y descarga de las capacitancias de salida disipan potencia sobre la resistencia activa del dispositivo, volviéndose una fuente significativa de consumo de energía que será además, dependiente de la frecuencia y de la tensión de alimentación al cuadrado:

𝑷𝑷𝑫𝑫 = 𝒇𝒇.𝑽𝑽𝑪𝑪𝑪𝑪𝟐𝟐 .𝑪𝑪𝑰𝑰

Factor de Mérito: Se define al factor de mérito como el producto del tiempo de propagación por la potencia disipada de una compuerta dada. Este es un medio de comparación de familias tecnológicas interesante, ya que al vincular los factores Tiempo y consumo, cuanto menor sea el factor de mérito mejor será la compuerta evaluada.

𝑭𝑭𝑴𝑴 = 𝑷𝑷𝑫𝑫. 𝒕𝒕𝒑𝒑

Page 56: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

2.2 FAMILIAS LÓGICAS PASIVAS

Diodos:

Un diodo es un dispositivo semiconductor de dos terminales, podemos modelar su funcionamiento como si fuese un interruptor sencillo. De forma ideal, un diodo conducirá corriente en la dirección definida por la flecha que se muestra en su símbolo, y actuará como un circuito abierto ante cualquier corriente que intente atravesar la flecha en dirección opuesta.

Un diodo real, tiene una resistencia menor que infinito cuando se lo polariza inversamente, y mayor que cero cuando se lo polariza de manera directa.

Por consiguiente, cuando el diodo se encuentra conduciendo en directo, hay una caída de tensión que se incrementa a medida que aumenta la corriente (De

manera no proporcional).

Lógica de Diodos:

Podemos utilizar el funcionamiento del diodo para realizar operaciones lógicas, dado un sistema lógico alimentado con 5V, podemos dividir las tensiones en los siguientes intervalos:

Una compuerta AND puede construirse como indica la siguiente figura:

Si ambas entradas “x” y “y”, toman valores bajos, los dos diodos se encontrarán polarizados en directo, permitiendo que la corriente circule desde la fuente a la tierra, lo que veremos en la salida será un Bajo cuyo equivalente en tensión es 𝑉𝑉𝐷𝐷.

Si sólo una de las entradas toma el valor cero, sucederá lo mismo (Un diodo estará polarizado en directo, el otro en inverso).

Ahora bien, si las dos entradas se encuentran en alto, los diodos estarán polarizados en inverso (“no encienden”), y lo que veremos en la salida es la tensión de la fuente (Alto Lógico).

Una compuerta OR se construye de la siguiente manera:

Si las entradas “x” e “y” toman en simultáneo valores Bajos, los diodos se encuentran polarizados en inverso y no conducen, obteniendo en la salida un nivel Bajo. Si una entrada se encuentra en alto, uno de los diodos conducirá, y la tensión de salida comprenderá un nivel alto (𝑍𝑍 = 𝑉𝑉𝐶𝐶𝐶𝐶 − 𝑉𝑉𝐷𝐷). Si ambas entradas se encuentran en Alto, la salida también tomará el valor Alto.

La lógica de diodos es una lógica no inversora, no hay manera de obtener una inversión lógica por medio de un diodo. Cuando las compuertas lógicas de diodos se colocan en cascada, los niveles de voltajes lógicos se alejan de las líneas de alimentación. De esta manera, una compuerta de diodos debe estar seguida por un

amplificador de transistor para reestablecer los niveles lógicos.

Nivel de Señal Denominación V.Lógico 0-2 V Bajo 0 2-3 V M. de Ruido X 3-5 V Alto 1

Page 57: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

FAMILIAS LÓGICAS ACTIVAS CON BJT

Transistor Bipolar de Unión (BJT):

Un transistor bipolar de unión es un dispositivo semiconductor de tres terminales, que en circuitos lógicos actúa como un interruptor controlado por corriente.

Si colocamos una corriente pequeña en una de sus terminales (base), entonces el interruptor se encontrará encendido (La corriente fluirá del emisor hacia el colector). Si no hay corriente en la base, el transistor se encontrará apagado, y por ende se comportará como un interruptor abierto.

Según la construcción del transistor, puede ser de dos tipos: NPN o PNP. Sin embargo, en circuitos digitales los dispositivos PNP no son utilizados.

La corriente de un transistor NPN que fluye hacia afuera del colector es la suma de las corrientes de base y emisor. Estos, por lo general son utilizados como amplificadores de señales ya que en un cierto intervalo de operación (región activa) la corriente de colector es igual a una constante fija por la corriente de base (𝐼𝐼𝐶𝐶 = 𝛽𝛽𝐼𝐼𝐵𝐵).

En circuitos digitales, utilizamos al transistor como un interruptor, para ello debemos conmutar entre las regiones de operación de corte y saturación del mismo, frecuentemente configurándolo como emisor común.

Si no fluye la corriente de base, entonces no fluirá la corriente de colector y el transistor estará en corte (OFF). Puesto que la unión base emisor es un diodo real, la tensión de entrada 𝑉𝑉𝐸𝐸𝑁𝑁𝑇𝑇 debe alcanzar al menos 0.6V (Tensión de

Umbral del diodo base-emisor) antes que cualquier corriente de base pueda fluir. Por ley de Ohm: 𝐼𝐼𝐵𝐵 = 𝑉𝑉𝐸𝐸𝐸𝐸𝐸𝐸−0.6𝑅𝑅1

Cuando fluye la corriente de base, la corriente de colector lo hace de forma proporcional: 𝐼𝐼𝐶𝐶 = 𝛽𝛽𝐼𝐼𝐵𝐵

Ahora bien, la corriente de base también controla la tensión colector-emisor (𝑉𝑉𝐶𝐶𝐸𝐸) ya que 𝑉𝑉𝐶𝐶𝐸𝐸 = 𝑉𝑉𝐶𝐶𝐶𝐶 − 𝑅𝑅2. 𝐼𝐼𝐶𝐶. Si esta tensión es menor a 𝑉𝑉𝐶𝐶𝐸𝐸(𝑠𝑠𝑠𝑠𝑠𝑠) el transistor no se encuentra funcionando en la región activa, sino que se encuentra en saturación (está totalmente encendido). Para tal caso, se

aplica: 𝐼𝐼𝐶𝐶 = 𝑉𝑉𝐶𝐶𝐶𝐶−𝑉𝑉𝐶𝐶𝐸𝐸(𝑠𝑠𝑠𝑠𝑠𝑠)

𝑅𝑅2+𝑅𝑅𝐶𝐶𝐸𝐸(𝑠𝑠𝑠𝑠𝑠𝑠)

Page 58: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Inversor con Transistor:

Podemos que mediante la siguiente configuración de emisor común de un transistor NPN, obtenemos un inversor lógico. Si la tensión en la entrada es un Bajo, a la salida obtendremos un alto, y viceversa.

Los circuitos digitales se diseñan para que los transistores siempre operen en las regiones de corte y saturación, cuando el voltaje de entrada es Bajo, lo es tanto como para que 𝐼𝐼𝑏𝑏 = 0 y el transistor esté en corte. Cuando el voltaje de entrada es Alto (con 𝑅𝑅1 bajo y 𝛽𝛽 suficientemente alto), tanto como para que el transistor se sature para cualquier valor factible de 𝑅𝑅2, la unión colector-emisor parecerá un cortocircuito.

Transistor Schottky:

Cuando la entrada de un transistor cambia, la salida no se modifica de inmediato, le toma un tiempo extra salir de saturación (Tiempo de Almacenamiento). Este tiempo puede ser eliminado y el retardo de propagación reducido asegurando que los transistores no se saturarán en operación normal.

Las familias TTL contemporáneas añaden un diodo Schottky entre la base y el colector de cada transistor que podría saturarse, los transistores resultantes (que no se saturan) se denominan “Transistores Schottky”

En un transistor Schottky, el diodo Schottky deriva la corriente de base al colector antes que el transistor vaya a saturación.

Comúnmente, la tensión base-emisor (𝑉𝑉𝐵𝐵𝐶𝐶) de un transistor saturado es de 0.4V, cuando el diodo Schottky está polarizado en directo, su caída es mucho menor que la de un diodo estándar (0.25V) enclavando el circuito e impidiendo la saturación.

Lógica Resistor-Transistor (RTL):

Es una tecnología de circuitos integrados construido con resistencias como red de entrada y transistores como dispositivo de conmutación en la salida. Esta es la primera clase de lógica digital transistorizada.

La función lógica es realizada por medio de las resistencias de entrada, y la inversión en caso de que corresponda por el transistor de salida en emisor común.

Las ventajas de esta familia tecnológica radican en la sencillez del circuito (mínima cantidad de transistores) y la inmunidad al ruido.

Como desventajas se encuentran el Alto Consumo (consecuencia de la Carga Resistiva), Alta potencia disipada, y la necesidad de una fuente de alimentación externa para polarizar inversamente la base del transistor cuando todas las entradas se encuentran en estado cero a fin de reducir las corrientes de pérdidas del colector (Transistores de Ge). Otra desventaja es que la corriente de base de una sola entrada debe ser lo suficientemente grande como para saturar al transistor, por lo que al haber más de una entrada en alto puede producirse una sobresaturación disminuyendo la frecuencia máxima de conmutación del circuito.

Page 59: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Lógica Diodo-Transistor (DTL):

La lógica diodo-transistor utiliza una red pasiva de diodos en la entrada combinada con un inversor RTL para conformar una familia tecnológica con alto fan-in y fan-out.

Analicemos la compuerta NAND de la figura: Los diodos 𝐷𝐷3 y 𝐷𝐷4 proporcionan el umbral de tensión suficiente para que un cero en alguna de las entradas no haga pasar corriente de base al transistor creando un funcionamiento erróneo.

Las unidades de Fan-In y Fan-Out altos se deben a que las entradas consumen poca cantidad de corriente (corriente inversa del diodo) para la saturación del transistor. La salida en estado alto se comportará como fuente de corriente hacia otras entradas, mientras que cuando se encuentre en bajo actuará como sumidero recibiendo corriente de otras entradas hacia tierra.

Como desventaja, la descarga de los portadores almacenados en la base cuando la entrada se encuentra en Bajo es demasiado lenta, debido a que el único camino a tierra es R2.

La tecnología HTL (Lógica de Alto Umbral) se deprende de la DTL, a partir de la incorporación de diodos Zener para crear un gran desplazamiento entre los niveles lógicos alto y bajo. La utilización de esta nueva familia fue útil para la industria en donde se necesitaban mayores márgenes de ruido.

Lógica Transistor-Transistor (TTL):

En esta familia lógica tanto las etapas de entrada como las de salida están constituidas por transistores bipolares. Estas trabajan alimentadas a partir de 𝑉𝑉𝐶𝐶𝐶𝐶 = 5𝑉𝑉 ± 5% y aparecen como sucesores de la tecnología DTL.

Inversor TTL:

Analicemos una puerta inversora básica TTL:

Si: 𝒙𝒙 = 𝑳𝑳 → 𝑄𝑄1 = 𝑂𝑂𝑂𝑂 → 𝑄𝑄2 = 𝑂𝑂𝑂𝑂𝑂𝑂 → 𝒚𝒚 = 𝑯𝑯 𝒙𝒙 = 𝑯𝑯 → 𝑄𝑄1 = 𝑂𝑂𝑂𝑂 → 𝑄𝑄2 = 𝑂𝑂𝑂𝑂 → 𝒚𝒚 = 𝑳𝑳

Es interesante ver que cuando la entrada se encuentra en bajo, 𝑄𝑄1 se encontrará encendido y proveerá un camino de descarga a los portadores almacenados en la base de 𝑄𝑄2

Descripción Símbolo DTL Retardo de Propagación Máximo (ns) 30

Consumo de Energía por Compuerta (mW) 10 Voltaje de Salida de Nivel Bajo (V) 𝑉𝑉𝑂𝑂𝑂𝑂𝑂𝑂á𝑥𝑥 0.2 Voltaje de Salida de Nivel Alto (V) 𝑉𝑉𝑂𝑂𝑂𝑂𝑂𝑂í𝑛𝑛 4.8

Voltaje de Entrada Reconocido como Bajo 𝑉𝑉𝐼𝐼𝑂𝑂𝑂𝑂á𝑥𝑥 1.2 Voltaje de Entrada Reconocido como Alto 𝑉𝑉𝐼𝐼𝑂𝑂𝑂𝑂í𝑛𝑛 1.5

Fan Out 8 Tensión de Alimentación (V) 𝑉𝑉𝐶𝐶𝐶𝐶 5

Descripción Símbolo HTL Retardo de Propagación Máximo (ns) 150

Consumo de Energía por Compuerta (mW) 55 Voltaje de Salida de Nivel Bajo (V) 𝑉𝑉𝑂𝑂𝑂𝑂𝑂𝑂á𝑥𝑥 6.5 Voltaje de Salida de Nivel Alto (V) 𝑉𝑉𝑂𝑂𝑂𝑂𝑂𝑂í𝑛𝑛 8.5

Fan Out 10 Tensión de Alimentación (V) 𝑉𝑉𝐶𝐶𝐶𝐶 14-15

Page 60: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Análisis NAND TTL Básica:

La función NAND se obtiene de combinar una puerta AND de diodo o mediante un transistor de emisor múltiple con un buffer inversor. Para comprender el funcionamiento, es útil dividir la misma en tres bloques fundamentales:

Etapa de Entrada: Emisores múltiples que excitarán la base de 𝑄𝑄2 y diodos de protección contra ruidos de tensión negativa

Etapa de Excitación o Divisor de Fase, en ella, el transistor 𝑄𝑄2 excitará de manera complementaria las bases de 𝑄𝑄3 y 𝑄𝑄4 según sea el caso.

Etapa de Salida: Veremos que en tecnología TTL puede haber más de un tipo de salida, para este caso particular es “Tótem-Pole”.

Las salidas Tótem-Pole proveen un circuito rápido de conmutación ya que se componen de una configuración en emisor común (que proporciona rapidez de encendido) y una

en emisor seguidor (que brinda rapidez de apagado).

La resistencia de 120Ω se coloca para limitar la corriente de colector de 𝑄𝑄4 ya que durante la conmutación hay instantes en que ambos transistores se encuentran encendidos, generando interferencias y resultados erróneos.

El diodo entre medio de las dos configuraciones de transistores asegura el umbral de tensión necesario para que 𝑄𝑄4 permanezca apagado cuando 𝑄𝑄2 está saturado y excita a 𝑄𝑄3

El mismo análisis puede realizarse para una compuerta NAND LS-TTL, la misma implementa transistores Schottky para disminuir el tiempo de propagación y consumo:

El conjunto de diodos junto con la resistencia R1 forman la compuerta AND. El empleo de los diodos Schottky (D2) limita las excursiones negativas no deseadas en las entradas para una caída de diodo simple.

El transistor Q1 y los resistores que lo rodean conforman un divisor de fase que controla la etapa de salida, dependiendo si la compuerta AND devuelve un Bajo o un Alto, el transistor Q1 está en corte o encendido. Si Q1 se encuentra encendido el transistor estará configurado como emisor seguidor, siguiendo la fase de la entrada y Q2 no encenderá.

Y X 𝑸𝑸𝟏𝟏 𝑸𝑸𝟐𝟐 𝑸𝑸𝟑𝟑 𝑸𝑸𝟒𝟒 Z L L ON OFF OFF ON H L H ON OFF OFF ON H H L ON OFF OFF ON H H H OFF ON OFF ON L

Page 61: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

La etapa de salida tiene dos transistores Q4 y Q5, uno de los cuales se encuentra encendido en cualquier momento. Estos proporcionan aumento y disminución activos a los estados Alto y Bajo.

Puede comprenderse mejor el funcionamiento mediante la siguiente tabla:

Y X 𝑽𝑽𝑨𝑨 𝑸𝑸𝟏𝟏 𝑸𝑸𝟐𝟐 𝑸𝑸𝟑𝟑 𝑸𝑸𝟒𝟒 𝑸𝑸𝟓𝟓 𝑽𝑽𝒁𝒁 Z L L ≤ 1.05𝑉𝑉 OFF ON ON OFF OFF 2.7V H L H ≤ 1.05𝑉𝑉 OFF ON ON OFF OFF 2.7V H H L ≤ 1.05𝑉𝑉 OFF ON ON OFF OFF 2.7V H H H 1.2 ON OFF OFF ON ON ≤ 0.35V L

Un inversor TTL está diseñado como compuerta NAND de una entrada (Omitiendo los diodos de la entrada “y”).

Cuando la salida TTL se encuentra cambiando de Alto a Bajo o viceversa, existe un momento en que los dos transistores (Q3 y Q4) se encuentran encendidos. Por ello, el resistor R5 de 120Ω limita la corriente que fluye de 𝑉𝑉𝐶𝐶𝐶𝐶 a tierra en tales ocasiones.

Cuando la entrada de una segunda compuerta es controlada por una salida de la primera en Bajo, el transistor Q4 proporciona un camino a tierra para la corriente que fluye por el diodo de la segunda a la primera. En estas condiciones, se dice que la compuerta consume corriente.

Cuando la corriente fluye fuera de una salida TTL en Alto, se dice que la salida es una fuente de corriente.

Niveles Lógicos y Márgenes de Ruido:

𝑽𝑽𝑶𝑶𝑯𝑯𝑶𝑶í𝒏𝒏: Tensión de Salida mínima en estado Alto 𝑽𝑽𝑰𝑰𝑯𝑯𝑶𝑶í𝒏𝒏: Tensión de entrada mínima garantizada para ser reconocida como Alto 𝑽𝑽𝑰𝑰𝑳𝑳𝑶𝑶á𝒙𝒙: Tensión de Entrada máxima garantizada para ser reconocido como Bajo 𝑽𝑽𝑶𝑶𝑳𝑳𝑶𝑶á𝒙𝒙: Máxima Tensión de Salida en estado Bajo

Márgenes de Ruido en CD: En general, en circuitos TTL y TTL compatibles, el margen de ruido en estado Alto es mayor al del estado Bajo. Por ende, tienden a ser más sensibles al ruido en estado Bajo que en Alto.

Característica de Transferencia: La siguiente curva característica corresponde a una compuerta inversora TTL, en ella, podemos distinguir el estado de cada transistor que compone el circuito.

Page 62: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

FAN-OUT:

El Fan-Out es el número máximo de entradas de compuertas que se encuentran conectadas (y controladas) por una sola salida de compuerta.

El flujo de corriente en una terminal de entrada o salida TTL está definida como positiva si la corriente fluye dentro de esta, y negativa si la corriente fluye hacia afuera de la terminal. Como resultado, si una salida se conecta a una o más entradas, la suma algebraica de todas las corrientes de entrada y salida es 0.

La cantidad de corriente requerida por una entrada TTL depende de si la entrada es Alto o Bajo, y se especifica mediante los siguientes parámetros:

𝑰𝑰𝑰𝑰𝑳𝑳𝑶𝑶á𝒙𝒙: Es la corriente máxima que requiere una entrada para llevarla a Bajo. Puesto que la corriente fluye hacia fuera de una entrada TTL en Bajo (𝑉𝑉𝐶𝐶𝐶𝐶 𝑎𝑎 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑎𝑎), esta corriente tiene un valor negativo, comúnmente: 𝐼𝐼𝐼𝐼𝑂𝑂𝑂𝑂á𝑥𝑥 = −0.4𝑚𝑚𝑚𝑚. Suele llamarse, carga unitaria de estado Bajo para LS-TTL.

𝑰𝑰𝑰𝑰𝑯𝑯𝑶𝑶á𝒙𝒙: Es la corriente máxima que requiere una entrada para llevarla a Alto. Puesto que la corriente fluye dentro de una entrada TTL en Alto, esta tiene un valor positivo, comúnmente: 𝐼𝐼𝐼𝐼𝑂𝑂𝑂𝑂á𝑥𝑥 = 20𝜇𝜇𝑚𝑚. Suele denominarse, carga unitaria de estado Alto para LS-TTL.

Las salidas TTL pueden suministrar (como fuente) o consumir (como sumidero) cierta cantidad de corriente dependiendo del estado en que se encuentren:

𝑰𝑰𝑶𝑶𝑳𝑳𝑶𝑶á𝒙𝒙: Es la máxima corriente que una salida puede consumir en estado Bajo mientras se mantiene un voltaje de salida no mayor a 𝑉𝑉𝑂𝑂𝑂𝑂𝑂𝑂á𝑥𝑥 . Puesto que esta corriente fluye en la salida tiene un valor positivo, comúnmente: 𝐼𝐼𝑂𝑂𝑂𝑂𝑂𝑂á𝑥𝑥 = 8𝑚𝑚𝑚𝑚 para LS-TTL

𝑰𝑰𝑶𝑶𝑯𝑯𝑶𝑶á𝒙𝒙: Es la máxima corriente que una salida puede entregar en estado Alto, mientras se mantiene un voltaje de salida no menor a 𝑉𝑉𝑂𝑂𝑂𝑂𝑂𝑂í𝑛𝑛. Puesto que la corriente fluye fuera de la salida tiene un valor negativo, comúnmente: 𝐼𝐼𝑂𝑂𝑂𝑂𝑂𝑂á𝑥𝑥 = −400𝜇𝜇𝑚𝑚 para LS-TTL

El valor de 𝑰𝑰𝑶𝑶𝑳𝑳𝑶𝑶á𝒙𝒙 es 20 veces el valor absoluto de 𝑰𝑰𝑰𝑰𝑳𝑳𝑶𝑶á𝒙𝒙. Como resultado LS-TTL tiene un FAN-OUT en Bajo de 20. El valor de 𝑰𝑰𝑰𝑰𝑯𝑯𝑶𝑶á𝒙𝒙 es 20 veces el valor absoluto de 𝑰𝑰𝑶𝑶𝑯𝑯𝑶𝑶á𝒙𝒙. Como resultado LS-TTL tiene un FAN-OUT en Alto de 20.

𝑂𝑂𝑚𝑚𝑂𝑂𝑂𝑂𝐹𝐹𝑇𝑇𝑂𝑂 = 𝐼𝐼𝑂𝑂𝑂𝑂𝑂𝑂á𝑥𝑥|𝐼𝐼𝐼𝐼𝑂𝑂𝑂𝑂á𝑥𝑥| = 20 𝑂𝑂𝑚𝑚𝑂𝑂𝑂𝑂𝐹𝐹𝑇𝑇𝑂𝑂 = 𝐼𝐼𝐼𝐼𝐼𝐼𝑂𝑂á𝑥𝑥

|𝐼𝐼𝑂𝑂𝐼𝐼𝑂𝑂á𝑥𝑥| = 20

Los parámetros de corriente anteriores determinan la capacidad de Fan-Out de la salida:

Fan-Out (H) Se suman todos los valores 𝐼𝐼𝐼𝐼𝑂𝑂𝑂𝑂á𝑥𝑥 para todas las entradas controladas.

La suma debe ser menor que 𝐼𝐼𝑂𝑂𝑂𝑂𝑂𝑂á𝑥𝑥 de la salida que controla.

Fan-Out (L) Se suman todos los valores de 𝐼𝐼𝐼𝐼𝑂𝑂𝑂𝑂á𝑥𝑥 para todas las entradas controladas

La suma debe ser menor que 𝐼𝐼𝑂𝑂𝑂𝑂𝑂𝑂á𝑥𝑥 de la salida controlada.

Parámetro muy importante cuando la salida controla entradas en una o más diferentes familias.

Entradas Sin Utilizar:

Las entradas sin utilizar pueden ser vinculadas a entradas utilizadas (una compuerta de 𝑛𝑛 + 1 entradas es equivalente a una de 𝑛𝑛, si dos entradas se conectan entre sí), o pueden ser llevadas a un valor lógico Alto o Bajo según sea apropiado para la función lógica.

Sin embargo, para llevar una entrada a un valor lógico determinado, en la tecnología TTL es muy necesario colocar un resistor de arranque o disminución, el valor de esta resistencia es crítico ya que las entradas TTL extraen mucha más

Page 63: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

corriente que otras tecnologías (principalmente en Bajo). Si este resistor está mal calculado, y su valor es demasiado grande, la caída de voltaje a través del resistor puede provocar un voltaje de entrada de compuerta más allá del intervalo normal.

Un análisis de la estructura de una compuerta TTL nos muestra que las entradas sin utilizar (flotantes) se comportan como si estuvieran en alto (Ver Diagrama de Compuerta NAND). Sin embargo, el arranque de 𝑅𝑅1 es más débil que el de una salida TTL controlando la entrada, por lo que un pequeño ruido de circuito puede hacer que la entrada se comporte de manera espúrea como si fuese Bajo.

Otros Tipos de Compuertas TTL:

Puede construirse la compuerta NOR LS-TTL, bajo la misma estructura general de circuitos vista. Los circuitos de entrada, divisor de fase y etapa de salida son casi idénticos a la compuerta NAND, la diferencia es que la compuerta NOR utiliza transistores en paralelo en el divisor de fase para efectuar la función OR.

Y X 𝑽𝑽𝑨𝑨𝑨𝑨 𝑸𝑸𝟐𝟐𝑨𝑨 𝑽𝑽𝑨𝑨𝑨𝑨 𝑸𝑸𝟐𝟐𝑨𝑨 𝑸𝑸𝟑𝟑 𝑸𝑸𝟒𝟒 𝑸𝑸𝟓𝟓 𝑸𝑸𝟔𝟔 𝑽𝑽𝒁𝒁 Z L L ≤ 1.05𝑉𝑉 OFF ≤ 1.05𝑉𝑉 OFF ON ON OFF OFF 2.7V H L H 1.2𝑉𝑉 ON ≤ 1.05𝑉𝑉 OFF OFF OFF ON ON ≤ 0.35𝑉𝑉 L H L ≤ 1.05𝑉𝑉 OFF 1.2𝑉𝑉 ON OFF OFF ON ON ≤ 0.35𝑉𝑉 L H H 1.2 ON 1.2 ON OFF OFF ON ON ≤ 0.35𝑉𝑉 L

La velocidad de entrada y características de salida de una compuerta NOR TTL son comparables a la NAND TTL. Sin embargo, una compuerta NOR de 𝑛𝑛 entradas emplea más transistores y resistores, y es así más costosa en área de silicio que una compuerta NAND. Además, la corriente de fuga interna limita el número de transistores 𝑄𝑄2 que pueden ser situados en paralelo, de modo que este tipo de compuertas tienen un FAN-IN deficiente. (La compuerta NOR discreta más grade tiene solamente 5 entradas frente a la NAND de 13).

Las compuertas no inversoras TTL incluyen una etapa de inversión extra, típicamente entre la etapa de entrada y el divisor de fase, por ello, estas son más grandes y más lentas que las compuertas inversoras en las que están basadas.

Page 64: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Tipos de Salidas TTL:

Salida Tótem-Pole: Es una salida típica de la familia TTL y que tiene como principal característica la baja disipación que genera. Estas proveen un circuito rápido de conmutación ya que se componen de una configuración en emisor común (que proporciona rapidez de encendido) y una en emisor seguidor (que brinda rapidez de apagado).

Como desventaja, no permite la operación AND por conexión, ya que se producen flujos de corrientes altos y voltajes de salida anormales.

Salida a Colector Abierto: En esta configuración de salida tenemos que agregar una resistencia de carga externa para que el circuito nos proporcione un nivel alto (Resistencia de Pull-up), de esta manera, nos permite manejar cargas superiores a las de una salida TTL estándar. Sin embargo, son más lentas que las convencionales.

En la práctica son útiles para controlar dispositivos externos, por más que usen una fuente de alimentación independiente. También, mediante la aplicación de una carga resistiva referenciada a la fuente, permite realizar la función AND por conexión.

Salida de Tercer Estado: Agregando un terminal de inhibición y la lógica correspondiente podemos proveer a la compuerta de un tercer estado lógico (Alta Impedancia).

Cuando hay un Alto en el terminal de Inhibición 𝑇𝑇5 conducirá, haciendo que 𝑇𝑇1 también lo haga, el resto de los transistores se encontrarán en corte, y salida tendrá un potencial nulo que es Alta Impedancia.

En Caso de que en la entrada de Inhibición haya un cero, 𝑇𝑇5 estará en corte, y la compuerta funcionará normalmente.

La principal aplicación de este tipo de salida es en la interconexión con buses de datos en donde cada compuerta deposita información de forma aleatoria. Mediante una lógica de selección, nos aseguramos que dos circuitos nunca estén aportando información sobre el mismo bus.

SUBFAMILIAS TTL:

Todas las subfamilias TTL son compatibles en el sentido que utilizan el mismo voltaje de alimentación y niveles lógicos, pero cada una tiene sus propias ventajas en términos de velocidad, consumo de energía y costos.

Cada dispositivo en una subfamilia TTL dada tiene el número de parte de la forma 74FAMnn, donde “FAM” es el nemónico de la familia y nn una denominación numérica de la función. La subfamilia TTL original se la conoce como TTL Serie 74.

Los valores de resistores en el circuito original se cambian para dar lugar a dos familias TTL más con diferentes características de rendimiento. La 74H TTL (High-Speed TTL) usa valores de resistores más bajos para disminuir el

Page 65: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

retardo de propagación a costo del consumo de energía. Mientras que, la 74L (Low Power TTL) usa resistores de valor más alto para disminuir el consumo de energía aumentando así el retardo de propagación.

El desarrollo de TTL Schottky dejó obsoletas a las tres familias mencionadas.

Subfamilias TTL Schottky:

El uso de transistores Schottky en el circuito impide que los transistores se saturen, disminuyendo así, el retardo de propagación. La primera subfamilia que implementó los transistores Schottky fue la 74LS (Low Power Schottky TTL), esta igualaba la velocidad de la serie 74, pero consumía una quinta parte de la energía.

La familia 74AS (Advanced Schottky TTL) ofrece velocidades del doble de la 74LS casi con el mismo consumo de energía, para disminuir su consumo se comenzó a implementar 74ALS (Advanced Low Power Schottky TTL).

Para los nuevos diseños, se comenzó a utilizar la 74F (Fast TTL) que se encuentra posicionada entre 74AS y 74ALS. En ella se reducen los tiempos de conmutación a partir de modificaciones sobre el circuito original.

Descripción Símbolo Familia 74S 74LS 74AS 74ALS 74F

Retardo de Propagación Máximo (ns) 3 9 1.7 4 3 Consumo de Energía por Compuerta (mW) 19 2 8 1.2 4

Voltaje de Entrada de Nivel Bajo (V) 𝑉𝑉𝐼𝐼𝑂𝑂𝑂𝑂á𝑥𝑥 0.8 0.8 0.8 0.8 0.8 Voltaje de Entrada de Nivel Alto (V) 𝑉𝑉𝐼𝐼𝑂𝑂𝑂𝑂í𝑛𝑛 2.0 2.0 2.0 2.0 2.0

Corriente de Entrada en Nivel Bajo (mA) 𝐼𝐼𝐼𝐼𝑂𝑂𝑂𝑂á𝑥𝑥 -2.0 -0.4 -0.5 -0.2 -0.6 Corriente de Entrada en Nivel Alto (µA) 𝐼𝐼𝐼𝐼𝑂𝑂𝑂𝑂á𝑥𝑥 50 20 20 20 20

Voltaje de Salida de Nivel Bajo (V) 𝑉𝑉𝑂𝑂𝑂𝑂𝑂𝑂á𝑥𝑥 0.5 0.5 0.5 0.5 0.5 Voltaje de Salida de Nivel Alto (V) 𝑉𝑉𝑂𝑂𝑂𝑂𝑂𝑂í𝑛𝑛 2.7 2.7 2.7 2.7 2.7

Corriente de Salida de Nivel Bajo (mA) 𝐼𝐼𝑂𝑂𝑂𝑂𝑂𝑂á𝑥𝑥 20 8 20 8 20 Corriente de Salida de Nivel Alto (µA) 𝐼𝐼𝑂𝑂𝑂𝑂𝑂𝑂á𝑥𝑥 -1000 -400 -2000 -400 -1000

Hoja de Datos TTL:

La hoja de datos de los dispositivos TTL, como en cualquier otro dispositivo electrónico nos provee la información necesaria para el análisis o diseño de un dispositivo electrónico. En ella encontraremos:

• Condiciones de Operación Recomendadas: Voltaje de Alimentación, Voltajes de Entrada, Carga de Salida, y valores estables de temperatura.

• Características Eléctricas: Voltajes y corrientes de CD adicionales que se observan en las entradas y salidas del dispositivo cuando funciona bajo las condiciones recomendadas.

• Características de Conmutación: Proporcionan los retardos de propagación típicos y máximos bajo condiciones de operación “típicas”. Un diseñador debe incrementar estos retardos en un 5 o 10% para márgenes de resguardo en diferentes condiciones de uso y temperatura.

• Índices Absolutos Máximos: Indican las condiciones en el peor de los casos para la operación o almacenamiento del dispositivo sin sufrir daños.

Page 66: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Tecnología de Inyección Integrada (I2L):

La lógica de Inyección Integrada es una familia de circuitos digitales construidos con transistores de juntura bipolar de colector múltiple, los cuales son excitados por fuentes de corriente constante. La implementación de este tipo de tecnología tiene como ventaja mayor capacidad de integración, ya que se utilizan menos resistencias para la polarización de los transistores.

Analicemos el siguiente circuito, la compuerta del centro es el inversor, el resto sólo se colocaron para el análisis:

Los niveles lógicos manejados son pequeños: 0,1V para el estado BAJO y 0,7V para el estado ALTO. Esto nos indica que los márgenes de ruido son muy pequeños. Las grandes excursiones de tensión necesarias en la salida del circuito se logran conectando el colector de salida, mediante una resistencia adecuada a una fuente de alimentación independiente.

Las operaciones lógicas que permiten armar compuertas prácticas son la inversión, cuya configuración ya vimos, y la función AND por conexión. La compuerta básica inversora multicolector se muestra en la figura. Los emisores de todos los transistores NPN del circuito se conectan juntos, mediante una resistencia, a la tensión de alimentación, obteniéndose así las fuentes de corriente. Se puede hacer un intercambio entre disipación de potencia y velocidad simplemente controlando la corriente que suministra el circuito, es decir variando esa resistencia.

2.3 LÓGICA DE ACOPLAMIENTO DE EMISOR (ECL)

Circuito CML Básico:

Además del uso de transistores Schottky, para evitar la saturación de los transistores, puede utilizarse otra estructura de circuito denominada Lógica de Modo de Corriente (CML) o Emisor Acoplado (ECL). A diferencia de otras tecnologías, la lógica CML no produce una gran oscilación entre los niveles Bajo y Alto. En vez de ello, tiene una oscilación de voltaje menor a 1V, y conmuta internamente la corriente entre dos trayectorias posibles dependiendo de la salida.

El concepto de CML fue refinado por Motorola para dar lugar a ECL. Como desventaja, tienen un factor de mérito deficiente, no tienen gran nivel de integración, no son compatibles con TTL ni CMOS. Sin embargo, es útil como interfaz sobre equipos de comunicaciones de alta velocidad.

Page 67: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

El siguiente circuito representa un inversor/buffer, este cuenta con dos salidas, una inversora y una no inversora. Los dos transistores se encuentran conectados como un amplificador diferencial con un resistor de emisor común.

Las tensiones de alimentación son: 𝑉𝑉𝐶𝐶𝐶𝐶 = 5𝑉𝑉 ;𝑉𝑉𝐵𝐵𝐵𝐵 = 4𝑉𝑉; 𝑉𝑉𝐸𝐸𝐸𝐸 = 0𝑉𝑉 , mientras que los niveles de entrada Bajo y Alto se definen como 3.6 y 4.4V, y los niveles de Salida Bajo y Alto en 4.2 y 5.0 (0.6V mayores, se corrigen en ECL).

Cuando en la entrada hay un alto, 𝑄𝑄1 estará encendido pero no saturado, y 𝑄𝑄2 apagado. En la salida 𝑉𝑉𝑆𝑆𝑆𝑆𝑂𝑂2 habrán 5V, mientras que en 𝑉𝑉𝑆𝑆𝑆𝑆𝑂𝑂1 4.2 (Bajo)

Si la entrada está en Bajo, 𝑄𝑄2 estará encendido (sin saturarse) y 𝑄𝑄1 apagado. Por ende, en 𝑉𝑉𝑆𝑆𝑆𝑆𝑂𝑂1 = 5𝑉𝑉 (Alto) y 𝑉𝑉𝑆𝑆𝑆𝑆𝑂𝑂1 = 4.2𝑉𝑉 (Bajo).

Las salidas de este inversor se conocen como salidas diferenciales, porque son siempre complementarias y es posible determinar el estado de la salida al examinar la diferencia entre las tensiones de salida (𝑉𝑉𝑆𝑆𝑆𝑆𝑂𝑂1 − 𝑉𝑉𝑆𝑆𝑆𝑆𝑂𝑂2). Si esta diferencia es mayor que cero la Salida es un 1, si es menor es 0.

Para realizar otras funciones lógicas con el circuito básico visto agregamos transistores en paralelo.

Familias ECL 10K:

Los encapsulados ECL tienen una identificación de la forma “10xxx”, de modo que se los denomina de forma genérica 10k. Proporciona las siguientes mejoras sobre el circuito CML básico:

Posee una etapa de salida de seguidor emisor que desplaza los niveles de salida para satisfacer los niveles de entrada y proporcionar mayor capacidad de corriente (hasta 50mA por salida).

Una red de polarización interna que proporciona la tensión 𝑉𝑉𝐵𝐵𝐵𝐵 sin necesidad de alimentación externa.

La familia está diseñada para trabajar con voltajes inversos (VCC=0 y VCE=-5.2), ya que las líneas de tierra están más libres de ruido.

Tal como vemos, los márgenes de ruido en estas familias son sumamente bajos en comparación a TTL o CMOS (0.115V). Sin embargo, una compuerta ECL genera muy poco ruido de alimentación y tierra cuando cambia su estado.

La Familia 10K está diseñada para emplear resistores externos de disminución (Pull-Down) en vez de internos, debido a que los tiempos de transición son tan rápidos que cualquier conexión de unas pulgadas debe tratarse como una línea de transmisión.

Familias ECL 100K:

La familia ECL100k adquiere tal denominación por su identificación de la forma “100xxx”, el número de funciones (xxx) de esta familia son diferentes frente a las ECL10K. Las Características en las que difiere de ECL10K son:

Voltaje de Alimentación reducido 𝑉𝑉𝐸𝐸𝐸𝐸 = −4.5𝑉𝑉 Niveles Lógicos Diferentes (Consecuencia del Cambio de la Tensión de Alimentación). Retardos de propagación más cortos. Tiempos de Transición más Cortos

Page 68: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Consumos más elevados.

ECL Positivo (PECL):

Como mencionamos anteriormente en ciertas familias ECL se utiliza alimentación negativa, lo que proporciona inmunidad al ruido. Sin embargo, el resto de las familias lógicas más populares (TTL, CMOS, y otros dispositivos electrónicos) utilizan alimentación positiva, por lo que en ciertas ocasiones es necesario utilizar una lógica positiva.

La tecnología PECL utiliza una fuente de alimentación estándar de 5V, lo que desplaza los niveles Lógicos Alto y Bajo (4.1V y 3.3V aprox). Los diseños con PECL requieren atención a cuestiones de distribución de energía para evitar ruidos sobre la línea de VCC que puedan ocasionar desplazamientos sobre los niveles lógicos.

Page 69: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

2.4 FAMILIAS LÓGICAS ACTIVAS CON T. DE EFECTO DE CAMPO

Transistores MOS:

De manera básica, podemos modelar al transistor MOS como una resistencia controlada por voltaje. En aplicaciones digitales, un transistor MOS se comportará como una gran resistencia (si se encuentra apagado) o como baja resistencia si el mismo se encuentra encendido. Según el tipo de material con el que se construye el transistor, existen de dos tipos: MOS de canal N (NMOS) y MOS de canal P (PMOS).

La tensión Compuerta-Fuente en un NMOS será 𝑉𝑉𝑔𝑔𝑔𝑔 ≥ 0. Si 𝑉𝑉𝑔𝑔𝑔𝑔 = 0, la resistencia Drenador-Fuente (𝑅𝑅𝑑𝑑𝑔𝑔)

será grande (del orden del MΩ). Si 𝑽𝑽𝒈𝒈𝒈𝒈 ↑ ∴ 𝑹𝑹𝒅𝒅𝒈𝒈 ↓

Para un PMOS 𝑉𝑉𝑔𝑔𝑔𝑔 ≤ 0. Si 𝑉𝑉𝑔𝑔𝑔𝑔 = 0, la resistencia Drenador-Fuente (𝑅𝑅𝑑𝑑𝑔𝑔) será grande (del orden del MΩ). Si 𝑽𝑽𝒈𝒈𝒈𝒈 ↓ ∴ 𝑹𝑹𝒅𝒅𝒈𝒈 ↓

El mismo símbolo del transistor MOS, nos recuerda que no existe conexión física entre la compuerta y el resto de los

terminales. Sin embargo, esta se encuentra acoplada capacitivamente con ellos. En circuitos de alta velocidad, la energía necesaria para cargar y descargar esta capacidad en cada transición de la señal de entrada representa una parte no trivial del consumo de energía del dispositivo.

Compuertas Básicas NMOS: A partir de un transistor MOS de tipo N, podemos desarrollar las compuertas básicas. La lógica de la red será de Pull-down, es decir, el transistor al conducir enviará la corriente a tierra.

Circuito Inversor Básico CMOS:

Los transistores NMOS y PMOS se usan de forma complementaria para formar la lógica CMOS. El circuito más sencillo de esta lógica es el inversor, para él, solo se requieren un transistor de cada tipo.

La tensión de alimentación del circuito 𝑉𝑉𝐷𝐷𝐷𝐷 está en el intervalo de 2 a 6V, muchas veces se lo fija en 5V para obtener compatibilidad con circuitos TTL.

Una manera fácil de interpretar el circuito es mediante el modelo de interruptores: El NMOS corresponde a un interruptor normalmente abierto, mientras que el PMOS a un interruptor normal cerrado. La aplicación de un Alto lógico cambia cada interruptor al estado opuesto.

𝑉𝑉𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝑑𝑑𝐸𝐸 𝑄𝑄1 𝑄𝑄2 𝑉𝑉𝑆𝑆𝐸𝐸𝑆𝑆𝑆𝑆𝑑𝑑𝐸𝐸 0V (LOW) Encendido Apagado 5V (HIGH) 5V (HIGH) Apagado Encendido 0V (LOW)

Page 70: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Compuertas NAND-NOR CMOS:

Tanto la compuerta NAND como la NOR pueden construirse utilizando dispositivos CMOS. Una compuerta de 𝑘𝑘 entradas utiliza 𝑘𝑘 transistores NMOS y 𝑘𝑘 PMOS.

NAND:

A B Q1 Q2 Q3 Q4 Z L L OFF ON OFF ON H L H OFF ON ON OFF H H L ON OFF OFF ON H H H ON OFF ON OFF L

Si cualquiera de las entradas se encuentra en bajo, la salida Z tiene una conexión de baja impedancia a 𝑉𝑉𝐷𝐷𝐷𝐷 Si ambas entradas se encuentran en alto, cualquier trayectoria a 𝑉𝑉𝐷𝐷𝐷𝐷 está bloqueada, y hay una conexión de baja impedancia a tierra

NOR:

A B Q1 Q2 Q3 Q4 Z L L OFF ON OFF ON H L H OFF ON ON OFF L H L ON OFF OFF ON L H H ON OFF ON OFF L

Si cualquiera de las entradas se encuentra en alto, la salida Z tiene una conexión de baja impedancia a tierra. Si ambas entradas se encuentran en bajo, la salida Z tiene una conexión de baja impedancia a 𝑉𝑉𝐷𝐷𝐷𝐷.

Las compuertas CMOS NAND y NOR no tienen un rendimiento idéntico. Para un área de Silicio determinada, un NMOS tiene menor resistencia de “encendido” que un PMOS. Como resultado, una compuerta NAND es más rápida (y preferida)

que una compuerta NOR.

Compuertas no Inversoras:

En las familias lógicas CMOS, y en la mayoría de las demás, la compuerta inversora es la más sencilla. Por ende, es imposible diseñar una compuerta no inversora con menor cantidad de transistores.

Los buffers no inversores CMOS y las compuertas AND y OR, se obtienen al conectar un inversor a la salida de cada compuerta correspondiente

Page 71: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Comportamiento eléctrico CMOS:

Niveles Lógicos y Márgenes de Ruido: Por medio de las curvas de transferencia que nos brinda el fabricante podemos definir los valores Lógicos Altos y Bajos, sin embargo, estas curvas representan valores típicos y en condiciones bastante ideales. Por ello, a la hora del diseño es importante basarse en los siguientes datos suministrados en la hoja de datos:

𝑽𝑽𝑶𝑶𝑶𝑶𝑶𝑶í𝒏𝒏 : Mínimo voltaje de la salida en Alto. 𝑉𝑉𝑂𝑂𝑂𝑂𝑂𝑂í𝐸𝐸 = 𝑉𝑉𝐶𝐶𝐶𝐶 − 0,1𝑉𝑉 𝑽𝑽𝑰𝑰𝑶𝑶𝑶𝑶í𝒏𝒏: Mínimo voltaje de la entrada que será reconocido como Alto. 𝑉𝑉𝐼𝐼𝑂𝑂𝑂𝑂í𝐸𝐸 = 0,7.𝑉𝑉𝐶𝐶𝐶𝐶 𝑽𝑽𝑰𝑰𝑰𝑰𝑶𝑶á𝒙𝒙: Máximo voltaje en que la entrada será reconocida como Bajo. 𝑉𝑉𝐼𝐼𝐼𝐼𝑂𝑂á𝑥𝑥 = 0,3.𝑉𝑉𝐶𝐶𝐶𝐶 𝑽𝑽𝑶𝑶𝑰𝑰𝑶𝑶á𝒙𝒙: Máximo voltaje de la salida en Bajo 𝑉𝑉𝑂𝑂𝐼𝐼𝑂𝑂á𝑥𝑥 = 𝐺𝐺𝐺𝐺𝐺𝐺 + 0,1𝑉𝑉

Todos los parámetros están garantizados por los fabricantes en un intervalo específico de temperatura, carga de salida y tensión de alimentación. Para CMOS 𝑉𝑉𝐶𝐶𝐶𝐶 = 5𝑉𝑉 ± 10%

El margen de ruido indica cuánto ruido se necesita para corromper un voltaje de salida en un valor que no pueda ser reconocido correctamente por una entrada. En general, las salidas CMOS tienen excelentes márgenes de ruido de CD cuando excitan a otras entradas CMOS.

Las Corrientes de entrada para las lógicas CMOS son muy pequeñas, por lo que se requiere poca energía para mantener una entrada CMOS en un estado u otro. Éste es un contraste considerable con los circuitos bipolares de lógica como ECL y TTL, cuyas entradas pueden consumir una cantidad considerable de energía.

Comportamiento del Circuito con Cargas Resistivas: Cuando cargamos las salidas de un circuito CMOS con carga resistiva, el comportamiento de salida no se comporta de manera ideal. En cualquier estado lógico, el transistor de salida CMOS que se encuentra “encendido” tiene una resistencia distinta de cero, y cualquier carga que se conecte ocasionará una caída de tensión a través de esta resistencia. Por lo que el estado Bajo puede ser mayor a 0,1V y el alto menor a 0,4V. El fabricante nos especifica la carga máxima de la salida en cada estado, que garantiza un voltaje de salida:

𝐼𝐼𝑂𝑂𝐼𝐼𝑂𝑂á𝑥𝑥: Corriente máxima que puede consumir la salida en Bajo mientras mantiene una tensión inferior a 𝑉𝑉𝑂𝑂𝐼𝐼𝑂𝑂á𝑥𝑥 𝐼𝐼𝑂𝑂𝑂𝑂𝑂𝑂á𝑥𝑥: Corriente máxima que puede consumir la salida en Alto mientras mantiene una tensión mayor a 𝑉𝑉𝑂𝑂𝑂𝑂𝑂𝑂í𝐸𝐸

Además, el fabricante de dispositivos CMOS suele especificar las condiciones de carga para cargas CMOS (las demandan poca corriente), y para cargas TTL (Otros dispositivos que consumen una cantidad considerable de corriente).

También es interesante analizar el comportamiento del circuito con Entradas no ideales. Si el voltaje de la señal de entrada no se encuentra cerca de la línea de alimentación, el transistor no puede encontrarse totalmente “encendido” y su resistencia puede aumentar. Del mismo modo para el o los transistores “apagados”.

Efectos de la Carga: Al sobrecargar una salida más allá de su fan-out, se producen:

• En estado Bajo, tensiones de salida (𝑉𝑉𝑂𝑂𝐼𝐼) mayores a 𝑉𝑉𝑂𝑂𝐼𝐼𝑂𝑂á𝑥𝑥 • En estado Alto, tensiones de salida (𝑉𝑉𝑂𝑂𝑂𝑂) menores a 𝑉𝑉𝑂𝑂𝑂𝑂𝑂𝑂í𝐸𝐸 • Retardos de propagación de la salida más altos que los especificados. • Tiempos de Ascenso y descenso de la salida mayores a los especificados • Aumento de la temperatura de operación del dispositivo, disminución de la confiabilidad del mismo.

Los primeros cuatro efectos reducen los márgenes de ruido y de temporización del circuito.

Page 72: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Entradas que no se Utilizan: En algunas circunstancias pueden haber entradas en ciertas compuertas que no se utilicen. En tal caso, una compuerta de 𝑛𝑛 + 1 entradas es equivalente a una de 𝑛𝑛 entradas si se unen dos entradas (Puede probarse rápidamente con Tablas de Verdad).

También, pueden unirse las entradas sin utilizar a valores lógicos constantes, esta es la técnica comúnmente empleada por los diseñadores ya que unir las entradas incrementa la carga capacitiva sobre la señal de control y enlentece el proceso. Una entrada AND o NAND sin utilizarse debe conectarse a un uno lógico, y una entrada OR o NOR sin utilizar a un cero lógico (Ya sea por medio de un resisor: Pull-Up o Pull-Down, o directamente a las líneas de alimentación).

Las entradas CMOS que no se utilizan nunca deben estar flotando (sin conectarse a ningún punto), ya que al tratarse de circuitos de alta impedancia bastarán bajos niveles de ruido para que la entrada cambie su estado. Lo que ocasionaría fallas intermitentes e indeseadas en el circuito.

Picos de Corriente y Capacitores de Desacoplamiento: Cuando una salida CMOS conmuta entre Bajo y Alto, la corriente fluye desde 𝑉𝑉𝑐𝑐𝑐𝑐 a tierra a través de los transistores que están encendidos. Éstas corrientes se conocen como picos de corriente, y por su corta duración pueden causar ruidos en las conexiones con la fuente de alimentación o tierra de un circuito CMOS.

Los sistemas que utilizan circuitos CMOS requieren el uso de capacitores de desacoplamiento entre 𝑉𝑉𝑐𝑐𝑐𝑐 y tierra. Los mismos deben distribuirse a lo largo del circuito por cantidad de superficie o por chip.

Daños a un Circuito CMOS: Los circuitos CMOS son muy susceptibles a descargas electroestáticas, por consiguiente hay que tomar recados en cuanto a la manipulación de los mismos.

Otra fuente probable de daños es el “latch-up”. La estructura física de un dispositivo CMOS incluye transistores parásitos entre 𝑉𝑉𝐶𝐶𝐶𝐶 y tierra que funcionan como SCR, cuando el nivel de voltaje de una entrada es menor que tierra o mayor a 𝑉𝑉𝐶𝐶𝐶𝐶, este SCR se dispara creando un cortocircuito virtual entre alimentación y tierra que disipa una gran cantidad de energía perjudicial para el dispositivo.

El latch-up ocurre generalmente cuando las entradas CMOS son excitadas por una salida de otro sistema que posee una fuente de alimentación independiente. Una solución a este problema es aplicar energía a los circuitos antes de conectar los cables de entrada.

Comportamiento eléctrico dinámico CMOS:

Tanto la velocidad como el consumo de un dispositivo CMOS dependen de sus características dinámicas.

Tiempo de Transición: Es la cantidad de tiempo que requiere la salida de un circuito lógico para cambiar de un estado a otro. Las salidas no pueden cambiar instantáneamente porque necesitan tiempo para cargar las capacitancias parásitas de los componentes que controlan.

Una salida necesita cierta cantidad de tiempo 𝒕𝒕𝒓𝒓 para cambiar de Bajo a Alto (Tiempo de Ascenso), y una 𝒕𝒕𝒇𝒇 para cambiar de alto a bajo (Tiempo de Descenso). Las magnitudes 𝑡𝑡𝐸𝐸 y 𝑡𝑡𝑓𝑓 de una salida CMOS dependen principalmente de la resistencia del transistor “encendido” y la capacitancia de carga. Una capacitancia grande incrementa los tiempos de transición, sin embargo siempre hay presentes capacitancias parásitas debido a: Circuitos de Salida, conexiones entre entradas y salidas, y circuitos de entrada.

Page 73: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Retardo de Propagación:

Una trayectoria de señal es la ruta eléctrica de una señal particular de entrada hacia una señal particular de salida, en un elemento lógico. El retardo de propagación 𝒕𝒕𝒑𝒑 de una trayectoria, es el tiempo que requiere la entrada para

producir un cambio en la señal de salida.

Denotamos:

𝒕𝒕𝒑𝒑𝑶𝑶𝑰𝑰: El tiempo entre un cambio de entrada y el correspondiente cambio de la salida de Alto a Bajo

𝒕𝒕𝒑𝒑𝑰𝑰𝑶𝑶: El tiempo entre un cambio de entrada y el correspondiente cambio de la salida de Bajo a Alto.

Los fabricantes especifican tiempos de retardo de propagación medidos desde los puntos medios de las transiciones. Sin embargo, en algunas ocasiones se especifican medidos desde los puntos frontera del nivel lógico.

Los circuitos CMOS de alta velocidad pueden consumir corriente excesiva u oscilar si sus transiciones de entrada son muy lentas.

Consumo de Energía:

El consumo de energía de un circuito CMOS cuya salida no cambia se llama disipación estática de energía o disipación de energía en reposo. La mayoría de los circuitos CMOS tienen baja disipación estática, lo que los hace atractivos para aplicaciones de baja potencia.

El consumo de energía durante las transiciones se conoce como disipación dinámica de energía. Esta puede deberse a dos efectos:

Efecto Resistivo: Cuando el voltaje de entrada de un dispositivo no es cercano a las líneas de alimentación (𝑉𝑉𝐶𝐶𝐶𝐶 𝑜𝑜 𝐺𝐺𝐺𝐺𝐺𝐺), los transistores de salida pueden estar encendidos de forma parcial, lo que genera una resistencia serie media (inferior a 600Ω). En tal caso, la corriente fluye de 𝑉𝑉𝐶𝐶𝐶𝐶 hacia tierra, generando un consumo que dependerá tanto de 𝑉𝑉𝐶𝐶𝐶𝐶 como de la velocidad con que ocurren las transiciones de salida vinculadas por la siguiente expresión:

𝑷𝑷𝑻𝑻 = 𝑪𝑪𝑷𝑷𝑷𝑷.𝑽𝑽𝑪𝑪𝑪𝑪𝟐𝟐 .𝒇𝒇 Donde: 𝑃𝑃𝑇𝑇: Disipación de energía interna debido a las transiciones de salida. 𝑓𝑓: Frecuencia de Transición de la señal de Salida.

𝐶𝐶𝑃𝑃𝐷𝐷: Capacitancia de Disipación de Energía. No representa la capacitancia real del sistema, sino que incorpora la resistencia dinámica a través del transistor durante las transiciones de salida

Dicha expresión es válida únicamente si las transiciones de entrada tienen la rapidez suficiente para producir transiciones veloces en la salida. Si las transiciones de entrada son demasiado lentas, los transistores de salida permanecen encendidos más tiempo y se incrementa el consumo de energía.

Carga Capacitiva: La segunda fuente de disipación de dispositivos CMOS (la más importante), es la carga capacitiva de salida (𝐶𝐶𝐼𝐼). Durante una transición de Bajo a Alto, la corriente fluye a través de un PMOS para cargar a 𝐶𝐶𝐼𝐼. Del mismo modo, para una transición de Alto a Bajo, la corriente fluye a través de un NMOS para descargar 𝐶𝐶𝐼𝐼

Page 74: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

𝑷𝑷𝑰𝑰 = 𝑪𝑪𝑰𝑰.𝑽𝑽𝑪𝑪𝑪𝑪𝟐𝟐 .𝒇𝒇 Por lo tanto, la potencia dinámica total disipada por dispositivo CMOS es: 𝑃𝑃𝐷𝐷 = 𝑃𝑃𝑇𝑇 + 𝑃𝑃𝐼𝐼 = (𝑪𝑪𝑷𝑷𝑷𝑷 + 𝑪𝑪𝑰𝑰).𝑽𝑽𝑪𝑪𝑪𝑪𝟐𝟐 .𝒇𝒇

SUBFAMILIAS CMOS – ESPECIFICACIONES ELÉCTRICAS – HOJA DE DATOS:

Los números de Partes de las familias CMOS tienen la forma: 74FAMnn, donde FAM es el nemónico alfabético de la familia y nn es el número designado de función. Los dispositivos de las distintas familias que tienen el mismo número, realizan la misma función.

1) HC (High-Speed CMOS) y HCT (High-Speed CMOS TTL Compatible) HCT: Utiliza 𝑉𝑉𝐶𝐶𝐶𝐶 = 5𝑉𝑉, lo que permite conectarse a dispositivos TTL Estos dispositivos son idénticos en sus especificaciones de salida, sólo difieren en sus niveles de entrada. En comparación con la serie 4000 tienen mayor velocidad y menor capacidad de consumo. La familia HC trabaja entre 2 y 6V, está optimizada para lógicas exclusivas CMOS. Se utiliza un voltaje mayor

cuando se busca más velocidad, y menor para disminuir el consumo de energía. Incluso cuando 𝑉𝑉𝐶𝐶𝐶𝐶 = 5𝑉𝑉, los dispositivos HC no son completamente compatibles con TTL ya que estos

están diseñados para reconocer niveles de entrada CMOS. Por ende, los niveles de entrada con HCT difieren.

2) VHC (Very High-Speed CMOS) y VHCT (Very High-Speed CMOS TTL Compatible): Estas difieren sólo en los niveles de entrada, las características de salida son idénticas. Son

aproximadamente el doble de rápidas que HC/HCT y mantienen la compatibilidad. Las Salidas tienen control de salida simétrico, una salida puede consumir o suministrar iguales

cantidades de corriente en ambos estados. Las especificaciones se suponen con alimentación nominal a 5V (aunque es posible la operación con cualquier

voltaje dentro del intervalo 2,5 – 6V), con un margen de ±10%, y a una temperatura de 25ºC. La serie 74 (Comercial) posee un rango de operación térmico entre 0 y 70ºC, mientras que la serie 54 (militar)

puede operar entre -55 y 125ºC El retardo de propagación brindado por el fabricante es el de “el peor de los casos” La disipación de energía en reposo de los dispositivos CMOS es prácticamente nula (0,0XXmW)

Descripción Símbolo Familia HC HCT VHC VHCT

Corriente de Fuga de Entrada (µA) 𝐼𝐼𝐼𝐼𝑂𝑂á𝑥𝑥 ±1 ±1 ±1 ±1 Capacitancia de Entrada Máxima (pF) 𝐶𝐶𝐼𝐼𝐼𝐼𝑂𝑂á𝑥𝑥 10 10 10 10 Voltaje de Entrada de Nivel Bajo (V) 𝑉𝑉𝐼𝐼𝐼𝐼𝑂𝑂á𝑥𝑥 1.35 0.8 1.35 0.8 Voltaje de Entrada de Nivel Alto (V) 𝑉𝑉𝐼𝐼𝑂𝑂𝑂𝑂í𝐸𝐸 3.85 2.0 3.85 2.0

Corriente de Salida de Nivel Bajo (mA) 𝐼𝐼𝑂𝑂𝐼𝐼𝑂𝑂á𝑥𝑥 𝐶𝐶𝐶𝐶𝑂𝑂𝑆𝑆 0.02 0.02 0.05 0.05 𝐼𝐼𝑂𝑂𝐼𝐼𝑂𝑂á𝑥𝑥 𝑇𝑇𝑇𝑇𝐼𝐼 4.0 4.0 8.0 8.0

Corriente de Salida de Nivel Alto (mA) 𝐼𝐼𝑂𝑂𝑂𝑂𝑂𝑂á𝑥𝑥 𝐶𝐶𝐶𝐶𝑂𝑂𝑆𝑆 -0.02 -0.02 -0.05 -0.05 𝐼𝐼𝑂𝑂𝑂𝑂𝑂𝑂á𝑥𝑥 𝑇𝑇𝑇𝑇𝐼𝐼 -4.0 -4.0 -8.0 -8.0

Voltaje de Salida de Nivel Bajo (V) 𝑉𝑉𝑂𝑂𝐼𝐼𝑂𝑂á𝑥𝑥 𝐶𝐶𝐶𝐶𝑂𝑂𝑆𝑆 0.1 0.1 0.1 0.1 𝑉𝑉𝑂𝑂𝐼𝐼𝑂𝑂á𝑥𝑥 𝑇𝑇𝑇𝑇𝐼𝐼 0.33 0.33 0.44 0.44

Voltaje de Salida de Nivel Alto (V) 𝑉𝑉𝑂𝑂𝑂𝑂𝑂𝑂í𝐸𝐸 𝐶𝐶𝐶𝐶𝑂𝑂𝑆𝑆 4.4 4.4 4.4 4.4 𝑉𝑉𝑂𝑂𝑂𝑂𝑂𝑂í𝐸𝐸 𝑇𝑇𝑇𝑇𝐼𝐼 3.84 3.84 3.80 3.80

Page 75: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Los parámetros de voltajes anteriores determinan los márgenes de ruido:

Margen de Ruido (L) 𝑽𝑽𝑶𝑶𝑰𝑰𝑶𝑶á𝒙𝒙 − 𝑽𝑽𝑰𝑰𝑰𝑰𝑶𝑶á𝒙𝒙 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶: 0.8 − 0.1 = 𝟎𝟎.𝟕𝟕𝑽𝑽 𝑇𝑇𝑇𝑇𝑇𝑇: 0.8 − 0.33 = 𝟎𝟎.𝟒𝟒𝟕𝟕𝑽𝑽

Margen de Ruido (H) 𝑽𝑽𝑶𝑶𝑶𝑶𝑶𝑶í𝒏𝒏 − 𝑽𝑽𝑰𝑰𝑶𝑶𝑶𝑶í𝒏𝒏 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶: 4.4 − 3.85 = 𝟎𝟎.𝟓𝟓𝟓𝟓𝑽𝑽 𝑇𝑇𝑇𝑇𝑇𝑇: 3.85 − 2.0 = 𝟏𝟏.𝟖𝟖𝟓𝟓𝑽𝑽

Los parámetros de corriente anteriores determinan la capacidad de Fan-Out de la salida:

Fan-Out (H) Se suman todos los valores 𝐼𝐼𝐼𝐼𝑂𝑂𝑂𝑂á𝑥𝑥 para todas las entradas controladas.

La suma debe ser menor que 𝐼𝐼𝑂𝑂𝑂𝑂𝑂𝑂á𝑥𝑥 de la salida que controla.

Fan-Out (L) Se suman todos los valores de 𝐼𝐼𝐼𝐼𝐼𝐼𝑂𝑂á𝑥𝑥 para todas las entradas controladas

La suma debe ser menor que 𝐼𝐼𝑂𝑂𝐼𝐼𝑂𝑂á𝑥𝑥 de la salida controlada.

Parámetro muy importante cuando la salida controla entradas en una o más diferentes familias.

3) FCT (Fast CMOS TTL Compatible) y FCT-T: La familia FCT original tenía la desventaja de producir un

𝑉𝑉𝑂𝑂𝑂𝑂 = 5𝑉𝑉, creando una enorme disipación y ruido en aplicaciones de alta velocidad. Se introdujo la familia FCT-T (Fast CMOS TTL Compatible with TTL 𝑉𝑉𝑂𝑂𝑂𝑂) con innovaciones para reducir el voltaje de salida Alto, mejorando el consumo y el ruido con la misma velocidad de FCT.

La familia se encuentra específicamente diseñada para que haya compatibilidad total con TTL.

Las salidas de estos dispositivos tienen muy baja impedancia y, en consecuecia tiempos de ascenso y descenso rápidos, lo que puede causar ruido de conmutación y “rebote de tierra” por lo que se debe tener cuidado en el diseño lógico y físico.

Lógica CMOS de Bajo Voltaje:

Hay dos claras ventajas respecto al uso de dispositivos CMOS de voltajes de alimentación inferiores, una es la reducción de la disipación dinámica (recordemos que 𝑃𝑃𝐷𝐷 = 𝐶𝐶𝑉𝑉2𝑓𝑓) y otro es la reducción de tamaño en la construcción del transistor. Por ello se seleccionaron como nuevos niveles de alimentación los estándares: 3.3𝑉𝑉 ± 0.3𝑉𝑉 ; 2.5 ±0.2𝑉𝑉 ; 1.8 ± 0.15𝑉𝑉.

Lógica LVCMOS y LVTTL 3.3V:

La tecnología LVCMOS se utiliza en aplicaciones CMOS puras donde las salidas tienen cargas ligeras (< 200𝜇𝜇𝜇𝜇) de modo que los valores 𝑉𝑉𝑂𝑂𝑂𝑂 y 𝑉𝑉𝑂𝑂𝐼𝐼 se mantengan dentro de un margen de 0.2V.

Para el caso de LVTTL, puede utilizarse en aplicaciones con cargas significativas, de modo tal que 𝑉𝑉𝑂𝑂𝐼𝐼 pude ser tan alto como 0.4V y 𝑉𝑉𝑂𝑂𝑂𝑂 tan bajo como de 2.4V. Una salida LVTTL puede controlar sin inconvenientes una compuerta TTL, siempre y cuando se respeten las especificaciones de corriente.

Descripción Símbolo Familia FCT

Corriente de Fuga de Entrada (µA) 𝐼𝐼𝐼𝐼𝑂𝑂á𝑥𝑥 ±5 Capacitancia de Entrada Máxima (pF) 𝐶𝐶𝐼𝐼𝐼𝐼𝑂𝑂á𝑥𝑥 5 Voltaje de Entrada de Nivel Bajo (V) 𝑉𝑉𝐼𝐼𝐼𝐼𝑂𝑂á𝑥𝑥 0.8 Voltaje de Entrada de Nivel Alto (V) 𝑉𝑉𝐼𝐼𝑂𝑂𝑂𝑂í𝐸𝐸 2.0

Corriente de Salida de Nivel Bajo (mA) 𝐼𝐼𝑂𝑂𝐼𝐼𝑂𝑂á𝑥𝑥 64 Corriente de Salida de Nivel Alto (mA) 𝐼𝐼𝑂𝑂𝑂𝑂𝑂𝑂á𝑥𝑥 -15

Voltaje de Salida de Nivel Bajo (V) 𝑉𝑉𝑂𝑂𝐼𝐼𝑂𝑂á𝑥𝑥 0.55 Voltaje de Salida de Nivel Alto (V) 𝑉𝑉𝑂𝑂𝑂𝑂𝑂𝑂í𝐸𝐸 2.4

Page 76: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

INTERFAZ CMOS-TTL:

En ocasiones especiales, un diseñador no puede hacer uso de dispositivos de la misma familia tecnológica, por lo que es importante entender las implicaciones de interconectar CMOS con TTL. Existen varios factores para considerar en las interfaces TTL/CMOS:

Margen de Ruido: Este en estado Bajo está dado por (𝑉𝑉𝐼𝐼𝐼𝐼𝑂𝑂á𝑥𝑥 − 𝑉𝑉𝑂𝑂𝐼𝐼𝑂𝑂á𝑥𝑥), mientras que el de estado Alto (𝑉𝑉𝑂𝑂𝑂𝑂𝑂𝑂í𝐸𝐸 −𝑉𝑉𝐼𝐼𝑂𝑂𝑂𝑂í𝐸𝐸 ). Si analizamos los márgenes de HC o HCT controlando TTL: Estado Bajo (0.8-0.33=0.47V) Estado Alto (2.0-3.85=-1.15V) En otras palabras HC o HCT controlando TTL no funciona, a menos que la salida Alto de TTL sea mayor y que el umbral

de Alto de CMOS sea menor por un total de 1.15V en comparación a sus especificaciones “en el peor de los casos”. Para controlar entradas CMOS a partir de TTL apropiadamente, los dispositivos CMOS deben ser HCT, VHCT, FCT.

Fan-Out: El diseñador debe sumar los requerimientos de corriente de entrada de los dispositivos controlados por una salida y comparar con las capacidades de salida de ambos estados. El fan-out no es un problema cuando TTL controla CMOS, ya que las entradas CMOS no demandan corriente en ninguno de sus estados. Por otra parte, las entradas TTL, especialmente en estado Bajo demandan una cantidad considerable de corriente.

Carga Capacitiva: La capacitancia de carga incrementa tanto el retardo como la disipación de energía de los circuitos lógicos. Para una capacitancia de carga dada, el voltaje de alimentación y aplicación de todas las familias CMOS tienen una disipación dinámica de energía semejante. Las salidas TTL tienen una disipación dinámica de energía ligeramente menor, puesto que la excursión del voltaje entre los niveles Alto y Bajo es menor

Page 77: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

3.1 SISTEMAS COMBINACIONALES:

Análisis y Diseño de Sistemas Combinacionales:

Recordemos mediante el siguiente diagrama el procedimiento de diseño de sistemas Digitales:

Puesto que una vez definido el funcionamiento y tipo de sistema, sabemos que se trata de un sistema combinacional continuamos el procedimiento de diseño desde allí:

9. Obtención de los Vectores Funcionales: A partir de las tablas de funcionamiento se obtienen las funciones algebraicas correspondientes de los vectores independientes. A partir de los conceptos vistos sobre Álgebra de Boole y funciones lógicas, obtenemos una función expresada como suma de productos canónicos ya que tomamos los unos de los vectores independientes especificados, si quisiéramos obtener el producto de sumas nos manejamos con los ceros de la tabla o la expresión que vincula a ambos.

10. Minimización de los Vectores Funciones: Mediante los métodos vistos (Karnaugh o Quine Mc-Kluskey) se obtiene una expresión irreducible formada por todos los términos primos de la función original.

11. Realización Física de las Funciones Digitales: Se implementa la mejor expresión canónica obtenida por medio de compuertas o tecnología correspondiente.

Implementación Lógica y Física:

Las compuertas NOR y NAND son las más utilizadas en la implementación de circuitos lógicos, con estas se pueden realizar cualquiera de las tres funciones elementales: suma, producto y inversión.

Para implementar el resultado de una minimización con este tipo de compuertas NAND (NOR) debe aplicarse el siguiente procedimiento:

Vectores Independientes

Vectores Funcionales

Estados

Page 78: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

a) Se aplican a la expresión global de la función dos inversiones (la misma queda invariante) b) Si la operación más externa es una suma (producto) lógica, se opera una de las inversiones aplicando el teorema

de De Morgan y si es producto (suma) no se operan ninguna de las dos. c) Si en el interior de la expresión existen sumas (productos) lógicas, se aplican a cada una de ellas dos inversiones

y se opera cada una de ellas para convertirla en el inverso de un producto (suma) d) Se continúa realizando la operación hasta que todas las sumas (productos) se hayan convertido en inversos de

productos (sumas).

Ejemplos: 𝑓𝑓1 = 𝑏𝑏𝑐𝑐 + 𝑎𝑎𝑏𝑏 + 𝑎𝑎𝑐𝑐𝑑 = 𝑏𝑏𝑐𝑐 + 𝑎𝑎𝑏𝑏 + 𝑎𝑎𝑐𝑐𝑑 = 𝑏𝑏𝑐𝑐.𝑎𝑎𝑏𝑏.𝑎𝑎𝑐𝑐𝑑

Montaje “Y” por conexión:

En las tecnologías en las que el transistor de salida posee como carga una resistencia (DTL-TTL) se pueden unir directamente las salidas de las puertas NAND obteniendo la función “Y por conexión”.

Fenómenos Aleatorios Estáticos:

Hay un fenómeno aleatorio estático si para dos estados de las variables de entrada adyacentes en los que la salida debe ser constante (0 o 1), existe un régimen transitorio en el cual la salida cambia eventualmente de estado. Habrán entonces fenómenos aleatorios de tipo cero y tipo uno.

Los fenómenos aleatorios de tipo cero se producen cuando, al cambiar de estado una variable, la salida debe permanecer en uno, pero pasa transitoriamente por cero. En régimen estático, el valor de la función es un uno lógico, pero debido al retardo de la conmutación puede suceder que una variable y su complemento se encuentren en estado cero simultáneamente durante un cierto tiempo, haciendo que la función tome el valor cero.

Para eliminar los fenómenos aleatorios estáticos de tipo cero, al realizar la minimización de una función lógica mediante un mapa de Karnaugh de la suma de productos canónicos, es necesario no sólo cubrir los unos de la función, sino también cubrir todas las adyacencias, solapando todos los términos primos.

Los fenómenos aleatorios de tipo uno se producen cuando, al cambiar de estado una variable, la función debe permanecer en cero, pero pasa transitoriamente por uno. Este fenómeno puede producirse cuando una función ha sido expresada como producto de sumas canónicas. Durante el régimen estático, puede suceder que en algún instante dado una variable y su complemento tomen el valor uno simultáneamente y por consiguiente la función tome el valor lógico uno. Para evitar que esto suceda, al realizar la minimización de una función lógica mediante un mapa de Karnaugh de productos de sumas canónicas, se deben cubrir todas las adyacencias, solapando todos los términos primos.

Page 79: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Fenómenos Aleatorios Dinámicos:

Se produce un fenómeno aleatorio dinámico cuando al cambiar el estado de una variable de entrada, la salida debe cambiar de estado y lo hace pasando por un régimen transitorio.

Si se realiza la minimización anulando la posibilidad de fenómenos estáticos, se tiene la seguridad de que no existirán fenómenos aleatorios dinámicos.

3.2 APLICACIONES COMBINACIONALES MSI Y LSI:

Decodificadores:

Los decodificadores son circuitos combinacionales que generan todos los productos canónicos de un conjunto de variables binarias aplicadas a sus entradas. Este convierte entradas codificadas en salidas codificadas, donde los códigos de entrada y salida son diferentes

Se pueden clasificar en excitadores (drivers) y no excitadores, según sus salidas puedan o no controlar a un dispositivo externo además de los circuitos integrados de la misma familia.

Decodificador Decimal: Este genera todos los productos canónicos 0 a 9 de cuatro variables binarias, sólo una de las salidas toma el valor lógico cero cuando aparece una determinada combinación de entrada.

La aplicación inmediata de este circuito es la conversión del Código BCD natural a decimal. Aplicando una combinación del código BCD natural en las entradas sólo una salida toma el valor cero (la equivalente en decimal de la combinación de entrada)

𝐴𝐴3 𝐴𝐴2 𝐴𝐴1 𝐴𝐴0 𝑄𝑄0 𝑄𝑄1 𝑄𝑄2 𝑄𝑄3 𝑄𝑄4 𝑄𝑄5 𝑄𝑄6 𝑄𝑄7 𝑄𝑄8 𝑄𝑄9 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0 0 1 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 1 1 1 1 1 0 1 0 0 1 1 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0 1 1 1 1 0 1 1 0 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 0 1 1 0 0 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1

Para las siguientes Combinaciones de Entradas todas las Salidas en 1

Page 80: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Decodificador Binario/Hexadecimal (4 a 16 o 1 en 16): Este decodificador genera dieciséis productos canónicos a partir de una función de cuatro variables de entrada (𝐴𝐴0 − 𝐴𝐴3), la salida toma el valor cero sólo cuando se presenta una determinada combinación binaria. La aplicación de este decodificador hexadecimal es la generación de todos los productos canónicos de las cuatro variables (A, B, C y D) que se conectan en la entrada, para obtener los todos productos canónicos invertidos.

Pueden implementarse en los decodificadores, entradas de inhibición. Cuando alguna de ellas toma el valor lógico 1, las salidas toman el valor lógico 1.

Decodificador Binario/Octal (3 a 8 o 1 en 8): Este DECO genera todos los productos canónicos de 3 variables. Posee 3 entradas de desinhibición, y genera una desinhibición interna por medio de la función 𝐸𝐸𝐸𝐸 = 𝐸𝐸1.𝐸𝐸2.𝐸𝐸3

Decodificador 2 a 4 (o 1 entre 4): Este DECO genera todos los productos canónicos entre dos variables.

𝐼𝐼2 𝐼𝐼1 𝐴𝐴3 𝐴𝐴2 𝐴𝐴1 𝐴𝐴0 𝑄𝑄0 𝑄𝑄1 𝑄𝑄2 𝑄𝑄3 𝑄𝑄4 𝑄𝑄5 𝑄𝑄6 𝑄𝑄7 𝑄𝑄8 𝑄𝑄9 𝑄𝑄10 𝑄𝑄11 𝑄𝑄12 𝑄𝑄13 𝑄𝑄14 𝑄𝑄15 1 1 X X X X 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 X X X X 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 X X X X 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0

𝐼𝐼 𝐴𝐴1 𝐴𝐴0 𝑄𝑄0 𝑄𝑄1 𝑄𝑄2 𝑄𝑄3 1 X X 1 1 1 1 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 1 0 1 0 1 1 1 1 1 0

Page 81: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Expansión: La utilización conjunta de los tipos de decodificadores mostrados permite realizar decodificadores de un número más elevado de variables. Una nueva variable que controla la inhibición de cada circuito nos permite adosar un bit más, es decir, otras 2𝑛𝑛 selecciones posibles.

Variables de Control: Los Decodificadores admiten diferentes variables de control, entre las cuales podemos mencionar:

Variable de Desinhibición (𝐺): Esta desinhibe la decodificación cuando se encuentra en un cero lógico, pone en uno a todas las salidas de las compuertas NAND.

Variable de Control de Inversión o Polaridad de Salida (𝑃𝑃) : Según se encuentre en cero o en uno, hace que todas las salidas sean activas por Bajos o Altos respectivamente.

Variable de Control de Tercer Estado (𝐸𝐸𝐸𝐸): Hace que todas las salidas se encuentren en estado de alta impedancia cuando se encuentra en uno.

Generador de Funciones Lógicas: Pueden utilizarse los decodificadores no excitadores junto con una compuerta NAND para generar funciones lógicas. La función se genera conectando a las entradas de la compuerta NAND las salidas correspondientes a los productos canónicos que toman el valor uno.

Ejemplo: Mediante un Decodificador Decimal se puede generar cualquier función de tres variables conectando las dichas variables a las entradas 1, 2 y 4. Las salidas de 0 a 7 toman el valor cero cuando en ellas se presenta la combinación correspondiente, y por lo tanto realiza el producto canónico de cada una de las variables de entrada. La entrada de peso 8 la utilizamos como inhibidora (Cuando en ella introducimos un Alto inhibimos la generación de funciones lógicas).

En la imagen vemos el circuito lógico que genera la función de tres variables 𝑓𝑓1 = ∑ (0,1,3,5,6)3

De la misma manera un DECO 1 entre 4 puede generar cualquier función de dos variables

Decodificador BCD a 7 Segmentos: Como mencionamos anteriormente, los decodificadores excitadores permiten activar cargas externas (sus salidas admiten tensiones y cargas mayores que otros bloques funcionales de la misma tecnología).

Page 82: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

El DECO decimal codificado en binario a 7 segmentos está adecuado para gobernar visualizadores numéricos de diodos emisores de luz a partir de segmentos o barras.

Las salidas de estos circuitos son de colector abierto y reciben las denominaciones (a, b ,c , d, e, f, g) que corresponden a los segmentos del display de siete segmentos. Los estados que toman estas salidas se los denota como “S” (correspondiente a transistor Saturado) ó “C” (Transistor en Corte)

Respecto a las entradas, los mismos cuentan con una entrada de prueba (𝐿𝐿𝐿𝐿) que satura a todos los transistores para verificar las lámparas, y además, cuenta con una entrada de inhibición o propagación de Cero (RBI: Ripple Backing Input) que cuando está en cero inhibe la visualización si el número a visualizar es el cero en binario.

La conexión en serie de las entradas RBI y salidas RBO hace que un determinado dígito solamente se active si el número presente a la entrada de su visualizador es distinto de cero o bien si siendo igual a cero, es distinto de cero alguno de los que lo preceden.

Codificadores:

Los circuitos codificadores son sistemas combinacionales de 2𝑛𝑛 entradas y 𝑛𝑛 salidas, realizados de la forma tal que cuando una sola de las entradas adopta un valor 0 o 1, en la salida aparece la combinación binaria correspondiente al número decimal asignado a dicha entrada. Esto es, la función inversa de los Decodificadores.

Estos pueden diseñarse con prioridad o sin ella. En los circuitos sin prioridad, cuando más de una entrada toma el valor activo uno o cero, la combinación de salida posee tantos unos como hay en la excitación de cada una de las entradas independientemente; Por lo que en este codificador sólo debe haber una entrada activa en cada instante.

Los codificadores con prioridad codifican la entrada activa de mayor valor decimal, sin tener en cuenta las demás.

Page 83: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

La salida 𝑃𝑃0 adopta el estado cero y en las Salidas 𝑄𝑄𝑛𝑛 aparece la combinación binaria equivalente al complemento a siete de la entrada de mayor peso que se encuentra en estado cero.

Demultiplexores:

Un circuito demultiplexor es un sistema combinacional con una entrada de información D y m salidas, que posee además 𝑛𝑛 entradas de selección tal que 2𝑛𝑛 ≥ 𝑚𝑚. La información de D se puede hacer aparecer en cualquiera de las salidas aplicando a las entradas de selección la combinación binaria adecuada.

Estos circuitos no vienen como tales, sino que se los puede encontrar como Decodificadores/Demultiplexores.

Multiplexores:

Los multiplexores son circuitos combinacionales que poseen 𝑛𝑛 canales de entrada, uno de salida y m entradas de selección, siendo 𝑛𝑛 = 2𝑚𝑚 que permiten elegir cuál es el canal de entrada cuya información aparece en la salida.

Multiplexores con Compuertas AND y OR: Una forma de realizar un multiplexor es mediante un número de 𝑛𝑛 puertas AND conectadas a una única puerta OR. Eligiendo adecuadamente la combinación binaria presente en las entradas de selección, se logra que en la salida Z aparezca la información presente en cualquiera de las entradas D y el circuito actúa como un conmutador electrónico.

Existen circuitos integrados que contienen cuatro multiplexores de dos canales, dos multiplexores de cuatro canales, un multiplexor de ocho canales y un multiplexor de dieciséis canales.

Tabla de Verdad Codificador Con Prioridad 𝐼𝐼 𝐴𝐴0 𝐴𝐴1 𝐴𝐴2 𝐴𝐴3 𝐴𝐴4 𝐴𝐴5 𝐴𝐴6 𝐴𝐴7 𝑄𝑄2 𝑄𝑄1 𝑄𝑄0 𝑃𝑃0 𝑃𝑃1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 X X X X X X X 0 1 1 1 1 0 0 X X X X X X 0 1 1 1 0 0 1 0 X X X X X 0 1 1 1 0 1 0 1 0 X X X X 0 1 1 1 1 0 0 0 1 0 X X X 0 1 1 1 1 0 1 1 0 1 0 X X 0 1 1 1 1 1 0 1 0 0 1 0 X 0 1 1 1 1 1 1 0 0 1 0 1 0 0 1 1 1 1 1 1 1 0 0 0 0 1

Page 84: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

El esquema de la figura, muestra la implementación de un cuádruple multiplexor de dos canales (esto es, cuatro multiplexores de dos canales). Como vemos, cada entrada realiza un Y lógico con las entradas de selección, y de allí, mediante la conexión a la compuerta OR se toma el estado de la entrada activa.

Cada combinación binaria presente en las entradas de selección, produce la apertura de una puerta AND únicamente.

Page 85: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Multiplexores con Compuertas de tres Estados:

Las compuertas de tercer estado son aquellas que no sólo pueden tomar los valores Alto y Bajo, sino que también tienen un tercer estado conocido como Alta Impedancia.

Las puertas seguidoras más sencillas son las que se ven en la figura, estas poseen una entrada de información D, una entrada de desinhibición del tercer estado de la salida, y la salida. Cuando 𝐸𝐸𝐸𝐸 se encuentra en uno, la salida sigue a la entrada. Por el contrario, si 𝐸𝐸𝐸𝐸 está en cero, la salida se pone en estado de Alta

Impedancia.

El siguiente esquema corresponde a un Multiplexor de cuatro canales sin entrada de desinhibición realizado con puertas de Tercer Estado.

Las entradas de selección 𝐸𝐸0 y 𝐸𝐸1 se conectan a las entradas de un DECO (1entre4), cuyas salidas se conectan a las entradas de desinhibición de cada compuerta de tres estados. De esta manera se logra que en cada instante, en la salida sólo aparezca la información de la correspondiente entrada 𝐷𝐷.

Multiplexores Realizados con Interruptores Electrónicos:

Un interruptor electrónico es un circuito que posee una entrada, una salida y una variable de control. Esta variable de control recibe la denominación “X” y específicamente controla la impedancia entre los terminales de entrada y salida

Cuando la variable de control se encuentra en cierto estado lógico, la resistencia entre el terminal de entrada y salida es muy baja (Ω), y en si se encuentra en el estado opuesto, dicha resistencia es muy alta (MΩ).

La principal característica de estos circuitos es que permiten dejar o impedir el paso de señales digitales como analógicas. Por ello se los denomina Multiplexores/Demultiplexores Analógicos. Estos pueden poseer un número cualquiera de canales, en general potencia de dos, y estar dotados de una o más entradas de desinhibición que impidan el cierre del interruptor mediante variables de selección.

Aplicaciones de los Multiplexores:

Una de las aplicaciones más usuales de los multiplexores es enviar por un solo canal la información procedente de varios canales, seleccionando en cada instante el canal que se enviará mediante una combinación binaria de selección.

Otra aplicación interesante es la generación de funciones lógicas. Mediante un multiplexor de 𝒏𝒏 variables de selección (𝟐𝟐𝒏𝒏 𝒄𝒄𝒄𝒄𝒏𝒏𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒄) se puede generar cualquier función de 𝒏𝒏+ 𝟏𝟏 variables.

Page 86: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

A cada una de las entradas de datos le colocaremos el valor correspondiente a la salida de la función. Y, conectaremos las variables dependientes de la función lógica (c, b, a) a las líneas de selección del multiplexor. De este modo, podemos generar cualquier función lógica de n+1 variables.

Ejemplo:

Comparadores Digitales:

Los circuitos comparadores son sistemas combinacionales que detectan si dos combinaciones binarias de 𝑛𝑛 bits en binario natural son iguales o no y en este último caso, cuál de ellas es mayor.

Estos comparadores poseen tres entradas (<, =, >) que permiten realizar la comparación binaria de un número cualquiera de bits. Como se puede ver en la tabla de verdad, si P y Q son iguales, el resultado dependerá del acarreo de la comparación anterior, por lo tanto conectando las respectivas salidas a las entradas (<, =, >) de otro comparador, se pueden comparar números de cualquier cantidad de bits.

Generadores / Detectores de Paridad:

𝑃𝑃 𝑄𝑄 < = > 𝑃𝑃 < 𝑄𝑄 𝑃𝑃 = 𝑄𝑄 𝑃𝑃 > 𝑄𝑄 𝑃𝑃 < 𝑄𝑄 X X X 1 0 0 𝑃𝑃 > 𝑄𝑄 X X X 0 0 1 𝑃𝑃 = 𝑄𝑄 1 0 0 1 0 0 𝑃𝑃 = 𝑄𝑄 0 1 0 0 1 0 𝑃𝑃 = 𝑄𝑄 0 0 1 0 0 1

Page 87: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Estos son sistemas combinacionales que realizan la función OR Exclusiva de un número n de variables y, en consecuencia su salida adopta el estado 1 si el número de unos en la entrada es impar y un cero lógico si dicho número es par. Y, si se añade el bit obtenido a la combinación de 𝑛𝑛 bits de entrada, se logra una combinación de 𝑛𝑛 + 1 bits de paridad constante.

La aplicación más importante de este circuito es la detección de errores, así como la generación de paridad para los códigos de detección y corrección.

Sistemas Combinacionales Programables:

Se define a los sistemas combinacionales programables como aquellos cuya tabla de verdad puede ser cambiada sin necesidad de modificar el cableado entre los elementos que lo componen.

Matrices Lógicas Programables (PLA): Estas se conforman por una matriz de 𝑛𝑛′ compuertas AND (𝑛𝑛` ≤ 2𝑛𝑛, siendo 𝑛𝑛 el número de entradas) y una matriz de m compuertas OR. Para programar la matriz lógica, se debe suprimir las conexiones adecuadas de la matriz de compuertas AND para que la salida de cada una de ellas represente un determinado producto lógico. Y, también se deben suprimir las conexiones adecuadas de la matriz de compuertas OR para que cada salida sea la suma lógica de las salidas de compuertas AND convenientes.

Diseño de Sistemas Combinacionales Específicos:

Desplazador de Datos Entrada/Salida: Es un circuito combinacional de 𝑛𝑛 entradas y 𝑛𝑛 salidas, y un conjunto de entradas de control que especifican como desplazar los datos entre la entrada y la salida.

En este caso particular veremos un desplazador de 16bits simple que sólo hace desplazamientos circulares a la izquierda, utilizando una entrada de control de 4bits para especificar la cantidad del desplazamiento

Page 88: Tecnicas Digitales I Resumen UTN FRM

Guía de Estudio: Técnicas Digitales I FRM UTN Guido D. Otero [email protected]

3.3 ARITMÉTICA BINARIA:

Sumador Binario:

La suma binaria toma el valor 1 cuando uno solo de los sumandos tiene dicho valor. Cuando ambos sumandos son uno, la suma es cero y se produce un acarreo. De lo dicho se deduce que la suma aritmética de dos bits es una multifunción de dos variables de entrada y dos variables de salida (Suma Binaria y Acarreo).

A partir de la tabla de verdad, podemos deducir las expresiones algebraicas de S y C:

𝑺𝑺 = 𝒂𝒂𝟎𝟎𝒃𝒃𝟎𝟎 + 𝒃𝒃𝟎𝟎𝒂𝒂𝟎𝟎 = 𝒂𝒂𝟎𝟎𝒃𝒃𝟎𝟎 + 𝒂𝒂𝟎𝟎.𝒃𝒃𝟎𝟎 = 𝒂𝒂𝟎𝟎⨁𝒃𝒃𝟎𝟎 𝑪𝑪 = 𝒂𝒂𝟎𝟎𝒃𝒃𝟎𝟎 = 𝒂𝒂𝟎𝟎𝒃𝒃𝒐𝒐 = 𝒂𝒂𝟎𝟎 + 𝒃𝒃𝟎𝟎

S es equivalente a la función OR-Exclusiva y C al producto lógico. Al

circuito que realiza ambas funciones se lo denomina semisumador, porque sólo permite la suma de dos bits. Transformando las expresiones mediante los postulados del álgebra binaria estudiados, podemos llegar a la siguiente implementación del circuito mediante compuertas NOR.

Cuando se desea sumar dos bits que forman parte de un número binario, es necesario sumar a ambos el acarreo precedente de la suma de los bits de peso inmediato inferior. El semisumador, no es capaz de realizar esto, por ello se diseña un nuevo circuito llamado sumador total, la tabla de verdad del mismo es la siguiente y 𝐶𝐶𝑛𝑛 representa el acarreo de la etapa de suma previa

Nos valemos de dicha tabla para encontrar las expresiones lógicas e implementar el circuito:

𝑺𝑺 = 𝑪𝑪𝒏𝒏 𝒃𝒃𝟎𝟎𝒂𝒂𝟎𝟎 + 𝑪𝑪𝒏𝒏𝒃𝒃𝟎𝟎𝒂𝒂𝟎𝟎 + 𝑪𝑪𝒏𝒏𝒃𝒃𝟎𝟎𝒂𝒂𝟎𝟎 + 𝑪𝑪𝒏𝒏𝒃𝒃𝟎𝟎𝒂𝒂𝟎𝟎 = 𝑪𝑪𝒏𝒏⨁𝒃𝒃𝟎𝟎⨁𝒂𝒂𝟎𝟎 𝑪𝑪𝒏𝒏+𝟏𝟏 = 𝑪𝑪𝒏𝒏𝒃𝒃𝟎𝟎𝒂𝒂𝟎𝟎 + 𝑪𝑪𝒏𝒏𝒃𝒃𝟎𝟎𝒂𝒂𝟎𝟎 + 𝑪𝑪𝒏𝒏𝒃𝒃𝟎𝟎𝒂𝒂𝟎𝟎 + 𝑪𝑪𝒏𝒏𝒃𝒃𝟎𝟎𝒂𝒂𝟎𝟎

La función S es equivalente a una función XOR de tres variables, y simplificando 𝐶𝐶𝑛𝑛+1 mediante un mapa de Karnaugh obtenemos: 𝑪𝑪𝒏𝒏+𝟏𝟏 = 𝒂𝒂𝟎𝟎𝒃𝒃𝟎𝟎 + 𝒂𝒂𝟎𝟎𝑪𝑪𝒏𝒏 + 𝒃𝒃𝟎𝟎𝑪𝑪𝒏𝒏

El sumador total es un circuito de aplicación general, y por ello se lo ha realizado como circuito integrado en algunas tecnologías.

Tabla de Verdad Semisumador 𝑏𝑏0 𝑎𝑎0 S C 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1

Tabla de Verdad Sumador Total 𝐶𝐶𝑛𝑛 𝑏𝑏0 𝑎𝑎0 S 𝐶𝐶𝑛𝑛 + 1 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1

Page 89: Tecnicas Digitales I Resumen UTN FRM

Guía de Estudio: Técnicas Digitales I FRM UTN Guido D. Otero [email protected]

En general, siempre ha de realizarse la suma de números de más de un bit. Dicha suma puede realizarse en serie o en paralelo.

El sumador serie realiza simultáneamente la suma de dos bits, uno de cada número y el acarreo procedente de la suma de los dos anteriores. Está formado por un único sumador total y ha de poseer un elemento que memorice el acarreo. En cuanto a la circuitería, hay que añadir registros para almacenar los operandos y resultados, y una unidad de control que secuencia la suma de dos bits. Se obtiene así un procesador digital secuencial síncrono.

El sumador Paralelo realiza simultáneamente la suma de dos números de 𝑛𝑛 bits, para ello utiliza 𝑛𝑛 sumadores totales. La suma en paralelo puede realizarse mediante dos procedimientos:

a. Generación de Acarreo en Serie: En este montaje, cada sumador realiza la suma de dos bits y el acarreo procedente del sumador de los bits de peso inmediato inferior. Como el acarreo se propaga en serie, el tiempo necesario para que se realice la suma es igual a 𝑛𝑛 veces el tiempo que tarda en generarse el acarreo en un sumador. Este tipo de circuitos es adecuado cuando el tiempo de operación no debe ser mínimo.

b. Generación de Acarreo en Paralelo: En este montaje, los acarreos de todas las etapas son generados simultáneamente y las sumas se realizan posteriormente en paralelo, consiguiendo mayor rapidez. En primer lugar, se obtienen los términos de las funciones generación (𝐺𝐺) y propagación (𝑃𝑃):

𝐺𝐺𝑖𝑖 = 𝐴𝐴𝑖𝑖𝐵𝐵𝑖𝑖 𝑃𝑃𝑖𝑖 = 𝐴𝐴𝑖𝑖⨁𝐵𝐵𝑖𝑖 Los acarreos de todas las etapas dependen de la generación y propagación inicial, por lo que se calcula el acarreo de forma iterativa mediante la fórmula 𝐶𝐶𝑖𝑖+1 = 𝑃𝑃𝑖𝑖𝐶𝐶𝑖𝑖 + 𝐺𝐺𝑖𝑖, obteniendo el acarreo por anticipado.

El siguiente esquema muestra un sumador en paralelo de cuatro bits con acarreo anticipado:

Page 90: Tecnicas Digitales I Resumen UTN FRM

Guía de Estudio: Técnicas Digitales I FRM UTN Guido D. Otero [email protected]

Overflow:

Se producirá desbordamiento u Overflow del sistema cuando:

Ambos operandos aplicados a sumadores son positivos, lo que se detecta mediante el bit de signo del resultado que será uno.

Ambos operandos aplicados a sumadores son negativos, lo que se detecta mediante su bit de signo que es 1, y el bit de signo del resultado es cero.

Realizando la tabla de verdad de lo mencionado, podemos obtener la función lógica para un circuito detector e implementarlo:

Page 91: Tecnicas Digitales I Resumen UTN FRM

Guía de Estudio: Técnicas Digitales I FRM UTN Guido D. Otero [email protected]

Sumador/Restador mediante Complemento a 2:

Antes de continuar, conviene repasar los conceptos de resta binaria vistos en la Unidad Aritmética (1.3)

Para implementar un circuito sumador/restador, imponemos que los números negativos que se presentan en la entrada vengan expresados en complemento a dos.

El siguiente circuito es un sumador/restador de 7 bits y signo, está constituido por ocho sumadores totales con propagación de acarreo en serie. Si se busca sumar, en la entrada se presentan los números a y b. Ahora bien, si lo que se busca es restar (𝑏𝑏 − 𝑎𝑎), se ha de obtener el complemento a 2𝑛𝑛 del número y sumar 1.

Para ello, se introduce el número b al sumador por medio de compuertas XOR de dos entradas, controladas por una señal 𝑆𝑆/𝑅𝑅 (inversión controlada). Si el estado de 𝑆𝑆/𝑅𝑅 es un cero lógico, a las salidas de las compuertas XOR aparece el número sin complementar y el acarreo en el primer sumador (𝐶𝐶𝑖𝑖) es un cero. En cambio, si la señal 𝑆𝑆/𝑅𝑅 es 1, las puertas XOR complementan a b y el acarreo de entrada es un uno lógico, lo que efectúa la operación (𝑎𝑎 − 𝑏𝑏).

Si el valor absoluto del resultado es igual o superior a 27 = 128, se produce un rebasamiento de la máxima capacidad del sumador (Sólo posible si a y b son ambos positivos o negativos). Para detectar el Overflow, se utilizan los bits de signo de ambos números y el acarreo que se suma a ambos o el bit de signo final.

Sumador/Restador mediante Complemento a 1:

Como vimos en la unidad de aritmética (1.3), por el complemento a 2𝑛𝑛 − 1, la resta también se reduce a una suma. Podemos aplicar el mismo circuito que el anterior, con la salvedad que los números b en la entrada se presentarán en complemento a 2𝑛𝑛 − 1, y la entrada de acarreo del primer sumador debe conectarse a la salida de acarreo para que se realice su suma con los números 𝑎𝑎 y 𝑏𝑏

Page 92: Tecnicas Digitales I Resumen UTN FRM

Guía de Estudio: Técnicas Digitales I FRM UTN Guido D. Otero [email protected]

Operaciones con BCD:

En los códigos decimales codificados en binario,

Los resultados comprendidos entre 0 y 9 no necesitan corrección (ya que son equivalentes al código BCD Natural), si el resultado no en este rango se le debe sumar 6 (0110)

Page 93: Tecnicas Digitales I Resumen UTN FRM

Guía de Estudio: Técnicas Digitales I FRM UTN Guido D. Otero [email protected]

Multiplicadores Combinacionales:

Como se conoce, la multiplicación binaria de dos números de un bit corresponde con el producto lógico, y el algoritmo de multiplicación utilizado en el sistema binario natural coincide con el del sistema decimal. Se multiplica el multiplicando por el bit menos significativo del multiplicador, al resultado se le suma aritméticamente el producto del segundo bit del multiplicador desplazado una posición, y así sucesivamente.

Implementando este algoritmo de forma iterativa mediante compuertas AND para los productos parciales y sumadores totales para las sumas parciales se puede diseñar un bloque multiplicador combinacional. En la siguiente figura se muestra un multiplicador de números de cuatro bits.

Page 94: Tecnicas Digitales I Resumen UTN FRM

Guía de Estudio: Técnicas Digitales I FRM UTN Guido D. Otero [email protected]

Unidades Aritméticas y Lógicas (ALU’S):

En numerosos sistemas digitales es necesario realizar múltiples operaciones aritméticas y lógicas con números binarios. Por lo que las unidades aritméticas y lógicas proveen este tipo de operaciones mediante entradas de selección.

Se muestra un esquema básico de un ALU donde A y B son Operandos, R: Resultado, F: Entrada de Control, y D: Estado de la Salida.

La mayoría de las ALU pueden realizar las siguientes operaciones:

Operaciones aritméticas de números enteros (adición, sustracción, y a veces multiplicación y división, aunque esto es más complejo)

Operaciones lógicas de bits (AND, NOT, OR, XOR, XNOR) Operaciones de desplazamiento de bits (Desplazan o rotan una palabra en un número específico de bits hacia la

izquierda o la derecha, con o sin extensión de signo). Los desplazamientos pueden ser interpretados como multiplicaciones o divisiones por 2.

Además, otras ALU permiten la generación de acarreo en paralelo para lograr la máxima velocidad de operación, para ello, en su interior cuentan con un circuito generador de acarreo.

Page 95: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

4.1 SISTEMAS SECUENCIALES:

Definición:

Un Sistema secuencial es un sistema digital cuyos vectores de salida no sólo dependen del vector de entrada actual, sino también del o los anteriores.

Estos sistemas deben ser capaces de memorizar la evolución de los vectores de entrada y determinar el vector de salida en función de los mismos.

La realización de un sistema Secuencial se basa en la realimentación de un sistema combinacional.

La TVT (Tabla de Verdad Temporal) es una tabla de verdad que amplía el concepto de función lógica, añadiendo instantes posteriores en descripción al sistema digital.

𝑔𝑔(𝑡𝑡) = 𝑓𝑓𝑎𝑎, 𝑏𝑏, 𝑐𝑐,𝑔𝑔(𝑡𝑡 + 1)

El retardo implementa el concepto de tiempo (circuito que retarda la realimentación). Este puede implementarse mediante el tiempo de propagación propio de las compuertas. La configuración siguiente es lo que se conoce como Biestable Set-Reset (Memoria de 1 Bit)

Aparecen en los Sistemas combinacionales un nuevo tipo de variables internas, que tienen por objeto implementar el concepto de memoria propio de los secuenciales.

Diagramas en Bloques:

Los sistemas secuenciales son autómatas, esto es, máquinas que evolucionan entre una cantidad finita de estados. Es interesante definir:

Estado: Distintos Valores de las Variables Internas Estado Estable: Para un vector de entrada constante, un estado es estable si el próximo estado al que evoluciona

el secuencial es ese mismo.

S R Q 0 0 No Permitido 0 1 0 1 0 1 1 1 No Cambia

Clock

En un Autómata de Moore, las salidas son funciones lógicas de las variables internas

En un Autómata de Moore, las salidas son funciones lógicas de las variables internas y de las de entrada

Page 96: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Siempre es Posible obtener los dos autómatas, dependerá del diseño del secuencial.

Clasificación:

Procedimiento General de Diseño:

1. Especificaciones Literales 2. Elección del Método de Síntesis

a) TABLA DE FASES: Se dibuja una tabla en donde las columnas son los vectores de E/S. Se denomina fase del sistema a cada una

de las combinaciones posibles de las variables de E y S en las que el sistema permanece. Las filas indican la evolución de fases del Secuencial Los cuadros sombreados indican una fase estable (Mientras el vector de entrada no cambie, el sistema no

cambiará de fase) Los cuadros no sombreados indican una fase inestable (El vector de entrada cambia y el sistema evoluciona

por estados inestables Los Cuadros vacíos indican situaciones imposibles en el sistema La Tabla de Fase nos permite visualizar fases redundantes, las cuales podemos eliminar por medio de las

siguientes dos herramientas: 1) Determinación de Fases Equivalentes: (dos fases serán equivalentes sí: )

Tienen el mismo vector de entrada Generan la Misma Salida A partir de las mismas se evoluciona para los mismos vectores de entrada, hacia las mismas

fases de destino originarias 2) Determinación de Fases Estables Fusionables: : (dos fases serán fusionables sí: )

No son estables para el mismo vector de Entrada Evolucionan hacia las fases estables destino para todos los vectores de entrada posibles.

Page 97: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Fusiones: Dos o más fases son fusionables si al juntarlas en una misma fila implican las mismas fases estables e inestables. Si como consecuencia de una fusión resulta necesario asignar distintos vectores de salida a una misma fila, resultará un Autómata de Mealy. Si lo que queremos es una autómata de Moore, es necesario evitar fusionar fases que provoquen lo mencionado.

A partir de la Tabla de Fases Reducida, asignamos un estado interno del secuencial a cada fase. Como a cada estado interno debe asignársele un vector interno se necesitará codificar variables internas

b) GRAFO REDUCIDO (GR): Consiste en dibujar un círculo y asignárselo al estado inicial del secuencial. Luego, vamos evaluando la

receptividad del mismo. Un Estado es receptivo (𝑅𝑅 = 1) para un vector de entrada, si el Sec. Debe evolucionar hacia otro estado. Un Estado será estable mientras su 𝑅𝑅 = 0 para un determinado vector de entrada

Una vez evaluada la receptividad se dibuja otro círculo para el siguiente estado, proceso que continúa hasta agotar todas las receptividades

a) GR – Caracterización por Niveles: Definimos un estado inicial y evaluamos su receptividad a vectores de entrada. Se dice que un estado es sensible a uno o más vectores de entrada si los mismos no activan su

receptividad. Este concepto, estará relacionado con la obtención de un Autómata de Mealy o Moore. Para el caso de Moore, este no tendrá estados sensibles.

El diagrama de flujo resultante de aplicar el método, no posee flechas que retornan al mismo estado (como ocurre con el método de tabla de Fases). Lo que implica, que no está definido el comportamiento del secuencial para todos los vectores de entrada y probablemente resulte un circuito más sencillo que con el planteo de la TF.

b) GR – Caracterización por Flancos: Cuando trabajamos con un SSA, es posible considerara que la receptividad de un estado es uno

cuando se produce un flanco (cambio de nivel) en alguna variable de entrada y las demás se mantienen en niveles determinados.

La Caracterización por Flancos permite una caracterización por niveles cuando no hay flancos a considerar

Implementar un SSA utilizando GR y caracterización por flancos puede ser la alternativa menos compleja.

La receptividad de un estado puede hacerse uno en los siguientes casos 1) Cambio de nivel de una única Variable 2) Cambio de nivel de una variable y nivel de otras 3) Nivel de Variables

Se plantea el diagrama de flujo La codificación de los estados internos del secuencial consiste en asignar a cada estado una Celda

Activada por Flancos (CAF). Cuando el Sistema cambia de estado, se activará la celda que le corresponda y se desactivará la anterior.

Los Cambios de Estado se producen cuando se presenta una R=0

Page 98: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

3. Codificación de Estados Internos: Este proceso determinará la cantidad de variables internas y su valor para cada estado interno. La codificación dependerá de qué clase de secuencial implementaremos: Asíncrono (Caracterizado por Niveles o Flancos) o Síncrono

a. Codificación SSA Caracterizado por Niveles: En un secuencial podemos codificar estados Asignando una variable interna a cada estado interno ó

Asignando más de una variable interna a cada estado interno. Si asignamos una sola variable interna a cada estado, todas las transiciones de vectores internos

serán no adyacentes, teniendo que analizar cada una para verificar si es crítica o no. Si asignamos más de una variable a cada estado interno (m variables internas, 2𝑚𝑚 ≥ 𝑛𝑛 siendo n la

cantidad de estados), pueden resultar transiciones no adyacentes críticas no evitables modificando la codificación.

Siempre habrá que verificar que las TNA no provoquen evoluciones indeseadas del secuencial. (Si el vector interno tiene que cambiar a un valor no adyacente, pasará por valores intermedios que se convierten en nuevas entradas del combinacional retroalimentado, existiendo el riesgo que se llegue a un estado no previsto)

Para evitar las TNAC, debemos evitar las no adyacencias en la codificación. Si al evaluar encontramos un comportamiento no deseado del sistema, podemos salvarlo mediante: Cambiar las codificaciones y analizar las no adyacencias para cada caso. Si en alguna no es

crítica el problema está resuelto. Agregar variables internas y nuevos estados de forma tal que la transición se realice por

estados adyacentes. Esto salvará la TNAC pero agregará complejidad al sistema. Mediante Cubos N se busca la codificación adecuada. Dibujando un cubo N con código cíclico

y continuo en una de sus caras, se asigna a esa cara los estados del diagrama. En la cara opuesta, se asignan los nuevos estados de modo que se cubran todas las no Adyacencias.

b. Codificación SSA Caracterizado por Flancos: Agregamos a cada estado una celda CAF (Celda Activada por Flancos), la cual estará en 1 si el secuencial está en el estado correspondiente, por lo tanto las demás estarán en cero. Un Flanco de Subida en A activará CAF siempre que E=0 Un Flanco de Subida en B borra la CAF Las entradas S/R de la CAF se utilizan para asegurar que al iniciar el sistema sólo CAF0 se encuentre activa.

c. Codificación de SSS: Aquí no es necesario evaluar las TNAC, por lo tanto la codificación es libre

4. Obtención de la Tabla de Verdad Temporal (TVT):

La TVT es una tabla donde a la izquierda encolumnamos los valores de vectores de entrada e internos para un tiempo t; y a la derecha los vectores internos para un tiempo posterior (𝑡𝑡 + 1).

Esta tabla servirá para implementar SSS o SSA indistintamente (en el caso de los SSS los instantes (𝑡𝑡) y (𝑡𝑡 + 1) estarán separados por un flanco del reloj de sincronismo).

La TVT se plantea a partir del diagrama de flujos obtenido de los métodos de TF o GR. Nos ubicamos en un estado, y comenzamos a evaluar el secuencial para los distintos vectores de entrada (hasta agotar los estados). Si quedan codificaciones sin utilizar, rellenamos con X ya que el secuencial nunca las alcanzar

Page 99: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

4. Obtención de las Funciones Lógicas Internas: 𝑺𝑺𝑺𝑺𝑺𝑺 ≠ 𝑺𝑺𝑺𝑺𝑺𝑺 a) SSA Caracterizados por Nivel: Pueden obtenerse las funciones lógicas de las variables internas mediante:

1) Combinacionales SSI/MSI: Se toman las funciones lógicas a implementar de la TVT, y se las minimiza mediante el método de las multifunciones (SSI), o bien utilizando DECOS o MUX (MSI).

2) Combinacionales SSI/MSI y/o Biestables S-R Asíncronos: Se le asigna un biestable S/R a cada variable interna, para ello, se combina la TVT con la tabla de verdad del biestable. Se obtienen las funciones lógicas de 𝑅𝑅𝑖𝑖 y 𝑆𝑆𝑖𝑖, y se las implementa mediante multifunciones (SSI) o DECOS o MUX (MSI)

Nota: Al alimentar el circuito, los biestables pueden adoptar cualquier valor. Es necesario, verificar si el secuencial evoluciona correctamente sea cual sea el estado inicial de los biestables. Si la evolución no es correcta, hay que replantear o agregar entradas puestas a cerro o uno

b) SSA Caracterizados por Flancos:

c) SSS: Las variables internas se sincronizan con el reloj del sistema (El secuencial evoluciona sincrónicamente con el reloj). Aquí no es necesario salvar las TNAC ya que se utilizan Biestables síncronos por flancos.

Pueden obtenerse las funciones lógicas internas para un SSS mediante: Combinacionales y Biestables S/R Combinacionales y Biestables J/K Combinacionales y Biestables D (Registros)

El procedimiento es similar para los distintos casos, siempre se procede combinando la TVT con la tabla de verdad del Biestable. Para la implementación de los bloques combinacionales puede utilizarse minimización de multifunciones (SSI) o DECOS – MUX (MSI).

Biestables Asíncronos:

R S Mantener Cero X 0

Poner Cero 1 0 Mantener Uno 0 X

Poner Uno 0 1

Page 100: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

4.2 APLICACIÓN DE CIRCUITOS SECUENCIALES:

REGISTROS:

Los registros de desplazamiento son circuitos digitales que consisten en una serie de biestables, generalmente de tipo D, interconectados, que basculan de forma sincrónica con la misma señal de reloj. Según las conexiones entre los biestables, se tiene un desplazamiento de la información almacenada.

Existen registros de desplazamiento bidireccionales, que pueden funcionar en ambos sentidos. Los registros universales, además de bidireccionales permiten la carga en paralelo.

Tipos de Registros:

Dependiendo del tipo de entradas y salidas, los registros se clasifican como:

Serie-Serie (SISO): sólo la entrada del primer biestable y la salida del último son accesibles externamente. Se emplean como líneas de retardo digitales y en tareas de sincronización.

Paralelo-Serie (PISO): son accesibles las entradas de todos los biestables, pero sólo la salida del último. Normalmente también existe una entrada serie, que sólo altera el contenido del primer flip-flop, pudiendo funcionar como los del grupo anterior. Este tipo y el siguiente se emplean para convertir datos serie en paralelo y viceversa.

Serie-Paralelo (SIPO): son accesibles las salidas de todos los biestables, pero sólo la entrada del primero. Este tipo y el anterior se emplean para convertir datos serie en paralelo y viceversa, por ejemplo para conexiones serie como el RS232.

Paralelo-Paralelo (PIPO): tanto las entradas como las salidas son accesibles. Se usan para cálculos aritméticos.

Un registro de desplazamiento muy utilizado, que es universal (se llama así porque puede utilizarse en cualquiera de las cuatro configuraciones anteriormente descritas) y bidireccional (porque puede desplazar los bits en un sentido u otro) es el 74HC194, de cuatro bits de datos. Otros registros de desplazamiento conocidos, fabricados también con la tecnología CMOS, son el 74HC165 (entrada paralelo, salida serie) y 74HC164 (entrada serie, salida paralelo).

Aplicaciones:

Además de la conversión serie-paralelo y paralelo-serie, los registros de desplazamiento tienen otras aplicaciones típicas:

Generador pseudoaleatorio: Se construye con un registro de desplazamiento, realimentando a la entrada una combinación de varias salidas, normalmente un or exclusivo entre ellas.

Multiplicador serie: Se realiza la multiplicación mediante sumas y desplazamientos. Es de señalar que un desplazamiento a la izquierda de un conjunto de bits, multiplica por 2, mientras que uno a la derecha, divide entre 2. Un ejemplo es el 74LS384.

Registro de aproximaciones sucesivas: Se usa en conversores A/D. Se van calculando los bits sucesivamente, empezando por el más significativo. Mediante un conversor DAC se compara la entrada analógica con los resultados parciales, generando el siguiente bit.

Retardo: Se pueden utilizar para retardar un bit un número entero de ciclos de reloj (consiste simplemente en un conjunto de biestables en cascada, tantos como ciclos de reloj deseemos retardar los bits).

Page 101: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Registro de Entrada/Salida:

El Registro de Entrada/ Salida corresponde a un registro de desplazamiento de tipo PIPO (Paralelo-Paralelo), el cuál permite transferir de manera simultánea 𝑛𝑛 bits hacia o desde el mismo. Analicemos el integrado 74273:

Este consta de 8 biestables D con sus clocks conectados a un mismo pulso (Se cambian todos los biestables bajo un mismo pulso de reloj). De la misma manera, tienen todas sus conexiones Clear unidas entre sí para una puesta a cero de todos al mismo tiempo (No se lo ha dibujado por cuestiones de prolijidad).

Cada línea de entrada se conecta a una rama de un Bus, mientras que las salidas a otro.

En el momento en que Ck=1 (ya con los datos de entrada en el Bus 1), se introducen los datos a los biestables. Luego, el Ck vuelve a ser nulo y ya no importa que cambien los valores del Bus de entrada, el registro ya almacena la palabra de 8 bits. A esto se lo llama “Carga del Registro”.

Mientras que la señal de reloj se mantenga en cero, los datos estarán disponibles en el Bus 2. Finalmente, ante una señal de Clear o la repetición de la carga podemos memorizar nuevamente la palabra.

Registros de Desplazamiento:

Un registro de desplazamiento es un dispositivo en el que se puede almacenar una cierta cantidad de bits en forma ordenada, pero como su conexión es en serie, todos los bits ingresan por el mismo biestable y van pasando al siguiente (de derecha a izquierda o viceversa según se plantee), con cada pulso de reloj. De Manera tal que, si se buscan ingresar 8 bits, se necesitan 8 pulsos de reloj.

Los biestables se disponen en serie, con el mismo Clock de habilitación de entrada de datos, mientras que las salidas de cada uno están conectadas a la entrada del siguiente.

Como ejemplo, podemos ver un registro de desplazamiento hacia la derecha, conformado por flip-flops de tipo D, mediante el chip 74164

Cuando la señal de Reloj Ck=1, cada flip-flop recibe la señal del anterior (salvo el primero que hace de entrada). En este lapso, sólo puede modificarse la información que se carga en el Biestable inicial.

En el instante en que Ck=0, se carga la información de entrada o del biestable anterior quedando disponible para cada salida. La información quedará disponible luego de un flanco descendente. Puede comprenderse más fácilmente lo mencionado observando el diagrama temporal.

Page 102: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Claramente se puede observar que hay un desplazamiento de la información a la derecha por cada pulso.

También es posible realizar Registros de desplazamiento con FF S/R o J/K. Para el primer caso, como vemos en el esquema, el primer biestable posee un inversor para la entrada R, y la conexión entre todos ellos se realiza como salida serie a entrada de la siguiente unidad. Las líneas de Reloj y Borrado de todos ellos se encuentran interconectadas.

En primera instancia, almacenaremos los datos de manera serial comenzando por el bit menos significativo. Antes de ello, debemos colocar todas las salidas 𝑄𝑄𝑗𝑗 en cero, 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 = 0 y 𝑃𝑃𝑟𝑟 = 1, al primer dato lo colocamos directamente, y luego para los demás mantenemos la entrada de habilitación superior en 0 y colocamos en el 𝑃𝑃𝑟𝑟𝑖𝑖 correspondiente haya 1 para que la NAND habilite cada FF.

La forma de operación es de tipo SIPO (Entrada Serie, Salida Paralelo), al cabo de 𝒏𝒏 pulsos tendré un registro de 𝒏𝒏 FF formando la palabra completa, quedando disponible para su lectura en la salida de forma paralela

Si leyéramos únicamente la salida 𝑸𝑸𝒐𝒐 (La del Último Biestable), y aplicáramos un reloj de n pulsos, obtendríamos un registro de tipo SISO. El mismo dispositivo compuesto por Biestables S/R podemos utilizarlo si disponemos de los datos

de entrada en forma paralela, controlando correctamente 𝐂𝐂𝐫𝐫 y 𝐏𝐏𝐫𝐫.

Multiplicación y División con Registros de Desplazamiento:

Algunos registros comerciales tienen la particularidad de poder desplazar datos tanto a la izquierda como a la derecha, la aplicación práctica recae en la multiplicación y división por 2 en cada pulso de reloj.

Supongamos el número de 8 bits 01010101. Aplicando 8 pulsos de reloj, multiplicar por dos, desplazando hacia izquierda es equivalente a:

n ∗ 2 = (0 ∗ 27 + 1 ∗ 26 + 0 ∗ 25 + 1 ∗ 24 + 0 ∗ 23 + 1 ∗ 22 + 0 ∗ 21 + 1 ∗ 20) ∗ 2 n ∗ 2 = (1 ∗ 28 + 0 ∗ 27 + 1 ∗ 26 + 0 ∗ 25 + 1 ∗ 24 + 0 ∗ 23 + 1 ∗ 22 + 0 ∗ 21 + 0 ∗ 20)

Page 103: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

El primer dígito del resultado obtenido no cabe en 8 bits, por ende, el resultado de la multiplicación comprende un error dato del primer dígito binario (Bit más Significativo). Si realizamos el desplazamiento hacia la derecha, división por dos, el resultado presentará un error del último bit (LSB).

Multiplicar y dividir por dos nos permitirá obtener cualquier producto o cociente, tal como se vio en la unidad de Aritmética Binaria.

Registro de Desplazamiento Universal:

Se trata de un circuito integrado (74194) que compone un registro de desplazamiento que permite la carga en serie o paralelo, desplazamiento a izquierda o derecha, y salida serie o paralelo, según se indique en sus señales de control.

Cabe aclarar que cuando se selecciona la operación de desplazamiento a la derecha el bit que se carga (entrada: DSR) queda registrado en la posición A (salida: QA), mientras que si seleccionamos la operación de desplazamiento a la izquierda, el bit que se carga (entrada:DSL) queda registrado en la posición D (salida: QD).

CONTADORES:

Generalidades

Los contadores son sistemas secuenciales con una entrada de impulsos, cuyo estada interno en cada instante representa el número de impulsos que se han aplicado a tal entrada. El número de estados internos ha de ser igual al máximo número de impulsos que se desean contar, más uno que será el estado inicial.

El diagrama de flujo de un sistema contador básico que posea 𝑚𝑚 biestables tiene 2𝑚𝑚 = 𝑛𝑛 estados internos y se representa de la siguiente manera.

Este sistema cambia de estado cada vez que se aplica a la entrada 𝑇𝑇 de sus biestables un impulso de sincronismo. El estado en que se encuentra en cada instante depende del número de impulsos de sincronismo que se haya aplicado hasta ese momento.

Contador con entrada de inhibición: Al sistema representado por la figura se le puede agregar una entrada I, que cuando adopte un determinado nivel lógico coloque las variables de entrada de los biestables en un estado tal que los impulsos aplicados a estos no hagan cambiar su estado (Si está implementado con biestables J/K, hará que 𝐽𝐽𝑖𝑖 = 𝐾𝐾𝑖𝑖 para todos los biestables).

Contador Reversible: Se le puede agregar al circuito básico una entrada A/D que haga partir según el estado de un sistema al siguiente o anterior, de esta manera, realiza el conteo de forma ascendente o descendente.

Page 104: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Parámetros Elementales:

Frecuencia Máxima de los Impulsos: Esta dependerá de la tecnología de realización de los biestables y compuertas lógicas que constituyen el contador (De la tecnología dependerá el tiempo de propagación y conmutación).

Código de Conteo: Los más utilizados son el binario natural y el BCD. Capacidad de Conteo: Es el mayor número de impulsos que han de ser contados por el sistema. Este parámetro

fija el número de elementos biestables que se han de utilizar. Sea 𝑛𝑛 el número de impulsos que se desean contar, el número de biestables necesarios 𝑚𝑚, ha de cumplir la siguiente relación: 2𝑚𝑚−1 < 𝑛𝑛 + 1 ≤ 2𝑚𝑚

Modo de Operación: El contador puede ser síncrono o asíncrono según su modo de operación. Los contadores síncronos son aquellos en los que todas las variables de estado cambian

simultáneamente, para lo cual se aplican los impulsos de contaje a la entrada T de todos los biestables Los contadores asíncronos son aquellos en los que las variables de estado interno no cambian simultáneamente, los impulsos que se desean contar se aplican sólo a la entrada T del primer biestable, y la de los demás es gobernada por las salidas de los que le preceden.

Comparativa entre Contadores Síncronos y Asíncronos:

Las principales diferencias entre un contador síncrono y uno asíncrono son:

a. La máxima frecuencia de operación de los contadores síncronos es superior a la de los asíncronos (antes de aplicar a la entrada un nuevo impulso, es necesario que todos los biestables hayan cambiado de estado)

b. Los Contadores Asíncronos son menos complejos que los síncronos porque el número de puertas que se utilizan para controlar la entrada de los biestables es menor.

c. Los contadores asíncronos presentan el problema de la aparición de impulsos aleatorios en la decodificación de sus estados

Contadores Asíncronos:

Estos fueron los primeros en ser integrados ya que cuentan con una cantidad de compuertas menor, son menos complejos que los síncronos. Podemos representarlo por el siguiente diagrama en bloques:

El mismo tiene una entrada T de conteo, un conjunto de entradas de puesta en estado inicial que actúan por nivel independientemente del contaje, y un número n de salidas Q de los biestables.

Los bloques funcionales contadores asincrónicos en binario natural o BCD natural se diferencian sólo por el esquema del circuito combinacional que hace que vuelva al estado cero a partir del 9 (BCD Natural) o 15 (Binario Natural)

Page 105: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Analicemos ahora un contador en binario natural de 4 biestables: De las figuras, podemos observar que 𝑄𝑄3 sólo tendrá un flanco de bajada cuando el contador pase de 15 a 0.

Este hecho nos permite ampliar la capacidad del contador conectando en serie bloques funcionales. La Salida 𝑸𝑸𝟑𝟑 de cada contador se conecta a la entrada T del siguiente. Las entradas de puesta a cero de cada bloque se conectan entre

sí para obtener un único terminal accesible desde el exterior que permita poner a cero todo el sistema.

Si analizamos ahora un contador en BCD Natural de 4 biestables, su capacidad máxima de contaje es 9, y por ello recibe el nombre de década contadora. En los diagramas temporales, puede apreciarse que nuevamente en 𝑄𝑄3 sólo se produce un flanco de bajada cuando el conteo pasa de 9 a 0. Por ello, se puede Expandir la capacidad de conteo de la misma forma que el contador en Binario Natural.

En ambos casos, se comprende que la expansión de la capacidad de conteo disminuye la frecuencia máxima de conteo.

Muchas veces es necesario obtener una indicación de que un contador Asíncrono ha llegado a un determinado estado. La acción de obtener una salida cuya valor lógico indique que se ha alcanzado un estado se denomina decodificar el contador. Consiste en obtener el producto canónico correspondiente a la combinación de variables de estado interno del contador.

Sin embargo, hay que tener presente que en la decodificación es posible obtener impulsos aleatorios debido a que los biestables no cambian de estado simultáneamente. Dichos impulsos aleatorios aparecen después de flancos activos de los impulsos de contaje y para evitarlos es necesario inhibir la decodificación durante el tiempo comprendido entre ellos y los flancos no activos.

Page 106: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Contadores Síncronos:

En los bloques funcionales contadores síncronos, la entrada de impulsos se conecta a la entrada 𝑇𝑇(𝐶𝐶) de todos los biestables. La circuitería es más compleja respecto a los contadores asíncronos, por ende su integración fue posterior. El interés particular del desarrollo de los contadores síncronos es el de poder introducir información en paralelo. Los mismos poseen:

1. Entradas T de impulsos de contaje 2. Entradas D de información en Paralelo 3. Entrada C/P de modo de funcionamiento, según su estado lógico hace que los impulsos aplicados a T introduzcan en paralelo la información presente en D o bien que se realice el conteo en el código adecuado con la configuración del circuito combinacional situado en el interior del bloque. 4. Entrada de Inhibición: Inhibe la acción de los impulsos aplicados a T. 5. Entrada de Puesta a Cero R: Puede ser Síncrona o

Asíncrona. Cuando es asíncrona realiza la puesta a cero cuando 𝑅𝑅 = 1. Cuando es síncrona, realiza la puesta a cero si R=1 y además se aplica un flanco activo a T.

Para ampliar la capacidad de conteo es posible acoplar los bloques síncronos tal como en los asíncronos. Pero dicha forma de conexión hace que el contador obtenido deje de ser síncrono con la consiguiente disminución de la frecuencia máxima de conteo, y la aparición de impulsos aleatorios en la decodificación.

Para que se pueda realizar de manera síncrona la ampliación, se necesitan contadores que dispongan entrada y salida de propagación. Podemos utilizar la entrada 𝐸𝐸𝑝𝑝 como entrada de inhibición, por ello algunos contadores la reemplazan directamente.

Las entradas R de todos los contadores se unen con el fin de obtener un único terminal de puesta a cero, lo mismo se hace con el terminal C/P. La entrada 𝐸𝐸𝑝𝑝 se coloca a un uno lógico para que este nunca esté inhabilitado, el resto de las 𝐸𝐸𝑝𝑝 se conecta a las salidas 𝑆𝑆𝑝𝑝 de los contadores precedentes (De esta forma, sólo cuando el contador anterior llega a su capacidad máxima de conteo, habilita el siguiente).

Los contadores síncronos presentan la ventaja de necesitar pocas interconexiones entre los bloques. Y tienen como desventaja, que la frecuencia máxima de contaje del conjunto es menor que la de un solo bloque, debido a la propagación serie.

Al igual que en los contadores asíncronos se han realizado bloques funcionales contadores síncronos en binario natural y BCD natural.

Page 107: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Es interesante destacar que en los contadores síncronos no existe la posibilidad de aparición de fenómenos aleatorios al decodificar la salida, dado a que todos los biestables cambian simultáneamente. Y, por consiguiente, no es

necesario inhibir la decodificación durante el conteo.

Contadores comerciales poseen a veces una entrada A/D que permite configurar en conteo en forma ascendente o descendente. Al igual que otra B/D que permite optar por el código de conteo Binario Natural o BCD.

Aplicaciones de los Contadores:

Los contadores son uno de los bloques funcionales más universales, por ende se pueden utilizar en la realización de la mayoría de los sistemas digitales. Entre ellos:

Sistemas Secuenciales Síncronos de Control con Contadores. Síntesis de Procesadores Digitales Secuenciales. Controladores Lógicos Síncronos.

Sistemas Contadores y su Visualización:

En ciertas ocasiones resulta necesaria la visualización del contenido del contador mediante un display. Por lo general, los más extendidos de tecnología LED. Para facilitar la conversión del binario al natural se utilizan décadas contadoras en BCD Natural.

La visualización del estado en que se encuentra cada década se puede hacer mediante un display de 7 segmentos constituidos por diodos LED. Cada segmento está asociado a un diodo luminoso que emite luz cuando se hace pasar por él una corriente (usualmente 10mA), estos tienen un terminal común que se une a uno de los polos de alimentación y el otro al decodificador de control (Según polaridad será Ánodo ó Cátodo Común).

Ahora bien, entre los dos sistemas: Contador y Display de Siete segmentos será necesario conectar un circuito que realice las funciones de convertir el código BCD Natural al display de siete segmentos, y drivers que permitan el paso de corriente para alimentar a los diodos LED. Comercialmente se puede encontrar este bloque funcional como Decodificador Excitador, el cual posee interruptores de salida mediante transistores para permitir el paso de corriente por el diodo y una resistencia R adecuada.

De acuerdo con el número que se quiere visualizar, es necesario conectar a dicho terminal las resistencias adecuadas, las mismas pueden calcularse mediante:

𝑹𝑹 =𝑽𝑽𝒑𝒑 − 𝟏𝟏𝑽𝑽𝟏𝟏𝟏𝟏 𝒎𝒎

= 𝑿𝑿 (𝒌𝒌Ω)

El siguiente esquema corresponde a un visualizador de tipo estático porque se utiliza un decodificador de siete segmentos para cada contador.

Page 108: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

El progreso de las técnicas de integración permitió la integración de contadores de alta complejidad. Sin embargo, esto conlleva a que el diseñador o usuario tenga el problema de la gran cantidad de terminales que se necesitan para la visualización, al igual que el incremento de costos. Para ello, se utiliza la visualización dinámica.

En este tipo de visualización, los visualizadores están unidos entre sí y a un único circuito decodificador excitador que puede recibir en sus entradas la información de cualquiera de las décadas contadoras seleccionadas a través de un circuito multiplexor. El otro extremo de cada visualizador se conecta a un interruptor controlado que a su vez está unido a un terminal de la fuente de alimentación.

De forma secuencial y periódica se han de ir activando los interruptores. Esto se hace mediante un multiplexor gobernado por un contador cuya entrada T, es una señal de reloj seleccionada adecuadamente que ante los ojos humanos parecerá que todos los dígitos se encuentran activados simultáneamente.

A este circuito pueden agregarse:

• Un registro temporal a la salida del contador, para mantener el valor mientras se realiza un nuevo ciclo de conteo. • Un circuito de inhibición de visualización para que no se visualicen los ceros no significativos. • Un contador reversible, para poder realizar en conteo de manera ascendente o descendente. • Que además de ser visualizada, la información contenida en el contador pueda ser transferida a otro sistema digital.

Divisores de Frecuencia:

Un divisor de frecuencia es un circuito que, aplicándole a su entrada una frecuencia deteminada, proporciona en su salida un número de impulsos por segundo que es una fracción de los impulsos que se aplican en su entrada.

Todo contador puede ser utilizado como divisor, la capacidad de división es igual a la capacidad de contaje más uno. Si se decodifica un estado cualquiera de un contador cuya capacidad de conteo es 𝒏𝒏, en la salida se obtendrá un impulso por cada 𝒏𝒏 + 𝟏𝟏 aplicados a su entrada.

Modificando el valor binario de las entradas D, se puede obtener un divisor de frecuencia cuya capacidad de división es programable.

Page 109: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

4.3 MEMORIAS

Cuando la cantidad de bits a memorizar es pequeña (menor que 50), podemos utilizar registros de entrada y salida en paralelo (MSI). Si la cantidad de información es mayor y nunca se debe acceder a su totalidad de manera simultánea utilizamos una unidad de memoria.

Podemos definir unidad de memoria como conjunto de biestables agrupados en posiciones de tal manera que solamente es posible leer o introducir información simultáneamente de un grupo reducido de las mismas.

Características y Clasificación:

Capacidad: Es la cantidad de información que la memoria puede almacenar. Dado que la información que se guarda es binaria, se utiliza como medida de capacidad el bit (N bits). Por lo general, la información se almacena en grupos de bits denominados posiciones o palabras, formadas por un número 𝑛𝑛1 de bits a los que se pueden acceder de manera simultánea.

El número de posiciones o palabras de una memoria viene dado por 𝒎𝒎 = 𝑵𝑵/𝒏𝒏𝟏𝟏 A la selección de una determinada posición de memoria para introducir o leer información que contiene se la denomina direccionamiento de dicha posición. Para aprovechar al máximo la capacidad de selección, se hace que m sea una potencia de 2.

El número de variables binarias necesarias para poder seleccionar m posiciones es 𝒏𝒏𝟐𝟐 tal que 𝟐𝟐𝒏𝒏𝟐𝟐 = 𝒎𝒎 La unidad de capacidad en lo que se refiere al número de posiciones de memoria se considera igual a 1024, por ser la potencia de 2 más cercana a 1000, y se la denomina k La capacidad total de una memoria se suele indicar mediante el número de posiciones y el número de bits de cada

posición. Ejemplo: 32k16 posee 32768 posiciones de 16bits cada una. En total N=524288 bits. Es usual también que la capacidad se mida en octetos (8 bits = 1byte)

Forma de Acceder a la Información: La acción de escribir o leer una posición de memoria se denomina acceder a

la misma. Como nunca es necesario leer o escribir todas las posiciones al mismo tiempo, existen distintas formas de acceder a ella: Memorias de Acceso Directo: Es posible especificar una posición o conjunto de posiciones para leer su

información o escribir en ella (“direccionamiento”). Memorias de Acceso Secuencial: Son las que no se especifica la dirección de la información, sino que en

cada instante se introduce en la memoria la información situada en los terminales de entrada o bien se lee la posición unida a los terminales de salida.

Estructura Interna: Define la forma en la que se conectan entre sí las diferentes posiciones. En esta clasificación se incluyen solamente memorias que no poseen partes en movimiento. El almacenamiento de grandes cantidades de información se realiza en sistemas físicos móviles a los que denominamos periféricos.

Page 110: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Memorias de Acceso Aleatorio (RAM):

Es un conjunto de biestables agrupados en posiciones seleccionables mediante un conjunto de variables de selección, que tiene la característica de que el tiempo que tarda en leerse o escribirse cualquier posición es el mismo independientemente de la situación.

Se supone que en ella, la información está ordenada en posiciones de 𝑛𝑛1 bits. Por ello, el número de terminales de entrada y salida de información es 𝑛𝑛1. La selección de la posición cuya información se desea leer o escribir se realiza mediante 𝑛𝑛2 bits en paralelo, denominados bits de dirección. El número total de posiciones que se pueden seleccionar son 2𝑛𝑛2.

Además, posee entradas de control para gobernar la realización de lectura o escritura, e inhibición, las cuales dependerán de la forma en que esté realizada la memoria y sus aplicaciones.

En una memoria, el tiempo de acceso es el que transcurre desde que se da una orden de lectura hasta que la información contenida en la posición seleccionada aparece en la salida.

Acceso Aleatorio (RAM) Acceso Serie

R/W NO Simultáneas R/W Simultáneas

Acceso Múltiple

Lectura / Escritura (R/W)

Totalmente Pasivas

ROM

Pasivas Programables

PROM

Pasivas Reprogramables

RPROM

Pasivas

EPROM

Borrables UV

EEPROMBorrado Eléctrico

Posición a Posición

FLASH

Borrado Eléctrico en su totalidad

LIFO

FIFO

Registros de Desplazamiento

Asociativas

Page 111: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

El tiempo de ciclo es el tiempo mínimo que debe ocurrir entre dos operaciones de lectura o escritura. Por lo general, la operación de escritura necesita más tiempo que la de lectura, por ende el tiempo de escritura define el tiempo de ciclo en la memoria

En numerosas aplicaciones es necesario que la memoria posea salidas de tres estados, que permitan su conexión a un bus de información, para ello se suma una entrada de inhibición.

Estructura Interna de las Memorias de Acceso Aleatorio:

Las memorias de acceso aleatorio están formadas por células biestables organizadas en posiciones de 𝑛𝑛1 células cada una. Para seleccionar la posición en la que se introduce o lee información se utiliza un decodificador. Según la forma de seleccionar las posiciones en una memoria de acceso aleatorio se distinguen dos estructuras internas: 2D (organización por palabras) y 2½D o 3D (Organización por Bits).

La organización 2D es la más sencilla de todas, consiste en celdas que forman una matriz de 𝟐𝟐𝒏𝒏 filas y 𝒎𝒎 columnas. Cada fila es seleccionada por la decodificación de los 𝒏𝒏 bits de selección.

La organización tiene el inconveniente de que el bloque de selección crece exponencialmente con el tamaño de la memoria. Al igual que el FAN-IN de las compuertas OR que generan la salida de datos.

En la organización 3D se utilizan dos decodificadores de 𝟐𝟐𝒏𝒏/𝟐𝟐 , las líneas de selección se reparten entre los dos decodificadores. Para una configuración dada de las líneas de dirección se selecciona un único bit de la matriz. Por ello también se la denomina organización por bits.

En esta organización, se necesitan varias matrices de celdas básicas, tantas como bits deba tener la palabra de memoria, actuando sobre ellas en paralelo los circuitos de decodificación:

Page 112: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Clasificación Memorias de Acceso Aleatorio (RAM):

1. Memorias R/W (Activas):

Poseen dos grupos de entradas de dirección, uno para seleccionar que leer y otro para que escribir. Las dos operaciones se realizan de manera simultánea

Pueden ser Estáticas o Dinámicas, por lo general estáticas dada la complejidad de un circuito de refresco para las mismas. Su aplicación fundamental es en interfaces con periféricos que necesitan leer información periódicamente

Memorias de Acceso

Aleatorio ACTIVAS

Aquellas en las que los tiempos de

escritura o lectura son del mismo

orden de magnitud

Formas de Escritura / Lectura

Duración de la Información

Estáticas

Dinámicas

Mantienen la información indefinidamente, mientras no se corte la alimentación

Mantienen la información por milisegundos, necesitan refrescos periódicos

Ferrita Semiconductores con Batería Semiconductores en Gral.

Volatilidad No Volátiles

Volátiles

Sólo puede seleccionarse en cada instante una posición para leer o escribir.

Pueden ser:

Lectura / Escritura

NO Simultánea

(Los fabricantes suelen llamarles RAM en general,

aunque no es muy apropiado).

SRAM (Estáticas)

DRAM (Dinámicas)

Las memorias dinámicas necesitan refrescos (consiste en reescribir la información) Se utiliza un controlador de memorias dinámicas que se encarga del refresco mientras no se reciban peticiones de L/E

Lectura / Escritura

Simultánea

Acceso Múltiple

Permiten Leer o Escribir o ambas en más de una posición a la vez.

Suelen contener dos DECOS. Uno para el canal de L y otro que es común a un Canal de E y a otro de L.

Su operación recae en procesadores digitales para realizar operaciones con dos operandos y almacenar el resultado en la posición que se encuentre un de ellos (ACUMULADOR)

Sin embargo, deben poseer un Hardware que impida la L y E en una posición a través de un canal y se esta escribiendo la misma posición con el otro. Para ello un “Circuito de Arbitraje” habilitará una señal de control de Ocupado “Busy”

Page 113: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

2. Memorias Pasivas:

Memorias Pasivas

Aquellas en las que existe una gran

diferencia entre los tiempos de L y E (Mucho Mayor)

No son Volátiles (La información se

mantiene por más que se pierda la

Alimentación

Totalmente Pasivas

ROM (Memoria de Sólo Lectura)

Nunca pueden ser escritas por el Usuario. La Grabación la realiza el fabricante.

Construidas con BJT o MOS El tiempo de Lectura dependerá de la

Tecnología

Pasivas Programables

PROM (Programables

de Sólo Lectura)

Su contenido puede ser escrito una vez. La programación consiste en hacer pasar una

corriente por las celdas de memoria (Diodos) que los funde. Bajo la tensión y proceso especificado por el fabricante.

Pasivas Reprogramables

EPROM (Borrables con

UV)

Se graban mediante impulsos eléctricos cuyo nivel de tensión es, en general mayor que los niveles de operación del circuito.

Su realización aprovecha las capacidades parásitas de los T MOS. La grabación consiste en inyectar carga por medio de impulsos eléctricos

La tensión de grabación (Vpp) puede aplicarse por medio de un terminal dedicado PGM o de CE según el fabricante.

Procedimiento de Grabación: 1. Colocar posición en el Bus de Direcciones 2. Colocar información a grabar en las Salidas 3. Poner en el terminal de grabación Vpp (según

fabricante 13-25V) 4. OE=0; CE=0 5. Aplicar impulso a PGM

Su contenido puede ser escrito por el

usuario varias veces

Borrables Eléctricamente

EEROM (Borrables Posición a Posición)

A partir de T MOS con puertas flotantes, estas memorias permiten el borrado mediante señales eléctricas.

Para la grabación y borrado es necesario aplicar impulsos superiores a los de alimentación y lectura (20V).

Por ello hay algunas que tren un terminal dedicado Vpp (Durante la lectura Vpp=5, en Grabación o Borrado Vpp=20V), y otras generan estas señales de manera interna.

Utilizan dos T por bit (VER)

FLASH (Borrables en su Totalidad)

Son memorias borrables eléctricamente en su totalidad o por Bloques.

Estas en su bloque funcional, además de las células de memoria contienen y circuito generador de señales de grabación y borrado, contiene una unidad de control que permite reducir la cantidad de señales de control externas

Page 114: Tecnicas Digitales I Resumen UTN FRM

Técnicas Digitales I Guido D. Otero [email protected]

Memorias de Acceso Serie:

Sincronización (tiempos) No es poco común ver valores como "3-2-2-2" ó "2-3-3-2" para describir los parámetros de la memoria de acceso aleatorio. Esta sucesión de cuatro cifras describe la sincronización de la memoria (tiempo); es decir, la secuencia de ciclos de reloj necesaria para acceder a la información almacenada en la RAM. Las cuatro cifras corresponden, en orden, a los siguientes valores: • demora de CAS o latencia de CAS (CAS significa Señalizador de Direccionamiento en Columna): es el número

de ciclos de reloj que transcurre entre el envío del comando de lectura y la llegada de la información. En otras palabras, es el tiempo necesario para acceder a una columna.

• Tiempo de precarga de RAS (conocido como tRP; RAS significa Señalizador de Direccionamiento en Fila): es el número de ciclos de reloj transcurridos entre dos instrucciones de RAS, es decir, entre dos accesos a una fila.

• demora de RAS a CAS (a veces llamada tRCD): es el número de ciclos de reloj correspondiente al tiempo de acceso de una fila a una columna.

• tiempo activo de RAS (a veces denominado tRAS): es el número de ciclos de reloj correspondiente al tiempo de acceso a una columna.