0% encontró este documento útil (0 votos)
434 vistas10 páginas

Manejo Del Wincupl para Diseñar Circuitos Combinacionales Con Arreglos

Este documento presenta dos prácticas de diseño VLSI usando el paquete WinCUPL. La primera práctica diseña un restador de 2 bits usando un dispositivo GAL16V8. La segunda práctica diseña un decodificador BCD a 7 segmentos usando un dispositivo GAL22V10 para mostrar números en un display. El documento explica los objetivos, marco teórico, equipos, actividades y programas CUPL para ambos circuitos combinacionales.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
434 vistas10 páginas

Manejo Del Wincupl para Diseñar Circuitos Combinacionales Con Arreglos

Este documento presenta dos prácticas de diseño VLSI usando el paquete WinCUPL. La primera práctica diseña un restador de 2 bits usando un dispositivo GAL16V8. La segunda práctica diseña un decodificador BCD a 7 segmentos usando un dispositivo GAL22V10 para mostrar números en un display. El documento explica los objetivos, marco teórico, equipos, actividades y programas CUPL para ambos circuitos combinacionales.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 10

Departamento de Eléctrica y Electrónica

Carrera de Ingeniería en Electrónica e Instrumentación

DISEÑO VLSI

Práctica 2.1

MANEJO DEL WINCUPL PARA DISEÑAR CIRCUITOS


COMBINACIONALES CON ARREGLOS

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

CUPL: Es un Compilador universal para Lógica Programable, se emplea para programar o


simular SPLDs. Con CUPL es posible compilar descripciones de circuitos combinacionales
o secuenciales.

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.

El compilador genera los archivos siguientes:

 Un archivo JEDEC (filename.JED) para descargarse con un programador o


emplearse con un simulador.
 Un archivo de documentación (filename.DOC) que contiene ecuaciones lógicas
expandidas, tablas de símbolos, términos productos e información del mapa de
fusibles.

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

𝑹𝟎 = 𝑌̅𝑋 + 𝑌𝑋̅ ̅̅̅̅ + yYx𝑋̅ + ̅̅̅̅


𝑹𝟏 = 𝑦̅Y𝑥𝑋 ̅̅̅̅ + 𝑦̅𝑥𝑋+𝑦𝑥̅ 𝑋
𝑦𝑌x + y𝑌𝑥

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

wx\yz 00 01 11 10 wx\yz 00 01 11 10 wx\yz 00 01 11 10

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

wx\yz 00 01 11 10 wx\yz 00 01 11 10 wx\yz 00 01 11 10

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 ;

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


PIN 2 = w ; /* */
PIN 3 = x ; /* */
PIN 4 = y ; /* */
PIN 5 = z ; /* */

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


PIN 23 = a ; /* */
PIN 22 = b ; /* */
PIN 21 = c ; /* */
PIN 20 = d ; /* */
PIN 19 = e ; /* */
PIN 18 = f ; /* */
PIN 17 = g ; /* */

/* *************** FUNCIONES *********************/

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 ;

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


PIN 2 = X ; /* */
PIN 3 = x ; /* */
PIN 4 = Y ; /* */
PIN 5 = y ; /* */

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


PIN 19 = r0 ; /* */
PIN 18 = r1 ; /* */
PIN 17 = p ; /* */

/*********************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)

Figura 1 Decodificador BCD a 7 segmentos

Figura 2 Decodificador BCD a 7 segmentos

Figura 3 Restador de 2 números de 2 bits

Figura 4 Restador de 2 números de 2 bits


7) RESULTADOS
 Anote los errores cometidos en el desarrollo de la práctica (si los tuvo) y la forma en
que los corrigió.
- Se deben tener en cuenta el número de los pines, y este error se corrigió
revisando nuevamente el datasheet de cada GAL.
- Los espacios en las asignaciones de variables provocan errores de compilación,
se corrigió revisando que todas las variables tengan un espacio.
 Qué diferencia tienen los archivos de la extensión pld y jed.
- El archivo jed se utiliza para descargarse con un programador o para emplearse
con un simulador.
- El archivo pld contiene la definición del programa que se desea que ejecute el
dispositivo programable.
 Explique la diferencia entre las dos formas de compilación revisadas.
- Device Dependent Compile: esta compilación depende en que integrado este
siendo utilizado, revisa los pines del mismo.
- Device independent Compile: esta compilación es independiente del integrado
en uso, únicamente revisa la sintaxis.
 Consulte dos tipos de archivo adicionales que puede generar el compilador del
WINCUPL.
- Un archivo de documentación (filename.DOC) que contiene ecuaciones lógicas
expandidas, tablas de símbolos, términos productos e información del mapa de
fusibles
- Un archivo en formato PLA (filename.PLA) para ser usado por otros módulos o
programas técnicos.

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

 Se debe recordar que las ecuaciones antes de ser implementadas en el compilador


deben estar simplificadas lo máximo posible, se recomienda utilizar mapas de
Karnaugh, que permiten obtener una expresión compacta de una tabla de verdad.
 Los operadores lógicos que utiliza Wincupl son diferentes a los usados en otros
compiladores, es por ello que se deben tener muy en cuenta en la implementación
de las ecuaciones.[2]
 Se debe tener en cuenta el uso de paréntesis para que las ecuaciones implementadas
tengan la respuesta adecuada a el diseño implementado, debido a que si las
operaciones se encuentran en el mismo nivel se producirán valores que no están
acordes a los buscados.

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.

También podría gustarte