Está en la página 1de 4

CIRCUITOS LÓGICOS II

Práctica 3

Utilizando WINCUPL, diseñe el archivo de configuración del


funcionamiento de las compuertas enlistadas para su implementación en
una GAL22V10 o similar. Realice la simulación del circuito para comprobar
su funcionamiento.

❖ NOT A ❖ OR
❖ NOT B ❖ NOR
❖ AND ❖ XOR
❖ NAND ❖ XNOR

La Figura 1 muestra el entorno y codificación de las compuertas en


WINCUPL. Del lado derecho se observa la generación del archivo con
extensión *.JED, el cual es necesario para configurar e implementar su
diseño.

Figura 1. Codificación de compuertas

M I C R O P R O C E S A D O R E S
CIRCUITOS LÓGICOS II

A continuación se proporciona el código para la configuración de


funciones y en la Figura 2 se muestra la asignación de pines para cada
variable.

CÓDIGO
Namecompuertas ;
PartNo00 ;
Date 02/10/2016 ;
Revision01 ;
DesignerEngineer ;
Companycagma ;
AssemblyNone ;
Location ;
Deviceg22v10 ;

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


PIN 2 = a ; /* */
PIN 3 = b ; /* */

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


PIN 14 = inva ; /* */
PIN 15 = invb ; /* */
PIN 16 = and ; /* */
PIN 17 = nand ; /* */
PIN 18 = or ; /* */
PIN 19 = nor ; /* */
PIN 20 = xor ; /* */
PIN 21 = xnor ; /* */

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

Figura 2. Configuración del chip


M I C R O P R O C E S A D O R E S
CIRCUITOS LÓGICOS II

Información Adicional

Se proporciona información acerca de la declaración de variables y


sintaxis de algunos operadores aritméticos, lógicos y ejemplos.

Tabla 1. Formatos numéricos

Tabla 2. Operadores aritméticos

Tabla 3. Operadores lógicos

M I C R O P R O C E S A D O R E S
CIRCUITOS LÓGICOS II

Ejemplos de asignación de terminales


PIN 2 = a; /*asigna al terminal 2 la variable a*/
PIN 2 = !a; /*asigna al terminal 2 la variable a negada*/
PIN [2,3,4,5,6,7,8,9]= [A0,A1,A2,A3,A4,A5,A6,A7];
PIN [2..9] = [A0,A1,A2,A3,A4,A5,A6,A7];
PIN [2..9] = [A0..A7];

Ejemplo de declaración de tablas


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;

M I C R O P R O C E S A D O R E S

También podría gustarte