Das Kefk Network Wiki befindet sich im Testbetrieb.
Advanced Boolean Equation Language
Aus Kefk.
Die Advanced Boolean Equation Language (abgekürzt ABEL) ist eine Hardwarebeschreibungssprache, die in der Digitaltechnik eingesetzt wird, um logische Schaltungen für Bausteine wie CPLDs (Complex Programmable Logic Devices) oder FPGAs (Field Programmable Gate Array) zu entwerfen. Die Beschreibung erfolgt grundsätzlich mit booleschen Gleichungen und Wahrheitstafeln. Während Verilog und VHDL ursprünglich nur für die Schaltungssimulation konzipiert wurden, lag das Augenmerk bei der Konzeption von ABEL auf der automatischen Generierung von Programmierfiles für CPLDs.
ABEL wurde in den 80er Jahren von der "Data I/O Corporation" in Redmond (Washington) entwickelt. Heute wird ABEL wenig genutzt, da durch das Aufkommen leistungsfähiger Synthesetools abstraktere Beschreibungen wie z.B. in VHDL automatisch in Gatterlisten umgesetzt werden können. Für Schaltungen, die aus mehreren Hunderttausenden Logikgattern bestehen, ist die manuelle Beschreibung mit logischen Gleichungen (wie in ABEL) nicht mehr praktikabel.
Beispiel: Ampelschaltung in ABEL-HDL
Der folgende Quelltext stellt eine einfaches Ampelschaltung-Programm dar, welches die Ampelphasen rot - rot/gelb - grün - gelb - rot - usw. durchläuft, solange ein High Signal am Enable Eingang anliegt.
MODULE trafficlight
TITLE 'trafficlight'
DECLARATIONS
// Inputs
clk pin 11; // clock signal
en pin 9; // enable signal to start the traffic light
// nodes
q0 node istype 'reg';
q1 node istype 'reg';
// Output
red pin 36 istype 'com'; // the red light
yellow pin 42 istype 'com'; // the yellow light
green pin 39 istype 'com'; // the green light
EQUATIONS
q0 := !q0 & !en;
q1 := (q1 $ q0) & !en;
q0.clk = clk;
q1.clk = clk;
red = q1;
yellow = !q0;
green = !(q1 & !q0);
TEST_VECTORS
([clk, en] -> [ red, yellow, green]);
@repeat 1 {[.C., 1] -> [.X., .X., .X.];}
@repeat 7 {[.C., 0] -> [.X., .X., .X.];}
@repeat 3 {[.C., 1] -> [.X., .X., .X.];}
@repeat 40 {[.C., 0] -> [.X., .X., .X.];}
END
| Dieses Dokument entstammt in seiner ersten oder einer späteren Version der deutschsprachigen Wikipedia. Es ist dort zu finden unter dem Stichwort Advanced_Boolean_Equation_Language, die Liste der bisherigen Autoren befindet sich in der Versionsliste; die Originalfassung kann dort auch bearbeitet werden. Alle Texte der Wikipedia und ihre Derivate stehen unter der GNU-Lizenz für freie Dokumentation. |
