Brukerhåndbok for innebygd prosessor for Altera Nios V

altera Nios V Embedded Processor User Guide

Altera Nios V innebygd prosessor

Spesifikasjoner

  • Produktnavn: Nios V-prosessor
  • Programvarekompatibilitet: Quartus Prime-programvare og plattformdesigner
  • Prosessortype: Altera FPGA
  • Minnesystem: Flyktig og ikke-flyktig minne
  • Kommunikasjonsgrensesnitt: UART-agent

Nios V-prosessorens maskinvaresystemdesign

For å designe Nios V-prosessorens maskinvaresystem, følg disse trinnene:

  1. Lag Nios V-prosessorsystemdesign ved hjelp av Platform Designer.
  2. Integrer systemet i Quartus Prime-prosjektet.
  3. Design minnesystem inkludert flyktig og ikke-flyktig minne.
  4. Implementer klokker og tilbakestill beste praksis.
  5. Tildel standard- og UART-agenter for effektiv drift.

Nios V-prosessorprogramvaresystemdesign

Slik designer du programvaresystemet for Nios V-prosessoren:

  1. Følg programvareutviklingsflyten for Nios V-prosessor.
  2. Opprett styrestøttepakkeprosjekt og søknadsprosjekt.

Nios V-prosessorkonfigurasjon og oppstartsløsninger

For å konfigurere og starte opp Nios V-prosessoren:

  1. Forstå introduksjonen til konfigurasjons- og oppstartsløsninger.
  2. Koble applikasjoner for sømløs drift.
Loading PDF…
Download PDF

Om den innebygde Nios® V-prosessoren
1.1. Altera® FPGA og innebygde prosessorer overview
Altera FPGA-enheter kan implementere logikk som fungerer som en komplett mikroprosessor, samtidig som de tilbyr mange alternativer.
En viktig forskjell mellom diskrete mikroprosessorer og Altera FPGA er at Altera FPGA-strukturen ikke inneholder logikk når den slås på. Nios® V-prosessoren er en myk intellektuell eiendomsprosessor (IP) basert på RISC-V-spesifikasjonen. Før du kjører programvare på et Nios V-prosessorbasert system, må du konfigurere Altera FPGA-enheten med en maskinvaredesign som inneholder en Nios V-prosessor. Du kan plassere Nios V-prosessoren hvor som helst på Altera FPGA, avhengig av designkravene.


For at ditt Altera® FPGA IP-baserte innebygde system skal kunne oppføre seg som et diskret mikroprosessorbasert system, bør systemet ditt inneholde følgende: · AJTAG grensesnitt for å støtte Altera FPGA-konfigurasjon, maskinvare og programvare
feilsøking · En oppstartsmekanisme for Altera FPGA-konfigurasjon
Hvis systemet ditt har disse funksjonene, kan du begynne å forbedre designet ditt fra en forhåndstestet maskinvaredesign lastet inn i Altera FPGA. Bruk av en Altera FPGA lar deg også endre designet ditt raskt for å løse problemer eller legge til ny funksjonalitet. Du kan enkelt teste disse nye maskinvaredesignene ved å konfigurere Altera FPGA på nytt ved hjelp av systemets J.TAG grensesnitt.
JTAG Grensesnittet støtter maskinvare- og programvareutvikling. Du kan utføre følgende oppgaver ved hjelp av JTAG grensesnitt: · Konfigurer Altera FPGA · Last ned og feilsøk programvare · Kommuniser med Altera FPGA via et UART-lignende grensesnitt (JTAG UART
terminal) · Feilsøk maskinvare (med Signal Tap innebygd logikkanalysator) · Programmer flashminne
Etter at du har konfigurert Altera FPGA med en Nios V-prosessorbasert design, er programvareutviklingsflyten lik flyten for diskrete mikrokontrollerdesign.


Relatert informasjon · AN 985: Nios V-prosessorveiledning
En hurtigstartveiledning for å lage et enkelt Nios V-prosessorsystem og kjøre Hello World-applikasjonen.
© Altera Corporation. Altera, Altera-logoen, «a»-logoen og andre Altera-merker er varemerker for Altera Corporation. Altera forbeholder seg retten til å gjøre endringer i produkter og tjenester når som helst uten varsel. Altera påtar seg intet ansvar som følge av bruken av informasjon, produkter eller tjenester beskrevet her, med mindre det er uttrykkelig avtalt skriftlig med Altera. Altera-kunder anbefales å skaffe seg den nyeste versjonen av enhetsspesifikasjonene før de stoler på publisert informasjon og før de bestiller produkter eller tjenester. *Andre navn og merker kan hevdes å være andres eiendom.

1. Om den innebygde Nios® V-prosessoren 726952 | 2025.07.16
· Referansehåndbok for Nios V-prosessor Gir informasjon om ytelsesstandardene for Nios V-prosessoren, prosessorarkitektur, programmeringsmodellen og kjerneimplementeringen.
· Brukerhåndbok for innebygde periferienheter · Håndbok for programvareutviklere for Nios V-prosessor


Beskriver programvareutviklingsmiljøet for Nios V-prosessor, verktøyene som er tilgjengelige og prosessen for å bygge programvare som skal kjøres på Nios V-prosessor. · Ashling* RiscFree* integrert utviklingsmiljø (IDE) for Altera FPGA-er brukerhåndbok Beskriver det integrerte utviklingsmiljøet (IDE) for RiscFree* for Altera FPGA-er Arm*-basert HPS og Nios V-kjerneprosessor. · Utgivelsesmerknader for Nios V-prosessor Altera FPGA IP
1.2. Quartus® Prime-programvarestøtte
Byggeprosessen for Nios V-prosessor er forskjellig for Quartus® Prime Pro Edition-programvaren og Quartus Prime Standard Edition-programvaren. Se AN 980: Programvarestøtte for Nios V-prosessor Quartus Prime for mer informasjon om forskjellene.
Relatert informasjon AN 980: Nios V-prosessor Quartus Prime Programvarestøtte
1.3. Nios V-prosessorlisensiering
Hver Nios V-prosessorvariant har sin egen lisensnøkkel. Når du har fått lisensnøkkelen, kan du bruke den samme lisensnøkkelen for alle Nios V-prosessorprosjekter frem til utløpsdatoen. Du kan kjøpe Nios V-prosessor Altera FPGA IP-lisenser uten kostnad.
Listen over lisensnøkler for Nios V-prosessorer er tilgjengelig i Altera FPGA Self-Service Licensing Center. Klikk på fanen Registrer deg for evaluering eller Gratis lisens, og velg de tilsvarende alternativene for å sende forespørselen.
Figur 1. Altera FPGA selvbetjeningslisenssenter

Med lisensnøklene kan du:
Send tilbakemelding

Nios® V håndbok for innebygd prosessordesign 7

1. Om den innebygde Nios® V-prosessoren 726952 | 2025.07.16
· Implementer en Nios V-prosessor i systemet ditt. · Simuler oppførselen til et Nios V-prosessorsystem. · Verifiser funksjonaliteten til designet, for eksempel størrelse og hastighet. · Generer enhetsprogrammering files. · Programmer en enhet og verifiser designet i maskinvaren.
Du trenger ikke lisens for å utvikle programvare i Ashling* RiscFree* IDE for Altera FPGA-er.
Relatert informasjon · Altera FPGA selvbetjeningslisenssenter
For mer informasjon om hvordan du får tak i lisensnøkler for Nios V-prosessor Altera FPGA IP. · Installasjon og lisensiering av Altera FPGA-programvare For mer informasjon om lisensiering av Altera FPGA-programvaren og oppsett av en fast lisens og nettverkslisensserver.
1.4. Design av innebygde systemer
Figuren nedenfor illustrerer en forenklet Nios V-prosessorbasert systemdesignflyt, inkludert både maskinvare- og programvareutvikling.

Nios® V håndbok for innebygd prosessordesign 8

Send tilbakemelding

1. Om den innebygde Nios® V-prosessoren 726952 | 2025.07.16

Figur 2.

Nios V-prosessorsystemdesignflyt
Systemkonsept

Analyser systemkrav

Nios® V
Prosessorkjerner og standardkomponenter

Definer og generer system i
Plattformdesigner

Maskinvareflyt: Integrer og kompiler Intel Quartus Prime-prosjektet

Programvareflyt: Utvikle og bygge Nios V-forslagsprogramvare

Maskinvareflyt: Last ned FPGA-design
til Target Board

Programvareflyt: Test og feilsøk Nios V-prosessorprogramvare

Programvare nr. Oppfyller spesifikasjonene?
Ja
Maskinvare Nei Oppfyller spesifikasjonene? ​​Ja
Systemet er fullført

Send tilbakemelding

Nios® V håndbok for innebygd prosessordesign 9

726952 | 2025.07.16 Send tilbakemelding

2. Design av maskinvaresystem for Nios V-prosessor med Quartus Prime-programvare og plattformdesigner

Figur 3.

Diagrammet nedenfor illustrerer en typisk maskinvaredesign for en Nios V-prosessor. Flyt for maskinvaredesign for Nios V-prosessorsystem

Start

Nios V-kjerner og standardkomponenter

Bruk Platform Designer til å designe et Nios V-basert system
Generer plattformdesignerdesign

Integrer plattformdesignersystemet med Intel Quartus Prime-prosjektet
Tilordne pin-plasseringer, tidskrav og andre designbegrensninger
Kompiler maskinvare for målenhet i Intel Quartus Prime

Klar til nedlasting
2.1. Opprette Nios V-prosessorsystemdesign med Platform Designer
Quartus Prime-programvaren inkluderer systemintegrasjonsverktøyet Platform Designer som forenkler oppgaven med å definere og integrere Nios V-prosessorens IP-kjerne og andre IP-er i et Altera FPGA-systemdesign. Platform Designer oppretter automatisk sammenkoblingslogikk fra den spesifiserte tilkoblingen på høyt nivå. Sammenkoblingsautomatiseringen eliminerer den tidkrevende oppgaven med å spesifisere HDL-tilkoblinger på systemnivå.
© Altera Corporation. Altera, Altera-logoen, «a»-logoen og andre Altera-merker er varemerker for Altera Corporation. Altera forbeholder seg retten til å gjøre endringer i produkter og tjenester når som helst uten varsel. Altera påtar seg intet ansvar som følge av bruken av informasjon, produkter eller tjenester beskrevet her, med mindre det er uttrykkelig avtalt skriftlig med Altera. Altera-kunder anbefales å skaffe seg den nyeste versjonen av enhetsspesifikasjonene før de stoler på publisert informasjon og før de bestiller produkter eller tjenester. *Andre navn og merker kan hevdes å være andres eiendom.

2. Design av maskinvaresystem for Nios V-prosessor med Quartus Prime-programvare og plattformdesigner
726952 | 2025.07.16

Etter å ha analysert systemets maskinvarekrav, bruker du Quartus Prime til å spesifisere Nios V-prosessorkjernen, minnet og andre komponenter som systemet ditt krever. Platform Designer genererer automatisk sammenkoblingslogikken for å integrere komponentene i maskinvaresystemet.

2.1.1. Instansiering av Nios V-prosessor Altera FPGA IP

Du kan instansiere hvilken som helst av prosessor-IP-kjernene i Platform Designer IP Catalog Processors and Peripherals Embedded Processors.

IP-kjernen til hver prosessor støtter forskjellige konfigurasjonsalternativer basert på dens unike arkitektur. Du kan definere disse konfigurasjonene slik at de passer bedre til dine designbehov.

Tabell 1.

Konfigurasjonsalternativer på tvers av kjernevarianter

Konfigurasjonsalternativer

Nios V/c-prosessor

Nios V/m-prosessor

Forespørsel om tilbakestilling av feilsøkingsbruk

Feller, unntak og avbrudd

CPU-arkitektur

ECC

Cacher, perifere regioner og TCM-er

Tilpassede instruksjoner

Låsteget

Nios V/g-prosessor

2.1.1.1. Instansiering av Nios V/c kompakt mikrokontroller Altera FPGA IP Figur 4. Nios V/c kompakt mikrokontroller Altera FPGA IP

Send tilbakemelding

Nios® V håndbok for innebygd prosessordesign 11

2. Design av maskinvaresystem for Nios V-prosessor med Quartus Prime-programvare og plattformdesigner
726952 | 2025.07.16

2.1.1.1.1. Fanen CPU-arkitektur

Tabell 2.

CPU-arkitektur-fanen

Trekk

Beskrivelse

Aktiver Avalon®-grensesnitt Aktiverer Avalon-grensesnittet for instruksjonsbehandling og databehandling. Hvis deaktivert, bruker systemet AXI4-Lite-grensesnittet.

mhartid CSR-verdi

· Ugyldig IP-alternativ. · Ikke bruk mhartid CSR-verdi i Nios V/c-prosessor.

2.1.1.1.2. Bruk fanen for tilbakestillingsforespørsel

Tabell 3.

Bruk parameteren for tilbakestilling av forespørsel-fanen

Bruk fanen for tilbakestillingsforespørsel

Beskrivelse

Legg til grensesnitt for forespørsel om tilbakestilling

· Aktiver dette alternativet for å eksponere lokale tilbakestillingsporter der en lokal master kan bruke det til å utløse Nios V-prosessoren til å tilbakestille uten å påvirke andre komponenter i et Nios V-prosessorsystem.
· Tilbakestillingsgrensesnittet består av et inngangssignal for tilbakestilling og et utgangssignal for bekreftelse.
· Du kan be om en tilbakestilling av Nios V-prosessorkjernen ved å aktivere resestreq-signalet.
· Resestreq-signalet må forbli aktivt inntil prosessoren sender et bekreftelsessignal. Hvis signalet ikke forblir aktivt, kan det føre til at prosessoren befinner seg i en ikke-deterministisk tilstand.
· Nios V-prosessoren svarer at tilbakestillingen er vellykket ved å bekreftelsessignalet.
· Etter at prosessoren er tilbakestilt, kan bekreftelsessignalet utløses flere ganger med jevne mellomrom inntil tilbakestillingssignalet opphører.

2.1.1.1.3. Fanen Feller, Unntak og Avbrudd

Tabell 4.

Parametere for fanen Feller, Unntak og Avbrudd

Feller, unntak og avbrudd

Beskrivelse

Tilbakestill agent

· Minnet som er vert for tilbakestillingsvektoren (Nios V-prosessorens tilbakestillingsadresse) der tilbakestillingskoden befinner seg.
· Du kan velge hvilken som helst minnemodul som er koblet til Nios V-prosessorens instruksjonsmaster og støttet av en Nios V-prosessoroppstartsflyt som tilbakestillingsagent.

Tilbakestill offset

· Angir forskyvningen til tilbakestillingsvektoren i forhold til den valgte tilbakestillingsagentens basisadresse. · Platform Designer gir automatisk en standardverdi for tilbakestillingsforskyvningen.

Note:

Platform Designer tilbyr et absolutt alternativ, som lar deg angi en absolutt adresse i Reset Offset. Bruk dette alternativet når minnet som lagrer tilbakestillingsvektoren er plassert utenfor prosessorsystemet og delsystemene.

Nios® V håndbok for innebygd prosessordesign 12

Send tilbakemelding

2. Design av maskinvaresystem for Nios V-prosessor med Quartus Prime-programvare og plattformdesigner
726952 | 2025.07.16

2.1.1.1.4. ECC-fanen

Tabell 5.

ECC-fanen

ECC

Aktiver feildeteksjon og statusrapportering

Beskrivelse
· Aktiver dette alternativet for å bruke ECC-funksjonen for Nios V-prosessorens interne RAM-blokker. · ECC-funksjoner oppdager feil på opptil 2 bit og reagerer basert på følgende virkemåte:
– Hvis det er en korrigerbar feil på 1 bit, fortsetter prosessoren å operere etter at feilen i prosessorens pipeline er korrigert. Korrigeringen gjenspeiles imidlertid ikke i kildeminnene.
– Hvis feilen ikke kan korrigeres, fortsetter prosessoren å operere uten å korrigere den i prosessorens pipeline og kildeminner, noe som kan føre til at prosessoren går inn i en ikke-deterministisk tilstand.

2.1.1.2. Instansiering av Nios V/m-mikrokontroller Altera FPGA IP Figur 5. Nios V/m-mikrokontroller Altera FPGA IP

Send tilbakemelding

Nios® V håndbok for innebygd prosessordesign 13

2. Design av maskinvaresystem for Nios V-prosessor med Quartus Prime-programvare og plattformdesigner
726952 | 2025.07.16

2.1.1.2.1. Feilsøkingsfanen

Tabell 6.

Parametere for feilsøkingsfanen

Feilsøkingsfanen

Beskrivelse

Aktiver feilsøking
Aktiver tilbakestilling fra feilsøkingsmodul

· Aktiver dette alternativet for å legge til JTAG måltilkoblingsmodulen til Nios V-prosessoren. · JTAG Target-tilkoblingsmodulen tillater tilkobling til Nios V-prosessoren via
JTAG grensesnittpinner på FPGA-en. · Tilkoblingen gir følgende grunnleggende funksjoner:
— Start og stopp Nios V-prosessoren — Undersøk og rediger registre og minne. — Last ned Nios V-applikasjonen .elf file til prosessorminnet under kjøretid via
niosv-download. — Feilsøk applikasjonen som kjører på Nios V-prosessoren. · Koble dm_agent-porten til prosessorens instruksjons- og databussen. Sørg for at baseadressen mellom begge bussene er den samme.
· Aktiver dette alternativet for å eksponere portene dbg_reset_out og ndm_reset_in. · JTAG debugger eller niosv-download -r-kommandoen utløser dbg_reset_out, som
lar Nios V-prosessoren tilbakestille systemenheter som kobles til denne porten. · Du må koble dbg_reset_out-grensesnittet til ndm_reset_in i stedet for reset
grensesnitt for å utløse tilbakestilling til prosessorkjernen og timermodulen. Du må ikke koble dbg_reset_out-grensesnittet til tilbakestillingsgrensesnittet for å forhindre ubestemt oppførsel.

2.1.1.2.2. Bruk fanen for tilbakestillingsforespørsel

Tabell 7.

Bruk parameteren for tilbakestilling av forespørsel-fanen

Bruk fanen for tilbakestillingsforespørsel

Beskrivelse

Legg til grensesnitt for forespørsel om tilbakestilling

· Aktiver dette alternativet for å eksponere lokale tilbakestillingsporter der en lokal master kan bruke det til å utløse Nios V-prosessoren til å tilbakestille uten å påvirke andre komponenter i et Nios V-prosessorsystem.
· Tilbakestillingsgrensesnittet består av et inngangssignal for tilbakestilling og et utgangssignal for bekreftelse.
· Du kan be om en tilbakestilling av Nios V-prosessorkjernen ved å aktivere resestreq-signalet.
· Resestreq-signalet må forbli aktivt inntil prosessoren sender et bekreftelsessignal. Hvis signalet ikke forblir aktivt, kan det føre til at prosessoren befinner seg i en ikke-deterministisk tilstand.
· Påstand om resestreq-signalet i feilsøkingsmodus har ingen effekt på prosessorens tilstand.
· Nios V-prosessoren svarer at tilbakestillingen er vellykket ved å bekreftelsessignalet.
· Etter at prosessoren er tilbakestilt, kan bekreftelsessignalet utløses flere ganger med jevne mellomrom inntil tilbakestillingssignalet opphører.

2.1.1.2.3. Fanen Feller, Unntak og Avbrudd

Tabell 8.

Fanen Feller, Unntak og Avbrudd

Fanen Feller, Unntak og Avbrudd

Beskrivelse

Tilbakestill agent

· Minnet som er vert for tilbakestillingsvektoren (Nios V-prosessorens tilbakestillingsadresse) der tilbakestillingskoden befinner seg.
· Du kan velge hvilken som helst minnemodul som er koblet til Nios V-prosessorens instruksjonsmaster og støttet av en Nios V-prosessoroppstartsflyt som tilbakestillingsagent.

Tilbakestill avbruddsmodus for forskyvning

· Angir forskyvningen til tilbakestillingsvektoren i forhold til den valgte tilbakestillingsagentens basisadresse. · Platform Designer gir automatisk en standardverdi for tilbakestillingsforskyvningen.
Spesifiser typen av avbruddskontroller, enten direkte eller vektorbasert. Merk: Nios V/m-prosessoren uten pipeline støtter ikke vektorbaserte avbrudd.
Unngå derfor å bruke Vectored-avbruddsmodus når prosessoren er i ikke-pipelined-modus.

Nios® V håndbok for innebygd prosessordesign 14

Send tilbakemelding

2. Design av maskinvaresystem for Nios V-prosessor med Quartus Prime-programvare og plattformdesigner
726952 | 2025.07.16

Note:

Platform Designer tilbyr et absolutt alternativ, som lar deg angi en absolutt adresse i Reset Offset. Bruk dette alternativet når minnet som lagrer tilbakestillingsvektoren er plassert utenfor prosessorsystemet og delsystemene.

2.1.1.2.4. CPU-arkitektur

Tabell 9.

Parametere for CPU-arkitekturfanen

CPU-arkitektur

Beskrivelse

Aktiver pipelining i CPU

· Aktiver dette alternativet for å instansiere en pipelinebasert Nios V/m-prosessor. — IPC er høyere på bekostning av høyere logisk område og lavere Fmax-frekvens.
· Deaktiver dette alternativet for å instansiere en ikke-pipelinet Nios V/m-prosessor. — Har lignende kjerneytelse som Nios V/c-prosessoren. — Støtter feilsøking og avbruddsmuligheter — Lavere logisk område og høyere Fmax-frekvens på bekostning av lavere IPC.

Aktiver Avalon-grensesnittet

Aktiverer Avalon-grensesnittet for instruksjonsbehandling og databehandling. Hvis deaktivert, bruker systemet AXI4-Lite-grensesnittet.

mhartid CSR-verdi

· Standardverdien for Hart ID-registeret (mhartid) er 0. · Tildel en verdi mellom 0 og 4094. · Kompatibel med Altera FPGA Avalon Mutex Core HAL API.

Relatert informasjon Brukerhåndbok for innebygd periferi-IP – Intel FPGA Avalon® Mutex Core

2.1.1.2.5. ECC-fanen
Tabell 10. ECC-fanen
ECC Aktiver feildeteksjon og statusrapportering

Beskrivelse
· Aktiver dette alternativet for å bruke ECC-funksjonen for Nios V-prosessorens interne RAM-blokker. · ECC-funksjoner oppdager feil på opptil 2 bit og reagerer basert på følgende virkemåte:
– Hvis det er en korrigerbar feil på 1 bit, fortsetter prosessoren å operere etter at feilen i prosessorens pipeline er korrigert. Korrigeringen gjenspeiles imidlertid ikke i kildeminnene.
– Hvis feilen ikke kan korrigeres, fortsetter prosessoren å operere uten å korrigere den i prosessorens pipeline og kildeminner, noe som kan føre til at prosessoren går inn i en ikke-deterministisk tilstand.

Send tilbakemelding

Nios® V håndbok for innebygd prosessordesign 15

2. Design av maskinvaresystem for Nios V-prosessor med Quartus Prime-programvare og plattformdesigner
726952 | 2025.07.16
2.1.1.3. Instansiering av Nios V/g generell prosessor Altera FPGA IP
Figur 6. Nios V/g generell prosessor Altera FPGA IP – Del 1

Figur 7.

Nios V/g generell prosessor Altera FPGA IP – Del 2 (Slå av og aktiver kjernenivåavbruddskontroller)

Nios® V håndbok for innebygd prosessordesign 16

Send tilbakemelding

2. Design av maskinvaresystem for Nios V-prosessor med Quartus Prime-programvare og plattformdesigner
726952 | 2025.07.16

Figur 8.

Nios V/g generell prosessor Altera FPGA IP – Del 2 (Slå på aktivering av kjernenivåavbruddskontroller)

Figur 9. Nios V/g generell prosessor Altera FPGA IP – Del 3

Send tilbakemelding

Nios® V håndbok for innebygd prosessordesign 17

2. Design av maskinvaresystem for Nios V-prosessor med Quartus Prime-programvare og plattformdesigner
726952 | 2025.07.16
Figur 10. Nios V/g generell prosessor Altera FPGA IP – Del 4

2.1.1.3.1. CPU-arkitektur

Tabell 11. CPU-arkitekturparametere

CPU-arkitektur-fanen Aktiver flyttall

Beskrivelse Aktiver dette alternativet for å legge til flyttallsenheten («F»-utvidelsen) i prosessorkjernen.

Aktiver grenprediksjon

Aktiver statisk grenprediksjon (Bakomovertatt og Fremover ikke tatt) for greninstruksjoner.

mhartid CSR-verdi

· Standardverdien for Hart ID-registeret (mhartid) er 0. · Tildel en verdi mellom 0 og 4094. · Kompatibel med Altera FPGA Avalon Mutex Core HAL API.

Deaktiver FSQRT- og FDIV-instruksjoner for FPU

· Fjern flyttallsrot (FSQRT) og flyttallsdivisjon (FDIV) i FPU.
· Bruk programvareemulering på begge instruksjonene under kjøretid.

Relatert informasjon Brukerhåndbok for innebygd periferi-IP – Intel FPGA Avalon® Mutex Core

Nios® V håndbok for innebygd prosessordesign 18

Send tilbakemelding

2. Design av maskinvaresystem for Nios V-prosessor med Quartus Prime-programvare og plattformdesigner
726952 | 2025.07.16

2.1.1.3.2. Feilsøkingsfanen

Tabell 12. Parametere for feilsøkingsfanen

Feilsøkingsfanen

Beskrivelse

Aktiver feilsøking
Aktiver tilbakestilling fra feilsøkingsmodul

· Aktiver dette alternativet for å legge til JTAG måltilkoblingsmodulen til Nios V-prosessoren. · JTAG Target-tilkoblingsmodulen tillater tilkobling til Nios V-prosessoren via
JTAG grensesnittpinner på FPGA-en. · Tilkoblingen gir følgende grunnleggende funksjoner:
— Start og stopp Nios V-prosessoren — Undersøk og rediger registre og minne. — Last ned Nios V-applikasjonen .elf file til prosessorminnet under kjøretid via
niosv-download. — Feilsøk applikasjonen som kjører på Nios V-prosessoren. · Koble dm_agent-porten til prosessorens instruksjons- og databussen. Sørg for at baseadressen mellom begge bussene er den samme.
· Aktiver dette alternativet for å eksponere portene dbg_reset_out og ndm_reset_in. · JTAG debugger eller niosv-download -r-kommandoen utløser dbg_reset_out, som
lar Nios V-prosessoren tilbakestille systemenheter som kobles til denne porten. · Du må koble dbg_reset_out-grensesnittet til ndm_reset_in i stedet for reset
grensesnitt for å utløse tilbakestilling til prosessorkjernen og timermodulen. Du må ikke koble dbg_reset_out-grensesnittet til tilbakestillingsgrensesnittet for å forhindre ubestemt oppførsel.

2.1.1.3.3. Låsetrinnsfane Tabell 13. Låsetrinnsfane
Parametere Aktiver låsetrinn Standard tidsavbruddsperiode Aktiver utvidet tilbakestillingsgrensesnitt

Beskrivelse · Aktiver Lockstep-systemet med to kjerner. · Standardverdi for programmerbar tidsavbrudd ved tilbakestilling (mellom 0 og 255). · Aktiver det valgfrie utvidede tilbakestillingsgrensesnittet for utvidet tilbakestillingskontroll. · Når den er deaktivert, implementerer fRSmartComp grunnleggende tilbakestillingskontroll.

2.1.1.3.4. Bruk fanen for tilbakestillingsforespørsel

Tabell 14. Bruk parameteren for fanen Tilbakestillingsforespørsel

Bruk fanen for tilbakestillingsforespørsel

Beskrivelse

Legg til grensesnitt for forespørsel om tilbakestilling

· Aktiver dette alternativet for å eksponere lokale tilbakestillingsporter der en lokal master kan bruke det til å utløse Nios V-prosessoren til å tilbakestille uten å påvirke andre komponenter i et Nios V-prosessorsystem.
· Tilbakestillingsgrensesnittet består av et inngangssignal for tilbakestilling og et utgangssignal for bekreftelse.
· Du kan be om en tilbakestilling av Nios V-prosessorkjernen ved å aktivere resestreq-signalet.
· Resestreq-signalet må forbli aktivt inntil prosessoren sender et bekreftelsessignal. Hvis signalet ikke forblir aktivt, kan det føre til at prosessoren befinner seg i en ikke-deterministisk tilstand.
· Påstand om resestreq-signalet i feilsøkingsmodus har ingen effekt på prosessorens tilstand.
· Nios V-prosessoren svarer at tilbakestillingen er vellykket ved å bekreftelsessignalet.
· Etter at prosessoren er tilbakestilt, kan bekreftelsessignalet utløses flere ganger med jevne mellomrom inntil tilbakestillingssignalet opphører.

Send tilbakemelding

Nios® V håndbok for innebygd prosessordesign 19

2. Design av maskinvaresystem for Nios V-prosessor med Quartus Prime-programvare og plattformdesigner
726952 | 2025.07.16

2.1.1.3.5. Fanen Feller, Unntak og Avbrudd

Tabell 15.

Feller, unntak og avbrudd-fanen når Aktiver kjerneavbruddskontroller er slått av

Fanen Feller, Unntak og Avbrudd
Tilbakestill agent

Beskrivelse
· Minnet som er vert for tilbakestillingsvektoren (Nios V-prosessorens tilbakestillingsadresse) der tilbakestillingskoden befinner seg.
· Du kan velge hvilken som helst minnemodul som er koblet til Nios V-prosessorens instruksjonsmaster og støttet av en Nios V-prosessoroppstartsflyt som tilbakestillingsagent.

Tilbakestill offset

· Angir forskyvningen til tilbakestillingsvektoren i forhold til den valgte tilbakestillingsagentens basisadresse. · Platform Designer gir automatisk en standardverdi for tilbakestillingsforskyvningen.

Aktiver kjernenivåavbruddskontroller (CLIC)

· Aktiver CLIC for å støtte forebyggende avbrudd og konfigurerbare avbruddsutløserbetingelser.
· Når dette er aktivert, kan du konfigurere antall plattformavbrudd, angi utløserbetingelser og angi noen av avbruddene som forebyggende.

Avbruddsmodus Skyggeregister Files

Angi avbruddstypene som Direkte eller Vektorstyrt. Aktiver skyggeregister for å redusere kontekstbytte ved avbrudd.

Tabell 16.

Feller, unntak og avbrudd når Aktiver kjernenivåavbruddskontroller er slått på

Feller, unntak og avbrudd

Beskrivelser

Tilbakestill agent
Tilbakestill offset
Aktiver kjernenivåavbruddskontroller (CLIC)

· Minnet som er vert for tilbakestillingsvektoren (Nios V-prosessorens tilbakestillingsadresse) der tilbakestillingskoden befinner seg.
· Du kan velge hvilken som helst minnemodul som er koblet til Nios V-prosessorens instruksjonsmaster og støttet av en Nios V-prosessoroppstartsflyt som tilbakestillingsagent.
· Angir forskyvningen til tilbakestillingsvektoren i forhold til den valgte tilbakestillingsagentens basisadresse. · Platform Designer gir automatisk en standardverdi for tilbakestillingsforskyvningen.
· Aktiver CLIC for å støtte forebyggende avbrudd og konfigurerbare avbruddsutløserbetingelser. · Når dette er aktivert, kan du konfigurere antall plattformavbrudd, angi utløserbetingelser,
og utpeke noen av avbruddene som forebyggende.

Avbruddsmodus

· Spesifiser avbruddstypene som Direkte, Vektorstyrt eller CLIC.

Skyggeregister Files

· Aktiver skyggeregister for å redusere kontekstbytte ved avbrudd.
· Tilbyr to tilnærminger:
— Antall CLIC-avbruddsnivåer
— Antall CLIC-avbruddsnivåer – 1: Dette alternativet er nyttig når du vil ha antall registre file kopier slik at de får plass i et nøyaktig antall M20K- eller M9K-blokker.
· Aktiver Nios V-prosessoren til å bruke skyggeregister files som reduserer overhead for kontekstbytte ved avbrudd.
For mer informasjon om skyggeregister files, se referansehåndboken for Nios V-prosessoren.

Antall plattformavbruddskilder

· Angir antall plattformavbrudd mellom 16 og 2048.
Merk: CLIC støtter opptil 2064 avbruddsinnganger, og de første 16 avbruddsinngangene er også koblet til den grunnleggende avbruddskontrolleren.

CLIC-vektortabelljustering

· Bestemmes automatisk basert på antall plattformavbruddskilder. · Hvis du bruker en justering som er under den anbefalte verdien, øker CLIC logikken
kompleksitet ved å legge til en ekstra adderer for å utføre vektorberegninger. · Hvis du bruker en justering som er under den anbefalte verdien, resulterer dette i økt
logisk kompleksitet i CLIC.
fortsatte...

Nios® V håndbok for innebygd prosessordesign 20

Send tilbakemelding

2. Design av maskinvaresystem for Nios V-prosessor med Quartus Prime-programvare og plattformdesigner
726952 | 2025.07.16

Feller, unntak og avbrudd
Antall avbruddsnivåer
Antall avbruddsprioriteter per nivå
Konfigurerbar avbruddspolaritet Støttekantutløste avbrudd

Beskrivelser
· Angir antall avbruddsnivåer med et ekstra nivå 0 for applikasjonskode. Avbrudd på et høyere nivå kan avbryte (forutse) en kjørende behandler for et avbrudd på lavere nivå.
· Med avbruddsnivåer som ikke er null som de eneste alternativene for avbrudd, er applikasjonskoden alltid på det laveste nivået 0. Merk: Konfigurasjon av et avbrudds nivå og prioritet under kjøring gjøres i et enkelt 8-bits register. Hvis antallet avbruddsnivåer er 256, er det ikke mulig å konfigurere avbruddsprioriteten under kjøring. Ellers er det maksimale antallet konfigurerbare prioriteter 256 / (antall avbruddsnivåer – 1).
· Angir antall avbruddsprioriteter som CLIC bruker for å bestemme rekkefølgen ikke-forutgående avbruddshåndterere kalles i. Merk: Sammenkobling av binære verdier for det valgte avbruddsnivået og den valgte avbruddsprioriteten må være mindre enn 8 bits.
· Lar deg konfigurere avbruddspolaritet under kjøretid. · Standardpolaritet er positiv polaritet.
· Lar deg konfigurere avbruddsutløsertilstand under kjøretid, dvs. utløst på høyt nivå eller utløst på positiv kant (når avbruddspolariteten er positiv i Konfigurerbar avbruddspolaritet).
· Standard triggerbetingelse er nivåutløst avbrudd.

Note:

Platform Designer tilbyr et absolutt alternativ, som lar deg angi en absolutt adresse i Reset Offset. Bruk dette alternativet når minnet som lagrer tilbakestillingsvektoren er plassert utenfor prosessorsystemet og delsystemene.

Relatert informasjon Nios® V-prosessorens referansehåndbok

2.1.1.3.6. Fanen Minnekonfigurasjoner

Tabell 17. Parametere i fanen Minnekonfigurasjon

Kategori

Fanen Minnekonfigurasjon

Beskrivelse

Cacher

Størrelse på datacache

· Angir størrelsen på databufferen. · Gyldige størrelser er fra 0 kilobyte (KB) til 16 KB. · Slå av databufferen når størrelsen er 0 KB.

Størrelse på instruksjonsbuffer

· Angir størrelsen på instruksjonsbufferen. · Gyldige størrelser er fra 0 KB til 16 KB. · Slå av instruksjonsbufferen når størrelsen er 0 KB.

Perifere regioner A og B

Størrelse

· Angir størrelsen på det perifere området.
· Gyldige størrelser er fra 64 KB til 2 gigabyte (GB), eller Ingen. Hvis du velger Ingen, deaktiveres periferiregionen.

Base adresse

· Angir basisadressen til periferiregionen etter at du har valgt størrelsen.
· Alle adresser i periferiregionen produserer datatilganger som ikke kan mellomlagres.
· Basisadressen til den perifere regionen må justeres etter størrelsen på den perifere regionen.

Tett sammenkoblede minner

Størrelse

· Angir størrelsen på det tett koblede minnet. — Gyldige størrelser er fra 0 MB til 512 MB.

Initialisering av basisadresse File

· Angir basisadressen til tett koblet minne. · Angir initialiseringen file for tett koblet minne.

Send tilbakemelding

Nios® V håndbok for innebygd prosessordesign 21

2. Design av maskinvaresystem for Nios V-prosessor med Quartus Prime-programvare og plattformdesigner
726952 | 2025.07.16

Note:

I et Nios V-prosessorsystem med aktivert hurtigbuffer må du plassere systemperiferiutstyr i et perifert område. Du kan bruke perifere områder til å definere en ikke-hurtigbufret transaksjon for periferiutstyr som UART, PIO, DMA og andre.

2.1.1.3.7. ECC-fanen

Tabell 18. ECC-fanen
ECC Aktiver feildeteksjon og statusrapportering
Aktiver korrigering av enkeltbit

Beskrivelse
· Aktiver dette alternativet for å bruke ECC-funksjonen for Nios V-prosessorens interne RAM-blokker. · ECC-funksjoner oppdager feil på opptil 2 bit og reagerer basert på følgende virkemåte:
– Hvis det er en korrigerbar enkeltbitfeil og Aktiver enkeltbitkorreksjon er slått av, fortsetter prosessoren å fungere etter at feilen i prosessorens pipeline er korrigert. Korreksjonen gjenspeiles imidlertid ikke i kildeminnene.
– Hvis det er en korrigerbar enkeltbitfeil og Aktiver enkeltbitkorreksjon er slått på, fortsetter prosessoren å fungere etter at feilen i prosessorens pipeline og kildeminnene er korrigert.
– Hvis det er en uopprettelig feil, stopper prosessoren driften.
Aktiver enkeltbitkorreksjon på innebygde minneblokker i kjernen.

2.1.1.3.8. Fanen Tilpassede instruksjoner

Note:

Denne fanen er bare tilgjengelig for Nios V/g-prosessorkjernen.

Tilpasset instruksjon Nios V Tilpasset instruksjon Maskinvaregrensesnitttabell
Nios V tilpasset instruksjonsprogramvare makrotabell

Beskrivelse
· Nios V-prosessoren bruker denne tabellen til å definere sine tilpassede instruksjonshåndteringsgrensesnitt.
· Definerte tilpassede instruksjonshåndteringsgrensesnitt er unikt kodet av en Opcode (CUSTOM0-3) og 3 bits av funct7[6:4].
· Du kan definere opptil totalt 32 individuelle, tilpassede instruksjonshåndteringsgrensesnitt.
· Nios V-prosessoren bruker denne tabellen til å definere tilpassede instruksjonsprogramvarekodinger for definerte tilpassede instruksjonshåndteringsgrensesnitt.
· For hver definerte programvarekoding for tilpasset instruksjon må opkoden (CUSTOM0-3) og 3 biter med funct7[6:4]-koding korrelere med en definert grensesnittkoding for tilpasset instruksjonsbehandling i maskinvaregrensesnitttabellen for tilpassede instruksjoner.
· Du kan bruke funct7[6:4], funct7[3:0] og funct3[2:0] til å definere tilleggskoding for en gitt tilpasset instruksjon, eller spesifisert som X-er som skal sendes inn som tilleggsinstruksjonsargumenter.
· Nios V-prosessoren tilbyr definerte, tilpassede instruksjonsprogramvarekodinger som genererte C-makroer i system.h, og følger R-type RISC-V instruksjonsformat.
· Mnemonikk kan brukes til å definere egendefinerte navn for: — De genererte C-makroene i system.h.
— De genererte GDB-feilsøkingsmnemonikkene i custom_instruction_debug.xml.

Relatert informasjon
AN 977: Tilpassede instruksjoner for Nios V-prosessor For mer informasjon om tilpassede instruksjoner som lar deg tilpasse Nios® V-prosessoren for å møte behovene til et bestemt program.

Nios® V håndbok for innebygd prosessordesign 22

Send tilbakemelding

2. Design av maskinvaresystem for Nios V-prosessor med Quartus Prime-programvare og plattformdesigner 726952 | 2025.07.16
2.1.2. Definere systemkomponentdesign
Bruk plattformdesigneren til å definere maskinvareegenskapene til Nios V-prosessorsystemet og legg til de ønskede komponentene. Følgende diagram viser et grunnleggende Nios V-prosessorsystemdesign med følgende komponenter: · Nios V-prosessorkjerne · Innebygd minne · JTAG UART · Intervalltimer (valgfritt)(1)
Når et nytt innebygd minne legges til i et Platform Designer-system, må du synkronisere systeminfo for å gjenspeile de tillagte minnekomponentene i tilbakestillingen. Alternativt kan du aktivere automatisk synkronisering i Platform Designer for automatisk å gjenspeile de siste komponentendringene.
Figur 11. Eksamptilkobling av Nios V-prosessor med andre eksterne enheter i Platform Designer

(1) Du har muligheten til å bruke Nios Vs interne timerfunksjoner til å erstatte den eksterne intervalltimeren i Platform Designer.

Send tilbakemelding

Nios® V håndbok for innebygd prosessordesign 23

2. Design av maskinvaresystem for Nios V-prosessor med Quartus Prime-programvare og plattformdesigner
726952 | 2025.07.16
Du må også definere operasjonspinner som skal eksporteres som kanal i Platform Designer-systemet ditt. For eksempelampLe, en riktig FPGA-systemoperasjonsliste er definert som nedenfor, men er ikke begrenset til:
· Klokke
· Nullstille
· I/O-signaler
2.1.3. Spesifisering av basisadresser og prioriteter for avbruddsforespørsler
For å spesifisere hvordan komponentene som er lagt til i designet samhandler for å danne et system, må du tilordne basisadresser for hver agentkomponent og tilordne prioriteter for avbruddsforespørsler (IRQ) for J.TAG UART og intervalltimeren. Plattformdesigneren tilbyr en kommando – Tildel baseadresser – som automatisk tildeler riktige baseadresser til alle komponenter i et system. Du kan imidlertid justere baseadressene basert på dine behov.
Følgende er noen retningslinjer for tildeling av basisadresser:
· Nios V-prosessorkjernen har et 32-bits adressespenn. For å få tilgang til agentkomponenter må basisadressen deres være mellom 0x00000000 og 0xFFFFFFFF.
· Nios V-programmer bruker symbolske konstanter for å referere til adresser. Du trenger ikke å velge adresseverdier som er enkle å huske.
· Adresseverdier som differensierer komponenter med bare én bits adresseforskjell produserer mer effektiv maskinvare. Du trenger ikke å komprimere alle basisadresser til det minste mulige adresseområdet fordi komprimering kan skape mindre effektiv maskinvare.
· Platform Designer forsøker ikke å justere separate minnekomponenter i et sammenhengende minneområde. For eksempelampHvis du vil at flere On-Chip-minnekomponenter skal kunne adresseres som ett sammenhengende minneområde, må du eksplisitt tilordne basisadresser.
Platform Designer tilbyr også en automatiseringskommando – Tildel avbruddsnumre – som kobler IRQ-signaler for å produsere gyldige maskinvareresultater. Effektiv tildeling av IRQ-er krever imidlertid en forståelse av systemets generelle responsatferd. Platform Designer kan ikke komme med kvalifiserte gjetninger om den beste IRQ-tildelingen.
Den laveste IRQ-verdien har høyest prioritet. I et ideelt system anbefaler Altera at timerkomponenten har IRQ med høyest prioritet, dvs. den laveste verdien, for å opprettholde nøyaktigheten til systemklokken.
I noen tilfeller kan du tildele sanntids periferiutstyr (som videokontrollere) en høyere prioritet, noe som krever en høyere avbruddsfrekvens enn timerkomponenter.
Relatert informasjon
Brukerhåndbok for Quartus Prime Pro Edition: Mer informasjon om hvordan du oppretter et system med Platform Designer.

Nios® V håndbok for innebygd prosessordesign 24

Send tilbakemelding

2. Design av maskinvaresystem for Nios V-prosessor med Quartus Prime-programvare og plattformdesigner 726952 | 2025.07.16
2.2. Integrering av plattformdesignersystemet i Quartus Prime-prosjektet
Etter at du har generert Nios V-systemdesignet i Platform Designer, utfør følgende oppgaver for å integrere Nios V-systemmodulen i Quartus Prime FPGA-designprosjektet. · Instansier Nios V-systemmodulen i Quartus Prime-prosjektet · Koble signaler fra Nios V-systemmodulen til andre signaler i FPGA-logikken · Tilordne plassering av fysiske pinner · Begrens FPGA-designet
2.2.1. Instansiering av Nios V-prosessorsystemmodulen i Quartus Prime-prosjektet
Platform Designer genererer en designenhet for systemmoduler som du kan instansiere i Quartus Prime. Hvordan du instansierer systemmodulen avhenger av designregistreringsmetoden for det overordnede Quartus Prime-prosjektet. For eksempelampHvis du brukte Verilog HDL for designregistrering, instansier den Verilog-baserte systemmodulen. Hvis du foretrekker å bruke blokkdiagrammetoden for designregistrering, instansier et systemmodulsymbol .bdf. file.
2.2.2. Koble til signaler og tilordne fysiske pin-plasseringer
For å koble Altera FPGA-designet ditt til kortnivådesignet ditt, utfør følgende oppgaver: · Identifiser toppnivået file for design og signaler for tilkobling til ekstern Altera
FPGA-enhetspinner. · Forstå hvilke pinner du skal koble til gjennom brukerhåndboken for design på kortnivå eller
skjemaer. · Tilordne signaler i toppnivådesignet til porter på Altera FPGA-enheten din med pin
oppgaveverktøy.
Plattformdesignersystemet ditt kan være toppnivådesignet. Altera FPGA kan imidlertid også inkludere tilleggslogikk basert på dine behov, og dermed introdusere en tilpasset toppnivådesign. fileToppnivået file kobler Nios V-prosessorens systemmodulsignaler til annen Altera FPGA-designlogikk.
Relatert informasjon Quartus Prime Pro Edition brukerhåndbok: Designbegrensninger
2.2.3. Begrensning av Altera FPGA-designet
Et skikkelig Altera FPGA-systemdesign inkluderer designbegrensninger for å sikre at designet oppfyller krav til timing closure og andre logiske begrensninger. Du må begrense Altera FPGA-designet ditt til å oppfylle disse kravene eksplisitt ved hjelp av verktøyene som følger med i Quartus Prime-programvaren eller tredjeparts EDA-leverandører. Quartus Prime-programvaren bruker de gitte begrensningene i kompileringsfasen for å få optimale plasseringsresultater.

Send tilbakemelding

Nios® V håndbok for innebygd prosessordesign 25

2. Design av maskinvaresystem for Nios V-prosessor med Quartus Prime-programvare og plattformdesigner
726952 | 2025.07.16
Relatert informasjon · Brukerhåndbok for Quartus Prime Pro Edition: Designbegrensninger · Tredjeparts EDA-partnere · Brukerhåndbok for Quartus Prime Pro Edition: Timing Analyzer
2.3. Utforming av et Nios V-prosessorminnesystem
Denne delen beskriver beste praksis for å velge minneenheter i et innebygd Platform Designer-system med en Nios V-prosessor og oppnå optimal ytelse. Minneenheter spiller en kritisk rolle i å forbedre den generelle ytelsen til et innebygd system. Innebygd systemminne lagrer programinstruksjoner og data.
2.3.1. Flyktig minne
Et primært forskjellstegn mellom en minnetype er flyktighet. Flyktig minne lagrer bare innholdet sitt mens du forsyner minneenheten med strøm. Så snart du slår av strømmen, mister minnet innholdet sitt.
ExampMindre flyktige minnetyper er RAM, cache og registre. Dette er raske minnetyper som øker ytelsen. Altera anbefaler at du laster inn og utfører Nios V-prosessorinstruksjoner i RAM og kobler Nios V IP-kjernen med On-Chip Memory IP eller External Memory Interface IP for optimal ytelse.
For å forbedre ytelsen kan du eliminere ekstra Platform Designer-tilpasningskomponenter ved å matche Nios V-prosessorens databehandlingsgrensesnitttype eller -bredde med oppstarts-RAM. For eksempelampDu kan konfigurere On-Chip Memory II med et 32-bits AXI-4-grensesnitt, som samsvarer med Nios V-databehandlingsgrensesnittet.
Relatert informasjon · Eksterne minnegrensesnitt IP-støttesenter · Minne på chip (RAM eller ROM) Altera FPGA IP · Minne på chip II (RAM eller ROM) Altera FPGA IP · Nios V-prosessorapplikasjon Utfør-på-stedet fra OCRAM på side 54
2.3.1.1. Konfigurasjon av minne på brikken (RAM eller ROM)
Du kan konfigurere Altera FPGA On-Chip Memory IP-er som RAM eller ROM. · RAM gir lese- og skrivefunksjonalitet og er ustabil. Hvis du er
Når du starter Nios V-prosessoren fra et innebygd RAM-minne, må du sørge for at oppstartsinnholdet bevares og ikke blir ødelagt i tilfelle en tilbakestilling under kjøretid. · Hvis en Nios V-prosessor starter opp fra ROM, kan ikke en programvarefeil på Nios V-prosessoren feilaktig overskrive innholdet i innebygd minne. Dermed reduseres risikoen for ødeleggelse av oppstartsprogramvaren.
Relatert informasjon · Minne på chip (RAM eller ROM) Altera FPGA IP · Minne på chip II (RAM eller ROM) Altera FPGA IP · Nios V-prosessorapplikasjon Utfør-på-stedet fra OCRAM på side 54

Nios® V håndbok for innebygd prosessordesign 26

Send tilbakemelding

2. Design av maskinvaresystem for Nios V-prosessor med Quartus Prime-programvare og plattformdesigner 726952 | 2025.07.16
2.3.1.2. Cacher
Innebygde minner brukes ofte til å implementere hurtigbufferfunksjonaliteten på grunn av deres lave latens. Nios V-prosessoren bruker innebygd minne til instruksjons- og datacacher. Den begrensede kapasiteten til innebygd minne er vanligvis ikke et problem for hurtigcacher fordi de vanligvis er små.
Cacher brukes ofte under følgende forhold:
· Vanlig minne er plassert utenfor brikken og har lengre tilgangstid enn minne på brikken.
· De ytelseskritiske delene av programvarekoden kan få plass i instruksjonsbufferen, noe som forbedrer systemytelsen.
· Den ytelseskritiske, mest brukte delen av dataene kan få plass i datamageren, noe som forbedrer systemytelsen.
Aktivering av hurtigbuffere i Nios V-prosessoren oppretter et minnehierarki som minimerer minnetilgangstiden.
2.3.1.2.1. Perifert område
Ingen IP-adresser for innebygde periferienheter, som UART, I2C og SPI, må mellomlagres. Mellomlagring anbefales på det sterkeste for eksterne minner som påvirkes av lang tilgangstid, mens interne minnebrikker kan ekskluderes på grunn av korte tilgangstid. Du må ikke mellomlagre IP-adresser for innebygde periferienheter, som UART, I2C og SPI, med unntak av minner. Dette er viktig fordi hendelser fra eksterne enheter, som agentenheter som oppdaterer de myke IP-adressene, ikke fanges opp av prosessorens mellomlagring, og dermed ikke mottas av prosessoren. Som et resultat kan disse hendelsene gå ubemerket hen før du tømmer mellomlagringen, noe som kan føre til utilsiktet oppførsel i systemet ditt. Oppsummert kan det minnetilordnede området for IP-adresser for innebygde periferienheter ikke mellomlagres og må befinne seg innenfor prosessorens perifere områder.
For å angi et perifert område, følg disse trinnene:
1. Åpne systemets adressekart i plattformdesigneren.
2. Naviger til adressekartet til prosessorens instruksjonsbehandler og databehandler.
3. Identifiser periferiutstyret og minnene i systemet ditt.
Figur 12. Eksample av adressekart

Merk: De blå pilene peker på minnene. 4. Grupper periferiutstyret:
a. Minne som kan mellomlagres b. Periferiutstyr som ikke kan mellomlagres

Send tilbakemelding

Nios® V håndbok for innebygd prosessordesign 27

2. Design av maskinvaresystem for Nios V-prosessor med Quartus Prime-programvare og plattformdesigner
726952 | 2025.07.16

Tabell 19. Bufrebar og ikke-bufrebar region

Underordnet

Adressekart

Status

Perifer region

Størrelse

Base adresse

bruker_applikasjon_mem.s1

0x0 ~ 0x3ffff

Bufferbar

N/A

N/A

cpu.dm_agent bootcopier_rom.s1

0x40000 ~ 0x4ffff 0x50000 ~ 0x517ff

Kan ikke mellomlagres

65536 byte Ikke aktuelt

0x40000 N/A

bootcopier_ram.s1 cpu.timer_sw_agent postkasse.avmm

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

Kan bufres Kan ikke bufres

144 byte (minimumsstørrelse er 65536 byte)

0x54000

sysid_qsys_0.control_slave

0x54080 ~ 0x54087

Kan ikke mellomlagres

uart.avalon_jtag_slave

0x54088 ~ 0x5408f

Kan ikke mellomlagres

5. Juster periferiområdene med deres spesifikke størrelser:
· For eksampHvis størrelsen er 65536 byte, tilsvarer den 0x10000 byte. Derfor må den tillatte basisadressen være et multiplum av 0x10000.
· CPU.dm_agent bruker en basisadresse på 0x40000, som er et multiplum av 0x10000. Som et resultat oppfyller Perifert område A, med en størrelse på 65536 byte og en basisadresse på 0x40000, kravene.
· Basisadressen til samlingen av regioner som ikke kan caches ved 0x54000 er ikke et multiplum av 0x10000. Du må tilordne dem til 0x60000 eller et annet multiplum av 0x10000. Dermed oppfyller perifert område B, som har en størrelse på 65536 byte og en basisadresse på 0x60000, kriteriene.

Tabell 20. Bufrebar og ikke-bufrebar region med ny tildeling

Underordnet

Adressekart

Status

Perifer region

Størrelse

Base adresse

bruker_applikasjon_mem.s1

0x0 ~ 0x3ffff

Bufferbar

N/A

N/A

cpu.dm_agent

0x40000 ~ 0x4ffff

Ikke-bufret 65536 byte

0x40000

bootcopier_rom.s1

0x50000 ~ 0x517ff

Bufferbar

N/A

N/A

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

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

Kan bufres Kan ikke bufres Kan ikke bufres

144 byte (minimumsstørrelse er 65536 byte)

0x60000

uart.avalon_jtag_slave

0x60088 ~ 0x6008f

Kan ikke mellomlagres

2.3.1.3. Tett koblet minne
Tettkoblede minner (TCM-er) implementeres ved hjelp av innebygd minne, ettersom deres lave latens gjør dem godt egnet til oppgaven. TCM-er er minner som er kartlagt i det typiske adresserommet, men har et dedikert grensesnitt til mikroprosessoren og har de høye ytelses- og lav-latensegenskapene til hurtigminne. TCM-en gir også et underordnet grensesnitt for den eksterne verten. Prosessoren og den eksterne verten har samme tillatelsesnivå for å håndtere TCM-en.

Nios® V håndbok for innebygd prosessordesign 28

Send tilbakemelding

2. Design av maskinvaresystem for Nios V-prosessor med Quartus Prime-programvare og plattformdesigner
726952 | 2025.07.16

Note:

Når den underordnede TCM-porten er koblet til en ekstern vert, kan den vises med en annen basisadresse enn basisadressen som er tilordnet i prosessorkjernen. Altera anbefaler å justere begge adressene til samme verdi.

2.3.1.4. Eksternt minnegrensesnitt (EMIF)
EMIF (External Memory Interface) fungerer på samme måte som SRAM (Static Random Access Memory), men den er dynamisk og krever periodisk oppdatering for å opprettholde innholdet. De dynamiske minnecellene i EMIF er mye mindre enn de statiske minnecellene i SRAM, noe som resulterer i minneenheter med høyere kapasitet og lavere kostnader.
I tillegg til oppdateringskravet har EMIF spesifikke grensesnittkrav som ofte krever spesialisert kontrollermaskinvare. I motsetning til SRAM, som har et fast sett med adresselinjer, organiserer EMIF minneplassen sin i banker, rader og kolonner. Bytte mellom banker og rader introduserer noe overhead, så du må ordne minnetilganger nøye for å bruke EMIF effektivt. EMIF multiplekser også rad- og kolonneadresser over de samme adresselinjene, noe som reduserer antall pinner som kreves for en gitt EMIF-størrelse.
Høyhastighetsversjoner av EMIF, som DDR, DDR2, DDR3, DDR4 og DDR5, stiller strenge krav til signalintegritet som PCB-designere må vurdere.
EMIF-enheter er blant de mest kostnadseffektive og høykapasitets RAM-typene som er tilgjengelige, noe som gjør dem til et populært alternativ. En nøkkelkomponent i et EMIF-grensesnitt er EMIF IP, som administrerer oppgaver relatert til adressemultipleksing, oppdatering og bytte mellom rader og banker. Denne designen lar resten av systemet få tilgang til EMIF uten å måtte forstå den interne arkitekturen.

Relatert informasjon Eksterne minnegrensesnitt IP-støttesenter

2.3.1.4.1. IP-adresse for spennutvider
Address Span Extender Altera FPGA IP lar minnetilordnede vertsgrensesnitt få tilgang til et større eller mindre adressekart enn bredden på adressesignalene deres tillater. Address Span Extender IP deler det adresserbare rommet inn i flere separate vinduer slik at verten kan få tilgang til den aktuelle delen av minnet gjennom vinduet.
Address Span Extender begrenser ikke verts- og agentbredder til en 32-biters og 64-biters konfigurasjon. Du kan bruke Address Span Extender med adressevinduer på 1–64 biter.

Send tilbakemelding

Nios® V håndbok for innebygd prosessordesign 29

2. Design av maskinvaresystem for Nios V-prosessor med Quartus Prime-programvare og plattformdesigner
726952 | 2025.07.16

Figur 13. Adressespennforlenger Altera FPGA IP
Agentens ordadresse

Adressespennforlenger

A

Kartleggingstabell
Kontrollport A

Kontrollregister 0 Kontrollregister Z-1

Utvidet vertsadresse H

Relatert informasjon
Brukerhåndbok for Quartus® Prime Pro Edition: Plattformdesigner Se emnet Adressespennforlenger Intel® FPGA IP for mer informasjon.

2.3.1.4.2. Bruk av adressespanforlenger-IP med Nios V-prosessor
32-bits Nios V-prosessoren kan adressere opptil 4 GB av et adressespenn. Hvis EMIF-en inneholder mer enn 4 GB minne, overskrider den det maksimale støttede adressespennet, noe som gjør Platform Designer-systemet feilaktig. En Address Span Extender IP er nødvendig for å løse dette problemet ved å dele et enkelt EMIF-adresseområde inn i flere mindre vinduer.
Altera anbefaler at du vurderer følgende parametere.

Tabell 21. Parametere for adressespennforlenger

Parameter

Anbefalte innstillinger

Databanebredde
Utvidet masterbyteadressebredde

Velg 32-bits, som er korrelert med 32-bits prosessoren. Avhenger av EMIF-minnestørrelsen.

Bredde på slaveordadresse Antall burst-bredder

Velg 2 GB eller mindre. Gjenværende adressespenn for Nios V-prosessoren er reservert for andre innebygde myke IP-adresser.
Start med 1 og øk gradvis denne verdien for å forbedre ytelsen.

Antall undervinduer

Velg ett undervindu hvis du kobler EMIF til Nios V-prosessoren som instruksjons- og dataminne, eller begge deler. Det er farlig å bytte mellom flere undervinduer mens Nios V-prosessoren kjører fra EMIF.

Aktiver slavekontrollport

Deaktiver slavekontrollporten hvis du kobler EMIF til Nios V-prosessoren som instruksjon og/eller dataminne. Samme problemstillinger som for antall undervinduer.

Maksimalt antall ventende lesninger

Start med 1 og øk gradvis denne verdien for å forbedre ytelsen.

Nios® V håndbok for innebygd prosessordesign 30

Send tilbakemelding

2. Design av maskinvaresystem for Nios V-prosessor med Quartus Prime-programvare og plattformdesigner 726952 | 2025.07.16
Figur 14. Koble instruksjon og databehandling til adressespennforlengeren

Figur 15. Adressekartlegging

Merk at Address Span Extender har tilgang til hele 8 GB minneplass i EMIF. Via Address Span Extender har imidlertid Nios V-prosessoren bare tilgang til den første 1 GB minneplassen i EMIF.

Figur 16. Forenklet blokkdiagram

Plattformdesignersystem

Gjenværende 3 GB

Nios V-prosessoradresse

span er for innebygd

NNioios sVV PProrocecsesososor r
M

myke IP-adresser i samme system.
1 GB-vindu

Adressespenn

S

Forlenger

M

Bare de første 1 GB

av EMIF-minnet er koblet til Nios V

EMIF

prosessor.

8 GB
S

Send tilbakemelding

Nios® V håndbok for innebygd prosessordesign 31

2. Design av maskinvaresystem for Nios V-prosessor med Quartus Prime-programvare og plattformdesigner
726952 | 2025.07.16
2.3.1.4.3. Definere adressespennforlengerens linkerminneenhet 1. Definer adressespennforlengeren (EMIF) som tilbakestillingsvektor. Alternativt kan du tilordne Nios V-prosessorens tilbakestillingsvektor til andre minner, for eksempel OCRAM eller flash-enheter.
Figur 17. Flere alternativer som tilbakestillingsvektor
Board Support Package (BSP) Editor kan imidlertid ikke automatisk registrere Address Span Extender (EMIF) som et gyldig minne. Avhengig av valget du har gjort, ser du to forskjellige situasjoner, som vist i figurene nedenfor. Figur 18. BSP-feil når Address Span Extender (EMIF) defineres som tilbakestillingsvektor.

Nios® V håndbok for innebygd prosessordesign 32

Send tilbakemelding

2. Design av maskinvaresystem for Nios V-prosessor med Quartus Prime-programvare og plattformdesigner 726952 | 2025.07.16
Figur 19. Manglende EMIF når andre minner defineres som tilbakestillingsvektor

2. Du må legge til adressespennforlengeren (EMIF) manuelt ved hjelp av Legg til minneenhet, Legg til lenkeminneområde og Legg til lenkeseksjonstilordninger i fanen BSP-lenkeskript.
3. Følg disse trinnene:
a. Bestem adressespennet til adressespennforlengeren ved hjelp av minnekartet (eks.ampFiguren nedenfor bruker Address Span Extender-området fra 0x0 til 0x3fff_ffff).
Figur 20. Minnekart

b. Klikk på Legg til minneenhet, og fyll ut basert på informasjonen i designets minnekart: i. Enhetsnavn: emif_ddr4. Merk: Sørg for at du kopierer samme navn fra minnekartet. ii. Basisadresse: 0x0 iii. Størrelse: 0x40000000
c. Klikk på Legg til for å legge til et nytt linkerminneområde:

Send tilbakemelding

Nios® V håndbok for innebygd prosessordesign 33

2. Design av maskinvaresystem for Nios V-prosessor med Quartus Prime-programvare og plattformdesigner
726952 | 2025.07.16

Tabell 22. Legge til linkerminneområde

Trinn

Tilbakestill vektor

emif_ddr4

Andre minner

1

Legg til en ny linkerminneregion kalt reset. Legg til en ny linkerminneregion for

· Regionnavn: tilbakestill

emif_ddr4.

· Regionstørrelse: 0x20

· Regionnavn: emif_ddr4

· Minneenhet: emif_ddr4

· Regionstørrelse: 0x40000000

· Minneforskyvning: 0x0

· Minneenhet: emif_ddr4

· Minneforskyvning: 0x0

2

Legg til et nytt linkerminneområde for

gjenværende emif_ddr4.

· Regionnavn: emif_ddr4

· Regionstørrelse: 0x3fffffe0

· Minneenhet: emif_ddr4

· Minneforskyvning: 0x20

Figur 21. Linkerregion når adressespennforlengeren (EMIF) defineres som tilbakestillingsvektor

Figur 22. Linkerregion når andre minner defineres som tilbakestillingsvektor
d. Når emif_ddr4 er lagt til i BSP-en, kan du velge den for en hvilken som helst linkerseksjon.
Figur 23. Address Span Extender (EMIF) lagt til

e. Ignorer advarselen om at minneenheten emif_ddr4 ikke er synlig i SOPC-designet.
f. Fortsett med å generere BSP.
Relatert informasjon Introduksjon til oppstartsmetoder for Nios V-prosessor på side 51

Nios® V håndbok for innebygd prosessordesign 34

Send tilbakemelding

2. Design av maskinvaresystem for Nios V-prosessor med Quartus Prime-programvare og plattformdesigner 726952 | 2025.07.16
2.3.2. Ikke-flyktig minne
Ikke-flyktig minne beholder innholdet sitt når strømmen slås av, noe som gjør det til et godt valg for lagring av informasjon som systemet må hente etter en systemstrømsyklus. Ikke-flyktig minne lagrer vanligvis prosessorens oppstartskode, vedvarende applikasjonsinnstillinger og Altera FPGA-konfigurasjonsdata. Selv om ikke-flyktig minne har fordelen ...tage of retaining its data when you remove the power, it is much slower compare to volatile memory, and often has more complex writing and erasing procedures. Non-volatile memory is also usually only guaranteed to be erasable a given number of times, after which it may fail.
ExampIkke-flyktig minne inkluderer alle typer flashminne, EPROM og EEPROM. Altera anbefaler at du lagrer Altera FPGA-bitstrømmer og Nios V-programbilder i et ikke-flyktig minne, og bruker seriell flashminne som oppstartsenhet for Nios V-prosessorer.
Relatert informasjon
· Generisk serielt flash-grensesnitt Altera FPGA IP brukerhåndbok
· Brukerhåndbok for postkasseklient Altera FPGA IP · Brukerhåndbok for MAX® 10-brukerflashminne: Flash Altera FPGA IP-kjerne på brikken
2.4. Beste praksis for klokker og tilbakestillinger
Det er viktig å forstå hvordan Nios V-prosessorens klokke- og tilbakestillingsdomene samhandler med alle eksterne enheter den kobles til. Et enkelt Nios V-prosessorsystem starter med et enkelt klokkedomene, og det kan bli komplisert med et system med flere klokkedomener når et raskt klokkedomene kolliderer med et sakte klokkedomene. Du må legge merke til og forstå hvordan disse forskjellige domenene sekvenseres ut av tilbakestillingen og sørge for at det ikke er noen subtile problemer.
For beste praksis anbefaler Altera å plassere Nios V-prosessoren og oppstartsminnet i samme klokkedomene. Ikke frigjør Nios V-prosessoren fra tilbakestilling i et raskt klokkedomene når den starter opp fra et minne som befinner seg i et veldig sakte klokkedomene, noe som kan forårsake en instruksjonshentingsfeil. Du kan trenge noe manuell sekvensering utover det Platform Designer tilbyr som standard, og planlegg tilbakestillingsutgivelsestopologien deretter basert på brukstilfellet ditt. Hvis du vil tilbakestille systemet etter at det har startet opp og kjører en stund, må du bruke de samme hensynene til systemtilbakestillingssekvensering og krav til initialisering etter tilbakestilling.
2.4.1. System JTAG Klokke
Å spesifisere klokkebegrensningene i hvert Nios V-prosessorsystem er en viktig systemdesignhensyn og er nødvendig for korrekthet og deterministisk oppførsel. Quartus Prime Timing Analyzer utfører statisk tidsanalyse for å validere tidsytelsen til all logikk i designet ditt ved hjelp av bransjestandard begrensnings-, analyse- og rapporteringsmetodikk.
ExampLeksjon 1. Grunnleggende 100 MHz klokke med 50/50 arbeidssyklus og 16 MHz JTAG Klokke
#**************************************************************** # Opprett 100 MHz klokke #**************************************************************** create_clock -name {clk} -period 10 [get_ports {clk}] #************************ Opprett 16 MHz JTAG Klokke #************************

Send tilbakemelding

Nios® V håndbok for innebygd prosessordesign 35

2. Design av maskinvaresystem for Nios V-prosessor med Quartus Prime-programvare og plattformdesigner
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}]
Related Information Quartus Prime Timing Analyzer Cookbook
2.4.2. Grensesnitt for forespørsel om tilbakestilling
Nios V-prosessoren har en valgfri funksjon for tilbakestillingsforespørsel. Funksjonen for tilbakestillingsforespørsel består av signalene reset_req og reset_req_ack.
Slik aktiverer du tilbakestillingsforespørselen i Platform Designer: 1. Start Nios V-prosessorens IP-parameterredigeringsprogram. 2. I innstillingen Bruk tilbakestillingsforespørsel aktiverer du Legg til grensesnitt for tilbakestillingsforespørsel.
alternativ.
Figur 24. Aktiver forespørsel om tilbakestilling av Nios V-prosessor
reset_req-signalet fungerer som et avbrudd. Når du aktiverer reset_req, ber du om å tilbakestille kjernen. Kjernen venter på at eventuelle utestående busstransaksjoner skal fullføre operasjonen. For eksempelampDvs. hvis det finnes en ventende minnetilgangstransaksjon, venter kjernen på et fullstendig svar. På samme måte aksepterer kjernen ethvert ventende instruksjonssvar, men sender ikke en instruksjonsforespørsel etter å ha mottatt reset_req-signalet.
Tilbakestillingsoperasjonen består av følgende flyt: 1. Fullfør alle ventende operasjoner 2. Tøm den interne pipelinen 3. Sett programtelleren til tilbakestillingsvektoren 4. Tilbakestill kjernen Hele tilbakestillingsoperasjonen tar noen få klokkesykluser. reset_req må forbli aktiv inntil reset_req_ack er aktiv, noe som indikerer at kjernens tilbakestillingsoperasjon er fullført. Hvis dette ikke gjøres, blir kjernens tilstand ikke-deterministisk.

Nios® V håndbok for innebygd prosessordesign 36

Send tilbakemelding

2. Design av maskinvaresystem for Nios V-prosessor med Quartus Prime-programvare og plattformdesigner 726952 | 2025.07.16
2.4.2.1. Typiske brukstilfeller
· Du kan bruke reset_req-signalet fra oppstart for å forhindre at Nios V-prosessorkjernen starter programkjøring fra tilbakestillingsvektoren sin før andre FPGA-verter i systemet initialiserer Nios V-prosessorens oppstartsminne. I dette tilfellet kan hele delsystemet oppleve en ren maskinvaretilbakestilling. Nios V-prosessoren holdes på ubestemt tid i en tilbakestillingsforespørselstilstand inntil de andre FPGA-vertene initialiserer prosessorens oppstartsminne.
· I et system der du må tilbakestille Nios V-prosessorkjernen uten å forstyrre resten av systemet, kan du bruke reset_req-signalet til å stoppe den nåværende driften av kjernen fullstendig og starte prosessoren på nytt fra tilbakestillingsvektoren når systemet frigjør reset_req_ack-signalet.
· En ekstern vert kan bruke grensesnittet for tilbakestillingsforespørsler for å forenkle implementeringen av følgende oppgaver:
— Stopp det nåværende Nios V-prosessorprogrammet.
— Last inn et nytt program i Nios V-prosessorens oppstartsminne.
– La prosessoren begynne å kjøre det nye programmet.
Altera anbefaler at du implementerer en tidsavbruddsmekanisme for å overvåke tilstanden til reset_req_ack-signalet. Hvis Nios V-prosessorkjernen faller inn i en uendelig ventetilstand og stopper av en ukjent årsak, kan ikke reset_req_ack aktiveres på ubestemt tid. Tidsavbruddsmekanismen lar deg:
· Definer en tidsavbruddsperiode for gjenoppretting og utfør systemgjenoppretting med tilbakestilling på systemnivå.
· Utfør en tilbakestilling på maskinvarenivå.
2.4.3. Tilbakestill utgivelses-IP
Altera SDM-baserte enheter bruker en parallell, sektorbasert arkitektur som distribuerer kjernestrukturlogikken på tvers av flere sektorer. Altera anbefaler at du bruker Reset Release Altera FPGA IP som en av de første inngangene til tilbakestillingskretsen. Intel® SDM-baserte enheter inkluderer Stratix® 10 og Agilex™-enheter. Kontrollblokkbaserte enheter påvirkes ikke av dette kravet.
Relatert informasjon
AN 891: Bruk av Reset Release Altera FPGA IP
2.5. Tildeling av en standardagent
Platform Designer lar deg spesifisere en standardagent som fungerer som standardagent for feilrespons. Standardagenten du angir, tilbyr en feilresponstjeneste for verter som prøver ikke-dekodet tilgang til adressekartet.
Følgende scenarier utløser en ikke-dekodet hendelse:
· Brudd på sikkerhetsstatus for busstransaksjoner
· Transaksjonstilgang til udefinert minneområde
· Unntakshendelse og så videre.

Send tilbakemelding

Nios® V håndbok for innebygd prosessordesign 37

2. Design av maskinvaresystem for Nios V-prosessor med Quartus Prime-programvare og plattformdesigner
726952 | 2025.07.16

En standardagent bør tildeles for å håndtere slike hendelser, der en udefinert transaksjon omdirigeres til standardagenten og deretter svarer til Nios V-prosessoren med et feilsvar.
Relatert informasjon
· Brukerhåndbok for Quartus Prime Pro Edition: Plattformdesigner. Angi en standardagent
· Brukerhåndbok for Quartus Prime Pro Edition: Plattformdesigner. Feilrespons, slave, Altera FPGA IP
· Github – Supplerende tilbakestillingskomponenter for Qsys

2.6. Tilordne en UART-agent for utskrift
Utskrift er nyttig for feilsøking av programvaren, samt for å overvåke statusen til systemet. Altera anbefaler å skrive ut grunnleggende informasjon som en oppstartsmelding, feilmelding og utførelsesfremdrift for programvaren.
Unngå å bruke printf()-bibliotekfunksjonen under følgende omstendigheter: · printf()-biblioteket får applikasjonen til å stoppe hvis ingen vert leser utdata.
Dette gjelder for JTAG Kun UART. · printf()-biblioteket bruker store mengder programminne.

2.6.1. Forebygging av stalling av JTAG UART

Tabell 23. Forskjeller mellom tradisjonell UART og JTAG UART

UART-type Tradisjonell UART

Beskrivelse
Overfører serielle data uavhengig av om en ekstern vert lytter. Hvis ingen vert leser serielle data, går dataene tapt.

JTAG UART

Skriver de overførte dataene til en utdatabuffer og er avhengig av en ekstern vert for å lese fra bufferen for å tømme den.

JTAG UART-driveren venter når utgangsbufferen er full. JTAG UART-driveren venter på at en ekstern vert skal lese fra utdatabufferen før den skriver mer overføringsdata. Denne prosessen forhindrer tap av overføringsdata.
Men når systemfeilsøking ikke er nødvendig, for eksempel under produksjon, distribueres innebygde systemer uten en verts-PC koblet til J.TAG UART. Hvis systemet valgte JTAG UART som UART-agent, kan det føre til at systemet stopper opp fordi ingen ekstern vert er tilkoblet.
For å forhindre at J stopper oppTAG UART, bruk av følgende alternativer:

Nios® V håndbok for innebygd prosessordesign 38

Send tilbakemelding

2. Design av maskinvaresystem for Nios V-prosessor med Quartus Prime-programvare og plattformdesigner
726952 | 2025.07.16

Tabell 24. Forebygging av stalling av JTAG UART

Alternativer
Ingen UART-grensesnitt og driver til stede
Bruk et annet UART-grensesnitt og en annen driver
Bevar JTAG UART-grensesnitt (uten driver)

Under maskinvareutvikling (i Platform Designer)

Under programvareutvikling (i redigeringsprogrammet for kortstøttepakker)

Fjern JTAG UART fra systemet

Konfigurer hal.stdin, hal.stdout og hal.stderr som Ingen.

Erstatt JTAG UART med annen soft configure hal.stdin, hal.stdout og hal.stderr

UART-IP

med annen myk UART IP.

Bevar JTAG UART i systemet

· Konfigurer hal.stdin, hal.stdout og hal.stderr som Ingen i redigeringsprogrammet for forumstøttepakker.
· Deaktiver JTAG UART-driver i BSP-driver-fanen.

2.7. JTAG Signaler
Nios V-prosessorens feilsøkingsmodul bruker JTAG grensesnitt for nedlasting av programvare med ELF og feilsøking av programvare. Når du feilsøker designet ditt med JTAG grensesnittet, JTAG Signalene TCK, TMS, TDI og TDO er implementert som en del av designet. Spesifisering av JTAG Signalbegrensninger i alle Nios V-prosessorsystemer er en viktig systemdesignhensyn og er nødvendig for korrekthet og deterministisk oppførsel.
Altera anbefaler at ethvert designs systemklokkefrekvens er minst fire ganger JTAG klokkefrekvens for å sikre at OCI-kjernen (instrumentasjonskjernen på brikken) fungerer som den skal.
Relatert informasjon · Quartus® Prime Timing Analyzer kokebok: JTAG Signaler
For mer informasjon om JTAG Retningslinjer for tidsbegrensninger. · KDB: Hvorfor mislykkes niosv-download med en ikke-pipelined Nios® V/m-prosessor ved
JTAG Frekvens 24 MHz eller 16 MHz?
2.8. Optimalisering av ytelsen til plattformdesigneren
Platform Designer tilbyr verktøy for å optimalisere ytelsen til systemforbindelsen for Altera FPGA-design.

Send tilbakemelding

Nios® V håndbok for innebygd prosessordesign 39

2. Design av maskinvaresystem for Nios V-prosessor med Quartus Prime-programvare og plattformdesigner
726952 | 2025.07.16
Figur 25. Optimaliseringseksempelamples

EksampFiguren viser følgende trinn:
1. Legger til Pipeline Bridge for å redusere kritiske stier ved å plassere den: a. Mellom instruksjonsbehandleren og agentene b. Mellom databehandleren og agentene
2. Bruk ekte dobbeltports RAM på chip, med hver port dedikert til henholdsvis instruksjonsbehandleren og databehandleren.

Nios® V håndbok for innebygd prosessordesign 40

Send tilbakemelding

2. Design av maskinvaresystem for Nios V-prosessor med Quartus Prime-programvare og plattformdesigner 726952 | 2025.07.16
Se de følgende relaterte lenkene nedenfor, som presenterer teknikker for å utnytte de tilgjengelige verktøyene og avveiningene ved hver implementering.
Relatert informasjon · Quartus® Prime Pro Edition brukerhåndbok: Plattformdesigner
Se emnet Optimalisering av Platform Designer-systemytelse for mer informasjon. · Quartus® Prime Standard Edition brukerhåndbok: Plattformdesigner Se emnet Optimalisering av Platform Designer-systemytelse for mer informasjon.

Send tilbakemelding

Nios® V håndbok for innebygd prosessordesign 41

726952 | 2025.07.16 Send tilbakemelding

3. Nios V-prosessorprogramvaresystemdesign
Dette kapittelet beskriver programvareutviklingsflyten for Nios V-prosessoren og programvareverktøyene du kan bruke til å utvikle det innebygde designsystemet ditt. Innholdet fungerer som en oversiktview før man utviklet et Nios V-prosessorprogramvaresystem.
Figur 26. Programvaredesignflyt
Start

Generer BSP-en i plattformdesigneren ved hjelp av BSP-editoren

Generer BSP-en ved hjelp av Nios V-kommandoskallet
Generer applikasjons-CMake-bygget File Bruke Nios V-kommandoskallet

Note:

Importer BSP-en og applikasjons-CMake-bygget File
Bygg Nios V-prosessorapplikasjonen ved hjelp av
RiscFree IDE for Intel FPGA

Bygg Nios V-prosessorapplikasjonen ved hjelp av hvilken som helst
kildekoderedigerer for kommandolinje, CMake og Make
kommandoer
Slutt

Altera anbefaler at du bruker et Altera FPGA-utviklingssett eller et tilpasset prototypekort for programvareutvikling og feilsøking. Mange periferienheter og systemnivåfunksjoner er bare tilgjengelige når programvaren kjører på et faktisk kort.

© Altera Corporation. Altera, Altera-logoen, «a»-logoen og andre Altera-merker er varemerker for Altera Corporation. Altera forbeholder seg retten til å gjøre endringer i produkter og tjenester når som helst uten varsel. Altera påtar seg intet ansvar som følge av bruken av informasjon, produkter eller tjenester beskrevet her, med mindre det er uttrykkelig avtalt skriftlig med Altera. Altera-kunder anbefales å skaffe seg den nyeste versjonen av enhetsspesifikasjonene før de stoler på publisert informasjon og før de bestiller produkter eller tjenester. *Andre navn og merker kan hevdes å være andres eiendom.

3. Nios V-prosessorprogramvaresystemdesign 726952 | 2025.07.16
3.1. Programvareutviklingsflyt for Nios V-prosessor
3.1.1. Styrestøttepakkeprosjekt
Et Nios V Board Support Package (BSP)-prosjekt er et spesialisert bibliotek som inneholder systemspesifikk støttekode. En BSP tilbyr et programvarekjøretidsmiljø tilpasset for én prosessor i et Nios V-prosessormaskinvaresystem.
Quartus Prime-programvaren tilbyr Nios V Board Support Package Editor og verktøyene niosv-bsp for å endre innstillinger som styrer BSP-ens virkemåte.
En BSP inneholder følgende elementer: · Maskinvareabstraksjonslag · Enhetsdrivere · Valgfrie programvarepakker · Valgfritt sanntidsoperativsystem
3.1.2. Søknadsprosjekt
Et Nios VC/C++-applikasjonsprosjekt har følgende funksjoner: · Består av en samling kildekode og en CMakeLists.txt.
— CMakeLists.txt kompilerer kildekoden og kobler den til en BSP og ett eller flere valgfrie biblioteker for å opprette én .elf file
· En av kildene files inneholder funksjonen main(). · Inkluderer kode som kaller funksjoner i biblioteker og BSP-er.
Altera tilbyr verktøyet niosv-app i Quartus Prime-programvaren for å opprette Application CMakeLists.txt, og RiscFree IDE for Altera FPGA-er for å endre kildekoden i et Eclipse-basert miljø.
3.2. Altera FPGA innebygde utviklingsverktøy
Nios V-prosessoren støtter følgende verktøy for programvareutvikling: · Grafisk brukergrensesnitt (GUI) – Grafiske utviklingsverktøy som er tilgjengelige i
både Windows* og Linux* operativsystemer (OS). — Nios V Board Support Package Editor (Nios V BSP Editor) — Ashling RiscFree IDE for Altera FPGA-er · Kommandolinjeverktøy (CLI) – Utviklingsverktøy som startes fra Nios V Command Shell. Hvert verktøy har sin egen dokumentasjon i form av hjelp som er tilgjengelig fra kommandolinjen. Åpne Nios V Command Shell og skriv inn følgende kommando: –hjelp til view Hjelp-menyen. — Nios V Utilities Verktøy — File Formatkonverteringsverktøy – Andre verktøy

Send tilbakemelding

Nios® V håndbok for innebygd prosessordesign 43

3. Nios V-prosessorprogramvaresystemdesign 726952 | 2025.07.16

Tabell 25. Sammendrag av oppgaver i GUI-verktøy og kommandolinjeverktøy

Oppgave

GUI-verktøy

Kommandolinjeverktøy

Opprette en BSP

Nios V BSP-redaktør

· I Quartus Prime Pro Edition-programvaren: niosv-bsp -c -s=<.qsys file> -t= [ALTERNATIVER] settings.bsp
· I Quartus Prime Standard Edition-programvaren: niosv-bsp -c -s=<.sopcinfo file> -t= [ALTERNATIVER] settings.bsp

Generering av en BSP ved hjelp av eksisterende .bsp file
Oppdatering av en BSP

Nios V BSP-redigerer Nios V BSP-redigerer

niosv-bsp -g [ALTERNATIVER] settings.bsp niosv-bsp -u [ALTERNATIVER] settings.bsp

Undersøkelse av en BSP

Nios V BSP-redaktør

niosv-bsp -q -E= [ALTERNATIVER] settings.bsp

Opprette en applikasjon

niosv-app -a= -b= -s= files-katalogen> [ALTERNATIVER]

Opprette et brukerbibliotek

niosv-app -l= -s= files-katalogen> -p= [ALTERNATIVER]

Endre et program Endre et brukerbibliotek Bygge et program

RiscFree IDE for Altera FPGA-er
RiscFree IDE for Altera FPGA-er
RiscFree IDE for Altera FPGA-er

Enhver kommandolinjekilderedigerer
Enhver kommandolinjekilderedigerer
· lage · lage

Bygge et brukerbibliotek

RiscFree IDE for Altera FPGA-er

· lage · lage

Laste ned en ELF-applikasjon
Konvertering av .elf file

RiscFree IDE for Altera FPGA-er

niosv-nedlasting
· elf2flash · elf2hex

Relatert informasjon
Ashling RiscFree integrert utviklingsmiljø (IDE) for Altera FPGA-er brukerhåndbok

3.2.1. Redigeringsverktøy for støttepakke for Nios V-prosessorkort
Du kan bruke Nios V-prosessor BSP Editor til å utføre følgende oppgaver: · Opprette eller endre et Nios V-prosessor BSP-prosjekt · Redigere innstillinger, lenkeregioner og seksjonstilordninger · Velge programvarepakker og enhetsdrivere.
Funksjonene til BSP Editor inkluderer funksjonene til niosv-bsp-verktøyene. Ethvert prosjekt som opprettes i BSP Editor kan også opprettes ved hjelp av kommandolinjeverktøyene.

Nios® V håndbok for innebygd prosessordesign 44

Send tilbakemelding

3. Nios V-prosessorprogramvaresystemdesign 726952 | 2025.07.16

Note:

For Quartus Prime Standard Edition-programvare, se AN 980: Nios V-prosessor Quartus Prime-programvarestøtte for trinnene for å starte BSP Editor GUI.

For å starte BSP Editor, følg disse trinnene: 1. Åpne Platform Designer, og naviger til File meny.
a. Slik åpner du en eksisterende BSP-innstilling file, klikk på Åpne… b. For å opprette en ny BSP, klikk på Ny BSP… 2. Velg fanen BSP-redigeringsprogram og oppgi de nødvendige detaljene.

Figur 27. Start BSP Editor

Relatert informasjon AN 980: Nios V-prosessor Quartus Prime Programvarestøtte
3.2.2. Risikofri IDE for Altera FPGA-er
RiscFree IDE for Altera FPGA-er er en Eclipse-basert IDE for Nios V-prosessoren. Altera anbefaler at du utvikler Nios V-prosessorprogramvaren i denne IDE-en av følgende grunner: · Funksjonene er utviklet og verifisert for å være kompatible med Nios V
prosessorens byggeflyt. · Utstyrt med alle nødvendige verktøykjeder og støtteverktøy som gjør det mulig for deg
for å enkelt starte Nios V-prosessorutvikling.
Relatert informasjon Ashling RiscFree integrert utviklingsmiljø (IDE) for Altera FPGA-er brukerhåndbok
3.2.3. Nios V Utilities-verktøy
Du kan opprette, endre og bygge Nios V-programmer med kommandoer som skrives inn på en kommandolinje eller er innebygd i et skript. Nios V-kommandolinjeverktøyene som er beskrevet i denne delen, finnes i /niosv/bin-katalogen.

Send tilbakemelding

Nios® V håndbok for innebygd prosessordesign 45

3. Nios V-prosessorprogramvaresystemdesign 726952 | 2025.07.16

Tabell 26. Nios V Utilities-verktøy

Kommandolinjeverktøy

Sammendrag

niosv-app niosv-bsp niosv-nedlasting niosv-shell niosv-stack-rapport

For å generere og konfigurere et applikasjonsprosjekt.
Slik oppretter eller oppdaterer du BSP-innstillinger file og opprett BSP-en files. For å laste ned ELF file til en Nios® V-prosessor.
For å åpne Nios V-kommandoskallet. For å informere deg om hvor mye minne som er tilgjengelig for applikasjonen din .elf for bruk i stakk eller heap.

3.2.4. File Verktøy for formatkonvertering

File Formatkonvertering er noen ganger nødvendig når man overfører data fra ett verktøy til et annet. file formatkonverteringsverktøyene finnes i
programvareinstallasjonskatalog>/niosv/bin-katalogen.

Tabell 27. File Verktøy for formatkonvertering

Kommandolinjeverktøy elf2flash elf2hex

Sammendrag For å oversette .elf file til .srec-format for programmering av flashminne. For å oversette .elf file til .hex-format for minneinitialisering.

3.2.5. Andre verktøy

Du kan trenge følgende kommandolinjeverktøy når du bygger et Nios V-prosessorbasert system. Disse kommandolinjeverktøyene leveres enten av Intel i /quartus/bin eller ervervet fra
verktøy med åpen kildekode.

Tabell 28. Andre kommandolinjeverktøy

Kommandolinjeverktøy

Type

Sammendrag

juart-terminal

Intel-levert

For å overvåke stdout og stderr, og for å gi input til en Nios® V-prosessor
delsystem gjennom stdin. Dette verktøyet gjelder bare for JTAG UART IP når den er koblet til Nios® V-prosessoren.

openocd

Intel-levert for å kjøre OpenOCD.

openocd-cfg-gen

Intel-levert · For å generere OpenOCD-konfigurasjonen file· For å vise JTAG kjedeenhetsindeks.

Nios® V håndbok for innebygd prosessordesign 46

Send tilbakemelding

726952 | 2025.07.16 Send tilbakemelding
4. Nios V-prosessorkonfigurasjons- og oppstartsløsninger
Du kan konfigurere Nios V-prosessoren til å starte opp og kjøre programvare fra forskjellige minneplasseringer. Oppstartsminnet er Quad Serial Peripheral Interface (QSPI) flash, On-Chip Memory (OCRAM) eller Tightly Coupled Memory (TCM).
Relatert informasjon · Oppstartsutløserbetingelser på side 193 · Oppstartsutløsere
For mer informasjon om oppstartsutløsere.
4.1. Introduksjon
Nios V-prosessoren støtter to typer oppstartsprosesser: · Execute-in-Place (XIP) ved hjelp av alt_load()-funksjonen · Program kopiert til RAM ved hjelp av boot copier. Utviklingen av innebygde Nios V-programmer er basert på hardware abstraction layer (HAL). HAL tilbyr et lite oppstartslasterprogram (også kjent som boot copier) som kopierer relevante linker-seksjoner fra oppstartsminnet til deres kjøretidsplassering ved oppstart. Du kan angi kjøretidsplasseringene for programmet og dataminnet ved å manipulere innstillingene for Board Support Package (BSP) Editor. Denne delen beskriver: · Nios V-prosessor oppstartskopier som starter opp Nios V-prosessorsystemet ditt i henhold til
valg av oppstartsminne · oppstartsalternativer og generell flyt for Nios V-prosessor · Nios V-programmeringsløsninger for det valgte oppstartsminnet
4.2. Kobling av applikasjoner
Når du genererer Nios V-prosessorprosjektet, genererer BSP Editor to linkerrelaterte files: · linker.x: Linker-kommandoen file som den genererte applikasjonen lagerfile bruker
for å opprette .elf-binærfilen file. · linker.h: Inneholder informasjon om linkerens minneoppsett. Alle endringer i linkerinnstillingene du gjør i BSP-prosjektet påvirker innholdet i disse to linkerne. files. Hver Nios V-prosessorapplikasjon inneholder følgende linkerseksjoner:
© Altera Corporation. Altera, Altera-logoen, «a»-logoen og andre Altera-merker er varemerker for Altera Corporation. Altera forbeholder seg retten til å gjøre endringer i produkter og tjenester når som helst uten varsel. Altera påtar seg intet ansvar som følge av bruken av informasjon, produkter eller tjenester beskrevet her, med mindre det er uttrykkelig avtalt skriftlig med Altera. Altera-kunder anbefales å skaffe seg den nyeste versjonen av enhetsspesifikasjonene før de stoler på publisert informasjon og før de bestiller produkter eller tjenester. *Andre navn og merker kan hevdes å være andres eiendom.

4. Nios V-prosessorkonfigurasjons- og oppstartsløsninger 726952 | 2025.07.16

Tabell 29. Linkerseksjoner

.tekst

Lenkeseksjoner

.rodata

.rwdata

.bss

.haug

.stable

Beskrivelser Kjørbar kode. Alle skrivebeskyttede data som brukes i utførelsen av programmet. Lagrer lese- og skrivedata som brukes i utførelsen av programmet. Inneholder uinitialiserte statiske data. Inneholder dynamisk allokert minne. Lagrer funksjonskallsparametere og andre midlertidige data.

Du kan legge til flere lenkeseksjoner i .elf-filen file for å holde tilpasset kode og data. Disse lenkerseksjonene er plassert i navngitte minneområder, definert for å korrespondere med fysiske minneenheter og adresser. Som standard genererer BSP Editor automatisk disse lenkerseksjonene. Du kan imidlertid kontrollere lenkerseksjonene for et bestemt program.

4.2.1. Koblingsatferd
Denne delen beskriver standard koblingsvirkemåte i BSP Editor og hvordan du kontrollerer koblingsvirkemåten.

4.2.1.1. Standard BSP-kobling
Under BSP-konfigurasjonen utfører verktøyene følgende trinn automatisk:
1. Tilordne navn på minneregioner: Tilordne et navn til hver systemminneenhet og legg hvert navn til linkeren file som et minneområde.
2. Finn største minne: Identifiser den største lese- og skriveminneregionen i linkeren file.
3. Tilordne linkerseksjoner: Plasser standard linkerseksjoner (.text, .rodata, .rwdata, .bss, .heap og .stack) i minneområdet som ble identifisert i forrige trinn.
4. Skriv files: Skriv linker.x og linker.h files.
Vanligvis fungerer tildelingsskjemaet for linkerseksjonen under programvareutviklingsprosessen fordi applikasjonen garantert fungerer hvis minnet er stort nok.
Reglene for standard koblingsoppførsel finnes i de Altera-genererte Tcl-skriptene bsp-set-defaults.tcl og bsp-linker-utils.tcl som finnes i Katalogen /niosv/scripts/bsp-defaults. Kommandoen niosv-bsp starter disse skriptene. Ikke endre disse skriptene direkte.

Nios® V håndbok for innebygd prosessordesign 48

Send tilbakemelding

4. Nios V-prosessorkonfigurasjons- og oppstartsløsninger 726952 | 2025.07.16

4.2.1.2. Konfigurerbar BSP-kobling
Du kan administrere standard koblingsoppførsel i fanen Lenkeskript i BSP-redigereren. Manipuler lenkeskriptet ved hjelp av følgende metoder: · Legg til et minneområde: Tilordner et minneområdenavn til en fysisk minneenhet. · Legg til en seksjonstilordning: Tilordner et seksjonsnavn til et minneområde. BSP
Redaktøren lar deg view minnekartet før og etter at du har gjort endringer.

4.3. Oppstartsmetoder for Nios V-prosessor

Det finnes noen metoder for å starte opp Nios V-prosessoren i Altera FPGA-enheter. Metodene for å starte opp Nios V-prosessoren varierer avhengig av valg av flashminne og enhetsfamilier.

Tabell 30. Støttede flashminner med respektive oppstartsalternativer

Støttede oppstartsminner

Enhet

On-Chip Flash (for intern konfigurasjon)

Maks. 10 enheter (med On-Chip Flash IP)

QSPI Flash for generell bruk (kun for brukerdata)

Alle støttede FPGA-enheter (med generisk serielt flash-grensesnitt FPGA IP)

Konfigurasjon QSPI Flash (for aktiv seriell konfigurasjon)

Kontrollblokkbasert
enheter (med generisk
Seriellt flashgrensesnitt Intel FPGA IP)(2)

Oppstartsmetoder for Nios V-prosessor

Plassering av applikasjonskjøretidspunktet

Boot Copier

Nios V-prosessorapplikasjon kjøres på stedet fra On-Chip Flash

On-Chip Flash (XIP) + OCRAM/ekstern RAM (for skrivbare dataseksjoner)

alt_load()-funksjonen

Nios V-prosessorapplikasjon kopiert fra On-Chip Flash til RAM ved hjelp av oppstartskopimaskin

OCRAM/ekstern RAM

Gjenbruk av bootloader via GSFI

Nios V-prosessorapplikasjon kjøres på stedet fra generell QSPI-flash

Universal QSPI flash (XIP) + OCRAM/ekstern RAM (for skrivbare dataseksjoner)

alt_load()-funksjonen

Nios V-prosessorapplikasjon kopiert fra generell QSPI-flash til RAM ved hjelp av oppstartskopimaskin

OCRAM/ekstern RAM

Bootloader via GSFI

Nios V-prosessorapplikasjon kjøres på stedet fra konfigurasjons-QSPI-flash

Konfigurasjon QSPI flash (XIP) + OCRAM/ekstern RAM (for skrivbare dataseksjoner)

alt_load()-funksjonen

Nios V-prosessorapplikasjon kopiert fra konfigurasjons-QSPI-flash til RAM ved hjelp av oppstartskopieringsprogrammet

OCRAM/ekstern RAM-oppstartslaster via GSFI fortsetter…

(2) Se AN 980: Programvarestøtte for Nios V-prosessor Quartus Prime for enhetslisten.

Send tilbakemelding

Nios® V håndbok for innebygd prosessordesign 49

4. Nios V-prosessorkonfigurasjons- og oppstartsløsninger 726952 | 2025.07.16

Støttede oppstartsminner
Innebygd minne (OCRAM) Tett koblet minne (TCM)

Enhet
SDM-baserte enheter (med Mailbox Client Intel FPGA IP). (2)
Alle støttede Altera FPGA-enheter (2)
Alle støttede Altera FPGA-enheter(2)

Oppstartsmetoder for Nios V-prosessor
Nios V-prosessorapplikasjon kopiert fra konfigurasjons-QSPI-flash til RAM ved hjelp av oppstartskopieringsprogrammet
Nios V-prosessorapplikasjon kjøres på stedet fra OCRAM
Nios V-prosessorapplikasjon kjøres på stedet fra TCM

Plassering av applikasjonskjøretidspunktet

Boot Copier

OCRAM/ekstern RAM-oppstartslaster via SDM

OCRAM

alt_load()-funksjonen

Instruksjon TCM (XIP) Ingen + Data TCM (for skrivbare dataseksjoner)

Figur 28. Oppstartsflyt for Nios V-prosessor

Tilbakestill

Prosessoren hopper til tilbakestillingsvektor (start av oppstartskode)

Programkode kan kopieres til en annen minneplassering (avhengig av oppstartsalternativer)
Oppstartskoden initialiserer prosessoren

Avhengig av oppstartsalternativer kan oppstartskoden kopiere startverdier for data/kode til et annet minneområde (alt_load)
Oppstartskoden initialiserer applikasjonskoden og dataminneplassen
Oppstartskoden initialiserer alle systemenheter med HAL-drivere (alt_main)
Inngang til hovedinngangen
Relatert informasjon · Generisk serielt flashgrensesnitt Altera FPGA IP brukerhåndbok
Nios® V håndbok for innebygd prosessordesign 50

Send tilbakemelding

4. Nios V-prosessorkonfigurasjons- og oppstartsløsninger 726952 | 2025.07.16
· Brukerhåndbok for postkasseklient Altera FPGA IP · Programvarestøtte for AN 980: Nios V-prosessor Quartus Prime
4.4. Introduksjon til oppstartsmetoder for Nios V-prosessor
Nios V-prosessorsystemer krever at programvareavbildningene konfigureres i systemminnet før prosessoren kan begynne å kjøre applikasjonsprogrammet. Se lenkeseksjonene for standard lenkeseksjoner.
BSP Editor genererer et lenkeskript som utfører følgende funksjoner: · Sikrer at prosessorprogramvaren er lenket i samsvar med lenkeinnstillingene
av BSP-editoren og bestemmer hvor programvaren befinner seg i minnet. · Plasserer prosessorens kodeområde i minnekomponenten i henhold til
tilordnede minnekomponenter.
Følgende avsnitt beskriver kort de tilgjengelige oppstartsmetodene for Nios V-prosessoren.
4.4.1. Nios V-prosessorapplikasjon kjøres på stedet fra oppstartsflash
Altera designet flash-kontrollerne slik at oppstartsflashadresseområdet er umiddelbart tilgjengelig for Nios V-prosessoren ved systemtilbakestilling, uten behov for å initialisere minnekontrolleren eller minneenhetene. Dette gjør det mulig for Nios V-prosessoren å kjøre applikasjonskode som er lagret på oppstartsenhetene direkte uten å bruke en oppstartskopimaskin for å kopiere koden til en annen minnetype. Flash-kontrollerne er: · On-Chip Flash med On-Chip Flash IP (kun i MAX® 10-enhet) · Generell QSPI-flash med generisk serielt flashgrensesnitt-IP · Konfigurasjons-QSPI-flash med generisk serielt flashgrensesnitt-IP (unntatt MAX 10
enheter)
Når Nios V-prosessorapplikasjonen kjøres på stedet fra oppstartsflash, utfører BSP Editor følgende funksjoner: · Setter .text-lenkerseksjonene til oppstartsflashminneregionen. · Setter .bss-, .rodata-, .rwdata-, .stack- og .heap-lenkerseksjonene til RAM-en.
minneområde. Du må aktivere alt_load()-funksjonen i BSP-innstillingene for å kopiere dataseksjonene (.rodata, .rwdata, .exceptions) til RAM-en etter systemtilbakestilling. Kodeseksjonen (.text) forblir i oppstartsflashminneområdet.
Relatert informasjon · Generisk serielt flash-grensesnitt Altera FPGA IP brukerhåndbok · Altera MAX 10 brukerhåndbok for flashminne
4.4.1.1. alt_load()
Du kan aktivere alt_load()-funksjonen i HAL-koden ved hjelp av BSP Editor.
Når alt_load()-funksjonen brukes i oppstartsflyten «execute-in-place», utfører den følgende oppgaver:

Send tilbakemelding

Nios® V håndbok for innebygd prosessordesign 51

4. Nios V-prosessorkonfigurasjons- og oppstartsløsninger 726952 | 2025.07.16

· Fungerer som en mini-oppstartskopimaskin som kopierer minneseksjonene til RAM basert på BSP-innstillingene.
· Kopierer dataseksjoner (.rodata, .rwdata, .exceptions) til RAM, men ikke kodeseksjonene (.text). Kodeseksjonen (.text) er en skrivebeskyttet seksjon og forblir i oppstartsområdet for flashminne. Denne partisjoneringen bidrar til å minimere RAM-bruken, men kan begrense kodekjøringsytelsen fordi tilgang til flashminne er tregere enn tilgang til RAM på brikken.

Tabellen nedenfor viser innstillinger og funksjoner for BSP Editor:

Tabell 31. Innstillinger for BSP-redigering
BSP-redigeringsinnstillinger 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

Funksjon Aktiverer alt_load()-funksjonen. alt_load() kopierer .rodata-seksjonen til RAM. alt_load() kopierer .rwdata-seksjonen til RAM. alt_load() kopierer .exceptions-seksjonen til RAM.

4.4.2. Nios V-prosessorapplikasjon kopiert fra oppstartsflash til RAM ved hjelp av oppstartskopier
Nios V-prosessoren og HAL inkluderer en oppstartskopimaskin som gir tilstrekkelig funksjonalitet for de fleste Nios V-prosessorapplikasjoner og er praktisk å implementere med Nios V-programvareutviklingsflyten.
Når applikasjonen bruker en oppstartskopieringsenhet, setter den alle lenkerseksjoner (.text, .heap, .rwdata, .rodata, .bss, .stack) til intern eller ekstern RAM. Å bruke oppstartskopieringsenheten til å kopiere et Nios V-prosessorprogram fra oppstartsflashen til intern eller ekstern RAM for utførelse bidrar til å forbedre utførelsesytelsen.
For dette oppstartsalternativet starter Nios V-prosessoren å kjøre oppstartskopiprogramvaren ved systemtilbakestilling. Programvaren kopierer programmet fra oppstartsflashen til det interne eller eksterne RAM-minnet. Når prosessen er fullført, overfører Nios V-prosessoren programkontrollen til programmet.

Note:

Hvis oppstartskopieringsprogrammet er i flash, trenger ikke alt_load()-funksjonen å kalles fordi begge tjener samme formål.

4.4.2.1. Nios V-prosessor oppstartslaster via generisk serielt flash-grensesnitt
Bootloader via GSFI er Nios V-prosessorens oppstartskopieringsverktøy som støtter QSPI-flashminne i kontrollblokkbaserte enheter. Bootloader via GSFI inkluderer følgende funksjoner:
· Finner programvaren i ikke-flyktig minne.
· Pakker ut og kopierer programvareavbildningen til RAM.
· Bytter automatisk prosessorutførelse til applikasjonskode i RAM etter at kopieringen er fullført.

Nios® V håndbok for innebygd prosessordesign 52

Send tilbakemelding

4. Nios V-prosessorkonfigurasjons- og oppstartsløsninger 726952 | 2025.07.16

Oppstartsavbildningen er plassert rett etter oppstartskopimaskinen. Du må sørge for at Nios V-prosessorens tilbakestillingsforskyvning peker mot starten av oppstartskopimaskinen. Figur: Minnekart for QSPI Flash med oppstartslaster via GSFI minnekart for QSPI Flash med oppstartslaster via GSFI viser flash-minnekartet for QSPI Flash når du bruker en oppstartskopimaskin. Dette minnekartet forutsetter at flash-minnet lagrer FPGA-avbildningen og applikasjonsprogramvaren.

Tabell 32. Bootloader via GSFI for Nios V-prosessorkjerne

Nios V-prosessorkjerne
Nios V/m-prosessor

Bootloader via GSFI File Sted
/niosv/komponenter/bootloader/ niosv_m_bootloader.srec

Nios V/g-prosessor

/niosv/komponenter/bootloader/ niosv_g_bootloader.srec

Figur 29. Minnekart for QSPI Flash med oppstartslaster via GSFI

Kundedata (*.hex)

Søknadskode

Note:

Tilbakestill vektorforskyvning

Boot Copier

0x01E00000

FPGA-bilde (*.sof)

0x00000000

1. I starten av minnekartet finner du FPGA-bildet etterfulgt av dataene dine, som består av oppstartskopimaskin og applikasjonskode.
2. Du må angi Nios V-prosessorens tilbakestillingsforskyvning i Platform Designer og peke den til starten av oppstartskopimaskinen.
3. Størrelsen på FPGA-bildet er ukjent. Du kan bare vite den nøyaktige størrelsen etter at Quartus Prime-prosjektet er kompilert. Du må bestemme en øvre grense for størrelsen på Altera FPGA-bildet. For eksempelampHvis størrelsen på FPGA-bildet er estimert til å være mindre enn 0x01E00000, setter du Reset Offset til 0x01E00000 i Platform Designer, som også er starten på oppstartskopimaskinen.
4. God designpraksis består i å sette tilbakestillingsvektorforskyvningen ved en flash-sektorgrense for å sikre at det ikke skjer noen delvis sletting av FPGA-bildet hvis programvaren oppdateres.

Send tilbakemelding

Nios® V håndbok for innebygd prosessordesign 53

4. Nios V-prosessorkonfigurasjons- og oppstartsløsninger 726952 | 2025.07.16

4.4.2.2. Nios V-prosessor oppstartslaster via Secure Device Manager
Bootloader via Secure Device Manager (SDM) er en HAL-applikasjonskode som bruker Mailbox Client Altera FPGA IP HAL-driveren for prosessoroppstart. Altera anbefaler denne bootloader-applikasjonen når du bruker konfigurasjons-QSPI-flash i SDM-baserte enheter for å starte Nios V-prosessoren.
Ved systemtilbakestilling starter Nios V-prosessoren først oppstartslasteren via SDM fra et lite innebygd minne og kjører oppstartslasteren via SDM for å kommunisere med konfigurasjons-QSPI-flashen ved hjelp av postkasseklientens IP-adresse.
Bootloaderen via SDM utfører følgende oppgaver: · Finner Nios V-programvaren i konfigurasjons-QSPI-flashen. · Kopierer Nios V-programvaren til det innebygde RAM-minnet eller eksternt RAM-minne. · Bytter prosessorkjøringen til Nios V-programvaren i det innebygde RAM-minnet eller
ekstern RAM.
Når prosessen er fullført, overfører Bootloader via SDM programkontrollen til brukerapplikasjonen. Altera anbefaler minneorganiseringen som beskrevet i Minneorganisering for Bootloader via SDM.
Figur 30. Bootloader via SDM-prosessflyt

Konfigurasjon

Flash

2

Nios V-programvare

SDM

SDM-basert FPGA-enhet

IP-adresse for postkasseklient

FPGA Logic Nios V

4 Ekstern RAM
Nios V-programvare

Innebygd 4

EMIF

VÆR

Minne på brikken

IP

Nios V

1

Programvare

Bootloader via SDM

3

3

1. Nios V-prosessoren kjører bootloader via SDM fra minnet på brikken.
2. Bootloader via SDM kommuniserer med konfigurasjonsflashen og finner Nios V-programvaren.
3. Bootloader via SDM kopierer Nios V-programvaren fra Configuration Flash til RAM på brikken / ekstern RAM.
4. Bootloader via SDM bytter Nios V-prosessorens utførelse til Nios V-programvaren i det innebygde RAM-et / det eksterne RAM-et.

4.4.3. Nios V-prosessorapplikasjon kjøres på stedet fra OCRAM
I denne metoden settes Nios V-prosessorens tilbakestillingsadresse til basisadressen til det innebygde minnet (OCRAM). Applikasjonsbinærfilen (.hex) file lastes inn i OCRAM når FPGA-en er konfigurert, etter at maskinvaredesignet er kompilert i Quartus Prime-programvaren. Når Nios V-prosessoren tilbakestilles, begynner applikasjonen å kjøre og forgrener seg til inngangspunktet.

Nios® V håndbok for innebygd prosessordesign 54

Send tilbakemelding

4. Nios V-prosessorkonfigurasjons- og oppstartsløsninger 726952 | 2025.07.16

Note:

· Execute-In-Place fra OCRAM krever ikke oppstartskopimaskin fordi Nios V-prosessorapplikasjonen allerede er installert ved systemgjenoppretting.
· Altera anbefaler å aktivere alt_load() for denne oppstartsmetoden, slik at den innebygde programvaren oppfører seg identisk når den tilbakestilles uten å konfigurere FPGA-enhetsavbildningen på nytt.
· Du må aktivere alt_load()-funksjonen i BSP-innstillingene for å kopiere .rwdata-delen ved systemtilbakestilling. I denne metoden lagres startverdiene for initialiserte variabler separat fra de tilsvarende variablene for å unngå overskriving ved programkjøring.

4.4.4. Nios V-prosessorapplikasjon kjøres på stedet fra TCM
Metoden «execute-in-place» setter tilbakestillingsadressen til Nios V-prosessoren til basisadressen til det tett koblede minnet (TCM). Applikasjonsbinærfilen (.hex) file lastes inn i TCM når du konfigurerer FPGA-en etter at du har kompilert maskinvaredesignet i Quartus Prime-programvaren. Når Nios V-prosessoren tilbakestilles, begynner applikasjonen å kjøre og forgrener seg til inngangspunktet.

Note:

Utfør på stedet fra TCM krever ikke oppstartskopieringsprogrammet fordi Nios V-prosessorapplikasjonen allerede er installert ved systemgjenoppretting.

4.5. Oppstart av Nios V-prosessor fra On-Chip Flash (UFM)

Oppstart og kjøring av programvare fra on-chip flash (UFM) med Nios V-prosessor er tilgjengelig i MAX 10 FPGA-enheter. Nios V-prosessoren støtter følgende to oppstartsalternativer ved bruk av On-Chip Flash i intern konfigurasjonsmodus:
· Nios V-prosessorapplikasjonen kjøres på stedet fra On-Chip Flash.
· Nios V-prosessorapplikasjonen kopieres fra On-Chip Flash til RAM ved hjelp av oppstartskopieringsprogrammet.

Tabell 33. Støttede flashminner med respektive oppstartsalternativer

Støttede oppstartsminner

Nios V oppstartsmetoder

Plassering av applikasjonskjøretidspunktet

Boot Copier

Maks. 10 enheter (med OnChip Flash IP)

Nios V-prosessorapplikasjon kjøres på stedet fra On-Chip Flash
Nios V-prosessorapplikasjon kopiert fra On-Chip Flash til RAM ved hjelp av oppstartskopimaskin

On-Chip Flash (XIP) + OCRAM/ekstern RAM (for skrivbare dataseksjoner)

alt_load()-funksjonen

OCRAM/ Ekstern RAM

Gjenbruk av bootloader via GSFI

Send tilbakemelding

Nios® V håndbok for innebygd prosessordesign 55

4. Nios V-prosessorkonfigurasjons- og oppstartsløsninger 726952 | 2025.07.16

Figur 31.

Design, konfigurasjon og oppstartsflyt
Design · Lag ditt Nios V-prosessorbaserte prosjekt ved hjelp av Platform Designer. · Sørg for at det er ekstern RAM eller RAM på brikke i systemdesignet.

FPGA-konfigurasjon og kompilering
· Angi samme interne konfigurasjonsmodus i On-chip Flash IP i Platform Designer og Quartus Prime-programvaren. · Angi Nios V-prosessorens tilbakestillingsagent til On-chip Flash. · Velg din foretrukne UFM-initialiseringsmetode. · Generer designet ditt i Platform Designer. · Kompiler prosjektet ditt i Quartus Prime-programvaren.

Brukerapplikasjon BSP-prosjekt · Opprett Nios V-prosessor HAL BSP basert på .sopcinfo file laget av Platform Designer. · Rediger Nios V-prosessorens BSP-innstillinger og Linker Script i BSP Editor. · Generer BSP-prosjekt.
Brukerapplikasjons-APP-prosjekt · Utvikle Nios V-prosessorapplikasjonskode. · Kompilere Nios V-prosessorapplikasjon og generere Nios V-prosessorapplikasjon (.hex) file· Kompiler prosjektet ditt på nytt i Quartus Prime-programvaren hvis du merker av for alternativet Initialiser minneinnhold i Intel FPGA On-Chip Flash IP.

Programmering Files Konvertering, nedlasting og kjøring · Generer den innebygde Flash .pof-filen file bruker Convert-programmering Files-funksjonen i Quartus Prime-programvaren.
· Programmer .pof-filen file inn i MAX 10-enheten din. · Slå av og på maskinvaren.
4.5.1. Beskrivelse av MAX 10 FPGA-chipflash
MAX 10 FPGA-enheter inneholder flashminne på brikken som er delt inn i to deler: · Konfigurasjonsflashminne (CFM) – lagrer maskinvarekonfigurasjonsdataene for
MAKS 10 FPGA-er. · Brukerflashminne (UFM) – lagrer brukerdata eller programvare.
UFM-arkitekturen til MAX 10-enheten er en kombinasjon av myke og harde IP-adresser. Du kan bare få tilgang til UFM ved å bruke On-Chip Flash IP Core i Quartus Prime-programvaren.
Den innebygde Flash IP-kjernen støtter følgende funksjoner: · Lese- eller skrivetilgang til UFM- og CFM-sektorer (hvis aktivert i Platform Designer)
bruker Avalon MM-data- og kontroll-slavegrensesnittet. · Støtter sidesletting, sektorsletting og sektorskriving. · Simuleringsmodell for UFM-lese-/skrivetilganger ved bruk av ulike EDA-simuleringsverktøy.

Nios® V håndbok for innebygd prosessordesign 56

Send tilbakemelding

4. Nios V-prosessorkonfigurasjons- og oppstartsløsninger 726952 | 2025.07.16

Tabell 34. Flash-regioner på brikken i MAX 10 FPGA-enheter

Flash-regioner

Funksjonalitet

Konfigurasjon av flashminne (sektorer CFM0-2)

FPGA-konfigurasjon file lagring

Brukerens flashminne (sektorer UFM0-1)

Nios V-prosessorapplikasjon og brukerdata

MAX 10 FPGA-enheter støtter flere konfigurasjonsmoduser, og noen av disse modusene tillater bruk av CFM1 og CFM2 som et ekstra UFM-område. Tabellen nedenfor viser lagringsplasseringen til FPGA-konfigurasjonsbildene basert på MAX 10 FPGAs konfigurasjonsmoduser.

Tabell 35. Lagringsplassering for FPGA-konfigurasjonsbilder

Konfigurasjonsmodus Dobbeltkomprimerte bilder

CFM2 Komprimert bilde 2

CFM1

CFM0 Komprimert bilde 1

Enkelt ukomprimert bilde

Virtuell UFM

Ukomprimert bilde

Enkelt ukomprimert bilde med minneinitialisering

Ukomprimert bilde (med forhåndsinitialisert minneinnhold på brikken)

Enkelt komprimert bilde med minneinitialisering Komprimert bilde (med forhåndsinitialisert minneinnhold på brikken)

Enkelt komprimert bilde

Virtuell UFM

Komprimert bilde

Du må bruke On-chip Flash IP-kjernen for å få tilgang til flashminnet i MAX 10 FPGA-er. Du kan instansiere og koble On-chip Flash IP-en til Quartus Prime-programvaren. Nios V-prosessoren med myk kjerne bruker Platform Designer-sammenkoblingene for å kommunisere med On-chip Flash IP-en.
Figur 32. Tilkobling mellom On-chip Flash IP og Nios V-prosessor

Note:

Sørg for at CSR-porten på brikken for Flash er koblet til Nios V-prosessorens data_manager, slik at prosessoren kan kontrollere skrive- og sletteoperasjoner.
Den innebygde Flash IP-kjernen kan gi tilgang til fem flash-sektorer – UFM0, UFM1, CFM0, CFM1 og CFM2.
Viktig informasjon om UFM- og CFM-sektorene: · CFM-sektorer er ment for lagring av konfigurasjonsdata (bitstrøm) (*.pof).
· Brukerdata kan lagres i UFM-sektorene og kan skjules hvis de riktige innstillingene er valgt i plattformdesignerverktøyet.
· Enkelte enheter har ikke en UFM1-sektor. Du kan se tabellen: UFM- og CFM-sektorstørrelse for tilgjengelige sektorer i hver enkelt MAX 10 FPGA-enhet.

Send tilbakemelding

Nios® V håndbok for innebygd prosessordesign 57

4. Nios V-prosessorkonfigurasjons- og oppstartsløsninger 726952 | 2025.07.16

· Du kan konfigurere CFM2 som en virtuell UFM ved å velge konfigurasjonsmodus for enkelt ukomprimert bilde.
· Du kan konfigurere CFM2 og CFM1 som en virtuell UFM ved å velge konfigurasjonsmodus for enkelt ukomprimert bilde.
· Størrelsen på hver sektor varierer med de valgte MAX 10 FPGA-enhetene.

Tabell 36.

UFM- og CFM-sektorstørrelse
Denne tabellen viser dimensjonene til UFM- og CFM-arraysene.

Enhet

Sider per sektor

UFM1 UFM0 CFM2 CFM1 CFM0

Sidestørrelse (kbit)

Maksimal bruker
Størrelse på flashminne (kbit) (3)

Total konfigurasjonsminnestørrelse (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-størrelse (kbit)
108 189 378 549 675 1260 1638

Relatert informasjon · Brukerveiledning for MAX 10 FPGA-konfigurasjon · Brukerveiledning for Altera MAX 10 brukerflashminne

4.5.2. Nios V-prosessorapplikasjon kjøres på stedet fra UFM

Løsningen Execute-In-Place from UFM er egnet for Nios V-prosessorapplikasjoner som krever begrenset minnebruk på brikken. Funksjonen alt_load() fungerer som en mini-oppstartskopimaskin som kopierer dataseksjonene (.rodata, .rwdata eller .exceptions) fra oppstartsminne til RAM basert på BSP-innstillingene. Kodeseksjonen (.text),
som er en skrivebeskyttet seksjon, forblir i MAX 10 On-chip Flash-minneområdet. Dette oppsettet minimerer RAM-bruken, men kan begrense kodekjøringsytelsen ettersom tilgangen til flashminnet er tregere enn den innebygde RAM-en.

Nios V-prosessorapplikasjonen er programmert inn i UFM-sektoren. Nios V-prosessorens tilbakestillingsvektor peker til UFM-basisadressen for å utføre kode fra UFM etter at systemet tilbakestilles.

Hvis du bruker feilsøkingsprogrammet på kildenivå til å feilsøke applikasjonen din, må du bruke et maskinvareavbruddspunkt. Dette er fordi UFM ikke støtter tilfeldig minnetilgang, som er nødvendig for feilsøking av myke avbruddspunkter.

Note:

Du kan ikke slette eller skrive UFM mens du utfører execute-in-place i MAX 10. Bytt til oppstartskopieringsmetode hvis du trenger å slette eller skrive UFM-en.

(3) Maksimal mulig verdi, som avhenger av konfigurasjonsmodusen du velger.

Nios® V håndbok for innebygd prosessordesign 58

Send tilbakemelding

4. Nios V-prosessorkonfigurasjons- og oppstartsløsninger 726952 | 2025.07.16

Figur 33. Nios V-prosessorapplikasjon XIP fra UFM

Maks 10 enheter

.POF
Nios V Maskinvare .SOF
Nios V-programvare .HEX

Quartus-programmerer

Flash på brikken

CFM

Nios V-maskinvare

UFM

Nios V-programvare

Intern konfigurasjon

Flash-IP på brikken

FPGA-logikk
Nios V-prosessor

RAM på brikken

Utvendig

VÆR

EMIF

IP

4.5.2.1. Flyt for maskinvaredesign
Følgende avsnitt beskriver en trinnvis metode for å bygge et oppstartbart system for en Nios V-prosessorapplikasjon fra On-Chip Flash. Eks.ampBildet nedenfor er bygget med en MAX 10-enhet.
IP-komponentinnstillinger
1. Lag Nios V-prosessorprosjektet ditt ved hjelp av Quartus Prime og Platform Designer. 2. Sørg for at ekstern RAM eller On-Chip Memory (OCRAM) er lagt til plattformen din.
Designersystem.

Send tilbakemelding

Nios® V håndbok for innebygd prosessordesign 59

4. Nios V-prosessorkonfigurasjons- og oppstartsløsninger 726952 | 2025.07.16
Figur 34. EksampIP-tilkoblinger i Platform Designer for oppstart av Nios V fra OnChip Flash (UFM)

3. I parameterredigereren for On-Chip Flash IP angir du konfigurasjonsmodus til én av følgende, i henhold til designpreferansene dine: · Enkelt ukomprimert bilde · Enkelt komprimert bilde · Enkelt ukomprimert bilde med minneinitialisering · Enkelt komprimert bilde med minneinitialisering
Hvis du vil ha mer informasjon om dobbeltkomprimerte bilder, kan du se brukerhåndboken for MAX 10 FPGA-konfigurasjon – Fjernsystemoppgradering.

Note:

Du må tilordne skjult tilgang til alle CFM-regioner i On-Chip Flash IP-adressen.

Figur 35. Valg av konfigurasjonsmodus i On-Chip Flash Parameter Editor

IP-innstillinger for flash-chip – UFM-initialisering Du kan velge én av følgende metoder etter eget ønske:

Nios® V håndbok for innebygd prosessordesign 60

Send tilbakemelding

4. Nios V-prosessorkonfigurasjons- og oppstartsløsninger 726952 | 2025.07.16

Note:

Trinnene i de påfølgende underkapitlene (Programvaredesignflyt og programmering) avhenger av valget du gjør her.

· Metode 1: Initialiser UFM-dataene i SOF under kompilering
Quartus Prime inkluderer UFM-initialiseringsdataene i SOF under kompilering. SOF-rekompilering er nødvendig hvis det er endringer i UFM-dataene.
1. Merk av for Initialiser flash-innhold og Aktiver ikke-standard initialisering file.

Figur 36. Initialiser Flash-innhold og aktiver ikke-standard initialisering File

2. Angi banen til den genererte .hex-filen file (fra elf2hex-kommandoen) i den brukeropprettede hex- eller mif-filen file.
Figur 37. Legge til .hex File Sti

· Metode 2: Kombiner UFM-data med en kompilert SOF under POF-generering
UFM-data kombineres med den kompilerte SOF-en ved konvertering av programmering files. Du trenger ikke å kompilere SOF på nytt, selv om UFM-dataene endres. Under utvikling trenger du ikke å kompilere SOF på nytt. files for endringer i applikasjonen. Altere anbefaler denne metoden for applikasjonsutviklere.
1. Fjern merket for Initialiser flash-innhold.
Figur 38. Initialiser Flash-innhold med initialisering som ikke er standard File

Tilbakestill agentinnstillinger for Nios V-prosessorens utførelsesmetoden på stedet
1. I parameterredigereren for Nios V-prosessoren setter du Reset Agent til On-Chip Flash.
Figur 39. Innstillinger for Nios V-prosessorparameterredigering med tilbakestillingsagent satt til flash på brikken

2. Klikk på Generer HDL når dialogboksen Generering vises. 3. Angi utdata file generasjonsalternativer og klikk på Generer.

Send tilbakemelding

Nios® V håndbok for innebygd prosessordesign 61

4. Nios V-prosessorkonfigurasjons- og oppstartsløsninger 726952 | 2025.07.16
Quartus Prime-programvareinnstillinger 1. I Quartus Prime-programvaren klikker du på Tildelinger Enhet Enhet og fest
Konfigurasjonsalternativer. Angi konfigurasjonsmodus i henhold til innstillingen i On-Chip Flash IP. Figur 40. Valg av konfigurasjonsmodus i Quartus Prime-programvaren.

2. Klikk på OK for å lukke vinduet Enhets- og PIN-alternativer.
3. Klikk på OK for å lukke Enhetsvinduet.
4. Klikk på Behandling Start kompilering for å kompilere prosjektet og generere .sof-filen. file.

Note:

Hvis konfigurasjonsmodusinnstillingen i Quartus Prime-programvaren og parameterredigereren for Platform Designer er forskjellig, mislykkes Quartus Prime-prosjektet med følgende feilmelding.

Figur 41.

Feilmelding for forskjellig konfigurasjonsmodusinnstilling (14740): Konfigurasjonsmodus på atom “q_sys:q_sys_inst| altera_onchip_flash:onchip_flash_1|altera_onchip_flash_block: altera_onchip_flash_block|ufm_block” samsvarer ikke med prosjektinnstillingen. Oppdater og regenerer Qsys-systemet slik at det samsvarer med prosjektinnstillingen.

Relatert informasjon Brukerveiledning for MAX 10 FPGA-konfigurasjon

4.5.2.2. Flyt for programvaredesign
Denne delen beskriver designflyten for å generere og bygge Nios V-prosessorprogramvareprosjektet. For å sikre en strømlinjeformet byggeflyt, oppfordres du til å opprette et lignende katalogtre i designprosjektet ditt. Følgende programvaredesignflyt er basert på dette katalogtreet.
For å opprette katalogtreet for programvareprosjektet, følg disse trinnene: 1. Opprett en mappe kalt programvare i designprosjektmappen din. 2. Opprett to mapper kalt hal_app og hal_bsp i programvaremappen.
Figur 42. Katalogtre for programvareprosjekter

Nios® V håndbok for innebygd prosessordesign 62

Send tilbakemelding

4. Nios V-prosessorkonfigurasjons- og oppstartsløsninger 726952 | 2025.07.16
Opprette applikasjons-BSP-prosjektet
For å starte BSP Editor, følg disse trinnene: 1. Gå inn i Nios V Command Shell. 2. Kall BSP Editor med kommandoen niosv-bsp-editor. 3. I BSP Editor, klikk på File Ny BSP for å starte BSP-prosjektet ditt. 4. Konfigurer følgende innstillinger:
· SOPC-informasjon File navn: Oppgi SOPCINFO file (.sopcinfo). · CPU-navn: Velg Nios V-prosessor. · Operativsystem: Velg operativsystemet til Nios V-prosessoren. · Versjon: La stå som standard. · BSP-målkatalog: Velg katalogbanen til BSP-prosjektet. Du kan
forhåndsinnstilt den på /software/hal_bsp ved å aktivere Bruk standardplasseringer. · BSP-innstillinger File navn: Skriv inn navnet på BSP-innstillingene File· Ytterligere Tcl-skript: Oppgi et BSP Tcl-skript ved å aktivere Aktiver ekstra Tcl-skript. 5. Klikk på OK.
Figur 43. Konfigurer ny BSP

Konfigurere BSP-editoren og generere BSP-prosjektet
Du kan definere prosessorens unntaksvektor enten i On-Chip Memory (OCRAM) eller On-Chip Flash basert på designpreferansene dine. Det anbefales å sette unntaksvektorminnet til OCRAM/ekstern RAM for å gjøre avbruddsbehandlingen raskere. 1. Gå til Hovedinnstillinger Avansert hal.linker. 2. Hvis du velger On-Chip Flash som unntaksvektor,
a. Aktiver følgende innstillinger:

Send tilbakemelding

Nios® V håndbok for innebygd prosessordesign 63

4. Nios V-prosessorkonfigurasjons- og oppstartsløsninger 726952 | 2025.07.16
· allow_code_at_reset · enable_alt_load · enable_alt_load_copy_rodata · enable_alt_load_copy_rwdata Figur 44. Advanced.hal.linker-innstillinger

b. Klikk på fanen Linker Script i BSP Editor. c. Angi .exceptions- og .text-områdene i Linker Section Name til
On-Chip Flash. d. Sett resten av regionene i listen Linker Section Name til On-Chip
Minne (OCRAM) eller ekstern RAM.
Figur 45. Innstillinger for linkerregion (unntaksvektorminne: Flash på chip)

3. Hvis du velger OCRAM/ekstern RAM som unntaksvektor, a. Aktiver følgende innstillinger: · allow_code_at_reset · enable_alt_load · enable_alt_load_copy_rodata · enable_alt_load_copy_rwdata · enable_alt_load_copy_exception
Figur 46. Innstillinger for lenkeområde (unntaksvektorminne: OCRAM/ekstern RAM)

b. Klikk på fanen Linker Script i BSP Editor.
c. Sett .text-regionene i Linker-seksjonsnavnet til On-Chip Flash.
d. Angi resten av områdene i listen over linkerseksjonsnavn til On-Chip Memory (OCRAM) eller ekstern RAM.

Nios® V håndbok for innebygd prosessordesign 64

Send tilbakemelding

4. Nios V-prosessorkonfigurasjons- og oppstartsløsninger 726952 | 2025.07.16
Figur 47. Innstillinger for linkerregion (unntaksvektorminne: OCRAM)
4. Klikk på Generer for å generere BSP-prosjektet. Generere brukerapplikasjonsprosjektet File 1. Naviger til mappen software/hal_app og opprett kildekoden for applikasjonen din.
kode. 2. Start Nios V-kommandoskallet. 3. Kjør kommandoen nedenfor for å generere applikasjonen CMakeLists.txt.
niosv-app –app-dir=programvare/hal_app –bsp-dir=programvare/hal_bsp –srcs=programvare/hal_app/
Bygge brukerapplikasjonsprosjektet Du kan velge å bygge brukerapplikasjonsprosjektet ved hjelp av Ashling RiscFree IDE for Altera FPGAer eller via kommandolinjegrensesnittet (CLI). Hvis du foretrekker å bruke CLI, kan du bygge brukerapplikasjonen ved hjelp av følgende kommando: cmake -G “Unix Makefiles” -B programvare/hal_app/bygg -S programvare/hal_app make -C programvare/hal_app/bygg
Applikasjonen (.elf) file opprettes i mappen software/hal_app/build. Generering av HEX-koden File Du må generere en .hex file fra applikasjonen din .elf file, slik at du kan opprette en .pof file egnet for programmering av enhetene. 1. Start Nios V Command Shell. 2. For oppstart av Nios V-prosessorapplikasjonen fra On-Chip Flash, bruk følgende
kommandolinjen for å konvertere ELF til HEX for applikasjonen din. Denne kommandoen oppretter brukerapplikasjonen (onchip_flash.hex) fileelf2hex programvare/hal_app/bygg/ .elf -o onchip_flash.hex
-b -w 8 -e 3. Kompiler maskinvaredesignet på nytt hvis du merker av for alternativet Initialiser minneinnhold i On-Chip Flash IP (metode 1). Dette er for å inkludere programvaredataene (.HEX) i SOF-en. file.

Send tilbakemelding

Nios® V håndbok for innebygd prosessordesign 65

4. Nios V-prosessorkonfigurasjons- og oppstartsløsninger 726952 | 2025.07.16
4.5.2.3. Programmering 1. Klikk på i Quartus Prime File Konverter programmering Files. 2. Under Utgangsprogrammering file, velg Programmerobjekt File (.pof) som programmering file 3. Sett Modus til Intern konfigurasjon.
Figur 48. Konverteringsprogrammering File Innstillinger
4. Klikk på Alternativer/Oppstartsinfo…. Vinduet for MAX 10-enhetsalternativer vises. 5. Basert på innstillingene for initialisering av flash-innhold i den innebygde flash-IP-adressen, utfør
ett av følgende trinn: · Hvis Initialiser flash-innhold er avmerket (metode 1), vil UFM-initialiseringsdataene
ble inkludert i SOF under Quartus Prime-kompileringen. — Velg Page_0 for UFM-kilde: alternativet. Klikk på OK og fortsett til
neste. Figur 49. Angi Page_0 for UFM-kilde hvis Initialiser Flash-innhold er avmerket.

Nios® V håndbok for innebygd prosessordesign 66

Send tilbakemelding

4. Nios V-prosessorkonfigurasjons- og oppstartsløsninger 726952 | 2025.07.16
· Hvis Initialiser flash-innhold ikke er avmerket (metode 2), velg Last inn minne file for UFM-kildealternativet. Bla til den genererte On-chip Flash HEX-en. file (onchip_flash.hex) i File sti: og klikk OK. Dette trinnet legger til UFM-data separat i SOF-en file under programmeringen file omdannelse.
Figur 50. Innstilling av lastminne File for UFM-kilde hvis Initialiser Flash-innhold ikke er avmerket

6. I Konverter-programmeringen File dialogboksen ved inndata fileFor å konvertere seksjonen, klikk på Legg til File... og pek på den genererte Quartus Prime .sof file.
Figur 51. Inndata Files å konvertere i konverterprogrammering Files for enkeltbildemodus

7. Klikk på Generer for å opprette .pof-filen file. 8. Programmer .pof-filen file inn i MAX 10-enheten din. 9. Slå av og på maskinvaren.

4.5.3. Nios V-prosessorapplikasjon kopiert fra UFM til RAM ved hjelp av Boot Copier

Altera anbefaler denne løsningen for MAX 10 FPGA Nios V-prosessorsystemdesign der det kreves flere iterasjoner av applikasjonsprogramvareutvikling og høy systemytelse. Oppstartskopimaskinen er plassert i UFM med en offset som er samme adresse som tilbakestillingsvektoren. Nios V-applikasjonen er plassert ved siden av oppstartskopimaskinen.

For dette oppstartsalternativet starter Nios V-prosessoren å kjøre oppstartskopieringsprogrammet ved systemtilbakestilling for å kopiere programmet fra UFM-sektoren til OCRAM eller ekstern RAM. Når kopieringen er fullført, overfører Nios V-prosessoren programkontrollen til programmet.

Note:

Den anvendte oppstartskopieringsprogrammet er det samme som oppstartslasteren via GSFI.

Send tilbakemelding

Nios® V håndbok for innebygd prosessordesign 67

4. Nios V-prosessorkonfigurasjons- og oppstartsløsninger 726952 | 2025.07.16

Figur 52. Nios V-applikasjon kopiert fra UFM til RAM ved hjelp av Boot Copier

Maks 10 enheter

.POF
Nios V Maskinvare .SOF
Nios V-programvare .HEX
Bootloader .SREC

Quartus-programmerer

Ekstern RAM
Nios V-programvare

Flash på brikken

CFM

Nios V. Hardwa

Dokumenter / Ressurser

PDF thumbnailNios V innebygd prosessor
User Guide · Nios V, Nios V-m, Nios V-g, Nios V-c, Nios V Embedded Processor, Nios V, Embedded Processor, Processor

Referanser

Still et spørsmål

Use this section to ask about setup, compatibility, troubleshooting, or anything missing from this manual.

Still et spørsmål

Ask a question about setup, compatibility, troubleshooting, or anything missing from this manual.