Está en la página 1de 325

22/10/2008 Sistemas Digitales I - Ing. S.

Ros
Captulo 1:
Sistemas Numricos y Cdigos.
SISTEMAS DIGITALES I
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS AL
DISEO DIGITAL
Representaciones analgicas: Las cantidades anlogas pueden
variar gradualmente sobre un intervalo continuo de valores.
Representaciones digitales: Las cantidades varan en etapas
discretas a o largo del tiempo.
Sistema Digital: Un sistema digital es una combinacin de
dispositivos, diseada para manipular cantidades fsicas o
informacin que estn representados en forma digital.
Sistema Analgico: Un sistema analgico contiene
dispositivos que manipulan cantidades fsicas representadas
en forma analgica.
Seal Anlogica Seal Digital
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
Ventajas de las tcnicas digitales
Mas fcil de disear (V,I,P,Vmax , Vmin, vs Fanout, Vmax).
Facilidad de almacenar informacin (memorias vs rels)
Control de precisin y exactitud (control de bits en la conversin )
Programacin de la operacin (en memorias)
El ruido afecta en forma mnima.
Alto grado de integracin (Corta, Mediana ---> Larga SI)
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
Limites en las Tcnicas Digitales
El mundo real es analgico
Convertidores Digitales Analgicos (DAC) y Analgicos a Digitales
(ADC)
Convertir las entradas analgicas del mundo real a la forma
digital.
Procesar la informacin digital.
Convertir las salidas digitales a la forma analgica del mundo
real
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
Sistemas de Numeracin
Un sistema de numeracin es un conjunto ordenado de smbolos
llamados dgitos con leyes definidas para la suma, resta,
multiplicacin.
(N)r= (parte entera . parte fraccionaria)
Octal
Punto base Binario
Decimal N= nmero
r= base del sistema
Los nmeros se representan en cualquier sistema de numeracin
de 2 formas: Notacin Posicional y Notacin Polinomial.
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
Notacin Posicional: Implica la colocacin de dgitos a ambos
lados del punto base, por ende sus posiciones no se pueden
alterar.
( N) r= ( a
n-1
a
n-2
a
n- 3
a
i
a
1
a
0
. a
- 1
a
- 2
a
- f
a
- m
) r base
Parte entera Parte fraccionaria
Punto base
r= base del sistema
a= los dgitos del set
n= nmero de dgitos en la
parte entera
Ej.: (1531.75)
10
m= nmero de dgitos en la parte
fraccionaria
a
n-1
= dgito ms significativo
a
-m
= dgito menos significativo
Ej.: (5131.75)
10
no son lo mismo
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
Base del Sistema: Nmero de dgitos que tiene el sistema.
Sistema Decimal: 10 dgitos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Sistema Binario: 2 dgitos: 0, 1
Sistema Octal: 8 dgitos: 0, 1, 2, 3, 4, 5, 6, 7
Sistema Hexadecimal: 16 dgitos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B,
C, D, E, F
Ej.: Sistema Binario: (110011. 1101)
2
Sistema Octal: (1437. 64)
8
Sistema Hexadecimal: (AF10. B04)
16
Sistema Decimal: (1531. 46)
10
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
Decimal Binario Octal Hexadecimal
0
1
2
3
0000
0001
0010
0011
0
1
2
3
0
1
2
3
4
5
6
7
0100
0101
0110
0111
4
5
6
7
4
5
6
7
8
9
10
11
1000
1001
1010
1011
10
11
12
13
8
9
A
B
12
13
14
15
1100
1101
1110
1111
14
15
16
17
C
D
E
F
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
Notacin Polinomial: Se expresa como una sumatoria de los dgitos
multiplicada por un factor que es la base elevada a un exponente.
n-1
(N)r= a
j
r
j
J=-m
=
a
n-1
r
n-1
+ a
n-2
r
n-2
+ + a
1
r
1
+ a
0
r
0
+ a
-1
r
-1
+ a
-2
r
-2
+ + a
-m
r
-m
Ej.: (1748.75)
10
= 1x10
3
+ 7x10
2
+ 4x10
1
+ 8x10
0
+ 7x10
-1
+ 5x10
-2
n= 4 y m = 2
(1011.101)
2
= 1x10
11
+ 0x10
10
+ 1x10
1
+ 1x10
0
+ 1x10
-1
+ 0x10
-10
+ 1x10
-11
n = 4 y m = 3
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
Mtodo de Conversin de Base por Sustitucin:
Sirve para convertir de cualquier base a decimal. Se usa la notacin
polinomial.
Binario a Decimal:
Ej.: (1011.101)
2
= 1x2
3
+ 0x2
2
+ 1x2
1
+ 1x2
0
+ 1x2
-1
+ 0x2
-2
+ 1x2
-3
= 8 + 0 + 2 + 1 + 0.5 + 0 + 0.125
= (11.625)
10
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
Octal a Decimal
Ej.: (150.1)
8
= 1x8
2
+ 5x8
1
+ 0x8
0
+ 1x8
-1
n=3 = 64 + 40 + 0 + 0.125
m=1 = (104.125)
10
Hexadecimal a Decimal
(10x16
0
)
Ej.: (32A)
16
= 3x16
2
+ 2x16
1
+ A x 16
0
= 768 + 32 +10
= (810)
10
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
Mtodo de Conversin de Base por Multiplicacin y Divisin para la Base
Utilizado para convertir de decimal a cualquier otra base
(N)
10
= (E
10
. F
10
)
Por separado la parte entera de la fraccionaria.
De Decimal a Binaria
La parte entera la dividimos sucesivamente para 2 hasta cuando el
cociente sea igual a 0 .
Ej.: (19.75)
10
()
2
19 2
-1- 9 2 (19)
10
= (10011. )
2
-1- 4 2
-0- 2 2
-0- 1 2
-1- 0
LSD
Cociente = 0 fin de la conversin
MSD
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
De Decimal a Octal
La parte entera la dividimos para 8 sucesivamente hasta cuando el cociente
sea igual a 0
Ej.: (19.75)
10
()
8
19 8 (19)
10
= (23)
8
LSD -3- 2 8
-2- 0
MSD
De Decimal a Hexadecimal
Dividimos para 16 la parte entera
Ej.: (423)
10
()
16
423 16
-7- 26 16 (423)
10
= (1A7)
16
-10- 1 16
-1- 0
Cociente = 0
LSD
MSD
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
La parte fraccionaria se la trabaja multiplicando por la base a la cual
queremos llegar. Puede darse conversin exacta e inexacta.
Si es inexacta: racionales peridicos
= 0 exacta
Cj
0 inexacta
Cj es el ltimo valor fraccionario
De Decimal a Binario: Multiplicamos por 2
Ej.: (0.75)
10
= (0.11)
2
MSD
0.75x2 = 1 +0.5
LSD
0.5x2 = 1+ 0 Cj=0 EXACTA
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
De Decimal a Octal: Multiplicamos por 8
Ej.: (0.75)
10
= (0.6)
8
0.75x8 = 6 + 0.0
C
j
=0 EXACTA
De Decimal a Hexadecimal: Multiplicamos por 16
Ej.: (19.75)
10
= (13.C)
16
19 16 0.75x16 = 12 + 0
-3- 1 16 = C + 0 EXACTA
-1- 0
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
Caso: De Binario a Octal: de 3 en 3 porque el mayor dgito octal = 7
se puede escribir con 3 dgitos binarios (7)
8
= (111)
2
Ej.: ( 100 111 010 .)
2
(472)
8
4 7 2
Caso: De Binario a Hexadecimal: de 4 en 4 porque el mayor dgito
hexadecimal = 15 se puede escribir con 4 dgitos binarios (F)
16
=
(1111)
2
Ej.: 00(11 1010 0110. )
2
(3A6)
16
3 A 6
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
Caso: (N)
7
(N)
6
: Aplico sustitucin y luego multiplicacin y divisin para la
base.
Ej.: (B2F)
16
( )
8
(1011 0010 1111.)
2
( 101 100 101 111.)
2
(5457)
8
5 4 5 7
Ej.: (4310.3)
5
( )
8
(4310.3)
5
= 4x5
3
+ 3x5
2
+ 1x5
1
+ 0x5
0
+ 3x5
-1
= 500 + 75 +5 + 0.6
= (580.6)
10
MSD
0.6x8 = 4+ 0.8
580 8 0.8x8 = 6 + 0.4 (1104.4631)
8
-4- 72 8 0.4x8 = 3 + 0.2
-0- 9 8 0.2x8 = 1 + 0.6
- 1- 1 8 0.6x8 = 4 + 0.8
-1- 0 LSD Inexacta Peridica
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
Operaciones Aritmticas
Suma
De nmeros Decimales De nmeros Binarios
1111 1 acarreo 1111 11 acarreo
Ej.: 2954.764 Ej.: 10111.1011
+ 3875.643 10110.1110
0 6830.407 1 01110.1001
acarreo final acarreo final
De nmeros Octales De nmeros Hexadecimales
111 1
Ej.: 134.76 Ej.: F 0 1 . A
+ 257.34 + 1 3 C . 1
0 414.32 1 0 3 D . B
acarreo final acarreo final
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
Resta
Se realiza de 2 formas diferentes: -Tradicional
- Por complementos
Ej.: 1958.03 Minuendo Si prstamo final = 0 => Resultado positivo
- 1767.96 Sustraendo Si prstamo final = 1 => Recomplementamos
0 0190.07 (Negativo)
Repuesta +
Prstamo final
Ej.: 1011.11 Minuendo
- 1001.01 Sustraendo
0 0010.10
Repuesta +
Prstamo final
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
Complemento
Tenemos 2 tipos: - Complemento a la base
- Complemento a la base -1
Complemento a la Base (Complemento a la r):
( N)
r,c
= r
n
( N)
r
(Complemento a r de un nmero N en una base r)
r: base n: nmero de dgitos de la parte entera de N
Decimal:
Ej.: ( 1958.03)
10
( 1958.03)
10,c
= 10
4
-1958.03
r = 10 n = 4 = 8041.97
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
Binario:
Ej.: (10001.11)
2
(10001.11)
2,c
= 2
5
- 10001.11
= 32 -10001.11
= 100000- 10001.11
r=2 n=5 = 01110.01
Regla en Binario
De derecha a izquierda escribo igual los nmeros binarios hasta que
encuentro al 1
er
1 lo escribo igual y los dems nmeros los invierto.
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
Complemento a la Base -1 (Complemento a la r-1):
( N)
r-1,c
= r
n
r
- m
- ( N)
r
Decimal:
Ej.: ( 1958.03)
10
(1958.03)
9,c
= 10
4
- 10
-2
- 1958.03
n =4 r =10 m=2 = 8041.96
Regla: Para cada dgito se coloca un nmero que sumado de 9.
Binario:
Ej.: (10001.11)
2
(10001.11)
1,c
= 2
5
- 2
-2
10001.11
n =5 r =2 m =2 = 100000 0.01 10001.11
= 01110.00
Regla: Para cada dgito se coloca un nmero que sumado de 1
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
Resta de Nmeros por complemento a r (a la base)
Cuando restamos nmeros sin signo por complemento a la base
si el resultado nos da acarreo = 1, a este 1 se lo ignora y los
restantes dgitos son la respuesta con signo +. Por otro lado si la
respuesta da acarreo = 0 el resultado es negativo y deber
recomplementarse. La nica diferencia con el complemento a r-
1, es que es valor del acarreo los sumamos al dgito menos
significativo.
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
Decimales Complemento a 10
Ej.: 1958.03 Minuendo Se la realiza sacando el complemento al
- 1767.96 Sustraendo sustraendo y sumando ese valor al minuendo
=>
1958.03
+ 8232.04 (1767.96)
10,c
= 10
4
1767.96 = 8232.04
1 0190.07
acarreo Final = 1 => Respuesta = + (0190.07)
10
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
Decimales Complemento a 10
Ej.: 1767.96 Minuendo
- 1958.03 Sustraendo
1767.96
+ 8041.97 (1958.03)
10,c
= 10
4
1958.03 = 8041.97
0 9809.93
acarreo Final = 0 => Respuesta = - y recomplementada
(9809.93)
10,c
= 10
4
9809.93 = 0190.07
Respuesta = - (0190.07)
10
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
Binarios por Complementos a 2
Ej.: 100111.01 Minuendo
- 100100.11 Sustraendo
100111.01
+ 011011.01
1 000010.10
acarreo Final = 1 => R = + (000010.10)
Ej.: 10001.11
- 10111.10
10001.11
+ 01000.10
0 11010.01
Recomplementar R= - (00101.11)
2
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
Resta de Nmeros por Complemento a r-1 (a la base -1)
Decimales: Complemento a 9: El complemento sale colocando un
nmero que sumando sea = 9
Ej.: 1767.96 Minuendo 1767.96
- 1958.03 Sustraendo + 8041.96
0 9809.92
acarreo final = 0 => Recomplemento
Respuesta = - 0190.07
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
Producto:
Ej.: 0101 = 5
x 1101 = 13
0101
0000
0101
0101
1000001 = 65
Nmeros con signo
0 + Convencin
1 -
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
Sobrecarga
Cuando un resultado se va fuera del rango. El rango en binario se
define como: -2
n
+ 1 (N)
10
2
n
1
Ej.: n = 7 => -2
7
+ 1 (N)
10
2
7
1
- 127 (N)
10
127
Para sobrecarga en binario nos fijamos en el acarreo final y el acarreo
sobre el dgito del signo. Si los 2 acarreos son iguales => no hay
sobrecarga y analizo el resultado tanto en signo como en magnitud.
Si ambos acarreos son diferentes => sobrecarga => aada una
columna ms => expando con 0 para que siga siendo +
1 para que siga siendo -
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
Suma con Signos
En las sumas con signo se trabaja con la columna del signo normalmente y se
procede a la suma binaria. Para analizar el resultado primero nos fijamos si hay
o no sobrecarga.
Si no hay sobrecarga observamos el bit del signo en la respuesta. Si el bit es 0
=> la respuesta es positiva y es la encontrada. Si el bit del signo es 1 => la
respuesta es negativa y debe recomplementarse.
Ej.: (+6)
10
+ (+10)
10
= +(16)
10
111 0111
(+6)
10
= 0110 00110 000110 No hay
(+10)
10
= 01010 + 01010 + 001010 Sobrecarga
(+16)
10
= 010000 0 10000 0 010000
Sobrecarga = expando bit signo R= +(10000)
2
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
Ej.: (+6)
10
+ (-10)
10
= -(4)
10
(-10)10 = 10110
011
00110
+ 10110
0 11100
bit del signo R = -(0100)
2
No hay sobrecarga
Ej.: Realice la siguiente suma. Las cantidades indicadas ya contienen el signo.
11111 1 011111 1
01110101 001110101
+ 01011101 + 001011101
0 11010010 0 011010010
Sobrecarga => expando Signo + R= +(11010010)
2
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
Restas con Signo
Se realiza la resta con complemento a la base 2. Se analiza si existe
sobrecarga. Si no la hay => se estudia el bit del signo y se escribe el
resultado. Si hay sobrecarga se expande una columna.
Ej.: Realice la siguiente resta de nmeros con signo por complemento:
0 111
01010111 Minuendo 01010111
- 11011111 Sustraendo + 00100001
0 01111000
Signo +
No hay sobrecarga
R= + (1111000)
2
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
Ej: Realice la siguiente resta de nmeros con signo por complemento:
0
11001001 11001001
- 01111111 + 10000001
1 01001010
Sobrecarga => expando
1
111001001 111001001
- 001111111 + 110000001
No hay 1 101001010
Sobrecarga
Signo - => recomplemento
R= - (10110110)
2
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
Cdigos
Codificar es dar un orden, es traducir una informacin
Cdigo: es un grupo de dgitos que representan una informacin.
Existe cdigos binario, BCD, de reflexin, etc.
Cdigo Binario: 2
n
= nmero de combinaciones
n = nmero de dgitos del cdigo
Ej.: 2
3
= 8 combinaciones con 3 dgitos
+ - . , *
001 011 010 100 101
Y si quiero codificar ms de 8 smbolos distintos?
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
Cdigos BCD (o NBCD): Cuando cada dgito de un nmero decimal se
representa con su equivalente binario => BCD. Ya que el mayor dgito
decimal es el 9 => se utilizan 4 bits siempre.
Ej.: ( 8 7 4 )
10
( )
BCD
1000 0111 0100
(1000 0111 0100 )
NBCD
Ej.: ( 0110 1000 0011 1001)
BCD
6 8 3 9
(6839)
10
No es lo mismo un binario que un BCD o NBCD
Ej.: (137)
10
= (10001001)
2
8 bits
= (000100110111)
BCD
12 bits
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
Cdigo de Exceso de 3
Es un cdigo NBCD porque la conversin se la hace para cada dgito.
A cada uno de los bits se le suma 3 antes de codificarlo en binario.
Ej.: (48)
10
( )
xs3
4 8
+ 3 + 3
7 11
(0111)
2
(1011)
2
(0111 1011)
xs3
De Reflexin: se repiten ciertos dgitos y se cambia el primero
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
Cdigo de Distancia Unitaria: Ocurre cuando de uno a otro cdigo
cambia solo un bit a la vez
Cdigo Gray: Es un cdigo de distancia unitaria
De Gray a Binario: de izquierda a derecha busco el 1
er
1 y lo
escribo igual. Luego escribo 1s hasta que el siguiente 1 es
encontrado, en cuyo caso escribo un 0. Entonces escribo 0s
hasta encontrar el siguiente 1 en cuyo caso escribo un 1 y as
sucesivamente.
Ej.: (101010)
Gray
(110011)
2
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
De Binario a Gray: Colocar un 0 al lado del MSD y comenzando por
la izquierda realice EXOR entre los bits adyacentes.
2 iguales => 0 A B A + B
2 diferentes => 1 0 0 0
0 1 1
1 0 1
1 1 0
Ej.: 0(1 1 0 0 1)
2
=> (10101)
GRAY
1 0 1 0 1
Ej.: 0(1 0 1 0 1 0 0)
2
=> (1111110)
Gray
1 1 1 1 1 1 0
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
Cdigos Alfanumricos:
ASCII(American Standar Code for Information Interchange) 7 dgitos
EBCDIC (Extended Binary Coded Decimal Interchange Code) 8 dgitos
Ej.: A 1000001 ASCII 7 dgitos
A 1 1000001 EBCDIC 8 dgitos
Extendido
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
Cdigo de Deteccin de Errores:
Se aade un dgito ms a una palabra
X Y
Transmisin Medio de Recepcin
transmisin
Paridad Par: se aade un cero en caso par de unos
Ej.: 01000001 A con paridad par
Paridad Impar: se aade un cero en caso de que exista un nmero
impar de unos
Ej.: 11000001 A con paridad impar
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
Bloque de informacin (con paridad par):
Ej.: 1 00100 Bloques Par x Par
1 10000 Impar x Impar
0 01010
1 10101
1 10000
0 11011
22/10/2008 Sistemas Digitales I - Ing. S. Ros
CAPITULO1: CONCEPTOS INTRODUCTORIOS
AL DISEO DIGITAL
Ej.: Realice la operacin indicada
(1100 0110)
xs3
+ ( 10 10 11 11)
gray
= ( )
2
12 6 (11001010)
2
- 3 - 3 1 11
9 3 01011101
(93)
10
= (1011101)
2
+ 11001010
1 00100111
93 2
-1- 46 2
-0- 23 2
-1- 11 2 R= ( 100100111)
2
-1- 5 2
-1- 2 2
-0- 1 2
-1- 0
MSD
LSD
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Captulo 2.- Fundamentos Del Diseo Digital
Lgica: es el proceso de clasificacin de la informacin; en donde la
informacin tiene que estar relacionada con aseveraciones y no puede
ser interrogaciones o exclamaciones. Nos interesa la lgica binaria:
F => 0 y V => 1
Los pensamientos se expresan como proposiciones. Los proposiciones se
representan por variables lgicas que pueden ser verdaderas o falsas.
Ej.: primeras letras del alfabeto maysculas: A, B, C, D, E, F.
ltimas letras del alfabeto minsculas: p, q, r, s, t,, x, y, z.
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Captulo 2.- Fundamentos Del Diseo Digital
Adems se debe especificar el tipo de lgica o la condicin
de polarizacin.
Ej.:
(Variable lgica).(Condicin de Polarizacin de la variable)
(Nemnico) . (Condicin de la Polarizacin)
A . L MS . H
B . H MB . L
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Captulo 2.- Fundamentos Del Diseo Digital
Tabla de Verdad: Es una manera de tabular o listar todas las posibles
combinaciones que forman las variables de entrada con sus
respectivas salidas.
2
n
= # de combinaciones
Para unir las variables lgicas se usan conectores:
Conectores Naturales: And, or, no
Conectores No Naturales: Exor, Nexor
A
B
F
Circuito
digital
A B F
0 0 0
0 1 0
1 0 1
1 1 1
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Captulo 2.- Fundamentos Del Diseo Digital
Conectores Naturales: Tablas de Verdad
AND (Multiplicacin Lgica)
A B A AND B
F F F
F V F
V F F
V V V
A B A . B
0 0 0
0 1 0
1 0 0
1 1 1
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Captulo 2.- Fundamentos Del Diseo Digital
Conectores Naturales: Tablas de Verdad
OR (Suma Lgica)
NO (Negacin Lgica)
A B A OR B
F F F
F V V
V F V
V V V
A B A +B
0 0 0
0 1 1
1 0 1
1 1 1
A NO A
F V
V F
Involucin
de Teorema A A =
A
0 1
1 0
A
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Captulo 2.- Fundamentos Del Diseo Digital
Condicin de Polarizacin
V Depende de los niveles de voltaje
Sabemos que A o del tipo de lgica usada sabremos
F cuando es V o F
L A es Falso L A es Verdadero
A . H A . L
H A es Verdadero H A es Falso
Lgica Positiva Lgica Negativa
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Captulo 2.- Fundamentos Del Diseo Digital
Lgica Mixta: Mezcla de las 2 lgicas
L Falso
Positiva
H Verdadero
L Verdadero
Negativo
H Falso
.L A A.H
.H A A.L

22/10/2008 Sistemas Digitales I - Ing. S. Ros


Captulo 2.- Fundamentos Del Diseo Digital
Tablas de Voltaj e:
AND ( Puertas de Producto)
Tabla de Verdad Tabla de Voltaj e Puerta Lgica AND
A B A . B
0 0 0
0 1 0
1 0 0
1 1 1
A.H B.H (A.B).H
L L L
L H L
H L L
H H H
A . H
B . H
(A . B) .H
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Captulo 2.- Fundamentos Del Diseo Digital
Tablas de Voltaje:
NAND
Tabla de Verdad Tabla de Voltaje Puerta Lgica NAND
A B A NAND B
0 0 1
0 1 1
1 0 1
1 1 0
A.H B.H (A.B).L
L L H
L H H
H L H
H H L
B . H
(A . B) L
A . H
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Captulo 2.- Fundamentos Del Diseo Digital
OR
Tabla de Voltaje Puerta Lgica OR
A.L B.L A.B.L
H H H
H L H
L H H
L L L
B . L
(A . B). L
A . L
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Captulo 2.- Fundamentos Del Diseo Digital
NOR
Tabla de Voltaje Puerta Lgica NOR
A.L B.L A.B.H
H H L
H L L
L H L
L L H
B . L
A . B. H
A . L
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Captulo 2.- Fundamentos Del Diseo Digital
OR (Puertas de Suma)
Tabla de Verdad Tabla de Voltaje Puerta Lgica OR
A.H B.H A+B.H
L L L
L H H
H L H
H H H
A B A + B
0 0 0
0 1 1
1 0 1
1 1 1
A.H
B.H
A+B.H
Tabla de voltaje para OR da iguales valores ya sea puerta de suma o de
producto
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Captulo 2.- Fundamentos Del Diseo Digital
NOR (Puertas de Suma)
Tabla de Verdad Tabla de Voltaje Puerta Lgica NOR
A.H B.H A+B.L
L L H
L H L
H L L
H H L
A B A NOR B
0 0 1
0 1 0
1 0 0
1 1 0
A.H
B.H
A+B.L
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Captulo 2.- Fundamentos Del Diseo Digital
NAND
Tabla de Voltaje Puerta Lgica NAND
A.L B.L A+B.H
H H L
L H H
H L H
L L H
A.L
B.L
(A+B).H
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Captulo 2.- Fundamentos Del Diseo Digital
AND
Tabla de Voltaje Puerta Lgica AND
A.L B.L A+B.L
H H H
H L L
L H L
L L L
A.L
B.L
(A+B).L
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Captulo 2.- Fundamentos Del Diseo Digital
NO
Tabla de Verdad Inversor
A
0 1
1 0
A
.H A A.L
.L A A.H
=
=
A.H
A.L
A.L
A.H
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Captulo 2.- Fundamentos Del Diseo Digital
Operadores No Naturales
OR EXCLUSIVO
Tabla de Verdad Tabla de Voltaje Puerta Lgica EXOR
A B
0 0 0
0 1 1
1 0 1
1 1 0
B A
A.H B.H
L L L
L H H
H L H
H H L
B.H A
A . H
B . H
B.H A
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Captulo 2.- Fundamentos Del Diseo Digital
NEXOR
Tabla de Verdad Tabla de Voltaje Puerta Lgica NEXOR
A B
0 0 1
0 1 0
1 0 0
1 1 1
B NEXOR A
A.H B.H
L L H
L H L
H L L
H H H
B.L A
A . H
B . H
B.L A
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Captulo 2.- Fundamentos Del Diseo Digital
Coincidencia
Tabla de Verdad Tabla de Voltaje Puerta Lgica
Coincidencia
A.H B.H A . B.H
L L H
L H L
H L L
H H H
A B A . B
0 0 1
0 1 0
1 0 0
1 1 1
A.H
B.H
(A . B) H
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Captulo 2.- Fundamentos Del Diseo Digital
Inversor de Voltaje que hacer cuando no lo encontramos en el mercado?
- Con NAND: corto circuito o puenteo las entradas o conecto a +Vcc una
entrada
- Con NOR:
A.H
A.L
A.L
A.H
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Captulo 2.- Fundamentos Del Diseo Digital
Implementacin de Circuitos Digitales
Existen diferentes maneras de implementar el circuito lgico dependiendo
de la lgica y puertas usadas
Circuito
Digital
A.H
B.H
C.H
F.H
C B B A C AB F + + =
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Captulo 2.- Fundamentos Del Diseo Digital
Usando solo And, Or, e Inversores
Usando And, Nand (suma) e Inversores
A.H
B.H
C.H
.H C AB
A.L A.H
B.H A F.H
B.H
B.H
C.H
C.H B
B.H
A.H
C.H
A.H
B.H
B.H
C.H
.H C AB
.L C AB
B.L A
B.H A
C.L B C.H B
F.H
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Captulo 2.- Fundamentos Del Diseo Digital
Usando solo Nand
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Captulo 2.- Fundamentos Del Diseo Digital
Usando solo Puertas NAND de 2 Entradas
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Captulo 2.- Fundamentos Del Diseo Digital
Puertas Lgicas Resumen
Producto Suma Nombre ECG Descripcin
AND 7408 4 And, 2
entradas
NAND 7400 4 Nand, 2
entradas
NOR 7402 4 Nor, 2
entradas
OR 7432 4 Or, 2 entradas
EXOR 7486 4 Exor
NEXOR 74266 4 Nexor
INVERSOR 7404 6 Inversores
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Captulo 2.- Fundamentos Del Diseo Digital
Circuitos Integrados
Los C. I. digitales son una coleccin de resistores, diodos y
transistores fabricados sobre una pieza de material semiconductor
(Si) denominada sustrato. El C.I. se encuentra dentro de un
encapsulado plstico o de cermica con terminales. El ms comn
encapsulado es el Dip (Dual in line package)
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Captulo 2.- Fundamentos Del Diseo Digital
Algebra de Boole
Postulados de Huntington
Axiomas
1.- Sobre un conjunto S de elementos que es cerrado con respeto a
un operador, si para cada par de elementos en S, el operador
especifica un nico resultado el cual tambin es un elemento de S.
A, B S
C=A.B
C S
2.a.- Existe un elemento 0 en S tal que para cada A en S A+0=A
2.b.- Existe un elemento 1 en S tal que para cada A en S A.1= A
3.a.- Leyes Conmutativas A+B = B+A
3.b.- A.B = B.A
4.a.- Leyes Distributivas A+(B.C) = (A+B).(A+C)
4.b.- A.(B+C) = (A.B)+(A.C)
5.- Para cada A en S existe un elemento A tal que A+A = 1
A.A = 0
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Captulo 2.- Fundamentos Del Diseo Digital
Identidades
0.A=0 1+A=1
1.A=A 0+A=A
A.A=A A+A=A
A.A=0 A+A=1
A = A
Teoremas
A+AB=A Absorcin
A+AB=A+B Absorcin
AB+AB=A Adyacencia Lgica
A+B+C+ = A . B . C .. De Morgan
A.B.C= A + B + C +. De Morgan
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Captulo 2.- Fundamentos Del Diseo Digital
Representacin de expresiones Lgicas
Productos Lgicos (Minitrminos) SOP
Suma de productos en la forma cannica
F1=f(A,B,C)
F2=g(A,B,C)
Partimos de la tabla de verdad
Minitrminos A B C F1 F2 F1 = (minitrminos = 1)
m
0
0 0 0 0 1 F1 = (1,2,6,7)
m
1
0 0 1 1 0 F1 = m
1
+ m
2
+ m
6
+m
7
m
2
0 1 0 1 1 Para que m
1
= 1 los valores
m
3
0 1 1 0 0 de verdad de los productos
m
4
1 0 0 0 1 deben ser iguales a 1
m
5
1 0 1 0 0 m
1
= 1 Con A=0; B=0; C=1
m
6
1 1 0 1 1 m
1
= A B C
m
7
1 1 1 1 1
Circuito
Digital
A
B
C
F1
F2
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Captulo 2.- Fundamentos Del Diseo Digital
m
2
= A B C m
6
= A B C m
7
= A B C
F1 = A B C + A B C + A B C + A B C
F1 = A (B C + B C) + A (B C + B C)
F1 = A (B C) + A B (C + C)
F1 = A (B C) + A B
F2 = (minitrminos = 1)
F2 = (0,2,4,6,7)
F2 = m
0
+ m
2
+ m
4
+m
6
+m
7
F2 = A B C + A B C + A B C + A B C + A B C
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Captulo 2.- Fundamentos Del Diseo Digital
Sumas Lgicas (Maxitrminos) POS Productos de Sumas en la
forma cannica
Maxitrminos A B C F1 F2 F1 = (Maxitrminos = 0)
M
0
0 0 0 0 1 F1 = (0,3,4,5)
M
1
0 0 1 1 0 F1 = M0 . M3 . M4 . M5
M
2
0 1 0 1 1 Para que M0 = 0 los valores
M
3
0 1 1 0 0 de verdad de los sumandos
M
4
1 0 0 0 1 deben ser iguales a 0
M
5
1 0 1 0 0 M0 = 0 Con A=0; B=0; C=0
M
6
1 1 0 1 1 M0 = A + B + C
M
7
1 1 1 1 1
F1 = (A + B + C).(A + B + C).(A + B + C).(A + B + C)
0 valor no negado en los POS
1 valor no negado en los SOP
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Ej ercicio: Para la siguiente tabla de verdad encuentre la
funcin lgica mnima.
A B C D F1
0 0 0 0 1
0 0 0 1 1
0 0 1 0 1
0 1 0 0 0
0 0 1 1 1
0 1 0 1 0
0 1 1 0 0
0 1 1 1 0
1 0 0 0 1
1 0 0 1 1
1 0 1 0 1
1 0 1 1 1
1 1 0 0 0
1 1 0 1 0
1 1 1 0 0
1 1 1 1 0
F1 = (miniterminos = 1)
F1 = (0,1,2,3,8,9,10,11)
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Mapa de Karnaugh
Mapa de dos variables
A B F
m
0
m
1
m
2
m
3
0 0 0
0 1 1
1 0 0
1 1 1
1
3
1
1
B
0
2
0
0
B
A A Con SOP:
F=(1,3)
F= m
1
+m
3
F= B+AB
F=B(+A)
F=B
Con el mapa F=B
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Mapa de Karnaugh
Cada Celda corresponde a cada minitrmino.
Se agrupan los 1 para trabajar con SOP.
Se realizan agrupamientos de 1s adyacentes.
No existen adyacencia en las diagonales.
Se realizan agrupamientos de 1s en 2
n
celdas:
1,2,4,8,16 etc celdas.
El nmero de variables eliminadas de la expresin =n
La variable constante permanece como parte del
agrupamiento. La(s) variable(s) que cambia(n) de valor
se eliminan del resultado.
Por lo menos un 1 del agrupamiento debe quedar
cubierto solo una vez.
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Mapa de Karnaugh
F=A
1
3
0
1
B
1
2
0
0
B
A A
1
3
1
1
B
1
2
0
0
A
F=A+B F=1 F= B + A B
F= A + B
1
3
1
1
B
1
2
1
0
A
1 0 B
0 1
A
22/10/2008 Sistemas Digitales I - Ing. S. Ros
A B C F
0 0 0 1
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 0
B
0
5
1
7
1
3
1
1
C
1
4
1
6
1
2
1
0
A
F=+B+C
B
1 0 0 1 C
1 0 0 1
A
F=B
B
0
5
0
7
1
3
1
1
C
0
4
0
6
1
2
1
0
A
F=A
Mapa de Karnaugh
Mapa de tres Variables
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Mapa de Karnaugh
Mapa de cuatro variables
A
1
0
1
4
0
12
0
8
1
1
1
5
1
13
1
9
1
3
1
7
1
15
1
11
0
2
0
6
0
14
0
10
B
D
C
F=C + D
B
1 1
1 1
C
D
1 1
1 1
A
F=B
B
1 1
C
D
1 1
A
F= B D
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Mapa de Karnaugh
Mapa de 5 variables
B
1
0
1
4
12 8
1
1
1
5
13 9
3
7
15
11
2
6
14
10
C
E
D

F= B D
C
26
30
22
18
27
31
23
19
D
E
25
29
1
21
1
17
24 28
1
20
1
16
B
A
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Mapa de Karnaugh
Mapa de 6 variables
B B
A B
A B
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Mapa de Karnaugh
Implicante Primo: es cualquier agrupamiento que no est cubierto
por un agrupamiento ms grande.
Implicante Esencial: es un agrupamiento primo que tiene 1s que
estn cubiertos por un solo agrupamiento (Agrupamientos que se
realizan de una sola manera posible).
Implicante Necesario: Es el que nos ayuda a reducir la expresin
lgica.
Implicante Opcional: varias expresiones lgicas mnimas de las
cuales solo una es vlida.
Implicante Redundante: es el que no es necesario.
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Condiciones sin importancia (Dont Care)
Circuito
Digital
A
B
C
F
La salida se produce para cierta
combinacin de entrada que en el
mundo real es inexistente.
A B C F
0 0 0
0 0 1 0
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1
1 1 0 0
1 1 1 0
0
1
0
1
Dont Care
-
-x
-d
B
1 1 0 C
1 0 0
A
F= A
Da lo mismo tener un cero que un uno
al hacer la implementacin o el diseo
ya que por lo general son condiciones
que en las entradas no suceden.
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Ejemplo
Caso tpico
x
1
x
2
x
3
x
4
Decodificador
para Display
de 7 segmentos
a
b
c
d
e
f
g
Diodos emisores de luz
a
b
c
d
f
g
e
Punto decimal
0 apagado
1 encendido
Pantalla Tpica
Para este decodificador las entradas son X
1
, X
2
, X
3
, X
4
y las salidas son a,
b, c, d, e, f, g. Los nmeros NBCD estn en el rango de 0 a 9. Las
combinaciones posibles con 4 entradas son 16 pero solo 10 sern
ocupadas. Las combinaciones que no se ocupan en las salidas sern .
NBCD
22/10/2008 Sistemas Digitales I - Ing. S. Ros
x1 x2 x3 x4 a b c d e f g
0 0 0 0 0 1 1 1 1 1 1 0
1 0 0 0 1 0 1 1 0 0 0 0
2 0 0 1 0 1 1 0 1 1 0 1
3 0 0 1 1 1 1 1 1 0 0 1
4 0 1 0 0 0 1 1 0 0 1 1
5 0 1 0 1 1 0 1 1 0 1 1
6 0 1 1 0 1 0 1 1 1 1 1
7 0 1 1 1 1 1 1 0 0 0 0
8 1 0 0 0 1 1 1 1 1 1 1
9 1 0 0 1 1 1 1 1 0 1 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
Fuera del
rango
NBCD
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Captulo 2.- Fundamentos Del Diseo
Digital
X
2
1 1
1 1
X
3
X
4
1 1 0
1 0 1
X
1
X
2
0 1
1 1
X
3
X
4
1 0 1
1 1 1
X
1
X
2
1 0
1 1
X
3
X
4
1 1 1
1 1 1
X
1
a=x
1
+ x
3
+ x
2
x
4
+ x
2
x
4 b=x
2
+ x
3
x
4
+ x
3
x
4
c=x
3
+ x
4
+ x
2
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Mtodo de la variable entrante en el mapa ( VEM)
En un mapa se introduce la variable y se reduce una variable en el mapa.
Para ingresar la variable C agrupo sus 2 posibilidades conservando iguales
las combinaciones de A y B y multiplico por el valor de la funcin.
A B C F
0 0 0 1
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1
1 1 0 1
1 1 1 0
c c B
0
C+C
1
A
VEM VEM
C
B
0 1 1
0 1 0 1
A
Se agrupan celdas adyacentes y que tengan variables iguales, la
suma de variables nicas o grupos de productos iguales. Solo
variables en el Paso 1 y de no haber con quien agrupar entonces
se agrupan con 1 o con . Si alguien falta de agrupar, se lo
realizar en el paso 2. Se agrupan variables VEM o VEM en el
paso 1 obligatoriamente. No es obligatorio para VEM o VEM
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Paso 1
a) Agrupamos todas las VEM o VEM nicas que no pueden agruparse con otra VEM VEM idntica
o con un 1 o con (islas).
b) Agrupamos todas los MEV dobles (formamos grupos de 2 VEM).
c) Formamos grupos de una VEM con un 1
d) Formamos grupos de una VEM con un
e) Formamos grupos de 4 VEM idnticos o con 1 o ; 8,16 ect.
Paso 2
a) Reemplazar las VEM o VEM por un 0
b) Reemplazar 0 0;
c) Reemplazar 1 1 Si no est completamente cubierto: A + A = 1
Si est completamente cubierto.
d) Reemplazar VEM VEM 0.
e) Reemplazar VEM + VEM 1 Si no est cubierto o si solo el est cubierto.
VEM + VEM Si est completamente cubierto o si solo el VEM est cubierto.
c +c c +c
VEM
Mtodo de la variable entrante en el mapa ( VEM)
22/10/2008 Sistemas Digitales I - Ing. S. Ros
Captulo 2.- Fundamentos Del Diseo
Digital
Ej emplo: I ngrese c al mapa y obtenga la expresin lgica mnima para F ( celdas con
variables nicas se agrupan primero)
A B C F
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0
1 1 1
c+ c =
1 B
0 0
A
c+c

c+c1
1
B
c 0
A
Paso 1
F=C A + B
Paso 2
Captulo 3: Lenguaje de
Descripcin del Hardware (VHDL)
SISTEMAS DIGITALES I
HDL: Lenguaje de Descripcin
del Hardware
Similar a un lenguaje de computadora excepto que un
HDL describe Hardware que luego de simulado puede ser
construido.
Existen 2 HDL que son estndares IEEE: VHDL (Very High
Speed Integrated Circuit Hardware Description Lenguage)
y Verilog HDL.
El VHDL es ms popular pero ambos se usan a nivel
industrial.
Inicio en 1980 en el Departamento de Defensa (DoD).
Luego en 1983 formalmente empezaron el proyecto VHDL
con: Intermetrics, Texas Instruments e IBM.
IEEE empez la estandarizacin en 1984 que luego se
aprob en 1987 con el nmero 1076.
En 1994 el IEEE public la revisin del estandar IEEE Std
1076-1993 que es la que se encuentra vigente.
VHDL
Trabaja con diseo jerrquico: top down o down - top.
Independencia tecnolgica que permite disear circuitos
cuya descripcin no depende de la forma de
implementacin fsica posterior.
Universalidad, es decir compatibilidad con un gran
nmero de herramientas CAD.
Diferentes tipos de Descripciones: Sistema, algortmico,
RTL, Lgico, Conmutacin, Elctrico, Fsico.
Caractersticas: Se declara una caja negra (entity) con
un identificador para el circuito, y sus terminales de
entrada y salida. Tambin se declaran las direcciones de
los terminales (in, out) y el tipo de datos que admiten.
Luego se describe el circuito en s dentro del cuerpo de
una arquitectura. Esta descripcin difiere segn el nivel.
Estructura de un programa en
VHDL
Cuando se utiliza VHDL, un sistema digital se divide en varios bloques para
efectuar el proceso lo ms comprensible y que sea fcil de probar y de dar
mantenimiento. En VHDL, cada porcin del diseo es considerado un
bloque, que es descrito en el lenguaje, mediante una entidad y una
arquitectura.
La entidad me describe el exterior de mi circuito y la arquitectura su
comportamiento interno.
Bloque 1
Bloque 3 Bloque 2
Bloque 4
arquitectura 1
Arquitectura 3 arquitectura 2
arquitectura 4
entidad 1
entidad 2 entidad 3
entidad 4
Ejemplo de entidad y arquitectura
ENTI TY nand2 I S
PORT(I1,I2: I N BIT;
O : OUT BIT);
END nand2;
ARCHI TECTURE C1 OF nand2 I S
BEGI N
O<=NOT(I1 AND I2)
END C1;
Adicionalmente el archivo de texto creado se graba con extensin vhd.
Para nuestro ejemplo: nand2.vhd
B
F
A
Estructura Bsica de un programa VHDL.
Se inicia declarando las bibliotecas que se usarn en el
programa.
Ej: LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_unsigned.all;
Luego se indica la entidad con sus entradas, salidas y los
modos y tipos de datos.
Modo: IN OUT BUFFER INOUT
Entrada Salida Salida realimentada Bidireccional
Tipo: BIT, STD_LOGGIC, STD_LOGIC_VECTOR
Despus se lista la arquitectura.
Estructura Bsica de un programa VHDL.
LI BRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_unsigned.all;
ENTI TY <nombre_entidad> I S
PORT(<nombre_pin>: <modo><tipo>;
<nombre_pin>: <modo><tipo>);
END <nombre_entidad>;
ARCHI TECTURE <nombre_arquitectura> OF <nombre_entidad> I S
BEGI N
<sentencia>; <comentario>
<sentencia>; <comentario>
END <nombre_arquitectura>;
Tipos de datos
Ejemplos de tipos de datos
BIT: describe valores binarios. Rango: 0, 1
Ejemplo:
ENTI TY nand2 I S
PORT(A,B: I N BIT;
F : OUT BIT);
END nand2;
BIT_VECTOR: describe cadenas de bits. Rango: conjunto de
bits. Se escribe entre comillas: 1010
Ejemplo:
ENTI TY manejador I S
PORT (S: IN BIT_VECTOR (3 DOWNTO 0);
X: OUT BIT_VECTOR (1 TO 7));
END manejador;
Ejemplos de tipos de datos
CHARACTER: describe caracteres. Rango:
son los 256 caracteres del estandar ISO
8859-1: 1987 los 128 primeros son los
caracteres ASCII.
a
STRING: describe cadenas de caracteres.
Rango: conjunto de caracteres.
abcde
Estructura de un programa
escrito en VHDL
En VHDL una arquitectura
tiene dos partes: La
regin de las declaraciones
y el cuerpo de la
arquitectura.
La regin de declaraciones
precede la palabra clave
BEGIN. Puede ser usada
para declarar seales,
variables y constantes.
Tambin puede ser usada
para declarar componentes
y especificar atributos.

{Enunciado concurrente}
ARCHI TECTURE nombre_arq OF nombre_ent I S
[Declaracin de seales]
[Declaracin de tipos]
[Declaracin de variables]
[Declaracin de constantes]
[Declaracin de componentes]
[Especificacin de atributos]
BEGI N
{Instanciacin de componentes}
{Enunciado secuencial [Proceso]}
END nombre_arq;
Tipos de descripciones dentro
de la arquitectura
Estructural o lgica: Descripcin exacta
del esquema lgico que resuelve la
funcin objeto del diseo.
De flujo de datos o RTL.
Comportamental o algortmica
(descripcin funcional).
Descripcin Estructural o lgica
En la descripcin estructural el cuerpo
de la arquitectura se transforma en una
descripcin exacta del esquema lgico.
Para la descripcin estructural el VHDL
se apoya en las declaraciones de
componentes
La cantidad de declaraciones de
componentes debe de corresponder con
la cantidad de componentes distintas
que formarn parte del circuito fsico
que realiza la funcin lgica a disear.
La declaracin component posee una
estructura similar a la de una entidad,
pero no tiene la misma connotacin.
component nombre_componente
port (seales_entrada: modo tipo;
seales_salida: modo tipo);
end component;
Descripcin Estructural o lgica
En la seccin de declaraciones de la
arquitectura (regin ubicada entre la
palabra reservada architecture y la
palabra begin) puede existir la necesidad
de realizar algunas declaraciones de
seales internas, las cuales intervienen
en la descripcin del circuito, pero que
no tienen acceso a los terminales
externos del diseo (no estn declaradas
en la entidad.
Aparecen en maysculas las palabras
reservadas del lenguaje VHDL para
resaltarlas, pero no es necesario ya que
el VHDL no es sensible al tipo de letra
ARCHI TECTURE nombre_arq OF nombre_ent I S
[ Declaracin de tipos]
[ Declaracin de seales]
[ Declaracin de variables]
[ Declaracin de constantes]
[ Declaracin de componentes]
[ Especificacin de atributos]
BEGI N
I nstanciacin de componentes
. . .
I nstanciacin de componentes
END nombre_arq;
Descripcin Estructural o lgica
Ej: Realizar la
descripcin en VHDL de
tipo estructural de la
operacin EXOR
Y = AB + AB
ENTITY XOR IS
PORT (A,B: IN BIT;
Y: OUT BIT);
END XOR;
A
B
Y
Descripcin Estructural o lgica
La arquitectura puede ser la siguiente:
Architecture XOR1 of XOR is
- - declaracin de seales
signal AN, BN : bit;
signal ANB, ABN : bit;
- - declaracin de componentes
component INV
port (I: in bit;
O: out bit);
end component;
component AND2
port (I1, I2: in bit;
O: out bit);
end component;
component OR2
port (I1, I2: in bit;
O: out bit);
end component;
A
B
Y
AN
BN
ANB
ABN
Descripcin Estructural o lgica
Estamos usando 3 tipos
de componentes: un
inversor (declarado INV),
una compuerta AND de
dos entradas (declarada
AND2) y una compuerta
OR de dos entradas
(declarada OR2).
Para la descripcin de la
funcin lgica XOR se
emplearon dos instancias,
U1 y U2 de INV; dos
instancias U3 y U4 de
AND2 y una instancias U5
de OR2.
begin
-- instanciacin de componentes
U1: INV port map (A,AN);
U2: INV port map (B,BN);
U3: AND2 port map (AN,B,ANB);
U4: AND2 port map (A,BN,ABN);
U5: OR2 port map (ANB,ABN,Y);
end XOR1;
Descripcin Estructural o lgica
En la asociacin nominal o
explcita se vuelve
irrelevante el orden de los
parmetros, por cuanto
dentro del parntesis se
indican explcitamente las
seales que se conectan a
los terminales de las
componentes, mediante el
smbolo => de asignacin
component OR2
port (I1, I2: in bit;
O: out bit);
end component;
begin
. . .
- - asociacin explcita
U5: OR2 port map(O=>Y, I1=>ANB,
I2=>ABN);
end XOR1;
Descripcin Estructural o lgica
Evidentemente, el estilo estructural de la escritura de una arquitectura
es extenso, incluso para circuitos relativamente pequeos, por lo que si
el circuito es grande su escritura puede ser tediosa y propensa a
cometer errores.
ENTI TY XOR I S
PORT (A, B: I N BIT;
Y: OUT BIT);
END XOR;
Architecture XOR1 of XOR is
- declaracin de seales
signal AN, BN : bit;
signal ANB, ABN : bit;
- declaracin de componentes
component INV
port (I: in bit;
O: out bit);
end component;
component AND2
port (I1, I2: in bit;
O: out bit);
end component;
component OR2
port (I1, I2: in bit;
O: out bit);
end component;
begin
- instanciacin de componentes
U1: INV port map(A,AN);
U2: INV port map(B,BN);
U3: AND2 port map(AN,B,ANB);
U4: AND2 port map(A,BN,ABN);
U5: OR2 port map(ANB,ABN,Y);
end XOR1;
Descripcin Estructural o lgica
Uno de los tipos de seales
con que trabaja en VHDL es
el arreglo de seales, tanto
del tipo bit_vector, como del
tipo std_logic_vector. Esto
permite escribir de forma
ms compacta los diseos en
VHDL.
Ellos representan un arreglo
de bits y se utilizan con
dispositivos multiterminales.
Descripcin Estructural o lgica
Ej: Realizar la
descripcin VHDL de
tipo estructural de un
decodificador de 2
entradas y 4 salidas,
activadas con el nivel
bajo, y una entrada
de habilitacin,
tambin activa en el
nivel bajo.
Descripcin Estructural o lgica
Lo primero es realizar la
declaracin de la entidad. La
declaracin de la arquitectura
del decodificador, en su
primera parte, corresponde a
la declaracin de los
diferentes tipos de
componentes. Se usan dos
tipos de componentes: INV,
un inversor y NAND3, una
compuerta NAND de 3
entradas.
architecture decod_a of decod2x4 is
-- declaracin de seales
signal AN(1),AN(0), EN: bit;
-- declaracin de componentes
component INV
port (I: in bit;
O: out bit);
end component;
component NAND3
port (I1, I2, I3: in bit;
O: out bit);
end component;
Descripcin Estructural o lgica
En el cuerpo de la
arquitectura se observa la
instanciacin de los 7
componentes, los cuales
son conectados usando la
clusula port map con
asociacin implcita.
begin
--instanciacin de componentes
U1: INV port map (A(0),AN(0));
U2: INV port map (A(1),AN(1));
U3: INV port map (NEN,EN);
U4: NAND3 port map (EN, AN(1), AN(0), NY(0));
U5: NAND3 port map (EN, AN(1), A(0), NY(1));
U6: NAND3 port map (EN, A(1), AN(0), NY(2));
U7: NAND3 port map (EN, A(1), A(0), NY(3));
end decod_a;
Descripcin por flujo de datos
o RTL
En la descripcin por flujo de datos, la
arquitectura describe como fluyen las
seales de entrada por el circuito hacia
los terminales de salida.
Este estilo de escritura de la
arquitectura es llamada descripcin de
transferencia de registros RTL (Register
Transfer Language).
Descripcin por flujo de datos
o RTL
En la aproximacin por flujo de
datos se utilizan declaraciones
de asignacin de seales, as
como operadores lgicos que
no se emplean en el estilo de
escritura estructural.
Los operadores lgicos que
tiene el VHDL en sus libreras
son: not, and, or, nand, nor,
xor y xnor.
Ejemplo: La arquitectura por descripcin
de flujo de datos de una compuerta XOR
de dos entradas es:
architecture XOR2 of XOR is
begin
--asignacin de seales
Y <= (not A and B) or (A and not B);
end XOR2;
A
B
Y
Descripcin por flujo de datos
o RTL
La forma de descripcin de la
arquitectura mediante la
aproximacin por flujo de datos
simplifica los diseos VHDL, pues
los hace ms compactos.
Despus de la palabra clave begin
se produce la asignacin del flujo
de datos de las seales del
miembro de la derecha hacia la
seal Y, del miembro de la
izquierda (salida).
El miembro de la derecha del
operador de asignacin <= se le
conoce como expresin, cuyo valor
se obtiene evalundola completa.
Ejemplo: La existencia del operador XOR
compacta extraordinariamente el cuerpo
de la arquitectura de la entity XOR
Architecture XOR3 of XOR is
Begin
- asignacin de seales
Y < = A xor B;
End XOR3
Descripcin por flujo de datos
o RTL
El VHDL, como otros
lenguajes de programacin
posee un conjunto de
operadores que se usan con
las seales o con las
variables declaradas en sus
diseos.
Lgicos: AND, OR, XOR, NOT, NAND,
NOR y XNOR
Aritmticos: +, -, * (multiplicacin solo
por 2)
De relacin: =, /=, <, >, <=, >=
De concatenacin: &
Descripcin por flujo de datos
o RTL
La tabla presentada a
continuacin contiene
una clasificacin de los
operadores definidos en
el lenguaje VHDL, as
como los tipos de datos
sobre los que se pueden
operar los mismos.
Los operadores lgicos
han sido extendidos al
uso en cualquier tipo de
seal lgica, ya sea
bit_vector, std_logic, o
std_logic_vector.
Definidos para los tipos
Bit, Boolean, Bit_vector,
std_logic y std_logic_vector
Integer, Bit, y Bit_vector
Integer
Bit, Bit_vector y para las
cadenas
Lgicos:
De relacin:
Aritmticos:
Concatenacin:
Operadores
Descripcin por flujo de datos
o RTL
Cuando los operadores lgicos
se usan con los tipos de
seales std_logic o bit, ellos
poseen su significado usual.
Los valores '0' y '1' son valores
constantes y deben estar
encerrados entre apstrofes.

Un ejemplo de operaciones lgicas con el
tipo de datos vector es el siguiente:
Cuando el tipo de seal usada
es declarada std_logic_vector
o bit_vector, entonces los
valores deben estar encerrados
entre comillas.
01100101xor10101101=11001000
Descripcin por flujo de datos
o RTL
Existe un operador interno del
VHDL, que es el signo & y que
realiza la concatenacin de
seales o variables de distinta
longitud.
En el ejemplo para concatenar la seal a, a la mitad de la
derecha del vector b y no tener incongruencias en los
resultados con vectores se realizan las asignaciones
siguientes. El smbolo & aade el vector a (de 4 bits) al
final de una secuencia de 4 ceros 0000 para realizar
exitosamente la asignacin al vector b, que fue declarado
como un vector de 8 bits.
Ejemplo: Sean las siguientes
declaraciones:
Signal a: bit_vector(1 to 4);
Signal b: bit_vector(1 to 8);
b<=0000&a;
Descripcin por flujo de datos
o RTL
En el cuerpo de la arquitectura de un
diseo VHDL por RTL se usan,
sentencias concurrentes de asignacin
de seales, cuyo formato se presenta
a continuacin.
En una descripcin RTL, el valor de la
expresin del miembro de la derecha
de la asignacin de seales ( < = ), se
lo transfiere al nombre de la seal del
miembro de la izquierda.
Ambos miembros deben ser del
mismo tipo, para que no existan
incompatibilidades.
-- asignacin de seales
Nombre de la seal<=expresion;
-- asignacin condicional de seales
Nombre de la seal<=expresin
when expresin booleana else
Nombre de la seal<=expresin
when expresin booleana else

Nombre de la seal<=expresin
when expresin booleana else
Expresin;
Descripcin por flujo de datos
o RTL
Ejemplo 8:
Realice una descripcin en VHDL de
la arquitectura de un comparador
de dos entradas, a y b, de 4 bits
cada una y una salida E de 1 bit.
En esta arquitectura se describe
cmo los datos se mueven desde
los terminales de entrada, de seal
en seal, hasta la salida.
Se necesita del conocimiento del
circuito lgico del comparador, del
cual obtener la funcin E de salida:
E=(a0b0)(a1b1)(a2b2)(a3b3)
Entity comp is
Port ( a, b: in bit_vector ( 3 downto 0) ;
E: out bit) ;
End comp;
Architecture comparador_1 of comp is
Begin
--asignacin de seales
E< = not( a( 0) xorb( 0) )
and not( a( 1) xorb( 1) )
and not( a( 2) xorb( 2) )
and not( a( 3) xorb( 3) )
end comparador_1;
Descripcin por flujo de datos
o RTL
Ejemplo 8:
Realice una descripcin en
VHDL de la arquitectura de
un comparador de dos
entradas, a y b, de 4 bits
cada una y una salida E de 1
bit.
Otra solucin ms compacta
se puede construir usando la
estructura when else. Esta
solucin no necesita del
conocimiento del circuito
lgico del comparador.
Library ieee;
Use ieee.std_logic_1164.all;
Entity comp is
Port ( a, b: in bit_vector( 3 downto 0) ;
E: out bit) ;
End comp;
Architecture comparador_2 of comp is
Begin
--asignacin de seales
E< = 1 when ( a= b) else 0;
end comparador_2;
Descripcin por flujo de datos
o RTL
En VHDL, cuando una seal cambia de valor se dice que
se ha producido un evento. La existencia de eventos da
lugar a otro evento (cambio de valores en las expresiones
en los miembros de la derecha de los operadores de
asignacin). De esta manera se actualizan los valores de
las seales.
En el ejemplo anterior, un cambio en las entradas a o b,
o en ambas provocar un cambio en la expresin. Este
cambio es asignado a la seal de salida E, actualizando
su valor.
E <= '1' when (a=b) else '0';
Descripcin por flujo de datos
o RTL
Otro tipo de sentencia de asignacin
concurrente usada en la descripcin
por flujo de datos es la asignacin
de seal seleccionada, cuya sintaxis
se expresa a continuacin. Este tipo
de declaracin de asignacin utiliza
la estructura with select when
En esta estructura se evala la
expresin que acompaa a la
declaracin with y cuando el valor
coincide con una de las alternativas
sealadas despus de la palabra
clave when, entonces el valor
correspondiente a esta alternativa se
lo asigna al nombre de la seal.
--asignacin de seal seleccionada
with expresin select
seal <= valor1 de la seal when alternativa 1,
valor2 de la seal when alternativa 2,
. . .
valorn de la seal when alternativa n;
Descripcin por flujo de datos
o RTL
Las alternativas contenidas
despus de la palabra clave
when pueden ser varias o una
sola. Si son varias, las
alternativas deben ser todas
distintas y cubrir todos los
posibles valores de stas.
Cuando el valor de la seal
para varias alternativas es el
mismo, pueden ser
expresadas como una lista de
valores separados por barras
verticales ( | )

Las barras verticales (| ) tienen el
mismo significado que la operacin OR
Valor de la seal when alternativa1 |
alternativa2 | alternativa3 | ..
| alternativaN,
Descripcin por flujo de datos
o RTL
Cuando no se cubren todos
los posibles valores de las
alternativas, se debe usar la
palabra clave de VHDL
others, con el ltimo when
en este tipo de asignacin
de seales.
Este tipo de declaracin de
asignacin utiliza la
estructura with select
when others
--asignacin de seal seleccionada
with expresin select
seal <= valor1 de la seal when alternativa 1,
valor2 de la seal when alternativa 2,
. . .
valorn de la seal when others;
Descripcin por flujo de datos
o RTL
Ejemplo 9:
Escriba en VHDL una
descripcin de la
siguiente funcin:
T(x,y,z,u,v) =
(0,4,18,19,22,23,25,29) +
(14,16,20,24)
Entity circuito is
port (m: in integer range (31 downto 0);
T: out std_logic);
End circuito;
Architecture RTL of circuito is
Begin
-- asignacin de seal seleccionada
With m select
T <= 1 when 0 | 4 | 18 | 19 | 22 | 23 | 25 | 29,
- when 14 | 16 | 20 | 24, -- opcionales
0 when others;
end RTL;
Descripcin por flujo de datos
o RTL
Ejemplo 10:
Escriba en VHDL la
descripcin de un circuito
combinacional, el cual recibe
en sus entradas los dgitos del
sistema decimal codificados
en NBCD y tiene una salida P,
que va a 1 cuando se detecta
en sus entradas un dgito par.
entity detector is
port (N: in integer range (15 downto 0);
P: out std_logic);
end detector;
architecture num_par of detector is
Begin
-- asignacin de seal seleccionada
with N select
P <= 1 when 0 | 2 | 4 | 6 | 8,
0 when 1 | 3 | 5 | 7 | 9,
- when others; -- opcionales
end num_par;
Descripcin por flujo de datos
o RTL
Ejemplo 11:
Realizar la descripcin por
flujo de datos de un MUX
4 a 1.
Descripcin por flujo de datos
o RTL
La arquitectura basada en flujo de datos utilizando
operadores lgicos necesita del circuito final de este MUX
architecture MUX1 of MUX is
signal x: bit_vector(3 downto 0);
Begin
--asignacin de seales
X(3) <= S(1) and S(0) and D(3);
X(2) <= S(1) and not S(0) and D(2);
X(1) <= not S(1) and S(0) and D(1);
X(0) <= not S(1) and not S(0) and D(0);
F <= x(3) or x(2) or x(1) or x(0);
end MUX1;
Descripcin por flujo de datos
o RTL
Ejemplo 12: Otra solucin usando
with select.
Como se observa, esta
descripcin de la arquitectura
es ms simple que la anterior y
no necesita del conocimiento
de la lgica interna del circuito.
architecture mux2 of mux is
begin
-- asignacin de seal seleccionada
with S select
F <= D(0) when 00,
D(1) when 01,
D(2) when 10,
D(3) when 11;
end mux2
Descripcin por flujo de datos
o RTL
Ejemplo 13: Disee un
buffer con tercer estado
cuyo circuito se
muestra.
--file: ejemplo13.vhd
library ieee;
use ieee.std_logic_1164.all;
entity ejemplo13 is
port (EN_L, A: in std_logic;
Y : out std_logic);
end ejemplo13;
architecture buffer of ejemplo13 is
begin
Y <= A when EN_L = 1 else Z;
end buffer;
Descripcin por flujo de datos
o RTL
Ejemplo 14: Disee un
circuito que multiplique
dos nmeros enteros
positivos de dos bits cada
uno. Debe tener adems
una entrada habilitadora
EN_L activa en nivel bajo,
tal que la salida est en
un tercer estado de alta
impedancia si EN_L = H
--file: ejemplo14.vhd
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity ejemplo14 is
port (EN_L: in bit;
A, B: in std_logic_vector(1 downto 0);
P: out std_logic_vector(3 downto 0));
end ejemplo14;
architecture producto of ejemplo14 is
begin
with EN_L select
P <= A*B when 1,
ZZZZ when 0;
end producto;
Descripcin por flujo de datos
o RTL
Ejemplo 15:
Empaquetar el diseo
del buffer con tercer
estado cuyo circuito se
muestra en la figura.
library ieee;
use ieee.std_logic_1164.all;
PACKAGE bufferPCK is
component ejemplo13
port( EN_L, A: in std_logic;
Y: out std_logic);
end component;
end bufferPCK;
File: bufferPCK.vhd
Sentencias Concurrentes
I ntroduccin
Las sentencias concurrentes son aquellas que se
ejecutan simultneamente en la simulacin. Se utilizan
para el modelado del hardware, deben formar parte
siempre del cuerpo de arquitecturas o de bloques y son
las siguientes:
Procesos
Asignaciones concurrentes a seal
Llamadas concurrentes o procedimientos
Instanciaciones de componentes
Sentencia when - else
Permite realizar asignaciones condicionales de valores, expresiones u
objetos o seales. Su sintaxis de declaracin es:
[etiqueta:] seal <= valor_1 when condicin_1 else
valor_2 [when condicin_2] [else
] [else
valor_n when condicin_n] [else unaffected];
La seal recibe una asignacin u otra (valor_1valor_n) en funcin de
las condiciones que aparecen tras when. Para la opcin de no
asignacin puede (no cambio en la funcin) utilizarse la keyword
unaffected
Ej emplo de sentencia when - else
Modelo de un sumador de un bit con retencin de la suma
entity SUMADOR is:
port(A, B: in bit; ENABLE: in bit ;
SUMA: out bit_vector (1 downto 0));
end SUMADOR;
architecture CON_WHEN of SUMADOR is
begin
SUMA <= 00when (A=0 and B= 0 and ENABLE = 1) else
01when (A=1 and B= 0 and ENABLE = 1) else
01when (A=0 and B= 1 and ENABLE = 1) else
10when (A=1 and B= 1 and ENABLE = 1) else
unaffected;
end CON_WHEN
Sentencia with-select
Su sintaxis es la siguiente:
[etiqueta:] with expresin select
seal <= valor_1 when resultado_1[,
valor_2 when resultado_2] [,
..] [,
valor_n when resultado_n] [,
unaffected when others];
El valor asignado depende de la evaluacin de la expresin que aparece
entre las palabras reservadas with y select. El resultado se compara con
los valores tras when y se ejecuta la asignacin que resulta verdadera.
Ej emplo de sentencia with-select
El sumador anterior puede ser descrito tambin del siguiente modo:
architecture CON_WITH_SELECT of SUMADOR is
begin
with (ENABLE & A & B ) select
SUMA <= 00 when 100,
01 when 101,
01 when 110,
10 when 111,
unaffected when others;
end CON_WITH_SELECT;
Sentencias Secuenciales
I ntroduccin
Las sentencias secuenciales son aquellas que
solamente pueden aparecer dentro de procesos y
subprogramas. Se ejecutan ordenadamente, de tal
manera que el simulador finaliza completamente
una sentencia antes de pasar a la siguiente.
Todo lo contrario de lo que ocurre en las sentencias
concurrentes en donde no importa el orden.
Sentencia wait
Es una de las ms utilizadas en el modelado de circuitos sncronos,
wait detiene la ejecucin de un proceso o un procedimiento en
espera de que se satisfaga una determinada condicin. Su sintaxis es
la siguiente:
[etiqueta:] wait [on seal_1, seal_2,..]
[until condicin]
[for expresin_temporal];
Por tanto puede haber tres tipos de argumentos de ellos, o bien
ninguno. En este ltimo caso el proceso queda detenido hasta el final
de la simulacin.
Sentencia Wait on
Wait on produce el mismo efecto que la lista de sensibilidad de un
proceso. Por ejemplo:
PROCESO_1: process(A,B)
begin

end process PROCESO_1;


PROCESO_2: process
begin

wait on A,B;
end process PROCESO_2
Case - when
La sentencia case-when permite seleccionar una entre varias
alternativas excluyentes entre s de una expresin determinada, su
sintaxis general es la siguiente:
[etiqueta:] case expresin is
when caso_1[ caso_2 ] => sentencias secuenciales
....
end case [etiqueta];
De este modo una arquitectura alternativa para el mismo sumador
anterior podra ser como se muestra a continuacin.
Ej emplo de Case-When
architecture CON_CASE of SUMADOR is
begin
process
variable X: bit_vector(2 downto 0);
begin
X<= ENABLE & A & B;
case X is
when 100=> SUMA <=00;
when 101| 110 => SUMA <=01;
when 111 => SUMA <= 10;
when others => null;
end case;
end process;
end CON_CASE
Bucles
Para la ejecucin de bucles en VHDL se utiliza la palabra reservada
loop. Existen tres formas de definir un bucle:
- Con for-loop siempre se hace referencia a un bucle finito,
-Con while-loop a uno finito o infinito (depende de la condicin) y
-Con simplemente loop a uno infinito
A continuacin analizaremos estas tres opciones.
For - Loop
Esta sentencia causa la ejecucin de un bucle un numero fijo de veces,
su sintaxis es la siguiente:
[etiqueta:] for indice in rango loop
sentencias secuenciales
end loop [etiqueta];
Es necesaria las indicaciones de un ndice y un rango. El ndice es una
variable discreta, enumerada o entera, que no es preciso declarar y que
cambia su valor en una unidad por cada ejecucin del bucle a lo largo
del rango especificado.
Ej emplo For-loop
Contar el numero de unos de una seal binaria de 32 bits.
.
for I in 0 to 31 loop
if SENAL (I)=1 then NUMERO_UNOS:= NUMERO_UNOS+1;
end if;
end loop;
.
While - Loop
El siguiente tipo de bucle utiliza la palabra reservada while para
imponer la condicin de repeticin. Su sintaxis es la siguiente:
[etiqueta:] while condicin loop
sentencias secuenciales
end loop [etiqueta];
El bucle se repite en tanto que la condicin que aparece tras while sea
verdadera.
Ej emplo While-loop
.
I:=0;
while (I>32) loop
if SEAL (I)=1 then NUMERO_UNOS:= NUMERO_UNOS+1;
end if
I:= I+1;
end loop;
....
Ahora si se nesecita declarar una variable (I) para poder establecer la
condicin del bucle, no resulta ventajosa con respecto a for loop.
Loop
Ejecuta un bucle infinito y su sintaxis es as:
[etiqueta:] loop
sentencias secuenciales
end loop [etiqueta];
Captulo 4:
Familias Lgicas TTL y CMOS
Ing. S. Ros
FIEC - ESPOL
Clasificacin de los Circuitos integrados
Circuitos Integrados
Digitales
Lineales
Monolticos Hbridos Monolticos Hbridos
Bipolares
Unipolares
RTL
DTL
TTL
ECL
IIL
P-MOS
N-MOS
CMOS
Operacin circuital de una
puerta bsica TTL estandar
Nand 7400
Q1 con Emisor mltiple.
Q3 y Q4 poste totmico.
Q2 seguidor de Q4. Q2 seguidor de Q4.
C Q2 Q3 Q4
L sat corte sat
H corte sat corte
Diodos Fijadores de Entradas(Input
Clamping Diodes)
Los diodos actan como fijadores de nivel de entrada para suprimir la
oscilacin parsita que resulta de las rpidas transiciones de voltaje que se
producen en los sistemas TTL.
Por ejemplo, consideremos que el voltaje de salida de una puerta TTL cambie
de uno lgico a cero lgico. El conductor que conecta esta puerta con la otra
conduce esta seal. Si el conductor que acta como una lnea de transmisin no conduce esta seal. Si el conductor que acta como una lnea de transmisin no
esta terminado correctamente resulta una oscilacin parsita (ringing).
t
Vout
t
Vin
Los diodos de entrada fijan el impulso negativo en aproximadamente -0.75v y
absorben una cantidad suficiente de energa de la seal aplicada para evitar un
gran sobreimpulso positivo que podra poner nuevamente en conduccin a la
puerta.
t
Vout
t
Vin
Caractersticas de la Serie Estndar TTL
(54/74)
La ms importante ayuda para entender hojas de especificaciones de CI es
conocer todos lo trminos y smbolos usados.
La columna nominal nos indica los mejores valores para el voltaje de fuente de
poder y temperatura de operacin.
Las columnas Min y Max determinan el rango de variacin recomendado.
Cuando estas condiciones no son respetadas, el dispositivo puede operar
erradamente.
VIH o Vin(1) .-Voltaje de entrada de nivel alto. Si cualquiera entrada o ambas
tienen aplicado el voltaje igual o mayor que 2v.
VIL o Vin(0) .-Voltaje de entrada de nivel bajo. Cualquier voltaje aplicado a la
entrada menor o igual que 0.8v.
IOH o Iout(1) .-Corriente de salida de nivel alto. No debe ser mayor que -0.4mA.
Datos del fabricante
IOL o Iout(0) .-Corriente de salida de nivel bajo. No debe ser mayor que 16mA.
VOH o Vout(1) .-Voltaje de salida de nivel alto. Cuando el voltaje de salida es
mayor o igual a 2.4v.
VOL o Vout(0) .-Voltaje de salida de nivel bajo. Cuando el voltaje de salida es
menor o igual a 0.4v.
IIH o Iin(1) .-Corriente de entrada de nivel alto. Cuando la entrada tiene el nivel de
voltaje Alto max corriente que circula en la entrada es 40uA.
IIL o Iin(0) .-Corriente de entrada de nivel bajo. La max corriente que puede
circular en la entrada es -1.6mA.
ICCH o ICC(1) .-Corriente de fuente de poder para salidas Altas.
ICCL o ICC(0) .- Corriente de fuente de poder para salidas Bajas.
Datos del fabricante.
tPLH o tpd(1).- Tiempo de retardo de propagacin para la salida de Bajo a Alto.
tPHL o tpd(0).- Tiempo de retardo de propagacin para la salida de Alto a Bajo.
IOS .- Corriente de Salida de cortocircuito. Esta corriente se mide con Vcc max y
una salida cortocircuitada a tierra cuando esta salida esta en estado Alto. Refleja
el max de corriente que puede manejar el circuito. Hay que tener en cuenta que
disipacin de potencia en este caso es muy elevada, por lo tanto no debe disipacin de potencia en este caso es muy elevada, por lo tanto no debe
mantenerse por ms que 1 segundo o el circuito puede sufrir un dao
permanente.
Vcc: Valor de voltaje de la fuente de alimentacin de 5V.
Vcc max serie comercial: 5,25V
Vcc max serie militar: 5,5V
Vcc min serie comercial: 4,75V
Vcc min serie militar: 4,5V.
Margen de Ruido
En los sistemas lgicos la palabra Ruido significa cualquier voltaje (DC O AC) no
deseado que aparece a la entrada de un circuito lgico a causa de campos elctricos
o magnticos desviados.
CI1 CI2
Si dicho voltaje es suficientemente elevado, puede ocurrir que CI2 cambie de estado
sin que se haya cambiado el voltaje de salida de CI1.
Se define el margen de ruido de la siguiente manera:
VnH = VOH VIH = 2.4v 2.0v = 0.4v margen de ruido para estado Alto
VnL = VIL VOL = 0.8v 0.4v = 0.4v margen de ruido para estado Bajo
CI1 CI2
Capacidad de Carga(Fan - out)
En general se requiere que la salida de un circuito lgico maneje varias
entradas de otros circuitos lgicos.
Es el nmero max de entradas que una salida puede manejar confiablemente.
out
I
I
out Fan =
Iout es la corriente de salida de CI1 y Iin es la corriente de entrada de CI2.
Ambas corrientes deben tomarse para el mismo estado lgico.
Para la serie bsica de TTL 54/74 el Fan out es igual a 10.
in
I
Consideremos el caso en que una salida de CI1 en estado Bajo esta conectada a
varias entradas de otros CI.
R2
+Vcc
R3
T3
R2
R1
R1
T1
T1
R1
T1
IIL
IIL
IIL
IOL
VOL
D
T4
T3
T4 esta conduciendo y acta como sumidero de corriente para todas las
corrientes de entrada de otros CI.
Aun cuando T4 est saturado, su resistencia es algn valor diferente de cero, as
que la corriente IOL produce una cada de voltaje de salida VOL.
El valor de VOL no debe exceder 0.4v para CI TTL serie 54/74.
Esto limita el valor de IOL y as el nmero de entradas que pueden ser
manejadas.
La situacin en estado alto es la siguiente: T3 acta como seguidor de emisor y
est suministrando corriente a cada entrada de otros CI
R2
+Vcc
R3
R2
R1
R1
T1
T1
R1
T1
IIH
IIH
IIH
IOH
VOH
D
T4
T3
Estas corrientes IIH son corrientes de escape de polarizacin inversa, puesto que
las uniones base-emisor de las entradas de CI estn polarizados inversamente.
Si se manejan demasiado entradas la corriente de salida IOH puede llegar a ser
demasiado grande, causando mayores cadas de voltaje a travs de R2, T3 y D
bajando VOH debajo del mnimo voltaje permisible de 2.4v para CI TTL 54/74.
Tiempo de Retardo de
Propagacin(Propagation Delay)
Existe un intervalo entre la aplicacin de una seal a la entrada y el cambio de
estado a la salida que se conoce con el nombre de retardo de propagacin de
circuito.
In Out
In Out
Vin
Vout
tPHL tPLH
Vin
Vout
tPHL
tPLH
Disipacin de Potencia(Power Dissipation)
A veces se da directamente como la disipacin promedia de potencia PD.
A menudo en las hojas de datos, la disipacin de potencia es directamente
especificada en trminos del drenaje de corriente desde la fuente Vcc para CI.
Esta corriente se simboliza como Icc. Cuando se conoce es valor de Icc la
potencia tomada de suministro se obtiene simplemente multiplicando Icc por el
voltaje de Vcc. voltaje de Vcc.
Para muchos CI valor de la corriente Icc ser diferente para los dos estados
lgicos. En tales casos los valores de Icc se especifican: ICCH y ICCL.
Por ejm. CI 7400 ICCHmax= 8mA y ICCLmax= 22mA
PDHmax = ICCHmax * VCCmax = 8mA * 5.25v = 42mW
PDLmax = ICCLmax * VCCmax = 22mA * 5.25v = 115mW
Descripcin de otras series
TTL
NATIONAL fabrica los CI de serie TTL estndar, 74L,74S,74LS,74AS,74LS;
MOTOROLA fabrica series TTL estndar, 74LS, 74ALS,74P.
Serie 74L (TTL de Baja potencia)
Circuito parecido al Standard
R I P tpd Vel
Serie 74H (TTL de Alta velocidad)
R I P tpd V
CI de la serie 74H tienen el mismo circuito bsico que la serie 54/74 excepto
que valores de resistencias son menores y el transistor seguidor de emisor T3 y
diodo D3 se remplazan por los transistores T5 y T3 en montaje par Darlington.
D3
R4
T3
130
R2
T3
58
R4
T5
R5
760
4k
D3
T4
T4
T3
Estas diferencias resultan en una velocidad de conmutacin mucho ms rpida con
un retardo de propagacin de 6nseg.
Sin embargo, la velocidad aumentada se logra a expensas de una disipacin de
potencia mayor.
Out Out
Serie 74S (TTL Schottky)
La serie 74S tiene alta velocidad de conmutacin, pero consume ms potencia
que la serie estndar 54/74.
La conmutacin de saturacin a corte previamente requiere la eliminacin de los
portadores (electrones en este caso) acumulados en la base del transistor T2.
Si se logra la eliminacin rpida de los portadores acumulados, o si se disminuye
su cantidad, se puede obtener un circuito de mayor velocidad de conmutacin
que los TTL estndar.
El circuito bsico de la serie 74S es parecido al de la serie 74H. Pero todos los
Transistores(excepto T3). tienen un diodo Schottky conectado en paralelo con la
unin base-colector.
Puesto que la serie tiene la potencia de disipacin casi de la serie 74H mientras
que opera a mayor velocidad, es ampliamente usada en aplicaciones donde la
velocidad es un factor crtico.
Serie 74LS(TTL de Baja potencia Schottky)
La serie 74LS presenta una caracterstica de velocidad similar a la serie estndar
pero con un menor consumo de potencia.
La otra ventaja de la serie 74LS es la caracterstica de transferencia ms
simtrica. Esto se hace posible gracias a incorporacin del transistor T6.
Transistor T2 por lo tanto, no puede conducir mientras no conduce T6. Pero en
el momento que se encienden T2 y T6 tambin se encender el transistor T4 el momento que se encienden T2 y T6 tambin se encender el transistor T4
por que la cada de voltaje en la resistencia de 3.5K plus el voltaje entre
colector-emisor de T6 es suficiente para que conduce T4.
Prcticamente, los tres transistores se encienden al mismo tiempo, lo que hace
que caracterstica de transicin de la serie 74LS vuelve ms abrupta y se
aumenta el voltaje de umbral.
+Vcc
R4
110
R2
7.6K
R1
18K
D1
D3
T3
T5
A
B
R5 5k
3.5k 2.8k
R3 15k
D2
D4
T4
T3
T2
T6
B
Out
Serie 74ALS (TTL de Baja potencia Schottky avanzada)
Serie 74ALS es una de las series ms recientes. La aparicin de esta serie se ha
hecho posible gracias a nuevos procesos de fabricacin de los circuitos
integrados. Circuito bsico de la serie 74ALS es similar a la serie 74LS, excepto
algunos modificaciones en las entradas del circuito. A causa de estas
modificaciones se reduce la corriente de entrada IIL y se aumenta el voltaje de modificaciones se reduce la corriente de entrada IIL y se aumenta el voltaje de
umbral hasta aproximadamente 1.5v.
La nueva tcnica de fabricacin de los CI hace la serie 74ALS ms sensible a la
carga electrosttica, por lo tanto en esta serie las salidas tambin como
entradas estan protegidos por los diodos fijadores.
Serie 74AS (TTL Schottky avanzada)
Serie 74AS fue diseada para satisfacer nuevas necesidades de los diseadores
de Sistemas Digitales en grandes velocidades.
Gracias a la nueva tecnologa de fabricacin y a los diodos Schottky la serie
74AS es actualmente la serie ms rpida en la tecnologa bipolar.
Para seleccionar la serie apropiada para un determinado diseo hay que tomar
en cuenta dos factores ms importantes: la velocidad de conmutacin y la
potencia de disipacin.
A continuacin observamos la comparacin de velocidad y potencia de
disipacin de las series anteriormente mencionadas. disipacin de las series anteriormente mencionadas.
AS F S ALS H LS TTL estndar - L
Ms lenta-
Ms rpida
L ALS LS F AS TTL estndar S - H
Alto consumo de Potencia
Bajo consumo de Potencia
Tabla de comparacin
Tabla de comparacin de caractersticas de varias series de familia lgica TTL.
Family 74 74L 74H 74S 74LS
Power consumption 10 1 22 20 2
Per gate (mw)
Typical propagation 9 33 6 3 9
Delay (ns)
Algunas otras propiedades de los CI
TTL
Entradas no conectadas
Frecuentemente todas las entradas de un CI TTL no se usan en una aplicacin
particular.
Por ejemplo, suponga que nosotros necesitamos la operacin lgica AB.L. y
estamos usando un Chip 7410 que tiene tres puertas NAND de tres entradas.
Las maneras posibles de lograr esto es la siguiente. Las maneras posibles de lograr esto es la siguiente.
A.H
B.H
AB.L
A.H
AB.L
B.H
A.H
B.H
AB.L
Vcc
1k
a. Cuando la entrada sin usar se deja desconectada, ella acta como un uno
lgico.
b. A veces se recomienda conectar las entradas que no se utilicen a la fuente
Vcc (+5v) a travs de un resistor de 1K.
c. En la tercera puerta nand la entrada sin uso se conecta a una entrada que
se empleo. se empleo.
Para las puertas lgicas OR y NOR las entradas no usadas no pueden dejarse
desconectadas o unidas a Vcc, puesto que esto producira un nivel lgico
constante de salida sin importar las otras entradas.
En lugar de ello, para estas puertas las entradas no usadas deben ser
conectadas a GND(0v) o pueden conectarse a una entrada que se use como
sigue
Las puertas lgicas con las salidas en
colector abierto (open-collector)
A continuacin observamos dos configuraciones que realizan las mismas operaciones
lgicas. En el segundo circuito la operacin AND se ejecuta uniendo simplemente las
salidas.
H AB.
H AB.
H CD.
H EF.
H EF CD AB X . =
El arreglo del segundo circuito tiene dos ventajas sobre el arreglo del primer
circuito:
Requiere menos puertas y produce menor retardo de propagacin desde la
entrada a la salida.
La configuracin del segundo circuito tiene nombre AND-alambrado
(Wires-AND) por que produce la operacin AND conectando los alambres de (Wires-AND) por que produce la operacin AND conectando los alambres de
salida juntos.
Para poder realizar operacin AND-alambrado algunos CI TTL se disean con
las salidas en colector abierto, en donde para cerrar el circuito falta Rpull up.
T4
T1
R2
T2
R1
Rpull-up
R3
Vcc
La R pull up es externa y debe colocarla el usuario. El valor de la
resistencia pull-up se elijen entre Rmax y Rmin.
Rmax es el mximo valor de resistencias pull-up que permite mantener
VOH = 2.4v cuando todas las salidas unidas en AND-alambrado estn en el
estado Alto.
n1- nmero de salidas unidad en AND-alambrado
n2- nmero de entradas conectadas a la unin AND-alambrado
IOH corriente de fuga de una salida en colector abierto en el estado Alto
donde
I n I n
V Vcc
R
IH OH
OH
,
* 2 * 1
max
min
+

=
Rmin es el mnimo valor de resistencias pull-up que garantiza que el fan-out no ser
excedido cuando solo una de las salidas unidas en AND-alambrado est en el estado
Bajo.
donde
I n I
V Vcc
R
IL OL
OL
,
* 2
min
max


=
IIL-corriente de entrada de estado Bajo
I n I
IL OL
* 2
TTL de triple estado
Los CI de triple estado tienen una entrada adicional a las de datos (A y
B) que se conoce como entrada de control, la cual opera segn la tabla
de abajo. Cuando control = 1, los transistores Q3 y Q4 se ponen en
corte generando un tercer estado estable de salida que es una
condicin de alta impedancia lo cual permite a un gran nmero de los
CI TTL comunicarse confiabilidad entre si por medio de Bus comn. CI TTL comunicarse confiabilidad entre si por medio de Bus comn.
Control Out
0 NAND
1 Q3 y Q4 en corte
A.H
B.H
Out.L
Control
Familia CMOS
Los transistores de la tecnologa MOS
son transistores de efecto de campo
llamados MOSFET.
El MOSFET tiene varias ventajas: El MOSFET tiene varias ventajas:
Es relativamente simple
Poco costoso de fabricar
Es pequeo
Consume muy poca energa
Introduccin
Los dispositivos MOS ocupan menos
espacio que los transistores Bipolares
(BJT) porque normalmente no usan los (BJT) porque normalmente no usan los
elementos resistivos que ocupan los CI
bipolares. Esta ventaja se llama mayor
densidad de integracin (o de
empaquetamiento)
Tipos de MOSFET
VGS
ID
+Vth
VGS
ID
-Vth
Caractersticas de
Transferencia
La corriente circula por el MOSFET de
canal N solo cuando el voltaje de
entrada VGS es positivo y mayor que el entrada VGS es positivo y mayor que el
voltaje de umbral Vth.
Para hacer conducir al MOSFET de canal
P se requiere aplicar a la entrada un
voltaje negativo y menor que el voltaje
de umbral.
Inversor CMOS
In Out
L H
H L
Opercacin del Inversor CMOS
Cuando en la entrada se aplica un voltaje de
entrada bajo:
El voltaje VGS del Q1 es apropiado para que pueda
conducir R = 1K conducir Ron = 1K
El voltaje VGS del Q2 es igual a cero por lo tanto
Q2 no puede conducir Roff = 10G
Por lo que Vout = Vdd (+5V)
Cuando el voltaje de la entrada es alto el
Vout = 0V
Caractersticas Generales de
los CI de la Familia CMOS
40: fue la primera introducida por RCA
40xxB: La B significa buffer, tiene mayor
capacidad de corriente en sus salidas
74Cxx: compatible con los CI TTL, las 74Cxx: compatible con los CI TTL, las
caractersticas son casi las mismas de 40xx
74HC: CMOS de alta velocidad, aumento de
la velocidad de conmutacin en 10 veces. La
velocidad es comparable con la serie 74LS de
TTL
Ms Caractersticas
Voltaje de Salida
VoL 0V
VoH Vdd
Voltaje de Entrada
ViL 30% Vdd
ViH 70% Vdd
Voltaje de Alimentacin Vdd
Serie Voltaje
40, 40xxB, 74C +3V hasta +15V
74HC, 74HCT +3V hasta +6V
VoH Vdd ViH 70% Vdd
Margen de Ruido
30% Vdd
Ms Caractersticas
Al aumentar el voltaje de alimentacin tambin se aumentar el
consumo de potencia y ms grande ser la disipacin de
potencia.
En estado esttico la disipacin de potencia es
extremadamente baja (nW) extremadamente baja (nW)
Cada vez que una salida CMOS pasa de Bajo a Alto, tiene que
suministrar una corriente a la capacitancia de carga
Una entrada CMOS tiene una resistencia extremadamente
grande y una capacitancia parsita de 5 pF
Los CI CMOS tienen un Fan-Out mximo de 50 para las
operaciones a frecuencias no mayor a 1 MHz, para las
frecuencias ms altas el Fan-Out ser menor
El retardo de propagacin de los CMOS (tpd) es mayor que el
de los TTL
Las entradas CMOS nunca deben dejarse desconectadas
Susceptibilidad a la carga
esttica
La alta impedancia de entrada de la familia
lgica CMOS la hace muy susceptible a la
carga esttica.
Precauciones de manejo: Precauciones de manejo:
Conecte el chass de todos los instrumentos de
prueba a tierra fsica.
Conctese Ud. a tierra fsica con una pulsera
especial.
Mantenga los CI en una esponja conductora o
papel aluminio.
Captulo 5:
Circuitos Integrados MSI y sus
aplicaciones.
14/10/2010 Sistemas Digitales I - Ing. S. Ros
SISTEMAS DIGITALES I
Entre los principales y ms conocidos integrados MSI y
LSI tenemos: Sumadores, restadores, comparadores,
multiplexores, decodificadores, codificadores y drivers.
Sumadores
Usaremos palabras de 4 bits
A(A4,A3,A2,A1)
A B
Co Cin
4 4
A(A4,A3,A2,A1)
B(B4,B3,B2,B1) 0 = Cin
Ejemplo en binario: 0111 = A
+ 1010 = B
Cout = 10001 =
14/10/2010 Sistemas Digitales I - Ing. S. Ros
4
Co Cin

Internamente:
A2 B2
C1
A1 B1
Cin
A3 B3
C2
A4 B4
C3
Cout
14/10/2010 Sistemas Digitales I - Ing. S. Ros
C1
2
Cin
C0
1
C2
3
C3
4
Cout
C4
Diseo del bloque sumador cualquiera:
Aj Bj
Cj-1
Cj
Tabla de Verdad
Aj Bj Cj-1 j Cj
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
14/10/2010 Sistemas Digitales I - Ing. S. Ros
j
Mapas:
Bj
0 1 0
1
Cj-1
1 0 1 0
Aj
Bj
1 1 1
0
Cj-1
0 1 0 0
Aj
1 0 0
1 0 1
1 1 0
1 1 1
Implementacin:
14/10/2010 Sistemas Digitales I - Ing. S. Ros
Conexin en Cascada
14/10/2010 Sistemas Digitales I - Ing. S. Ros
Comercialmente: 7483
14/10/2010 Sistemas Digitales I - Ing. S. Ros
CAPITULO 5: CIRCUITOS INTEGRADOS MSI Y SUS
APLICACIONES - CODIGOS VHDL
Bloque Sumador Cualquiera
x y
14/10/2010 Sistemas Digitales I - Ing. S. Ros
Cin
Cout
s
S = x y Cin
Cout = xy + y Cin + Cin X
x1 y1 x0 y0 x2 y2 x3 y3
14/10/2010 Sistemas Digitales I - Ing. S. Ros
C1
s1
Cin
s0
C2
s2
C3
s3
14/10/2010 Sistemas Digitales I - Ing. S. Ros
14/10/2010 Sistemas Digitales I - Ing. S. Ros
x1 y1
C1
s1
x0 y0
Cin
s0
x2 y2
C2
s2
x3 y3
C3
s3
x1 y1 x0 y0 x2 y2 x3 y3
14/10/2010 Sistemas Digitales I - Ing. S. Ros
C1
s1
Cin
s0
C2
s2
C3
s3
14/10/2010 Sistemas Digitales I - Ing. S. Ros
Comparadores
Usaremos palabras de 4 bits
A(A3,A2,A1,A0)
B(B3,B2,B1,B0)
A B
(A>B )in
(A=B )in
4 4
B(B3,B2,B1,B0)
Las salidas son mutuamente
excluyentes.
14/10/2010 Sistemas Digitales I - Ing. S. Ros
A>B A=B A<B
(A<B)in
A>B A=B A<B
Internamente:
A1 B1 A0 B0 A2 B2 A3 B3
14/10/2010 Sistemas Digitales I - Ing. S. Ros
(A>B)in
(A=B)in
(A<B)in
A>B A=B A<B
> >in
= =in
< <in
>in
=in
<in
> >in
= =in
< <in
> >in
= =in
< <in
Bloque comparador cualquiera
Bj Aj
Aj Bj A>Bin A=Bin A<Bin A>B A=B A<B
0 0 0 0 0
0 0 0 0 1
0 0 0 1 0
0 0 0 1 1
0 0 1 0 0
Tabla de Verdad
14/10/2010
Sistemas Digitales I - Ing. S. Ros
(A<B)in
(A=B)in
(A>B)in
A>B
A=B
A<B
5 Entradas
3 Salidas Mutuamente
Excluyentes.
Y las entradas??
0 0 1 0 0
0 0 1 0 1
0 0 1 1 0
0 0 1 1 1
0 1 0 0 0
0 1 0 0 1
0 1 0 1 0
0 1 0 1 1
0 1 1 0 0
0 1 1 0 1
0 1 1 1 0
0 1 1 1 1
Aj Bj A>Bin A=Bin A<Bin A>B A=B A<B
1 0 0 0 0
1 0 0 0 1
1 0 0 1 0
1 0 0 1 1
1 0 1 0 0
1 0 1 0 1
Continuando
14/10/2010 Sistemas Digitales I - Ing. S. Ros
1 0 1 0 1
1 0 1 1 0
1 0 1 1 1
1 1 0 0 0
1 1 0 0 1
1 1 0 1 0
1 1 0 1 1
1 1 1 0 0
1 1 1 0 1
1 1 1 1 0
1 1 1 1 1
Mapas:
Bj
1 0
0 0
Aj
Aj
A>B
14/10/2010 Sistemas Digitales I - Ing. S. Ros
A<Bin
A=Bin

0 0
A>Bin
Bj
1 1
1 0
A<Bin
A=Bin

1 0
A>Bin
Aj
Mapas:
Bj
Aj
Aj
A=B
14/10/2010 Sistemas Digitales I - Ing. S. Ros
A<Bin
A=Bin
A>Bin
Bj
A<Bin
A=Bin
A>Bin
Aj
Mapas:
Bj
Aj
Aj
A<B
14/10/2010 Sistemas Digitales I - Ing. S. Ros
A<Bin
A=Bin
A>Bin
Bj
A<Bin
A=Bin
A>Bin
Aj
Implementacin
A>B.H
A>Bin.H
A>B.H
A>Bin.H
A>B.H
A>Bin.H
A>B.H
A>Bin.H
Ao.H
Bo.H
Ao.H
A1.H
B1.H
A2.H
B2.H
A2.H
A3.H
B3.H
A3.H A1.H
A>B.H
A>Bin.H
A>B.H
A>Bin.H
A>B.H
A>Bin.H
A>B.H
A>Bin.H
Ao.H
Bo.H
Ao.H
A1.H
B1.H
A2.H
B2.H
A2.H
A3.H
B3.H
A3.H A1.H
14/10/2010 Sistemas Digitales I - Ing. S. Ros
A=B.H
A<Bin
A<Bin
A=Bin.H
A=B.H
A<Bin
A<Bin
A=Bin.H
A=B.H
A<Bin
A<Bin
A=Bin.H
A=B.H
A<Bin
A<Bin
A=Bin.H
+Vcc
A1.H
B1.H
Ao.H
Bo.H
Bo.H
Ao.H
Bo.H
B1.H
A1.H
B1.H
A2.H
B2.H
B2.H
A2.H
B2.H
A3.H
B3.H
B3.H
A3.H
B3.H
A=B.H
A<Bin
A<Bin
A=Bin.H
A=B.H
A<Bin
A<Bin
A=Bin.H
A=B.H
A<Bin
A<Bin
A=Bin.H
A=B.H
A<Bin
A<Bin
A=Bin.H
+Vcc
A1.H
B1.H
Ao.H
Bo.H
Bo.H
Ao.H
Bo.H
B1.H
A1.H
B1.H
A2.H
B2.H
B2.H
A2.H
B2.H
A3.H
B3.H
B3.H
A3.H
B3.H
Conexin en Cascada
14/10/2010 Sistemas Digitales I - Ing. S. Ros
Comercialmente: 7485
14/10/2010 Sistemas Digitales I - Ing. S. Ros
14/10/2010 Sistemas Digitales I - Ing. S. Ros
Codificadores
Es un mdulo lgico combinatorio que asigna
un cdigo de salida nico a cada seal de
entrada aplicada al dispositivo.
2
s
n n= # entradas
S= ancho del cdigo de salida
Ejem:
n= 4 entradas
2
2
4 s=2
se codifica con 2 variables de salida
14/10/2010 Sistemas Digitales I - Ing. S. Ros
Codificador 4-2: Tiene 4 lneas de entrada en las que
1 y solo 1 se activa en cualquier instante.
A0
A1
X0
X1
X2
X3
X3 X2 X1 X0 A1 A0
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
Cod 4-2
14/10/2010 Sistemas Digitales I - Ing. S. Ros
A1 A0
X0 0 0
X1 0 1
X2 1 0
X3 1 1
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
Cdigo:
Mapas:
X3
1 1
0
A1
A0
14/10/2010 Sistemas Digitales I - Ing. S. Ros
X0
X1

0
X2
X3
0 1
0
X0
X1

1
X2
A0
Implementacin
14/10/2010 Sistemas Digitales I - Ing. S. Ros
Codificador 4 - 3: Tiene 4 entradas y la salida es un
cdigo igual a cero a menos que 1 y solo 1 de las
entradas est activa.
A0
A1
A2
X1
X2
X3
X4
X4 X3 X2 X1 A2 A1 A0
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
Cod 4-3
14/10/2010 Sistemas Digitales I - Ing. S. Ros
A2 A1 A0
X1 0 0 1
X2 0 1 0
X3 0 1 1
X4 1 0 0
LOS DEMAS 0 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
Mapas:
X4
0 0 0 1
X4
0 1 0 0
0 0 0 0
X1
X2
0 0 0 0
1 0 0 0
X3
A1 A1
A2 A2
14/10/2010 Sistemas Digitales I - Ing. S. Ros
0 0 0 1
0 0 0 0
X1
X2
0 0 0 0
0 0 0 0
X3
A0 A0
X4
0 1 0 0
1 0 0 0
X1
X2
0 0 0 0
0 0 0 0
X3
Implementacin
14/10/2010 Sistemas Digitales I - Ing. S. Ros
Codificador con Prioridad 4-2: Permite que varias lneas de
entrada estn activas al mismo tiempo y enva el valor binario del
subndice de la entrada de ms alta prioridad (el mayor).
X3 X2 X1 X0 A1 A0 GS EO
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
A1 A0
X0 0 0
X1 0 1
X2 1 0
X3 1 1
14/10/2010 Sistemas Digitales I - Ing. S. Ros
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
X3 1 1
Entradas inactivas
EO = 1
A1=A0=0
Ms de una entrada
activa
GS=1
Mapas:
X3
0 1 1 1
0 1 1 1
A1 A1
14/10/2010 Sistemas Digitales I - Ing. S. Ros
0 1 1 1
X0
X1
0 1 1 1
0 1 1 1
X2
A0 A0
X3
0 0 1 1
0 0 1 1
X0
X1
1 0 1 1
1 0 1 1
X2
Mapas:
X3
0 0 1 0
0 1 1 1
GS GS
14/10/2010 Sistemas Digitales I - Ing. S. Ros
0 1 1 1
X0
X1
1 1 1 1
0 1 1 1
X2
EO EO
X3
1 0 0 0
0 0 0 0
X0
X1
0 0 0 0
0 0 0 0
X2
Comercialmente: 74147 - 74148
Las entradas y
salidas
son activas en bajo
14/10/2010 Sistemas Digitales I - Ing. S. Ros
10 entradas: 0-9
4 salidas codificadas: D,C,B,A
8 entradas: 0-7
3 salidas codificadas: A2, A1, A0
E1: Habilitadora en bajo
14/10/2010 Sistemas Digitales I - Ing. S. Ros
Multiplexores
Y (Y.H)
Y (Y.L)
I0
I1
I2
0
1
2
MUX
4-1
S1 S0 Y
0 0 I0
14/10/2010 Sistemas Digitales I - Ing. S. Ros
LINEAS
SELECTORAS
En
LINEA
HABILITADORA
H DESABILITADO
L HABILITADO
Y (Y.L)
I2
I3
2
3
S1 S0
4-1 0 0 I0
0 1 I1
1 0 I2
1 1 I3
DESABILITADO Y=0
Y = En (S1 S0 I0 + S1 S0 I1 + S1 S0 I2 + S1 S0 I3)
MUX 2-1
En I1 I0 S Y
0
1 0 0 0
I0
0
14/10/2010 Sistemas Digitales I - Ing. S. Ros
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
Y (Y.H)
Y (Y.L)
I0
I1
En.L
S
MUX
2-1
0
1
Mapas:
I1
Asumimos que EN = activado
Y
14/10/2010 Sistemas Digitales I - Ing. S. Ros
I1
0 1 1 0
S
0 0 1 1
I0
Implementacin
14/10/2010 Sistemas Digitales I - Ing. S. Ros
Conexin en Paralelo de 4 Multiplexores 2-1
S.H
1Y (Y.H)
1A
1B
En
2Y (Y.H)
2A
2B
En
EN.L
Ci= EC674157
S
S
14/10/2010 Sistemas Digitales I - Ing. S. Ros
3Y (Y.H)
3A
3B
En
4Y (Y.H)
4A
4B
En
S
S
S
MUX 4-1
Y (Y.H)
I0
I1
I2
0
1
MUX
74153: 2 Mux de 4 a 1
14/10/2010 Sistemas Digitales I - Ing. S. Ros
Y (Y.L)
I2
I3
2
3
En
S1 S0
MUX
4-1
MUX 8-1
Y (Y.H)
0
1
2
3
4
MUX
8-1
14/10/2010 Sistemas Digitales I - Ing. S. Ros
Y (Y.L)
4
5
6
7
En
S2 S1 S0
8-1
MUX 16-1
Y (Y.H)
0
1
2
3
4
5
6
7
8
9
10
11
MUX
16-1
74151
14/10/2010 Sistemas Digitales I - Ing. S. Ros
Y (Y.L)
11
12
13
14
15
En
S3 S2 S1 S0
MUX 32-1
Y (Y.H)
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
En
S3 S2 S1 S0
MUX
16-1
S4
MUX 32-1
14/10/2010 Sistemas Digitales I - Ing. S. Ros
Y (Y.H)
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
En
S3 S2 S1 S0
MUX
16-1
Y (Y.H)
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
En
S3 S2 S1 S0
MUX
16-1
En.L
Y (Y.H)
0
1
MUX 32-1
14/10/2010
Sistemas Digitales I - Ing. S. Ros
Y (Y.H)
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
En
S3 S2 S1 S0
MUX
16-1
En S
S4
Y (Y.H)
0
1
2
3
4
5
6
7
En
S2 S1 S0
MUX
8-1
Y (Y.H)
0
1
2
3
4
5
6
7
En
S2 S1 S0
MUX
8-1
Y (Y.H)
Y (Y.L)
0
1
2
3
MUX
4-1
MUX 32-1
14/10/2010
Sistemas Digitales I - Ing. S. Ros
Y (Y.H)
0
1
2
3
4
5
6
7
En
S2 S1 S0
MUX
8-1
Y (Y.H)
0
1
2
3
4
5
6
7
En
S2 S1 S0
MUX
8-1
En.L
En
S4 S3
En.L
Comercialmente:
14/10/2010 Sistemas Digitales I - Ing. S. Ros
74153 74151
APLICACIONES DE LOS MULTIPLEXORES
Mux 8-1
S2
I0 I2 I6 I4
S0
I1 I3 I7 I5
S1
Variable aleatoria ms significativa
Implementar F usando un MUX 8-1 con A.H, B.H, C.H, F.H
14/10/2010 Sistemas Digitales I - Ing. S. Ros
Implementar F usando un MUX 8-1 con A.H, B.H, C.H, F.H
A
C
B
A B C F
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 0
1 1 1 0
Implementacin:
14/10/2010 Sistemas Digitales I - Ing. S. Ros
Implementar F usando un MUX 4-1 con
A.H, B.H ,C.H Y F.H
14/10/2010 Sistemas Digitales I - Ing. S. Ros
0 0 B
1 C B
A A
Con lgica negativa
Usar inversores con el mismo mapa
Cambiar los valores del mapa cambiando las posiciones
de las variables
A
0 0 0 1
Ejemplo: Implemente F.H usando un Mux 8-1 y con A.L, B.H, C.H y F.H.
Solucin usando inversores.
14/10/2010 Sistemas Digitales I - Ing. S. Ros
0 0 0 1
C 1 0 0 1
B
A
1 0 0 0
C 1 0 0 1
B
Ejemplo: Implemente F.H usando un Mux 8-1 y con A.L, B.H, C.H y F.H.
Solucin usando mtodo de cambio de posicin de variables.
14/10/2010 Sistemas Digitales I - Ing. S. Ros
B
Ej: Implementar F.H usando un Mux de 4-1 con A.L, B.L, C.H, D.H y F.H
Ingresar C y D dentro del mapa
A B C D F
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
B
B
A A
0
1
1
0
0
0
14/10/2010 Sistemas Digitales I - Ing. S. Ros
Cambiamos las posiciones de A y B
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
B
B
A A
0
1
1
0
1
1
0
1
1
1
0
Implementacin:
14/10/2010 Sistemas Digitales I - Ing. S. Ros
14/10/2010 Sistemas Digitales I - Ing. S. Ros
14/10/2010 Sistemas Digitales I - Ing. S. Ros
14/10/2010 Sistemas Digitales I - Ing. S. Ros
14/10/2010 Sistemas Digitales I - Ing. S. Ros
Decodificadores/ Demultiplexores
Reconocedor de Minterms m 2
n
nentradas, m salidas
No.
entradas
A
0
En A B O0 O1 O2 O3
0
1 0 0
1 0 1
0 0 0 0
14/10/2010 Sistemas Digitales I - Ing. S. Ros
entradas
B
En.L
1
2
3
Salidas
Lgica
negativa

1 0 1
1 1 0
1 1 1
Salidas obtenidas por minitrminos:
Oo=
O1=
O2=
O3=
Comercialmente: 74LS138
No.
entradas
A
14/10/2010 Sistemas Digitales I - Ing. S. Ros
entradas
B
C
En.L
Aplicaciones:
A B C F1 F2
0 0 0 0
0 0 1 1 0
0 1 0 0 1
0 1 1 1 1
Ej: Con Dec 3-8 , A.H, B.H, C.H, F1.H, F2.H
A
0 0 1 0
C 1 1 0 0
F1
14/10/2010 Sistemas Digitales I - Ing. S. Ros
0 1 1 1 1
1 0 0 0 0
1 0 1 0 1
1 1 0 1 0
1 1 1 0 0
B
A
1 0 0
C 0 1 0 1
B
F2
Implementacin:
14/10/2010 Sistemas Digitales I - Ing. S. Ros
Ejem: con A.L, B.L, C.H, F1.H, F2.H
A
1 0 0 0
C 0 0 1 1
B B
A
0 0 1
C 0 1 0 1
B B
F1
F2
14/10/2010 Sistemas Digitales I - Ing. S. Ros
B B B B
14/10/2010 Sistemas Digitales I - Ing. S. Ros
Decodificador para Display de
7 segmentos
7448
7447
14/10/2010 Sistemas Digitales I - Ing. S. Ros
14/10/2010 Sistemas Digitales I - Ing. S. Ros
a
14/10/2010 Sistemas Digitales I - Ing. S. Ros
a
b
c
d
e
f
g
Ej: Implementar un Restador
(A)2-(B)2=(A)2+(B)2,C =(A)2 +(B)2+1
Si Cout = 1 A-B = +, pero Si Cout = 0 A-B = -
(A)2
(B)2
4
4 4
A B
Co Cin

4 4
|A-B|
I0
I1
En.L
+Vcc
A B
Co Cin

+Vcc
S
4
MUX
2-1
4
4
4
4
Ej: Implementar las siguientes funciones con MSI.
Si A>B y B>C entonces F1=1
Si A=B y (B<C C D) entonces F2=1
Si A<B y (B=C C>D) entonces F3=1
(A>B )in
(A=B )in
4 4
(A>B )in
(A=B )in
4 4
(A>B )in
(A=B )in
4 4
A B B C C D
COMP COMP COMP
+Vcc +Vcc +Vcc
14/10/2010 Sistemas Digitales I - Ing. S. Ros
(A=B )in
(A<B)in
A>B A=B A<B
(A=B )in
(A<B)in
B>C B=C B<C
(A=B )in
(A<B)in
C>D C=D C<D
COMP COMP COMP
+Vcc +Vcc +Vcc
F1
F2
F3
Ej: Convertidor de ( )2 a NBCD
Si # 9 entonces (A)2 = (A)NBCD
Si 10<#19 entonces (A)2 + 6 = (A)NBCD
Si 20<#29 entonces (A)2 + 12 = (A)NBCD
Si 30<#39 entonces (A)2 + 18 = (A)NBCD
(A>B )in
(A=B )in
5 5
(A>B )in
(A=B )in
5 5
(A>B )in
(A=B )in
5 5
A 01001=9 A 10011=19 A 11101=29
+Vcc +Vcc +Vcc
COMP COMP COMP
(A=B )in
(A<B)in
A>9
(A=B )in
(A<B)in
A>19
(A=B )in
(A<B)in
A>29
+Vcc +Vcc +Vcc
COMP COMP COMP
(A)NBCD (A)2
(A)2+6
(A)2+12
(A)2+18
En.L
6
MUX
4-1
6
S1 S0
0
1
2
3
Con las salidas A>9, A>19 y A>29 generamos las
conexiones para S1 y S0 en funcin de lo que est
conectado en las entradas de datos del MUX.
A>9 A>19 A>29 S1 S0
0 0 0 0 0
0 0 1
0 1 0
0 1 1
1 0 0 0 1
1 0 1
A>9
0 0 1
A>29
1
A>19
14/10/2010 Sistemas Digitales I - Ing. S. Ros
1 0 1
1 1 0 1 0
1 1 1 1 1
A>9
0 1 0
A>29
1
A>19
S0 = (A>29) + (A>9).(A>19)
S1 = A>19
S0
A>9
A>19
A>29
Ahora veamos las diferentes correcciones
que hay que sumar al nmero binario.
A B
(A)2 01100=12
5 5
A B
(A)2 10010=18
5 5
A B
(A)2 00110=6
5 5
14/10/2010 Sistemas Digitales I - Ing. S. Ros
A B
Co Cin

5
A B
Co Cin

5
A B
Co Cin

5
(A)2+18 (A)2+12 (A)2+6
6 6 6
Ej: Implementar una ALU usando diseo
modular. Utilice integrados de MSI.
0
1
00000
Restador
B A
Restador
A B
5
MUX
8-1
F
5
S2 S1 S0
2
3
4
5
6
7
Sumador
A B
14/10/2010 Sistemas Digitales I - Ing. S. Ros
14/10/2010 Sistemas Digitales I - Ing. S. Ros
14/10/2010 Sistemas Digitales I - Ing. S. Ros
Captulo 6: Principios de
diseo lgico secuencial.
Ing. S. Ros
FIEC - ESPOL
Fundamentos de las mquinas secuenciales
Sistemas Digitales
Mquinas
Combinatoriales
Mquinas
Secuenciales
Lgica
aleatoria
Arreglos
lgicos
Lgica
Programable
Asincrnicas Sincrnicas
Discreta SSI MSI LSI PLA ROM uP PLC Pulso Nivel Tradicional Contemporneas
No requieren memoria
Requieren Memoria
En este curso estudiaremos mquinas secuenciales sincrnicas tradicionales
Fundamentos de las mquinas secuenciales
Entradas
Variables
de
proximo
estado
Decodifi-
cador
de proximos
estados
Reloj
Variables
de estado
presente
Decodifi-
cador de
salida
Memoria
Maquina
secuenial
sincronica
Salidas
*Para que sea mquina sincronica debe tener reloj
Mquinas secuenciales
Pueden ser sincrnicas o asincrnicas. Veamos el diagrama de bloques con la
arquitectura bsica.
Fundamentos de las mquinas secuenciales
Mquinas secuenciales
Propiedades secuenciales:
- El sistema debe tener capacidad de memorizar o elementos de memoria.
- El sistema debe tener por lo menos un camino de retroalimentacin.
Propiedades combinatoriales:
- Las salidas son funciones de las entradas solamente.
- No existe camino de retroalimentacin.
En la arquitectura anterior el reloj es una onda cuadrada a frecuencia fija. Los
decodificadores de Prximos Estado y las salida son combinatoriales mientras que
la memoria es una mquina secuencial sincrnica.
Fundamentos de las mquinas secuenciales
Memoria
(Banco de
Flip-Flop)
Variables de Estado Presente.
(Los valores que toman estas
variables forman cdigos para
los estados presentes)
Variables de Proximo Estado.
(Los valores que toman estas
variables forman cdigos)
El banco de Flip-Flop est formado por 2 o ms FF.
# de variable de estado =# de variable prximo estado =# de FF para cada
variable de estado se usa un FF
Fundamentos de las mquinas secuenciales
La Celda Binaria o Registro Bsico
La celda binaria es en si una mquina secuencial asincrnica. En este caso est
formada por puertas nand. Tambin se la puede dibujar con puertas nor.
En este caso la nica diferencia es que las salidas Q y Q tienen posiciones
invertidas.
Fundamentos de las mquinas secuenciales
Redibujamos la Celda
Expresiones lgicas para los
prximos estados.
Qn+1 .H = SET + RESET . Qn
Qn+1 .L = RESET . Qn
Qn+1 = Prximo Estado
Qn = Estado Presente
SET. L
RESET. L
Q.L
Q.H
H 0
L 0
H 0
L 0
H 0
Fundamentos de las mquinas secuenciales
Tabla Caracterstica (de Verdad)
SET RESET Qn Qn+ 1.H = ( SET + RESET . Qn) . H Qn+ 1.L = ( RESET . Qn) . L
0 0 0 0 0
0 0 1 1 1
0 1 0 0 0
0 1 1 0 0
1 0 0 1 0 -> 1
1 0 1 1 1
1 1 0 1 0
1 1 1 1 0
Fundamentos de las mquinas secuenciales.
Debido al retardo de propagacin luego de una vuelta se estabiliza.
Nunca pueden ser SET y RESET iguales a 1 a la vez.
Existen dos tablas que definen la operacin de un mquina secuencial:
Tabla caracterstica Restringida: Tabla de Excitacin
SET RESET Qn+1 Qn Qn+1 SET RESET
0 0 Qn Hold 0 0 0
0 1 0 Reset 0 1 1 0
1 0 1 Set 1 0 0 1
1 1 Condicin 1 1 0
Prohibida
Las mquinas secuenciales asincrnicas son bsicamente
circuitos de lgica combinatorial con retroalimentacin directa y
son cicleados por transiciones de cada una de las entradas.
Usan los retardos de propagacin del bloque decodificador de
prximos estados para memoria.
Las mquinas secuenciales sincrnicas usan integrados
llamados flip flop como memoria y son cicleados por una seal
especial de entrada que sincroniza todo el sistema llamada reloj
del sistema CLK.
CLK.H
t
Flanco de subida
o positivo
Flanco de bajada o
negativo
t HIGH t LOW
T
T = t HIGH + t LOW
T = 1 / f
FLIP - FLOP
El flip flop es una mquina secuencial sincrnica.
Existen varios tipos de flip flop: SR, JK, D, T.
A continuacin presento el diagrama de bloques del FF.
Decodificador
SET/RESET
CELDA
BINARIA
CLK.H
:
Entradas
SET.L
RESET.L
Q
Q
Q.H
Q.L
Qn
Salidas
El Flip Flop SR
Tabla caracterstica
S R Qn Qn+1
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0
1 1 1
S.H
R.H
CLK.H
Q.H
Q.L
S
R
Q
Q
Se mantiene
Reset
Set
Condicin
Prohibida
La tabla caracterstica
nos indica como opera
el Flip Flop. A partir de
esta podemos obtener
la restringida y la de
excitacin
Tabla caracterstica Restringida: Tabla de Excitacin
S R Qn+1 Qn Qn+1 S R
0 0 Qn 0 0 0
0 1 0 0 1 1 0
1 0 1 1 0 0 1
1 1 1 1 0
CLK.H S R Qn Qn+ 1 SET
0 0

0
0
1

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

RESET
0 0 0 0
0 0 0 1 0
0 0 1 0
0 0 1 1 0
0 1 0 0
0 1 0 1 0
0 1 1 0
0 1 1 1 0
1 0 1 1 1
1 1 1 0
1 1 0 0 0
1 1 0 1 0
1 0 0 0
1 0 0 1 0
1 0 1 0
1 1 1 1
Tabla Completa de Diseo
SET y RESET se
obtienen de la
tabla de excitacin
de la Celda Binaria
siempre, para
cualquier diseo de
FF.
Mapas
CLK
0
0
0
4
1
12
0
8

1

5

13

9

3

7

15
0
11
0
2
0
6

14
0
10
S
Qn
R
SET = CLK . S
S

10

14

2
1
11

15
0
7
0
3
R
Qn
0
9
0
13
0
5
0
1

8
0
12

0
CLK
RESET = CLK . R
Implementacin
CELDA
BINARIA
CLK.H
SET.L
RESET.L
Q
Q
Q.H
Q.L
S.H
R.H
El Flip Flop JK
Tabla caracterstica
J K Qn Qn+1
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 0
J.H
K.H
CLK.H
Q.H
Q.L
J
K
Q
Q
Se mantiene
Qn
Reset
Set
Se invierte
Qn
La diferencia entre el flip flop
SR y el JK es que cuando
J=K=1 en el flip flop JK se
obtiene como prximo estado el
inverso del estado presente.
Tabla caracterstica Restringida: Tabla de Excitacin
J K Qn+1 Qn Qn+1 J K
0 0 Qn 0 0 0
0 1 0 0 1 1
1 0 1 1 0 1
1 1 Qn 1 1 0
CLK J K Qn Qn+ 1 SET
0 0

0
0
1

1
0
1
0
1
0
1
0
1
0
1
0
0
1
1
1
0
RESET
0 0 0 0
0 0 0 1 0
0 0 1 0
0 0 1 1 0
0 1 0 0
0 1 0 1 0
0 1 1 0
0 1 1 1 0
1 0 1 1 1
1 1 1 0 0
1 1 0 0 0
1 1 0 1 0
1 0 0 0
1 0 0 1 0
1 0 1 0
1 1 1 1 1
Tabla Completa de Diseo
Mapas
CLK
0
0
0
4
1
12
0
8

1

5

13

9

3

7
0
15
0
11
0
2
0
6
1
14
0
10
J
Qn
K
SET = CLK . J . Qn
J

10
0
14

2
1
11
1
15
0
7
0
3
K
Qn
0
9
0
13
0
5
0
1

8
0
12

0
CLK
RESET = CLK . K . Qn
Implementacin
CELDA
BINARIA
CLK.H
SET.L
RESET.L
Q
Q
Q.H
Q.L
J.H
K.H
Entre los cdigos que se encuentran en el manual tenemos:
74109 2FF con flanco positivo
7473 2FF JK con flanco positivo
El Flip Flop D
D.H
CLK.H
Q.H
Q.L
D Q
Q
Es conocido como retenedor de informacin.
Tabla caracterstica Tabla de Excitacin
D Qn Qn+1 Qn Qn+1 D
0 0 0 0 0 0
0 1 0 0 1 1
1 0 1 1 0 0
1 1 1 1 1 1
CLK D Qn Qn+ 1 SET
0 0

0
0
1

1
0
1
0
0
1
1
RESET
0 0 0
0 0 1 0
0 1 0
0 1 1 0
1 0 0
1 0 1 1
1 1 0 0
1 1 1 0
Tabla Completa de Diseo
SET y RESET se
obtienen de la
tabla de excitacin
de la Celda Binaria
siempre, para
cualquier diseo de
FF.
SET = CLK . D RESET = CLK . D
Comercialmente:
7474: 2FFD
74174: 6FFD
74273: 8FFD
74175: 4FFD
En los flip flop existen adems dos entradas adicionales llamadas S.L
(PRESET.L) y R.L (CLEAR.L) las cuales son entradas asincrnicas que no
interfieren en la operacin normal del FF. Son independientes de las
entradas sincrnicas. Actan igual que SET y RESET.
SET.L
RESET.L
D.H
CLK.H S.L
R.L
El Flip Flop T
T.H
CLK.H
Q.H
Q.L
T Q
Q
Tabla caracterstica Tabla de Excitacin
T Qn Qn+1 Qn Qn+1 T
0 0 0 0 0 0
0 1 1 0 1 1
1 0 1 1 0 1
1 1 0 1 1 0
CLK T Qn Qn+1 SET
0 0

1
0
1
0
1
0
1
1
0
RESET
0 0 0
0 0 1 0
0 1 0
0 1 1 0
1 0 0
1 0 1 0
1 1 0 0
1 1 1 1
Tabla Completa de Diseo
De los mapas:
SET = CLK . T . Qn
RESET = CLK . T . Qn
Conversin de FF
Convertir un FF SR en un FF JK
Cdigo VHDL para el FF D
Ej: Sin flanco de reloj Ej: Con flanco positivo
Cdigo VHDL para el FF D
Cdigo VHDL para el FF D
Registro o Banco de FF
Un registro es un grupo de FF D que trabajan en conjunto.
Diagrama de bloque:
DA. H
D
Q
Q
DB. H
D
Q
Q
DC. H
D
Q
Q
DD. H
D
Q
Q
CLK.H
QA.H QB.H QC.H QD.H
DA DB DC DD
Registro
CLK.H
QA QB QC QD
Registro de Desplazamiento
Universal
A B C D
Registro
Universal
QA QB QC QD
CLK.H
S1
S0
L R
CLR.L
S1 S0 MODO
0 0 HOLD
0 1 SR
1 0 SL
1 1 LOAD
Un registro de desplazamiento universal tiene entradas de datos en
paralelo: A, B, C, D
Adems tiene las entradas de control: S1 y S0
Dispone de dos entradas en serie: R y L
Las salidas son QA, QB, QC, QD
Ej: Disee un contador usando un registro de desplazamiento
universal, que siga la siguiente secuencia: QA QB QC QD
0 0 0 0
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
Estado
Presente
Entradas S1 S0 R L Prximo
Estado
1000 - 0 1 0 0100
0100 - 0 1 0 0010
0010 - 0 1 0 0001
0001 - 0 1 0 0000
0000 - 0 1 1 1000
S1 = 0 S0 = 1 L = = 0 R = QA QB QC QD
Contador
CLK.H
QA QB QC QD
Implementacin:
A B C D
Registro
Universal
QA QB QC QD
CLK.H
S1
S0
L R
CLR.L
Implementacin:
A B C D
Registro
Universal
CLK.H
QA QB QC QD
S1
S0
L R
CLR.L
+Vcc
Cdigo VHDL de un registro con Clear
Cdigo VHDL de un registro con desplazamiento
Cdigo VHDL de un registro con desplazamiento
Cdigo VHDL de un contador.
Cdigo VHDL de un contador ascendente y
descendente.
Captulo 7: Circuitos I ntegrados
LSI , SPLD y sus aplicaciones.
I ng. S. Ros
FI EC - ESPOL
Clasificacin
SSI : I ntegracin de corta escala
MSI : I ntegracin de mediana escala
LSI : I ntegracin de gran escala.
VLSI : I ntegracin de muy grande escala.
PLD: Dispositivos Lgicos Programables.
PLA: Arreglo Lgico Programable.
PAL: Dispositivo de lgica de arreglo programable.
CPLD: Dispositivos Lgicos programables complejos.
FPGA: Arreglo de compuertas de campos programables.
Arreglo Lgico Programable
(PLA)
Son programables las entradas a las puertas AND y a las puertas OR.
Ejemplo con 4 entradas y 3 salidas.
Esquema compacto
Ejemplo: I mplementar O1, O2 y O3
O1 = I 1 * I 2 + I 1 * I 2 * I 3 * I 4
O2 = I 1 * I 3 + I 1 * I 3 * I 4 + I 2
O3 = I 1 * I 2 + I 1 * I 3 + I 1 * I 2 * I 4
Dispositivos Programables: CPLD y FPGA
Macrocelda
Familias de CPLDs
Una familia conocida de CPLDs del fabricante Altera es
la MAX7000. Son dispositivos lgicos reprogramables
complejos. Poseen desde 32 hasta 512 macroceldas.
Familias de FPGAs
Una familia conocida de FPGAs del fabricante Altera es
la FLEX10K. Poseen dede 576 hasta 12160 elementos
lgicos.
CPLDs y FPGAs
Memorias
ROM: Memoria de solo lectura.
PROM: Memoria programable de solo lectura
RAM: Memoria de acceso aleatorio. Se clasifican en
estticas y dinmicas.
EPROM: Memoria programable y borrable.
EEPROM: Memoria programable y borrable elctricamente.
Principales Seales de una
Memoria.
m Entradas de datos
Habilitador de
Memoria
Lectura/ Escritura
n
Entradas de
direcciones
Salidas de datos
E3 E2 E1 E0
S3 S2 S1 S0
R / W
M.E.
A4
A3
A2
A1
A0
2
n
= nmero de palabras Tamao de la memoria: 2
n
X m
Dispositivo General de memoria
EEPROM 2864: 8K x 8
Entradas/ Salidas
de datos
Entradas de
direcciones
I / O7
I / O6
I / O5
I / O4
I / O3
I / O2
I / O1
I / Oo
O E
C E
A12
A11
:
A2
A1
A0
W E
Entradas
de Control
Entradas de Control
Modo CE OE WE Salidas
LECTURA L L H Dato sal
ESCRI TURA L H L Dato entr
ESPERA H X X Z
Tipos de RAM
La RAM esttica es aquella que puede almacenar datos mientras se
aplica energa al circuito. Las celdas de la memoria RAM esttica son en
esencia flips flops que permanecern en un estado determinado
(almacenarn un bit) indefinidamente, siempre y cuando no se
interrumpa el suministro de energa al circuito.
Las RAM dinmicas, son aquellas que almacenan datos como cargas en
capacitores. Con la RAM dinmica los datos almacenados desaparecern
gradualmente debido a la descarga del capacitor, de manera que se
necesitan refrescar en forma peridica los datos, o sea recargar los
capacitores.
Ejercicio: I mplemente un Convertidor de
Cdigo de BI NARI O a XS3 con una EPROM.
X3 X2 X1 X0 D3 D2 D1 D0 U3 U2 U1 U0
0 0 0 0 0 0 1 1 0 0 1
0
0
1
1
0
0
1
1
0
1
0
0
1
1
0
1
0 0 0 1 0 0 1 1 0 1 0
0 0 1 0 0 0 1 1 0 1 1
0 0 1 1 0 0 1 1 0 1 0
0 1 0 0 0 0 1 1 0 1 1
0 1 0 1 0 0 1 1 1 0 0
0 1 1 0 0 0 1 1 1 0 1
0 1 1 1 0 0 1 1 1 0 0
1 0 0 0 0 0 1 1 1 0 1
1 0 0 1 0 0 1 1 1 1 0
1 0 1 0 0 1 0 0 0 0 1
1 0 1 1 0 1 0 0 0 1 0
1 1 0 0 0 1 0 0 0 1 1
1 1 0 1 0 1 0 0 0 1 0
1 1 1 0 0 1 0 0 0 1 1
1 1 1 1 0 1 0 0 1 0 0
La EPROM elegida ser de tamao: 2
n
X m
2
4
X 8 = 16 X 8 = 128
D3
D2
D1
D0
U3
U2
U1
U0
I / O7
I / O6
I / O5
I / O4
I / O3
I / O2
I / O1
I / Oo
O E
C E
A3
A2
A1
A0
W E
Entradas
de Control
X3
X2
X1
X0
Las entradas
de la tabla son
las entradas
de direcciones.
Las salidas
de la tabla
son los
datos que
entran a la
memoria a
escribirse y
luego son
ledos.
Recordar
Las herramientas basadas en computadoras pueden
producir excelentes diseos de hardware digital slo
cuando las emplea un diseador que comprende a
cabalidad la naturaleza de los circuitos lgicos.
Fin

También podría gustarte