SISTEMAS DIGITALES I
22/10/2008
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
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.
22/10/2008
22/10/2008
. parte fraccionaria)
Punto base Octal Binario Decimal
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
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
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
(N)r= aj rj
J=-m
=
n-1
-m
n=4ym=3
22/10/2008 Sistemas Digitales I - Ing. S. Ros
22/10/2008
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
(19)10 = (10011. )2
MSD
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
Cj=0 s 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
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
(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
Inexacta Peridica
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
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
22/10/2008
22/10/2008
R= - (00101.11)2
22/10/2008
Convencin
Sistemas Digitales I - Ing. S. Ros
El rango en binario se
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
(0111 1011)xs3
1 1 1 1 1 10
22/10/2008
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
Ej.: 1 1 0 1 1 0
22/10/2008
MSD
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
22/10/2008
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
22/10/2008
NO (Negacin Lgica)
A F V NO A V F
22/10/2008
A 0 1
A
1 0
A = A Teorema de Involucin
22/10/2008
Positiva H
L Negativo H
Verdadero Falso
22/10/2008
22/10/2008
Tabla de Voltaje
22/10/2008
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
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
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
A.H B.H
L L H H L H L H
A+B.L
H L L L
22/10/2008
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
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
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
Tabla de Voltaje
A.H B.H L L H H L H L H
A B
0 1 1 0
A B.H
L H H L
A B.H
22/10/2008
Tabla de Voltaje
A.H B.H L L H H L H L H
A NEXOR B
1 0 0 1
A B.L
H L L H
A B.L
22/10/2008
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
22/10/2008
- 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
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
AB C .H
A B.H
F.H
A.H B.H
ABC.H ABC.L
AB.H
AB.L
F.H
22/10/2008
22/10/2008
22/10/2008
22/10/2008
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
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
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
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
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
22/10/2008
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
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
A B F m0 m1 m2 m3 0 0 1 1 0 1 0 1 0 1 0 1
A B B 0 1
0 1
A 0 1
2 3
22/10/2008
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
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
F= B D
A 1 1 1 1 D
F=}C + D
F=B
22/10/2008 Sistemas Digitales I - Ing. S. Ros
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
AB
AB
22/10/2008
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
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
1 encendido
x1 x2 x3 x4 NBCD
a f e d
Punto decimal
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
c=x3 + x4 + x2
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
b) Reemplazar 0 c) Reemplazar 1
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
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
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.
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
Tipos de datos
CHARACTER: describe caracteres. Rango: son los 256 caracteres del estandar ISO 8859-1: 1987 los 128 primeros son los caracteres ASCII.
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;
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).
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
end component;
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;
A B Y
A B
AN
ANB Y
BN
ABN
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;
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;
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.
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.
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.
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 ;
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;
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).
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
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
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: &
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
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.
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.
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;
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)
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';
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;
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
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;
La arquitectura basada en flujo de datos utilizando operadores lgicos necesita del circuito final de este MUX
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;
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;
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 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.
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
Lineales Hbridos
Unipolares
C L H
Q2 sat corte
Q3 corte sat
Q4 sat corte
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
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
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
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
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.
In
Out
In
Out
Vin
Vin
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.
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
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
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.
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.
A.H
Out.L
B.H Control
Control 0 1
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
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
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
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
14/10/2010
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
14/10/2010
Internamente:
A4 B4 A3 B3 A2 B2 A1 B1
Cout C4
C3
C2
C1
Cin C0
14/10/2010
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
Conexin en Cascada
14/10/2010
Comercialmente: 7483
14/10/2010
Cout
Cin
s S=x y Cin
x3 y3 C3
x2 y2
x1 y1 C2
x0 y0 C1 Cin
s3
s2
s1
s0
14/10/2010
14/10/2010
x3 y3 C3
x2 y2
x1 y1 C2
x0 y0 C1 Cin
s3
s2
s1
s0
14/10/2010
x3 y3
x2 y2 C3
x1 y1 C2
x0 y0 C1 Cin
s3
s2
s1
s0
14/10/2010
14/10/2010
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
A=B
A<B
14/10/2010
Internamente:
A3 B3 A2 B2 A1 B1 A0 B0
> = <
> = <
> = <
14/10/2010
Continuando Aj 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
14/10/2010
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
Aj
Mapas:
Aj Bj
A<B
Aj
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
14/10/2010
Conexin en Cascada
14/10/2010
Comercialmente: 7485
14/10/2010
14/10/2010
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
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
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
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
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
Implementacin
14/10/2010
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
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
14/10/2010
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
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
En.L
1 1 1 1 1 1 1 1
14/10/2010
Mapas:
Asumimos que EN = activado Y
0 1 0 1 1
I1
0 1
I0
14/10/2010
Implementacin
14/10/2010
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
MUX 2 4-1
3 En
S1 S0
14/10/2010
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
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
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
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
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
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
Comercialmente:
74153
74151
14/10/2010
S0
I1
S1
C 0 1 0 1 0 1 0 1
F 0 1 0 0 1 1 0 0
C B
Implementacin:
14/10/2010
14/10/2010
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
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
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
14/10/2010
Implementacin:
14/10/2010
14/10/2010
14/10/2010
14/10/2010
14/10/2010
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
En.L
14/10/2010
Comercialmente: 74LS138
No. entradas
A B C
En.L
14/10/2010
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
Implementacin:
14/10/2010
F2 A 0 1 0 B 1 1
14/10/2010
14/10/2010
14/10/2010
14/10/2010
a f e g d b c
14/10/2010
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
COMP
COMP
+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
A 01001=9 5 5
(A>B )in
A 11101=29 5 5
(A>B )in
COMP
COMP
COMP
+Vcc
A>9
A>19
A>29
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
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+18
(A)2+12
(A)2+6
14/10/2010
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
14/10/2010
14/10/2010
Arreglos lgicos
PLA ROM
Asincrnicas
Sincrnicas
Pulso
Nivel
Tradicional Contemporneas
No requieren memoria
Requieren Memoria
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
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
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.
SET. L H 0
RESET. L H 0 H 0 Q.L L 0
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
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
La tabla caracterstica nos indica como opera el Flip Flop. A partir de esta podemos obtener la restringida y la de excitacin
R f 0 1 0
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
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
K f f 1 0
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
El Flip Flop D
D.H D Q Q Q.H
CLK.H
Q.L
Tabla D 0 0 1 1
caracterstica Qn Qn+1 0 0 1 0 0 1 1 1
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
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
Conversin de FF
Convertir un FF SR en un FF JK
Registro o Banco de FF
D CLK.H
Registro
QA
QB
QC
QD
Un registro de desplazamiento universal tiene entradas de datos en paralelo: A, B, C, D Adems tiene las entradas de control: S1 y S0 Dispone de dos entradas en serie: R y L Las salidas son QA, QB, QC, QD
Ej: Disee un contador usando un registro de desplazamiento universal, que siga la siguiente secuencia: QA QB QC QD
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
S0 = 1
0 0 0 0 0
1 1 1 1 1
1 0 0 0 0
f f f f f
L=f=0
R = QA QB QC QD
Implementacin:
S1 S0 L
QA
QB
QC
QD
Implementacin:
S1 S0 L QD
+Vcc
QB
QC
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.
Son programables las entradas a las puertas AND y a las puertas OR. Ejemplo con 4 entradas y 3 salidas.
Esquema compacto
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.
n Entradas de direcciones
A4 A3 A2 A1 A0
E3
E2
E1
E0 R/ W
M.E. S3 S2 S1 S0
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 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.
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