Sisällysluettelo:

Ohjelmoitavan keskeytysohjaimen suunnittelu VHDL: ssä: 4 vaihetta
Ohjelmoitavan keskeytysohjaimen suunnittelu VHDL: ssä: 4 vaihetta

Video: Ohjelmoitavan keskeytysohjaimen suunnittelu VHDL: ssä: 4 vaihetta

Video: Ohjelmoitavan keskeytysohjaimen suunnittelu VHDL: ssä: 4 vaihetta
Video: Siemens LOGO! ohjelman esittely 2024, Marraskuu
Anonim
Ohjelmoitavan keskeytysohjaimen suunnittelu VHDL: ssä
Ohjelmoitavan keskeytysohjaimen suunnittelu VHDL: ssä

Olen hämmästynyt siitä, millaisia vastauksia saan tästä blogista. Kiitos kaverit vierailustani blogissani ja kannustivat minua jakamaan tietoni kanssanne. Tällä kertaa aion esitellä toisen mielenkiintoisen moduulin suunnittelun, jonka näemme kaikissa SOC -järjestelmissä - keskeytysohjain.

Suunnittelemme yksinkertaisen mutta tehokkaan ohjelmoitavan keskeytyksen ohjaimen. Se on täysin konfiguroitava ja parametroitu muotoilu, joka on kannettava eri alustoilla. Suunnittelin tämän lukiessani paljon joitakin suosittuja keskeytysohjaimen arkkitehtuureja, kuten NVIC, 8259a, RISC-V PLIC, Microblaze's INTC jne. keskeytysohjaimen avulla.

Vaihe 1: Tekniset tiedot

IP -tiedot ovat seuraavat:

  • AHB3-Lite-käyttöliittymä.
  • Staattisesti konfiguroitavat parametrit:

    • Ulkoisten keskeytyslähteiden määrä; tukee jopa 63 keskeytystä.
    • Prioriteettitasojen määrä; tukee jopa 63 tasoa.
    • Pesimistasojen määrä; tukee jopa 8 pesintätasoa. 
    • Väylän leveys; 32 tai 64.
  • Maailmanlaajuisesti ja paikallisesti peitetyt keskeytykset.
  • Dynaamisesti konfiguroitava prioriteettitaso kullekin keskeytykselle.
  • Kaksi toimintatilaa - täysin sisäkkäinen tila ja yhtä tärkeystila.
  • Tukee aktiivisen korkean tason herkkiä keskeytyksiä.

Suunnittelussa käytetään RISC-V PLIC -määritysten innoittamaa keskeytyskäden kättelymekanismia.

Keskeytysosto on saanut inspiraationsa 8259a: sta

Muita lukuja: Microblaze INTC, NVIC

Vaihe 2: PIC -yleiskatsaus

Katsaus PIC: hen
Katsaus PIC: hen

Ohjelmoitava keskeytysohjain (PIC) vastaanottaa useita keskeytyksiä ulkoisilta oheislaitteilta ja yhdistää ne yhteen keskeytyslähtöön kohdeprosessorin ytimeen.

PIC: tä ohjataan valvonta- ja tilarekisterien kautta. Kaikki PIC-rekisterit on kartoitettu muistiin ja niihin pääsee AHB3-Lite-väyläliitännän kautta.

Rekisteripankki koostuu kokoonpanorekisteristä, käyttöönottorekistereistä, vireillä olevista rekistereistä, käytössä olevista rekistereistä, ensisijaisuusrekistereistä ja henkilörekisteristä, jotka ovat tyypillisiä keskeytysohjaimille.

Konfigurointirekisteriä käytetään PIC: n toimintatilan asettamiseen. Se voi toimia joko täysin sisäkkäisessä tilassa tai yhtä tärkeänä.

Jokaiselle keskeytykselle voidaan määrittää prioriteetit ja peittää yksilöllisesti. Myös kaikkien keskeytysten maailmanlaajuista peittämistä tuetaan.

Rekisteripankki on vuorovaikutuksessa Priority Resolverin ja BTC: n (Binary-Tree-Comparator) kanssa ratkaistakseen odottavien keskeytysten prioriteetit ja vaatiakseen keskeytyksen prosessorille vastaavasti. ID -rekisteri sisältää korkeimman prioriteetin odottavan keskeytyksen tunnuksen.

Vaihe 3: RTL -suunnittelu ja toteutus

RTL -suunnittelu ja toteutus
RTL -suunnittelu ja toteutus

PIC: n suunnittelussa painotetaan prioriteettien ratkaisemisen viiveen vähentämistä, mikä on suunnittelun aikakriittisin osa. Koska suunnittelu ratkaisee prioriteetit yhdessä kellosyklissä, suorituskyky heikkenee Log2 -monimutkaisien lähteiden määrän kasvaessa.

Suunnittelu toteutettiin onnistuneesti ja ajoitus varmistettiin seuraaviin taajuuksiin Artix-7 FPGA -laitteissa.

  • Jopa 15 lähdettä: 100 MHz
  • Jopa 63 lähdettä: 50 MHz

Pelkästään PIC: n lisäämä keskeytysviive on 3 kellojaksoa (lukuun ottamatta prosessorin kontekstikytkentäaikaa ja ensimmäistä ISR -käskyn noutoaikaa).

Vaihe 4: Tärkeitä huomautuksia ja liitetiedostoja

Tärkeät muistiinpanot:

  • Jos AHB3-Lite-käyttöliittymä ei ole toivottu, voit vaihtaa ylämoduulin ja käyttää PIC: n runkorakennetta. Kuitenkin toimitettu testipenkki on tarkoitettu IP: lle, jossa on AHB3-Lite-liitäntä.
  • PIC IP v1.0 on täysin kannettava, paljas RTL -malli.
  • Toiminnallisesti vahvistettu toimimaan molemmissa tiloissa.

Liitetyt tiedostot:

  • Suunnittelukoodit ja koepenkki VHDL -muodossa.
  • Täysi IP -dokumentaatio.

Se on avoimen lähdekoodin muotoilu… Käytä vapaasti…

Jos sinulla on kysyttävää, milloin tahansa:

Mitu Raj

Suositeltava: