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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.