Sisukord:

Programmeeritava katkestuskontrolleri disain VHDL -is: 4 sammu
Programmeeritava katkestuskontrolleri disain VHDL -is: 4 sammu

Video: Programmeeritava katkestuskontrolleri disain VHDL -is: 4 sammu

Video: Programmeeritava katkestuskontrolleri disain VHDL -is: 4 sammu
Video: Altium koolitus 14.02.2021 - programmeeritav RGB LED trükkplaat 2024, November
Anonim
Programmeeritava katkestuskontrolleri disain VHDL -is
Programmeeritava katkestuskontrolleri disain VHDL -is

Olen üllatunud, milliseid vastuseid ma siin blogis saan. Tänan poisid, et külastasite minu ajaveebi ja motiveerisite mind teiega oma teadmisi jagama. Seekord tutvustan veel ühe huvitava mooduli kujundust, mida näeme kõigis SOC -des - katkestuskontroller.

Kavandame lihtsa, kuid võimsa programmeeritava katkestuskontrolleri. See on täielikult konfigureeritav ja parameetritega kujundus, mida saab platvormidel kaasas kanda. Ma kujundasin selle pärast seda, kui olin palju lugenud mõnda populaarset katkestuskontrolleri arhitektuuri, näiteks NVIC, 8259a, RISC-V PLIC, Microblaze's INTC jne. Loodetavasti leiate sellest ajaveebist abi ja saate aimu selle kohta, kuidas katkestusi protsessor käsitleb. katkestuskontrolleri abiga.

Samm: spetsifikatsioonid

IP -spetsifikatsioonid on järgmised:

  • AHB3-Lite liides.
  • Staatiliselt konfigureeritavad parameetrid:

    • Väliste katkestusallikate arv; toetab kuni 63 katkestust.
    • Prioriteeditasemete arv; toetab kuni 63 taset.
    • Pesitsusastmete arv; toetab kuni 8 pesastamistaset. 
    • Bussi laius; 32 või 64.
  • Ülemaailmselt ja lokaalselt maskeeritavad katkestused.
  • Dünaamiliselt seadistatav prioriteeditase iga katkestuse jaoks.
  • Kaks töörežiimi - täielikult pesastatud režiim ja võrdse prioriteediga režiim.
  • Toetab aktiivseid kõrgetasemelisi tundlikke katkestusi.

Kujunduses kasutatakse RISC-V PLIC spetsifikatsioonidest inspireeritud katkestuskäepigistusmehhanismi.

Katkestamise eeltingimused on inspireeritud 8259a-st

Muud loendid: Microblaze INTC, NVIC

2. samm: ülevaade PIC -ist

Ülevaade PIC -ist
Ülevaade PIC -ist

Programmeeritav katkestuskontroller (PIC) võtab mitu katkestust välisseadmetelt ja ühendab need üheks katkestusväljundiks sihtprotsessori tuuma.

PIC -d juhitakse kontrolli- ja olekuregistrite kaudu. Kõik PIC-registrid on mälukaardistatud ja neile pääseb juurde AHB3-Lite siiniliidese kaudu.

Registripank koosneb konfiguratsiooniregistrist, lubatud registritest, pooleliolevast registrist, kasutuses olevast registrist, prioriteediregistrist ja ID-registrist, mis on tüüpilised katkestuskontrolleritele.

Konfiguratsiooniregistrit kasutatakse PIC -i töörežiimi määramiseks. See võib töötada kas täielikult pesastatud või võrdse prioriteediga režiimis.

Igale katkestusele saab määrata prioriteedid ja need saab eraldi varjata. Samuti toetatakse kõigi katkestuste ülemaailmset maskeerimist.

Registripank suhtleb Priority Resolveri ja BTC-ga (Binary-Tree-Comparator), et lahendada ootel olevate katkestuste prioriteedid ja kinnitada katkestus vastavalt protsessorile. ID -register sisaldab kõrgeima prioriteediga ootel oleva katkestuse ID -d.

3. samm: RTL -i kavandamine ja juurutamine

RTL projekteerimine ja juurutamine
RTL projekteerimine ja juurutamine

PICi disain rõhutab prioriteetide lahendamise latentsuse vähendamist, mis on disaini kõige ajakriitilisem osa. Kuna disain lahendab prioriteedid ühe taktsükli jooksul, halveneb jõudlus koos Log2 keerukusega allikate arvu suurenemisega.

Disain viidi edukalt ellu ja ajastust kontrolliti kuni järgmiste sagedusteni Artix-7 FPGA-del.

  • Kuni 15 allikat: 100 MHz
  • Kuni 63 allikat: 50 MHz

Ainuüksi PIC -i poolt lisatud katkestuse latentsus on 3 taktsüklit (välja arvatud protsessori kontekstivahetuse aeg ja esimene ISR -käskude toomise aeg).

Samm: olulised märkused ja manustatud failid

Olulised märkused:

  • Kui AHB3-Lite liides pole soovitud, saate ülemist moodulit vahetada ja kasutada PIC-i skeleti kujundust. Pakutav testpink on aga mõeldud IP-le koos AHB3-Lite liidesega.
  • PIC IP v1.0 on täiesti kaasaskantav, paljas RTL -disain.
  • Funktsionaalselt kontrollitud, et töötada mõlemas režiimis.

Lisatud failid:

  • Disainikoodid ja testpink VHDL -is.
  • Täielik IP dokumentatsioon.

See on avatud lähtekoodiga disain… Kasutage julgelt…

Küsimuste korral igal ajal:

Mitu Raj

Soovitan: