Privacy Policy Cookie Policy Terms and Conditions Advanced Boolean Equation Language - Wikipedia

Advanced Boolean Equation Language

aus Wikipedia, der freien Enzyklopädie

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.

[Bearbeiten] 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

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -