Lenguaje ABEL DPE IES “Juan de la Cierva” (Madrid) LENGUAJE ABEL • ABEL ( Advanced Boolean Equation Language) es un le
Views 184 Downloads 2 File size 581KB
Lenguaje ABEL
DPE IES “Juan de la Cierva” (Madrid)
LENGUAJE ABEL • ABEL ( Advanced Boolean Equation Language) es un lenguaje de descripción de harware (HDL, Hardware Descripción Language) que fue diseñado por Data I/O Corporation en 1984 para describir e implementar diseños digitales sobre dispositivos lógicos programables PLD, (Programmable Logia Devices). • Posteriormente aparecieron otros lenguajes similares al ABEL como son el CUPL o PALASM y otros de mayor complejidad como el VHDL o Verilog, capaces de describir sistemas de mayor entidad. DPE IES “Juan de la Cierva” (Madrid)
1
Herramientas para la programción de DLP
DPE IES “Juan de la Cierva” (Madrid)
Flujo de diseño
DPE IES “Juan de la Cierva” (Madrid)
2
Estructura del lenguaje ABEL • Todos los diseños deben tener una cabecera y un final • Todos los diseños empiezan con una sentencia MODULE y terminan con una sentencia END. • Para evitar errores de compilación, el nombre dado al módulo debe coincidir con el nombre del fichero *.abl en el que se almacena la información. • La sentencia TITLE es opcional y se usa para identificar el diseño a efectos de documentación. “Va seguida de una cadena de caracteres ASCII encerrados entre comillas simples”. • La sentencia END marca el final del módulo. Puede ir seguida por el nombre del módulo, a efectos de documentación.
DPE IES “Juan de la Cierva” (Madrid)
Estructura del lenguaje ABEL
DPE IES “Juan de la Cierva” (Madrid)
3
Declaraciones • Esta sección incluye : – – – –
La declaración del dispositivo La declaración de los pines La declaración de constantes La declaración de conjuntos
• Declaración de Dispositivo. Es opcional y se utiliza para especificar el PLD que se va a programar. El identificador es simplemente una descripción y puede ser el que se desee. El dispositivo se especifica en la cadena que se pone a continuación, que empieza por P para las PAS y las GAL. Identificador device cadena ; Ej.: U1 device ‘P22V10’; (en este programa ????)
DPE IES “Juan de la Cierva” (Madrid)
Declaración de Pines • Declaración de Pines: Define los identificadores que se usarán en el archivo ABEL para los pines del diseño y los asocia con los números de pines del encapsulado del dispositivo. El asignar números de pines es opcional. Si no se ponen, las herramientas de síntesis elegirán los adecuados. id_pin1, id_pin2,.... pin nº_pin1, nº_pin2....; Ej.: A, B, C pin 3, 4, 5 ; DPE IES “Juan de la Cierva” (Madrid)
4
Declaración de Pines • Se pueden asociar atributos a los pines de salida con la palabra clave istype seguida de una cadena de caracteres. Esta cadena de caracteres contiene una o varias palabras clave separadas por comas, que indican a la herramienta de síntesis características especiales de la salida. Los atributos más utilizados son los siguientes: – ‘com’ indica que la salida es combinacional – ‘reg’ indica que la salida es registrada – ‘buffer’ indica que se utiliza la configuración activa en alto de la estructura de salida, es decir, que tenemos un buffer no inversor conectado a la salida – ‘inver’ indica que se utiliza la configuración activa a nivel bajo de la estructura de salida, es decir, que tenemos un buffer inversor conectado al pon de salida. Ej: X,Z pin 27, 26 istype ‘com, invert’
DPE IES “Juan de la Cierva” (Madrid)
Declaración de nodos • También se pueden declarar señales internas del circuito, no conectadas a ningún pin de salida, mediante la palabra clave node. • Utiliza la misma sintaxis que para la declaración de pines, pero sin los números de pin.
DPE IES “Juan de la Cierva” (Madrid)
5
Declaración de constantes y conjuntos • Se pueden definir constantes y conjuntos para simplificar la descripción ABEL de un diseño • Ej.: ASET = [A2, A1, A0] BSET = [B2, B1, B0] ASET & BSET ASET & B0 2 & ASET ASET = 2
[A2&B2], [A1&B1], [A0&B0] [A2&B0], [A1&B0], [A0&B0] [0&A2], [1&A1], [0&A0] A2=0; A1=1; A0=0;
DPE IES “Juan de la Cierva” (Madrid)
Declaración de constantes y conjuntos • La declaración de conjuntos permite simplificar la descripción lógica tratando una serie de señales como un grupo. • Un conjunto es una lista de señales o constantes separadas por comas o por el operador de rango (..), encerrada entre corchetes. • Ej.: DATO = [D7, D6, D5, D4. D3, D2, D1, D0]; Que también puede declararse con el operador de rango DATO = [D7..D0] DPE IES “Juan de la Cierva” (Madrid)
6
Operadores • Hay 4 tipos de operadores: – Lógicos – Aritméticos – Relaciónales – Asignación
DPE IES “Juan de la Cierva” (Madrid)
Operadores Lógicos Operador
Descripción
Ecuación en ABEL_HDL
!
NOT
!A
&
AND
A&B
Símbolo
A
A
A
A.B
B
#
OR
A#B
A
A+B
B
$
OR-EXLUSIVA
A$B
A
A+B
B
!&
NAND
A
!(A&B)
A.B
B
!#
NOR
!(A#B)
A
A+B
B
!$
NOR-EXCLUSIVA
!(A$B)
A
A+B
B
DPE IES “Juan de la Cierva” (Madrid)
7
Operadores Aritméticos • En expresiones numéricas siempre devuelven un valor natural. • En el contexto de una descripción lógica, una expresión con operadores aritméticos se convierte en un circuito combinacional mediante el proceso de síntesis lógica. • Como en ABEL los números siempre representan enteros positivos, la negación es el complemento a 2, que devuelve un entero positivo. • Restar dos operandos consiste en sumar el primer operando con el complemento a 2 del segundo.
DPE IES “Juan de la Cierva” (Madrid)
Operadores Aritméticos Operador
+ * (1) / (1) % (1) > (1) (1)
Descripción
Negación (complemento a 2) Resta Suma Multiplicación División (Entera) Módulo: resto de A/B Desplazamiento a la Izquierda Desplazamiento a la derecha
Ecuación enABEL_HDL
-A A-B A+B A*B A/B A%B AB
Estos operadores no se pueden usar con conjuntos. Están restringidos a operaciones con señales o números. DPE IES “Juan de la Cierva” (Madrid)
8
Operadores relacionales • Los operandos relacionales se utilizan para comparar operandos en una expresión. El resultado de la comparación es siempre un único bit, que puede valer 1 (verdadero) o 0 (falso). Operador == != > < >= B A=B A < >= B A=B A