Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Ejemplos Con PLD'S

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 17

Instituto Tecnolgico de Tuxtla Gutirrez

PRACTICAS DE GALS
Software WinCupl 5.0

10 PRACTICAS DE GALS (22V10)


1.- Compuerta and de dos entradas.
2.- Una compuerta or y una compuerta and de dos entradas.
3.- Decodificador de binario a decimal.
4.- Sumador de 4 Bits.
5.- Implementacin Compuertas Lgicas.
6- Multiplexor Decodificador BCD.
7.- Entrada de vectores.
8.- Comparador de 4 bits.
9.- Contador de dcadas. (GAL22V10).
10.- Multiplexor 4x1 (GAL22V10).

2015

Ejemplo 1:
Implementar una compuerta AND de dos entradas en una GAL22V10.
Name

Ejem01 ;

PartNo 00 ;
Date

17/05/2013 ;

Revision 01 ;
Designer Julio ;
Company UNIAJC ;
Assembly None ;
Location ;
Device G22V10 ;
/*Terminales de entrada de la compuerta AND*/
PIN 3 = a ;
PIN 4 = b;
/*Terminales de salida para las compuertas*/
PIN 17 = s;
s = a&b; /*Compuerta AND*/

Instituto Tecnolgico de Tuxtla Gutirrez

Ejemplo 2.
Implementar una compuerta OR y una compuerta AND de dos entradas en una GAL22V10.

Name

Ejem02 ;

PartNo 00 ;
Date

17/05/2013 ;

Revision 01 ;
Designer Julio ;
Company UNIAJC ;
Assembly None ;
Location ;
Device G22V10 ;
/*Terminales de entrada de la compuerta AND*/
PIN 2 = A0 ;
PIN 3 = A1;
/*Terminales de entrada de la compuerta OR*/
PIN 4 = B0;
PIN 5 = B1;
/*Terminales de salida para las compuertas*/
PIN 23 = S0; /*Salida compuerta AND*/
PIN 22 = S1 ;/*Salida compuerta OR*/
/*Operaciones Logicas*/
S0 = A1&A0; /*Compuerta AND*/
S1 = B1#B0; /*Compuerta OR*/

Instituto Tecnolgico de Tuxtla Gutirrez

Ejemplo 3.
Implementar un decodificador de binario a decimal con la GAL22V10.
Tabla de la verdad correspondiente al decodificador, que se empleara en el programa.
En este ejemplo no se esta empleando el punto decimal a pesar de que est conectado en el
esquema mostrado.
CARACTERES EN UN DISPLAY 7 SEGMENTOS.
Para otras aplicaciones puede ser til generar caracteres alfanumricos con un display de 7
segmentos, aqui se deja una tabla con su respectivo valor decimal teniendo en cuenta que el
segmento a es el menos significativo y el segmento g el ms significativo:

Cdigo en WinCupl:
Mapa de caracteres
Name Ejem03 ;
PartNo 00 ;
Date 17/05/2013 ;
Revision 01 ;
Designer Julio ;
Company UNIAJC ;
Assembly None ;

Instituto Tecnolgico de Tuxtla Gutirrez

Location ;
Device G22V10 ;
/*Terminales de entrada */
PIN [2..5] = A, B, C, D;
/*Terminales de salida */
PIN [13..20] = sa,sb,sc,sd,se,sf,sg,sdp;
/*Declaraciones */
FIELD entradas = [D,C,B,A];
FIELD salidas = [sdp,sg,sf,se,sd,sc,sb,sa];
/*Ecuaciones booleanas */
TABLE entradas => salidas {
'b'0000 => 'b'00111111;
'b'0001 => 'b'00000110;
'b'0010 => 'b'01011011;
'b'0011 => 'b'01001111;
'b'0100 => 'b'01100110;
'b'0101 => 'b'01101101;
'b'0110 => 'b'01111101;
'b'0111 => 'b'00000111;
'b'1000 => 'b'01111111;
'b'1001 => 'b'01100111;
'b'1010 => 'b'00000000;
'b'1011 => 'b'00000000;
'b'1100 => 'b'00000000;
'b'1101 => 'b'00000000;
'b'1110 => 'b'00000000;
'b'1111 => 'b'00000000;
}

Instituto Tecnolgico de Tuxtla Gutirrez

Instituto Tecnolgico de Tuxtla Gutirrez

Instituto Tecnolgico de Tuxtla Gutirrez

Ejemplo 4.
Sumador de 4 Bits.
Cdigo en WinCupl:
Name

ADDER4 ;

PartNo 00 ;
Date

20/09/2011 ;

Revision 01 ;
Designer Engineer ;
Company MAPS ;
Assembly None ;
Location ;
Device g22v10 ;
/* *************** INPUT PINS *********************/
PIN

[1..4] = [A0..3]

; /*

*/

PIN

[5..8] = [B0..3]

; /*

*/

/* *************** OUTPUT PINS *********************/


PIN [14..17] = [S0..3]

; /*

*/

PIN [18..20] = [C0..2]

; /*

*/

PIN

; /*

*/

22 =Cout

FUNCTION SUM4BITS (A,B,Cin,Cout) {


Cout = Cin&B#Cin&A#A&B;
SUM4BITS = Cin$A$B ;
}
S0= SUM4BITS (A0,B0,'h'0,C0) ;
S1= SUM4BITS (A1,B1,C0,C1) ;
S2= SUM4BITS (A2,B2,C1,C2) ;
S3= SUM4BITS (A3,B3,C2,Cout) ;

Instituto Tecnolgico de Tuxtla Gutirrez

Ejemplo 5.
Implementacin Compuertas Lgicas.
Para esta prctica utilizamos una fuente de alimentacin de 5 Volts, un circuito integrado
GAL22V10, un Swith dip de ms de 3 posiciones (como las presentaciones de 4, 6, 8, etc.),
y 7 leds de cualquier color (pueden ser de dos colores para diferenciar bien las operaciones
inversas ejemplo: nor-or).

Lo ideal sera que entre las salidas de la GAL22V10 y las patillas de cada led se pusiera un
resistor de aproximadamente 200 Ohms, pero por falta de espacio no se pusieron.

Programa en WinCupl:
Name Compuertas logicas;
PartNo 00 ;
Date 03/10/2008 ;
Revision 01 ;
Designer Engineer ;
Company Corpostar ;
Assembly None ;
Location ;
Device g22v10 ;
/* *************** INPUT PINS *********************/
PIN 1 = a ;
PIN 2 = b ;
PIN 3 = c ;

Instituto Tecnolgico de Tuxtla Gutirrez

/* *************** OUTPUT PINS *********************/


PIN
PIN
PIN
PIN
PIN
PIN
PIN

14 = nota ;
15 = xnor ;
16 = xor ;
17 = nor ;
18 = or ;
19 = nand ;
20 = and ;

and = !a ;
nand = a & b & c ;
or = a # b # c ;
nor = !(a # b # c ) ;
xor = a $ b $ c ;
xnor = !(a $ b $ c ) ;
nota = !a ;

Instituto Tecnolgico de Tuxtla Gutirrez

Ejemplo 6.
Multiplexor Decodificador BCD.
Programa preparado para el dispositivo GALP221O.
Cdigo en WinCupl:
Programa de descripcin del circuito (archivo .PLD)
Name
Partno
Revision
Date
Designer
Company
Location
Assembly
Device

Prac3;
CIR001;
01;
13/3/99;
Ejemplo;
Departamento de Electronica;
Universidad de Alcala de Henares;
None;
22v10;

/******************************************************************/
/*
*/
/*
LABORATORIO DE ELECTRONICA DIGITAL
/*
*/
/*
Practica 3: Multiplexor - Decodificador BCD
*/
/*
*/
/******************************************************************/
/* Programa preparado para el dispositivo: 22V10
*/
/******************************************************************/

*/

/** Definicion de los pines de entrada **/


Pin [2..5] = [A3..0]; /* Dato A */
Pin [6..9] = [B3..0]; /* Dato B */
Pin 10 = select;
/* Seleccion */
/** Definicion de los pines de salida **/
Pin [15..21] = a,b,c,d,e,f,g; /* Senianles de los displays */
Pin 14 = punto;
/* Punto decimal */
/** Cuerpo del programa **/
/* Descripcion del multiplexor utilizando funciones logicas */
S3 = (!select & A3) # (select & B3);
S2 = (!select & A2) # (select & B2);
S1 = (!select & A1) # (select & B1);
S0 = (!select & A0) # (select & B0);
/* Descripcion del conversion BCD - 7 segmentos utilizando una tabla
de verdad */
TABLE S3,S2,S1,S0=> !a,!b,!c,!d,!e,!f,!g,!punto {
'h'0=>'b'11111100; 'h'1=>'b'01100000; 'h'2=>'b'11011010;

Instituto Tecnolgico de Tuxtla Gutirrez

'h'3=>'b'11110010;
'h'4=>'b'01100110; 'h'5=>'b'10110110; 'h'6=>'b'00111110;
'h'7=>'b'11100000;
'h'8=>'b'11111110; 'h'9=>'b'11100110; 'h'A=>'b'00000001;
'h'B=>'b'00000001;
'h'C=>'b'00000001; 'h'D=>'b'00000001; 'h'E=>'b'00000001;
'h'F=>'b'00000001;
}

Ejemplo 7.
Entrada de vectores. (GAL22V10)
Name
Partno
Revision
Date
Designer
Company
Location
Assembly
Device

Prac3;
CIR001;
01;
13/3/99;
Ejemplo;
Departamento de Electronica;
Universidad de Alcala de Henares;
None;
p22v10;

/** Orden con que se van a introducir y presentar los vectores **/
Order: select," ",A3..0," ",B3..0," ",a,b,c,d,e,f,g," ",punto;
/** Vectores de test **/
/* * indica que sera rellenado por el simulador */
Vectors:
0 0000 0000 ********
0 0001 0000 ********
0 0010 0000 ********
0 0011 0000 ********
0 0100 0000 ********
0 0101 0000 ********
0 0110 0000 ********
0 0111 0000 ********
0 1000 0000 ********
0 1001 0000 ********
0 1010 0000 ********
0 1011 0000 ********
0 1100 0000 ********
0 1101 0000 ********
0 1110 0000 ********
0 1111 0000 ********
1 0000 0000 ********
1 0001 0000 ********
1 0010 0000 ********

Instituto Tecnolgico de Tuxtla Gutirrez

1 0011 0000 ********


1 0000 0000 ********
1 0000 0001 ********
1 0000 0010 ********
1 0000 0011 ********

Ejemplo 8:
Programa comparador de 4 bits.
Cdigo en WinCupl:
/* *************** INPUT PINS *********************/
PIN 1 = CLOCK
; /*
*/
PIN 2 = R
; /*
*/
PIN 3 = S
; /*
*/
PIN 4 = T
; /*
*/
PIN 5 = RESET
; /*
*/
PIN 6 = PRESET
; /*
*/
/* *************** OUTPUT PINS *********************/
PIN 14 = A
; /*
*/
PIN 15 = B
; /*
*/
PIN 16 = C
; /*
*/
SEQUENCE [A,B,C]
{
PRESENT 6 IF R NEXT 2; DEFAULT NEXT 4;
PRESENT 4 IF S NEXT 6; DEFAULT NEXT 5;
PRESENT 2 IF S NEXT 3; DEFAULT NEXT 6;
PRESENT 5 IF T NEXT 7; DEFAULT NEXT 4;
PRESENT 7 NEXT 6;
PRESENT 3 IF T NEXT 2; DEFAULT NEXT 7;
}
A.AR=RESET;B.AR=RESET;C.AR=RESET;
A.SP=PRESET;B.SP=PRESET;C.SP=PRESET;

Instituto Tecnolgico de Tuxtla Gutirrez

Ejemplo 9:
Contador de dcadas. (GAL22V10)
Programacin en WinCupl:
Name

CONTA;

PartNo 00 ;
Date

03/08/2011 ;

Revision 01 ;
Designer Mayra ;
Company cecyteopl1 ;
Assembly None ;
Location ;
Device g22v10 ;

/* *************** INPUT PINS *********************/


PIN 1 = !clk
PIN 2 = reset

; /*

*/
; /*

*/

PIN 3 = UP ;
/* *************** OUTPUT PINS *********************/
PIN [14..17 ] = [q3..0]

; /*

*/

$define s0 'b' 0000


$define s1 'b' 0001
$define s2 'b' 0010
$define s3 'b' 0011
$define s4 'b' 0100
$define s5 'b' 0101
$define s6 'b' 0110
$define s7 'b' 0111
$define s8 'b' 1000
$define s9 'b' 1001

Instituto Tecnolgico de Tuxtla Gutirrez

FIELD contador = [q3..0];

SEQUENCE contador {
PRESENT s0

IF !reset & UP NEXT s1;


IF !reset & !UP NEXT s9;
IF reset NEXT s0;

PRESENT s1 IF !reset & UP NEXT s2;


IF !reset & !UP NEXT s0;
IF reset NEXT s0;

PRESENT s2 IF !reset & UP NEXT s3;


IF !reset & !UP NEXT s1;
IF reset NEXT s0;

PRESENT s3 IF !reset & UP NEXT s4;


IF !reset & !UP NEXT s2;
IF reset NEXT s0;

PRESENT s4 IF !reset & UP NEXT s5;


IF !reset & !UP NEXT s3;
IF reset NEXT s0;

PRESENT s5 IF !reset & UP NEXT s6;


IF !reset & !UP NEXT s4;
IF reset NEXT s0;

PRESENT s6 IF !reset & UP NEXT s7;


IF !reset & !UP NEXT s5;

Instituto Tecnolgico de Tuxtla Gutirrez

IF reset NEXT s0;

PRESENT s7 IF !reset & UP NEXT s8;


IF !reset & !UP NEXT s6;
IF reset NEXT s0;

PRESENT s8 IF !reset & UP NEXT s9;


IF !reset & !UP NEXT s7;
IF reset NEXT s0;

PRESENT s9 IF !reset & UP NEXT s0;


IF !reset & !UP NEXT s8;
IF reset NEXT s0;

Instituto Tecnolgico de Tuxtla Gutirrez

Ejemplo 10.
Multiplexor 4x1 (GAL22V10).
Cdigo en WinCupl:
Name

MUX4X1 ;

PartNo 00 ;
Date

19/09/2011 ;

Revision 01 ;
Designer Engineer ;
Company MAPS ;
Assembly None ;
Location ;
Device g22v10 ;

/* *************** INPUT PINS *********************/


PIN

1=s1

; /*

*/

PIN

2=s0

; /*

*/

PIN

3=i0

; /*

*/

PIN

4=i1

; /*

*/

PIN

5=i2

; /*

*/

PIN

6=i3

; /*

*/

/* *************** OUTPUT PINS *********************/


PIN

23=sal

; /*

*/

sal=i0&!s1&!s0#i1&!s1&s0#i2&s1&!s0#i3&s1&s0;

Instituto Tecnolgico de Tuxtla Gutirrez

También podría gustarte