Anda di halaman 1dari 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 Octal Binario Decimal

N= nmero r= base del sistema

Los nmeros se representan en cualquier sistema de numeracin de 2 formas: Notacin Posicional y Notacin Polinomial.
22/10/2008 Sistemas Digitales I - Ing. S. Ros

CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEO DIGITAL


Notacin Posicional: Implica la colocacin de dgitos a ambos lados del punto base, por ende sus posiciones no se pueden alterar. ( N) r= ( a n-1 a n-2 a n- 3 a 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 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 22/10/2008 Binario 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Octal 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 Hexadecimal 0 1 2 3 4 5 6 7 8 9 A B C D E F

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)r= aj rj
J=-m
=

n-1

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

(19)10 = (10011. )2

Cociente = 0 fin de la conversin

MSD

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 0.75x16 = 12 + 0 =C+0 EXACTA

22/10/2008

Sistemas Digitales I - Ing. S. Ros

CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEO DIGITAL


Caso: De Binario a Octal: de 3 en 3 porque el mayor dgito octal = 7 se puede escribir con 3 dgitos binarios (7)8 = (111)2 Ej.: ( 100 111 010 .)2 4 7 2 (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 A 6
Sistemas Digitales I - Ing. S. Ros

(3A6)16

22/10/2008

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 ( 101 100 101 111.)2 5 4 5 7 (5457)8

(1011 0010 1111.)2 Ej.: (4310.3)5 ( )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

(1104.4631)8

Sistemas Digitales I - Ing. S. Ros

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

n: nmero de dgitos de la parte entera de N

CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEO DIGITAL


Binario: Ej.: (10001.11)2 r=2 (10001.11)2,c = 25 - 10001.11 = 32 -10001.11 = 100000- 10001.11 n=5 = 01110.01

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 1767.96 + 8041.96 0 9809.92 acarreo final = 0 => Recomplemento Respuesta = - 0190.07

22/10/2008

Sistemas Digitales I - Ing. S. Ros

CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEO DIGITAL


Producto: Ej.: 0101 = 5 x 1101 = 13 0101 0000 0101 0101 1000001 = 65

Nmeros con signo 0 + 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 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

El rango en binario se

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

Sistemas Digitales I - Ing. S. Ros

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

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

1 1 1 1 1 10

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 Medio de transmisin

Y
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

Bloques Par x Par Impar x Impar

22/10/2008

Sistemas Digitales I - Ing. S. Ros

CAPITULO1: CONCEPTOS INTRODUCTORIOS AL DISEO DIGITAL


Ej.: Realice la operacin indicada (1100 0110)xs3 + ( 10 10 11 11)gray = ( )2 12 6 (11001010)2 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 0 0 1 1 B 0 1 0 1 F 0 0 1 1 2n = # de combinaciones A B
Circuito digital

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 F F V V B F V F V A AND B F F F V A 0 0 1 1 B 0 1 0 1 A.B 0 0 0 1

22/10/2008

Sistemas Digitales I - Ing. S. Ros

Captulo 2.- Fundamentos Del Diseo Digital


Conectores Naturales: Tablas de Verdad OR (Suma Lgica)
A F F V V B F V F V A OR B F V V V A 0 0 1 1 B 0 1 0 1 A +B 0 1 1 1

NO (Negacin Lgica)
A F V NO A V F
22/10/2008

A 0 1

A
1 0

A = A Teorema de Involucin

Sistemas Digitales I - Ing. S. Ros

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 A.H H z A es Verdadero Lgica Positiva A.L

L z A es Verdadero H z A es Falso Lgica Negativa

22/10/2008

Sistemas Digitales I - Ing. S. Ros

Captulo 2.- Fundamentos Del Diseo Digital


Lgica Mixta: Mezcla de las 2 lgicas L Falso Verdadero

A.L A.H A.H A.L

Positiva H

L Negativo H

Verdadero Falso

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 A 0 0 1 1 B 0 1 0 1 A.B 0 0 0 1 Tabla de Voltaje Puerta Lgica AND

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


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

22/10/2008

Sistemas Digitales I - Ing. S. Ros

Captulo 2.- Fundamentos Del Diseo Digital


Tablas de Voltaje:
NAND Tabla de Verdad
A 0 0 1 1 B 0 1 0 1 A NAND B 1 1 1 0

Tabla de Voltaje

Puerta Lgica NAND

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


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

22/10/2008

Sistemas Digitales I - Ing. S. Ros

Captulo 2.- Fundamentos Del Diseo Digital


OR Tabla de Voltaje Puerta Lgica OR
A.L B.L

A.L B.L
H H L L H L H L

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

22/10/2008

Sistemas Digitales I - Ing. S. Ros

Captulo 2.- Fundamentos Del Diseo Digital

NOR
Tabla de Voltaje Puerta Lgica NOR
A.L A . B. H B.L

A.L B.L
H H L L H L H L

A.B.H
L L L H

22/10/2008

Sistemas Digitales I - Ing. S. Ros

Captulo 2.- Fundamentos Del Diseo Digital

OR (Puertas de Suma) Tabla de Verdad


A 0 0 1 1 B 0 1 0 1 A+B 0 1 1 1

Tabla de Voltaje

Puerta Lgica OR
A.H A+B.H B.H

A.H B.H
L L H H L H L H

A+B.H
L H H 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


A 0 0 1 1 B 0 1 0 1 A NOR B 1 0 0 0

Tabla de Voltaje

Puerta Lgica NOR


A.H A+B.L B.H

A.H B.H
L L H H L H L H

A+B.L
H L L L

22/10/2008

Sistemas Digitales I - Ing. S. Ros

Captulo 2.- Fundamentos Del Diseo Digital

NAND Tabla de Voltaje Puerta Lgica NAND

A.L B.L
H L H L H H L L

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

22/10/2008

Sistemas Digitales I - Ing. S. Ros

Captulo 2.- Fundamentos Del Diseo Digital

AND Tabla de Voltaje Puerta Lgica AND

A.L B.L
H H L L H L H L

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

22/10/2008

Sistemas Digitales I - Ing. S. Ros

Captulo 2.- Fundamentos Del Diseo Digital

NO Tabla de Verdad
A
0 1

Inversor

A
1 0

A.H = A .L A.L = A .H

A.H

A.L

A.L

A.H

22/10/2008

Sistemas Digitales I - Ing. S. Ros

Captulo 2.- Fundamentos Del Diseo Digital


Operadores No Naturales OR EXCLUSIVO
Tabla de Verdad
A 0 0 1 1 B 0 1 0 1

Tabla de Voltaje
A.H B.H L L H H L H L H

Puerta Lgica EXOR


A.H B.H

A B
0 1 1 0

A B.H
L H H L

A B.H

22/10/2008

Sistemas Digitales I - Ing. S. Ros

Captulo 2.- Fundamentos Del Diseo Digital

NEXOR Tabla de Verdad


A 0 0 1 1 B 0 1 0 1

Tabla de Voltaje
A.H B.H L L H H L H L H

Puerta Lgica NEXOR


A.H B.H

A NEXOR B
1 0 0 1

A B.L
H L L H

A B.L

22/10/2008

Sistemas Digitales I - Ing. S. Ros

Captulo 2.- Fundamentos Del Diseo Digital

Coincidencia Tabla de Verdad


A 0 0 1 1 B 0 1 0 1 A

Tabla de Voltaje
A.H B.H L L H H L H L H A

.
1 0 0 1

. B.H
H L L H

Puerta Lgica Coincidencia


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

22/10/2008

Sistemas Digitales I - Ing. S. Ros

Captulo 2.- Fundamentos Del Diseo Digital


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

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

- Con NOR:
A.L
22/10/2008

A.H
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
C.H A.H B.H B.H C.H
B C.H

A.H B.H A.L

AB C .H

A B.H

F.H

Usando And, Nand (suma) e Inversores


C.H A.H B.H B.H 22/10/2008 C.H
BC.H BC.L

A.H B.H

ABC.H ABC.L

AB.H

AB.L

F.H

Sistemas Digitales I - Ing. S. Ros

Captulo 2.- Fundamentos Del Diseo Digital


Usando solo Nand

22/10/2008

Sistemas Digitales I - Ing. S. Ros

Captulo 2.- Fundamentos Del Diseo Digital


Usando solo Puertas NAND de 2 Entradas

22/10/2008

Sistemas Digitales I - Ing. S. Ros

Captulo 2.- Fundamentos Del Diseo Digital


Puertas Lgicas Resumen
Producto Suma Nombre AND NAND NOR OR EXOR NEXOR INVERSOR ECG 7408 7400 7402 7432 7486 74266 7404 Descripcin 4 And, 2 entradas 4 Nand, 2 entradas 4 Nor, 2 entradas 4 Or, 2 entradas 4 Exor 4 Nexor 6 Inversores

22/10/2008

Sistemas Digitales I - Ing. S. Ros

Captulo 2.- Fundamentos Del Diseo Digital


Circuitos Integrados Los C. I. digitales son una coleccin de resistores, diodos y transistores fabricados sobre una pieza de material semiconductor (Si) denominada sustrato. El C.I. se encuentra dentro de un encapsulado plstico o de cermica con terminales. El ms comn encapsulado es el Dip (Dual in line package)

22/10/2008

Sistemas Digitales I - Ing. S. Ros

Captulo 2.- Fundamentos Del Diseo Digital


Algebra de Boole
Postulados de Huntington

Axiomas 1.- Sobre un conjunto S de elementos que es cerrado con respeto a un operador, si para cada par de elementos en S, el operador especifica un nico resultado el cual tambin es un elemento de S. A, B 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

22/10/2008

Minitrminos 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

Sistemas Digitales I - Ing. S. Ros

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

Captulo 2.- Fundamentos Del Diseo Digital


m2 = A B C m6 = A B C m7 = A B C

F1 F1 F1 F1 F2 F2 F2 F2

= = = = = = = =

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

(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

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 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110
22/10/2008

F1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0

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

1111

Sistemas Digitales I - Ing. S. Ros

Mapa de Karnaugh Mapa de dos variables

A B F m0 m1 m2 m3 0 0 1 1 0 1 0 1 0 1 0 1

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

A B B 0 1
0 1

A 0 1
2 3

Con el mapa F=B

22/10/2008

Sistemas Digitales I - Ing. S. Ros

Mapa de Karnaugh

Cada Celda corresponde a cada minitrmino. Se agrupan los 1 para trabajar con SOP. Se realizan agrupamientos de 1s adyacentes. No existen adyacencia en las diagonales. Se realizan agrupamientos de 1s en 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.
Sistemas Digitales I - Ing. S. Ros

22/10/2008

Mapa de Karnaugh

A B B 0 0
0 1

A 1 1
2 3

A 0 B 1
0 1

A
2 3

A
2 3

1 1

1 B 1

0 1

1 1

1 B 0

0 1

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

A 10 C 11 12 13 16 17 B F=}+B+C A A 1 C 1 F=B
Sistemas Digitales I - Ing. S. Ros

14 05

0 0

0 0 B

1 1

10 C 11 F=A

12 13

06 07 B

04 05

22/10/2008

Mapa de Karnaugh Mapa de cuatro variables


A 1 A 10 11 13 C 02 14 15 17 06 B 012 113 115 014 08 19 111 010 1 1 1 C 1 B D C 1 B 1 D 1

F= B D
A 1 1 1 1 D

F=}C + D

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

Mapa de Karnaugh Mapa de 5 variables


}
B 1 1
0

A
B 1 1 E D
16

1 1

12

1 1

20

28

24

5 7

13

17

21 23

29

25

15

11

19

31

27

14

10

18

22

30

26

F= B D

22/10/2008

Sistemas Digitales I - Ing. S. Ros

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 -x -d F= A C 0 0 0 B 1 1 1

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1

C 0 1 0 1 0 1 0

F 0 1 0 1 0 0

0 1

0 1

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

1 1 22/10/2008

Ejemplo Caso tpico


0 apagado
Diodos emisores de luz
a b

1 encendido

x1 x2 x3 x4 NBCD

a f e d
Punto decimal

Decodificador para Display de 7 segmentos

c d e f g

b c

Pantalla Tpica

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
x1 0 1 2 3 4 5 6 7 8 9 0 0 0 0 0 0 0 0 1 1 1 1 1
Fuera del rango

x2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

x3 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

x4 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

a 1 0 1 1 0 1 1 1 1 1

b 1 1 1 1 1 0 0 1 1 1

c 1 1 0 1 1 1 1 1 1 1

d 1 0 1 1 0 1 1 0 1 1

e 1 0 1 0 0 0 1 0 1 0

f 1 0 0 0 1 1 1 0 1 1

g 0 0 1 1 1 1 1 0 1 1

1 1 1

22/10/2008

Sistemas Digitales I - Ing. S. Ros

Captulo 2.- Fundamentos Del Diseo Digital


X1 1 0 1 X3 1 0 1 1 1 X2 1 1 X4 X3 1 1 1 1 1 0 1 0 X2 X1 1 1 1 X3 0 1 1 1 1 X2 22/10/2008 1 1 X4 X1 1 1 X4

a=x1 + x3 + x2x4 + x2x4

b=x2 + x3x4 + x3x4

c=x3 + x4 + x2

Sistemas Digitales I - Ing. S. Ros

Mtodo de la variable entrante en el mapa ( VEM)


En un mapa se introduce la variable y se reduce una variable en el mapa. Para ingresar la variable C agrupo sus 2 posibilidades conservando iguales las combinaciones de A y B y multiplico por el valor de la funcin.
A 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 F 1 1 0 1 0 1 0 VEM VEM

A
C+C 1

0 c

1 C 1

0 1

1 0 B

A 0

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

22/10/2008

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

b) Reemplazar 0 c) Reemplazar 1

1 Si no est completamente cubierto: A + A = 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 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 F 0 0 1 1 1 0

Paso 1 A

Paso 2 A

0 B c+c1 1

c 0 c+c B 1 0

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 entidad 2 Bloque 2 Bloque 3 arquitectura 2 arquitectura 1 entidad 3 Arquitectura 3 entidad 4 Bloque 4 arquitectura 4

Ejemplo de entidad y arquitectura


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

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 Y

Descripcin Estructural o lgica


La arquitectura puede ser la siguiente:
Architecture XOR1 of XOR is - - declaracin de seales signal AN, BN : bit; signal ANB, ABN : bit; - - declaracin de componentes component INV port (I: in bit; O: out bit); end component ; component AND2 port (I1, I2: in bit; O: out bit); end component ; component OR2 port (I1, I2: in bit; O: out bit); end component ;

A B

AN

ANB Y

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 Y

Descripcin por flujo de datos o RTL

La forma de descripcin de la arquitectura mediante la aproximacin por flujo de datos simplifica los diseos VHDL, pues los hace ms compactos. Despus de la palabra clave begin se produce la asignacin del flujo de datos de las seales del miembro de la derecha hacia la seal Y, del miembro de la izquierda (salida). El miembro de la derecha del operador de asignacin <= se le conoce como expresin, cuyo valor se obtiene evalundola completa.

Ejemplo: La existencia del operador XOR compacta extraordinariamente el cuerpo de la arquitectura de la entity XOR Architecture XOR3 of XOR is Begin - asignacin de seales Y < = A xor B; End XOR3

Descripcin por flujo de datos o RTL

El VHDL, como otros lenguajes de programacin posee un conjunto de operadores que se usan con las seales o con las variables declaradas en sus diseos.

Lgicos: AND, OR, XOR, NOT, NAND, NOR y XNOR Aritmticos: +, -, * (multiplicacin solo por 2) De relacin: =, /=, <, >, <=, >= De concatenacin: &

Descripcin por flujo de datos o RTL

La tabla presentada a continuacin contiene una clasificacin de los operadores definidos en el lenguaje VHDL, as como los tipos de datos sobre los que se pueden operar los mismos. Los operadores lgicos han sido extendidos al uso en cualquier tipo de seal lgica, ya sea bit_vector, std_logic, o std_logic_vector.

Operadores

Definidos para los tipos Bit, Boolean, Bit_vector, std_logic y std_logic_vector Integer, Bit, y Bit_vector Integer

Lgicos: De relacin: Aritmticos:

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:

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;

E=(a0b0)(a1b1)(a2b2)(a3b3)

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:
T(x,y,z,u,v) = (0,4,18,19,22,23,25,29) + l (14,16,20,24)
Entity circuito is port (m: in integer range (31 downto 0); T: out std_logic); End circuito; Architecture RTL of circuito is Begin -- asignacin de seal seleccionada With m select T <= 1 when 0 | 4 | 18 | 19 | 22 | 23 | 25 | 29, - when 14 | 16 | 20 | 24, -- opcionales 0 when others; end RTL;

Descripcin por flujo de datos o RTL


Ejemplo 10: Escriba en VHDL la descripcin de un circuito combinacional, el cual recibe en sus entradas los dgitos del sistema decimal codificados en NBCD y tiene una salida P, que va a 1 cuando se detecta en sus entradas un dgito par.
entity detector is port (N: in integer range (15 downto 0); P: out std_logic); end detector; architecture num_par of detector is Begin -- asignacin de seal seleccionada with N select P <= 1 when 0 | 2 | 4 | 6 | 8, 0 when 1 | 3 | 5 | 7 | 9, - when others; -- opcionales end num_par;

Descripcin por flujo de datos o RTL


Ejemplo 11: Realizar la descripcin por flujo de datos de un MUX 4 a 1.

Descripcin por flujo de datos o RTL


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
RTL DTL TTL ECL IIL P-MOS N-MOS CMOS

Lineales Hbridos

Unipolares

Operacin circuital de una puerta bsica TTL estandar


Nand 7400 Q1 con Emisor mltiple. Q3 y Q4 poste totmico. Q2 seguidor de Q4.

C L H

Q2 sat corte

Q3 corte sat

Q4 sat corte

Diodos Fijadores de Entradas(Input Clamping Diodes)


Los diodos actan como fijadores de nivel de entrada para suprimir la oscilacin parsita que resulta de las rpidas transiciones de voltaje que se producen en los sistemas TTL. Por ejemplo, consideremos que el voltaje de salida de una puerta TTL cambie de uno lgico a cero lgico. El conductor que conecta esta puerta con la otra conduce esta seal. Si el conductor que acta como una lnea de transmisin no esta terminado correctamente resulta una oscilacin parsita (ringing).

Vout t

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

Vout t

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

Datos del fabricante


IOL o Iout(0) .-Corriente de salida de nivel bajo. No debe ser mayor que 16mA. VOH o Vout(1) .-Voltaje de salida de nivel alto. Cuando el voltaje de salida es mayor o igual a 2.4v. VOL o Vout(0) .-Voltaje de salida de nivel bajo. Cuando el voltaje de salida es menor o igual a 0.4v. IIH o Iin(1) .-Corriente de entrada de nivel alto. Cuando la entrada tiene el nivel de voltaje Alto max corriente que circula en la entrada es 40uA. IIL o Iin(0) .-Corriente de entrada de nivel bajo. La max corriente que puede circular en la entrada es -1.6mA. ICCH o ICC(1) .-Corriente de fuente de poder para salidas Altas. ICCL o ICC(0) .- Corriente de fuente de poder para salidas Bajas.

Datos del fabricante.


tPLH o tpd(1).- Tiempo de retardo de propagacin para la salida de Bajo a Alto. tPHL o tpd(0).- Tiempo de retardo de propagacin para la salida de Alto a Bajo. IOS .- Corriente de Salida de cortocircuito. Esta corriente se mide con Vcc max y una salida cortocircuitada a tierra cuando esta salida esta en estado Alto. Refleja el max de corriente que puede manejar el circuito. Hay que tener en cuenta que disipacin de potencia en este caso es muy elevada, por lo tanto no debe mantenerse por ms que 1 segundo o el circuito puede sufrir un dao permanente. Vcc: Valor de voltaje de la fuente de alimentacin de 5V. Vcc max serie comercial: 5,25V Vcc max serie militar: 5,5V Vcc min serie comercial: 4,75V Vcc min serie militar: 4,5V.

Margen de Ruido
En los sistemas lgicos la palabra Ruido significa cualquier voltaje (DC O AC) no deseado que aparece a la entrada de un circuito lgico a causa de campos elctricos o magnticos desviados.

CI1

CI2

Si dicho voltaje es suficientemente elevado, puede ocurrir que CI2 cambie de estado sin que se haya cambiado el voltaje de salida de CI1. Se define el margen de ruido de la siguiente manera: VnH = VOH VIH = 2.4v 2.0v = 0.4v margen de ruido para estado Alto VnL = VIL VOL = 0.8v 0.4v = 0.4v margen de ruido para estado Bajo

Capacidad de Carga(Fan - out)


En general se requiere que la salida de un circuito lgico maneje varias entradas de otros circuitos lgicos. Es el nmero max de entradas que una salida puede manejar confiablemente.

Fan out =

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 R2

R3 T3 R1 T1 IIL T4 VOL IIL R1 T1 R1 T1

IOL

IIL

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 R2

R3 T3 IOH IIH R1 T1 IIH T4 VOH IIH R1 T1 R1 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 tPHL tPLH

Vout tPLH tPHL

Disipacin de Potencia(Power Dissipation)


A veces se da directamente como la disipacin promedia de potencia PD. A menudo en las hojas de datos, la disipacin de potencia es directamente especificada en trminos del drenaje de corriente desde la fuente Vcc para CI. Esta corriente se simboliza como Icc. Cuando se conoce es valor de Icc la potencia tomada de suministro se obtiene simplemente multiplicando Icc por el voltaje de Vcc. Para muchos CI valor de la corriente Icc ser diferente para los dos estados lgicos. En tales casos los valores de Icc se especifican: ICCH y ICCL. Por ejm. CI 7400 ICCHmax= 8mA y ICCLmax= 22mA PDHmax = ICCHmax * VCCmax = 8mA * 5.25v = 42mW PDLmax = ICCLmax * VCCmax = 22mA * 5.25v = 115mW

Descripcin de otras series TTL


NATIONAL fabrica los CI de serie TTL estndar, 74L,74S,74LS,74AS,74LS; MOTOROLA fabrica series TTL estndar, 74LS, 74ALS,74P. Serie 74L (TTL de Baja potencia) Circuito parecido al Standard R I P tpd Vel

Serie 74H (TTL de Alta velocidad) R I P tpd V CI de la serie 74H tienen el mismo circuito bsico que la serie 54/74 excepto que valores de resistencias son menores y el transistor seguidor de emisor T3 y diodo D3 se remplazan por los transistores T5 y T3 en montaje par Darlington.

R4 130 T3 D3 Out T4

R2 760 T5 R5 4k

R4 58

T3 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) La serie 74S tiene alta velocidad de conmutacin, pero consume ms potencia que la serie estndar 54/74. La conmutacin de saturacin a corte previamente requiere la eliminacin de los portadores (electrones en este caso) acumulados en la base del transistor T2. Si se logra la eliminacin rpida de los portadores acumulados, o si se disminuye su cantidad, se puede obtener un circuito de mayor velocidad de conmutacin que los TTL estndar. El circuito bsico de la serie 74S es parecido al de la serie 74H. Pero todos los Transistores(excepto T3). tienen un diodo Schottky conectado en paralelo con la unin base-colector.

Puesto que la serie tiene la potencia de disipacin casi de la serie 74H mientras que opera a mayor velocidad, es ampliamente usada en aplicaciones donde la velocidad es un factor crtico.

Serie 74LS(TTL de Baja potencia Schottky) La serie 74LS presenta una caracterstica de velocidad similar a la serie estndar pero con un menor consumo de potencia. La otra ventaja de la serie 74LS es la caracterstica de transferencia ms simtrica. Esto se hace posible gracias a incorporacin del transistor T6. Transistor T2 por lo tanto, no puede conducir mientras no conduce T6. Pero en el momento que se encienden T2 y T6 tambin se encender el transistor T4 por que la cada de voltaje en la resistencia de 3.5K plus el voltaje entre colector-emisor de T6 es suficiente para que conduce T4. Prcticamente, los tres transistores se encienden al mismo tiempo, lo que hace que caracterstica de transicin de la serie 74LS vuelve ms abrupta y se aumenta el voltaje de umbral.

+Vcc D1 A B D2 R3 T2 15k 2.8k D4 T4 3.5k T6 D3 R5 R1 18K R2 7.6K T5 T3 5k Out R4 110

Serie 74ALS (TTL de Baja potencia Schottky avanzada) Serie 74ALS es una de las series ms recientes. La aparicin de esta serie se ha hecho posible gracias a nuevos procesos de fabricacin de los circuitos integrados. Circuito bsico de la serie 74ALS es similar a la serie 74LS, excepto algunos modificaciones en las entradas del circuito. A causa de estas modificaciones se reduce la corriente de entrada IIL y se aumenta el voltaje de umbral hasta aproximadamente 1.5v. La nueva tcnica de fabricacin de los CI hace la serie 74ALS ms sensible a la carga electrosttica, por lo tanto en esta serie las salidas tambin como entradas estan protegidos por los diodos fijadores. Serie 74AS (TTL Schottky avanzada) Serie 74AS fue diseada para satisfacer nuevas necesidades de los diseadores de Sistemas Digitales en grandes velocidades.

Gracias a la nueva tecnologa de fabricacin y a los diodos Schottky la serie 74AS es actualmente la serie ms rpida en la tecnologa bipolar. Para seleccionar la serie apropiada para un determinado diseo hay que tomar en cuenta dos factores ms importantes: la velocidad de conmutacin y la potencia de disipacin. A continuacin observamos la comparacin de velocidad y potencia de disipacin de las series anteriormente mencionadas.

AS F S ALS H LS TTL estndar - L Ms rpida L ALS LS F AS TTL estndar S - H Bajo consumo de Potencia Alto consumo de Potencia Ms lenta-

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

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

74 10 9

74L 1 33

74H 22 6

74S 20 3

74LS 2 9

Algunas otras propiedades de los CI TTL


Entradas no conectadas Frecuentemente todas las entradas de un CI TTL no se usan en una aplicacin particular. Por ejemplo, suponga que nosotros necesitamos la operacin lgica AB.L. y estamos usando un Chip 7410 que tiene tres puertas NAND de tres entradas. Las maneras posibles de lograr esto es la siguiente.

A.H B.H

AB.L

A.H B.H 1k

AB.L

A.H B.H

AB.L

Vcc

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)


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 T1 T2 T4 R3 R2 Rpull-up Vcc

La R pull up es externa y debe colocarla el usuario. El valor de la resistencia pull-up se elijen entre Rmax y Rmin. Rmax es el mximo valor de resistencias pull-up que permite mantener VOH = 2.4v cuando todas las salidas unidas en AND-alambrado estn en el estado Alto.

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


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


IIL-corriente de entrada de estado Bajo

TTL de triple estado


Los CI de triple estado tienen una entrada adicional a las de datos (A y B) que se conoce como entrada de control, la cual opera segn la tabla de abajo. Cuando control = 1, los transistores Q3 y Q4 se ponen en corte generando un tercer estado estable de salida que es una condicin de alta impedancia lo cual permite a un gran nmero de los CI TTL comunicarse confiabilidad entre si por medio de Bus comn.

A.H

Out.L

B.H Control

Control 0 1

Out NAND Q3 y Q4 en corte

Familia CMOS
Los transistores de la tecnologa MOS son transistores de efecto de campo llamados MOSFET. El MOSFET tiene varias ventajas:
Es relativamente simple Poco costoso de fabricar Es pequeo Consume muy poca energa

Introduccin
Los dispositivos MOS ocupan menos espacio que los transistores Bipolares (BJT) porque normalmente no usan los elementos resistivos que ocupan los CI bipolares. Esta ventaja se llama mayor densidad de integracin (o de empaquetamiento)

Tipos de MOSFET

ID

ID

VGS +Vth -Vth

VGS

Caractersticas de Transferencia
La corriente circula por el MOSFET de canal N solo cuando el voltaje de entrada VGS es positivo y mayor que el 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 L H Out H L

Opercacin del Inversor CMOS


Cuando en la entrada se aplica un voltaje de entrada bajo:
El voltaje VGS del Q1 es apropiado para que pueda conducir Ron = 1K El voltaje VGS del Q2 es igual a cero por lo tanto Q2 no puede conducir Roff = 10G Por lo que Vout = Vdd (+5V)

Cuando el voltaje de la entrada es alto el Vout = 0V

Caractersticas Generales de los CI de la Familia CMOS


40: fue la primera introducida por RCA 40xxB: La B significa buffer, tiene mayor capacidad de corriente en sus salidas 74Cxx: compatible con los CI TTL, las caractersticas son casi las mismas de 40xx 74HC: CMOS de alta velocidad, aumento de la velocidad de conmutacin en 10 veces. La velocidad es comparable con la serie 74LS de TTL

Ms Caractersticas
Voltaje de Salida VoL 0V VoH Vdd Voltaje de Alimentacin Vdd
Serie 74HC, 74HCT Voltaje +3V hasta +6V 40, 40xxB, 74C +3V hasta +15V

Voltaje de Entrada ViL ViH 30% Vdd 70% Vdd

Margen de Ruido 30% Vdd

Ms Caractersticas
Al aumentar el voltaje de alimentacin tambin se aumentar el consumo de potencia y ms grande ser la disipacin de potencia. En estado esttico la disipacin de potencia es extremadamente baja (nW) Cada vez que una salida CMOS pasa de Bajo a Alto, tiene que suministrar una corriente a la capacitancia de carga Una entrada CMOS tiene una resistencia extremadamente grande y una capacitancia parsita de 5 pF Los CI CMOS tienen un Fan-Out mximo de 50 para las operaciones a frecuencias no mayor a 1 MHz, para las frecuencias ms altas el Fan-Out ser menor El retardo de propagacin de los CMOS (tpd) es mayor que el de los TTL Las entradas CMOS nunca deben dejarse desconectadas

Susceptibilidad a la carga esttica


La alta impedancia de entrada de la familia lgica CMOS la hace muy susceptible a la carga esttica. Precauciones de manejo:
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.

Sumadores
Usaremos palabras de 4 bits

4 A Co B Cin

A(A4,A3,A2,A1) B(B4,B3,B2,B1)
Ejemplo en binario:

0 = Cin

0111 = A + 1010 = B Cout = 10001 =

14/10/2010

Sistemas Digitales I - Ing. S. Ros

Internamente:
A4 B4 A3 B3 A2 B2 A1 B1

Cout C4

C3

C2

C1

Cin C0

14/10/2010

Sistemas Digitales I - Ing. S. Ros

Diseo del bloque sumador cualquiera:


Tabla de Verdad Aj Bj Aj 0 0 0 0 1 1 1 1 Aj 0 1 1 0 Bj
14/10/2010 Sistemas Digitales I - Ing. S. Ros

Bj 0 0 1 1 0 0 1 1

Cj-1 0 1 0 1 0 1 0 1

Cj

Cj

Cj-1

j Mapas: 0 1

Aj 1 0 Cj-1 0 0 0 1 Bj 1 1 0 1

Cj-1

Implementacin:

14/10/2010

Sistemas Digitales I - Ing. S. Ros

Conexin en Cascada

14/10/2010

Sistemas Digitales I - Ing. S. Ros

Comercialmente: 7483

14/10/2010

Sistemas Digitales I - Ing. S. Ros

CAPITULO 5: CIRCUITOS INTEGRADOS MSI Y SUS APLICACIONES - CODIGOS VHDL

Bloque Sumador Cualquiera x y

Cout

Cin

s S=x y Cin

Cout = xy + y Cin + Cin X


14/10/2010 Sistemas Digitales I - Ing. S. Ros

x3 y3 C3

x2 y2

x1 y1 C2

x0 y0 C1 Cin

s3

s2

s1

s0

14/10/2010

Sistemas Digitales I - Ing. S. Ros

14/10/2010

Sistemas Digitales I - Ing. S. Ros

x3 y3 C3

x2 y2

x1 y1 C2

x0 y0 C1 Cin

s3

s2

s1

s0

14/10/2010

Sistemas Digitales I - Ing. S. Ros

x3 y3

x2 y2 C3

x1 y1 C2

x0 y0 C1 Cin

s3

s2

s1

s0

14/10/2010

Sistemas Digitales I - Ing. S. Ros

14/10/2010

Sistemas Digitales I - Ing. S. Ros

Comparadores
Usaremos palabras de 4 bits A(A3,A2,A1,A0) B(B3,B2,B1,B0) Las salidas son mutuamente excluyentes.
4 A
A>B

4 B
A=B A<B

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

A>B

A=B

A<B

14/10/2010

Sistemas Digitales I - Ing. S. Ros

Internamente:
A3 B3 A2 B2 A1 B1 A0 B0

>in =in <in

> = <

>in =in <in

> = <

>in =in <in

> = <

>in =in <in

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

A>B A=B A<B

14/10/2010

Sistemas Digitales I - Ing. S. Ros

Bloque comparador cualquiera


Tabla de Verdad Bj Aj 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

A>B A=B A<B

(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

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

A>B A=B A<B

Sistemas Digitales I - Ing. S. Ros

Mapas:
Aj Bj 0 A=Bin 0 1 0 0 0 A<Bin

A>B

Aj Bj 1 A=Bin 1 1 1 0 0 A<Bin

A>Bin

A>Bin
14/10/2010 Sistemas Digitales I - Ing. S. Ros

Mapas:
Aj Bj

A=B

A<Bin A=Bin A>Bin Bj

Aj

A<Bin A=Bin A>Bin


14/10/2010 Sistemas Digitales I - Ing. S. Ros

Mapas:
Aj Bj

A<B

A<Bin A=Bin A>Bin Bj

Aj

A<Bin A=Bin A>Bin


14/10/2010 Sistemas Digitales I - Ing. S. Ros

Implementacin
Ao.H Bo.H A>B.H A>Bin.H Ao.H A>Bin.H A1.H A1.H B1.H A>B.H A>Bin.H A2.H A2.H B2.H A>B.H A>Bin.H A3.H A3.H B3.H A>B.H

Ao.H A=B.H +Vcc Bo.H A=Bin.H

A1.H A=B.H B1.H A=Bin.H

A2.H A=B.H B2.H A=Bin.H

A3.H A=B.H B3.H A=Bin.H

Bo.H Ao.H A<Bin A<Bin Bo.H

B1.H A1.H A<Bin A<Bin B1.H

B2.H A2.H A<Bin A<Bin B2.H

B3.H A3.H A<Bin A<Bin 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
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 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 X2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 X1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 X0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 A1 A0

X0 X1 X2 X3

A0
Cod 4-2

A1

Cdigo: X0 X1 X2 X3 A1 0 0 1 1 A0 0 1 0 1

14/10/2010

Sistemas Digitales I - Ing. S. Ros

Mapas:
A1 X3 0 X1 0 1 X2 1 X0 X3 0 X1 1 0 X2
14/10/2010 Sistemas Digitales I - Ing. S. Ros

A0

1 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 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 X3 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 X2 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 X1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 A2 A1 A0

X1 X2 X3 X4

Cod 4-3

A0 A1 A2

X1 X2 X3 X4 LOS DEMAS

A2 0 0 0 1 0

A1 0 1 1 0 0

A0 1 0 1 0 0

14/10/2010

Sistemas Digitales I - Ing. S. Ros

A1

Mapas:
A2
X4 X2

X4

0 0 0 1 1 0 0 0
X1

1 0 0 0
X3

0 0 0 0

0 0 0 0
X1

0 0
X2

0 0 0 0
X3

0 0 0 0

A0
X4

0 0

0 1
X2

1 0 0 0
X3

0 0 0 0

0 0 0 0
X1

0 0

14/10/2010

Sistemas Digitales I - Ing. S. Ros

Implementacin

14/10/2010

Sistemas Digitales I - Ing. S. Ros

Codificador con Prioridad 4-2: Permite que varias lneas de entrada estn activas al mismo tiempo y enva el valor binario del subndice de la entrada de ms alta prioridad (el mayor).
X3 A1 0 0 1 1 A0 0 1 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 X2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 X1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 X0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 A1 A0 GS EO

X0 X1 X2 X3

Entradas inactivas EO = 1 A1=A0=0 Ms de una entrada activa GS=1


14/10/2010

Sistemas Digitales I - Ing. S. Ros

Mapas:
A1 X3 0 0 0 X1 0 1 1 1 1 X2 1 1 1 1 1 1 1 1 X0 X3 0 0 1 X1 1 0 0 0 0 X2
14/10/2010 Sistemas Digitales I - Ing. S. Ros

A0 1 1 1 1 1 1 1 1 X0

Mapas:
GS X3 0 0 1 X1 0 0 1 1 1 X2 1 1 1 1 0 1 1 1 X0 X3 1 0 0 X1 0 0 0 0 0 X2
14/10/2010 Sistemas Digitales I - Ing. S. Ros

EO

0 0 0 0

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

Y (Y.H) S1 Y (Y.L) 0 0 1 1 S0 0 1 0 1 Y I0 I1 I2 I3

MUX 4-1 2
3

En LINEA HABILITADORA H DESABILITADO L HABILITADO


14/10/2010

S1 S0

LINEAS SELECTORAS

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
En 0
I0 I1 0 1 MUX

I1 0 0 0 0 1 1 1 1

I0 0 0 1 1 0 0 1 1

S 0 1 0 1 0 1 0 1

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

En.L

1 1 1 1 1 1 1 1

14/10/2010

Sistemas Digitales I - Ing. S. Ros

Mapas:
Asumimos que EN = activado Y
0 1 0 1 1

I1
0 1

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 1Y (Y.H)

EN.L

1B En S

Ci= EC674157
S.H
2A 2B En S 3A 3B En S 4A 4B En S 14/10/2010 Sistemas Digitales I - Ing. S. Ros 3Y (Y.H) 2Y (Y.H)

4Y (Y.H)

MUX 4-1
I0 I1 I2 I3 0 1

Y (Y.H) 74153: 2 Mux de 4 a 1 Y (Y.L)

MUX 2 4-1
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 S1 S0 Y (Y.H)

Y (Y.L)

14/10/2010

Sistemas Digitales I - Ing. S. Ros

MUX 16-1

74151

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

Y (Y.H)

Y (Y.L)

S3 S2 S1 S0

14/10/2010

Sistemas Digitales I - Ing. S. Ros

S4

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

Y (Y.H)

MUX 16-1

S3 S2 S1 S0

MUX 32-1

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

S3 S2 S1 S0

Y (Y.H)

MUX 16-1

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

Y (Y.H)

MUX 16-1

En.L

En

S3 S2 S1 S0

0 1

Y (Y.H)

MUX 32-1

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

S3 S2 S1 S0

Y (Y.H)

En

S
S4

MUX 16-1

14/10/2010

Sistemas Digitales I - Ing. S. Ros

0 1 2 3 4 5 6 7 En

MUX 8-1

Y (Y.H)

S2

S1 S0

0 1 2 3 4 5 6 7 En

MUX 8-1

Y (Y.H)

0 1 2

Y (Y.H) MUX 4-1 S4 S3

S2

S1 S0

3 En

Y (Y.L)

MUX 32-1
En.L

0 1 2 3 4 5 6 7 En

MUX 8-1

Y (Y.H)

En.L

S2

S1 S0

0 1 2 3 4 5 6 7 En

MUX 8-1

Y (Y.H)

14/10/2010

S2

S1 S0

Sistemas Digitales I - Ing. S. Ros

Comercialmente:

74153

74151

14/10/2010

Sistemas Digitales I - Ing. S. Ros

APLICACIONES DE LOS MULTIPLEXORES Mux 8-1


I0 I2 I3

Variable aleatoria ms significativa


S2
I6 I7 I4 I5

S0

I1

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 B B C 0 A 1 0

14/10/2010

Sistemas Digitales I - Ing. S. Ros

Con lgica negativa Usar inversores con el mismo mapa 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 0 C 1 0 0 B 0 0 1 1

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

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

C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

F 0 1 1 0 0 0 1 1 0 1 1 0 1 1 1 0

Ingresar C y D dentro del mapa A B B Cambiamos las posiciones de A y B A B B A A

14/10/2010

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
Reconocedor de Minterms m 2n n entradas, m salidas

En
No. entradas A B 0 1 2 3

A 0 0 1 1

B 0 1 0 1

O0 0

O1 0

O2 0

O3 0

0 1 1 1 1

Salidas obtenidas por minitrminos:


Salidas Lgica negativa

En.L

Oo= O1= O2= O3=

14/10/2010

Sistemas Digitales I - Ing. S. Ros

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 0 C 1 0 1 B F2 C 0 1 1 B 0 0 A 0 1 1 0 0 0

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 A 1 C B 0 0 0 0 1 B 0 1 C B 0 0

F2 A 0 1 0 B 1 1

14/10/2010

Sistemas Digitales I - Ing. S. Ros

14/10/2010

Sistemas Digitales I - Ing. S. Ros

Decodificador para Display de 7 segmentos


7447 7448

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
4

A-B = +, pero Si Cout = 0

A-B = -

(A)2
4 A Co 4 4 B Cin 4

4 A Co B Cin 4
I0 I1 En.L

+Vcc

+Vcc

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 4 B 4
(A>B )in

B 4

C 4
(A>B )in

C 4

D 4
(A>B )in

COMP

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

COMP

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

COMP

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

+Vcc

A>B

A=B

A<B

B>C

B=C

B<C

C>D

C=D

C<D

F1
14/10/2010

F2

F3
Sistemas Digitales I - Ing. S. Ros

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 5 10011=19 5
(A>B )in

A 01001=9 5 5
(A>B )in

A 11101=29 5 5
(A>B )in

COMP

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

COMP

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

COMP

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

+Vcc

A>9

A>19

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

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 0 A>29 A>19 1 1 0

S1 0 0 1 1

S0 0 1 0 1
A>9 0 A>29 A>19 0 1 1

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

S0

S1 = A>19
14/10/2010 Sistemas Digitales I - Ing. S. Ros

Ahora veamos las diferentes correcciones que hay que sumar al nmero binario.

(A)2 10010=18 5 A Co 5 6 B Cin 5

(A)2 01100=12 5 A Co 5 6 B Cin 5

(A)2 00110=6 5 A Co 5 6 B Cin 5

(A)2+18

(A)2+12

(A)2+6

14/10/2010

Sistemas Digitales I - Ing. S. Ros

Ej: Implementar una ALU usando diseo modular. Utilice integrados de MSI.
B A B Restador Restador A B A 00000
0 1 2 3 4 5 6 7

Sumador

5 MUX 8-1

F 5

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

Mquinas Secuenciales Lgica Programable


uP PLC

Arreglos lgicos
PLA ROM

Asincrnicas

Sincrnicas

Pulso

Nivel

Tradicional Contemporneas

No requieren memoria

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.
L 0 Q.H

SET. L H 0

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 0 0 0 0 1 1 1 1 RESET 0 0 1 1 0 0 1 1 Qn 0 1 0 1 0 1 0 1 Qn+ 1.H = ( SET + RESET . Qn) . H 0 1 0 0 1 1 1 1 Qn+ 1.L = ( RESET . Qn) . L 0 1 0 0 0 -> 1 1 0 0

Fundamentos de las mquinas secuenciales.

Debido al retardo de propagacin luego de una vuelta se estabiliza. Nunca pueden ser SET y RESET iguales a 1 a la vez. Existen dos tablas que definen la operacin de un mquina secuencial: Tabla de Excitacin Qn Qn+1 SET RESET 0 0 0 f 0 1 1 0 1 0 0 1 1 1 f 0

Tabla caracterstica Restringida: SET RESET Qn+1 0 0 Qn Hold 0 1 0 Reset 1 0 1 Set 1 1 f Condicin Prohibida

Las mquinas secuenciales asincrnicas son bsicamente circuitos de lgica combinatorial con retroalimentacin directa y son cicleados por transiciones de cada una de las entradas. Usan los retardos de propagacin del bloque decodificador de prximos estados para memoria. Las mquinas secuenciales sincrnicas usan integrados llamados flip flop como memoria y son cicleados por una seal especial de entrada que sincroniza todo el sistema llamada reloj del sistema CLK. CLK.H
t 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.
SET.L Decodificador SET/RESET : CELDA RESET.L BINARIA Q Q.L Q Qn Q.H Salidas

CLK.H Entradas

El Flip Flop SR
S.H R.H CLK.H

S R

Q Q

Q.H

Q.L

Tabla caracterstica
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

S 0 0 0 0 1 1 1 1

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 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 S 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 R 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 Qn 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Qn+ 1 0 1 0 1 0 1 0 1 0 1 0 0 1 1 f f SET 0 f 0 f 0 f 0 f 0 f 0 0 1 f f f RESET f 0 f 0 f 0 f 0 f 0 f 1 0 0 f f

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

Mapas
CLK 00 f1 f3 R 02 04 f5 f7 06 S 1 f f f
12

CLK f 0 Qn R 0 f
0

08 f9 011 010

f 0 0 f

0 0 f f S

12

f 0 1 f

13

13

15

15

11

Qn

14

14

10

SET = CLK . S

RESET = CLK . R

Implementacin

S.H

SET.L CELDA Q Q.H

CLK.H R.H

RESET.L

BINARIA Q Q.L

El Flip Flop JK
J.H K.H CLK.H

J K

Q Q

Q.H

Q.L

Tabla caracterstica
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

J 0 0 0 0 1 1 1 1

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.

Set Se invierte Qn

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 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 J 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 K 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 Qn 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Qn+ 1 0 1 0 1 0 1 0 1 0 1 0 0 1 1 1 0 SET 0 f 0 f 0 f 0 f 0 f 0 0 1 f 1 0 RESET f 0 f 0 f 0 f 0 f 0 f 1 0 0 0 1

Mapas
CLK 00 f1 f3 K 02 04 f5 f7 06 J 1 f 0 1
12

CLK f 0 Qn K 0 f
0

08 f9 011 010

f 0 0 f

0 0 1 0 J

12

f 0 1 f

13

13

15

15

11

Qn

14

14

10

SET = CLK . J . Qn

RESET = CLK . K . 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 BINARIA Q Q.L Q Q.H

El Flip Flop D
D.H D Q Q Q.H

Es conocido como retenedor de informacin.

CLK.H

Q.L

Tabla D 0 0 1 1

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

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

Tabla Completa de Diseo


CLK 0 0 0 0 1 1 1 1 D 0 0 1 1 0 0 1 1 Qn 0 1 0 1 0 1 0 1 Qn+ 1 0 1 0 1 0 0 1 1 SET 0 f 0 f 0 0 1 f RESET f 0 f 0 f 1 0 0

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

SET = CLK . D

RESET = CLK . D

D.H CLK.H

SET.L S.L

Comercialmente: 7474: 2FFD

74174: 6FFD 74273: 8FFD R.L RESET.L 74175: 4FFD

En los flip flop existen adems dos entradas adicionales llamadas S.L (PRESET.L) y R.L (CLEAR.L) las cuales son entradas asincrnicas que no interfieren en la operacin normal del FF. Son independientes de las entradas sincrnicas. Actan igual que SET y RESET.

El Flip Flop T
T.H T Q Q Q.H CLK.H Q.L

Tabla T 0 0 1 1

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

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

Tabla Completa de Diseo CLK 0 0 0 0 1 1 1 1 T 0 0 1 1 0 0 1 1 Qn 0 1 0 1 0 1 0 1 Qn+1 0 1 0 1 0 1 1 0 SET 0 f 0 f 0 f 1 0 RESET f 0 f 0 f 0 0 1

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 Q Q QA.H DA CLK.H DB . H Q Q QB.H DB DC DD DC. H Q Q QC.H DD . H Q Q QD.H

D CLK.H

Registro

QA

QB

QC

QD

Registro de Desplazamiento Universal


A B C D S1 CLR.L CLK.H R Registro Universal S1 S0 L 0 0 1 1 QA QB QC QD S0 0 1 0 1 MODO HOLD SR SL LOAD

Un registro de desplazamiento universal tiene entradas de datos en paralelo: A, B, C, D Adems tiene las entradas de control: S1 y S0 Dispone de dos entradas en serie: R y L Las salidas son QA, QB, QC, QD

Ej: Disee un contador usando un registro de desplazamiento universal, que siga la siguiente secuencia: QA QB QC QD
0 CLK.H Contador 1 0 0 QA QB QC QD 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1

Estado Presente

Entradas

S1 S0

R L

Prximo Estado

0000 1000 0100 0010 0001


S1 = 0

S0 = 1

0 0 0 0 0

1 1 1 1 1

1 0 0 0 0

f f f f f

1000 0100 0010 0001 0000

L=f=0

R = QA QB QC QD

Implementacin:

CLR.L CLK.H R Registro Universal

S1 S0 L

QA

QB

QC

QD

Implementacin:

CLR.L CLK.H R QA Registro Universal

S1 S0 L QD

+Vcc

QB

QC

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 A3 A2 A1 A0

E3

E2

E1

E0 R/ W

Lectura/ Escritura Habilitador de Memoria

M.E. S3 S2 S1 S0

Salidas de datos 2n = nmero de palabras Tamao de la memoria: 2n X m

Dispositivo General de memoria

EEPROM 2864: 8K x 8
A12 A11

I/ O7 I/ O6 I/ O5 I/ O4 I/ O3 I/ O2 I/ O1 I/ Oo

Entradas de direcciones

:
A2 A1 A0

Entradas/ Salidas de datos

Entradas de Control

CE OE WE

Entradas de Control Modo LECTURA ESCRITURA ESPERA CE L L H OE L H X WE H L X Salidas Dato sal Dato entr Z

Tipos de RAM
La RAM esttica es aquella que puede almacenar datos mientras se aplica energa al circuito. Las celdas de la memoria RAM esttica son en esencia flips flops que permanecern en un estado determinado (almacenarn un bit) indefinidamente, siempre y cuando no se interrumpa el suministro de energa al circuito.

Las RAM dinmicas, son aquellas que almacenan datos como cargas en capacitores. Con la RAM dinmica los datos almacenados desaparecern gradualmente debido a la descarga del capacitor, de manera que se necesitan refrescar en forma peridica los datos, o sea recargar los capacitores.

Ejercicio: Implemente un Convertidor de Cdigo de BINARIO a XS3 con una EPROM.


X3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 X2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 X1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 X0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 D3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 D2 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 D1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 D0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 U3 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 1 U2 0 1 1 1 1 0 0 0 0 1 0 1 1 1 1 0 U1 1 0 0 1 1 0 0 1 1 0 1 0 0 1 1 0 U0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0

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.

X3 X2 X1 X0

A3 A2 A1 A0
I/ O7 I/ O6 I/ O5 I/ O4 I/ O3 D3 D2 D1 D0 U3 U2 U1 U0

Entradas de Control

CE OE WE

I/ O2 I/ O1 I/ Oo

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

Anda mungkin juga menyukai