Vous êtes sur la page 1sur 325

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.

Seal Digital

Seal Anlogica

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.

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)
Punto base

N= nmero

Octal
Binario
Decimal

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 ia 1 a 0
Parte entera
r= base del sistema
a= los dgitos del set
n= nmero de dgitos en la
parte entera
Ej.: (1531.75)10
22/10/2008

a -1 a -2 a -f a -m ) r

base

Parte fraccionaria
Punto base
m= nmero de dgitos en la parte
fraccionaria
an-1= dgito ms significativo
a-m = dgito menos significativo
Ej.: (5131.75)10 no son lo mismo

Sistemas Digitales I - Ing. S. Ros

CAPITULO1: CONCEPTOS INTRODUCTORIOS


AL DISEO DIGITAL
Base del Sistema: Nmero de dgitos que tiene el sistema.
Sistema
Sistema
Sistema
Sistema

Decimal: 10 dgitos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Binario: 2 dgitos: 0, 1
Octal:
8 dgitos: 0, 1, 2, 3, 4, 5, 6, 7
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= aj rj
J=-m

an-1rn-1 + an-2rn-2 + + a1r1 + a0r0+ a-1r-1 + a-2r-2 + + a-mr

-m

Ej.: (1748.75)10 = 1x103 + 7x102 + 4x101 + 8x100 + 7x10-1 + 5x10-2


n= 4 y m = 2
(1011.101) 2 = 1x1011 + 0x1010 + 1x101 + 1x100 + 1x10-1 + 0x10-10 + 1x10-11

n=4ym=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 = 1x23 + 0x22+ 1x21+ 1x20 + 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 = 1x82 + 5x81 + 0x80 + 1x8-1
n=3
= 64 + 40 + 0 + 0.125
m=1
= (104.125)10

Hexadecimal a Decimal
(10x160)
Ej.: (32A)16 = 3x162 + 2x161 + A x 160
= 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= (E10 . F10)
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 .
()2
Ej.: (19.75)10
19 2
LSD -1- 9 2
-1- 4 2
-0- 2 2
-0- 1 2
-1- 0
22/10/2008

MSD

(19)10 = (10011. )2

Cociente = 0 fin de la conversin

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
LSD

19 8
-3- 2 8
-2- 0
MSD

(19)10 = (23)8
Cociente = 0

De Decimal a Hexadecimal
Dividimos para 16 la parte entera
Ej.: (423)10
()16
423 16
LSD -7- 26 16
-10- 1 16
-1- 0
22/10/2008
MSD

(423)10 = (1A7)16
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
22/10/2008

Cj=0 s EXACTA

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
Cj =0

EXACTA

De Decimal a Hexadecimal: Multiplicamos por 16


Ej.: (19.75)10 = (13.C)16
19 16
-3- 1 16
-1- 0

22/10/2008

0.75x16 = 12 + 0
=C+0

Sistemas Digitales I - Ing. S. Ros

EXACTA

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
4

(472)8

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
3

22/10/2008

(3A6)16

6
Sistemas Digitales I - Ing. S. Ros

CAPITULO1: CONCEPTOS INTRODUCTORIOS


AL DISEO DIGITAL
Caso: (N)7
base.
Ej.: (B2F)16

(N)6: Aplico sustitucin y luego multiplicacin y divisin para la


( )8

(1011 0010 1111.)2


Ej.: (4310.3)5

( 101 100 101 111.)2


5
4
5 7

(5457)8

( )8

(4310.3)5 = 4x53 + 3x52 + 1x51 + 0x50 + 3x5-1


= 500 + 75 +5 + 0.6
= (580.6)10
MSD
0.6x8 = 4+ 0.8
580 8
0.8x8 = 6 + 0.4
-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
22/10/2008

Sistemas Digitales I - Ing. S. Ros

(1104.4631)8

Inexacta Peridica

CAPITULO1: CONCEPTOS INTRODUCTORIOS


AL DISEO DIGITAL
Operaciones Aritmticas
Suma
De nmeros Decimales
1111 1
acarreo
Ej.: 2954.764
+ 3875.643
0 6830.407
acarreo final
De nmeros Octales
111 1
Ej.: 134.76
+ 257.34
0 414.32
acarreo final
22/10/2008

De nmeros Binarios
1111 11
acarreo
Ej.: 10111.1011
10110.1110
1 01110.1001
acarreo final
De nmeros Hexadecimales
Ej.: F 0 1 . A
+13C.1
103D.B
acarreo final
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 = 104 -1958.03
r = 10 n = 4
= 8041.97
22/10/2008

Sistemas Digitales I - Ing. S. Ros

CAPITULO1: CONCEPTOS INTRODUCTORIOS


AL DISEO DIGITAL
Binario:
(10001.11)2,c = 25 - 10001.11
= 32 -10001.11
= 100000- 10001.11
n=5
= 01110.01

Ej.: (10001.11)2
r=2

Regla en Binario
De derecha a izquierda escribo igual los nmeros binarios hasta que
encuentro al 1er 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 = 104 - 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 = 25 - 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 r1, 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 = 104 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 = 104 1958.03 = 8041.97
0 9809.93
acarreo Final = 0 => Respuesta = - y recomplementada
(9809.93)10,c = 104 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
22/10/2008

R= - (00101.11)2

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
- 1958.03 Sustraendo

22/10/2008

1767.96
+ 8041.96
0 9809.92
acarreo final = 0 => Recomplemento
Respuesta = - 0190.07

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
+
1
22/10/2008

Convencin
Sistemas Digitales I - Ing. S. Ros

CAPITULO1: CONCEPTOS INTRODUCTORIOS


AL DISEO DIGITAL
Sobrecarga
Cuando un resultado se va fuera del rango.
define como: -2n + 1 (N)10 2n 1

El rango en binario se

Ej.: n = 7 => -27 + 1 (N)10 27 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
(+6)10 = 0110
00110
(+10)10 = 01010 + 01010
(+16)10 = 010000 0 10000
Sobrecarga = expando
22/10/2008

0111
000110 No hay
+ 001010
Sobrecarga
0 010000
bit signo R= +(10000)2

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: 2n = nmero de combinaciones
n = nmero de dgitos del cdigo
Ej.: 23 = 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
()
1000 0111 0100
(1000 0111 0100 ) NBCD

BCD

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
22/10/2008
Sistemas Digitales I - Ing. S. Ros
12 bits

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
4
+3
7
(0111)2

( )xs3
8
+3
11
(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 1er 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
2 diferentes => 1

A B A+ B
0 0
0
0 1
1
1 0
1
1 1
0
Ej.: 0(1 1 0 0 1)2 => (10101)GRAY
10 101
Ej.: 0(1 0 1 0 1 0 0)2 => (1111110)Gray
1 1 1 1 1 10

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
Transmisin

Y
Medio de
transmisin

Recepcin

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
1
0
1
1
0

00100
10000
01010
10101
10000
11011

22/10/2008

Bloques Par x Par


Impar x Impar

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
1 11
- 3 -3
9
3
01011101
(93)10 = (1011101)2
+ 11001010
1 00100111
93 2
LSD -1- 46 2
-0- 23 2
-1- 11 2
R= ( 100100111)2
-1- 5 2
-1- 2
2
-0- 1 2
-1- 0
22/10/2008

MSD

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.
A

Circuito
digital

2n = # de combinaciones

Para unir las variables lgicas se usan conectores:


Conectores Naturales: And, or, no
Conectores No Naturales: Exor, Nexor
22/10/2008

Sistemas Digitales I - Ing. S. Ros

Captulo 2.- Fundamentos Del Diseo Digital


Conectores Naturales: Tablas de Verdad
AND (Multiplicacin Lgica)
A

A AND B

A.B

22/10/2008

Sistemas Digitales I - Ing. S. Ros

Captulo 2.- Fundamentos Del Diseo Digital


Conectores Naturales: Tablas de Verdad
OR (Suma Lgica)
A

A OR B

A +B

NO (Negacin Lgica)
A
F

NO A
V

F
22/10/2008

A
0
1

A
1
0

Sistemas Digitales I - Ing. S. Ros

A = A Teorema de
Involucin

Captulo 2.- Fundamentos Del Diseo Digital


Condicin de Polarizacin
V
Sabemos que A
F

Depende de los niveles de voltaje


o del tipo de lgica usada sabremos
cuando es V o F

L z A es Falso

L z A es Verdadero

A.H

A.L
H z A es Verdadero

H z 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

A.L A.H

Falso

Verdadero

Verdadero

Falso

Positiva

A.H A.L
Negativo

22/10/2008

Sistemas Digitales I - Ing. S. Ros

Captulo 2.- Fundamentos Del Diseo Digital


Tablas de Voltaje:
AND ( Puertas de Producto)
Tabla de Verdad

Tabla de Voltaje

A.H B.H (A.B).H

A.B

22/10/2008

Puerta Lgica AND

A.H
(A . B) .H
B.H

Sistemas Digitales I - Ing. S. Ros

Captulo 2.- Fundamentos Del Diseo Digital


Tablas de Voltaje:
NAND
Tabla de Verdad

Tabla de Voltaje

A NAND B

22/10/2008

Puerta Lgica NAND

A.H B.H (A.B).L


A.H
(A . B) L
B.H

Sistemas Digitales I - Ing. S. Ros

Captulo 2.- Fundamentos Del Diseo Digital


OR
Tabla de Voltaje

A.L B.L

Puerta Lgica OR

A.B.L

22/10/2008

A.L

(A . B). L

B.L

Sistemas Digitales I - Ing. S. Ros

Captulo 2.- Fundamentos Del Diseo Digital

NOR
Tabla de Voltaje

A.L B.L

Puerta Lgica NOR

A.B.H

22/10/2008

A.L
A . B. H
B.L

Sistemas Digitales I - Ing. S. Ros

Captulo 2.- Fundamentos Del Diseo Digital

OR (Puertas de Suma)
Tabla de Verdad
A

A+B

Tabla de Voltaje

A.H B.H

A+B.H

Puerta Lgica OR
A.H
A+B.H
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

A.H B.H

A+B.L

A NOR B

22/10/2008

Puerta Lgica NOR


A.H
A+B.L
B.H

Sistemas Digitales I - Ing. S. Ros

Captulo 2.- Fundamentos Del Diseo Digital

NAND
Tabla de Voltaje

A.L B.L

A+B.H

22/10/2008

Puerta Lgica NAND

A.L
(A+B).H
B.L

Sistemas Digitales I - Ing. S. Ros

Captulo 2.- Fundamentos Del Diseo Digital

AND
Tabla de Voltaje

A.L B.L

A+B.L

22/10/2008

Puerta Lgica AND

A.L
(A+B).L
B.L

Sistemas Digitales I - Ing. S. Ros

Captulo 2.- Fundamentos Del Diseo Digital

NO
Tabla de Verdad
A

Inversor

A.H = A .L

A.H

A.L = A .H
A.L

22/10/2008

A.L

Sistemas Digitales I - Ing. S. Ros

A.H

Captulo 2.- Fundamentos Del Diseo Digital


Operadores No Naturales
OR EXCLUSIVO
Tabla de Verdad

Tabla de Voltaje

A B

22/10/2008

A.H B.H

A B.H

Puerta Lgica EXOR


A.H
B.H

Sistemas Digitales I - Ing. S. Ros

A B.H

Captulo 2.- Fundamentos Del Diseo Digital

NEXOR
Tabla de Verdad

Tabla de Voltaje

A NEXOR B

22/10/2008

A.H B.H

A B.L

Puerta Lgica NEXOR


A.H
B.H

Sistemas Digitales I - Ing. S. Ros

A B.L

Captulo 2.- Fundamentos Del Diseo Digital

Coincidencia
Tabla de Verdad
A

Tabla de Voltaje
A.H B.H

. B.H

22/10/2008

Puerta Lgica
Coincidencia
A.H
B.H

Sistemas Digitales I - Ing. S. Ros

(A . B) H

Captulo 2.- Fundamentos Del Diseo Digital


Inversor de Voltaje que hacer cuando no lo encontramos en el mercado?
A.L

A.H

- Con NAND: corto circuito o puenteo las entradas o conecto a +Vcc una
entrada

- Con NOR:
A.L

A.H
22/10/2008

Sistemas Digitales I - Ing. S. Ros

Captulo 2.- Fundamentos Del Diseo Digital


Implementacin de Circuitos Digitales
A.H
B.H
C.H

Circuito
Digital

F.H

Existen diferentes maneras de implementar el circuito lgico dependiendo


de la lgica y puertas usadas

F = ABC + AB + BC
22/10/2008

Sistemas Digitales I - Ing. S. Ros

Captulo 2.- Fundamentos Del Diseo Digital


Usando solo And, Or, e Inversores
A.H
B.H

C.H

AB C .H

A.L

A.H

F.H

A B.H

B.H
B C.H

B.H
C.H

Usando And, Nand (suma) e Inversores


C.H
A.H

A.H
B.H

ABC.H
ABC.L

AB.H

AB.L

B.H
B.H
22/10/2008 C.H

BC.H

BC.L

Sistemas Digitales I - Ing. S. Ros

F.H

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

22/10/2008

Suma

Nombre

ECG

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

Sistemas Digitales I - Ing. S. Ros

Descripcin

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 i S
C=A.B
CiS
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=A
A.A=A
A.A=0
A=A

1+A=1
0+A=A
A+A=A
A+A=1

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)
A
Circuito
F2=g(A,B,C)
F1
B
Digital
F2
C
Partimos de la tabla de verdad

Minitrminos
m0
m1
m2
m3
m4
m5
m6
m7

22/10/2008

A
0
0
0
0
1
1
1
1

B
0
0
1
1
0
0
1
1

C
0
1
0
1
0
1
0
1

F1
0
1
1
0
0
0
1
1

F2
1
0
1
0
1
0
1
1

F1 = (minitrminos = 1)
F1 = (1,2,6,7)
F1 = m1 + m2 + m6 + m7
Para que m1 = 1 los valores
de verdad de los productos
deben ser iguales a 1
m1 = 1 Con A=0; B=0; C=1
m1 = A B C

Sistemas Digitales I - Ing. S. Ros

Captulo 2.- Fundamentos Del Diseo Digital


m2 = A B C

m6 = A B C

F1
F1
F1
F1

=
=
=
=

A
A
A
A

BC+ABC+ABC+ABC
(B C + B C) + A (B C + B C)
(B C) + A B (C + C)
(B C) + A B

F2
F2
F2
F2

=
=
=
=

(minitrminos = 1)
(0,2,4,6,7)
m0 + m2 + m4 + m6 + m7
ABC+ABC+ABC+ABC+ABC

22/10/2008

Sistemas Digitales I - Ing. S. Ros

m7 = A B C

Captulo 2.- Fundamentos Del Diseo Digital


Sumas Lgicas (Maxitrminos) POS Productos de Sumas en la
forma cannica
Maxitrminos
M0
M1
M2
M3
M4
M5
M6
M7

A
0
0
0
0
1
1
1
1

B
0
0
1
1
0
0
1
1

C
0
1
0
1
0
1
0
1

F1
0
1
1
0
0
0
1
1

F2
1
0
1
0
1
0
1
1

F1 = (Maxitrminos = 0)
F1 = (0,3,4,5)
F1 = M0 . M3 . M4 . M5
Para que M0 = 0 los valores
de verdad de los sumandos
deben ser iguales a 0
M0 = 0 Con A=0; B=0; C=0
M0 = A + B + C

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

Ejercicio: Para la siguiente tabla de verdad encuentre la


funcin lgica mnima.
ABCD

F1

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

22/10/2008

F1 = (miniterminos = 1)
F1 = (0,1,2,3,8,9,10,11)

Sistemas Digitales I - Ing. S. Ros

Mapa de Karnaugh
Mapa de dos variables

A B F
m0

m1

m2

m3

22/10/2008

Con SOP:
F= (1,3)
F= m1 +m3
F= }B+AB
F=B(}+A)
F=B

Con el mapa F=B

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 2n 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

F=A+B

F=1

F=} B + A B
F= A + B

22/10/2008

Sistemas Digitales I - Ing. S. Ros

Mapa de Karnaugh
Mapa de tres Variables
A

10

12

16

14

C 11

13

17

05

B
F=}+B+C
A
A

10

12

06

04

C 11

13

07

05

F=A

22/10/2008

C 1

F=B

B
Sistemas Digitales I - Ing. S. Ros

Mapa de Karnaugh
Mapa de cuatro variables
A
1

10

14

012

08

11

15

113

19

13

17

115

111

02

06

014

010

D
C

F= B D
A

F=}C + D

1
B

F=B
22/10/2008

Sistemas Digitales I - Ing. S. Ros

Mapa de Karnaugh
Mapa de 5 variables
}

A
B

B
1

12

13

15

14

11

10

16

20

17

21

19

18

28

29

23

31

22

30

F= B D

22/10/2008

Sistemas Digitales I - Ing. S. Ros

24

25

27

26

Mapa de Karnaugh
Mapa de 6 variables
}B

}B

AB

AB

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)

A
B
C

Circuito
Digital

La salida se produce para cierta


combinacin de entrada que en el
mundo real es inexistente.
A
-
Dont Care

1
1
22/10/2008

-x

-d

B
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.
Sistemas Digitales I - Ing. S. Ros

Ejemplo
Caso tpico
0 apagado
Diodos emisores de luz

1 encendido

x1
x2
x3
x4

Decodificador
para Display
de 7 segmentos

e
f
g

NBCD

c
d

Pantalla Tpica

Punto decimal

Para este decodificador las entradas son X1, X2, X3, X4 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 .
22/10/2008

Sistemas Digitales I - Ing. S. Ros

NBCD

Fuera del
rango

22/10/2008

x1

x2

x3

x4

Sistemas Digitales I - Ing. S. Ros

Captulo 2.- Fundamentos Del Diseo


Digital
X1

X3

X1

X4
X3

X2

X2

a=x1 + x3 + x2x4 + x2x4

X3

X2
22/10/2008

b=x2 + x3x4 + x3x4

X1

X4

c=x3 + x4 + x2

Sistemas Digitales I - Ing. S. Ros

X4

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

C+C
1

VEM

VEM

A
0

C 1

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

Mtodo de la variable entrante en el mapa ( VEM)


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)

1 Si no est completamente cubierto: A + A = 1

Reemplazar 1

Si est completamente cubierto.


d) Reemplazar VEM VEM
e)

Reemplazar VEM + VEM


VEM + VEM
c +c

22/10/2008

c +c

0.
1 Si no est cubierto o si solo el est cubierto.
Si est completamente cubierto o si solo el VEM est cubierto.
VEM
Sistemas Digitales I - Ing. S. Ros

Captulo 2.- Fundamentos Del Diseo


Digital
Ejemplo: I ngrese c al mapa y obtenga la expresin lgica mnima para F ( celdas con
variables nicas se agrupan primero)
c+ c =
A

Paso 1

Paso 2
A
A

0
B

c+c1
1

c+c

F=C A + B
22/10/2008

Sistemas Digitales I - Ing. S. Ros

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.
entidad 1

Bloque 1

arquitectura 1
entidad 2

Bloque 2

Bloque 3

entidad 3

arquitectura 2

Arquitectura 3
entidad 4

Bloque 4

arquitectura 4

Ejemplo de entidad y arquitectura


ENTI TY nand2 I S
PORT(I1,I2:
O:
END nand2;

I N BIT;
OUT BIT);

F
B

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

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
<modo><tipo>;
PORT(<nombre_pin>:
<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.

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 concurrente}
{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

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;

AN

ANB

BN

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


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;

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.

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


begin
--instanciacin de componentes

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.

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

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.

Operadores

Definidos para los tipos

Lgicos:

Bit, Boolean, Bit_vector,


std_logic y std_logic_vector

De relacin:

Integer, Bit, y Bit_vector

Aritmticos:

Integer

Concatenacin: Bit, Bit_vector y para las


cadenas

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.
Cuando el tipo de seal usada
es declarada std_logic_vector
o bit_vector, entonces los
valores deben estar encerrados
entre comillas.

Un ejemplo de operaciones lgicas con el


tipo de datos vector es el siguiente:
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.

Ejemplo: Sean las siguientes


declaraciones:
Signal a: bit_vector(1 to 4);
Signal b: bit_vector(1 to 8);
b<=0000&a;

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.

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 dow nto 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 dow nto 0) ;
E: out bit) ;
End comp;
Architecture comparador_2 of comp is
Begin
--asignacin de seales
E< = 1 w hen ( 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 ( | )

Valor de la seal when alternativa1 |


alternativa2 | alternativa3 | ..
| alternativaN,
Las barras verticales (| ) tienen el
mismo significado que la operacin OR

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:

Entity circuito is

T(x,y,z,u,v) =
(0,4,18,19,22,23,25,29) +
l (14,16,20,24)

Architecture RTL of circuito is

port (m: in integer range (31 downto 0);


T: out std_logic);
End circuito;

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
architecture MUX1 of MUX is
signal x: bit_vector(3 downto 0);
Begin
--asignacin de seales
X(3)
X(2)
X(1)
X(0)

<=
<=
<=
<=

S(1) and S(0) and D(3);


S(1) and not S(0) and D(2);
not S(1) and S(0) and D(1);
not S(1) and not S(0) and D(0);

F <= x(3) or x(2) or x(1) or x(0);


end MUX1;

La arquitectura basada en flujo de datos utilizando


operadores lgicos necesita del circuito final de este MUX

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 w hen - else


Permite realizar asignaciones condicionales de valores, expresiones u
objetos o seales. Su sintaxis de declaracin es:
[etiqueta:] seal <= valor_1 w hen condicin_1 else
valor_2 [w hen condicin_2] [else

] [else
valor_n w hen condicin_n] [else unaffected];
La seal recibe una asignacin u otra (valor_1valor_n) en funcin de
las condiciones que aparecen tras w hen. Para la opcin de no
asignacin puede (no cambio en la funcin) utilizarse la keyword
unaffected

Ejemplo de sentencia w hen - 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 <=
00w hen (A=0 and B= 0 and ENABLE = 1) else
01w hen (A=1 and B= 0 and ENABLE = 1) else
01w hen (A=0 and B= 1 and ENABLE = 1) else
10w hen (A=1 and B= 1 and ENABLE = 1) else
unaffected;
end CON_WHEN

Sentencia w ith-select
Su sintaxis es la siguiente:
[etiqueta:] w ith expresin select
seal <= valor_1 w hen resultado_1[,
valor_2 w hen resultado_2] [,
..] [,
valor_n w hen resultado_n] [,
unaffected w hen 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.

Ejemplo de sentencia w ith-select


El sumador anterior puede ser descrito tambin del siguiente modo:
architecture CON_WITH_SELECT of SUMADOR is
begin
w ith (ENABLE & A & B ) select
SUMA <=
00 w hen 100,
01 w hen 101,
01 w hen 110,
10 w hen 111,
unaffected w hen 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 w ait
Es una de las ms utilizadas en el modelado de circuitos sncronos,
w ait detiene la ejecucin de un proceso o un procedimiento en
espera de que se satisfaga una determinada condicin. Su sintaxis es
la siguiente:
[etiqueta:] w ait [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

w ait on A,B;
end process PROCESO_2

Case - w hen
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
w hen 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.

Ejemplo 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
w hen 100=> SUMA <=00;
w hen 101| 110 => SUMA <=01;
w hen 111 => SUMA <= 10;
w hen 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 w hile-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.

Ejemplo 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 w hile para
imponer la condicin de repeticin. Su sintaxis es la siguiente:
[etiqueta:] w hile condicin loop
sentencias secuenciales
end loop [etiqueta];
El bucle se repite en tanto que la condicin que aparece tras while sea
verdadera.

Ejemplo While-loop
.
I:=0;
w hile (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
Monolticos
Bipolares

Hbridos
Unipolares

RTL
DTL
TTL
ECL
IIL

Lineales

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.

n
n
n
n

Q2

Q3

Q4

sat

corte

sat

corte

sat

corte

Diodos Fijadores de Entradas(Input


Clamping Diodes)
n

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
esta terminado correctamente resulta una oscilacin parsita (ringing).

Vin

Vout
t

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.

Vin

Vout
t

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.
n
La columna nominal nos indica los mejores valores para el voltaje de fuente de
poder y temperatura de operacin.
n
Las columnas Min y Max determinan el rango de variacin recomendado.
n
Cuando estas condiciones no son respetadas, el dispositivo puede operar
erradamente.
n
VIH o Vin(1) .-Voltaje de entrada de nivel alto. Si cualquiera entrada o ambas
tienen aplicado el voltaje igual o mayor que 2v.
n
VIL o Vin(0) .-Voltaje de entrada de nivel bajo. Cualquier voltaje aplicado a la
entrada menor o igual que 0.8v.
n
IOH o Iout(1) .-Corriente de salida de nivel alto. No debe ser mayor que -0.4mA.

Datos del fabricante


n
n

n
n

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.


n
n
n

n
n
n
n
n

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
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:
n
VnH = VOH VIH = 2.4v 2.0v = 0.4v margen de ruido para estado Alto
n
VnL = VIL VOL = 0.8v 0.4v = 0.4v margen de ruido para estado Bajo

Capacidad de Carga(Fan - out)


n

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.

Fan out =
n

I out
I in

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.

Consideremos el caso en que una salida de CI1 en estado Bajo esta conectada a
varias entradas de otros CI.

+Vcc

R3

R2

T3

IOL

IIL

R1
T1

R1

IIL
T4

T1

VOL

R1
IIL

T1

n
n

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

+Vcc

R3

R2

T3
IOH

IIH

R1
T1

R1
IIH

T4

VOH

T1
R1

IIH

T1

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

Vin

Vout

Vout
tPHL

tPLH

tPLH

tPHL

Disipacin de Potencia(Power Dissipation)


n
n

n
n
n

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.
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)
n
Circuito parecido al Standard
n

tpd

Vel

Serie 74H (TTL de Alta velocidad)


n
n

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.

R4
58

R2
760

R4
130
T3

T5
R5

D3

4k
T3

Out
T4

Out
T4

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.

Serie 74S (TTL Schottky)


n
La serie 74S tiene alta velocidad de conmutacin, pero consume ms potencia
que la serie estndar 54/74.
n
La conmutacin de saturacin a corte previamente requiere la eliminacin de los
portadores (electrones en este caso) acumulados en la base del transistor T2.
n
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.
n
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)


n
La serie 74LS presenta una caracterstica de velocidad similar a la serie estndar
pero con un menor consumo de potencia.
n
La otra ventaja de la serie 74LS es la caracterstica de transferencia ms
simtrica. Esto se hace posible gracias a incorporacin del transistor T6.
n
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
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.
n
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
D1

R1

R2

R4

18K

7.6K

110

T5

D3

T3
R5

D2

5k

T2
R3

Out
D4

15k

T4
2.8k

3.5k
T6

Serie 74ALS (TTL de Baja potencia Schottky avanzada)


n

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
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)


n

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.

AS F S ALS H LS TTL estndar - L


Ms rpida

Ms lenta-

L ALS LS F AS TTL estndar S - H


Bajo consumo de Potencia

Alto consumo de Potencia

Tabla de comparacin
n

Tabla de comparacin de caractersticas de varias series de familia lgica TTL.

Family

74

74L

74H

74S

74LS

Power consumption
Per gate (mw)
Typical propagation
Delay (ns)

10

22

20

33

Algunas otras propiedades de los CI


TTL
n
n

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.

A.H
B.H

AB.L

A.H
B.H

AB.L

A.H
B.H

1k
Vcc

AB.L

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.
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)
n

A continuacin observamos dos configuraciones que realizan las mismas operaciones


lgicas. En el segundo circuito la operacin AND se ejecuta uniendo simplemente las
salidas.
AB.H

AB.H

CD.H

X = AB CD EF .H

EF.H

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
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.
R1

R2

T1

Rpull-up
Vcc

T2
T4
R3

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.

Vccmin VOH
, donde
R max =
n1* I OH + n 2 * I IH
n
n
n

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

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.

Vccmax VOL
, donde
R min =
I OL n 2 * I IL
n

IIL-corriente de entrada de estado Bajo

TTL de triple estado


n

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.

A.H

B.H
Control

Out.L

Control
0
1

Out
NAND
Q3 y Q4 en corte

Familia CMOS
n

Los transistores de la tecnologa MOS


son transistores de efecto de campo
llamados MOSFET.
El MOSFET tiene varias ventajas:
n
n
n
n

Es relativamente simple
Poco costoso de fabricar
Es pequeo
Consume muy poca energa

Introduccin
n

Los dispositivos MOS ocupan menos


espacio que los transistores Bipolares
(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

ID

ID

VGS

VGS
+Vth

-Vth

Caractersticas de
Transferencia
n

La corriente circula por el MOSFET de


canal N solo cuando el voltaje de
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

Opercacin del Inversor CMOS


n

Cuando en la entrada se aplica un voltaje de


entrada bajo:
n

El voltaje VGS del Q1 es apropiado para que pueda


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
n
n

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
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
n

Voltaje de Salida
VoL 0V
VoH Vdd

Voltaje de Alimentacin Vdd

Serie

Voltaje

40, 40xxB, 74C +3V hasta +15V


74HC, 74HCT

+3V hasta +6V

Voltaje de Entrada
ViL
ViH

30% Vdd
70% Vdd

Margen de Ruido
30% Vdd

Ms Caractersticas
n

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)
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
n

La alta impedancia de entrada de la familia


lgica CMOS la hace muy susceptible a la
carga esttica.
Precauciones de manejo:
n

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.
SISTEMAS DIGITALES I

14/10/2010

Sistemas Digitales I - Ing. S. Ros

Entre los principales y ms conocidos integrados MSI y


LSI tenemos: Sumadores, restadores, comparadores,
multiplexores, decodificadores, codificadores y drivers.
n

Sumadores

Usaremos palabras de 4 bits

A(A4,A3,A2,A1)
B(B4,B3,B2,B1)
n

A
Co

B
Cin

0 = Cin

Ejemplo en binario:

0111 = A
+ 1010 = B
Cout = 10001 =

14/10/2010

Sistemas Digitales I - Ing. S. Ros

Internamente:
A4 B4

Cout
C4

C3

14/10/2010

A3 B3

A2 B2

C2

A1 B1

C1

Sistemas Digitales I - Ing. S. Ros

Cin
C0

Diseo del bloque sumador cualquiera:


Tabla de Verdad
Aj

Aj

Bj

Cj

0
0
0
0
1
1
1
1

Cj-1

j
Mapas:

Bj
0
0
1
1
0
0
1
1

Cj-1

Cj

0
1
0
1
0
1
0
1

Aj

Cj-1

0
1

Aj

Cj-1

0
0

Bj
14/10/2010

Bj
Sistemas Digitales I - Ing. S. Ros

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

Cout

Cin

s
S=x

Cin

Cout = xy + y Cin + Cin X


14/10/2010

Sistemas Digitales I - Ing. S. Ros

x3 y3

x2 y2
C3

s3

x1 y1
C2

s2

14/10/2010

x0 y0
C1

s1

Cin

s0

Sistemas Digitales I - Ing. S. Ros

14/10/2010

Sistemas Digitales I - Ing. S. Ros

x3 y3

x2 y2
C3

s3

x1 y1
C2

s2

14/10/2010

x0 y0
C1

s1

Cin

s0

Sistemas Digitales I - Ing. S. Ros

x3 y3

x2 y2
C3

s3

x1 y1
C2

s2

14/10/2010

x0 y0
C1

s1

Cin

s0

Sistemas Digitales I - Ing. S. Ros

14/10/2010

Sistemas Digitales I - Ing. S. Ros

Comparadores
4

Usaremos palabras de 4 bits


A(A3,A2,A1,A0)
B(B3,B2,B1,B0)

(A>B )in

(A=B )in
A>B

A>B

Las salidas son mutuamente


excluyentes.

14/10/2010

Sistemas Digitales I - Ing. S. Ros

A=B A<B

A=B

A<B

(A<B)in

Internamente:
A3 B3

>in
=in
<in

A2 B2

>
=
<

>in
=in
<in

A1 B1

>
=
<

>in
=in
<in

A>B A=B A<B

14/10/2010

Sistemas Digitales I - Ing. S. Ros

A0 B0

>
=
<

>in
=in
<in

(A>B)in
(A=B)in
(A<B)in

Bloque comparador cualquiera


Tabla de Verdad
Bj

A>B
A=B
A<B

Aj

(A<B)in
(A=B)in
(A>B)in

5 Entradas
3 Salidas Mutuamente
Excluyentes.
Y las entradas??
Sistemas Digitales I - Ing. S. Ros
14/10/2010

Aj
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

Bj A>Bin A=Bin A<Bin


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

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

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

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

A>B A=B A<B

Continuando
Aj
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
14/10/2010

Bj A>Bin A=Bin A<Bin


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

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

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

A>B A=B A<B

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

Sistemas Digitales I - Ing. S. Ros

Mapas:

A>B
Aj

Bj

A=Bin

Aj

A<Bin

Bj

A>Bin

A=Bin

A>Bin
14/10/2010

Sistemas Digitales I - Ing. S. Ros

A<Bin

Mapas:

A=B
Aj

Bj

Aj

A<Bin
Bj

A=Bin
A>Bin

A<Bin
A=Bin
A>Bin
14/10/2010

Sistemas Digitales I - Ing. S. Ros

Mapas:

A<B
Aj
Bj

Aj

A<Bin
Bj

A=Bin
A>Bin

A<Bin
A=Bin
A>Bin
14/10/2010

Sistemas Digitales I - Ing. S. Ros

Implementacin
Ao.H

A1.H

A2.H

A3.H

Bo.H

B1.H

B2.H

B3.H

A>B.H
A>Bin.H

A>B.H
A>Bin.H

Ao.H

Bo.H

B1.H
A=Bin.H

A<Bin

A=Bin.H

B2.H

A1.H

B3.H

A2.H
A<Bin

A=B.H
B3.H

A=Bin.H

B1.H

Ao.H

A3.H
A=B.H

B2.H

A=Bin.H

Bo.H

A3.H

A2.H
A=B.H

A>B.H
A>Bin.H

A2.H

A1.H
A=B.H

+Vcc

A>Bin.H

A1.H

Ao.H

A>B.H

A3.H
A<Bin

A<Bin

A<Bin

A<Bin

A<Bin

A<Bin

Bo.H

B1.H

B2.H

B3.H

14/10/2010

Sistemas Digitales I - Ing. S. Ros

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
n

Es un mdulo lgico combinatorio que asigna


un cdigo de salida nico a cada seal de
entrada aplicada al dispositivo.
2s n

n= # entradas
S= ancho del cdigo de salida

Ejem:
n= 4 entradas
22 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.
X3

X0
X1
X2
X3

A0
Cod 4-2

A1

Cdigo:
X0
X1
X2
X3

A1
0
0
1
1

14/10/2010

A0
0
1
0
1

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

X2

X1

X0

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

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

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

Sistemas Digitales I - Ing. S. Ros

A1

A0

Mapas:
A1
X3

X1

A0

X0
X3

X2

X1

X2
14/10/2010

Sistemas Digitales I - Ing. S. Ros

X0

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.
X4

X1
X2
X3
X4

Cod 4-3

X1
X2
X3
X4
LOS DEMAS

A2
0
0
0
1
0

14/10/2010

A0
A1
A2

A1
0
1
1
0
0

A0
1
0
1
0
0

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

X3

X2

X1

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

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

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

Sistemas Digitales I - Ing. S. Ros

A2

A1

A0

A1

Mapas:

X4

A2

X2

X4

X2

X3

A0
X4

X1

X3
X2

X3
14/10/2010

X1

Sistemas Digitales I - Ing. S. Ros

X1

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).

X0
X1
X2
X3

A1
0
0
1
1

A0
0
1
0
1

Entradas inactivas
EO = 1
A1=A0=0
Ms de una entrada
activa
GS=1
14/10/2010

X3

X2

X1

X0

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

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

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

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

Sistemas Digitales I - Ing. S. Ros

A1

A0

GS EO

Mapas:
A1
X3

X1

X0

A0
X3

X2

X1

X2
14/10/2010

Sistemas Digitales I - Ing. S. Ros

X0

Mapas:
GS
X3

X1

EO

X0
X3

X2

X1

X2
14/10/2010

Sistemas Digitales I - Ing. S. Ros

X0

Comercialmente: 74147 - 74148

Las entradas y
salidas
son activas en bajo

10 entradas: 0-9
4 salidas codificadas: D,C,B,A
14/10/2010

8 entradas: 0-7
3 salidas codificadas: A2, A1, A0
E1: Habilitadora en bajo

Sistemas Digitales I - Ing. S. Ros

14/10/2010

Sistemas Digitales I - Ing. S. Ros

Multiplexores
I0

I1

Y (Y.H)
S1

MUX
4-1
2

I2
I3

Y (Y.L)

En
LINEA
HABILITADORA
H DESABILITADO
L HABILITADO
14/10/2010

S1 S0

LINEAS
SELECTORAS

0
0
1
1

S0

0
1
0
1

I0
I1
I2
I3

DESABILITADO Y=0

Y = En (S1 S0 I0 + S1 S0 I1 + S1 S0 I2 + S1 S0 I3)
Sistemas Digitales I - Ing. S. Ros

MUX 2-1

I0

I1

1 MUX

Y (Y.H)
2-1
Y (Y.L)

En.L

14/10/2010

En

I1

I0

1
1
1
1
1
1
1
1

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

Sistemas Digitales I - Ing. S. Ros

Mapas:
Asumimos que EN = activado
Y

I1

I0

14/10/2010

Sistemas Digitales I - Ing. S. Ros

Implementacin

14/10/2010

Sistemas Digitales I - Ing. S. Ros

Conexin en Paralelo de 4 Multiplexores 2-1


1A

EN.L

1Y (Y.H)

1B
En S

Ci= EC674157
S.H

2A

2Y (Y.H)

2B
En S
3A

3Y (Y.H)

3B
En S
4A

4Y (Y.H)

4B
En S
14/10/2010

Sistemas Digitales I - Ing. S. Ros

MUX 4-1
I0
I1
I2
I3

Y (Y.H)

74153: 2 Mux de 4 a 1

MUX
2 4-1
Y (Y.L)

3
En

S1 S0

14/10/2010

Sistemas Digitales I - Ing. S. Ros

MUX 8-1
0
1
2
3
4 MUX
5 8-1
6
7
En
S2

14/10/2010

S1 S0

Sistemas Digitales I - Ing. S. Ros

Y (Y.H)

Y (Y.L)

MUX 16-1

74151

0
1
2
3
4
5
6
7 MUX
8 16-1
9
10
11
12
13
14
15
En

S3 S2 S1 S0

14/10/2010

Sistemas Digitales I - Ing. S. Ros

Y (Y.H)

Y (Y.L)

S4

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

Y (Y.H)

MUX
16-1

En

S3 S2 S1 S0

MUX 32-1

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

S3 S2 S1 S0

Y (Y.H)

MUX
16-1

En

14/10/2010

Sistemas Digitales I - Ing. S. Ros

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

En.L

Y (Y.H)

MUX
16-1

En

S3 S2 S1 S0

Y (Y.H)

MUX 32-1

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

S3 S2 S1 S0

Y (Y.H)

MUX
16-1

En

S
S4

En

14/10/2010

Sistemas Digitales I - Ing. S. Ros

0
1
2
3
4
5
6
7
En

MUX
8-1

S2

0
1
2
3
4
5
6
7
En

S2

MUX 32-1

0
1
2
3
4
5
6
7
En

S2

Y (Y.H)

S1 S0

MUX
8-1

Y (Y.H)

Y (Y.H)

1
2

S1 S0

MUX
4-1

3
En

MUX
8-1

Y (Y.H)

En.L

S4 S3

S1 S0

En.L
0
1
2
3
4
5
6
7
En

14/10/2010

S2

MUX
8-1

S1 S0

Y (Y.H)

Sistemas Digitales I - Ing. S. Ros

Y (Y.L)

Comercialmente:

74153

14/10/2010

74151

Sistemas Digitales I - Ing. S. Ros

APLICACIONES DE LOS MULTIPLEXORES


Mux 8-1

Variable aleatoria ms significativa


S2

S0

I0

I2

I6

I4

I1

I3

I7

I5

S1

Implementar F usando un MUX 8-1 con A.H, B.H, C.H, F.H


A
0
0
0
0
1
1
1
1

B
0
0
1
1
0
0
1
1
14/10/2010

C
0
1
0
1
0
1
0
1

F
0
1
0
0
1
1
0
0

C
B

Sistemas Digitales I - Ing. S. Ros

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
A

14/10/2010

Sistemas Digitales I - Ing. S. Ros

Con lgica negativa


n Usar inversores con el mismo mapa
n Cambiar los valores del mapa cambiando las posiciones
de las variables
Ejemplo: Implemente F.H usando un Mux 8-1 y con A.L, B.H, C.H y F.H.
Solucin usando inversores.
A
C

14/10/2010

Sistemas Digitales I - Ing. S. Ros

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.

A
C

14/10/2010

Sistemas Digitales I - Ing. S. Ros

Ej: Implementar F.H usando un Mux de 4-1 con A.L, B.L, C.H, D.H y F.H

A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

14/10/2010

Ingresar C y D dentro del mapa

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

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

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

B
B
Cambiamos las posiciones de A y B
A
B
B

Sistemas Digitales I - Ing. S. Ros

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
n
n

Reconocedor de Minterms m 2n
nentradas, m salidas

No.
entradas

1
2
3

En.L

14/10/2010

En

0
1
1
1
1

0
0
1
1

0
1
0
1

O0

O1

O2

O3

Salidas obtenidas por minitrminos:


Salidas
Lgica
negativa

Sistemas Digitales I - Ing. S. Ros

Oo=
O1=
O2=
O3=

Comercialmente: 74LS138
No.
entradas

A
B
C

En.L

14/10/2010

Sistemas Digitales I - Ing. S. Ros

Aplicaciones:
Ej: Con Dec 3-8 , A.H, B.H, C.H, F1.H, F2.H
A
0
0
0
0
1
1
1
1

B
0
0
1
1
0
0
1
1

C
0
1
0
1
0
1
0
1

F1
0
1
0
1
0
0
1
0

F2

0
1
1
0
1
0
0

F1
A

B
F2

14/10/2010

Sistemas Digitales I - Ing. S. Ros

Implementacin:

14/10/2010

Sistemas Digitales I - Ing. S. Ros

Ejem: con A.L, B.L, C.H, F1.H, F2.H

F1

F2
A

14/10/2010

Sistemas Digitales I - Ing. S. Ros

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
f
e

g
d

b
c

14/10/2010

Sistemas Digitales I - Ing. S. Ros

Ej: Implementar un Restador


(A)2-(B)2=(A)2+(B)2,C =(A)2 +(B)2+1
Si Cout = 1
(B)2

A-B = +, pero Si Cout = 0

A-B = -

(A)2

4
A
Co

B
Cin

4
A
Co

B
Cin

+Vcc

+Vcc

4
4

I0

I1
En.L

4
MUX
2-1
S

|A-B|
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
4

(A>B )in

COMP

A>B

A=B

COMP

B>C

F2

B=C

(A>B )in

(A=B )in
+Vcc
(A<B)in

B<C

C>D

F1
14/10/2010

(A>B )in

(A=B )in
+Vcc
(A<B)in

A<B

COMP

(A=B )in
(A<B)in

C=D

C<D

F3
Sistemas Digitales I - Ing. S. Ros

+Vcc

Ej: Convertidor de ( )2 a NBCD


Si
Si
Si
Si

# 9 entonces (A)2 = (A)NBCD


10<#19 entonces (A)2 + 6 = (A)NBCD
20<#29 entonces (A)2 + 12 = (A)NBCD
30<#39 entonces (A)2 + 18 = (A)NBCD

A 01001=9
5
5

A
5

10011=19
5

(A>B )in

COMP

A>9

A 11101=29
5
5

(A>B )in

(A=B )in
+Vcc
(A<B)in

A>19

COMP

(A>B )in

(A=B )in
+Vcc
(A<B)in

COMP

(A=B )in
(A<B)in

A>29

(A)2
(A)2+6
(A)2+12
(A)2+18
En.L

0
1
2
3

6
MUX
4-1
S1 S0

(A)NBCD
6

+Vcc

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
0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1
A>9

A>29

S1

S0

1
1

0
1

A>9

A>29

A>19

S0 = (A>29) + (A>9).(A>19)
A>9
A>19
A>29

A>19

S1 = A>19
14/10/2010

Sistemas Digitales I - Ing. S. Ros

S0

Ahora veamos las diferentes correcciones


que hay que sumar al nmero binario.

(A)2 10010=18

(A)2 01100=12

(A)2 00110=6

5
A
Co

B
Cin

5
A
Co

A
Co

B
Cin

(A)2+18

14/10/2010

B
Cin

(A)2+12

Sistemas Digitales I - Ing. S. Ros

5
6

(A)2+6

Ej: Implementar una ALU usando diseo


modular. Utilice integrados de MSI.
B
A

00000
Restador

Restador

0
1
2

Sumador

5
MUX
8-1

F
5

6
7

S2 S1 S0

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
Lgica
aleatoria
Discreta SSI MSI LSI

Arreglos
lgicos
PLA ROM

No requieren memoria

Mquinas
Secuenciales
Lgica
Programable
uP

PLC

Asincrnicas

Pulso

Nivel

Sincrnicas

Tradicional Contemporneas

Requieren Memoria

En este curso estudiaremos mquinas secuenciales sincrnicas tradicionales

Fundamentos de las mquinas secuenciales


Mquinas secuenciales
Pueden ser sincrnicas o asincrnicas. Veamos el diagrama de bloques con la
arquitectura bsica.

Reloj
Entradas
Memoria
DecodifiMaquina
cador
de proximos Variables secuenial
sincronica
estados
de
proximo
estado
*Para que sea mquina sincronica debe tener reloj

Decodificador de
salida
Variables
de estado
presente

Salidas

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


Variables de Proximo Estado.
(Los valores que toman estas
variables forman cdigos)

Memoria
(Banco de
Flip-Flop)

Variables de Estado Presente.


(Los valores que toman estas
variables forman cdigos para
los estados presentes)

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.

SET. L H 0
L 0 Q.H

Qn+1 .H = SET + RESET . Qn


Qn+1 .L = RESET . Qn

RESET. L
H 0
H 0 Q.L
L 0

Qn+1 = Prximo Estado


Qn = Estado Presente

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 -> 1

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:


SET RESET Qn+1
0
0
Qn
Hold
0
1
0
Reset
1
0
1
Set
1
1
f
Condicin
Prohibida

Tabla de Excitacin
Qn Qn+1 SET RESET
0
0
0
f
0
1
1
0
1
0
0
1
1
1
f
0

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
T

t HIGH
Flanco de subida
o positivo

t LOW
Flanco de bajada o
negativo

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.

CLK.H
Decodificador
SET/RESET

Entradas
:

Qn

SET.L
CELDA
RESET.L

Q.H
Salidas

BINARIA
Q

Q.L

El Flip Flop SR
S.H

R.H

Q.H

Q.L

CLK.H

Tabla caracterstica

S
0
0
0
0
1
1
1
1

R
0
0
1
1
0
0
1
1

Qn
0
1
0
1
0
1
0
1

Qn+1
0
1
0
0
1
1
f
f

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:


S
R
Qn+1
0
0
Qn
0
1
0
1
0
1
1
1
f

Tabla de Excitacin
Qn Qn+1
S
0
0
0
0
1
1
1
0
0
1
1
f

R
f
0
1
0

Tabla Completa de Diseo


CLK.H

Qn

Qn+ 1

SET

RESET

SET y RESET se
obtienen de la
tabla de excitacin
de la Celda Binaria
siempre,
para
cualquier diseo de
FF.

Mapas
CLK

CLK

08

13

f9

15

011

14

010

00

04

f1

f5

f3

f7

02

06
S

SET = CLK . S

12

Qn
R

12

13

15

11

14

RESET = CLK . R

10

Qn

Implementacin

S.H

SET.L
CELDA

CLK.H
R.H

RESET.L

Q.H

BINARIA
Q

Q.L

El Flip Flop JK
J.H

K.H

Q.H

Q.L

CLK.H

Tabla caracterstica

J
0
0
0
0
1
1
1
1

K
0
0
1
1
0
0
1
1

Qn
0
1
0
1
0
1
0
1

Qn+1
0
1
0
0
1
1
1
0

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:


J
K
Qn+1
0
0
Qn
0
1
0
1
0
1
1
1
Qn

Tabla de Excitacin
Qn Qn+1
J
0
0
0
0
1
1
1
0
f
1
1
f

K
f
f
1
0

Tabla Completa de Diseo


CLK

Qn

Qn+ 1

SET

RESET

Mapas
CLK

12

08

f9

00

04

f1

f5

f3

f7

15

011

02

06

14

010

13

SET = CLK . J . Qn

CLK

Qn
K

12

13

15

11

14

10

RESET = CLK . K . Qn

Qn

Implementacin
Entre los cdigos que se encuentran en el manual tenemos:
74109 2FF con flanco positivo
7473 2FF JK con flanco positivo

SET.L
J.H
CELDA
CLK.H
K.H

RESET.L

Q.H

BINARIA
Q

Q.L

El Flip Flop D
D.H

CLK.H

Tabla
D
0
0
1
1

Q
Q

caracterstica
Qn
Qn+1
0
0
1
0
0
1
1
1

Q.H

Es conocido como retenedor de informacin.

Q.L

Tabla de Excitacin
Qn Qn+1
D
0
0
0
0
1
1
1
0
0
1
1
1

Tabla Completa de Diseo


CLK

Qn

Qn+ 1

SET

RESET

SET = CLK . D

SET y RESET se
obtienen de la
tabla de excitacin
de la Celda Binaria
siempre,
para
cualquier diseo de
FF.

RESET = CLK . D

SET.L

D.H
CLK.H

S.L

Comercialmente:
7474:

2FFD

74174: 6FFD
74273: 8FFD
R.L

74175: 4FFD

RESET.L

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.

El Flip Flop T
T.H

CLK.H

Tabla
T
0
0
1
1

Q
Q

caracterstica
Qn
Qn+1
0
0
1
1
0
1
1
0

Q.H

Q.L

Tabla de Excitacin
Qn Qn+1
T
0
0
0
0
1
1
1
0
1
1
1
0

Tabla Completa de Diseo


CLK

Qn

Qn+1

SET

RESET

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

DB . H

D
CLK.H

DD . H

DC. H
Q

QA.H

QB.H
DA
CLK.H

DB

QC.H
DC

DD

Registro

QA

QB

QC

QD

Q
Q
QD.H

Registro de Desplazamiento
Universal
A

CLR.L
CLK.H
R

QA

Registro
Universal

QB

QC

S1
S0
L

S1

S0

MODO

HOLD

SR

SL

LOAD

QD

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
CLK.H

Contador

QA

Estado
Presente

Entradas

0000
1000
0100
0010
0001

S1 = 0

S0 = 1

QB

QC

S1 S0

0
0
0
0
0

1
1
1
1
1

L=f=0

QD

0 0

1 0

R L

1
0
0
0
0

f
f
f
f
f

Prximo
Estado

1000
0100
0010
0001
0000

R = QA QB QC QD

Implementacin:

CLR.L
CLK.H
R

QA

Registro
Universal

QB

QC

S1
S0
L

QD

Implementacin:

CLR.L
Registro
Universal

CLK.H
R
QA

QB

QC

S1
S0
L
QD

+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 Integrados


LSI, SPLD y sus aplicaciones.
Ing. S. Ros
FIEC - ESPOL

Clasificacin

SSI: Integracin de corta escala


MSI: Integracin de mediana escala
LSI: Integracin de gran escala.
VLSI: Integracin 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: Implementar O1, O2 y O3


O1 = I1 * I2 + I1 * I2 * I3 * I4
O2 = I1 * I3 + I1 * I3 * I4 + I2
O3 = I1 * I2 + I1 * I3 + I1 * I2 * I4

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

n
Entradas de
direcciones

A4

E3

E2

E1

A3

E0
R/ W

Lectura/ Escritura

A2
A1
A0

M.E.
S3

S2

S1

S0

Habilitador de
Memoria

Salidas de datos
2n = nmero de palabras

Tamao de la memoria: 2n X m

Dispositivo General de memoria

EEPROM 2864: 8K x 8
A12

Entradas de
direcciones

Entradas
de Control

A11

I/ O7

I/ O6

A2

I/ O5

A1

I/ O4

A0

I/ O3

Entradas/ Salidas
de datos

I/ O2

CE

I/ O1

OE

I/ Oo

WE

Entradas de Control
Modo

CE

OE

WE

Salidas

LECTURA

Dato sal

ESCRITURA

Dato entr

ESPERA

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:
Implemente un Convertidor de
Cdigo de BINARIO a XS3 con una EPROM.
X3

X2

X1

X0

D3

D2

D1

D0

U3

U2

U1

U0

La EPROM elegida ser de tamao: 2n X m


24 X 8 = 16 X 8 = 128

Las entradas
de la tabla son
las
entradas
de direcciones.

Entradas
de Control

X3

A3

X2

A2

X1

A1

X0

A0

CE
OE
WE

I/ O7

D3

I/ O6

D2

I/ O5

D1

I/ O4

D0

I/ O3

U3

I/ O2

U2

I/ O1

U1

I/ Oo

U0

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

Vous aimerez peut-être aussi