Forum: FPGA, VHDL & Co. Altera Nios ii 11.1 Interrupt kommt während Multicycle Custom Instruction läuft


von Tomy (Gast)


Lesenswert?

Hallo zusammen,

bin ganz neu beim Thema Altera Nios ii (11.1), hätte gern eine Frage an 
Euch:

Im Docu "Niosii Custom Instruction User Guide" 
http://www.altera.com/literature/ug/ug_nios2_custom_instruction.pdf auf 
der Seite 8 (Table 1–1. Custom Instruction Types, Applications, and 
Hardware Ports) gibt es eine Note für "clk_en"-Port, die lautet:

The clk_en input signal must be connected to the clk_en signals of all 
the registers in the custom instruction, in case the Nios II processor 
needs to stall the custom instruction during execution.

Meine Frage ist:

Wie der Nios-ii sich verhält, wenn (sage ich mal, z.b. mein Custom 
Instruction dauert 10 Cycle) ein Interrupt kommt, während mein Custom 
Instruction gerade schon z.b. 4 Cycle läuft? (also noch 10-4 = 6 Cycle 
bis mein Custom Instruction fertig ist)

Wird der Nios das Signal "clk_en" auf LOW (also inaktiv) zurücksetzt, 
und springt er in ISR. Wenn ISR fertig ist, setzt der NIOS das Signal 
"clk_en" auf HIGH (also wieder aktiv) für 6 restliche Cycles?

vielen Danke für Euche Hilfe!

Lg Tomy

von Marius W. (mw1987)


Lesenswert?

Ich habe zwar noch nie mit Custom Instructions gearbeitet, aber ich kann 
mir nicht vorstellen, dass der NIOS eine Instruktion unterbrechen würde. 
Damit wären Instruktionen ja nicht mehr atomar ausführbar. Deshalb tippe 
ich mal darauf, dass die Instruktion zu Ende ausgeführt wird und dann 
erst in die ISR gesprungen wird.

MfG
Marius

EDIT: Du könntest das Verhalten ja mit einem SignalTAP mal untersuchen. 
Bau dir einfach ein Modul, welches eine Dummy-Instruktion ausführt 
(ruhig auch eine etwas längere) und während der Ausführung einen 
Interrupt auslöst. Dann kannst du analysieren, was der NIOS dann macht.

von Tomy (Gast)


Lesenswert?

danke für deinen Typ, Marius.
ich werde das ausprobieren.

gruß

Tomy

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.