CPLD

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

Complex programmable logic device - összetett programozható logikai eszköz

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 CPLD az IC tokján belül egyszerűbb logikai blokkokból található általában 32...512 db közt valamennyi, továbbá vízszintes és függőleges buszok. Ezek a logikai blokkok be- és kimenő jelvezetékeit a konfigurációs bitek által vezérelt MOSFET-ek segítségével a vízszintes és függőleges buszmátrixot felhasználva tetszőleges sorrendben köthetjük össze.

Minden logikai blokkra elmondható, hogy sokbemenetű bemeneti logikát tartalmaz, majd egy tárolót és egy kis kimenőlogikát. Továbbá az I/O áramköröket a CPLD buszmátrixának szélein, amelyek a valódi lábakat kötik össze a belső buszmátrix megfelelő pontjával. Ez szintén konfigurálható.

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 CPLD-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 CPLD segítségével

CPLD-re 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 bonyolultabb áramkör. Igen hatékony. Általában hamar elérhetjük vele a CPLD határait, ekkor FPGA-ra kell áttérni.

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.