altera Nios V Embedded Prozessor
Technische Daten
- Produktname: Nios V Prozessor
- Software Compatibility: Quartus Prime Software and Platform Designer
- Prozessortyp: Altera FPGA
- Speichersystem: Flüchtiger und nichtflüchtiger Speicher
- Kommunikationsschnittstelle: UART-Agent
Nios V Processor Hardware System Design
To design the Nios V Processor hardware system, follow these steps:
- Create Nios V Processor system design using Platform Designer.
- Integrieren Sie das System in das Quartus Prime-Projekt.
- Design memory system including volatile and non-volatile memory.
- Implementieren Sie bewährte Methoden zum Zurücksetzen von Uhren und Zurücksetzen.
- Weisen Sie für einen effizienten Betrieb Standard- und UART-Agenten zu.
Nios V Processor Software System Design
So entwerfen Sie das Softwaresystem für den Nios V-Prozessor:
- Folgen Sie dem Softwareentwicklungsablauf für den Nios V-Prozessor.
- Create Board Support Package Project and Application Project.
Nios V Processor Configuration and Booting Solutions
Zum Konfigurieren und Booten des Nios V-Prozessors:
- Understand the introduction to configuration and booting solutions.
- Verknüpfen Sie Anwendungen für einen reibungslosen Betrieb.
About the Nios® V Embedded Processor
1.1. Altera® FPGA und Embedded-Prozessoren überview
Altera FPGA-Geräte können Logik implementieren, die als vollständiger Mikroprozessor funktioniert und gleichzeitig viele Optionen bietet.
Ein wichtiger Unterschied zwischen diskreten Mikroprozessoren und Altera FPGA besteht darin, dass die Altera FPGA-Struktur beim Einschalten keine Logik enthält. Der Nios® V-Prozessor ist ein Soft Intellectual Property (IP)-Prozessor basierend auf der RISC-V-Spezifikation. Bevor Sie Software auf einem Nios V-basierten System ausführen, müssen Sie das Altera FPGA-Gerät mit einem Hardwaredesign konfigurieren, das einen Nios V-Prozessor enthält. Sie können den Nios V-Prozessor je nach Designanforderungen an beliebiger Stelle auf dem Altera FPGA platzieren.
Damit sich Ihr Altera® FPGA IP-basiertes Embedded-System wie ein diskretes mikroprozessorbasiertes System verhält, sollte Ihr System Folgendes enthalten: · AJTAG Schnittstelle zur Unterstützung der Altera FPGA-Konfiguration, Hardware und Software
Debuggen · Ein Power-Up-Konfigurationsmechanismus für Altera FPGA
Wenn Ihr System über diese Funktionen verfügt, können Sie Ihr Design anhand eines vorgetesteten Hardwaredesigns im Altera FPGA verfeinern. Mit einem Altera FPGA können Sie Ihr Design außerdem schnell ändern, um Probleme zu beheben oder neue Funktionen hinzuzufügen. Sie können diese neuen Hardwaredesigns einfach testen, indem Sie das Altera FPGA mit dem J Ihres Systems neu konfigurieren.TAG Schnittstelle.
Der JTAG Schnittstelle unterstützt die Entwicklung von Hardware und Software. Mit der J können Sie die folgenden Aufgaben ausführenTAG Schnittstelle: · Konfigurieren Sie das Altera FPGA · Herunterladen und Debuggen der Software · Kommunizieren Sie mit dem Altera FPGA über eine UART-ähnliche Schnittstelle (JTAG UART
Terminal) · Debuggen der Hardware (mit dem eingebetteten Logikanalysator von Signal Tap) · Programmieren des Flash-Speichers
Nachdem Sie das Altera FPGA mit einem auf dem Nios V-Prozessor basierenden Design konfiguriert haben, ähnelt der Ablauf der Softwareentwicklung dem Ablauf für diskrete Mikrocontroller-Designs.
Verwandte Informationen · AN 985: Nios V Prozessor-Tutorial
Eine Kurzanleitung zum Erstellen eines einfachen Nios V-Prozessorsystems und zum Ausführen der Hello World-Anwendung.
© Altera Corporation. Altera, das Altera-Logo, das „a“-Logo und andere Altera-Marken sind Marken der Altera Corporation. Altera behält sich das Recht vor, jederzeit und ohne Vorankündigung Änderungen an Produkten und Dienstleistungen vorzunehmen. Altera übernimmt keine Verantwortung oder Haftung für die Anwendung oder Nutzung der hier beschriebenen Informationen, Produkte oder Dienstleistungen, sofern nicht ausdrücklich schriftlich mit Altera vereinbart. Altera-Kunden wird empfohlen, sich die neueste Version der Gerätespezifikationen zu besorgen, bevor sie sich auf veröffentlichte Informationen verlassen und bevor sie Produkte oder Dienstleistungen bestellen. *Andere Namen und Marken sind Eigentum Dritter.
1. Über den Nios® V Embedded Prozessor 726952 | 2025.07.16
· Referenzhandbuch für den Nios V-Prozessor. Bietet Informationen zu den Leistungsbenchmarks, der Prozessorarchitektur, dem Programmiermodell und der Kernimplementierung des Nios V-Prozessors.
· Embedded Peripherals IP-Benutzerhandbuch · Nios V Processor Software Developer Handbook
Beschreibt die Softwareentwicklungsumgebung für den Nios V-Prozessor, die verfügbaren Tools und den Prozess zum Erstellen von Software, die auf dem Nios V-Prozessor läuft. · Ashling* RiscFree* Integrierte Entwicklungsumgebung (IDE) für Altera FPGAs – Benutzerhandbuch Beschreibt die RiscFree* Integrierte Entwicklungsumgebung (IDE) für Altera FPGAs, Arm*-basierte HPS und den Nios V-Core-Prozessor. · Versionshinweise zu Altera FPGA IP für Nios V-Prozessor
1.2. Quartus® Prime Software-Support
Der Build-Flow des Nios V-Prozessors unterscheidet sich für die Software Quartus® Prime Pro Edition und die Software Quartus Prime Standard Edition. Weitere Informationen zu den Unterschieden finden Sie unter AN 980: Nios V-Prozessor Quartus Prime Software-Support.
Verwandte Informationen AN 980: Nios V Prozessor Quartus Prime Software-Support
1.3. Nios V Prozessorlizenzierung
Jede Nios V-Prozessorvariante verfügt über einen eigenen Lizenzschlüssel. Sobald Sie den Lizenzschlüssel erworben haben, können Sie ihn bis zum Ablaufdatum für alle Nios V-Prozessorprojekte verwenden. Sie können die Nios V Processor Altera FPGA IP-Lizenzen kostenlos erwerben.
Die Lizenzschlüsselliste für den Nios V-Prozessor ist im Altera FPGA Self-Service Licensing Center verfügbar. Klicken Sie auf die Registerkarte „Für Evaluierungs- oder kostenlose Lizenz anmelden“ und wählen Sie die entsprechenden Optionen aus, um die Anfrage zu stellen.
Abbildung 1. Altera FPGA Self-Service-Lizenzierungscenter
Mit den Lizenzschlüsseln können Sie:
Feedback senden
Nios® V Embedded Processor Design Handbook 7
1. Über den Nios® V Embedded Prozessor 726952 | 2025.07.16
· Implementieren Sie einen Nios V-Prozessor in Ihrem System. · Simulieren Sie das Verhalten eines Nios V-Prozessorsystems. · Überprüfen Sie die Funktionalität des Designs, wie Größe und Geschwindigkeit. · Generieren Sie die Geräteprogrammierung files. · Programmieren Sie ein Gerät und überprüfen Sie das Design in der Hardware.
Sie benötigen keine Lizenz, um Software in der Ashling* RiscFree* IDE für Altera FPGAs zu entwickeln.
Verwandte Informationen · Altera FPGA Self-Service-Lizenzierungscenter
Weitere Informationen zum Erhalt der Nios V Processor Altera FPGA IP-Lizenzschlüssel. · Installation und Lizenzierung der Altera FPGA-Software. Weitere Informationen zur Lizenzierung der Altera FPGA-Software und zum Einrichten einer festen Lizenz und eines Netzwerklizenzservers.
1.4. Eingebettetes Systemdesign
Die folgende Abbildung veranschaulicht einen vereinfachten Systemdesignablauf auf Basis des Nios V-Prozessors, einschließlich der Hardware- und Softwareentwicklung.
Nios® V Embedded Processor Design Handbook 8
Feedback senden
1. Über den Nios® V Embedded Prozessor 726952 | 2025.07.16
Abbildung 2.
Nios V Prozessorsystem-Designablauf
Systemkonzept
Analysieren Sie die Systemanforderungen
Nios® V
Prozessorkerne und Standardkomponenten
Definieren und Generieren von Systemen in
Plattform-Designer
Hardware-Flow: Integrieren und Kompilieren des Intel Quartus Prime-Projekts
Software-Flow: Entwickeln und Erstellen von Nios V-Vorschlagssoftware
Hardware-Flow: FPGA-Design herunterladen
zum Target Board
Software-Flow: Testen und Debuggen der Nios V-Prozessorsoftware
Software erfüllt nicht die Spezifikation?
Ja
Hardware Nein Erfüllt die Spezifikation? Ja
System abgeschlossen
Feedback senden
Nios® V Embedded Processor Design Handbook 9
726952 | 2025.07.16 Feedback senden
2. Nios V Prozessor-Hardwaresystemdesign mit Quartus Prime Software und Platform Designer
Abbildung 3.
Das folgende Diagramm veranschaulicht ein typisches Hardwaredesign des Nios V-Prozessors. Nios V-Prozessorsystem-Hardware-Designfluss
Start
Nios V-Kerne und Standardkomponenten
Verwenden Sie Platform Designer, um ein auf Nios V basierendes System zu entwerfen
Plattformdesigner-Design generieren
Integrieren Sie das Platform Designer System mit dem Intel Quartus Prime-Projekt
Weisen Sie Pin-Positionen, Timing-Anforderungen und andere Designbeschränkungen zu
Kompilieren Sie die Hardware für das Zielgerät in Intel Quartus Prime
Bereit zum Download
2.1. Erstellen eines Nios V-Prozessorsystemdesigns mit Platform Designer
Die Quartus Prime Software enthält das Systemintegrationstool Platform Designer, das die Definition und Integration des Nios V-Prozessor-IP-Cores und anderer IPs in ein Altera FPGA-Systemdesign vereinfacht. Der Platform Designer erstellt automatisch Verbindungslogik aus der angegebenen High-Level-Konnektivität. Die Verbindungsautomatisierung eliminiert die zeitaufwändige Spezifizierung von HDL-Verbindungen auf Systemebene.
© Altera Corporation. Altera, das Altera-Logo, das „a“-Logo und andere Altera-Marken sind Marken der Altera Corporation. Altera behält sich das Recht vor, jederzeit und ohne Vorankündigung Änderungen an Produkten und Dienstleistungen vorzunehmen. Altera übernimmt keine Verantwortung oder Haftung für die Anwendung oder Nutzung der hier beschriebenen Informationen, Produkte oder Dienstleistungen, sofern nicht ausdrücklich schriftlich mit Altera vereinbart. Altera-Kunden wird empfohlen, sich die neueste Version der Gerätespezifikationen zu besorgen, bevor sie sich auf veröffentlichte Informationen verlassen und bevor sie Produkte oder Dienstleistungen bestellen. *Andere Namen und Marken sind Eigentum Dritter.
2. Nios V Prozessor-Hardwaresystemdesign mit Quartus Prime Software und Platform Designer
726952 | 2025.07.16
Nach der Analyse der Systemhardwareanforderungen verwenden Sie Quartus Prime, um den Nios V-Prozessorkern, den Speicher und andere Komponenten Ihres Systems festzulegen. Der Platform Designer generiert automatisch die Verbindungslogik zur Integration der Komponenten in das Hardwaresystem.
2.1.1. Instanziieren des Nios V-Prozessors Altera FPGA IP
You can instantiate any of the processor IP cores in Platform Designer IP Catalog Processors and Peripherals Embedded Processors.
Der IP-Kern jedes Prozessors unterstützt basierend auf seiner einzigartigen Architektur unterschiedliche Konfigurationsoptionen. Sie können diese Konfigurationen so definieren, dass sie Ihren Designanforderungen besser entsprechen.
Tabelle 1.
Konfigurationsoptionen für alle Kernvarianten
Konfigurationsoptionen
Nios V/c-Prozessor
Nios V/m-Prozessor
Debuggen Verwenden Sie die Reset-Anforderung
—
Traps, Ausnahmen und Interrupts
CPU-Architektur
ECC
Caches, Peripheriebereiche und TCMs
—
—
Benutzerdefinierte Anweisungen
—
—
Gleichschritt
—
—
Nios V/g Prozessor
2.1.1.1. Instanziieren des Nios V/c Compact Microcontroller Altera FPGA IP Abbildung 4. Nios V/c Compact Microcontroller Altera FPGA IP
Feedback senden
Nios® V Embedded Processor Design Handbook 11
2. Nios V Prozessor-Hardwaresystemdesign mit Quartus Prime Software und Platform Designer
726952 | 2025.07.16
2.1.1.1.1. Registerkarte „CPU-Architektur“
Tabelle 2.
Registerkarte „CPU-Architektur“
Besonderheit
Beschreibung
Avalon®-Schnittstelle aktivieren: Aktiviert die Avalon-Schnittstelle für den Befehls- und Datenmanager. Wenn diese Option deaktiviert ist, verwendet das System die AXI4-Lite-Schnittstelle.
mhartid CSR-Wert
· Ungültige IP-Option. · Verwenden Sie keinen mhartid CSR-Wert im Nios V/c-Prozessor.
2.1.1.1.2. Registerkarte „Anforderung zurücksetzen“ verwenden
Tabelle 3.
Verwenden Sie den Registerkartenparameter „Anforderung zurücksetzen“
Registerkarte „Anforderung zurücksetzen“ verwenden
Beschreibung
Schnittstelle für Reset-Anforderung hinzufügen
· Aktivieren Sie diese Option, um lokale Reset-Ports freizugeben, die ein lokaler Master verwenden kann, um den Reset des Nios V-Prozessors auszulösen, ohne andere Komponenten in einem Nios V-Prozessorsystem zu beeinträchtigen.
· Die Reset-Schnittstelle besteht aus einem Eingangs-Resetreq-Signal und einem Ausgangs-Ack-Signal.
· Sie können einen Reset des Nios V-Prozessorkerns anfordern, indem Sie das Resetreq-Signal aktivieren.
Das Resetreq-Signal muss aktiviert bleiben, bis der Prozessor das Ack-Signal aktiviert. Andernfalls kann es zu einem nichtdeterministischen Zustand des Prozessors kommen.
· Der Nios V-Prozessor antwortet, dass der Reset erfolgreich war, indem er das Ack-Signal ausgibt.
· Nachdem der Prozessor erfolgreich zurückgesetzt wurde, kann die Bestätigung des Ack-Signals mehrmals in regelmäßigen Abständen erfolgen, bis die Bestätigung des Resetreq-Signals aufgehoben wird.
2.1.1.1.3. Registerkarte „Traps, Exceptions und Interrupts“
Tabelle 4.
Parameter der Registerkarte „Traps, Exceptions und Interrupts“
Traps, Ausnahmen und Interrupts
Beschreibung
Agent zurücksetzen
· Der Speicher, der den Reset-Vektor (die Reset-Adresse des Nios V-Prozessors) enthält, in dem sich der Reset-Code befindet.
· Sie können jedes Speichermodul auswählen, das mit dem Befehlsmaster des Nios V-Prozessors verbunden ist und von einem Boot-Flow des Nios V-Prozessors als Reset-Agent unterstützt wird.
Offset zurücksetzen
· Gibt den Offset des Reset-Vektors relativ zur Basisadresse des gewählten Reset-Agenten an. · Platform Designer stellt automatisch einen Standardwert für den Reset-Offset bereit.
Notiz:
Platform Designer bietet die Option „Absolut“, mit der Sie eine absolute Adresse im Reset-Offset angeben können. Verwenden Sie diese Option, wenn sich der Speicher, in dem der Reset-Vektor gespeichert ist, außerhalb des Prozessorsystems und der Subsysteme befindet.
Nios® V Embedded Processor Design Handbook 12
Feedback senden
2. Nios V Prozessor-Hardwaresystemdesign mit Quartus Prime Software und Platform Designer
726952 | 2025.07.16
2.1.1.1.4. Registerkarte „ECC“
Tabelle 5.
Registerkarte „ECC“
ECC
Aktivieren Sie die Fehlererkennung und Statusberichterstattung
Beschreibung
· Aktivieren Sie diese Option, um die ECC-Funktion für interne RAM-Blöcke des Nios V-Prozessors anzuwenden. · ECC-Funktionen erkennen Fehler von bis zu 2 Bit und reagieren basierend auf dem folgenden Verhalten:
— Handelt es sich um einen korrigierbaren 1-Bit-Fehler, arbeitet der Prozessor nach der Korrektur des Fehlers in der Prozessor-Pipeline weiter. Die Korrektur wird jedoch nicht in den Quellspeichern widergespiegelt.
– Wenn der Fehler nicht korrigierbar ist, arbeitet der Prozessor weiter, ohne ihn in der Prozessor-Pipeline und den Quellspeichern zu korrigieren, was dazu führen kann, dass der Prozessor in einen nichtdeterministischen Zustand gerät.
2.1.1.2. Instanziieren des Nios V/m-Mikrocontrollers Altera FPGA IP Abbildung 5. Nios V/m-Mikrocontroller Altera FPGA IP
Feedback senden
Nios® V Embedded Processor Design Handbook 13
2. Nios V Prozessor-Hardwaresystemdesign mit Quartus Prime Software und Platform Designer
726952 | 2025.07.16
2.1.1.2.1. Registerkarte „Debug“
Tabelle 6.
Parameter der Registerkarte „Debug“
Registerkarte „Debug“
Beschreibung
Debug aktivieren
Zurücksetzen vom Debug-Modul aktivieren
· Aktivieren Sie diese Option, um das J hinzuzufügenTAG Zielverbindungsmodul an den Nios V-Prozessor. · Das JTAG Das Zielverbindungsmodul ermöglicht die Verbindung zum Nios V-Prozessor über das
JTAG Schnittstellenpins des FPGA. · Die Verbindung bietet die folgenden grundlegenden Funktionen:
— Starten und Stoppen des Nios V-Prozessors — Untersuchen und Bearbeiten von Registern und Speicher. — Herunterladen der Nios V-Anwendung .elf file in den Prozessorspeicher zur Laufzeit über
niosv-download. — Debuggen Sie die auf dem Nios V-Prozessor laufende Anwendung. · Verbinden Sie den dm_agent-Port mit dem Prozessorbefehls- und Datenbus. Stellen Sie sicher, dass die Basisadressen beider Busse identisch sind.
· Aktivieren Sie diese Option, um die Ports dbg_reset_out und ndm_reset_in freizugeben. · JTAG debugger oder niosv-download -r Befehl löst den dbg_reset_out aus, der
ermöglicht dem Nios V-Prozessor, Systemperipheriegeräte zurückzusetzen, die an diesen Port angeschlossen sind. · Sie müssen die Schnittstelle dbg_reset_out mit ndm_reset_in verbinden, anstatt sie zurückzusetzen
Schnittstelle zum Auslösen eines Resets des Prozessorkerns und des Timermoduls. Sie dürfen die dbg_reset_out-Schnittstelle nicht mit der Reset-Schnittstelle verbinden, um unbestimmtes Verhalten zu vermeiden.
2.1.1.2.2. Registerkarte „Anforderung zurücksetzen“ verwenden
Tabelle 7.
Verwenden Sie den Registerkartenparameter „Anforderung zurücksetzen“
Registerkarte „Anforderung zurücksetzen“ verwenden
Beschreibung
Schnittstelle für Reset-Anforderung hinzufügen
· Aktivieren Sie diese Option, um lokale Reset-Ports freizugeben, die ein lokaler Master verwenden kann, um den Reset des Nios V-Prozessors auszulösen, ohne andere Komponenten in einem Nios V-Prozessorsystem zu beeinträchtigen.
· Die Reset-Schnittstelle besteht aus einem Eingangs-Resetreq-Signal und einem Ausgangs-Ack-Signal.
· Sie können einen Reset des Nios V-Prozessorkerns anfordern, indem Sie das Resetreq-Signal aktivieren.
Das Resetreq-Signal muss aktiviert bleiben, bis der Prozessor das Ack-Signal aktiviert. Andernfalls kann es zu einem nichtdeterministischen Zustand des Prozessors kommen.
· Die Aktivierung des Resetreq-Signals im Debug-Modus hat keine Auswirkungen auf den Zustand des Prozessors.
· Der Nios V-Prozessor antwortet, dass der Reset erfolgreich war, indem er das Ack-Signal ausgibt.
· Nachdem der Prozessor erfolgreich zurückgesetzt wurde, kann die Bestätigung des Ack-Signals mehrmals in regelmäßigen Abständen erfolgen, bis die Bestätigung des Resetreq-Signals aufgehoben wird.
2.1.1.2.3. Registerkarte „Traps, Exceptions und Interrupts“
Tabelle 8.
Registerkarte „Traps, Exceptions und Interrupts“
Registerkarte „Traps, Exceptions und Interrupts“
Beschreibung
Agent zurücksetzen
· Der Speicher, der den Reset-Vektor (die Reset-Adresse des Nios V-Prozessors) enthält, in dem sich der Reset-Code befindet.
· Sie können jedes Speichermodul auswählen, das mit dem Befehlsmaster des Nios V-Prozessors verbunden ist und von einem Boot-Flow des Nios V-Prozessors als Reset-Agent unterstützt wird.
Offset-Interrupt-Modus zurücksetzen
· Gibt den Offset des Reset-Vektors relativ zur Basisadresse des gewählten Reset-Agenten an. · Platform Designer stellt automatisch einen Standardwert für den Reset-Offset bereit.
Geben Sie den Typ des Interrupt-Controllers an, entweder direkt oder vektorisiert. Hinweis: Der Nios V/m-Prozessor ohne Pipeline unterstützt keine vektorisierten Interrupts.
Vermeiden Sie daher die Verwendung des Vektorinterruptmodus, wenn sich der Prozessor im Nichtpipelinemodus befindet.
Nios® V Embedded Processor Design Handbook 14
Feedback senden
2. Nios V Prozessor-Hardwaresystemdesign mit Quartus Prime Software und Platform Designer
726952 | 2025.07.16
Notiz:
Platform Designer bietet die Option „Absolut“, mit der Sie eine absolute Adresse im Reset-Offset angeben können. Verwenden Sie diese Option, wenn sich der Speicher, in dem der Reset-Vektor gespeichert ist, außerhalb des Prozessorsystems und der Subsysteme befindet.
2.1.1.2.4. CPU-Architektur
Tabelle 9.
Parameter der Registerkarte „CPU-Architektur“
CPU-Architektur
Beschreibung
Pipelining in der CPU aktivieren
· Aktivieren Sie diese Option, um einen Nios V/m-Prozessor mit Pipeline zu instanziieren. – Der IPC ist auf Kosten eines größeren Logikbereichs und einer niedrigeren Fmax-Frequenz höher.
· Deaktivieren Sie diese Option, um einen nicht-pipelinebasierten Nios V/m-Prozessor zu instanziieren. – Hat eine ähnliche Kernleistung wie der Nios V/c-Prozessor. – Unterstützt Debugging und Interrupt-Funktionen – Geringerer Logikbereich und höhere Fmax-Frequenz auf Kosten eines niedrigeren IPC.
Avalon-Schnittstelle aktivieren
Aktiviert die Avalon-Schnittstelle für den Befehls- und Datenmanager. Wenn deaktiviert, verwendet das System die AXI4-Lite-Schnittstelle.
mhartid CSR-Wert
· Der Wert des Hart-ID-Registers (mhartid) ist standardmäßig 0. · Weisen Sie einen Wert zwischen 0 und 4094 zu. · Kompatibel mit der Altera FPGA Avalon Mutex Core HAL API.
Verwandte Informationen Embedded Peripheral IP-Benutzerhandbuch – Intel FPGA Avalon® Mutex Core
2.1.1.2.5. Registerkarte „ECC“
Tabelle 10. Registerkarte „ECC“
ECC-Aktivierung der Fehlererkennung und Statusberichterstattung
Beschreibung
· Aktivieren Sie diese Option, um die ECC-Funktion für interne RAM-Blöcke des Nios V-Prozessors anzuwenden. · ECC-Funktionen erkennen Fehler von bis zu 2 Bit und reagieren basierend auf dem folgenden Verhalten:
— Handelt es sich um einen korrigierbaren 1-Bit-Fehler, arbeitet der Prozessor nach der Korrektur des Fehlers in der Prozessor-Pipeline weiter. Die Korrektur wird jedoch nicht in den Quellspeichern widergespiegelt.
– Wenn der Fehler nicht korrigierbar ist, arbeitet der Prozessor weiter, ohne ihn in der Prozessor-Pipeline und den Quellspeichern zu korrigieren, was dazu führen kann, dass der Prozessor in einen nichtdeterministischen Zustand gerät.
Feedback senden
Nios® V Embedded Processor Design Handbook 15
2. Nios V Prozessor-Hardwaresystemdesign mit Quartus Prime Software und Platform Designer
726952 | 2025.07.16
2.1.1.3. Instanziieren des Nios V/g-Allzweckprozessors Altera FPGA IP
Abbildung 6. Nios V/g-Allzweckprozessor Altera FPGA IP – Teil 1
Abbildung 7.
Nios V/g-Allzweckprozessor Altera FPGA IP – Teil 2 (Core Level Interrupt Controller aktivieren ausschalten)
Nios® V Embedded Processor Design Handbook 16
Feedback senden
2. Nios V Prozessor-Hardwaresystemdesign mit Quartus Prime Software und Platform Designer
726952 | 2025.07.16
Abbildung 8.
Nios V/g-Allzweckprozessor Altera FPGA IP – Teil 2 (Core Level Interrupt Controller aktivieren)
Abbildung 9. Nios V/g-Allzweckprozessor Altera FPGA IP – Teil 3
Feedback senden
Nios® V Embedded Processor Design Handbook 17
2. Nios V Prozessor-Hardwaresystemdesign mit Quartus Prime Software und Platform Designer
726952 | 2025.07.16
Abbildung 10. Nios V/g-Allzweckprozessor Altera FPGA IP – Teil 4
2.1.1.3.1. CPU-Architektur
Tabelle 11. CPU-Architekturparameter
Registerkarte „CPU-Architektur“: Gleitkommaeinheit aktivieren
Beschreibung Aktivieren Sie diese Option, um die Gleitkommaeinheit (Erweiterung „F“) im Prozessorkern hinzuzufügen.
Verzweigungsvorhersage aktivieren
Aktivieren Sie die statische Verzweigungsvorhersage (Backward Taken und Forward Not Taken) für Verzweigungsanweisungen.
mhartid CSR-Wert
· Der Wert des Hart-ID-Registers (mhartid) ist standardmäßig 0. · Weisen Sie einen Wert zwischen 0 und 4094 zu. · Kompatibel mit der Altera FPGA Avalon Mutex Core HAL API.
Deaktivieren Sie FSQRT- und FDIV-Anweisungen für FPU
· Entfernen Sie Gleitkomma-Quadratwurzel- (FSQRT) und Gleitkomma-Divisionsoperationen (FDIV) in FPU.
· Wenden Sie während der Laufzeit eine Softwareemulation auf beide Anweisungen an.
Verwandte Informationen Embedded Peripheral IP-Benutzerhandbuch – Intel FPGA Avalon® Mutex Core
Nios® V Embedded Processor Design Handbook 18
Feedback senden
2. Nios V Prozessor-Hardwaresystemdesign mit Quartus Prime Software und Platform Designer
726952 | 2025.07.16
2.1.1.3.2. Registerkarte „Debug“
Tabelle 12. Parameter der Registerkarte „Debug“
Registerkarte „Debug“
Beschreibung
Debug aktivieren
Zurücksetzen vom Debug-Modul aktivieren
· Aktivieren Sie diese Option, um das J hinzuzufügenTAG Zielverbindungsmodul an den Nios V-Prozessor. · Das JTAG Das Zielverbindungsmodul ermöglicht die Verbindung zum Nios V-Prozessor über das
JTAG Schnittstellenpins des FPGA. · Die Verbindung bietet die folgenden grundlegenden Funktionen:
— Starten und Stoppen des Nios V-Prozessors — Untersuchen und Bearbeiten von Registern und Speicher. — Herunterladen der Nios V-Anwendung .elf file in den Prozessorspeicher zur Laufzeit über
niosv-download. — Debuggen Sie die auf dem Nios V-Prozessor laufende Anwendung. · Verbinden Sie den dm_agent-Port mit dem Prozessorbefehls- und Datenbus. Stellen Sie sicher, dass die Basisadressen beider Busse identisch sind.
· Aktivieren Sie diese Option, um die Ports dbg_reset_out und ndm_reset_in freizugeben. · JTAG debugger oder niosv-download -r Befehl löst den dbg_reset_out aus, der
ermöglicht dem Nios V-Prozessor, Systemperipheriegeräte zurückzusetzen, die an diesen Port angeschlossen sind. · Sie müssen die Schnittstelle dbg_reset_out mit ndm_reset_in verbinden, anstatt sie zurückzusetzen
Schnittstelle zum Auslösen eines Resets des Prozessorkerns und des Timermoduls. Sie dürfen die dbg_reset_out-Schnittstelle nicht mit der Reset-Schnittstelle verbinden, um unbestimmtes Verhalten zu vermeiden.
2.1.1.3.3. Registerkarte „Lockstep“ Tabelle 13. Registerkarte „Lockstep“
Parameter Lockstep aktivieren Standard-Timeout-Zeitraum Erweiterte Reset-Schnittstelle aktivieren
Beschreibung · Aktivieren Sie das Dual-Core-Lockstep-System. · Standardwert des programmierbaren Timeouts beim Beenden des Resets (zwischen 0 und 255). · Aktivieren Sie die optionale erweiterte Reset-Schnittstelle für die erweiterte Reset-Steuerung. · Wenn deaktiviert, implementiert der fRSmartComp die grundlegende Reset-Steuerung.
2.1.1.3.4. Registerkarte „Anforderung zurücksetzen“ verwenden
Tabelle 14. Parameter der Registerkarte „Reset-Anforderung verwenden“
Registerkarte „Anforderung zurücksetzen“ verwenden
Beschreibung
Schnittstelle für Reset-Anforderung hinzufügen
· Aktivieren Sie diese Option, um lokale Reset-Ports freizugeben, die ein lokaler Master verwenden kann, um den Reset des Nios V-Prozessors auszulösen, ohne andere Komponenten in einem Nios V-Prozessorsystem zu beeinträchtigen.
· Die Reset-Schnittstelle besteht aus einem Eingangs-Resetreq-Signal und einem Ausgangs-Ack-Signal.
· Sie können einen Reset des Nios V-Prozessorkerns anfordern, indem Sie das Resetreq-Signal aktivieren.
Das Resetreq-Signal muss aktiviert bleiben, bis der Prozessor das Ack-Signal aktiviert. Andernfalls kann es zu einem nichtdeterministischen Zustand des Prozessors kommen.
· Die Aktivierung des Resetreq-Signals im Debug-Modus hat keine Auswirkungen auf den Zustand des Prozessors.
· Der Nios V-Prozessor antwortet, dass der Reset erfolgreich war, indem er das Ack-Signal ausgibt.
· Nachdem der Prozessor erfolgreich zurückgesetzt wurde, kann die Bestätigung des Ack-Signals mehrmals in regelmäßigen Abständen erfolgen, bis die Bestätigung des Resetreq-Signals aufgehoben wird.
Feedback senden
Nios® V Embedded Processor Design Handbook 19
2. Nios V Prozessor-Hardwaresystemdesign mit Quartus Prime Software und Platform Designer
726952 | 2025.07.16
2.1.1.3.5. Registerkarte „Traps, Exceptions und Interrupts“
Tabelle 15.
Registerkarte „Traps, Exceptions und Interrupts“, wenn „Enable Core Level Interrupt Controller“ deaktiviert ist
Registerkarte „Traps, Exceptions und Interrupts“
Agent zurücksetzen
Beschreibung
· Der Speicher, der den Reset-Vektor (die Reset-Adresse des Nios V-Prozessors) enthält, in dem sich der Reset-Code befindet.
· Sie können jedes Speichermodul auswählen, das mit dem Befehlsmaster des Nios V-Prozessors verbunden ist und von einem Boot-Flow des Nios V-Prozessors als Reset-Agent unterstützt wird.
Offset zurücksetzen
· Gibt den Offset des Reset-Vektors relativ zur Basisadresse des gewählten Reset-Agenten an. · Platform Designer stellt automatisch einen Standardwert für den Reset-Offset bereit.
Aktivieren Sie den Core Level Interrupt Controller (CLIC).
· Aktivieren Sie CLIC, um präemptive Interrupts und konfigurierbare Interrupt-Triggerbedingungen zu unterstützen.
· Wenn aktiviert, können Sie die Anzahl der Plattforminterrupts konfigurieren, Auslösebedingungen festlegen und einige der Interrupts als präemptiv kennzeichnen.
Schattenregister für den Interruptmodus Files
Geben Sie die Interrupttypen als „Direkt“ oder „Vektorisiert“ an. Aktivieren Sie das Schattenregister, um Kontextwechsel bei Interrupts zu reduzieren.
Tabelle 16.
Traps, Ausnahmen und Interrupts, wenn „Core Level Interrupt Controller aktivieren“ aktiviert ist
Traps, Ausnahmen und Interrupts
Beschreibungen
Agent zurücksetzen
Offset zurücksetzen
Aktivieren Sie den Core Level Interrupt Controller (CLIC).
· Der Speicher, der den Reset-Vektor (die Reset-Adresse des Nios V-Prozessors) enthält, in dem sich der Reset-Code befindet.
· Sie können jedes Speichermodul auswählen, das mit dem Befehlsmaster des Nios V-Prozessors verbunden ist und von einem Boot-Flow des Nios V-Prozessors als Reset-Agent unterstützt wird.
· Gibt den Offset des Reset-Vektors relativ zur Basisadresse des gewählten Reset-Agenten an. · Platform Designer stellt automatisch einen Standardwert für den Reset-Offset bereit.
· Aktivieren Sie CLIC, um präemptive Interrupts und konfigurierbare Interrupt-Triggerbedingungen zu unterstützen. · Wenn aktiviert, können Sie die Anzahl der Plattform-Interrupts konfigurieren, Triggerbedingungen festlegen,
und einige der Interrupts als präemptiv kennzeichnen.
Interrupt-Modus
· Geben Sie die Interrupttypen als Direct, Vectored oder CLIC an.
Schattenregister Files
· Aktivieren Sie das Schattenregister, um Kontextwechsel bei Unterbrechungen zu reduzieren.
· Bietet zwei Ansätze:
— Anzahl der CLIC-Interrupt-Ebenen
— Anzahl der CLIC-Interrupt-Ebenen – 1: Diese Option ist nützlich, wenn Sie die Anzahl der Register file Kopien, die in eine genaue Anzahl von M20K- oder M9K-Blöcken passen.
· Aktivieren Sie den Nios V-Prozessor zur Verwendung des Schattenregisters files, die den Kontextwechsel-Overhead bei Unterbrechungen reduzieren.
Weitere Informationen zum Schattenregister files finden Sie im Referenzhandbuch zum Nios V-Prozessor.
Anzahl der Plattform-Interruptquellen
· Gibt die Anzahl der Plattformunterbrechungen zwischen 16 und 2048 an.
Hinweis: CLIC unterstützt bis zu 2064 Interrupt-Eingänge und die ersten 16 Interrupt-Eingänge sind auch mit dem grundlegenden Interrupt-Controller verbunden.
CLIC-Vektortabellenausrichtung
· Wird automatisch anhand der Anzahl der Plattform-Interruptquellen ermittelt. · Wenn Sie eine Ausrichtung verwenden, die unter dem empfohlenen Wert liegt, erhöht der CLIC die Logik
Komplexität durch Hinzufügen eines zusätzlichen Addierers zur Durchführung von Vektorberechnungen. · Wenn Sie eine Ausrichtung verwenden, die unter dem empfohlenen Wert liegt, führt dies zu einer erhöhten
logische Komplexität im CLIC.
Fortsetzung…
Nios® V Embedded Processor Design Handbook 20
Feedback senden
2. Nios V Prozessor-Hardwaresystemdesign mit Quartus Prime Software und Platform Designer
726952 | 2025.07.16
Traps, Ausnahmen und Interrupts
Anzahl der Interrupt-Ebenen
Anzahl der Interrupt-Prioritäten pro Ebene
Konfigurierbare Interrupt-Polarität. Unterstützt flankengetriggerte Interrupts.
Beschreibungen
· Gibt die Anzahl der Interrupt-Ebenen mit einer zusätzlichen Ebene 0 für Anwendungscode an. Interrupts einer höheren Ebene können einen laufenden Handler für einen Interrupt einer niedrigeren Ebene unterbrechen (vorwegnehmen).
· Bei Interrupt-Leveln ungleich Null als einziger Option befindet sich der Anwendungscode immer auf dem niedrigsten Level 0. Hinweis: Die Laufzeitkonfiguration von Interrupt-Level und -Priorität erfolgt in einem einzigen 8-Bit-Register. Bei 256 Interrupt-Leveln ist eine Konfiguration der Interrupt-Priorität zur Laufzeit nicht möglich. Andernfalls beträgt die maximal konfigurierbare Anzahl an Prioritäten 256 / (Anzahl der Interrupt-Level – 1).
· Gibt die Anzahl der Interrupt-Prioritäten an, die der CLIC verwendet, um die Reihenfolge zu bestimmen, in der nicht-präemptive Interrupt-Handler aufgerufen werden. Hinweis: Die Verkettung der Binärwerte der ausgewählten Interrupt-Ebene und der ausgewählten Interrupt-Priorität muss weniger als 8 Bit betragen.
· Ermöglicht Ihnen, die Interrupt-Polarität während der Laufzeit zu konfigurieren. · Die Standardpolarität ist positive Polarität.
· Ermöglicht Ihnen, die Interrupt-Triggerbedingung während der Laufzeit zu konfigurieren, d. h. High-Level-Triggerung oder positive Flanken-Triggerung (wenn die Interrupt-Polarität in der konfigurierbaren Interrupt-Polarität positiv ist).
· Die Standardauslösebedingung ist ein pegelausgelöster Interrupt.
Notiz:
Platform Designer bietet die Option „Absolut“, mit der Sie eine absolute Adresse im Reset-Offset angeben können. Verwenden Sie diese Option, wenn sich der Speicher, in dem der Reset-Vektor gespeichert ist, außerhalb des Prozessorsystems und der Subsysteme befindet.
Verwandte Informationen Nios® V Prozessor-Referenzhandbuch
2.1.1.3.6. Registerkarte „Speicherkonfigurationen“
Tabelle 17. Parameter der Registerkarte „Speicherkonfiguration“
Kategorie
Registerkarte „Speicherkonfiguration“
Beschreibung
Caches
Datencachegröße
· Gibt die Größe des Datencaches an. · Gültige Größen liegen zwischen 0 Kilobyte (KB) und 16 KB. · Schaltet den Datencache aus, wenn die Größe 0 KB beträgt.
Befehls-Cache-Größe
· Gibt die Größe des Befehlscaches an. · Gültige Größen liegen zwischen 0 KB und 16 KB. · Schalten Sie den Befehlscache aus, wenn die Größe 0 KB beträgt.
Randregion A und B
Größe
· Gibt die Größe des Randbereichs an.
· Gültige Größen sind 64 KB bis 2 Gigabyte (GB) oder „Keine“. Wenn Sie „Keine“ wählen, wird der Peripheriebereich deaktiviert.
Basisadresse
· Gibt die Basisadresse des Peripheriebereichs an, nachdem Sie die Größe ausgewählt haben.
· Alle Adressen im Randbereich erzeugen nicht cachebare Datenzugriffe.
· Die Basisadresse der Peripherieregion muss an die Größe der Peripherieregion angepasst sein.
Eng gekoppelte Erinnerungen
Größe
· Gibt die Größe des eng gekoppelten Speichers an. — Gültige Größen liegen zwischen 0 MB und 512 MB.
Initialisierung der Basisadresse File
· Gibt die Basisadresse des eng gekoppelten Speichers an. · Gibt die Initialisierung an file für eng gekoppelten Speicher.
Feedback senden
Nios® V Embedded Processor Design Handbook 21
2. Nios V Prozessor-Hardwaresystemdesign mit Quartus Prime Software und Platform Designer
726952 | 2025.07.16
Notiz:
In einem Nios V-Prozessorsystem mit aktiviertem Cache müssen Sie Systemperipheriegeräte in einem Peripheriebereich platzieren. Sie können Peripheriebereiche verwenden, um eine nicht zwischenspeicherbare Transaktion für Peripheriegeräte wie UART, PIO, DMA und andere zu definieren.
2.1.1.3.7. Registerkarte „ECC“
Tabelle 18. Registerkarte „ECC“
ECC-Aktivierung der Fehlererkennung und Statusberichterstattung
Einzelbitkorrektur aktivieren
Beschreibung
· Aktivieren Sie diese Option, um die ECC-Funktion für interne RAM-Blöcke des Nios V-Prozessors anzuwenden. · ECC-Funktionen erkennen Fehler von bis zu 2 Bit und reagieren basierend auf dem folgenden Verhalten:
— Handelt es sich um einen korrigierbaren Einzelbitfehler und ist die Option „Einzelbitkorrektur aktivieren“ deaktiviert, arbeitet der Prozessor nach der Korrektur des Fehlers in der Prozessorpipeline weiter. Die Korrektur wird jedoch nicht in den Quellspeichern widergespiegelt.
– Wenn es sich um einen korrigierbaren Einzelbitfehler handelt und „Einzelbitkorrektur aktivieren“ aktiviert ist, arbeitet der Prozessor nach der Korrektur des Fehlers in der Prozessor-Pipeline und den Quellspeichern weiter.
— Handelt es sich um einen nicht korrigierbaren Fehler, stellt der Prozessor seinen Betrieb ein.
Aktivieren Sie die Einzelbitkorrektur für eingebettete Speicherblöcke im Kern.
2.1.1.3.8. Registerkarte „Benutzerdefinierte Anweisungen“
Notiz:
Diese Registerkarte ist nur für den Nios V/g-Prozessorkern verfügbar.
Benutzerdefinierte Anweisungen Nios V Benutzerdefinierte Anweisungen Hardware-Schnittstellentabelle
Makrotabelle der benutzerdefinierten Anweisungssoftware Nios V
Beschreibung
· Der Nios V-Prozessor verwendet diese Tabelle, um seine benutzerdefinierten Befehlsmanagerschnittstellen zu definieren.
· Definierte benutzerdefinierte Befehlsmanager-Schnittstellen werden eindeutig durch einen Opcode (CUSTOM0-3) und 3 Bits von funct7[6:4] codiert.
· Sie können insgesamt bis zu 32 individuelle benutzerdefinierte Befehlsmanager-Schnittstellen definieren.
· Der Nios V-Prozessor verwendet diese Tabelle, um benutzerdefinierte Befehlssoftwarecodierungen für definierte benutzerdefinierte Befehlsmanagerschnittstellen zu definieren.
· Für jede definierte benutzerdefinierte Befehlssoftwarekodierung müssen der Opcode (CUSTOM0-3) und 3 Bits der funct7[6:4]-Kodierung mit einer definierten benutzerdefinierten Befehlsmanager-Schnittstellenkodierung in der Tabelle der benutzerdefinierten Befehlshardwareschnittstellen korrelieren.
· Sie können funct7[6:4], funct7[3:0] und funct3[2:0] verwenden, um eine zusätzliche Kodierung für eine bestimmte benutzerdefinierte Anweisung zu definieren, oder sie als Xs angeben, um sie als zusätzliche Anweisungsargumente zu übergeben.
· Der Nios V-Prozessor bietet definierte benutzerdefinierte Befehlssoftwarecodierungen als generierte C-Makros in system.h und folgt dem RISC-V-Befehlsformat vom Typ R.
· Mnemonik kann verwendet werden, um benutzerdefinierte Namen für Folgendes zu definieren: – Die generierten C-Makros in system.h.
– Die generierten GDB-Debug-Mnemoniken in custom_instruction_debug.xml.
Zugehörige Informationen
AN 977: Benutzerdefinierte Anweisungen für den Nios V-Prozessor. Weitere Informationen zu benutzerdefinierten Anweisungen, mit denen Sie den Nios® V-Prozessor an die Anforderungen einer bestimmten Anwendung anpassen können.
Nios® V Embedded Processor Design Handbook 22
Feedback senden
2. Nios V Prozessor-Hardwaresystemdesign mit Quartus Prime Software und Platform Designer 726952 | 2025.07.16
2.1.2. Definieren des Systemkomponentendesigns
Verwenden Sie den Platform Designer, um die Hardwareeigenschaften des Nios V-Prozessorsystems zu definieren und die gewünschten Komponenten hinzuzufügen. Das folgende Diagramm zeigt ein grundlegendes Nios V-Prozessorsystemdesign mit den folgenden Komponenten: · Nios V-Prozessorkern · On-Chip-Speicher · JTAG UART · Intervall-Timer (optional)(1)
Wenn ein neuer On-Chip-Speicher zu einem Platform Designer-System hinzugefügt wird, führen Sie die Synchronisierung der Systeminformationen durch, um die hinzugefügten Speicherkomponenten im Reset zu berücksichtigen. Alternativ können Sie die automatische Synchronisierung im Platform Designer aktivieren, um die neuesten Komponentenänderungen automatisch zu berücksichtigen.
Abbildung 11. Bspample Verbindung des Nios V-Prozessors mit anderen Peripheriegeräten im Platform Designer
(1) Sie haben die Möglichkeit, die internen Timerfunktionen von Nios V zu verwenden, um den externen Intervall-Timer im Platform Designer zu ersetzen.
Feedback senden
Nios® V Embedded Processor Design Handbook 23
2. Nios V Prozessor-Hardwaresystemdesign mit Quartus Prime Software und Platform Designer
726952 | 2025.07.16
Sie müssen auch Betriebsstifte definieren, die als Conduit in Ihrem Platform Designer-System exportiert werden sollen. Zum BeispielampEine ordnungsgemäße Pinliste für den Betrieb eines FPGA-Systems ist wie folgt definiert, jedoch nicht darauf beschränkt:
· Uhr
· Zurücksetzen
· E/A-Signale
2.1.3. Festlegen von Basisadressen und Interrupt-Anforderungsprioritäten
Um festzulegen, wie die im Entwurf hinzugefügten Komponenten interagieren, um ein System zu bilden, müssen Sie Basisadressen für jede Agentenkomponente zuweisen und Interrupt Request (IRQ)-Prioritäten für die JTAG UART und Intervalltimer. Der Platform Designer bietet den Befehl „Basisadressen zuweisen“, der allen Komponenten eines Systems automatisch die richtigen Basisadressen zuweist. Sie können die Basisadressen jedoch Ihren Anforderungen entsprechend anpassen.
Im Folgenden finden Sie einige Richtlinien zum Zuweisen von Basisadressen:
· Der Nios V-Prozessorkern verfügt über einen 32-Bit-Adressbereich. Um auf Agentenkomponenten zugreifen zu können, muss ihre Basisadresse zwischen 0x00000000 und 0xFFFFFFFF liegen.
· Nios V-Programme verwenden symbolische Konstanten, um auf Adressen zu verweisen. Sie müssen keine Adresswerte wählen, die leicht zu merken sind.
· Adresswerte, die Komponenten nur durch einen Ein-Bit-Adressunterschied unterscheiden, führen zu effizienterer Hardware. Sie müssen nicht alle Basisadressen auf den kleinstmöglichen Adressbereich komprimieren, da dies zu weniger effizienter Hardware führen kann.
· Platform Designer versucht nicht, separate Speicherkomponenten in einem zusammenhängenden Speicherbereich auszurichten. Zum BeispielampWenn Sie beispielsweise mehrere On-Chip-Speicherkomponenten als einen zusammenhängenden Speicherbereich adressieren möchten, müssen Sie Basisadressen explizit zuweisen.
Platform Designer bietet außerdem einen Automatisierungsbefehl – „Interruptnummern zuweisen“, der IRQ-Signale verbindet, um gültige Hardwareergebnisse zu erzeugen. Die effektive Zuweisung von IRQs erfordert jedoch ein Verständnis des gesamten Systemreaktionsverhaltens. Platform Designer kann keine fundierten Vermutungen über die beste IRQ-Zuweisung anstellen.
Der niedrigste IRQ-Wert hat die höchste Priorität. In einem idealen System empfiehlt Altera, dass die Timer-Komponente den IRQ mit der höchsten Priorität, also den niedrigsten Wert, hat, um die Genauigkeit des Systemtakts aufrechtzuerhalten.
In einigen Fällen können Sie Echtzeitperipheriegeräten (wie Videocontrollern) eine höhere Priorität zuweisen, da diese eine höhere Interruptrate erfordern als Timerkomponenten.
Zugehörige Informationen
Benutzerhandbuch für Quartus Prime Pro Edition: Weitere Informationen zum Erstellen eines Systems mit Platform Designer.
Nios® V Embedded Processor Design Handbook 24
Feedback senden
2. Nios V Prozessor-Hardwaresystemdesign mit Quartus Prime Software und Platform Designer 726952 | 2025.07.16
2.2. Integration des Platform Designer Systems in das Quartus Prime-Projekt
Nachdem Sie das Nios V-Systemdesign in Platform Designer erstellt haben, führen Sie die folgenden Aufgaben aus, um das Nios V-Systemmodul in das Quartus Prime FPGA-Designprojekt zu integrieren. · Instanziieren Sie das Nios V-Systemmodul im Quartus Prime-Projekt · Verbinden Sie Signale vom Nios V-Systemmodul mit anderen Signalen in der FPGA-Logik · Weisen Sie die Position der physischen Pins zu · Beschränken Sie das FPGA-Design
2.2.1. Instanziieren des Nios V-Prozessorsystemmoduls im Quartus Prime-Projekt
Platform Designer generiert eine Systemmodul-Design-Entität, die Sie in Quartus Prime instanziieren können. Wie Sie das Systemmodul instanziieren, hängt von der Design-Eingabemethode für das gesamte Quartus Prime-Projekt ab. Zum BeispielampWenn Sie beispielsweise Verilog HDL für die Designeingabe verwenden, instanziieren Sie das Verilog-basierte Systemmodul. Wenn Sie die Blockdiagrammmethode für die Designeingabe bevorzugen, instanziieren Sie ein Systemmodulsymbol .bdf file.
2.2.2. Signale verbinden und physikalische Pinpositionen zuordnen
Um Ihr Altera FPGA-Design mit Ihrem Board-Level-Design zu verbinden, führen Sie die folgenden Aufgaben aus: · Identifizieren Sie die file für Ihr Design und Signale zur Verbindung mit externen Altera
FPGA-Gerätepins. · Informieren Sie sich über die zu verbindenden Pins in Ihrem Board-Level-Design-Benutzerhandbuch oder
Schaltpläne. · Weisen Sie Signale im Top-Level-Design den Ports Ihres Altera FPGA-Geräts mit Pin zu
Zuweisungstools.
Ihr Platform Designer-System kann das Top-Level-Design sein. Das Altera FPGA kann jedoch auch zusätzliche Logik basierend auf Ihren Anforderungen enthalten und führt so eine benutzerdefinierte Top-Level- fileDie oberste Ebene file verbindet die Signale des Nios V-Prozessorsystemmoduls mit anderer Altera FPGA-Designlogik.
Verwandte Informationen Quartus Prime Pro Edition-Benutzerhandbuch: Designbeschränkungen
2.2.3. Einschränkungen des Altera FPGA-Designs
Ein ordnungsgemäßes Altera FPGA-Systemdesign beinhaltet Designbeschränkungen, um sicherzustellen, dass das Design die Anforderungen an Timing-Closure und andere logische Beschränkungen erfüllt. Sie müssen Ihr Altera FPGA-Design explizit mithilfe von Tools der Quartus Prime-Software oder von EDA-Anbietern von Drittanbietern einschränken, um diese Anforderungen zu erfüllen. Die Quartus Prime-Software nutzt die bereitgestellten Beschränkungen während der Kompilierungsphase, um optimale Platzierungsergebnisse zu erzielen.
Feedback senden
Nios® V Embedded Processor Design Handbook 25
2. Nios V Prozessor-Hardwaresystemdesign mit Quartus Prime Software und Platform Designer
726952 | 2025.07.16
Verwandte Informationen · Benutzerhandbuch für Quartus Prime Pro Edition: Designbeschränkungen · EDA-Partner von Drittanbietern · Benutzerhandbuch für Quartus Prime Pro Edition: Timing-Analysator
2.3. Entwurf eines Nios V-Prozessorspeichersystems
In diesem Abschnitt werden die Best Practices für die Auswahl von Speichergeräten in einem Platform Designer-Embedded-System mit einem Nios V-Prozessor und die Erzielung optimaler Leistung beschrieben. Speichergeräte spielen eine entscheidende Rolle bei der Verbesserung der Gesamtleistung eines Embedded-Systems. Der Embedded-Systemspeicher speichert die Programmanweisungen und Daten.
2.3.1. Flüchtiger Speicher
Ein Hauptunterschied zwischen Speichertypen ist die Flüchtigkeit. Flüchtiger Speicher behält seinen Inhalt nur, solange er mit Strom versorgt wird. Sobald die Stromversorgung unterbrochen wird, verliert der Speicher seinen Inhalt.
ExampFlüchtiger Speicher ist RAM, Cache und Register. Dies sind schnelle Speichertypen, die die Leistung verbessern. Altera empfiehlt, Nios V-Prozessoranweisungen im RAM zu laden und auszuführen und den Nios V-IP-Kern mit On-Chip Memory IP oder External Memory Interface IP zu kombinieren, um optimale Leistung zu erzielen.
Um die Leistung zu verbessern, können Sie zusätzliche Platform Designer-Anpassungskomponenten eliminieren, indem Sie den Typ oder die Breite der Nios V-Prozessor-Datenmanager-Schnittstelle mit dem Boot-RAM abgleichen. Zum BeispielampSie können On-Chip Memory II mit einer 32-Bit-AXI-4-Schnittstelle konfigurieren, die der Nios V-Datenmanagerschnittstelle entspricht.
Verwandte Informationen · IP-Supportcenter für externe Speicherschnittstellen · On-Chip-Speicher (RAM oder ROM) Altera FPGA IP · On-Chip-Speicher II (RAM oder ROM) Altera FPGA IP · Nios V-Prozessoranwendung „Execute-In-Place“ von OCRAM auf Seite 54
2.3.1.1. On-Chip-Speicherkonfiguration RAM oder ROM
Sie können Altera FPGA On-Chip Memory IPs als RAM oder ROM konfigurieren. · RAM bietet Lese- und Schreibfunktionen und ist flüchtig. Wenn Sie
Beim Booten des Nios V-Prozessors aus einem On-Chip-RAM müssen Sie sicherstellen, dass der Boot-Inhalt bei einem Reset während der Laufzeit erhalten bleibt und nicht beschädigt wird. · Wenn ein Nios V-Prozessor aus dem ROM bootet, kann ein Softwarefehler auf dem Nios V-Prozessor den Inhalt des On-Chip-Speichers nicht versehentlich überschreiben. Dadurch wird das Risiko einer Beschädigung der Boot-Software reduziert.
Verwandte Informationen · On-Chip-Speicher (RAM oder ROM) Altera FPGA IP · On-Chip-Speicher II (RAM oder ROM) Altera FPGA IP · Nios V-Prozessoranwendung „Execute-In-Place“ von OCRAM auf Seite 54
Nios® V Embedded Processor Design Handbook 26
Feedback senden
2. Nios V Prozessor-Hardwaresystemdesign mit Quartus Prime Software und Platform Designer 726952 | 2025.07.16
2.3.1.2. Caches
Aufgrund ihrer geringen Latenz werden häufig On-Chip-Speicher zur Implementierung der Cache-Funktionalität verwendet. Der Nios V-Prozessor nutzt On-Chip-Speicher für seine Befehls- und Daten-Caches. Die begrenzte Kapazität des On-Chip-Speichers stellt für Caches in der Regel kein Problem dar, da diese typischerweise klein sind.
Caches werden üblicherweise unter den folgenden Bedingungen verwendet:
· Normaler Speicher befindet sich außerhalb des Chips und hat eine längere Zugriffszeit als On-Chip-Speicher.
· Die leistungskritischen Abschnitte des Softwarecodes können in den Befehlscache passen, was die Systemleistung verbessert.
· Der leistungskritische, am häufigsten verwendete Abschnitt der Daten kann in den Datencache passen, wodurch die Systemleistung verbessert wird.
Durch das Aktivieren von Caches im Nios V-Prozessor wird eine Speicherhierarchie erstellt, die die Speicherzugriffszeit minimiert.
2.3.1.2.1. Randgebiet
Eingebettete Peripherie-IPs wie UART, I2C und SPI dürfen nicht zwischengespeichert werden. Cache wird dringend für externe Speicher mit langen Zugriffszeiten empfohlen, während interne On-Chip-Speicher aufgrund ihrer kurzen Zugriffszeit ausgeschlossen werden können. Sie dürfen keine eingebetteten Peripherie-IPs wie UART, I2C und SPI zwischenspeichern, mit Ausnahme von Speichern. Dies ist wichtig, da Ereignisse von externen Geräten, wie z. B. Agent-Geräten, die die Soft-IPs aktualisieren, nicht vom Prozessor-Cache erfasst und somit nicht vom Prozessor empfangen werden. Daher können diese Ereignisse unbemerkt bleiben, bis Sie den Cache leeren, was zu unbeabsichtigtem Verhalten in Ihrem System führen kann. Zusammenfassend lässt sich sagen, dass der speicherabgebildete Bereich eingebetteter Peripherie-IPs nicht zwischengespeichert werden kann und sich innerhalb der Peripheriebereiche des Prozessors befinden muss.
Um eine Randregion festzulegen, gehen Sie folgendermaßen vor:
1. Öffnen Sie die Adresszuordnung des Systems im Plattform-Designer.
2. Navigieren Sie zur Adresszuordnung des Instruction Managers und Data Managers des Prozessors.
3. Identifizieren Sie die Peripheriegeräte und Speicher in Ihrem System.
Abbildung 12. Bspamplinke Seite der Adresskarte
Hinweis: Die blauen Pfeile zeigen auf Speicher. 4. Gruppieren Sie die Peripheriegeräte:
a. Speicher als cachefähig b. Peripheriegeräte als nicht cachefähig
Feedback senden
Nios® V Embedded Processor Design Handbook 27
2. Nios V Prozessor-Hardwaresystemdesign mit Quartus Prime Software und Platform Designer
726952 | 2025.07.16
Tabelle 19. Cachefähige und nicht cachefähige Bereiche
Untergeordnet
Adresskarte
Status
Peripherieregion
Größe
Basisadresse
Benutzeranwendungsspeicher.s1
0x0 ~ 0x3ffff
Zwischenspeicherbar
N / A
N / A
cpu.dm_agent bootcopier_rom.s1
0x40000 ~ 0x4ffff 0x50000 ~ 0x517ff
Nicht zwischenspeicherbar Zwischenspeicherbar
65536 Bytes N/A
0x40000 N/A
bootcopier_ram.s1 cpu.timer_sw_agent mailbox.avmm
0x52000 ~ 0x537ff 0x54000 ~ 0x5403f 0x54040 ~ 0x5407f
Zwischenspeicherbar Nicht zwischenspeicherbar Nicht zwischenspeicherbar
144 Bytes (Mindestgröße ist 65536 Bytes)
0 x 54000
sysid_qsys_0.control_slave
0 x 54080 ~ 0 x 54087
Nicht zwischenspeicherbar
uart.avalon_jtag_Sklave
0x54088 ~ 0x5408f
Nicht zwischenspeicherbar
5. Richten Sie die Randbereiche anhand ihrer spezifischen Größen aus:
· Zum BeispielampWenn die Größe beispielsweise 65536 Byte beträgt, entspricht dies 0x10000 Byte. Daher muss die zulässige Basisadresse ein Vielfaches von 0x10000 sein.
· Der CPU.dm_agent verwendet eine Basisadresse von 0x40000, die ein Vielfaches von 0x10000 ist. Daher erfüllt Peripheriebereich A mit einer Größe von 65536 Bytes und einer Basisadresse von 0x40000 die Anforderungen.
Die Basisadresse der nicht zwischenspeicherbaren Bereiche bei 0x54000 ist kein Vielfaches von 0x10000. Sie müssen sie auf 0x60000 oder ein anderes Vielfaches von 0x10000 umstellen. Somit erfüllt der Peripheriebereich B mit einer Größe von 65536 Bytes und der Basisadresse 0x60000 die Kriterien.
Tabelle 20. Cachefähige und nicht cachefähige Bereiche mit Neuzuweisung
Untergeordnet
Adresskarte
Status
Peripherieregion
Größe
Basisadresse
Benutzeranwendungsspeicher.s1
0x0 ~ 0x3ffff
Zwischenspeicherbar
N / A
N / A
cpu.dm_agent
0x40000 ~ 0x4ffff
Nicht zwischenspeicherbare 65536 Bytes
0 x 40000
bootcopier_rom.s1
0x50000 ~ 0x517ff
Zwischenspeicherbar
N / A
N / A
bootcopier_ram.s1 cpu.timer_sw_agent mailbox.avmm sysid_qsys_0.control_slave
0x52000 ~ 0x537ff 0x60000 ~ 0x6003f 0x60040 ~ 0x6007f 0x60080 ~ 0x60087
Zwischenspeicherbar Nicht zwischenspeicherbar Nicht zwischenspeicherbar Nicht zwischenspeicherbar
144 Bytes (Mindestgröße ist 65536 Bytes)
0 x 60000
uart.avalon_jtag_Sklave
0x60088 ~ 0x6008f
Nicht zwischenspeicherbar
2.3.1.3. Eng gekoppelter Speicher
Eng gekoppelte Speicher (TCMs) werden mithilfe von On-Chip-Speicher implementiert, da sie sich aufgrund ihrer geringen Latenz gut für diese Aufgabe eignen. TCMs sind Speicher, die im typischen Adressraum abgebildet sind, aber über eine dedizierte Schnittstelle zum Mikroprozessor verfügen und die hohe Leistung und geringe Latenz eines Cache-Speichers bieten. TCMs bieten außerdem eine untergeordnete Schnittstelle für den externen Host. Prozessor und externer Host verfügen über die gleiche Berechtigungsstufe für die Handhabung des TCMs.
Nios® V Embedded Processor Design Handbook 28
Feedback senden
2. Nios V Prozessor-Hardwaresystemdesign mit Quartus Prime Software und Platform Designer
726952 | 2025.07.16
Notiz:
Wenn der untergeordnete TCM-Port mit einem externen Host verbunden ist, wird er möglicherweise mit einer anderen Basisadresse angezeigt als der im Prozessorkern zugewiesenen Basisadresse. Altera empfiehlt, beide Adressen auf denselben Wert auszurichten.
2.3.1.4. Externe Speicherschnittstelle (EMIF)
EMIF (External Memory Interface) funktioniert ähnlich wie SRAM (Static Random Access Memory), ist jedoch dynamisch und muss regelmäßig aktualisiert werden, um seinen Inhalt zu erhalten. Die dynamischen Speicherzellen in EMIF sind deutlich kleiner als die statischen Speicherzellen in SRAM, was zu einer höheren Kapazität und geringeren Kosten der Speichergeräte führt.
Zusätzlich zur Aktualisierungsanforderung stellt EMIF spezifische Schnittstellenanforderungen, die oft spezielle Controller-Hardware erfordern. Im Gegensatz zu SRAM, das über einen festen Satz von Adressleitungen verfügt, organisiert EMIF seinen Speicherplatz in Bänke, Zeilen und Spalten. Das Umschalten zwischen Bänken und Zeilen verursacht einen gewissen Overhead, daher müssen Sie die Speicherzugriffe sorgfältig anordnen, um EMIF effizient zu nutzen. EMIF multiplext außerdem Zeilen- und Spaltenadressen über dieselben Adressleitungen, wodurch die Anzahl der für eine bestimmte EMIF-Größe erforderlichen Pins reduziert wird.
Schnellere EMIF-Versionen wie DDR, DDR2, DDR3, DDR4 und DDR5 stellen strenge Anforderungen an die Signalintegrität, die PCB-Designer berücksichtigen müssen.
EMIF-Geräte gehören zu den kostengünstigsten und kapazitätsstärksten RAM-Typen auf dem Markt und sind daher eine beliebte Option. Eine Schlüsselkomponente einer EMIF-Schnittstelle ist die EMIF-IP, die Aufgaben im Zusammenhang mit Adressmultiplexing, Aktualisierung und Umschaltung zwischen Zeilen und Bänken verwaltet. Dieses Design ermöglicht dem Rest des Systems den Zugriff auf EMIF, ohne dessen interne Architektur verstehen zu müssen.
Verwandte Informationen Externe Speicherschnittstellen IP Support Center
2.3.1.4.1. Adressbereichs-Extender-IP
Der Address Span Extender Altera FPGA IP ermöglicht speicherabgebildeten Hostschnittstellen den Zugriff auf eine größere oder kleinere Adresszuordnung als die Breite ihrer Adresssignale zulässt. Der Address Span Extender IP teilt den adressierbaren Speicher in mehrere separate Fenster auf, sodass der Host über das Fenster auf den entsprechenden Teil des Speichers zugreifen kann.
Der Address Span Extender beschränkt die Host- und Agentenbreite nicht auf eine 32-Bit- und 64-Bit-Konfiguration. Sie können den Address Span Extender mit 1-64-Bit-Adressfenstern verwenden.
Feedback senden
Nios® V Embedded Processor Design Handbook 29
2. Nios V Prozessor-Hardwaresystemdesign mit Quartus Prime Software und Platform Designer
726952 | 2025.07.16
Abbildung 13. Address Span Extender Altera FPGA IP
Agentenwortadresse
Adress-Span-Extender
A
Zuordnungstabelle
Steueranschluss A
…
Steuerregister 0 Steuerregister Z-1
Erweiterte Hostadresse H
Zugehörige Informationen
Quartus® Prime Pro Edition-Benutzerhandbuch: Plattform-Designer. Weitere Informationen finden Sie im Thema „Address Span Extender Intel® FPGA IP“.
2.3.1.4.2. Verwenden der Address Span Extender IP mit dem Nios V-Prozessor
Der 32-Bit-Nios-V-Prozessor kann bis zu 4 GB Adressraum adressieren. Enthält das EMIF mehr als 4 GB Speicher, überschreitet es den maximal unterstützten Adressraum und führt zu einem Fehler im Platform Designer-System. Um dieses Problem zu beheben, ist eine Address Span Extender IP erforderlich, die einen einzelnen EMIF-Adressraum in mehrere kleinere Fenster aufteilt.
Altera empfiehlt, die folgenden Parameter zu berücksichtigen.
Tabelle 21. Parameter des Address Span Extender
Parameter
Empfohlene Einstellungen
Datenpfadbreite
Erweiterte Master-Byte-Adressbreite
Wählen Sie 32 Bit, was dem 32-Bit-Prozessor entspricht. Hängt von der EMIF-Speichergröße ab.
Slave-Wortadressenbreite Burstcount-Breite
Wählen Sie 2 GB oder weniger. Der verbleibende Adressbereich des Nios V-Prozessors ist für andere eingebettete Soft-IPs reserviert.
Beginnen Sie mit 1 und erhöhen Sie diesen Wert schrittweise, um die Leistung zu verbessern.
Anzahl der Unterfenster
Wählen Sie 1 Unterfenster aus, wenn Sie EMIF als Befehls- und Datenspeicher oder beides mit dem Nios V-Prozessor verbinden. Das Wechseln zwischen mehreren Unterfenstern, während der Nios V-Prozessor von EMIF aus ausgeführt wird, ist gefährlich.
Slave-Steuerport aktivieren
Deaktivieren Sie den Slave-Steuerport, wenn Sie EMIF als Befehls- und/oder Datenspeicher an den Nios V-Prozessor anschließen. Gleiche Bedenken wie bei der Anzahl der Unterfenster.
Maximale Anzahl ausstehender Lesevorgänge
Beginnen Sie mit 1 und erhöhen Sie diesen Wert schrittweise, um die Leistung zu verbessern.
Nios® V Embedded Processor Design Handbook 30
Feedback senden
2. Nios V Prozessor-Hardwaresystemdesign mit Quartus Prime Software und Platform Designer 726952 | 2025.07.16
Abbildung 14. Verbinden des Befehls- und Datenmanagers mit dem Address Span Extender
Abbildung 15. Adresszuordnung
Beachten Sie, dass der Address Span Extender auf den gesamten 8 GB großen Speicherplatz des EMIF zugreifen kann. Der Nios V-Prozessor kann über den Address Span Extender jedoch nur auf den ersten 1 GB großen Speicherplatz des EMIF zugreifen.
Abbildung 16. Vereinfachtes Blockdiagramm
Plattform-Designer-System
Verbleibende 3 GB
Nios V-Prozessoradresse
Span ist für eingebettete
NNioios sVV PProrocecsesosor r
M
Soft-IPs im selben System.
1 GB Fenster
Adressbereich
S
Extender
M
Nur das erste 1 GB
des EMIF-Speichers ist mit Nios V verbunden
EMIF
Prozessor.
8 GB
S
Feedback senden
Nios® V Embedded Processor Design Handbook 31
2. Nios V Prozessor-Hardwaresystemdesign mit Quartus Prime Software und Platform Designer
726952 | 2025.07.16
2.3.1.4.3. Definieren des Address Span Extender Linker-Speichergeräts 1. Definieren Sie den Address Span Extender (EMIF) als Reset-Vektor. Alternativ können Sie den Reset-Vektor des Nios V-Prozessors anderen Speichern wie OCRAM oder Flash-Geräten zuweisen.
Abbildung 17. Mehrere Optionen als Reset-Vektor
Der Board Support Package (BSP) Editor kann den Address Span Extender (EMIF) jedoch nicht automatisch als gültigen Speicher registrieren. Abhängig von Ihrer Auswahl ergeben sich zwei unterschiedliche Situationen, wie in den folgenden Abbildungen dargestellt. Abbildung 18. BSP-Fehler beim Definieren des Address Span Extender (EMIF) als Reset-Vektor
Nios® V Embedded Processor Design Handbook 32
Feedback senden
2. Nios V Prozessor-Hardwaresystemdesign mit Quartus Prime Software und Platform Designer 726952 | 2025.07.16
Abbildung 19. Fehlendes EMIF beim Definieren anderer Speicher als Reset-Vektor
2. Sie müssen den Address Span Extender (EMIF) manuell hinzufügen, indem Sie auf der Registerkarte „BSP-Linker-Skript“ die Optionen „Speichergerät hinzufügen“, „Linker-Speicherbereich hinzufügen“ und „Linker-Abschnittszuordnungen hinzufügen“ verwenden.
3. Befolgen Sie diese Schritte:
a. Bestimmen Sie die Adressspanne des Address Span Extenders mithilfe der Memory Map (Die example in der folgenden Abbildung verwendet den Address Span Extender-Bereich von 0x0 bis 0x3fff_ffff).
Abbildung 20. Speicherzuordnung
b. Klicken Sie auf „Speichergerät hinzufügen“ und füllen Sie die Felder basierend auf den Informationen in der Speicherzuordnung Ihres Designs aus: i. Gerätename: emif_ddr4. Hinweis: Stellen Sie sicher, dass Sie denselben Namen aus der Speicherzuordnung kopieren. ii. Basisadresse: 0x0 iii. Größe: 0x40000000
c. Klicken Sie auf Hinzufügen, um einen neuen Linker-Speicherbereich hinzuzufügen:
Feedback senden
Nios® V Embedded Processor Design Handbook 33
2. Nios V Prozessor-Hardwaresystemdesign mit Quartus Prime Software und Platform Designer
726952 | 2025.07.16
Tabelle 22. Hinzufügen eines Linker-Speicherbereichs
Vorgehensweise
Vektor zurücksetzen
emif_ddr4
Andere Erinnerungen
1
Fügen Sie einen neuen Linker-Speicherbereich mit dem Namen „Reset“ hinzu. Fügen Sie einen neuen Linker-Speicherbereich für den
· Regionsname: zurücksetzen
emif_ddr4.
· Regionsgröße: 0x20
· Regionsname: emif_ddr4
· Speichergerät: emif_ddr4
· Regionsgröße: 0x40000000
· Speicheroffset: 0x0
· Speichergerät: emif_ddr4
· Speicheroffset: 0x0
2
Fügen Sie einen neuen Linker-Speicherbereich für die
verbleibendes emif_ddr4.
· Regionsname: emif_ddr4
· Regionsgröße: 0x3fffffe0
· Speichergerät: emif_ddr4
· Speicheroffset: 0x20
Abbildung 21. Linker-Region beim Definieren des Address Span Extender (EMIF) als Reset-Vektor
Abbildung 22. Linker-Region beim Definieren anderer Speicher als Reset-Vektor
d. Sobald emif_ddr4 zum BSP hinzugefügt wurde, können Sie es für jeden Linker-Abschnitt auswählen.
Abbildung 23. Address Span Extender (EMIF) erfolgreich hinzugefügt
e. Ignorieren Sie die Warnung, dass das Speichergerät emif_ddr4 im SOPC-Design nicht sichtbar ist.
f. Fahren Sie mit der Generierung von BSP fort.
Verwandte Informationen Einführung in die Boot-Methoden für Nios V-Prozessoren auf Seite 51
Nios® V Embedded Processor Design Handbook 34
Feedback senden
2. Nios V Prozessor-Hardwaresystemdesign mit Quartus Prime Software und Platform Designer 726952 | 2025.07.16
2.3.2. Nichtflüchtiger Speicher
Nichtflüchtiger Speicher behält seinen Inhalt auch nach dem Ausschalten der Stromversorgung bei und eignet sich daher gut zum Speichern von Informationen, die das System nach einem System-Aus- und Wiedereinschalten abrufen muss. Nichtflüchtiger Speicher speichert üblicherweise Prozessor-Bootcode, persistente Anwendungseinstellungen und Altera FPGA-Konfigurationsdaten. Obwohl nichtflüchtiger Speicher den Vorteil hattagDa die Daten beim Abschalten der Stromversorgung erhalten bleiben, ist dieser Speicher im Vergleich zum flüchtigen Speicher deutlich langsamer und erfordert oft komplexere Schreib- und Löschvorgänge. Außerdem ist bei nichtflüchtigem Speicher in der Regel nur eine bestimmte Anzahl von Löschvorgängen garantiert, danach kann es zu Ausfällen kommen.
ExampZu den nichtflüchtigen Speicherdateien gehören alle Arten von Flash, EPROM und EEPROM. Altera empfiehlt, Altera FPGA-Bitstreams und Nios V-Programmimages in einem nichtflüchtigen Speicher zu speichern und seriellen Flash als Boot-Gerät für Nios V-Prozessoren zu verwenden.
Zugehörige Informationen
· Generische serielle Flash-Schnittstelle Altera FPGA IP Benutzerhandbuch
· Mailbox-Client Altera FPGA IP-Benutzerhandbuch · MAX® 10-Benutzer-Flash-Speicher-Benutzerhandbuch: On-Chip-Flash Altera FPGA IP-Core
2.4. Best Practices für Uhren und Resets
Es ist wichtig zu verstehen, wie die Takt- und Reset-Domäne des Nios-V-Prozessors mit allen angeschlossenen Peripheriegeräten interagiert. Ein einfaches Nios-V-Prozessorsystem beginnt mit einer einzigen Taktdomäne. Bei einem System mit mehreren Taktdomänen kann es kompliziert werden, wenn eine schnelle Taktdomäne mit einer langsamen kollidiert. Sie müssen wissen, wie diese verschiedenen Domänen aus dem Reset herauskommen, und sicherstellen, dass keine subtilen Probleme auftreten.
Als bewährte Methode empfiehlt Altera, den Nios-V-Prozessor und den Boot-Speicher in derselben Taktdomäne zu platzieren. Geben Sie den Nios-V-Prozessor nicht aus dem Reset in einer schnellen Taktdomäne frei, wenn er aus einem Speicher in einer sehr langsamen Taktdomäne bootet, da dies zu einem Befehlsabruffehler führen kann. Möglicherweise benötigen Sie eine manuelle Sequenzierung, die über die standardmäßige Konfiguration von Platform Designer hinausgeht, und planen Sie die Reset-Release-Topologie entsprechend Ihrem Anwendungsfall. Wenn Sie Ihr System nach dem Hochfahren und einer gewissen Laufzeit zurücksetzen möchten, berücksichtigen Sie die gleichen Überlegungen zur System-Reset-Sequenzierung und den Initialisierungsanforderungen nach dem Reset.
2.4.1. System JTAG Uhr
Die Festlegung der Taktbeschränkungen in jedem Nios V-Prozessorsystem ist ein wichtiger Aspekt des Systemdesigns und für Korrektheit und deterministisches Verhalten erforderlich. Der Quartus Prime Timing Analyzer führt eine statische Timing-Analyse durch, um die Timing-Performance der gesamten Logik in Ihrem Design mithilfe branchenüblicher Beschränkungs-, Analyse- und Berichtsmethoden zu validieren.
Example 1. Grundlegender 100-MHz-Takt mit 50/50-Arbeitszyklus und 16 MHz JTAG Uhr
#**************************************************************** # 100-MHz-Uhr erstellen #******************************************************************** create_clock -name {clk} -period 10 [get_ports {clk}] #************************ 16-MHz-J erstellenTAG Uhr #************************
Feedback senden
Nios® V Embedded Processor Design Handbook 35
2. Nios V Prozessor-Hardwaresystemdesign mit Quartus Prime Software und Platform Designer
726952 | 2025.07.16
create_clock -name {altera_reserved_tck} -period 62.500 [get_ports {altera_reserved_tck}] set_clock_groups -asynchronous -group [get_clocks {altera_reserved_tck}] Verwandte Informationen Quartus Prime Timing Analyzer Cookbook
2.4.2. Reset-Anforderungsschnittstelle
Der Nios V-Prozessor verfügt über eine optionale Reset-Anforderungsfunktion. Die Reset-Anforderungsfunktion besteht aus den Signalen reset_req und reset_req_ack.
So aktivieren Sie die Reset-Anforderung im Platform Designer: 1. Starten Sie den Nios V Processor IP Parameter Editor. 2. Aktivieren Sie in der Einstellung „Reset-Anforderung verwenden“ die Option „Schnittstelle für Reset-Anforderung hinzufügen“.
Option.
Abbildung 24. Anforderung zum Zurücksetzen des Nios V-Prozessors aktivieren
Das reset_req-Signal fungiert als Interrupt. Wenn Sie das reset_req-Signal aktivieren, fordern Sie einen Reset des Kerns an. Der Kern wartet auf eine ausstehende Bustransaktion, um ihren Vorgang abzuschließen. Zum BeispielampWenn beispielsweise eine Transaktion mit einem ausstehenden Speicherzugriff vorliegt, wartet der Kern auf eine vollständige Antwort. Ebenso akzeptiert der Kern alle ausstehenden Befehlsantworten, gibt jedoch nach Erhalt des Signals reset_req keine Befehlsanforderung aus.
Der Reset-Vorgang besteht aus folgendem Ablauf: 1. Alle ausstehenden Vorgänge abschließen 2. Interne Pipeline leeren 3. Programmzähler auf den Reset-Vektor setzen 4. Kern zurücksetzen Der gesamte Reset-Vorgang dauert einige Taktzyklen. Die Reset-Anforderung muss so lange bestehen bleiben, bis die Reset-Anforderung (Reset_req_ack) den erfolgreichen Abschluss des Kern-Resets anzeigt. Andernfalls ist der Zustand des Kerns nicht deterministisch.
Nios® V Embedded Processor Design Handbook 36
Feedback senden
2. Nios V Prozessor-Hardwaresystemdesign mit Quartus Prime Software und Platform Designer 726952 | 2025.07.16
2.4.2.1. Typische Anwendungsfälle
· Sie können das Signal reset_req beim Einschalten aktivieren, um zu verhindern, dass der Nios V-Prozessorkern die Programmausführung von seinem Reset-Vektor aus startet, bis andere FPGA-Hosts im System den Boot-Speicher des Nios V-Prozessors initialisieren. In diesem Fall kann das gesamte Subsystem einen sauberen Hardware-Reset erfahren. Der Nios V-Prozessor wird unbegrenzt in einem Reset-Anforderungszustand gehalten, bis die anderen FPGA-Hosts den Boot-Speicher des Prozessors initialisieren.
· In einem System, in dem Sie den Nios V-Prozessorkern zurücksetzen müssen, ohne den Rest des Systems zu stören, können Sie das Signal reset_req aktivieren, um den aktuellen Betrieb des Kerns sauber anzuhalten und den Prozessor vom Reset-Vektor aus neu zu starten, sobald das System das Signal reset_req_ack freigibt.
· Ein externer Host kann die Reset-Anforderungsschnittstelle verwenden, um die Implementierung der folgenden Aufgaben zu vereinfachen:
– Stoppen Sie das aktuelle Nios V-Prozessorprogramm.
— Laden Sie ein neues Programm in den Bootspeicher des Nios V-Prozessors.
– Ermöglichen Sie dem Prozessor, mit der Ausführung des neuen Programms zu beginnen.
Altera empfiehlt die Implementierung eines Timeout-Mechanismus zur Überwachung des Status des reset_req_ack-Signals. Fällt der Nios V-Prozessorkern in einen unendlichen Wartezustand und bleibt aus unbekanntem Grund hängen, kann reset_req_ack nicht unbegrenzt aktiviert werden. Der Timeout-Mechanismus ermöglicht Ihnen:
· Definieren Sie eine Wiederherstellungszeitüberschreitung und führen Sie eine Systemwiederherstellung mit einem Reset auf Systemebene durch.
· Führen Sie einen Hardware-Reset durch.
2.4.3. Release-IP zurücksetzen
Altera SDM-basierte Geräte verwenden eine parallele, sektorbasierte Architektur, die die Core Fabric-Logik auf mehrere Sektoren verteilt. Altera empfiehlt die Verwendung der Reset Release Altera FPGA IP als einen der ersten Eingänge für die Reset-Schaltung. Intel® SDM-basierte Geräte umfassen Stratix® 10 und AgilexTM-Geräte. Control-Block-basierte Geräte sind von dieser Anforderung nicht betroffen.
Zugehörige Informationen
AN 891: Verwenden der Reset-Release-Alera-FPGA-IP
2.5. Zuweisen eines Standardagenten
Mit Platform Designer können Sie einen Standardagenten angeben, der als Fehlerantwort-Standardagent fungiert. Der von Ihnen festgelegte Standardagent stellt einen Fehlerantwortdienst für Hosts bereit, die nicht dekodierte Zugriffe auf die Adresszuordnung versuchen.
Die folgenden Szenarien lösen ein nicht dekodiertes Ereignis aus:
· Verletzung des Sicherheitsstatus der Bustransaktion
· Transaktionszugriff auf undefinierten Speicherbereich
· Ausnahmeereignis usw.
Feedback senden
Nios® V Embedded Processor Design Handbook 37
2. Nios V Prozessor-Hardwaresystemdesign mit Quartus Prime Software und Platform Designer
726952 | 2025.07.16
Zur Verarbeitung solcher Ereignisse sollte ein Standardagent zugewiesen werden, bei dem undefinierte Transaktionen an den Standardagenten umgeleitet werden und dieser anschließend dem Nios V-Prozessor mit einer Fehlerantwort antwortet.
Zugehörige Informationen
· Quartus Prime Pro Edition-Benutzerhandbuch: Plattform-Designer. Festlegen eines Standardagenten
· Quartus Prime Pro Edition-Benutzerhandbuch: Plattform-Designer. Fehlerantwort-Slave Altera FPGA IP
· Github – Ergänzende Reset-Komponenten für Qsys
2.6. Zuweisen eines UART-Agenten zum Drucken
Das Drucken ist nützlich zum Debuggen der Softwareanwendung sowie zur Überwachung des Systemstatus. Altera empfiehlt das Drucken grundlegender Informationen wie Startmeldung, Fehlermeldung und Ausführungsfortschritt der Softwareanwendung.
Vermeiden Sie die Verwendung der Bibliotheksfunktion printf() unter den folgenden Umständen: · Die Bibliothek printf() führt dazu, dass die Anwendung blockiert, wenn kein Host die Ausgabe liest.
Dies gilt für die JTAG Nur UART. · Die printf()-Bibliothek verbraucht große Mengen an Programmspeicher.
2.6.1. Verhinderung von Strömungsabrissen durch das JTAG UART
Tabelle 23. Unterschiede zwischen traditionellem UART und JTAG UART
UART-Typ Traditioneller UART
Beschreibung
Überträgt serielle Daten unabhängig davon, ob ein externer Host zuhört. Wenn kein Host die seriellen Daten liest, gehen die Daten verloren.
JTAG UART
Schreibt die übertragenen Daten in einen Ausgabepuffer und verlässt sich auf einen externen Host, der aus dem Puffer liest, um ihn zu leeren.
Der JTAG Der UART-Treiber wartet, bis der Ausgabepuffer voll ist. Der JTAG Der UART-Treiber wartet, bis ein externer Host den Ausgabepuffer liest, bevor er weitere Sendedaten schreibt. Dieser Prozess verhindert den Verlust von Sendedaten.
Wenn jedoch kein System-Debugging erforderlich ist, beispielsweise während der Produktion, werden eingebettete Systeme ohne einen Host-PC bereitgestellt, der mit J verbunden istTAG UART. Wenn das System die JTAG UART als UART-Agent kann zu einem Systemstillstand führen, da kein externer Host verbunden ist.
Um ein Abwürgen durch J zu verhindernTAG UART, wenden Sie eine der folgenden Optionen an:
Nios® V Embedded Processor Design Handbook 38
Feedback senden
2. Nios V Prozessor-Hardwaresystemdesign mit Quartus Prime Software und Platform Designer
726952 | 2025.07.16
Tabelle 24. Verhinderung des Abwürgens durch JTAG UART
Optionen
Keine UART-Schnittstelle und kein Treiber vorhanden
Andere UART-Schnittstelle und Treiber verwenden
J bewahrenTAG UART-Schnittstelle (ohne Treiber)
Während der Hardwareentwicklung (im Platform Designer)
Während der Softwareentwicklung (im Board Support Package Editor)
J entfernenTAG UART vom System
Konfigurieren Sie hal.stdin, hal.stdout und hal.stderr als „Keine“.
Ersetzen Sie JTAG UART mit anderen Soft-Configure hal.stdin, hal.stdout und hal.stderr
UART-IP
mit anderen Soft-UART-IPs.
J bewahrenTAG UART im System
· Konfigurieren Sie hal.stdin, hal.stdout und hal.stderr im Board Support Package Editor als „Keine“.
· J deaktivierenTAG UART-Treiber auf der Registerkarte BSP-Treiber.
2.7. JTAG Signale
Das Nios V-Prozessor-Debugmodul verwendet das JTAG Schnittstelle für Software-ELF-Download und Software-Debugging. Wenn Sie Ihr Design mit dem J debuggenTAG Schnittstelle, die JTAG Die Signale TCK, TMS, TDI und TDO sind Teil des Designs. Die Angabe des JTAG Signalbeschränkungen in jedem Nios V-Prozessorsystem sind ein wichtiger Aspekt des Systemdesigns und für die Richtigkeit und das deterministische Verhalten erforderlich.
Altera empfiehlt, dass die Systemtaktfrequenz jedes Designs mindestens das Vierfache der JTAG Taktfrequenz, um sicherzustellen, dass der On-Chip-Instrumentierungskern (OCI) ordnungsgemäß funktioniert.
Verwandte Informationen · Quartus® Prime Timing Analyzer Cookbook: JTAG Signale
Weitere Informationen zu JTAG Richtlinien für Zeitbeschränkungen. · KDB: Warum schlägt der Niosv-Download mit einem nicht-pipelined Nios® V/m-Prozessor fehl bei
JTAG Frequenz 24 MHz oder 16 MHz?
2.8. Optimieren der Systemleistung des Platform Designers
Platform Designer bietet Tools zur Optimierung der Leistung der Systemverbindung für Altera-FPGA-Designs.
Feedback senden
Nios® V Embedded Processor Design Handbook 39
2. Nios V Prozessor-Hardwaresystemdesign mit Quartus Prime Software und Platform Designer
726952 | 2025.07.16
Abbildung 25. Optimierungsbeispielamples
Der ExampDie in der Abbildung gezeigte Datei veranschaulicht die folgenden Schritte:
1. Fügt Pipeline Bridge hinzu, um kritische Pfade zu entlasten, indem es platziert wird: a. Zwischen dem Instruction Manager und seinen Agenten b. Zwischen dem Data Manager und seinen Agenten
2. Wenden Sie True Dual Port On-Chip RAM an, wobei jeder Port dem Instruction Manager bzw. dem Data Manager zugeordnet ist
Nios® V Embedded Processor Design Handbook 40
Feedback senden
2. Nios V Prozessor-Hardwaresystemdesign mit Quartus Prime Software und Platform Designer 726952 | 2025.07.16
Unter den folgenden Links finden Sie weitere Informationen zu Techniken zur optimalen Nutzung der verfügbaren Tools und den Kompromissen der einzelnen Implementierungen.
Verwandte Informationen · Quartus® Prime Pro Edition Benutzerhandbuch: Platform Designer
Weitere Informationen finden Sie im Thema „Optimieren der Systemleistung von Platform Designer“. · Quartus® Prime Standard Edition-Benutzerhandbuch: Platform Designer. Weitere Informationen finden Sie im Thema „Optimieren der Systemleistung von Platform Designer“.
Feedback senden
Nios® V Embedded Processor Design Handbook 41
726952 | 2025.07.16 Feedback senden
3. Nios V Prozessor-Softwaresystemdesign
Dieses Kapitel beschreibt den Softwareentwicklungsablauf des Nios V-Prozessors und die Softwaretools, die Sie für die Entwicklung Ihres Embedded-Design-Systems verwenden können. Der Inhalt dient als Überblickview bevor Sie ein Nios V-Prozessor-Softwaresystem entwickeln.
Abbildung 26. Software-Design-Flow
Start
Generieren Sie das BSP im Platform Designer mithilfe des BSP-Editors
Generieren Sie das BSP mit der Nios V-Befehlsshell
Generieren Sie den CMake-Build der Anwendung File Verwenden der Nios V-Befehlsshell
Notiz:
Importieren Sie den BSP- und Anwendungs-CMake-Build File
Erstellen Sie die Nios V-Prozessoranwendung mit dem
RiscFree IDE für Intel FPGA
Erstellen Sie die Nios V Processor-Anwendung mit einem beliebigen
Befehlszeilen-Quellcode-Editor, CMake und Make
Befehle
Ende
Altera empfiehlt die Verwendung eines Altera FPGA-Entwicklungskits oder einer benutzerdefinierten Prototypenplatine für die Softwareentwicklung und das Debuggen. Viele Peripheriegeräte und Systemfunktionen sind nur verfügbar, wenn Ihre Software auf einer echten Platine ausgeführt wird.
© Altera Corporation. Altera, das Altera-Logo, das „a“-Logo und andere Altera-Marken sind Marken der Altera Corporation. Altera behält sich das Recht vor, jederzeit und ohne Vorankündigung Änderungen an Produkten und Dienstleistungen vorzunehmen. Altera übernimmt keine Verantwortung oder Haftung für die Anwendung oder Nutzung der hier beschriebenen Informationen, Produkte oder Dienstleistungen, sofern nicht ausdrücklich schriftlich mit Altera vereinbart. Altera-Kunden wird empfohlen, sich die neueste Version der Gerätespezifikationen zu besorgen, bevor sie sich auf veröffentlichte Informationen verlassen und bevor sie Produkte oder Dienstleistungen bestellen. *Andere Namen und Marken sind Eigentum Dritter.
3. Nios V Prozessor Software System Design 726952 | 2025.07.16
3.1. Ablauf der Softwareentwicklung für den Nios V-Prozessor
3.1.1. Board-Support-Paket-Projekt
Ein Nios V Board Support Package (BSP)-Projekt ist eine spezialisierte Bibliothek mit systemspezifischem Supportcode. Ein BSP bietet eine Software-Laufzeitumgebung, die für einen Prozessor in einem Nios V-Prozessor-Hardwaresystem angepasst ist.
Die Quartus Prime-Software bietet den Nios V Board Support Package Editor und die Dienstprogrammtools niosv-bsp zum Ändern von Einstellungen, die das Verhalten des BSP steuern.
Ein BSP enthält die folgenden Elemente: · Hardware-Abstraktionsschicht · Gerätetreiber · Optionale Softwarepakete · Optionales Echtzeitbetriebssystem
3.1.2. Anwendungsprojekt
Ein Nios VC/C++-Anwendungsprojekt hat die folgenden Funktionen: · Besteht aus einer Sammlung von Quellcode und einer CMakeLists.txt.
— Die Datei CMakeLists.txt kompiliert den Quellcode und verknüpft ihn mit einem BSP und einer oder mehreren optionalen Bibliotheken, um eine .elf-Datei zu erstellen. file
· Eine der Quellen files enthält die Funktion main(). · Enthält Code, der Funktionen in Bibliotheken und BSPs aufruft.
Altera bietet das Dienstprogramm niosv-app in den Dienstprogrammtools der Quartus Prime-Software zum Erstellen der Anwendung CMakeLists.txt und RiscFree IDE für Altera-FPGAs zum Ändern des Quellcodes in einer Eclipse-basierten Umgebung.
3.2. Altera FPGA Embedded Entwicklungstools
Der Nios V-Prozessor unterstützt die folgenden Tools für die Softwareentwicklung: · Grafische Benutzeroberfläche (GUI) – Grafische Entwicklungstools, die verfügbar sind in
Windows*- und Linux*-Betriebssysteme (OS). — Nios V Board Support Package Editor (Nios V BSP Editor) — Ashling RiscFree IDE für Altera FPGAs · Befehlszeilentools (CLI) – Entwicklungstools, die über die Nios V-Befehlsshell gestartet werden. Jedes Tool bietet eine eigene Dokumentation in Form einer über die Befehlszeile zugänglichen Hilfe. Öffnen Sie die Nios V-Befehlsshell und geben Sie den folgenden Befehl ein: –helfen zu view das Hilfemenü. — Nios V Utilities Tools — File Formatkonvertierungstools – Andere Dienstprogramme
Feedback senden
Nios® V Embedded Processor Design Handbook 43
3. Nios V Prozessor Software System Design 726952 | 2025.07.16
Tabelle 25. Übersicht über die Aufgaben der GUI-Tools und Befehlszeilentools
Aufgabe
GUI-Tool
Befehlszeilentool
Erstellen eines BSP
Nios V BSP-Editor
· In der Quartus Prime Pro Edition-Software: niosv-bsp -c -s=<.qsys file> -t= [OPTIONEN] settings.bsp
· In der Quartus Prime Standard Edition-Software: niosv-bsp -c -s=<.sopcinfo file> -t= [OPTIONEN] settings.bsp
Generieren eines BSP mithilfe einer vorhandenen .bsp file
Aktualisieren eines BSP
Nios V BSP Editor Nios V BSP Editor
niosv-bsp -g [OPTIONEN] settings.bsp niosv-bsp -u [OPTIONEN] settings.bsp
Untersuchen eines BSP
Nios V BSP-Editor
niosv-bsp -q -E= [OPTIONEN] settings.bsp
Erstellen einer Anwendung
–
niosv-app -a= -b= -s= files Verzeichnis> [OPTIONEN]
Erstellen einer Benutzerbibliothek
–
niosv-app -l= -s= files Verzeichnis> -p= [OPTIONEN]
Ändern einer Anwendung Ändern einer Benutzerbibliothek Erstellen einer Anwendung
RiscFree IDE für Altera FPGAs
RiscFree IDE für Altera FPGAs
RiscFree IDE für Altera FPGAs
Jeder Befehlszeilen-Quellcode-Editor
Jeder Befehlszeilen-Quellcode-Editor
· machen · cmake
Erstellen einer Benutzerbibliothek
RiscFree IDE für Altera FPGAs
· machen · cmake
Herunterladen einer Anwendung ELF
Konvertieren der .elf-Datei file
RiscFree IDE für Altera FPGAs
–
niosv-download
· elf2flash · elf2hex
Zugehörige Informationen
Ashling RiscFree Integrated Development Environment (IDE) für Altera FPGAs – Benutzerhandbuch
3.2.1. Nios V Prozessorplatinen-Supportpaket-Editor
Mit dem BSP-Editor für den Nios V-Prozessor können Sie die folgenden Aufgaben ausführen: · Erstellen oder Ändern eines BSP-Projekts für den Nios V-Prozessor · Bearbeiten von Einstellungen, Linker-Regionen und Abschnittszuordnungen · Auswählen von Softwarepaketen und Gerätetreibern.
Zu den Funktionen des BSP-Editors gehören die Funktionen der Dienstprogramme niosv-bsp. Jedes im BSP-Editor erstellte Projekt kann auch mit den Befehlszeilendienstprogrammen erstellt werden.
Nios® V Embedded Processor Design Handbook 44
Feedback senden
3. Nios V Prozessor Software System Design 726952 | 2025.07.16
Notiz:
Informationen zur Software Quartus Prime Standard Edition finden Sie unter AN 980: Nios V Processor Quartus Prime Software Support für die Schritte zum Aufrufen der BSP-Editor-GUI.
Um den BSP-Editor zu starten, gehen Sie folgendermaßen vor: 1. Öffnen Sie Platform Designer und navigieren Sie zum File Speisekarte.
a. So öffnen Sie eine vorhandene BSP-Einstellung file, klicken Sie auf Öffnen… b. Um ein neues BSP zu erstellen, klicken Sie auf Neues BSP… 2. Wählen Sie die Registerkarte BSP-Editor und geben Sie die entsprechenden Details ein.
Abbildung 27. BSP-Editor starten
Verwandte Informationen AN 980: Nios V Prozessor Quartus Prime Software-Support
3.2.2. RiscFree IDE für Altera FPGAs
Die RiscFree IDE für Altera FPGAs ist eine Eclipse-basierte IDE für den Nios V-Prozessor. Altera empfiehlt, die Nios V-Prozessorsoftware aus folgenden Gründen in dieser IDE zu entwickeln: · Die Funktionen wurden entwickelt und auf Kompatibilität mit dem Nios V geprüft.
Prozessor-Build-Flow. · Ausgestattet mit allen notwendigen Toolchains und unterstützenden Tools, die es Ihnen ermöglichen
um einfach mit der Entwicklung des Nios V-Prozessors zu beginnen.
Verwandte Informationen Ashling RiscFree Integrated Development Environment (IDE) für Altera FPGAs – Benutzerhandbuch
3.2.3. Nios V Dienstprogramme
Sie können Nios V-Programme mit Befehlen erstellen, ändern und erstellen, die in einer Befehlszeile eingegeben oder in ein Skript eingebettet werden. Die in diesem Abschnitt beschriebenen Nios V-Befehlszeilentools befinden sich im /niosv/bin-Verzeichnis.
Feedback senden
Nios® V Embedded Processor Design Handbook 45
3. Nios V Prozessor Software System Design 726952 | 2025.07.16
Tabelle 26. Nios V-Dienstprogramme
Befehlszeilentools
Zusammenfassung
niosv-app niosv-bsp niosv-download niosv-shell niosv-stack-report
So generieren und konfigurieren Sie ein Anwendungsprojekt.
So erstellen oder aktualisieren Sie BSP-Einstellungen file und erstellen Sie die BSP files. Zum Herunterladen der ELF file an einen Nios® V-Prozessor.
Um die Nios V-Befehlsshell zu öffnen. Um Sie über den verbleibenden Speicherplatz zu informieren, der Ihrer Anwendung .elf für die Stapel- oder Heap-Nutzung zur Verfügung steht.
3.2.4. File Formatkonvertierungstools
File Bei der Datenübertragung von einem Dienstprogramm zu einem anderen ist manchmal eine Formatkonvertierung erforderlich. file Formatkonvertierungstools sind in der
Softwareinstallationsverzeichnis>/niosv/bin-Verzeichnis.
Tabelle 27. File Formatkonvertierungstools
Befehlszeilentools elf2flash elf2hex
Zusammenfassung So übersetzen Sie die .elf-Datei file in das .srec-Format für die Flash-Speicherprogrammierung. Um die .elf-Datei zu übersetzen file in das .hex-Format zur Speicherinitialisierung.
3.2.5. Weitere Dienstprogramme
Sie benötigen möglicherweise die folgenden Befehlszeilentools, wenn Sie ein System mit Nios V-Prozessor erstellen. Diese Befehlszeilentools werden entweder von Intel in /quartus/bin oder erworben von
Open-Source-Tools.
Tabelle 28. Andere Befehlszeilentools
Befehlszeilentools
Typ
Zusammenfassung
Juart-Terminal
Von Intel bereitgestellt
Zur Überwachung von stdout und stderr und zur Bereitstellung von Eingaben für einen Nios® V-Prozessor
Subsystem über stdin. Dieses Tool gilt nur für das JTAG UART-IP, wenn es mit dem Nios® V-Prozessor verbunden ist.
openocd
Von Intel bereitgestellt, um OpenOCD auszuführen.
openocd-cfg-gen
Von Intel bereitgestellt · So generieren Sie die OpenOCD-Konfiguration file. · Zur Anzeige von JTAG Kettengeräteindex.
Nios® V Embedded Processor Design Handbook 46
Feedback senden
726952 | 2025.07.16 Feedback senden
4. Nios V-Prozessorkonfiguration und Bootlösungen
Sie können den Nios V-Prozessor so konfigurieren, dass er Software von verschiedenen Speicherorten startet und ausführt. Der Startspeicher ist der Quad Serial Peripheral Interface (QSPI)-Flash, On-Chip Memory (OCRAM) oder Tightly Coupled Memory (TCM).
Verwandte Informationen · Einschalttriggerbedingungen auf Seite 193 · Einschalttrigger
Weitere Informationen zu Power-Up-Triggern.
4.1. Einleitung
Der Nios V-Prozessor unterstützt zwei Arten von Bootvorgängen: · Execute-in-Place (XIP) mit der Funktion alt_load() · Programmkopie in den RAM mit dem Boot-Kopierer. Die Entwicklung eingebetteter Nios V-Programme basiert auf der Hardware Abstraction Layer (HAL). Der HAL bietet ein kleines Bootloader-Programm (auch Boot-Kopierer genannt), das relevante Linker-Abschnitte beim Booten aus dem Boot-Speicher an ihren Laufzeitspeicherort kopiert. Sie können die Laufzeitspeicherorte für Programme und Daten im Board Support Package (BSP)-Editor festlegen. Dieser Abschnitt beschreibt: · Boot-Kopierer für den Nios V-Prozessor, der Ihr Nios V-Prozessorsystem gemäß
die Auswahl des Boot-Speichers · Boot-Optionen und allgemeiner Ablauf des Nios V-Prozessors · Nios V-Programmierlösungen für den ausgewählten Boot-Speicher
4.2. Anwendungen verknüpfen
Wenn Sie das Nios V-Prozessorprojekt generieren, generiert der BSP-Editor zwei Linker-bezogene files: · linker.x: Der Linker-Befehl file dass die generierte Anwendungfile Verwendet
um die .elf-Binärdatei zu erstellen file. · linker.h: Enthält Informationen zum Speicherlayout des Linkers. Alle Änderungen an den Linker-Einstellungen, die Sie am BSP-Projekt vornehmen, wirken sich auf den Inhalt dieser beiden Linker aus. files. Jede Nios V-Prozessoranwendung enthält die folgenden Linker-Abschnitte:
© Altera Corporation. Altera, das Altera-Logo, das „a“-Logo und andere Altera-Marken sind Marken der Altera Corporation. Altera behält sich das Recht vor, jederzeit und ohne Vorankündigung Änderungen an Produkten und Dienstleistungen vorzunehmen. Altera übernimmt keine Verantwortung oder Haftung für die Anwendung oder Nutzung der hier beschriebenen Informationen, Produkte oder Dienstleistungen, sofern nicht ausdrücklich schriftlich mit Altera vereinbart. Altera-Kunden wird empfohlen, sich die neueste Version der Gerätespezifikationen zu besorgen, bevor sie sich auf veröffentlichte Informationen verlassen und bevor sie Produkte oder Dienstleistungen bestellen. *Andere Namen und Marken sind Eigentum Dritter.
4. Nios V Prozessorkonfiguration und Bootlösungen 726952 | 2025.07.16
Tabelle 29. Linker-Abschnitte
.Text
Linker-Abschnitte
.rodata
.rwdata
.bss
.Haufen
.Stapel
Beschreibungen Ausführbarer Code. Alle schreibgeschützten Daten, die bei der Ausführung des Programms verwendet werden. Speichert Lese-/Schreibdaten, die bei der Ausführung des Programms verwendet werden. Enthält nicht initialisierte statische Daten. Enthält dynamisch zugewiesenen Speicher. Speichert Funktionsaufrufparameter und andere temporäre Daten.
Sie können der .elf-Datei zusätzliche Linker-Abschnitte hinzufügen file zur Speicherung von benutzerdefiniertem Code und Daten. Diese Linker-Abschnitte werden in benannten Speicherbereichen abgelegt, die den physischen Speichergeräten und -adressen entsprechen. Standardmäßig generiert der BSP-Editor diese Linker-Abschnitte automatisch. Sie können die Linker-Abschnitte jedoch für eine bestimmte Anwendung steuern.
4.2.1. Verknüpfungsverhalten
In diesem Abschnitt wird das Standard-Verknüpfungsverhalten des BSP-Editors beschrieben und wie das Verknüpfungsverhalten gesteuert werden kann.
4.2.1.1. Standard-BSP-Verknüpfung
Während der BSP-Konfiguration führen die Tools die folgenden Schritte automatisch aus:
1. Speicherbereichsnamen zuweisen: Weisen Sie jedem Systemspeichergerät einen Namen zu und fügen Sie jeden Namen dem Linker hinzu file als Speicherbereich.
2. Größten Speicher finden: Identifizieren Sie den größten Lese- und Schreibspeicherbereich im Linker file.
3. Linker-Abschnitte zuweisen: Platzieren Sie die Standard-Linker-Abschnitte (.text, .rodata, .rwdata, .bss, .heap und .stack) in dem im vorherigen Schritt identifizierten Speicherbereich.
4. Schreiben files: Schreiben Sie linker.x und linker.h files.
Normalerweise funktioniert das Linker-Abschnittszuweisungsschema während des Softwareentwicklungsprozesses, da die Funktion der Anwendung garantiert ist, wenn der Speicher groß genug ist.
Die Regeln für das Standard-Verknüpfungsverhalten sind in den von Altera generierten Tcl-Skripten bsp-set-defaults.tcl und bsp-linker-utils.tcl enthalten, die sich im Verzeichnis /niosv/scripts/bsp-defaults. Der Befehl niosv-bsp ruft diese Skripte auf. Ändern Sie diese Skripte nicht direkt.
Nios® V Embedded Processor Design Handbook 48
Feedback senden
4. Nios V Prozessorkonfiguration und Bootlösungen 726952 | 2025.07.16
4.2.1.2. Konfigurierbare BSP-Verknüpfung
Sie können das Standard-Verknüpfungsverhalten im Reiter „Linker-Skript“ des BSP-Editors verwalten. Bearbeiten Sie das Linker-Skript mit den folgenden Methoden: · Speicherbereich hinzufügen: Ordnet einen Speicherbereichsnamen einem physischen Speichergerät zu. · Abschnittszuordnung hinzufügen: Ordnet einen Abschnittsnamen einem Speicherbereich zu. Das BSP
Editor ermöglicht Ihnen view die Speicherzuordnung vor und nach dem Vornehmen von Änderungen.
4.3. Boot-Methoden für den Nios V-Prozessor
Es gibt verschiedene Methoden, um den Nios V-Prozessor in Altera FPGA-Geräten zu starten. Die Methoden zum Starten des Nios V-Prozessors variieren je nach Flash-Speicherauswahl und Gerätefamilie.
Tabelle 30. Unterstützte Flash-Speicher mit entsprechenden Boot-Optionen
Unterstützte Boot-Speicher
Gerät
On-Chip-Flash (für interne Konfiguration)
Nur maximal 10 Geräte (mit On-Chip-Flash-IP)
Allzweck-QSPI-Flash (nur für Benutzerdaten)
Alle unterstützten FPGA-Geräte (mit Generic Serial Flash Interface FPGA IP)
Konfiguration QSPI Flash (für aktive serielle Konfiguration)
Steuerblockbasiert
Geräte (mit Generic
Serielle Flash-Schnittstelle Intel FPGA IP)(2)
Bootmethoden für den Nios V-Prozessor
Anwendungslaufzeitspeicherort
Boot-Kopierer
Nios V-Prozessoranwendung wird direkt vom On-Chip-Flash ausgeführt
On-Chip Flash (XIP) + OCRAM/ Externes RAM (für beschreibbare Datenabschnitte)
alt_load()-Funktion
Nios V-Prozessoranwendung mit Boot-Kopierer vom On-Chip-Flash in den RAM kopiert
OCRAM/Externer RAM
Wiederverwendung des Bootloaders über GSFI
Nios V-Prozessoranwendung wird direkt vom Allzweck-QSPI-Flash ausgeführt
Allzweck-QSPI-Flash (XIP) + OCRAM/Externer RAM (für beschreibbare Datenabschnitte)
alt_load()-Funktion
Nios V-Prozessoranwendung mithilfe des Boot-Kopierers vom Allzweck-QSPI-Flash in den RAM kopiert
OCRAM/Externer RAM
Bootloader über GSFI
Nios V-Prozessoranwendung wird direkt vom QSPI-Flash-Konfigurations-Executein-Place ausgeführt
Konfiguration QSPI-Flash (XIP) + OCRAM/ Externes RAM (für beschreibbare Datenabschnitte)
alt_load()-Funktion
Nios V-Prozessoranwendung mithilfe des Boot-Kopierers vom QSPI-Flash-Konfigurationsspeicher in den RAM kopiert
OCRAM/Externer RAM-Bootloader über GSFI, Fortsetzung…
(2) Die Geräteliste finden Sie unter AN 980: Nios V Processor Quartus Prime Software Support.
Feedback senden
Nios® V Embedded Processor Design Handbook 49
4. Nios V Prozessorkonfiguration und Bootlösungen 726952 | 2025.07.16
Unterstützte Boot-Speicher
On-Chip-Speicher (OCRAM) Eng gekoppelter Speicher (TCM)
Gerät
SDM-basierte Geräte (mit Mailbox Client Intel FPGA IP). (2)
Alle unterstützten Altera FPGA-Geräte (2)
Alle unterstützten Altera FPGA-Geräte(2)
Bootmethoden für den Nios V-Prozessor
Nios V-Prozessoranwendung mithilfe des Boot-Kopierers vom QSPI-Flash-Konfigurationsspeicher in den RAM kopiert
Nios V-Prozessoranwendung wird direkt aus OCRAM ausgeführt
Nios V-Prozessoranwendung wird direkt von TCM ausgeführt
Anwendungslaufzeitspeicherort
Boot-Kopierer
OCRAM/ Externer RAM-Bootloader über SDM
OCRAM
alt_load()-Funktion
Anweisungs-TCM (XIP) Keine + Daten-TCM (für beschreibbare Datenabschnitte)
Abbildung 28. Boot-Flow des Nios V-Prozessors
Zurücksetzen
Prozessor springt zum Reset-Vektor (Bootcode-Start)
Anwendungscode kann an einen anderen Speicherort kopiert werden (abhängig von den Startoptionen)
Bootcode initialisiert den Prozessor
Abhängig von den Boot-Optionen kann der Boot-Code Anfangswerte für Daten/Code in einen anderen Speicherplatz kopieren (alt_load).
Bootcode initialisiert den Anwendungscode und den Datenspeicherplatz
Der Bootcode initialisiert alle Systemperipheriegeräte mit HAL-Treibern (alt_main).
Eintrag zum Haupt
Verwandte Informationen · Generische serielle Flash-Schnittstelle Altera FPGA IP-Benutzerhandbuch
Nios® V Embedded Processor Design Handbook 50
Feedback senden
4. Nios V Prozessorkonfiguration und Bootlösungen 726952 | 2025.07.16
· Mailbox-Client Altera FPGA IP-Benutzerhandbuch · AN 980: Nios V-Prozessor Quartus Prime-Software-Support
4.4. Einführung in die Boot-Methoden des Nios V-Prozessors
Bei Nios V-Prozessorsystemen müssen die Software-Images im Systemspeicher konfiguriert werden, bevor der Prozessor mit der Ausführung des Anwendungsprogramms beginnen kann. Die Standard-Linker-Abschnitte finden Sie in den Linker-Abschnitten.
Der BSP-Editor generiert ein Linker-Skript, das folgende Funktionen erfüllt: · Stellt sicher, dass die Prozessorsoftware gemäß den Linker-Einstellungen verknüpft wird
des BSP-Editors und bestimmt, wo sich die Software im Speicher befindet. · Positioniert den Codebereich des Prozessors in der Speicherkomponente entsprechend der
zugewiesenen Speicherkomponenten.
Der folgende Abschnitt beschreibt kurz die verfügbaren Bootmethoden für den Nios V-Prozessor.
4.4.1. Nios V-Prozessoranwendung direkt vom Boot-Flash ausführen
Altera hat die Flash-Controller so konzipiert, dass der Boot-Flash-Adressraum nach einem System-Reset sofort für den Nios V-Prozessor zugänglich ist, ohne dass der Speichercontroller oder die Speichergeräte initialisiert werden müssen. Dadurch kann der Nios V-Prozessor Anwendungscode, der auf den Boot-Geräten gespeichert ist, direkt ausführen, ohne den Code mit einem Boot-Kopierer in einen anderen Speichertyp kopieren zu müssen. Die Flash-Controller sind: · On-Chip-Flash mit On-Chip-Flash-IP (nur im MAX® 10-Gerät) · Allzweck-QSPI-Flash mit Generic Serial Flash Interface IP · Konfigurations-QSPI-Flash mit Generic Serial Flash Interface IP (außer MAX 10
Geräte)
Wenn die Nios V-Prozessoranwendung direkt vom Boot-Flash ausgeführt wird, führt der BSP-Editor die folgenden Funktionen aus: · Setzt die .text-Linker-Abschnitte auf den Boot-Flash-Speicherbereich. · Setzt die .bss-, .rodata-, .rwdata-, .stack- und .heap-Linker-Abschnitte auf den RAM
Speicherbereich. Sie müssen die Funktion alt_load() in den BSP-Einstellungen aktivieren, um die Datenabschnitte (.rodata, .rwdata, .exceptions) beim Systemreset in den RAM zu kopieren. Der Codeabschnitt (.text) verbleibt im Boot-Flash-Speicherbereich.
Verwandte Informationen · Generische serielle Flash-Schnittstelle Altera FPGA IP-Benutzerhandbuch · Altera MAX 10-Benutzer-Flash-Speicher-Benutzerhandbuch
4.4.1.1. alt_load()
Sie können die Funktion alt_load() im HAL-Code mithilfe des BSP-Editors aktivieren.
Bei Verwendung im Boot-Flow „Execute-in-Place“ führt die Funktion alt_load() die folgenden Aufgaben aus:
Feedback senden
Nios® V Embedded Processor Design Handbook 51
4. Nios V Prozessorkonfiguration und Bootlösungen 726952 | 2025.07.16
· Funktioniert als Mini-Boot-Kopierer, der die Speicherabschnitte basierend auf den BSP-Einstellungen in den RAM kopiert.
· Kopiert Datenabschnitte (.rodata, .rwdata, .exceptions) in den RAM, jedoch nicht die Codeabschnitte (.text). Der Codeabschnitt (.text) ist schreibgeschützt und verbleibt im Boot-Flash-Speicherbereich. Diese Partitionierung trägt zur Minimierung der RAM-Nutzung bei, kann aber die Codeausführungsleistung beeinträchtigen, da Zugriffe auf den Flash-Speicher langsamer sind als Zugriffe auf den On-Chip-RAM.
In der folgenden Tabelle sind die Einstellungen und Funktionen des BSP-Editors aufgeführt:
Tabelle 31. BSP-Editor-Einstellungen
BSP-Editor-Einstellung hal.linker.enable_alt_load hal.linker.enable_alt_load_copy_rodata hal.linker.enable_alt_load_copy_rwdata hal.linker.enable_alt_load_copy_exceptions
Funktion Aktiviert die Funktion alt_load(). alt_load() kopiert den Abschnitt .rodata in den RAM. alt_load() kopiert den Abschnitt .rwdata in den RAM. alt_load() kopiert den Abschnitt .exceptions in den RAM.
4.4.2. Nios V-Prozessoranwendung mit Boot Copier vom Boot-Flash in den RAM kopiert
Der Nios V-Prozessor und HAL enthalten einen Boot-Kopierer, der ausreichend Funktionalität für die meisten Nios V-Prozessoranwendungen bietet und sich bequem mit dem Nios V-Softwareentwicklungsfluss implementieren lässt.
Wenn die Anwendung einen Boot-Kopierer verwendet, werden alle Linker-Abschnitte (.text, .heap, .rwdata, .rodata, .bss, .stack) in einem internen oder externen RAM abgelegt. Durch die Verwendung des Boot-Kopierers zum Kopieren einer Nios V-Prozessoranwendung vom Boot-Flash in den internen oder externen RAM zur Ausführung lässt sich die Ausführungsleistung verbessern.
Bei dieser Boot-Option startet der Nios V-Prozessor nach dem Systemreset die Boot-Kopiersoftware. Die Software kopiert die Anwendung vom Boot-Flash in den internen oder externen RAM. Nach Abschluss des Vorgangs übergibt der Nios V-Prozessor die Programmsteuerung an die Anwendung.
Notiz:
Wenn sich der Boot-Kopierer im Flash befindet, muss die Funktion alt_load() nicht aufgerufen werden, da beide denselben Zweck erfüllen.
4.4.2.1. Nios V Prozessor-Bootloader über generische serielle Flash-Schnittstelle
Der Bootloader über GSFI ist der Boot-Kopierer des Nios V-Prozessors, der QSPI-Flash-Speicher in steuerblockbasierten Geräten unterstützt. Der Bootloader über GSFI bietet folgende Funktionen:
· Lokalisiert die Softwareanwendung im nichtflüchtigen Speicher.
· Entpackt und kopiert das Softwareanwendungsimage in den RAM.
· Schaltet die Prozessorausführung nach Abschluss des Kopiervorgangs automatisch auf den Anwendungscode im RAM um.
Nios® V Embedded Processor Design Handbook 52
Feedback senden
4. Nios V Prozessorkonfiguration und Bootlösungen 726952 | 2025.07.16
Das Boot-Image befindet sich direkt nach dem Boot-Kopierer. Stellen Sie sicher, dass der Reset-Offset des Nios-V-Prozessors auf den Start des Boot-Kopierers zeigt. Die Abbildung: Speicherbelegung für QSPI-Flash mit Bootloader über GSFI zeigt die Flash-Speicherbelegung für QSPI-Flash bei Verwendung eines Boot-Kopierers. Diese Speicherbelegung geht davon aus, dass der Flash-Speicher das FPGA-Image und die Anwendungssoftware speichert.
Tabelle 32. Bootloader über GSFI für Nios V-Prozessorkern
Nios V Prozessorkern
Nios V/m-Prozessor
Bootloader über GSFI File Standort
/niosv/components/bootloader/ niosv_m_bootloader.srec
Nios V/g-Prozessor
/niosv/components/bootloader/ niosv_g_bootloader.srec
Abbildung 29. Speicherzuordnung für QSPI-Flash mit Bootloader über GSFI
Kundendaten (*.hex)
Anwendungscode
Notiz:
Vektorversatz zurücksetzen
Boot-Kopierer
Version:
FPGA-Image (*.sof)
0 x 00000000
1. Am Anfang der Speicherzuordnung steht das FPGA-Image, gefolgt von Ihren Daten, die aus Boot-Kopierer und Anwendungscode bestehen.
2. Sie müssen den Reset-Offset des Nios V-Prozessors im Platform Designer festlegen und auf den Start des Boot-Kopierers richten.
3. Die Größe des FPGA-Images ist unbekannt. Die genaue Größe kann erst nach der Kompilierung des Quartus Prime-Projekts ermittelt werden. Sie müssen eine Obergrenze für die Größe des Altera FPGA-Images festlegen. Zum BeispielampWenn beispielsweise die Größe des FPGA-Images auf weniger als 0x01E00000 geschätzt wird, setzen Sie den Reset-Offset im Platform Designer auf 0x01E00000. Dies ist auch der Start des Boot-Kopierers.
4. Eine gute Designpraxis besteht darin, den Reset-Vektor-Offset an einer Flash-Sektorgrenze festzulegen, um sicherzustellen, dass bei einer Aktualisierung der Softwareanwendung keine teilweise Löschung des FPGA-Images erfolgt.
Feedback senden
Nios® V Embedded Processor Design Handbook 53
4. Nios V Prozessorkonfiguration und Bootlösungen 726952 | 2025.07.16
4.4.2.2. Nios V Prozessor-Bootloader über Secure Device Manager
Der Bootloader über Secure Device Manager (SDM) ist ein HAL-Anwendungscode, der den Mailbox Client Altera FPGA IP HAL-Treiber zum Booten des Prozessors nutzt. Altera empfiehlt diese Bootloader-Anwendung bei Verwendung des QSPI-Flash-Konfigurationsspeichers in SDM-basierten Geräten zum Booten des Nios V-Prozessors.
Beim Zurücksetzen des Systems bootet der Nios V-Prozessor zunächst den Bootloader über SDM aus einem winzigen On-Chip-Speicher und führt den Bootloader über SDM aus, um über die Mailbox-Client-IP mit dem Konfigurations-QSPI-Flash zu kommunizieren.
Der Bootloader über SDM führt die folgenden Aufgaben aus: · Lokalisiert die Nios V-Software im Konfigurations-QSPI-Flash. · Kopiert die Nios V-Software in den On-Chip-RAM oder externen RAM. · Schaltet die Prozessorausführung auf die Nios V-Software im On-Chip-RAM um oder
externer RAM.
Sobald der Vorgang abgeschlossen ist, übergibt der Bootloader über SDM die Programmsteuerung an die Benutzeranwendung. Altera empfiehlt die Speicherorganisation wie in Speicherorganisation für Bootloader über SDM beschrieben.
Abbildung 30. Bootloader über SDM-Prozessablauf
Konfiguration
Blitz
2
Nios V Software
SDM
SDM-basiertes FPGA-Gerät
Postfach-Client-IP
FPGA-Logik Nios V
4 Externer RAM
Nios V Software
On-Chip 4
EMIF
RAM
On-Chip-Speicher
IP
Nios V
1
Software
Bootloader über SDM
3
3
1. Der Nios V-Prozessor führt den Bootloader über SDM aus dem On-Chip-Speicher aus.
2. Der Bootloader kommuniziert über SDM mit dem Konfigurations-Flash und lokalisiert die Nios V-Software.
3. Der Bootloader über SDM kopiert die Nios V-Software vom Konfigurations-Flash in den On-Chip-RAM / externen RAM.
4. Der Bootloader über SDM schaltet die Ausführung des Nios V-Prozessors auf die Nios V-Software im On-Chip-RAM/externen RAM um.
4.4.3. Nios V-Prozessoranwendung direkt aus OCRAM ausführen
Bei dieser Methode wird die Reset-Adresse des Nios V-Prozessors auf die Basisadresse des On-Chip-Speichers (OCRAM) gesetzt. Die Anwendungsbinärdatei (.hex) file wird bei der Konfiguration des FPGA in den OCRAM geladen, nachdem das Hardwaredesign in der Quartus Prime-Software kompiliert wurde. Sobald der Nios V-Prozessor zurückgesetzt wird, beginnt die Anwendung mit der Ausführung und verzweigt zum Einstiegspunkt.
Nios® V Embedded Processor Design Handbook 54
Feedback senden
4. Nios V Prozessorkonfiguration und Bootlösungen 726952 | 2025.07.16
Notiz:
· Für die Ausführung vor Ort aus dem OCRAM ist kein Boot-Kopierer erforderlich, da die Nios V-Prozessoranwendung beim Systemreset bereits vorhanden ist.
· Altera empfiehlt, alt_load() für diese Bootmethode zu aktivieren, damit sich die eingebettete Software beim Zurücksetzen identisch verhält, ohne das FPGA-Geräteimage neu zu konfigurieren.
· Sie müssen die Funktion alt_load() in den BSP-Einstellungen aktivieren, um den .rwdata-Abschnitt beim Systemreset zu kopieren. Bei dieser Methode werden die Anfangswerte für initialisierte Variablen getrennt von den entsprechenden Variablen gespeichert, um ein Überschreiben bei der Programmausführung zu vermeiden.
4.4.4. Nios V-Prozessoranwendung direkt vom TCM ausführen
Die Execute-in-Place-Methode setzt die Reset-Adresse des Nios V-Prozessors auf die Basisadresse des Tightly Coupled Memory (TCM). Die Anwendungsbinärdatei (.hex) file wird in das TCM geladen, wenn Sie das FPGA konfigurieren, nachdem Sie das Hardwaredesign in der Quartus Prime-Software kompiliert haben. Sobald der Nios V-Prozessor zurückgesetzt wird, beginnt die Anwendung mit der Ausführung und verzweigt zum Einstiegspunkt.
Notiz:
Für die Ausführung vor Ort von TCM ist kein Boot-Kopierer erforderlich, da die Nios V-Prozessoranwendung beim Systemreset bereits vorhanden ist.
4.5. Booten des Nios V-Prozessors vom On-Chip-Flash (UFM)
Das Booten und Ausführen von Software vom On-Chip-Flash (UFM) des Nios V-Prozessors ist in MAX 10 FPGA-Geräten verfügbar. Der Nios V-Prozessor unterstützt die folgenden zwei Boot-Optionen mit On-Chip-Flash im internen Konfigurationsmodus:
· Die Nios V-Prozessoranwendung wird direkt vom On-Chip-Flash ausgeführt.
· Die Nios V-Prozessoranwendung wird mithilfe eines Boot-Kopierers vom On-Chip-Flash in den RAM kopiert.
Tabelle 33. Unterstützte Flash-Speicher mit entsprechenden Boot-Optionen
Unterstützte Boot-Speicher
Nios V-Bootmethoden
Anwendungslaufzeitspeicherort
Boot-Kopierer
Nur MAX 10 Geräte (mit OnChip Flash IP)
Nios V-Prozessoranwendung wird direkt vom On-Chip-Flash ausgeführt
Nios V-Prozessoranwendung mit Boot-Kopierer vom On-Chip-Flash in den RAM kopiert
On-Chip Flash (XIP) + OCRAM/ Externes RAM (für beschreibbare Datenabschnitte)
alt_load()-Funktion
OCRAM/ Externes RAM
Wiederverwendung des Bootloaders über GSFI
Feedback senden
Nios® V Embedded Processor Design Handbook 55
4. Nios V Prozessorkonfiguration und Bootlösungen 726952 | 2025.07.16
Abbildung 31.
Design, Konfiguration und Boot-Flow
Design · Erstellen Sie Ihr auf dem Nios V-Prozessor basierendes Projekt mit Platform Designer. · Stellen Sie sicher, dass im Systemdesign externer RAM oder On-Chip-RAM vorhanden ist.
FPGA-Konfiguration und -Kompilierung
· Stellen Sie in der On-Chip-Flash-IP im Platform Designer und in der Quartus Prime-Software denselben internen Konfigurationsmodus ein. · Stellen Sie den Reset-Agent des Nios V-Prozessors auf On-Chip-Flash ein. · Wählen Sie Ihre bevorzugte UFM-Initialisierungsmethode. · Generieren Sie Ihr Design im Platform Designer. · Kompilieren Sie Ihr Projekt in der Quartus Prime-Software.
BSP-Projekt für Benutzeranwendungen · Erstellen Sie ein Nios V-Prozessor-HAL-BSP basierend auf .sopcinfo file erstellt von Platform Designer. · Bearbeiten Sie die BSP-Einstellungen und das Linker-Skript des Nios V-Prozessors im BSP-Editor. · Generieren Sie ein BSP-Projekt.
Benutzeranwendungs-APP-Projekt · Anwendungscode für den Nios V-Prozessor entwickeln. · Nios V-Prozessoranwendung kompilieren und Nios V-Prozessoranwendung generieren (.hex) file. · Kompilieren Sie Ihr Projekt in der Quartus Prime-Software neu, wenn Sie die Option „Speicherinhalt initialisieren“ in Intel FPGA On-Chip Flash IP aktivieren.
Programmierung Files Konvertierung, Download und Ausführung · Generieren Sie die On-Chip-Flash-.pof file mit Convert-Programmierung Files-Funktion in der Quartus Prime-Software.
· Programmieren Sie die .pof file in Ihr MAX 10-Gerät. · Schalten Sie Ihre Hardware aus und wieder ein.
4.5.1. Beschreibung des On-Chip-Flash-Speichers des MAX 10 FPGA
MAX 10 FPGA-Geräte enthalten On-Chip-Flash, der in zwei Teile unterteilt ist: · Configuration Flash Memory (CFM) – speichert die Hardware-Konfigurationsdaten für
MAX 10 FPGAs. · User Flash Memory (UFM) – speichert die Benutzerdaten oder Softwareanwendungen.
Die UFM-Architektur des MAX 10-Geräts ist eine Kombination aus Soft- und Hard-IPs. Sie können nur über den On-Chip-Flash-IP-Core in der Quartus Prime-Software auf das UFM zugreifen.
Der On-Chip-Flash-IP-Core unterstützt die folgenden Funktionen: · Lese- oder Schreibzugriffe auf UFM- und CFM-Sektoren (sofern im Platform Designer aktiviert)
unter Verwendung der Avalon MM-Daten- und Steuer-Slave-Schnittstelle. · Unterstützt Seitenlöschung, Sektorlöschung und Sektorschreiben. · Simulationsmodell für UFM-Lese-/Schreibzugriffe unter Verwendung verschiedener EDA-Simulationstools.
Nios® V Embedded Processor Design Handbook 56
Feedback senden
4. Nios V Prozessorkonfiguration und Bootlösungen 726952 | 2025.07.16
Tabelle 34. On-Chip-Flash-Bereiche in MAX 10 FPGA-Geräten
Flash-Regionen
Funktionalität
Konfigurations-Flash-Speicher (Sektoren CFM0-2)
FPGA-Konfiguration file Lagerung
Benutzer-Flash-Speicher (Sektoren UFM0-1)
Nios V-Prozessoranwendung und Benutzerdaten
MAX 10 FPGA-Geräte unterstützen mehrere Konfigurationsmodi. Einige dieser Modi ermöglichen die Verwendung von CFM1 und CFM2 als zusätzliche UFM-Region. Die folgende Tabelle zeigt den Speicherort der FPGA-Konfigurationsimages basierend auf den Konfigurationsmodi des MAX 10 FPGA.
Tabelle 35. Speicherort der FPGA-Konfigurationsbilder
Konfigurationsmodus Dual komprimierte Bilder
CFM2 Komprimiertes Bild 2
CFM1
CFM0 Komprimiertes Bild 1
Einzelnes unkomprimiertes Bild
Virtuelles UFM
Unkomprimiertes Bild
Einzelnes unkomprimiertes Bild mit Speicherinitialisierung
Unkomprimiertes Image (mit vorinitialisiertem On-Chip-Speicherinhalt)
Einzelnes komprimiertes Bild mit Speicherinitialisierung. Komprimiertes Bild (mit vorinitialisiertem On-Chip-Speicherinhalt).
Einzelnes komprimiertes Bild
Virtuelles UFM
Komprimiertes Bild
Für den Zugriff auf den Flash-Speicher in MAX 10 FPGAs benötigen Sie den On-Chip-Flash-IP-Kern. Sie können den On-Chip-Flash-IP instanziieren und mit der Quartus Prime-Software verbinden. Der Nios V Softcore-Prozessor nutzt die Platform Designer-Verbindungen zur Kommunikation mit dem On-Chip-Flash-IP.
Abbildung 32. Verbindung zwischen On-Chip-Flash-IP und Nios V-Prozessor
Notiz:
Stellen Sie sicher, dass der On-Chip-Flash-CSR-Port mit dem Data_Manager des Nios V-Prozessors verbunden ist, damit der Prozessor Schreib- und Löschvorgänge steuern kann.
Der On-Chip-Flash-IP-Kern kann Zugriff auf fünf Flash-Sektoren bieten – UFM0, UFM1, CFM0, CFM1 und CFM2.
Wichtige Informationen zu den UFM- und CFM-Sektoren: · CFM-Sektoren sind für die Speicherung von Konfigurationsdaten (Bitstream) (*.pof) vorgesehen.
· Benutzerdaten können in den UFM-Sektoren gespeichert und ausgeblendet werden, wenn im Platform Designer-Tool die richtigen Einstellungen ausgewählt werden.
· Bestimmte Geräte verfügen nicht über einen UFM1-Sektor. Informationen zu den verfügbaren Sektoren in jedem einzelnen MAX 10 FPGA-Gerät finden Sie in der Tabelle: UFM- und CFM-Sektorgröße.
Feedback senden
Nios® V Embedded Processor Design Handbook 57
4. Nios V Prozessorkonfiguration und Bootlösungen 726952 | 2025.07.16
· Sie können CFM2 als virtuelles UFM konfigurieren, indem Sie den Konfigurationsmodus „Einzelnes unkomprimiertes Bild“ auswählen.
· Sie können CFM2 und CFM1 als virtuelles UFM konfigurieren, indem Sie den Konfigurationsmodus „Einzelnes unkomprimiertes Bild“ auswählen.
· Die Größe jedes Sektors variiert je nach den ausgewählten MAX 10 FPGA-Geräten.
Tabelle 36.
UFM- und CFM-Sektorgröße
In dieser Tabelle sind die Abmessungen der UFM- und CFM-Arrays aufgeführt.
Gerät
Seiten pro Sektor
UFM1 UFM0 CFM2 CFM1 CFM0
Seitengröße (Kbit)
Maximaler Benutzer
Flash-Speichergröße (Kbit) (3)
Gesamte Konfigurationsspeichergröße (Kbit)
10M02 3
3
0
0
34 16
96
544
10M04 0
8
41 29 70 16
1248
2240
10M08 8
8
41 29 70 16
1376
2240
10M16 4
4
38 28 66 32
2368
4224
10M25 4
4
52 40 92 32
3200
5888
10M40 4
4
48 36 84 64
5888
10752
10M50 4
4
48 36 84 64
5888
10752
OCRAM-Größe (Kbit)
108 189 378 549 675 1260 1638
Verwandte Informationen · MAX 10 FPGA-Konfigurationshandbuch · Altera MAX 10 Benutzer-Flash-Speicher-Benutzerhandbuch
4.5.2. Nios V-Prozessoranwendung direkt von UFM ausführen
Die Execute-In-Place-Lösung von UFM eignet sich für Nios V-Prozessoranwendungen, die nur begrenzten On-Chip-Speicher benötigen. Die Funktion alt_load() fungiert als Mini-Boot-Kopierer, der die Datenabschnitte (.rodata, .rwdata oder .exceptions) basierend auf den BSP-Einstellungen vom Boot-Speicher in den RAM kopiert. Der Codeabschnitt (.text),
Der schreibgeschützte Abschnitt verbleibt im On-Chip-Flash-Speicherbereich von MAX 10. Diese Konfiguration minimiert die RAM-Nutzung, kann jedoch die Leistung der Codeausführung einschränken, da der Zugriff auf den Flash-Speicher langsamer ist als auf den On-Chip-RAM.
Die Nios V-Prozessoranwendung ist in den UFM-Sektor programmiert. Der Reset-Vektor des Nios V-Prozessors zeigt auf die UFM-Basisadresse, um nach dem System-Reset Code vom UFM auszuführen.
Wenn Sie zum Debuggen Ihrer Anwendung den Quellcode-Debugger verwenden, müssen Sie einen Hardware-Haltepunkt verwenden. Dies liegt daran, dass der UFM keinen Direktspeicherzugriff unterstützt, der für das Debuggen mit Soft-Haltepunkten erforderlich ist.
Notiz:
Sie können UFM nicht löschen oder schreiben, während Sie im MAX 10 eine direkte Ausführung durchführen. Wechseln Sie zum Boot-Kopierer-Ansatz, wenn Sie das UFM löschen oder schreiben müssen.
(3) Der maximal mögliche Wert, der vom gewählten Konfigurationsmodus abhängt.
Nios® V Embedded Processor Design Handbook 58
Feedback senden
4. Nios V Prozessorkonfiguration und Bootlösungen 726952 | 2025.07.16
Abbildung 33. Nios V-Prozessoranwendung XIP von UFM
Max. 10 Geräte
.POF
Nios V Hardware .SOF
Nios V Software .HEX
Quartus-Programmierer
On-Chip-Flash
CFM
Nios V-Hardware
UFM
Nios V Software
Interne Konfiguration
On-Chip-Flash-IP
FPGA-Logik
Nios V Prozessor
On-Chip-RAM
Extern
RAM
EMIF
IP
4.5.2.1. Hardware-Design-Flow
Der folgende Abschnitt beschreibt eine Schritt-für-Schritt-Methode zum Erstellen eines bootfähigen Systems für eine Nios V-Prozessoranwendung aus On-Chip Flash. Das BeispielampDie folgende Datei wurde mit dem Gerät MAX 10 erstellt.
IP-Komponenteneinstellungen
1. Erstellen Sie Ihr Nios V-Prozessorprojekt mit Quartus Prime und Platform Designer. 2. Stellen Sie sicher, dass externer RAM oder On-Chip-Speicher (OCRAM) zu Ihrer Plattform hinzugefügt wird
Designersystem.
Feedback senden
Nios® V Embedded Processor Design Handbook 59
4. Nios V Prozessorkonfiguration und Bootlösungen 726952 | 2025.07.16
Abbildung 34. Bspample IP-Verbindungen im Platform Designer zum Booten von Nios V von OnChip Flash (UFM)
3. Legen Sie im On-Chip Flash IP-Parametereditor den Konfigurationsmodus entsprechend Ihrer Designpräferenz auf einen der folgenden Werte fest: · Einzelnes unkomprimiertes Image · Einzelnes komprimiertes Image · Einzelnes unkomprimiertes Image mit Speicherinitialisierung · Einzelnes komprimiertes Image mit Speicherinitialisierung
Weitere Informationen zu Dual Compressed Images finden Sie im MAX 10 FPGA Configuration User Guide – Remote System Upgrade.
Notiz:
Sie müssen allen CFM-Regionen im On-Chip-Flash-IP einen versteckten Zugriff zuweisen.
Abbildung 35. Auswahl des Konfigurationsmodus im On-Chip-Flash-Parameter-Editor
On-Chip-Flash-IP-Einstellungen – UFM-Initialisierung Sie können je nach Wunsch eine der folgenden Methoden auswählen:
Nios® V Embedded Processor Design Handbook 60
Feedback senden
4. Nios V Prozessorkonfiguration und Bootlösungen 726952 | 2025.07.16
Notiz:
Die Schritte in den nachfolgenden Unterkapiteln (Software-Design-Flow und Programmierung) hängen von der Auswahl ab, die Sie hier treffen.
· Methode 1: Initialisieren Sie die UFM-Daten im SOF während der Kompilierung
Quartus Prime fügt die UFM-Initialisierungsdaten während der Kompilierung in das SOF ein. Eine Neukompilierung des SOF ist erforderlich, wenn sich die UFM-Daten ändern.
1. Aktivieren Sie Flash-Inhalt initialisieren und Nicht-Standardinitialisierung aktivieren file.
Abbildung 36. Flash-Inhalte initialisieren und nicht standardmäßige Initialisierung aktivieren File
2. Geben Sie den Pfad der generierten .hex file (vom Befehl elf2hex) im vom Benutzer erstellten Hex oder MIF file.
Abbildung 37. Hinzufügen der .hex File Weg
· Methode 2: Kombinieren Sie UFM-Daten mit einem kompilierten SOF während der POF-Generierung
UFM-Daten werden bei der Konvertierung von Programmiersprachen mit dem kompilierten SOF kombiniert files. Sie müssen die SOF nicht neu kompilieren, auch wenn sich die UFM-Daten ändern. Während der Entwicklung müssen Sie die SOF nicht neu kompilieren files für Änderungen in der Anwendung. Altera empfiehlt diese Methode für Anwendungsentwickler.
1. Deaktivieren Sie „Flash-Inhalt initialisieren“.
Abbildung 38. Initialisieren von Flash-Inhalten mit nicht standardmäßiger Initialisierung File
Agenteneinstellungen für die Execute-In-Place-Methode des Nios V-Prozessors zurücksetzen
1. Stellen Sie im Parameter-Editor des Nios V-Prozessors den Reset-Agent auf On-Chip-Flash ein.
Abbildung 39. Einstellungen des Nios V-Prozessorparameter-Editors mit Reset-Agent auf On-Chip-Flash eingestellt
2. Klicken Sie auf „HDL generieren“, wenn das Dialogfeld „Generierung“ angezeigt wird. 3. Geben Sie die Ausgabe file Generierungsoptionen und klicken Sie auf Generieren.
Feedback senden
Nios® V Embedded Processor Design Handbook 61
4. Nios V Prozessorkonfiguration und Bootlösungen 726952 | 2025.07.16
Quartus Prime Software Settings 1. In the Quartus Prime software, click Assignments Device Device and Pin
Options Configuration. Set the Configuration mode according to the setting in On-Chip Flash IP. Figure 40. Configuration Mode Selection in Quartus Prime Software
2. Klicken Sie auf OK, um das Fenster „Geräte- und PIN-Optionen“ zu schließen.
3. Klicken Sie auf „OK“, um das Gerätefenster zu schließen.
4. Click Processing Start Compilation to compile your project and generate the .sof file.
Notiz:
Wenn die Konfigurationsmoduseinstellung in der Quartus Prime-Software und im Platform Designer-Parametereditor unterschiedlich ist, schlägt das Quartus Prime-Projekt mit der folgenden Fehlermeldung fehl.
Abbildung 41.
Fehlermeldung für Fehler bei unterschiedlichen Konfigurationsmoduseinstellungen (14740): Der Konfigurationsmodus auf Atom „q_sys:q_sys_inst| altera_onchip_flash:onchip_flash_1|altera_onchip_flash_block: altera_onchip_flash_block|ufm_block“ entspricht nicht den Projekteinstellungen. Aktualisieren und regenerieren Sie das Qsys-System, damit es den Projekteinstellungen entspricht.
Verwandte Informationen MAX 10 FPGA-Konfigurationshandbuch
4.5.2.2. Software-Design-Flow
Dieser Abschnitt beschreibt den Entwurfsablauf zum Generieren und Erstellen des Nios V-Prozessor-Softwareprojekts. Um einen optimierten Build-Ablauf zu gewährleisten, wird empfohlen, in Ihrem Designprojekt einen ähnlichen Verzeichnisbaum zu erstellen. Der folgende Software-Entwurfsablauf basiert auf diesem Verzeichnisbaum.
So erstellen Sie den Verzeichnisbaum des Softwareprojekts: 1. Erstellen Sie in Ihrem Designprojektordner einen Ordner mit dem Namen „Software“. 2. Erstellen Sie im Softwareordner zwei Ordner mit den Namen „hal_app“ und „hal_bsp“.
Abbildung 42. Verzeichnisbaum des Softwareprojekts
Nios® V Embedded Processor Design Handbook 62
Feedback senden
4. Nios V Prozessorkonfiguration und Bootlösungen 726952 | 2025.07.16
Erstellen des Anwendungs-BSP-Projekts
So starten Sie den BSP-Editor: 1. Rufen Sie die Nios V-Befehlsshell auf. 2. Rufen Sie den BSP-Editor mit dem Befehl niosv-bsp-editor auf. 3. Klicken Sie im BSP-Editor auf File Neues BSP, um Ihr BSP-Projekt zu starten. 4. Konfigurieren Sie die folgenden Einstellungen:
· SOPC-Informationen File Name: Geben Sie die SOPCINFO an file (.sopcinfo). · CPU-Name: Wählen Sie den Nios V-Prozessor. · Betriebssystem: Wählen Sie das Betriebssystem des Nios V-Prozessors. · Version: Belassen Sie die Standardeinstellung. · BSP-Zielverzeichnis: Wählen Sie den Verzeichnispfad des BSP-Projekts. Sie können
voreingestellt auf /software/hal_bsp durch Aktivieren von „Standardspeicherorte verwenden“. · BSP-Einstellungen File Name: Geben Sie den Namen der BSP-Einstellungen ein File. · Zusätzliche Tcl-Skripte: Stellen Sie ein BSP-Tcl-Skript bereit, indem Sie „Zusätzliches Tcl-Skript aktivieren“ aktivieren. 5. Klicken Sie auf „OK“.
Abbildung 43. Neues BSP konfigurieren
BSP-Editor konfigurieren und BSP-Projekt generieren
You can define the processor’s exception vector either in On-Chip Memory (OCRAM) or On-Chip Flash based on your design preference. Setting the exception vector memory to OCRAM/External RAM is recommended to make the interrupt processing faster. 1. Go to Main Settings Advanced hal.linker. 2. If you select On-Chip Flash as exception vector,
Aktivieren Sie die folgenden Einstellungen:
Feedback senden
Nios® V Embedded Processor Design Handbook 63
4. Nios V Prozessorkonfiguration und Bootlösungen 726952 | 2025.07.16
· allow_code_at_reset · enable_alt_load · enable_alt_load_copy_rodata · enable_alt_load_copy_rwdata Abbildung 44. Advanced.hal.linker-Einstellungen
b. Klicken Sie im BSP-Editor auf die Registerkarte Linker-Skript. c. Setzen Sie die Bereiche .exceptions und .text im Linker-Abschnittsnamen auf
On-Chip Flash. d. Setzen Sie die restlichen Regionen in der Liste „Linker Section Name“ auf den On-Chip
Speicher (OCRAM) oder externes RAM.
Abbildung 45. Linker-Region-Einstellungen (Ausnahme: Vektorspeicher: On-Chip-Flash)
3. Wenn Sie OCRAM/External RAM als Ausnahmevektor auswählen, a. Aktivieren Sie die folgenden Einstellungen: · allow_code_at_reset · enable_alt_load · enable_alt_load_copy_rodata · enable_alt_load_copy_rwdata · enable_alt_load_copy_exception
Abbildung 46. Linker-Region-Einstellungen (Ausnahmevektorspeicher: OCRAM/Externer RAM)
b. Klicken Sie im BSP-Editor auf die Registerkarte Linker-Skript.
c. Legen Sie die Textbereiche im Abschnittsnamen des Linker auf „On-Chip Flash“ fest.
d. Legen Sie für die restlichen Bereiche in der Liste „Linker-Abschnittsname“ den On-Chip-Speicher (OCRAM) oder den externen RAM fest.
Nios® V Embedded Processor Design Handbook 64
Feedback senden
4. Nios V Prozessorkonfiguration und Bootlösungen 726952 | 2025.07.16
Abbildung 47. Linker-Region-Einstellungen (Ausnahmevektorspeicher: OCRAM)
4. Klicken Sie auf „Generieren“, um das BSP-Projekt zu generieren. File 1. Navigieren Sie zum Ordner software/hal_app und erstellen Sie Ihre Anwendungsquelle
Code. 2. Starten Sie die Nios V-Befehlsshell. 3. Führen Sie den folgenden Befehl aus, um die Anwendung CMakeLists.txt zu generieren.
niosv-app –app-dir=software/hal_app –bsp-dir=software/hal_bsp –srcs=software/hal_app/<user application>
Erstellen des Benutzeranwendungsprojekts Sie können das Benutzeranwendungsprojekt mit Ashling RiscFree IDE für Altera FPGAs oder über die Befehlszeilenschnittstelle (CLI) erstellen. Wenn Sie die CLI bevorzugen, können Sie die Benutzeranwendung mit dem folgenden Befehl erstellen: cmake -G „Unix Makefiles” -B software/hal_app/build -S software/hal_app make -C software/hal_app/build
Die Anwendung (.elf) file wird im Ordner software/hal_app/build erstellt. Generieren der HEX File Sie müssen eine .hex-Datei generieren file aus Ihrer Anwendung .elf file, sodass Sie eine .pof-Datei erstellen können file Geeignet für die Programmierung der Geräte. 1. Starten Sie die Nios V Command Shell. 2. Um die Nios V-Prozessoranwendung vom On-Chip-Flash zu starten, verwenden Sie Folgendes
Befehlszeile zum Konvertieren von ELF in HEX für Ihre Anwendung. Dieser Befehl erstellt die Benutzeranwendung (onchip_flash.hex) file. elf2hex software/hal_app/build/ .elf -o onchip_flash.hex
-b <base address of On-Chip Flash UFM region> -w 8 -e <end address of On-Chip Flash UFM region> 3. Recompile the hardware design if you check Initialize memory content option in On-Chip Flash IP (Method 1). This is to include the software data (.HEX) in the SOF file.
Feedback senden
Nios® V Embedded Processor Design Handbook 65
4. Nios V Prozessorkonfiguration und Bootlösungen 726952 | 2025.07.16
4.5.2.3. Programmierung 1. Klicken Sie in Quartus Prime auf File Programmierung konvertieren Files. 2. Unter Ausgabeprogrammierung file, wählen Sie Programmiererobjekt File (.pof) als Programmierung file 3. Stellen Sie den Modus auf „Interne Konfiguration“ ein.
Abbildung 48. Konvertierungsprogrammierung File Einstellungen
4. Klicken Sie auf Optionen/Boot-Info…, das Fenster MAX 10 Geräteoptionen wird angezeigt. 5. Führen Sie basierend auf den Einstellungen für Flash-Inhalt initialisieren in der On-Chip-Flash-IP Folgendes aus:
einen der folgenden Schritte: · Wenn Flash-Inhalt initialisieren aktiviert ist (Methode 1), werden die UFM-Initialisierungsdaten
wurde während der Kompilierung von Quartus Prime in die SOF aufgenommen. — Wählen Sie Seite_0 für UFM-Quelle: Option. Klicken Sie auf OK und fahren Sie mit dem
Abbildung 49. Festlegen von Seite_0 für die UFM-Quelle, wenn „Flash-Inhalt initialisieren“ aktiviert ist
Nios® V Embedded Processor Design Handbook 66
Feedback senden
4. Nios V Prozessorkonfiguration und Bootlösungen 726952 | 2025.07.16
· Wenn Flash-Inhalt initialisieren nicht aktiviert ist (Methode 2), wählen Sie Speicher laden file für die UFM-Quellenoption. Navigieren Sie zum generierten On-Chip-Flash-HEX file (onchip_flash.hex) in der File Pfad: und klicken Sie auf OK. Dieser Schritt fügt UFM-Daten separat zum SOF hinzu file während der Programmierung file Konvertierung.
Abbildung 50. Ladespeicher einstellen File für UFM-Quelle, wenn „Flash-Inhalt initialisieren“ nicht aktiviert ist
6. In der Konvertierungsprogrammierung File Dialogfeld, bei der Eingabe files zu konvertieren Abschnitt, klicken Sie auf Hinzufügen File… und zeigen Sie auf die generierte Quartus Prime .sof file.
Abbildung 51. Eingabe Files zum Konvertieren in der Konvertierungsprogrammierung Files für Einzelbildmodus
7. Klicken Sie auf „Generieren“, um die .pof-Datei zu erstellen. file. 8. Programmieren Sie die .pof file in Ihr MAX 10-Gerät. 9. Schalten Sie Ihre Hardware aus und wieder ein.
4.5.3. Nios V-Prozessoranwendung mit Boot Copier von UFM in den RAM kopiert
Altera empfiehlt diese Lösung für MAX 10 FPGA Nios V-Prozessorsystemdesigns, bei denen mehrere Iterationen der Anwendungssoftwareentwicklung und hohe Systemleistung erforderlich sind. Der Boot-Kopierer befindet sich innerhalb des UFM an einem Offset, der der Adresse des Reset-Vektors entspricht. Die Nios V-Anwendung befindet sich neben dem Boot-Kopierer.
Bei dieser Boot-Option startet der Nios V-Prozessor nach dem Systemreset den Boot-Kopierer, um die Anwendung vom UFM-Sektor in den OCRAM oder externen RAM zu kopieren. Nach Abschluss des Kopiervorgangs übergibt der Nios V-Prozessor die Programmsteuerung an die Anwendung.
Notiz:
Der verwendete Bootkopierer ist derselbe wie der Bootloader über GSFI.
Feedback senden
Nios® V Embedded Processor Design Handbook 67
4. Nios V Prozessorkonfiguration und Bootlösungen 726952 | 2025.07.16
Abbildung 52. Nios V-Anwendung mit Boot Copier von UFM in den RAM kopiert
Max. 10 Geräte
.POF
Nios V Hardware .SOF
Nios V Software .HEX
Bootloader .SREC
Quartus-Programmierer
Externer Arbeitsspeicher
Nios V Software
On-Chip-Flash
CFM
Nios V Hardwa
Dokumente / Ressourcen
![]() |
altera Nios V Embedded Prozessor [pdf] Benutzerhandbuch Nios V, Nios Vm, Nios Vg, Nios Vc, Nios V Embedded-Prozessor, Nios V, Embedded-Prozessor, Prozessor |