unidad tematica 3 diseno de sistemas combinacionales (1)
TRANSCRIPT
UNIDAD TEMATICA 3
Diseño de Sistemas Combinacionales
Diseño de circuitos aritméticos y lógicos con lógica SSI
Medio Sumador de un bit: “Es un sumador que no toma en cuenta un carry de entrada”
MS
S
A B
Co
A B S Co
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
S= 1,2 = 𝐴 𝐵 + 𝐴𝐵 = 𝐴 + 𝐵 Co= (3)=AB
Diagrama a bloques:
Tabla de Verdad:
Función Lógica:
Implementación
A B
S
Co
L2
L1
0V0V
U2A
U1A
Diseño de circuitos aritméticos y lógicos con lógica SSI
Sumador Completo de un bit: “Es un sumador que toma en cuenta el carry de entrada”
A B Ci S Co
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
S= 1,2,4,7 = 𝐴 + 𝐵 + 𝐶 Co= (3,5,6,7) = 𝐴𝐵 + 𝐴𝐶 + 𝐵𝐶 =AB+A’BC+AB’C = AB+C(A’B+AB’) = AB +C(A+B)
Diagrama de bloques:
Tabla de Verdad:
Función Lógica:
SC[1]
A B
CiCo
S
1
1 1 1
A
B
C
Implementación:
A B
Ci
S
Co
L2
L1
0VU3A
U2B
U2A
0V0V
U1B
U1A
Diseño con Lenguaje descriptor de hardware:
Name SC1 ; 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 ; /* */ /* *************** OUTPUT PINS ********/ PIN 18 = S ; /* */ PIN 19 = Co ; /* */ /*Descripción del hardware mediante expresión lógica*/ /*Sumador completo de un bit*/ S=A$B$Ci; Co=A&B#A&Ci#B&Ci;
Dispositivo Lógico programable
CLK/I01
I12
I23
I34
I45
I56
I67
I78
I89
OE/I911
IO019
IO118
IO217
IO316
IO415
IO514
IO613
IO712
U1
AM16V8
0
0
0
?
?
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 ; /* */ /* *************** OUTPUT PINS *********/ PIN 18 = s ; /* */ PIN 19 = co ; /* */ /*Descripción 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;}
CLK/I01
I12
I23
I34
I45
I56
I67
I78
I89
OE/I911
IO019
IO118
IO217
IO316
IO415
IO514
IO613
IO712
U1
AM16V8
0
0
0
?
?
Archivo mapa de fusibles (sc1.jed) CUPL(WM) 5.0a Serial# 60008009 Device g16v8as Library DLIB-h-40-2 Created Tue Oct 08 22:12:00 2013 Name SC1 Partno 00 Revision 01 Date 08/10/2013 Designer Engineer Company casa Assembly SC[1] Location ALU *QP20 *QF2194 *G0 *F0 *L00000 01011111111111111111111111111111 *L00032 11010111111111111111111111111111 *L00064 01110111111111111111111111111111 *L00256 10011011111111111111111111111111 *L00288 01010111111111111111111111111111 *L00320 10100111111111111111111111111111 *L00352 01101011111111111111111111111111 *L02048 11000000001100000011000000100000 *L02112 00000000001111111111111111111111 *L02144 11111111111111111111111111111111 *L02176 111111111111111110 *C2450 *A213
CLK/I01
I12
I23
I34
I45
I56
I67
I78
I89
OE/I911
IO019
IO118
IO217
IO316
IO415
IO514
IO613
IO712
U1
AM16V8
0
0
0
?
?
A
Sumador Completo de un bit
B
Ci
S
Co
Carga del Programa y Simulación
Sumador Completo “n” de bits:
SC[4]
A3A2A1A0 B3B2B1B0
S3S2S1S0
CiCo
Ao BoA1 B1An-1 An-2 Bn-2Bn-1 ..........
SoS1Sn-2Sn-1 ..........
SC[1]
A B
CiCo
S
U1
SC[1]
A B
CiCo
S
U2
SC[1]
A B
CiCo
S
U3
SC[1]
A B
CiCo
S
U4
Sumador Completo 4 de bits:
S3 S2
B3A3 B2A2
S1 So
B1A1
BoAo
V10V
L1
SC[1]
A B
CiCo
S
U4
SC[1]
A B
CiCo
S
U3
SC[1]
A B
CiCo
S
U2
SC[1]
A B
CiCo
S
U1
1234
DISP1
1234
7
KPD2
1234
3
KPD1
74LS83A4A3A2A1B4B3B2B1
Cin
s4s3s2s1
Cout
U174LS83A4A3A2A1B4B3B2B1
Cin
s4s3s2s1
Cout
U1
Diseño con Lenguaje descriptor de hardware:
Name SC4; Device G16V8; /** Inputs **/ Pin [1..4] = [A1..4]; /* First 4-bit number */ Pin [5..8] = [B1..4]; /* Second 4-bit number */ Pin 9 = Ci; /** Outputs **/ Pin [12..15] = [S1..4]; /* 4-bit sum */ Pin [16..18] = [C1..3]; /* Intermediate carry vaules */ Pin 19 = Carry; /* Carry for 4-bit sum */ /* 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 */ 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 */
CLK/I01
I12
I23
I34
I45
I56
I67
I78
I89
OE/I911
IO019
IO118
IO217
IO316
IO415
IO514
IO613
IO712
U1
AM16V8
0
0
0
?
?
CLK/I01
I12
I23
I34
I45
I56
I67
I78
I89
OE/I911
IO019
IO118
IO217
IO316
IO415
IO514
IO613
IO712
U1
AM16V8
C8SW1
THUMBSWITCH-BCD
C8SW2
THUMBSWITCH-BCD
?
0
Sumador BCD:
1
1
1 1
1 1
𝐹 = (10,11,12,13,14,15)
Detector mayor a nueve:
F= AB+AC
A
B
C
D
carry out
carry in
V10V
1234
9
KPD2
1234
9
KPD1
L1
1234
DISP1
U4B
U4A
U3B
U3A
SC[4]
A3A2A1A0 B3B2B1B0
S3S2S1S0
CiCo
U2
SC[4]
A3A2A1A0 B3B2B1B0
S3S2S1S0
CiCo
U1
Medio Restador de un bit: “Es un restador que no toma en cuenta un borrow de entrada”
A B R Bo
0 0 0 0
0 1 1 1
1 0 1 0
1 1 0 0
R= 1,2 = 𝐴 𝐵 + 𝐴𝐵 = 𝐴 + 𝐵 Bo= (3)= 𝐴 𝐵
Diagrama a bloques:
Tabla de Verdad:
Función Lógica:
Implementación
MR
A B
Bo
R
MR
A B
Bo
R
U3A
U2A U1A
Diseño de circuitos aritméticos y lógicos con lógica SSI
Restador Completo de un bit: “Es un sumador que toma en cuenta el borrow de entrada”
A B Bi R Bo
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 0 1
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1
R= 1,2,4,7 = 𝐴 + 𝐵 + 𝐵𝑖 Bo= (1,2,3,7) = 𝐴 𝐵 + 𝐴 𝐵𝑖 + 𝐵𝐵𝑖
Diagrama de bloques:
Tabla de Verdad:
Función Lógica:
SC[1]
A B
CiCo
S
1
1 1 1
A
B
Bi
Bo
Otra forma: Bo= 𝐴 𝐵 + 𝐴𝐵𝐵𝑖 + 𝐴 𝐵 𝐵𝑖= 𝐴 𝐵 + Bi(𝐴𝐵 + 𝐴 𝐵 ) = 𝐴 𝐵 +Bi(𝐴 + 𝐵)
Implementación:
A B
Bo
Bi
R
U4B
5V
5V5V
U4A
L2
L1
U3A
U2B
U2A
U1B
U1A
R= 1,2,4,7 = 𝐴 + 𝐵 + 𝐵𝑖 𝐵𝑜= 𝐴 𝐵 +Bi(𝐴 + 𝐵)
Restador Completo “n” de bits:
Restador Completo 4 de bits:
......
......
Rn-1 Rn-2 R1 Ro
AoAn-1 Bn-1 An-2 Bn-2 A1 B1Bo
RC[1]
R
A B
Bo BiRC[1]
R
A B
Bo Bi RC[1]
R
A B
Bo Bi RC[1]
R
A B
Bo Bi
BoB1A1 Ao
RoR1
A2A3B3 B2
R2R3
V10V
RC[1]
R
A B
Bo Bi RC[1]
R
A B
Bo BiRC[1]
R
A B
Bo BiRC[1]
R
A B
Bo Bi
L1
1234
DISP1
1234
3
KPD2
1234
6
KPD1
Restador con complemento a 1: A-B = A + comp. a 1 de B
cmp1
y3 y2 y1 y0
x3 x2 x1 x0
cmp1
y3 y2 y1 y0
x3 x2 x1 x0
cmp1c
y3 y2y1 y0
x3 x2 x1 x0
c
signo
V20V
V10V
L1
SC[4]
A3A2A1A0 B3B2B1B0
S3S2S1S0
CiCo
U4A
1234
DISP1
1234
6
KPD2
1234
1
KPD1
SC[4]
A3A2A1A0 B3B2B1B0
S3S2S1S0
CiCo
cmp1
y3 y2 y1 y0
x3 x2 x1 x0
cmp1c
y3 y2y1 y0
x3 x2 x1 x0
c
Resta con complemento a dos: A-B = A + comp. a 2 de B = A + comp a 1 +1
signo
V20V
V15V
SC[4]
A3A2A1A0 B3B2B1B0
S3S2S1S0
CiCo
L1
1234
DISP1
1234
7
KPD2
1234
B
KPD1
SC[4]
A3A2A1A0 B3B2B1B0
S3S2S1S0
CiCo
cmp1
y3 y2 y1 y0
x3 x2 x1 x0
cmp1c
y3 y2y1 y0
x3 x2 x1 x0
c
Comp. a 1 +1
UNIDAD ARITMETICA: (Suma y Resta)
UA
A3A2A1A0 B3B2B1B0
F3F2 F1 F0
RS
Ci
OV
Z
P
Co
U8A
U6DU6C
U6B
U7A
U6A
U5D
SC[1]
A B
CiCo
S
U3
SC[1]
A B
CiCo
S
U2
U5C
SC[1]
A B
CiCo
S
U1
U5B U5A
SC[1]
A B
CiCo
S
U4
UA
A3A2A1A0 B3B2B1B0
F3F2 F1 F0
RS
Ci
OV
Z
P
Co
UA
A3A2A1A0 B3B2B1B0
F3F2 F1 F0
RS
Ci
OV
Z
P
Co
Resta/Suma (1/0) Carry de entrada
Over flow Cero Paridad par Carry de salida
• Multiplicación 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
M3 M2 M1 M0
B05V
B15V
A05V
A15V
L4 L3L2L1
U1DU1C U1BU1A
SC[1]
A B
CiCo
S
SC[1]
A B
CiCo
S
A1 A0 B1 B0 si A1>=B1 B0 R1 R0 D1 D0 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
División Binaria:
L2
1234
DISP1
L1
U9AU6D
RC[1]
R
A B
Bo Bi
U8
RC[1]
R
A B
Bo Bi
U7
U6C U6B
1234
2
KPD2
1234
3
KPD1
U2B
comp2
A=B
A<B
A>B
A1 A0 B1 B0
U5
comp2
A=B
A<B
A>B
A1 A0 B1 B0
RC[1]
R
A B
Bo Bi
U3
RC[1]
R
A B
Bo Bi
U4
Comparador de Magnitud de un bit:
A B A=B A>B A<B
0 0 1 0 0
0 1 0 0 1
1 0 0 1 0
1 1 1 0 0
F(A=B)= (A+B) F(A>B)= AB’ F(A<B)= A’B
Comparador de Magnitud de dos bit:
F(A=B)= (A0+B0) (A1+B1) F(A>B)= A1B1’+ (A1+B1) (A0B0’) F(A<B)= A1’B1+ (A1+B1) (A0’B0)
A>BA<BA=B
1234
0
KPD2
1234
0
KPD1
U2A
U2C
L1L2 L3
U5A
U6A U6B
U2D
U1A
U4B
U1D
U4D
U5B
U1C
U1B
U4E
U4F
Comparador de Magnitud de dos bit:
Resta condicionada:
V15V
1234
DISP1
1234
1
KPD2
1234
2
KPD1
U3BU3A
RC[1]
R
A B
Bo Bi
U1
RC[1]
R
A B
Bo Bi
U2
R X
A-B 1
A 0 X
DISENO DE LA UNIDAD LOGICA DE UN BIT:
S1 S0 F
0 0 A’
0 1 A*B
1 0 A+B
1 1 A+B
F=S1’S0’A’+S1’S0AB+S1S0’(A+B)+S1S0(A+B) F=S1’S0’A’+S1AB +S1S0’A+S1AB’+S1’S0AB)
UL[1]
A B
F
S1
S0
U6A
U5A
U4A
U3D
U3C
U3B
U3A
U2AU1CU1BU1A
DISENO DE LA UNIDAD LOGICA DE CUATRO BITS:
UA[4]
A3A2A1 A0 B3B2B1B0
F3F2F1F0
S1
S0
UL[1]
A B
F
S1
S0U1 UL[1]
A B
F
S1
S0U2 UL[1]
A B
F
S1
S0U3
UL[1]
A B
F
S1
S0U4
UNIDAD ARITMETIC
A
UNIDAD LOGICA
MUX 2X1
A B
F
R/S (S2)
Ci Co
S1 S0
S (S3)
DISENO DE LA UNIDAD LOGICA Y ARITMETICA:
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
OPERACIÓN NOT A AND A.B OR A+B XOR A⊕B SUMA A+B RESTA A-B
1 0
DISENO DE LA UNIDAD LOGICA Y ARITMETICA:
ALU[4]
A3
A2
A1
A0
B3
B2
B1
B0
F3
F2
F1
F0
S2
S1S0
Ci
OV
Z
P
Co
S3
UL[4]
A3A2A1 A0 B3B2B1B0
F3F2F1F0
S1
S0U2UA
A3A2A1A0 B3B2B1B0
F3F2 F1 F0
RS
Ci
OV
Z
P
Co
U1
MUX_2X1[4]
S
A3
A2
A1
A0
B3
B2
B1
B0
Y3
Y2
Y1
Y0
U3
CODIFICADORES Y DECODIFICADORES
CODIFICADOR: Un codificador binario es un sistema digital que convierte un código cualquiera en un código binario. DECODIFICADOR: Un decodificador binario es un sistema digital que convierte un código binario en un código cualquiera.
CODIFICADOR nxm
binariocodigo
binariocodigo
SISTEMA DIGITAL DECODIFICADOR nxm
SAL n-1
SAL 1
SAL 0
ENT n-1
ENT 1
ENT 0 I0
I1
In-1
Y0
Y1
Ym-1
I0
I1
In-1
Y0
Y1
Ym-1
I0
I1
In-1
Y0
Y1
Ym-1
Codificador Binario: n= 2p y m=p Codificador decimal: n= 10 y m 4
TEC
LAD
O
DIS
PLA
Y
Decodificador Binario: n=p y m=2p Decodificador decimal: n=4 y m=10 Decodificador 7seg: n=4 y m=7
Codificador de 4x2 sin Prioridad
I3 I2 I1 I0 Y1 Y0
0 0 0 1 0 0
0 0 1 0 0 1
0 1 0 0 1 0
1 0 0 0 1 1
U1B
U1A
cod4x2
I0
I1
I2
I3
Y0
Y1
cod4x2
I0
I1
I2
I3
Y0
Y1
Codificador de 4x2 con prioridad (I3 con mayor prioridad)
I3 I2 I1 I0 Y1 Y0
0 0 0 0 X X
0 0 0 1 0 0
0 0 1 0 0 1
0 0 1 1 0 1
0 1 0 0 1 0
0 1 0 1 1 0
0 1 1 0 1 0
0 1 1 1 1 0
1 0 0 0 1 1
1 0 0 1 1 1
1 0 1 0 1 1
1 0 1 1 1 1
1 1 0 0 1 1
1 1 0 1 1 1
1 1 1 0 1 1
1 1 1 1 1 1
𝑌1 = 1,2,3 . 𝐷(0)
𝑌0 = 1,4,5,6,7 . 𝐷(0)
x
0
0
0
Y1
x 0
0 0
0
0
Y0
Y1=I3+I2 Y0=(I3+I2’)(I3+I1)
I3
I2
I1
I0
Codificador de 4x2 con prioridad (I3 de mayor prioridad)
cod4x2p
I3
I2
I1
I0
Y1
Y0
U3A
U1C
U1B
U1A
Diseño de un decodificador de 2x4 activo uno con habilite activo cero.
dec2x4
A
B
H
Y0
Y1
Y2
Y3
A B Y3 Y2 Y1 Y0
0 0 0 0 0 1
0 1 0 0 1 0
1 0 0 1 0 0
1 1 1 0 0 0
Sin Habilite Y0=A’B’ Y1=A’B Y2=AB’ Y3=AB
Con Habilite Y0=A’B’H’ Y1=A’BH’ Y2=AB’H’ Y3=ABH’
dec2x4
A
B
H
Y0
Y1
Y2
Y3
U2A
U1C
U1B
U1A
Decodificador 7segmentos: Convierte un código binario en un código 7segmentos, el cual permite representar en forma simbólica 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 Común y Cátodo Común. Display 7 segmentos ánodo común (C.A.): Los leds se encienden con cero lógico. Display 7 segmentos catodo común (C.C.): Los leds se encienden con uno lógico.
Disp 7seg C.A. Disp 7seg C.C.
abcdefg.
V+
V10V
V25V abcdefg.
Gnd
Diseño de un decodificador BCD 7 seg. AC
A B C D a b c d e f g
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
f
e
b
c
a
g
d
𝑎 = 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)
dec7seg
A
B
C
a
b
c
d
e
f
g
D
1234
3
KPD1
abcdefg.
V+
DISP1
dec7seg
A
B
C
a
b
c
d
e
f
g
D
U1
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 selección. 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 selección.
Multiplexor de mx1 Demultiplexor de 1xm m=2n
Yp-1..Y0
Op-1..Oo
Op-1..Oo
Op-1..Oo
Op-1..Oo
Sel n-1
Select 1
Select 0
Sel n-1
Select 1
Select 0
HabiliteHabilite
Zp-1..Z0
Cp-1..C0
Bp-1..B0
Ap-1..A0
muxs
I0
I1
I2
Im-1
Y
H
S0
S1
Sn-1
U1
dmux
S0
S1
Sn-1
Y
Y0
Y1
Y2
Ym-1
H
U2
Diseño de un multiplexor de 2x1 de un bit con habilite activo cero
MUX_2X1
I0
I1 Y
SH
H S Y
0 0 I0
0 1 I1
1 0 0
1 1 0
Y= I0*S’*H’ + I1*S*H’
MUX_2X1
I0
I1 Y
SH
U1B
U2B
U2A
U3A
U1A
Diseño de un multiplexor de 2x1 de dos bits, con habilite activo cero
S0
O1
O0
H
B1
B0
A1
A0
MUX_2X1
I0
I1 Y
SH
MUX_2X1
I0
I1 Y
SH
H S0 O
0 0 A
0 1 B
1 0 0
1 1 0
Diseño de un Demultiplexor de 1x2 de un bit, con habilite activo uno
H S0 Y1 Y0
0 0 0 0
0 1 0 0
1 0 0 I
1 1 I 0
Y1= H*S0*I Y0= H*S0’*I
dmux1x2
I
H
Y0
Y1
S0
U1B
U1A
Memoria ROM (Read Only Memory) “Es una memoria de solo lectura, y es no volátil debido a que la información almacenada no se pierde una vez retirada la energía.’’ Tipos de ROM: ROM: Memoria que es grabada durante el proceso de fabricación. PROM: Memoria ROM Programable solo una vez por el usuario UVEPROM: Memoria ROM Programable y Borrable por ultra violeta EEPROM: Memoria ROM Programable y Borrable eléctricamente Flash ROM: Memoria ROM reprogramable eléctricamente en campo.
ROM EEPROM
PROM Flash ROM
ROM 2n X m
…………
…………
An-1 An-2 ……… A1 A0
Dm-1 Dm-2 …… D1 D0
OE
Bits de direccionamiento
Bits de datos
MEMORIA ROM:
Diseño de una ROM DE 4X3:
Tabla de programación:
A1 A0 D2 D1 D0
0 0 1 0 1
0 1 0 1 0
1 0 1 0 1
1 1 1 1 0
*
*
*
*
*
*
*DIRECCION
DE MEMORIA
salida de datos
D0
D1
D2
OE
A0
A1
dec2x4
A
B
H
Y0
Y1
Y2
Y3
PROM (Programble Read Only Memory)
0
X
*DIRECCION
DE MEMORIA
salida de datosD0
D1
D2
OE
A0
A1
dec2x4
A
B
H
Y0
Y1
Y2
Y3
Memoria PROM:
Diseño con memoria PROM:
Diseñe un sistema digital extraiga el complemento a dos de un numero de 4 bits.
Tabla de programación:
1234
6
KPD1
L4 L3 L2 L1
PROM32CS
A4A3A2A1A0
O7O6O5O4O3O2O1O0
U1
Dispositivos Lógicos programables
OR PROGRAMABLE AND PROGRAMABLE
PLA (Programable logic array)
PAL (Programable array logic)
PAL (Programable array logic)
Notación
Salida Combinacional
Entrada Salida
GAL(Generic Array Logic)
OLMC (Outpu Logic Macro Cell)
OLMC
LENGUAJE DESCRIPTOR DEL HARDWARE (HDL)
HDL es el acrónimo de Hardware Description Language (Lenguaje de Descripción de Hardware). Son lenguajes de programación en los que el objetivo es programar un circuito electrónico. Lenguajes HDL: ABEL: es la abreviatura de Advanced Boolean Expression Language. ABEL: Lenguaje promovido por XILINX para la introducción de módulos de carácter específico, como máquinas de estados finitos. AHDL: Lenguaje promovido por ALTERA para facilitar la introducción Verilog es un lenguaje de descripción de hardware (HDL, del Inglés Hardware Description Language) usado para modelar sistemas electrónicos. El lenguaje, algunas veces llamado Verilog HDL, soporta el diseño, prueba e implementación de circuitos analógicos, digitales y de señal mixta a diferentes niveles de abstracción. VHDL es el acrónimo que representa la combinación de VHSIC y HDL, donde VHSIC es el acrónimo de Very High Speed Integrated Circuit y HDL es a su vez el acrónimo de Hardware Description Language.
Diseño con Lenguaje descriptor de hardware: COMPILADOR “WINCUPL”
Name SC1 ; PartNo 00 ; Date 08/10/2013 ; Revision 01 ; Designer Engineer ; Company casa ; Assembly SC[1] ; Location ALU ; Device g16v8a ; /*Asignación de pines a las variables de entrada */ /* *************** INPUT PINS **********/ PIN 1 = ; /* */ PIN 2 = ; /* */ PIN 3 = ; /* */ /*Asignación de pines a las variables de salida */ /* *************** OUTPUT PINS ********/ PIN 18 = ; /* */ PIN 19 = ; /* */ /*Descripción del hardware mediante expresión booleana o tablas de verdad*/
Dispositivo Lógico programable
CLK/I01
I12
I23
I34
I45
I56
I67
I78
I89
OE/I911
IO019
IO118
IO217
IO316
IO415
IO514
IO613
IO712
U1
AM16V8
0
0
0
?
?
Encabezado