AHDL

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

AHDL (sigla en inglés de "Altera Hardware Description Language", Lenguaje de Descripción de Hardware de Altera) es un lenguaje de descripción de hardware (HDL) proprietario de Altera Corporation para la programación de CPLDs (Complex Programmable Logic Devices o Dispositivos Complejos de Lógica Programable) y FPGAs (Field Programmable Gate Arrays o Campo de Matrices de Puertas Programables). Compilado con el Quartus de Altera y la serie de compiladores Max+, este lenguaje tiene una sintaxis parecida al lenguaje de programación C y una funcionalidad similar a VHDL.

Ejemplo:

% un contador creciente simple en AHDL, liberado a dominio público el 11/13/2006 %
% [los comentarios de bloque se marcan con el signo de porcentaje] %
% como en c, las funciones ahdl deben ser prototipadas (prototyped) %

% PROTOTYPE:
 FUNCTION COUNTER (CLK)
        RETURNS (CNTOUT[7..0]); %

% declaración de función, donde se declaran las entradas (inputs), 
salidas (outputs), y pines bidireccionales %
% también como en c, los corchetes indican una matriz %

SUBDESIGN COUNTER
(
        CLK             :INPUT;
        CNTOUT[7..0]    :OUTPUT;
)

% las variables pueden ser cualquier cosa, desde flip-flops (como es el caso),
hasta buffers tri-estado, máquinas de estado, y funciones definidas por el usuario %

VARIABLE
        TIMER[7..0]: DFF;

% como en todo HDL, se debe pensar en esto menos como un algoritmo
 y más como nodos interconectados. %

BEGIN
        DEFAULTS

                TIMER[].prn = VCC; %  esto se ocupa de los resets d-ff %
                TIMER[].clrn = VCC;
        END DEFAULTS;

        TIMER[].d = TIMER[].q + H"1";
END;