Forum: FPGA, VHDL & Co. AIC für NIOS?


von Matthias G. (mgottke)


Lesenswert?

Hallo zusammen,

Interrupts sind beim NIOS ja eine einzige Katastrophe, zumal wenn man 
zwingend viele benötigt. Hat jemand mal so ne Art AIC (Advanced 
Interrupt Controller) für den NIOS gesehen? Meine Recherchen ergaben 
leider keine brauchbaren Ergebnisse.

von SeriousSam (Gast)


Lesenswert?

Wieviele Interrupts benötigst du denn? Bis 32 sollte mit dem NIOS II 
ohne grossen Aufwand möglich sein und wenn du den Accelerator fürs 
vectoring einbaust ist es auch nicht allzu langsam. Auf Softwareseite 
kannst du auch noch einiges tunen, wenn du weisst wo. (Interrupt entry, 
separater stack, ...) Wenn du mehr Interrupts brauchst solltest du dir 
eventuell etwas intelligenteres einfallen lassen mit etwas zusätzlicher 
Hardware.
Was sollte den so ein AIC überhaupt alles machen?

von Matthias G. (mgottke)


Lesenswert?

>> Accelerator << ist im Zusammenhang bei Altera relativ. Da braucht ein Interrupt 
statt den 105 Taktzyklennur noch etwa die Hälfte.
Die Gesamtanzahl ist nicht das Problem, derzeit sind es etwa 15-17 
Interrupts, die aber nur zum Teil genutzt werden. Bei Zykluszeiten von 
10µs schmerzen aber die benötigten Takte pro Interrupt trotzdem.
Alles was richtig "speed" bringt hilft.
Properitäre Lösungen wie "separater Stack" etc. führen in komplexen 
Designs meist zu Problemen. Davon würden wir gerne absehen.

von SeriousSam (Gast)


Lesenswert?

Du hast immer noch nicht gesagt, was du von einem AIC erwartest. Wie 
werden denn die Interrupts behandelt? Arbeitet ihr mit dem HAL-Framework 
von Altera und Interruptroutinen in C? Sind eventuell verschachtelte 
Interrupts möglich? Da muss der Compiler gezwungenermassen den ganzen 
Status sichern und das braucht Zeit. (Mit Spezialinstruktionen kann ich 
mir 2 Register pro Takt vorstellen. Was es sonst noch braucht weiss ich 
nicht genau. Der Exceptionentry müsste dann selber geschrieben werden.)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.