Manejo Del Wincupl para Diseñar Circuitos Combinacionales Con Arreglos
Manejo Del Wincupl para Diseñar Circuitos Combinacionales Con Arreglos
DISEÑO VLSI
Práctica 2.1
Autor:
Toaquiza Balderramo Jaime Fernando
Docente:
Ing. Amparo Meythaler
NRC: 7779
1) OBJETIVOS
Identificar la interface y opciones básicas paquete WINCUPL.
Implementar Circuitos Combinacionales utilizando arreglos lógicos.
Simular Circuitos Combinacionales utilizando arreglos lógicos.
2) MARCO TEORICO
PAQUETE WINCUPL
WinCUPL es una versión de CUPL para windows. Es un entorno desarrollado por Atmel
Corporation. En WinCUPL, los archivos con las descripciones tienen extensiones .PLD.
GALs
Lattice GAL 16V8 y 20V8. Una innovación del PAL fue la matriz lógica genérica (Generic
array logic) o GAL. Ambas fueron desarrolladas por Lattice Semiconductor en 1985. Este
dispositivo tiene las mismas propiedades lógicas que el PAL, pero puede ser borrado y
reprogramado. La GAL es muy útil en la fase de prototipado de un diseño, cuando un fallo
en la lógica puede ser corregido por reprogramación. Las GALs se programan y
reprograman utilizando un programador un programador universal. Con un SPLD como
por ejemplo una GAL, se pueden realizar circuito combinacionales.
3) EQUIPOS Y MATERIALES
PC con el paquete WINCUPL y el paquete PROTEUS
4) ACTIVIDADES
a) Elabore el archivo fuente para un restador de 2 números de 2 bits cada uno, para que
sea compilado en el paquete WINCUPL si el dispositivo a utilizar es GAL16V8D
y x x-y
y Y x X p R1 R0
0 0 0 0 0 0 0
0 0 0 1 0 0 1
0 0 1 0 0 1 0
0 0 1 1 0 1 1
0 1 0 0 0 1 1
0 1 0 1 0 0 0
0 1 1 0 0 0 1
0 1 1 1 0 1 0
1 0 0 0 1 1 0
1 0 0 1 1 1 1
1 0 1 0 0 0 0
1 0 1 1 0 0 1
1 1 0 0 1 0 1
1 1 0 1 1 1 0
1 1 1 0 1 1 1
1 1 1 1 0 0 0
R0 R1
yY\xX 00 01 11 10 yY\xX 00 01 11 10
00 0 1 1 0 00 0 0 1 1
01 1 0 0 1 01 1 0 1 0
11 1 0 0 1 11 0 1 0 1
10 0 1 1 0 10 1 1 0 0
yY\xX 00 01 11 10
00 0 0 0 0
01 0 0 0 0
11 1 1 0 1
10 1 1 0 0
𝒑 = 𝑦𝑌𝑋̅ + 𝑦𝑥̅
b) Elabore el archivo fuente para un decodificador BCD a 7 segmentos (escoja Ud. el tipo
de display de trabajo), para que sea compilado en el paquete WINCUPL si el dispositivo a
utilizar es GAL22V10D
Cátodo Común
w x y z a b c d e f g
0 0 0 0 1 1 1 1 1 1 0
0 0 0 1 0 1 1 0 0 0 0
0 0 1 0 1 1 0 1 1 0 1
0 0 1 1 1 1 1 1 0 0 1
0 1 0 0 0 1 1 0 0 1 1
0 1 0 1 1 0 1 1 0 1 1
0 1 1 0 1 0 1 1 1 1 1
0 1 1 1 1 1 1 0 0 0 0
1 0 0 0 1 1 1 1 1 1 1
1 0 0 1 1 1 1 1 0 1 1
1 0 1 0 1 0 0 1 1 1 1
1 0 1 1 1 0 0 1 1 1 1
1 1 0 0 1 0 0 1 1 1 1
1 1 0 1 1 0 0 1 1 1 1
1 1 1 0 1 0 0 1 1 1 1
1 1 1 1 1 0 0 1 1 1 1
a b c
00 1 0 1 1 00 1 1 1 1 00 1 1 1 0
01 0 1 1 1 01 1 0 1 0 01 1 1 1 1
11 1 1 1 1 11 0 0 0 0 11 0 0 0 0
10 1 1 1 1 10 1 1 0 0 10 1 1 0 0
𝒂 = w + y + xz + 𝑥𝑧
̅̅̅ 𝒃 = 𝑤𝑦𝑧
̅̅̅̅̅̅ + 𝑤
̅yz + 𝑤𝑥
̅̅̅̅ + 𝑥𝑦
̅̅̅ 𝒄 = 𝑥𝑦
̅̅̅ + 𝑤
̅x + 𝑤
̅𝑧
d e f
00 1 0 1 1 00 1 0 0 1 00 1 0 0 0
01 0 1 0 1 01 0 0 0 1 01 1 1 0 1
11 1 1 1 1 11 1 1 1 1 11 1 1 1 1
10 1 1 1 1 10 1 0 1 1 10 1 1 1 1
𝒅 = w + y𝑧̅ + 𝑥̅ y + 𝑥𝑦̅𝑧 + 𝑥𝑧
̅̅̅ 𝒆 = 𝑥𝑧
̅̅̅ + y𝑧̅ + 𝑤𝑦 + 𝑤𝑥 𝒇 = 𝑤 + 𝑦𝑧
̅̅̅ + x𝑧̅ + x𝑦̅
wx\yz 00 01 11 10
00 0 0 1 1
01 1 1 0 1
11 1 1 1 1
10 1 1 1 1
𝒈 = 𝑦𝑧̅ + x𝑦̅ + 𝑥̅ 𝑦 + 𝑤
5) PROGRAMA
Name deco ;
PartNo 00 ;
Date 7/7/2020 ;
Revision 01 ;
Designer Engineer ;
Company ESPE ;
Assembly None ;
Location ;
Device G22v10 ;
a = (w)#(y)#(x&z)#((!x)&(!z));
b = (!w&!y&!z)#(!w&y&z)#(!w&!x)#(!x&!y);
c = (!x&!y)#(!w&x)#(!w&z);
d = (w)#(y&!z)#(!x&y)#(x&!y&z)#(!x&!z);
e = (!x&!z)#(y&!z)#(w&y)#(w&x);
f = (w)#((!y)&(!z))#(x&(!z))#((x)&!y);
g = (y&!z)#(x&!y)#(!x&y)#(w);
Name restador ;
PartNo 00 ;
Date 7/7/2020 ;
Revision 01 ;
Designer Engineer ;
Company ESPE ;
Assembly None ;
Location ;
Device G16v8 ;
/*********************Funciones**********************/
r0 = (!Y&X)#(Y&!X);
r1 = (!y&Y&!x&!X)#(y&Y&x&!X)#(!y&!Y&x)#(y&!Y&!x)#(!y&x&X)#(y&!x&X);
p = (y&Y&!X)#(y&!x);
6) DISEÑO (Esquemático)
8) CONCLUSIONES
Al utilizar tanto la GAL G22v10 y G16V8, se logro implementar varias funciones
de salida, que en caso de ser implementadas por circuitos lógicos ocuparían una
gran área, siendo el uso de estos dispositivos una solución para disminuir el área
que ocuparía una aplicación similar implementada de manera convencional.
Con la ayuda de un simulador como lo es Proteus y el compilador WINCUPL, se
puede apreciar de manera clara y concisa la utilización de ecuaciones booleanas en
la programación de funciones con un fin específico generado por el usuario.
WINCUPL es un compilador universal para Lógica Programable que se emplea
para programar o simular SPLDs, en este programa es posible compilar
descripciones de circuitos combinacionales o secuenciales.[1]
9) RECOMENDACIONES
10) BIBLIOGRAFIA/LINKOGRAFÍA
[1] «02_SPLDs.pdf». Accedido: jul. 08, 2020. [En línea]. Disponible en:
http://www.utm.mx/~fsantiag/Cir_Dig_Rec/02_SPLDs.pdf.
[2] Gilbert_28, «Programacion en WinCupl», 11:03:40 UTC, Accedido: jul. 08, 2020.
[En línea]. Disponible en: https://es.slideshare.net/Gilbert_28/programacion-en-win-
cupl.