|
QUÉ ES CUPL? |
|
|
( Compiler Universal for Programmable Logic ) |
|
El CUPL, es un lenguaje de descripción y
simulación.
Por medio de este se puede describir el funcionamiento de un circuito lógico ( combinacional o secuencial ), por medio de sus ecuaciones lógicas, por diagramas de estados o tablas. |
![]() |
|
Después de conocer las ecuaciones lógicas que
rigen un circuito, o su diagrama de estados (para secuenciales), este
puede llevarse a CUPL, compilarse y obtenerse un archivo ( .jed ), que
permite por medio de un programador universal y por medio del software
POWER 100, programar un dispositivo ( pld ), con la función que requiera
el usuario. Por medio del CUPL, también se pueden hacer pruebas al
circuito para comprobar que el diseño si esté optimo o si es del caso
hacer las correcciones necesarias.
CUPL tiene palabras y símbolos reservados, es decir, tienen un uso restringido dentro del programa, por ejemplo no pueden hacer parte del nombre de ninguna variable. Para lógica combinacional se tienen símbolos especiales que representan las funciones lógicas básicas not, and, or y xor. |
Como es conocido para realizar un circuito secuencial, se requiere del uso de flip-flops. CUPL tiene una serie de comandos que permiten diseñar circuitos que posean éstos. Antes de iniciar la descripción del circuito por medio de CUPL se debe conocer el tipo de integrado a utilizar ya que estos son diseñados con diferentes flip-flop, por ejemplo la g22v10 esta diseñada con flip-flop tipo D. Luego conociendo esta restricción se procede a describir el programa adaptando las ecuaciones para el tipo de flip-flop que se posee.
|
![]() |
![]()
|
Cada extensión permite acceso a una función especifica. Por ejemplo, para especificar una ecuación para una salida habilitada (o un dispositivo que tiene esta capacidad) use la extensión .oe. La ecuación quedará así: PIN 2 = A; PIN 3 = B; PIN 4 = C; PIN 15 = VARNAME; VARNAME.OE = A&B; Una variable muy importante en secuenciales es el reloj, es vital conocer en el integrado a utilizar cual es el pin dedicado a este propósito. Para indicar que la variable de entrada es un reloj, al pin que se dedica a tal efecto se le asigna clk; así el programa reconoce que este es el reloj para todos los flip-flop.
|
|
|
|
|
|