Taula de continguts:

Disseny d'un controlador d'interrupció programable en VHDL: 4 passos
Disseny d'un controlador d'interrupció programable en VHDL: 4 passos

Vídeo: Disseny d'un controlador d'interrupció programable en VHDL: 4 passos

Vídeo: Disseny d'un controlador d'interrupció programable en VHDL: 4 passos
Vídeo: EPLAN 2022. Tutorial 10: Insertar PLC com a símbol E/S. 2024, De novembre
Anonim
Disseny d'un controlador d'interrupció programable en VHDL
Disseny d'un controlador d'interrupció programable en VHDL

Em sorprèn el tipus de respostes que rebo en aquest bloc. Gràcies nois per visitar el meu bloc i motivar-me a compartir el meu coneixement amb vosaltres. Aquesta vegada, presentaré el disseny d’un altre mòdul interessant que veiem a tots els SOCs: Interrupt Controller.

Dissenyarem un controlador d’interrupció programable senzill però potent. És un disseny completament configurable i parametritzat que és portàtil a totes les plataformes. Ho vaig dissenyar després de llegir molt sobre algunes arquitectures populars de controladors d’interrupcions, com NVIC, 8259a, RISC-V PLIC, INTC de Microblaze, etc. amb l'ajuda d'un controlador d'interrupció.

Pas 1: especificacions

A continuació es detallen les especificacions de la IP:

  • Interfície AHB3-Lite.
  • Paràmetres configurables estàticament:

    • Nombre de fonts d’interrupció externa; admet fins a 63 interrupcions.
    • Nombre de nivells de prioritat; admet fins a 63 nivells.
    • Nombre de nivells de nidificació; suporta fins a 8 nivells de nidificació. 
    • Amplada del bus; 32 o 64.
  • Interrupcions emmascarables a nivell mundial i local.
  • Nivell de prioritat configurable dinàmicament per a cada interrupció.
  • Dos modes de funcionament: el mode totalment imbricat i el mode de prioritat igual.
  • Admet interrupcions sensibles d’alt nivell actiu.

Les especificacions RISC-V PLIC s’utilitzen en el disseny amb mecanismes d’interrupció de mans d’interrupció inspirats.

La prelació preventiva s’inspira a partir de 8259a

Altres lectures: Microblaze INTC, NVIC

Pas 2: Visió general de PIC

Visió general de PIC
Visió general de PIC

El controlador d'interrupció programable (PIC) rep diverses interrupcions de perifèrics externs i les fusiona en una única sortida d'interrupció a un nucli de processador de destinació.

El PIC es controla a través de registres de control i estat. Tots els registres PIC estan assignats a la memòria i s’accedeix a través de la interfície de bus AHB3-Lite.

El banc de registres consta de registres de configuració, registres d’habilitació, registres pendents, registres en servei, registres de prioritats i registres d’ID, que són típics als controladors d’interrupció.

El registre de configuració s’utilitza per establir el mode de funcionament del PIC. Pot funcionar en mode totalment imbricat o en mode de prioritat igual.

A cada interrupció se li poden assignar prioritats i emmascarar-se individualment. També s’admet l’emmascarament global de totes les interrupcions.

El banc de registre interactua amb Priority Resolver i BTC (Binary-Tree-Comparator) per resoldre les prioritats de les interrupcions pendents i afirmar la interrupció al processador en conseqüència. El registre d'identificació conté l'identificador de la interrupció pendent de màxima prioritat.

Pas 3: Disseny i implementació de RTL

Disseny i implementació de RTL
Disseny i implementació de RTL

El disseny de PIC posa èmfasi en la reducció de la latència de resolució de prioritats, que és la part més important en el temps del disseny. Atès que el disseny resol les prioritats en un sol cicle de rellotge, el rendiment es degrada amb l'augment del nombre de fonts amb una complexitat de Log2.

El disseny es va implementar amb èxit i es va verificar el temps fins a les freqüències següents en els FPGA Artix-7.

  • Fins a 15 fonts: 100 MHz
  • Fins a 63 fonts: 50 MHz

La latència d'interrupció afegida només per PIC és de 3 cicles de rellotge (excloent el temps de canvi de context del processador i el primer temps de recuperació d'instruccions ISR).

Pas 4: Notes importants i fitxers adjunts

Notes importants:

  • Si la interfície AHB3-Lite no és desitjable, podeu canviar el mòdul superior i utilitzar el disseny esquelètic de PIC. Tanmateix, el banc de proves proporcionat és per a IP amb interfície AHB3-Lite.
  • PIC IP v1.0 és un disseny RTL completament portàtil.
  • Verificat funcionalment per funcionar en ambdós modes.

Fitxers adjunts:

  • Codis de disseny i banc de proves en VHDL.
  • Documentació IP completa.

És un disseny de codi obert … No dubteu a utilitzar-lo …

Per a qualsevol consulta, en qualsevol moment:

Mitu Raj

Recomanat: