Top Qs
Línea de tiempo
Chat
Contexto

ABEL

De Wikipedia, la enciclopedia libre

Remove ads

ABEL es la abreviatura de Advanced Boolean Expression Language. Es un lenguaje de descripción de hardware y un conjunto de herramientas de diseño para programar dispositivos lógicos programables (PLDs).

Características

ABEL permite describir un diseño concurrentemente mediante tablas de verdad o ecuaciones lógicas. Ejemplos:

...

X=.X.
Truth_Table    //tabla de verdad
 ([A, B, C] -> Out)  //variables
  [0, 0, 0] -> 1;    //valores de las entradas y salidas
  [0, 0, 1] -> 0;
  [1, X, X] -> 1;
END

...

Out= (!A & B) # (B & C);      //ecuación lógica

También permite la programación secuencial con máquinas de estados. Ejemplo:

...

state_diagram sreg
  state S0:
     goto S1 with { Out=1; }
  state S1:
     if (A & B) then S0 with { Out=0; }

...

end

Otra opción que permite es definir vectores de test (patrones de entradas y salidas) que pueden ser programados en el hardware. La estructura de los vectores de test es similar a la de las tablas de verdad.

Remove ads

Ejemplo de código

El siguiente es un ejemplo en ABEL. Los comentarios van después de los símbolos " ó //.

module wiki;
title 'Ejemplo de programa en ABEL';

"declaración de entradas, salidas y señales internas"
reloj PIN;
activa PIN istype 'com';
BUS[8..0]contador PIN istype 'reg';

equations

contador[8..0].clk=reloj; "se asigna la señal reloj a los registros del contador
when(contador[8..0]==60) then{
   activa=1;
   contador[8..0]:=[0,0,0,0,0,0,0,0,0];
}else{
   contador[8..0]:=contador[8..0]+1;
}

end wiki
Remove ads

Véase también

Enlaces externos

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads