FPGA

Innen: HamWiki
Ugrás a navigációhoz Ugrás a kereséshez

Field Programmable Gate Array - programozható logikai kapuk

Mire használható?

A digitális IC-kkel (pl. 74xx, 40xxx történő áramkörépítés egy bizonyos feladat bonyolultság után reménytelennek tűnt, ezért elgondolkoztak IC tervező mérnökök valami praktikus megoldáson. Ennek sokadik lépcsője után napjainkban két igen kellemes programozható logikai áramkört használunk:

Az FPGA az IC tokján belül akár milliós nagyságrendű logikai kapuból áll és sok-sok vízszintes és függőleges elrendezésű vezetőből áll. A logikai kapuk összekötözése konfigurációs bitek segítségével fixen be- vagy kikapcsolt MOSFET-ek segítségével történik.

A gyakorlatban az áramkörtervezés azonban nem a konfigurációs bitek kitalálásáról szól, ennél sokkal egyszerűbb.

NYÁK tervezés FPGA-s áramkör céljára

  • Legelső lépésként a NYÁK-on kössük be a dedikált lábakat (tápfeszültségek, globális órajel, ...)
  • Folytatásként pedig az általános I/O lábakat oly módon, hogy a NYÁK rajzolat minél egyenesebb legyen.
  • Ezzel párhuzamosan az elkészített bonyolult logikai áramkörünket egészítsük ki jel-lábszám összepárosítással. Azaz a kusza NYÁK helyett a szilíciumlapkán végeztük el az össze-vissza kötözgetést.

Amiről nem esett szó, a bonyolult logikai áramkörünk elkészítése. De alább erről is szó lesz.

Áramkörtervezés FPGA segítségével

FPGA-ra az áramkört többféleképpen lehet tervezni.

  • Klasszikus módszer, kapcsolási rajz. Csak kisebb bonyolultságú áramkörökhöz ajánlott. Segítségként a teljes TTL IC paletta szimbolikusan rendelkezésünkre áll, azaz csak monitoron össze kell kötözni a 7493-as számlálót a 7400-ás NAND kapukat tartalmazó IC megfelelő lábaival.
  • Verilog vagy VHDL áramkör leíró nyelven. Ezzel a módszerrel készül az összes bonyolult áramkör. Igen hatékony.

Megjegyzés: az áramkörleíró nyelv és a programnyelv között ugyan nyelvi szintaktikában hasonlóságok felfedezhetők, de teljesen más. Például egy for(i=0; i<32; i++) ciklus a processzornál 32 alkalommal való ciklusfuttatást jelent, áramkör leíró nyelvnél az ehhez hasonló kifejezés 32 db jelvezeték fix implementálását jelenti a leíró ciklusban foglalt logikai szabályok alapján.