www.mikrocontroller.net

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


Autor: Matthias G. (mgottke)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: SeriousSam (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Matthias G. (mgottke)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: SeriousSam (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.