Está en la página 1de 172

CIRCUITOS DIGITALES I

UNIVERSIDAD TECNOLÓGICA DEL PERU

Vicerrectorado de Investigación

CIRCUITOS DIGITALES

TINS

INGENIERÍA ELECTRÓNICA, INGENIERÍA MECATRÓNICA

TEXTOS DE INSTRUCCIÓN (TINS) / UTP

Lima – Perú

1
CIRCUITOS DIGITALES I

© CIRCUITOS DIGITALES I
Desarrollo y Edición: Vicerrectorado de Investigación

Elaboración del TINS: Ing. Julio Díaz Aliaga

Diseño y Diagramación: Julia Saldaña Balandra

Soporte académico: Instituto de Investigación

Producción: Imprenta Grupo IDAT

Queda prohibida cualquier forma de reproducción, venta, comunicación


pública y transformación de esta obra.
2
CIRCUITOS DIGITALES I

“El presente material contiene una compilación de contenidos de


obras sobre Circuitos Digitales publicadas lícitamente, resúmenes
de los temas a cargo del profesor; constituye un material auxiliar de
enseñanza para ser empleado en el desarrollo de las clases en
nuestra institución.

Éste material es de uso exclusivo de los alumnos y docentes de la


Universidad Tecnológica del Perú, preparado para fines didácticos
en aplicación del Artículo 41 inc. C y el Art. 43 inc. A., del Decreto
Legislativo 822, Ley sobre Derechos de Autor”.

3
CIRCUITOS DIGITALES I

4
CIRCUITOS DIGITALES I

PRESENTACIÓN

Algunas máquinas electrónicas (como las PCs, por ejemplo) contribuyen a la extensión
de la capacidad humana en el tratamiento de tareas intelectuales; en tanto las
máquinas mecánicas, contribuyen a aligerar el esfuerzo físico humano.

Las primeras son producto de la tecnología electrónica del siglo XX; su forma y tamaño
actual ha sido moldeada principalmente por el desarrollo de los circuitos integrados de
las últimas décadas.

No obstante la fabricación de componentes electrónicos en base a semiconductores y


otros materiales, está llegando a sus límites en cuanto a la capacidad de integración.

En los años que se avecinan se espera que la mecánica cuántica permita la fabricación
de otro tipo de computadoras; a su vez estas dejarán paso a otras alternativas como las
computadoras que funcionen completamente en base a la luz.

El desarrollo comentado y la perspectiva consiguiente conduce a relevar la importancia


de la asignatura de Circuitos Digitales; la que se imparte en las Carreras de: Ingeniería
Industrial, Ingeniería de Sistemas, Ingeniería Electrónica, Ingeniería Mecatrónica e
Ingeniería Textil

El texto que nos ocupa resume la contribución académica del Ingeniero Julio Díaz
Aliaga, por lograr una selección de temas concernientes a la lógica circuítal, en los
diferentes campos de su aplicación, apropiadamente secuenciada en los Capítulos que
sigue, relacionadas con el syllabus de la Asignatura mencionada:

Sistemas Digitales, cada sistema esta diseñado para ilustrar. Todos los sistemas se
han simplificado para hacerlos manejables dentro del contexto del tema del capitulo.

Compuertas Lógicas, en este capitulo se hace énfasis en el funcionamiento lógico, las


aplicaciones y los tipos de compuertas que existen.

Familias Lógicas, en este capitulo se estudia todas las familias lógicas tales como:
TTL y CMOS. Cada familia tiene su propia configuración.

5
CIRCUITOS DIGITALES I

Lógica Combinacional, Si se conectan puertas lógicas ente sí, con el fin de generar
una determinada salida específica para determinadas combinaciones específicas de las
variables de entrada, sin que haya implicado almacenamiento, el circuito resultante se
califica como lógica combinaciónal.

Funciones con especificación incompleta, en este punto se presentan distintos tipos


de circuitos lógicos combinacionales MSI, incluyendo sumadores y restadores.

Conversor de código, la función básica de un comparador consiste en comparar las


magnitudes de dos cantidades binarias para determinar su relación.

Decodificadores, su función es detectar la presencia de una determinada combinación


de bits en sus entradas y señalar la presencia de este código mediante un cierto nivel
de salida; en tanto un Codificador, es un circuito lógico combinacional que,
esencialmente, realiza la función de inversa de un decodificador.

Multiplexores y selectores de datos, es un dispositivo que permite dirigir la


información digital procedente de diversas fuentes a una única línea para ser
transmitida a través de dicha línea a un destino común; por otro lado los
Démultiplexores, realiza básicamente la función contraria al multiplexor. Toma datos
de una línea y los distribuye a un determinado número de líneas.

Finalmente en los últimos capítulos se trata los siguientes aspectos:


Lenguaje ABEL
Lenguaje VHDL
Descripción de Circuitos Digitales

Cerrando estas líneas el agradecimiento Institucional al Ing: Julio Díaz Aliaga y también
a los profesores que han contribuido en la revisión del texto

Vicerrectorado de Investigación

6
CIRCUITOS DIGITALES I

ÍNDICE
CAPITULO I ..................................................................................................................................... 13

1.1 SISTEMAS DIGITALES Y ANALÓGICOS................................................... 13


1.2 VENTAJAS DE LAS TÉCNICAS DIGITALES .............................................. 14
1.3 TRANSMISIÓN PARALELA Y SERIAL........................................................ 14
1.4 SISTEMAS DE NUMERACIÓN Y CÓDIGOS .............................................. 17
1.5 OPERACIONES ARITMÉTICAS .................................................................. 23
1.6 PROPIEDADES GENERALES DE LOS CÓDIGOS DE DETECCIÓN Y
CORRECCIÓN DE ERRORES .................................................................... 31
1.7 CUBOS N Y DISTANCIA ............................................................................. 37

CAPITULO II .......................................................................................................... 41

2.1 COMPUERTAS LÓGICAS........................................................................... 41

CAPITULO III ......................................................................................................... 51

3.1 FAMILIAS LÓGICAS ................................................................................... 51


3.2 LA FAMILIA LÓGICA TTL ........................................................................... 53
3.3 DETERMINACIÓN DEL FACTOR DE CARGA ........................................... 54
3.4 CARACTERÍSTICAS ADICIONALES TTL .................................................. 55
3.5 TIPOS DE SALIDA TTL............................................................................... 56
3.6 LA FAMILIA ECL ......................................................................................... 57
3.7 MANEJO DE CMOS DE ALTO VOLTAJE10 POR TTL .............................. 61
3.8 MANEJO DE TTL POR CMOS.................................................................... 61
3.9 TECNOLOGÍAS DE BAJO VOLTAJE ......................................................... 61
3.10 OTRA ESTRUCTURA DE ENTRADA Y SALIDA TTL................................. 62
3.11 ENTRADAS DE DISPAROS DE SCHMITT................................................. 62

CAPITULO IV......................................................................................................... 63

4.1 LÓGICA COMBINACIONAL ......................................................................... 63


4.2 PRINCIPIOS DE DISEÑO DE LÓGICA COMBINACIONAL ....................... 63
4.3 TEOREMAS BÁSICOS................................................................................. 65
4.4 PRIORIDAD DEL OPERADOR .................................................................... 67
4.5 FORMAS ALGEBRAICAS DE LAS FUNCIONES DE CONMUTACIÓN ..... 70

7
CIRCUITOS DIGITALES I

CAPITULO V.......................................................................................................... 75

5.1 FUNCIONES CON ESPECIFICACIÓN INCOMPLETA. ............................... 75


5.2 CIRCUITOS DE CONMUTACIÓN................................................................. 75
5.3 LÓGICA POSITIVA Y LÓGICA NEGATIVA .................................................. 75
5.4 ANÁLISIS DE CIRCUITOS COMBINATORIOS............................................ 77
5.5 MÉTODO ALGEBRAICO............................................................................... 77
5.6 MÉTODO DE LA TABLA DE VERDAD ......................................................... 78
5.7 ANÁLISIS DE DIAGRAMAS DE TIEMPOS................................................... 79
5.8 DIAGRAMAS DE TIEMPO. ........................................................................... 79
5.9 RETARDO DE PROPAGACIÓN ................................................................... 80
5.10 SÍNTESIS DE CIRCUITOS LÓGICOS COMBINATORIOS.......................... 81
5.11 REDES AND-OR y NAND............................................................................. 81
5.12 REDES OR – AND y NOR ............................................................................ 82
5.13 CIRCUITOS AND-OR-INVERSOR ............................................................... 82
5.14 DISEÑO DE CIRCUITOS LÓGICOS ASISTIDOS POR COMPUTADORA . 83
5.15 SIMPLIFICACIÓN DE SISTEMAS DE CONMUTACIÓN ............................. 83
5.16 MÉTODO DE MAPAS DE KARNAUGH ....................................................... 84
5.17 TRAZO DE FUNCIONES EN FORMA CANÓNICA SOBRE EL MAPA K.... 86
5.18 AMPLIFICACIÓN DE FUNCIONES MEDIANTE MAPAS K ........................ 86
5.19 TERMINOLOGÍA.......................................................................................... 86
5.20 FUNCIONES CON ESPECIFICACIÓN INCOMPLETA. .............................. 87
5.21 USO DE MAPA K PARA ELIMINAR RIESGOS DE TIEMPO. .................... 88
5.22 MÉTODO DE MINIMIZACIÓN TABULAR DE QUINE MC. CLUSKEY ....... 89
5.23 MÉTODO NUMÉRICO O DEL TABULADO ................................................ 90
5.24 FUNCIONES DE SALIDA MÚLTIPLE ......................................................... 90

CAPITULO VI......................................................................................................... 93

6.1 CONVERSOR DE CÓDIGO ......................................................................... 93


6.2 ELEMENTOS DE ARITMÉTICA BINARIA................................................... 93
6.3 CIRCUITOS DE RESTA BINARIA ............................................................... 98
6.4 RESTADOR COMPLETO ............................................................................ 98
6.5 RESTADOR MEDIO .................................................................................... 99

8
CIRCUITOS DIGITALES I

6.6 UNIDAD ARITMÉTICA Y LÓGICA (ALU) ..................................................... 101


6.7 TABLA FUNCIONAL DE LA ALU.................................................................. 101
6.8 UNIDAD ARITMÉTICA LÓGICA ................................................................... 102

CAPITULO VII........................................................................................................ 105

7.1 DECODIFICADORES: ................................................................................ 105


7.2 IMPLANTACIÓN DE FUNCIONES LÓGICAS USANDO
DECODIFICADORES .............................................................................. 105
7.3 ENTRADAS PARA CONTROL DE ACTIVACIÓN ....................................... 106
7.4 DECODER DE BCD A DECIMAL ................................................................ 107
7.5 DECODER DE DISPLAY DE SIETE SEGMENTOS ................................... 108
7.6 CODIFICADORES ....................................................................................... 108
7.7 CODIFICADORES DE PRIORIDAD ............................................................ 109

CAPITULO VIII....................................................................................................... 111

8.1 MULTIPLEXORES/ SELECTORES DE DATOS ........................................ 111


8.2 EJECUCIÓN DE FUNCIONES CON MUX .................................................. 111
8.3 DEMULTIPLEXORES DISTRIBUIDORES DE DATOS............................... 112
8.4 SÍMBOLOS ESTÁNDAR.............................................................................. 112
8.5 ELEMENTOS DE ARITMÉTICA BINARIA................................................... 112

CAPITULO IX......................................................................................................... 113

9.1 LENGUAJE ABEL......................................................................................... 113


9.2 ESTRUCTURA DE UN ARCHIVO FUENTE ABEL...................................... 114
9.3 DECLARACIONES ....................................................................................... 114
9.4 OPERADORES ............................................................................................ 115
9.5 CONJUNTOS ............................................................................................... 116

CAPITULO X.......................................................................................................... 125

10.1 LENGUAJE VHDL........................................................................................ 125


10.2 ELEMENTOS BÁSICOS .............................................................................. 125
10.3 OPERADORES............................................................................................ 128
10.4 ESTRUCTURA DE UN FICHERO VHDL .................................................... 128

9
CIRCUITOS DIGITALES I

10.5 DECLARACIÓN DE ENTIDAD ................................................................... 128


10.6 MODO DE UN PUERTO............................................................................. 129
10.7 ARQUITECTURA........................................................................................ 129
10.8 ESTILOS DE MODELADO ......................................................................... 130

CAPITULO XI......................................................................................................... 131

11.1 DESCRIPCIÓN DE CIRCUITOS DIGITALES ........................................... 131


11.2 BIESTABLES ............................................................................................. 132
11.3 DESCRIPCIÓN VHDL................................................................................ 132
11.4 SALIDAS DE MEFS ................................................................................... 134
11.5 ENTORNOS DE TEST............................................................................... 134
11.6 GENERACIÓN DE ESTÍMULOS ............................................................... 135
11.7 VECTORES DE TEST ALMACENADOS EN TABLA ................................ 135

CAPITULO XII........................................................................................................ 139

12.1 PRINCIPIOS DE DISEÑO DE LÓGICA SECUENCIAL.............................. 139

CAPITULO XIII....................................................................................................... 155

13.1 PROCEDIMIENTO DE ANÁLISIS............................................................... 155


13.2 DIAGRAMAS DE MÁQUINA DE ESTADO ALGORÍTMICOS. ................... 157
13.3 DISEÑO DE CONTADORES ...................................................................... 164
13.4 MÁQUINAS DE ESTADO FINITO .............................................................. 168
13.4 BIBLIOGRAFÍA .......................................................................................... 171

10
CIRCUITOS DIGITALES I

DISTRIBUCIÓN TEMÁTICA
Clase
No. Tema Semana
CAPÍTULO I

1.1 SISTEMAS DIGITALES Y ANALÓGICOS


1 1.2 VENTAJAS DE LAS TÉCNICAS DIGITALES
1.3 TRANSMISIÓN PARALELA Y SERIAL 1
1.4 SISTEMAS DE NUMERACIÓN Y CÓDIGOS
1.5 OPERACIONES ARITMÉTICAS
1.6 PROPIEDADES GENERALES DE LOS CÓDIGOS DE DETECCIÓN Y
CORRECCIÓN DE ERRORES
1.7 CUBOS N Y DISTANCIA
CAPITULO II
2 2
2.1 COMPUERTAS LÓGICAS
CAPÍTULO III

3.1 FAMILIAS LÓGICAS


3.2 LA FAMILIA LÓGICA TTL
3.3 DETERMINACIÓN DEL FACTOR DE CARGA
3.4 CARACTERÍSTICAS ADICIONALES TTL
3 3.5 TIPOS DE SALIDA TTL 3
3.6 LA FAMILIA ECL
3.7 MANEJO DE CMOS DE ALTO VOLTAJE POR TTL
3.8 MANEJO DE TTL POR CMOS
3.9 TECNOLOGÍAS DE BAJO VOLTAJE
3.10 OTRA ESTRUCTURA DE ENTRADA Y SALIDA TTL
3.11 ENTRADAS DE DISPAROS DE SCHMITT
CAPÍTULO IV

4.1 LÓGICA COMBINACIONAL


4 4.2 PRINCIPIOS DE DISEÑO DE LÓGICA COMBINACIONAL
4.3 TEOREMAS BÁSICOS 4
4.4 PRIORIDAD DEL OPERADOR
4.5 FORMAS ALGEBRAICAS DE LAS FUNCIONES DE CONMUTACIÓN
CAPÍTULO V

5.1 FUNCIONES CON ESPECIFICACIÓN INCOMPLETA.


5 5.2 CIRCUITOS DE CONMUTACIÓN
5.3 LÓGICA POSITIVA Y LÓGICA NEGATIVA 5
5.4 ANÁLISIS DE CIRCUITOS COMBINATORIOS.
5.5 MÉTODO ALGEBRAICO
5.6 MÉTODO DE LA TABLA DE VERDAD
5.7 ANÁLISIS DE DIAGRAMAS DE TIEMPOS
5.8 DIAGRAMAS DE TIEMPO
5.9 RETARDO DE PROPAGACIÓN
6 5.10 SÍNTESIS DE CIRCUITOS LÓGICOS COMBINATORIOS
5.11 REDES AND-OR y NAND 6
5.12 REDES OR – AND y NOR
5.13 CIRCUITOS AND-OR-INVERSOR
5.14 DISEÑO DE CIRCUITOS LÓGICOS ASISTIDOS POR COMPUTADORA
5.15 SIMPLIFICACIÓN DE SISTEMAS DE CONMUTACIÓN
5.16 MÉTODO DE MAPAS DE KARNAUGH
5.17 TRAZO DE FUNCIONES EN FORMA CANÓNICA SOBRE EL MAPA K
5.18 IMPLIFICACIÓN DE FUNCIONES MEDIANTE MAPAS K
7 5.19 TERMINOLOGÍA
5.20 FUNCIONES CON ESPECIFICACIÓN INCOMPLETA. 7
5.21 USO DE MAPA K PARA ELIMINAR RIESGOS DE TIEMPO
5.22 MÉTODO DE MINIMIZACIÓN TABULAR DE QUINE MC. CLUSKEY
5.23 MÉTODO NUMÉRICO O DEL TABULADO
5.24 FUNCIONES DE SALIDA MÚLTIPLE

11
CIRCUITOS DIGITALES I

CAPÍTULO VI

6.1 CONVERSOR DE CÓDIGO


8 6.2 ELEMENTOS DE ARITMÉTICA BINARIA 8
6.3 CIRCUITOS DE RESTA BINARIA
6.4 RESTADOR COMPLETO
6.5 RESTADOR MEDIO
6.6 UNIDAD ARITMÉTICA Y LÓGICA (ALU)
9 6.7 TABLA FUNCIONAL DE LA ALU 9
6.8 UNIDAD ARITMÉTICA LÓGICA
10 EXAMEN PARCIAL
10
CAPÍTULO VII
7.1 DECODIFICADORES
7.2 IMPLANTACIÓN DE FUNCIONES LÓGICAS USANDO
7.3 DECODIFICADORES
11 7.4 ENTRADAS PARA CONTROL DE ACTIVACIÓN 11
7.5 DECODER DE BCD A DECIMAL
7.6 DECODER DE DISPLAY DE SIETE SEGMENTOS
7.7 CODIFICADORES
7.8 CODIFICADORES DE PRIORIDAD
CAPÍTULO VIII

8.1 MULTIPLEXORES/ SELECTORES DE DATOS


12 8.2 EJECUCIÓN DE FUNCIONES CON MUX 12
8.3 DEMULTIPLEXORES/ DISTRIBUIDORES DE DATOS
8.4 SÍMBOLOS ESTÁNDAR
8.5 ELEMENTOS DE ARITMÉTICA BINARIA
CAPITULO IX

9.1 LENGUAJE ABEL


13 9.2 ESTRUCTURA DE UN ARCHIVO FUENTE ABEL 13
9.3 ESTRUCTURA DE UN ARCHIVO FUENTE ABEL
9.4 DECLARACIONES
9.5 OPERADORES
9.6 CONJUNTOS
CAPITULO X

10.1 LENGUAJE VHDL


10.2 ELEMENTOS BÁSICOS
14 10.3 OPERADORES
10.4 ESTRUCTURA DE UN FICHERO VHDL
10.5 DECLARACIÓN DE ENTIDAD 14
10.6 MODO DE UN PUERTO
10.7 ARQUITECTURA
10.8 ESTILOS DE MODELADO
CAPÍTULO XI
15 11.1 DESCRIPCIÓN DE CIRCUITOS DIGITALES
11.2 BIESTABLES 15
11.3 DESCRIPCIÓN VHDL
11.4 SALIDAS DE MEFS
16 11.5 ENTORNOS DE TEST 16
11.6 GENERACIÓN DE ESTÍMULOS
11.7 VECTORES DE TEST ALMACENADOS EN TABLA
17 CAPÍTULO XII 17
12.1 PRINCIPIOS DE DISEÑO DE LÓGICA SECUENCIAL
CAPÍTULO XIII

18 13.1 PROCEDIMIENTO DE ANÁLISIS 18


13.2 DIAGRAMAS DE MÁQUINA DE ESTADO ALGORÍTMICOS.
13.3 DISEÑO DE CONTADORES
13.4 MAQUINAS DE ESTADO FINITOS

EXAMEN FINAL

12
CIRCUITOS DIGITALES I

CAPÍTULO I

1.1 SISTEMAS DIGITALES Y ANALÓGICOS

Hay dos maneras básicas de representar la información, que denominamos analógica y


digital, estas formas se distinguen a través de la naturaleza de los valores (constantes)
que pueden asignarse a las variables de información.

• Representaciones Analógicas

En esta representación, una cantidad se representa con un indicador o medidor que es


proporcional al valor de esta cantidad.

Ejemplo: Metro regular, Temperatura, Control de volumen de la radio.

Las cantidades analógicas pueden variar gradualmente sobre un intervalo continuo de


valores.

• Representaciones Digitales

En este caso las cantidades no se representan por valores proporcionales, sino por
símbolos denominados dígitos

Ejemplo: Interruptor, granos de arena de la playa.

La diferencia principal entre las cantidades analógicas y digitales se puede enunciar en


forma simple de la manera siguiente:

ANALÓGICO = CONTINUO

DIGITAL = DISCRETO (PASO POR PASO)

13
CIRCUITOS DIGITALES I

1.2 VENTAJAS DE LAS TÉCNICAS DIGITALES

Un número cada vez mayor de aplicaciones en electrónica, así como en muchas otras
tecnologías, emplea técnicas digitales para realizar operaciones que alguna vez fueron
hechas por medio de métodos analógicos, Las principales razones son:

Los sistemas digitales generalmente son más fáciles de diseñar

• Facilidad para almacenar la información


• Mayor exactitud y precisión
• Programación de la operación
• Los circuitos digitales se afectan menos por el ruido
• Se puede fabricar más circuitería digital sobre pastillas de C.I.

Pero cuando se emplea técnicas digitales, existe en realidad una sola desventaja: el
mundo real es fundamentalmente analógico.

1.3 TRANSMISIÓN PARALELA Y SERIAL

Una de las operaciones más comunes que se presentan en cualquier sistema digital es
la transmisión de información de un lugar a otro. En la figura se ilustran los dos
métodos básicos empleados para la transmisión de información digital: paralelo y serial.

14
CIRCUITOS DIGITALES I

• Memoria

Cuando una señal de entrada se aplica a muchos dispositivos o circuitos, la salida de


alguna manera cambia en respuesta a la entrada y cuando se retira la señal, la salida
regresa a su estado original. En los circuitos digitales, ciertos tipos de dispositivos y
circuitos si tienen memoria, cuando una entrada se aplica a tal circuito, la salida cambia
de estado, pero se mantiene en el nuevo estado aún después de que se retire la
entrada.

• Bits

Es una contracción del término ingles Binary digit. Se usan los símbolos 0 y 1 para
representar los dos valores posibles de una cantidad binaria en cualquier instante.

• Porque binario

Hay tres ventajas importantes en el diseño de equipos digitales:

• La mayoría de sistemas de procesamiento de información se construyen con base


en conmutadores, los cuales son dispositivos binarios.
• Los procesos básicos de toma de decisiones que se requieren en un sistema digital
son binarios.
• Las señales binarias son más confiables que las formadas por más de dos niveles
de cuantificación.
• Representaciones de cantidades binarias

Forma de onda de una señal típica

15
CIRCUITOS DIGITALES I

Frecuencia de repetición de pulsos es el número de pulsos que ocurre por segundo


(PRF)

1
PRF =
T

Ciclo de trabajo (DUTY CICLE): El ciclo de trabajo de un tren repetido de pulsos, es la


razón entre la anchura del pulso y el periodo del mismo expresado en porcentaje.

tp
Ciclo de trabajo = 100%
T

16
CIRCUITOS DIGITALES I

1.4 SISTEMAS DE NUMERACIÓN Y CÓDIGOS

Un sistema numérico consta de un conjunto ordenado de símbolos llamados dígitos,


con relaciones definidas para la suma (+), resta (-), multiplicación (.), y división ()), la
base r del sistema numérico es el número total de dígitos permitidos en dicho sistema.

• Notación posicional

En general, un número positivo N se puede escribir en notación posicional como:

N = (an−1an−2 ...a1a0 .a−1a−2 ...a−m )r

Donde:

. Punto que separa los dígitos enteros y fraccionarios

r Base del sistema numérico que se está utilizando

n Número de dígitos enteros a la izquierda del punto

ai Dígito entero i cuando n − 1 ≥ i ≥ 0

an-1 Dígito más significativo

a-m Dígito menos significativo

• Notación polinomial

Cualquier número N con base r se puede escribir como un polinomio de la forma:

n −1
N= ∑a r
i =− m
i
i

• Sistema de numeración de base n

De los muchos sistemas de numeración que pueden definirse, los más importantes son:
decimal, binario, octal y hexadecimal.

17
CIRCUITOS DIGITALES I

En la tabla se muestra las características de estos sistemas:

Nombre Decimal Binario Octal Hexadecimal

Base 10 2 8 16

Dígitos 0,1,2,3,4,5,6,7, 0,1 0,1,2,3,4,5,6 0,1,2,3,4,5,6,7,8,9,A,B


8,9 ,7 ,C,D,E,F
Primeros 0 0 0 0

números 1 1 1 1

2 10 2 2

3 11 3 3

4 100 4 4

5 101 5 5

6 110 6 6

7 111 7 7

8 1000 10 8

9 1001 11 9

10 1010 12 A

11 1011 13 B

12 1100 14 C

13 1101 15 D

14 1110 16 E

15 1111 17 F

• Conversión entre sistemas numéricos


• De Base n a Decimal

Se escribe el número en notación polinomial y luego de efectuar operaciones, se tendrá


el equivalente decimal del número dado

Ejemplo: Convertir 10100 a decimal

1x24+0x23+1x22+0x21+0x20=16+4=20

Para números binarios bastará con sumar pesos en los dígitos que valgan 1

• De decimal a base n

Se ilustra el método en el siguiente ejemplo

Ejemplo: Convertir 9,6875 a binario

18
CIRCUITOS DIGITALES I

Ejemplo convertir 101110,1011 a decimal

1x25 +0x24 +1x23 +1x22 +1x21+0x20, 1x2-1 +0x2-2 +1x2-3+1x2-4

32+8+4+2+0.5+0.25+0.125+0.0625=46,9375

• Números en base octal y hexadecimal

De binario a octal y viceversa

011011011100.110111010101100

3334.67254(8)

De binario a hexadecimal y viceversa

6EB3.BBEC(16)

19
CIRCUITOS DIGITALES I

• Representación de números negativos

El signo de los números almacenados bajo os sistemas digitales se especifica mediante


un dígito llamado bit de signo, que por lo general se coloca en la posición extrema
izquierda de los dígitos del número del número. Los números positivos se indican con
un digito de signo igual a cero, y los negativos, con un digito de signo distinto de cero
(para el caso binario 1)

• Números con magnitud y signo

El método más sencillo es representar los números con signo es el de magnitud y


signo. Sin embargo, el empleo de este método requiere circuitos aritméticos y
algoritmos con un costo mayor en términos de componentes y de tiempo de cálculo, en
relación con otros métodos; por tanto, no suele utilizarse en la practica para representar
números.

Se puede escribir un número con signo, en el formato magnitud y signo como sigue:

N=(san-1...a0.a-1...a-m)r

Donde s=0 si N es positivo y s=r-1 si N es negativo

Ejemplo:

+13=0,1101 -13=1,1101

+127=0,1111111 -127=1,1111111

0=0.0000000 -0=1,0000000

El sistema de magnitud y signo contiene un número igual de enteros positivos y


negativos. Un entero en magnitud y signo de n bits está en el rango de –(2n-1-1) a + (2n-
1
-1), con dos posibles representaciones del cero.

• Sistemas numéricos complementarios

Los números complementarios con la base de la aritmética complementaria, un método


de gran utilidad que se emplea con frecuencia en los sistemas digitales para realizar
operaciones matemáticas con números con signo.

20
CIRCUITOS DIGITALES I

En estos sistemas, los números positivos se representan de la misma manera que en


un sistema con magnitud y signo mientras que los números negativos se representan
como el complemento del número positivo correspondiente.

• Complemento a la base

El complemento a una base [N]r de un número (N)r dado, se define como:

[N]r=rn-(N)r

Donde n= # de dígitos de (N)r

El complemento a 2 es un caso especial para números binarios.

[N]2=2n-(N)2

Este es el formato más común de uso para números con signo en los sistemas
digitales.

Ejemplo

(N)2 =(01100101)2

[N]2 =[01100101]2

=28-(01100101)2

=(100000000)2- (01100101)2

=(10011011)2

Ejemplo

17 =000100016complementando los bits

0=00000000

21
CIRCUITOS DIGITALES I

El complemento a 2 tiene una única representación del cero, y se tiene un número


negativo extra (-2n-1)el cual no tiene una contra parte positiva.

• Complemento a la base disminuida

El complemento disminuido a una base [N]r-1de un número (N)r se define como:

[N]r-1=rn-(N)r-1

Donde: n=# de dígitos de (N)r

El complemento a uno es un caso particular del complemento disminuido a una base


para los números binarios (r=2) está dado por:

[N]2-1=2n-(N)2-1

Ejemplo:

(N)2 =(01100101)2

[N]2-1 =28-(01100101)2-1

=(100000000)2-(01100101)2-(00000001)2

=(10011011)2-(00000001)2

=(10011010)2

Ejemplo:

17 =(00010001)2

-17 =(11101110)2

0 =(00000000)2

-0 =(11111111)2

En este caso hay dos representaciones del cero.

22
CIRCUITOS DIGITALES I

La principal ventaja del sistema de complemento a uno es su simetría y su fácil


implementación. Sin embargo, un sumador para números en complemento a uno es
más artificioso que un sumador en complemento a dos.

1.5 OPERACIONES ARITMÉTICAS

• Suma y resta de números no decimales

La siguiente tabla muestra la suma y resta de números binarios.

Cin o bin x y Cout S bout d

0 0 0 0 0 0 0

0 0 1 0 1 1 1

0 1 0 0 1 0 1

0 1 1 1 0 0 0

1 0 0 0 1 1 1

1 0 1 1 0 1 0

1 1 0 1 0 0 0

1 1 1 1 1 1 1

Ejemplo:

23
CIRCUITOS DIGITALES I

Ejemplo:

Hallar 47-39 y 39-47 en complemento a uno y a dos, con bit de signo

a) +47=0,101111 Æ -47=1,010000

+39=0,100111 Æ -39=1,011000

b) Complemento a dos

-47=1,010001

-39=1,011001

-8=-(0,000111+1)=-(0,001000)

• Códigos

Un código es un uso sistemático y de preferencia estandarizado de un conjunto dado


de símbolos, para representar información, en la vida cotidiana aparecen varias formas
sencillas de códigos; por ejemplo: las señales de un semáforo que significan

24
CIRCUITOS DIGITALES I

Luz roja: Alto

Luz ámbar: Precaución

Luz verde: Siga

Las computadoras y otros sistemas digitales utilizan códigos más complejos para el
procesamiento, almacenamiento e intercambio de información de diversos tipos. Tres
tipos importantes de códigos para computadora con el numérico, el de caracteres, y el
de detección y corrección de errores.

• Códigos Numéricos

Los códigos numéricos sirven para representar números con fines de procesamiento
y/o de almacenamiento, los números de punto fijo y de punto flotante son ejemplos de
estos códigos.

• Números de punto fijo

Se utilizan para representar ya sea enteros con signo o bien fracciones con signo. En
ambos casos se usan los sistemas de magnitud y signo, de complemento a dos o de
complemento a uno para representar los valores con signo. Los enteros de punto fijo,
tienen un punto binario implícito a la derecha del bit menos significativo ; y las
fracciones de punto fijo tienen el punto binario implícito entre el bit de signo y el bit de
magnitud más significativo.

Ejemplo: dar dos representaciones del número de punto fijo de 8 bits usando el sistema
de complemento a dos para

a) 01101010
b) 11101010

Solución:

a) El bit de signo es cero luego es positivo el número entero 1101010. o bien la


fracción positiva 0.1101010
b) El bit de signo es 1, luego el número representa -0010110. o bien -0.0010110
c)

25
CIRCUITOS DIGITALES I

• Números de punto flotante

Tienen una forma similar a los números escritos en notación científica en general:

N=M x rE

Donde M, la mantisa o significado, es un número de punto fijo que contiene los dígitos
significativos de N y E, el exponente o característica, es un entero de punto fijo. En el
caso general, dado un número de punto fijo N donde:

N=∀(an-1...a0.a-1...a-m)r

Entonces en forma de punto flotante:

N=∀(.an-1...a-m)r x rn

Al deducir la representación de un número de punto flotante, la mantisa y la


característica se codifican por separado. La base es implícita y no se incluye en la
representación-

La mantisa M muchas veces se codifica con magnitud y signo, por lo general como una
fracción, y se puede escribir como:

M=(SM.an-1...a-m)r

Y entonces SM=0 indica un número positivo, mientras que SM=1 indica un número
negativo.

Con frecuencia, el exponente E se codifica en complemento a dos con exceso –k

Por ejemplo se representa: 2.24x104=0.0225x106 =225.000x10-2, pero la representación


normalizada es 0.11x20010.

Los números se almacenan en coma flotante en los sistemas digitales mediante su


mantisa y su exponente es el formato siguiente:

26
CIRCUITOS DIGITALES I

Ejemplo:

El número: 0.11 x 20010 queda:

Ejemplo:

0.011 x 2011 queda:

• Códigos de caracteres y otros códigos

Con frecuencia es necesario representar la información como cadena de caracteres


alfabéticos o numéricos. Se han desarrollado muchos códigos de caracteres tales
como:

• Decimal Codificado en Binario

Sirven para representar los dígitos decimales del 0 al 9 y son un ejemplo de código
ponderado. El código BCD utiliza 4 bits y se conoce también como código 8-4-2-1.

Los códigos BCD se utilizan para codificar números que se envían a pantallas
numéricas y para representar números de `procesadores que realizan aritmética
decimal.

Existen diversos códigos BCD ponderados de los cuales los más importantes se
muestran en la tabla. Los códigos BCD no ponderados son aquellos en los que no tiene
asignada un peso cada posición binaria, y el más utilizado es el BCD Exceso 3.

27
CIRCUITOS DIGITALES I

DIGITO BCD NATURAL BCD AIKEN


BCD EXCESO 3
DECIMAL
8421 2421 5421

0 0000 0000 0000 0011


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

9 1001 1111 1100 1100

Autocomplem. No ponderado auntocomplemen.

• Códigos binarios continuos y cíclicos.

Un código binario es continuo si las combinaciones correspondientes a números


decimales consecutivos, son adyacentes, y se denominan así, aquellas que difieren en
un bit.

Un código continuo en que la última combinación es adyacente a la primera se


denomina cíclico. Estos códigos se utilizan principalmente en los convertidores muy
rápidos de variables analógicas y digitales y en los codificadores de posición que
convierten un ángulo en una combinación binaria mediante un disco codificado. El
código binario cíclico de mayor difusión es el reflejado, que recibe el nombre de código
Gray.

Una ventaja de este código es su facilidad de conversión al código binario natural y


viceversa, mediante la función X-OR. Otro código continuo cíclico es el progresivo
Johson.

28
CIRCUITOS DIGITALES I

• Código Binario Natural

El sistema binario, recibe el nombre de código binario natural. La utilización de este


código presenta grandes ventajas en la realización de operaciones aritméticas y es
utilizado casi exclusivamente en la realización de calculadoras digitales. Con n cifras
binarias o bits se pueden obtener 2ncombinaciones diferentes. Cada codificación de
estas se puede asignar a una cantidad diferente. Por ello el número de asignaciones
posible es el de permutaciones de las 2n combinaciones diferentes, cada combinación
de estas se puede asignar a una cantidad diferente. Por ello el número de asignaciones
posibles es el de permutaciones de las 2n combinaciones, es decir, 2n! que constituyen
otros tantos códigos binarios.

CODIGO BINARIO
DIGITO DECIMAL CODIGO GRAY
NATURAL

0 0000 0000

1 0001 0001

2 0010 0011

3 0011 0010

4 0100 0110

5 0101 0111

6 0110 0101

7 0111 0100

8 1000 1100

9 1001 1101

10 1010 1111

11 1011 1110

12 1100 1010

13 1101 1011

14 1110 1001

15 1111 1000

29
CIRCUITOS DIGITALES I

CODIGO GRAY
2 BITS 3 BITS
00 000
01 001
11 011
10 010
110
111
101
100

DIGITO CÓDIGO
DECIMAL JOHNSON

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

• Código ASCII (American Estándar Code For Información Interchange)

Es el código de caracteres más utilizado en las aplicaciones de cómputo. El Código


ASCII estándar es de 7 bits, y con frecuencia se utiliza un octavo bit para disponer de la
detección de errores. Por ejemplo la codificación de la palabra Digital es

Carácter Cod. Binario Cod. Hex.


D 1000100 44
i 1101001 69
g 1100111 67
i 1101001 69
t 1110100 74
a 1100001 61
l 1101100 6C

30
CIRCUITOS DIGITALES I

• Códigos para detección y corrección de errores

Un error en un dato binario se define como un valor incorrecto en uno o más bits, los
errores pueden deberse a fallas de hardware, interferencia externa (ruido) u otros
eventos no deseadas.

Si I y J son palabras de información binaria de n bits. El peso de I, W(I), se define como


el número de bits de I iguales a ¡. La distancia entre I y J, o (I,J), es igual al número de
posiciones de bit en que difieren I y J.

Ejemplo determinar los pesos y la distancia de I=01101100, J=11000100

W(I)=4, W(J)=3

d(I,J)=3

1.6 PROPIEDADES GENERALES DE LOS CÓDIGOS DE DETECCIÓN Y


CORRECCIÓN DE ERRORES

a) Si la distancia entre dos palabras de código de un código C es mayor o igual


que dmin.
b) Las propiedades de detección y corrección de errores de un código quedan
determinadas en parte por su distancia mínima.

c) En general, un código permite corregir t errores y detectar s errores adicionales


si y sólo si se cumple la siguiente desigualdad.

2t+s+1#dmin

Analizando esta ecuación, un código de detección de errores simples (a=1, t=0)


requiere una distancia mínima de 2; un código con corrección de errores simples y
detección de errores dobles (s=t=1) requiere una distancia mínima 4

31
CIRCUITOS DIGITALES I

dmin=4

• Códigos de paridad sencillos

Se forman a partir de un código C, agregando en la posición de bit más significativo; un


bit de paridad P. En un código de paridad impar el bit de paridad se especifica como 0 o
1 de modo que un W(P,C) sea impar. El bit de paridad de un código de paridad par se
selecciona de modo que W(P,C) sea impar. El bit de paridad de un código de paridad
par se selecciona de modo que W(P,C) sea par.

La detección de errores, en información codificada conparidad se realiza con facilidad,


verificando que una palabra de código tenga la paridad correcta.

Los códigos de paridad son códigos de distancia mínima igual a 2, y por tanto pueden
servir para detectar errores simples.

• Código dos de cinco

Es un código para detección de errores que tiene exactamente dos bits iguales a 1 y 3
iguales a cero en cada palabra de código, y es representativo de los códigos m de n.

32
CIRCUITOS DIGITALES I

Dígito Código 2 de 5 Código 2 entre 5


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

• Código Biquinario

Es un código ponderado de 7 bits cuya distancia mínima es 2 y que ha sido utilizado


directamente en operaciones aritméticas. Estos dos códigos son de distancia mínima 2
y permiten la detección de errores de un bit.

Dig. Decimal 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

• Códigos de Hamming

En 1950, Richard Hamming publicó la descripción de una clase de códigos para


corrección de errores que han tenido amplio uso. Se pueden ver como una extensión
de los códigos de paridad simple, en el sentido de que se utilizan varios bits de paridad
o bits de verificación. Cada bit de verificación se define sobre un subconjunto de los bits
de información de una palabra: Los subconjuntos se traslapan de modo que cada bit de
información está en al menos dos subconjuntos.

33
CIRCUITOS DIGITALES I

Para datos de 4 bits, es decir X3X5X6X7

se generan los bits de paridad: P1P2P4, donde

P1: Se selecciona de modo que se establezca la paridad sobre los bits: 1,3,5,7.

P2: Se selecciona de modo que se establezca la paridad sobre los bits: 2,3,6,7.

P4: Se selecciona de modo que se establezca la paridad sobre los bits: 4,5,6,7.

Ejemplo: Hallar el carácter. codificado de acuerdo a Hamming que corresponde al


carácter de información: X3X5X6X7=1010

P1=X3ρ X5ρ X7=1ρ 0ρ 0=1

P2=X3 ρ X6 ρ X7=1ρ 0ρ 0=1

P4=X5 ρ X6ρ X7=1ρ 0ρ 0=1

P1P2X3P4X5X6X7=1011010

El proceso de corrección en el extreme receptor es muy conveniente, puesto que se


debe suponer que sólo un bit está equivocado. La localización de este bit se logra
comprobando la paridad impar en las mismas tres combinaciones de bits, para las
cuales se estableció la paridad par, como sigue:

C1= P1ρ X3ρ X5ρ X7

C2= P2ρ X3 ρ X6 ρ X7

C4= P4ρ X5 ρ X6ρ X7

Donde, si por ejemplo C1=1debe haber un error en uno de los cuatro bits 1,3,5,7 y así
sucesivamente.

El bit erróneo se puede determinar de la siguiente manera:

34
CIRCUITOS DIGITALES I

C4 Paridad impar sobre 4,5,6,7 0 0 0 0 1 1 1 1


C2 Paridad impar sobre 2,3,6,7 0 0 1 1 0 0 1 1
C1 Paridad impar sobre 1,3,5,7 0 1 0 1 0 1 0 1
Bit erróneo NING 1 2 3 4 5 6 7

Para palabras de datos de 8 bits, se incluyen 4 bits de paridad, de modo que se


arreglan 12 bits de la siguiente manera:

P1P2X3P4X5X6X7P8X9X10X11X12

Los bits de paridad se obtienen como sigue:

P1=X3ρ X5ρ X7ρ X9ρ X11

P2=X3ρ X6ρ X7ρ X10ρ X11

P4=X5ρ X6ρ X7ρ X12

P8=X9ρ X10ρ X11ρ X12

Cuando se leen los 12 bits, se revisan para detector posibles errores. La paridad se
verifica con la misma combinación de bits, incluyendo el bit de paridad. Estos bits se
evalúan de la siguiente manera:

C1=P1ρX3ρ X5ρ X7ρ X9ρ X11

C2=P2ρX3ρ X6ρ X7ρ X10ρ X11

C4=P4ρX5ρ X6ρ X7ρ X12

C8=P8ρX9ρ X10ρ X11ρ X12

Un resultado C8C4C2C1=0000 indica que no ha ocurrido ningún error. Sin embargo si


C0, el número binario de 4 bits da la posición del bit erróneo.

C8 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
35
CIRCUITOS DIGITALES I

C4 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
C2 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
C1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
BIT
ERRÓNEO NING 1 2 3 4 5 6 7 8 9 10 11 12 - - -

En el mercado se pueden conseguir C.I. que se valen de un Código Hamming


modificado para generar y verificar bits de paridad de un esquema de corrección de un
solo error y detección de errores dobles. Uno que emplea una palabra de datos de 8
bits y una palabra de verificación de 5 bits es el C.I. 74637. Se dispone de otros C.I.
para palabras de datos de 16, 32 bits.

• Códigos para acciones, condiciones y estados

En el diseño de sistemas digitales a menudo encontramos aplicaciones sin datos,


donde una cadena de bits debe usarse para controlar una acción, para verificar una
condición o para representar el estado presente del Hardware.

Ejemplo

1.7 CUBOS N Y DISTANCIA

Una cadena de n bits puede visualizarse geométricamente como un vértice de un


objeto llamado cubo – n, en la figura se muestra cubos – n para n=1,2,3,4. Un cubo n
36
CIRCUITOS DIGITALES I

tiene 2nvértices, cada uno de los cuales está rotulado con una cadena de n bits. Las
aistas se dibujan entre vértices adyacentes cuyos rótulos difieren del vértice dado en
sólo un bit. Para valores razonables de n, los cubos n facilitan la visualización de ciertos
códigos y de los problemas de minimización lógica.

Los cubos proporcionan una interpretación geométrica para el concepto de distancia


llamada la distancia de Hamming. La distancia entre dos cadenas de n bits es el
número de posiciones de bits en que difieren. El concepto de distancia es fundamental
en el diseño y comprensión de los códigos detectores de error.

• Código Universal de Producto (UPC)

Se basa en técnicas ópticas, este es un código de barras desarrollado por la industria


alimentaría en la década de 1970 para etiquetar productos para la venta al por menor.

Cada palabra de un código es un símbolo UPC (Universal Product Code) que contiene
un número decimal que identifica de manera única un tipo de producto. El símbolo UPC
está diseñado para que se pueda leer fácilmente con rastreadores ópticos unidos a un
sistema digital. Esta técnica implica que el proceso de lectura no debe ser sensible a
pequeñas variaciones en la calidad de impresión o la orientación del símbolo UPC. Otro
requisito es que el símbolo UPC debe ser difícil de alterar.

En el símbolo UPC se representan un digito decimal y algunos caracteres especiales


con regiones claras (0) y oscuras (1) que forman dos franjas paralelas oscuras sobre
fondo claro de anchura siete. Por lo tanto, un digito UPC está compuesto por siete
elementos binarios. Por ejemplo, el dígito 6 tiene la forma 0101111, que consiste en
37
CIRCUITOS DIGITALES I

franjas oscuras de anchura (1) y cuatro (1111), cada una de las cuales tiene un espacio
claro (0) de anchura uno a su izquierda. Un dígito UPC tiene dos formas, dependiendo
si se usa en la mitad izquierda (primeros 5 dígitos) o la mitad derecha del símbolo UPC.
En el ejemplo anterior, 0101111 es la forma izquierda de 6; la versión derecha de 6 es
1010000. Esta distinción entre la izquierda y la derecha o derecha a izquierda. El
símbolo UPC incluye otra información, como un conjunto de franjas de guarda que
aparecen a los dos extremos y en la mitad del símbolo.

Dígito Código Código


decimal izquierdo derecho
0 0001101 1110010
1 0011001 1100110
2 0010011 110110
3 0111101 1000010
4 0100011 0011100
5 0110001 0001110
6 0101111 1010000
7 0111011 1000100
8 0110111 1001000
9 0001011 1110100

• Otros códigos alfanuméricos

38
CIRCUITOS DIGITALES I

Otro código alfanumérico que se utiliza en equipo IBM es EBCDIC (Extend BCD
Interchange Code) Este emplea 8 bits para cada carácter y un noveno bit para la
paridad, si es que se utiliza, EBCDIC tiene los mismos símbolos de caracteres que
ASCII, pero la asignación de bits para caracteres es diferente.

Cuando se transfiere la información alfanumérica a la computadora mediante el uso de


tarjetas perforadas, los caracteres alfanuméricos se codifican con 12 bits los programas
y los datos del pasado se elaboran con tarjetas perforadas utilizando el código Hollerith
para acomodar conjuntos mayores de caracteres, como los del chino y otros lenguajes,
recientemente se desarrollado como estándar internacional un código de 16 bits
conocido como UNICODE.

1.8 APLICACIONES

1) ¿Cuál de los siguientes dispositivos no es analógico?


• Termopar.
• Flujo de corriente en un circuito.
• Apagador de luz.
• Micrófono de audio.

2) ¿Cuál es la principal ventaja de utilizar el código BCD en lugar del código


binario directo?
• Con el código BCD se requieren menos bits para representar un número
decimal.
• La facilidad relativa para convertir a código decimal y viceversa.
• Los códigos BCD se convierten con facilidad a códigos hexadecimales.
• Los códigos BCD se convierten con facilidad a código binario directo.

3) ¿Cuántos bits binarios se necesitan para representar 748 números diferentes?

4) ¿Cuántos símbolos únicos se utilizan en el sistema numérico decimal?

5) ¿Cuáles son los símbolos que se utilizan para representar dígitos en el sistema
numérico binario?

39
CIRCUITOS DIGITALES I

6) Convierte a decimal la fracción binaria 0001.0010.

7) Convierte a decimal la fracción binaria 0000.1010.

8) Convierte a decimal la fracción binaria 10010.0100.

9) Convierte a binario la fracción decimal 6.75.

10) ¿Cuál es el valor decimal del binario 10010?

11) ¿Qué formato requiere menos conductores?

12) ¿Qué formato puede enviar más rápido varios bits de información?

13) ¿Cuál es el valor decimal de 2-1 ?

14) ¿Cuál es la desventaja relativa de la transferencia serial?

15) ¿Qué tipo de dispositivo lógico se utiliza para guardar información?


16) ¿Cuál es la principal ventaja de utilizar el código BCD en lugar del código
binario directo?

40
CIRCUITOS DIGITALES I

CAPÍTULO II

2.1 COMPUERTAS LÓGICAS

Todos los circuitos lógicos digitales, desde el más simple contador hasta el más
sofisticado micro-procesador, son hechos interconectando combinaciones de simples
"bloques de construcción", llamados compuertas lógicas (Logic gates).

Hay cuatro compuertas básicas, y ellas son diseñadas de acuerdo a su función como
SI, NO, Y, O, o sea, las cuatro expresiones sencillas mínimas con las cuales se puede
responder a situaciones de la vida real. Cada una de estas compuertas básicas tiene
una o más entradas, una sola salida, y una pareja de terminales para conexión a la
fuente de poder(pilas, baterías, adaptador de corriente, etc.). En las compuertas
bipolares, hechas con la misma tecnología de los transistores corrientes PNP o NPN,
conocidas como compuertas TLL, el voltaje de la fuente de alimentación debe estar
entre 4.75 y 5.25 voltios, por lo que popularmente se trabaja con el punto medio de este
rango, o sea 5 voltios Vcc. Las compuertas hechas con tecnología CMOS son más
susceptibles a dañarse por la electricidad estática debido al manipuleo mientras se
instalan en el circuito a ensamblar, pero luego permiten un rango bastante amplio en el
voltaje de alimentación: funcionan desde 3 Vcc hasta 15 Vcc.

Varias combinaciones de los BITS* binarios 0 y 1 pueden ser aplicadas a las entradas
de una compuerta, asumiendo que un cierto voltaje bajo representa al !cero! y un cierto
voltaje alto equivale al bit "uno", esto es llamado lógica positiva; en la lógica negativa se
invierten las definiciones.

*BIT: Es una sigla formada con las palabras "dígito binario", y se refiere a los dos
símbolos 0 y 1 utilizados en el sistema binario para calcular y medir. Por simple
conveniencia, para facilitar el paso de un sistema al otro, se adoptó el bit "cero" como
igual al número decimal "0", y el bit "uno" como igual al número decimal "1"(se
conservaron igual estos dos símbolos), pero las combinaciones se leen diferentes.
Veamos un ejemplo: La expresión numérica 110 tiene en decimal 3 cifras y se lee
"ciento diez"; tiene en binario tres bits y se lee "uno-uno-cero".

41
CIRCUITOS DIGITALES I

En electrónica digital, más concretamente en el sistema numérico binario, no se habla


de números de "tantas cifras", como en el sistema decimal, sino que se dice que es un
WORD de "tantos bits". WORD significa "palabra" en ingles, pero en este caso se
emplea más bien como sinónimo de número, o combinación de varios símbolos para
expresar una cierta cantidad.

Aunque un word puede tener cualquier cantidad de bits, se ha popularizado entre los
especialistas de computadoras en uso de words con ocho bits; estos son llamados
sencillamente BYTES. Un Word que tenga cuatro bits es denominado NIBLE. Veamos
un ejemplo:

0001011100101001 Es un Word con diecisiete bits; es un Word con dos bytes, o


sencillamente es un Word con cuatro niveles.

00010111 00101001 Es un Word igual al anterior, pero separados los bytes para una
mejor visualización. Igual que en el sistema decimal, los bits "cero" al comienzo de un
Word (lado izquierdo) no representan ninguna cantidad, pero se acostumbra colocarlos
para facilitar el manejo en los circuitos electrónicos de cómputo, tal como veremos
cuando lleguemos al estudio de los micro-procesadores y computadores.

La compuerta que simula la condición "SI", tiene solamente un a entrada y una salida.
Transmite a la salida el mismo estado lógico "alto" o "bajo" que haya en la entrada (bit 1
o bit 0), por lo cual es generalmente usada para interconexión (INTERFACE) de
circuitos lógicos no compatibles electrónicamente entre sí (diferentes impedancias,
otros voltajes o corrientes, etc.). Se les conoce a estas compuertas con el nombre de
BUFFER, por su acción reforzadora, pero es bueno aclarar que dicho término se aplica
también a otras compuertas muy diferentes, para indicar que tienen salida apta para
INTERFACE. La compañía Nacional semiconductor vende un encapsulado con seis
buffer "SI", referencia 7407, para ser alimentado con los 5 Vcc típicos ara TLL, pero una
salida de cada buffer puede mover una carga que esté conectada a una fuente no
mayor de 30 voltios y no consuma más de 40 miliamperios (la referencia 7417 tiene
salida hasta un máximo de 15 voltios, y los mismos 40 miliamperios de capacidad de
carga).

42
CIRCUITOS DIGITALES I

La compuerta que simula la condición lógica "NO", tiene la propiedad de invertir a la


salida la señal o nivel presente en la entrada. Se le utiliza también para servir de
interfase (interconexión) entre dos circuitos que estén alimentados por fuentes de
voltaje distinto.

Entrega un estado bajo en su terminal de salida cuando a su única entrada llega una
señal con voltaje dentro del rango establecido como "alto". La anterior condición lo
convierte en un BUFFER NEGADOR o simplemente compuerta !NO"(NOT).

La compuerta "NO" invierte o complementa el estado lógico de su única entrada, por lo


que se le conoce también como INVERSOR. La función "NO" es generalmente indicada
por una barra o vínculo sobre el símbolo, para indicar que una entrada o una salida ha
sido invertida. Así, si A es 0 y B es 1, tendremos que A = B(con línea arriba de la b, y
algunas veces escrita como "no B").

La National Semiconductor tiene también en forma integrada, en un solo encapsulado


dual in line, seis buffer inversores, referencia 7406 o referencia 7416. Las salidas de los
inversores 7406 soportan cargas conectadas a una fuente de hasta 30 voltios y
proporcionan 40 miliamperios en su estado bajo. La referencia 7416 es solamente para
un máximo de 15 voltios. En ambos casos el voltaje Vcc, o sea su propia fuente de
alimentación, no debe ser menor de 4.75 ni mayor de5.25.

la compuerta que simula la condición "Y" (AND) es un circuito con capacidad para
"decidir", con dos o más entradas. La única salida de la compuerta AND es nivel lógico
0, a menos que todas sus entradas tengan nivel lógico 1. Solamente cuando las
entradas A y B y C... estén en "uno", la salida será también "uno". La compuerta que
simula la condición "0" (OR) es también un circuito que hace decisiones, con dos o más
entradas. Su salida es lógica 1 cuando cualquiera o todas sus entradas tienen un nivel
lógico 1. Basta con que las entradas A o B o C estén en 1, para que la salida pase a 1.

• Compuerta OR

Si a, b representan variables lógicas independientes, y se combinan con la operación


OR, el resultado F se expresa por F=a+b

43
CIRCUITOS DIGITALES I

a b F=a+b
0 0 0
0 1 1
1 0 1
1 1 1

• Compuerta AND

Si dos variables a, b se combinan con la operación AND, el resultado se expresa por


F=a.b

a b F=a.b
0 0 0
0 1 0
1 0 0
1 1 1

• Compuerta NOT

Difiere de las anteriores, en que esta puede realizarse con una sola variable de entrada.
Luego, si la variable se somete a la operación NOT, el resultado se expresa por F= ā o
a’, que se entiende como: “No a”, “Inversa de a”, “Complemento de a”.

a F=a'
0 1
1 0

Cualquier circuito lógico, sin importar que tan complejo sea, puede describirse
completamente mediante las operaciones definidas anteriormente, que son los
elementos básicos de los sistemas digitales. Luego, si la operación de un circuito se
define por medio de una expresión boleana, se puede implantar directamente un
diagrama de circuito lógico a partir de esa expresión.

Ejemplo

44
CIRCUITOS DIGITALES I

• Compuerta NAND

En una compuerta NAND de dos entradas, la salida F es un nivel bajo si las estradas a
y b están a nivel alto; F es un nivel alto si a o b están a nivel bajo o si ambas, a y b,
están a
nivel bajo.
F = ab

• Compuerta NOR

En una compuerta NOR de dos entradas, la salida F es un nivel bajo si cualquiera de


sus estradas a o b están a nivel alto, o si ambas entradas a y b están a nivel alto; F es
un nivel alto si a y b, están a nivel bajo. F = a+b

• Compuerta OR – Exclusiva

En una compuerta OR – Exclusiva, la salida F es un nivel alto si la entrada a está en


nivel bajo y la entrada b está en nivel alto; o si la entrada a esta a nivel alto y la
entrada b está en nivel bajo; F es un nivel bajo si tanto a como b están a nivel alto o
bajo.

45
CIRCUITOS DIGITALES I

• Compuerta NOR – Exclusiva

En una compuerta NOR – Exclusiva, la salida F es un nivel bajo si la entrada a está en


nivel bajo y la entrada b está en nivel alto; o si la entrada a esta a nivel alto y la
entrada b está en nivel bajo; F es un nivel alto si tanto a y b están a nivel alto o bajo.

• Compuerta Three - State Logic:

Todos nosotros estamos ya bastante familiarizados con los dos estados lógicos 1 y 0
de las compuertas (salida nivel alto y salida nivel bajo), y según nuestros actuales
conocimientos, son suficientes para implementar cualquier función. Lo anterior es
cierto, los TWO - STATE LOGIC son bastante útiles y empleados pero intencionalmente
hemos olvidado mencionar un caso que se puede presentar. Supongamos, por ejemplo,
que necesitamos conectar las salidas de dos o más compuertas a un terminal común,
tal como la entrada de otra compuerta. Eso está bien hacerlo en el raro evento que
todas las salidas tengan siempre igual estado y cambien al unísono. Pero, qué sucede
si las salidas están en diferentes estados lógicos? Obviamente, no es posible colocar
estados lógicos 1's y 0's en un terminal común sin crear un montón de confusión y
posteriormente daño irreparable en algunas de las compuertas.
Hemos hecho hincapié en dos estados lógicos definidos; y que cuando falta el uno,
aparece el otro. Haciendo la comparación, eso sería como decir que todos los
ascensores que no están subiendo es porque están bajando, lo cual no es
completamente cierto; hace falta un tercer estado lógico, el "three-state logic", que nos
permita DETENER al ascensor en uno cualquiera de los pisos del edificio.

46
CIRCUITOS DIGITALES I

La salida de una compuerta convencional se coloca siempre en un nivel alto o bajo tan
pronto como se le aplica corriente. Una compuerta three-state (tres estados), sin
embargo, emplea un hábil circuito para aislar la compuerta propiamente dicha y
separarla de su terminal de salida, con lo cual a los ya existentes estados alto y bajo se
suma un tercer estado: El estado de alta impedancia, o simplemente"estado-High-Z"
En el estado -High-Z, la salida de una compuerta three-state es desconectada
electrónicamente de la compuerta, como si entre las dos hubiese en serie un imaginario
interruptor en posición Off, manejable desde el exterior por un terminal de CONTROL
(también llamado ENABLE).

Cuando este "interruptor" es puesto ON, en el terminal de salida se manifiesta


inmediatamente el nivel alto o bajo que tenga la compuerta en dicho momento.

La muestra dos buffer con salida three-state. Cuando sus entradas de control son
activadas, estos buffer pasan el estado lógico de sus entradas a sus salidas. Cuando
los buffer no están capacitados (controles inactivos), las salidas pasan a un estado de

47
CIRCUITOS DIGITALES I

alta resistencia eléctrica, impedancia, que impide la circulación de corriente en


cualquier sentido. El estado de alta impedancia (high-Z) permite que las salidas de una
docena o más buffers (o cualquier otra compuerta lógica three-state) puedan ser
conectados a un terminal común, si solamente uno de ellos está capacitado con el
control en cualquier instante.
Al terminal común se le conoce como BUS, y es muy usado en los microprocesadores y
memorias para transmitir bits binarios y words. No está permitido conectar al BUS las
salidas de varios circuitos capacitados (enabled) al mismo tiempo, ya que se corre el
riesgo de unir dos estados lógicos opuestos, el 0 y el 1.

APLICACIONES

1) ¿Cuál ecuación describiría con exactitud una compuerta OR de cuatro


entradas cuando A = 1, B = 1, C = 0 y D = 0?
2) De los diagramas de tiempos que aparecen en la figura 3-1, ¿cuál es el
correcto para un inversor?

3) ¿Cuál de los símbolos mostrados en la figura 3-2 representa una compuerta


AND?

4) ¿Cuál onda de salida es correcta para una compuerta AND de tres entradas,
con las ondas de entrada que aparecen en la figura 3-3?

48
CIRCUITOS DIGITALES I

5) ¿Cuál símbolo de los que aparecen en la figura 3-4 representa una compuerta
OR?

6) ¿Cuál onda de salida es correcta para una compuerta OR de tres entradas, con
las ondas de entrada que aparecen en la figura 3-5?

7) ¿Cuál símbolo de los que aparecen en la figura 3-6 representa una compuerta
NAND?

8) ¿Cuál onda de salida es correcta para una compuerta NAND de tres entradas,
con las ondas de entrada que aparecen en la figura 3-7?

9) ¿Cuál símbolo de los que aparecen en la figura 3-8 representa una compuerta
NOR?

10) ¿Cuál onda de salida es correcta para una compuerta NOR de tres entradas,
con las ondas de entrada que aparecen en la figura 3-9?

49
CIRCUITOS DIGITALES I

50
CIRCUITOS DIGITALES I

CAPITULO III

3.1 FAMILIAS LÓGICAS

• Terminología empleada en C.I.

Aunque hay muchos fabricantes de C.I. digitales, parte de la nomenclatura y


terminología es prácticamente estandarizada. Los términos más útiles son:

1. VIH(min): Voltaje de entrada de nivel alto: nivel de voltaje que se requiere para un
1 lógico en una entrada. Cualquier voltaje debajo de este nivel no será
aceptado como alto por el circuito lógico.
2. VIL(max): Voltaje de entrada de nivel bajo: nivel de voltaje que se necesita para
un 0 lógico en una entrada. Cualquier voltaje que este por encima de este nivel
no será aceptado como bajo por el circuito lógico.
3. VOH(min): Voltaje de salida de nivel alto: Nivel de voltaje mínimo a la salida de un
circuito en 0 lógico bajo condiciones de carga definidas
4. VOL(max): Voltaje de salida de nivel bajo: máximo nivel a la salida de un circuito
en 0 lógico bajo condiciones de carga definidas.
5. IIH: Corriente de entrada de nivel alto: Corriente que fluye en una entrada
cuando se aplica un voltaje de nivel alto específico a dicha entrada.
6. IIL: Corriente de entrada de nivel bajo: Corriente que fluye en una entrada
cuando se aplica un voltaje de nivel bajo específico a dicha entrada.
7. IOH: Corriente de salida de nivel alto: Corriente que fluye desde una salida en el
estado 1 lógico en condiciones de carga específicas.
8. IOL: Corriente de salida de nivel bajo: Corriente que fluye a partir de una salida
en el estado 0 lógico en condiciones de carga especifica

51
CIRCUITOS DIGITALES I

• Factor de carga (FAN-OUT)

En general, la salida de un circuito lógico debe manejar varias entradas lógicas. El


factor de carga de salida se define como el número máximo de entradas lógicas
estándar que una salida puede manejar confiablemente. Si este número es excedido,
no se pueden garantizar los voltajes de nivel lógico de salida.

• Retrasos De Propagación

Una señal lógica siempre experimenta un retraso al recorrer un circuito.

• Requerimientos de potencia

Cada C.I. requiere cierta cantidad de potencia eléctrica para funcionar. Esta potencia es
suministrada por uno o más voltajes de alimentación conectados a los terminales del
C.I. la cantidad de potencia que requiere un C.I. se determina por la corriente Icc que
consume de la fuente Vcc; y se obtiene del producto Icc x Vcc

• Producto velocidad – potencia

Las familias de C.I. Digitales se caracterizan tanto por su potencia como por su
velocidad. Un medio común para medir y comparar el desempeño global de una familia
de C.I. es el producto velocidad – potencia

−12
Ejemplo: 10ns × 5mW = 50 × 10 watt × seg = 50 pJoules

• Inmunidad al ruido

Los campos eléctricos y magnéticos aleatorios pueden inducir voltajes en los alambres
de conexión entre los circuitos lógicos. Estas señales espurias se denominan ruido y
algunas veces pueden ocasionar que el voltaje en la entrada de un circuito lógico caiga
por debajo de VIH(min) o exceda VIL(max) , lo que podría producir una operación poco
confiable. La inmunidad al ruido de un circuito lógico se refiere a la capacidad del
circuito para tolerar voltajes de ruido en sus entradas.

52
CIRCUITOS DIGITALES I

El margen de ruido en estado alto se define:

VNH=VOH(min)-VIH(min)

El margen de ruido en estado bajo se define:

VNL=VIL(max)-VOL(max)

3.2 LA FAMILIA LÓGICA TTL

1. Series TTL actualizadas


2. Series 74L,74H

Series de baja potencia y alta velocidad tienen el mismo circuito básico que la serie
estándar, con valores diferentes de los componentes

• Serie 74S,TTL SCHOTTKY

Disminuye el retraso de tiempo por almacenamiento al no permitir que el transistor


entre demasiado en saturación, y esto se logra colocando entre la base y colector del
transistor un diodo de barrera Schottky.

• Serie 74LS, TTL SCHOTTY de bajo consumo

Es una versión de la serie 74S con menor consumo de potencia y velocidad, utiliza el
transistor Schottky, pero con valores más grandes de resistencia que la serie 74S.

• Serie 74AS, TTL avanzada SCHOTTKY

Proporciona una mejora considerable en velocidad sobre las 74S con un requerimiento
de consumo mucho menor.

• Serie 74ALS, TTL avanzada SCHOTTKY de bajo consumo

Ofrece mejoras sobre la serie 74LS tanto en velocidad como en disipación de potencia

• Serie 74F, TTL FAST

Es la más nueva y utiliza la técnica de fabricación más nueva, para reducir las
capacitancias ínter dispositivos a fin de lograr demoras reducidas en la propagación.

53
CIRCUITOS DIGITALES I

3.3 DETERMINACIÓN DEL FACTOR DE CARGA

Para determinar cuantas entradas diferentes puede manejar la salida de un C.I., se


necesita conocer la capacidad de la corriente de salida (IOL(max), IOH(max)), junto con los
requerimientos de corriente de cada entrada (IIL,IIH).

Ejemplo: Cuantas compuertas NAND 7400 se pueden conectar a la salida de otra


compuerta NAND 7400

De la hija de datos:

IOL(max)=16mA IOH(max)=0.4mA=400uA

IIL(max)=1.6mA IIH(max)=40Ua

I OL (max) 16mA
Factor de carga de salida (bajo)= = = 10
I IL (max) 1.6mA

I OH (max) 400uA
Factor de carga de salida (alto)= = = 10
I IH (max) 40uA

Luego el F. C =10 para los dos estados puede manejar otras 10 compuertas NAND
7400

Unidades de carga:

Algunos fabricantes especifican las corrientes de entrada y salida del dispositivo en


términos de una unidad de carga (UL), que se define como:

⎧40uA en estado alto


1 unidad de carga (UL)= ⎨
⎩1.6mA en estado bajo

54
CIRCUITOS DIGITALES I

Por ejemplo si un dispositivo tiene un factor de carga de 10 UL para ambos estados


entonces

IOH(mas)=10x40uA=400uA

IOL(max)=10x1.6mA=16mA

De manera similar, si la entrada de un CI. está especificada a 1UL para ambos estados,
se tiene:

IIH(max)=1x40uA=40uA

IIL(max)=1x1.6mA=1.6mA

3.4 CARACTERÍSTICAS ADICIONALES TTL

• Entradas no conectadas (flotante)

Cualquier entrada de un circuito TTL que se deja desconectada (abierta) actúa


exactamente como un lógico aplicado a esa entrada.

• Entradas no utilizadas

No es conveniente dejar una entrada desconectada, debido a que esta actuará como
una antena que esta propuesta a captar señales radiadas que podrían ocasionar que la
compuerta opere inadecuadamente.

Cuando dos o más entradas de una compuerta TTL, se interconectan para formar una
entrada común, esta tendrá un factor de carga de cada entrada. La única excepción se
establece para las compuertas NAND y AND, para estas el factor de carga de entrada
en estado bajo será el mismo que el de una entrada individual, sin importar cuantas
entradas estén interconectadas.

• Transitorios de corriente

Siempre que una salida tipo tótem pasa de bajo a alto, se consume un pico de corriente
de la amplitud de la fuente de alimentación Vcc. La técnica más común utiliza pequeños
capacitares de RF conectados de Vcc a tierra, a fin de desacoplar la fuente de
alimentación, eliminando estos picos de corriente.
55
CIRCUITOS DIGITALES I

Normalmente conecta un capacitor de disco o baja inductancia de cerámica de 0.01uF


ó 0.1uF entre Vcc y tierra, cerca de cada circuito TTL. Además, es una práctica común
conectar un solo capacitor grande (de 2 a 20uF) entre Vcc y tierra en cada circuito para
filtrar posibles variaciones de Vcc ocasionadas por las grandes variaciones den los
niveles Icc cuando slas salidas cambian de estado.

3.5 TIPOS DE SALIDA TTL

• Salidas tipo totem

Restas salidas no pueden conectarse entre sí, como se ve en la figura, esta corriente
puede dañar después de un periodo a los transistores, causando sobrecalentamiento y
deterioro. Otro problema es que la corriente más o menos alta producirá una mayor
caída de voltaje a través del colector y emisor del transistor.

• Salidas colector abierto

Para permitir la operación AND alambrada, algunos circuitos TTL están diseñados con
salidas OPEN colector. Para su funcionamiento correcto se debe conectar una
resistencia, con un valor de aprox. 10K

La configuración AND alambrada elimina la necesidad de una compuerta AND real,


pero los dispositivos OPEN colector sufren por tener una velocidad de conmutación
mucho más lenta que las de salida tótem.

• Buffer/manejador de colector abierto

Estos circuitos son diseñados para tener una corriente de salida y/o voltajes mayores
que un circuito normal, y están disponibles con salidas tipo tótem y colector abierto.

El 7046 es un C.I. buffer/manejador de colector abierto que contiene 6 inversores con


salidas de colector abierto que pueden disipar hasta 40 mA en el estado bajo, además
puede manejar voltajes de salida de hasta 30V.

56
CIRCUITOS DIGITALES I

• TTL Tri – State

Utiliza la operación de alta velocidad de la configuración tipo tótem, permitiendo que las
salidas AND sean alambradas (interconectadas) tiene tres posibles estados de salida:
alta, baja, alta impedancia, el estado alta Z es una condición en la que ambos
transistores de la configuración tipo tótem se apagan de manera que la Terminal de
salida sea una impedancia alta conectada a tierra y a Vcc, en otras palabras, la salida
es un Terminal abierto o flotante que no es baja ni alta, en la practica el Terminal de
salida no es un circuito abierto exacto, pero tiene una resistencia de varios Megaohmios
o mas relativamente a tierra s a Vcc.

3.6 LA FAMILIA ECL

La familia TTL utiliza transistores que operan en el modo saturado, y como resultado,
su velocidad de conmutación está limitada por el retraso de tiempo por almacenamiento
asociado con un transistor que se conduce a saturación. La familia ECL (Lógica
acoplada en Emisor) evita la saturación, lo cual incrementa la velocidad total de
conmutación. Sus características son:

Los transistores nunca se saturan, así es que la velocidad de conmutación es muy alta.
El tiempo común de retraso en la propagación es 1ns, que hace a la ECL un poco más
rápida que la TTL Schottky (Serie 74AS)

Los niveles lógicos son nominalmente -0.8v y -1.70v para el 1 y 0 lógicos.

Los márgenes de ruido ECL en el peor de los casos son aprox. 250mV. Estos
márgenes de ruido bajos hacen a ECL un tanto insegura para utilizarse en medios
industriales con mucho volumen de trabajo.

Un bloque lógico ECL por lo general produce una salida y su complemento, esto elimina
la necesidad de inversores.

Los factores de carga se encuentran comúnmente alrededor de 2s, debido a las salidas
emisor- seguidor de baja impedancia.

La disipación típica de potencia de una compuerta básica ECL, es de 25 mW, valor


mayor que el correspondiente a la serie 74AS.

57
CIRCUITOS DIGITALES I

El flujo de corriente total en un circuito ECL, permanece relativamente constante sin


importar su estado lógico. Esto ayuda a mantener un consumo de corriente invariable
en el suministro de potencia del circuito, aún durante transiciones de conmutación. Así,
no se generan internamente ruidos como los producidos por los circuitos TTL tipo tótem

• Características de los circuitos lógicos MOS

Son más lentas en cuanto a velocidad de operación, requieren mucho menos potencia,
tienen un mejor margen de ruido, un mayor intervalo de suministro de voltaje y un factor
de carga mucho más elevado.

Son esencialmente susceptibles a daño por cargo electrostática, esto es consecuencia


directa de la muy alta impedancia de entrada que caracteriza a las entradas MOSFET.

• Características de las series CMOS

Ofrecen las mismas funciones lógicas disponibles en TTL, sino también algunas
funciones de propósito especial no disponibles en TTL.

• Compatibilidad con terminales

Dos C.I. son compatibles con terminales cuando sus configuraciones de terminales son
iguales.

• Equivalentes funcionalmente

Son dos C.I. cuando las funciones lógicas que ejecutan son idénticas.

• Eléctricamente compatibles

Son dos C.I. cuando se pueden conectar en forma directa entre si, sin necesidad de
acciones especiales para obtener el funcionamiento correcto.

• series 4000/14000

La serie 4000 fue introducida por RCA, la 14000 por Motorota Inc. Tienen disipación de
potencia muy baja y pueden operar en un amplio rango de voltaje (3 a 15v), son lentos,
y con baja capacidad de corriente. Sus terminales no son eléctricamente compatibles
con ninguna serie TTL.

58
CIRCUITOS DIGITALES I

• serie 74C

Es compatible Terminal por Terminal y función por función con la serie TTL que tengan
el mismo número.

• serie 74HC/HCT (CMOS DE ALTA VELOCIDAD)

Es una versión mejorada de la serie 74 C, que tiene un incremento de 10 veces en la


velocidad de conmutación, comparada con la de los dispositivos 74LS y una capacidad
para corriente de salida mucho mayor que el 74C. Son compatibles con los terminales y
funcionalmente equivalente a los TTL con el mismo número. Los dispositivos 74HCT
son eléctricamente compatibles con TL, pero los 74HC no lo son, por lo tanto, es la
serie CMOS MÁS UTILIZADA.

• serie 74 AC/ACT (CMOS AVANZADO)

Es la más nueva de CMOS es funcionalmente equivalente con las diversas series TTL
pero no es compatible en terminales con TTL. Esto debido a que las ubicaciones de los
terminales se han seleccionado para mejorar la inmunidad al ruido. No son
eléctricamente compatibles con TTL (Los 74AC). Los 74ACT se pueden conectar
directamente con TTL

• Lógica BICMOS

Son una combinación de las mejores características de la bipolar y CMOS. Se han


integrado las características de baja potencia de CMOS y las de alta velocidad de los
circuitos bipolares, a fin de producir una familia lógica de baja potencia y muy alta
velocidad. No están disponibles en la mayor parte de las funciones de SSI y MSI, sino
que están limitadas a funciones utilizadas en aplicaciones en interfaces con
microprocesadores y de memoria.

• Voltajes de alimentación

Los dispositivos de las series 4000/14000 y 74C funcionan con valores de VDD entre 3 y
15 v, lo cual los hace muy aceptables para usarse alimentados con baterías. Las series
74HC/HCT y las 74AC/ACT funcionan dentro de un intervalo o gama mucho más
estrecho, es decir, entre 2 y 6 v.

59
CIRCUITOS DIGITALES I

Siempre que se utilicen CMOS y TTL juntos, el voltaje de alimentación será de 5 v, por
lo que se deberán tomar medidas especiales.

• PD Aumenta con la frecuencia

La disipación de potencia de un CMOS será muy baja mientras este en una condición
DC, pero PD aumenta con la frecuencia, así por ejemplo una compuerta NAD CMOS
tiene PD=10nW en condiciones DC, tendrá PD=0.1mW a f=100KHz, y 1mW a f=1MHz.

• Entradas No utilizadas

Las entradas CMOS nunca deben dejarse desconectadas. Todas las entradas CMOS
tienen que estar conectadas a un nivel fijo de voltaje (0v o VDD) o bien a otra entrada.
Esta regla se aplica aún a las entradas de otras compuertas lógicas que no se utilizan
en el mismo encapsulado, una entrada CMOS no conectada es susceptible al ruido y a
cargas estáticas que fácilmente pudieran activar los MOSFET canal-N y canal-P,
produciendo una mayor disipación de potencia y posible sobrecalentamiento.

• Interconexión de C.I.

A menudo se puede realizar una conexión directa debido a las características eléctricas
del circuito manejador que da la señal de salida y el circuito de carga que recibe la
señal un circuito interfaz es aquel que se conecta sobre el manejador y la carga, y su
función es acondicionar la señal de salida del manejador para que sea compatible con
los requerimientos de carga.

• Manejo de CMOS por TTL

Los valores de corriente de entrada para CMOS son bastante bajos, comparadas con
las corrientes que pueden proporcionar en su salida cualquier serie TTL. Sin embargo,
hay un problema cuando se comparan los voltajes de salida TTL con los requerimientos
para el voltaje de entrada CMOS. Para las series 74HCT o 74ACT no se requiere esta
resistencia, ya que estas series están diseñadas para las salidas TTL, en forma directa.

60
CIRCUITOS DIGITALES I

3.7 MANEJO DE CMOS DE ALTO VOLTAJE POR TTL

Si el CMOS opera con VDD mayor que 5v, la situación se vuelve un tanto difícil.

3.8 MANEJO DE TTL POR CMOS

• manejo en el estado alto de TTL por CMOS

En este caso no es necesario hacer ninguna consideración especial, ya que se


satisfacen plenamente las condiciones.

• Manejo en el estado bajo de TTL por CMOS

Las familias 74HC/HCT pueden asimilar hasta 4mA por lo que no deben tener ningún
problema para, manejar una sola carga TTL de cualquier serie. Sin embargo, la serie
4000B tiene mayores limitaciones, su baja capacidad IOL no es suficiente siquiera para
manejar una entrada de las series 74 o 74AS

• Manejo de TTL por CMOS de alto voltaje

Algunos fabricantes han producido dispositivos TTL 74LS que pueden resistir voltajes
de entrada tan altos como 15 V, que pueden conectarse directamente a salidas CMOS
que operen con VDD=15v. La mayoría de entradas TTL no pueden tolerar mas de 7v sin
sufrir daño, por lo que es necesario incluir una interfaz.

3.9 TECNOLOGÍAS DE BAJO VOLTAJE

La densidad de integración cada vez mas alta provoca que los circuitos estén más
cerca entre sí, y a su vez el material aislante es más estrecho. Esto reduce la cantidad
de voltaje que puede soportar el dispositivo sin que ocurran interrupciones dieléctricas.
Esto a su vez incrementará su disipación total de corriente, lo cual puede elevar la
temperatura del microcircuito a más del valor permitido para funcionamiento confiable.

En la actualidad, los dispositivos de LVT se diseñan para aplicaciones que van desde
los juegos electrónicos hasta estaciones de trabajo de ingeniería. Los UP’S más
recientes (486, PENTIUM) son de 3,3v, y así también microcircuitos RAM DINÁMICA
de 16MB y 3,3v.

61
CIRCUITOS DIGITALES I

Los circuitos LVT pueden actuar como INTERFAZ entre circuitos lógicos que trabajen A
3,3v y los que trabajen a 5v.

TARJETA MEMORIA
MADRE LVT DRAM DE
DE 3,3v 5v

LVT – LOW VOLTAJE TECHNOLOGY

3.10 OTRA ESTRUCTURA DE ENTRADA Y SALIDA TTL: ENTRADAS DE


DISPAROS DE SCHMITT

Un disparador Schmitt es un circuito analógico especial que mueve el umbral de


conmutación dependiendo de sí la entrada esta cambiando de bajo a alto o de alto a
bajo. La diferencia entre los umbrales se llama HISTERESIS. El inversor del disparo
Schmitt tiene alrededor de 0,8v de histéresis.

Estas entradas tienen mejor inmunidad al ruido que las compuertas ordinarias para
señales que contienen reflexiones debidas a transmisión de líneas.

62
CIRCUITOS DIGITALES I

CAPITULO IV

4.1 LÓGICA COMBINACIONAL


Cuando se conectan puertas lógicas ente sí, con el fin de generar una determinada
salida específica para determinadas combinaciones específicas de las variables de
entrada, sin que haya implicado almacenamiento, el circuito resultante se califica como
lógica combinacional. En la lógica combinacional, el nivel de salida depende siempre
de la combinación de los niveles de entrada.

4.2 PRINCIPIOS DE DISEÑO DE LÓGICA COMBINACIONAL

• Circuitos Combinacionales

Es aquel cuyas salidas sólo dependen de sus entradas actuales. Un circuito


combinacional puede contener un número arbitrario de compuertas e inversores
lógicos, pero no lazos de realimentación.

• Álgebra de Boleé

El álgebra de Bolle difiere de manera importante del álgebra ordinaria en que las
constantes y variables booleanas sólo pueden tomar dos valores posibles 0 ó 1, una
variable booleana es una cantidad que puede en diferentes ocasiones, ser igual a 0 ó 1.
Las variables booleanas se emplean con frecuencia para representar el nivel de voltaje
presente en un alambre o en los terminales de entrada y salida de un circuito.

Así pues, el 0 y el 1 booleanos no representan números, sino que en su lugar


representan el estado de una variable de voltaje o bien lo que se conoce como su nivel
lógico.

Puesto que puede haber sólo dos valores, el álgebra booleana es relativamente fácil de
manejar en comparación con la ordinaria de hecho, en el álgebra booleana sólo existen
tres operaciones básicas:

63
CIRCUITOS DIGITALES I

• Adición Lógica, llamada también operación OR.


• Multiplicación Lógica, llamada también operación AND.
• Complemento o inversión lógica, llamada operación NOR

Muchos circuitos lógicos tienen más de una entrada y sólo una salida. Una tabla de
verdad muestra la forma en que la salida del circuito lógico responde a las diversas
combinaciones de niveles lógicos en las entradas.

• Definición aximática del álgebra booleana

En 1854 George Boole introdujo un tratamiento sistemático de la lógica y desarrolló


para este propósito un sistema algebraico que ahora se conoce como álgebra
booleana. En 1938 Claude E. Shannon introdujo el álgebra booleana de dos valores
denominada álgebra de interruptores, en la cual demostró que las propiedades de los
circuitos eléctricos y estables con interruptores puede representarse con esta álgebra.

Para la definición formal del álgebra booleana, se emplean los postulados formulados
por E. V.Huntington en 1904.

El álgebra booleana es una estructura algebraica definida en un conjunto de elementos


B junto con dos operaciones binarias + y ., siempre que se satisfaga los siguientes
postulados.

1. Conjunto cerrado respecto A + y .


2. Elemento neutro respecto A + y .

a+0=0+a=a; a.1=1.a=a

3. Conmutativo respecto A + y .

a+b=b+a; a.b=b.a

4. Distributivo de. sobre + y + sobre.

a(b+c)=a.b+a.c; a+b.c=(a+b)(a+c)

64
CIRCUITOS DIGITALES I

5. Para cada elemento a0 B, !āB (denominado complemento de a) tal que:

a+ā=1; a. ā=0

6. Existen cuando menos dos elementos a,b 0 B /a b.

• Principios de dualidad

Los postuladoisa de Huntington se listaron en pares. Una parte puede obtenerse de la


otra si los operadores binarios y los elementos identidad se intercambian. En un álgebra
Booleana de dos valores, los elementos identidad y los elementos del conjunto B son
los mismos: 0 y 1. El principio de dualidad tiene muchas aplicaciones si se desea el
dual de una expresión algebraica, simplemente se intercambia los operadores OR y
AND y se reemplaza los 1 por 0 y los 0 por 1

4.3 TEOREMAS BÁSICOS

• De unicidad a+1=1

a.0=0

• Del complemento a+ ā=1

a. ā=0

• De doble negación (a’)’=a (involución)

• De absorción a+ab=a

a(a+b)=a

• De idempotencia a+a=a

65
CIRCUITOS DIGITALES I

a.a=a

• De unión e intersección a+0=a

a.1=a

• De conmutación a+b=b+a

a.b=b.a

• De asociación a+(b+c)=(a+b)+c

a(bc)=(ab)c

• De distribución a+bc=(a+b)(a+c)

a(b+c)=ab+ac

a + b = a.b
• Teorema de Morgan
a.b = a + b
• Teorema de expansión

f(a1,a2,a3,...,ak,...an-1,an)=af(1,a2,a3,...ak,...,an)+ ā1f(o,a2,a3,...ak,...an)

donde: f(1,a2,a3,...ak,...,an)= a2f(1,1,a3,...ak,...an)+ ā2f(1,0,a3,… an)

f(0,a2,a3,...,an)= a2f(0,1,a3,...,an)+ ā2f(0,0,a3,… an)

Ψf(a1,a2,a3,…an)=a1a2f(1,1,a3…,an)+a1 ā2f(0,1,a3…,an)+ ā1 ā2f(0,0,a3…,an)

Generalizando:

f(a1,a2,a3,…an)=a1a2a3…anf(1,1,1,…,1)+…+ ā1,ā2,ā3…ānf (0,0,0,…,0)

Esta expresión indica que una función es igual a la suma de todos los productos
canónicos afectados de un coeficiente igual al valor que toma la función al sustituir cada
variable por 1 ó 0.

66
CIRCUITOS DIGITALES I

De igual forma se deduce que la expresión en forma de producto de suma es:

f(a1,a2,a3,…,an)= (a1+a2+a3+…+f(0,0,…,0))…( ā1+ā2+…+f(1,1,…,1))

4.4 PRIORIDAD DEL OPERADOR

• Paréntesis
• Inversor (not)
• Operador (.) AND
• Operador (+)OR
• Funciones de conmutación

Sean a1,a2,a3,...,an, ..., an símbolos llamados variables, cada uno de los cuales
representa el elemento 0 ó 1 de un álgebra de conmutación, y sea f(a1,a2,...,an)una
función de conmutación de a1,a2,...,an. la función f tiene el valor 0 ó 1 según el conjunto
de valores asignado a a1,a2,...,an Como hay n variables y cada variable tiene dos
posibles valores, hay 2n maneras de asignar estos valores a las n variables. Además
existen dos valores posibles para la función f(a1,a2,...,an). Por lo tanto, hay
n
2 2 diferentes funciones de conmutación de n variables.

Si n=0 las dos funciones de conmutación de cero variables son:

f0=0, f1=1

Si n=1, las cuatro funciones de la variable a son

f0=0 f2=A

f1= A f3=1

Deduciremos ahora las 16 funciones de dos variables A y B. Definamos fi(A,B) como


sigue:

67
CIRCUITOS DIGITALES I

fi(A,B)= i3 AB + i2 A B + i1 AB + i0 A B

Donde (i)10=(i3i2i1i0)2 adopta los valores binarios 0000,0001,0010,...,1111.

Las 16 funciones resultantes son:

f0(A,B)=0

f1(A,B)= A B

f2(A,B)= AB

f3(A,B)= AB + A B = A

f4(A,B)= AB

f5(A,B)= A B + A B = B

f6(A,B)= A B + AB

f7(A,B)= AB + AB + A B = A + B

f8(A,B)=AB

f9 (A,B)= AB + A B

f10(A,B)= AB + AB = B

f11(A,B)= AB + AB + A B = A + B

f12(A,B)= AB + A B = A

f13(A,B)= AB + A B + AB = A + B

f14(A,B)= AB + A B + AB = A + B

68
CIRCUITOS DIGITALES I

f15(A,B)= AB + A B + AB + A B = 1

Al evaluar cada una de estas funciones para cada combinación de A y B, podemos


resumir la información anterior en forma de tabla.

Símbolo
Función Nombre Comentario
operador

f0 0000 f =0 nulo Cte. Binaria 0

f1 0001 f = AB A↓ B nor No-Or

f2 0010 f = AB B/A inhibición B pero no A

f3 0011 f =A A complemento No A

f4 0100 f = AB B inhibición A pero no B

f5 0101 f =B A/B complemento No B

f6 0110 f = AB + AB A⊕ B or-exclusiva A o B pero no ambos

f7 0111 f = A+ B A↑ B NAND No AND

f8 1000 f = AB A.B AND AyB

f9 1001 f = AB + AB A⊗ B nor exclusiva A=B

f10 1010 f =B transferencia B

f11 1011 f = A+ B A⊃ B implicación Si A entonces B

f12 1100 f =A transferencia A

f13 1101 f = A+ B A⊂ B implicación Si B entonces A

f14 1110 f = A+ B A+ B or-exclusiva AoB

f15 1111 f =1 identidad Cte. Binaria 1

69
CIRCUITOS DIGITALES I

• Tablas de Verdad

Podemos representar una función de conmutación mediante varias expresiones de


conmutación diferentes, pero equivalentes. Si evaluamos una función de conmutación
para todas las posibles combinaciones de entradas y presentamos los resultados como
una tabla obtenemos una representación única de la función llamada tabla de verdad.

Si evaluamos la función f(A,B,C)=AB+ AC + AC , para todas las combinaciones de


entradas posibles y las presentamos en forma de tabla, se obtiene la tabla de verdad
mostrada:

ABC f (A,B,C)
000 0
001 1
010 0
011 1
100 1
101 0
110 1
111 1

4.5 FORMAS ALGEBRAICAS DE LAS FUNCIONES DE CONMUTACIÓN

• Formas Canónicas o estándar

Son ciertas formas S de P y P de S son características especiales como se sabe, se


puede representar una función de conmutación mediante expresiones de conmutación
diferentes pero equivalentes (esto es, expresiones algebraicas, tablas de verdad o
diagramas de Venn). En cambios las formas canónicas S de P y P de S son únicas
para cada función.

• Suma canónica de productos (minitérminos)

Para una función de n variables, si un término producto contiene cada una de las n
variables exactamente una vez, ya sea en forma complementada o no complementada,
el término producto es un minitérmino. Si una función se representa como una suma

70
CIRCUITOS DIGITALES I

sólo de minitérminos, decimos que la función tiene la forma de suma canónica de


productos (S de P). Por ejemplo:

f(A,B,C)= ABC + ABC + ABC + ABC

Es la forma canónica de S de P de f.

Es frecuente usar una notación especia, en la que cada minitérmino se representa


mediante un código binario de n bits. Cada bit representa una de las variables del
minitermino como sigue:

Variable no complementada: 1

Variable complementada: 0

Las variables se enumeran en el mismo orden en cada minitermino, luego se puede


escribir:

Código del Número del


Minitermino
Minitermino Minitermino

ABC 010 m2

ABC 110 m6

ABC 011 m3

ABC 111 m7

Escribimos cada minitermino en forma abreviada como mi, donde i es el entero decimal
igual al código binario correspondiente para el minitermino. Así se escribe

f ( A, B, C ) = m2 + m3 + m6 + m7 ......(2)

Podemos simplificar aun más si escribimos la función en forma de lista de mini términos
como sigue:

f ( A, B, C ) = ∑ m(2,3,6,7) .......(3)

71
CIRCUITOS DIGITALES I

Las tres expresiones (1)(2) y (3), ilustran tres formas diferentes, pero equivalentes, de
representar la forma canónica S de P de f(A,B,C). El Orden de las variables en la
notación funcional dos y tres es muy importante, ya que determina el orden de los bits
en los números del minitermino. Por ejemplo:

f ( B, C , A) = ∑ m(2,3,6,7)
= BC A + BCA + BC A + BCA ≠ f ( A, B, C )

• Producto canónico de sumas (maxiterminos).

Si un término suma de una función de n variable contiene cada una de las n variables
exactamente una vez en forma complementada o no complementada, el término suma
es un maxitermino.

Si representamos una función como producto de términos suma, cada uno de los
cuales es un maxitermino, decimos que la función tiene la forma canónica de productos
de sumas (P de S) Por ejemplo:

f ( A, B, C ) = ( A + B + C )( A + B + C )( A + B + C )( A + B + C )

En este caso a diferencia del anterior, cada bit representa cada una de las variables de
maxitermino pero invertida como sigue:

Variable no complementada: 0

Variable complementada: 1

Lo importante de esta anotación es que, para un maxitermino valga 0, toda variable no


complementada del maxitermino debe valer 0. Así se puede representar:

Código del Lista del


Maxtermino maxtermino Maxtérmino
A+B+C 000 M0
A+B+C 001 M1
A+B+C 100 M4
A+B+C 101 M5

72
CIRCUITOS DIGITALES I

Escribimos cada maxitermino en forma abreviada como Mi , donde i es el entero


decimal del código binario correspondiente para el maxitermino. Así:

F ( A, B, C ) = M 0M 1M 4M 5.............(2)
= ∏ M (0,1,4,5) ............(3)

Las expresiones 1, 2 y 3 son formas P de S canónicas equivalentes para f (A, B, C).


Como en el caso anterior, el orden de las variables es muy importante.

Ejemplo: Dada

f(A,B,C)= ( A + B + C )( A + B + C )( A + B + C )( A + B + C ) determinar la relación


entre los maxiterminos para la función y su complemento

ENTRADAS SALIDAS SALIDAS

A B C f(A,B,C) f '(A,B,C)
0 0 0

0 0 1 1 0
0 1 0 0 1
1 0
0 1 1
0 1
1 0 0
1 0
1 0 1 0 1
1 1 0 1 0
1 1 1 0 1

f(A,B,C) = ∏ M(0,2,4,6); f(A,B,C) = ∏ M(1,3,5,7)


Se sabe que f(A,B,C).f(A,B,C) = 0
⇒ (M0M2M4M6)(M1M3M5M7) = 0
2N −1

∏ M1 = 0
I= 0

Finalmente :
f(A,B,C) = ∏ M(1,3,5,7) = ∑ m(0,2,4,6)
f(A,B,C) = ∏ M(0,2,4,6) = ∑ m(1,3,5,7)

• Deducción de formas canónicas.


73
CIRCUITOS DIGITALES I

Si expresamos una función en forma canónica, con frecuencia es más conveniente


utilizar el algebra de comunicación para convertirla en su forma P de S o S de P
canónica, sin tener que deducir primero la tabla de verdad.

El siguiente teorema se utiliza con frecuencia en el desarrollo de expresiones de


conmutación a una forma canónica.

• Teorema de desarrollo de Shannon.

a) f ( x1, x 2,..., xn) = x1 f (1, x 2,..., xn) + x1 f (0, x 2,...xn)

[ ][
b) f ( x1, x 2,...xn) = x1 + f (0, x 2,..., xn ) x1 + f (1, x 2,..., xn) ]

La base de este teorema la constituyen el postulado 2 y el primer teorema como x1=


x1.x1=x1.1, podemos reemplazar cualquier x1 dentro de la función de la parte a del
teorema por 1 , y de igual manera x1 = x1+ x1 = x1+0, lo que nos permite reemplazar
cualquier x1 dentro de la función de la parte b del teorema por 0. Este teorema es muy
útil para desarrollar funciones o añadir literales a los términos producto.

Ejemplo: Convertir la función a la forma canónica de S de P

f ( A, B, C ) = AB + AC + AC
AB = ABC + ABC = m6 + m7
AC = AC B + AC B = ABC + ABC = m 4 + m6
AC = AC B + ACB = ABC + ABC = m1 + m3
f ( A, B, C ) = AB + AC + AC = (m6 + m7) + (m4 + m6) + (m1 + m3)
= ∑ m(1,3,4,6,7)

74
CIRCUITOS DIGITALES I

CAPITULO V

5.1 FUNCIONES CON ESPECIFICACIÓN INCOMPLETA.

En el diseño de circuitos digitales con frecuencia ocurre que la función de conmutación


no tiene una especificación completa. Es decir, una función puede contener ciertos
minitérminos y omitir otros, y que los minitérminos restantes sean opcionales.

En este caso, se pueden incluir los minitérminos opcionales en el diseño lógico si estos
ayudan a simplificar el circuito lógico, o bien omitirlos. Un minitermino opcional es un
minitermino prescindible, y estos indican como di en vez de mi , y los maxiterminos
como Di en vez de Mi .

f ( A, B, C ) = ∑ m(0,3,7) + d (4,5)
Por ejemplo:
f ( A, B, C ) = ∏ M (1,2,6).D(4,5)

5.2 CIRCUITOS DE CONMUTACIÓN

Los circuitos lógicos digitales o circuitos de conmutación, constan de combinaciones


seriales y paralelas de elementos de conmutación llamadas compuertas. Desde el
punto de vista matemático las compuertas son solo rutas de señales abiertas o
cerradas. Desde el punto de vista tecnológico las compuertas son dispositivos
electrónicos de conmutación de gran velocidad que pueden activarse o desactivarse en
pocos años segundos.

(Símbolos estándar, e IEEE/ ANSI de las compuertas)

5.3 LÓGICA POSITIVA Y LÓGICA NEGATIVA

Físicamente a los estados 0 y 1 les corresponden ciertos niveles de tención.


Normalmente, al estado 1 le corresponde el valor de tensión más alto y al 0 el más
bajo, en este caso se dice que el sistema es de lógica positiva y es el más usual.

75
CIRCUITOS DIGITALES I

El sistema es de lógica negativa si al estado 1 le corresponde el valor de tensión más


bajo y al 0 el más alto.

Se puede dibujar el símbolo de la compuerta AND como una función OR con entradas y
salida bajas activas, según:

y = a.b
= a.b
= a+b
= f or (a, b)

Aunque al principio parezca extraño, el símbolo siguiente muestra la función realizada


por una compuerta AND en una sistema con lógica negativa mejor que el símbolo
estándar.

A B Y
0 0 0
0 1 1
1 0 1
1 1 1

76
CIRCUITOS DIGITALES I

De manera similar una compuerta OR realiza el operador lógico AND cuando sus
entradas y salidas son señales bajas activas. Podemos obtener la función realizada por
una compuerta OR en un sistema con lógica negativa al sustituir 0 por 1 y 1 por 0 en la
tabla de verdad de la compuerta OR.

y = a+b
= a+b
= a.b
= f and ( a, b)

A B Y
0 0 0
0 1 0
1 0 0
1 1 1

5.4 ANÁLISIS DE CIRCUITOS COMBINATORIOS.

Los circuitos digitales se diseñan transformando una descripción verbal de una función
en un conjunto de ecuaciones de conmutación y realizando después las ecuaciones
mediante compuertas, dispositivos lógico programables (PLD) u otros elementos
lógicos. El análisis de los circuitos digitales es el problema inverso.

5.5 MÉTODO ALGEBRAICO

Cualquier redes de conmutación se puede representar por completo mediante una


expresión o función de conmutación y con ellos podemos aplicar toda la capacidad del
álgebra de conmutación para llevar la función de conmutación a una forma deseada.
Todas las expresiones de conmutación se pueden escribir en términos de operaciones
AND, OR y NOT .

Ejemplo:

77
CIRCUITOS DIGITALES I

P1 = a.b
P2 = a + c
P3 = b ⊕ c
P 4 = P1P 2 = ab(a + c)
f (a, b, c) = P3 + P 4

Para analizar esta función podemos llevarla a una forma más sencilla empleando el
álgebra de conmutación.

f (a, b, c) = b ⊕ c + ab.a + c = bc + b.c + (a + b)a.c


= bc + b.c + abc
= bc + b.c
⇒ f ( a , b, c ) = b ⊗ c ⇒ f ( a , b, c ) = b ⊗ c = b ⊕ c

5.6 MÉTODO DE LA TABLA DE VERDAD

Como ya se sabe se pude obtener la tabla de verdad para una función a partir de una
expresión de conmutación evaluando la expresión, parte por parte. Es posible seguir el
mismo método con los diagramas lógicos obteniendo la tabla de verdad compuerta por
compuerta.

Del ejemplo:

78
CIRCUITOS DIGITALES I

a b c ac a ⊕ b f(a,b,c)
0 0 0 0 0 0
0 0 1 1 0 1
0 1 0 0 1 1
0 1 1 1 1 1
1 0 0 0 1 1
1 0 1 0 1 1
1 1 0 0 0 0
1 1 1 0 0 0

5.7 ANÁLISIS DE DIAGRAMAS DE TIEMPOS.

Otro métodos de análisis consiste en aplicar una serie de valores a las entradas de un
circuito en cierto lapso, ya sea en forma experimental o con un programa de simulación
lógica, y tomar nota de la relación entre las entradas y la serie correspondiente de
salidas en forma de una diagrama de tiempos, y de este se puede deducir la función
lógica realizada por el circuito y estudiar los efectos de los retardos de propagación de
las compuertas sobre el funcionamiento del circuito.

5.8 DIAGRAMAS DE TIEMPO.

Es una representación gráfica de las relaciones entre las señales de entrada y salida de
una red de conmutación, como podrían verse en la pantalla del osciloscopio o
analizador lógico o en un programa de simulación lógica. Un diagrama de tiempo
adecuado puede mostrar toda la información contenida en la tabla de verdad.

5.9 RETARDO DE PROPAGACIÓN

79
CIRCUITOS DIGITALES I

Además de la función lógica, el diseñador debe preocuparse por varias características


físicas de los circuitos lógicos digitales, tales como:

- Retardos de propagación (.)

- Restricciones de FAN – IN y FAN - OUT de las compuertas(.)

- Consumo de energía

- Tamaño y peso

Las dos primeras son las más importantes, por lo que deben tomarse en cuenta durante
cualquier análisis o diseño de cualquier circuito lógico digital.

Una compuerta lógica física requiere una cantidad no nula de tiempo para reaccionar a
los cambios de entrada y producir modificaciones en su estado de salida, que se
denomina retardo de propagación. Se especifican dos parámetros de retardo por
propagación para una compuerta lógica dada.

tPLH: Tiempo de retardo por propagación, con salida de bajo a alto nivel.

tPHL: Tiempo de retardo por propagación, con salida de alto a bajo nivel.

Que se miden a partir del momento de cambio en la entrada, Hasta el momento de


cambio correspondiente en la salida.

Si no se necesita información precisa de tiempos, se utiliza un único parámetro de


retardo por propagación, denotado por tPD , como aproximación de tPLH y tPHL, y se
calcula:

t PLH + t PHL
t PD =
2

80
CIRCUITOS DIGITALES I

t PD t PD

t PD = t PL = t PH

t PLH t PHL

t PLH < t PHL

5.10 SÍNTESIS DE CIRCUITOS LÓGICOS COMBINATORIOS

Hasta ahora se han visto varias herramientas que pueden servir para analizar y
sintetizar redes de conmutación, que incluyen el álgebra de conmutación, los
dispositivos de conmutación, las tablas de verdad y los diagramas de tiempo.

5.11 REDES AND-OR y NAND

Las redes AND – OR deben expresarse en forma de S de P.

f (a, b, c, d ) = ac + bcd + ad
Ejemplo: :
Luego : f (a, b, c, d ) = ac + bcd + ad = ac.bcd .ad

81
CIRCUITOS DIGITALES I

Red and-or Red nand Red nand preferida

5.12 REDES OR – AND y NOR

Las redes OR-AND deben expresarse en forma de P de S.

Ejemplo
f (a,b, c, d) = (a + b + c )(b + c + d)(a + d)
Luego :

(
f (a,b, c, d) = a + b + c ) (b + c + d ) ( a + d ) = a + b + c + b + c + d + a + d

Red or-and Red nor Red nor preferida

En las terceras formas, las bolitas de inversión se cancelan, lo cual ilustra el hecho del
esquema primero.

5.13 CIRCUITOS AND-OR-INVERSOR

Un circuito AOI está formado por un conjunto de puertas AND, cuyas salidas se
alimentan a una compuerta NOR, y por tanto puede servir para realizar con facilidad los
circuitos de S de P de dos niveles como un MUX, como se muestra.

82
CIRCUITOS DIGITALES I

5.14 DISEÑO DE CIRCUITOS LÓGICOS ASISTIDOS POR COMPUTADORA

El ciclo de diseño para un circuito lógico digital abarca varios pasos entre el concepto y
la implantación física, incluida la síntesis de diseño, la simulación, la realización y la
prueba que se ilustra.

CONCEPTO

MODELADO Y
CAPTURA DEL
DISEÑO

SÍNTESIS
BASE DE
OPTIMIZACIÓN VECTORES
DAOS DEL
DEL DISEÑO DE PRUEBAS
DISEÑO

SIMULACIÓN
LÓGICA
ANÁLISIS

RESULTADOS
?

IMPLANTACIÓN
REALIZACIÓN

DISEÑO
FÍSICO

PRUEBA

PRUEBA

5.15 SIMPLIFICACIÓN DE SISTEMAS DE CONMUTACIÓN

El objetivo de la simplificación es minimizar el costo de realización de una función


mediante elementos de circuitos físicos, donde el costo depende de la naturaleza de los
elementos de circuito por utilizar. En general, es deseable minimizar el número de
elementos de circuito y que cada elemento sea lo más sencillo posible.

83
CIRCUITOS DIGITALES I

En todos los casos, hay que lograr un diseño ajustado a las restricciones de los
elementos de circuito por utilizar, tal como FAN – IN, FAN – OUT. En algunos casos, el
diseñador podría estar restringido a un tipo específico de elementos de circuito.
También, las consideraciones de tiempos podrían imponer el uso de una realización de
dos niveles más rápida. Además, hay que tomar medidas para prevenir los cambios de
salida momentáneos no deseables, llamados riesgos, que se presentan debido a los
retardos por propagación no uniformes en un circuito.

5.16 MÉTODO DE MAPAS DE KARNAUGH

Relación con los diagramas de Venn y las tablas de verdadEl mapa de Karnaugh
no es más que una extensión de los conceptos de tablas de verdad, diagramas de
Venn y Miniterminos

A B F(A,B)
0 0
0 1
1 0
1 1

• Mapas De más variables

84
CIRCUITOS DIGITALES I

• Diagramas de Veitch

5.17 TRAZO DE FUNCIONES EN FORMA CANÓNICA SOBRE EL MAPA K

Se puede graficar fácilmente las funciones de conmutación sobre un mapa K si estas se


expresan en forma canónica, pues cada minitermino o maxitermino de la forma
canónica corresponde a una celda sobre el mapa K, donde cada minitermino se
representa con 1 y cada maxitermino por 0, cuando se representa la función en suma
de miniterminos, normalmente se omite los maxiterminos del mapa y viceversa.

5.18 SIMPLIFICACIÓN DE FUNCIONES MEDIANTE MAPAS K

Criterios para simplificar funciones mediante mapas K.

85
CIRCUITOS DIGITALES I

Cada cuadrado sobre un mapa K de dos variables tiene dos cuadrados adyacentes
lógicamente; cada cuadrado sobre un mapa de tres variables tiene tres cuadrados
adyacentes, etc. En general, cada cuadrado en un mapa K de n variables tiene n
cuadrados adyacentes lógicamente, de modo que cada par de cuadrados adyacentes
difiere precisamente en una variable.

Al combinar los términos (cuadrados) en un mapa K siempre se agrupa cuadrados e


potencia de dos; es decir, 2, 4, 8, etc. Al agrupar dos cuadrados se elimina una
variable, al agrupar 4 cuadrados se elimina dos variables, etc. En general al agrupar 2n
cuadrados, se eliminan n variables.

Se debe agrupar tantos cuadrados como sea posible, cuanto mayor sea el grupo; habrá
un número menos de literales en el término producto resultante.

Se debe formar el menor número posible de grupos que cubran todos los cuadrados de
la función. Un minitermino esta cubierto si está incluido al menos en un grupo. Si hay
menos grupos, será menor el número de términos producto en la función minimizada.
Se puede utilizar cada minitermino cuantas veces sea necesario. Un minitermino
utilizado al menos en un grupo a sido cubierto.

Al combinar cuadrados en el mapa, hay que comenzar siempre por los cuadrados
donde existe el menor número de cuadrados adyacentes (Los cuadrados más solitarios
del mapa).Los miniterminos con varios miniterminos adyacentes (llamados
adyacencias) ofrecen más combinaciones posibles, y por tanto, deben combinarse más
adelante en el proceso de minimización

5.19 TERMINOLOGÍA

Implicante es un término producto (es decir, un producto de una o más literales) que
puede servir para cubrir miniterminos de la función.

Ejemplo

Implicante primo: Es un implicante que no es parte de algún otro implicante de la


función. Al combinar implicantes (en potencias de 2) en grupos maximales, formados
implicantes primos. En el mapa K, un implicante primo equivales a un conjunto de
cuadrados que no es subconjunto de algún conjunto con un número mayor de
cuadrados. Los implicantes primos representan los máximos agrupamientos de
miniterminos deducibles para la función del ejemplo B y C son implicantes primos.
86
CIRCUITOS DIGITALES I

Implicante primo esencial: Es un implicante primo que cubre al menos un minitermino


que no está cubierto por algún otro implicante primo.

_
Del ejemplo Α C es esencial pues es el único que cubre el minitermino 1 y B es
esencial ya que es el único que cubre los miniterminos 2, 6, 7.

Cubierta: Es un conjunto de implicantes primos tal que todos los miniterminos de la


función están contenidos en al menos un implicante primo.

_
Del ejemplo: El conjunto {B, Α C } es una cubierta de la función.

5.20 FUNCIONES CON ESPECIFICACIÓN INCOMPLETA.

Si hay términos irrelevantes, al minimizar los términos en forma de S de P o P de S, se


eligen estos como 0 o 1, si al hacerlo, el conjunto de cuadrados de mapa que se puede
agrupar es mayor de lo que sería sin los términos irrelevantes.

Ejemplo:

Minimizar la función en sus términos S de P y P de S mediante mapas K.

Obsérvese que si se aplica el algebra booleana a la forma P de S mínima para obtener


una forma S de P, se tiene:

Que no es idéntica a la forma S de P mínima obtenida del mapa. Esta situación es


frecuente cuando hay términos irrelevantes, pues estos se pueden usar de manera
diferente al optimizar cada expresión.

5.21 USO DE MAPA K PARA ELIMINAR RIESGOS DE TIEMPO.

Hasta ahora se supuso que el método óptimo para el diseño de cada circuito lógico
combinatorio consiste en generar una expresión S de P o P de S mínima y después
realizarla en compuertas lógicas. Por desgracia, las cuestiones de tiempo exigen con
frecuencia el uso de un circuito que no es mínimo.

El tiempo de respuesta de la mayoría de dispositivos lógicos es muy pequeño, sin


embargo, el tiempo de respuesta no puede ser exactamente el mismo para dos
dispositivos, aún siendo del mismo tipo.

87
CIRCUITOS DIGITALES I

Estas diferencias relativas en el tiempo de respuesta pueden provocar eventos no


deseables en una red de conmutación, y estos eventos no deseables son los riesgos.

El segundo esquema muestra una diferencia de caso ideal mostrado luego no es el


comportamiento correcto de la red.

Los cambios momentáneos de la salida como este son los riesgos estáticos. En general
un riesgo estático es una condición en la cual un sencillo cambio de variables (x1 por
ejemplo) puede producir un cambio momentáneo inesperado de la salida. Pero si ∆t1#∆
t2no habría riesgos, Luego, un riesgo estático es el resultado de retardos desiguales a
lo largo de diferentes rutas entre una entrada del circuito y una compuerta de salida.
Los esquemas siguientes muestran las condiciones de riesgo y superación del riesgo.

En general, los riesgos se pueden eliminar cubriendo cada par de miniterminos


adyacentes lógicamente con un término producto común. Por lo tanto, para eliminar
riesgos se necesita agregar compuertas redundantes a una red, obteniendo una
realización no mínima.

Riesgo estático 1: Cuando la salida debe conservar el valor lógico 1 pero cambia
temporalmente a 0 lógico, obteniéndose un pulso transitorio o fall, se presentan en

circuitos AND-OR.

Riesgo estático 0: Contemplados en la definición de riesgos, y se presentan en


circuitos OR-AND.

Las redes también pueden presentar un segundo tipo de riesgo, conocido como riesgo
dinámico, el cual es una condición en la que una salida debe cambiar de 0Æ1 o de
1Æ0, pero cambia más de una vez antes de estabilizarse en su nuevo estado. Este
riesgo también es causado por una condición especial de tiempo de respuesta relativa,
que ocurre después de una transición en la entrada que normalmente produce un
cambio en la salida. Se puede demostrar que los riesgos dinámicos son el resultado de
riesgos estáticos existentes en el circuito. En consecuencia, las redes libres de riesgos
estáticos también están libres de riesgos dinámicos.

5.22 MÉTODO DE MINIMIZACIÓN TABULAR DE QUINE MC. CLUSKEY

Este método tiene dos ventajas sobre el mapa K:


88
CIRCUITOS DIGITALES I

Se trata de un método directo y sistemático para determinar una función mínima que
depende menos de la habilidad del diseñador para reconocer patrones que el método
del mapa K.

Es un esquema viable para el manejo de un gran número de variables, contrario a lo


que ocurre en un mapa K.

En general el método Q_M realiza una búsqueda lineal ordenada sobre los
miniterminos de la función para determinar todas las combinaciones de miniterminos
adyacentes lógicamente.

• Método de Quine

Se utiliza ab + ab = a

• Método de Quine – Mc. Cluskey

Se escribe la representación binaria de los productos estándar de la función booleana


dada.

Se ordenan de acuerdo al número de 1’s

Combinar todos los términos posibles.

Ejemplo: f = ∑ m(0,2,3,6,7,8,9,10,13)
4

5.23 MÉTODO NUMÉRICO O DEL TABULADO

Utiliza la notación decimal.

Se agrupan los miniterminos de acuerdo al número de 1’s de su representación binaria


equivalente.

Compara cada minitermino de un grupo con otro de grupo mayor, de modo que la
diferencia del minitermino del grupo mayor menos el minitermino del grupo menor sea
una potencia de 2.

Se anota en la tabla de diferencias, los números combinados, seguidos por su


diferencia entre paréntesis, dicho número indica la posición del guión en la
representación anterior, y así sucesivamente.
89
CIRCUITOS DIGITALES I

Ejemplo: f = ∑ m(0,2,3,6,7,8,9,10,13)
4

Tabla de implicantes primos

5.24 FUNCIONES DE SALIDA MÚLTIPLE

La mayoría de los circuitos combinacionales prácticos requieren más de una salida, y


siempre se puede manejar un circuito con n salidas como n problemas de diseño de
una sola salida, sólo que al hacerlo así, se pueden perder oportunidades al optimizarlo.

En este caso, compartir un término producto, reduce el tamaño y el costo del circuito.
La mayoría de diseños modernos no usan compuertas discretas, sino los PLD’s, que
son dispositivos de mayor escala, los cuales contienen la estructura de suma de
productos, y que permiten que los términos producto se compartan por varias salidas.

5.25 APLICACIONES

1) Simplificar la siguiente funcion de Bool

F = ∑m (0, 1, 3, 4, 5, 6, 8, 9, 10) implementar con puras compuertas NAND y NOR.

2) Simplificar la siguiente funcion de Bool

F = ∑m (0, 1, 12, 13, 16, 17, 18, 22) + D ( 4, 5, 20, 21, 28, 29,30) implementar con pura
compuertas NAND

3) Simplificar la siguiente funcion de Bool

F = ∑m (4, 5, 6, 7, 12, 13, 20, 21) + D (14, 15, 22, 23, 28,29) implementar con puras
compuertas NOR

90
CIRCUITOS DIGITALES I

CAPITULO VI

6.1 CONVERSOR DE CÓDIGO

Un conversor de código puede hacerse simplemente conectando un decodificador a un


codificador. Por ejemplo podemos imaginar un decodificador de binario natural es decir
un descodificador con 3 entradas y 10 salidas estas 10 salidas las conectamos a las
entradas de un codificador de código binario Gray el cual tendrá 3 salidas. Acabamos
de hacer un conversor de código de BCD natural a binario Gray.

En resumen, se puede decir que un conversor de código es un elemento lógico que


traduce una palabra de "n" bits a otra de "m" bits las cuales se refieren al mismo valor
pero en "distintos código"(En el ejemplo anterior los códigos son el binario natural y el
Gray).

6.2 APLICACIONES

1) Diseñar lo siguientes conversores de códigos

a) De BCD a Aiquen

b) De BCD a 84-2-1

c) De Aiquen a 84-2-1

d) De Binario a Gray

e) De BCD a Exceso – 3 gray

f) De Aiquen a Exceso – 3 gray

g) De Exceso – 3 gray a 8 4 -2 -1

El diseño tiene que ser con puras compuertas NAND y NOR

6.3 ELEMENTOS DE ARITMÉTICA BINARIA


En muchas aplicaciones lógicas de las computadoras es necesario sumar número
BINARIOS.
MEDIO SUMADOR – HALF ADDER: Es el sumador más simple, suma dos operante
de 1 bit, produciendo una suma de 2 bits.

91
CIRCUITOS DIGITALES I

Símbolo lógico del sumador medio

La tabla de verdad está dada por las reglas de la suma binaria.

X Y Cout S

0 0 0 0

0 1 0 1

1 0 0 1

1 1 1 0

Tabla de verdad del sumador medio

La salida obtenida a partir de la tabla de verdad es:

X + Y = Cout S

El bit de acarreo Cout es 1, sólo cuando A y B tienen el valor de 1; por tanto entre A y B
se puede establecer una operación AND:

Cout = A·B

El bit de suma S es 1, sólo si las variables A y B son distintas. El bit de acarreo es 0 a


no ser que ambas entradas sean 1. Por consiguiente, la salida S puede expresarse en
términos de la operación OR – Exclusiva:

S = A’·B + A·B = A Å B

92
CIRCUITOS DIGITALES I

El circuito se muestra en la figura

Circuito Lógico del Sumador Medio.

• SUMADOR COMPLETO – FULL ADDER: Para sumar operandos con más de


1 bit se debe proporcionar los acarreos entre las posiciones de bit.

La tabla muestra la tabla de verdad del sumador completo. Las entradas A, B y Cin
denotan al primer sumando, el segundo sumando y el acarreo de entrada. Las salidas S
y Cout representan a la suma y el acarreo de salida.

A B Cin Cout S
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1

Tabla de verdad del sumador completo

La salida S en la tabla de verdad corresponde a la operación OR- Exclusiva:

S = A·B’·Cin’ + A’·B·Cin’ + A·B·Cin + A’·B’·Cin

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

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

93
CIRCUITOS DIGITALES I

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

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

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

S = (A Å B) Å Cin

El mapa de karnaugh de la salida Cout se muestra en la figura

Mapa para la salida Cout de un Sumador Completo.

La salida Cout está dada por:

Cout = A·B + A·Cin + B·Cin

El circuito se muestra en la figura

Circuito Lógico del Sumador Completo.

94
CIRCUITOS DIGITALES I

• UNIDADES SUMADORAS DE ALTA VELOCIDAD: se puede mejorar la


velocidad de un circuito, eligiendo una tecnología en que las compuertas lógicas
individuales tengan retardos por propagación más cortos o diseñando el circuito de
modo que minimice el número de retardos de compuerta. Necesarios para realizar la
operación.
• SUMADORES COMPLETAMENTE PARALELOS: el diseño de sumador más
rápido seria estrictamente paralelo. Es decir, todas las entradas se aplicarán en forma
simultánea y se propagarían a través de dos niveles de lógica para obtener el resultado.
Sin embargo con este método requeriría una gran cantidad de circuitos lógicos y no
sería práctico.
• SUMADORES CON ACARREO ANTICIPADO: el bloque acarreo anticipado
calcula Ci en número pequeño y fijo de niveles lógicos para cualquier valor razonable
de i. dos definiciones son claves para la lógica de acarreo anticipado.

Se dice que para una combinación particular de entradas Xi, Y1, el sumador de la
etapa i genera un acarreo si este produce un acarreo saliente igual a 1 (Ci+1=1)
independientemente de las entradas Xo Xi-1, Yo Yi -1, Y- Co.
Se dice que para una combinación particular de entradas Xi, Yi, el sumador en la etapa
iPROPAGA un acarreo, si este produce un acarreo saliente igual a 1 (Ci+1=1) en
presencia de una combinación entrante de X1 Xi-1, Y1 Yi=1, YCo que ocasiona
un acarreo entrante de 1(Ci=1).
Las ecuaciones lógicas para una señal de acarreo generado si, y una señal de acarreo
propagado pi para cada etapa de un sumador con acarreo anticipado:
Si = Xi Yi Pi=Xi +Yi
Esto es, una etapa genera incondicionalmente un acarreo si ambos bits de los
sumandos son 1 y esta propaga un acarreo si al menos uno de los bits de kilos
sumandos es 1. La salida del acarreo de una etapa puede escribirse en términos de las
señales que generan y propagan.
El tiempo de propagación desde de la entrada Co a la salida C4 es muy corto, casi lo
mismo que dos inversores TTL. En consecuencia pueden hacerse sumadores de
propagación en grupo mucho más rápido al conectar en cascada las entradas y salidas
de los acarreos, en este caso del 7415283.

La ecuación de media suma puede quedar:


Por lo tanto puede usarse una puerta AND con una entrada invertida en vez de la X-OR
para crear cada bit de la media suma.

95
CIRCUITOS DIGITALES I

6.4 CIRCUITOS DE RESTA BINARIA: Los circuitos que efectúan la resta binaria
se pueden desarrollar de la misma forma que en el caso de la suma binaria, se puede
diseñar medio restadores y restadores completos de igual forma que para los
sumadores cuando hay que realizar sumas y restas, como en los circuitos aritméticos
de una computadora digital, se puede simplificar el diseño global mediante el uso de la
aritmética de complemento a dos, de la siguiente manera:

6.5 RESTADOR COMPLETO: El Restador completo realiza la resta entre dos bits,
considerando que se ha prestado un 1 de un estado menos significativo. En la tabla las
entradas A, B y C denotan el minuendo, el sustraendo y el bit prestado. Las salidas D y
P representan a la diferencia y el préstamo.

A B C P D

0 0 0 0 0

0 0 1 1 1

0 1 0 1 1

0 1 1 1 0

1 0 0 0 1

1 0 1 0 0

1 1 0 0 0

1 1 1 1 1

Tabla de verdad del Restador Completo.

En las combinaciones del mapa donde C=0, se tienen las mismas condiciones para el
sumador medio. El resto de condiciones se vieron en la lección 4 del capítulo 1.

La función de la salida D de un restador es la misma que la salida de un sumador


completo:

D = A’·B’·C + A’·B·C’ + A·B’·C’ + A·B·C = (A Å B) Å Cin

96
CIRCUITOS DIGITALES I

El mapa de karnaugh de la salida P se muestra en la figura

Mapa para la salida P de un restador completo

La salida P está dada por:

P = A’·B + A’·C + B·C

El circuito se muestra en la figura

Tabla de verdad del restador completo

6.6 RESTADOR MEDIO: El circuito combinacional que realiza la resta de dos bits
se denomina Restador medio. El circuito tiene dos entrada binarias y dos salidas. La
figura muestra el símbolo lógico de Restador medio. En el circuito las entradas son
A(minuendo) y B(sustraendo) y la salida D corresponde a la diferencia y P al préstamo
de salida.

Símbolo Lógico del Restador Medio.

97
CIRCUITOS DIGITALES I

Si A³ B, existen tres posibilidades 0-0=0, 1-0=0 y 1—1=1. El resultado es el bit de


diferencia D. Si A<B se tiene 0-1 y es necesario prestar un 1 de la siguiente posición
significativa de la izquierda. El préstamo agrega 2 al bit del minuendo de manera similar
cuando en el sistema decimal se agrega 10 al dígito del minuendo.

La tabla de verdad está dada por las reglas de la resta binaria.

A B P D

0 0 0 0

0 1 1 1

1 0 0 1

1 1 0 0

Tabla de verdad del Restador medio.

La salida D coincide con la operación OR- Exclusiva y se puede expresar de la


siguiente forma:

D = A’·B + A·B’

La salida P está dada por la suma de productos de los términos presentes en el renglón
2 de la tabla de verdad:

P = A’·B

El circuito se muestra en la figura

Circuito Lógico del restador medio.

98
CIRCUITOS DIGITALES I

6.7 APLICACIONES

1) Diseñe un circuito medio sumador y restador.


2) Diseñe un circuito para detectar en la salida el complemento a 9 de una palabra
BCD.
3) Diseñe un circuito para detectar en la salida el complemento a 2 de una palabra
de 4 bits.
4) Diseñe un circuito para detectar en la salida, si el numero de contenido en un
registro es mayor que 7 o menor que 3, si el mismo contenido en el registro es
exceso – 3 gary.

6.8 UNIDAD ARITMÉTICA Y LÓGICA (ALU) todas las operaciones se llevan a


cabo en la ALU de una computadora.
La ALU contiene por lo menos dos registros de FLIP FLOPS, el registro B y el registro
acumulador. También contiene lógica combinatoria, que efectúa las operaciones
aritméticas sobre los números binarios que están almacenados en el registro B y el
acumulador.

6.9 TABLA FUNCIONAL DE LA ALU

SIMBOLOS ESTANDAR IEEE

SUMADOR BCD: el proceso de suma en BCD es el siguiente:


Se suman los grupos de código BCD para cada posición de digito decimal, usando la
adición binaria ordinaria.
Para aquellas posiciones donde la suma es 9 o menor, la suma se encuentra en forma
BCD adecuada y no necesita ser corregida.
Cuando la suma de dos cifras es mayor que 9, debe agregarse una conexión de 0110
(6) para producir el resultado BCD indicado. Esto producirá un acarreo que se sumará a
la siguiente posición decimal:
Donde S4=C4 acarreo del MSB.
La salidas de la suma S4 S3 S2 S1 S0 pueden variar de 00000(0) a 10010(18) (cuando
ambos grupos BCD son 1001=9).

99
CIRCUITOS DIGITALES I

COMPARADOR DE MAGNITUDES: un comparador es un dispositivo aritmético que


determina la magnitud relativa de dos números binarios y que tiene aplicaciones en
diversos sistemas digitales. Un circuito para comparar dos números de n bits tiene
***entradas en la tabla de verdad y se vuelve muy complicado aun para n=3 un
algoritmo que permite realizar la comparación de 2 números de una manera más
simple.

Sean: A=A3 A2 A1 A0
B=B3 B2 B1 B0
Si todos los pares de números significativos son iguales, es decir:
A3=B3, A2=B2, A1=B1, A0=B0
Cuando los números son binarios los dígitos son: 0 o 1 y relación de igualdad para cada
par de bit puede expresarse lógicamente con una función de equivalencia:
Xi=Ai Bi +AD **************
Donde Xi=1 si el par de bits en la posición i son iguales. Para que exista la condición d
igualdad, todas las variables Xi deben ser iguales A1.
Luego: (A=B)=X3 X2 X1 X0

INFORMACION EXTRA

6.10 UNIDAD ARITMÉTICA LÓGICA

(Redirigido desde Unidad aritmético-lógica)

100
CIRCUITOS DIGITALES I

Un típico símbolo esquemático para una ALU: A y B son operandos; R es la salida; F es


la entrada de la unidad de control; D es un estado de la salida

La Unidad Aritmético Lógica (UAL), o Arithmetic Logic Unit (ALU), es un circuito digital
que calcula operaciones aritméticas (como adición, substracción, etc.) y operaciones
lógicas (como OR, NOT, XOR, etc.), entre dos números.

Muchos tipos de circuitos electrónicos necesitan realizar algún tipo de operación


aritmética, así que incluso el circuito dentro de un reloj digital tendrá una ALU minúscula
que se mantiene sumando 1 al tiempo actual, y se mantiene comprobando si debe
activar el beep del timer, etc...

Por mucho, los más complejos circuitos electrónicos son los que están construidos
dentro de los chips de microprocesadores modernos como el Pentium. Por lo tanto,
estos procesadores tienen dentro de ellos un ALU muy complejo y poderoso. De hecho,
un microprocesador moderno (y los mainframes) pueden tener múltiples núcleos, cada
núcleo con múltiples unidades de ejecución, cada una de ellas con múltiples ALUs.

Muchos otros circuitos pueden contener en el interior ALUs: GPUs como los que están
en las tarjetas gráficas NVidia y ATI, FPUs como el viejo coprocesador numérico 80387,
y procesadores digitales de señales como los que se encuentran en tarjetas de sonido
Sound Blaster, lectoras de CD y las TVs de alta definición. Todos éstos tienen adentro
varias ALUs poderosas y complejas.

101
CIRCUITOS DIGITALES I

102
CIRCUITOS DIGITALES I

CAPITULO VII

7.1 DECODIFICADORES

Son redes lógicas combinatorias de varias medidas, con n líneas de entrada y 2n líneas
de salida. Para cada condición de entrada, una y solo una señal de salida tendrá el
valor lógico 1.
Por lo tanto, podemos considerar al decodificador n a 2n como un generador de
MINTERMINOS, donde cada salida corresponde precisamente a un MINTERMINO. Se
utilizan para cosas como interrogar a la memoria a fin de elegir una palabra específica
de las que están disponibles, convertir códigos (por Ejemplo: BINARIO A DECIMAL) y
direccional datos.

Esta realización con puerta and o NAND, es limitada al número de entradas de cada
puerta, ya que excede el límite práctico del FAN- IN. Otra alternativa para aliviar esto se
utiliza la estructura llamada ARBOL DUAL.

7.2 IMPLANTACIÓN DE FUNCIONES LÓGICAS USANDO DECODIFICADORES

Las señales de salida del DECODE en forma complementada son adecuadas para su
procesamiento posterior mediante NAND. Si :
F(A,B,…,Z)=mi + mj+...+mk.
Otra forma es considerar que cada salida representa un MAXTERMINO de una función,
pues.
Mi = mi
Pudiendo implantar una función a partir de la forma canónica de su lista de
MAXTERMINOS:
f(A,B,...,Z)=MiMj...Mk

103
CIRCUITOS DIGITALES I

Usando un decodificador con salidas activas-bajas y una compuerta AND. Ejemplo:


Implementar las funciones SIG, con decodificadores.
f ( A, B, C ) = ∑ m(0,1,4,6,7)
= ∏ M (2,3,5)
Solo:
1) Usando un decoder con salidas activas altas y una puerta OR:
f ( A, B, C ) = m0 + m1 + m4 + m6 + m7
2) Usando un decoder con salidas activas bajas y una puerta NAND

f ( A, B, C ) = m0.m1.m4.m6.m7
3) Usando un decoder con salidas activas altas y una puerta NOR.
f ( A, B, C ) = m2 + m3 + m5
4) Usando un decoder con salidas activas bajas y una puerta AND.

f ( A, B, C ) = m2.m3.m5

7.3 ENTRADAS PARA CONTROL DE ACTIVACIÓN

Los decodificadores y demás módulos funcionales influyen con frecuencia una o mas
entradas de activación, que pueden servir para inhibir (desactivar) la función designada,
o para permitir que se realice (activar).

104
CIRCUITOS DIGITALES I

EXPANSIÓN DE DECODER’S, EL CONJUNTO REPRESENTA UN DECOBER DE 4 a


16.
DECOBER MSI-STANDARD: 74138: DECODER 3ª8
74154: DECODER 4 a 16
74139: DECODER DUAL de 2 a 4ç

7.4 DECODER DE BCD A DECIMAL

Los circuitos lógicos combinatorios se utilizan para convertir datos codificados en un


esquema a otro formato: se usan convertidores de código para convertir BCD a
decimal, exceso 3 a decimal, binario exceso 3, etc.

105
CIRCUITOS DIGITALES I

A 0
B

A B C D SALIDA
0 0 0 0 0
0 0 0 1 1
0 0 1 0 2
0 0 1 1 3
0 1 0 0 4
0 1 0 1 5
0 1 1 0 6
0 1 1 1 7
1 0 0 0 8
1 0 0 1 9

7.5 DECODER DE DISPLAY DE SIETE SEGMENTOS

Este DECODER tiene un código BCD de 4 BITS de ITS de entrada, y el lógico de 7


segmentos de salida.

106
CIRCUITOS DIGITALES I

El 7446, 7447, se diseñan con características de salida activa baja para funcionar con
LED’S ANODO COMUN.

El 7448, 7449, se diseña con características de salida activa alta para funcionar con
LED’S CATODO COMUN.

7.6 CODIFICADORES

Es un módulo lógico combinatorio que asigna un código de salida único (un número
binario) a cada señal de entrada aplicada al dispositivo, luego hace la función inversa
del DECODER. Si un módulo decodificador tiene n entradas, el número de salidas 5
debe satisfacer la expresión:

El decodificador binario es el más simple de construir, y puede logarse con n


compuertas OR de 2***

7.7 CODIFICADORES DE PRIORIDAD

Este codificador permite que varias líneas de entrada estén activas al mismo tiempo y
envía el valor binario del subíndice a la línea de entrada con mayor prioridad. Para el
diseño más sencillo, se asigna la máxima prioridad al subíndice, más alto, la siguiente
prioridad al segundo subíndice mas alto, BTC.

107
CIRCUITOS DIGITALES I

A fin de escribir las ecuaciones lógicas para las salidas del codificador de prioridad,
primero definimos 8 variables intermedias Ho-H7, tal que Hi es uno 1 si y solo si Ii es
la entrada 1 de prioridad más alta.
H7=I7
H6=I6. I7’
H5=Is. I6’. I7’

Ho=Io. I1’. I2’.I3’.I4’.I5’.I6’.I7’
Con estas señales, las ecuaciones para las salidas A2-Ao son similares a las de un
codificador binario simple:
A 2=H4+H5+H6+H7
A 1=H2+H3+H6+H7
A o=H1+H3+H5+H7
La salida vacía es uno si ninguna entrada es uno.

108
CIRCUITOS DIGITALES I

CAPITULO VIII

8.1 MULTIPLEXORES/ SELECTORES DE DATOS

Es un dispositivo modular que selecciona una de varias líneas de entrada para que
aparezca en una única línea de salida. Un multiplexor realiza la operación inversa.
El circuito conectará la línea de datos Di a la salida y cuando se aplique el código:
I =(AB)2 D0

A los terminales de selección, luego: D1 MUX


Y=(AB)Do + (AB)D1+(AB)D2+(AB)D3 D2 4A1
D3
A B
El código de selección forma los MINTERMINOS de dos variables A y B. luego:

MUX MSI – ESTANDAR: 74151: MUX 8 A 1

74150: “” 16 A 1
74153: “” DUAL 4 A 1
74157: “” CUADRUPLE 2 A 1

8.2 EJECUCIÓN DE FUNCIONES CON MUX

La idea fundamental consiste en utilizar el código de selección para generar los


MINTERMINOS de la función, y las líneas de datos. Para activar los MINTERMINOS
presentes en un pago específico.

Ejemplo: Utilizar el 74151ª para implementar

Ahora presentaremos un método más eficiente para ejecutar una función BOLEANA de
n variables con un MUX que tiene (n-1) entradas de selección. Las primeras n-1
variables de la función se conectan a las entradas de selección del MUX. La variable
que resta se utiliza para las entradas de datos. De modo que si la variable que resta es
Z, las entradas de datos del MUX serán Z, Z, 0 y

109
CIRCUITOS DIGITALES I

8.3 DEMULTIPLEXORES/ DISTRIBUIDORES DE DATOS:

Un DEMULTIPLEXOR conecta una sola línea de entrada a una de n líneas de salida,


según lo determina un código de selección de 5 bits, donde:
Cuando Z=1, el circuito puede operar, así se puede descubrir el funcionamiento de este
dispositivo como:
Yi= (mi D)E;

El circuito de la figura, puede usarse como DECODIFICADOR así como


DEMULTIPLEXOR. Por ello los fabricantes de C.1.A menudo llaman a este tipo de
dispositivo DECODER/ DEMUX y se puede usar para desempeñar una u otra función.

8.4 APLICACIONES

- SISTEMA DE SEGURIDAD Y VIGILANCIA:


- SISTEMA DE TRANSMISIÓN DE DATOS SÍNCRONOS

8.5 SÍMBOLOS ESTANDAR

8.6 ELEMENTOS DE ARITMÉTICA BINARIA

En muchas aplicaciones lógicas de las computadoras es necesario sumar número


BINARIOS.

- MEDIO SUMADOR – HALF ADDER: Es el sumador más simple, suma dos


operante de 1 bit, produciendo una suma de 2 bits.
- SUMADOR COMPLETO – FULL ADDER: Para sumar operandos con mas de
1 bit se debe proporcionar los acarreos entre las posiciones de bit.

110
CIRCUITOS DIGITALES I

CAPITULO IX

9.1 LENGUAJE ABEL

INTRODUCCIÓN

ABEL significa Advanced Boolean Equation Language. Introducido por DATA I/O
Corporation en 1984, diversos fabricantes lo siguen manteniendo.

Es un lenguaje de descripción de hardware ... …de bajo nivel

• Permite describir un circuito digital

• Permite definir vectores de test para comprobar el funcionamiento

• Permite generar el mapa de fusibles para programar el PLD

• Muy cercano a la circuitería que representa

• Muy eficaz para describir diseños digitales pequeños (< algunos miles de
puertas)

9.2 ESTRUCTURA DE UN ARCHIVO FUENTE ABEL

111
CIRCUITOS DIGITALES I

9.3 ESTRUCTURA DE UN ARCHIVO FUENTE ABEL


Formato del texto:
• Palabras clave: da igual mayúsculas que minúsculas.

• Nombres definidos por el usuario (identificadores): hay que mantener el


estilo de su declaración.

Por ejemplo, V1 es distinto de v1

• Las sentencias acaban en:

Comentarios:

• Empiezan por comillas

A, B, C pin 2, 3, 4;
Se extienden hasta las siguientes comillas o hasta el final de línea

Encabezamiento y final
• Las palabras clave moduley en demarcan los límites de un diseño.

9.4 DECLARACIONES

Declaración del dispositivo

Es opcional e identifica el PLD a usar

U1 device 'P22V10';

Declaración de pines
V1, V2, P pin 2, 3, 4;

112
CIRCUITOS DIGITALES I

Declaración de señales internas

En las arquitecturas tipo SPLD se asignan a un pin de salida (si no se pueden


simplificar en la síntesis)

Declaración de constantes
H, L = 1, 0;

Los números en ABEL siempre representan valores naturales igual ocurre con los
operadores aritméticos y relacionales la base por defecto es decimal

9.5 OPERADORES
• Lógicos

! NOT (complemento a 1)
& AND
# OR
$ XOR
!$ XNOR

113
CIRCUITOS DIGITALES I

• Aritméticos

Con conjuntos sólo - y +


- Negación (compl. a 2) -A
- Resta A-B
+ Suma A+B
<< Desplazamiento a izda. A<<B
>> Desplazamiento a dcha. A>>B
* Multiplicación A*B
/ División entera A/B
% Módulo (resto de A/B) A%B

• Relacionales

Comparan operandos en una expresión

El resultado puede ser 1 (verdadero) o 0 (falso)

== Igual A==B
!= No igual A!=B
> Mayor que A>B
>= Mayor o igual A>=B
< Menor que A<B
<= Menor o igual A<=B

• Asignación
- Asignación combinacional
- Asignación secuencial (en el siguiente flanco de reloj)

9.6 CONJUNTOS

Lista de señales o constantes separadas por comas o por el operador de rango (..),
encerradas entre corchetes.

- Simplifican la escritura de ecuaciones lógicas

- Declaración de conjuntos
114
CIRCUITOS DIGITALES I

ASET = [A2,A1,A0];
BSET = [Y2..Y0];

• Operaciones con conjuntos

- Se realizan sobre cada elemento del conjunto

- Los números se truncan o se rellenan con ceros

ASET & BSET [A2&B2, A1&B1, A0&B0]

ASET & B0 [A2&B0, A1&B0, A0&B0]

2 & ASET [0&A2, 1&A10&A0]

ASET = 2 A2=0; A1=1;A0=0;

DESCRIPCIÓN LÓGICA

Se puede realizar de varias formas:

• Ecuaciones

- Palabra clave: equations


- Sentencia when-then-else
- Extensiones de punto

• Tablas

- Palabra clave: truth_table

• Diagrama de estados
- Palabra clave: state_diagram
- Sentencia if-then-else
- Sentencia goto
- Sentencia with-endwith

Sentencias de asignación: El orden textual no importa


Operador de asignación combinacional (=)

115
CIRCUITOS DIGITALES I

116
CIRCUITOS DIGITALES I

• Ecuaciones
Sentencia when-then-else
Equivale a una ecuación

• Extensiones de punto
Se aplican a las salidas y permiten:

• Manejar señales especiales de la estructura de salida (OE, CLK; …)

• Eliminar ambigüedad en la descripción


• Las hay independientes del dispositivo (pin-to-pin) y dependientes (detailed)

Recomendable usar las extensiones independientes del dispositivo

• Se normalizan al pin de salida


Ejemplos:

117
CIRCUITOS DIGITALES I

1.- Contador ascendente/descendente módulo 8 con RESET asíncrono


Cuenta hacia arriba o hacia abajo, según el valor de la entrada UP.

2.- Contador módulo 13 con PRESET síncrono y RESET asíncrono.


La entrada de PRESET coloca al contador a su valor máximo.

¡Ojo! Simulación de ecuaciones OK porque las salidas siempre están habilitadas


para que la simulación sea OK indep. del PLD, realimentar con la extensión .fb

Realimentación en ecuaciones
Posibilidades:
Sin extensión: Se realimenta del pin; si no existe, se realimenta del biestable con
polaridad normalizada al pin.
Con .fb: Se realimenta del biestable con polaridad normalizada al pin; si no existe, se
realimenta del pin.

118
CIRCUITOS DIGITALES I

Con .pin: Se realimenta del pin; si no existe resulta un error.

Recomendable especificar de dónde se realimenta con .fb o .pin

• Resulta un diseño independiente del PLD

• La simulación de ecuaciones es igual que la simulación del JEDEC

Si no ponemos extensión:
- Al compilar existen todos los caminos de realimentación <=> .pin

- Pero al encajar el diseño en una 22V10, se tiene en cuenta que la


realimentación es de biestable <=> .fb

Aparecen diferencias entre una simulación y otra


Tablas
Descripción tabular: salidas = f (combinaciones de entradas)
Permite describir:
Circuitos combinacionales
(tabla de verdad)

Circuitos secuenciales (tabla de estados)

• El valor de la salida para combinaciones de entradas no


especificadas se toma como no importa
Ejemplo de tabla

119
CIRCUITOS DIGITALES I

Decodificador BCD a 7 segmentos


• Entradas: código BCD

• Salidas: visualizador de cátodo común

Diagramas de estados

ABEL permite describir máquinas de estados (ME) introduciendo el diagrama de


estados

• Se realiza con la palabra clave state diagram


• 4 Pasos en la descripción de una ME en ABEL:

• Definir las variables de estado.

• Definir/codificar los estados.

• Definir la función de transición de estados


- Sección state_diagram

• Definir la función de salida


- Sección state_diagramo equations
La estructura de la sección s

120
CIRCUITOS DIGITALES I

• reg_estado, identificador o conjunto de identificadores que especifican los


biestables de estado

• id_estado, identificador del estado actual

• ecuaciones, definen las salidas para el estado actual (opcional)

• cond_trans, condición de transición de estado que define:

- Estado siguiente: if-then-elsey goto

- Opcionalmente ecuaciones de salida asociadas a las transiciones entre


estados: with-endwith

Tipos de condiciones de transición de estado.

Transiciones incondicionales

• Transiciones condicionales

• Transiciones con with-endwith

Ejemplo: máquina de Mealy


Detector 001...

121
CIRCUITOS DIGITALES I

Ejemplo con with-endwith

Detector …001

122
CIRCUITOS DIGITALES I

• VECTORES DE TEST

Palabra clave: test_vectors

Define los vectores de prueba para verificar la funcionalidad del diseño


Especifican la salida esperada en función de las entradas (similar a las tablas)
Se usan constantes especiales

- .X. No importa - X en simulación


- .Z. Alta impedancia - Como entrada, el simulador
- .C. Pulso de reloj - escogerá un valor (0 o 1)
- .D. Flanco descendente - Como salida, dará lo mismo el
- U. Flanco ascendente - valor que aparezca a la salida

123
CIRCUITOS DIGITALES I

124
CIRCUITOS DIGITALES I

CAPITULO X

10.1 LENGUAJE VHDL

INTRODUCCIÓN
¿Qué significa VHDL?

VHDL=VHSIC Hardware Description Language

VHSIC=Very High Speed Integrated Circuits


Estándar IEEE 1076 (Institute of Electrical and Electronics
Engineering) desde 1987

Portabilidad entre herramientas y plataformas


Descripción de circuitos digitales

Simulación. Reproducir el funcionamiento del circuito

Síntesis. Transformar descripción VHDL en un netlist de puertas de una


tecnología dada (CPLD, FPGA)
Codificar pensando en puertas y FFs, no en variables y funciones:

Diseñar circuitos síncronos con único reloj y flanco

Evitar bucles combinaciónales, latches y reloj condicionado

10.2 ELEMENTOS BÁSICOS

Objetos

• Contienen valores

• Los objetos pertenecen a una clase y tienen un tipo


• Clases de objetos:

• Constant. Se les asigna un valor inicial que no puede ser modificado

• Variable. Contiene un valor que puede ser cambiado

• Signal. Contiene una lista de valores que incluye el valor actual y un conjunto
de valores futuros.

125
CIRCUITOS DIGITALES I

• File. Modelan ficheros y se utilizan en testbenchs.


• Señales vs. Variables

• Ambas se sintetizan en cables que interconectan componentes o FFs

• Tiene semántica de simulación distinta


• Es recomendable usar señales para la descripción de hardware
Tipos.
• Se caracteriza por un conjunto de valores que puede tener y un conjunto
de operaciones
VHDL es un lenguaje fuertemente tipado:

• Todos los objetos tienen un tipo

• No se puede conectar señales que no son del mismo tipo

• Se pueden crear nuevos tipos

Los objetos se crean en la declaración

• Signal a: bit; -- especifica clase y tipo


• Tipos definidos en el lenguaje:

• Boolean. Tipo predefinido en IEEE 1076.


• type boolean is (FALSE, TRUE);
• Integer. Tipo predefinido en IEEE 1076

- Rango (-231,231-1) 32 bits en complemento a 2

- Si no se acota el rango se sintetizan 32 bits:

- Signal a: integer range 0 to 7; -- se sintetizan 3 bits

• Bit. Tipo predefinido en IEEE 1076

- type bit is ('0', '1');

- No es posible describir salidas triestado

Std_logic. Tipo definido en librería IEEE 1164

- Para utilizarlo:

- library ieee;

- use ieee.std_logic_1164.all;

126
CIRCUITOS DIGITALES I

- Lógica multivaluada. 9 valores=('U', 'X', '0', '1', 'Z', 'W', 'L', 'H', '-')

- 'U'=desconocido (simulación); 'X'=cortocircuito (simulación);


'Z'=HiZ ; '-'=don´t care, se sintetiza en '0' o '1'.

• Enumerados: lista explícita de identificadores.

- Los hay predefinidos: bit, boolean

- Los puede definir el usuario, se utilizan en la descripción de MEFs

- Type state is (S0, S1, S2);

- Por defecto codificación binaria: S0="00", S1="01", S2="10"

• Matriciales

- Múltiples elementos del mismo tipo

- Una o más dimensiones y acceso indexado

- Type table8x4 is array (0 to 7, 0 to 3) of bit;

- Los hay predefinidos en los estándar IEEE 1076 y 1164

- Type bit_vector is array (natural range <>) of bit;

- Type std_logic_vector is array (natural range <>) of std_logic;


- El número de elementos se especifica al declarar una señal de dicho
tipo: Signal C: bit_vector(7 downto 0);

• Bit_vector, std_logic_vector

- Se suelen utilizar para describir buses

- Indexación:

Signal A: bit_vector(0 to 7);


Signal B: bit_vector(7 downto 0); A<="00110101"; A(7)= '1'
B<="00110101"; -- B(7)= '0'
- Preferible usar downto, MSB es el de más a la izquierda (HW)
- Asignación de valor

- Elemento:

B(3) <= '0'; -- comilla simple

- Segmento:
127
CIRCUITOS DIGITALES I

B(3 downto 0)<="0101"; -- comillas dobles

10.3 OPERADORES
Se definen sobre los tipos de datos predefinidos, aunque se pueden sobrecargar

10.4 ESTRUCTURA DE UN FICHERO VHDL


Librerías
• La librería estándar es siempre visible

• Si se van a utilizar otras librerías, las declaraciones y funciones en ellas


definidas se pueden importar:

Library ieee;

Use ieee.std_logic_1164.all;

• Especifica el interfaz del circuito

Arquitectura

• Descripción interna del circuito


- Comportamental

- Estructural

• Mezcla

10.5 DECLARACIÓN DE ENTIDAD


• Se especifica el nombre de la entidad y el interfaz con su entorno
(Puertos)
• Visión de “caja negra” (encapsulado)

Los puertos son señales y su declaración es implícita

128
CIRCUITOS DIGITALES I

10.6 MODO DE UN PUERTO


El modo define la dirección del flujo de datos del puerto visto desde la entidad. Puede
ser:

• IN, entrada dedicada, sólo pueden ser leídos en la arquitectura

• OUT, salida dedicada, sólo se les puede asignar valor en la arquitectura

• BUFFER, salida dedicada, pero puede ser leído en la arquitectura

• INOUT, bidireccional

10.7 ARQUITECTURA

Contiene la descripción interna de la entidad

• La descripción de la arquitectura se compone de un conjunto de


sentencias concurrentes que se ejecutan de forma asíncrona entre sí y se
comunican mediante señales

Estilos de modelado:

• Comportamental
– Alto nivel de abstracción (if-then-else)

– Ecuaciones booleanas

• Estructural: conexión de componentes

129
CIRCUITOS DIGITALES I

10.8 ESTILOS DE MODELADO


Nombre y pines de la entidad

Descripción comportamental

• Algoritmo

Descripción comportamental

• Ec. Booleanas

Descripción estructural

130
CIRCUITOS DIGITALES I

CAPITULO XI

11.1 DESCRIPCIÓN DE CIRCUITOS DIGITALES

Circuitos combinacionales
• Sentencia de asignación concurrente
–Y <= A and B;

• Evitar realimentación combinacional


–Y <= A nand Y;

Asignación condicional concurrente

• Salida triestado
–Y <= A when E='1' else 'Z';
• Multiplexor

–Y <= B when S='1' else A;

Circuitos combinacionales

• Proceso

• Multiplexor

• Las entradas (señales leídas dentro del proceso) deben aparecer en la lista de
sensibilidades
• Asignar valores a las salidas para todas las condiciones para evitar la
inferencia de latches

131
CIRCUITOS DIGITALES I

11.2 BIESTABLES
• Flip-flops

MEFs

Una MEF está formada por:


• Vector de estados S={Sj}
• Vector de entrada I={Ij} Vector de salida O={Oj}
• Función de transición de estados: Estado_siguiente=F(estado_actual, I)

• Función de salida:
- Moore, O = G(estado_actual);
- Mealy, O = G(I, estado_actual);
• Estado inicial o de reset

11.3 Descripción VHDL


• Dos procesos:
- Proceso secuencial, actualiza el estado
- Proceso combinacional, deriva siguiente estado y actualiza salidas
• Supondremos MEFs síncronas, todos los FFs con el mismo CLK

132
CIRCUITOS DIGITALES I

Máquina moore

Máquina moore, rst asíncrono

Máquina moore, rst síncrono

133
CIRCUITOS DIGITALES I

Máquina mealy

11.4 SALIDAS DE MEFS

Salidas decodificadas

• Presentan glitches

• Las salidas de la MEF que actúan sobre habilitaciones triestado (/OE) o que
actúan como reloj (/WE) deben estar libres de glitches

- Registrar las salidas

- Hacer coincidir salidas con variables de estado

11.5 ENTORNOS DE TEST


Un entorno de test (testbench) es otra entidad de diseño que se utiliza para verificar la
corrección funcional de nuestro diseño

• Se puede utilizar construcciones no sintetizables de VHDL


• Partes de un entorno de test
- Entidad a testear (EUT)
- Generador de estímulos. Éstos se aplican a los puertos de entrada de la
EUT

- Monitor de resultados. Fichero de datos o un visualizador de formas de


onda. Comparar resultados obtenidos con esperados

134
CIRCUITOS DIGITALES I

11.6 GENERACIÓN DE ESTÍMULOS


Los estímulos pueden:

• Ser vectores de datos almacenados en:

- Vector o tabla

- Fichero ASCII

• Ser generados mediante código VHDL no sintetizable


- Patrones no repetitivos
- Patrones repetitivos

11.7 VECTORES DE TEST ALMACENADOS EN TABLA


• Declarar estímulos

135
CIRCUITOS DIGITALES I

Vectores de test almacenados en tabla (2)


• Aplicar estímulos

Ficheros
• Estímulos en fichero

• Use std.textio.all;

• Use ieee.std_logic_textio.all;

136
CIRCUITOS DIGITALES I

Metodología de diseño con VHDL

137
CIRCUITOS DIGITALES I

138
CIRCUITOS DIGITALES I

CAPITULO XII

12.1 PRINCIPIOS DE DISEÑO DE LÓGICA SECUENCIAL

Un circuito lógico secuencial es aquel cuyas salidas no solo dependen de sus entradas
actuales, si no también de una secuencia de entradas anterior.

El estado de un circuito secuencial es una colección de variables de estado, cuyos


valores en cualquier momento contiene toda la información pasada necesaria para
establecer el comportamiento futuro del circuito.

Estabilidad:

En la figura se muestra un circuito con lazo de realimentación, lo que implica que debe
satisfacerse la Ecuación booleana

Z (t ) = x(t ).z (t ) ...(1)

La Ec. Se satisface para x (t)=0, z (t)=1siendo consistente y establece pero si x=1 y z=1
se obtiene una situación lógica inconsistente, esto es z(t) = TT=0 que contradicen la
premisa.

Si la puertas tiene un retardo de propagación distinta a cero.

Z(t)=x(t-tpd) . z(t-tpd) .......(2)

Luego la señal de salida z(t) ya no es función de su valor actual, sino que depende del
valor anterior z(t-tpd) que puede ser distinto de z(t).

139
CIRCUITOS DIGITALES I

Si x(t-tpd)=1, se satisface la Ec. (2), de esta manera z cambia 1 a 0 en un instante t,


este cambio hará que z cambie de 0 a 1, en el instante t + tpd, este tipo de cambio
regular y espontáneo, llamado oxidación es una forma extrema de comportamiento

inestable.

Metaestabilidad

La condición en la que una señal tiene de igual forma hacia 0 y hacia 1 y por
consiguiente a estar estacionaria en un valor intermedio, se llama metaestabilidad.

140
CIRCUITOS DIGITALES I

Zi = fi ( x1, x 2,...xn)
i = 1,..., n

Circuito Lógico Secuencial

Z i = gi ( x1 , x2 ,..., xn , y1 , y2 ,... yr ) ∴ i = 1,..., m (1)


Yi = hi ( x1 , x2 ,..., xn , y1 , y2 ,... yr ) ∴ i = 1,..., r (2)

Donde gi, hi, son funciones booleanas. Podemos escribir en notación vectorial.

Z = g (x, y) (3)

Y = h (x, y)

Donde:

⎡Z1 ⎤ ⎡X1 ⎤ ⎡Y 1 ⎤
⎢Z 2 ⎥ ⎢ X 2⎥ ⎢Y 2⎥
Z = ⎢ ⎥; X = ⎢ ⎥; Y =⎢ ⎥ ... (a)
⎢... ⎥ ⎢... ⎥ ⎢... ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎣ Zm ⎦ ⎣ Xn ⎦ ⎣Yr ⎦

Se observa que, Zi, Xi, Yi son variables binarias.

141
CIRCUITOS DIGITALES I

Todos los vectores de la Ec. (a) dependen del tiempo.

Elementos biestables. Tienen dos estados estables.

El elemento biestable es tan simple que no tiene entradas y, por lo tanto, manera de
controlar o cambiar su estado. Cuando se le aplica por primera vez enrgía al circuito, se
queda aleatoriamente en uno a otro estado y permanece ahí para siempre.

Q VE2 VS1
1 1 0
0 0 1

Flip Flop: Dispositivo secuencial que por regla general muestra a sus entradas y
cambia sus salidas solo en tiempo determinados por una señal de reloj.

Latch. (Biestable): Dispositivo secuencial que monitorea en forma continua todas sus
entradas y cambia sus salidas en cualquier tiempo, de manera independiente de la
señal de reloj. IC 74L5374/373

Match Set - Reset: Estructura NOR

142
CIRCUITOS DIGITALES I

S R Q Q
0 0 Q Q
0 1 0 1
1 0 1 0
1 1 0 0

S (Set): Inicia o reinicia la salida Q a 1

R (Reset): Despeja o aclara la salida Q a 0

Estructura Nand

S R Q Q
0 0 1 1
0 1 1 0
1 0 0 1
1 1 Q Q

Latch SR Sincronizado: Mediante una señal de control se inhibe los cambios de


estado de un Match SR., se activa la señal de control para habilitar el Match y que
responda a los nuevos valores de S y R.

143
CIRCUITOS DIGITALES I

ACTIVACIÓN ENTRADAS EST. ACTUAL EST. SIGUIENTE


C SR Q Qt+1
0 00 0 0 RETENCION
0 00 1 1 RETENCION
0 01 0 0 RETENCION
0 01 1 1 RETENCION
0 10 0 0 RETENCION
0 10 1 1 RETENCION
0 11 0 0 RETENCION
0 11 1 1 RETENCION
1 00 0 0 SIN CAMBIO
1 00 1 1 SIN CAMBIO
1 01 0 0 RESET
1 01 1 0 RESET
1 10 0 1 SET
1 10 1 1 SET
1 11 0 X NO PERMITIDO
1 11 1 X NO PERMITIDO

144
CIRCUITOS DIGITALES I

Si C=0Qt+1=Q, Lo que significa que el estado presente se mantiene

Si C=1Qt+1=S+, Que es la ecuación característica del Latc SR simple, y por tanto el


match esta habilitado

EST. PRESENTE ENTRADAS EST. SIG.


Qt SR Qt+1
0 00 0
0 01 0
0 10 1
0 11 IND
1 00 1
1 01 0
1 10 1
1 11 IND

Los biestables SR. Son útiles en especificaciones de control, donde pensamos a


menudo en términos de poner en uno al FF en respuesta a alguna condición y ponerlo
en cero cuando esta cambia, así controlamos las entradas de inicio y despeje de
manera algo independiente.

El Biestable D (Match de Retardo). Se reconoce como biestable SR. Con habilitación,


con el agregado de un inversor para general las entradas SR. desde la única entrada D
(DATO) esto elimina la situación no permitida. Sirven para almacenar bits de
información; cada bit de información se presenta en línea de información y nos gustaría
almacenarla en alguna parte. Tiene la particularidad de trasmitir datos.

145
CIRCUITOS DIGITALES I

C D Qt Qt+1 CD
000 0 0X,11
0X,10 11
001 1
010 0 0 1
011 0
100 1 10
101 1
110 X
111 X

146
CIRCUITOS DIGITALES I

FF SR. Maestro Esclavo Un método para evitar el comportamiento dos LATCHES en


una continuación Maestro Esclavo.

Son útiles en aplicaciones de control, donde podemos tener condiciones independientes


para iniciar (Poner en uno) y despejar (Poner en cero) un bit de control.

147
CIRCUITOS DIGITALES I

El FF RS. ME sólo cambia sus salidas en el borde descendente de la señal de control,


sin embargo, el nuevo valor de salida depende de los valores de entrada, no sólo
durante el flanco descendente, sino durante todo el intervalo en el cual C está alto
previo al flanco descendente. Un pulso corto en S en cualquier momento durante este
intervalo puede poner en uno (1) al biestable maestro; de manera semejante puede
poner en cero (0) en pulso en R. El valor transferido a la salida del FF en el borde
descendente de C depende de si el biestable maestro fue iniciado o desviado al último
mientras C estaba alta.

Cambia su salida para reflejar el valor final retenido solo cuando C pasa a bajo.

FF D Maestro Esclavo:

Mostrar la entrada D y cambiar sus salidas en el borde de ascenso de una señal ck de


control.

El 1º es el maestro, esta abierto y sigue la entrada cuando ck esta bajo. Cuando el ck


pasa a alto, el biestable maestro se cierra y su salida se trasfiere al 2º biestable llamado
esclavo.

El esclavo esta abierto todo el tiempo que ck esta alto, aunque cambia al inicio de este
intervalo, debido a que el maestro se cierra y no cambia durante el resto del intervalo.

148
CIRCUITOS DIGITALES I

FF JK Temporizado

149
CIRCUITOS DIGITALES I

FF JK ME

Opera como un FF SR. En la que se supera la combinación no permitida (S=R=1),


utilizando un caso particular para agregar un modo de operación muy útil, en la que su
estado se alterna es decir, cambia del φ →1ó1→φ cuando J = K = 1

J K Q Qt+1
0 0 0 0 Retención
0 0 1 1 Retención
0 1 0 0 Reset
0 1 1 0 Reset
1 0 0 1 Set
1 0 1 1 Set
1 1 0 1 Alternancis
1 1 1 0 Alternancis

150
CIRCUITOS DIGITALES I

El problema de que hacer cuando SE están activas simultáneamente se resuelve con


un FF JK ME.

Jactivo activa la entrada del biestable M sólo si la salida del FF es 1 en ese momento
(Q= 0), kactivo activa R del biestable M si Q= 1 en ese momento. Por lo tanto, Si JK
están activas al mismo tiempo el FF pasa al estado opuesto de su estado presente.

FF T

T QT QT+1
0 0 0 RETIENE
0 1 1 RETIENE
1 0 1 CAMBIA
1 1 0 CAMBIA

Qt+1= T Qt + T Qt
Qt + 1 = T ⊕ Qt

151
CIRCUITOS DIGITALES I

Entrada del FF sincrónicas y asincrónicas.

JK, SR, D y T son terminales sincrónicas ya que depende la señal de reloj (ck) para
poder actuar.

El reloj es una entrada sinc. CLEAR y PRESET son terminales asincrónicas, ya que no
dependen de ningún permiso para poder actuar.

Las entradas asincrónicas pueden usarse para forzar al FF a un estado particular,


independiente de las entradas CK, JK, SR, D y T.

Se deben usar propósitos de inicialización, verificación y para forzar a un circuito


secuencial a un estado inicial conocido.

FF Activado por flanco: Un FF activado por flanco ignora el pulso mientras se


encuentra en un nivel constante pero se activa solo durante la transición de la señal del
reloj (ck). Algunos FF se activan por flanco positivo (Transición de 0 a 1) otros por flanco
negativo (Transición de 1 a 0).

PRESET CLEAR RESPUESTA DEL FF


0 0 AMBIGUO
0 1 Q=1
1 0 Q=0
1 1 SIN EFECTO, EL FF OPERA NORMALMENTE

Símbolos Estándar

152
CIRCUITOS DIGITALES I

Tabla De operación

J K Qt+1
0 0 Q SIN CAMBIO
0 1 0 REINICIO
1 0 1 INICIACIÓN

1 1 Q COMPLEMENTO

S R Qt+1
0 0 Q SIN CAMBIO
0 1 0 REINICIO
1 0 1 INICIACIÓN
1 1 ? INDETERMINADA

La señal de control de tiempo especial, es llamado Reloj la cual restringe los instantes
en que se cambian los estados de los elementos de memoria o Flip Flop.
153
CIRCUITOS DIGITALES I

Vcc

RESET

RA
4 8
7
DISCHARGE

RB
3
ONDA
CUADRADA

6
THRESHOLD

2
TRIGGER
C

Fmáx=1HHz

5 GND
1

C
CAPACITOR
OPCIONAL
BYPASS

154
CIRCUITOS DIGITALES I

CAPITULO XIII

13.1 PROCEDIMIENTO DE ANÁLISIS

• Determinar las ecuaciones de excitación para las entradas de control de los F/F.
• Sustituir las ecuaciones de excitación características de los F/F para obtener las
ecuaciones de transición.
• Usar las ecuaciones de transición para construir una tabla de transiciones.
• Determinar las ecuaciones de salida.
• Agregar los valores de salida a la tabla de transiciones para cada estado
(Moore) o combinación de Estado / Entrada (Mealy) para crear una tabla de
transición / salida.
• (Opcional) Dibujar el diagrama de estados correspondiente a la tabla de
estado/salida.

Reconocedores de secuencia.

Los reconocedores de secuencias son circuitos secuenciales síncronos que producen


una respuesta dada en sus salidas al detectar secuencias de valores de entrada
específicas. Suponemos que cada conjunto de valores de una secuencia de entrada
llega antes de una transición activa del reloj, de modo que los valores sucesivos de una
secuencia llegan durante períodos consecutivos del reloj.

Ejemplo: Diseñar un circuito secuencial síncrono con una línea de entrada y una de
salida que reconozca la cadena de entrada x = 1111. Debe reconocer también las
secuencias trasladadas. Sí

x = 1101111111010

⇒ z = 0000001111000

Si x = 1 El circuito cambia con excepción de la 4ta. Vez y posteriores

Si x = 0 El circuito se restablece, regresando al estado A.

155
CIRCUITOS DIGITALES I

Elegimos: A = 00

B = 01

C = 10

ENT
EST. PRES X=0 X=1
A A/0 B/0
B A/0 C/0
C A/0 D/0
D A/0 D/1

EST PRES ENT EST. SIG SAL


Q1 Q0 X Q1 Q0 Z T1 T0
0 0 0 0 0 0 0 0
0 0 1 0 1 0 0 1
0 1 0 0 0 0 0 1
0 1 1 1 0 0 1 1
1 0 0 0 0 0 1 0
1 0 1 1 1 0 0 1
1 1 0 0 0 0 1 1
1 1 1 1 1 1 0 0

156
CIRCUITOS DIGITALES I

DIAGRAMAS DE MÁQUINA DE ESTADO ALGORÍTMICOS.

Una variante de diagrama de estados, muy útil son los diagramas ASM. Un algoritmo es
una secuencia de pasos bien definida que produce una secuencia deseada de acciones
en respuesta a una secuencia dada de entradas. Se construyen diagramas ASM con 3
elementos:

• Caja de estado: Representa un estado del circuito, y por lo tanto, equivale a un


modo de un diagrama de estado. En la caja se escribe el nombre el estado y ,
en el caso de los circuitos Moore, las salidas por producir, es decir, las acciones
por realizar mientras se encuentren en este estado. Una caja de estado siempre
tiene un único punto de entrada y un único punto de salida.
• Caja de dedición: Presenta una decisión de transición de estado con base en
una prueba de una entrada del circuito. Una caja de decisión enumera la
entrada por verificar, tiene un único punto de entrada y dos puntos de salida,
uno sí la entrada es igual A y otro si la entrada es igual a 1. Se utiliza por cada
prueba de entrada.
• Caja de salida condicional: Especifica las salidas asociadas a transiciones de
estado para una entrada dada en un circuito MEALY. Se coloca en la ruta entre
una caja de decisión y una caja de estado; tiene una única entrada y un punto
de salida.

157
CIRCUITOS DIGITALES I

Diagrama ASM de un circuito secuencial MEALY

A
Z=0

A/0 B/1
0
1

1 X
0

C/0

B
Z=1

C
Z=0

Representación ASM de un circuito secuencial modelo Moore.

158
CIRCUITOS DIGITALES I

Diagrama de estado

La información disponible en la tabla de estado puede representarse gráficamente en un


diagrama de estado. El diagrama de estado suministra la misma información que la
tabla de estado. El diagrama de estado da una vista pictórica de las transiciones de
estado y está en una forma disponible para interpretación binaria de la operación del
circuito. El diagrama de estado se usa a menudo como la especificación de diseño
inicial de un circuito secuencial.

Ecuaciones de Estado

• Son expresiones algebraicas que especifican las condiciones para la transición


de estado de un FF. El lado izquierdo de la ecuación denota el estado siguiente
del FF y el lado derecho una función de Boole que especifica las condiciones
del presente estado que hacen el siguiente estado igual a 1. Una ecuación de
estado es similar en forma a una ecuación característica de un FF, excepto que
especificas las condiciones del siguiente estado en términos de las variables de
entrada externas y otros valores de los FF’s. La ecuación de estado es una
función de Boole con un tiempo incluido. Es aplicable solamente en los circuitos
secuenciales de reloj. Las ecuaciones de estado de todos los FF’s,
conjuntamente con las funciones de salida, especifican totalmente un circuito
secuencial. Ellos representan, algebraicamente, la misma información que
representa una tabla de estado en forma tabular y una diagrama de estado
representa una forma gráfica. La ecuación de estado para el FF – A El FF-A va
al estado 1 cuatro veces cuando

159
CIRCUITOS DIGITALES I

• La ecuación de estado para el FF-B

El FF-B va al estado 1 cuatro veces cuando.

Criterios de Reducción de Estados

De la tabla:

• Se buscan estados presentes que vayan al mismo estado siguiente y tengan la


misma salida por ejemplo g y e.
• Al hallarse dos estados equivalentes se elimina uno y se remplaza por su
equivalente en las columnas de estado siguiente. Por ejemplo g se reemplaza
por e cada vez que ocurre en las columnas de estado lo siguiente.
• La reducción de 7 a 5 estados no reduce el 1 de Flip Flops y por ende el
número de compuertas.

Asignación de estados

El criterio más común es que la asignación que se escoja debe producir un circuito
combinacional simple para las entradas F/F, sin embargo, no hay procedimientos de
asignación de estados que garanticen un circuito combinacional de mínimo costo.

Reducción de estados

El diseño de un circuito secuencial se inicia mediante un conjunto de especificaciones y


termina en un diagrama lógico. Existen ciertas propiedades de los circuitos secuenciales
que pueden usarse para reducir el número de compuertas y FF’s durante el diseño.

Los algoritmos de reducción de estados tratan con procedimientos para reducir el


número de estados en una tabla de estados mientras se mantiene sin cambio los
requisitos de entrada – salida externa. m FF’s producen 2m estados, una reducción en el
número de estados puede (o no puede) dar por resultado una reducción en el número
de FF’s

160
CIRCUITOS DIGITALES I

Problema:

Secuencia de entrada: 01010110100

Estado inicial: 1

En el problema, solamente las secuencias de I/O son importantes, los resultados


internos se usan solamente para suministrar las secuencias requeridas.

161
CIRCUITOS DIGITALES I

Del diagrama de estado se obtiene:

Estado : 112345667671

Entrada : 01010110100

Salida : 00000110100

Es importante tomar en cuenta que en este circuito los estados en si mismos son de
importancia secundaria porque el interés primordial son las secuencias de salida
causadas por las secuencias de entrada.

Se dice que dos estados son equivalentes si, por cada miembro del conjunto de
entradas ellos dan exactamente la misma salida y envían al circuito al mismo estado o
a un estado Eq. , uno de ellos puede quitarse sin alterar las relaciones de I/O

E=0 E=1 E=0 E=1 E=0 E=1


Qn Qn+1 S Qn+1 S Qn Qn+1 S Qn+1 S Qn Qn+1 S Qn+1 S
A A 0 C 0 A A 0 C 0 A A 0 B 0
B C 0 D 1 B C 0 B 1 B B 0 B 1
C C 0 B 1 C C 0 B 1 C C 0 B 1
D C 0 D 1 D C 0 D 1

E=0 E=1
Qn Qn+1 S Qn+1 S
A A 0 B 0
B B 0 B 1

162
CIRCUITOS DIGITALES I

Estado :112345445451

Entrada :01010110100

Salida :00000110100

El problema de la reducción de estado es encontrar maneras de reducir el número de


estados en un circuito secuencial sin alterar las relaciones de I/O.

Problema

E=0 E=1 E=0 E=1 E=0 E=1


Qn Qn+1 S Qn+1 S Qn Qn+1 S Qn+1 S Qn Qn+1 S Qn+1 S
A A 0 C 0 A A 0 C 0 A A 0 B 0
B C 0 D 1 B C 0 B 1 B B 0 B 1
C C 0 B 1 C C 0 B 1 C C 0 B 1
D C 0 D 1 D C 0 D 1

E=0 E=1
Qn Qn+1 S Qn+1 S
A A 0 B 0
B B 0 B 1

0/0
0/0
A
1/0 B

1/1

163
CIRCUITOS DIGITALES I

Se asigna a las variables (A y B) valores binarios

A se le asigna el estado “0”

B se le asigna el estado “1”

E=0 E=1
Qn Qn+1 Dp S Qn+1 Dp S
P P P Dp=E+P
0 0 0 0 1 1 0 S=EP
1 1 1 0 1 1 1

13.3 DISEÑO DE CONTADORES

Contador

Es un circuito secuencial que pasa por una secuencia pre establecida de estados
después de la aplicación de pulsos de reloj. Los pulsos de reloj pueden ocurrir en
intervalos establecidos de tiempo aleatoriamente.

Un contador de n bits consiste en nFF y puede contar en binario de 0 hasta 2n-1.

Existen 2 clases de contadores, contadores síncronos y contadores asíncronos.

Contadores síncronos:

El pulso de reloj se aplica a todos los FF’s al mismo tiempo.

164
CIRCUITOS DIGITALES I

Problema Diseñe un contador de 2 bits

22=4 estados

Problema Diseñe un contador de 3 bits

23=8 estados

Problema Diseñe un contador BCD (Módulo 10)

Problema Diseñe un contador Módulo 5

Contadores asíncronos

El pulso de reloj se aplica a los FF de menor peso, la transición de este FF se aplica al


que le sigue en peso y así sucesivamente. No existe una metodología de diseño. Para
el diseño de estos contadores se utiliza FF-JK con las entradas J y K igual a uno
(J=K=1).

Problema Diseñe un contador binario de dos bits, cuya frecuencia de entrada es 10


KHz. Hallar la frecuencia de cada FF y la frecuencia de salida del contador.

La frecuencia de salida se toma del FF de mayor peso.

Problema Diseñe un contador de tres bits, cuya f de entrada es de 20KHz. Hallar la f de


cada FF y la salida del contador.

Problema Diseñe un contador asíncrono BCD (Módulo 10 ó contador de década.

C=0,1,...........,8,9)

C=0000,.......1001

Con el MOD se resetea (borrar)

MOD 10= 1 0 1 0

Q3 Q2 Q1 Q0

165
CIRCUITOS DIGITALES I

Problema

Diseñe un contador asíncrono Módulo 6 C=0,1,2,3,4,5

Salida de la compuerta NAND

fQC=1/2 fCK fQB=1/4 fCK

fQA=1/6 fCK

Problema En el problema anterior los FF’s se disparan por flanco negativo y tiene un
retardo de propagación (tp) de 10 ns. Determine el retardo de propagación total desde
el flanco de disparo de un impulso de CK hasta que pueda producirse el cambio
correspondiente en el estado de QA. Determinar también la frecuencia máxima de reloj
a la que puede funcionar el contador.

Sol: tp=10ns

Como son tres FF el tpt es:

tpt=10*3

tpt=30ns

tpt=tp*nª de FF

Contadores MSI

Síncronos (74LS163) Contador binario de cuatro bits, con entradas de carga () y


puesta en 0 (). Dos entradas de habilitación ENP y ENT. Una salida de acarreo
propagado (RCO) indica un acarreo desde la posición del bit más significativo y es uno
cuando todos los bits de conteo son uno y ENT esta activa.

Problema

Diseñe un contador módulo trece.

C=0,1,...,11,12

166
CIRCUITOS DIGITALES I

Nota:

74LS161 contador de 4 bits

74LS160 contador de década

74LS161 contador de década

74LS193 contador de 4 bits ascendente/descendente

74LS190 contador de década ascendente/ descendente.

Problema Diseñe un contador Módulo 256

C=0,1,2,...,253,254,255

C=00000000,...,11111111

Contadores Asíncronos MSI

Problema

Diseñe un contador módulo cinco

C=0,1,2,3,4

C=0000,...,0100

Con el MOD se resetea (borrar)

5= 0 1 0 1

Q3 Q2 Q1 Q0

Problema

Diseñe un contador BCD

C=0,1,2,...,7,8,9

C=000,...,1001

167
CIRCUITOS DIGITALES I

Con el 10 se resetea (borra)

10= 1 0 1 0

Q3 Q2 Q1 Q0

Problema

La frecuencia del reloj del contador BCD es de 30KHz. Hallar la frecuencia de salida del
contador.

fCK=30KHz

f CK
f SAL =
10

30 KHz
f SAL =
10

f SAL = 3KHz

Problema: Diseñe un contador MOD 16. la frecuencia del reloj es de 60KHz. Halar la
frecuencia de cada una de las salidas del contador y la frecuencia de salida del
contador.

13.4 MAQUINAS DE ESTADO FINITOS:

Es un nombre genérico dado a los circuitos secuénciales por reloj, tal maquina de
estados cambia de estado solamente cuando ocurre un flanco de disparo o un pulso en
la señal de reloj.

El circuito secuencial cuyas salidas de penden tanto del estado actual como de la
entrada, se le conoce como máquina de Mealy.

El circuito secuencial cuyas salidas dependen sólo del estado actual, se le conoce como
máquina de Moore.

168
CIRCUITOS DIGITALES I

Procedimiento de síntesis

• Deducir una tabla de estados a partir de una descripción verbal del problema.
• Utilizar las técnicas de reducción de estados para determinar la tabla de
estados de un circuito equivalente con un mínimo de estados.
• Elegir una asignación de estados y generar las tablas de transición de estados y
salidas.
• Determinar el dispositivo de memoria o Flip Flop a utilizar, así como las tablas
de excitación del Flip flop.
• Utilizar las tablas de excitación para obtener las ecuaciones lógicas de
conmutación. Además formar los mapas de salida y determinar las ecuaciones
lógicas de salida.
• Trazar el diagrama lógico del circuito secuencial mediante las ecuaciones
lógicas y los dispositivos de memoria elegidos.

169
CIRCUITOS DIGITALES I

170
CIRCUITOS DIGITALES I

BIBLIOGRAFÍA

1. Morris Mano, M . (1985), Computadoras Arquitectura, Ed. Prentice Hall, México.

2. Nagle, Nelson - Carrol, Irwin. Análisis y Diseño de Circuitos Lógicos Digitales.


Ed. Prentice Hall.

3. Tocci, Ronald J. (1993), Sistemas Digitales, Principios y Aplicaciones. Ed.


Prentice Hall, México.

4. Mandado, Enrique. (1996), Sistemas Electrónicos Digitales. Marcombo.


Barcelona.

5. Wakerly, John. (1992), Diseño Digital: Principios y Prácticas. Ed. Prentice Hall.
México.

171

También podría gustarte