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
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads