Está en la página 1de 71

Diseño Combinacional

Metodología del Diseño Combinacional

1.- Especificar el Sistema

2.- Determinar entradas y salidas

3.- Construir la Tabla de Verdad

4.- Minimizar

5.- Diagrama Esquemático

6.- Implementar
Ejemplo 3 Diseñe un Multiplexor
(selector datos)
de 2 a 1 línea
Data Selectors/Multiplexers
2-Line To 1-Line

Dos entradas de datos A y B


Una entrada de control C, Una salida Y
Ejemplo 3 Multiplexor de 2 a 1 línea

Si C=0 entonces la salida Y=A


Ejemplo 3 Multiplexor de 2 a 1 línea

Si C=1 entonces la salida Y=B


Ejemplo 3 Multiplexor de 2 a 1 línea

Si C=0 entonces la salida Y=A


Si C=1 entonces la salida Y=B
Ejemplo 3 Multiplexor de 2 a 1 línea

1.-Especificar el Sistema
En la redacción del problema esta aclarado el propósito
y las variables que intervienen en el problema.
Si C=0 entonces la salida Y=A
Si C=1 entonces la salida Y=B
Ejemplo 3 Multiplexor de 2 a 1 línea

2.- Determinar entradas y salidas


Ejemplo 3 Multiplexor de 2 a 1 línea
3.- tabla de verdad
m
C A B Y
0
0 0 0
1
0 0 1
2
0 1 0
3
0 1 1
4
1 0 0
5
1 0 1
6
1 1 0
7
1 1 1
Ejemplo 3 Multiplexor de 2 a 1 línea
3.- tabla de verdad
m
C A B Y
0
0 0 0
1
0 0 1
2
0 1 0
3
0 1 1
4
1 0 0
5
1 0 1
6
1 1 0
7
1 1 1
Ejemplo 3 Multiplexor de 2 a 1 línea

3.- tabla de verdad


m
C A B Y
0
0 0 0 C=0,Y=A
1
0 0 1
2
0 1 0
3
0 1 1
4
1 0 0
5
1 0 1
6
1 1 0
7
1 1 1
Ejemplo 3 Multiplexor de 2 a 1 línea

3.- tabla de verdad


m
C A B Y
0
0 0 0 0
1
0 0 1 0 C=0,Y=A
2
0 1 0 1
3
0 1 1 1
4
1 0 0
5
1 0 1 C=1,Y=B
6
1 1 0
7
1 1 1
Ejemplo 3 Multiplexor de 2 a 1 línea

3.- tabla de verdad


m
C A B Y
0
0 0 0 0
1
0 0 1 0
2
0 1 0 1
3
0 1 1 1
4
1 0 0
5
1 0 1 C=1,Y=B
6
1 1 0
7
1 1 1
Ejemplo 3 Multiplexor de 2 a 1 línea

3.- tabla de verdad


m
C A B Y
0
0 0 0 0
1
0 0 1 0
2
0 1 0 1
3
0 1 1 1
4
1 0 0 0
5
1 0 1 1 C=1,Y=B
6
1 1 0 0
7
1 1 1 1
Ejemplo 3 Multiplexor de 2 a 1 línea

3.- tabla de verdad


m
C A B Y
0
0 0 0 0
1
0 0 1 0
2
0 1 0 1
3
0 1 1 1
4
1 0 0 0
5
1 0 1 1
6
1 1 0 0
7
1 1 1 1
Ejemplo 3 Multiplexor de 2 a 1 línea

4.- Obtener las ecuaciones mínimas

m
C A B Y
0
0 0 0 0
1
0 0 1 0
2
0 1 0 1
3
0 1 1 1
4
1 0 0 0
5
1 0 1 1
6
1 1 0 0
7
1 1 1 1
Ejemplo 3 Multiplexor de 2 a 1 línea

4.- Obtener las ecuaciones mínimas

m
C A B Y
0
0 0 0 0
0
1
0 0 1 0
2
0 1 0 1
3

4
0
1
1
0
1
0
1
0
0
5
1 0 1 1
6
1 1 0 0
7
1 1 1 1
Ejemplo 3 Multiplexor de 2 a 1 línea

4.- Obtener las ecuaciones mínimas

m
C A B Y
0
0 0 0 0 0 1
1
0 0 1 0
2
0 1 0 1
3

4
0
1
1
0
1
0
1
0
0 1
5
1 0 1 1
6
1 1 0 0
7
1 1 1 1
Ejemplo 3 Multiplexor de 2 a 1 línea

4.- Obtener las ecuaciones mínimas

m
C A B Y
0
0 0 0 0 0 1 0
1
0 0 1 0
2
0 1 0 1
3

4
0
1
1
0
1
0
1
0
0 1 1
5
1 0 1 1
6
1 1 0 0
7
1 1 1 1
Ejemplo 3 Multiplexor de 2 a 1 línea

4.- Obtener las ecuaciones mínimas

m
C A B Y
0
0 0 0 0 0 1 0 0
1
0 0 1 0
2
0 1 0 1
3

4
0
1
1
0
1
0
1
0
0 1 1 1
5
1 0 1 1
6
1 1 0 0
7
1 1 1 1
Ejemplo 3 Multiplexor de 2 a 1 línea

4.- Obtener las ecuaciones mínimas

m
C A B Y
0
0 0 0 0 0 1 0 0
1
0 0 1 0
2
0 1 0 1
3

4
0
1
1
0
1
0
1
0
0 1 1 1
5
1 0 1 1
6
1 1 0 0
7
1 1 1 1 FY(C,A,B)= C’A
Ejemplo 3 Multiplexor de 2 a 1 línea

4.- Obtener las ecuaciones mínimas

m
C A B Y
0
0 0 0 0 0 1 0 0
1
0 0 1 0
2
0 1 0 1
3

4
0
1
1
0
1
0
1
0
0 1 1 1
5
1 0 1 1
6
1 1 0 0
7
1 1 1 1 FY(C,A,B)= C’A +CB
Ejemplo 3 Multiplexor de 2 a 1 línea

5.- Diagrama esquemático

FY(C,A,B)=C’A+CB
Ejemplo 3 Multiplexor de 2 a 1 línea

5.- Diagrama esquemático

FY(C,A,B)=C’A+CB

A
C=0

B
Ejemplo 3 Multiplexor de 2 a 1 línea

5.- Diagrama esquemático

FY(C,A,B)=C’A+CB

A A

C=0 1

B B
Ejemplo 3 Multiplexor de 2 a 1 línea

5.- Diagrama esquemático

FY(C,A,B)=C’A+CB

A A A

C=0 1

B B 0
Ejemplo 3 Multiplexor de 2 a 1 línea

5.- Diagrama esquemático

FY(C,A,B)=C’A+CB

A A A

C=0 1
A
0
A
0

B B 0
Ejemplo 3 Multiplexor de 2 a 1 línea

5.- Diagrama esquemático

FY(C,A,B)=C’A+CB

A A 0

C=1 0
0
B
B
1

B B B
Ejemplo 3 Multiplexor de 2 a 1 línea

6.- Implementación en ABEL-HDL por ecuaciones

MODULE muxeq
"entradas
FY(C,A,B)=C’A+CB A,B,C pin 1,2,3;
"Salida
Y pin 19 istype 'com';
equations
Y= !C&A#C&B;
END
Multiplexor de 2 a 1 línea
MODULE muxtt
"entradas
A,B,C pin 1,2,3; 6.- ABEL-HDL
"Salida por tabla de Verdad
Y pin 19 istype 'com';
Truth_table
([C,A,B]->Y) m
C A B Y
[0,0,0]->0; 0
0 0 0 0
[0,0,1]->0; 1
0 0 1 0

[0,1,0]->1; 2
0 1 0 1
3
0 1 1 1
[0,1,1]->1; 4
1 0 0 0
[1,0,0]->0; 5
1 0 1 1
[1,0,1]->1; 6
1 1 0 0
[1,1,0]->0; 7
1 1 1 1
[1,1,1]->1;
END
Multiplexor de 2 a 1 línea
When, Then, Else

WHEN !C THEN Y=A ;


" Si (WHEN) C=0 (!C) entonces (THEN) la salida Y=A

WHEN C THEN Y=B;


" Si (WHEN) C=1 (C) entonces (THEN) la salida Y=B

WHEN !C THEN Y=A else Y=B;


When, Then, Else Multiplexor de 2 a 1 línea

MODULE muxwte
"entradas
A,B,C pin 1,2,3;
"Salida
Y pin 19 istype 'com';
equations
WHEN !C THEN Y=A else Y=B;
END
MODULE muxwte
"entradas Simulación
A,B,C pin 1,2,3;
"Salida
Y pin 19 istype 'com';
equations
WHEN !C THEN Y=A else
Y=B;
Test_vectors
([C,A,B]->Y)
[0,0,0]->0;
[0,0,1]->0;
[0,1,0]->1;
[0,1,1]->1;
[1,0,0]->0;
[1,0,1]->1;
[1,1,0]->0;
[1,1,1]->1;
END
Multiplexor de 4 a 1 línea
Data Selectors/Multiplexers
4-Line To 1-Line

• Cuantas entradas de control se requieren para seleccionar cada


una de las líneas
Multiplexor de 4 a 1 línea
Data Selectors/Multiplexers
4-Line To 1-Line

m AB Y
0 00 L0
1 01 L1
2 10 L2
3 11 L3
Multiplexor de 4 a 1 línea
When, Then, Else Data Selectors/Multiplexers
4-Line To 1-Line

m AB Y
0 00 L0
1 01 L1
2 10 L2
3 11 L3
Multiplexor de 4 a 1 línea

Cuantas entradas se tienen en total ?

m AB Y
0 00 L0
1 01 L1
2 10 L2
3 11 L3
Multiplexor de 4 a 1 línea

Cuantas combinaciones se pueden generar ?

m AB Y
0 00 L0
1 01 L1
2 10 L2
3 11 L3
Multiplexor de 4 a 1 línea

Elabore el archivo en ABEL-HDL usando los comandos


When, Then, Else

m AB Y
0 00 L0
1 01 L1
2 10 L2
3 11 L3
Multiplexor de 4 a 1 línea

When, Then, Else


MODULE muxeq
"entradas
A,B,L0..L3 pin 19,18,1..4;
"Salida
Y pin 16 istype 'com';

m AB Y
0 00 L0
1 01 L1
END
2 10 L2
3 11 L3
Multiplexor de 4 a 1 línea

When, Then, Else


MODULE muxeq
"entradas
A,B,L0..L3 pin 19,18,1..4;
"Salida
Y pin 16 istype 'com';
m AB Y equations
WHEN
0
00 L0
1 01 L1
2 10 L2 END
3 11 L3
Multiplexor de 4 a 1 línea

When, Then, Else


MODULE muxeq
"entradas
A,B,L0..L3 pin 19,18,1..4;
"Salida
Y pin 16 istype 'com';
equations
m AB Y WHEN THEN Y=L0;
0 00 L0
1 01 L1
2 10 L2
END
3 11 L3
Multiplexor de 4 a 1 línea

When, Then, Else


MODULE muxeq
"entradas
A,B,L0..L3 pin 19,18,1..4;
"Salida
Y pin 16 istype 'com';
equations
m AB Y WHEN !A&!B THEN Y=L0;
0 00 L0
1 01 L1
2 10 L2
END
3 11 L3
Multiplexor de 4 a 1 línea

When, Then, Else


MODULE muxeq
"entradas
A,B,L0..L3 pin 19,18,1..4;
"Salida
Y pin 16 istype 'com';
equations
m AB Y WHEN !A&!B THEN Y=L0;
0 00 L0 WHEN !A&B THEN Y=L1;
1 01 L1 WHEN A&!B THEN Y=L2;
WHEN A&B THEN Y=L3;
2 10 L2
END
3 11 L3
Multiplexor de 4 a 1 línea Para no listar las 64 combinaciones
Usamos el Don´t Care .X.

MODULE muxeq X=.x.;


"entradas Test_vectors
A,B,L0..L3 pin 19,18,1..4; ([A,B,L3,L2,L1,L0]->[Y])
"Salida
[0,0, X, X, X, 0 ]-> [0];
Y pin 16 istype 'com';
[0,0, X, X, X, 1 ]-> [1];
equations
[0,1, X, X, 0, X ]-> [0];
WHEN !A&!B THEN Y=L0;
WHEN !A&B THEN Y=L1; [0,1, X, X, 1, X ]-> [1];
WHEN A&!B THEN Y=L2; [1,0, X, 0, X, X ]-> [0];
WHEN A&B THEN Y=L3; [1,0, X, 1, X, X ]-> [1];
END [1,1, 0, X, X, X ]-> [0];
[1,1, 1, X, X, X ]-> [1];
Multiplexor de 4 a 1 línea Para no listar las 64 combinaciones
Usamos el Don´t Care .X.
X=.x.;
MODULE muxeq
"entradas Test_vectors
A,B,L0..L3 pin 19,18,1..4; ([A,B,L3,L2,L1,L0]->[Y])
"Salida [0,0, X, X, X, 0 ]-> [0];
Y pin 16 istype 'com';
[0,0, X, X, X, 1 ]-> [1];
equations
WHEN !A&!B THEN Y=L0; [0,1, X, X, 0, X ]-> [0];
WHEN !A&B THEN Y=L1; [0,1, X, X, 1, X ]-> [1];
WHEN A&!B THEN Y=L2; [1,0, X, 0, X, X ]-> [0];
WHEN A&B THEN Y=L3; [1,0, X, 1, X, X ]-> [1];
END [1,1, 0, X, X, X ]-> [0];
[1,1, 1, X, X, X ]-> [1];
Multiplexor de 4 a 1 línea Para no listar las 64 combinaciones
Usamos el Don´t Care .X.
X=.x.;
MODULE muxeq
"entradas Test_vectors
A,B,L0..L3 pin 19,18,1..4; ([A,B,L3,L2,L1,L0]->[Y])
"Salida [0,0, X, X, X, 0 ]-> [0];
Y pin 16 istype 'com'; [0,0, X, X, X, 1 ]-> [1];
equations
[0,1, X, X, 0, X ]-> [0];
WHEN !A&!B THEN Y=L0;
WHEN !A&B THEN Y=L1; [0,1, X, X, 1, X ]-> [1];
WHEN A&!B THEN Y=L2; [1,0, X, 0, X, X ]-> [0];
WHEN A&B THEN Y=L3; [1,0, X, 1, X, X ]-> [1];
END [1,1, 0, X, X, X ]-> [0];
[1,1, 1, X, X, X ]-> [1];
MODULE mux Test_vectors
X=.x.; ([A,B,L3,L2,L1,L0]->[Y])
"entradas [0,0,X,X,X,0]->[0];
A,B,L0..L3 pin 19,18,1..4; [0,0,X,X,X,1]->[1];
"Salida [0,1,X,X,0,X]->[0];
Y pin 16 istype 'com'; [0,1,X,X,1,X]->[1];
equations [1,0,X,0,X,X]->[0];
WHEN !A&!B THEN Y=L0; [1,0,X,1,X,X]->[1];
WHEN !A&B THEN Y=L1; [1,1,0,X,X,X]->[0];
WHEN A&!B THEN Y=L2; [1,1,1,X,X,X]->[1];
WHEN A&B THEN Y=L3; END
When, Then, Else Multiplexor de 8 a 1 línea

m ABC Y
0 000 L0
1 001 L1
2 010 L2
3 011 L3
4 100 L4
5 101 L5
6 110 L6
7 111 L7
MODULE muxeq
" Entradas de datos
Multiplexor de 8 a 1 línea L0..L7 pin 1..8;
"Entradas de control
A,B,C pin 19,18,17;
"Salida
Y pin 16 istype 'com';
Equations
WHEN !A&!B&!C THEN Y=L0;
WHEN !A&!B&C THEN Y=L1;
WHEN !A&B&!C THEN Y=L2;
WHEN !A&B&C THEN Y=L3;
WHEN A&!B&!C THEN Y=L4;
WHEN A&!B&C THEN Y=L5;
WHEN A&B&!C THEN Y=L6;
WHEN A&B&C THEN Y=L7;
END
GAL16V8

1 8 Lineas compuertas OR
Clk

2 8
Entrada 19
OLMC Ent./Sal.

3
Entrada 8
18
OLMC Ent./Sal.
4
Entrada
8
17
5 OLMC Ent./Sal.
Entrada
8
6 16
2
OLMC Ent./Sal.
Entrada E CMOS
Matriz AND
7 Programable 8
15
Entrada OLMC Ent./Sal.

8
8
Entrada 14
OLMC Ent./Sal.
9
Entrada 8
13
OLMC Ent./Sal.

8
12
OLMC Ent./Sal.

11
OE
Vcc pin 20
Gnd pin 10
Multiplexor de 8 a 1 línea
Test_vectors
Test_vectors
([A,B,C,L7,L6,L5,L4,L3,L2,L1,L0]->[Y])
del Multiplexor
[0,0,0,X,X,X,X,X,X,X,0]->[0]; de 8 a 1 línea
[0,0,0,X,X,X,X,X,X,X,1]->[1];
[0,0,1,X,X,X,X,X,X,0,X]->[0];
[0,0,1,X,X,X,X,X,X,1,X]->[1];
[0,1,0,X,X,X,X,X,0,X,X]->[0];
[0,1,0,X,X,X,X,X,1,X,X]->[1];
[0,1,1,X,X,X,X,0,X,X,X]->[0];
[0,1,1,X,X,X,X,1,X,X,X]->[1];
[1,0,0,X,X,X,0,X,X,X,X]->[0];
[1,0,0,X,X,X,1,X,X,X,X]->[1];
[1,0,1,X,X,0,X,X,X,X,X]->[0];
[1,0,1,X,X,1,X,X,X,X,X]->[1];
[1,1,0,X,0,X,X,X,X,X,X]->[0];
[1,1,0,X,1,X,X,X,X,X,X]->[1];
[1,1,1,0,X,X,X,X,X,X,X]->[0];
[1,1,1,1,X,X,X,X,X,X,X]->[1];
Test_vectors del Multiplexor de 8 a 1 línea

Test_vectors
([A,B,C,L7,L6,L5,L4,L3,L2,L1,L0]->[Y])
[0,0,0, X , X , X, X, X, X, X, 0]->[0];
[0,0,0,X,X,X,X,X,X,X,1]->[1];
[0,0,1,X,X,X,X,X,X,0,X]->[0];
[0,0,1,X,X,X,X,X,X,1,X]->[1];

[1,1,1,0,X,X,X,X,X,X,X]->[0];
[1,1,1,1,X,X,X,X,X,X,X]->[1];
Multiplexor de 2 a 1 (4 bits)
Test_vectors
[X,A,B]->Y) [1,0,.x.]->.x.;
[0,.x.,0]->.x.; [1,1,.x.]->.x.;
[0,.x.,1]->.x.; [1,2,.x.]->.x.;
MODULE MUX
[0,.x.,2]->.x.; [1,3,.x.]->.x.;
X,A3..A0,B3..B0 PIN 1..9; [0,.x.,3]->.x.; [1,4,.x.]->.x.;
Y3..Y0 PIN 23..20 ISTYPE 'COM'; [0,.x.,4]->.x.; [1,5,.x.]->.x.;
[0,.x.,5]->.x.; [1,6,.x.]->.x.;
A=[A3,A2,A1,A0]; [1,7,.x.]->.x.;
[0,.x.,6]->.x.;
B=[B3,B2,B1,B0]; [0,.x.,7]->.x.; [1,8,.x.]->.x.;
[0,.x.,8]->.x.; [1,9,.x.]->.x.;
Y=[Y3..Y0]; [1,10,.x.]->.x.;
[0,.x.,9]->.x.;
EQUATIONS [0,.x.,10]->.x.; [1,11,.x.]->.x.;
[0,.x.,11]->.x.; [1,12,.x.]->.x.;
WHEN X THEN Y=A;
[0,.x.,12]->.x.; [1,13,.x.]->.x.;
WHEN !X THEN Y=B;
[0,.x.,13]->.x.; [1,14,.x.]->.x.;
[0,.x.,14]->.x.; [1,15,.x.]->.x.;
[0,.x.,15]->.x.; END
Ecuaciones

Y3 = ( A3 & X # !X & B3 );
Y2 = ( X & A2 # !X & B2 );
Y1 = ( X & A1 # !X & B1 );
Y0 = ( X & A0 # !X & B0 );
Distribución de terminales (pin Out)
Simulación
HDL
Hardware Description Language
ABEL
Advanced Boolean Expression Language
OLMC
Output Logic MacroCells
Proyecto Adicional 2
Diseñe un selector de datos que contenga 4 números
binarios A, B, C y D de dos bits cada numero
(A=A1,A0 B=B1, B0 C=C1, C0 D=D1, D0)

S1 S0 Y1 Y0
0
0 0 A1 A0
1
0 1 B1 B0
2
1 0 C1 C0
3
1 1 D1 D0
Implementación de funciones Booleanas en un multiplexor
m A B C D Y 0
0 0 0 0 0 0 1
1 0 0 0 1 1 1
2 0 0 1 0 1 0
3 0 0 1 1 0 0
4 0 1 0 0 0 0
5 0 1 0 1 0
1
6
1
0 1 1 0 1
7
1
0 1 1 1 1
0
8 1 0 0 0 X
0
9 1 0 0 1 0
0
10 1 0 1 0 0
1
11 1 0 1 1 X 0
12 1 1 0 0 1 0
13 1 1 0 1 X 1
14 1 1 1 0 X
15 1 1 1 1 1
Tabla Reducida
m A B C D Y

0 0 0 0 0 0
1 0 0 0 1 1
D
m A B C Y
2 0 0 1 0 1 D’
0 0 0 0 D
3 0 0 1 1 0
1 0 0 1 D’ 0
4 0 1 0 0 0
2 0 1 0 0 1
5 0 1 0 1 0
3 0 1 1 1
6 0 1 1 0 1 0
4 1 0 0 0, D’
7 0 1 1 1 1
5
0
1 0 1 0,D
8 1 0 0 0 X
6 1 1 0 1,D’ 1
9 1 0 0 1 0
7 1 1 1 1,D 1
10 1 0 1 0 0
11 1 0 1 1 X
12 1 1 0 0 1
13 1 1 0 1 X
14 1 1 1 0 X
15 1 1 1 1 1
Tabla Reducida
m A B C D Y

0 0 0 0 0 0
1 0 0 0 1 1 m A B Y Y
2 0 0 1 0 1
3 0 0 1 1 0
4 0 1 0 0 0
0 1
0 0 0 CD
5 0 1 0 1 0 1 0
6 0 1 1 0 1
7 0 1 1 1 1 0 1
1 0 1 D
8 1 0 0 0 X 0 1
9 1 0 0 1 0
10 1 0 1 0 0 x 0
2 1 0 0
11 1 0 1 1 X 0 x
12 1 1 0 0 1
13 1 1 0 1 X 1 x
14
3 1 1 1
1 1 1 0 X
x 1
15 1 1 1 1 1
Tabla Reducida
m A B C D Y
m A Y Y
0 0 0 0 0 0
1 0 0 0 1 1
0 1 1 0
2 0 0 1 0 1 0 0 B'C'D + C D' + B C
3 0 0 1 1 0 1 0 1 0
4 0 1 0 0 0
5 0 1 0 1 0 X 0 x 1
1 1 B
6 0 1 1 0 1 0 x 1 x
7 0 1 1 1 1
8 1 0 0 0 X
9 1 0 0 1 0
10 1 0 1 0 0
11 1 0 1 1 X
12 1 1 0 0 1
13 1 1 0 1 X
14 1 1 1 0 X
15 1 1 1 1 1
Los Proyectos Adicionales se entregaran Reporte y circuito
funcionando, el tiempo limite para la entrega es de una semana
después de verlo en clase
No Proyectos Vigentes Fecha limite
1 Problema del examen Viernes 12 de Abr
2 Multiplexor de 4 a 1 línea (2 bits) Jueves 18 de Abr

Reporte
1.- Portada
2.- Redacción del problema
3.- Diagrama de Bloques (entradas y Salidas)
4.- Tabla de Verdad
5.- Código ABEL
6.- Simulación
7.- Archivo RPT (ecuaciones y pin out)
8.- Foto del circuito
9.- Conclusiones y recomendaciones

También podría gustarte