Hogyan kell elkezdeni, FPGA

FPGA (PLD) - programozható logikai integrált áramkör (programozható logikai eszközzel)

FPGA (FPGA) - egy mező programozható kapu array (Field Programmed kaputömbbel)

FPGA állnak blokkok és készletek logikai kapuk, a konfiguráció a kapcsolatok, amelyek között lehet beállítani programozásával a mikroáramkör.

Kezdjük egy kis elmélet. FPGA vannak osztva két fő csoportra: CPLD (Complex programozott logikai eszköz) és FPGA (Field Programmed kaputömbbel). CPLD - általában FPGA-osztály „gazdaság”, azaz Ezek az alacsony ár és a viszonylag csekély mennyiségű erőforrást igényel, különösen érezhető a ravaszt. FPGA általában drága, hogy több forrás (egyszerű logika - ravaszt.) És ami a legfontosabb, az elmúlt években több „nehéz” blokkok, mint a szorzók, blokk memória interfész prichindaly (Ethernet, PCI-Express.) És még processzor PowerPC mag. Külön-külön, akkor beszélve egy sor Zinq származó Xilinx - minden ARM mag töltött. A fő különbség a FPGA CPLD van szükség betöltése konfiguráció teljesítmény, és ennek megfelelően, a külső ROM konfiguráció. Még család SPARTAN-3AN rendelkezik fedélzeti ROM beépített BCCH, amelyek közül a rakomány.

Most a legfontosabb dolog: az FPGA eltér a vezérlő és mikor kell alkalmazni őket. Ez az egész nagyon egyszerű: FPGA (hogy azok nélkül harangok és a síp) - van, sőt, a logikája a zsák egyetlen chip, amely lehet csatlakoztatni szabadon: ugyanezen kiváltó, ÉS, VAGY, és hasonló szervezetek, például a K155 sorozat vagy 74NS. A vezérlő ugyanaz -, hogy készen áll a processzor (bár csekély számú csapat), a beépített memória, adatbusz és parancsok, perifériák, stb Általánosságban elmondható, hogy egy nagy FPGA, akkor lehet, hogy egy kis vezérlő, de ez az ötlet, legalább hülye. Így a vezérlő kihegyezett végrehajtása által hosszú láncok parancs, ezek ciklusos ismétlése, kapcsoljon az egyik lánc másik, stb és FPGA végrehajtására kihegyezett egyszerű logikai műveleteket, és fontos, nagy mennyiségű egyszerre (vagy akár más órajel-frekvencia).

Hogyan kell elkezdeni, FPGA

FPGA Xilinx XC95288XL a TQ144 csomag

Térjünk az elmélettől a gyakorlatig. Már a kezdet kezdetén van elég minden CPLD chip. Források szűkösek, de a fejlődés a legtöbb azt. Elviszem XC95288XL a TQ144 csomag (ismét csak elérhető) általában ajánlott, hogy bármit frissebb, például egy sor CoolRunner 2. Ahhoz, hogy a késztermék (még minimálisan villogó LED) van szükségünk: a forrasz hardver (itt Remélem nincs gond, de mégis megemlítem, az árnyalatok), „írás” a firmware-t (ebben az esetben inkább a döntetlen), és varrni fel a firmware-t a chip. Általában kell a szoftvert, firmware generyaschy és programozó. Szoftver (Xilinx ISE Webpack) van hajtva a hivatalos honlapon (bár kérték, hogy jelentkezzen be), az engedély Webpack - ingyen. A programozó lehet tenni séma szerint az 1. ábrán (lásd alább az LPT-port), vagy vásároljon egy USB-soros shny (kínai internetes áruházak találkozott áron körülbelül 50 $, de nem vásárolnak). További információ.

Ábra. 1
(Kattintható nagyításhoz, nyitott egy új ablak)

Miután forrasztott FPGA a fejlesztési fórumon, forrasztott vagy vásárolt programozó, letöltött és telepített ISE Webpack csomagot (Van változat 13,2), elkezd Project Navigator, és hozzon létre egy új projektet. Projekt létrehozásához válassza a Fájl -> Új projekt, fel kell tüntetni a projekt nevét és ahová menteni, akkor adja ki a forrás típusát felső szintű (2. ábra). Az a tény, hogy az FPGA nem feltétlenül felhívni a diagram a flip-flop és azok a vegyületek lehetnek, például hogy írjon a magas szintű nyelvek (VHDL, Verilog) és nem feltétlenül ugyanazon projekten belül, hogy az egyik dolog. Mi csak addig, amíg rajz minden szinten.

Ábra. 2
(Kattintható nagyításhoz, nyitott egy új ablak)

A következő ablakban (. 3. ábra) választani a chip (a többi eleinte ne érintse); A megjelenő ablakban után kattintson a „Tovább” gombra, megcsodálta a paraméterek a projekt által létrehozott, kattintson a „Befejezés” - és már kész is: a projekt jön létre.

Most akkor ténylegesen felhívni a diagram: a jobb gombbal az ablak egy új projekt, és a SOURCE (4. ábra), a neve a forrás neve (a név a rendszer, azok a projekt lehet sok), akkor válassza ki ismét a rajz, kattintson a „Tovább „megcsodálta a paramétereket az újonnan létrehozott fájlt, kattintson a” Befejezés „, és kap egy tiszta mintát.

Ábra. 4
(Kattintható nagyításhoz, nyitott egy új ablak)

Kezdődik a móka: a panelek a bal oldalon (nem a széle), kattintson a gombra „add szimbóluma” (5 ábra)..

Ábra. 5
(Kattintható nagyításhoz, nyitott egy új ablak)

És minél több karaktert a bal oldalon a lista az aktuális könyvtárban. Hogyan adjunk, létrehozni, szerkeszteni könyvtár fogja érteni, akkor (ha szükséges). Most az a fontos, hogy válassza ki a megfelelő karaktert. Tehát a felső ablakban látjuk a selejtező - szűrő, ami nem kell használni (jó, miért végigszaladhat mindenféle kiváltó és logikai elemeket, amikor szükségünk van egy számláló).

Például, vegyük a következő probléma: szükség van, hogy meghatározzuk a lehető legpontosabban a késleltetési idő felfutó élei közötti 2 impulzus megjelenő különböző vezetékek és lefolyó vezérlő által érték SPI interfész. Bármilyen hasonlóság probléma a téma „növelése a működési frekvencia MK” az egyik robot fórum szándékos. Így, a beviteli eszköz 2 impulzus 3 huzalok, és a vezetékek a SPI Controller. még hozzá bemeneti órajel (nem tudjuk, hogy milyen gyakorisággal, akkor csak feltételezik, hogy nem kevesebb, mint 70 MHz). Kezdjük rajz firmware: szükségünk van a kilincsek, amely „fogás” impulzus számláló, shift regiszter (létrehozni őket nem, hogy van egy könyvtár). Melyek a kiváltó okok és számlálók nem írom le, remélem, az olvasók „a téma”, és nincs gond, egyébként meg kell írni néhány cikket. Kapott egy ilyen rendszer (6.), Mint látható, nem feltétlenül húzza ki a vezetéket a termelés a karakter a bejáratnál, csak annyi, hogy hívja a láncot. Ahhoz, hogy olvassa el a külső be- és kimenetek a gomb „hozzáadása I / O Marker”.

Ábra. 6
(Kattintható nagyításhoz, nyitott egy új ablak)

Amikor a kör készen áll, megy a Tervezés lap és dablklikaem végrehajtására, Design - start bármely folyamatok (kezdésként nem számít, milyen - a legfontosabb, hogy minden együtt - ez a forráskód lepárlási folyamat firmware). Amikor minden kész, nézd meg a kirepülnek a tévedésből varningov: minden, ami számít, fix, a többit hagyja. Például, nem kell vezérigazgató és kiadja a TS számláló és a maradék 15 bit párhuzamos kimenet shift regiszter szintén nem szükséges, és varningov panaszkodik. Ha esküszik kirepülnek a hiba, hogy mit akarunk, és ezért szeretnénk valamit, ami nem az. Ha (és szintetizátor) teljesülnek - megcsodáljuk további jelentés: mennyi állami forrásokat fordított, milyen órajellel áll rendelkezésre. Ha minden jól megint, akkor itt az ideje prosimulirovat rendszert, és győződjön meg arról, hogy valóban működik megfelelően a feladathoz. Szimulációs ellenőrzése után a időzítések, azt javasoljuk, hogy végezzen annak a ténynek köszönhető, hogy néha kap a kívánt órajel szükséges, hogy felrázza az egész rendszert, ami természetesen befolyásolja az eredményt.

Tehát szimuláció: a Tervezés lap (a bal oldali csatlakozó) válassza szimuláció (7. ábra).

Ábra. 7
(Kattintható nagyításhoz, nyitott egy új ablak)

A földszinten, a folyamat, hanem a szintetikus eljárások és irányítási folyamatot jelent szimulálása viselkedési modell, dablklikaem rajta - fut a szimulátorban, ahol látjuk jeleket (nem csupán a bemenet-kimenet, hanem köztes) (8. ábra).

Ábra. 8
(Kattintható nagyításhoz, nyitott egy új ablak)

Ábra. 9
(Kattintható nagyításhoz, nyitott egy új ablak)

Ingerlési idő manipulálásával bemenetek és (ha szükséges) a szimulációs lépésben, kapjuk egy idődiagram (ábra. 10).

Ábra. 10
(Kattintható nagyításhoz, nyitott egy új ablak)

Gondoskodunk arról, hogy minden megfelelően működik (vagy hibakeresési áramkör is), és folytassa a következő lépéssel - forgalmazásával be- és kimenetek a lábát a chip. Ehhez egy újabb fájlt forrás (11.), Azaz a végrehajtási korlátok fájl.

Ábra. 11
(Kattintható nagyításhoz, nyitott egy új ablak)

Előírja „pinout chip” (12.), De itt előírja a követelményeket az órajellel. És itt jön a árnyalatok kapcsolódó órajelet. A tény az, hogy az órajelek kell jönnie, hogy az úgynevezett globális vonalak - vonalak futnak a chip, a többi vonalon helyi jellegűek és blokk blokk áthaladnak a kapcsolási logika. A XC95288XL TQ144 chip a 3 házban például vonalak, és össze vannak kapcsolva, hogy a lábak 30, 32, 38. A fennmaradó jel csatlakoztatható a lábak bármely bemeneti-kimeneti (I / O).

Ábra. 12
(Kattintható nagyításhoz, nyitott egy új ablak)

Ismét dablklikaem végrehajtása Design, várjon, olvassa el a megjegyzéseket a témával varningov hogy kirepülnek a hibát és kész pin-jelentések (13. ábra) és az időzítések (ábra. 14); azt látjuk, hogy minden elégedettek vagyunk, és a boldogság formájában file% project_name% .jed.

Ábra. 13
(Kattintható nagyításhoz, nyitott egy új ablak)

Ábra. 14
(Kattintható nagyításhoz, nyitott egy új ablak)

Firmware fájl készen áll. Tegyük fel, hogy a készülék is. Csatlakozás a számítógéphez JTAG kábel és dablklikaem a Beállítás Céleszköz. Kezdés firmware segédprogram (Impact.exe), sőt, lehetséges, hogy korlátozódik csupán annak indít egy gyártásához több eszköz egy sor firmware. Hozzon létre egy új projekt (a projekt applet-proshivalki), lehetővé teszi, hogy automatikusan megtalálja a programozó és a chip csatlakozik, megjelenik a firmware fájlt, és kattintson Program. Bízunk benne, hogy néhány tíz másodpercig, azt látjuk, egy feliratot, hogy minden rendben van - az eszköz készen áll.