altera Nios V Ingeboude Verwerker

Spesifikasies

  • Produknaam: Nios V-verwerker
  • Sagtewareversoenbaarheid: Quartus Prime Sagteware en Platformontwerper
  • Verwerkertipe: Altera FPGA
  • Geheuestelsel: Vlugtige en nie-vlugtige geheue
  • Kommunikasie-koppelvlak: UART-agent

Nios V-verwerkerhardewarestelselontwerp

Om die Nios V-verwerker se hardewarestelsel te ontwerp, volg hierdie stappe:

  1. Skep 'n Nios V-verwerkerstelselontwerp met behulp van Platform Designer.
  2. Integreer die stelsel in die Quartus Prime-projek.
  3. Ontwerp geheuestelsel insluitend vlugtige en nie-vlugtige geheue.
  4. Implementeer klokke en herstel beste praktyke.
  5. Ken standaard- en UART-agente toe vir doeltreffende werking.

Nios V-verwerker sagtewarestelselontwerp

Om die sagtewarestelsel vir die Nios V-verwerker te ontwerp:

  1. Volg die sagteware-ontwikkelingsvloei vir die Nios V-verwerker.
  2. Skep Raadsondersteuningspakketprojek en Toepassingsprojek.

Nios V-verwerkerkonfigurasie- en opstartoplossings

Vir die konfigurasie en opstart van die Nios V-verwerker:

  1. Verstaan ​​die inleiding tot konfigurasie- en opstartoplossings.
  2. Koppel toepassings vir naatlose werking.

Oor die Nios® V Ingeboude Verwerker
1.1. Altera® FPGA en Ingeboude Verwerkers Oorview
Altera FPGA-toestelle kan logika implementeer wat as 'n volledige mikroverwerker funksioneer terwyl dit baie opsies bied.
'n Belangrike verskil tussen diskrete mikroverwerkers en Altera FPGA is dat Altera FPGA-materiaal geen logika bevat wanneer dit aanskakel nie. Die Nios® V-verwerker is 'n sagte intellektuele eiendom (IP) verwerker gebaseer op die RISC-V-spesifikasie. Voordat jy sagteware op 'n Nios V-verwerker-gebaseerde stelsel laat loop, moet jy die Altera FPGA-toestel konfigureer met 'n hardeware-ontwerp wat 'n Nios V-verwerker bevat. Jy kan die Nios V-verwerker enige plek op die Altera FPGA plaas, afhangende van die vereistes van die ontwerp.


Om jou Altera® FPGA IP-gebaseerde ingebedde stelsel in staat te stel om as 'n diskrete mikroverwerker-gebaseerde stelsel op te tree, moet jou stelsel die volgende insluit: · AJTAG koppelvlak om Altera FPGA-konfigurasie, hardeware en sagteware te ondersteun
ontfouting · 'n Aanskakel Altera FPGA konfigurasiemeganisme
Indien jou stelsel oor hierdie vermoëns beskik, kan jy begin om jou ontwerp te verfyn vanaf 'n vooraf getoetste hardeware-ontwerp wat in die Altera FPGA gelaai is. Deur 'n Altera FPGA te gebruik, kan jy ook jou ontwerp vinnig wysig om probleme aan te spreek of nuwe funksionaliteit by te voeg. Jy kan hierdie nuwe hardeware-ontwerpe maklik toets deur die Altera FPGA te herkonfigureer met behulp van jou stelsel se J.TAG koppelvlak.
Die JTAG koppelvlak ondersteun hardeware- en sagteware-ontwikkeling. Jy kan die volgende take uitvoer met behulp van die JTAG koppelvlak: · Konfigureer die Altera FPGA · Laai sagteware af en ontfout dit · Kommunikeer met die Altera FPGA deur 'n UART-agtige koppelvlak (JTAG UART
terminaal) · Ontfoutingsapparatuur (met die ingebedde Signal Tap-logika-ontleder) · Programmeer flitsgeheue
Nadat jy die Altera FPGA met 'n Nios V-verwerker-gebaseerde ontwerp gekonfigureer het, is die sagteware-ontwikkelingsvloei soortgelyk aan die vloei vir diskrete mikrobeheerderontwerpe.


Verwante inligting · AN 985: Nios V-verwerker-tutoriaal
'n Vinnige begingids oor die skep van 'n eenvoudige Nios V-verwerkerstelsel en die gebruik van die Hello World-toepassing.
© Altera Corporation. Altera, die Altera-logo, die `a'-logo en ander Altera-merke is handelsmerke van Altera Corporation. Altera behou die reg voor om te eniger tyd sonder kennisgewing veranderinge aan enige produkte en dienste aan te bring. Altera aanvaar geen verantwoordelikheid of aanspreeklikheid wat voortspruit uit die toepassing of gebruik van enige inligting, produk of diens wat hierin beskryf word nie, behalwe soos uitdruklik skriftelik deur Altera ooreengekom. Altera-kliënte word aangeraai om die nuutste weergawe van toestelspesifikasies te bekom voordat hulle op enige gepubliseerde inligting staatmaak en voordat hulle bestellings vir produkte of dienste plaas. *Ander name en handelsmerke kan as die eiendom van ander geëis word.

1. Oor die Nios® V Ingeboude Verwerker 726952 | 2025.07.16
· Nios V-verwerkerverwysingshandleiding Verskaf inligting oor die Nios V-verwerkerprestasiemaatstawwe, verwerkerargitektuur, die programmeringsmodel en die kernimplementering.
· Gebruikersgids vir ingebedde randapparatuur · Handboek vir sagteware-ontwikkelaars vir Nios V-verwerker


Beskryf die Nios V-verwerker sagteware-ontwikkelingsomgewing, die gereedskap wat beskikbaar is, en die proses om sagteware te bou om op die Nios V-verwerker te loop. · Ashling* RiscFree* Geïntegreerde Ontwikkelingsomgewing (IDE) vir Altera FPGA's Gebruikersgids Beskryf die RiscFree* geïntegreerde ontwikkelingsomgewing (IDE) vir Altera FPGA's Arm*-gebaseerde HPS en Nios V-kernverwerker. · Nios V-verwerker Altera FPGA IP Vrystellingsnotas
1.2. Quartus® Prime sagteware-ondersteuning
Die bouproses van die Nios V-verwerker verskil vir Quartus® Prime Pro Edition-sagteware en Quartus Prime Standard Edition-sagteware. Verwys na AN 980: Nios V-verwerker Quartus Prime-sagtewareondersteuning vir meer inligting oor die verskille.
Verwante inligting AN 980: Nios V-verwerker Quartus Prime sagtewareondersteuning
1.3. Nios V Verwerker Lisensiëring
Elke Nios V-verwerkervariant het sy eie lisensiesleutel. Sodra jy die lisensiesleutel verkry het, kan jy dieselfde lisensiesleutel vir alle Nios V-verwerkerprojekte gebruik tot die vervaldatum. Jy kan die Nios V-verwerker Altera FPGA IP-lisensies teen geen koste verkry nie.
Die Nios V-verwerkerlisensiesleutellys is beskikbaar in die Altera FPGA Selfdienslisensiesentrum. Klik die oortjie Registreer vir Evaluering of Gratis Lisensie en kies die ooreenstemmende opsies om die versoek te maak.
Figuur 1. Altera FPGA Selfdiens Lisensiëringsentrum

Met die lisensiesleutels kan jy:
Stuur terugvoer

Nios® V Ingeboude Verwerker Ontwerphandboek 7

1. Oor die Nios® V Ingeboude Verwerker 726952 | 2025.07.16
· Implementeer 'n Nios V-verwerker binne jou stelsel. · Simuleer die gedrag van 'n Nios V-verwerkerstelsel. · Verifieer die funksionaliteit van die ontwerp, soos grootte en spoed. · Genereer toestelprogrammering. files. · Programmeer 'n toestel en verifieer die ontwerp in hardeware.
Jy benodig nie 'n lisensie om sagteware in die Ashling* RiscFree* IDE vir Altera FPGA's te ontwikkel nie.
Verwante inligting · Altera FPGA Selfdiens Lisensiëringsentrum
Vir meer inligting oor die verkryging van die Nios V-verwerker Altera FPGA IP-lisensiesleutels. · Altera FPGA Sagteware Installasie en Lisensiëring Vir meer inligting oor die lisensiëring van die Altera FPGA sagteware en die opstel van 'n vaste lisensie en netwerklisensiebediener.
1.4. Ontwerp van ingebedde stelsels
Die volgende figuur illustreer 'n vereenvoudigde Nios V-verwerker-gebaseerde stelselontwerpvloei, insluitend beide hardeware- en sagteware-ontwikkeling.

Nios® V Ingeboude Verwerker Ontwerphandboek 8

Stuur terugvoer

1. Oor die Nios® V Ingeboude Verwerker 726952 | 2025.07.16

Figuur 2.

Nios V-verwerkerstelselontwerpvloei
Stelselkonsep

Analiseer stelselvereistes

Nios® V
Verwerkerkerne en standaardkomponente

Definieer en genereer 'n stelsel in
Platform Ontwerper

Hardewarevloei: Integreer en Kompileer Intel Quartus Prime Projek

Sagtewarevloei: Ontwikkel en bou Nios V-voorstelsagteware

Hardeware Vloei: Laai FPGA Ontwerp af
na Teikenbord

Sagtewarevloei: Toets en ontfout Nios V-verwerkersagteware

Sagteware Nee Voldoen aan Spesifikasies?
Ja
Voldoen aan spesifikasies? Nee
Stelsel voltooi

Stuur terugvoer

Nios® V Ingeboude Verwerker Ontwerphandboek 9

726952 | 2025.07.16 Stuur terugvoer

2. Nios V-verwerkerhardewarestelselontwerp met Quartus Prime-sagteware en platformontwerper

Figuur 3.

Die volgende diagram illustreer 'n tipiese Nios V-verwerker-hardeware-ontwerp. Nios V-verwerkerstelsel-hardeware-ontwerpvloei

Begin

Nios V-kerne en standaardkomponente

Gebruik Platform Designer om 'n Nios V-gebaseerde stelsel te ontwerp
Genereer Platformontwerperontwerp

Integreer Platformontwerperstelsel met Intel Quartus Prime-projek
Ken penliggings, tydsberekeningvereistes en ander ontwerpbeperkings toe
Kompileer hardeware vir teikentoestel in Intel Quartus Prime

Gereed om af te laai
2.1. Skep 'n Nios V-verwerkerstelselontwerp met Platform Designer
Die Quartus Prime-sagteware sluit die Platform Designer-stelselintegrasie-instrument in wat die taak vereenvoudig om die Nios V-verwerker se IP-kern en ander IP's in 'n Altera FPGA-stelselontwerp te definieer en te integreer. Die Platform Designer skep outomaties interkonneksie-logika vanaf die gespesifiseerde hoëvlak-konnektiwiteit. Die interkonneksie-outomatisering elimineer die tydrowende taak om stelselvlak-HDL-verbindings te spesifiseer.
© Altera Corporation. Altera, die Altera-logo, die `a'-logo en ander Altera-merke is handelsmerke van Altera Corporation. Altera behou die reg voor om te eniger tyd sonder kennisgewing veranderinge aan enige produkte en dienste aan te bring. Altera aanvaar geen verantwoordelikheid of aanspreeklikheid wat voortspruit uit die toepassing of gebruik van enige inligting, produk of diens wat hierin beskryf word nie, behalwe soos uitdruklik skriftelik deur Altera ooreengekom. Altera-kliënte word aangeraai om die nuutste weergawe van toestelspesifikasies te bekom voordat hulle op enige gepubliseerde inligting staatmaak en voordat hulle bestellings vir produkte of dienste plaas. *Ander name en handelsmerke kan as die eiendom van ander geëis word.

2. Nios V-verwerkerhardewarestelselontwerp met Quartus Prime-sagteware en platformontwerper
726952 | 2025.07.16

Nadat jy die stelsel se hardewarevereistes ontleed het, gebruik jy Quartus Prime om die Nios V-verwerkerkern, geheue en ander komponente wat jou stelsel benodig, te spesifiseer. Die Platformontwerper genereer outomaties die interkonneksielogika om die komponente in die hardewarestelsel te integreer.

2.1.1. Instansiëring van Nios V-verwerker Altera FPGA IP

Jy kan enige van die verwerker-IP-kerne in Platform Designer IP-katalogus Verwerkers en Randapparatuur Ingeboude Verwerkers instansieer.

Die IP-kern van elke verwerker ondersteun verskillende konfigurasie-opsies gebaseer op sy unieke argitektuur. Jy kan hierdie konfigurasies definieer om beter by jou ontwerpbehoeftes te pas.

Tabel 1.

Konfigurasie-opsies oor kernvariante

Konfigurasie-opsies

Nios V/c-verwerker

Nios V/m-verwerker

Ontfouting Gebruik Herstel Versoek

Lokvalle, uitsonderings en onderbrekings

SVE argitektuur

ECC

Kasgeheue, perifere streke en TCM's

Pasgemaakte instruksies

Sluitstap

Nios V/g-verwerker

2.1.1.1. Instansiëring van Nios V/c Kompakte Mikrobeheerder Altera FPGA IP Figuur 4. Nios V/c Kompakte Mikrobeheerder Altera FPGA IP

Stuur terugvoer

Nios® V Ingeboude Verwerker Ontwerphandboek 11

2. Nios V-verwerkerhardewarestelselontwerp met Quartus Prime-sagteware en platformontwerper
726952 | 2025.07.16

2.1.1.1.1. Oortjie SVE-argitektuur

Tabel 2.

SVE-argitektuur-oortjie

Kenmerk

Beskrywing

Aktiveer Avalon®-koppelvlak Aktiveer Avalon-koppelvlak vir instruksiebestuurder en databestuurder. Indien gedeaktiveer, gebruik die stelsel die AXI4-Lite-koppelvlak.

mhartid MVO-waarde

· Ongeldige IP-opsie. · Moenie die mhartid CSR-waarde in die Nios V/c-verwerker gebruik nie.

2.1.1.1.2. Gebruik die Herstelversoek-oortjie

Tabel 3.

Gebruik die Herstelversoek-oortjieparameter

Gebruik die Herstelversoek-oortjie

Beskrywing

Voeg Herstelversoek-koppelvlak by

· Aktiveer hierdie opsie om plaaslike herstelpoorte bloot te stel waar 'n plaaslike meester dit kan gebruik om die Nios V-verwerker te laat herstel sonder om ander komponente in 'n Nios V-verwerkerstelsel te beïnvloed.
· Die herstel-koppelvlak bestaan ​​uit 'n inset-herstelsein en 'n uitset-bevestigingssein.
· Jy kan 'n terugstelling na die Nios V-verwerkerkern aanvra deur die resetreq-sein te bevestig.
· Die herstelsein moet gehandhaaf bly totdat die verwerker die bevestigingssein handhaaf. Indien die sein nie gehandhaaf bly nie, kan dit veroorsaak dat die verwerker in 'n nie-deterministiese toestand verkeer.
· Die Nios V-verwerker antwoord dat die herstel suksesvol was deur die bevestigingssein te bevestig.
· Nadat die verwerker suksesvol teruggestel is, kan die bevestiging van die bevestigingssein verskeie kere periodiek plaasvind totdat die herstelsein teruggestel word.

2.1.1.1.3. Oortjie Lokvalle, Uitsonderings en Onderbrekings

Tabel 4.

Valle, Uitsonderings en Onderbrekings Tab Parameters

Lokvalle, uitsonderings en onderbrekings

Beskrywing

Herstel agent

· Die geheue wat die herstelvektor (die Nios V-verwerker se hersteladres) huisves waar die herstelkode geleë is.
· Jy kan enige geheuemodule wat aan die Nios V-verwerker se instruksiemeester gekoppel is en deur 'n Nios V-verwerker se opstartvloei ondersteun word, as die herstelagent kies.

Stel offset terug

· Spesifiseer die verrekening van die herstelvektor relatief tot die gekose herstelagent se basisadres. · Platformontwerper verskaf outomaties 'n standaardwaarde vir die herstelverrekening.

Let wel:

Platform Designer bied 'n Absolute opsie, wat jou toelaat om 'n absolute adres in Reset Offset te spesifiseer. Gebruik hierdie opsie wanneer die geheue wat die herstelvektor stoor, buite die verwerkerstelsel en substelsels geleë is.

Nios® V Ingeboude Verwerker Ontwerphandboek 12

Stuur terugvoer

2. Nios V-verwerkerhardewarestelselontwerp met Quartus Prime-sagteware en platformontwerper
726952 | 2025.07.16

2.1.1.1.4. ECC-oortjie

Tabel 5.

ECC-oortjie

ECC

Aktiveer foutopsporing en statusrapportering

Beskrywing
· Aktiveer hierdie opsie om die ECC-funksie vir Nios V-verwerker se interne RAM-blokke toe te pas. · ECC-funksies bespeur foute van tot 2 bis en reageer op grond van die volgende gedrag:
— Indien dit 'n korrigeerbare fout van 1 bis is, gaan die verwerker voort om te werk nadat die fout in die verwerkerpyplyn reggestel is. Die korreksie word egter nie in die brongeheue weerspieël nie.
— Indien die fout onkorrigeerbaar is, gaan die verwerker voort om te werk sonder om dit in die verwerkerpyplyn en brongeheue reg te stel, wat kan veroorsaak dat die verwerker 'n nie-deterministiese toestand betree.

2.1.1.2. Instansiëring van Nios V/m Mikrobeheerder Altera FPGA IP Figuur 5. Nios V/m Mikrobeheerder Altera FPGA IP

Stuur terugvoer

Nios® V Ingeboude Verwerker Ontwerphandboek 13

2. Nios V-verwerkerhardewarestelselontwerp met Quartus Prime-sagteware en platformontwerper
726952 | 2025.07.16

2.1.1.2.1. Ontfouting-oortjie

Tabel 6.

Ontfouting-oortjieparameters

Ontfout-oortjie

Beskrywing

Aktiveer Ontfouting
Aktiveer Herstel vanaf Ontfoutingsmodule

· Aktiveer hierdie opsie om die J by te voegTAG teikenverbindingsmodule aan die Nios V-verwerker. · Die JTAG Die teikenverbindingsmodule maak dit moontlik om aan die Nios V-verwerker te koppel deur die
JTAG koppelvlakpenne van die FPGA. · Die verbinding bied die volgende basiese vermoëns:
— Begin en stop die Nios V-verwerker — Ondersoek en wysig registers en geheue. — Laai die Nios V-toepassing .elf af. file na die verwerkergeheue tydens looptyd via
niosv-aflaai. — Ontfout die toepassing wat op die Nios V-verwerker loop · Koppel die dm_agent-poort aan die verwerker se instruksie- en databus. Maak seker dat die basisadres tussen beide busse dieselfde is.
· Aktiveer hierdie opsie om dbg_reset_out en ndm_reset_in poorte bloot te stel. · JTAG ontfouter of niosv-download -r opdrag aktiveer die dbg_reset_out, wat
laat die Nios V-verwerker toe om stelselrandapparatuur wat aan hierdie poort koppel, te herstel. · Jy moet die dbg_reset_out-koppelvlak aan ndm_reset_in koppel in plaas van reset.
koppelvlak om terugstelling na die verwerkerkern en tydtellermodule te aktiveer. Jy moet nie die dbg_reset_out-koppelvlak aan die terugstelkoppelvlak koppel om onbepaalde gedrag te voorkom nie.

2.1.1.2.2. Gebruik die Herstelversoek-oortjie

Tabel 7.

Gebruik die Herstelversoek-oortjieparameter

Gebruik die Herstelversoek-oortjie

Beskrywing

Voeg Herstelversoek-koppelvlak by

· Aktiveer hierdie opsie om plaaslike herstelpoorte bloot te stel waar 'n plaaslike meester dit kan gebruik om die Nios V-verwerker te laat herstel sonder om ander komponente in 'n Nios V-verwerkerstelsel te beïnvloed.
· Die herstel-koppelvlak bestaan ​​uit 'n inset-herstelsein en 'n uitset-bevestigingssein.
· Jy kan 'n terugstelling na die Nios V-verwerkerkern aanvra deur die resetreq-sein te bevestig.
· Die herstelsein moet gehandhaaf bly totdat die verwerker die bevestigingssein handhaaf. Indien die sein nie gehandhaaf bly nie, kan dit veroorsaak dat die verwerker in 'n nie-deterministiese toestand verkeer.
· Bevestiging van die resetreq-sein in ontfoutingsmodus het geen effek op die verwerker se toestand nie.
· Die Nios V-verwerker antwoord dat die herstel suksesvol was deur die bevestigingssein te bevestig.
· Nadat die verwerker suksesvol teruggestel is, kan die bevestiging van die bevestigingssein verskeie kere periodiek plaasvind totdat die herstelsein teruggestel word.

2.1.1.2.3. Oortjie Lokvalle, Uitsonderings en Onderbrekings

Tabel 8.

Oortjie Lokvalle, Uitsonderings en Onderbrekings

Oortjie Lokvalle, Uitsonderings en Onderbrekings

Beskrywing

Herstel agent

· Die geheue wat die herstelvektor (die Nios V-verwerker se hersteladres) huisves waar die herstelkode geleë is.
· Jy kan enige geheuemodule wat aan die Nios V-verwerker se instruksiemeester gekoppel is en deur 'n Nios V-verwerker se opstartvloei ondersteun word, as die herstelagent kies.

Herstel Verskuiwing Onderbrekingsmodus

· Spesifiseer die verrekening van die herstelvektor relatief tot die gekose herstelagent se basisadres. · Platformontwerper verskaf outomaties 'n standaardwaarde vir die herstelverrekening.
Spesifiseer die tipe onderbrekingsbeheerder, óf Direk óf Gevectoreerd. Let wel: Die Nios V/m nie-pyplynverwerker ondersteun nie Gevectoreerde onderbrekings nie.
Vermy dus die gebruik van die Vectored-onderbrekingsmodus wanneer die verwerker in Nonpypelined-modus is.

Nios® V Ingeboude Verwerker Ontwerphandboek 14

Stuur terugvoer

2. Nios V-verwerkerhardewarestelselontwerp met Quartus Prime-sagteware en platformontwerper
726952 | 2025.07.16

Let wel:

Platform Designer bied 'n Absolute opsie, wat jou toelaat om 'n absolute adres in Reset Offset te spesifiseer. Gebruik hierdie opsie wanneer die geheue wat die herstelvektor stoor, buite die verwerkerstelsel en substelsels geleë is.

2.1.1.2.4. SVE-argitektuur

Tabel 9.

SVE-argitektuur-oortjieparameters

SVE argitektuur

Beskrywing

Aktiveer pypleiding in SVE

· Aktiveer hierdie opsie om 'n pyplyn-Nios V/m-verwerker te instansieer. — IPC is hoër ten koste van 'n hoër logiese area en laer Fmax-frekwensie.
· Deaktiveer hierdie opsie om 'n nie-pyplyn Nios V/m-verwerker te instansieer. — Het soortgelyke kernprestasie as die Nios V/c-verwerker. — Ondersteun ontfouting- en onderbrekingsvermoë — Laer logiese area en hoër Fmax-frekwensie ten koste van laer IPC.

Aktiveer Avalon-koppelvlak

Aktiveer Avalon-koppelvlak vir instruksiebestuurder en databestuurder. Indien gedeaktiveer, gebruik die stelsel die AXI4-Lite-koppelvlak.

mhartid MVO-waarde

· Hart ID-register (mhartid) waarde is standaard 0. · Ken 'n waarde tussen 0 en 4094 toe. · Versoenbaar met Altera FPGA Avalon Mutex Core HAL API.

Verwante inligting Gebruikersgids vir ingebedde randapparatuur-IP – Intel FPGA Avalon® Mutex Core

2.1.1.2.5. ECC-oortjie
Tabel 10. ECC-oortjie
ECC Aktiveer foutopsporing en statusrapportering

Beskrywing
· Aktiveer hierdie opsie om die ECC-funksie vir Nios V-verwerker se interne RAM-blokke toe te pas. · ECC-funksies bespeur foute van tot 2 bis en reageer op grond van die volgende gedrag:
— Indien dit 'n korrigeerbare fout van 1 bis is, gaan die verwerker voort om te werk nadat die fout in die verwerkerpyplyn reggestel is. Die korreksie word egter nie in die brongeheue weerspieël nie.
— Indien die fout onkorrigeerbaar is, gaan die verwerker voort om te werk sonder om dit in die verwerkerpyplyn en brongeheue reg te stel, wat kan veroorsaak dat die verwerker 'n nie-deterministiese toestand betree.

Stuur terugvoer

Nios® V Ingeboude Verwerker Ontwerphandboek 15

2. Nios V-verwerkerhardewarestelselontwerp met Quartus Prime-sagteware en platformontwerper
726952 | 2025.07.16
2.1.1.3. Instansiëring van Nios V/g Algemene Doel Verwerker Altera FPGA IP
Figuur 6. Nios V/g Algemene Doelverwerker Altera FPGA IP – Deel 1

Figuur 7.

Nios V/g Algemene Doelverwerker Altera FPGA IP – Deel 2 (Skakel Kernvlak-onderbrekingsbeheerder af)

Nios® V Ingeboude Verwerker Ontwerphandboek 16

Stuur terugvoer

2. Nios V-verwerkerhardewarestelselontwerp met Quartus Prime-sagteware en platformontwerper
726952 | 2025.07.16

Figuur 8.

Nios V/g Algemene Doelverwerker Altera FPGA IP – Deel 2 (Skakel Kernvlak-onderbrekingsbeheerder aan)

Figuur 9. Nios V/g Algemene Doelverwerker Altera FPGA IP – Deel 3

Stuur terugvoer

Nios® V Ingeboude Verwerker Ontwerphandboek 17

2. Nios V-verwerkerhardewarestelselontwerp met Quartus Prime-sagteware en platformontwerper
726952 | 2025.07.16
Figuur 10. Nios V/g Algemene Doelverwerker Altera FPGA IP – Deel 4

2.1.1.3.1. SVE-argitektuur

Tabel 11. SVE-argitektuurparameters

CPU-argitektuur-oortjie Aktiveer drywende punteenheid

Beskrywing Aktiveer hierdie opsie om die drywende-komma-eenheid ("F"-uitbreiding) in die verwerkerkern by te voeg.

Aktiveer Takvoorspelling

Aktiveer statiese takvoorspelling (Agteruit Geneem en Vorentoe Nie Geneem Nie) vir takinstruksies.

mhartid MVO-waarde

· Hart ID-register (mhartid) waarde is standaard 0. · Ken 'n waarde tussen 0 en 4094 toe. · Versoenbaar met Altera FPGA Avalon Mutex Core HAL API.

Deaktiveer FSQRT- en FDIV-instruksies vir FPU

· Verwyder drywende-komma-vierkantswortel (FSQRT) en drywende-kommadeling (FDIV) bewerkings in FPU.
· Pas sagteware-emulasie toe op beide instruksies tydens looptyd.

Verwante inligting Gebruikersgids vir ingebedde randapparatuur-IP – Intel FPGA Avalon® Mutex Core

Nios® V Ingeboude Verwerker Ontwerphandboek 18

Stuur terugvoer

2. Nios V-verwerkerhardewarestelselontwerp met Quartus Prime-sagteware en platformontwerper
726952 | 2025.07.16

2.1.1.3.2. Ontfouting-oortjie

Tabel 12. Ontfouting-oortjieparameters

Ontfout-oortjie

Beskrywing

Aktiveer Ontfouting
Aktiveer Herstel vanaf Ontfoutingsmodule

· Aktiveer hierdie opsie om die J by te voegTAG teikenverbindingsmodule aan die Nios V-verwerker. · Die JTAG Die teikenverbindingsmodule maak dit moontlik om aan die Nios V-verwerker te koppel deur die
JTAG koppelvlakpenne van die FPGA. · Die verbinding bied die volgende basiese vermoëns:
— Begin en stop die Nios V-verwerker — Ondersoek en wysig registers en geheue. — Laai die Nios V-toepassing .elf af. file na die verwerkergeheue tydens looptyd via
niosv-aflaai. — Ontfout die toepassing wat op die Nios V-verwerker loop · Koppel die dm_agent-poort aan die verwerker se instruksie- en databus. Maak seker dat die basisadres tussen beide busse dieselfde is.
· Aktiveer hierdie opsie om dbg_reset_out en ndm_reset_in poorte bloot te stel. · JTAG ontfouter of niosv-download -r opdrag aktiveer die dbg_reset_out, wat
laat die Nios V-verwerker toe om stelselrandapparatuur wat aan hierdie poort koppel, te herstel. · Jy moet die dbg_reset_out-koppelvlak aan ndm_reset_in koppel in plaas van reset.
koppelvlak om terugstelling na die verwerkerkern en tydtellermodule te aktiveer. Jy moet nie die dbg_reset_out-koppelvlak aan die terugstelkoppelvlak koppel om onbepaalde gedrag te voorkom nie.

2.1.1.3.3. Sluitstap-oortjie Tabel 13. Sluitstap-oortjie
Parameters Aktiveer Lockstep Standaard Tydsbeperking Periode Aktiveer Verlengde Herstel Koppelvlak

Beskrywing · Aktiveer die dubbelkern-Lockstep-stelsel. · Standaardwaarde van programmeerbare tydsberekening by hersteluitgang (tussen 0 en 255). · Aktiveer die opsionele Uitgebreide Herstel-koppelvlak vir Uitgebreide Herstelbeheer. · Wanneer gedeaktiveer, implementeer die fRSmartComp Basiese Herstelbeheer.

2.1.1.3.4. Gebruik die Herstelversoek-oortjie

Tabel 14. Gebruik die Herstelversoek-oortjieparameter

Gebruik die Herstelversoek-oortjie

Beskrywing

Voeg Herstelversoek-koppelvlak by

· Aktiveer hierdie opsie om plaaslike herstelpoorte bloot te stel waar 'n plaaslike meester dit kan gebruik om die Nios V-verwerker te laat herstel sonder om ander komponente in 'n Nios V-verwerkerstelsel te beïnvloed.
· Die herstel-koppelvlak bestaan ​​uit 'n inset-herstelsein en 'n uitset-bevestigingssein.
· Jy kan 'n terugstelling na die Nios V-verwerkerkern aanvra deur die resetreq-sein te bevestig.
· Die herstelsein moet gehandhaaf bly totdat die verwerker die bevestigingssein handhaaf. Indien die sein nie gehandhaaf bly nie, kan dit veroorsaak dat die verwerker in 'n nie-deterministiese toestand verkeer.
· Bevestiging van die resetreq-sein in ontfoutingsmodus het geen effek op die verwerker se toestand nie.
· Die Nios V-verwerker antwoord dat die herstel suksesvol was deur die bevestigingssein te bevestig.
· Nadat die verwerker suksesvol teruggestel is, kan die bevestiging van die bevestigingssein verskeie kere periodiek plaasvind totdat die herstelsein teruggestel word.

Stuur terugvoer

Nios® V Ingeboude Verwerker Ontwerphandboek 19

2. Nios V-verwerkerhardewarestelselontwerp met Quartus Prime-sagteware en platformontwerper
726952 | 2025.07.16

2.1.1.3.5. Oortjie Lokvalle, Uitsonderings en Onderbrekings

Tabel 15.

Traps, Exceptions, and Interrupts-oortjie wanneer die Aktiveer van Kernvlak-onderbrekingsbeheerder afgeskakel is.

Oortjie Lokvalle, Uitsonderings en Onderbrekings
Herstel agent

Beskrywing
· Die geheue wat die herstelvektor (die Nios V-verwerker se hersteladres) huisves waar die herstelkode geleë is.
· Jy kan enige geheuemodule wat aan die Nios V-verwerker se instruksiemeester gekoppel is en deur 'n Nios V-verwerker se opstartvloei ondersteun word, as die herstelagent kies.

Stel offset terug

· Spesifiseer die verrekening van die herstelvektor relatief tot die gekose herstelagent se basisadres. · Platformontwerper verskaf outomaties 'n standaardwaarde vir die herstelverrekening.

Aktiveer Kernvlak-onderbrekingsbeheerder (CLIC)

· Aktiveer CLIC om voorkomende onderbrekings en konfigureerbare onderbrekings-snellervoorwaardes te ondersteun.
· Wanneer dit geaktiveer is, kan jy die aantal platformonderbrekings konfigureer, snellervoorwaardes stel en sommige van die onderbrekings as voorkomend aanwys.

Onderbrekingsmodus Skaduregister Files

Spesifiseer die onderbrekingstipes as Direk of Gevektoreerd. Aktiveer skaduregister om kontekswisseling tydens onderbreking te verminder.

Tabel 16.

Lokvalle, uitsonderings en onderbrekings wanneer die aktivering van kernvlak-onderbrekingsbeheerder aangeskakel is.

Lokvalle, uitsonderings en onderbrekings

Beskrywings

Herstel agent
Stel offset terug
Aktiveer Kernvlak-onderbrekingsbeheerder (CLIC)

· Die geheue wat die herstelvektor (die Nios V-verwerker se hersteladres) huisves waar die herstelkode geleë is.
· Jy kan enige geheuemodule wat aan die Nios V-verwerker se instruksiemeester gekoppel is en deur 'n Nios V-verwerker se opstartvloei ondersteun word, as die herstelagent kies.
· Spesifiseer die verrekening van die herstelvektor relatief tot die gekose herstelagent se basisadres. · Platformontwerper verskaf outomaties 'n standaardwaarde vir die herstelverrekening.
· Aktiveer CLIC om voorkomende onderbrekings en konfigureerbare onderbrekings-snellervoorwaardes te ondersteun. · Wanneer geaktiveer, kan jy die aantal platformonderbrekings konfigureer, snellervoorwaardes stel,
en wys sommige van die onderbrekings as voorkomend aan.

Onderbrekingsmodus

· Spesifiseer die onderbrekingstipes as Direk, Gevektoreerd of KLIK.

Skaduregister Files

· Aktiveer skaduregister om kontekswisseling tydens onderbreking te verminder.
· Bied twee benaderings:
— Aantal CLIC-onderbrekingsvlakke
— Aantal CLIC-onderbrekingsvlakke – 1: Hierdie opsie is nuttig wanneer jy die aantal registers wil hê file kopieë om in 'n presiese aantal M20K- of M9K-blokke te pas.
· Stel die Nios V-verwerker in staat om skaduregister te gebruik files wat konteksskakelingsoorhoofse koste tydens onderbrekings verminder.
Vir meer inligting oor skaduregister files, verwys na die Nios V-verwerker-verwysingshandleiding.

Aantal platformonderbrekingsbronne

· Spesifiseer die aantal platformonderbrekings tussen 16 en 2048.
Let wel: CLIC ondersteun tot 2064 onderbrekingsinsette, en die eerste 16 onderbrekingsinsette is ook aan die basiese onderbrekingsbeheerder gekoppel.

CLIC Vektor Tabel Belyning

· Word outomaties bepaal op grond van die aantal platformonderbrekingsbronne. · As jy 'n belyning gebruik wat onder die aanbevole waarde is, verhoog die CLIC die logika.
kompleksiteit deur 'n ekstra opteller by te voeg om vektorberekeninge uit te voer. · As jy 'n belyning gebruik wat onder die aanbevole waarde is, lei dit tot verhoogde
logiese kompleksiteit in die CLIC.
voortgesit …

Nios® V Ingeboude Verwerker Ontwerphandboek 20

Stuur terugvoer

2. Nios V-verwerkerhardewarestelselontwerp met Quartus Prime-sagteware en platformontwerper
726952 | 2025.07.16

Lokvalle, uitsonderings en onderbrekings
Aantal onderbrekingsvlakke
Aantal onderbrekingsprioriteite per vlak
Konfigureerbare onderbrekingspolariteit Ondersteun rand-geaktiveerde onderbrekings

Beskrywings
· Spesifiseer die aantal onderbrekingsvlakke met 'n bykomende vlak 0 vir toepassingskode. Onderbrekings van 'n hoër vlak kan 'n lopende hanteerder onderbreek (vooruitloop) vir 'n onderbreking op 'n laer vlak.
· Met nie-nul onderbrekingsvlakke as die enigste opsies vir onderbrekings, is die toepassingskode altyd op die laagste vlak 0. Let wel: Looptydkonfigurasie van 'n onderbreking se vlak en prioriteit word in 'n enkele 8-bis register gedoen. As die aantal onderbrekingsvlakke 256 is, is dit nie moontlik om die onderbrekingsprioriteit tydens looptyd te konfigureer nie. Andersins is die maksimum aantal konfigureerbare prioriteite 256 / (aantal onderbrekingsvlakke – 1).
· Spesifiseer die aantal onderbrekingsprioriteite wat die CLIC gebruik om die volgorde te bepaal waarin nie-voorafgaande onderbrekingshanterers geroep word. Let wel: Aaneenskakeling van binêre waardes van die gekose onderbrekingsvlak en gekose onderbrekingsprioriteit moet minder as 8 bisse wees.
· Laat jou toe om onderbrekingspolariteit tydens looptyd te konfigureer. · Standaardpolariteit is positiewe polariteit.
· Laat jou toe om die onderbrekings-snellertoestand tydens looptyd te konfigureer, d.w.s. hoëvlak-sneller of positiewe-rand-sneller (wanneer onderbrekingspolariteit positief is in Konfigureerbare onderbrekingspolariteit).
· Standaard snellervoorwaarde is vlak-geaktiveerde onderbreking.

Let wel:

Platform Designer bied 'n Absolute opsie, wat jou toelaat om 'n absolute adres in Reset Offset te spesifiseer. Gebruik hierdie opsie wanneer die geheue wat die herstelvektor stoor, buite die verwerkerstelsel en substelsels geleë is.

Verwante inligting Nios® V-verwerker verwysingshandleiding

2.1.1.3.6. Geheuekonfigurasies-oortjie

Tabel 17. Geheuekonfigurasie-oortjieparameters

Kategorie

Geheuekonfigurasie-oortjie

Beskrywing

Kasgeheue

Datakasgrootte

· Spesifiseer die grootte van die datakasgeheue. · Geldige groottes is van 0 kilogrepe (KB) tot 16 KB. · Skakel datakasgeheue af wanneer die grootte 0 KB is.

Instruksiekasgrootte

· Spesifiseer die grootte van die instruksiekasgeheue. · Geldige groottes is van 0 KB tot 16 KB. · Skakel instruksiekasgeheue af wanneer die grootte 0 KB is.

Perifere Streek A en B

Grootte

· Spesifiseer die grootte van die perifere gebied.
· Geldige groottes is van 64 KB tot 2 gigagrepe (GB), of Geen. As jy Geen kies, word die perifere streek gedeaktiveer.

Basisadres

· Spesifiseer die basisadres van die perifere streek nadat jy die grootte gekies het.
· Alle adresse in die perifere gebied produseer onkasbare datatoegange.
· Die basisadres van die perifere gebied moet in lyn wees met die grootte van die perifere gebied.

Styf Gekoppelde Herinneringe

Grootte

· Spesifiseer die grootte van die dig gekoppelde geheue. — Geldige groottes is van 0 MB tot 512 MB.

Basisadresinisialisering File

· Spesifiseer die basisadres van diggekoppelde geheue. · Spesifiseer die initialisering file vir styf gekoppelde geheue.

Stuur terugvoer

Nios® V Ingeboude Verwerker Ontwerphandboek 21

2. Nios V-verwerkerhardewarestelselontwerp met Quartus Prime-sagteware en platformontwerper
726952 | 2025.07.16

Let wel:

In 'n Nios V-verwerkerstelsel met geaktiveerde kasgeheue, moet jy stelselrandapparatuur binne 'n randgebied plaas. Jy kan randgebiede gebruik om 'n nie-kasgeheue-transaksie vir randapparatuur soos UART, PIO, DMA en ander te definieer.

2.1.1.3.7. ECC-oortjie

Tabel 18. ECC-oortjie
ECC Aktiveer foutopsporing en statusrapportering
Aktiveer Enkelbis-korreksie

Beskrywing
· Aktiveer hierdie opsie om die ECC-funksie vir Nios V-verwerker se interne RAM-blokke toe te pas. · ECC-funksies bespeur foute van tot 2 bis en reageer op grond van die volgende gedrag:
— Indien dit 'n regstelbare enkelbisfout is en Aktiveer Enkelbis-korreksie afgeskakel is, gaan die verwerker voort om te werk nadat die fout in die verwerkerpyplyn reggestel is. Die regstelling word egter nie in die brongeheue weerspieël nie.
— Indien dit 'n regstelbare enkelbisfout is en Aktiveer Enkelbis-korreksie aangeskakel is, gaan die verwerker voort om te werk nadat die fout in die verwerkerpyplyn en die brongeheue reggestel is.
— Indien dit 'n onkorrigeerbare fout is, staak die verwerker sy werking.
Aktiveer enkelbit-korreksie op ingebedde geheueblokke in die kern.

2.1.1.3.8. Aangepaste Instruksie-oortjie

Let wel:

Hierdie oortjie is slegs beskikbaar vir die Nios V/g-verwerkerkern.

Aangepaste instruksie Nios V Aangepaste instruksie Hardeware-koppelvlaktabel
Nios V Pasgemaakte Instruksiesagteware Makrotabel

Beskrywing
· Die Nios V-verwerker gebruik hierdie tabel om sy persoonlike instruksiebestuurder-koppelvlakke te definieer.
· Gedefinieerde persoonlike instruksiebestuurder-koppelvlakke word uniek gekodeer deur 'n Opcode (CUSTOM0-3) en 3 bisse van funct7[6:4].
· Jy kan tot 'n totaal van 32 individuele persoonlike instruksiebestuurder-koppelvlakke definieer.
· Nios V-verwerker gebruik hierdie tabel om persoonlike instruksiesagteware-enkoderings vir gedefinieerde persoonlike instruksiebestuurder-koppelvlakke te definieer.
· Vir elke gedefinieerde persoonlike instruksiesagteware-kodering, moet die Opcode (CUSTOM0-3) en 3 bisse van funct7[6:4]-kodering korreleer met 'n gedefinieerde persoonlike instruksiebestuurder-koppelvlakkodering in die Custom Instruction Hardware Interface Table.
· Jy kan funct7[6:4], funct7[3:0] en funct3[2:0] gebruik om addisionele kodering vir 'n gegewe persoonlike instruksie te definieer, of gespesifiseer as X'e om as addisionele instruksieargumente deurgegee te word.
· Die Nios V-verwerker verskaf gedefinieerde persoonlike instruksiesagteware-enkoderings as gegenereerde C-makro's in system.h, en volg die R-tipe RISC-V-instruksieformaat.
· Geheuetrekke kan gebruik word om persoonlike name te definieer vir: — Die gegenereerde C-Makros in system.h.
— Die gegenereerde GDB-ontfoutingsmnemonika in custom_instruction_debug.xml.

Verwante inligting
AN 977: Nios V-verwerker Pasgemaakte Instruksie Vir meer inligting oor pasgemaakte instruksies wat jou toelaat om die Nios® V-verwerker aan te pas om aan die behoeftes van 'n spesifieke toepassing te voldoen.

Nios® V Ingeboude Verwerker Ontwerphandboek 22

Stuur terugvoer

2. Nios V-verwerkerhardewarestelselontwerp met Quartus Prime-sagteware en platformontwerper 726952 | 2025.07.16
2.1.2. Definiëring van stelselkomponentontwerp
Gebruik die Platformontwerper om die hardeware-eienskappe van die Nios V-verwerkerstelsel te definieer en die verlangde komponente by te voeg. Die volgende diagram demonstreer 'n basiese Nios V-verwerkerstelselontwerp met die volgende komponente: · Nios V-verwerkerkern · Geheue op die skyfie · JTAG UART · Intervaltimer (opsioneel)(1)
Wanneer 'n nuwe On-Chip geheue by 'n Platform Designer-stelsel gevoeg word, voer Sinkroniseer Stelselinligting uit om die bygevoegde geheuekomponente in die herstel te weerspieël. Alternatiewelik kan jy Outomatiese Sinkronisering in Platform Designer aktiveer om outomaties die nuutste komponentveranderinge te weerspieël.
Figuur 11. Eksampdie verbinding van die Nios V-verwerker met ander randapparatuur in Platform Designer

(1) Jy het die opsie om die Nios V Interne Timer-funksies te gebruik om die eksterne Interval Timer in Platform Designer te vervang.

Stuur terugvoer

Nios® V Ingeboude Verwerker Ontwerphandboek 23

2. Nios V-verwerkerhardewarestelselontwerp met Quartus Prime-sagteware en platformontwerper
726952 | 2025.07.16
Jy moet ook operasiepenne definieer om as 'n kanaal in jou Platform Designer-stelsel uit te voer. Byvoorbeeldamp'n Behoorlike FPGA-stelselwerkingspenlys word soos volg gedefinieer, maar is nie beperk tot:
· Horlosie
· Stel terug
· I/O-seine
2.1.3. Spesifisering van basisadresse en onderbrekingsversoekprioriteite
Om te spesifiseer hoe die komponente wat in die ontwerp bygevoeg is, interaksie het om 'n stelsel te vorm, moet jy basisadresse vir elke agentkomponent toewys en onderbrekingsversoek (IRQ) prioriteite vir die J toewys.TAG UART en die interval-timer. Die Platformontwerper verskaf 'n opdrag – Ken Basisadresse Toe – wat outomaties die korrekte basisadresse aan alle komponente in 'n stelsel toeken. Jy kan egter die basisadresse aanpas volgens jou behoeftes.
Die volgende is 'n paar riglyne vir die toewysing van basisadresse:
· Nios V-verwerkerkern het 'n 32-bis-adresspan. Om toegang tot agentkomponente te verkry, moet hul basisadres tussen 0x00000000 en 0xFFFFFFFF wissel.
· Nios V-programme gebruik simboliese konstantes om na adresse te verwys. Jy hoef nie adreswaardes te kies wat maklik is om te onthou nie.
· Adreswaardes wat komponente onderskei met slegs 'n een-bis adresverskil lewer meer doeltreffende hardeware. Jy hoef nie alle basisadresse in die kleinste moontlike adresreeks te kompakteer nie, want kompaktering kan minder doeltreffende hardeware skep.
· Platformontwerper probeer nie om afsonderlike geheuekomponente in 'n aangrensende geheuebereik in lyn te bring nie. Byvoorbeeldample, as jy verskeie On-Chip geheuekomponente wil hê wat as een aaneenlopende geheuebereik adresseerbaar is, moet jy basisadresse eksplisiet toewys.
Platform Designer bied ook 'n outomatiseringsopdrag – Ken Onderbrekingsnommers Toe wat IRQ-seine verbind om geldige hardeware-resultate te lewer. Die effektiewe toewysing van IRQ's vereis egter 'n begrip van die algehele stelselresponsgedrag. Platform Designer kan nie ingeligte raaiskote maak oor die beste IRQ-toewysing nie.
Die laagste IRQ-waarde het die hoogste prioriteit. In 'n ideale stelsel beveel Altera aan dat die timerkomponent die hoogste prioriteit IRQ het, d.w.s. die laagste waarde, om die akkuraatheid van die stelselklok te handhaaf.
In sommige gevalle kan jy 'n hoër prioriteit aan intydse randapparatuur (soos videobeheerders) toeken, wat 'n hoër onderbrekingstempo vereis as tydbeheerkomponente.
Verwante inligting
Quartus Prime Pro Edition Gebruikersgids: Meer inligting oor die skep van 'n stelsel met Platform Designer.

Nios® V Ingeboude Verwerker Ontwerphandboek 24

Stuur terugvoer

2. Nios V-verwerkerhardewarestelselontwerp met Quartus Prime-sagteware en platformontwerper 726952 | 2025.07.16
2.2. Integrasie van die Platformontwerperstelsel in die Quartus Prime-projek
Nadat die Nios V-stelselontwerp in Platform Designer gegenereer is, voer die volgende take uit om die Nios V-stelselmodule in die Quartus Prime FPGA-ontwerpprojek te integreer. · Instansieer die Nios V-stelselmodule in die Quartus Prime-projek · Verbind seine vanaf die Nios V-stelselmodule met ander seine in die FPGA-logika · Ken fisiese penne se ligging toe · Beperk die FPGA-ontwerp
2.2.1. Instansiëring van die Nios V-verwerkerstelselmodule in die Quartus Prime-projek
Platform Designer genereer 'n stelselmodule-ontwerpentiteit wat jy in Quartus Prime kan instansieer. Hoe jy die stelselmodule instansieer, hang af van die ontwerpinvoermetode vir die algehele Quartus Prime-projek. Byvoorbeeldample, as jy Verilog HDL vir ontwerpinvoer gebruik het, instansieer die Verilog-gebaseerde stelselmodule. As jy verkies om die blokdiagrammetode vir ontwerpinvoer te gebruik, instansieer 'n stelselmodule-simbool .bdf file.
2.2.2. Verbinding van seine en die toewysing van fisiese penliggings
Om jou Altera FPGA-ontwerp aan jou bordvlakontwerp te koppel, voer die volgende take uit: · Identifiseer die topvlak file vir jou ontwerp en seine om aan eksterne Altera te koppel
FPGA-toestelpenne. · Verstaan ​​watter penne om te koppel deur jou bordvlak-ontwerp gebruikersgids of
skematiese diagramme. · Ken seine in die topvlakontwerp toe aan poorte op jou Altera FPGA-toestel met pen
toewysingsinstrumente.
Jou Platform Designer-stelsel kan die topvlakontwerp wees. Die Altera FPGA kan egter ook addisionele logika insluit gebaseer op jou behoeftes en stel dus 'n pasgemaakte topvlak-ontwerp bekend. fileDie topvlak file verbind die Nios V-verwerkerstelselmoduleseine met ander Altera FPGA-ontwerplogika.
Verwante inligting Quartus Prime Pro Edition gebruikersgids: Ontwerpbeperkings
2.2.3. Beperking van die Altera FPGA-ontwerp
'n Behoorlike Altera FPGA-stelselontwerp sluit ontwerpbeperkings in om te verseker dat die ontwerp aan tydsberekeningsluiting en ander logiese beperkingsvereistes voldoen. Jy moet jou Altera FPGA-ontwerp beperk om eksplisiet aan hierdie vereistes te voldoen deur gebruik te maak van gereedskap wat in die Quartus Prime-sagteware of derdeparty-EDA-verskaffers voorsien word. Die Quartus Prime-sagteware gebruik die verskafde beperkings tydens die samestellingsfase om die optimale plasingsresultate te kry.

Stuur terugvoer

Nios® V Ingeboude Verwerker Ontwerphandboek 25

2. Nios V-verwerkerhardewarestelselontwerp met Quartus Prime-sagteware en platformontwerper
726952 | 2025.07.16
Verwante inligting · Quartus Prime Pro Edition gebruikersgids: Ontwerpbeperkings · Derdeparty-EDA-vennote · Quartus Prime Pro Edition gebruikersgids: Tydsanaliseerder
2.3. Ontwerp van 'n Nios V-verwerkergeheuestelsel
Hierdie afdeling beskryf die beste praktyke vir die seleksie van geheuetoestelle in 'n Platform Designer-ingebedde stelsel met 'n Nios V-verwerker en die bereiking van optimale werkverrigting. Geheuetoestelle speel 'n kritieke rol in die verbetering van die algehele werkverrigting van 'n ingebedde stelsel. Ingebedde stelselgeheue stoor die programinstruksies en data.
2.3.1. Vlugtige geheue
'n Primêre onderskeid in 'n geheuetipe is wisselvalligheid. Vlugtige geheue hou slegs sy inhoud terwyl jy krag aan die geheuetoestel voorsien. Sodra jy die krag afskakel, verloor die geheue sy inhoud.
ExampDie tipes vlugtige geheue is RAM, kasgeheue en registers. Dit is vinnige geheuetipes wat die werkverrigting verhoog. Altera beveel aan dat jy Nios V-verwerkerinstruksies in RAM laai en uitvoer en die Nios V IP-kern met die On-Chip Memory IP of External Memory Interface IP koppel vir optimale werkverrigting.
Om werkverrigting te verbeter, kan jy bykomende Platform Designer-aanpassingskomponente uitskakel deur die Nios V-verwerker se databestuurder-koppelvlaktipe of -wydte met selflaai-RAM te pas. Byvoorbeeldample, jy kan On-Chip Memory II konfigureer met 'n 32-bis AXI-4-koppelvlak, wat ooreenstem met die Nios V-databestuurder-koppelvlak.
Verwante inligting · Eksterne geheue-koppelvlakke IP-ondersteuningsentrum · Geheue op die skyfie (RAM of ROM) Altera FPGA IP · Geheue op die skyfie II (RAM of ROM) Altera FPGA IP · Nios V-verwerkertoepassing Uitvoer-in-plek vanaf OCRAM op bladsy 54
2.3.1.1. Geheuekonfigurasie op die skyfie RAM of ROM
Jy kan Altera FPGA On-Chip geheue IP's as RAM of ROM konfigureer. · RAM bied lees- en skryfvermoë en het 'n vlugtige aard. As jy is
Wanneer jy die Nios V-verwerker vanaf 'n On-Chip RAM opstart, moet jy seker maak dat die opstartinhoud behoue ​​bly en nie korrup word in die geval van 'n herstel tydens looptyd nie. · As 'n Nios V-verwerker vanaf ROM opstart, kan enige sagtewarefout op die Nios V-verwerker nie die inhoud van die On-Chip geheue verkeerdelik oorskryf nie. Dus word die risiko van opstartsagtewarekorrupsie verminder.
Verwante inligting · Geheue op die skyfie (RAM of ROM) Altera FPGA IP · Geheue op die skyfie II (RAM of ROM) Altera FPGA IP · Nios V-verwerkertoepassing Uitvoer-in-plek vanaf OCRAM op bladsy 54

Nios® V Ingeboude Verwerker Ontwerphandboek 26

Stuur terugvoer

2. Nios V-verwerkerhardewarestelselontwerp met Quartus Prime-sagteware en platformontwerper 726952 | 2025.07.16
2.3.1.2. Kasgeheue
Ingeboude geheues word algemeen gebruik om die kasfunksionaliteit te implementeer as gevolg van hul lae latensie. Die Nios V-verwerker gebruik ingeboude geheue vir sy instruksie- en datakasgeheue. Die beperkte kapasiteit van ingeboude geheue is gewoonlik nie 'n probleem vir kageheue nie, want hulle is tipies klein.
Kasgeheue word algemeen onder die volgende voorwaardes gebruik:
· Gewone geheue is buite die skyfie geleë en het 'n langer toegangstyd as geheue op die skyfie.
· Die prestasie-kritieke gedeeltes van die sagtewarekode kan in die instruksiekas pas, wat stelselprestasie verbeter.
· Die prestasie-kritieke, mees gebruikte gedeelte van die data kan in die datakas pas, wat stelselprestasie verbeter.
Die aktivering van kashes in die Nios V-verwerker skep 'n geheuehiërargie wat die geheuetoegangstyd tot die minimum beperk.
2.3.1.2.1. Perifere gebied
Enige ingebedde randapparatuur-IP, soos UART, I2C en SPI, moet nie in die kas gestoor word nie. Kas word sterk aanbeveel vir eksterne geheues wat deur lang toegangstyd beïnvloed word, terwyl interne geheues op die skyfie uitgesluit kan word as gevolg van hul kort toegangstyd. Jy moet geen ingebedde randapparatuur-IP's, soos UART, I2C en SPI, in die kas stoor nie, behalwe vir geheues. Dit is belangrik omdat gebeure van eksterne toestelle, soos agenttoestelle wat die sagte IP's opdateer, nie deur die verwerker se kas vasgelê word nie en op hul beurt nie deur die verwerker ontvang word nie. Gevolglik kan hierdie gebeure ongemerk bly totdat jy die kas skoonmaak, wat kan lei tot onbedoelde gedrag in jou stelsel. Samevattend is die geheue-gekarteerde gebied van ingebedde randapparatuur-IP's nie-kasbaar en moet dit binne die verwerker se randgebiede wees.
Om 'n perifere gebied in te stel, volg hierdie stappe:
1. Maak die stelsel se Adreskaart in die Platformontwerper oop.
2. Navigeer na die adreskaart van die verwerker se Instruksiebestuurder en Databestuurder.
3. Identifiseer die randapparatuur en geheues in jou stelsel.
Figuur 12. Eksample van Adreskaart

Let wel: Die blou pyle wys na geheues. 4. Groepeer die randapparatuur:
a. Geheue as kasgeheue b. Randapparatuur as onkasgeheue

Stuur terugvoer

Nios® V Ingeboude Verwerker Ontwerphandboek 27

2. Nios V-verwerkerhardewarestelselontwerp met Quartus Prime-sagteware en platformontwerper
726952 | 2025.07.16

Tabel 19. Kasbare en onkasbare gebied

Ondergeskik

Adreskaart

Status

Perifere Streek

Grootte

Basisadres

gebruiker_toepassing_mem.s1

0x0 ~ 0x3ffff

Kasbaar

NVT

NVT

cpu.dm_agent bootcopier_rom.s1

0x40000 ~ 0x4ffff 0x50000 ~ 0x517ff

Onkasbaar Kasbaar

65536 grepe N/A

0x40000 NVT

bootcopier_ram.s1 cpu.timer_sw_agent posbus.avmm

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

Kasseerbaar Onkasseerbaar Onkasseerbaar

144 grepe (minimum grootte is 65536 grepe)

0x54000

sysid_qsys_0.beheer_slaaf

0x54080 ~ 0x54087

Onkasbaar

uart.avalon_jtag_slaaf

0x54088 ~ 0x5408f

Onkasbaar

5. Rig die perifere streke met hul spesifieke groottes:
· Byvoorbeeldample, as die grootte 65536 grepe is, stem dit ooreen met 0x10000 grepe. Daarom moet die toegelate basisadres 'n veelvoud van 0x10000 wees.
· Die CPU.dm_agent gebruik 'n basisadres van 0x40000, wat 'n veelvoud van 0x10000 is. Gevolglik voldoen Perifere Gebied A, met 'n grootte van 65536 grepe en 'n basisadres van 0x40000, aan die vereistes.
· Die basisadres van die versameling van onkasbare streke by 0x54000 is nie 'n veelvoud van 0x10000 nie. Jy moet hulle hertoewys aan 0x60000 of 'n ander veelvoud van 0x10000. Dus voldoen Perifere Gebied B, wat 'n grootte van 65536 grepe en 'n basisadres van 0x60000 het, aan die kriteria.

Tabel 20. Kasbare en onkasbare streek met hertoewysing

Ondergeskik

Adreskaart

Status

Perifere Streek

Grootte

Basisadres

gebruiker_toepassing_mem.s1

0x0 ~ 0x3ffff

Kasbaar

NVT

NVT

cpu.dm_agent

0x40000 ~ 0x4ffff

Onkasbare 65536 grepe

0x40000

bootcopier_rom.s1

0x50000 ~ 0x517ff

Kasbaar

NVT

NVT

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

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

Kasseerbaar Onkasseerbaar Onkasseerbaar Onkasseerbaar

144 grepe (minimum grootte is 65536 grepe)

0x60000

uart.avalon_jtag_slaaf

0x60088 ~ 0x6008f

Onkasbaar

2.3.1.3. Styf Gekoppelde Geheue
Styf gekoppelde geheues (TCM's) word geïmplementeer met behulp van geheue op die skyfie, aangesien hul lae latensie hulle goed geskik maak vir die taak. TCM's is geheues wat in die tipiese adresruimte gekarteer is, maar het 'n toegewyde koppelvlak na die mikroverwerker en beskik oor die hoëprestasie-, lae-latensie-eienskappe van kasgeheue. TCM bied ook 'n ondergeskikte koppelvlak vir die eksterne gasheer. Die verwerker en eksterne gasheer het dieselfde toestemmingsvlak om die TCM te hanteer.

Nios® V Ingeboude Verwerker Ontwerphandboek 28

Stuur terugvoer

2. Nios V-verwerkerhardewarestelselontwerp met Quartus Prime-sagteware en platformontwerper
726952 | 2025.07.16

Let wel:

Wanneer die TCM-ondergeskikte poort aan 'n eksterne gasheer gekoppel is, kan dit met 'n ander basisadres vertoon word as die basisadres wat in die verwerkerkern toegeken is. Altera beveel aan om beide adresse op dieselfde waarde in lyn te bring.

2.3.1.4. Eksterne geheue-koppelvlak (EMIF)
EMIF (Eksterne Geheue-koppelvlak) funksioneer soortgelyk aan SRAM (Statiese Toegangsgeheue), maar dit is dinamies en vereis periodieke verversing om die inhoud daarvan te behou. Die dinamiese geheueselle in EMIF is baie kleiner as die statiese geheueselle in SRAM, wat lei tot hoër kapasiteit en laer koste geheuetoestelle.
Benewens die verversingsvereiste, het EMIF spesifieke koppelvlakvereistes wat dikwels gespesialiseerde beheerderhardeware noodsaak. Anders as SRAM, wat 'n vaste stel adreslyne het, organiseer EMIF sy geheuespasie in banke, rye en kolomme. Om tussen banke en rye te wissel, bring oorhoofse koste mee, dus moet jy geheuetoegange versigtig orden om EMIF doeltreffend te gebruik. EMIF multiplekseer ook ry- en kolomadresse oor dieselfde adreslyne, wat die aantal penne wat vir 'n gegewe EMIF-grootte benodig word, verminder.
Hoërspoedweergawes van EMIF, soos DDR, DDR2, DDR3, DDR4 en DDR5, stel streng seinintegriteitsvereistes wat PCB-ontwerpers in ag moet neem.
EMIF-toestelle word gereken onder die mees koste-effektiewe en hoëkapasiteit RAM-tipes wat beskikbaar is, wat hulle 'n gewilde opsie maak. 'n Sleutelkomponent van 'n EMIF-koppelvlak is die EMIF IP, wat take bestuur wat verband hou met adresmultipleksering, verversing en oorskakeling tussen rye en banke. Hierdie ontwerp laat die res van die stelsel toe om toegang tot EMIF te verkry sonder om die interne argitektuur daarvan te verstaan.

Verwante inligting Eksterne geheue-koppelvlakke IP-ondersteuningsentrum

2.3.1.4.1. Adresspan-uitbreidings-IP
Die Adresspan-uitbreidings-Altera FPGA IP laat geheue-gekarteerde gasheer-koppelvlakke toe om toegang te verkry tot 'n groter of kleiner adreskaart as wat die breedte van hul adresseine toelaat. Die Adresspan-uitbreidings-IP verdeel die adresseerbare ruimte in verskeie afsonderlike vensters sodat die gasheer toegang tot die toepaslike deel van die geheue deur die venster kan kry.
Die Adresspan-uitbreiding beperk nie gasheer- en agentwydtes tot 'n 32-bis- en 64-bis-konfigurasie nie. Jy kan die Adresspan-uitbreiding met 1-64-bis-adresvensters gebruik.

Stuur terugvoer

Nios® V Ingeboude Verwerker Ontwerphandboek 29

2. Nios V-verwerkerhardewarestelselontwerp met Quartus Prime-sagteware en platformontwerper
726952 | 2025.07.16

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

Adresspanverlenger

A

Kartering tabel
Beheerpoort A

Beheerregister 0 Beheerregister Z-1

Uitgebreide gasheeradres H

Verwante inligting
Quartus® Prime Pro Edition Gebruikersgids: Platformontwerper Verwys na die onderwerp Adresspanuitbreiding Intel® FPGA IP vir meer inligting.

2.3.1.4.2. Gebruik van Adresspan-uitbreidings-IP met Nios V-verwerker
Die 32-bis Nios V-verwerker kan tot 4 GB van 'n adresspan aanspreek. As die EMIF meer as 4 GB geheue bevat, oorskry dit die maksimum ondersteunde adresspan, wat die Platform Designer-stelsel as foutief beskou. 'n Adresspan-uitbreidings-IP is nodig om hierdie probleem op te los deur 'n enkele EMIF-adresruimte in verskeie kleiner vensters te verdeel.
Altera beveel aan dat u die volgende parameters in ag neem.

Tabel 21. Adresspan-uitbreidingsparameters

Parameter

Aanbevole instellings

Datapadbreedte
Uitgebreide Meestergreepadresbreedte

Kies 32-bis, wat met die 32-bis verwerker korreleer. Hang af van die EMIF-geheuegrootte.

Slaafwoord Adres Breedte Bursttelling Breedte

Kies 2 GB of minder. Die oorblywende adresspan van die Nios V-verwerker word gereserveer vir ander ingebedde sagte IP's.
Begin met 1 en verhoog hierdie waarde geleidelik om prestasie te verbeter.

Aantal subvensters

Kies 1 subvenster as jy EMIF aan die Nios V-verwerker koppel as instruksie- en datageheue, of albei. Dit is gevaarlik om tussen verskeie subvensters te wissel terwyl die Nios V-verwerker vanaf EMIF uitvoer.

Aktiveer Slaafbeheerpoort

Deaktiveer die slaafbeheerpoort as jy EMIF aan die Nios V-verwerker koppel as instruksie en/of datageheue. Dieselfde bekommernisse as Aantal subvensters.

Maksimum Hangende Lesings

Begin met 1 en verhoog hierdie waarde geleidelik om prestasie te verbeter.

Nios® V Ingeboude Verwerker Ontwerphandboek 30

Stuur terugvoer

2. Nios V-verwerkerhardewarestelselontwerp met Quartus Prime-sagteware en platformontwerper 726952 | 2025.07.16
Figuur 14. Verbind Instruksie en Databestuurder met Adresspanverlenger

Figuur 15. Adreskaarte

Let daarop dat die Address Span Extender toegang tot die hele 8GB geheuespasie van die EMIF kan kry. Via die Address Span Extender kan die Nios V-verwerker egter slegs toegang tot die eerste 1GB geheuespasie van die EMIF kry.

Figuur 16. Vereenvoudigde Blokdiagram

Platform ontwerper stelsel

Oorblywende 3 GB

Nios V verwerker adres

span is vir ingebedde

NNioios sVV PProrocecsesososor r
M

sagte IP's in dieselfde stelsel.
1 GB-venster

Adresspan

S

Verlenger

M

Slegs die eerste 1 GB

van EMIF-geheue is gekoppel aan Nios V

EMIF

verwerker.

8 GB
S

Stuur terugvoer

Nios® V Ingeboude Verwerker Ontwerphandboek 31

2. Nios V-verwerkerhardewarestelselontwerp met Quartus Prime-sagteware en platformontwerper
726952 | 2025.07.16
2.3.1.4.3. Definisie van Adresspanverlenger-skakelgeheuetoestel 1. Definieer die Adresspanverlenger (EMIF) as die herstelvektor. Alternatiewelik kan jy die Nios V-verwerker-herstelvektor aan ander geheues toewys, soos OCRAM of flitstoestelle.
Figuur 17. Verskeie opsies as herstelvektor
Die Board Support Package (BSP) Editor kan egter nie outomaties die Address Span Extender (EMIF) as 'n geldige geheue registreer nie. Afhangende van die keuse wat jy gemaak het, sien jy twee verskillende situasies soos in die volgende figure getoon. Figuur 18. BSP-fout wanneer Address Span Extender (EMIF) as Herstelvektor gedefinieer word.

Nios® V Ingeboude Verwerker Ontwerphandboek 32

Stuur terugvoer

2. Nios V-verwerkerhardewarestelselontwerp met Quartus Prime-sagteware en platformontwerper 726952 | 2025.07.16
Figuur 19. Ontbrekende EMIF wanneer ander geheues as herstelvektor gedefinieer word

2. Jy moet die Adresspan-uitbreiding (EMIF) handmatig byvoeg deur die knoppies "Voeg geheuetoestel by", "Voeg skakelgeheuestreek by" en "Voeg skakelseksie-toewysings by" in die BSP-skakelskrip-oortjie te gebruik.
3. Volg hierdie stappe:
a. Bepaal die adresspan van die Adresspan-uitbreiding met behulp van die Geheuekaart (Die bv.ampDie volgende figuur gebruik die Address Span Extender-reeks van 0x0 tot 0x3fff_ffff).
Figuur 20. Geheuekaart

b. Klik Voeg geheuetoestel by en vul in gebaseer op die inligting in jou ontwerp se geheuekaart: i. Toestelnaam: emif_ddr4. Let wel: Maak seker dat jy dieselfde naam vanaf die geheuekaart kopieer. ii. Basisadres: 0x0 iii. Grootte: 0x40000000
c. Klik Voeg by om 'n nuwe skakelgeheuegebied by te voeg:

Stuur terugvoer

Nios® V Ingeboude Verwerker Ontwerphandboek 33

2. Nios V-verwerkerhardewarestelselontwerp met Quartus Prime-sagteware en platformontwerper
726952 | 2025.07.16

Tabel 22. Byvoeging van skakelgeheuegebied

Trappe

Stel vektor terug

emif_ddr4

Ander herinneringe

1

Voeg 'n nuwe Skakelgeheuestreek genaamd herstel by. Voeg 'n nuwe Skakelgeheuestreek vir die

· Streeknaam: herstel

emif_ddr4.

· Streekgrootte: 0x20

· Streeknaam: emif_ddr4

· Geheuetoestel: emif_ddr4

· Streekgrootte: 0x40000000

· Geheueverskuiwing: 0x0

· Geheuetoestel: emif_ddr4

· Geheueverskuiwing: 0x0

2

Voeg 'n nuwe skakelgeheuestreek by vir die

oorblywende emif_ddr4.

· Streeknaam: emif_ddr4

· Streekgrootte: 0x3fffffe0

· Geheuetoestel: emif_ddr4

· Geheueverskuiwing: 0x20

Figuur 21. Skakelgebied wanneer Adresspanverlenger (EMIF) as Herstelvektor gedefinieer word

Figuur 22. Skakelgebied wanneer ander geheues as herstelvektor gedefinieer word
d. Sodra die emif_ddr4 by die BSP gevoeg is, kan jy dit vir enige skakelafdeling kies.
Figuur 23. Adresspanverlenger (EMIF) suksesvol bygevoeg

e. Ignoreer die waarskuwing oor die geheuetoestel emif_ddr4 wat nie in die SOPC-ontwerp sigbaar is nie.
f. Gaan voort om BSP te genereer.
Verwante inligting Inleiding tot Nios V-verwerker-opstartmetodes op bladsy 51

Nios® V Ingeboude Verwerker Ontwerphandboek 34

Stuur terugvoer

2. Nios V-verwerkerhardewarestelselontwerp met Quartus Prime-sagteware en platformontwerper 726952 | 2025.07.16
2.3.2. Nie-vlugtige geheue
Nie-vlugtige geheue behou sy inhoud wanneer die krag afgeskakel word, wat dit 'n goeie keuse maak vir die berging van inligting wat die stelsel moet herwin na 'n stelsel-kragsiklus. Nie-vlugtige geheue berg gewoonlik verwerker-opstartkode, aanhoudende toepassingsinstellings en Altera FPGA-konfigurasiedata. Alhoewel nie-vlugtige geheue die voordeel het ...tagOm data te behou wanneer jy die krag afskakel, is dit baie stadiger in vergelyking met vlugtige geheue, en het dikwels meer komplekse skryf- en uitveeprosedures. Nie-vlugtige geheue is gewoonlik ook net gewaarborg om 'n gegewe aantal kere uitgevee te kan word, waarna dit kan faal.
ExampNie-vlugtige geheue sluit alle tipes flash, EPROM en EEPROM in. Altera beveel aan dat jy Altera FPGA-bitstrome en Nios V-programbeelde in 'n nie-vlugtige geheue stoor, en seriële flash as die selflaaitoestel vir Nios V-verwerkers gebruik.
Verwante inligting
· Generiese Seriële Flitskoppelvlak Altera FPGA IP Gebruikersgids
· Posbuskliënt Altera FPGA IP Gebruikersgids · MAX® 10 Gebruiker Flash Memory Gebruikersgids: Ingeboude Flash Altera FPGA IP Kern
2.4. Beste praktyke vir klokke en herstel
Dit is belangrik om te verstaan ​​hoe die Nios V-verwerker se klok- en hersteldomein met elke randapparatuur waarmee dit verbind, interaksie het. 'n Eenvoudige Nios V-verwerkerstelsel begin met 'n enkele klokdomein, en dit kan ingewikkeld raak met 'n multi-klokdomeinstelsel wanneer 'n vinnige klokdomein bots met 'n stadige klokdomein. Jy moet kennis neem en verstaan ​​hoe hierdie verskillende domeine uit die herstel volgorde kom en seker maak dat daar geen subtiele probleme is nie.
Vir beste praktyk beveel Altera aan om die Nios V-verwerker en opstartgeheue in dieselfde klokdomein te plaas. Moenie die Nios V-verwerker van herstel in 'n vinnige klokdomein vrystel wanneer dit opstart vanaf 'n geheue wat in 'n baie stadige klokdomein is nie, wat 'n instruksiehaalfout kan veroorsaak. Jy mag dalk 'n mate van handmatige volgordebepaling benodig bo en behalwe wat Platform Designer by verstek verskaf, en beplan die herstelvrystellingstopologie dienooreenkomstig gebaseer op jou gebruiksgeval. As jy jou stelsel wil herstel nadat dit 'n rukkie weer aan die gang gekom en loop het, pas dieselfde oorwegings toe op stelselherstelvolgordebepaling en na-herstel-inisialiseringsvereiste.
2.4.1. Stelsel JTAG Horlosie
Die spesifisering van die klokbeperkings in elke Nios V-verwerkerstelsel is 'n belangrike stelselontwerpoorweging en word vereis vir korrektheid en deterministiese gedrag. Die Quartus Prime Timing Analyzer voer statiese tydsanalise uit om die tydsprestasie van alle logika in u ontwerp te valideer deur gebruik te maak van bedryfstandaardbeperkings-, analise- en verslagdoeningsmetodologie.
Example 1. Basiese 100 MHz-klok met 50/50-dienssiklus en 16 MHz JTAG Horlosie
#**************************************************************** # Skep 100MHz Klok #**************************************************************** create_clock -name {clk} -period 10 [get_ports {clk}] #************************ Skep 16MHz JTAG Klok #************************

Stuur terugvoer

Nios® V Ingeboude Verwerker Ontwerphandboek 35

2. Nios V-verwerkerhardewarestelselontwerp met Quartus Prime-sagteware 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}] Verwante Inligting Quartus Prime Timing Analyzer Kookboek
2.4.2. Herstelversoek-koppelvlak
Die Nios V-verwerker sluit 'n opsionele herstelversoekfasiliteit in. Die herstelversoekfasiliteit bestaan ​​uit reset_req- en reset_req_ack-seine.
Om die herstelversoek in Platform Designer te aktiveer: 1. Begin die Nios V Processor IP Parameter Editor. 2. Skakel die Add Reset Request-koppelvlak by die Use Reset Request-instelling aan.
opsie.
Figuur 24. Aktiveer Nios V-verwerker-terugstelversoek
Die reset_req-sein tree op soos 'n onderbreking. Wanneer jy die reset_req bevestig, versoek jy om na die kern terug te stel. Die kern wag vir enige uitstaande bustransaksie om sy operasie te voltooi. Byvoorbeeldampd.w.s., as daar 'n hangende geheuetoegangstransaksie is, wag die kern vir 'n volledige antwoord. Net so aanvaar die kern enige hangende instruksieantwoord, maar reik nie 'n instruksieversoek uit nadat die reset_req-sein ontvang is nie.
Die herstelbewerking bestaan ​​uit die volgende vloei: 1. Voltooi alle hangende bewerkings 2. Spoel die interne pyplyn 3. Stel die Programteller op die herstelvektor 4. Herstel die kern Die hele herstelbewerking neem 'n paar kloksiklusse. Die reset_req moet beweer bly totdat reset_req_ack beweer word, wat aandui dat die kern-herstelbewerking suksesvol voltooi is. Versuim om dit te doen, lei daartoe dat die kern se toestand nie-deterministies is.

Nios® V Ingeboude Verwerker Ontwerphandboek 36

Stuur terugvoer

2. Nios V-verwerkerhardewarestelselontwerp met Quartus Prime-sagteware en platformontwerper 726952 | 2025.07.16
2.4.2.1. Tipiese gebruiksgevalle
· Jy kan die reset_req-sein vanaf aanskakeling gebruik om te verhoed dat die Nios V-verwerkerkern programuitvoering vanaf sy herstelvektor begin totdat ander FPGA-gashere in die stelsel die Nios V-verwerker se opstartgeheue initialiseer. In hierdie geval kan die hele substelsel 'n skoon hardeware-terugstelling ervaar. Die Nios V-verwerker word onbepaald in 'n terugstelversoektoestand gehou totdat die ander FPGA-gashere die verwerker se opstartgeheue initialiseer.
· In 'n stelsel waar jy die Nios V-verwerkerkern moet herstel sonder om die res van die stelsel te ontwrig, kan jy die reset_req-sein gebruik om die huidige werking van die kern skoon te stop en die verwerker vanaf die herstelvektor te herbegin sodra die stelsel die reset_req_ack-sein vrystel.
· 'n Eksterne gasheer kan die terugstelversoek-koppelvlak gebruik om die implementering van die volgende take te vergemaklik:
— Stop die huidige Nios V-verwerkerprogram.
— Laai 'n nuwe program in die Nios V-verwerker se opstartgeheue.
— Laat die verwerker toe om die nuwe program uit te voer.
Altera beveel aan dat u 'n tydsberekeningsmeganisme implementeer om die toestand van die reset_req_ack-sein te monitor. Indien die Nios V-verwerkerkern in 'n oneindige wagtoestand beland en om 'n onbekende rede stilstaan, kan reset_req_ack nie onbepaald geld nie. Die tydsberekeningsmeganisme stel u in staat om:
· Definieer 'n hersteltydperk en voer stelselherstel met stelselvlakherstel uit.
· Voer 'n hardeware-vlakherstel uit.
2.4.3. Herstel Vrystellings-IP
Altera SDM-gebaseerde toestelle gebruik 'n parallelle, sektor-gebaseerde argitektuur wat die kernstoflogika oor verskeie sektore versprei. Altera beveel aan dat u die Reset Release Altera FPGA IP as een van die aanvanklike insette vir die herstelkring gebruik. Intel® SDM-gebaseerde toestelle sluit Stratix® 10 en AgilexTM-toestelle in. Beheerblok-gebaseerde toestelle word nie deur hierdie vereiste beïnvloed nie.
Verwante inligting
AN 891: Gebruik van die Herstelvrystelling Altera FPGA IP
2.5. Toewysing van 'n Standaard Agent
Platform Designer laat jou toe om 'n standaardagent te spesifiseer wat as die standaardagent vir foutreaksie optree. Die standaardagent wat jy aanwys, bied 'n foutreaksiediens vir gashere wat nie-gedekodeerde toegang tot die adreskaart probeer verkry.
Die volgende scenario's veroorsaak 'n ongedekodeerde gebeurtenis:
· Skending van die sekuriteitstoestand van bustransaksies
· Transaksietoegang tot ongedefinieerde geheuegebied
· Uitsonderingsgebeurtenis en ens.

Stuur terugvoer

Nios® V Ingeboude Verwerker Ontwerphandboek 37

2. Nios V-verwerkerhardewarestelselontwerp met Quartus Prime-sagteware en platformontwerper
726952 | 2025.07.16

'n Standaardagent moet toegewys word om sulke gebeurtenisse te hanteer, waar 'n ongedefinieerde transaksie na die standaardagent herlei word en vervolgens op die Nios V-verwerker met 'n foutrespons reageer.
Verwante inligting
· Quartus Prime Pro Edition Gebruikersgids: Platformontwerper. Aanwysing van 'n Standaard Agent
· Quartus Prime Pro Edition Gebruikersgids: Platformontwerper. Foutrespons Slaaf Altera FPGA IP
· Github – Aanvullende Herstelkomponente vir Qsys

2.6. Toewysing van 'n UART-agent vir drukwerk
Drukwerk is nuttig vir die ontfouting van die sagtewaretoepassing, sowel as vir die monitering van die status van jou stelsel. Altera beveel aan dat basiese inligting soos 'n opstartboodskap, foutboodskap en uitvoeringsvordering van die sagtewaretoepassing gedruk word.
Vermy die gebruik van die printf()-biblioteekfunksie onder die volgende omstandighede: · Die printf()-biblioteek veroorsaak dat die toepassing stilstaan ​​as geen gasheer die uitvoer lees nie.
Dit is van toepassing op die JTAG Slegs UART. · Die printf() biblioteek verbruik groot hoeveelhede programgeheue.

2.6.1. Voorkoming van stalletjies deur die JTAG UART

Tabel 23. Verskille tussen tradisionele UART en JTAG UART

UART-tipe Tradisionele UART

Beskrywing
Versend seriële data ongeag of 'n eksterne gasheer luister. Indien geen gasheer die seriële data lees nie, gaan die data verlore.

JTAG UART

Skryf die oorgedraagde data na 'n uitvoerbuffer en maak staat op 'n eksterne gasheer om van die buffer te lees om dit leeg te maak.

Die JTAG Die UART-drywer wag wanneer die uitvoerbuffer vol is. Die JTAG Die UART-drywer wag vir 'n eksterne gasheer om van die uitvoerbuffer te lees voordat meer oordragdata geskryf word. Hierdie proses verhoed die verlies van oordragdata.
Wanneer stelselontfouting egter nie nodig is nie, soos tydens produksie, word ingebedde stelsels ontplooi sonder 'n gasheer-rekenaar wat aan J gekoppel is.TAG UART. Indien die stelsel die J gekies hetTAG UART as die UART-agent, dit kan veroorsaak dat die stelsel stilstaan ​​omdat geen eksterne gasheer gekoppel is nie.
Om te verhoed dat J stilstand bringTAG UART, pas die volgende opsies toe:

Nios® V Ingeboude Verwerker Ontwerphandboek 38

Stuur terugvoer

2. Nios V-verwerkerhardewarestelselontwerp met Quartus Prime-sagteware en platformontwerper
726952 | 2025.07.16

Tabel 24. Voorkoming van Staking deur JTAG UART

Opsies
Geen UART-koppelvlak en drywer teenwoordig nie
Gebruik ander UART-koppelvlak en drywer
Bewaar JTAG UART-koppelvlak (sonder drywer)

Tydens Hardeware-ontwikkeling (in Platformontwerper)

Tydens sagteware-ontwikkeling (in die bordondersteuningspakketredigeerder)

Verwyder JTAG UART van die stelsel

Konfigureer hal.stdin, hal.stdout en hal.stderr as Geen.

Vervang JTAG UART met ander sagte Konfigurasie hal.stdin, hal.stdout en hal.stderr

UART IP

met ander sagte UART IP.

Bewaar JTAG UART in die stelsel

· Konfigureer hal.stdin, hal.stdout en hal.stderr as Geen in die Bordondersteuningspakketredigeerder.
· Deaktiveer JTAG UART-drywer in die BSP-drywer-oortjie.

2.7. JTAG Seine
Die Nios V-verwerker-ontfoutingsmodule gebruik die JTAG koppelvlak vir sagteware ELF aflaai en sagteware ontfouting. Wanneer jy jou ontwerp met die J ontfoutTAG koppelvlak, die JTAG seine TCK, TMS, TDI en TDO word as deel van die ontwerp geïmplementeer. Spesifisering van die JTAG Seinbeperkings in elke Nios V-verwerkerstelsel is 'n belangrike stelselontwerpoorweging en word vereis vir korrektheid en deterministiese gedrag.
Altera beveel aan dat enige ontwerp se stelselklokfrekwensie ten minste vier keer die J moet wees.TAG klokfrekwensie om te verseker dat die kern van die on-chip instrumentasie (OCI) behoorlik funksioneer.
Verwante inligting · Quartus® Prime Timing Analyzer Kookboek: JTAG Seine
Vir meer inligting oor JTAG riglyne vir tydsbeperkings. · KDB: Waarom misluk niosv-aflaai met 'n nie-pyplyn Nios® V/m-verwerker by
JTAG frekwensie 24MHz of 16MHz?
2.8. Optimalisering van Platformontwerperstelselprestasie
Platform Designer bied gereedskap vir die optimalisering van die werkverrigting van die stelselinterkonneksie vir Altera FPGA-ontwerpe.

Stuur terugvoer

Nios® V Ingeboude Verwerker Ontwerphandboek 39

2. Nios V-verwerkerhardewarestelselontwerp met Quartus Prime-sagteware en platformontwerper
726952 | 2025.07.16
Figuur 25. Optimaliseringsvoorbeeldamples

Die eksampDie figuur wat in die figuur getoon word, demonstreer die volgende stappe:
1. Voeg Pipeline Bridge by om kritieke paaie te verlig deur dit te plaas: a. Tussen die Instruksiebestuurder en sy agente b. Tussen die Databestuurder en sy agente
2. Pas Ware Dubbelpoort-On-Chip RAM toe, met elke poort toegewy aan onderskeidelik die Instruksiebestuurder en die Databestuurder.

Nios® V Ingeboude Verwerker Ontwerphandboek 40

Stuur terugvoer

2. Nios V-verwerkerhardewarestelselontwerp met Quartus Prime-sagteware en platformontwerper 726952 | 2025.07.16
Verwys na die volgende verwante skakels hieronder, wat tegnieke aanbied vir die benutting van die beskikbare gereedskap en die afwegings van elke implementering.
Verwante inligting · Quartus® Prime Pro Edition gebruikersgids: Platformontwerper
Verwys na die onderwerp Optimalisering van Platformontwerperstelselprestasie vir meer inligting. · Quartus® Prime Standard Edition Gebruikersgids: Platformontwerper Verwys na die onderwerp Optimalisering van Platformontwerperstelselprestasie vir meer inligting.

Stuur terugvoer

Nios® V Ingeboude Verwerker Ontwerphandboek 41

726952 | 2025.07.16 Stuur terugvoer

3. Nios V-verwerker sagtewarestelselontwerp
Hierdie hoofstuk beskryf die Nios V-verwerker sagteware-ontwikkelingsvloei en die sagteware-instrumente wat jy kan gebruik om jou ingebedde ontwerpstelsel te ontwikkel. Die inhoud dien as 'n oorsig.view voordat 'n Nios V-verwerker sagtewarestelsel ontwikkel is.
Figuur 26. Sagteware-ontwerpvloei
Begin

Genereer die BSP in die Platformontwerper met behulp van die BSP-redigeerder

Genereer die BSP met behulp van die Nios V-opdragskulp
Genereer die toepassing CMake-bou File Gebruik die Nios V-opdragskulp

Let wel:

Voer die BSP en Toepassing CMake Bou in File
Bou die Nios V-verwerkertoepassing met behulp van die
RiscFree IDE vir Intel FPGA

Bou die Nios V-verwerkertoepassing met behulp van enige
opdragreëlbronkode-redigeerder, CMake en Make
bevele
Einde

Altera beveel aan dat jy 'n Altera FPGA-ontwikkelingspakket of 'n pasgemaakte prototipe-bord vir sagteware-ontwikkeling en ontfouting gebruik. Baie randapparatuur en stelselvlakfunksies is slegs beskikbaar wanneer jou sagteware op 'n werklike bord loop.

© Altera Corporation. Altera, die Altera-logo, die `a'-logo en ander Altera-merke is handelsmerke van Altera Corporation. Altera behou die reg voor om te eniger tyd sonder kennisgewing veranderinge aan enige produkte en dienste aan te bring. Altera aanvaar geen verantwoordelikheid of aanspreeklikheid wat voortspruit uit die toepassing of gebruik van enige inligting, produk of diens wat hierin beskryf word nie, behalwe soos uitdruklik skriftelik deur Altera ooreengekom. Altera-kliënte word aangeraai om die nuutste weergawe van toestelspesifikasies te bekom voordat hulle op enige gepubliseerde inligting staatmaak en voordat hulle bestellings vir produkte of dienste plaas. *Ander name en handelsmerke kan as die eiendom van ander geëis word.

3. Nios V Verwerker Sagteware Stelsel Ontwerp 726952 | 2025.07.16
3.1. Nios V-verwerker sagteware-ontwikkelingsvloei
3.1.1. Raadsondersteuningspakketprojek
'n Nios V Board Support Package (BSP)-projek is 'n gespesialiseerde biblioteek wat stelselspesifieke ondersteuningskode bevat. 'n BSP bied 'n sagteware-looptydomgewing wat aangepas is vir een verwerker in 'n Nios V-verwerkerhardewarestelsel.
Die Quartus Prime-sagteware bied Nios V Board Support Package Editor en niosv-bsp-nutsgereedskap om instellings te wysig wat die gedrag van die BSP beheer.
'n BSP bevat die volgende elemente: · Hardeware-abstraksielaag · Toesteldrywers · Opsionele sagtewarepakkette · Opsionele intydse bedryfstelsel
3.1.2. Toepassingsprojek
'n Nios VC/C++ toepassingsprojek het die volgende kenmerke: · Bestaan ​​uit 'n versameling bronkode en 'n CMakeLists.txt.
— Die CMakeLists.txt kompileer die bronkode en koppel dit met 'n BSP en een of meer opsionele biblioteke om een ​​.elf te skep. file
· Een van die bronne files bevat funksie main(). · Sluit kode in wat funksies in biblioteke en BSP's aanroep.
Altera verskaf die niosv-app-hulpmiddel in die Quartus Prime-sagtewarehulpmiddels om die toepassing CMakeLists.txt te skep, en RiscFree IDE vir Altera FPGA's om die bronkode in 'n Eclipse-gebaseerde omgewing te wysig.
3.2. Altera FPGA Ingeboude Ontwikkelingsinstrumente
Die Nios V-verwerker ondersteun die volgende gereedskap vir sagteware-ontwikkeling: · Grafiese gebruikerskoppelvlak (GUI) – Grafiese ontwikkelingsgereedskap wat beskikbaar is in
beide Windows* en Linux* bedryfstelsels (OS). — Nios V Board Support Package Editor (Nios V BSP Editor) — Ashling RiscFree IDE vir Altera FPGA's · Command-Line Tools (CLI) – Ontwikkelingsinstrumente wat vanaf die Nios V Command Shell geïnisieer word. Elke instrument verskaf sy eie dokumentasie in die vorm van hulp wat toeganklik is vanaf die opdragreël. Maak die Nios V Command Shell oop en tik die volgende opdrag: –help om view die Hulp-kieslys. — Nios V Utilities Tools — File Formaatomskakelingsinstrumente — Ander hulpmiddels

Stuur terugvoer

Nios® V Ingeboude Verwerker Ontwerphandboek 43

3. Nios V Verwerker Sagteware Stelsel Ontwerp 726952 | 2025.07.16

Tabel 25. Opsomming van take vir GUI-gereedskap en opdragreëlgereedskap

Taak

GUI-instrument

Opdragreël-instrument

Skep van 'n BSP

Nios V BSP-redakteur

· In Quartus Prime Pro Edition sagteware: niosv-bsp -c -s=<.qsys file> -t= [OPSIES] instellings.bsp
· In Quartus Prime Standard Edition sagteware: niosv-bsp -c -s=<.sopcinfo file> -t= [OPSIES] instellings.bsp

Genereer 'n BSP met behulp van bestaande .bsp file
Opdatering van 'n BSP

Nios V BSP-redigeerder Nios V BSP-redigeerder

niosv-bsp -g [OPSIES] instellings.bsp niosv-bsp -u [OPSIES] instellings.bsp

Ondersoek van 'n BSP

Nios V BSP-redakteur

niosv-bsp -q -E= [OPSIES] instellings.bsp

Skep 'n toepassing

niosv-app -a= -b= -s= files-gids> [OPSIES]

Skep 'n gebruikersbiblioteek

niosv-app -l= -s= files gids> -p= [OPSIES]

Wysig 'n toepassing Wysig 'n gebruikersbiblioteek Bou 'n toepassing

RiscFree IDE vir Altera FPGA's
RiscFree IDE vir Altera FPGA's
RiscFree IDE vir Altera FPGA's

Enige opdragreëlbronredigeerder
Enige opdragreëlbronredigeerder
· maak · maak

Die bou van 'n gebruikersbiblioteek

RiscFree IDE vir Altera FPGA's

· maak · maak

Laai 'n ELF-toepassing af
Omskakeling van die .elf file

RiscFree IDE vir Altera FPGA's

niosv-aflaai
· elf2flash · elf2hex

Verwante inligting
Ashling RiscFree Geïntegreerde Ontwikkelingsomgewing (IDE) vir Altera FPGA's Gebruikersgids

3.2.1. Nios V Verwerkerbord Ondersteuningspakket Redigeerder
Jy kan die Nios V-verwerker BSP-redigeerder gebruik om die volgende take uit te voer: · Skep of wysig 'n Nios V-verwerker BSP-projek · Wysig instellings, skakelstreke en seksiekarterings · Kies sagtewarepakkette en toesteldrywers.
Die vermoëns van die BSP-redigeerder sluit die vermoëns van die niosv-bsp-hulpprogramme in. Enige projek wat in die BSP-redigeerder geskep word, kan ook met behulp van die opdragreëlhulpprogramme geskep word.

Nios® V Ingeboude Verwerker Ontwerphandboek 44

Stuur terugvoer

3. Nios V Verwerker Sagteware Stelsel Ontwerp 726952 | 2025.07.16

Let wel:

Vir Quartus Prime Standard Edition sagteware, verwys na AN 980: Nios V Processor Quartus Prime Software Support vir die stappe om die BSP Editor GUI te roep.

Om die BSP-redigeerder te begin, volg hierdie stappe: 1. Maak Platform Designer oop en navigeer na die File spyskaart.
a. Om 'n bestaande BSP-instelling oop te maak file, klik Maak oop… b. Om 'n nuwe BSP te skep, klik Nuwe BSP… 2. Kies die BSP-redigeerder-oortjie en verskaf die toepaslike besonderhede.

Figuur 27. Begin BSP-redigeerder

Verwante inligting AN 980: Nios V-verwerker Quartus Prime sagtewareondersteuning
3.2.2. Risikovrye IDE vir Altera FPGA's
Die RiscFree IDE vir Altera FPGA's is 'n Eclipse-gebaseerde IDE vir die Nios V-verwerker. Altera beveel aan dat u die Nios V-verwerkersagteware in hierdie IDE ontwikkel om die volgende redes: · Die kenmerke is ontwikkel en geverifieer om versoenbaar te wees met die Nios V
verwerkerbouvloei. · Toegerus met al die nodige gereedskapskettings en ondersteunende gereedskap wat jou in staat stel
om maklik Nios V-verwerkerontwikkeling te begin.
Verwante inligting Ashling RiscFree Geïntegreerde Ontwikkelingsomgewing (IDE) vir Altera FPGA's Gebruikersgids
3.2.3. Nios V Nutsdienste Gereedskap
Jy kan Nios V-programme skep, wysig en bou met opdragte wat by 'n opdragreël getik of in 'n skrip ingebed word. Die Nios V-opdragreëlgereedskap wat in hierdie afdeling beskryf word, is in die /niosv/bin-gids.

Stuur terugvoer

Nios® V Ingeboude Verwerker Ontwerphandboek 45

3. Nios V Verwerker Sagteware Stelsel Ontwerp 726952 | 2025.07.16

Tabel 26. Nios V Utilities-gereedskap

Opdragreëlgereedskap

Opsomming

niosv-app niosv-bsp niosv-aflaai niosv-dop niosv-stack-verslag

Om 'n toepassingsprojek te genereer en te konfigureer.
Om BSP-instellings te skep of op te dateer file en skep die BSP files. Om die ELF af te laai file na 'n Nios® V-verwerker.
Om die Nios V-opdragskulp oop te maak. Om jou in te lig oor die oorblywende geheuespasie wat beskikbaar is vir jou toepassing .elf vir stapel- of hoopgebruik.

3.2.4. File Formaatomskakelingsinstrumente

File formaatomskakeling is soms nodig wanneer data van een nutsdiens na 'n ander oorgedra word. file formaatomskakelingsinstrumente is in die
sagteware-installasiegids>/niosv/bin-gids.

Tabel 27. File Formaatomskakelingsinstrumente

Opdragreëlgereedskap elf2flash elf2hex

Opsomming Om die .elf te vertaal file na .srec-formaat vir flitsgeheueprogrammering. Om die .elf te vertaal file na .hex-formaat vir geheue-inisialisering.

3.2.5. Ander nutsgereedskap

Jy mag dalk die volgende opdragreëlgereedskap benodig wanneer jy 'n Nios V-verwerker-gebaseerde stelsel bou. Hierdie opdragreëlgereedskap word óf deur Intel verskaf in /quartus/bin of verkry van
oopbron-gereedskap.

Tabel 28. Ander opdragreëlhulpmiddels

Opdragreëlgereedskap

Tik

Opsomming

juart-terminaal

Intel-verskaf

Om stdout en stderr te monitor, en om insette aan 'n Nios® V-verwerker te verskaf
substelsel deur stdin. Hierdie hulpmiddel is slegs van toepassing op die JTAG UART IP wanneer dit aan die Nios® V-verwerker gekoppel is.

openocd

Deur Intel voorsien Om OpenOCD uit te voer.

openocd-cfg-gen

Intel-verskaf · Om die OpenOCD-konfigurasie te genereer file· Om J te vertoonTAG kettingtoestel indeks.

Nios® V Ingeboude Verwerker Ontwerphandboek 46

Stuur terugvoer

726952 | 2025.07.16 Stuur terugvoer
4. Nios V-verwerkerkonfigurasie- en opstartoplossings
Jy kan die Nios V-verwerker konfigureer om sagteware vanaf verskillende geheueliggings te begin en uit te voer. Die selflaaigeheue is die Quad Serial Peripheral Interface (QSPI) flash, On-Chip Memory (OCRAM), of Tightly Coupled Memory (TCM).
Verwante inligting · Aanskakel-snellertoestande op bladsy 193 · Aanskakel-snellers
Vir meer inligting oor kragopwekkers.
4.1. Inleiding
Die Nios V-verwerker ondersteun twee tipes opstartprosesse: · Execute-in-Place (XIP) met behulp van die alt_load()-funksie · Program gekopieer na RAM met behulp van die opstartkopieerder. Die ontwikkeling van ingebedde Nios V-programme is gebaseer op die hardeware-abstraksielaag (HAL). Die HAL bied 'n klein opstartlaaierprogram (ook bekend as 'n opstartkopieerder) wat relevante skakelafdelings vanaf die opstartgeheue na hul looptydligging tydens opstart kopieer. Jy kan die program- en datageheue-looptydliggings spesifiseer deur die Board Support Package (BSP) Editor-instellings te manipuleer. Hierdie afdeling beskryf: · Nios V-verwerker-opstartkopieerder wat jou Nios V-verwerkerstelsel opstart volgens
die opstartgeheue-keuse · Nios V-verwerker-opstartopsies en algemene vloei · Nios V-programmeringsoplossings vir die gekose opstartgeheue
4.2. Koppeling van Toepassings
Wanneer jy die Nios V-verwerkerprojek genereer, genereer die BSP-redigeerder twee skakelverwante files: · linker.x: Die linker-opdrag file wat die gegenereerde toepassing maakfile gebruike
om die .elf binêre lêer te skep file. · linker.h: Bevat inligting oor die skakelgeheue-uitleg. Alle skakelinstellingswysigings wat jy aan die BSP-projek maak, beïnvloed die inhoud van hierdie twee skakels. files. Elke Nios V-verwerkertoepassing bevat die volgende skakelafdelings:
© Altera Corporation. Altera, die Altera-logo, die `a'-logo en ander Altera-merke is handelsmerke van Altera Corporation. Altera behou die reg voor om te eniger tyd sonder kennisgewing veranderinge aan enige produkte en dienste aan te bring. Altera aanvaar geen verantwoordelikheid of aanspreeklikheid wat voortspruit uit die toepassing of gebruik van enige inligting, produk of diens wat hierin beskryf word nie, behalwe soos uitdruklik skriftelik deur Altera ooreengekom. Altera-kliënte word aangeraai om die nuutste weergawe van toestelspesifikasies te bekom voordat hulle op enige gepubliseerde inligting staatmaak en voordat hulle bestellings vir produkte of dienste plaas. *Ander name en handelsmerke kan as die eiendom van ander geëis word.

4. Nios V-verwerkerkonfigurasie- en opstartoplossings 726952 | 2025.07.16

Tabel 29. Skakelafdelings

.teks

Skakelafdelings

.rodata

.rwdata

.bss

.hoop

.stapel

Beskrywings Uitvoerbare kode. Enige leesalleen-data wat in die uitvoering van die program gebruik word. Stoor lees-skryf-data wat in die uitvoering van die program gebruik word. Bevat ongeïnisialiseerde statiese data. Bevat dinamies toegekende geheue. Stoor funksieoproepparameters en ander tydelike data.

Jy kan addisionele skakelafdelings by die .elf voeg file om persoonlike kode en data te stoor. Hierdie skakelafdelings word in benoemde geheuegebiede geplaas, gedefinieer om ooreen te stem met fisiese geheuetoestelle en adresse. Standaard genereer BSP Editor outomaties hierdie skakelafdelings. Jy kan egter die skakelafdelings vir 'n spesifieke toepassing beheer.

4.2.1. Skakelgedrag
Hierdie afdeling beskryf die BSP Editor se standaard skakelgedrag en hoe om die skakelgedrag te beheer.

4.2.1.1. Standaard BSP-skakeling
Tydens BSP-konfigurasie voer die gereedskap die volgende stappe outomaties uit:
1. Ken geheuegebiedname toe: Ken 'n naam toe aan elke stelselgeheuetoestel en voeg elke naam by die skakelaar file as 'n geheuegebied.
2. Vind grootste geheue: Identifiseer die grootste lees-en-skryf geheuegebied in die skakelaar file.
3. Ken skakelafdelings toe: Plaas die standaardskakelafdelings (.text, .rodata, .rwdata, .bss, .heap en .stack) in die geheuegebied wat in die vorige stap geïdentifiseer is.
4. Skryf files: Skryf die linker.x en linker.h files.
Tipies werk die skakelafdeling-toewysingskema tydens die sagteware-ontwikkelingsproses, want die toepassing sal gewaarborg funksioneer as die geheue groot genoeg is.
Die reëls vir die standaard skakelgedrag word vervat in die Altera-gegenereerde Tcl-skripte bsp-set-defaults.tcl en bsp-linker-utils.tcl wat in die /niosv/scripts/bsp-defaults-gids. Die niosv-bsp-opdrag roep hierdie skripte op. Moenie hierdie skripte direk wysig nie.

Nios® V Ingeboude Verwerker Ontwerphandboek 48

Stuur terugvoer

4. Nios V-verwerkerkonfigurasie- en opstartoplossings 726952 | 2025.07.16

4.2.1.2. Konfigureerbare BSP-skakeling
Jy kan die standaard skakelgedrag in die Skakelskrif-oortjie van die BSP-redigeerder bestuur. Manipuleer die skakelskrif deur die volgende metodes te gebruik: · Voeg 'n geheuegebied by: Koppel 'n geheuegebiednaam aan 'n fisiese geheuetoestel. · Voeg 'n seksiekartering by: Koppel 'n seksieknaam aan 'n geheuegebied. Die BSP
Die redigeerder laat jou toe om view die geheuekaart voor en na die aanbring van veranderinge.

4.3. Nios V-verwerker-opstartmetodes

Daar is 'n paar metodes om die Nios V-verwerker in Altera FPGA-toestelle op te laai. Die metodes om die Nios V-verwerker op te laai, wissel na gelang van die gekose flitsgeheue en toestelfamilies.

Tabel 30. Ondersteunde Flash-geheue met onderskeie opstartopsies

Ondersteunde opstartgeheue

Toestel

Op-skyfie flits (vir interne konfigurasie)

Maks. 10 toestelle slegs (met On-Chip Flash IP)

Algemene Doel QSPI Flash (slegs vir gebruikersdata)

Alle ondersteunde FPGA-toestelle (met generiese seriële flitskoppelvlak FPGA IP)

Konfigurasie QSPI Flash (vir Aktiewe Seriële konfigurasie)

Beheerblok-gebaseerd
toestelle (met Generiese
Seriële Flash-koppelvlak Intel FPGA IP)(2)

Nios V-verwerker-opstartmetodes

Toepassing se looptydligging

Boot Copier

Nios V-verwerkertoepassing word in plek vanaf On-Chip Flash uitgevoer

Op-skyfie flits (XIP) + OCRAM/ Eksterne RAM (vir skryfbare data-afdelings)

alt_load() funksie

Nios V-verwerkertoepassing gekopieer vanaf On-Chip Flash na RAM met behulp van selflaaikopieerder

OCRAM/Eksterne RAM

Hergebruik van die selflaaiprogram via GSFI

Nios V-verwerkertoepassing word in plek uitgevoer vanaf algemene QSPI-flits

Algemene doel QSPI-flits (XIP) + OCRAM/ Eksterne RAM (vir skryfbare data-afdelings)

alt_load() funksie

Nios V-verwerkertoepassing gekopieer vanaf algemene QSPI-flits na RAM met behulp van opstartkopieerder

OCRAM/Eksterne RAM

Selflaaier via GSFI

Nios V-verwerkertoepassing word in plek uitgevoer vanaf konfigurasie QSPI-flits

Konfigurasie QSPI-flits (XIP) + OCRAM/ Eksterne RAM (vir skryfbare data-afdelings)

alt_load() funksie

Nios V-verwerkertoepassing gekopieer vanaf konfigurasie QSPI-flits na RAM met behulp van opstartkopieerder

OCRAM/ Eksterne RAM-laaiprogram via GSFI vervolg…

(2) Verwys na AN 980: Nios V Processor Quartus Prime Sagtewareondersteuning vir die toestellys.

Stuur terugvoer

Nios® V Ingeboude Verwerker Ontwerphandboek 49

4. Nios V-verwerkerkonfigurasie- en opstartoplossings 726952 | 2025.07.16

Ondersteunde opstartgeheue
Geheue op die skyfie (OCRAM) Styfgekoppelde geheue (TCM)

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

Nios V-verwerker-opstartmetodes
Nios V-verwerkertoepassing gekopieer vanaf konfigurasie QSPI-flits na RAM met behulp van opstartkopieerder
Nios V-verwerkertoepassing word in plek vanaf OCRAM uitgevoer
Nios V-verwerkertoepassing word in plek vanaf TCM uitgevoer

Toepassing se looptydligging

Boot Copier

OCRAM/ Eksterne RAM-laaiprogram via SDM

OCRAM

alt_load() funksie

Instruksie TCM (XIP) Geen + Data TCM (vir skryfbare data-afdelings)

Figuur 28. Nios V-verwerker se opstartvloei

Stel terug

Verwerker spring om vektor te herstel (opstartkode begin)

Toepassingskode kan na 'n ander geheueplek gekopieer word (afhangende van die opstartopsies)
Opstartkode initialiseer die verwerker

Afhangende van die opstartopsies, kan die opstartkode aanvanklike waardes vir data/kode na 'n ander geheuespasie kopieer (alt_load)
Opstartkode initialiseer die toepassingskode en data-geheueruimte
Opstartkode initialiseer al die stelselrandapparatuur met HAL-drywers (alt_main)
Toegang tot hoof
Verwante inligting · Generiese seriële flitskoppelvlak Altera FPGA IP-gebruikersgids
Nios® V Ingeboude Verwerker Ontwerphandboek 50

Stuur terugvoer

4. Nios V-verwerkerkonfigurasie- en opstartoplossings 726952 | 2025.07.16
· Posbuskliënt Altera FPGA IP Gebruikersgids · AN 980: Nios V-verwerker Quartus Prime Sagtewareondersteuning
4.4. Inleiding tot Nios V-verwerker-opstartmetodes
Nios V-verwerkerstelsels vereis dat die sagtewarebeelde in die stelselgeheue gekonfigureer word voordat die verwerker die toepassingsprogram kan begin uitvoer. Verwys na Skakelafdelings vir die standaard skakelafdelings.
Die BSP-redigeerder genereer 'n skakelskrip wat die volgende funksies verrig: · Verseker dat die verwerkersagteware gekoppel is in ooreenstemming met die skakelinstellings
van die BSP-redigeerder en bepaal waar die sagteware in die geheue geleë is. · Posisioneer die verwerker se kodegebied in die geheuekomponent volgens die
toegekende geheuekomponente.
Die volgende afdeling beskryf kortliks die beskikbare Nios V-verwerker-opstartmetodes.
4.4.1. Nios V-verwerkertoepassing word in plek vanaf selflaai-flits uitgevoer
Altera het die flitsbeheerders so ontwerp dat die opstartflitsadresruimte onmiddellik toeganklik is vir die Nios V-verwerker na stelselherstel, sonder dat die geheuebeheerder of geheuetoestelle geïnisialiseer hoef te word. Dit stel die Nios V-verwerker in staat om toepassingskode wat op die opstarttoestelle gestoor is, direk uit te voer sonder om 'n opstartkopieerder te gebruik om die kode na 'n ander geheuetipe te kopieer. Die flitsbeheerders is: · On-Chip Flash met On-Chip Flash IP (slegs in MAX® 10-toestel) · Algemene QSPI-flits met Generiese Seriële Flits-Interface IP · Konfigurasie QSPI-flits met Generiese Seriële Flits-Interface IP (behalwe MAX 10
toestelle)
Wanneer die Nios V-verwerkertoepassing vanaf die opstartflash uitgevoer word, voer die BSP-redigeerder die volgende funksies uit: · Stel die .text-skakelafdelings na die opstartflashgeheuegebied. · Stel die .bss-, .rodata-, .rwdata-, .stack- en .heap-skakelafdelings na die RAM.
geheuegebied. Jy moet die alt_load()-funksie in die BSP-instellings aktiveer om die data-afdelings (.rodata, .rwdata,, .exceptions) na die RAM te kopieer na stelselherstel. Die kode-afdeling (.text) bly in die opstart-flashgeheuegebied.
Verwante inligting · Generiese seriële flitskoppelvlak Altera FPGA IP-gebruikersgids · Altera MAX 10-gebruiker se flitsgeheue-gebruikersgids
4.4.1.1. alt_laai()
Jy kan die alt_load() funksie in die HAL-kode aktiveer deur die BSP Editor te gebruik.
Wanneer dit in die uitvoer-in-plek-opstartvloei gebruik word, voer die alt_load()-funksie die volgende take uit:

Stuur terugvoer

Nios® V Ingeboude Verwerker Ontwerphandboek 51

4. Nios V-verwerkerkonfigurasie- en opstartoplossings 726952 | 2025.07.16

· Werk as 'n mini-opstartkopieerder wat die geheue-afdelings na RAM kopieer gebaseer op die BSP-instellings.
· Kopieer data-afdelings (.rodata, .rwdata, .exceptions) na RAM, maar nie die kode-afdelings (.text) nie. Die kode-afdeling (.text) is 'n leesalleen-afdeling en bly in die opstart-flashgeheue-gebied. Hierdie partisionering help om die RAM-gebruik te verminder, maar kan die kode-uitvoeringsprestasie beperk omdat toegang tot flitsgeheue stadiger is as toegang tot die ingeboude RAM.

Die volgende tabel lys die BSP Editor-instellings en -funksies:

Tabel 31. BSP-redigeerderinstellings
BSP Redigeerder Instelling 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

Funksie Aktiveer die alt_load() funksie. alt_load() kopieer die .rodata afdeling na RAM. alt_load() kopieer die .rwdata afdeling na RAM. alt_load() kopieer die .exceptions afdeling na RAM.

4.4.2. Nios V-verwerkertoepassing gekopieer vanaf opstartflits na RAM met behulp van opstartkopieerder
Die Nios V-verwerker en HAL sluit 'n selflaaikopieerder in wat voldoende funksionaliteit bied vir die meeste Nios V-verwerkertoepassings en gerieflik is om te implementeer met die Nios V-sagteware-ontwikkelingsvloei.
Wanneer die toepassing 'n selflaaikopieerder gebruik, stel dit alle skakelafdelings (.text, .heap, .rwdata, .rodata, .bss, .stack) na 'n interne of eksterne RAM. Die gebruik van die selflaaikopieerder om 'n Nios V-verwerkertoepassing vanaf die selflaai-flash na die interne of eksterne RAM vir uitvoering te kopieer, help om die uitvoeringsprestasie te verbeter.
Vir hierdie opstartopsie begin die Nios V-verwerker die opstartkopieerprogrammatuur uitvoer na die stelselherstel. Die sagteware kopieer die toepassing vanaf die opstartflash na die interne of eksterne RAM. Sodra die proses voltooi is, dra die Nios V-verwerker die programbeheer oor na die toepassing.

Let wel:

As die selflaaikopieerder in flash is, hoef die alt_load()-funksie nie geroep te word nie, want albei dien dieselfde doel.

4.4.2.1. Nios V-verwerker-opstartlaaier via generiese seriële flitskoppelvlak
Die Bootloader via GSFI is die Nios V-verwerker se selflaaikopieerder wat QSPI-flitsgeheue in beheerblok-gebaseerde toestelle ondersteun. Die Bootloader via GSFI sluit die volgende kenmerke in:
· Vind die sagtewaretoepassing in nie-vlugtige geheue.
· Pak die sagtewaretoepassingbeeld uit en kopieer dit na die RAM.
· Skakel outomaties verwerkeruitvoering na toepassingskode in RAM oor nadat kopie voltooi is.

Nios® V Ingeboude Verwerker Ontwerphandboek 52

Stuur terugvoer

4. Nios V-verwerkerkonfigurasie- en opstartoplossings 726952 | 2025.07.16

Die selflaaibeeld is net na die selflaaikopieerder geleë. Jy moet seker maak dat die Nios V-verwerker se herstelverskuiwing na die begin van die selflaaikopieerder wys. Die Figuur: Geheuekaart vir QSPI Flash met Selflaaier via GSFI geheuekaart vir QSPI Flash met Selflaaier via GSFI toon die flitsgeheuekaart vir QSPI flash wanneer 'n selflaaikopieerder gebruik word. Hierdie geheuekaart neem aan dat die flitsgeheue die FPGA-beeld en die toepassingsprogrammatuur stoor.

Tabel 32. Selflaaier via GSFI vir Nios V-verwerkerkern

Nios V-verwerkerkern
Nios V/m-verwerker

Selflaaier via GSFI File Ligging
/niosv/komponente/selflaaier/ niosv_m_selflaaier.srec

Nios V/g-verwerker

/niosv/komponente/selflaaier/ niosv_g_selflaaier.srec

Figuur 29. Geheuekaart vir QSPI Flash met selflaaiprogram via GSFI

Kliëntdata (*.hex)

Aansoek kode

Let wel:

Stel vektorverstelling terug

Boot Copier

0x01E00000

FPGA-beeld (*.sof)

0x00000000

1. Aan die begin van die geheuekaart is die FPGA-beeld gevolg deur jou data, wat bestaan ​​uit die opstartkopieerder en toepassingskode.
2. Jy moet die Nios V-verwerker se herstelverstelling in Platform Designer stel en dit na die begin van die opstartkopieerder wys.
3. Die grootte van die FPGA-beeld is onbekend. Jy kan eers die presiese grootte weet na die Quartus Prime-projeksamestelling. Jy moet 'n boonste grens vir die grootte van die Altera FPGA-beeld bepaal. Byvoorbeeldample, as die grootte van die FPGA-beeld na raming minder as 0x01E00000 is, stel die Herstelverskuiwing na 0x01E00000 in Platform Designer, wat ook die begin van die opstartkopieerder is.
4. 'n Goeie ontwerppraktyk bestaan ​​daaruit om die herstelvektorverstelling by 'n flitsektorgrens te stel om te verseker dat geen gedeeltelike uitwissing van die FPGA-beeld plaasvind indien die sagtewaretoepassing opgedateer word nie.

Stuur terugvoer

Nios® V Ingeboude Verwerker Ontwerphandboek 53

4. Nios V-verwerkerkonfigurasie- en opstartoplossings 726952 | 2025.07.16

4.4.2.2. Nios V-verwerker-opstartlaaier via Veilige Toestelbestuurder
Die Bootloader via Secure Device Manager (SDM) is 'n HAL-toepassingskode wat die Mailbox Client Altera FPGA IP HAL-drywer gebruik vir die opstart van die verwerker. Altera beveel hierdie selflaaiertoepassing aan wanneer die konfigurasie QSPI-flash in SDM-gebaseerde toestelle gebruik word om die Nios V-verwerker te begin.
Na stelselherstel, begin die Nios V-verwerker eers die selflaaiprogram via SDM vanaf 'n klein ingeboude geheue en voer die selflaaiprogram via SDM uit om met die konfigurasie QSPI-flash te kommunikeer deur die posbuskliënt-IP te gebruik.
Die selflaaiprogram via SDM voer die volgende take uit: · Vind die Nios V-sagteware in die konfigurasie QSPI-flash. · Kopieer die Nios V-sagteware na die ingeboude RAM of eksterne RAM. · Skakel die verwerker se uitvoering oor na die Nios V-sagteware binne die ingeboude RAM of
eksterne RAM.
Sodra die proses voltooi is, dra die Bootloader via SDM programbeheer oor na die gebruikerstoepassing. Altera beveel die geheue-organisasie aan soos uiteengesit in Geheue-organisasie vir Bootloader via SDM.
Figuur 30. Selflaaier via SDM-prosesvloei

Konfigurasie

Flits

2

Nios V Sagteware

SDM

SDM-gebaseerde FPGA-toestel

Posbuskliënt IP

FPGA Logika Nios V

4 Eksterne RAM
Nios V Sagteware

Op-skyfie 4

EMIF

RAM

Op-chip geheue

IP

Nios V

1

Sagteware

Selflaaier via SDM

3

3

1. Die Nios V-verwerker laat die selflaaiprogram via SDM vanaf die ingeboude geheue loop.
2. Die selflaaiprogram via SDM kommunikeer met die konfigurasie-flash en vind die Nios V-sagteware.
3. Die selflaaiprogram via SDM kopieer die Nios V-sagteware vanaf die konfigurasieflits na die ingeboude RAM / eksterne RAM.
4. Die selflaaiprogram via SDM skakel die Nios V-verwerker se uitvoering oor na die Nios V-sagteware in die ingeboude RAM / eksterne RAM.

4.4.3. Nios V Verwerker Toepassing Uitvoer-in-plek vanaf OCRAM
In hierdie metode word die Nios V-verwerker se hersteladres ingestel op die basisadres van die geheue op die skyfie (OCRAM). Die toepassingsbinêre kode (.hex) file word in die OCRAM gelaai wanneer die FPGA gekonfigureer is, nadat die hardeware-ontwerp in die Quartus Prime-sagteware saamgestel is. Sodra die Nios V-verwerker herstel, begin die toepassing uitvoer en vertak na die beginpunt.

Nios® V Ingeboude Verwerker Ontwerphandboek 54

Stuur terugvoer

4. Nios V-verwerkerkonfigurasie- en opstartoplossings 726952 | 2025.07.16

Let wel:

· Uitvoer-in-plek vanaf OCRAM vereis nie 'n opstartkopieerder nie, want die Nios V-verwerkertoepassing is reeds in plek tydens stelselherstel.
· Altera beveel aan dat alt_load() vir hierdie opstartmetode geaktiveer word sodat die ingebedde sagteware identies optree wanneer dit herstel word sonder om die FPGA-toestelbeeld te herkonfigureer.
· Jy moet die alt_load()-funksie in die BSP-instellings aktiveer om die .rwdata-afdeling te kopieer na stelselherstel. In hierdie metode word die aanvanklike waardes vir geïnisialiseerde veranderlikes apart van die ooreenstemmende veranderlikes gestoor om oorskryf tydens programuitvoering te vermy.

4.4.4. Nios V-verwerkertoepassing word in plek vanaf TCM uitgevoer
Die uitvoer-in-plek-metode stel die Nios V-verwerker se hersteladres na die basisadres van die dig gekoppelde geheue (TCM). Die toepassingsbinêre lêer (.hex) file word in die TCM gelaai wanneer jy die FPGA konfigureer nadat jy die hardeware-ontwerp in die Quartus Prime-sagteware saamgestel het. Sodra die Nios V-verwerker herstel, begin die toepassing uitvoer en vertak na die beginpunt.

Let wel:

Uitvoer-in-plek vanaf TCM vereis nie selflaaikopieerder nie, want die Nios V-verwerkertoepassing is reeds in plek tydens stelselherstel.

4.5. Nios V-verwerker-opstart vanaf On-Chip Flash (UFM)

Die opstart en uitvoering van sagteware deur die Nios V-verwerker vanaf on-chip flash (UFM) is beskikbaar in MAX 10 FPGA-toestelle. Die Nios V-verwerker ondersteun die volgende twee opstartopsies met behulp van On-Chip Flash onder Interne Konfigurasiemodus:
· Nios V-verwerkertoepassing word in plek vanaf On-Chip Flash uitgevoer.
· Nios V-verwerkertoepassing word vanaf die On-Chip Flash na RAM gekopieer met behulp van die selflaaikopieerder.

Tabel 33. Ondersteunde Flash-geheue met onderskeie opstartopsies

Ondersteunde opstartgeheue

Nios V-opstartmetodes

Toepassing se looptydligging

Boot Copier

MAKS 10 toestelle alleenlik (met OnChip Flash IP)

Nios V-verwerkertoepassing word in plek vanaf On-Chip Flash uitgevoer
Nios V-verwerkertoepassing gekopieer vanaf On-Chip Flash na RAM met behulp van selflaaikopieerder

Op-skyfie flits (XIP) + OCRAM/ Eksterne RAM (vir skryfbare data-afdelings)

alt_load() funksie

OCRAM/ Eksterne RAM

Hergebruik van die selflaaiprogram via GSFI

Stuur terugvoer

Nios® V Ingeboude Verwerker Ontwerphandboek 55

4. Nios V-verwerkerkonfigurasie- en opstartoplossings 726952 | 2025.07.16

Figuur 31.

Ontwerp, konfigurasie en opstartvloei
Ontwerp · Skep jou Nios V-verwerker-gebaseerde projek met behulp van Platform Designer. · Maak seker dat daar eksterne RAM of ingeboude RAM in die stelselontwerp is.

FPGA-konfigurasie en -samestelling
· Stel dieselfde interne konfigurasiemodus in On-chip Flash IP in Platform Designer en Quartus Prime sagteware. · Stel Nios V verwerker herstel agent op On-chip Flash. · Kies jou voorkeur UFM inisialiseringsmetode. · Genereer jou ontwerp in Platform Designer. · Stel jou projek saam in Quartus Prime sagteware.

Gebruikerstoepassing BSP-projek · Skep Nios V-verwerker HAL BSP gebaseer op .sopcinfo file geskep deur Platformontwerper. · Wysig Nios V-verwerker BSP-instellings en Skakelskrif in BSP-redigeerder. · Genereer BSP-projek.
Gebruikerstoepassing APP-projek · Ontwikkel Nios V-verwerkertoepassingskode. · Kompileer Nios V-verwerkertoepassing en genereer Nios V-verwerkertoepassing (.hex) file· Herkompileer jou projek in Quartus Prime-sagteware as jy die opsie "Initialiseer geheue-inhoud" in Intel FPGA On-Chip Flash IP merk.

Programmering Files Omskakeling, aflaai en uitvoer · Genereer die On-Chip Flash .pof file met behulp van Convert Programming Filese funksie in Quartus Prime sagteware.
· Programmeer die .pof file in jou MAX 10-toestel. · Skakel jou hardeware weer aan.
4.5.1. MAX 10 FPGA Op-skyfie Flitsbeskrywing
MAX 10 FPGA-toestelle bevat ingeboude flits wat in twee dele verdeel is: · Konfigurasie-flitsgeheue (CFM) — stoor die hardeware-konfigurasiedata vir
MAKS 10 FPGA's. · Gebruikersflitsgeheue (UFM) — stoor die gebruikersdata of sagtewaretoepassings.
Die UFM-argitektuur van die MAX 10-toestel is 'n kombinasie van sagte en harde IP's. Jy kan slegs toegang tot die UFM kry deur die On-Chip Flash IP Core in die Quartus Prime-sagteware te gebruik.
Die On-chip Flash IP-kern ondersteun die volgende kenmerke: · Lees- of skryftoegang tot UFM- en CFM-sektore (indien geaktiveer in Platform Designer)
met behulp van die Avalon MM data- en beheerslaafkoppelvlak. · Ondersteun bladsyuitwissing, sektoruitwissing en sektorskryf. · Simulasiemodel vir UFM lees-/skryftoegange met behulp van verskeie EDA-simulasiegereedskap.

Nios® V Ingeboude Verwerker Ontwerphandboek 56

Stuur terugvoer

4. Nios V-verwerkerkonfigurasie- en opstartoplossings 726952 | 2025.07.16

Tabel 34. Flitsgebiede op die skyfie in MAKS 10 FPGA-toestelle

Flitsstreke

Funksionaliteit

Konfigurasie Flashgeheue (sektore CFM0-2)

FPGA-konfigurasie file berging

Gebruikersflitsgeheue (sektore UFM0-1)

Nios V-verwerkertoepassing en gebruikersdata

MAX 10 FPGA-toestelle ondersteun verskeie konfigurasiemodusse en sommige van hierdie modusse laat CFM1 en CFM2 toe om as 'n addisionele UFM-streek gebruik te word. Die volgende tabel toon die bergplek van die FPGA-konfigurasiebeelde gebaseer op die MAX 10 FPGA se konfigurasiemodusse.

Tabel 35. Bergingsligging van FPGA-konfigurasiebeelde

Konfigurasiemodus Dubbele saamgeperste beelde

CFM2 Saamgeperste Beeld 2

CFM1

CFM0 Saamgeperste Beeld 1

Enkele ongekomprimeerde beeld

Virtuele UFM

Ongekomprimeerde beeld

Enkele ongekomprimeerde beeld met geheue-inisialisering

Ongekomprimeerde beeld (met vooraf-geïnisialiseerde geheue-inhoud op die skyfie)

Enkele saamgeperste beeld met geheue-inisialisering Saamgeperste beeld (met vooraf-geïnisialiseerde geheue-inhoud op die skyfie)

Enkele saamgeperste beeld

Virtuele UFM

Saamgeperste beeld

Jy moet die On-chip Flash IP-kern gebruik om toegang tot die flitsgeheue in MAX 10 FPGA's te verkry. Jy kan die On-chip Flash IP instansieer en aan die Quartus Prime-sagteware koppel. Die Nios V sagtekernverwerker gebruik die Platform Designer-interkonneksies om met die On-chip Flash IP te kommunikeer.
Figuur 32. Verbinding tussen On-chip Flash IP en Nios V-verwerker

Let wel:

Maak seker dat die On-chip Flash csr-poort aan die Nios V-verwerker data_manager gekoppel is om die verwerker in staat te stel om skryf- en uitvee-bewerkings te beheer.
Die On-chip Flash IP-kern kan toegang bied tot vyf flitssektore – UFM0, UFM1, CFM0, CFM1 en CFM2.
Belangrike inligting oor die UFM- en CFM-sektore: · CFM-sektore is bedoel vir konfigurasie- (bitstroom-) data- (*.pof-) berging.
· Gebruikersdata kan in die UFM-sektore gestoor word en mag dalk versteek word, indien die korrekte instellings in die Platform Designer-instrument gekies word.
· Sekere toestelle het nie 'n UFM1-sektor nie. Jy kan na die tabel verwys: UFM- en CFM-sektorgrootte vir beskikbare sektore in elke individuele MAX 10 FPGA-toestel.

Stuur terugvoer

Nios® V Ingeboude Verwerker Ontwerphandboek 57

4. Nios V-verwerkerkonfigurasie- en opstartoplossings 726952 | 2025.07.16

· Jy kan CFM2 as 'n virtuele UFM konfigureer deur Enkel Ongekomprimeerde Beeld konfigurasiemodus te kies.
· Jy kan CFM2 en CFM1 as 'n virtuele UFM konfigureer deur Enkel Ongekomprimeerde Beeld konfigurasiemodus te kies.
· Die grootte van elke sektor wissel met die gekose MAX 10 FPGA-toestelle.

Tabel 36.

UFM- en CFM-sektorgrootte
Hierdie tabel lys die afmetings van die UFM- en CFM-skikkings.

Toestel

Bladsye per sektor

UFM1 UFM0 CFM2 CFM1 CFM0

Bladsygrootte (Kbit)

Maksimum gebruiker
Flitsgeheuegrootte (Kbit) (3)

Totale Konfigurasie Geheue Grootte (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

Verwante inligting · MAX 10 FPGA-konfigurasiegebruikersgids · Altera MAX 10-gebruikersflitsgeheuegebruikersgids

4.5.2. Nios V-verwerkertoepassing word in plek vanaf UFM uitgevoer

Die "Execute-In-Place from UFM"-oplossing is geskik vir Nios V-verwerkertoepassings wat beperkte geheuegebruik op die skyfie vereis. Die alt_load()-funksie werk as 'n mini-opstartkopieerder wat die data-afdelings (.rodata, .rwdata of .exceptions) van opstartgeheue na RAM kopieer, gebaseer op die BSP-instellings. Die kode-afdeling (.text),
wat 'n leesalleen-afdeling is, bly in die MAX 10-on-chip-flitsgeheue-streek. Hierdie opstelling verminder die RAM-gebruik, maar kan die kode-uitvoeringsprestasie beperk aangesien toegang tot die flitsgeheue stadiger is as die on-chip-RAM.

Die Nios V-verwerkertoepassing is in die UFM-sektor geprogrammeer. Die Nios V-verwerker se herstelvektor wys na die UFM-basisadres om kode vanaf die UFM uit te voer nadat die stelsel herstel het.

As jy die bronvlak-ontfouter gebruik om jou toepassing te ontfout, moet jy 'n hardeware-breekpunt gebruik. Dit is omdat die UFM nie ewekansige geheuetoegang ondersteun nie, wat nodig is vir sagte breekpunt-ontfouting.

Let wel:

Jy kan nie UFM uitvee of skryf terwyl jy "execute-in-place" in die MAX 10 uitvoer nie. Skakel oor na die selflaai-kopieerderbenadering as jy die UFM moet uitvee of skryf.

(3) Die maksimum moontlike waarde, wat afhanklik is van die konfigurasiemodus wat u kies.

Nios® V Ingeboude Verwerker Ontwerphandboek 58

Stuur terugvoer

4. Nios V-verwerkerkonfigurasie- en opstartoplossings 726952 | 2025.07.16

Figuur 33. Nios V-verwerkertoepassing XIP van UFM

Maks 10 toestelle

.POF
Nios V Hardeware .SOF
Nios V Sagteware .HEX

Quartus Programmeerder

Op-skyfie flits

CFM

Nios V Hardeware

UFM

Nios V Sagteware

Interne konfigurasie

Op-skyfie Flash IP

FPGA Logika
Nios V-verwerker

RAM op die skyfie

Ekstern

RAM

EMIF

IP

4.5.2.1. Hardeware-ontwerpvloei
Die volgende afdeling beskryf 'n stap-vir-stap metode vir die bou van 'n opstartbare stelsel vir 'n Nios V-verwerkertoepassing vanaf On-Chip Flash. Die eksampDie onderstaande is gebou met behulp van 'n MAX 10-toestel.
IP-komponentinstellings
1. Skep jou Nios V-verwerkerprojek met behulp van Quartus Prime en Platform Designer. 2. Maak seker dat eksterne RAM of On-Chip Memory (OCRAM) by jou Platform gevoeg is.
Ontwerperstelsel.

Stuur terugvoer

Nios® V Ingeboude Verwerker Ontwerphandboek 59

4. Nios V-verwerkerkonfigurasie- en opstartoplossings 726952 | 2025.07.16
Figuur 34. EksampIP-verbindings in Platformontwerper vir die opstart van Nios V vanaf OnChip Flash (UFM)

3. In die On-Chip Flash IP-parameterredigeerder, stel die Konfigurasiemodus op een van die volgende, volgens jou ontwerpvoorkeur: · Enkele Ongekomprimeerde Beeld · Enkele Gekomprimeerde Beeld · Enkele Ongekomprimeerde Beeld met Geheue-inisialisering · Enkele Gekomprimeerde Beeld met Geheue-inisialisering
Vir meer inligting oor dubbel saamgeperste beelde, verwys na die MAX 10 FPGA-konfigurasie gebruikersgids – Opgradering van afstandstelsels.

Let wel:

Jy moet Verborge Toegang aan elke CFM-streek in die On-Chip Flash IP toewys.

Figuur 35. Konfigurasiemoduskeuse in die On-Chip Flash Parameter Editor

IP-instellings vir flitskaarte op die skyfie – UFM-inisialisering Jy kan een van die volgende metodes kies volgens jou voorkeur:

Nios® V Ingeboude Verwerker Ontwerphandboek 60

Stuur terugvoer

4. Nios V-verwerkerkonfigurasie- en opstartoplossings 726952 | 2025.07.16

Let wel:

Die stappe in die daaropvolgende subhoofstukke (Sagteware-ontwerpvloei en Programmering) hang af van die keuse wat jy hier maak.

· Metode 1: Initialiseer die UFM-data in die SOF tydens samestelling
Quartus Prime sluit die UFM-inisialiseringsdata in die SOF tydens samestelling in. SOF-hersamestelling is nodig indien daar veranderinge in die UFM-data is.
1. Merk Inisialiseer flitsinhoud en Aktiveer nie-standaardinisialisering file.

Figuur 36. Inisialiseer Flash-inhoud en aktiveer nie-standaardinisialisering File

2. Spesifiseer die pad van die gegenereerde .hex file (van die elf2hex-opdrag) in die Gebruiker-geskepte heksadesimale of mif-kode file.
Figuur 37. Voeg die .hex by File Pad

· Metode 2: Kombineer UFM-data met 'n saamgestelde SOF tydens POF-generering
UFM-data word gekombineer met die saamgestelde SOF wanneer programmering omgeskakel word files. Jy hoef nie die SOF te herkompileer nie, selfs al verander die UFM-data. Tydens ontwikkeling hoef jy nie die SOF te herkompileer nie. files vir veranderinge in die toepassing. Alterare beveel hierdie metode aan vir toepassingsontwikkelaars.
1. Verwyder die merker "Initialiseer flitsinhoud".
Figuur 38. Inisialiseer Flash-inhoud met nie-standaardinisialisering File

Herstel agentinstellings vir Nios V-verwerker se uitvoer-in-plek-metode
1. Stel die Herstelagent op On-Chip Flash in die Nios V-verwerkerparameterredigeerder.
Figuur 39. Nios V-verwerkerparameterredigeerderinstellings met herstelagent ingestel op skyfie-flits

2. Klik op Genereer HDL wanneer die Generasie-dialoogkassie verskyn. 3. Spesifiseer uitvoer file generasie-opsies en klik op Genereer.

Stuur terugvoer

Nios® V Ingeboude Verwerker Ontwerphandboek 61

4. Nios V-verwerkerkonfigurasie- en opstartoplossings 726952 | 2025.07.16
Quartus Prime Sagteware-instellings 1. Klik in die Quartus Prime-sagteware op Toewysings Toestel Toestel en Speld vas.
Opsies Konfigurasie. Stel die Konfigurasiemodus volgens die instelling in On-Chip Flash IP. Figuur 40. Konfigurasiemoduskeuse in Quartus Prime Sagteware

2. Klik OK om die Toestel- en PIN-opsies-venster te verlaat,
3. Klik OK om die Toestelvenster te verlaat.
4. Klik Verwerking Begin Kompilasie om jou projek te kompileer en die .sof te genereer. file.

Let wel:

As die konfigurasiemodusinstelling in Quartus Prime-sagteware en Platform Designer-parameterredigeerder verskil, misluk die Quartus Prime-projek met die volgende foutboodskap.

Figuur 41.

Foutboodskap vir verskillende konfigurasiemodusinstellingsfout (14740): Konfigurasiemodus op atoom “q_sys:q_sys_inst| altera_onchip_flash:onchip_flash_1|altera_onchip_flash_block: altera_onchip_flash_block|ufm_block” stem nie ooreen met die projekinstelling nie. Dateer die Qsys-stelsel op en regenereer dit om by die projekinstelling te pas.

Verwante inligting MAX 10 FPGA-konfigurasie gebruikersgids

4.5.2.2. Sagteware-ontwerpvloei
Hierdie afdeling verskaf die ontwerpvloei om die Nios V-verwerker sagtewareprojek te genereer en te bou. Om 'n vaartbelynde bouvloei te verseker, word u aangemoedig om 'n soortgelyke gidsboom in u ontwerpprojek te skep. Die volgende sagteware-ontwerpvloei is gebaseer op hierdie gidsboom.
Om die sagtewareprojekgidsboom te skep, volg hierdie stappe: 1. Skep 'n gids met die naam sagteware in jou ontwerpprojekgids. 2. Skep twee gidse met die naam hal_app en hal_bsp in die sagtewaregids.
Figuur 42. Sagtewareprojekgidsboom

Nios® V Ingeboude Verwerker Ontwerphandboek 62

Stuur terugvoer

4. Nios V-verwerkerkonfigurasie- en opstartoplossings 726952 | 2025.07.16
Skep die Toepassing BSP-projek
Om die BSP-redigeerder te begin, volg hierdie stappe: 1. Voer die Nios V-opdragskulp in. 2. Roep die BSP-redigeerder aan met die niosv-bsp-editor-opdrag. 3. Klik in die BSP-redigeerder. File Nuwe BSP om jou BSP-projek te begin. 4. Konfigureer die volgende instellings:
· SOPC-inligting File naam: Verskaf die SOPCINFO file (.sopcinfo). · SVE-naam: Kies Nios V-verwerker. · Bedryfstelsel: Kies die bedryfstelsel van die Nios V-verwerker. · Weergawe: Los as verstek. · BSP-teikengids: Kies die gidspad van die BSP-projek. Jy kan
stel dit vooraf in op /sagteware/hal_bsp deur Gebruik verstekliggings te aktiveer. · BSP-instellings File naam: Tik die naam van die BSP-instellings in File. · Bykomende Tcl-skripte: Verskaf 'n BSP Tcl-skrip deur Aktiveer Bykomende Tcl-skrip te aktiveer. 5. Klik OK.
Figuur 43. Konfigureer Nuwe BSP

Konfigurasie van die BSP-redigeerder en generering van die BSP-projek
Jy kan die verwerker se uitsonderingsvektor definieer in On-Chip Memory (OCRAM) of On-Chip Flash gebaseer op jou ontwerpvoorkeur. Dit word aanbeveel om die uitsonderingsvektorgeheue op OCRAM/Eksterne RAM te stel om die onderbrekingsverwerking vinniger te maak. 1. Gaan na Hoofinstellings Gevorderd hal.linker. 2. As jy On-Chip Flash as uitsonderingsvektor kies,
a. Aktiveer die volgende instellings:

Stuur terugvoer

Nios® V Ingeboude Verwerker Ontwerphandboek 63

4. Nios V-verwerkerkonfigurasie- en opstartoplossings 726952 | 2025.07.16
· allow_code_at_reset · enable_alt_load · enable_alt_load_copy_rodata · enable_alt_load_copy_rwdata Figuur 44. Advanced.hal.linker Instellings

b. Klik op die Linker Script-oortjie in die BSP-redigeerder. c. Stel die .exceptions- en .text-streke in die Linker Section Name na
Op-skyfie flits. d. Stel die res van die streke in die Skakelafdeling Naam lys na die Op-skyfie
Geheue (OCRAM) of eksterne RAM.
Figuur 45. Skakelstreekinstellings (Uitsonderingsvektorgeheue: Op-skyfie-flits)

3. As jy OCRAM/Eksterne RAM as uitsonderingsvektor kies, a. Aktiveer die volgende instellings: · allow_code_at_reset · enable_alt_load · enable_alt_load_copy_rodata · enable_alt_load_copy_rwdata · enable_alt_load_copy_exception
Figuur 46. Skakelgebiedinstellings (Uitsonderingsvektorgeheue: OCRAM/Eksterne RAM)

b. Klik op die Linker Script-oortjie in die BSP-redigeerder.
c. Stel die .text-streke in die Skakelafdelingnaam na On-Chip Flash.
d. Stel die res van die streke in die Skakelafdelingnaam-lys na die Skyfie-geheue (OCRAM) of eksterne RAM.

Nios® V Ingeboude Verwerker Ontwerphandboek 64

Stuur terugvoer

4. Nios V-verwerkerkonfigurasie- en opstartoplossings 726952 | 2025.07.16
Figuur 47. Skakelgebiedinstellings (Uitsonderingsvektorgeheue: OCRAM)
4. Klik op Genereer om die BSP-projek te genereer. Genereer die Gebruikerstoepassingsprojek File 1. Navigeer na die sagteware/hal_app-lêergids en skep jou toepassingsbronkode
kode. 2. Begin die Nios V Command Shell. 3. Voer die onderstaande opdrag uit om die toepassing CMakeLists.txt te genereer.
niosv-app –app-dir=sagteware/hal_app –bsp-dir=sagteware/hal_bsp –srcs=sagteware/hal_app/
Die bou van die gebruikerstoepassingsprojek Jy kan kies om die gebruikerstoepassingsprojek te bou deur Ashling RiscFree IDE vir Altera FPGA's te gebruik of deur die opdragreël-koppelvlak (CLI). As jy verkies om CLI te gebruik, kan jy die gebruikerstoepassing bou deur die volgende opdrag te gebruik: cmake -G “Unix Makefiles” -B sagteware/hal_app/bou -S sagteware/hal_app maak -C sagteware/hal_app/bou
Die toepassing (.elf) file word in die software/hal_app/build-lêergids geskep. Die HEX word gegenereer File Jy moet 'n .hex genereer file van jou toepassing .elf file, sodat jy 'n .pof kan skep file geskik vir die programmering van die toestelle. 1. Begin die Nios V Command Shell. 2. Vir die opstart van die Nios V-verwerkertoepassing vanaf On-Chip Flash, gebruik die volgende
opdragreël om die ELF na HEX vir jou toepassing om te skakel. Hierdie opdrag skep die gebruikerstoepassing (onchip_flash.hex) fileelf2hex sagteware/hal_app/bou/ .elf -o onchip_flash.hex
-b -w 8 -e 3. Herkompileer die hardeware-ontwerp as jy die opsie "Initialiseer geheue-inhoud" in die On-Chip Flash IP (Metode 1) merk. Dit is om die sagteware-data (.HEX) in die SOF in te sluit. file.

Stuur terugvoer

Nios® V Ingeboude Verwerker Ontwerphandboek 65

4. Nios V-verwerkerkonfigurasie- en opstartoplossings 726952 | 2025.07.16
4.5.2.3. Programmering 1. Klik in Quartus Prime op File Skakel programmering om Files. 2. Onder Uitvoerprogrammering file, kies Programmeerderobjek File (.pof) as Programmering file tipe. 3. Stel Modus na Interne Konfigurasie.
Figuur 48. Omskakelingsprogrammering File Instellings
4. Klik Opsies/Opstartinligting…, die MAX 10-toestelopsiesvenster verskyn. 5. Gebaseer op die Initialiseer flitsinhoud-instellings in die On-chip Flash IP, voer uit
een van die volgende stappe: · Indien Initialiseer flitsinhoud gemerk is (Metode 1), die UFM-inisialiseringsdata
is ingesluit in die SOF tydens Quartus Prime-samestelling. — Kies Page_0 vir UFM-bron: opsie. Klik OK en gaan voort na die
volgende. Figuur 49. Instelling van Page_0 vir UFM-bron indien Initialiseer Flash-inhoud gemerk is.

Nios® V Ingeboude Verwerker Ontwerphandboek 66

Stuur terugvoer

4. Nios V-verwerkerkonfigurasie- en opstartoplossings 726952 | 2025.07.16
· Indien Initialiseer flitsinhoud nie gemerk is nie (Metode 2), kies Laai geheue. file vir die UFM-bronopsie. Blaai na die gegenereerde On-chip Flash HEX file (onchip_flash.hex) in die File pad: en klik OK. Hierdie stap voeg UFM-data afsonderlik by die SOF file tydens die programmering file omskakeling.
Figuur 50. Instelling van Laai Geheue File vir UFM-bron as Initialiseer Flash-inhoud nie gemerk is nie

6. In die Convert-programmering File dialoogkassie, by die Invoer files om die afdeling te omskep, klik Voeg by File... en wys na die gegenereerde Quartus Prime .sof file.
Figuur 51. Invoer Files om te skakel in Convert Programming Files vir Enkelbeeldmodus

7. Klik Genereer om die .pof te skep file. 8. Programmeer die .pof file in jou MAX 10-toestel. 9. Skakel jou hardeware aan en herlaai dit.

4.5.3. Nios V-verwerkertoepassing gekopieer vanaf UFM na RAM met behulp van Boot Copier

Altera beveel hierdie oplossing aan vir MAX 10 FPGA Nios V-verwerkerstelselontwerpe waar veelvuldige iterasies van toepassingsagteware-ontwikkeling en hoë stelselprestasie vereis word. Die opstartkopieerder is binne die UFM geleë teen 'n verplasing wat dieselfde adres as die herstelvektor is. Die Nios V-toepassing is langs die opstartkopieerder geleë.

Vir hierdie opstartopsie begin die Nios V-verwerker die opstartkopieerder uitvoer na stelselherstel om die toepassing van die UFM-sektor na die OCRAM of eksterne RAM te kopieer. Sodra die kopiëring voltooi is, dra die Nios V-verwerker die programbeheer oor na die toepassing.

Let wel:

Die toegepaste selflaaikopieerder is dieselfde as die selflaaiprogram via GSFI.

Stuur terugvoer

Nios® V Ingeboude Verwerker Ontwerphandboek 67

4. Nios V-verwerkerkonfigurasie- en opstartoplossings 726952 | 2025.07.16

Figuur 52. Nios V-toepassing gekopieer van UFM na RAM met behulp van Boot Copier

Maks 10 toestelle

.POF
Nios V Hardeware .SOF
Nios V Sagteware .HEX
Selflaaiprogram .SREC

Quartus Programmeerder

Eksterne RAM
Nios V Sagteware

Op-skyfie flits

CFM

Nios V Hardwa

Dokumente / Hulpbronne

altera Nios V Ingeboude Verwerker [pdf] Gebruikersgids
Nios V, Nios Vm, Nios Vg, Nios Vc, Nios V Ingeboude Verwerker, Nios V, Ingeboude Verwerker, Verwerker

Verwysings

Los 'n opmerking

Jou e-posadres sal nie gepubliseer word nie. Vereiste velde is gemerk *