Turinys:

VHDL programuojamo pertraukimo valdiklio dizainas: 4 žingsniai
VHDL programuojamo pertraukimo valdiklio dizainas: 4 žingsniai

Video: VHDL programuojamo pertraukimo valdiklio dizainas: 4 žingsniai

Video: VHDL programuojamo pertraukimo valdiklio dizainas: 4 žingsniai
Video: 1.2 Основы языка VHDL. Базовые концепции описания устройств. 2024, Lapkritis
Anonim
VHDL programuojamo pertraukimo valdiklio dizainas
VHDL programuojamo pertraukimo valdiklio dizainas

Esu priblokštas tokių atsakymų, kuriuos gaunu šiame tinklaraštyje. Ačiū vaikinai, kad lankotės mano tinklaraštyje ir paskatinote mane pasidalinti su jumis savo žiniomis. Šį kartą pristatysiu dar vieno įdomaus modulio, kurį matome visuose SOC, dizainą - pertraukimo valdiklį.

Mes sukursime paprastą, bet galingą programuojamą pertraukimo valdiklį. Tai visiškai sukonfigūruojamas ir parametrinis dizainas, kuris yra nešiojamas įvairiose platformose. Sukūriau tai daug perskaitęs apie kai kurias populiarias pertraukimo valdiklių architektūras, tokias kaip NVIC, 8259a, RISC-V PLIC, „Microblaze's INTC“ir tt Tikiuosi, kad jums, vaikinai, šis tinklaraštis bus naudingas ir padės jums suprasti, kaip pertraukimus tvarko procesorius padedant pertraukimo valdikliui.

1 žingsnis: specifikacijos

Toliau pateikiamos IP specifikacijos:

  • AHB3-Lite sąsaja.
  • Statiškai konfigūruojami parametrai:

    • Išorinių pertraukimo šaltinių skaičius; palaiko iki 63 pertraukimų.
    • Prioritetų lygių skaičius; palaiko iki 63 lygių.
    • Lizdavimo lygių skaičius; palaiko iki 8 lizdavimo lygių. 
    • Autobuso plotis; 32 arba 64.
  • Globali ir vietinė maskuojama pertrauka.
  • Dinamiškai konfigūruojamas kiekvieno pertraukimo prioriteto lygis.
  • Du darbo režimai - visiškai įdėtas režimas ir vienodo prioriteto režimas.
  • Palaiko aukšto lygio jautrias pertraukas.

Projektuojant naudojamas RISC-V PLIC specifikacijų įkvėptas pertraukimo rankos paspaudimo mechanizmas.

Nutraukimo išankstinis pirkimas įkvėptas 8259a

Kiti skaitiniai: „Microblaze INTC“, NVIC

2 žingsnis: PIC apžvalga

PIC apžvalga
PIC apžvalga

Programuojamas pertraukimo valdiklis (PIC) gauna kelis pertraukimus iš išorinių išorinių įrenginių ir sujungia juos į vieną pertraukimo išvestį į tikslinį procesoriaus branduolį.

PIC valdomas naudojant valdymo ir būsenos registrus. Visi PIC registrai yra susieti su atmintimi ir prieinami per AHB3-Lite magistralės sąsają.

Registrų banką sudaro konfigūracijos registras, įgalinimo registrai, laukiantys registrai, eksploatuojamų registrai, prioritetų registrai ir ID registras, kurie yra būdingi „Interrupt Controllers“.

Konfigūracijos registras naudojamas PIC veikimo režimui nustatyti. Jis gali veikti visiškai įterptu režimu arba vienodo prioriteto režimu.

Kiekvienam pertraukimui gali būti priskirti prioritetai ir jie gali būti užmaskuoti atskirai. Taip pat palaikomas visiškas visų pertraukų maskavimas.

Registro bankas sąveikauja su „Priority Resolver“ir BTC („Binary-Tree-Comparator“), kad išspręstų laukiančių pertraukų prioritetus ir atitinkamai patvirtintų pertraukimą procesoriui. ID registre yra aukščiausio prioriteto laukiančio pertraukos ID.

3 žingsnis: RTL projektavimas ir diegimas

RTL projektavimas ir diegimas
RTL projektavimas ir diegimas

PIC dizainas pabrėžia prioritetų sprendimo delsos sumažinimą, o tai yra svarbiausia laiko dalis. Kadangi dizainas išsprendžia prioritetus per vieną laikrodžio ciklą, našumas blogėja didėjant šaltinių, kurių sudėtingumas yra Log2, skaičiui.

Dizainas buvo sėkmingai įgyvendintas ir laikas patikrintas iki šių dažnių „Artix-7“FPGA.

  • Iki 15 šaltinių: 100 MHz
  • Iki 63 šaltinių: 50 MHz

Vien tik PIC pridėtas pertraukos vėlavimas yra 3 laikrodžio ciklai (neįskaitant procesoriaus kontekstinio perjungimo laiko ir pirmojo ISR nurodymo gavimo laiko).

4 veiksmas: svarbios pastabos ir pridedami failai

Svarbios pastabos:

  • Jei AHB3-Lite sąsaja nepageidaujama, galite pakeisti viršutinį modulį ir naudoti PIC karkaso dizainą. Tačiau pateiktas bandymų stendas skirtas IP su AHB3-Lite sąsaja.
  • PIC IP v1.0 yra visiškai nešiojamas, plikas RTL dizainas.
  • Funkcionaliai patikrinta, ar veikia abu režimai.

Prisegtos bylos:

  • Dizaino kodai ir bandymo stendas VHDL.
  • Pilna IP dokumentacija.

Tai atviro kodo dizainas … Nesivaržykite naudoti…

Dėl bet kokių klausimų bet kuriuo metu:

Mitu Raj

Rekomenduojamas: