Programozható megszakításvezérlő tervezése VHDL -ben: 4 lépés
Programozható megszakításvezérlő tervezése VHDL -ben: 4 lépés
Anonim
Programozható megszakításvezérlő tervezése VHDL -ben
Programozható megszakításvezérlő tervezése VHDL -ben

Lenyűgöznek azok a válaszok, amelyeket ebben a blogban kapok. Köszönöm srácok, hogy meglátogatták a blogomat, és motiváltak, hogy megosszam veletek tudásomat. Ezúttal egy másik érdekes modul tervét mutatom be, amelyet minden SOC -ban látunk - Interrupt Controller.

Egy egyszerű, mégis hatékony programozható megszakításvezérlőt tervezünk. Ez egy teljesen konfigurálható és paraméterezett kialakítás, amely platformokon keresztül hordozható. Ezt azután terveztem, hogy sokat olvastam néhány népszerű megszakításvezérlő architektúrán, mint például az NVIC, 8259a, RISC-V PLIC, a Microblaze INTC stb. megszakításvezérlő segítségével.

1. lépés: Specifikációk

Az IP specifikációi a következők:

  • AHB3-Lite interfész.
  • Statikusan konfigurálható paraméterek:

    • Külső megszakító források száma; 63 megszakítást támogat.
    • Prioritási szintek száma; 63 szintet támogat.
    • Fészkelési szintek száma; akár 8 szintű fészkelést támogat. 
    • Busz szélessége; 32 vagy 64.
  • Globálisan és lokálisan maszkolható megszakítások.
  • Dinamikusan konfigurálható prioritási szint minden megszakításhoz.
  • Két működési mód - teljesen beágyazott és egyenlő prioritású mód.
  • Támogatja az aktív, magas szintű érzékeny megszakításokat.

A tervezés során a RISC-V PLIC specifikációk által ihletett megszakító kézfogó mechanizmust alkalmazzák.

A megszakítás elővásárlását a 8259a ihlette

További olvasmányok: Microblaze INTC, NVIC

2. lépés: A PIC áttekintése

A PIC áttekintése
A PIC áttekintése

A programozható megszakításvezérlő (PIC) több megszakítást fogad a külső perifériáktól, és egyesíti azokat egyetlen megszakítási kimenetben a célprocesszor magjához.

A PIC vezérlése vezérlő- és állapotregisztereken keresztül történik. Minden PIC regiszter memórialeképezett, és az AHB3-Lite busz interfészen keresztül érhető el.

A nyilvántartó bank a megszakításvezérlőkre jellemző konfigurációs nyilvántartásból, engedélyező regiszterekből, függőben lévő nyilvántartásokból, üzemi nyilvántartásokból, elsőbbségi regiszterekből és azonosító regiszterekből áll.

A konfigurációs regiszter a PIC működési módjának beállítására szolgál. Teljesen beágyazott vagy egyenlő prioritású módban is működhet.

Minden megszakításhoz hozzárendelhetők prioritások és egyedileg maszkolható. Az összes megszakítás globális maszkolása is támogatott.

A nyilvántartó bank kölcsönhatásba lép a Priority Resolverrel és a BTC-vel (Binary-Tree-Comparator), hogy megoldja a függőben lévő megszakítások prioritásait, és ennek megfelelően érvényesítse a megszakítást. Az azonosító regiszter tartalmazza a legmagasabb prioritású megszakítás függvényében az azonosítót.

3. lépés: RTL tervezés és megvalósítás

RTL tervezés és megvalósítás
RTL tervezés és megvalósítás

A PIC tervezése a prioritások megoldásának késleltetésének csökkentésére helyezi a hangsúlyt, ami a tervezés legidőigényesebb része. Mivel a tervezés egyetlen órajelciklusban oldja meg a prioritásokat, a teljesítmény romlik a Log2 komplexitású források számának növekedésével.

A tervezést sikeresen végrehajtották, és az időzítést a következő frekvenciákig ellenőrizték az Artix-7 FPGA-n.

  • Akár 15 forrás: 100 MHz
  • Akár 63 forrás: 50 MHz

Csak a PIC által hozzáadott megszakítási késleltetés 3 óra ciklus (kivéve a processzor kontextusváltási idejét és az első ISR utasítás lekérési idejét).

4. lépés: Fontos megjegyzések és csatolt fájlok

Fontos jegyzetek:

  • Ha az AHB3-Lite interfész nem kívánatos, megváltoztathatja a felső modult, és használhatja a PIC vázszerkezetét. A mellékelt tesztpad azonban IP-hez készült, AHB3-Lite interfésszel.
  • A PIC IP v1.0 teljesen hordozható, csupasz RTL kialakítás.
  • Funkcionálisan igazolt, hogy mindkét módban működik.

Csatolt fájlok:

  • Tervezési kódok és tesztpad VHDL -ben.
  • Teljes IP dokumentáció.

Ez egy nyílt forráskódú kivitel… Nyugodtan használhatja…

Bármilyen kérdés esetén, bármikor:

Mitu Raj

Ajánlott: