Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Funcin Lgica:
S= 1,2 = + = +
MS
S
Tabla de Verdad: A 0 0 1 1 B S Co 0 0 0 1 1 0 0 1 0 1 0 1
B
0V
U1A
Co
U2A L2
Diagrama de bloques:
B Co SC[1] Ci S A
Funcin Lgica:
S= 1,2,4,7 = + +
Tabla de Verdad: A
0 0
Co= (3,5,6,7) = + + Co
0 0
B
0 0
Ci S
0 1 0 1
0
0 1 1 1 1
1
1 0 0 1 1
0
1 0 1 0 1
1
0 1 0 0 1
0
1 0 1 1 1
Implementacin:
A
0V
B
0V
U2A L1 U3A 0V
Ci
Co
U2B
U1A
U1B
L2
U1
/* *************** INPUT PINS **********/ PIN 1 = A ; /* */ PIN 2 = B ; /* */ PIN 3 = Ci ; /* */ /* *************** OUTPUT PINS ********/ PIN 18 = S ; /* */ PIN 19 = Co ; /* */
0 0 0
1 2 3 4 5 6 7 8 9 11
19 18 17 16 15 14 13 12
? ?
/*Descripcin del hardware mediante expresin lgica*/ /*Sumador completo de un bit*/ S=A$B$Ci; Co=A&B#A&Ci#B&Ci;
Name SC1T ; PartNo 00 ; Date 08/10/2013 ; Revision 01 ; Designer Engineer ; Company casa ; Assembly sc[1] ; Location alu ; Device g16v8a; /* *************** INPUT PINS **********/ PIN 1 = a ; /* */ PIN 2 = b ; /* */ PIN 3 = ci ; /* */
U1
1 2 3 4 5 6 7 8 9 11
19 18 17 16 15 14 13 12
? ?
/*Descripcin del hardware mediante tablas*/ field entrada=[a,b,ci]; field salida = [s,co]; TABLE entrada => salida { 'b'000 => 'b'00; 'b'001 => 'b'10; 'b'010 => 'b'10; 'b'011 => 'b'01; 'b'100 => 'b'10; 'b'101 => 'b'01; 'b'110 => 'b'01; 'b'111 => 'b'11;}
U1
A B Ci
0 0 0
1 2 3 4 5 6 7 8 9 11
19 18 17 16 15 14 13 12
? ?
Co S
An-2 Bn-2
U3
..........
A1
B1
U2
Ao
Bo
U1
A B Co SC[1] Ci S
A B Co SC[1] Ci S
Sn-1
Sn-2
..........
S1
So
KPD2 7
4321
SC[4]
S3S2S1S0
Ci
L1
A3
A4 A3 A2 A1 B4 B3 B2 B1
B3
U4
A2
B2
A1
U3
B1
U2
Ao
Bo
U1
U1 74LS83
s4 s3 s2 s1
A B Co SC[1] Ci S
A B Co SC[1] Ci S
A B Co SC[1] Ci S
A B Co SC[1] Ci S
V1 0V
S3
S2
DISP1
S1
So
Cin Cout
4321
Device G16V8;
/** Inputs **/ Pin [1..4] = [A1..4]; Pin [5..8] = [B1..4]; Pin 9 = Ci; /** Outputs **/ Pin [12..15] = [S1..4]; Pin [16..18] = [C1..3]; Pin 19 = Carry; /* First 4-bit number */ /* Second 4-bit number */
U1
/* 4-bit sum */ /* Intermediate carry vaules */ /* Carry for 4-bit sum */
0 0 0
/* Adder-slice circuit - add 2, 1-bit, numbers with carry */ function adder_slice(X, Y, Cin, Cout) { Cout = Cin & X /* Compute carry */ # Cin & Y # X & Y; adder_slice = Cin $ (X $ Y); /* Compute sum */ } /* Perform 4, 1-bit, additions and keep the final carry */
1 2 3 4 5 6 7 8 9 11
19 18 17 16 15 14 13 12
? ?
S1 = adder_slice(A1, B1, Ci, C1); /* */ S2 = adder_slice(A2, B2, C1, C2); S3 = adder_slice(A3, B3, C2, C3); S4 = adder_slice(A4, B4, C3, Carry); /* Get final carry value
*/
SW1
U1
1 2 3 4 5 6 7 8 9 11 CLK/I0 I1 I2 I3 I4 I5 I6 I7 I8 OE/I9 AM16V8 IO0 IO1 IO2 IO3 IO4 IO5 IO6 IO7 19 18 17 16 15 14 13 12
C 8
THUMBSWITCH-BCD
SW2
C 8
THUMBSWITCH-BCD
Sumador BCD:
Detector mayor a nueve:
KPD1 9
4321
KPD2 9
4321
(10,11,12,13,14,15)
carry out
L1 U1
A3A2A1A0 B3B2B1 B0
carry in
V1 0V
1 1
C 1 1 1 1 D
Co
SC[4]
S3S2S1S0
Ci
B
F= AB+AC
U2
A3A2A1A0 B3B2B1 B0 Co
SC[4]
S3S2S1S0
Ci
DISP1
4321
Diagrama a bloques:
A Bo B
Funcin Lgica:
MR
R
R=
1,2 = + = +
Tabla de Verdad:
A 0 0 1 1 B R Bo 0 0 0 1 1 1 0 1 0 1 0 0
U3A
A B Bo MR R
Diagrama de bloques:
B Co SC[1] Ci S A
Tabla de Verdad: A
0 0
Bo= (1,2,3,7) = + + Bo
0 1
B
0 0
Bi R
0 1 0 1
Bo
1 Bi 1 1 B 1
0
0 1 1 1 1
1
1 0 0 1 1
0
1 0 1 0 1
1
0 1 0 0 1
1
1 0 0 0 1
Implementacin:
R=
1,2,4,7 = + +
= +Bi( + )
A
5V
B
5V
U2A L1 U3A
U4B
5V
Bi
Bo
U2B U4A
U1A
U1B
L2
An-2 Bn-2
A B Bo RC[1] Bi R
......
A1
B1
Ao
Bo
A B Bo RC[1] Bi R
A B Bo RC[1] Bi R
Rn-1
Rn-2
......
R1
Ro
KPD1 KPD2 3
4321
6
4321
L1
B3
A B
A3
A2
A B
B2
A1
A B
B1
Ao
A B
Bo
V1 0V
Bo RC[1] Bi R
Bo RC[1] Bi R
Bo RC[1] Bi R
Bo RC[1] Bi R
R3
R2
R1
Ro
DISP1
4321
x3 x2 x1 x0
KPD1 1
43 21
KPD2 6
4 32 1
x3 x2 x1 x0
y3 y2 y1 y0
y3 y2y1 y0
x3 x2 x1 x0
cmp1
y3 y2 y1 y0
A3A2A1A0 B3B2B1B0 Co
V1 0V
SC[4]
S3S2S1S0
Ci
U4A
A3A2A1A0 B3B2B1 B0 Co
V2 0V
SC[4]
S3S2S1S0
Ci
x3 x2 x1 x0
c
L1
cmp1c
y3 y2 y1 y0
DISP1
signo
4321
cmp1
cmp1c
KPD2 7
4321
x3 x2 x1 x0
cmp1
y3 y2 y1 y0
A3A2A1A0 B3B2B1B0 Co
V1 5V
SC[4]
S3S2S1S0
Ci
x3 x2 x1 x0
cmp1c
y3 y2 y1 y0
signo
L1 DISP1
Comp. a 1 +1
A3A2A1A0 B3B2B1B0 Co
V2 0V
SC[4]
S3S2S1S0
Ci
4321
UNIDAD ARITMETICA: (Suma y Resta) Over flow Cero Paridad par Carry de salida
U5D U6A U3
B Co SC[1] Ci S A A B Co SC[1] Ci S
A3A2A1A0 OV Z P Co F3F2 F1 F0 B3B2B1B0 RS
UA
Ci
U5C
U5B
U5A
U2
U1
B Co SC[1] Ci S A B Co SC[1] Ci S A
U4
U8A
U7A
U6D
U6C
U6B
A3A2A1A0 OV Z P Co
B3B2B1B0 RS
UA
Ci F3F2 F1 F0
Multiplicacin Binaria
A1 A0 X B1 B0 ----------------------------0 0 + B0*A1 B0*A0 --------------------------------B0*A1 B0*A0 0 B0*A1 B0*A0 + B1*A1 B1*A0 ---------------------------------C B1*A1 (B0*A1+B1*A0) B0*A0 M3 M2 M1 M0
L1 L4 A1 5V A0 5V B1 5V B0 5V
U1C
U1D
U1A
U1B
A B Co SC[1] Ci S
A B Co SC[1] Ci S
L3
L2
M3
M2
M1
M0
Divisin Binaria:
KPD1 3
KPD2 2
4321
A1 A0 R1 R0
B1 B0 D1 D0
si
A1>=B1 B0 entonces D1=1 R1=A1-B1B0 caso contrario D1=0 R1=A1-0 si R1 A0>=B1B0 entonces D0=1 R0=R1A0-B1B0 caso contrario D0=0 R0=R1A0-0
4321
A1 A0
A=B A<B
B1 B0
comp2
A>B
U6C U3
A R B A R B Bo RC[1] Bi Bo RC[1] Bi
U6B U4
A1 A0
A=B A<B
B1 B0
A>B
comp2
U5
U6D U7
A B A B Bo RC[1] Bi R
U9A U8
Bo RC[1] Bi R
U2B
DISP1 L1
4321
L2
F(A=B)= (A+B)
F(A>B)= AB
F(A<B)= AB
KPD1 0
4321
KPD2 0
4321
U4B
U6A
U6B
U1A
U5B
A=B
A<B
A>B
Resta condicionada:
KPD1
KPD2 1
4321
R A-B
X 1
2
4321
V1 5V
0
U3A U1
A B A B Bo RC[1] Bi R Bo RC[1] Bi R
U3B U2
DISP1
4321
U5A
U1A
U1B
U1C
U2A
U4A
U6A
A F B
UL[1]
S1 S0
B F
U1
UL[1]
S1 S0
B F
U2
UL[1]
S1 S0
B F
U3
UL[1]
S1 S0
B F
U4
UL[1]
S1 S0
A3A2A1 A0 B3B2B1B0
UA[4]
F3F2F1F0
S1 S0
Co
UNIDAD ARITMETIC A 1
S1 S0 S3 S2 S1 S0 0 X 0 0 0 X 0 1 0 X 1 0 0 X 1 1 1 0 X X 1 1 X X OPERACIN NOT A AND A.B OR A+B XOR AB SUMA A+B RESTA A-B
0
S (S3)
MUX 2X1
U1
B3B2B1B0 A3A2A1A0 OV RS Z UA P Ci Co F3F2 F1 F0
A3 A2 A1 A0
B3 B2B1B0 S1 S0
U2
UL[4]
F3F2 F1 F0
A0 A1 A2 A3 B3 B2 B1 B0 F0
B0 B1 B2 B3
A3 A2 A1 A0
OV Z P Co
ALU[4]
F3
F2 F1
S3 S2 S1 S0 Ci
MUX_2X1[4]
U3
Y0 Y1 Y2 Y3
CODIFICADORES Y DECODIFICADORES CODIFICADOR: Un codificador binario es un sistema digital que convierte un cdigo cualquiera en un cdigo binario. DECODIFICADOR: Un decodificador binario es un sistema digital que convierte un cdigo binario en un cdigo cualquiera.
CODIFICADOR nxm
ENT 0
I0 I1 Y0 Y1
SISTEMA DIGITAL
I0 Y0 Y1
DECODIFICADOR nxm
I0 I1 Y0 Y1
SAL 0
TECLADO
ENT 1
codigo binario
codigo binario
In-1 Ym-1 In-1 Ym-1
ENT n-1
In-1 Ym-1
SAL n-1
n= 2p y m=p n= 10 y m 4
Decodificador Binario: n=p y m=2p Decodificador decimal: n=4 y m=10 Decodificador 7seg: n=4 y m=7
DISPLAY
I1
SAL 1
U1B
U1A
I3 0
0 0 1
I2 0
0 1 0
I1 0
1 0 0
I0 1
0 0 0
Y1 0
0 1 1
Y0 0
1 0 1
cod4x2
I0 I1 I2 I3 Y0 Y1
1 = 0 = Y1 x 0 I1 0 0 I3
0 0 0 0 0 1 1 1 1 1 1
1 1
0 1 1 1 1 0 0 0 0 1 1
1 1
1 0 0 1 1 0 0 1 1 0 0
1 1
1 0 1 0 1 0 1 0 1 0 1
0 1
0 1 1 1 1 1 1 1 1 1 1
1 1
1 0 0 0 0 1 1 1 1 1 1
1 1
I0
0
0
I2
Y1=I3+I2 Y0=(I3+I2)(I3+I1)
U1A
cod4x2p
I3 I2 I1 I0 Y1 Y0
U1B
U1C
A 0 0 1 1
B 0 1 0 1
Y3 0 0 0 1
Y2 0 0 1 0
Y1 0 1 0 0
Y0 1 0 0 0
U2A
dec2x4
A B H Y0 Y1 Y2 Y3
Decodificador 7segmentos: Convierte un cdigo binario en un cdigo 7segmentos, el cual permite representar en forma simblica un numero binario, mediante un display 7 segmentos. Display 7 segmentos: Es un dispositivo que posee diodos leds dispuestos en segmentos. Existen dos tipos de display 7segmentos: nodo Comn y Ctodo Comn. Display 7 segmentos nodo comn (C.A.): Los leds se encienden con cero lgico. Display 7 segmentos catodo comn (C.C.): Los leds se encienden con uno lgico.
Disp 7seg C.A.
V+
V1 0V
abcdefg.
V2 5V
abcdefg.
dec7seg
a A B C D b c d e f g
a f b
0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 1 1 1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 1 0 0 0 0 1 1 0 0 1 0 0 1 0 0 1 1 0 0 0 1 0 1 0 1 0 0 1 0 0 0 1 1 0 x 1 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 x 1 0 0 1 0 1 0 x x x x x x x 1 0 1 1 x x x x x x x 1 1 0 0 x x x x x x x 1 1 0 1 x x x x x x x 1 1 1 0 x x x x x x x 1 1 1 1 x x x x x x x
g
e d c
= = =
1,4,11,13 + (6,10,11,12,13,14,15) 5,6,11,12,14,15 + (6,10,11,12,13,14,15) 1,2,12,14,15 + 6,10,11,12,13,14,15 d= 4,7,10,15 + 6,9,10,11,12,13,14,15 = 1,3,4,5,7,9 + (6,10,11,12,13,14,15) = 1,2,3,7,13 + (6,10,11,12,13,14,15) = 0,1,7,12, + (6,10,11,12,13,14,15)
KPD1 3
4321
V+
DISP1
abcdefg.
dec7seg U1
a A B C D b c d e f g
MULTIPLEXORES Y DEMULTIPLEXORES
Multiplexor: Es un sistema digital que permite conectar varias entradas de p bits a una sola salida de p bits, para lo cual se usan entradas de seleccin. De multiplexor: Es un sistema digital que permite conectar una sola entrada de p bits a varias salida de p bits, para lo cual se usan entradas de seleccin.
Multiplexor de mx1
U1 Ap-1..A0 Bp-1..B0 Cp-1..C0 Zp-1..Z0 Habilite
I0 I1 I2
m=2n
Demultiplexor de 1xm
U2
Y0 Y1
muxs
Yp-1..Y0
Y
Y H
dmux
Y2
Im-1 H
Habilite
Sn-1 S1 S0
Sn-1
Ym-1
Op-1..Oo
Select 1
Select 0
Sel n-1
Sel n-1
Select 1 Select 0
S1 S0
MUX_2X1
I0 I1 H S Y
U2A U3A U2B
H 0 0 1
S 0 1 0
Y I0 I1 0
U1B
MUX_2X1
I0 I1 Y S
Y= I0*S*H + I1*S*H
U1A
MUX_2X1
S0 O
0
0 1 1
0
1 0 1
A
B 0 0
A0 A1 B0 B1
I0 I1 H S Y
O0 O1
MUX_2X1
I0 I1 Y S
S0
H 0 0 1
S0 0 1 0
Y1 0 0 0
Y0 0 0 I
U1B
S0
Y1
ROM
EEPROM
PROM
Flash ROM
MEMORIA ROM:
OE
ROM 2n X m
DIRECCION A1 DE MEMORIA A0
OE
A B H
Y0 Y1 Y2 Y3
* * *
* *
* *
A1
0 0 1 1
A0
0 1 0 1
D2
1 0 1 1
D1
0 1 0 1
D0
1 0 1 0
D2 D1 D0
salida de datos
Memoria PROM:
dec2x4
DIRECCION A1 DE MEMORIA A0
OE
A B H
Y0 Y1 Y2 Y3
0 * X
D2
D1
salida de datos
D0
Tabla de programacin:
L4 L3 L2 L1 KPD1 6
4321 A4 A3 A2 A1 A0
CS
U1 PROM32
O7 O6 O5 O4 O3 O2 O1 O0
OR PROGRAMABLE
AND PROGRAMABLE
Notacin
Salida Combinacional
Entrada Salida
OLMC
LENGUAJE DESCRIPTOR DEL HARDWARE (HDL) HDL es el acrnimo de Hardware Description Language (Lenguaje de Descripcin de Hardware). Son lenguajes de programacin en los que el objetivo es programar un circuito electrnico. Lenguajes HDL: ABEL: es la abreviatura de Advanced Boolean Expression Language. ABEL: Lenguaje promovido por XILINX para la introduccin de mdulos de carcter especfico, como mquinas de estados finitos. AHDL: Lenguaje promovido por ALTERA para facilitar la introduccin Verilog es un lenguaje de descripcin de hardware (HDL, del Ingls Hardware Description Language) usado para modelar sistemas electrnicos. El lenguaje, algunas veces llamado Verilog HDL, soporta el diseo, prueba e implementacin de circuitos analgicos, digitales y de seal mixta a diferentes niveles de abstraccin. VHDL es el acrnimo que representa la combinacin de VHSIC y HDL, donde VHSIC es el acrnimo de Very High Speed Integrated Circuit y HDL es a su vez el acrnimo de Hardware Description Language.
U1
1 2 3 4 5 6 7 8 9 11 CLK/I0 I1 I2 I3 I4 I5 I6 I7 I8 OE/I9 AM16V8 IO0 IO1 IO2 IO3 IO4 IO5 IO6 IO7 19 18 17 16 15 14 13 12
? ?
/*Asignacin de pines a las variables de salida */ /* *************** OUTPUT PINS ********/ PIN 18 = ; /* */ PIN 19 = ; /* */