Lenguaje Abel
q q
Introducción
q
Introducción Estructura de un archivo fuente ABEL
t t t t Formato Declaraciones Operadores Conjuntos
ABEL significa
t Advanced Boolean Equation Language
q
Introducido por DATA I/O Corporation en 1984
t Diversos fabricantes lo siguen manteniendo
q
q
Descripción lógica
t Ecuaciones t Tablas t Diagramas de estados
Es un lenguaje dedescripción de hardware ...
t Permite describir un circuito digital t Permite definir vectores de test para comprobar el funcionamiento t Permite generar el mapa de fusibles para programar el PLD
…de bajo nivel
t Muy cercano a la circuitería que representa t Muy eficaz para describir diseños digitales pequeños (< algunos miles de puertas)
q
Vectores de test
Universidad de Zaragoza,IEC.
Lenguaje ABEL - 1
Universidad de Zaragoza, IEC.
Lenguaje ABEL - 2
Estructura de un archivo fuente ABEL
Encabezamiento Declaraciones Descripción lógica module Bici U1 device 'P22V10'; V1, V2, P pin 2, 3, 4; M pin 23; equations M = !V1 & P test_vectors ([ V1, V2, [.X., .X., [ 0 , .X., [ 1 , 0 , end # P] 0] 1] 1] !V2 & P; -> -> -> -> [M]) [0]; [1]; [1];
Los vectores de test se usanpara simulación Declaración de la PAL Declaración de pines
Estructura de un archivo fuente ABEL
q
Formato del texto:
t Palabras clave: da igual mayúsculas que minúsculas t Nombres definidos por el usuario (identificadores): hay que mantener el estilo de su declaración • Por ejemplo, V1 es distinto de v1 t Las sentencias acaban en ;
q
Comentarios:
"pines de entrada A, B, C pin 2, 3,4;
Vectores de test
• Empiezan por comillas • Se extienden hasta las siguientes comillas o hasta el final de línea
q
Final
V1 P V2 M
Encabezamiento y final
t Las palabras clave module y end marcan los límites de un diseño
Universidad de Zaragoza, IEC.
Lenguaje ABEL - 3
Universidad de Zaragoza, IEC.
Lenguaje ABEL - 4
Declaraciones
q
Declaraciones
U1 device'P22V10';
q
Declaración del dispositivo
t Es opcional e identifica el PLD a usar
Declaración de constantes
H, L = 1, 0;
id_cte1, id_cte2, ... = expr1, expr2, ...
Caracteres entre comillas simples Lista de identif. para constantes Lista de expresiones
identificador device cadena
Cadena alfanumérica que empieza por _ o una letra
q
Declaración de pines
V1, V2, P
pin
2, 3,4;
id_pin1, id_pin2, ... pin nº_pin1, nº_pin2, ...
Lista de identif. para los pines
q
t Los números en ABEL siempre representan valores naturales t Igual ocurre con los operadores aritméticos y relacionales t La base por defecto es decimal
B ase Binaria Octal Decimal Hexadecimal
Universidad de Zaragoza, IEC.
Lista de nº de pines (opcional)
Símbolo ^b ^o ^d (defecto) ^hDeclaración de señales internas
N1, N2, N3 node; t En las arquitecturas tipo SPLD se asignan a un pin de salida (si no se pueden simplificar en la síntesis)
Lenguaje ABEL - 5
Ejemplo: 17 en decimal ^b010001 ^o21 ^d17 o 17 ^h11
Lenguaje ABEL - 6
Universidad de Zaragoza, IEC.
Operadores
q
Conjuntos
q
Lógicos
! & # $ !$ NOT (complemento a 1) AND OR XOR XNOR
Aritméticos
t Conconjuntos sólo - y + + > * / % Negación (compl. a 2) Resta Suma Desplazamiento a izda. Desplazamiento a dcha. Multiplicación División entera Módulo (resto de A/B) -A A-B A+B AB A*B A/B A%B
q
Lista de señales o constantes separadas por comas o por el operador de rango (..), encerradas entre corchetes
t Simplifican la escritura de ecuaciones lógicas t Declaración de conjuntos
ASET = [A2,A1,A0]; BSET= [Y2..Y0];
q
Relacionales
t Comparan operandos en una expresión t El resultado puede ser 1 (verdadero) o 0 (falso) == != > >= < B A>=B A -> -> [Y]) [0]; [1]; [1];
q
Recomendable especificar de dónde se realimenta con .fb o .pin
t Resulta un diseño independiente del PLD t La simulación de ecuaciones es igual que la simulación del JEDEC • Si no ponemos extensión:
– Al compilar...
Regístrate para leer el documento completo.