www.wikidata.de-de.nina.az
Die Advanced Boolean Equation Language ABEL ist eine heute kaum noch genutzte Hardwarebeschreibungssprache die in der Digitaltechnik der 1980er und 1990er Jahre eingesetzt wurde um einfache logische Schaltungen fur Bausteine wie CPLDs Complex Programmable Logic Devices und fur kleinere FPGAs Field Programmable Gate Array zu entwerfen Die Beschreibung erfolgt mit booleschen Gleichungen Wahrheitstafeln oder bedingten Zuweisungen Bei Zustandsautomaten konnen die Zustandsubergange als STATE DIAGRAMM beschrieben werden Wahrend Verilog und VHDL ursprunglich nur fur die Schaltungssimulation konzipiert wurden lag das Augenmerk bei der Konzeption von ABEL auf der automatischen und sehr hardwarenahen Generierung von Programmierfiles fur CPLDs ABEL wurde in den 1980er Jahren von der Data I O Corporation in Redmond Washington entwickelt Nach einer Reihe von Verkaufen wird ABEL seit 1999 von Xilinx gepflegt 1 Heute wird ABEL nur noch wenig genutzt da durch das Aufkommen leistungsfahiger Synthesetools abstraktere Beschreibungen wie zum Beispiel in VHDL automatisch in Gatterlisten umgesetzt werden konnen Fur Schaltungen die aus mehreren Hunderttausenden Logikgattern bestehen ist die manuelle Beschreibung mit logischen Gleichungen wie in ABEL nicht praktikabel Aber auch bei kleineren Schaltungen findet ABEL kaum noch Anwendung da die komplette Funktionalitat mit heute ublichen Hardwaresprachen wie VHDL oder Verilog abgedeckt werden kann Inhaltsverzeichnis 1 ABEL Syntax 1 1 Programmaufbau 1 2 Reservierte Schlusselworte 1 2 1 Identifier selbstdefinierte Signalbezeichner 1 3 Kommentare 1 4 Konstanten Auswahl 1 5 Operatoren 1 6 Dot Extensions 2 Beispiel Ampelschaltung in ABEL HDL 3 Weblinks 4 EinzelnachweiseABEL Syntax BearbeitenProgrammaufbau Bearbeiten Ein Abelprogramm besteht aus verschiedenen Abschnitten die durch entsprechende Schlusselworter u a module declarations equations truth table state diagramm test vectors eingeleitet werden Pro Zeile sind maximal 150 Zeichen erlaubt Alle Zeilen enden mit einem Semikolon Reservierte Schlusselworte Bearbeiten Es gibt ca 30 Schlusselworte die nicht frei verwendet werden durfen z B if else istype buffer com when then truth table equations u a m Identifier selbstdefinierte Signalbezeichner Bearbeiten Identifier mussen mit einem Buchstaben oder Unterstrich beginnen und durfen maximal 31 Zeichen lang sein Identifier durfen keine Sonderzeichen ausser und Umlaute a o u oder Leerzeichen enthalten Identifier sind case sensitiv Kommentare Bearbeiten Zur Auszeichnung von Kommentaren gibt es zwei Moglichkeiten Beginn und Ende mit kennzeichnen Beginn mit gilt bis Zeilenende sinnvoll wenn Kommentar selbst enthaltKonstanten Auswahl Bearbeiten X don t care Bedingung z B im Abschnitt truth table C vollstandiger Takt low high low z B in test vectors K vollstandiger Takt high low high D absteigende Taktflanke U ansteigende TaktflankeOperatoren Bearbeiten In ABEL gibt es 4 Gruppen von Operatoren logische Operatoren arithmetische Operatoren Vergleichsoperatoren und Zuweisungsoperatoren Logische Operatoren sind NOT amp AND OR XOR XNOR lt lt Shift left und gt gt Shift right Arithmetische Operatoren sind Addition Subtraktion oder Zweierkomplement Multiplikation und Division Die Vergleichsoperationen entsprechen der Syntax vieler Hochsprachen Moglich sind lt lt gt lt Bei Zuweisungen werden kombinatorische Zuweisungen und Zuweisungen mit Speicher unterschieden bei Ausgangen ohne Flipflop und bei Ausgangen mit FF unter Verwendung von Dot Extensions bei Ausgangen mit Flipflop nbsp Dot Extensions eines D Flipflops in einem CPLDDot Extensions Bearbeiten DOT Extensions in ABEL sind ein wichtiges Hilfsmittel um auf internen Signale der im CLPD enthaltenen D Flipflops zuzugreifen Die Abbildung zeigt die am haufigsten genutzten Dot Extensions OE schaltet den Tristate Buffer D ist der Daten Eingang des Flipflops CLK bezeichnet den Takt Eingang des Flipflops AR bezeichnet den asynchronen Rucksetzeingang des Flipflops Q ist der Ausgang des Flipflops Bei internen Flipflops NODE kann nur Q genutzt werden Pin ist das Signal am Ausgangspin Durch Verwendung von OE sind auch bidirektionale Busse moglich Weitere Dot Extensions werden bausteinspezifisch direkt umgesetzt oder emuliert So kann in einem CPLD welches nur D Flipflops enthalt mittels J und K oder R und S das Verhalten eines JK oder RS Flipflops nachgebildet werden Wenn die internen Flipflops des CPLD kein asynchrones Setz Signal AS aufweisen wird bei der Verwendung von AS die Logik des Flipflops invertiert und stattdessen der asynchrone Rucksetzeingang AR genutzt Dabei kann AR und AS nicht gleichzeitig genutzt werden Beispiel Ampelschaltung in ABEL HDL BearbeitenDer folgende Quelltext stellt ein Programm zur einfachen Ampelschaltung dar welches die Ampelphasen rot rot gelb grun gelb rot usw durchlauft 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 amp en q1 q1 q0 amp en q0 clk clk q1 clk clk red q1 yellow q0 green q1 amp q0 TEST VECTORS clk en gt red yellow green repeat 1 C 1 gt X X X repeat 7 C 0 gt X X X repeat 3 C 1 gt X X X repeat 40 C 0 gt X X X ENDWeblinks BearbeitenUniversity of Pennsylvania s ABEL primer Memento vom 7 Februar 2005 im Internet Archive englisch Xilinx ABEL Reference GuideEinzelnachweise Bearbeiten XILINX Completes Purchase Of Software Assets Memento vom 23 April 2000 im Internet Archive PresseerklarungNormdaten Sachbegriff GND 4383423 1 lobid OGND AKS Programmierbare LogikKonzepte ASIC SoC FPGA CLB CPLD EPLD PLA PAL GAL PSoC Reconfigurable Computing Xputer Soft microprocessor Circuit underutilization High level synthesis HardwarebeschleunigungProgrammiertechnik Masken programmiert Antifuse EPROM E PROM Flash SRAMProgrammiersprachen Verilog A AMS VHDL AMS VITAL SystemVerilog DPI SystemC AHDL Handel C PSL UPF PALASM ABEL CUPL OpenVera C to HDL Flow to HDL MyHDL JHDL ELLAHersteller Accellera Actel Achronix AMD Aldec Atmel Cadence Cypress Duolog Forte Intel Altera Lattice National Mentor Graphics Microsemi Signetics Synopsys Magma Virage Logic Texas Instruments Tabula XilinxProdukte Hardware iCE Stratix Cyclone Arria Max Kintex Zynq VirtexSoftware Intel Quartus Prime Xilinx ISE Xilinx Vivado ModelSim VTRIP Proprietar ARC ARM Cortex M PowerPC LEON LatticeMico8 MicroBlaze PicoBlaze Nios Nios IIOpen Source JOP LatticeMico32 OpenCores OpenRISC RISC V Zet Abgerufen von https de wikipedia org w index php title Advanced Boolean Equation Language amp oldid 232181233