Академический Документы
Профессиональный Документы
Культура Документы
estados, este puede llevarse a CUPL, compilarse y obtenerse un archivo .jed, que permite
por medio de un programador y de un software, programar un dispositivo PLD, con la funcin
que requiera el usuario. Por medio del CUPL, tambin se pueden hacer pruebas al circuito para
comprobar que el diseo sea optimo o si es el caso, hacer las correcciones necesarias.
CUPL tiene palabras y smbolos reservados, es decir, tienen un uso restringido dentro
del programa, por ejemplo no pueden hacerse uso del nombre del programa en ninguna variable.
Para lgica combinacional se tienen smbolos especiales que representan las funciones
lgicas bsicas not, and, or y xor.
*ABEL
ABEL es una marca registrada de Data I/O Corporation y es el acrnimo de Advanced Boolean
Expression Language, permite implementar diseos lgicos en dispositivos lgicos programables.
Puede ser utilizado para programar cualquier tipo de PLD y, por tanto, es un lenguaje independiente del
dispositivo. El lenguaje ABEL se ejecuta en un computador conectado a un programador de
dispositivos, independiente del lenguaje, en el que se inserta el PLD.
Un lenguaje de programacin PLD est respaldado por un procesador de lenguaje PLD denominado
compilador. La tarea del compilador es traducir un archivo de texto escrito en el lenguaje en un patrn
de fusibles para el PLD fsico. An cuando la mayora de los PLD pueden programarse fsicamente
slo con expresiones de suma de productos, lenguajes como ABEL permiten que las ecuaciones PLD se
escriban casi en cualquier formato; el compilador manipula algebraicamente y minimiza las ecuaciones
para ajuste, si es posible, dentro de la estructura PLD disponible.
ESTRUCTURA INTERNA
A continuacin se presenta la estructura tpica de un programa en el lenguaje ABEL y un ejemplo del
mismo:
Estructura:
module nombre del mdulo
[title string]
[deviceID device deviceType;]
declaraciones de pin
otras declaraciones
equations
ecuaciones
[Test_Vectors]
tested vectores
end nombre de mdulo
A diferencia del lenguaje C, Verilog usa Begin/End en lugar de llaves para definir un bloque de cdigo.
Por otro lado la definicin de constantes en Verilog requiere la longitud de bits con su base. Verilog no
tiene estructuras, apuntadores o funciones recursivas. Finalmente el concepto de tiempo, muy
importante en un HDL, no se encuentra en C.
El lenguaje difiere de los lenguajes de programacin convencionales, en que la ejecucin de las
sentencias no es estrictamente lineal. Un diseo en Verilog consiste de una jerarqua de mdulos. Los
mdulos son definidos con conjuntos de puertos de entrada, salida y bidireccionales. Internamente un
mdulo contiene una lista de cables y registros. Las sentencias concurrentes y secuenciales definen el
comportamiento del mdulo, describiendo las relaciones entre los puertos, cables y registros. Las
sentencias secuenciales son colocadas dentro de un bloque begin/end y ejecutadas en orden secuencial,
pero todas las sentencias concurrentes y todos los bloques begin/end son ejecutadas en paralelo en el
diseo. Un mdulo puede contener una o ms instancias de otro mdulo para definir un subcomportamiento.
Un subconjunto de sentencias en el lenguaje es sintetizable. Si los mdulos en un diseo contienen slo
sentencias sintetizables, se puede usar software para convertir o sintetizar el diseo en una lista de
nodos que describe los componentes bsicos y los conectores que deben implementarse en hardware.
La lista de nodos puede entonces ser transformada en una forma describiendo las celdas estndar de un
circuito integrado, por ejemplo ASIC, o una cadena de bits para un dispositivo de lgica programable
(PLD) como puede ser una FPGA o un CPLD.
*SystemC
SystemC es frecuentemente descrito como un lenguaje de descripcin de hardware como son VHDL y
Verilog, pero es ms adecuado describirlo como un lenguaje de descripcin de sistemas, puesto que es
realmente til cuando se usa para modelar sistemas a nivel de comportamiento.
SystemC es un conjunto de bibliotecas y macros implementadas en C++ que hacen posible una
simulacin de procesos concurrentes con la sintaxis del lenguaje C++ ordinario. As los objetos
descritos pueden comunicarse durante una simulacin de tiempo real usando seales de cualquier tipo
ofrecido por C++, adems algunas otras ofrecidas por las libreras de SystemC y tambin otras
definidas por el usuario.
La metodologa de diseo es comenzar con un modelo de alto nivel escrito en C++ y aplicar un proceso
iterativo consistente en transformar el cdigo para usar slo los elementos que tengan su equivalente en
un lenguaje de descripcin de hardware.
*Schematic Capture
La captura esquematica es un paso mas en el ciclo de diseo asistido de sistemas electrnicos
(EDA), en el que el diagrama o esquema del circuito electrnico es creado por un diseador.
Esto se hace de manera interactiva con la ayuda de una herramienta de captura de esquemticos
tambin conocida como editor de esquematicos.