Escolar Documentos
Profissional Documentos
Cultura Documentos
UNIDAD I
1.1
INTRODUCCIN.
MARCO HISTRICO.
CIRCUITOS INTEGRADOS.
DISPOSITIVOS PROGRAMABLES.
UNIDAD 2
SISTEMAS NUMRICOS.
2.1
REPRESENTACIN DE NMEROS.
2.2
ARITMTICA BINARIA.
2.3.1
2.3.2
2.3.3
2.3.4
2.3.5
2.3.6
2.3.7
2.3.8
2.3.9
5
5
5
5
5
7
8
12
13
14
14
16
18
18
20
20
23
24
26
26
26
28
28
29
31
31
33
33
34
34
35
37
37
38
38
2.3.9.2 Desborde.
2.3.9.3 Reglas de la resta.
2.4
CONVERSIN.
UNIDAD 3
3.1
FAMILIAS LGICAS.
3.2.1 Diodos.
3.2.2 Transistor de unin bipolar.
3.3
FAMILIA TTL.
3.4
UNIDAD 4
4.1
ALGEBRA BOOLEANA.
LOGICA MEZCLADA.
MINIMIZACION DE FUNCIONES LOGICAS.
39
39
39
39
43
43
44
45
48
49
52
53
54
60
61
62
64
66
66
67
68
69
69
69
70
70
72
73
76
77
77
81
83
88
3
UNIDAD 5
5.1
LENGUAJE DE DESCRIPCIN DE
HARDWARE, UNA INTRODUCCIN.
FUNCIONES.
5.3.1 Procedimientos.
5.3.2 Bibliotecas.
5.3.3 Paquetes.
5.4
DISEO ESTRUCTURAL.
SIMULACIN Y SINTESIS.
UNIDAD 6
CIRCUITOS COMBINACIONALES
PRCTICOS.
89
94
94
95
96
98
100
102
103
105
105
109
109
112
113
122
122
122
125
130
130
133
133
133
137
140
142
144
144
146
149
150
BIBLIOGRAFA.
153
6.1
6.4
DECODIFICADOR.
Cdigo BCD.
6.5 MULTIPLEXOR.
6.6 DEMULTIPLEXOR.
6.7 COMPARADOR.
6.8 SUMADORES Y RESTADORES.
VOLVER A NDICE
INTRODUCCIN.
VOLVER A NDICE
VOLVER A NDICE
primer ejemplar fue perfeccionado por Schockley con la introduccin del transistor de unin,
totalmente de material semiconductor.
La comercializacin del transistor en 1951 sent las bases para el desarrollo
cualitativo y cuantitativo de la tecnologa electrnica en la segunda mitad del siglo. El
transistor proporcion las mismas funcionalidades del trodo, siendo ms pequeo, eficiente,
fiable, econmico y duradero. Esto permiti la existencia de una gama de aplicaciones antes
impensables y la reduccin de costos y del tamao de los dispositivos electrnicos de uso
comn, abrindose as el camino hacia el fenmeno de la electrnica de consumo.
La aparicin del transistor tambin proporcion un gran impulso al desarrollo de los
ordenadores. En 1959 la IBM present el primer ordenador (el 7090) de estado slido, es
decir, con transistores.
En la actualidad, los componentes con semiconductor como el transistor, han
sustituido por completo a los tubos de vaco.
Con esto las condiciones para el desarrollo de la electrnica digital quedan dadas y
con los siguientes hechos se formaliza como alternativa en el diseo de dispositivos
electrnicos a todo nivel:
VOLVER A NDICE
VOLVER A NDICE
VOLVER A NDICE
. Grabaciones de videos. Un disco verstil digital, de mltiples usos (DVD, por las
siglas de digital verstil disc) almacena videos en un formato digital altamente comprimido
denominando MPEG-2. Este estndar codifica una pequea fraccin de los cuadros
individuales de video en un formato comprimido semejante al JPEG, y codifica cada uno de
los otros cuadros como la diferencia entre este y el anterior. La capacidad de un DVD de una
sola capa y un solo lado es de aproximadamente 35 mil millones de bits, suficiente para
grabar casi 2 horas de video de alta calidad, y un disco de doble capa y doble lado tiene
cuatro veces esta capacidad.
. Grabacin de audio. Alguna vez se fabricaron exclusivamente mediante la
impresin de formas de ondas analgica sobre cinta magntica o un acetato (LP), las
grabaciones de audio utilizan en la actualidad de manera ordinaria discos compactos
digitales (CD, Compact Disc). Un CD almacena la msica como una serie de nmeros de 16
bits que corresponde a muestra de las formas de la onda analgica original. Se realiza una
muestra por canal estereofnico cada 22.7 microsegundos. Una grabacin en CD a toda su
capacidad (73minutos) contiene hasta seis mil millones de bits de informacin.
. Carburadores de automviles. Algunas vez controlados estrictamente por
conexiones mecnicas (incluyendo dispositivos mecnicos analgicos inteligentes que
monitorean la temperatura, presin, etc.), en la actualidad los motores de los automviles
estn controlados por microprocesadores integrados. Diversos sensores elctricos y
electromecnicos convierten las condiciones de la maquina en numero que el
microprocesador pueden examinar para determinar como controlar el flujo de gasolina y
oxigeno hacia el motor. La salida de microprocesador es una serie de nmeros variantes en
el tiempo, que activa a traductores electromecnicos que, a su vez, controlan la maquina.
. El sistema telefnico. Comenz hace un siglo con micrfonos y receptores
analgicos que se conectaban en los extremos de un par de alambres de cobre (o, era una
cuerda?). Incluso en la actualidad en la mayor parte de los hogares todava se emplean
telfonos analgicos, los cuales transmiten seales analgicas hacia la oficina central (CO)
de la compaa telefnica. No obstante, en la mayora de las oficinas centrales, estas seales
analgicas se convierten a un formato digital antes que sean enviadas a sus destinos, ya sea
que se encuentre en la misma oficina central o en cualquier punto del planeta. Durante
muchos aos los sistemas telefnicos de conmutacin privados (PBX, private branch
exchanges) que se utilizan en los negocios han transportado el formato digital todo el camino
hacia los escritorios. En la actualidad, negocios, oficinas centrales y los proveedores
tradicionales de servicios telefnico, estn combinado a sistema integrados que combina la
voz digital con el trafico digital de datos sobre una sola red de Protocolo de Internet IP (por
la siglas en ingles de Protocolo de Internet).
. Semforos. Para controlar los semforos
se utilizan temporizadores
electromecnicos que habilitaban la luz verde para cada una de las direcciones de la
circulacin durante un intervalo predeterminado de tiempo. Posteriormente, se utilizaron
reveladores en modulo controladores que podan activar los semforos de acuerdo con el
patrn del trafico detectado mediante censores que se incrustan en el pavimento. Los
controladores de hoy en da hace uso de microprocesadores y pueden controlar los
semforos de modo que maximicen el flujo vehicular o como sucede en algunas ciudades de
10
VOLVER A NDICE
11
VOLVER A NDICE
12
VOLVER A NDICE
salida de una compuerta puede corromperse debido a este ruido excesivo, de cualquier forma
su valor ser interpretado correctamente en las entradas de otra compuerta. Este
comportamiento es similar para las salidas que corresponden al un lgico.
La labor de un diseador de circuitos electrnicos consiste en asegurarse que las
compuertas lgicas produzcan y reconozcan las seales lgicas que se encuentran dentro los
intervalos apropiados.
Supongamos que las seales elctricas con que trabaja un sistema digital son 0V y
5V. Es obvio que 5V ser el estado alto o uno lgico, pero bueno, habr que tener en cuenta
que existe la Lgica Positiva y la Lgica Negativa, veamos cada una de ellas.
5
4
V+
5
4
1 Logico (H)
3.5
2.5
1 0
0
V+
3.5
2.5
1
Logico (L)
O bien
13
VOLVER A NDICE
5
4
V+
5
4
0 Logico (L)
3.5
2.5
1 1
V+
2.5
1
Logico (H)
O bien
3.5
14
VOLVER A NDICE
a
0
1
b
1
0
Compuerta AND.
Una compuerta AND tiene dos entradas como mnimo y su operacin lgica es un
producto entre ambas, no es un producto aritmtico, aunque en este caso coincidan (Figura
1.3.5)
a
0
0
1
1
b
0
1
0
1
c
0
0
0
1
Compuerta OR.
Al igual que la anterior posee dos entradas como mnimo y la operacin lgica, ser
una suma entre ambas (Figura 1.3.6)
a
0
0
1
1
b
0
1
0
1
c
0
1
1
1
15
VOLVER A NDICE
Figura 1.4.1 Fotografa tomada a una tarjeta Electrnica con varios chips.
Sin tener en cuenta su tamao, un circuito integrado forma parte en un principio de
una oblea de silicio mucho mas grande, hasta de diez pulgadas de dimetro
aproximadamente, que contienen docenas de replicas del mismo CI. Todos los chips del
circuito integrado en la oblea se fabrican al mismo tiempo como si fueran pizzas que se
fueran a vender como rebanadas excepto que en este caso, cada pedazo se conoce como un
cuadro.
Despus de que se fabrica la oblea, los cuadros se prueban directamente sobre la
oblea y se marcan las que presentan defectos. Posteriormente la oblea se rebana para
producir cuadros individuales y se descartan los que estn marcados como defectuosos.
Cada cuadro sin marcar se monta en un encapsulado y sus circuitos de entrada salida se
conectan a las terminales del encapsulado, se somete a una prueba final y se enva al
cliente.
16
VOLVER A NDICE
CMOS
CMOS
Complementarios
Pseudo
NMOS
Bipolar
TTL
BiCMOS
GaAs
ECL
VOLVER A NDICE
18
VOLVER A NDICE
19
VOLVER A NDICE
VOLVER A NDICE
21
VOLVER A NDICE
no
si
idea
descripcion
del modelado
testeo y
simulacion
correcto?
sintesis
mapeado
tecnologico
no
extraccion
de
propiedades
no
si
simulacion
correcto?
si
fabricacion
testeo
depurado
funciona?
producto
acabado
22
VOLVER A NDICE
3
2
LF412A
SISTEMA
Figura 1.6.2 Metodologa del diseo Buttom-Up.
Esta metodologa de diseo no implica una estructuracin jerrquica de los
elementos del sistema, si no que esta estructuracin, al contrario de lo que ocurre en el
diseo top-down se realiza despus de la descripcin del circuito, y por tanto, no resulta
necesaria.
En un diseo Buttom Up, se empieza por crear una descripcin, con esquemas, por
ejemplo de los componentes que forman parte del circuito. Estos componentes
normalmente pertenecen a una librera que contiene chips, resistencias, condensadores, y
otros elementos que representan unidades funcionales con significado propio dentro del
diseo.
23
VOLVER A NDICE
nivel
alto
SISTEMA
LF412A
4
nivel
bajo
24
VOLVER A NDICE
Los aos 80 trajeron una revolucin en las herramientas para el diseo por
ordenador. Aunque esto no modifico la forma de disear si que mejoro la facilidad de
hacerlo. As mediante el software disponible por ordenador, se podan disear circuitos
mas complejos en, comparativamente, cortos periodos de tiempo (aunque siguiera
utilizando el diseo button-up).
Pero hoy en da, nos encontramos en un marco en que es necesario hacer diseos
ms y ms complicados en menos tiempo. As, se puede descubrir que el flujo de diseo
buttom-up es bastante eficiente. El problema bsico de diseo buttom-up es que no permite
acometer con xito diseos que contenga muchos elementos puesto que es fcil conectarlos
de forma errnea. No se puede esperar unir miles de componente de bajo nivel, o
primitivas, y confiar en que el disee funcione adecuadamente.
Para esto existe la metodologa top-down que sigue un poco el lema de divide y
vencers, de manera que un problema, en principio muy complejo es dividido en varios
subproblemas que a su vez pueden ser divididos en otros problemas mucho ms sencillos a
tratar. En el caso de un circuito esto se traducir en la divisin del sistema completo, en
mdulos, cada uno de los cuales con una funcionalidad determinada. A su vez estos
mdulos, dependiendo siempre de la complejidad del circuito inicial o de los mdulos se
pueden dividir en otros mdulos hasta llegar a los componentes bsicos del circuito o
primitivas
25
VOLVER A NDICE
SISTEMAS NUMRICOS.
Cada uno de estos dgitos tiene un valor fijo y diferente de los dems.
SISTEMA
Decimal
Binario
Octal
Hexadecimal
BASE
10
2
8
16
DIGITOS
0,1,2,3,4,5,6,7,8 y 9
0y1
0,1,2,3,4,5,6 y 7
0,1,2,3,4,5,6,78,9,A,B,C,D,E Y F
26
VOLVER A NDICE
y su valor es:
B =
p 1
i= n
2i
27
VOLVER A NDICE
En un nmero binario, el punto se llamar punto binario. Cuando se trate con punto
binario nmeros binarios u otros no decimales, se usar un subndice para indicar la base de
cada nmero, a menos que sta sea obvia por el contexto. Algunos ejemplos de nmeros
binarios y sus equivalentes decimales son:
100112 = 116 + 08 + 04 + 12 + 11 = 1910
1000102 = 132 + 016 + 08 + 04 + 12 + 01 = 3410
101.0012 = 14 + 02 + 11 + 00.5 + 00.25 + 10.125 = 5.12510
El bit ubicado ms a la izquierda de un nmero binario se llama bit de orden
superior o ms significativo (MSB, siglas en ingls de most significant bit); el
localizado MSB ms a la derecha es el bit de orden inferior o menos significativo (LSB, de
least significant bit).
28
VOLVER A NDICE
Binario
Decimal
O
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
O
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
29
VOLVER A NDICE
Binario
Decimal
Octal
Hexadecimal
O
1
10
11
100
101
110
111
1000
1001
1010
1011
O
1
2
3
4
5
6
7
8
9
10
11
O
1
2
3
4
5
6
7
10
11
12
13
O
1
2
3
4
5
6
7
8
9
A
B
1100
1101
1110
1111
12
13
14
15
14
15
16
17
C
D
E
F
30
VOLVER A NDICE
31
VOLVER A NDICE
SUMANDO
X
SUMANDO
Y
ACARREO
C0
SUMA
S
0
0
1
1
0
1
0
1
0
0
0
1
0
1
1
0
Sumas binarias
MINUENDO
x
0
0
1
1
SUBSTRAENDO
y
0
1
0
1
RESTA
d
0
1
1
0
PRSTAMO
P0
0
1
0
0
32
VOLVER A NDICE
33
VOLVER A NDICE
Ahora suponiendo que se quiere construir un circuito de lgica digital para que
sume nmeros en magnitud y signo. El circuito debe examinar los signos de los sumandos
para determinar qu hacer con las magnitudes. Si los signos son los mismos, ste debe
sumar las magnitudes y dar el mismo signo al resultado. Si los signos son diferentes, ste
debe comparar las magnitudes, restar la ms pequea a la ms grande y dar al resultado el
signo de la ms grande. Todos estos "si", "sumas", "restas" y "comparaciones" se traducen
en circuitos lgicos bastante complejos. Los sumadores para sistemas de nmeros
complementados son mucho ms simples.
D = dn-1dn-2d1d0
Si un nmero D se complementa dos veces, el resultado es D.
Complemento a 10
1849
2067
100
7
8151
0
8151
7933
9900
9993
1849
10000 (= 0)
34
VOLVER A NDICE
Complementos de dgitos
Dgito Binario Octal Decimal Hexadecimal
0
3
4
4
3
6
5
C
B
D
E
2
1
35
VOLVER A NDICE
Ejemplo a 8 bits:
36
VOLVER A NDICE
Numero
Complemento a 9
1849
2067
100
7
8151
0
8150
7932
9899
9992
1848
9999
==> 111011102
= -1710
37
VOLVER A NDICE
38
VOLVER A NDICE
2.3.9.2 Desborde.
Si una operacin de suma produce un resultado que excede el rango del sistema
numrico, se dice que ocurre un desborde. En la representacin de conteo modular de
desborde la figura 1-3, el desborde ocurre durante la suma de nmeros positivos cuando
contamos ms all de + 7. La suma de dos nmeros con signo diferente nunca produce un
desborde, pero la suma de dos nmeros de igual signo puede provocarlo.
Afortunadamente, existe una regla simple para detectar el desborde en la suma: una
suma se desborda si los signos de los sumandos son iguales y el signo de la suma es
diferente al signo de los sumandos. Algunas veces la regla de desborde se establece en
trminos de acarreos generados durante la operacin de suma: una suma se desborda si los
bits de acarreo Cin y Cout en la posicin del signo son diferentes.
2.4 CONVERSIN.
2.4.1 Conversiones entre sistemas numricos posicinales.
De manera genrica, la conversin entre dos bases no puede hacerse por simple
sustitucin; se requiere hacer operaciones aritmticas. Se mostrar cmo convertir un
nmero en cualquier base a base 10 y viceversa, usando aritmtica de base 10.
39
VOLVER A NDICE
Conversin de nmeros:
Una forma corta para convertir nmeros enteros a base 10 se obtiene al rescribir la
expansin de la frmula como sigue:
D = (( ((dp-1) r + dp-2) r + ...) r + d1) r + d0
40
VOLVER A NDICE
Y el residuo ser d0. Por lo que d0 puede calcularse como el residuo de la divisin
larga de D entre r. Adems, el cociente Q tiene la misma estructura que la frmula original.
Por consiguiente, las divisiones sucesivas por r darn dgitos sucesivos de D de derecha a
izquierda, hasta que se hayan obtenido todos los dgitos de D. A continuacin se dan
algunos ejemplos.
Conversin
Mtodo
Ejemplo
Binario a:
Octal
Suma
101110110012 = 11024+0512+1256+1128+1-64 +
032+116+18+04+11 = 149710
Octal a:
Binario
Suma
Hexadecimal
a
Binario
Octal
Decimal
Suma
Divisin
10810= 11011002
Decimal a
Binario
41
VOLVER A NDICE
Octal
Divisin
10810 = 1548
108 / 8 = 13 residuo 4 (LSB)
13 / 8=1 residuo 5
1 /8=0 residuo 1 (el dgito ms significativo)
Hexadecimal Divisin
10810 = 6C16
108 / 16 = 6 residuo 12 (LSB)
6 / 16 = 0 residuo 6 (el dgito ms significativo)
42
VOLVER A NDICE
FAMILIAS LGICAS.
Y2
ENTRADAS
X2
Y1
X1
SALIDAS
X1
X2
Y1
Y2
CIRCUITO
LOGICO
SUMADOR
S1
SUMADOR
COMPLETO
MEDIO
SUMADOR
S2
CARRY
CARRY
S2
C1 S1
Figura 3.1.1 Bloques de un circuito lgico sumador de dos bits con acarreo.
VOLVER A NDICE
X1
0
0
1
1
Y1
0
1
0
1
C1
0
0
0
1
X2
0
0
0
0
1
1
1
1
S1
0
1
1
0
Medio sumador
Y2
0
0
1
1
0
0
1
1
C1
0
1
0
1
0
1
0
1
Carry S1
0
0
0
1
0
1
1
0
0
1
1
0
1
0
1
1
Sumador completo
Figura 3.1.2 Tablas de verdad de un circuito lgico sumador de dos bits con acarreo.
Cuando se trabaja con circuitos digitales es muy comn que los diseadores utilicen
trminos como Low (Bajo) y High (Alto), quiere decir que se estn refiriendo al termino 0
y 1 respectivamente. Esta forma de designar dichos trminos se le conoce como lgica
positiva, suele ser la ms correcta sin embargo la forma de asignacin puede ser arbitraria
segn se le facilite al diseador, ya que tambin se puede designar 1- Bajo y 0 - Alto,
conocido como lgica negativa.
ENTRADA
A
ENTRADA
B
SALIDA
Y
1
3
2
0
0
1
1
0
1
0
1
0
1
1
1
ENTRAD
A
ENTRADA
B
SALIDA
Y
0
0
1
1
0
1
0
1
0
0
0
1
44
VOLVER A NDICE
ENTRADA
A
ENTRADA
B
SALIDA
Y
0
0
1
1
0
1
0
1
1
0
0
0
1
3
2
ENTRADA
A
ENTRADA
B
SALIDA
Y
0
0
1
1
0
1
0
1
0
1
1
1
2
1
3
ENTRADA
A
SALIDA
Y
1
1
3.1.2 Encapsulados.
Generalmente los circuitos integrados vienen en una presentacin de encapsulados,
existen diferentes formas de encapsulados que difieren en su tamao fsico, l numero de
terminales y el circuito que contiene en el interior.
45
VOLVER A NDICE
Figura 3.1.2.1 Forma del encapsulado DIP de 14 terminales con puertas nand.
Se puede notar que la mayora de los integrados presentan una muesca la cual nos
representa que la numeracin de pines inicia comenzando con 1.
En muchas ocasiones los fabricantes ponen a disposicin al usuario las hojas de
especificaciones del circuito integrado, donde se presenta informacin tcnica del
integrado como son: pines de entrada, salida, voltajes mximos - mnimos, pines de
alimentacin, dimensiones del encapsulado y algunas veces incorpora posibles
aplicaciones. De dichos trminos hablaremos mas adelante.
Los encapsulados DIP en la actualidad son los ms populares para los prototipos y
experimentacin educacional ya que su tamao se presta para su fcil manipulacin. Los
nuevos mtodos de manufactura que se utilizan recientemente han dejado un poco olvidado
el encapsulado tipo DIP, estamos hablando de la tecnologa de montado de superficie en la
cual se coloca un circuito integrado en cojinetes conductores en la superficie de la tarjeta,
mantenindose fijas en una pasta de soldadura en donde toda la tarjeta se calienta para crear
una conexin slida.
De esta tecnologa se desprende el encapsulado tipo SOIC (Circuito integrado de
Perfil) conocido tambin como alas de gaviota que es un encapsulado de dimensiones
pequeas y alcanza a medir 1.27cm de largo, en la Figura 3.1.2.2 se muestra el diagrama de
este tipo de encapsulado
46
VOLVER A NDICE
Otro tipo de encapsulados son los QFP (Encapsulado plano cudruple y TQFP
(Encapsulado plano cudruple delgado) los cuales tienen pines en los cuatro lados, son de
superficie y la diferencia con los PLCC es que tiene terminales en forma alas de gaviota.
Existe un encapsulado el cual es presentado en un arreglo de rejillas de bolas BGA (Matriz
47
VOLVER A NDICE
Figura 3.1.2.4. Forma del encapsulado PGA (matriz de red de bolas de paso fino y
perfil bajo).
Existen otros tipos de encapsulados de manera que los mencionados aqu, son los
ms comunes encontrar en tarjetas electrnicas como microcontroladores, memorias,
FPGAs, PALs, GALs etc.
48
VOLVER A NDICE
3.2.1 Diodos.
Es un dispositivo semiconductor el cual esta compuesto por dos tipos de materiales
semiconductores llamados tipo p y tipo n el cual es fabricado a partir de un cristal
monoltico en la cual las dos mitades son dopadas o se les asigna diferentes impurezas para
darles propiedades tipo p y tipo n. El diodo es un dispositivo de dos terminales y cuyo
smbolo se muestra en la figura 3.2.1.1
49
VOLVER A NDICE
v<0=>i=0
i>0=>v=0
50
VOLVER A NDICE
Nivel de seal
0-2 volts
2-3 volts
3-5 volts
Denominacin
BAJO
margen de ruido
ALTO
Con estas definiciones una compuerta AND se puede construir como se muestra en
el diagrama de la figura 3.2.1.4.
5v
D1
Z
D2
Como podemos ver el anlisis del circuito es sencillo ya que cualquier valor bajo en
la entrada X, Y hace que la salida se aterrice a tierra teniendo como salida un valor de
voltaje bajo de 0 volts. De esta manera la nica forma en que Z cambie el valor de 1 es que
las entradas tengan una entrada en alto.
51
VOLVER A NDICE
B
E
E
C
B
E
E
Figura 3.2.2.1. Uniones, smbolos y representacin con diodos de transistores bipolares.
Zona activa inversa. Es una zona parecida a la anterior, pero cambiando los terminales de
emisor y colector. La principal diferencia (aparte de la anterior) es que la amplificacin es
sustancialmente menor.
52
VOLVER A NDICE
53
VOLVER A NDICE
TTL estndar
Schottky de bajo consumo de potencia
Schottky
Bajo consumo de potencia
Schottky avanzada de bajo consumo de potencia
Schottky avanzada
TTL Schottky avanzada de Fairchild (FAST)
La numeracin que sigue despus de la subfamilia seala la funcin del CI. Por
ejemplo; el 54L10 es una compuerta NAND (tres compuertas en un CI) triple de tres
entradas de bajo consumo de potencia que satisface especificaciones militares, la 74LS32
es una compuerta OR cudruple (cuatro compuertas en un CI) de dos entradas schottky de
bajo consumo de potencia.
La serie TTL estndar tiene retardos de propagacin mximos de 2 ns y disipaciones
de potencia mxima de 20mW por cada compuerta lgica. La serie TTL de bajo consumo
de potencia tiene retardos de propagacin de 60 ns y disipaciones de potencia mximas de
2mW por cada compuerta lgica.
La serie TTL de alta velocidad tiene retardos de propagacin mximos de 10 ns y
disipaciones de potencias mximas mxima de 40 mW por compuerta. Los retardos de
propagacin se reducen aun ms con en las compuertas TTL sujetas al diodo schottky con 5
ns y disipaciones de potencia mximas de 36 mW.
54
VOLVER A NDICE
VIH
VOH
Voltaje de entrada en el nivel bajo, con un valor mximo de 0.8V, en otras palabras
el voltaje mas alto que un CI aceptara como 0 es 0.8 V. Una entrada de nivel cero
puede variar desde 0 a 0.8V.
VOL Voltaje de salida en el nivel bajo, aparece con un valor mximo de 0.4V, por lo
tanto, la salida en nivel cero puede variar entre 0 y 0.4V. Si el nivel 0 ms grande
que puede proporcionar un CI es 0.4V y la compuerta que sigue puede reconocer
55
VOLVER A NDICE
hasta 0.8 como un cero, entonces nuevamente existe un nuevo margen de ruido de
0.4. En la Figura 3.3.1.2 se muestran los niveles de voltaje para la lgica TTL.
Voh
3.5
Margen de ruido de 1.5
Vih
2.0
0.8
Vol
Margen de ruido de 0.4
0.4
Vol
IOL
IIL
Todas las compuertas lgicas cuando son usadas en la practica, presentan un retardo
de propagacin debido a los circuitos de conmutacin internos, de esta manera una seal a
la entrada de una compuerta no responde inmediatamente a la salida, prcticamente este
retardo puede ser observado en un osciloscopio. Este retardo pude ser probado mediante un
pulso a la entrada de la compuerta (por ejemplo un inversor), se observara un retardo
cuando el nivel de voltaje cambie de 0 a 1 y posteriormente se observara otro retardo
cuando el nivel de voltaje a la entrada cambie sea de 1 a 0. Estos retardos de propagacin
son definidos a continuacin.
56
VOLVER A NDICE
TPLH. Tiempo de propagacin de BAJO a ALTO; es una medida del tiempo necesario para
que un cambio en la entrada provoque un cambio de BAJO a ALTO, este tiempo de
propagacin se mide en el momento en que la entrada alcanza 1.5 V hasta el
instante en que la salida llegue a 1.5 V en una transicin de bajo a alto.
Estos parmetros se miden con las compuertas conectadas a una carga equivalente a
10 compuertas de la misma subfamilia. El retardo de propagacin es mostrado en la figura
3.3.1.3.
3.0 V
1.5 V
1.5 V
Entrada
Voh
tPLH
1.5 V
Salida
en fase
Vol
Voh
Salida
fuera
de fase
tPLH
1.5 V
Vol
57
VOLVER A NDICE
3.0 V
1.5 V
1.5 V
Entrada
0 V
Salida
en fase
tPLH
Salida
fuera
de fase
tPLH
1
1
T 2tPLH (max)
f =
1
1
T 2tPHL (max)
Cuando se escoge una familia lgica para una aplicacin practica debe considerarse
tanto la velocidad como el consumo de potencia, la subfamilia TTL schottky es una de las
ms rpida pero es la disipa mayor cantidad de potencia. La ALS se encuentra entre las ms
rpidas con una disipacin mayor que la de las dems subfamilias, con excepcin de la L.
A continuacin se llevara acabo una breve descripcin de las subfamilias TTL que
surgieron, debido a la demanda de dispositivos electrnicos que tuvieran una respuesta ms
rpida y un consumo de potencia mnimo. Esto se describe a continuacin:
58
VOLVER A NDICE
59
VOLVER A NDICE
T4
A
B
T1
T2
D
F
T3
R4, T3, D3, y T4 construyen el circuito de salida como se muestra en la figura 616. Esta configuracin recibe el nombre de salida en ttem. Lo normal es que T3 o T4
estn encendido, pero ambo. Con T3 encendido y van al nivel uno, mientras que con Q4
encendido, Y va al nivel cero. Los circuitos TTL esta diseado de modo que T3 y T4
conmuten rpidamente para minimizar los efectos en la fuente de alimentacin.
En la figura anterior, la zona punteada corresponde a la etapa de salida de la puerta.
Esta etapa no es nica, sino que existen varios tipos de etapas de salida. Entre estos tipos,
podemos encontrar:
la salida totem-pole,
la salida con carga resistiva
y la salida en colector abierto (siempre hay que conectarle una carga a la salida)
Nunca deben conectarse directamente dos salidas en ttem. Si el transistor superior
de una salida en ttem se enciende, y el inferior de la otra se enciende entonces la fuente de
alimentacin queda en cortocircuito y circulan corrientes muy grandes. Las salidas en
ttem deben conectarse entre s a travs de otra compuerta.
60
VOLVER A NDICE
DRENADOR
COMPUERTA
MOSFET N
DRENADOR
MOSFET P
COMPUERTA
FUENTE
FUENTE
61
VOLVER A NDICE
La conexin en paralelo de dos transistores (o grupo de ellos) acta como una puerta OR.
La conexin en serie de dos transistores (o grupo de ellos) acta como una puerta AND.
No obstante, hay que tener en cuenta que esta familia (al igual que la TTL) siempre
devuelve el complemento de la funcin. Algunos ejemplos de puertas complejas se
muestran en la figura 3.4.1.1
F=(A+B).C
F=A.B
C
F=A+B
A
Operacin OR
Operacin AND
Operacin OR.AND
62
VOLVER A NDICE
MOSFET P
+
Vent
MOSFET N
GND
U?
Serie 4000/14000
La serie CMOS con mas antigedad son las series 400 de la compaa RCA y 1400
de motorola, estos dispositivos 4000/14000 tiene una disipacin de potencia muy baja y
pude operar sobre un amplio rango de voltaje de fuente de alimentacin (de 3 a 15 V) Son
muy lentos en comparacin con las series TTL y otras series CMOS y tiene capacidades
de corriente de salida muy bajas. No tienen compatibilidad de pines o elctricas con alguna
serie TTL.
Serie 74C
Esta serie CMOS tiene compatibilidad con la TTL tanto en pines como en
caractersticas elctricas, adems de coincidir en el numero de integrado, por ejemplo la
compuerta 74LS74 de TTL tiene compatibilidad de pines con la 74C74. Otra ventaja que se
tiene de esta serie es que son funcionalmente compatibles.
63
VOLVER A NDICE
64
VOLVER A NDICE
TTL
CMOS
Parametero
4000B
74HC
74HCT
74AC
74ACT 74AHC
74AHCT 74
74LS
74AS
Vih(min)
3.5
3.5
2.0
3.5
2.0
3.85
2.0
Vil(max
1.5
1.0
0.8
1.5
0.8
1.65
Voh(min)
4.95
4.9
4.9
4.9
4.9
Vol(max)
0.05
0.1
0.1
0.1
Vnh
1.45
1.4
2.9
Vnl
1.45
0.9
0.7
74ALS
2.0
20.
2.0
2.0
0.8
0.8
0.8
0.8
0.8
4.4
3.15
2.4
2.7
2.7
2.5
0.1
0.44
0.1
0.4
0.5
0.5
0.5
1.4
2.9
0.55
1.15
0.4
0.7
0.7
0.7
1.4
0.7
1.21
0.7
0.4
0.3
0.3
0.4
65
VOLVER A NDICE
Las lgebras booleanas, estudiadas por primera vez en detalle por George Boole,
constituyen un rea de las matemticas que ha pasado a ocupar un lugar importante con el
advenimiento de la computadora digital. Son usadas ampliamente en el diseo de circuitos
de distribucin y computadoras, y sus aplicaciones van en aumento en muchas otras reas.
En el nivel de lgica digital de una computadora, lo que comnmente se llama hardware, y
que est formado por los componentes electrnicos de la mquina, se trabaja con niveles de
voltaje, los cuales generan funciones que son calculadas por los circuitos que forman el
nivel. Estas funciones, en la etapa de diseo del hardware, son interpretadas como
funciones de boole.
Como solucin a este problema, se plantea un mtodo de simplificacin, que hace
uso de unos diagramas especiales llamados mapas o diagramas de Karnaugh, y el cual tiene
la limitacin de poder trabajar adecuadamente slo con pocas variables.
A mediados del siglo XIX, George Boole (1815-1864), en sus libros: "The
Mathematical Analysis of Logic" (1847) y "An Investigation of te Laws of Thought"
(1854), desarroll la idea de que las proposiciones lgicas podan ser tratadas mediante
herramientas matemticas. Las proposiciones lgicas son aquellas que nicamente pueden
tomar valores Verdadero/Falso, o preguntas cuyas nicas respuestas posibles sean S/No.
Segn Boole, estas proposiciones pueden ser representadas mediante smbolos y la teora
que permite trabajar con estos smbolos, sus entradas (variables) y sus salidas (respuestas)
es la Lgica Simblica desarrollada por l. Dicha lgica simblica cuenta con operaciones
lgicas que siguen el comportamiento de reglas algebraicas. Por ello, al conjunto de reglas
de la Lgica Simblica se le denomina LGEBRA DE BOOLE.
Todas las variables y constantes del lgebra booleana, admiten slo uno de dos
valores en sus entradas y salidas: S/No, 0/1 o Verdadero/Falso. Estos valores bivalentes y
opuestos pueden ser representados por nmeros binarios de un dgito (bits), por lo cual el
lgebra booleana se puede entender cmo el lgebra del Sistema Binario. Al igual que en
lgebra tradicional, tambin se trabaja con letras del alfabeto para denominar variables y
formar ecuaciones para obtener el resultado de ciertas operaciones mediante una ecuacin o
expresin booleana. Evidentemente los resultados de las correspondientes operaciones
tambin sern binarios.
66
VOLVER A NDICE
67
VOLVER A NDICE
(a*b)'
1
1
1
0
b
0
1
0
1
(a+b)'
1
0
0
0
0
1
0
1
b
0
1
0
1
a(+)b
0
1
1
0
68
VOLVER A NDICE
69
VOLVER A NDICE
70
VOLVER A NDICE
Ejemplo:
F(A,B,C) = SUM(1,4,5,6,7)
F(A,B,C) = SUM(0,2,3) = m0+m2+m3
Si obtenemos el complemento de F porque el teorema de DMorgan se obtiene F en
una forma diferente.
(F) = (m0+m2+m3) = m0.m2.m3 = M0 . M2 . M3 = PI(0,2,3)
= (x+y+z) . (x+y+z) . (x+y+z)
F = AD+BD+BD
AD = AD(B+B)
= ABD+ABD
= ABD(C+C) = ABCD+ABCD
= ABD(C+C) = ABCD+ABCD
BD = BD(A+A)
= ABD+ABD
= ABD(C+C) = ABCD+ABCD
= ABD(C+C) = ABCD+ABCD
BD = BD(A+A)
= ABD+ABD
= ABD(C+C) = ABCD+ABCD
= ABD(C+C) = ABCD+ABCD
F=ABCD+ABCD+ABCD+ABCD+ABCD+ABCD+ABCD+ABCD
La forma cannica de las funciones se relaciona con la ubicacin de variables en
los mapas de Karnaugh en la figura 4.2.1.
71
VOLVER A NDICE
00
01
11
10
B
0
m0 m2 m6 m4
m1 m3 m7 m5
AND
OR
1
3
2
NAND
NOR
XOR
2
3
NOT
1
1
3
2
72
VOLVER A NDICE
73
VOLVER A NDICE
de operacin. Por ejemplo los smbolos de la figura 4.3.1 representan los diferentes tipos de
configuraciones usando lgica de una compuerta AND de 2 variables de entrada.
1
2
A
Y
3
2
B1
F
V
F
V
C
F
F
F
V
A
Y
3
2
A
Y
1
2
A
Y
B
A1
F
F
V
V
B1
F
V
F
V
Y
F
F
F
V
T. Voltaje
A1
B
B
A
A
B1
B
A
B
A
Y
A
A
A
B
Como podemos ver en las tablas de verdad anteriores, podemos observar que la
salida de nuestra AND es con un circulo pequeo as que estamos indicando que se trata de
lgica V = B y entonces nuestra salida en la tabla de voltajes debe de ser alto.
74
VOLVER A NDICE
1
2
A
B
NOR
A1
F
F
V
V
B1
F
V
F
V
T. Voltaje
Y
F
V
V
V
A1
B
B
A
A
B1
B
A
B
A
Y
A
B
B
B
INX.L
INX.H
75
VOLVER A NDICE
1
compuerta NOR
1
compuerta
NAND
1
compuerta AND
2
A
Y
3
2
A
Y
3
2
A
Y
A
Y
A
Y
A
Y
76
VOLVER A NDICE
00
11
10
m0 m2 m6 m4
m1 m3 m7 m5
Figura 4.4.1.1.
00
01
11
10eje
central
eje s ecundario
eje s ecundario
eje central
Figura 4.4.2.1.
77
VOLVER A NDICE
A A' = 0
.
A A=A
EJEMPLO:
b) Tabla funcional:
DEC
0
1
2
3
4
5
6
7
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
1
0
1
0
1
0
c) Funcin cannica.
Z = 3m (2,4,6)
78
VOLVER A NDICE
00
01
11
10
C
0
Figura 4.4.2.2.
AB
00
01
11
10
C
0
Figura 4.4.2.3.
Como se muestra en la figura 4.4.2.3, una parte del enlace (1), el elemento 6, se
encuentra dentro del barrido y otra, el elemento 2, fuera de l. Esto indica que se tiene A.A',
que es igual a 0, por lo que esa variable no participa, se elimina, del trmino reducido.
Para mayor claridad, tomemos la suma de los minitrminos 2 y 6:
A'BC' + ABC' = (A' + A)BC' = BC'
79
VOLVER A NDICE
00
11
01
10
C
0
Figura 4.4.2.4.
La figura 4.4.2.4 presenta el barrido de B. En este caso, el enlace (1) est contenido
dentro del barrido, lo cual corresponde a B.B = B, lo que significa que esta variable forma
parte del trmino reducido.
Finalmente, el barrido de la variable C, de menor peso binario, es horizontal y se
muestra en la figura 4.4.2.5. Claramente se observa que el enlace (1) est fuera del barrido,
es decir se encuentra en C', indicando que dicha variable forma parte del trmino reducido.
AB
00
01
11
10
C
0
Figura 4.4.2.5.
80
VOLVER A NDICE
ABC
000
001
011
010
110
111
101
100
12
24
28
20
16
13
25
29
21
17
15
11
27
31
23
19
14
10
26
30
22
18
DE
00
01
11
10
Figura 4.4.2.1.1.
BC
00
DE
01
4
11
12
10
8
DE
00
01
11
10
16
20
28
24
17
21
29
25
19
23
31
27
18
22
30
26
00
00
13
01
01
15
11
11
11
14
10
10
10
A = 0
A = 1
Figura 4.4.2.1.2.
81
VOLVER A NDICE
BC
00
01
11
10
12
DE
00
16
20
28
24
9
13
01
17
21
29
25
15
11
11
19
23
31
27
14
A
0
10
10
18
22
30
26
Figura 4.4.2.1.3.
El mapa de una funcin de seis variables puede formarse al combinar cuatro mapas
de cuatro variables, o de dos de cinco variables. Al igual que con los mapas de cinco
variables, los de seis pueden representarse en tres formas diferentes. La primera de ellas
requiere doblar el mapa a lo largo de los ejes de simetra horizontal y vertical; esta forma
casi nunca se utiliza.
Las figuras 4.4.2.1.4. y 4.4.2.1.5 muestran los dos mtodos estndares para
visualizar una funcin de seis variables.
CD
CD
00
01
11
10
00
01
11
10
16
20
28
24
17
21
29
25
19
23
31
27
18
22
30
26
00
01
11
10
48
52
60
56
49
53
61
57
51
55
63
59
50
54
62
58
EF
EF
0
12
8
00
00
13
01
01
15
11
11
11
14
10
10
10
AB = 00
AB = 01
CD
CD
00
01
11
10
EF
EF
32
36
44
40
00
00
33
37
45
41
01
01
35
39
47
43
11
11
34
10
38
46
42
10
AB = 10
AB = 11
Figura 4.4.2.1.4.
82
VOLVER A NDICE
CD
00
01
11
10
EF
00
01
11
AB
10
10
00
01
11
Figura 4.4.2.1.5.
83
VOLVER A NDICE
3.- se escoge de manera sistemtica un conjunto mnimo de cubos primos que representen a
la funcin dada con un nmero de compuertas y literales.
Al comenzar con el desarrollo cannico de la funcin, se aplica el teorema de
reduccin a todos los pares posibles de minitrminos, para obtener todos los trminos que
corresponden a los 1- cubos de la funcin. A continuacin se aplica el teorema de reduccin
a todos los pares de minitrminos (1 cubos) para obtener todos los 2 cubos de la
funcin, y as sucesivamente. El proceso contina hasta que se obtienen los cubos mas
grandes posibles. En cada paso, se eliminan los trminos que se combinan para generar
cubos ms grandes. El resultado es el conjunto de todos los cubos primos posibles de la
funcin.
Los minitrminos devn acomodarse de unos y ceros, de modo tal que cada variable
pueda asociarse con una columna de la tabla. Para asegurar la generacin de todos los
cubos posibles, los minitrminos se acomodan por el nmero de unos que hay en ellos,
comenzando con en minitrmino 0, si este se encuentra present, y terminando con el
minitrmino que contenga el mayor numero de unos en l. l nmero de unos en un vector
binario que se conoce como magnitud del vector o magnitud. Para cambiar dos renglones,
es necesario que ellos solo difieran en una columna. No es posible cambiar los trminos que
tienen el mismo numero de unos, al igual que los que difieren en dos o ms columnas, de
modo que cada cubo debe compararse con los que tienen la una magnitud mayor o menor
en uno que l.
Si se comienza en la parte superior de la tabla, el minitrmino 0 se combina con
cualquier minitrmino que tenga solo un uno en ellos, los minitrminos 1,2,4,8,16, etc.
Puesto que ya se han comparado los minitrminos que tienen una magnitud dada con los
que estn por encima de ellos y que tiene una magnitud menor, entonces solo es necesario
compararlos con los que estn debajo de ellos, cuya magnitud es mayor en uno. Cuando se
hayan comparado todos los minitrminos, los que no se combinan son los 0- cubos
primos, y se anotan como tales. A continuacin se comparan los que se combinan en los 1cubos, despus los que se combinan para formar los 2- cubos, y as sucesivamente. El
proceso continua hasta que ya no es posible aplicar el teorema de reduccin.
Una vez determinado los cubos primos, el paso siguiente es obtener la cobertura
mnima de la funcin. Los cubos primos se acomodan en los renglones de una tabla, y la
lista de los minitrminos de la funcin a minimizar se coloca en las columnas de la tabla. Si
un cubo abarca un minitrmino, se coloca una marca en la columna y en el rengln que
corresponde al minitrmino y al cubo respectivamente. Los renglones de marcas indican
los minitrminos cubiertos por un cubo primo, mientras que las columnas de marcas
indican los cubos que abarcan un minitrmino dado.
El nmero mnimo de renglones necesarios para cubrir todos los minitrminos, es el
nmero mnimo de cubos primos requerido para especificar la funcin. Un minitrmino que
tiene una marca en su columna, esta cubierto solo por un cubo primo, y dicho cubo es
esencial para la respuesta. Si la cobertura de un minitrmino la hacen muchos cubos,
84
VOLVER A NDICE
entonces estos son cubos primos opcionales, y el problema se reduce determinar el nmero
mnimo de cubos opcionales necesarios para especificar la funcin.
F(A,B,C,D)=AB+ABCD+ABCD+ABCD+ABCD
AB no es un minitrmino, as que primero es necesario desarrollarlo como tal.
AB=AB(C+C)(D+D)=ABC D+ABCD+ABCD+ABCD
Con esto, la funcin puede describirse como un desarrollo de minitrminos.
F(A,B,C,D)=
m (4,7,9,10,12,13,14,15)
D 0-cubos
m4
m9
m 10
m 12
m7
m 13
m 14
m 15
*
*
*
*
*
*
*
*
Tabla 4.4.3.1.
85
VOLVER A NDICE
Se marca con un asterisco cada minitrmino que se combina con otro. Todo
minitrmino que no este marcado en la tabla 4.4.1. No se combina con otro minitrmino y
por tanto es un cubo primo. Los minitrminos apropiados se combinan en 1-cubos, al
mismo tiempo que se eliminan de la tabla. 4.4.1, las marcas de los 0- cubos, los cuales no
son cubos primos. La tabla 4.4.3.2, se obtienen de esta manera, utilizando una X para
representar la variable faltante, esto es, la variable eliminada cuando se combinan los dos
cubos.
D 0-cubos
m 4 + m 12
m 4 + m 13
m 10+ m 14
m 12+ m 13
m 12+ m 14
m 7 + m 15
m 13+ m 15
m 14+ m 15
V
W
X
*
*
Y
*
*
Tabla 4.4.3.2.
Este procedimiento se repite hasta que no haya ms cubos que combinar, con lo que
se obtienen los cubos primos de la funcin. El examen de la tabla 4.4.3.2, revela que los
minitrminos 12,13, 14 y 15 pueden combinarse para dar el cubo primo 11XX. Los dems
1-cubos no pueden combinarse y son primos. Esta condicin se indica con la ausencia del
asterisco. Es as como se obtienen cinco cubos primos:
F(A,B,C,D)= x100+1x01+1x10+x111+11xx
=BC D+ACD+ACD+BCD+AB
La tarea siguiente es determinar los cubos primos necesarios y esenciales de la
funcin. Para seleccionar de una manera ptima los cubos primos que se toman en cuanta
todos los minitrminos originales, se forma una tabla nueva, con una columna para cada
uno de los minitrminos y un rengln por cada cubo primo. Un cubo primo al que no le
faltan variables, toma en cuenta solo un minitrmino, uno al que le faltan dos variables,
abarca dos minitrminos, y as sucesivamente.
86
VOLVER A NDICE
Los cubos primos esenciales pueden obtenerse de la tabla por inspeccin. Cualquier
columna que tiene una sola marca en ella representa un minitrmino que puede cubrirse
nicamente de una manera. De la tabla 4.4.3.3 X100 es esencial con respecto a m4, X111
lo es con respecto a m7, 1X01 es esencial con respecto a m9, y 1X10 con respecto a m10.
Estos cubos primos tambin cubren los minitrminos restantes, y adems puede verse que
11XX es un cubo primo redundante. Con esto, la funcin se reduce a:
F(A,B,C,D)=BC D+ACD+ACD+BCD
m 4 m 7 m 9 m 10 m 12 m 13 m 14 m 15 CP
x100
1x01
1x10
x111
11xx
Tabla 4.4.3.3.
Minitrmino
m4
m7
m9
m 10
m 12
m 13
m 14
m 15
V =
x100
Y =
x111
W =
1x01
X =
1x10
V+z
(Z= 11xx)
W+Z
X+Z
Y+Z
Tabla 4.4.3.4.
87
VOLVER A NDICE
Para tomar en cuenta todos los minitrminos al mismo tiempo, se forma la funcin
auxiliar H y se simplifica sta, recordando que V( V + Z ) = V. H expresa el lgebra
booleana los cubos primos necesarios para cubrir todos los minitrminos de la funcin F, y
cuando se le simplifica, proporciona la solucin mnima para la fusin F.
H=VYWX(V+Z)(W+Z)(X+Z)(Y+Z)=VYWX
Y la solucin mnima de sumas de productos debe incluir los cubos primos V,Y,W
y X. En consecuencia
F(A,B,C,D)=BC D+ACD+ACD+BCD
Antes de calcular la funcin H, es necesario reducir la tabla de cubos primos
mediante la eliminacin de todos los cubos primos esenciales, as como de los
minitrminos que estos cubren.
X1
F(t)=(x1(t), x2(t), ...)
X2
Figura 4.5.1.
88
VOLVER A NDICE
Por otro lado, si el circuito combinacional tiene varias entradas (n), tambin puede
tener varias salidas (m) figura 4.5.2. Para "n" variables de entrada tenemos 2n
combinaciones binarias posibles. Por tanto, podemos expresar un circuito combinacional
mediante una tabla de verdad que lista los valores de todas las salidas para cada una de las
combinaciones de entrada. Un circuito combinacional tambin puede describirse mediante
"m" funciones lgicas, una para cada variable de salida; cada una de las cuales se presenta
como funcin de las "n" variables de entrada.
E0
E1
En
Sistema
S0
S1
Combinacional S m
Figura 4.5.2.
89
VOLVER A NDICE
2. Determinar entradas y salidas: De las variables que intervienen en el problema hay que
identificar cuales y cuantas son de salida y de entrada.
E0
E1
S0
S1
Sistema
Combinacional S n
En
3. Tabla de Verdad: Trasladar el Comportamiento del sistema a una tabla indicando para
cada combinacin de entrada la salida o salidas ms convenientes.
mi
ABC
000
001
010
011
100
101
110
111
F0
F1
4. Minimizar: Para obtener las ecuaciones mnimas se puede utilizar algn mtodo de
simplificacin como manipulacin algebraica, mapas de Karnaugh, etc.
AB
00
01
11
10
C
0
90
VOLVER A NDICE
NOR
2
1
3
A
AND
1
3
NAND
F(A,B)
1
3
2
6. Implementar: Se tienen varias opciones para la implementacin por ejemplo con circuitos
integrados de funcin fija (TTL o Cmos) o con los Dispositivos Lgicos Programables
(PLDs) ya sea a travs de captura esquemtica o por medio de un Lenguaje de
Descripcin de Hardware (HDL).
Ejemplo:
4.5.1.1 Sumador binario.
El sumador binario es el elemento bsico de la unidad aritmtica de cualquier
ordenador, pues cualquier operacin aritmtica bsica puede realizarse a partir de sumas y
restas repetidas.
Para sumar dos nmeros de n bits, hay que sumar dos a dos los bits del mismo peso
y el acarreo de la suma de los bits de peso inmediato inferior.
91
VOLVER A NDICE
SUMA(S)
1/2
ACARREO(C)
3. Tabla de Verdad:
a
0
0
1
1
b
0
1
0
1
S
0
1
1
0
C
0
0
0
1
1
3
2
S=A XOR B
B
1
3
2
C=A.B
92
VOLVER A NDICE
93
VOLVER A NDICE
A mediados de los aos setenta se produjo una fuerte evolucin en los procesos de
fabricacin de los circuitos integrados, y junto a las tecnologas bipolares como
mencionamos en el capitulo 1, surge la MOS (Metal oxide semiconductor), principalmente
la NMOS, promoviendo el desarrollo de circuitos digitales hasta la primera mitad de los
aos ochenta.
En aquellas pocas, el esfuerzo de diseo se concentraba en los niveles elctricos
para establecer caractersticas e interconexiones entre los componentes bsicos a nivel de
transistor. El proceso de diseo era altamente manual y tan solo se empleaban
herramientas como el PSPICE para simular esquemas elctricos con modelos previamente
personalizados a las distintas tecnologas.
A medida que pasaban los aos, los procesos tecnolgicos se hacan ms y ms
complejos. Los problemas de integracin iban en aumento y los diseos eran cada vez ms
difciles de depurar y de dar mantenimiento. Inicialmente los circuitos MSI (Medium Scale
Integration) y LSI (Low Scale Integration ) se disearon mediante la realizacin de
prototipos basados en mdulos ms sencillos. Cada uno de estos mdulos estaba formado
por puertas ya probadas, este mtodo poco a poco, iba quedando obsoleto. En ese momento
(finales de los aos setenta) se constata el enorme desfase que existe entre
tecnologa y diseo.
La considerable complejidad de los circuitos integrados que se podan fabricar,
implicaban unos riesgos y costes de diseo desmesurados e imposibles de asumir por las
empresas. Es entonces, cuando diversos grupos de investigadores empiezan a crear y
desarrollar los llamados "lenguajes de descripcin de hardware" cada uno con sus
peculiaridades. Empresas tales como IBM con su IDL, el TI - HDL de Texas Instruments,
ZEUS de General Electric, etc.,
Alrededor de 1981 el Departamento de Defensa de los Estados Unidos desarrolla un
proyecto llamado VHSIC (Very High Speed Integrated Circuit) su objetivo era rentabilizar
las inversiones en hardware haciendo ms sencillo su mantenimiento. Se pretenda con ello
resolver el problema de modificar el hardware diseado en un proyecto para utilizarlo en
otro, lo que no era posible hasta entonces porque no exista una herramienta adecuada que
armonizase y normalizase dicha tarea, era el momento de los HDL's
94
VOLVER A NDICE
Es posible verificar el funcionamiento del sistema dentro del proceso de diseo sin
necesidad de implementar el circuito.
Las simulaciones del diseo antes de que este sea implementado mediante
compuertas, permite probar la arquitectura del sistema para tomar decisiones en
cuanto a cambios en el diseo.
95
VOLVER A NDICE
Un circuito echo mediante una descripcin en HDL puede ser utilizada en cualquier
dispositivo programable capaz de soportar la densidad del diseo.
96
VOLVER A NDICE
Entity
Architecture
Process
Ports
Sequential
Proces s
wait ...;
if A
then X
els e Y
end if;
Process
Signals
Com binational
Proces s
X AND (Y xor Z);
0 to 15
Subprogram
Component
97
VOLVER A NDICE
rxy cxcxo_a xs
po(
- pros dr radas
- pros dr saxdas
- pros dr X
- pros dr rs
)
rd cxcxo_a
Como hemos dicho, cada seal en una declaracin de entidad est referida a un
puerto (o grupo de seales), el cual es anlogo a un(os) pin(es) del smbolo esquemtico.
Un puerto es un objeto de informacin, el cual, puede ser usado en expresiones y al cual se
le pueden asignar valores.
VHDL no distingue las letras maysculas de las minsculas, por lo que un puerto
llamado por nosotros "EnTraDA" ser equivalente a otro que se llame "ENTRADA" o
"entrada. El primer carcter de un puerto slo puede ser una letra, nunca un nmero. As
mismo, no pueden contener caracteres especiales como $, %, ^, @, ... y dos caracteres de
subrayado seguidos.
98
VOLVER A NDICE
proa: x x
pro: x x_rco(0 o 7)
proc: o x_rco(3 doqo 0)
prod: r x
pror: xo sd_oxc
Como se puede deducir de los ejemplos anteriores, seguidos del nombre del puerto
y separados de ste por dos puntos, se debe indicar el tipo de puerto. El modo describe la
direccin en la cual la informacin es transmitida a travs del puerto: in, out, buffer e inout.
Si no se especifica nada, se asume que el puerto es del modo in.
Modo in: Un puerto es de modo in si la informacin correspondiente al mismo,
entra a la entidad y se suele usar para relojes, entradas de control (como las tpicas load,
reset y enable), y para datos de entrada unidireccionales.
Modo out: Un puerto es de modo out si la informacin fluye hacia fuera de la
entidad. Este modo no permite realimentacin ya que al declarar un puerto como out
estamos indicando al compilador que el estado lgico en el que se encuentra no es leble.
Esto le da una cierta desventaja pero a cambio consume menos recursos de nuestros
dispositivos lgicos programables.
Modo buffer: Es usado para una realimentacin interna, es decir, para usar este
puerto como un driver dentro de la entidad. Este modo es similar al modo out, pero
adems, permite la realimentacin y no es bidireccional, y solo puede ser conectado
directamente a una seal interna, o a un puerto de modo buffer de otra entidad. Una
aplicacin muy comn de este modo es la de salida de un contador, ya que debemos saber
la salida en el momento actual para determinar a salida en el momento siguiente.
99
VOLVER A NDICE
Modo inout: Es usado para seales bidireccionales, es decir, si necesitamos que por
el mismo puerto fluya informacin tanto hacia dentro como hacia afuera de la entidad. Este
modo permite la realimentacin interna y puede reemplazar a cualquiera de los modos
anteriores, pudindose usar este modo para todos los puertos, pero reduciremos la lectura
posterior del cdigo por otra persona, y reduciendo los recursos disponibles de la
dispositivo.
Como ejemplo, a continuacin se incluye la declaracin de una entidad
correspondiente a un multiplexor de 2x1 de cuatro bits, con entrada de habilitacin o
enable. El multiplexor necesita las entradas de informacin, la seal de seleccin, la de
enable y las salidas de informacin.
rxy x xs po (
rar: x x
srrc: x x
100
VOLVER A NDICE
rx
Se da comienzo al programa
- cro dr poaa
rd acwpo
acwxrcr acwxx o x xs
- srars
rx
Comienza al programa
pocrss(rarx1x2)
rx
x rar=0 wr o1=1111
rsx rar=1 wr
x(srrc = 0) wr o1=x1
101
rsx(srrc = 1) wr
o1=x2
rd x
rd x
rd pocrss
VOLVER A NDICE
rd acwxx
5.3 FUNCIONES.
Una funcin es un algoritmo que retorna un nico valor y puede o no tener
parmetros de entrada. Las funciones se utilizan generalmente para:
Cuerpo de la funcin
Ejemplo:
102
VOLVER A NDICE
5.3.1 Procedimientos.
Los procedimientos estn destinados a realizar alteraciones en los datos a los que
tienen acceso, tanto internos como externos. De forma distinta a las funciones, un
procedimiento puede devolvernos ms de un valor e incluso modificar alguno de los
valores que le introducimos. Un procedimiento o procedure consta al igual que las
funciones de una parte declarativa y otra de sentencias.
La Parte declarativa: En ella indicamos cuales son los parmetros que introducimos
en la procedure, pudiendo ser de tres modos posibles: in, out, e inout, y son por defecto del
modo in. Si el modo de una seal de entrada es in, no podremos modificar su valor,
solamente usarlo, y a ojos de la procedure ser una constante. Si el modo es out podrn ser
modificados en la parte de sentencias, pero al igual que pasa en una entidad no podremos
leer su valor. Solamente si es de modo inout podremos leer su valor y adems modificarlo.
Al igual que en las funciones podremos declarar todos los tipos, constantes, variables, etc.
pero slo existirn cuando se haga un llamamiento a la procedure y se reinicializarn cada
vez que se vuelva a llamar.
La Parte de sentencias: En ella se modifican seales y variables tanto internas como
externas al procedure, pudiendo adems usar la sentencia wait.
Para aclarar conceptos, se muestra el siguiente cdigo, en el cual se consigue el
mismo resultado que en el ejemplo expuesto en el apartado de funciones. La parte
declarativa es la siguiente:
pocrdr
sa
(a:
sd_oxc_rco(3
doqo
0)
103
104
Al igual que en una funcin, los tipos de los objetos de entrada y salida a una
funcin deben coincidir con los declarados en el procedimiento. Es importante notar que
una llamada a una procedure es una sentencia, no como una llamada a una funcin.
En este caso hemos hecho la asignacin por posicin, ya que al no indicar nada, el
compilador supone que queremos asignar el primer objeto que hemos introducido en la
funcin al primer objeto que habamos declarado cuando creamos el procedimiento. Esto es
numero1 se corresponde a a, numero2 se corresponde con b, y as sucesivamente. Si
queremos asignarlos por nombre deberemos hacerlo como se describe a continuacin:
VOLVER A NDICE
5.3.2 Bibliotecas.
Las bibliotecas (libraries) y los paquetes (packages) contenidos en ellas son
elementos fundamentales en VHDL. En cualquier descripcin es habitual hacer uso de una
serie tipos, operadores, objetos, atributos, subprogramas, componentes, etc. definidos en
determinados paquetes, estndar o definidos por el propio usuario. Para ello es necesario
hacer dichos paquetes visibles. Por ejemplo si en un diseo se utiliza el tipo text, (declarado
en el paquete textio, ver Apndice B) y no se le da visibilidad a textio, el compilador genera
un mensaje de error porque no reconoce a text.
Por defecto, todas los modelos en VHDL contienen las siguientes sentencias:
105
xaysdqo
sr sd.a
5.3.3 Paquetes.
Un diseador de Hardware que utilice frecuentemente la misma tecnologa de
diseo ha de hacerse, con el paso del tiempo, con una resea amplia de procedures,
funciones, puertas y, en general, de componentes que emplear con frecuencia. Los
packages permiten agrupar un conjunto de declaraciones para que puedan ser usadas en el
diseo de diferentes circuitos sin ser repetidas en la declaracin de cada uno.
La estructura bsica en la declaracin de un paquete est dividida en dos partes
claramente diferenciadas:
La declaracin del paquete, package: donde obtenemos una visinVOLVER
externa yA NDICE
simplificada del componente. La declaracin del paquete va precedida por la palabra
reservada package y finaliza con end. En el cuerpo de la declaracin nos encontramos con
procedures, funciones, componentes, etc. tal y como apareceran en la parte de la
declaracin de una entidad.
pacar or_dr_pacar xs
- drcaacx dr pocrdrs
106
- drcaacx dr cxors
- drcaacx dr xpos rc..
rd or_dr_pacar;
Todo esto hace posible que una vez declarados los subprogramas dentro de un
package, podamos utilizarlos haciendo nicamente uso de una llamada al proceso,
asignndole un nombre y la lista de parmetros necesarios.
Para poder usar o llamar a un package que ha sido descrito anteriormente, debemos
sr qo.or dr pacar.or dr coporrincluir la clusula use antes del cuerpo de la arquitectura.
VOLVER A NDICE
Hay ocasiones en las que deseamos habilitar todos los componentes declarados en
un paquete, ya sea por comodidad o por no saber exactamente donde se encuentra el
recurso que deseamos usar. En tal caso, haramos uso de la palabra all de la siguiente
forma:
sr qo.or dr pacar.a
Como ejemplo se muestra a continuacin la declaracin de un package que contiene
a dos componentes, un contador y un decodificador.
Primero se declaran las libreras que se van a emplear
xay xrrr
sr xrrr.sd_oxc_1164.a
sr qo.sd_axw.a
pacar o xs
copor
co po (
crsr:x x
coa
rd copor
copor
drcodr po (
108
srrccxo
:x sd_oxc_rco(1 doqo 0)
rar1rar2:x x
saxda
rd copor
rd pacar
VOLVER A NDICE
-rcaacx dr as rxdadrs
xay xrrr
sr xrrr.sd_oxc_1164.a
sr qo.sd_axw.a
sr qo.o.a
rxy co xs po (
crsr:x x
coa:r sd_oxc_rco(1 doqo 0))
rd co
acwxrcr acwxco o co xs
rx
coado :pocrss (crsr)
rx
x (rsr=1) wr coa = (owrs = 0)
rsx crr ad c=1 wr coa = coa + 1
rd x
rd ocrs
p s coado
109
rd acwxco
-rcaacx dr as aexrcas
-rscxpcxo dr drcodxxcado 38 (74s138)
xay xrrr
sr xrrr.sd_oxc_1164.a
sr qo.o.a
rxy drcodr xs po (
srrccxo
:x sd_oxc_rco(1 doqo 0)
rar1rar2:x x
saxda
rd drcodr
-rscxpcx dr drcodxxcado
acwxrcr acwxdrcodr o drcodr xs
rx
drcodxxcado:pocrss(srrccxorar1rar2)
rx
x rar2=1 wr saxda=(owrs=0)
rsx rar2=0 ad rar1=0
wr saxda=(owrs=0)
rsx(rar1=1) wr
casr srrccxo xs
qwr 00 = saxda = 0001
qwr 01 = saxda = 0010
110
VOLVER A NDICE
rd pocrss drcodxxcado
rd acwxdrcodr
Para poder hacer uso, de cualquier componente del package "uno" (el decodificador
o el contador), es necesario que primero se incluya la sentencia:
sr qo.o.a
Para describir una arquitectura podremos usar cuatro estilos, teniendo cada uno, su
propio nivel de abstraccin. Los estilos son:
acwxrcr sc o copa xs
sxa t: x_rco(0 o 3)
rx
0: to2 po ap (a(0)(0)t(0))
1: to2 po ap (a(1)(1)t(1))
111
2: to2 po ap (a(2)(2)t(2))
3: to2 po ap (a(3)(3)t(3))
4: ad4 po ap (t(0)t(1)t(2)t(3)xa)
rd sc
rd pocrss rxera
Es muy importante tener en cuenta dos cosas a la hora de usar un proceso respecto a
las seales y las variables. La primera es que las variables toman instantneamente el valor
especificado y que slo tienen sentido de existencia dentro de un proceso. La segunda es
que las seales cambian su valor solamente al llegar al final del proceso. Esto se aprecia
claramente en los dos ejemplos siguientes, cuyo comportamiento se pretende que sea el
siguiente (suponiendo que hemos cargado el operador +):
112
acwxrcr o_cxoa o o xs
rx
pocrss (a)
rx
x a = 0000 wr = + 1
rd x
x = 0001 wr c = 1
rsr c =0
b se incrementa cuando se
acabe de ejecutar el proceso
(manteniendo el valor actual
hasta el end del mismo) si a
vale "1111"
c vale '1' si b tiene el valor
"0001"
rd pocrss
rd o_cxoa
VOLVER A NDICE
El primer ejemplo no funciona adecuadamente si b tiene le valor inicial de "0000".
Veamos porqu: si y a cambia para tomar el valor "0000", b se incrementar en una unidad
al finalizar la evaluacin del proceso, por lo que b no valdr "0001" hasta entonces, por lo
que c no valdr '1', que no era lo que desebamos.
acwxrcr cxoa o o xs
rx
pocrss (a)
axar : x_rco(3 doqo 0)
rx
:=
x a = 0000 wr := + 1
rd x
v toma instantneamente el
valor de b
v se incrementa
instantneamente si a vale
"1111"
c vale '1' si v tiene el valor
"0001"
b toma el valor de v
113
x = 0001 wr c = 1
rsr c =0
=
rd pocrss
rd cxoa
El segundo ejemplo si que funciona como habamos especificado para cualquier
valor de b. Si a cambia y toma el valor "0000", la variable v toma instantneamente el valor
inicial de b (esto es "0000"), y se incrementar en una unidad instantneamente por lo que
valdr "0001". Entonces c tomar el nivel lgico alto, y seguido a esto, b tomar el valor
incrementado de v. Los nuevos valores de b y c aparecern a la salida al acabar la
evaluacin completa del proceso.
Teniendo claro como es que se declara un proceso, continuaremos enseguida con la
explicacin del diseo compartamental
El siguiente fragmento de cdigo describe un comparador escrito con el estilo
behavioral o de comportamiento.
acwxrcr rwaxoa o copa xs
rx
cop: pocrss (a )
rx
x a= wr
xa=1
rsr
xa=0
rd x
rd pocrss cop
rd rwaxoa
114
VOLVER A NDICE
ad o(a(2) to (2))
115
ad o(a(3) to (3))
rd daoq2
VOLVER A NDICE
116
Figura 5.5.1
Figura 5.5.2
118
Figura 5.5.4.
El botn set top sirve para indicar cual de los ficheros a compilar es el principal,
del cual cuelgan los dems ficheros. El botn generic nos lleva al men que nos permitir
elegir ciertas opciones como si deseamos optimizar la velocidad o el rea usada del
dispositivo de lgica programable el cual se muestra figura 5.5.5.
119
VOLVER A NDICE
120
VOLVER A NDICE
Una vez hechas todas estas operaciones habremos dejado todo preparado para
empezar a compilar.
Pulsando en los botones selected o smart, de la parte compile, podremos compilar
uno o ms ficheros de VHDL simultneamente. Una vez pulsado cualquiera de los botones
de compilacin, nos aparecer una pantalla con las incidencias de la misma, incluyendo las
libreras usadas, fecha, hora, errores, etc.
Desde esta pantalla podremos acceder a las lneas del cdigo errneas directamente
y modificarlas para solucionar el problema, lo cual es una gran ayuda para eliminar errores
de nuestros programas. En esta ventana apreciamos la forma de trabajar interna del
programa, ya que nos dice el nombre de los programas que van verificando el fichero en
busca de errores, y como se va transformando el cdigo original en un fichero que nos
permitir grabarlo en una PLD. Dicha pantalla tiene el aspecto siguiente en la figura 5.5.7:
121
VOLVER A NDICE
grabacin de las PLDs ha sido creado correctamente. Una vez compilado el programa,
llamaremos al programa simulador de ficheros de VHDL compilados (de extensin jed),
llamado Nova, pulsando en el men "Tools/Nova", tal y como se aprecia en al siguiente
figura 5.5.8:
122
VOLVER A NDICE
Para simular un fichero jed (de vectores JEDEC) deberemos primero abrirlo con el
comando "file/open". Lo siguiente que nos aparece es un cronograma con las entradas y las
salidas que admitir la PLD. Nosotros podremos introducir las entradas y darle la forma
que queramos (nivel lgico alto o bajo, que sea un reloj, que tenga un pulso,...) segn lo
que deseemos, sin ms que acceder al men "edit".
Una vez modificada la forma de las entradas, y accediendo al comando "execute"
del men "simulate", el programa nos ofrecer en rojo las salidas que hubiramos obtenido
de haber grabado la PLD con este fichero. Haciendo doble clic en la pare inferior de la
ventana nos aparecer una lnea de gua para poder seguir mejor el resultado de la
simulacin.
Tambin nos permite el organizar las entradas y salidas en forma de bus para
controlar mejor los resultados. Esto es muy til si estamos manejando entradas y/o salidas
de varios bits de anchura y necesitamos saber su valor en todo momento.
Un ejemplo de cmo es til la creacin de un bus se muestra en las siguientes
imgenes (figura 5.5.10), donde, en la superior no se usa un bus y en la inferior donde s se
usa. En ambas hemos introducido la misma entrada aleatoria y queremos saber el resultado
de al simulacin para las salidas en el instante 50ns.
En el primer caso, sin bus, deberemos analizar cual es el valor de cada uno de los
bits de salida, e interpretarlo para ver que es "111", o bien, "7".
Figura 5.5.10.
123
VOLVER A NDICE
Una vez que hayamos dado este pas, estaremos preparados para grabar nuestra
PLD en las mquinas dispuestas a tal efecto.
124
VOLVER A NDICE
Riesgos estticos:
Un riesgo de 1 esttico es la posibilidad de que una salida del circuito produzca una
interferencia 0 cuando se espera que la salida permanezca en un 1 estacionario.
EJEMPLO 1
Supongamos el diagrama lgico que se muestra en la figura 6.1.1.1 donde X e Y
son siempre 1 lgico
125
VOLVER A NDICE
x
z
zxp
1
zp
3
2
yz
zp
yz
xzp
F
1
0
1
0
1
0
1
0
126
VOLVER A NDICE
EJEMPLO 2
En estado estacionario supongamos el diagrama lgico que es mostrado en la figura 6.1.1.3
wxzp
w0
x0
z0
-> 1
1
2
13
zp
12
1
3
2
y0
yz
yp
1
3
2
xp
xpyp
z
zp
yz
wxzp
F
1
0
1
0
1
0
1
0
1
0
127
VOLVER A NDICE
NOTA. La existencia de riesgos estticos depende del diseo del circuito para una funcin
lgica.
Riesgo dinmico:
Es la posibilidad de un cambio en la salida ms de una vez como resultado de una
transicin de entrada simple.
128
VOLVER A NDICE
Posibilidad de simulacin.
La fabricacin de dispositivos de lgica programable se basa en los siguientes dos
conceptos:
Funcionalidad completa: La cual se fundamenta en le hecho de que cualquier
funcin lgica se puede realizar mediante un asuma de productos.
Celda de funcione universales: Tambin denominadas generadores de funciones,
son bloques lgicos configurados para procesar cualquier funcin lgica, similares en su
funcionamiento a una memoria. En estas celdas se almacenan los datos de salida del
circuito Combinacional en vez de implementar fsicamente la ecuacin booleana.
Estructura general de un PLD.
Salidas
Entradas
Funcin de
entrada
Matriz
AND
Matriz
OR
Funcin de
salida
Estructura Bsica
Realimentacin
129
VOLVER A NDICE
Clasificacin de PLDs.
PROM (programmable Read Only Memory)
Matriz AND fija Matriz OR programable.
PAL (Programmable Array Logic)
Matriz AND programable Mmatriz OR fija.
FPLA (Field-Programmable Logic Array) o PLA
Matriz AND programable Matriz OR programable.
GAL (Generic Array Logic)
Matriz AND reprogramable Matriz OR fija Lgica de salida programable
(Combinacional-secuencial)
A continuacin en la figura 6.2.1(a,b)se muestra la arquitectura de los dispositivos
antes descritos.
130
VOLVER A NDICE
A
Entradas
0011
0100
0101
0110
0111
1000
1001
1010
10
10
1011
11
11
1100
12
12
1101
13
13
1110
14
14
1111
15
15
2
2
Salidas
0010
Matriz AND
programable
Salidas
131
0001
Matriz OR
programabl
0000
Matriz AND
fija
Matriz OR
fija
C
1
A
Entradas
VOLVER A NDICE
Matriz OR
programable.
Entrada 1
10
11
12
13
14
15
Entrada 3
E2CMOS
Entrada n
OLMC
E/S 2
OLMC
E/S m
2
2
Matriz AND
programable
Matriz AND
programable.
Entrada 2
Salidas
0
2
E/S 1
OLMC
1
3
132
VOLVER A NDICE
6.3 CODIFICADOR.
Un codificador es un dispositivo lgico combinacional que recibe informacin por
su entrada y la traduce a un cdigo, el cual depende del tipo de codificador (figura 6.3.1).
Tienen una serie de patillas de entrada de las cuales slo una se activa, apareciendo el
nmero de la patilla activada a la salida en el cdigo correspondiente: decimal, BCD, etc.
N
M < 2
Figura 6.3.1 Esquema bsico de un codificador.
133
VOLVER A NDICE
Salidas
S0 S1 S2
HHH
HHL
HLH
HLL
LHH
LHL
LLH
LLL
LLL
Diseado de una manera estndar y dada la tabla anterior, tenemos las siguientes
funciones.
A + B + C + D = S0
C'D'E + C'D'F + A + B = S1
B'D'F'G + B'D'E + B'C + A= S2
Implementando las funciones, obtenemos el circuito de la figura 6.3.1.1
S0
A
B
D
E
F
S1
G
S2
134
VOLVER A NDICE
135
x sd_acw(rada000001--) wr saxda=010 rd x
x sd_acw(rada0000001-) wr saxda=001 rd x
x sd_acw(rada00000001) wr saxda=000 rd x
x sd_acw(rada00000000) wr saxda=000 rd x
rd pocrss
rd codr
VOLVER A NDICE
6.4 DECODIFICADOR.
Un decodificador es un circuito lgico combinacional, que convierte un cdigo de
entrada binario de N bits en M lneas de salida (N puede ser cualquier entero y M es un
entero menor o igual a 2N), tales que las lneas de salida sern activadas para un de las
combinaciones posibles de entrada. La figura 6.4.1 muestra el diagrama general de un
decodificador de N entradas y M salidas.
N
Entradas
DECODIFICADOR
M
Salidas
2n
Posibles
Entradas
Figura 6.4.1 Diagrama general del decodificador.
136
cuales contienen decodificado el nmero de la entrada para que sea entendido por un
display de 7 segmentos.
VOLVER A NDICE
-> 0001
-> 0101
-> 0111
-> 1001
-> 0011
137
0010
a
f
c
d
Entrada
(BCD)
N0 N1 N2 N3
L L L L
L L L H
L L H L
L L H H
L H L L
L H L H
L H H L
L H H H
H L L L
H L L H
Salida
(DISPLAY)
a
H
L
H
H
L
H
L
H
H
H
b
H
H
H
H
H
L
L
H
H
H
c
H
H
L
H
H
H
H
H
H
H
d
H
L
H
H
L
H
H
L
H
H
H
L
H
L
L
L
H
L
H
L
H
L
L
L
H
H
H
L
H
H
g
L
L
H
H
H
H
H
H
H
H
138
Diseado de una manera estndar y dada la tabla anterior, tenemos las siguientes
funciones.
A'B'D' + A'B'C + A'BD + AB'C' = a
A'B' + A'C'D '+ A'CD + B'C' = b
A'B + A'D + B'C =
VOLVER A NDICE
e
f
N0
1
2
3
1
2
3
1
2
3
1
2
3
3
3
3
3
N1
3
1
2
1
2
3
1
2
3
1
3
3
N2
2
1
3
2
1
3
2
1
2
3
N3
3
4
1
2
3
1
2
3
1
2
3
f
g
1
3
2
139
VOLVER A NDICE
xay xrrr
sr xrrr.sd_oxc_1164.a
rxy corxdo xs
po(
cd: x x_rco(3 doqo 0)
dxspay: o x_rco(6 doqo 0)
)
rd corxdo
acwxrcr acwxco o corxdo xs
rx
co: pocrss (cd)
rx
casr cd xs
qwr 0000 = xspay = 1111110
qwr 0001 = xspay = 0110000
qwr 0010 = xspay = 1101101
140
6.5 MULTIPLEXOR.
Un multiplexor es un dispositivo lgico que recibe informacin por sus dos o ms
entradas (de uno o ms bits de ancho) y mediante una seal de control decidimos cual de
las entradas aparece reflejada en la salida (figura 6.5.1); esto es, un convertidor de paralelo
a serie. Si tienen una seal de "enable" esta hace que el multiplexor est habilitado o no.
VOLVER A NDICE
MULTIPLEXOR
N
Entradas de
datos
Salida
P
141
Entrada de
Entradas de
N=2
Validacin
E
Entradas
I0 I1 I2 I3
Salida
Z
XX
LL
LH
HL
HH
L
H
H
H
H
XXXX
I0XXX
X I1XX
XX I2X
XXX I3
I0
I1
I2
I3
142
VOLVER A NDICE
1
2
E
I0
6
4
5
1
2
6
4
5
I1
1
2
6
4
5
I2
1
2
6
2
1
I3
4
5
S1 S0
Figura 6.5.2. Diagrama elctrico de un multiplexor.
:o x
)
rd xprto
143
VOLVER A NDICE
qwr 01 = z = X1
qwr 10 = z = X2
qwr 11 = z = X3
qwr owrs = z = 0
rd casr
rd x
rd pocrss
rd acw
6.6 DEMULTIPLEXOR.
Un demultiplexor es un dispositivo lgico que como su nombre indica realiza la
operacin inversa al multiplexor; esto es, un convertidor de serie a paralelo (figura 6.6.1).
El demultiplexor recibe informacin por su nica entrada (de uno o ms bits) y una seal de
control decide en cual de las salidas se refleja. Si tienen una seal de "enable" esta hace que
el demultiplexor sea habilitado en algn momento.
144
DEMULTIPLEXOR
Entrada E
DE 4 CANALES
Salidas
a
b
c
d
S1 S0
Entradas de
seleccin
Figura 6.6.1 Esquema general de un demultiplexor.
VOLVER A NDICE
145
E
SO
S1
b
c
d
VOLVER A NDICE
x x
x coo = 00 wr
a = ra
rsx coo = 01 wr
= ra
rsx coo = 10 wr
c = ra
rsr
d = ra
rd x
rd pocrss
rd acwdr
6.7 COMPARADOR.
Un comparador es un dispositivo lgico que recibe dos nmeros a la entrada, A y B,
y a la salida indica si el nmero A es mayor, menor o igual que el nmero B (figura 6.7.1).
La longitud de las palabras de la entrada es indiferente, pero iguales para ambos nmeros.
Pueden llevar adems entradas en cascada, usadas para utilizar varios comparadores.
a
b
a = b
a > b
a < b
z
VOLVER A NDICE
147
Ab
00
01
10
11
A=b a>b
1
0
0
0
0
1
1
0
a<b
0
1
0
0
Diseado de una manera estndar y dada la tabla anterior, tenemos las siguientes
funciones.
A'B' + AB = x
AB' = y
A'B = z
x
a
y
2
z
Figura 6.7.2. Diagrama elctrico de un comparador.
VOLVER A NDICE
148
xay xrrr
sr xrrr.sd_oxc_1164.a
sr qo.sd_axw.a
rxy copa xs po(
a: x x
yz t: o x
)
rd copa
acwxrcr acwxcopa o copa xs
rx
pocrss (a)
rx
xa
wr y = 1
z=0
t=0
rsx a
wr y = 0
z=1
t=0
rsx a = wr y = 0
z=0
t=1
rd x
rd pocrss
rd acwxcopa
149
X
0
0
1
1
S
MEDIO
SUMADOR
Y
0
1
0
1
C
0
0
0
1
S
0
1
1
0
1
S
3
2
Y
74LS86
1
3
2
74LS08
150
X Y
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
X
S
Y
SUMADOR
COMPLETO
Z
0
1
0
1
0
1
0
1
C
0
0
0
1
0
1
1
1
S
0
1
1
0
1
0
0
1
1
3
2
74LS86
74LS86
1
3
2
1
3
74LS08
2
74LS08
74LS86
151
6.8.2 Restador.
Para desarrollar este tema es importante recordar ciertos conceptos, estos se
describen a continuacin. El sistema de magnitud y signo que se aplica a los nmeros
binarios es por medio de una posicin de bit extra para representar el bit de signo. De
manera tradicional el bit mas significativo (MSB) de la cadena de bits se usa como el bit de
signo (0 = mas, 1 = menos) y los bits de orden inferior contienen la magnitud. El sistema de
magnitud y signo contiene un numero igual de enteros positivos y negativos, un entero en
magnitud y signo de n bits esta en el rango (2^n-1 - 1) a + (2^n-1 - 1) con dos posibles
representaciones del cero.
VOLVER A NDICE
Para los nmeros binarios el complemento a la base esta representado como r ^n-1 y
se llama complemento a 2. El MSB de un nmero en este sistema sirve como el bit de
signo. El equivalente decimal para un innumero binario en complemento a 2 se calcula
como -2^n-1. Una forma mas conveniente y sencilla de obtener el complemento a dos de
un numero binario simplemente es; invertir todos los bits que componga el numero y
posteriormente sumarle 1.A continuacin se muestra un ejemplo.
100111012 = - 9910
01100010
+
1
011000112 = 9910
000100012=1710
11101110
+
1
111011112= -17
Entradas
Salidas
Datos
Ai
Control
E1
Yi
152
E1
Salida
Dato negado
Puesta a 1
Dato
Puesta a 0
VOLVER A NDICE
153
A3
A2
A1
A0
E
VOLVER A NDICE
154
s: o sd_oxc_rco(4 doqo 0)
)
acwxrcr acwxsado o sado xs
rx
pocrss (acx)
axar at:sd_oxc_rco(4 doqo 0)
rx
at:=(0 a) + (0 )
x cx=1 wr at:=at+1
rsx cx=0 wr
rd x
s=at
rd pocrss
rd acwxsado
En la lnea 15 se suman a y b pero como el resultado puede ser de cinco bits, la
seal a la que asignaremos la suma debe ser de esta anchura. Para que no haya problemas
concatenamos a y b con un cero.
VOLVER A NDICE
155
multiplicacin binaria debido a que solo tenemos dos valores para el multiplicando y el
multiplicador (0 y 1).
Multiplicando
Multiplicador
Producto
1011
1101
1011
0000
1101
1011
10001111
11
*13
33
11
143
Para lograr el primer paso solo es necesario aprovechar la tabla de verdad de una
compuerta and, la cual es idntica a la tabla de verdad hecha para multiplicar dos nmeros
156
de un solo bit, y el siguiente paso solo es necesario sumar y el circuito queda representado
en la figura 6.9.1.
S0
A0
1
3
2
1
3
4
A
B
CI
S1
5
CO
1
3
4
A1
1
A
B
CI
3
2
S2
CO
74LS183
1
3
4
A2
1
3
A
B
CI
S
CO
6
5
1
3
4
74LS183
2
B0
A
B
CI
S
CO
S3
74LS183
1
3
B1
1
3
4
A
B
CI
S
CO
6
5
1
3
4
74LS183
A
B
CI
S
CO
S4
S5
1
3
74LS183
1
3
4
2
B2
A
B
CI
S
CO
6
5
74LS183
1
3
2
1
3
2
1
3
2
1
3
2
157
xay xrrr
sr xrrr.sd_oxc_1164.a
sr qo.sd_axw.a
rxy xpxcado xs po(
a:x sd_oxc_rco(2 doqo 0)
c:o sd_oxc_rco(5 doqo 0))
rd xpxcado
acwxrcr acwxx o x xs
sxa at1at2at3: sd_oxc_rco(5 doqo 0)
rx
pocrss (a)
rx
x (0)=1 wr at1 =(0 0 0 a(2) a(1) a(0))
rsx (0)=0 wr at1=(owrs = 0) rd x
x (1)=1 wr at2 =(0 0 a(2) a(1) a(0) 0)
rsx (1)=0 wr at2=(owrs = 0) rd x
x (2)=1 wr at3 =(0 a(2) a(1) a(0) 0 0)
rsx (2)=0 wr at3=(owrs = 0) rd x
rd pocrss
c=at1 + at2 + at3
158
rd acwxx
Hay que destacar que la suma de las seales aux1, aux2 y aux3 se hace fuera del
proceso, ya que de no ser as, c no se actualizara correctamente y adoptara el valor del
producto anterior.
VOLVER A NDICE
BIBLIOGRAFA.
Electrnica Digital
James W. Bignell, Robert L. Donovan
Primera edicion 1997
CECSA
159
VOLVER A NDICE
160