altera Nios V Embedded Processor

Specificaties

  • Productnaam: Nios V-processor
  • Software Compatibility: Quartus Prime Software and Platform Designer
  • Processortype: Altera FPGA
  • Geheugensysteem: vluchtig en niet-vluchtig geheugen
  • Communicatie-interface: UART-agent

Nios V Processor Hardware System Design

To design the Nios V Processor hardware system, follow these steps:

  1. Create Nios V Processor system design using Platform Designer.
  2. Integreer het systeem in het Quartus Prime-project.
  3. Design memory system including volatile and non-volatile memory.
  4. Implementeer best practices voor klokken en resets.
  5. Wijs standaard- en UART-agenten toe voor een efficiënte werking.

Nios V Processor Software System Design

Om het softwaresysteem voor de Nios V-processor te ontwerpen:

  1. Volg de softwareontwikkelingsflow voor de Nios V-processor.
  2. Create Board Support Package Project and Application Project.

Nios V Processor Configuration and Booting Solutions

Voor het configureren en opstarten van de Nios V-processor:

  1. Understand the introduction to configuration and booting solutions.
  2. Koppel applicaties voor een naadloze werking.

About the Nios® V Embedded Processor
1.1. Altera® FPGA en embedded processoren overview
Altera FPGA-apparaten kunnen logica implementeren die functioneert als een volledige microprocessor en tegelijkertijd veel opties biedt.
Een belangrijk verschil tussen discrete microprocessors en Altera FPGA's is dat de Altera FPGA-fabric geen logica bevat bij het opstarten. De Nios® V-processor is een soft intellectual property (IP)-processor gebaseerd op de RISC-V-specificatie. Voordat u software op een systeem met een Nios V-processor draait, moet u het Altera FPGA-apparaat configureren met een hardwareontwerp dat een Nios V-processor bevat. U kunt de Nios V-processor overal op de Altera FPGA plaatsen, afhankelijk van de vereisten van het ontwerp.


Om ervoor te zorgen dat uw Altera® FPGA IP-gebaseerde embedded systeem zich gedraagt ​​als een discreet microprocessor-gebaseerd systeem, moet uw systeem het volgende omvatten: · AJTAG interface ter ondersteuning van Altera FPGA-configuratie, hardware en software
foutopsporing · Een power-up Altera FPGA-configuratiemechanisme
Als uw systeem over deze mogelijkheden beschikt, kunt u beginnen met het verfijnen van uw ontwerp op basis van een vooraf getest hardwareontwerp dat in de Altera FPGA is geladen. Met een Altera FPGA kunt u uw ontwerp ook snel aanpassen om problemen op te lossen of nieuwe functionaliteit toe te voegen. U kunt deze nieuwe hardwareontwerpen eenvoudig testen door de Altera FPGA opnieuw te configureren met behulp van de J-configuratie van uw systeem.TAG interface.
De JTAG interface ondersteunt hardware- en softwareontwikkeling. U kunt de volgende taken uitvoeren met de JTAG interface: · Configureer de Altera FPGA · Download en debug software · Communiceer met de Altera FPGA via een UART-achtige interface (JTAG UART
terminal) · Hardware debuggen (met de Signal Tap embedded logic analyzer) · Flashgeheugen programmeren
Nadat u de Altera FPGA hebt geconfigureerd met een ontwerp op basis van de Nios V-processor, is de softwareontwikkelingsstroom vergelijkbaar met de stroom voor discrete microcontrollerontwerpen.


Gerelateerde informatie · AN 985: Nios V-processor-zelfstudie
Een snelle startgids voor het maken van een eenvoudig Nios V-processorsysteem en het uitvoeren van de Hello World-applicatie.
© Altera Corporation. Altera, het Altera-logo, het `a'-logo en andere Altera-merken zijn handelsmerken van Altera Corporation. Altera behoudt zich het recht voor om te allen tijde en zonder voorafgaande kennisgeving wijzigingen aan te brengen in producten en diensten. Altera aanvaardt geen verantwoordelijkheid of aansprakelijkheid die voortvloeit uit de toepassing of het gebruik van de hierin beschreven informatie, producten of diensten, tenzij uitdrukkelijk schriftelijk overeengekomen met Altera. Klanten van Altera wordt geadviseerd de nieuwste versie van de apparaatspecificaties te raadplegen voordat ze op gepubliceerde informatie vertrouwen en producten of diensten bestellen. *Andere namen en merken kunnen eigendom van anderen zijn.

1. Over de Nios® V Embedded Processor 726952 | 2025.07.16
· Nios V Processor Reference Manual Biedt informatie over de prestatiebenchmarks van de Nios V-processor, processorarchitectuur, het programmeermodel en de kernimplementatie.
· Handleiding voor IP-gebruikers van ingebedde randapparatuur · Handleiding voor Nios V-processorsoftwareontwikkelaars


Beschrijft de software-ontwikkelomgeving voor de Nios V-processor, de beschikbare tools en het proces voor het bouwen van software die op de Nios V-processor draait. · Ashling* RiscFree* Integrated Development Environment (IDE) voor Altera FPGA's Gebruikershandleiding Beschrijft de RiscFree* Integrated Development Environment (IDE) voor Altera FPGA's Arm*-gebaseerde HPS en Nios V-coreprocessor. · Nios V-processor Altera FPGA IP Release Notes
1.2. Quartus® Prime-softwareondersteuning
De buildflow van de Nios V-processor verschilt voor Quartus® Prime Pro Edition-software en Quartus Prime Standard Edition-software. Raadpleeg AN 980: Nios V Processor Quartus Prime Software Support voor meer informatie over de verschillen.
Gerelateerde informatie AN 980: Nios V-processor Quartus Prime-softwareondersteuning
1.3. Nios V-processorlicenties
Elke Nios V-processorvariant heeft een eigen licentiesleutel. Zodra u de licentiesleutel hebt aangeschaft, kunt u deze tot de vervaldatum gebruiken voor alle Nios V-processorprojecten. U kunt de Nios V Processor Altera FPGA IP-licenties gratis aanschaffen.
De lijst met licentiesleutels voor de Nios V-processor is beschikbaar in het Altera FPGA Self-Service Licensing Center. Klik op het tabblad Aanmelden voor evaluatie of gratis licentie en selecteer de gewenste optie om de aanvraag in te dienen.
Figuur 1. Altera FPGA Self-Service Licensing Center

Met de licentiesleutels kunt u:
Feedback verzenden

Nios® V Embedded Processor Design Handboek 7

1. Over de Nios® V Embedded Processor 726952 | 2025.07.16
· Implementeer een Nios V-processor in uw systeem. · Simuleer het gedrag van een Nios V-processorsysteem. · Controleer de functionaliteit van het ontwerp, zoals de grootte en snelheid. · Genereer apparaatprogrammering files. · Een apparaat programmeren en het ontwerp in hardware verifiëren.
U hebt geen licentie nodig om software te ontwikkelen in de Ashling* RiscFree* IDE voor Altera FPGA's.
Gerelateerde informatie · Altera FPGA Self-Service Licensing Center
Voor meer informatie over het verkrijgen van de licentiesleutels voor de Nios V Processor Altera FPGA IP. · Installatie en licentieverlening voor Altera FPGA-software Voor meer informatie over het licentiëren van de Altera FPGA-software en het instellen van een vaste licentie en netwerklicentieserver.
1.4. Ontwerp van ingebedde systemen
De onderstaande afbeelding illustreert een vereenvoudigd ontwerpproces voor een op de Nios V-processor gebaseerd systeem, inclusief hardware- en softwareontwikkeling.

Nios® V Embedded Processor Design Handboek 8

Feedback verzenden

1. Over de Nios® V Embedded Processor 726952 | 2025.07.16

Figuur 2.

Nios V-processorsysteemontwerpstroom
Systeemconcept

Systeemvereisten analyseren

Nios® V
Processorkernen en standaardcomponenten

Definieer en genereer systeem in
Platformontwerper

Hardware Flow: Intel Quartus Prime Project integreren en compileren

Software Flow: Nios V-voorstelsoftware ontwikkelen en bouwen

Hardware Flow: Download FPGA-ontwerp
naar Target Board

Softwarestroom: Nios V-processorsoftware testen en debuggen

Voldoet de software niet aan de specificaties?
Ja
Hardware voldoet niet aan de specificaties? Ja
Systeem voltooid

Feedback verzenden

Nios® V Embedded Processor Design Handboek 9

726952 | 2025.07.16 Feedback verzenden

2. Nios V-processor hardwaresysteemontwerp met Quartus Prime software- en platformontwerper

Figuur 3.

Het volgende diagram illustreert een typisch hardwareontwerp voor een Nios V-processor.

Begin

Nios V-cores en standaardcomponenten

Gebruik Platform Designer om een ​​op Nios V gebaseerd systeem te ontwerpen
Genereer Platform Designer-ontwerp

Integreer Platform Designer System met Intel Quartus Prime Project
Pinlocaties, timingvereisten en andere ontwerpbeperkingen toewijzen
Hardware compileren voor doelapparaat in Intel Quartus Prime

Klaar om te downloaden
2.1. Het Nios V-processorsysteemontwerp maken met Platform Designer
De Quartus Prime-software bevat de Platform Designer-systeemintegratietool die het definiëren en integreren van de IP-core van de Nios V-processor en andere IP's in een Altera FPGA-systeemontwerp vereenvoudigt. Platform Designer creëert automatisch interconnectlogica op basis van de opgegeven high-level connectiviteit. De interconnectautomatisering elimineert de tijdrovende taak van het specificeren van HDL-verbindingen op systeemniveau.
© Altera Corporation. Altera, het Altera-logo, het `a'-logo en andere Altera-merken zijn handelsmerken van Altera Corporation. Altera behoudt zich het recht voor om te allen tijde en zonder voorafgaande kennisgeving wijzigingen aan te brengen in producten en diensten. Altera aanvaardt geen verantwoordelijkheid of aansprakelijkheid die voortvloeit uit de toepassing of het gebruik van de hierin beschreven informatie, producten of diensten, tenzij uitdrukkelijk schriftelijk overeengekomen met Altera. Klanten van Altera wordt geadviseerd de nieuwste versie van de apparaatspecificaties te raadplegen voordat ze op gepubliceerde informatie vertrouwen en producten of diensten bestellen. *Andere namen en merken kunnen eigendom van anderen zijn.

2. Nios V-processor hardwaresysteemontwerp met Quartus Prime software- en platformontwerper
726952 | 2025.07.16

Nadat u de hardwarevereisten van het systeem hebt geanalyseerd, gebruikt u Quartus Prime om de Nios V-processorkern, het geheugen en andere componenten die uw systeem nodig heeft, te specificeren. De Platform Designer genereert automatisch de interconnectlogica om de componenten in het hardwaresysteem te integreren.

2.1.1. Instantiëren van Nios V-processor Altera FPGA IP

You can instantiate any of the processor IP cores in Platform Designer IP Catalog Processors and Peripherals Embedded Processors.

De IP-kern van elke processor ondersteunt verschillende configuratieopties op basis van de unieke architectuur. U kunt deze configuraties definiëren om ze beter aan te laten sluiten bij uw ontwerpbehoeften.

Tabel 1.

Configuratieopties voor kernvarianten

Configuratieopties

Nios V/c-processor

Nios V/m-processor

Debug Gebruik Reset Verzoek

Vallen, uitzonderingen en onderbrekingen

CPU-architectuur

ECC

Caches, perifere regio's en TCM's

Aangepaste instructies

Lockstep

Nios V/g-processor

2.1.1.1. Instantiëren van Nios V/c Compact Microcontroller Altera FPGA IP Afbeelding 4. Nios V/c Compact Microcontroller Altera FPGA IP

Feedback verzenden

Nios® V Embedded Processor Design Handboek 11

2. Nios V-processor hardwaresysteemontwerp met Quartus Prime software- en platformontwerper
726952 | 2025.07.16

2.1.1.1.1. Tabblad CPU-architectuur

Tabel 2.

Tabblad CPU-architectuur

Functie

Beschrijving

Avalon®-interface inschakelen: hiermee wordt de Avalon-interface voor instructiemanager en datamanager ingeschakeld. Indien uitgeschakeld, gebruikt het systeem de AXI4-Lite-interface.

Mhartid MVO-waarde

· Ongeldige IP-optie. · Gebruik geen mhartid CSR-waarde in de Nios V/c-processor.

2.1.1.1.2. Gebruik het tabblad 'Resetverzoek'

Tabel 3.

Gebruik de parameter 'Reset Request Tab'

Gebruik het tabblad 'Resetverzoek'

Beschrijving

Interface voor resetverzoek toevoegen

· Schakel deze optie in om lokale resetpoorten beschikbaar te maken, zodat een lokale master deze kan gebruiken om de Nios V-processor te laten resetten zonder dat dit gevolgen heeft voor andere componenten in een Nios V-processorsysteem.
· De resetinterface bestaat uit een invoer-resetreq-signaal en een uitvoer-ack-signaal.
· U kunt een reset van de Nios V-processorkern aanvragen door het resetreq-signaal te bevestigen.
· Het resetreq-signaal moet gehandhaafd blijven totdat de processor een ACK-signaal bevestigt. Als het signaal niet gehandhaafd blijft, kan de processor zich in een niet-deterministische toestand bevinden.
· De Nios V-processor antwoordt dat de reset succesvol is door het ACK-signaal te bevestigen.
· Nadat de processor succesvol is gereset, kan het ack-signaal periodiek meerdere keren worden bevestigd totdat het resetreq-signaal weer wordt opgeheven.

2.1.1.1.3. Tabblad Vallen, uitzonderingen en onderbrekingen

Tabel 4.

Tabbladparameters voor vallen, uitzonderingen en onderbrekingen

Vallen, uitzonderingen en onderbrekingen

Beschrijving

Agent resetten

· Het geheugen waarin de resetvector zich bevindt (het resetadres van de Nios V-processor) waar de resetcode zich bevindt.
· U kunt elke geheugenmodule die is aangesloten op de instructiemaster van de Nios V-processor en die wordt ondersteund door een opstartstroom van de Nios V-processor, selecteren als resetagent.

Offset resetten

· Geeft de offset van de resetvector op ten opzichte van het basisadres van de gekozen resetagent. · Platform Designer biedt automatisch een standaardwaarde voor de resetoffset.

Opmerking:

Platform Designer biedt een Absolute optie waarmee u een absoluut adres kunt opgeven in Reset Offset. Gebruik deze optie wanneer het geheugen waarin de resetvector is opgeslagen zich buiten het processorsysteem en de subsystemen bevindt.

Nios® V Embedded Processor Design Handboek 12

Feedback verzenden

2. Nios V-processor hardwaresysteemontwerp met Quartus Prime software- en platformontwerper
726952 | 2025.07.16

2.1.1.1.4. ECC-tabblad

Tabel 5.

ECC-tabblad

ECC

Foutdetectie en statusrapportage inschakelen

Beschrijving
· Schakel deze optie in om de ECC-functie toe te passen op interne RAM-blokken van de Nios V-processor. · ECC-functies detecteren fouten van maximaal 2 bits en reageren op basis van het volgende gedrag:
— Als het een corrigeerbare fout van 1 bit betreft, blijft de processor werken nadat de fout in de processorpijplijn is gecorrigeerd. De correctie wordt echter niet weerspiegeld in de brongeheugens.
— Als de fout niet kan worden gecorrigeerd, blijft de processor werken zonder de fout te corrigeren in de processorpijplijn en de brongeheugens, waardoor de processor in een niet-deterministische toestand terecht kan komen.

2.1.1.2. Instantiëren van Nios V/m Microcontroller Altera FPGA IP Afbeelding 5. Nios V/m Microcontroller Altera FPGA IP

Feedback verzenden

Nios® V Embedded Processor Design Handboek 13

2. Nios V-processor hardwaresysteemontwerp met Quartus Prime software- en platformontwerper
726952 | 2025.07.16

2.1.1.2.1. Tabblad Debuggen

Tabel 6.

Parameters van het tabblad Debug

Tabblad Debuggen

Beschrijving

Debuggen inschakelen
Reset inschakelen vanuit de debugmodule

· Schakel deze optie in om de J toe te voegenTAG doelverbindingsmodule naar de Nios V-processor. · De JTAG De doelverbindingsmodule maakt verbinding met de Nios V-processor mogelijk via de
JTAG interfacepinnen van de FPGA. · De verbinding biedt de volgende basismogelijkheden:
— Start en stop de Nios V-processor. — Onderzoek en bewerk registers en geheugen. — Download de Nios V-applicatie .elf file naar het processorgeheugen tijdens runtime via
niosv-download. — Debug de applicatie die op de Nios V-processor draait. · Verbind de dm_agent-poort met de instructie- en databus van de processor. Zorg ervoor dat het basisadres tussen beide bussen hetzelfde is.
· Schakel deze optie in om de poorten dbg_reset_out en ndm_reset_in beschikbaar te maken. · JTAG debugger of niosv-download -r commando triggert de dbg_reset_out, die
Hiermee kan de Nios V-processor de randapparatuur van het systeem die op deze poort is aangesloten, opnieuw instellen. · U moet de interface dbg_reset_out verbinden met ndm_reset_in in plaats van te resetten
Interface om een ​​reset naar de processorkern en timermodule te activeren. U mag de dbg_reset_out-interface niet verbinden met de resetinterface om onbepaald gedrag te voorkomen.

2.1.1.2.2. Gebruik het tabblad 'Resetverzoek'

Tabel 7.

Gebruik de parameter 'Reset Request Tab'

Gebruik het tabblad 'Resetverzoek'

Beschrijving

Interface voor resetverzoek toevoegen

· Schakel deze optie in om lokale resetpoorten beschikbaar te maken, zodat een lokale master deze kan gebruiken om de Nios V-processor te laten resetten zonder dat dit gevolgen heeft voor andere componenten in een Nios V-processorsysteem.
· De resetinterface bestaat uit een invoer-resetreq-signaal en een uitvoer-ack-signaal.
· U kunt een reset van de Nios V-processorkern aanvragen door het resetreq-signaal te bevestigen.
· Het resetreq-signaal moet gehandhaafd blijven totdat de processor een ACK-signaal bevestigt. Als het signaal niet gehandhaafd blijft, kan de processor zich in een niet-deterministische toestand bevinden.
· Het bevestigen van het resetreq-signaal in de debugmodus heeft geen effect op de status van de processor.
· De Nios V-processor antwoordt dat de reset succesvol is door het ACK-signaal te bevestigen.
· Nadat de processor succesvol is gereset, kan het ack-signaal periodiek meerdere keren worden bevestigd totdat het resetreq-signaal weer wordt opgeheven.

2.1.1.2.3. Tabblad Vallen, uitzonderingen en onderbrekingen

Tabel 8.

Tabblad Vallen, uitzonderingen en onderbrekingen

Tabblad Vallen, uitzonderingen en onderbrekingen

Beschrijving

Agent resetten

· Het geheugen waarin de resetvector zich bevindt (het resetadres van de Nios V-processor) waar de resetcode zich bevindt.
· U kunt elke geheugenmodule die is aangesloten op de instructiemaster van de Nios V-processor en die wordt ondersteund door een opstartstroom van de Nios V-processor, selecteren als resetagent.

Reset Offset Interrupt-modus

· Geeft de offset van de resetvector op ten opzichte van het basisadres van de gekozen resetagent. · Platform Designer biedt automatisch een standaardwaarde voor de resetoffset.
Geef het type interruptcontroller aan: direct of vectorgestuurd. Let op: de Nios V/m non-pipeline processor ondersteunt geen vectorgestuurde interrupts.
Vermijd daarom het gebruik van de Vectored interrupt-modus wanneer de processor zich in de Nonpipelined-modus bevindt.

Nios® V Embedded Processor Design Handboek 14

Feedback verzenden

2. Nios V-processor hardwaresysteemontwerp met Quartus Prime software- en platformontwerper
726952 | 2025.07.16

Opmerking:

Platform Designer biedt een Absolute optie waarmee u een absoluut adres kunt opgeven in Reset Offset. Gebruik deze optie wanneer het geheugen waarin de resetvector is opgeslagen zich buiten het processorsysteem en de subsystemen bevindt.

2.1.1.2.4. CPU-architectuur

Tabel 9.

CPU-architectuur tabbladparameters

CPU-architectuur

Beschrijving

Pipelining in CPU inschakelen

· Schakel deze optie in om een ​​gepijplijnde Nios V/m-processor te instantiëren. — De IPC is hoger ten koste van een groter logisch gebied en een lagere Fmax-frequentie.
· Schakel deze optie uit om een ​​niet-pijplijnde Nios V/m-processor te instantiëren. — Heeft vergelijkbare kernprestaties als de Nios V/c-processor. — Ondersteunt debug- en interrupt-mogelijkheden — Kleiner logisch gebied en hogere Fmax-frequentie ten koste van een lagere IPC.

Avalon-interface inschakelen

Activeert de Avalon-interface voor instructiemanager en datamanager. Indien uitgeschakeld, gebruikt het systeem de AXI4-Lite-interface.

Mhartid MVO-waarde

· De standaardwaarde voor het Hart ID-register (mhartid) is 0. · Wijs een waarde toe tussen 0 en 4094. · Compatibel met de Altera FPGA Avalon Mutex Core HAL API.

Gerelateerde informatie Embedded Peripheral IP-gebruikershandleiding – Intel FPGA Avalon® Mutex Core

2.1.1.2.5. ECC-tabblad
Tabel 10. ECC-tabblad
ECC maakt foutdetectie en statusrapportage mogelijk

Beschrijving
· Schakel deze optie in om de ECC-functie toe te passen op interne RAM-blokken van de Nios V-processor. · ECC-functies detecteren fouten van maximaal 2 bits en reageren op basis van het volgende gedrag:
— Als het een corrigeerbare fout van 1 bit betreft, blijft de processor werken nadat de fout in de processorpijplijn is gecorrigeerd. De correctie wordt echter niet weerspiegeld in de brongeheugens.
— Als de fout niet kan worden gecorrigeerd, blijft de processor werken zonder de fout te corrigeren in de processorpijplijn en de brongeheugens, waardoor de processor in een niet-deterministische toestand terecht kan komen.

Feedback verzenden

Nios® V Embedded Processor Design Handboek 15

2. Nios V-processor hardwaresysteemontwerp met Quartus Prime software- en platformontwerper
726952 | 2025.07.16
2.1.1.3. Instantiëren van Nios V/g General Purpose Processor Altera FPGA IP
Figuur 6. Nios V/g General Purpose Processor Altera FPGA IP – Deel 1

Figuur 7.

Nios V/g General Purpose Processor Altera FPGA IP – Deel 2 (Core Level Interrupt Controller Uitschakelen en Inschakelen)

Nios® V Embedded Processor Design Handboek 16

Feedback verzenden

2. Nios V-processor hardwaresysteemontwerp met Quartus Prime software- en platformontwerper
726952 | 2025.07.16

Figuur 8.

Nios V/g General Purpose Processor Altera FPGA IP – Deel 2 (Core Level Interrupt Controller inschakelen)

Figuur 9. Nios V/g General Purpose Processor Altera FPGA IP – Deel 3

Feedback verzenden

Nios® V Embedded Processor Design Handboek 17

2. Nios V-processor hardwaresysteemontwerp met Quartus Prime software- en platformontwerper
726952 | 2025.07.16
Figuur 10. Nios V/g General Purpose Processor Altera FPGA IP – Deel 4

2.1.1.3.1. CPU-architectuur

Tabel 11. CPU-architectuurparameters

Tabblad CPU-architectuur Floating Point Unit inschakelen

Beschrijving Schakel deze optie in om de floating-point-eenheid (extensie “F”) toe te voegen aan de processorkern.

Branchvoorspelling inschakelen

Statische vertakkingsvoorspelling (Backward Taken en Forward Not Taken) inschakelen voor vertakkingsinstructies.

Mhartid MVO-waarde

· De standaardwaarde voor het Hart ID-register (mhartid) is 0. · Wijs een waarde toe tussen 0 en 4094. · Compatibel met de Altera FPGA Avalon Mutex Core HAL API.

Schakel FSQRT- en FDIV-instructies uit voor FPU

· Verwijder drijvende-komma-wortelbewerkingen (FSQRT) en drijvende-komma-delingsbewerkingen (FDIV) in FPU.
· Pas software-emulatie toe op beide instructies tijdens runtime.

Gerelateerde informatie Embedded Peripheral IP-gebruikershandleiding – Intel FPGA Avalon® Mutex Core

Nios® V Embedded Processor Design Handboek 18

Feedback verzenden

2. Nios V-processor hardwaresysteemontwerp met Quartus Prime software- en platformontwerper
726952 | 2025.07.16

2.1.1.3.2. Tabblad Debuggen

Tabel 12. Parameters van het tabblad Debug

Tabblad Debuggen

Beschrijving

Debuggen inschakelen
Reset inschakelen vanuit de debugmodule

· Schakel deze optie in om de J toe te voegenTAG doelverbindingsmodule naar de Nios V-processor. · De JTAG De doelverbindingsmodule maakt verbinding met de Nios V-processor mogelijk via de
JTAG interfacepinnen van de FPGA. · De verbinding biedt de volgende basismogelijkheden:
— Start en stop de Nios V-processor. — Onderzoek en bewerk registers en geheugen. — Download de Nios V-applicatie .elf file naar het processorgeheugen tijdens runtime via
niosv-download. — Debug de applicatie die op de Nios V-processor draait. · Verbind de dm_agent-poort met de instructie- en databus van de processor. Zorg ervoor dat het basisadres tussen beide bussen hetzelfde is.
· Schakel deze optie in om de poorten dbg_reset_out en ndm_reset_in beschikbaar te maken. · JTAG debugger of niosv-download -r commando triggert de dbg_reset_out, die
Hiermee kan de Nios V-processor de randapparatuur van het systeem die op deze poort is aangesloten, opnieuw instellen. · U moet de interface dbg_reset_out verbinden met ndm_reset_in in plaats van te resetten
Interface om een ​​reset naar de processorkern en timermodule te activeren. U mag de dbg_reset_out-interface niet verbinden met de resetinterface om onbepaald gedrag te voorkomen.

2.1.1.3.3. Lockstep Tab Tabel 13. Lockstep Tab
Parameters Lockstep inschakelen Standaard time-outperiode Uitgebreide resetinterface inschakelen

Beschrijving · Activeert het dual-core Lockstep-systeem. · Standaardwaarde van programmeerbare time-out bij het verlaten van de reset (tussen 0 en 255). · Activeert de optionele Extended Reset Interface voor Extended Reset Control. · Wanneer uitgeschakeld, implementeert de fRSmartComp Basic Reset Control.

2.1.1.3.4. Gebruik het tabblad 'Resetverzoek'

Tabel 14. Parameter van het tabblad 'Resetverzoek' gebruiken

Gebruik het tabblad 'Resetverzoek'

Beschrijving

Interface voor resetverzoek toevoegen

· Schakel deze optie in om lokale resetpoorten beschikbaar te maken, zodat een lokale master deze kan gebruiken om de Nios V-processor te laten resetten zonder dat dit gevolgen heeft voor andere componenten in een Nios V-processorsysteem.
· De resetinterface bestaat uit een invoer-resetreq-signaal en een uitvoer-ack-signaal.
· U kunt een reset van de Nios V-processorkern aanvragen door het resetreq-signaal te bevestigen.
· Het resetreq-signaal moet gehandhaafd blijven totdat de processor een ACK-signaal bevestigt. Als het signaal niet gehandhaafd blijft, kan de processor zich in een niet-deterministische toestand bevinden.
· Het bevestigen van het resetreq-signaal in de debugmodus heeft geen effect op de status van de processor.
· De Nios V-processor antwoordt dat de reset succesvol is door het ACK-signaal te bevestigen.
· Nadat de processor succesvol is gereset, kan het ack-signaal periodiek meerdere keren worden bevestigd totdat het resetreq-signaal weer wordt opgeheven.

Feedback verzenden

Nios® V Embedded Processor Design Handboek 19

2. Nios V-processor hardwaresysteemontwerp met Quartus Prime software- en platformontwerper
726952 | 2025.07.16

2.1.1.3.5. Tabblad Vallen, uitzonderingen en onderbrekingen

Tabel 15.

Tabblad Vallen, uitzonderingen en onderbrekingen wanneer 'Core Level Interrupt Controller inschakelen' is uitgeschakeld

Tabblad Vallen, uitzonderingen en onderbrekingen
Agent resetten

Beschrijving
· Het geheugen waarin de resetvector zich bevindt (het resetadres van de Nios V-processor) waar de resetcode zich bevindt.
· U kunt elke geheugenmodule die is aangesloten op de instructiemaster van de Nios V-processor en die wordt ondersteund door een opstartstroom van de Nios V-processor, selecteren als resetagent.

Offset resetten

· Geeft de offset van de resetvector op ten opzichte van het basisadres van de gekozen resetagent. · Platform Designer biedt automatisch een standaardwaarde voor de resetoffset.

Core Level Interrupt Controller (CLIC) inschakelen

· CLIC inschakelen om preventieve interrupts en configureerbare interrupt-triggervoorwaarden te ondersteunen.
· Wanneer deze optie is ingeschakeld, kunt u het aantal platforminterrupts configureren, triggervoorwaarden instellen en een aantal interrupts als preëmptief aanwijzen.

Schaduwregister van de onderbrekingsmodus Files

Geef de interrupttypen op als Direct of Vectored. Schakel het schaduwregister in om contextwisseling bij interruptie te beperken.

Tabel 16.

Vallen, uitzonderingen en onderbrekingen wanneer 'Enable Core Level Interrupt Controller' is ingeschakeld

Vallen, uitzonderingen en onderbrekingen

Beschrijvingen

Agent resetten
Offset resetten
Core Level Interrupt Controller (CLIC) inschakelen

· Het geheugen waarin de resetvector zich bevindt (het resetadres van de Nios V-processor) waar de resetcode zich bevindt.
· U kunt elke geheugenmodule die is aangesloten op de instructiemaster van de Nios V-processor en die wordt ondersteund door een opstartstroom van de Nios V-processor, selecteren als resetagent.
· Geeft de offset van de resetvector op ten opzichte van het basisadres van de gekozen resetagent. · Platform Designer biedt automatisch een standaardwaarde voor de resetoffset.
· Schakel CLIC in om preëmptieve interrupts en configureerbare interrupt-triggervoorwaarden te ondersteunen. · Wanneer dit is ingeschakeld, kunt u het aantal platforminterrupts configureren, triggervoorwaarden instellen,
en enkele van de interrupts als preëmptief aanwijzen.

Onderbrekingsmodus

· Geef de interrupttypen op als Direct, Vectored of CLIC.

Schaduwregister Files

· Schaduwregister inschakelen om contextwisseling bij onderbreking te verminderen.
· Biedt twee benaderingen:
— Aantal CLIC-interruptniveaus
— Aantal CLIC-interruptniveaus – 1: Deze optie is handig als u het aantal registers wilt file kopieën om in een exact aantal M20K- of M9K-blokken te passen.
· De Nios V-processor inschakelen om het schaduwregister te gebruiken files die de overhead van contextwisseling bij een onderbreking verminderen.
Voor meer informatie over het schaduwregister files, raadpleeg de Nios V Processor Reference Manual.

Aantal platform-interruptbronnen

· Geeft het aantal platformonderbrekingen aan (van 16 tot 2048).
Let op: CLIC ondersteunt maximaal 2064 interrupt-ingangen. De eerste 16 interrupt-ingangen zijn ook aangesloten op de basis-interruptcontroller.

CLIC-vectortabeluitlijning

· Automatisch bepaald op basis van het aantal platforminterruptbronnen. · Als u een uitlijning gebruikt die lager is dan de aanbevolen waarde, verhoogt de CLIC de logische
complexiteit door een extra adder toe te voegen om vectorberekeningen uit te voeren. · Als u een uitlijning gebruikt die lager is dan de aanbevolen waarde, resulteert dit in een verhoogde
logische complexiteit in de CLIC.
voortgezet…

Nios® V Embedded Processor Design Handboek 20

Feedback verzenden

2. Nios V-processor hardwaresysteemontwerp met Quartus Prime software- en platformontwerper
726952 | 2025.07.16

Vallen, uitzonderingen en onderbrekingen
Aantal interruptniveaus
Aantal interruptprioriteiten per niveau
Configureerbare onderbrekingspolariteit Ondersteunt randgetriggerde onderbrekingen

Beschrijvingen
· Geeft het aantal interruptniveaus aan met een extra niveau 0 voor applicatiecode. Interrupts van een hoger niveau kunnen een actieve handler onderbreken (preëmpteren) voor een interrupt van een lager niveau.
· Met interruptniveaus die niet nul zijn als enige opties voor interrupts, bevindt de applicatiecode zich altijd op het laagste niveau 0. Opmerking: De runtimeconfiguratie van het niveau en de prioriteit van een interrupt vindt plaats in één 8-bits register. Als het aantal interruptniveaus 256 is, is het niet mogelijk om de interruptprioriteit tijdens runtime te configureren. Anders is het maximale aantal configureerbare prioriteiten 256 / (aantal interruptniveaus – 1).
· Geeft het aantal interruptprioriteiten aan dat de CLIC gebruikt om de volgorde te bepalen waarin niet-preëmptende interrupthandlers worden aangeroepen. Opmerking: De samenvoeging van binaire waarden van het geselecteerde interruptniveau en de geselecteerde interruptprioriteit moet kleiner zijn dan 8 bits.
· Hiermee kunt u de interruptpolariteit configureren tijdens runtime. · De standaardpolariteit is positieve polariteit.
· Hiermee kunt u de interrupt-triggerconditie configureren tijdens runtime, d.w.z. trigger op hoog niveau of trigger met positieve flank (wanneer de interrupt-polariteit positief is in Configureerbare interrupt-polariteit).
· De standaard triggerconditie is een level-trigger-interrupt.

Opmerking:

Platform Designer biedt een Absolute optie waarmee u een absoluut adres kunt opgeven in Reset Offset. Gebruik deze optie wanneer het geheugen waarin de resetvector is opgeslagen zich buiten het processorsysteem en de subsystemen bevindt.

Gerelateerde informatie Nios® V Processor Referentiehandleiding

2.1.1.3.6. Tabblad Geheugenconfiguraties

Tabel 17. Parameters van het tabblad Geheugenconfiguratie

Categorie

Tabblad Geheugenconfiguratie

Beschrijving

Caches

Gegevenscachegrootte

· Geeft de grootte van de datacache aan. · Geldige grootten zijn 0 kilobytes (KB) tot en met 16 KB. · Schakelt de datacache uit wanneer de grootte 0 KB is.

Instructiecachegrootte

· Geeft de grootte van de instructiecache op. · Geldige grootten zijn 0 KB tot en met 16 KB. · Schakelt de instructiecache uit wanneer de grootte 0 KB is.

Perifere regio A en B

Maat

· Geeft de grootte van het perifere gebied aan.
· Geldige bestandsgrootten variëren van 64 KB tot 2 gigabyte (GB), of Geen. Als u Geen kiest, wordt de perifere regio uitgeschakeld.

Basisadres

· Geeft het basisadres van het perifere gebied op nadat u de grootte hebt geselecteerd.
· Alle adressen in de perifere regio genereren niet-cachebare gegevenstoegang.
· Het basisadres van de perifere regio moet worden afgestemd op de grootte van de perifere regio.

Nauw gekoppelde herinneringen

Maat

· Geeft de grootte van het nauw gekoppelde geheugen aan. Geldige grootten zijn 0 MB tot en met 512 MB.

Initialisatie van basisadres File

· Geeft het basisadres van het nauw gekoppelde geheugen op. · Geeft de initialisatie op file voor nauw gekoppeld geheugen.

Feedback verzenden

Nios® V Embedded Processor Design Handboek 21

2. Nios V-processor hardwaresysteemontwerp met Quartus Prime software- en platformontwerper
726952 | 2025.07.16

Opmerking:

In een Nios V-processorsysteem met ingeschakelde cache moet u systeemrandapparatuur binnen een perifere regio plaatsen. U kunt perifere regio's gebruiken om een ​​niet-cachebare transactie te definiëren voor randapparatuur zoals UART, PIO, DMA en andere.

2.1.1.3.7. ECC-tabblad

Tabel 18. ECC-tabblad
ECC maakt foutdetectie en statusrapportage mogelijk
Enkelvoudige bitcorrectie inschakelen

Beschrijving
· Schakel deze optie in om de ECC-functie toe te passen op interne RAM-blokken van de Nios V-processor. · ECC-functies detecteren fouten van maximaal 2 bits en reageren op basis van het volgende gedrag:
— Als het een corrigeerbare enkelvoudige bitfout betreft en 'Enable Single Bit Correction' is uitgeschakeld, blijft de processor werken nadat de fout in de processorpijplijn is gecorrigeerd. De correctie wordt echter niet weergegeven in het brongeheugen.
— Als het een corrigeerbare enkelvoudige bitfout betreft en Enkelvoudige bitcorrectie inschakelen is ingeschakeld, blijft de processor werken nadat de fout in de processorpijplijn en de brongeheugens is gecorrigeerd.
— Als het een onherstelbare fout betreft, stopt de processor met werken.
Schakel enkelvoudige bitcorrectie in op ingebedde geheugenblokken in de kern.

2.1.1.3.8. Tabblad Aangepaste instructies

Opmerking:

Dit tabblad is alleen beschikbaar voor de Nios V/g-processorkern.

Aangepaste instructie Nios V Aangepaste instructie Hardware-interfacetabel
Nios V Aangepaste Instructie Software Macro Tabel

Beschrijving
· De Nios V-processor gebruikt deze tabel om zijn aangepaste instructiemanagerinterfaces te definiëren.
· Aangepaste instructiemanagerinterfaces worden uniek gecodeerd door een Opcode (CUSTOM0-3) en 3 bits van funct7[6:4].
· U kunt maximaal 32 individuele, aangepaste instructiemanagerinterfaces definiëren.
· De Nios V-processor gebruikt deze tabel om aangepaste instructiesoftwarecoderingen te definiëren voor gedefinieerde aangepaste instructiemanagerinterfaces.
· Voor elke gedefinieerde aangepaste instructiesoftwarecodering moeten de Opcode (CUSTOM0-3) en 3 bits van de funct7[6:4]-codering correleren met een gedefinieerde aangepaste instructiemanagerinterfacecodering in de Custom Instruction Hardware Interface Table.
· U kunt funct7[6:4], funct7[3:0] en funct3[2:0] gebruiken om extra codering te definiëren voor een bepaalde aangepaste instructie, of opgeven als Xs om te worden doorgegeven als extra instructie-argumenten.
· De Nios V-processor biedt gedefinieerde, op maat gemaakte instructiesoftwarecoderingen als gegenereerde C-macro's in system.h en volgt het R-type RISC-V-instructieformaat.
· Mnemonics kunnen worden gebruikt om aangepaste namen te definiëren voor: — De gegenereerde C-Macro's in system.h.
— De gegenereerde GDB-foutopsporingsmnemonics in custom_instruction_debug.xml.

Gerelateerde informatie
AN 977: Aangepaste instructies voor de Nios V-processor Voor meer informatie over aangepaste instructies waarmee u de Nios® V-processor kunt aanpassen aan de behoeften van een specifieke toepassing.

Nios® V Embedded Processor Design Handboek 22

Feedback verzenden

2. Nios V-processor hardwaresysteemontwerp met Quartus Prime Software en Platform Designer 726952 | 2025.07.16
2.1.2. Systeemcomponentontwerp definiëren
Gebruik de Platform Designer om de hardwarekenmerken van het Nios V-processorsysteem te definiëren en de gewenste componenten toe te voegen. Het volgende diagram toont een basisontwerp van een Nios V-processorsysteem met de volgende componenten: · Nios V-processorkern · On-Chip geheugen · JTAG UART · Intervaltimer (optioneel)(1)
Wanneer er nieuw On-Chip-geheugen wordt toegevoegd aan een Platform Designer-systeem, voer dan 'Synchroniseer systeemgegevens' uit om de toegevoegde geheugencomponenten bij een reset weer te geven. U kunt ook Automatische synchronisatie in Platform Designer inschakelen om de laatste componentwijzigingen automatisch weer te geven.
Afbeelding 11. Exampde verbinding van de Nios V-processor met andere randapparatuur in Platform Designer

(1) U hebt de mogelijkheid om de interne timerfuncties van Nios V te gebruiken om de externe intervaltimer in Platform Designer te vervangen.

Feedback verzenden

Nios® V Embedded Processor Design Handboek 23

2. Nios V-processor hardwaresysteemontwerp met Quartus Prime software- en platformontwerper
726952 | 2025.07.16
U moet ook operationele pinnen definiëren om te exporteren als conduit in uw Platform Designer-systeem. BijvoorbeeldampEen correcte pinlijst voor de werking van een FPGA-systeem wordt als volgt gedefinieerd, maar is niet beperkt tot:
· Klok
· Opnieuw instellen
· I/O-signalen
2.1.3. Basisadressen en prioriteiten voor interruptaanvragen specificeren
Om te specificeren hoe de componenten die in het ontwerp zijn toegevoegd, samenwerken om een ​​systeem te vormen, moet u basisadressen toewijzen voor elk agentcomponent en IRQ-prioriteiten (interrupt request) toewijzen voor de JTAG UART en de intervaltimer. De Platform Designer biedt een opdracht – Basisadressen Toewijzen – die automatisch de juiste basisadressen toewijst aan alle componenten in een systeem. U kunt de basisadressen echter naar wens aanpassen.
Hieronder volgen enkele richtlijnen voor het toewijzen van basisadressen:
· De Nios V-processorkern heeft een adresbereik van 32 bits. Om toegang te krijgen tot agentcomponenten, moet hun basisadres tussen 0x00000000 en 0xFFFFFFFF liggen.
· Nios V-programma's gebruiken symbolische constanten om naar adressen te verwijzen. U hoeft geen gemakkelijk te onthouden adreswaarden te kiezen.
· Adreswaarden die componenten onderscheiden met slechts één bit adresverschil, leveren efficiëntere hardware op. U hoeft niet alle basisadressen te comprimeren tot het kleinst mogelijke adresbereik, omdat comprimeren minder efficiënte hardware kan opleveren.
· Platform Designer probeert niet om afzonderlijke geheugencomponenten in een aaneengesloten geheugenbereik uit te lijnen. BijvoorbeeldampAls u bijvoorbeeld wilt dat meerdere On-Chip Memory-componenten adresseerbaar zijn als één aaneengesloten geheugenbereik, moet u expliciet basisadressen toewijzen.
Platform Designer biedt ook een automatiseringsopdracht – Interruptnummers toewijzen – waarmee IRQ-signalen worden verbonden om geldige hardwareresultaten te produceren. Het effectief toewijzen van IRQ's vereist echter inzicht in het algehele responsgedrag van het systeem. Platform Designer kan geen gefundeerde schattingen maken over de beste IRQ-toewijzing.
De laagste IRQ-waarde heeft de hoogste prioriteit. In een ideaal systeem adviseert Altera dat de timercomponent de hoogste prioriteit IRQ heeft, d.w.z. de laagste waarde, om de nauwkeurigheid van de systeemkloktik te behouden.
In sommige gevallen kunt u een hogere prioriteit toekennen aan realtime-randapparatuur (zoals videocontrollers), die een hogere onderbrekingsfrequentie vereisen dan timercomponenten.
Gerelateerde informatie
Quartus Prime Pro Edition-gebruikershandleiding: meer informatie over het maken van een systeem met Platform Designer.

Nios® V Embedded Processor Design Handboek 24

Feedback verzenden

2. Nios V-processor hardwaresysteemontwerp met Quartus Prime Software en Platform Designer 726952 | 2025.07.16
2.2. Platform Designer System integreren in het Quartus Prime Project
Nadat u het ontwerp van het Nios V-systeem in Platform Designer hebt gegenereerd, voert u de volgende taken uit om de Nios V-systeemmodule te integreren in het Quartus Prime FPGA-ontwerpproject. · Instantieer de Nios V-systeemmodule in het Quartus Prime-project. · Verbind signalen van de Nios V-systeemmodule met andere signalen in de FPGA-logica. · Wijs de locatie van fysieke pinnen toe. · Beperk het FPGA-ontwerp.
2.2.1. Instantiëren van de Nios V Processor System Module in het Quartus Prime Project
Platform Designer genereert een ontwerpentiteit voor een systeemmodule die u in Quartus Prime kunt instantiëren. Hoe u de systeemmodule instantieert, hangt af van de ontwerpinvoermethode voor het gehele Quartus Prime-project. BijvoorbeeldampAls u Verilog HDL gebruikt voor de ontwerpinvoer, instantiëer dan de op Verilog gebaseerde systeemmodule. Als u liever de blokdiagrammethode gebruikt voor de ontwerpinvoer, instantiëer dan een systeemmodulesymbool .bdf file.
2.2.2. Signalen aansluiten en fysieke pinlocaties toewijzen
Om uw Altera FPGA-ontwerp te verbinden met uw ontwerp op bordniveau, voert u de volgende taken uit: · Identificeer de top-level file voor uw ontwerp en signalen om verbinding te maken met externe Altera
FPGA-apparaatpinnen. · Begrijp welke pinnen u moet aansluiten via de gebruikershandleiding voor het ontwerp op bordniveau of
schema's. · Wijs signalen in het top-level ontwerp toe aan poorten op uw Altera FPGA-apparaat met pin
toewijzingshulpmiddelen.
Uw Platform Designer-systeem kan het topniveau-ontwerp zijn. De Altera FPGA kan echter ook aanvullende logica bevatten op basis van uw behoeften en zo een aangepaste topniveau-oplossing introduceren. file. Het hoogste niveau file verbindt de signalen van de Nios V processor-systeemmodule met andere Altera FPGA-ontwerplogica.
Gerelateerde informatie Quartus Prime Pro Edition Gebruikershandleiding: Ontwerpbeperkingen
2.2.3. Beperkingen opleggen aan het Altera FPGA-ontwerp
Een goed Altera FPGA-systeemontwerp omvat ontwerpbeperkingen om ervoor te zorgen dat het ontwerp voldoet aan de eisen van timing closure en andere logische beperkingen. U moet uw Altera FPGA-ontwerp expliciet beperken om aan deze eisen te voldoen met behulp van tools in de Quartus Prime-software of externe EDA-providers. De Quartus Prime-software gebruikt de verstrekte beperkingen tijdens de compilatiefase om optimale plaatsingsresultaten te verkrijgen.

Feedback verzenden

Nios® V Embedded Processor Design Handboek 25

2. Nios V-processor hardwaresysteemontwerp met Quartus Prime software- en platformontwerper
726952 | 2025.07.16
Gerelateerde informatie · Quartus Prime Pro Edition-gebruikershandleiding: ontwerpbeperkingen · EDA-partners van derden · Quartus Prime Pro Edition-gebruikershandleiding: timinganalysator
2.3. Ontwerpen van een Nios V-processorgeheugensysteem
In deze sectie worden de best practices beschreven voor het selecteren van geheugenapparaten in een Platform Designer embedded systeem met een Nios V-processor en het behalen van optimale prestaties. Geheugenapparaten spelen een cruciale rol bij het verbeteren van de algehele prestaties van een embedded systeem. Het geheugen van een embedded systeem slaat de programma-instructies en gegevens op.
2.3.1. Vluchtig geheugen
Een belangrijk onderscheid tussen geheugentypen is vluchtigheid. Vluchtig geheugen behoudt de inhoud alleen zolang u het geheugenapparaat van stroom voorziet. Zodra u de stroom verwijdert, verliest het geheugen zijn inhoud.
ExampDe onderdelen van vluchtig geheugen zijn RAM, cache en registers. Dit zijn snelle geheugentypen die de prestaties verbeteren. Altera raadt aan om Nios V-processorinstructies in het RAM te laden en uit te voeren en de Nios V IP-core te koppelen aan een On-Chip Memory IP of een External Memory Interface IP voor optimale prestaties.
Om de prestaties te verbeteren, kunt u extra Platform Designer-aanpassingscomponenten elimineren door het type of de breedte van de Nios V-processor-datamanagerinterface af te stemmen op het opstart-RAM. Bijvoorbeeld:ampU kunt On-Chip Memory II configureren met een 32-bits AXI-4-interface, die overeenkomt met de Nios V-gegevensbeheerderinterface.
Gerelateerde informatie · Externe geheugeninterfaces IP-ondersteuningscentrum · On-Chip-geheugen (RAM of ROM) Altera FPGA IP · On-Chip-geheugen II (RAM of ROM) Altera FPGA IP · Nios V-processor Toepassing ter plaatse uitvoeren vanuit OCRAM op pagina 54
2.3.1.1. On-Chip geheugenconfiguratie RAM of ROM
U kunt Altera FPGA On-Chip Memory IP's configureren als RAM of ROM. · RAM biedt lees- en schrijfmogelijkheden en is vluchtig van aard. Als u
Bij het opstarten van de Nios V-processor vanaf een On-Chip RAM-geheugen moet u ervoor zorgen dat de opstartinhoud behouden blijft en niet beschadigd raakt bij een reset tijdens runtime. · Als een Nios V-processor opstart vanaf ROM, kan een softwarefout op de Nios V-processor de inhoud van het On-Chip-geheugen niet per ongeluk overschrijven. Dit verkleint het risico op beschadiging van de opstartsoftware.
Gerelateerde informatie · On-Chip-geheugen (RAM of ROM) Altera FPGA IP · On-Chip-geheugen II (RAM of ROM) Altera FPGA IP · Nios V-processor Toepassing ter plaatse uitvoeren vanuit OCRAM op pagina 54

Nios® V Embedded Processor Design Handboek 26

Feedback verzenden

2. Nios V-processor hardwaresysteemontwerp met Quartus Prime Software en Platform Designer 726952 | 2025.07.16
2.3.1.2. Caches
On-chip geheugens worden vaak gebruikt om cachefunctionaliteit te implementeren vanwege hun lage latentie. De Nios V-processor gebruikt on-chip geheugen voor zijn instructie- en datacaches. De beperkte capaciteit van on-chip geheugen vormt doorgaans geen probleem voor caches, omdat ze doorgaans klein zijn.
Caches worden vaak gebruikt onder de volgende omstandigheden:
· Normaal geheugen bevindt zich off-chip en heeft een langere toegangstijd dan on-chip geheugen.
· De prestatiekritieke delen van de softwarecode kunnen in de instructiecache worden geplaatst, waardoor de systeemprestaties verbeteren.
· Het prestatiekritieke, meest gebruikte gedeelte van de gegevens kan in de datacache worden geplaatst, waardoor de systeemprestaties verbeteren.
Door caches in te schakelen in de Nios V-processor wordt een geheugenhiërarchie gecreëerd, waardoor de toegangstijd tot het geheugen tot een minimum wordt beperkt.
2.3.1.2.1. Perifere regio
IP-adressen van embedded randapparatuur, zoals UART, I²C en SPI, mogen niet in de cache worden opgeslagen. Cache wordt sterk aanbevolen voor externe geheugens die last hebben van lange toegangstijden, terwijl interne on-chip geheugens mogelijk worden uitgesloten vanwege hun korte toegangstijd. U mag geen IP-adressen van embedded randapparatuur, zoals UART, I²C en SPI, cachen, met uitzondering van geheugens. Dit is belangrijk omdat gebeurtenissen van externe apparaten, zoals agentapparaten die de soft-IP's bijwerken, niet worden vastgelegd door de cache van de processor en dus ook niet door de processor worden ontvangen. Hierdoor kunnen deze gebeurtenissen onopgemerkt blijven totdat u de cache leegmaakt, wat kan leiden tot onbedoeld gedrag in uw systeem. Kortom, het in het geheugen toegewezen gebied van IP-adressen van embedded randapparatuur is niet cacheerbaar en moet zich binnen de perifere gebieden van de processor bevinden.
Om een ​​perifeer gebied in te stellen, volgt u deze stappen:
1. Open de adreskaart van het systeem in de platformontwerper.
2. Navigeer naar de adreskaart van de Instruction Manager en Data Manager van de processor.
3. Identificeer de randapparatuur en geheugens in uw systeem.
Afbeelding 12. Example van Adreskaart

Let op: De blauwe pijlen wijzen naar geheugens. 4. Groepeer de randapparatuur:
a. Geheugen als cachebaar b. Randapparatuur als niet-cachebaar

Feedback verzenden

Nios® V Embedded Processor Design Handboek 27

2. Nios V-processor hardwaresysteemontwerp met Quartus Prime software- en platformontwerper
726952 | 2025.07.16

Tabel 19. Cachebare en niet-cachebare regio

Ondergeschikt

Adreskaart

Staat

Perifere regio

Maat

Basisadres

gebruiker_applicatie_mem.s1

0x0 ~ 0x3ffff

Cachebaar

n.v.t.

n.v.t.

cpu.dm_agent bootcopier_rom.s1

0x40000 ~ 0x4ffff 0x50000 ~ 0x517ff

Niet-cachebaar Cachebaar

65536 bytes N/A

0x40000 N/A

bootcopier_ram.s1 cpu.timer_sw_agent mailbox.avmm

0x52000 ~ 0x537ff 0x54000 ~ 0x5403f 0x54040 ~ 0x5407f

Cachebaar Niet-cachebaar Niet-cachebaar

144 bytes (minimale grootte is 65536 bytes)

0x54000

sysid_qsys_0.control_slave

0x54080 ~ 0x54087

Niet cachebaar

uart.avalon_jtag_slaaf

0x54088 ~ 0x5408f

Niet cachebaar

5. Lijn de perifere gebieden uit met hun specifieke afmetingen:
· BijvoorbeeldampBijvoorbeeld, als de grootte 65536 bytes is, komt dit overeen met 0x10000 bytes. Het toegestane basisadres moet daarom een ​​veelvoud van 0x10000 zijn.
· CPU.dm_agent gebruikt een basisadres van 0x40000, wat een veelvoud is van 0x10000. Hierdoor voldoet perifere regio A, met een grootte van 65536 bytes en een basisadres van 0x40000, aan de vereisten.
· Het basisadres van de verzameling niet-cachebare regio's op 0x54000 is geen veelvoud van 0x10000. U moet ze opnieuw toewijzen aan 0x60000 of een ander veelvoud van 0x10000. Perifere regio B, met een grootte van 65536 bytes en een basisadres van 0x60000, voldoet dus aan de criteria.

Tabel 20. Cachebare en niet-cachebare regio met hertoewijzing

Ondergeschikt

Adreskaart

Staat

Perifere regio

Maat

Basisadres

gebruiker_applicatie_mem.s1

0x0 ~ 0x3ffff

Cachebaar

n.v.t.

n.v.t.

cpu.dm_agent

0x40000 ~ 0x4ffff

Niet-cachebare 65536 bytes

0x40000

bootcopier_rom.s1

0x50000 ~ 0x517ff

Cachebaar

n.v.t.

n.v.t.

bootcopier_ram.s1 cpu.timer_sw_agent mailbox.avmm sysid_qsys_0.control_slave

0x52000 ~ 0x537ff 0x60000 ~ 0x6003f 0x60040 ~ 0x6007f 0x60080 ~ 0x60087

Cachebaar Niet-cachebaar Niet-cachebaar Niet-cachebaar

144 bytes (minimale grootte is 65536 bytes)

0x60000

uart.avalon_jtag_slaaf

0x60088 ~ 0x6008f

Niet cachebaar

2.3.1.3. Nauw gekoppeld geheugen
Tightly Coupled Memory (TCM's) worden geïmplementeerd met on-chip geheugen omdat ze door hun lage latentie zeer geschikt zijn voor deze taak. TCM's zijn geheugens die zijn toegewezen aan de typische adresruimte, maar een eigen interface naar de microprocessor hebben en de hoge prestaties en lage latentie van cachegeheugen bezitten. TCM biedt ook een ondergeschikte interface voor de externe host. De processor en de externe host hebben hetzelfde toestemmingsniveau om de TCM te verwerken.

Nios® V Embedded Processor Design Handboek 28

Feedback verzenden

2. Nios V-processor hardwaresysteemontwerp met Quartus Prime software- en platformontwerper
726952 | 2025.07.16

Opmerking:

Wanneer de TCM-subpoort is verbonden met een externe host, kan deze worden weergegeven met een ander basisadres dan het basisadres dat is toegewezen in de processorkern. Altera raadt aan om beide adressen op dezelfde waarde af te stemmen.

2.3.1.4. Externe geheugeninterface (EMIF)
EMIF (External Memory Interface) werkt op een vergelijkbare manier als SRAM (Static Random Access Memory), maar is dynamisch en vereist periodieke verversing om de inhoud te behouden. De dynamische geheugencellen in EMIF zijn veel kleiner dan de statische geheugencellen in SRAM, wat resulteert in geheugenapparaten met een hogere capaciteit en lagere kosten.
Naast de vernieuwingsvereiste stelt EMIF specifieke interfacevereisten die vaak gespecialiseerde controllerhardware vereisen. In tegenstelling tot SRAM, dat een vaste set adreslijnen heeft, organiseert EMIF zijn geheugenruimte in banken, rijen en kolommen. Schakelen tussen banken en rijen brengt enige overhead met zich mee, dus u moet de geheugentoegang zorgvuldig ordenen om EMIF efficiënt te gebruiken. EMIF multiplext ook rij- en kolomadressen over dezelfde adreslijnen, waardoor het aantal benodigde pinnen voor een bepaalde EMIF-grootte wordt verminderd.
Snellere versies van EMIF, zoals DDR, DDR2, DDR3, DDR4 en DDR5, stellen strenge eisen aan de signaalintegriteit waar PCB-ontwerpers rekening mee moeten houden.
EMIF-apparaten behoren tot de meest kosteneffectieve RAM-typen met de hoogste capaciteit, waardoor ze een populaire optie zijn. Een belangrijk onderdeel van een EMIF-interface is de EMIF IP, die taken beheert met betrekking tot adresmultiplexing, verversing en het schakelen tussen rijen en banken. Dit ontwerp stelt de rest van het systeem in staat om toegang te krijgen tot EMIF zonder de interne architectuur ervan te hoeven begrijpen.

Gerelateerde informatie Externe geheugeninterfaces IP-ondersteuningscentrum

2.3.1.4.1. Adres Span Extender IP
De Address Span Extender Altera FPGA IP geeft geheugen-gemapte hostinterfaces toegang tot een adresmap die groter of kleiner is dan de breedte van hun adressignalen toestaat. De Address Span Extender IP verdeelt de adresseerbare ruimte in meerdere afzonderlijke vensters, zodat de host via het venster toegang heeft tot het juiste deel van het geheugen.
De Address Span Extender beperkt de host- en agentbreedte niet tot een 32-bits en 64-bits configuratie. U kunt de Address Span Extender gebruiken met adresvensters van 1 tot 64 bits.

Feedback verzenden

Nios® V Embedded Processor Design Handboek 29

2. Nios V-processor hardwaresysteemontwerp met Quartus Prime software- en platformontwerper
726952 | 2025.07.16

Figuur 13. Adresspan-extender Altera FPGA IP
Agent Woord Adres

Adres Span Extender

A

Toewijzingstabel
Controlepoort A

Controleregister 0 Controleregister Z-1

Uitgebreid hostadres H

Gerelateerde informatie
Quartus® Prime Pro Edition Gebruikershandleiding: Platformontwerper Raadpleeg het onderwerp Address Span Extender Intel® FPGA IP voor meer informatie.

2.3.1.4.2. Address Span Extender IP gebruiken met Nios V-processor
De 32-bits Nios V-processor kan maximaal 4 GB van een adresbereik adresseren. Als de EMIF meer dan 4 GB geheugen bevat, overschrijdt deze de maximaal ondersteunde adresbereik, waardoor het Platform Designer-systeem onjuist functioneert. Een Address Span Extender IP is vereist om dit probleem op te lossen door één EMIF-adresruimte te verdelen in meerdere kleinere vensters.
Altera raadt u aan om rekening te houden met de volgende parameters.

Tabel 21. Parameters voor adresspan-extender

Parameter

Aanbevolen instellingen

Datapadbreedte
Uitgebreide masterbyte-adresbreedte

Selecteer 32-bits, wat overeenkomt met de 32-bits processor. Afhankelijk van de EMIF-geheugengrootte.

Breedte van het adres van het slaafwoord Burstcount-breedte

Selecteer 2 GB of minder. De resterende adresruimte van de Nios V-processor is gereserveerd voor andere embedded soft IP's.
Begin met 1 en verhoog deze waarde geleidelijk om de prestaties te verbeteren.

Aantal subvensters

Selecteer 1 subvenster als u EMIF verbindt met de Nios V-processor als instructie- en datageheugen, of beide. Schakelen tussen meerdere subvensters terwijl de Nios V-processor vanuit EMIF wordt uitgevoerd, is gevaarlijk.

Slave Control-poort inschakelen

Schakel de slave-besturingspoort uit als u EMIF aansluit op de Nios V-processor als instructie- en/of datageheugen. Dezelfde problemen als bij het aantal subvensters.

Maximaal aantal in behandeling zijnde lezingen

Begin met 1 en verhoog deze waarde geleidelijk om de prestaties te verbeteren.

Nios® V Embedded Processor Design Handboek 30

Feedback verzenden

2. Nios V-processor hardwaresysteemontwerp met Quartus Prime Software en Platform Designer 726952 | 2025.07.16
Figuur 14. Instructie- en gegevensbeheerder verbinden met Address Span Extender

Figuur 15. Adrestoewijzing

Merk op dat de Address Span Extender toegang heeft tot de volledige 8 GB geheugenruimte van de EMIF. Via de Address Span Extender heeft de Nios V-processor echter alleen toegang tot de eerste 1 GB geheugenruimte van de EMIF.

Figuur 16. Vereenvoudigd blokdiagram

Platformontwerpersysteem

Resterende 3 GB

Nios V-processoradres

span is voor ingebed

NNioios sVV PProrocecsesosor r
M

zachte IP's in hetzelfde systeem.
1 GB venster

Adresbereik

S

Verlengstuk

M

Alleen de eerste 1 GB

van EMIF-geheugen is verbonden met Nios V

EMIF

verwerker.

8GB
S

Feedback verzenden

Nios® V Embedded Processor Design Handboek 31

2. Nios V-processor hardwaresysteemontwerp met Quartus Prime software- en platformontwerper
726952 | 2025.07.16
2.3.1.4.3. Definieer het Address Span Extender Linker-geheugenapparaat 1. Definieer de Address Span Extender (EMIF) als de resetvector. U kunt de resetvector van de Nios V-processor ook toewijzen aan andere geheugens, zoals OCRAM of flash-apparaten.
Figuur 17. Meerdere opties als resetvector
De Board Support Package (BSP) Editor kan de Address Span Extender (EMIF) echter niet automatisch registreren als geldig geheugen. Afhankelijk van uw keuze ziet u twee verschillende situaties, zoals weergegeven in de volgende afbeeldingen. Afbeelding 18. BSP-fout bij het definiëren van de Address Span Extender (EMIF) als resetvector.

Nios® V Embedded Processor Design Handboek 32

Feedback verzenden

2. Nios V-processor hardwaresysteemontwerp met Quartus Prime Software en Platform Designer 726952 | 2025.07.16
Figuur 19. Ontbrekende EMIF bij het definiëren van andere geheugens als resetvector

2. U moet de Address Span Extender (EMIF) handmatig toevoegen via Geheugenapparaat toevoegen, Linkergeheugenregio toevoegen en Linkersectietoewijzingen toevoegen op het tabblad BSP Linker-script.
3. Volg deze stappen:
a. Bepaal de adresspanne van de Address Span Extender met behulp van de Memory Map (de exampin de volgende afbeelding wordt het Address Span Extender-bereik van 0x0 tot 0x3fff_ffff gebruikt.
Figuur 20. Geheugenkaart

b. Klik op Geheugenapparaat toevoegen en vul het in op basis van de informatie in de geheugenmap van je ontwerp: i. Apparaatnaam: emif_ddr4. Let op: zorg ervoor dat je dezelfde naam uit de geheugenmap kopieert. ii. Basisadres: 0x0 iii. Grootte: 0x40000000
c. Klik op Toevoegen om een ​​nieuw linkergeheugengebied toe te voegen:

Feedback verzenden

Nios® V Embedded Processor Design Handboek 33

2. Nios V-processor hardwaresysteemontwerp met Quartus Prime software- en platformontwerper
726952 | 2025.07.16

Tabel 22. Linkergeheugenregio toevoegen

Stappen

Vector resetten

emif_ddr4

Andere herinneringen

1

Voeg een nieuwe Linker-geheugenregio toe met de naam reset. Voeg een nieuwe Linker-geheugenregio toe voor de

· Regionaam: reset

emif_ddr4.

· Regiogrootte: 0x20

· Regionaam: emif_ddr4

· Geheugenapparaat: emif_ddr4

· Regiogrootte: 0x40000000

· Geheugenoffset: 0x0

· Geheugenapparaat: emif_ddr4

· Geheugenoffset: 0x0

2

Voeg een nieuwe Linker-geheugenregio toe voor de

resterende emif_ddr4.

· Regionaam: emif_ddr4

· Regiogrootte: 0x3fffffe0

· Geheugenapparaat: emif_ddr4

· Geheugenoffset: 0x20

Figuur 21. Linkerregio bij het definiëren van Address Span Extender (EMIF) als resetvector

Figuur 22. Linkerregio bij het definiëren van andere geheugens als resetvector
d. Zodra emif_ddr4 aan de BSP is toegevoegd, kunt u deze voor elke Linker-sectie selecteren.
Figuur 23. Address Span Extender (EMIF) succesvol toegevoegd

e. Negeer de waarschuwing dat het geheugenapparaat emif_ddr4 niet zichtbaar is in het SOPC-ontwerp.
f. Ga door met het genereren van BSP.
Gerelateerde informatie Inleiding tot Nios V-processor-opstartmethoden op pagina 51

Nios® V Embedded Processor Design Handboek 34

Feedback verzenden

2. Nios V-processor hardwaresysteemontwerp met Quartus Prime Software en Platform Designer 726952 | 2025.07.16
2.3.2. Niet-vluchtig geheugen
Niet-vluchtig geheugen behoudt zijn inhoud wanneer de stroom uitvalt, waardoor het een goede keuze is voor het opslaan van informatie die het systeem moet ophalen na een systeem-powercycle. Niet-vluchtig geheugen slaat doorgaans processorbootcode, persistente applicatie-instellingen en Altera FPGA-configuratiegegevens op. Hoewel niet-vluchtig geheugen de voordelen heeft vantagOm de gegevens te behouden wanneer de stroom wordt uitgeschakeld, is het veel langzamer dan vluchtig geheugen en heeft het vaak complexere schrijf- en wisprocedures. Niet-vluchtig geheugen is meestal ook slechts een bepaald aantal keren wisbaar, waarna het kan falen.
ExampTot de niet-vluchtige geheugentypen behoren alle typen flash, EPROM en EEPROM. Altera raadt aan om Altera FPGA-bitstreams en Nios V-programma-images op te slaan in een niet-vluchtig geheugen en serieel flash te gebruiken als opstartapparaat voor Nios V-processors.
Gerelateerde informatie
· Algemene seriële flashinterface Altera FPGA IP-gebruikershandleiding
· Mailbox Client Altera FPGA IP-gebruikershandleiding · MAX® 10-gebruikershandleiding voor flashgeheugen: On-Chip Flash Altera FPGA IP-kern
2.4. Aanbevolen werkwijzen voor klokken en resets
Het is belangrijk om te begrijpen hoe de klok en het resetdomein van de Nios V-processor samenwerken met elk randapparaat waarmee het verbinding maakt. Een eenvoudig Nios V-processorsysteem begint met één klokdomein, en het kan ingewikkeld worden met een systeem met meerdere klokdomeinen wanneer een snel klokdomein botst met een langzaam klokdomein. Je moet goed opletten en begrijpen hoe deze verschillende domeinen uit de reset komen en ervoor zorgen dat er geen subtiele problemen ontstaan.
Voor een optimale werkwijze raadt Altera aan om de Nios V-processor en het opstartgeheugen in hetzelfde klokdomein te plaatsen. Ontgrendel de Nios V-processor niet vanuit een reset in een snel klokdomein wanneer deze opstart vanuit geheugen dat zich in een zeer langzaam klokdomein bevindt, aangezien dit een fout bij het ophalen van instructies kan veroorzaken. Mogelijk is handmatige sequencing vereist die verder gaat dan wat Platform Designer standaard biedt, en plan de reset-releasetopologie dienovereenkomstig op basis van uw use case. Als u uw systeem wilt resetten nadat het is opgestart en een tijdje heeft gedraaid, pas dan dezelfde overwegingen toe op de resetsequentie van het systeem en de vereisten voor initialisatie na de reset.
2.4.1. Systeem JTAG Klok
Het specificeren van de klokbeperkingen in elk Nios V-processorsysteem is een belangrijke overweging bij het systeemontwerp en is vereist voor correctheid en deterministisch gedrag. De Quartus Prime Timing Analyzer voert statische timinganalyses uit om de timingprestaties van alle logica in uw ontwerp te valideren met behulp van industriestandaard beperkings-, analyse- en rapportagemethodologie.
Example 1. Basis 100 MHz klok met 50/50 duty cycle en 16 MHz JTAG Klok
#*************************************************************** # Maak 100MHz-klok #*************************************************************** create_clock -name {clk} -period 10 [get_ports {clk}] #************************ Maak 16MHz JTAG Klok #************************

Feedback verzenden

Nios® V Embedded Processor Design Handboek 35

2. Nios V-processor hardwaresysteemontwerp met Quartus Prime software- en platformontwerper
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}] Gerelateerde informatie Quartus Prime Timing Analyzer Cookbook
2.4.2. Interface voor resetverzoek
De Nios V-processor beschikt over een optionele resetverzoekfunctie. Deze bestaat uit reset_req- en reset_req_ack-signalen.
Om de resetaanvraag in Platform Designer in te schakelen: 1. Start de Nios V Processor IP Parameter Editor. 2. Schakel bij de instelling Resetaanvraag gebruiken de interface Resetaanvraag toevoegen in.
optie.
Figuur 24. Verzoek tot reset van Nios V-processor inschakelen
Het reset_req-signaal werkt als een interrupt. Wanneer u reset_req activeert, vraagt ​​u om een ​​reset naar de kern. De kern wacht tot een openstaande bustransactie zijn bewerking heeft voltooid. BijvoorbeeldampBijvoorbeeld, als er een geheugentoegangstransactie in behandeling is, wacht de kern op een volledig antwoord. Op dezelfde manier accepteert de kern elk wachtend instructieantwoord, maar verstuurt geen instructieverzoek na ontvangst van het reset_req-signaal.
De resetbewerking bestaat uit de volgende stappen: 1. Voltooi alle in behandeling zijnde bewerkingen. 2. Spoel de interne pijplijn. 3. Stel de programmateller in op de resetvector. 4. Reset de kern. De volledige resetbewerking duurt enkele klokcycli. Reset_req moet geactiveerd blijven totdat reset_req_ack geactiveerd is, wat aangeeft dat de resetbewerking van de kern succesvol is voltooid. Als dit niet gebeurt, is de status van de kern niet-deterministisch.

Nios® V Embedded Processor Design Handboek 36

Feedback verzenden

2. Nios V-processor hardwaresysteemontwerp met Quartus Prime Software en Platform Designer 726952 | 2025.07.16
2.4.2.1. Typische gebruiksgevallen
· U kunt het reset_req-signaal vanaf het inschakelen activeren om te voorkomen dat de Nios V-processorkern de programma-uitvoering start vanuit de resetvector totdat andere FPGA-hosts in het systeem het opstartgeheugen van de Nios V-processor initialiseren. In dit geval kan het hele subsysteem een ​​schone hardwarereset ondergaan. De Nios V-processor wordt voor onbepaalde tijd in een resetverzoekstatus gehouden totdat de andere FPGA-hosts het opstartgeheugen van de processor initialiseren.
· In een systeem waarin u de Nios V-processorkern moet resetten zonder de rest van het systeem te verstoren, kunt u het reset_req-signaal gebruiken om de huidige werking van de kern op een schone manier te stoppen en de processor opnieuw op te starten vanaf de resetvector zodra het systeem het reset_req_ack-signaal vrijgeeft.
· Een externe host kan de interface voor resetverzoeken gebruiken om de implementatie van de volgende taken te vereenvoudigen:
— Stop het huidige Nios V-processorprogramma.
— Laad een nieuw programma in het opstartgeheugen van de Nios V-processor.
— Laat de processor beginnen met het uitvoeren van het nieuwe programma.
Altera raadt u aan een time-outmechanisme te implementeren om de status van het reset_req_ack-signaal te bewaken. Als de Nios V-processorkern in een oneindige wachttoestand terechtkomt en om een ​​onbekende reden vastloopt, kan reset_req_ack niet voor onbepaalde tijd worden geactiveerd. Het time-outmechanisme stelt u in staat om:
· Definieer een hersteltime-outperiode en voer systeemherstel uit met een reset op systeemniveau.
· Voer een hardware-reset uit.
2.4.3. Release-IP resetten
Apparaten op basis van Altera SDM gebruiken een parallelle, sectorgebaseerde architectuur die de core fabric-logica over meerdere sectoren verdeelt. Altera raadt aan om de Reset Release Altera FPGA IP te gebruiken als een van de eerste ingangen voor het resetcircuit. Intel® SDM-apparaten omvatten Stratix® 10- en AgilexTM-apparaten. Apparaten op basis van Control Blocks vallen niet onder deze vereiste.
Gerelateerde informatie
AN 891: Gebruik van de Reset Release Altera FPGA IP
2.5. Een standaardagent toewijzen
Met Platform Designer kunt u een standaardagent opgeven die fungeert als standaardagent voor foutrespons. De standaardagent die u aanwijst, biedt een foutresponsservice voor hosts die proberen om niet-gedecodeerde toegang te krijgen tot de adresmap.
De volgende scenario's veroorzaken een niet-gedecodeerde gebeurtenis:
· Schending van de beveiligingsstatus van de bustransactie
· Transactietoegang tot ongedefinieerd geheugengebied
· Uitzonderingsgebeurtenis, enz.

Feedback verzenden

Nios® V Embedded Processor Design Handboek 37

2. Nios V-processor hardwaresysteemontwerp met Quartus Prime software- en platformontwerper
726952 | 2025.07.16

Er moet een standaardagent worden toegewezen die dergelijke gebeurtenissen afhandelt, waarbij een ongedefinieerde transactie wordt omgeleid naar de standaardagent en vervolgens met een foutrespons naar de Nios V-processor reageert.
Gerelateerde informatie
· Quartus Prime Pro Edition Gebruikershandleiding: Platformontwerper. Een standaardagent aanwijzen
· Quartus Prime Pro Edition Gebruikershandleiding: Platformontwerper. Foutreactie Slave Altera FPGA IP
· Github – Aanvullende resetcomponenten voor Qsys

2.6. Een UART-agent toewijzen voor afdrukken
Afdrukken is handig voor het debuggen van de softwaretoepassing en voor het bewaken van de status van uw systeem. Altera raadt aan om basisinformatie af te drukken, zoals een opstartmelding, foutmelding en de voortgang van de uitvoering van de softwaretoepassing.
Vermijd het gebruik van de printf()-bibliotheekfunctie onder de volgende omstandigheden: · De printf()-bibliotheek zorgt ervoor dat de toepassing vastloopt als er geen host de uitvoer leest.
Dit is van toepassing op de JTAG Alleen UART. · De printf()-bibliotheek verbruikt grote hoeveelheden programmageheugen.

2.6.1. Voorkomen van stalls door de JTAG UART

Tabel 23. Verschillen tussen traditionele UART en JTAG UART

UART-type Traditionele UART

Beschrijving
Verzendt seriële gegevens, ongeacht of een externe host luistert. Als geen enkele host de seriële gegevens leest, gaan de gegevens verloren.

JTAG UART

Schrijft de verzonden gegevens naar een uitvoerbuffer en vertrouwt erop dat een externe host de buffer leest om deze te legen.

De JTAG De UART-driver wacht wanneer de uitvoerbuffer vol is. De JTAG De UART-driver wacht tot een externe host de uitvoerbuffer heeft gelezen voordat er meer verzendgegevens worden geschreven. Dit proces voorkomt verlies van verzendgegevens.
Wanneer systeemdebuggen echter niet nodig is, zoals tijdens de productie, worden ingebedde systemen ingezet zonder dat er een host-pc is aangesloten op JTAG UART. Als het systeem de J heeft geselecteerdTAG UART als UART-agent kan ervoor zorgen dat het systeem vastloopt omdat er geen externe host is aangesloten.
Om te voorkomen dat J. vastlooptTAG UART, pas een van de volgende opties toe:

Nios® V Embedded Processor Design Handboek 38

Feedback verzenden

2. Nios V-processor hardwaresysteemontwerp met Quartus Prime software- en platformontwerper
726952 | 2025.07.16

Tabel 24. Preventie van stalling door JTAG UART

Opties
Geen UART-interface en driver aanwezig
Gebruik een andere UART-interface en driver
Behoud JTAG UART-interface (zonder driver)

Tijdens de hardwareontwikkeling (in Platform Designer)

Tijdens softwareontwikkeling (in Board Support Package Editor)

Verwijder JTAG UART van het systeem

Configureer hal.stdin, hal.stdout en hal.stderr als None.

Vervang JTAG UART met andere soft Configure hal.stdin, hal.stdout en hal.stderr

UART-IP

met andere zachte UART IP.

Behoud JTAG UART in het systeem

· Configureer hal.stdin, hal.stdout en hal.stderr als None in de Board Support Package Editor.
· J uitschakelenTAG UART-stuurprogramma op het tabblad BSP-stuurprogramma.

2.7. IkTAG Signalen
De debugmodule van de Nios V-processor maakt gebruik van de JTAG interface voor het downloaden van software ELF en het debuggen van software. Wanneer u uw ontwerp debugt met de JTAG interface, de JTAG De signalen TCK, TMS, TDI en TDO zijn geïmplementeerd als onderdeel van het ontwerp. Specificatie van de JTAG Signaalbeperkingen in elk Nios V-processorsysteem vormen een belangrijk systeemontwerpoverweging en zijn vereist voor correctheid en deterministisch gedrag.
Altera adviseert dat de systeemklokfrequentie van elk ontwerp minimaal vier keer de J isTAG kloksnelheid om ervoor te zorgen dat de on-chip instrumentatie (OCI) kern goed functioneert.
Gerelateerde informatie · Quartus® Prime Timing Analyzer Cookbook: JTAG Signalen
Voor meer informatie overJTAG richtlijnen voor timingbeperkingen. · KDB: Waarom mislukt niosv-download met een niet-gepipelinede Nios® V/m-processor op
JTAG frequentie 24MHz of 16Mhz?
2.8. Optimalisatie van de systeemprestaties van Platform Designer
Platform Designer biedt hulpmiddelen waarmee u de prestaties van de systeeminterconnectie voor Altera FPGA-ontwerpen kunt optimaliseren.

Feedback verzenden

Nios® V Embedded Processor Design Handboek 39

2. Nios V-processor hardwaresysteemontwerp met Quartus Prime software- en platformontwerper
726952 | 2025.07.16
Figuur 25. Optimalisatie Exampde

De exampDe in de afbeelding getoonde procedure illustreert de volgende stappen:
1. Voegt Pipeline Bridge toe om kritieke paden te verlichten door deze te plaatsen: a. Tussen de Instructiemanager en zijn agenten b. Tussen de Gegevensmanager en zijn agenten
2. Pas True Dual port On-Chip RAM toe, waarbij elke poort respectievelijk is toegewezen aan de Instructiemanager en de Datamanager

Nios® V Embedded Processor Design Handboek 40

Feedback verzenden

2. Nios V-processor hardwaresysteemontwerp met Quartus Prime Software en Platform Designer 726952 | 2025.07.16
Raadpleeg de onderstaande gerelateerde links voor technieken voor het optimaal benutten van de beschikbare tools en de voor- en nadelen van elke implementatie.
Gerelateerde informatie · Quartus® Prime Pro Edition Gebruikershandleiding: Platformontwerper
Raadpleeg het onderwerp Optimaliseren van Platform Designer-systeemprestaties voor meer informatie. · Quartus® Prime Standard Edition Gebruikershandleiding: Platform Designer Raadpleeg het onderwerp Optimaliseren van Platform Designer-systeemprestaties voor meer informatie.

Feedback verzenden

Nios® V Embedded Processor Design Handboek 41

726952 | 2025.07.16 Feedback verzenden

3. Nios V-processor software systeemontwerp
Dit hoofdstuk beschrijft de softwareontwikkelingsstroom van de Nios V-processor en de softwaretools die u kunt gebruiken bij de ontwikkeling van uw embedded designsysteem. De inhoud dient als een overzicht.view voordat hij een Nios V-processor-softwaresysteem ontwikkelde.
Figuur 26. Softwareontwerpstroom
Begin

Genereer de BSP in de Platform Designer met behulp van de BSP-editor

Genereer de BSP met behulp van de Nios V-opdrachtregel
Genereer de CMake Build-applicatie File Het gebruik van de Nios V Command Shell

Opmerking:

Importeer de BSP en de CMake Build-applicatie File
Bouw de Nios V-processortoepassing met behulp van de
Risicovrije IDE voor Intel FPGA

Bouw de Nios V Processor-applicatie met behulp van een
opdrachtregelbroncode-editor, CMake en Make
opdrachten
Einde

Altera raadt aan om een ​​Altera FPGA-ontwikkelkit of een speciaal prototypebord te gebruiken voor softwareontwikkeling en debuggen. Veel randapparatuur en functies op systeemniveau zijn alleen beschikbaar wanneer uw software op een echt bord draait.

© Altera Corporation. Altera, het Altera-logo, het `a'-logo en andere Altera-merken zijn handelsmerken van Altera Corporation. Altera behoudt zich het recht voor om te allen tijde en zonder voorafgaande kennisgeving wijzigingen aan te brengen in producten en diensten. Altera aanvaardt geen verantwoordelijkheid of aansprakelijkheid die voortvloeit uit de toepassing of het gebruik van de hierin beschreven informatie, producten of diensten, tenzij uitdrukkelijk schriftelijk overeengekomen met Altera. Klanten van Altera wordt geadviseerd de nieuwste versie van de apparaatspecificaties te raadplegen voordat ze op gepubliceerde informatie vertrouwen en producten of diensten bestellen. *Andere namen en merken kunnen eigendom van anderen zijn.

3. Nios V-processor softwaresysteemontwerp 726952 | 2025.07.16
3.1. Softwareontwikkelingsstroom voor Nios V-processor
3.1.1. Project Ondersteuningspakket Bestuur
Een Nios V Board Support Package (BSP)-project is een gespecialiseerde bibliotheek met systeemspecifieke ondersteuningscode. Een BSP biedt een software-runtimeomgeving die is aangepast voor één processor in een Nios V-processorhardwaresysteem.
De Quartus Prime-software biedt de Nios V Board Support Package Editor en niosv-bsp-hulpprogramma's waarmee u instellingen kunt wijzigen die het gedrag van de BSP bepalen.
Een BSP bevat de volgende elementen: · Hardware-abstractielaag · Apparaatstuurprogramma's · Optionele softwarepakketten · Optioneel realtime besturingssysteem
3.1.2. Toepassingsproject
Een Nios VC/C++-toepassingsproject heeft de volgende kenmerken: · Bestaat uit een verzameling broncode en een CMakeLists.txt.
— De CMakeLists.txt compileert de broncode en koppelt deze aan een BSP en een of meer optionele bibliotheken om één .elf te maken file
· Een van de bronnen files bevat de functie main(). · Bevat code die functies in bibliotheken en BSP's aanroept.
Altera levert het niosv-app hulpprogramma in de Quartus Prime softwarehulpprogramma's om de Application CMakeLists.txt te maken en RiscFree IDE voor Altera FPGA's om de broncode in een Eclipse-gebaseerde omgeving te wijzigen.
3.2. Altera FPGA Embedded-ontwikkeltools
De Nios V-processor ondersteunt de volgende tools voor softwareontwikkeling: · Grafische gebruikersinterface (GUI) – Grafische ontwikkeltools die beschikbaar zijn in
Zowel Windows* als Linux* besturingssystemen. — Nios V Board Support Package Editor (Nios V BSP Editor) — Ashling RiscFree IDE voor Altera FPGA's · Command-Line Tools (CLI) – Ontwikkeltools die worden gestart vanuit de Nios V Command Shell. Elke tool biedt zijn eigen documentatie in de vorm van help, toegankelijk via de opdrachtregel. Open de Nios V Command Shell en typ de volgende opdracht: –helpen om view het Help-menu. — Nios V Utilities Tools — File Hulpmiddelen voor formaatconversie - Andere hulpprogramma's

Feedback verzenden

Nios® V Embedded Processor Design Handboek 43

3. Nios V-processor softwaresysteemontwerp 726952 | 2025.07.16

Tabel 25. Overzicht taken GUI-hulpmiddelen en opdrachtregelhulpmiddelen

Taak

GUI-tool

Opdrachtregeltool

Een BSP aanmaken

Nios V BSP-editor

· In Quartus Prime Pro Edition-software: niosv-bsp -c -s=<.qsys file> -t= [OPTIES] instellingen.bsp
· In Quartus Prime Standard Edition-software: niosv-bsp -c -s=<.sopcinfo file> -t= [OPTIES] instellingen.bsp

Een BSP genereren met behulp van bestaande .bsp file
Een BSP bijwerken

Nios V BSP-editor Nios V BSP-editor

niosv-bsp -g [OPTIES] instellingen.bsp niosv-bsp -u [OPTIES] instellingen.bsp

Een BSP onderzoeken

Nios V BSP-editor

niosv-bsp -q -E= [OPTIES] instellingen.bsp

Een applicatie maken

niosv-app -a= -b= -s= files directory> [OPTIES]

Een gebruikersbibliotheek aanmaken

niosv-app -l= -s= files map> -p= [OPTIES]

Een applicatie wijzigen Een gebruikersbibliotheek wijzigen Een applicatie bouwen

RiscFree IDE voor Altera FPGA's
RiscFree IDE voor Altera FPGA's
RiscFree IDE voor Altera FPGA's

Elke opdrachtregelbron-editor
Elke opdrachtregelbron-editor
· maken · cmake

Een gebruikersbibliotheek opbouwen

RiscFree IDE voor Altera FPGA's

· maken · cmake

Een ELF-applicatie downloaden
Het converteren van .elf file

RiscFree IDE voor Altera FPGA's

niosv-download
· elf2flash · elf2hex

Gerelateerde informatie
Ashling RiscFree Integrated Development Environment (IDE) voor Altera FPGA's Gebruikershandleiding

3.2.1. Nios V-processorbord-ondersteuningspakket-editor
Met de Nios V-processor BSP-editor kunt u de volgende taken uitvoeren: · Een Nios V-processor BSP-project maken of wijzigen · Instellingen, koppelingsregio's en sectietoewijzingen bewerken · Softwarepakketten en apparaatstuurprogramma's selecteren.
De mogelijkheden van de BSP-editor omvatten de mogelijkheden van de niosv-bsp-hulpprogramma's. Elk project dat in de BSP-editor is gemaakt, kan ook worden gemaakt met behulp van de opdrachtregelhulpprogramma's.

Nios® V Embedded Processor Design Handboek 44

Feedback verzenden

3. Nios V-processor softwaresysteemontwerp 726952 | 2025.07.16

Opmerking:

Voor Quartus Prime Standard Edition-software raadpleegt u AN 980: Nios V Processor Quartus Prime Software Support voor de stappen om de BSP Editor GUI aan te roepen.

Om de BSP-editor te starten, volgt u deze stappen: 1. Open Platform Designer en navigeer naar het File menu.
a. Om een ​​bestaande BSP-instelling te openen file, klik op Openen… b. Om een ​​nieuwe BSP te maken, klikt u op Nieuwe BSP… 2. Selecteer het tabblad BSP-editor en geef de juiste gegevens op.

Figuur 27. BSP-editor starten

Gerelateerde informatie AN 980: Nios V-processor Quartus Prime-softwareondersteuning
3.2.2. RiscFree IDE voor Altera FPGA's
De RiscFree IDE voor Altera FPGA's is een Eclipse-gebaseerde IDE voor de Nios V-processor. Altera raadt aan om de software voor de Nios V-processor in deze IDE te ontwikkelen om de volgende redenen: · De functies zijn ontwikkeld en geverifieerd op compatibiliteit met de Nios V.
processor build flow. · Uitgerust met alle benodigde toolchains en ondersteunende tools waarmee u
om eenvoudig te beginnen met de ontwikkeling van de Nios V-processor.
Gerelateerde informatie Ashling RiscFree Integrated Development Environment (IDE) voor Altera FPGA's Gebruikershandleiding
3.2.3. Nios V-hulpprogramma's
U kunt Nios V-programma's maken, wijzigen en bouwen met opdrachten die u op een opdrachtregel typt of in een script insluit. De Nios V-opdrachtregeltools die in deze sectie worden beschreven, bevinden zich in de /niosv/bin map.

Feedback verzenden

Nios® V Embedded Processor Design Handboek 45

3. Nios V-processor softwaresysteemontwerp 726952 | 2025.07.16

Tabel 26. Nios V Utilities-hulpmiddelen

Opdrachtregelhulpmiddelen

Samenvatting

niosv-app niosv-bsp niosv-download niosv-shell niosv-stack-report

Een applicatieproject genereren en configureren.
BSP-instellingen maken of bijwerken file en creëer de BSP files. Om de ELF te downloaden file naar een Nios® V-processor.
Om de Nios V Command Shell te openen. Om u te informeren over de resterende geheugenruimte die beschikbaar is voor uw applicatie .elf voor stack- of heapgebruik.

3.2.4. File Formaatconversietools

File Formaatconversie is soms nodig bij het doorgeven van gegevens van het ene hulpprogramma naar het andere. file formaatconversietools zijn beschikbaar in de
software-installatiemap>/niosv/bin map.

Tabel 27. File Formaatconversietools

Opdrachtregelhulpmiddelen elf2flash elf2hex

Samenvatting Om het .elf-bestand te vertalen file naar .srec-formaat voor flashgeheugenprogrammering. Om het .elf-bestand te vertalen file naar .hex-formaat voor geheugeninitialisatie.

3.2.5. Andere hulpprogramma's

U hebt mogelijk de volgende opdrachtregeltools nodig bij het bouwen van een systeem op basis van een Nios V-processor. Deze opdrachtregeltools worden door Intel geleverd in /quartus/bin of verkregen van
open-sourcehulpmiddelen.

Tabel 28. Andere opdrachtregelhulpmiddelen

Opdrachtregelhulpmiddelen

Type

Samenvatting

juart-terminal

Door Intel geleverd

Om stdout en stderr te monitoren en input te leveren aan een Nios® V-processor
subsysteem via stdin. Deze tool is alleen van toepassing op de JTAG UART IP wanneer deze is aangesloten op de Nios® V-processor.

openocd

Door Intel geleverd om OpenOCD uit te voeren.

openocd-cfg-gen

Door Intel geleverd · Om de OpenOCD-configuratie te genereren file. · Om J weer te gevenTAG ketenapparaatindex.

Nios® V Embedded Processor Design Handboek 46

Feedback verzenden

726952 | 2025.07.16 Feedback verzenden
4. Nios V-processorconfiguratie en opstartoplossingen
U kunt de Nios V-processor configureren om software op te starten en uit te voeren vanaf verschillende geheugenlocaties. Het opstartgeheugen is Quad Serial Peripheral Interface (QSPI) flashgeheugen, On-Chip Memory (OCRAM) of Tightly Coupled Memory (TCM).
Gerelateerde informatie · Power-Up Trigger-voorwaarden op pagina 193 · Power-Up Triggers
Voor meer informatie over power-up triggers.
4.1. Inleiding
De Nios V-processor ondersteunt twee soorten opstartprocessen: · Execute-in-Place (XIP) met de alt_load()-functie · Programma gekopieerd naar RAM met behulp van een bootcopier. De ontwikkeling van embedded programma's in de Nios V is gebaseerd op de Hardware Abstraction Layer (HAL). De HAL biedt een klein bootloaderprogramma (ook wel bootcopier genoemd) dat relevante linkersecties van het opstartgeheugen naar hun runtime-locatie kopieert tijdens het opstarten. U kunt de runtime-locaties van het programma en het datageheugen specificeren door de instellingen van de Board Support Package (BSP) Editor te wijzigen. Deze sectie beschrijft: · Een bootcopier voor de Nios V-processor die uw Nios V-processorsysteem opstart volgens
de selectie van het opstartgeheugen · opstartopties en algemene stroom van de Nios V-processor · Nios V-programmeeroplossingen voor het geselecteerde opstartgeheugen
4.2. Applicaties koppelen
Wanneer u het Nios V-processorproject genereert, genereert de BSP-editor twee linkergerelateerde files: · linker.x: Het linker commando file dat de gegenereerde applicatiefile gebruik
om het .elf-binaire bestand te maken file· linker.h: Bevat informatie over de linkergeheugenindeling. Alle wijzigingen in de linkerinstellingen die u aanbrengt in het BSP-project, hebben invloed op de inhoud van deze twee linkers. files. Elke Nios V-processortoepassing bevat de volgende linkersecties:
© Altera Corporation. Altera, het Altera-logo, het `a'-logo en andere Altera-merken zijn handelsmerken van Altera Corporation. Altera behoudt zich het recht voor om te allen tijde en zonder voorafgaande kennisgeving wijzigingen aan te brengen in producten en diensten. Altera aanvaardt geen verantwoordelijkheid of aansprakelijkheid die voortvloeit uit de toepassing of het gebruik van de hierin beschreven informatie, producten of diensten, tenzij uitdrukkelijk schriftelijk overeengekomen met Altera. Klanten van Altera wordt geadviseerd de nieuwste versie van de apparaatspecificaties te raadplegen voordat ze op gepubliceerde informatie vertrouwen en producten of diensten bestellen. *Andere namen en merken kunnen eigendom van anderen zijn.

4. Nios V-processorconfiguratie en opstartoplossingen 726952 | 2025.07.16

Tabel 29. Linkersecties

.tekst

Linkersecties

.rodata

.rwdata

.bss

.hoop

.stapel

Beschrijvingen Uitvoerbare code. Alle alleen-lezen gegevens die worden gebruikt bij de uitvoering van het programma. Slaat lees-/schrijfgegevens op die worden gebruikt bij de uitvoering van het programma. Bevat niet-geïnitialiseerde statische gegevens. Bevat dynamisch toegewezen geheugen. Slaat parameters van functieaanroepen en andere tijdelijke gegevens op.

U kunt extra linkersecties toevoegen aan het .elf-bestand file om aangepaste code en gegevens te bewaren. Deze linkersecties worden geplaatst in benoemde geheugenregio's, die zijn gedefinieerd om overeen te komen met fysieke geheugenapparaten en adressen. Standaard genereert BSP Editor deze linkersecties automatisch. U kunt de linkersecties echter voor een specifieke toepassing beheren.

4.2.1. Koppelingsgedrag
In dit gedeelte wordt het standaardkoppelingsgedrag van de BSP-editor beschreven en hoe u het koppelingsgedrag kunt beheren.

4.2.1.1. Standaard BSP-koppeling
Tijdens de BSP-configuratie voeren de hulpprogramma's automatisch de volgende stappen uit:
1. Wijs namen toe aan geheugenregio's: Wijs een naam toe aan elk systeemgeheugenapparaat en voeg elke naam toe aan de linker file als geheugengebied.
2. Vind het grootste geheugen: Identificeer het grootste lees- en schrijfgeheugengebied in de linker file.
3. Wijs linkersecties toe: plaats de standaard linkersecties (.text, .rodata, .rwdata, .bss, .heap en .stack) in het geheugengebied dat in de vorige stap is geïdentificeerd.
4. Schrijf files: Schrijf de linker.x en linker.h files.
Normaal gesproken werkt het toewijzingsschema voor de linkersectie al tijdens het softwareontwikkelingsproces, omdat de werking van de applicatie gegarandeerd is als het geheugen groot genoeg is.
De regels voor het standaard koppelingsgedrag zijn opgenomen in de door Altera gegenereerde Tcl-scripts bsp-set-defaults.tcl en bsp-linker-utils.tcl die te vinden zijn in de De map /niosv/scripts/bsp-defaults. De opdracht niosv-bsp roept deze scripts aan. Wijzig deze scripts niet rechtstreeks.

Nios® V Embedded Processor Design Handboek 48

Feedback verzenden

4. Nios V-processorconfiguratie en opstartoplossingen 726952 | 2025.07.16

4.2.1.2. Configureerbare BSP-koppeling
U kunt het standaard koppelingsgedrag beheren op het tabblad Linker Script van de BSP-editor. U kunt het Linker-script op de volgende manieren bewerken: · Een geheugenregio toevoegen: koppelt de naam van een geheugenregio aan een fysiek geheugenapparaat. · Een sectietoewijzing toevoegen: koppelt de naam van een sectie aan een geheugenregio. De BSP
Met de editor kunt u: view de geheugenkaart vóór en ná het aanbrengen van wijzigingen.

4.3. Opstartmethoden voor de Nios V-processor

Er zijn verschillende methoden om de Nios V-processor op te starten in Altera FPGA-apparaten. De methoden voor het opstarten van de Nios V-processor variëren afhankelijk van de gekozen flashgeheugen en de apparaatfamilies.

Tabel 30. Ondersteunde flashgeheugens met bijbehorende opstartopties

Ondersteunde opstartgeheugens

Apparaat

On-Chip Flash (voor interne configuratie)

Maximaal 10 apparaten (met On-Chip Flash IP)

QSPI Flash voor algemeen gebruik (alleen voor gebruikersgegevens)

Alle ondersteunde FPGA-apparaten (met generieke seriële flashinterface FPGA IP)

Configuratie QSPI Flash (voor actieve seriële configuratie)

Besturingsblokgebaseerd
apparaten (met generieke
Seriële flashinterface Intel FPGA IP)(2)

Opstartmethoden voor de Nios V-processor

Locatie van toepassingsruntime

Boot-kopieerapparaat

Nios V-processortoepassing ter plaatse uitvoeren vanuit On-Chip Flash

On-Chip Flash (XIP) + OCRAM/Extern RAM (voor beschrijfbare datasecties)

alt_load()-functie

Nios V-processorapplicatie gekopieerd van On-Chip Flash naar RAM met behulp van bootcopier

OCRAM/Extern RAM

Hergebruik van Bootloader via GSFI

Nios V-processortoepassing ter plaatse uitvoeren vanuit QSPI-flash voor algemeen gebruik

Algemeen QSPI-flashgeheugen (XIP) + OCRAM/extern RAM (voor beschrijfbare gegevenssecties)

alt_load()-functie

Nios V-processorapplicatie gekopieerd van algemene QSPI-flash naar RAM met behulp van bootcopier

OCRAM/Extern RAM

Bootloader via GSFI

Nios V-processortoepassing ter plaatse uitvoeren vanuit configuratie QSPI-flash

Configuratie QSPI flash (XIP) + OCRAM/Extern RAM (voor schrijfbare datasecties)

alt_load()-functie

Nios V-processorapplicatie gekopieerd van configuratie QSPI flash naar RAM met behulp van bootcopier

OCRAM/Externe RAM Bootloader via GSFI (vervolg)…

(2) Raadpleeg AN 980: Nios V Processor Quartus Prime Software Support voor de lijst met apparaten.

Feedback verzenden

Nios® V Embedded Processor Design Handboek 49

4. Nios V-processorconfiguratie en opstartoplossingen 726952 | 2025.07.16

Ondersteunde opstartgeheugens
On-chip geheugen (OCRAM) Tightly Coupled Memory (TCM)

Apparaat
SDM-gebaseerde apparaten (met Mailbox Client Intel FPGA IP). (2)
Alle ondersteunde Altera FPGA-apparaten (2)
Alle ondersteunde Altera FPGA-apparaten (2)

Opstartmethoden voor de Nios V-processor
Nios V-processorapplicatie gekopieerd van configuratie QSPI flash naar RAM met behulp van bootcopier
Nios V-processortoepassing ter plaatse uitvoeren vanuit OCRAM
Nios V-processortoepassing ter plaatse uitvoeren vanuit TCM

Locatie van toepassingsruntime

Boot-kopieerapparaat

OCRAM/Externe RAM-bootloader via SDM

OCRAM

alt_load()-functie

Instructie TCM (XIP) Geen + Data TCM (voor schrijfbare datasecties)

Figuur 28. Opstartstroom van de Nios V-processor

Opnieuw instellen

Processor springt naar resetvector (start van opstartcode)

Applicatiecode kan naar een andere geheugenlocatie worden gekopieerd (afhankelijk van de opstartopties)
Opstartcode initialiseert de processor

Afhankelijk van de opstartopties kan de opstartcode de beginwaarden voor data/code kopiëren naar een andere geheugenruimte (alt_load)
Opstartcode initialiseert de applicatiecode en datageheugenruimte
Opstartcode initialiseert alle systeemrandapparatuur met HAL-stuurprogramma's (alt_main)
Toegang tot hoofd
Gerelateerde informatie · Algemene seriële flash-interface Altera FPGA IP-gebruikershandleiding
Nios® V Embedded Processor Design Handboek 50

Feedback verzenden

4. Nios V-processorconfiguratie en opstartoplossingen 726952 | 2025.07.16
· Mailbox Client Altera FPGA IP-gebruikershandleiding · AN 980: Nios V-processor Quartus Prime-softwareondersteuning
4.4. Inleiding tot Nios V-processor-opstartmethoden
Nios V-processorsystemen vereisen dat de software-images in het systeemgeheugen worden geconfigureerd voordat de processor het applicatieprogramma kan uitvoeren. Raadpleeg de Linker-secties voor de standaardlinker-secties.
De BSP-editor genereert een koppelingsscript dat de volgende functies uitvoert: · Zorgt ervoor dat de processorsoftware wordt gekoppeld in overeenstemming met de koppelingsinstellingen
van de BSP-editor en bepaalt waar de software zich in het geheugen bevindt. · Positioneert het codegebied van de processor in het geheugencomponent volgens de
toegewezen geheugencomponenten.
In het volgende gedeelte worden de beschikbare opstartmethoden voor de Nios V-processor kort beschreven.
4.4.1. Nios V-processortoepassing uitvoeren op locatie vanaf bootflash
Altera heeft de flashcontrollers zo ontworpen dat de bootflash-adresruimte direct toegankelijk is voor de Nios V-processor na een systeemreset, zonder dat de geheugencontroller of geheugenapparaten hoeven te worden geïnitialiseerd. Dit stelt de Nios V-processor in staat om applicatiecode die op de bootapparaten is opgeslagen, direct uit te voeren zonder een bootcopier te gebruiken om de code naar een ander geheugentype te kopiëren. De flashcontrollers zijn: · On-Chip Flash met On-Chip Flash IP (alleen in MAX® 10-apparaat) · Universele QSPI-flash met Generic Serial Flash Interface IP · Configuratie QSPI-flash met Generic Serial Flash Interface IP (behalve MAX 10)
-apparaten)
Wanneer de Nios V-processortoepassing ter plekke wordt uitgevoerd vanuit de bootflash, voert de BSP-editor de volgende functies uit: · Stelt de .text-linkersecties in op het bootflash-geheugengebied. · Stelt de .bss-, .rodata-, .rwdata-, .stack- en .heap-linkersecties in op het RAM
Geheugengebied. U moet de alt_load()-functie in de BSP-instellingen inschakelen om de datasecties (.rodata, .rwdata, .exceptions) naar het RAM te kopiëren na een systeemreset. Het codegedeelte (.text) blijft in het flashgeheugen van de boot.
Gerelateerde informatie · Algemene seriële flash-interface Altera FPGA IP-gebruikershandleiding · Altera MAX 10-gebruikershandleiding voor flashgeheugen
4.4.1.1. alt_load()
U kunt de alt_load()-functie in de HAL-code inschakelen met behulp van de BSP-editor.
Wanneer de alt_load()-functie wordt gebruikt in de 'execute-in-place'-opstartstroom, voert deze de volgende taken uit:

Feedback verzenden

Nios® V Embedded Processor Design Handboek 51

4. Nios V-processorconfiguratie en opstartoplossingen 726952 | 2025.07.16

· Werkt als een mini-bootkopieermachine die de geheugensecties naar RAM kopieert op basis van de BSP-instellingen.
· Kopieert datasecties (.rodata, .rwdata, .exceptions) naar RAM, maar niet de codesecties (.text). De codesectie (.text) is een alleen-lezen sectie en blijft in het flashgeheugen van de opstartschijf. Deze partitionering helpt het RAM-gebruik te minimaliseren, maar kan de uitvoeringsprestaties van de code beperken omdat toegang tot flashgeheugen trager is dan toegang tot het on-chip RAM.

In de volgende tabel worden de instellingen en functies van de BSP-editor weergegeven:

Tabel 31. BSP-editorinstellingen
BSP-editor instellen 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

Functie Schakelt de alt_load()-functie in. alt_load() kopieert de sectie .rodata naar RAM. alt_load() kopieert de sectie .rwdata naar RAM. alt_load() kopieert de sectie .exceptions naar RAM.

4.4.2. Nios V-processorapplicatie gekopieerd van Boot Flash naar RAM met behulp van Boot Copier
De Nios V-processor en HAL bevatten een bootcopier die voldoende functionaliteit biedt voor de meeste Nios V-processortoepassingen en die eenvoudig te implementeren is met de Nios V-softwareontwikkelingsstroom.
Wanneer de applicatie een bootcopier gebruikt, worden alle linkersecties (.text, .heap, .rwdata, .rodata, .bss, .stack) ingesteld op een intern of extern RAM-geheugen. Het gebruik van de bootcopier om een ​​applicatie met een Nios V-processor van de bootflash naar het interne of externe RAM-geheugen te kopiëren voor uitvoering, verbetert de uitvoeringsprestaties.
Bij deze opstartoptie start de Nios V-processor met het uitvoeren van de bootcopiersoftware na een systeemreset. De software kopieert de applicatie van de bootflash naar het interne of externe RAM-geheugen. Zodra het proces is voltooid, draagt ​​de Nios V-processor de programmabesturing over aan de applicatie.

Opmerking:

Als de bootcopier zich in flash bevindt, hoeft de alt_load()-functie niet te worden aangeroepen, omdat ze beide hetzelfde doel dienen.

4.4.2.1. Nios V-processor-bootloader via generieke seriële flashinterface
De Bootloader via GSFI is de bootcopier van de Nios V-processor die QSPI-flashgeheugen ondersteunt in apparaten met een besturingsblok. De Bootloader via GSFI bevat de volgende functies:
· Lokaliseert de softwaretoepassing in niet-vluchtig geheugen.
· Pakt de softwaretoepassingsimage uit en kopieert deze naar het RAM-geheugen.
· Schakelt de processoruitvoering automatisch over naar applicatiecode in RAM nadat het kopiëren is voltooid.

Nios® V Embedded Processor Design Handboek 52

Feedback verzenden

4. Nios V-processorconfiguratie en opstartoplossingen 726952 | 2025.07.16

De opstartimage bevindt zich direct na de bootcopier. Zorg ervoor dat de reset-offset van de Nios V-processor naar het begin van de bootcopier wijst. De afbeelding: Geheugenkaart voor QSPI Flash met bootloader via GSFI toont de flashgeheugenkaart voor QSPI Flash bij gebruik van een bootcopier. Deze geheugenkaart gaat ervan uit dat het flashgeheugen de FPGA-image en de applicatiesoftware opslaat.

Tabel 32. Bootloader via GSFI voor Nios V-processorkern

Nios V-processorkern
Nios V/m-processor

Bootloader via GSFI File Locatie
/niosv/components/bootloader/ niosv_m_bootloader.srec

Nios V/g-processor

/niosv/components/bootloader/ niosv_g_bootloader.srec

Figuur 29. Geheugenkaart voor QSPI Flash met Bootloader via GSFI

Klantgegevens (*.hex)

Toepassingscode:

Opmerking:

Vectoroffset resetten

Boot-kopieerapparaat

0x01E00000

FPGA-image (*.sof)

0x00000000

1. Aan het begin van de geheugenkaart staat de FPGA-image, gevolgd door uw gegevens, die bestaan ​​uit de bootcopier en applicatiecode.
2. U moet de reset-offset van de Nios V-processor instellen in Platform Designer en deze laten wijzen naar het begin van de bootcopier.
3. De grootte van de FPGA-image is onbekend. U kunt de exacte grootte pas weten na de compilatie van het Quartus Prime-project. U moet een bovengrens bepalen voor de grootte van de Altera FPGA-image. BijvoorbeeldampAls de grootte van de FPGA-image bijvoorbeeld kleiner is dan 0x01E00000, stelt u de Reset Offset in op 0x01E00000 in Platform Designer. Dit is tevens het begin van de bootcopier.
4. Een goede ontwerppraktijk bestaat uit het instellen van de resetvectoroffset op een flashsectorgrens om ervoor te zorgen dat er geen gedeeltelijke verwijdering van de FPGA-afbeelding plaatsvindt als de softwaretoepassing wordt bijgewerkt.

Feedback verzenden

Nios® V Embedded Processor Design Handboek 53

4. Nios V-processorconfiguratie en opstartoplossingen 726952 | 2025.07.16

4.4.2.2. Nios V-processor-bootloader via Secure Device Manager
De Bootloader via Secure Device Manager (SDM) is een HAL-applicatiecode die gebruikmaakt van de Mailbox Client Altera FPGA IP HAL-driver voor het opstarten van de processor. Altera raadt deze bootloaderapplicatie aan bij gebruik van de QSPI-flashconfiguratie in SDM-gebaseerde apparaten om de Nios V-processor op te starten.
Bij het resetten van het systeem start de Nios V-processor eerst de Bootloader op via SDM vanuit een klein geheugen op de chip en voert de Bootloader uit via SDM om te communiceren met de QSPI-flashconfiguratie via het IP-adres van de Mailbox Client.
De Bootloader via SDM voert de volgende taken uit: · Lokaliseert de Nios V-software in de QSPI-flashconfiguratie. · Kopieert de Nios V-software naar het on-chip RAM of externe RAM. · Schakelt de processoruitvoering over naar de Nios V-software in het on-chip RAM of externe RAM.
extern RAM.
Zodra het proces is voltooid, draagt ​​de Bootloader via SDM de programmacontrole over aan de gebruikersapplicatie. Altera adviseert de geheugenorganisatie zoals beschreven in Geheugenorganisatie voor Bootloader via SDM.
Figuur 30. Bootloader via SDM-processtroom

Configuratie

Flash

2

Nios V-software

SDM

SDM-gebaseerd FPGA-apparaat

IP van mailboxclient

FPGA Logic Nios V

4 Extern RAM
Nios V-software

Op-chip 4

EMIF

RAM

Geheugen op chip

IP

Nios V

1

Software

Bootloader via SDM

3

3

1. De Nios V-processor voert de Bootloader via SDM uit vanuit het on-chip geheugen.
2. Bootloader communiceert via SDM met de configuratieflash en zoekt naar de Nios V-software.
3. Bootloader kopieert via SDM de Nios V-software van de configuratieflash naar het on-chip RAM/extern RAM.
4. Bootloader via SDM schakelt de uitvoering van de Nios V-processor over naar de Nios V-software in het on-chip RAM/externe RAM.

4.4.3. Nios V-processortoepassing uitvoeren op locatie vanuit OCRAM
Bij deze methode wordt het resetadres van de Nios V-processor ingesteld op het basisadres van het on-chip geheugen (OCRAM). Het binaire bestand van de applicatie (.hex) file Wordt in het OCRAM geladen wanneer de FPGA wordt geconfigureerd, nadat het hardwareontwerp is gecompileerd in de Quartus Prime-software. Zodra de Nios V-processor is gereset, begint de applicatie te draaien en vertakt deze naar het invoerpunt.

Nios® V Embedded Processor Design Handboek 54

Feedback verzenden

4. Nios V-processorconfiguratie en opstartoplossingen 726952 | 2025.07.16

Opmerking:

· Execute-In-Place vanuit OCRAM vereist geen bootcopier omdat de Nios V-processortoepassing al aanwezig is bij het opnieuw opstarten van het systeem.
· Altera adviseert om alt_load() in te schakelen voor deze opstartmethode, zodat de ingebedde software zich identiek gedraagt ​​bij een reset, zonder dat de FPGA-apparaatimage opnieuw hoeft te worden geconfigureerd.
· U moet de alt_load()-functie in de BSP-instellingen inschakelen om de sectie .rwdata te kopiëren bij een systeemreset. Bij deze methode worden de beginwaarden voor geïnitialiseerde variabelen apart van de corresponderende variabelen opgeslagen om overschrijven tijdens de uitvoering van het programma te voorkomen.

4.4.4. Nios V-processortoepassing uitvoeren op locatie vanuit TCM
De execute-in-place-methode stelt het resetadres van de Nios V-processor in op het basisadres van het tight coupled memory (TCM). De binaire applicatie (.hex) file wordt in de TCM geladen wanneer u de FPGA configureert nadat u het hardwareontwerp in de Quartus Prime-software hebt gecompileerd. Zodra de Nios V-processor opnieuw is ingesteld, begint de toepassing te worden uitgevoerd en vertakt deze naar het invoerpunt.

Opmerking:

Voor Execute-In-Place vanuit TCM is geen bootcopier nodig omdat de Nios V-processortoepassing al aanwezig is bij het opnieuw opstarten van het systeem.

4.5. Nios V-processor opstarten vanaf on-chip flash (UFM)

Het opstarten en uitvoeren van software vanaf on-chip flash (UFM) via de Nios V-processor is beschikbaar in MAX 10 FPGA-apparaten. De Nios V-processor ondersteunt de volgende twee opstartopties met on-chip flash in de interne configuratiemodus:
· Nios V-processorapplicatie wordt ter plekke uitgevoerd vanaf On-Chip Flash.
· De Nios V-processorapplicatie wordt met behulp van een bootcopier van On-Chip Flash naar RAM gekopieerd.

Tabel 33. Ondersteunde flashgeheugens met bijbehorende opstartopties

Ondersteunde opstartgeheugens

Nios V-opstartmethoden

Locatie van toepassingsruntime

Boot-kopieerapparaat

Maximaal 10 apparaten (met OnChip Flash IP)

Nios V-processortoepassing ter plaatse uitvoeren vanuit On-Chip Flash
Nios V-processorapplicatie gekopieerd van On-Chip Flash naar RAM met behulp van bootcopier

On-Chip Flash (XIP) + OCRAM/Extern RAM (voor beschrijfbare datasecties)

alt_load()-functie

OCRAM/Extern RAM

Hergebruik van Bootloader via GSFI

Feedback verzenden

Nios® V Embedded Processor Design Handboek 55

4. Nios V-processorconfiguratie en opstartoplossingen 726952 | 2025.07.16

Figuur 31.

Ontwerp, configuratie en opstartstroom
Ontwerp · Maak uw op Nios V-processor gebaseerde project met behulp van Platform Designer. · Zorg ervoor dat er extern RAM of on-chip RAM in het systeemontwerp is.

FPGA-configuratie en -compilatie
· Stel dezelfde interne configuratiemodus in voor On-chip Flash IP in Platform Designer en Quartus Prime-software. · Stel de Nios V processor reset agent in op On-chip Flash. · Kies uw gewenste UFM-initialisatiemethode. · Genereer uw ontwerp in Platform Designer. · Compileer uw project in Quartus Prime-software.

Gebruikerstoepassing BSP-project · Creëer Nios V-processor HAL BSP op basis van .sopcinfo file gemaakt door Platform Designer. · Bewerk de BSP-instellingen van de Nios V-processor en het Linker Script in de BSP Editor. · Genereer een BSP-project.
Project voor gebruikerstoepassing APP · Ontwikkel Nios V-processortoepassingscode. · Compileer Nios V-processortoepassing en genereer Nios V-processortoepassing (.hex) file· Compileer uw project opnieuw in de Quartus Prime-software als u de optie Geheugeninhoud initialiseren in Intel FPGA On-Chip Flash IP aanvinkt.

Programmeren Files Conversie, downloaden en uitvoeren · Genereer de on-chip Flash .pof file met behulp van Convert Programming Files-functie in Quartus Prime-software.
· Programmeer de .pof file in uw MAX 10-apparaat. · Schakel uw hardware uit en weer in.
4.5.1. MAX 10 FPGA On-Chip Flash-beschrijving
MAX 10 FPGA-apparaten bevatten on-chip flash dat in twee delen is gesegmenteerd: · Configuratieflashgeheugen (CFM) — slaat de hardwareconfiguratiegegevens op voor
MAXIMAAL 10 FPGA's. · Gebruikersflashgeheugen (UFM) — slaat gebruikersgegevens of softwaretoepassingen op.
De UFM-architectuur van het MAX 10-apparaat is een combinatie van zachte en harde IP's. U kunt de UFM alleen benaderen via de On-Chip Flash IP Core in de Quartus Prime-software.
De on-chip Flash IP-kern ondersteunt de volgende functies: · Lees- of schrijftoegang tot UFM- en CFM-sectoren (indien ingeschakeld in Platform Designer)
met behulp van de Avalon MM-gegevens- en besturingsslave-interface. · Ondersteunt pagina-wissen, sector-wissen en sector-schrijven. · Simulatiemodel voor UFM-lees-/schrijftoegang met behulp van verschillende EDA-simulatietools.

Nios® V Embedded Processor Design Handboek 56

Feedback verzenden

4. Nios V-processorconfiguratie en opstartoplossingen 726952 | 2025.07.16

Tabel 34. On-chip flash-regio's in MAX 10 FPGA-apparaten

Flash-regio's

Functionaliteit

Configuratie Flash-geheugen (sectoren CFM0-2)

FPGA-configuratie file opslag

Gebruikersflashgeheugen (sectoren UFM0-1)

Nios V-processor applicatie- en gebruikersgegevens

MAX 10 FPGA-apparaten ondersteunen verschillende configuratiemodi en sommige van deze modi maken het mogelijk om CFM1 en CFM2 te gebruiken als een extra UFM-regio. De volgende tabel toont de opslaglocatie van de FPGA-configuratie-images op basis van de configuratiemodi van de MAX 10 FPGA.

Tabel 35. Opslaglocatie van FPGA-configuratiebeelden

Configuratiemodus Dubbele gecomprimeerde afbeeldingen

CFM2 gecomprimeerde afbeelding 2

CFM1

CFM0 gecomprimeerde afbeelding 1

Eén ongecomprimeerde afbeelding

Virtuele UFM

Ongecomprimeerde afbeelding

Eén ongecomprimeerde afbeelding met geheugeninitialisatie

Ongecomprimeerde afbeelding (met vooraf geïnitialiseerde on-chip geheugeninhoud)

Enkelvoudig gecomprimeerd beeld met geheugeninitialisatie Gecomprimeerd beeld (met vooraf geïnitialiseerde on-chip geheugeninhoud)

Eén gecomprimeerde afbeelding

Virtuele UFM

Gecomprimeerde afbeelding

U moet de on-chip Flash IP-core gebruiken om toegang te krijgen tot het flashgeheugen in MAX 10 FPGA's. U kunt de on-chip Flash IP instantiëren en verbinden met de Quartus Prime-software. De Nios V softcore-processor gebruikt de Platform Designer-interconnects om te communiceren met de on-chip Flash IP.
Figuur 32. Verbinding tussen on-chip Flash IP en Nios V-processor

Opmerking:

Zorg ervoor dat de on-chip Flash csr-poort is aangesloten op de data_manager van de Nios V-processor, zodat de processor schrijf- en wisbewerkingen kan beheren.
De on-chip Flash IP-kern biedt toegang tot vijf flashsectoren: UFM0, UFM1, CFM0, CFM1 en CFM2.
Belangrijke informatie over de UFM- en CFM-sectoren: · CFM-sectoren zijn bedoeld voor de opslag van configuratiegegevens (bitstream) (*.pof).
· Gebruikersgegevens kunnen worden opgeslagen in de UFM-sectoren en kunnen worden verborgen als de juiste instellingen zijn geselecteerd in de Platform Designer-tool.
· Bepaalde apparaten hebben geen UFM1-sector. Raadpleeg de tabel: UFM- en CFM-sectorgrootte voor de beschikbare sectoren in elk afzonderlijk MAX 10 FPGA-apparaat.

Feedback verzenden

Nios® V Embedded Processor Design Handboek 57

4. Nios V-processorconfiguratie en opstartoplossingen 726952 | 2025.07.16

· U kunt CFM2 configureren als een virtuele UFM door de configuratiemodus Single Uncompressed Image te selecteren.
· U kunt CFM2 en CFM1 configureren als virtuele UFM door de configuratiemodus Single Uncompressed Image te selecteren.
· De grootte van elke sector varieert afhankelijk van de geselecteerde MAX 10 FPGA-apparaten.

Tabel 36.

Omvang van de UFM- en CFM-sector
In deze tabel staan ​​de afmetingen van de UFM- en CFM-arrays.

Apparaat

Pagina's per sector

UFM1 UFM0 CFM2 CFM1 CFM0

Paginagrootte (Kbit)

Maximale gebruiker
Grootte van het flashgeheugen (Kbit) (3)

Totale configuratiegeheugengrootte (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-grootte (Kbit)
108 189 378 549 675 1260 1638

Gerelateerde informatie · Gebruikershandleiding voor de MAX 10 FPGA-configuratie · Gebruikershandleiding voor het Altera MAX 10 Flash-geheugen

4.5.2. Nios V-processortoepassing uitvoeren op locatie vanuit UFM

De Execute-In-Place-oplossing van UFM is geschikt voor Nios V-processortoepassingen die een beperkt on-chip geheugengebruik vereisen. De alt_load()-functie werkt als een mini-bootcopier die de datasecties (.rodata, .rwdata of .exceptions) van het bootgeheugen naar het RAM kopieert op basis van de BSP-instellingen. De codesectie (.text),
Dit is een alleen-lezen sectie en blijft in het MAX 10 on-chip flashgeheugengebied. Deze configuratie minimaliseert het RAM-gebruik, maar kan de uitvoeringsprestaties van de code beperken, omdat de toegang tot het flashgeheugen trager is dan tot het on-chip RAM.

De Nios V-processorapplicatie is geprogrammeerd in de UFM-sector. De resetvector van de Nios V-processor wijst naar het UFM-basisadres om code van de UFM uit te voeren nadat het systeem is gereset.

Als u de debugger op bronniveau gebruikt om uw applicatie te debuggen, moet u een hardwarematig breekpunt gebruiken. Dit komt doordat de UFM geen willekeurige geheugentoegang ondersteunt, wat noodzakelijk is voor het debuggen van soft-breekpunten.

Opmerking:

U kunt UFM niet wissen of wegschrijven terwijl u execute-in-place uitvoert in de MAX 10. Schakel over naar de boot-kopieermethode als u de UFM moet wissen of wegschrijven.

(3) De maximaal mogelijke waarde, die afhankelijk is van de configuratiemodus die u selecteert.

Nios® V Embedded Processor Design Handboek 58

Feedback verzenden

4. Nios V-processorconfiguratie en opstartoplossingen 726952 | 2025.07.16

Figuur 33. Nios V-processortoepassing XIP van UFM

Maximaal 10 apparaten

.POF
Nios V-hardware .SOF
Nios V Software .HEX

Quartus-programmeur

On-Chip Flash

CFM

Nios V-hardware

UFM

Nios V-software

Interne configuratie

On-Chip Flash IP

FPGA-logica
Nios V-processor

On-Chip RAM

Extern

RAM

EMIF

IP

4.5.2.1. Hardware-ontwerpstroom
In het volgende gedeelte wordt een stapsgewijze methode beschreven voor het bouwen van een opstartbaar systeem voor een Nios V-processorapplicatie vanuit On-Chip Flash. De exampHet onderstaande is gebouwd met behulp van een MAX 10-apparaat.
IP-componentinstellingen
1. Maak uw Nios V-processorproject met behulp van Quartus Prime en Platform Designer. 2. Zorg ervoor dat extern RAM of On-Chip Memory (OCRAM) aan uw platform is toegevoegd.
Ontwerpsysteem.

Feedback verzenden

Nios® V Embedded Processor Design Handboek 59

4. Nios V-processorconfiguratie en opstartoplossingen 726952 | 2025.07.16
Afbeelding 34. Example IP-verbindingen in Platform Designer voor het opstarten van Nios V vanaf OnChip Flash (UFM)

3. Stel in de On-Chip Flash IP-parametereditor de configuratiemodus in op een van de volgende opties, afhankelijk van uw ontwerpvoorkeur: · Eén ongecomprimeerde afbeelding · Eén gecomprimeerde afbeelding · Eén ongecomprimeerde afbeelding met geheugeninitialisatie · Eén gecomprimeerde afbeelding met geheugeninitialisatie
Raadpleeg de MAX 10 FPGA Configuration User Guide – Remote System Upgrade voor meer informatie over Dual Compressed Images.

Opmerking:

U moet Hidden Access toewijzen aan elke CFM-regio in het On-Chip Flash IP.

Figuur 35. Selectie van de configuratiemodus in de On-Chip Flash Parameter Editor

On-Chip Flash IP-instellingen – UFM-initialisatie U kunt een van de volgende methoden kiezen, afhankelijk van uw voorkeur:

Nios® V Embedded Processor Design Handboek 60

Feedback verzenden

4. Nios V-processorconfiguratie en opstartoplossingen 726952 | 2025.07.16

Opmerking:

De stappen in de daaropvolgende subhoofdstukken (Softwareontwerpstroom en Programmeren) zijn afhankelijk van de keuzes die u hier maakt.

· Methode 1: Initialiseer de UFM-gegevens in de SOF tijdens de compilatie
Quartus Prime neemt de UFM-initialisatiegegevens op in de SOF tijdens de compilatie. Hercompilatie van de SOF is nodig als er wijzigingen in de UFM-gegevens zijn.
1. Vink Flash-inhoud initialiseren en Niet-standaardinitialisatie inschakelen aan file.

Figuur 36. Flash-inhoud initialiseren en niet-standaardinitialisatie inschakelen File

2. Geef het pad op van de gegenereerde .hex file (van de opdracht elf2hex) in de door de gebruiker gemaakte hex of mif file.
Figuur 37. Het .hex-teken toevoegen File Pad

· Methode 2: Combineer UFM-gegevens met een gecompileerde SOF tijdens het genereren van POF
UFM-gegevens worden gecombineerd met de gecompileerde SOF bij het converteren van programmering files. U hoeft de SOF niet opnieuw te compileren, zelfs niet als de UFM-gegevens veranderen. Tijdens de ontwikkeling hoeft u de SOF niet opnieuw te compileren. files voor wijzigingen in de applicatie. Altera raadt deze methode aan voor applicatieontwikkelaars.
1. Schakel het selectievakje Flash-inhoud initialiseren uit.
Figuur 38. Flash-inhoud initialiseren met niet-standaardinitialisatie File

Agentinstellingen resetten voor de Execute-In-Place-methode van de Nios V-processor
1. Stel in de parametereditor van de Nios V-processor de Reset Agent in op On-Chip Flash.
Figuur 39. Instellingen van de Nios V-processorparametereditor met Reset Agent ingesteld op On-Chip Flash

2. Klik op HDL genereren wanneer het dialoogvenster Generatie verschijnt. 3. Geef de uitvoer op file generatieopties en klik op Genereren.

Feedback verzenden

Nios® V Embedded Processor Design Handboek 61

4. Nios V-processorconfiguratie en opstartoplossingen 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. Klik op OK om het venster Apparaat- en pinopties te sluiten.
3. Klik op OK om het venster Apparaat te sluiten.
4. Click Processing Start Compilation to compile your project and generate the .sof file.

Opmerking:

Als de configuratiemodusinstelling in de Quartus Prime-software en de Platform Designer-parametereditor verschillend zijn, mislukt het Quartus Prime-project met de volgende foutmelding.

Figuur 41.

Foutmelding voor afwijkende configuratiemodusinstelling (14740): Configuratiemodus op atoom "q_sys:q_sys_inst| altera_onchip_flash:onchip_flash_1|altera_onchip_flash_block: altera_onchip_flash_block|ufm_block" komt niet overeen met de projectinstelling. Werk het Qsys-systeem bij en genereer het opnieuw zodat het overeenkomt met de projectinstelling.

Gerelateerde informatie MAX 10 FPGA-configuratie Gebruikershandleiding

4.5.2.2. Softwareontwerpstroom
Deze sectie beschrijft de ontwerpstroom voor het genereren en bouwen van het softwareproject voor de Nios V-processor. Om een ​​gestroomlijnde bouwstroom te garanderen, raden we u aan een vergelijkbare directorystructuur in uw ontwerpproject te maken. De volgende softwareontwerpstroom is gebaseerd op deze directorystructuur.
Volg deze stappen om de softwareprojectmapstructuur te maken: 1. Maak in de map van uw ontwerpproject een map met de naam software. 2. Maak in de map software twee mappen met de naam hal_app en hal_bsp.
Figuur 42. Softwareprojectmapboom

Nios® V Embedded Processor Design Handboek 62

Feedback verzenden

4. Nios V-processorconfiguratie en opstartoplossingen 726952 | 2025.07.16
Het BSP-project van de applicatie maken
Om de BSP-editor te starten, volgt u deze stappen: 1. Ga naar de Nios V-opdrachtshell. 2. Roep de BSP-editor aan met de opdracht niosv-bsp-editor. 3. Klik in de BSP-editor op File Nieuwe BSP om uw BSP-project te starten. 4. Configureer de volgende instellingen:
· SOPC-informatie File naam: Geef de SOPCINFO op file (.sopcinfo). · CPU-naam: Selecteer de Nios V-processor. · Besturingssysteem: Selecteer het besturingssysteem van de Nios V-processor. · Versie: Laat dit als standaard staan. · BSP-doelmap: Selecteer het pad naar de map van het BSP-project. U kunt
stel het vooraf in op /software/hal_bsp door Standaardlocaties gebruiken in te schakelen. · BSP-instellingen File naam: Typ de naam van de BSP-instellingen File. · Extra Tcl-scripts: voorzie een BSP Tcl-script door Extra Tcl-script inschakelen in te schakelen. 5. Klik op OK.
Figure 43. Configure New BSP

Configuring the BSP Editor and Generating the BSP Project
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,
a. Enable the following settings:

Feedback verzenden

Nios® V Embedded Processor Design Handboek 63

4. Nios V-processorconfiguratie en opstartoplossingen 726952 | 2025.07.16
· allow_code_at_reset · enable_alt_load · enable_alt_load_copy_rodata · enable_alt_load_copy_rwdata Figure 44. Advanced.hal.linker Settings

b. Click on the Linker Script tab in the BSP Editor. c. Set the .exceptions and .text regions in the Linker Section Name to
On-Chip Flash. d. Set the rest of the regions in the Linker Section Name list to the On-Chip
Memory (OCRAM) or external RAM.
Figure 45. Linker Region Settings (Exception Vector Memory: On-Chip Flash)

3. If you select OCRAM/External RAM as exception vector, a. Enable the following settings: · allow_code_at_reset · enable_alt_load · enable_alt_load_copy_rodata · enable_alt_load_copy_rwdata · enable_alt_load_copy_exception
Figure 46. Linker Region Settings (Exception Vector Memory: OCRAM/External RAM)

b. Click on the Linker Script tab in the BSP Editor.
c. Set the.text regions in the Linker Section Name to On-Chip Flash.
d. Set the rest of the regions in the Linker Section Name list to the On-Chip Memory (OCRAM) or external RAM.

Nios® V Embedded Processor Design Handboek 64

Feedback verzenden

4. Nios V-processorconfiguratie en opstartoplossingen 726952 | 2025.07.16
Figure 47. Linker Region Settings (Exception Vector Memory: OCRAM)
4. Click Generate to generate the BSP project. Generating the User Application Project File 1. Navigate to the software/hal_app folder and create your application source
code. 2. Launch the Nios V Command Shell. 3. Execute the command below to generate the application CMakeLists.txt.
niosv-app –app-dir=software/hal_app –bsp-dir=software/hal_bsp –srcs=software/hal_app/<user application>
Building the User Application Project You can choose to build the user application project using Ashling RiscFree IDE for Altera FPGAs or through the command line interface (CLI). If you prefer using CLI, you can build the user application using the following command: cmake -G “Unix Makefiles” -B software/hal_app/build -S software/hal_app make -C software/hal_app/build
The application (.elf) file is created in software/hal_app/build folder. Generating the HEX File You must generate a .hex file from your application .elf file, so you can create a .pof file suitable for programming the devices. 1. Launch the Nios V Command Shell. 2. For Nios V processor application boot from On-Chip Flash, use the following
command line to convert the ELF to HEX for your application. This command creates the user application (onchip_flash.hex) file. elf2hex software/hal_app/build/<user_application>.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 verzenden

Nios® V Embedded Processor Design Handboek 65

4. Nios V-processorconfiguratie en opstartoplossingen 726952 | 2025.07.16
4.5.2.3. Programming 1. In Quartus Prime, click File Programmering converteren Files. 2. Under Output programming file, choose Programmer Object File (.pof) as Programming file type. 3. Set Mode to Internal Configuration.
Figure 48. Convert Programming File Instellingen
4. Click Options/Boot info…, the MAX 10 Device Options window appears. 5. Based on the Initialize flash content settings in the On-chip Flash IP, perform
one of the following steps: · If Initialize flash content is checked (Method 1), the UFM initialization data
was included in the SOF duringQuartus Prime compilation. — Select Page_0 for UFM source: option. Click OK and proceed to the
next. Figure 49. Setting Page_0 for UFM Source if Initialize Flash Content is Checked

Nios® V Embedded Processor Design Handboek 66

Feedback verzenden

4. Nios V-processorconfiguratie en opstartoplossingen 726952 | 2025.07.16
· If Initialize flash content is not checked (Method 2), choose Load memory file for the UFM source option. Browse to the generated On-chip Flash HEX file (onchip_flash.hex) in the File path: and click OK. This step adds UFM data separately to the SOF file during the programming file conversie.
Figure 50. Setting Load Memory File for UFM Source if Initialize Flash Content is Not Checked

6. In the Convert Programming File dialog box, at the Input files to convert section, click Add File… and point to the generated Quartus Prime .sof file.
Figure 51. Input Files to Convert in Convert Programming Files for Single Image Mode

7. Click Generate to create the .pof file. 8. Program the .pof file into your MAX 10 device. 9. Power cycle your hardware.

4.5.3. Nios V Processor Application Copied from UFM to RAM using Boot Copier

Altera recommends this solution for MAX 10 FPGA Nios V processor system designs where multiple iterations of application software development and high system performance are required. The boot copier is located within the UFM at an offset that is the same address as the reset vector. The Nios V application is located next to the boot copier.

For this boot option, the Nios V processor starts executing the boot copier upon system reset to copy the application from the UFM sector to the OCRAM or external RAM. Once copying is complete, the Nios V processor transfers the program control over to the application.

Opmerking:

The applied boot copier is the same as the Bootloader via GSFI.

Feedback verzenden

Nios® V Embedded Processor Design Handboek 67

4. Nios V-processorconfiguratie en opstartoplossingen 726952 | 2025.07.16

Figure 52. Nios V Application Copied from UFM to RAM using Boot Copier

Maximaal 10 apparaten

.POF
Nios V-hardware .SOF
Nios V Software .HEX
Bootloader .SREC

Quartus-programmeur

Extern RAM-geheugen
Nios V-software

On-Chip Flash

CFM

Nios V Hardwa

Documenten / Bronnen

altera Nios V Embedded Processor [pdf] Gebruikershandleiding
Nios V, Nios V-m, Nios V-g, Nios V-c, Nios V Embedded Processor, Nios V, Embedded Processor, Processor

Referenties

Laat een reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd *