A processzor a plisben nagyon egyszerű!

Az FPGA processzora nagyon egyszerű!
- itt tiszta előkészítés és szerkesztés van -

Előszó vagy egy kis dalszöveg.
A modern elektronika már régóta átlépte ezt a küszöbértéket, amikor összetett rendszerek a hatalmas csapatok és a komoly pénzügyi befektetések erőfeszítéseit követelték. Most, amikor vannak programozható logikai integrált áramkörök (FPGA-k), a fejlesztés olyan egyszerűvé vált, hogy egy mérnök erőinek órák alatt bonyolult sémákat hozhatnak létre.







Itt bemutatom az ilyen fejlesztéseket, amelyek megmutatják, hogyan tudhatja a processzorokat az FPGA-kban. És mutassam meg, milyen egyszerű a digitális elektronikai fejlesztés korszerű szintjén.

E cikk nem, hogy a „minimum”, „optimális”, „jobb”, vagy akár valamilyen más extra funkciók a processzor, és a képviselet elvének építése és az építőipar egyes bázisok, amelyek alkalmasak lehetnek az építési más processzorok és a végrehajtás edények programozók amely talán csak fél, hogy olyan összetett szférát érint, mint a processzorgyártás.

1. Mi az a processzor? A válasz erre a kérdésre, mint kiderül, nem annyira egyszerű. Ha az internethez fordul, akkor sok olyan választ fog kapni a leíró tervhez, amelyben nem egy csepp a processzor lényege? És hogyan lehet megkülönböztetni a processzort egy másik rendszertől? És vajon meg kell-e keresni ezt a különbséget? Felejtsük el mindezt, és próbáljunk választ adni a digitális elektronika tekintetében.

A processzorok sok tulajdonsággal rendelkeznek, de az egyik legfontosabb a processzor bizonyos műveletprogramjának végrehajtási képessége. És ebben az értelemben a processzor a végrehajtó eszköz a programok végrehajtására. A definíció szempontjából a processzor bármi lehet. És mechanikus, elektromos és hidraulikus.

Azonban ebben az esetben csak egyfajta processzor érdekel. Ez egy digitális digitális processzor. Ha megérted a digitális elektronikus processzorokat, és a kezdetektől kezdve, a létrehozásuk történetével kezdve, hamar világossá válik, hogy egy ilyen processzor bizonyos típusú digitális elemekből áll. Nevezetesen logikai rendszerek és regiszterek terjesztése, amelyek viszont triggers (általában D-típusú) -ból állnak. Lépésről lépésre, az ilyen rendszerek válogatása bizonyos következtetésekhez vezethet.

Nevezetesen: A processzor egy digitális elektronikus áramkör, amely egy véges állapotú gép, amely digitális kódokkal írt program végrehajtására szolgál.

Ez a definíció az alapja az e cikkben leírt fejlődésnek.

2. Véges állapotú automata A véges automata (CA) és az építés elmélete a szakirodalomban és az interneten nagyon könnyű. Itt nincs válasz ezekre a kérdésekre. Itt csak fontos, hogy az elektronikus digitális véges állapotú gép egyik formája a következő:






1. ábra.

Az űrjármű stabil működéséhez szükséges, hogy az áramkör logikai részének működési ideje kisebb legyen, mint a CLK bemenetre érkező szinkronimpulzusok időszaka. Ez a megjegyzés a jövőben fontos lesz.

3. A processzor folyamat leírása A processzor leírása olyan áramkör, amely különböző módon ábrázolható. Ismerős folyamatábra a CPU nem jól illeszkedik a mérnökök, hiszen minden az ő szerkesztéshez, ha szükséges, vezethet bizonyos nehézségek. Ahhoz, hogy elkerüljük ezeket a nehézségeket dolgoztak hardver leíró nyelv (HDL), amelyek lehetővé teszik, nem csak bőségesen ismerteti a rendszer a CPU, de ez könnyű korrigálni, hiszen a korrekció az a dokumentum szövege sokkal könnyebb, mint a grafika.

Ebben a cikkben az Alter HDL-AHDL-t fogják használni, és az Alter CAD-Quartus II-ben tesztelik. Kívánt esetben a kód könnyen átolvasható a VHDL-be az átláthatóság és az alkalmazott tervek egyszerűsége miatt.

4. összetevői a processzor beszélni, amely regisztrálja milyen feladatokat látnak el, és pontosan hogyan csatlakozik a pillanatban nem (mondjuk erről alább). A teljes processzorregiszter egy nagy nyilvántartás, amelyet BigRegisternek hívunk. És, az 1. ábra szerint, a feldolgozó áramkör (amely egy állami gép), tartalmaznia kell, kivéve a „big regiszter” egy bizonyos logika magot, amely az úgynevezett LogicKernel. A processzornak nincs más része. A külső eszközök bemenetei és kimenetei a LogicKernelben találhatók, és a BigRegister csak a processzor belső regisztereit tartalmazza. A LogicKernel, persze, senki sem megáll közvetlenül csatlakozhat az a regiszter vagy bemenetére kerül a többi nyilvántartás adatainak a központi logikai bemenettel, így az 1. ábrán, és megmutatja a lehetséges bejelentkezik a be- és kimenetek. Nyilvánvaló, hogy ezek a nagy nyilvántartás indítói közé tartoznak, ha szükségesek.

Ezekkel a kijelentésekkel összeállítjuk a processzor felső hierarchikus elemét az AHDL nyelven:

Ez egy nagyon általánosított processzorrendszer, amely személytelen bemenetekkel és kimenetekkel rendelkezik. Az igazi sémában a bemenetek és a kimenetek speciális neveket és gumiabroncs-szélességi paramétereket kapnak. Megjegyzés Csak a be- és kimenetek csatlakozó áramkörök regisztrálni a CPU modul elemzi azonosan és bemenetek előzi szimbólum „i”, és kiadja a jel „o”. Az AHDL esetében ezek a karakterek csak egy része a neveknek, és nem jelentenek semmit. Lehetőség van például a nyilvántartásban nevét be- és kimenetek vannak cserélve, majd leírja az utolsó öltés az azonos nevű fog kapcsolódni a logikus következtetéseket mag és a nagy nyilvántartásba. Bizonyos esetekben ez kényelmes lehet, de itt egy másik ötlet alkalmazható. Az ötlet az, hogy a programozónak képesnek kell lennie arra, hogy minél jobban megértse, mi kapcsolódik ahhoz, ahol. Minden bemenet az 'i' szimbólummal kezdődik, a kimenetek pedig az 'o' szimbólummal.

A regiszterek a következők:

I / O processzor készlet:

Ezekkel az ötletekkel összhangban a felső projektfájlt szerkesztjük:

Az ember nem készít egy nagy regisztrálni egy külön fájlban, hogy írjon minden eleme a legmagasabb szintű fájlt, de ez nem történik meg szándékosan a további összpontosít módosítása a processzor egy egymagos többmagos kiviteli formában, amelyben nyilvántartja elválasztás és a logika alapvető fontosságú.

A logikai kernelfájl kezdete:

5. Logikai mag A processzor logikai magja különös figyelmet igényel, így az előző bekezdésben szereplő logikai mag forrásszövege megszűnt "a legérdekesebb helyen".

Először is hadd emlékeztessem, hogy van egy logikai mag - ez pusztán kombinartornaya rendszer, ami azt jelenti, hogy abban a részében, az áramköri elemeket nincs kiváltó és kilincsek. Az FPGA struktúráját leíró összes elem is kizárt. Minden mag megvalósítását a „kiszolgáltatva a fordítóprogram”, és az elemek, amelyek kizárólag bizonyos gumiabroncsok, amelyek alkalmasak a leírás a rendszer, és nem szükséges, hogy jelen legyen az FPGA közvetlenül. Igen, ez nem feltétlenül szükséges.

A logikai kernel sémájának elemei:
A választás a mi gumiabroncsok hívni ebben a fejezetben teljes egészében a fejlesztő, és nincs különleges jelentősége a lényege ennek a cikknek, ezért itt egy konkrét magyarázat nélkül, hogy miért ezeket a gumikat választják leírni.

A logikai leírás szekciója: