Sisukord:
- Samm: spetsifikatsioonid
- 2. samm: ülevaade PIC -ist
- 3. samm: RTL -i kavandamine ja juurutamine
- Samm: olulised märkused ja manustatud failid
Video: Programmeeritava katkestuskontrolleri disain VHDL -is: 4 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
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
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
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:
Lihtsa neljasuunalise assotsiatiivse vahemälu kontrolleri disain VHDL-is: 4 sammu
Lihtsa neljasuunalise komplekti assotsiatiivse vahemälu kontrolleri disain VHDL-is: minu eelmises juhendis nägime, kuidas kujundada lihtne otsene kaardistatud vahemälu kontroller. Seekord liigume sammu edasi. Kavandame lihtsa neljasuunalise assotsiatiivse vahemälu kontrolleri. Eelis? Vähem vahelejäämise määra, kuid perfo hinnaga
Lihtsa vahemälu kontrolleri disain VHDL -is: 4 sammu
Lihtsa vahemälu kontrolleri disain VHDL -is: Kirjutan selle juhendi, sest mul oli veidi raske saada VHDL -viite koodi, et õppida ja alustada vahemälu kontrolleri kujundamist. Nii kujundasin ma vahemälu kontrolleri nullist ja katsetasin seda edukalt FPGA -ga. Mul on p
I2C Masteri disain VHDL -is: 5 sammu
I2C Masteri disain VHDL -is: selles juhendis käsitletakse lihtsa I2C -kapteni kujundamist VHDL -is. MÄRKUS: täieliku pildi nägemiseks klõpsake igal pildil
Programmeeritava toiteallika tutvustus ja õpetus!: 7 sammu
Programmeeritava toiteallika tutvustus! praktiline näide programmeeritavast toiteallikast. Ka kõik, kes on elektroonikast huvitatud, lugege palun läbi
Ghetto programmeeritava loogika (CPLD) arendussüsteem: 13 sammu
Ghetto programmeeritava loogika (CPLD) arendussüsteem: olen viimased kuud nautinud AVR -protsessorite Ghetto arendussüsteemi. Tegelikult on see peaaegu null dollari väärtusega tööriist osutunud nii põnevaks ja kasulikuks, et panin mõtlema, kas oleks võimalik kontseptsiooni laiendada ka F