altera Nios V Embedded Processor

Specifiche

  • Nome prodotto: Processore Nios V
  • Compatibilità software: Quartus Prime Software e Platform Designer
  • Tipo di processore: Altera FPGA
  • Sistema di memoria: memoria volatile e non volatile
  • Interfaccia di comunicazione: agente UART

Progettazione del sistema hardware del processore Nios V

Per progettare il sistema hardware del processore Nios V, seguire questi passaggi:

  1. Creare il progetto del sistema del processore Nios V utilizzando Platform Designer.
  2. Integrare il sistema nel progetto Quartus Prime.
  3. Progettare un sistema di memoria che comprenda memoria volatile e non volatile.
  4. Implementare le migliori pratiche in materia di orologi e reimpostazioni.
  5. Assegnare agenti predefiniti e UART per un funzionamento efficiente.

Progettazione del sistema software del processore Nios V

Per progettare il sistema software per il processore Nios V:

  1. Segui il flusso di sviluppo del software per il processore Nios V.
  2. Creare un progetto di pacchetto di supporto del consiglio e un progetto di applicazione.

Soluzioni di configurazione e avvio del processore Nios V

Per configurare e avviare il processore Nios V:

  1. Comprendere l'introduzione alle soluzioni di configurazione e avvio.
  2. Collega le applicazioni per un funzionamento senza interruzioni.

Informazioni sul processore incorporato Nios® V
1.1. Altera® FPGA e processori embedded oltreview
I dispositivi FPGA Altera possono implementare una logica che funziona come un microprocessore completo, offrendo al contempo numerose opzioni.
Una differenza importante tra i microprocessori discreti e gli FPGA Altera è che la struttura FPGA Altera non contiene alcuna logica all'accensione. Il processore Nios® V è un processore con proprietà intellettuale (IP) soft basato sulla specifica RISC-V. Prima di eseguire software su un sistema basato su processore Nios V, è necessario configurare il dispositivo FPGA Altera con un progetto hardware che includa un processore Nios V. È possibile posizionare il processore Nios V in qualsiasi punto dell'FPGA Altera, a seconda dei requisiti del progetto.


Per consentire al tuo sistema embedded basato su IP FPGA Altera® di comportarsi come un sistema discreto basato su microprocessore, il sistema deve includere quanto segue: · AJTAG interfaccia per supportare la configurazione, l'hardware e il software dell'FPGA Altera
debug · Un meccanismo di configurazione FPGA Altera all'accensione
Se il sistema dispone di queste funzionalità, è possibile iniziare a perfezionare il progetto partendo da un progetto hardware pre-testato caricato nell'FPGA Altera. L'utilizzo di un FPGA Altera consente inoltre di modificare rapidamente il progetto per risolvere problemi o aggiungere nuove funzionalità. È possibile testare facilmente questi nuovi progetti hardware riconfigurando l'FPGA Altera tramite il J-code del sistema.TAG interfaccia.
Il JTAG L'interfaccia supporta lo sviluppo hardware e software. È possibile eseguire le seguenti attività utilizzando JTAG interfaccia: · Configurare l'FPGA Altera · Scaricare e eseguire il debug del software · Comunicare con l'FPGA Altera tramite un'interfaccia simile a UART (JTAG UART
terminale) · Debug hardware (con l'analizzatore logico incorporato Signal Tap) · Programmazione della memoria flash
Dopo aver configurato l'FPGA Altera con un progetto basato sul processore Nios V, il flusso di sviluppo del software è simile al flusso per i progetti di microcontrollori discreti.


Informazioni correlate · AN 985: Tutorial sul processore Nios V
Una guida rapida su come creare un semplice sistema con processore Nios V ed eseguire l'applicazione Hello World.
© Altera Corporation. Altera, il logo Altera, il logo `a' e altri marchi Altera sono marchi registrati di Altera Corporation. Altera si riserva il diritto di apportare modifiche a qualsiasi prodotto e servizio in qualsiasi momento e senza preavviso. Altera non si assume alcuna responsabilità derivante dall'applicazione o dall'utilizzo di qualsiasi informazione, prodotto o servizio qui descritto, salvo quanto espressamente concordato per iscritto da Altera. Si consiglia ai clienti Altera di procurarsi la versione più recente delle specifiche dei dispositivi prima di fare affidamento su qualsiasi informazione pubblicata e prima di effettuare ordini di prodotti o servizi. *Altri nomi e marchi potrebbero essere rivendicati come proprietà di terzi.

1. Informazioni sul processore Nios® V Embedded 726952 | 16/07/2025
· Manuale di riferimento del processore Nios V Fornisce informazioni sui benchmark delle prestazioni del processore Nios V, sull'architettura del processore, sul modello di programmazione e sull'implementazione del core.
· Manuale utente IP per periferiche integrate · Manuale per sviluppatori software del processore Nios V


Descrive l'ambiente di sviluppo software del processore Nios V, gli strumenti disponibili e il processo per creare software da eseguire sul processore Nios V. · Ashling* RiscFree* Integrated Development Environment (IDE) per Altera FPGAs User Guide Descrive l'ambiente di sviluppo integrato (IDE) RiscFree* per Altera FPGAs HPS basato su Arm* e processore core Nios V. · Note sulla versione IP Altera FPGA del processore Nios V
1.2. Supporto software Quartus® Prime
Il flusso di sviluppo del processore Nios V è diverso per il software Quartus® Prime Pro Edition e il software Quartus Prime Standard Edition. Per ulteriori informazioni sulle differenze, consultare l'articolo AN 980: Supporto software Quartus Prime per processore Nios V.
Informazioni correlate AN 980: Supporto software Quartus Prime per processore Nios V
1.3. Licenza del processore Nios V
Ogni variante del processore Nios V ha la propria chiave di licenza. Una volta acquisita la chiave di licenza, è possibile utilizzarla per tutti i progetti basati sul processore Nios V fino alla data di scadenza. È possibile acquistare le licenze IP Altera FPGA per il processore Nios V a costo zero.
L'elenco delle chiavi di licenza per il processore Nios V è disponibile nell'Altera FPGA Self-Service Licensing Center. Clicca sulla scheda Iscriviti per una licenza di valutazione o gratuita e seleziona le opzioni corrispondenti per effettuare la richiesta.
Figura 1. Centro di licenze self-service FPGA Altera

Con le chiavi di licenza puoi:
Invia feedback

Manuale di progettazione del processore embedded Nios® V 7

1. Informazioni sul processore Nios® V Embedded 726952 | 16/07/2025
· Implementare un processore Nios V nel tuo sistema. · Simulare il comportamento di un sistema con processore Nios V. · Verificare la funzionalità del progetto, come dimensioni e velocità. · Generare la programmazione del dispositivo. files. · Programmare un dispositivo e verificarne il progetto nell'hardware.
Non è necessaria una licenza per sviluppare software nell'IDE Ashling* RiscFree* per FPGA Altera.
Informazioni correlate · Centro licenze self-service FPGA Altera
Per ulteriori informazioni su come ottenere le chiavi di licenza IP Altera FPGA del processore Nios V. · Installazione e licenza del software Altera FPGA Per ulteriori informazioni sulla licenza del software Altera FPGA e sulla configurazione di una licenza fissa e di un server di licenze di rete.
1.4. Progettazione di sistemi integrati
La figura seguente illustra un flusso di progettazione semplificato del sistema basato sul processore Nios V, che include sia lo sviluppo hardware che quello software.

Manuale di progettazione del processore embedded Nios® V 8

Invia feedback

1. Informazioni sul processore Nios® V Embedded 726952 | 16/07/2025

Figura 2.

Flusso di progettazione del sistema di elaborazione Nios V
Concetto di sistema

Analizza i requisiti di sistema

Nios® V
Core del processore e componenti standard

Definire e generare il sistema in
Progettista di piattaforme

Flusso hardware: integrare e compilare il progetto Intel Quartus Prime

Flusso del software: sviluppare e costruire il software di proposta Nios V

Flusso hardware: scarica il progetto FPGA
alla scheda Target

Flusso del software: test e debug del software del processore Nios V

Il software non soddisfa le specifiche?

L'hardware non soddisfa le specifiche? Sì
Sistema completo

Invia feedback

Manuale di progettazione del processore embedded Nios® V 9

726952 | 2025.07.16 Invia feedback

2. Progettazione del sistema hardware del processore Nios V con Quartus Prime Software e Platform Designer

Figura 3.

Il diagramma seguente illustra un tipico progetto hardware del processore Nios V. Flusso di progettazione hardware del sistema del processore Nios V

Inizio

Core e componenti standard di Nios V

Utilizzare Platform Designer per progettare un sistema basato su Nios V
Genera il design del progettista della piattaforma

Integrare il sistema Platform Designer con il progetto Intel Quartus Prime
Assegnare posizioni dei pin, requisiti di temporizzazione e altri vincoli di progettazione
Compilare l'hardware per il dispositivo di destinazione in Intel Quartus Prime

Pronto per il download
2.1. Creazione del design del sistema del processore Nios V con Platform Designer
Il software Quartus Prime include lo strumento di integrazione di sistema Platform Designer, che semplifica la definizione e l'integrazione del core IP del processore Nios V e di altri IP in un progetto di sistema FPGA Altera. Platform Designer crea automaticamente la logica di interconnessione a partire dalla connettività di alto livello specificata. L'automazione delle interconnessioni elimina la laboriosa attività di specifica delle connessioni HDL a livello di sistema.
© Altera Corporation. Altera, il logo Altera, il logo `a' e altri marchi Altera sono marchi registrati di Altera Corporation. Altera si riserva il diritto di apportare modifiche a qualsiasi prodotto e servizio in qualsiasi momento e senza preavviso. Altera non si assume alcuna responsabilità derivante dall'applicazione o dall'utilizzo di qualsiasi informazione, prodotto o servizio qui descritto, salvo quanto espressamente concordato per iscritto da Altera. Si consiglia ai clienti Altera di procurarsi la versione più recente delle specifiche dei dispositivi prima di fare affidamento su qualsiasi informazione pubblicata e prima di effettuare ordini di prodotti o servizi. *Altri nomi e marchi potrebbero essere rivendicati come proprietà di terzi.

2. Progettazione del sistema hardware del processore Nios V con Quartus Prime Software e Platform Designer
Italiano: 726952 | 2025.07.16

Dopo aver analizzato i requisiti hardware del sistema, si utilizza Quartus Prime per specificare il core del processore Nios V, la memoria e gli altri componenti richiesti dal sistema. Platform Designer genera automaticamente la logica di interconnessione per integrare i componenti nel sistema hardware.

2.1.1. Istanziazione dell'IP FPGA Altera del processore Nios V

È possibile creare un'istanza di uno qualsiasi dei core IP del processore nel catalogo IP di Platform Designer, Processori e periferiche incorporati.

Il core IP di ciascun processore supporta diverse opzioni di configurazione in base alla sua architettura unica. È possibile definire queste configurazioni in base alle proprie esigenze di progettazione.

Tabella 1.

Opzioni di configurazione tra le varianti principali

Opzioni di configurazione

Processore Nios V/c

Processore Nios V/m

Debug Usa Richiesta di Reimpostazione

Trappole, eccezioni e interruzioni

Architettura della CPU

ECC

Cache, regioni periferiche e TCM

Istruzioni personalizzate

passo sicuro

Processore Nios V/g

2.1.1.1. Creazione di un'istanza del microcontrollore compatto Nios V/c Altera FPGA IP Figura 4. Nios V/c Compact Microcontrollore Altera FPGA IP

Invia feedback

Manuale di progettazione del processore embedded Nios® V 11

2. Progettazione del sistema hardware del processore Nios V con Quartus Prime Software e Platform Designer
Italiano: 726952 | 2025.07.16

2.1.1.1.1. Scheda Architettura CPU

Tabella 2.

Scheda Architettura CPU

Caratteristica

Descrizione

Abilita l'interfaccia Avalon® Abilita l'interfaccia Avalon per il gestore delle istruzioni e il gestore dei dati. Se disabilitata, il sistema utilizza l'interfaccia AXI4-Lite.

valore CSR mhartid

· Opzione IP non valida. · Non utilizzare il valore CSR mhartid nel processore Nios V/c.

2.1.1.1.2. Utilizzare la scheda Richiesta di ripristino

Tabella 3.

Utilizzare il parametro della scheda Richiesta di reimpostazione

Utilizzare la scheda Richiesta di ripristino

Descrizione

Aggiungi interfaccia di richiesta di ripristino

· Abilitare questa opzione per esporre le porte di ripristino locali in cui un master locale può utilizzarle per attivare il ripristino del processore Nios V senza influire sugli altri componenti in un sistema con processore Nios V.
· L'interfaccia di reset è composta da un segnale di input resetreq e da un segnale di output ack.
· È possibile richiedere un ripristino del core del processore Nios V attivando il segnale resetreq.
· Il segnale resetreq deve rimanere attivo finché il processore non attiva il segnale ack. Se il segnale non rimane attivo, il processore può trovarsi in uno stato non deterministico.
· Il processore Nios V risponde che il ripristino è riuscito asserendo il segnale di conferma.
· Dopo che il processore è stato ripristinato correttamente, l'asserzione del segnale ack può verificarsi più volte periodicamente fino alla de-asserzione del segnale resetreq.

2.1.1.1.3. Scheda Trappole, eccezioni e interruzioni

Tabella 4.

Parametri della scheda Trappole, eccezioni e interruzioni

Trappole, eccezioni e interruzioni

Descrizione

Ripristina agente

· La memoria che ospita il vettore di reset (l'indirizzo di reset del processore Nios V) in cui risiede il codice di reset.
· È possibile selezionare qualsiasi modulo di memoria connesso al master di istruzioni del processore Nios V e supportato da un flusso di avvio del processore Nios V come agente di ripristino.

Ripristina offset

· Specifica l'offset del vettore di reset rispetto all'indirizzo base dell'agente di reset scelto. · Platform Designer fornisce automaticamente un valore predefinito per l'offset di reset.

Nota:

Platform Designer offre un'opzione Assoluto, che consente di specificare un indirizzo assoluto in Offset di Reset. Utilizzare questa opzione quando la memoria che memorizza il vettore di reset si trova all'esterno del sistema e dei sottosistemi del processore.

Manuale di progettazione del processore embedded Nios® V 12

Invia feedback

2. Progettazione del sistema hardware del processore Nios V con Quartus Prime Software e Platform Designer
Italiano: 726952 | 2025.07.16

2.1.1.1.4. Scheda ECC

Tabella 5.

Scheda ECC

ECC

Abilita rilevamento errori e segnalazione stato

Descrizione
· Abilitare questa opzione per applicare la funzionalità ECC ai blocchi RAM interni del processore Nios V. · Le funzionalità ECC rilevano errori fino a 2 bit e reagiscono in base al seguente comportamento:
— Se si tratta di un errore correggibile a 1 bit, il processore continua a funzionare dopo aver corretto l'errore nella pipeline del processore. Tuttavia, la correzione non si riflette nelle memorie sorgente.
— Se l'errore non è correggibile, il processore continua a funzionare senza correggerlo nella pipeline del processore e nelle memorie di origine, il che potrebbe far entrare il processore in uno stato non deterministico.

2.1.1.2. Istanziazione del microcontrollore Nios V/m Altera FPGA IP Figura 5. Microcontrollore Nios V/m Altera FPGA IP

Invia feedback

Manuale di progettazione del processore embedded Nios® V 13

2. Progettazione del sistema hardware del processore Nios V con Quartus Prime Software e Platform Designer
Italiano: 726952 | 2025.07.16

2.1.1.2.1. Scheda Debug

Tabella 6.

Parametri della scheda Debug

Scheda Debug

Descrizione

Abilita debug
Abilita il ripristino dal modulo di debug

· Abilita questa opzione per aggiungere la JTAG modulo di connessione di destinazione al processore Nios V. · Il JTAG Il modulo di connessione di destinazione consente la connessione al processore Nios V tramite
JTAG pin di interfaccia dell'FPGA. · La connessione fornisce le seguenti funzionalità di base:
— Avvia e arresta il processore Nios V — Esamina e modifica registri e memoria. — Scarica l'applicazione Nios V .elf file alla memoria del processore in fase di esecuzione tramite
niosv-download. — Esegue il debug dell'applicazione in esecuzione sul processore Nios V. · Collega la porta dm_agent al bus dati e alle istruzioni del processore. Assicurati che l'indirizzo di base tra i due bus sia lo stesso.
· Abilitare questa opzione per esporre le porte dbg_reset_out e ndm_reset_in. · JTAG debugger o il comando niosv-download -r attivano dbg_reset_out, che
consente al processore Nios V di reimpostare le periferiche di sistema che si connettono a questa porta. · È necessario collegare l'interfaccia dbg_reset_out a ndm_reset_in invece di reset
Interfaccia per attivare il reset del core del processore e del modulo timer. Non collegare l'interfaccia dbg_reset_out all'interfaccia di reset per evitare comportamenti indeterminati.

2.1.1.2.2. Utilizzare la scheda Richiesta di ripristino

Tabella 7.

Utilizzare il parametro della scheda Richiesta di reimpostazione

Utilizzare la scheda Richiesta di ripristino

Descrizione

Aggiungi interfaccia di richiesta di ripristino

· Abilitare questa opzione per esporre le porte di ripristino locali in cui un master locale può utilizzarle per attivare il ripristino del processore Nios V senza influire sugli altri componenti in un sistema con processore Nios V.
· L'interfaccia di reset è composta da un segnale di input resetreq e da un segnale di output ack.
· È possibile richiedere un ripristino del core del processore Nios V attivando il segnale resetreq.
· Il segnale resetreq deve rimanere attivo finché il processore non attiva il segnale ack. Se il segnale non rimane attivo, il processore può trovarsi in uno stato non deterministico.
· L'asserzione del segnale resetreq in modalità debug non ha alcun effetto sullo stato del processore.
· Il processore Nios V risponde che il ripristino è riuscito asserendo il segnale di conferma.
· Dopo che il processore è stato ripristinato correttamente, l'asserzione del segnale ack può verificarsi più volte periodicamente fino alla de-asserzione del segnale resetreq.

2.1.1.2.3. Scheda Trappole, eccezioni e interruzioni

Tabella 8.

Scheda Trappole, eccezioni e interruzioni

Scheda Trappole, eccezioni e interruzioni

Descrizione

Ripristina agente

· La memoria che ospita il vettore di reset (l'indirizzo di reset del processore Nios V) in cui risiede il codice di reset.
· È possibile selezionare qualsiasi modulo di memoria connesso al master di istruzioni del processore Nios V e supportato da un flusso di avvio del processore Nios V come agente di ripristino.

Ripristina modalità di interruzione offset

· Specifica l'offset del vettore di reset rispetto all'indirizzo base dell'agente di reset scelto. · Platform Designer fornisce automaticamente un valore predefinito per l'offset di reset.
Specificare il tipo di controller di interrupt: diretto o vettoriale. Nota: il processore Nios V/m non pipelined non supporta gli interrupt vettoriali.
Pertanto, evitare di utilizzare la modalità di interrupt vettoriale quando il processore è in modalità non pipeline.

Manuale di progettazione del processore embedded Nios® V 14

Invia feedback

2. Progettazione del sistema hardware del processore Nios V con Quartus Prime Software e Platform Designer
Italiano: 726952 | 2025.07.16

Nota:

Platform Designer offre un'opzione Assoluto, che consente di specificare un indirizzo assoluto in Offset di Reset. Utilizzare questa opzione quando la memoria che memorizza il vettore di reset si trova all'esterno del sistema e dei sottosistemi del processore.

2.1.1.2.4. Architettura della CPU

Tabella 9.

Parametri della scheda Architettura CPU

Architettura della CPU

Descrizione

Abilita Pipelining nella CPU

· Abilitare questa opzione per istanziare il processore Nios V/m pipelined. — L'IPC è più elevato a scapito di un'area logica più ampia e di una frequenza Fmax più bassa.
· Disabilitare questa opzione per istanziare il processore Nios V/m non pipelined. — Ha prestazioni di core simili al processore Nios V/c. — Supporta il debug e la capacità di interrupt — Area logica inferiore e frequenza Fmax più elevata a scapito di un IPC inferiore.

Abilita l'interfaccia Avalon

Abilita l'interfaccia Avalon per il gestore delle istruzioni e il gestore dei dati. Se disabilitata, il sistema utilizza l'interfaccia AXI4-Lite.

valore CSR mhartid

· Il valore predefinito del registro HART ID (mhartid) è 0. · Assegnare un valore compreso tra 0 e 4094. · Compatibile con l'API Altera FPGA Avalon Mutex Core HAL.

Informazioni correlate Guida utente IP periferica incorporata – Intel FPGA Avalon® Mutex Core

2.1.1.2.5. Scheda ECC
Tabella 10. Scheda ECC
ECC Abilita il rilevamento degli errori e la segnalazione dello stato

Descrizione
· Abilitare questa opzione per applicare la funzionalità ECC ai blocchi RAM interni del processore Nios V. · Le funzionalità ECC rilevano errori fino a 2 bit e reagiscono in base al seguente comportamento:
— Se si tratta di un errore correggibile a 1 bit, il processore continua a funzionare dopo aver corretto l'errore nella pipeline del processore. Tuttavia, la correzione non si riflette nelle memorie sorgente.
— Se l'errore non è correggibile, il processore continua a funzionare senza correggerlo nella pipeline del processore e nelle memorie di origine, il che potrebbe far entrare il processore in uno stato non deterministico.

Invia feedback

Manuale di progettazione del processore embedded Nios® V 15

2. Progettazione del sistema hardware del processore Nios V con Quartus Prime Software e Platform Designer
Italiano: 726952 | 2025.07.16
2.1.1.3. Istanziazione del processore generico Nios V/g Altera FPGA IP
Figura 6. Processore generico Nios V/g Altera FPGA IP – Parte 1

Figura 7.

Processore per uso generale Nios V/g Altera FPGA IP – Parte 2 (Disattiva/Abilita/Disattiva/Abilita il controller di interrupt a livello di core)

Manuale di progettazione del processore embedded Nios® V 16

Invia feedback

2. Progettazione del sistema hardware del processore Nios V con Quartus Prime Software e Platform Designer
Italiano: 726952 | 2025.07.16

Figura 8.

Processore per uso generale Nios V/g Altera FPGA IP – Parte 2 (Attivazione e abilitazione del controller di interrupt a livello di core)

Figura 9. Processore generico Nios V/g Altera FPGA IP – Parte 3

Invia feedback

Manuale di progettazione del processore embedded Nios® V 17

2. Progettazione del sistema hardware del processore Nios V con Quartus Prime Software e Platform Designer
Italiano: 726952 | 2025.07.16
Figura 10. Processore generico Nios V/g Altera FPGA IP – Parte 4

2.1.1.3.1. Architettura della CPU

Tabella 11. Parametri dell'architettura della CPU

Scheda Architettura CPU Abilita unità a virgola mobile

Descrizione Abilitare questa opzione per aggiungere l'unità in virgola mobile (estensione "F") nel core del processore.

Abilita la previsione delle diramazioni

Abilita la previsione statica delle diramazioni (Backward Taken e Forward Not Taken) per le istruzioni di diramazione.

valore CSR mhartid

· Il valore predefinito del registro HART ID (mhartid) è 0. · Assegnare un valore compreso tra 0 e 4094. · Compatibile con l'API Altera FPGA Avalon Mutex Core HAL.

Disabilitare le istruzioni FSQRT e FDIV per FPU

· Rimuovere le operazioni di radice quadrata in virgola mobile (FSQRT) e divisione in virgola mobile (FDIV) in FPU.
· Applicare l'emulazione software su entrambe le istruzioni durante l'esecuzione.

Informazioni correlate Guida utente IP periferica incorporata – Intel FPGA Avalon® Mutex Core

Manuale di progettazione del processore embedded Nios® V 18

Invia feedback

2. Progettazione del sistema hardware del processore Nios V con Quartus Prime Software e Platform Designer
Italiano: 726952 | 2025.07.16

2.1.1.3.2. Scheda Debug

Tabella 12. Parametri della scheda Debug

Scheda Debug

Descrizione

Abilita debug
Abilita il ripristino dal modulo di debug

· Abilita questa opzione per aggiungere la JTAG modulo di connessione di destinazione al processore Nios V. · Il JTAG Il modulo di connessione di destinazione consente la connessione al processore Nios V tramite
JTAG pin di interfaccia dell'FPGA. · La connessione fornisce le seguenti funzionalità di base:
— Avvia e arresta il processore Nios V — Esamina e modifica registri e memoria. — Scarica l'applicazione Nios V .elf file alla memoria del processore in fase di esecuzione tramite
niosv-download. — Esegue il debug dell'applicazione in esecuzione sul processore Nios V. · Collega la porta dm_agent al bus dati e alle istruzioni del processore. Assicurati che l'indirizzo di base tra i due bus sia lo stesso.
· Abilitare questa opzione per esporre le porte dbg_reset_out e ndm_reset_in. · JTAG debugger o il comando niosv-download -r attivano dbg_reset_out, che
consente al processore Nios V di reimpostare le periferiche di sistema che si connettono a questa porta. · È necessario collegare l'interfaccia dbg_reset_out a ndm_reset_in invece di reset
Interfaccia per attivare il reset del core del processore e del modulo timer. Non collegare l'interfaccia dbg_reset_out all'interfaccia di reset per evitare comportamenti indeterminati.

2.1.1.3.3. Tabella delle schede Lockstep 13. Scheda Lockstep
Parametri Abilita periodo di timeout predefinito Lockstep Abilita interfaccia di ripristino esteso

Descrizione · Abilita il sistema Lockstep dual core. · Valore predefinito del timeout programmabile all'uscita dal reset (tra 0 e 255). · Abilita l'interfaccia di reset estesa opzionale per il controllo del reset esteso. · Se disabilitato, fRSmartComp implementa il controllo del reset di base.

2.1.1.3.4. Utilizzare la scheda Richiesta di ripristino

Tabella 14. Utilizzare il parametro della scheda Richiesta di ripristino

Utilizzare la scheda Richiesta di ripristino

Descrizione

Aggiungi interfaccia di richiesta di ripristino

· Abilitare questa opzione per esporre le porte di ripristino locali in cui un master locale può utilizzarle per attivare il ripristino del processore Nios V senza influire sugli altri componenti in un sistema con processore Nios V.
· L'interfaccia di reset è composta da un segnale di input resetreq e da un segnale di output ack.
· È possibile richiedere un ripristino del core del processore Nios V attivando il segnale resetreq.
· Il segnale resetreq deve rimanere attivo finché il processore non attiva il segnale ack. Se il segnale non rimane attivo, il processore può trovarsi in uno stato non deterministico.
· L'asserzione del segnale resetreq in modalità debug non ha alcun effetto sullo stato del processore.
· Il processore Nios V risponde che il ripristino è riuscito asserendo il segnale di conferma.
· Dopo che il processore è stato ripristinato correttamente, l'asserzione del segnale ack può verificarsi più volte periodicamente fino alla de-asserzione del segnale resetreq.

Invia feedback

Manuale di progettazione del processore embedded Nios® V 19

2. Progettazione del sistema hardware del processore Nios V con Quartus Prime Software e Platform Designer
Italiano: 726952 | 2025.07.16

2.1.1.3.5. Scheda Trappole, eccezioni e interruzioni

Tabella 15.

Scheda Trappole, eccezioni e interruzioni quando l'opzione Abilita controller di interruzione a livello di core è disattivata

Scheda Trappole, eccezioni e interruzioni
Ripristina agente

Descrizione
· La memoria che ospita il vettore di reset (l'indirizzo di reset del processore Nios V) in cui risiede il codice di reset.
· È possibile selezionare qualsiasi modulo di memoria connesso al master di istruzioni del processore Nios V e supportato da un flusso di avvio del processore Nios V come agente di ripristino.

Ripristina offset

· Specifica l'offset del vettore di reset rispetto all'indirizzo base dell'agente di reset scelto. · Platform Designer fornisce automaticamente un valore predefinito per l'offset di reset.

Abilita il controller di interrupt a livello di core (CLIC)

· Abilitare CLIC per supportare interruzioni preventive e condizioni di attivazione delle interruzioni configurabili.
· Se abilitata, è possibile configurare il numero di interrupt della piattaforma, impostare le condizioni di attivazione e designare alcuni interrupt come preventivi.

Registro ombra della modalità di interruzione Files

Specificare i tipi di interrupt come Diretto o Vettorizzato. Abilitare il registro shadow per ridurre il cambio di contesto in caso di interrupt.

Tabella 16.

Trappole, eccezioni e interruzioni quando è attivato il controller di interrupt a livello di core

Trappole, eccezioni e interruzioni

Descrizioni

Ripristina agente
Ripristina offset
Abilita il controller di interrupt a livello di core (CLIC)

· La memoria che ospita il vettore di reset (l'indirizzo di reset del processore Nios V) in cui risiede il codice di reset.
· È possibile selezionare qualsiasi modulo di memoria connesso al master di istruzioni del processore Nios V e supportato da un flusso di avvio del processore Nios V come agente di ripristino.
· Specifica l'offset del vettore di reset rispetto all'indirizzo base dell'agente di reset scelto. · Platform Designer fornisce automaticamente un valore predefinito per l'offset di reset.
· Abilita CLIC per supportare interrupt preventivi e condizioni di attivazione degli interrupt configurabili. · Se abilitato, è possibile configurare il numero di interrupt della piattaforma, impostare le condizioni di attivazione,
e designare alcune delle interruzioni come preventive.

Modalità di interruzione

· Specificare i tipi di interrupt come Diretto, Vettorizzato o CLIC.

Registro delle ombre Files

· Abilitare il registro ombra per ridurre il cambio di contesto in caso di interruzione.
· Offre due approcci:
— Numero di livelli di interruzione CLIC
— Numero di livelli di interrupt CLIC – 1: questa opzione è utile quando si desidera il numero di registri file copie adatte a un numero esatto di blocchi M20K o M9K.
· Abilitare il processore Nios V per utilizzare il registro ombra fileche riducono il sovraccarico di cambio di contesto in caso di interruzione.
Per maggiori informazioni sul registro ombra files, fare riferimento al Manuale di riferimento del processore Nios V.

Numero di sorgenti di interruzione della piattaforma

· Specifica il numero di interrupt della piattaforma tra 16 e 2048.
Nota: CLIC supporta fino a 2064 ingressi di interrupt e i primi 16 ingressi di interrupt sono collegati anche al controller di interrupt di base.

Allineamento della tabella vettoriale CLIC

· Determinato automaticamente in base al numero di sorgenti di interrupt della piattaforma. · Se si utilizza un allineamento inferiore al valore consigliato, il CLIC aumenta la logica
complessità aggiungendo un sommatore extra per eseguire calcoli di vettorizzazione. · Se si utilizza un allineamento inferiore al valore consigliato, ciò si traduce in un aumento
complessità logica nel CLIC.
continua…

Manuale di progettazione del processore embedded Nios® V 20

Invia feedback

2. Progettazione del sistema hardware del processore Nios V con Quartus Prime Software e Platform Designer
Italiano: 726952 | 2025.07.16

Trappole, eccezioni e interruzioni
Numero di livelli di interruzione
Numero di priorità di interruzione per livello
Polarità di interrupt configurabile Supporta interrupt attivati ​​dal fronte

Descrizioni
· Specifica il numero di livelli di interrupt con un livello aggiuntivo 0 per il codice applicativo. Gli interrupt di livello superiore possono interrompere (precedere) un gestore in esecuzione per un interrupt di livello inferiore.
· Con livelli di interrupt diversi da zero come uniche opzioni per gli interrupt, il codice applicativo è sempre al livello più basso, ovvero 0. Nota: la configurazione a runtime del livello e della priorità di un interrupt viene effettuata in un singolo registro a 8 bit. Se il numero di livelli di interrupt è 256, non è possibile configurare la priorità di interrupt a runtime. In caso contrario, il numero massimo di priorità configurabili è 256 / (numero di livelli di interrupt – 1).
· Specifica il numero di priorità di interrupt, che CLIC utilizza per determinare l'ordine in cui vengono chiamati i gestori di interrupt non preempting. Nota: la concatenazione dei valori binari del livello di interrupt selezionato e della priorità di interrupt selezionata deve essere inferiore a 8 bit.
· Consente di configurare la polarità dell'interruzione durante l'esecuzione. · La polarità predefinita è la polarità positiva.
· Consente di configurare la condizione di attivazione dell'interruzione durante il runtime, ovvero attivata ad alto livello o attivata con fronte positivo (quando la polarità dell'interruzione è positiva in Polarità dell'interruzione configurabile).
· La condizione di attivazione predefinita è l'interruzione attivata dal livello.

Nota:

Platform Designer offre un'opzione Assoluto, che consente di specificare un indirizzo assoluto in Offset di Reset. Utilizzare questa opzione quando la memoria che memorizza il vettore di reset si trova all'esterno del sistema e dei sottosistemi del processore.

Informazioni correlate Manuale di riferimento del processore Nios® V

2.1.1.3.6. Scheda Configurazioni di memoria

Tabella 17. Parametri della scheda Configurazione memoria

Categoria

Scheda Configurazione della memoria

Descrizione

Cache

Dimensione della cache dati

· Specifica la dimensione della cache dati. · Le dimensioni valide sono comprese tra 0 kilobyte (KB) e 16 KB. · Disattiva la cache dati quando la dimensione è 0 KB.

Dimensione della cache delle istruzioni

· Specifica la dimensione della cache delle istruzioni. · Le dimensioni valide sono comprese tra 0 KB e 16 KB. · Disattiva la cache delle istruzioni quando la dimensione è 0 KB.

Regione periferica A e B

Misurare

· Specifica la dimensione della regione periferica.
· Le dimensioni valide sono comprese tra 64 KB e 2 gigabyte (GB) oppure Nessuna. Scegliendo Nessuna si disabilita la regione periferica.

Indirizzo di base

· Specifica l'indirizzo di base della regione periferica dopo aver selezionato la dimensione.
· Tutti gli indirizzi nella regione periferica producono accessi ai dati non memorizzabili nella cache.
· L'indirizzo di base della regione periferica deve essere allineato alla dimensione della regione periferica.

Ricordi strettamente accoppiati

Misurare

· Specifica la dimensione della memoria strettamente accoppiata. — Le dimensioni valide sono comprese tra 0 MB e 512 MB.

Inizializzazione dell'indirizzo di base File

· Specifica l'indirizzo di base della memoria strettamente accoppiata. · Specifica l'inizializzazione file per una memoria strettamente accoppiata.

Invia feedback

Manuale di progettazione del processore embedded Nios® V 21

2. Progettazione del sistema hardware del processore Nios V con Quartus Prime Software e Platform Designer
Italiano: 726952 | 2025.07.16

Nota:

In un sistema con processore Nios V e cache abilitata, è necessario posizionare le periferiche di sistema all'interno di una regione periferica. È possibile utilizzare le regioni periferiche per definire una transazione non memorizzabile nella cache per periferiche come UART, PIO, DMA e altre.

2.1.1.3.7. Scheda ECC

Tabella 18. Scheda ECC
ECC Abilita il rilevamento degli errori e la segnalazione dello stato
Abilita correzione bit singolo

Descrizione
· Abilitare questa opzione per applicare la funzionalità ECC ai blocchi RAM interni del processore Nios V. · Le funzionalità ECC rilevano errori fino a 2 bit e reagiscono in base al seguente comportamento:
— Se si tratta di un errore correggibile a bit singolo e l'opzione Abilita correzione bit singolo è disattivata, il processore continua a funzionare dopo aver corretto l'errore nella pipeline del processore. Tuttavia, la correzione non viene riflessa nelle memorie sorgente.
— Se si tratta di un errore correggibile a bit singolo e l'opzione Abilita correzione bit singolo è attivata, il processore continua a funzionare dopo aver corretto l'errore nella pipeline del processore e nelle memorie sorgente.
— Se si tratta di un errore non correggibile, il processore interrompe il suo funzionamento.
Abilita la correzione di singoli bit sui blocchi di memoria incorporati nel core.

2.1.1.3.8. Scheda Istruzioni personalizzate

Nota:

Questa scheda è disponibile solo per il core del processore Nios V/g.

Tabella dell'interfaccia hardware delle istruzioni personalizzate Nios V
Tabella macro del software di istruzioni personalizzate Nios V

Descrizione
· Il processore Nios V utilizza questa tabella per definire le interfacce personalizzate del gestore delle istruzioni.
· Le interfacce definite del gestore delle istruzioni personalizzate sono codificate in modo univoco da un Opcode (CUSTOM0-3) e 3 bit di funct7[6:4].
· È possibile definire fino a un totale di 32 interfacce di gestione delle istruzioni personalizzate.
· Il processore Nios V utilizza questa tabella per definire le codifiche software delle istruzioni personalizzate per le interfacce definite del gestore delle istruzioni personalizzate.
· Per ogni codifica software di istruzioni personalizzate definita, l'Opcode (CUSTOM0-3) e 3 bit di codifica funct7[6:4] devono essere correlati a una codifica dell'interfaccia del gestore di istruzioni personalizzate definita nella tabella dell'interfaccia hardware delle istruzioni personalizzate.
· È possibile utilizzare funct7[6:4], funct7[3:0] e funct3[2:0] per definire una codifica aggiuntiva per una determinata istruzione personalizzata, oppure specificarla come X da passare come argomenti di istruzione aggiuntivi.
· Il processore Nios V fornisce codifiche software di istruzioni personalizzate definite come macro C generate in system.h e segue il formato di istruzioni RISC-V di tipo R.
· È possibile utilizzare mnemonici per definire nomi personalizzati per: — Le macro C generate in system.h.
— I mnemonici di debug GDB generati in custom_instruction_debug.xml.

Informazioni correlate
AN 977: Istruzioni personalizzate per il processore Nios V Per ulteriori informazioni sulle istruzioni personalizzate che consentono di personalizzare il processore Nios® V per soddisfare le esigenze di una particolare applicazione.

Manuale di progettazione del processore embedded Nios® V 22

Invia feedback

2. Progettazione del sistema hardware del processore Nios V con Quartus Prime Software e Platform Designer 726952 | 16/07/2025
2.1.2. Definizione della progettazione dei componenti del sistema
Utilizzare Platform Designer per definire le caratteristiche hardware del sistema di elaborazione Nios V e aggiungere i componenti desiderati. Il diagramma seguente illustra un progetto di base di un sistema di elaborazione Nios V con i seguenti componenti: · Core del processore Nios V · Memoria on-chip · JTAG UART · Timer di intervallo (facoltativo)(1)
Quando si aggiunge una nuova memoria on-chip a un sistema Platform Designer, eseguire la sincronizzazione delle informazioni di sistema per riflettere i componenti di memoria aggiunti durante il ripristino. In alternativa, è possibile abilitare la sincronizzazione automatica in Platform Designer per riflettere automaticamente le ultime modifiche ai componenti.
Figura 11. Esampcollegamento del processore Nios V con altre periferiche in Platform Designer

(1) È possibile utilizzare le funzionalità del timer interno di Nios V per sostituire il timer di intervallo esterno in Platform Designer.

Invia feedback

Manuale di progettazione del processore embedded Nios® V 23

2. Progettazione del sistema hardware del processore Nios V con Quartus Prime Software e Platform Designer
Italiano: 726952 | 2025.07.16
È inoltre necessario definire i pin operativi da esportare come conduit nel sistema Platform Designer. Ad esempioampDi seguito è definito un elenco di pin per il corretto funzionamento del sistema FPGA, ma non è limitato a:
· Orologio
· Ripristina
· Segnali I/O
2.1.3. Specifica degli indirizzi di base e delle priorità delle richieste di interrupt
Per specificare come i componenti aggiunti nella progettazione interagiscono per formare un sistema, è necessario assegnare indirizzi di base per ciascun componente agente e assegnare priorità di richiesta di interruzione (IRQ) per JTAG UART e timer di intervallo. Platform Designer fornisce un comando, Assegna indirizzi di base, che assegna automaticamente gli indirizzi di base corretti a tutti i componenti di un sistema. Tuttavia, è possibile modificare gli indirizzi di base in base alle proprie esigenze.
Di seguito sono riportate alcune linee guida per l'assegnazione degli indirizzi di base:
· Il core del processore Nios V ha un intervallo di indirizzi a 32 bit. Per accedere ai componenti dell'agente, il loro indirizzo di base deve essere compreso tra 0x00000000 e 0xFFFFFFFF.
· I programmi Nios V utilizzano costanti simboliche per fare riferimento agli indirizzi. Non è necessario scegliere valori di indirizzo facili da ricordare.
· I valori di indirizzo che differenziano i componenti con una differenza di indirizzo di un solo bit producono hardware più efficiente. Non è necessario compattare tutti gli indirizzi di base nell'intervallo di indirizzi più piccolo possibile, perché la compattazione può creare hardware meno efficiente.
· Platform Designer non tenta di allineare componenti di memoria separati in un intervallo di memoria contiguo. Ad esempioampAd esempio, se si desidera che più componenti di memoria On-Chip siano indirizzabili come un unico intervallo di memoria contiguo, è necessario assegnare esplicitamente gli indirizzi di base.
Platform Designer fornisce anche un comando di automazione, Assegna numeri di interrupt, che collega i segnali IRQ per produrre risultati hardware validi. Tuttavia, l'assegnazione efficace degli IRQ richiede la comprensione del comportamento di risposta complessivo del sistema. Platform Designer non può formulare ipotesi plausibili sulla migliore assegnazione degli IRQ.
Il valore IRQ più basso ha la priorità più alta. In un sistema ideale, Altera consiglia che il componente timer abbia l'IRQ con la priorità più alta, ovvero il valore più basso, per mantenere la precisione del tick del clock di sistema.
In alcuni casi, è possibile assegnare una priorità più elevata alle periferiche in tempo reale (ad esempio i controller video), che richiedono una frequenza di interrupt più elevata rispetto ai componenti timer.
Informazioni correlate
Guida utente di Quartus Prime Pro Edition: ulteriori informazioni sulla creazione di un sistema con Platform Designer.

Manuale di progettazione del processore embedded Nios® V 24

Invia feedback

2. Progettazione del sistema hardware del processore Nios V con Quartus Prime Software e Platform Designer 726952 | 16/07/2025
2.2. Integrazione del sistema Platform Designer nel progetto Quartus Prime
Dopo aver generato il progetto del sistema Nios V in Platform Designer, eseguire le seguenti attività per integrare il modulo del sistema Nios V nel progetto di progettazione FPGA Quartus Prime. · Creare un'istanza del modulo del sistema Nios V nel progetto Quartus Prime · Collegare i segnali dal modulo del sistema Nios V ad altri segnali nella logica FPGA · Assegnare la posizione dei pin fisici · Vincolare il progetto FPGA
2.2.1. Creazione di un'istanza del modulo di sistema del processore Nios V nel progetto Quartus Prime
Platform Designer genera un'entità di progettazione del modulo di sistema che è possibile istanziare in Quartus Prime. La modalità di istanziazione del modulo di sistema dipende dal metodo di inserimento della progettazione per l'intero progetto Quartus Prime. Ad esempioampAd esempio, se si utilizza Verilog HDL per l'inserimento dei dati di progetto, istanziare il modulo di sistema basato su Verilog. Se si preferisce utilizzare il metodo del diagramma a blocchi per l'inserimento dei dati di progetto, istanziare un simbolo del modulo di sistema .bdf. file.
2.2.2. Collegamento dei segnali e assegnazione delle posizioni fisiche dei pin
Per collegare il progetto FPGA Altera al progetto a livello di scheda, eseguire le seguenti attività: · Identificare il progetto di livello superiore file per il tuo design e i segnali per connetterti ad Altera esterno
Pin del dispositivo FPGA. · Scopri quali pin collegare tramite la guida utente di progettazione a livello di scheda o
schemi. · Assegnare i segnali nella progettazione di livello superiore alle porte sul dispositivo FPGA Altera con pin
strumenti di assegnazione.
Il sistema Platform Designer può essere il progetto di livello superiore. Tuttavia, l'FPGA Altera può anche includere logica aggiuntiva in base alle esigenze, introducendo così un progetto di livello superiore personalizzato. fileIl livello superiore file collega i segnali del modulo di sistema del processore Nios V ad altre logiche di progettazione FPGA Altera.
Informazioni correlate Guida utente di Quartus Prime Pro Edition: vincoli di progettazione
2.2.3. Limitare la progettazione dell'FPGA Altera
Una corretta progettazione di un sistema FPGA Altera include vincoli di progettazione per garantire che il progetto soddisfi i requisiti di chiusura temporale e altri vincoli logici. È necessario vincolare esplicitamente il progetto FPGA Altera per soddisfare questi requisiti utilizzando gli strumenti forniti nel software Quartus Prime o tramite provider EDA di terze parti. Il software Quartus Prime utilizza i vincoli forniti durante la fase di compilazione per ottenere risultati di posizionamento ottimali.

Invia feedback

Manuale di progettazione del processore embedded Nios® V 25

2. Progettazione del sistema hardware del processore Nios V con Quartus Prime Software e Platform Designer
Italiano: 726952 | 2025.07.16
Informazioni correlate · Guida utente di Quartus Prime Pro Edition: vincoli di progettazione · Partner EDA di terze parti · Guida utente di Quartus Prime Pro Edition: analizzatore di temporizzazione
2.3. Progettazione di un sistema di memoria per processore Nios V
Questa sezione descrive le best practice per la selezione dei dispositivi di memoria in un sistema embedded Platform Designer con processore Nios V e per il raggiungimento di prestazioni ottimali. I dispositivi di memoria svolgono un ruolo fondamentale nel migliorare le prestazioni complessive di un sistema embedded. La memoria del sistema embedded memorizza le istruzioni e i dati del programma.
2.3.1. Memoria volatile
Una delle principali differenze tra i diversi tipi di memoria è la volatilità. La memoria volatile conserva il suo contenuto solo finché il dispositivo di memoria viene alimentato. Non appena l'alimentazione viene interrotta, la memoria perde il suo contenuto.
ExampI file di memoria volatile sono RAM, cache e registri. Si tratta di tipi di memoria veloci che aumentano le prestazioni di esecuzione. Altera consiglia di caricare ed eseguire le istruzioni del processore Nios V nella RAM e di abbinare il core IP di Nios V con l'IP di memoria on-chip o l'IP di interfaccia di memoria esterna per prestazioni ottimali.
Per migliorare le prestazioni, è possibile eliminare componenti di adattamento aggiuntivi di Platform Designer abbinando il tipo o la larghezza dell'interfaccia del gestore dati del processore Nios V alla RAM di avvio. Ad esempioample, è possibile configurare On-Chip Memory II con un'interfaccia AXI-4 a 32 bit, che corrisponde all'interfaccia del gestore dati Nios V.
Informazioni correlate · Centro di supporto IP per interfacce di memoria esterna · IP FPGA Altera per memoria su chip (RAM o ROM) · IP FPGA Altera per memoria su chip II (RAM o ROM) · Esecuzione sul posto dell'applicazione del processore Nios V da OCRAM a pagina 54
2.3.1.1. Configurazione della memoria su chip RAM o ROM
È possibile configurare gli IP di memoria on-chip FPGA Altera come RAM o ROM. · La RAM fornisce capacità di lettura e scrittura e ha una natura volatile. Se si
Avviando il processore Nios V da una RAM integrata, è necessario assicurarsi che il contenuto di avvio venga preservato e non venga danneggiato in caso di ripristino durante l'esecuzione. · Se un processore Nios V si avvia dalla ROM, eventuali bug software sul processore Nios V non possono sovrascrivere erroneamente il contenuto della memoria integrata. In questo modo si riduce il rischio di danneggiamento del software di avvio.
Informazioni correlate · Memoria su chip (RAM o ROM) IP FPGA Altera · Memoria su chip II (RAM o ROM) IP FPGA Altera · Applicazione del processore Nios V eseguita sul posto da OCRAM a pagina 54

Manuale di progettazione del processore embedded Nios® V 26

Invia feedback

2. Progettazione del sistema hardware del processore Nios V con Quartus Prime Software e Platform Designer 726952 | 16/07/2025
2.3.1.2. Cache
Le memorie on-chip sono comunemente utilizzate per implementare la funzionalità di cache grazie alla loro bassa latenza. Il processore Nios V utilizza la memoria on-chip per le sue cache di istruzioni e dati. La capacità limitata della memoria on-chip non rappresenta solitamente un problema per le cache, poiché sono generalmente di piccole dimensioni.
Le cache vengono comunemente utilizzate nelle seguenti condizioni:
· La memoria normale è situata fuori dal chip e ha un tempo di accesso più lungo rispetto alla memoria sul chip.
· Le sezioni del codice software critiche per le prestazioni possono essere inserite nella cache delle istruzioni, migliorando le prestazioni del sistema.
· La sezione dei dati più frequentemente utilizzata e critica per le prestazioni può essere inserita nella cache dei dati, migliorando le prestazioni del sistema.
L'abilitazione delle cache nel processore Nios V crea una gerarchia di memoria che riduce al minimo il tempo di accesso alla memoria.
2.3.1.2.1. Regione periferica
Gli IP delle periferiche embedded, come UART, I2C e SPI, non devono essere memorizzati nella cache. La cache è altamente raccomandata per le memorie esterne che sono soggette a lunghi tempi di accesso, mentre le memorie interne on-chip potrebbero essere escluse a causa dei loro brevi tempi di accesso. Non è necessario memorizzare nella cache alcun IP delle periferiche embedded, come UART, I2C e SPI, ad eccezione delle memorie. Questo è importante perché gli eventi provenienti da dispositivi esterni, come i dispositivi agent che aggiornano gli IP software, non vengono acquisiti dalla cache del processore e, a loro volta, non vengono ricevuti dal processore. Di conseguenza, questi eventi possono passare inosservati finché non si svuota la cache, il che può causare comportamenti indesiderati nel sistema. In sintesi, la regione mappata in memoria degli IP delle periferiche embedded non è memorizzabile nella cache e deve risiedere all'interno delle regioni periferiche del processore.
Per impostare una regione periferica, seguire questi passaggi:
1. Aprire la mappa degli indirizzi del sistema in Platform Designer.
2. Accedere alla mappa degli indirizzi dell'Instruction Manager e del Data Manager del processore.
3. Identificare le periferiche e le memorie presenti nel sistema.
Figura 12. Esample della mappa degli indirizzi

Nota: le frecce blu indicano le memorie. 4. Raggruppare le periferiche:
a. Memoria memorizzabile nella cache b. Periferiche non memorizzabili nella cache

Invia feedback

Manuale di progettazione del processore embedded Nios® V 27

2. Progettazione del sistema hardware del processore Nios V con Quartus Prime Software e Platform Designer
Italiano: 726952 | 2025.07.16

Tabella 19. Regione memorizzabile nella cache e non memorizzabile nella cache

Subordinare

Mappa degli indirizzi

Stato

Regione periferica

Misurare

Indirizzo di base

user_application_mem.s1

0x0 ~ 0x3ffff

Memorizzabile nella cache

N / A

N / A

cpu.dm_agent bootcopier_rom.s1

0x40000 ~ 0x4ffff 0x50000 ~ 0x517ff

Non memorizzabile nella cache

65536 byte N/D

0x40000 N/D

bootcopier_ram.s1 cpu.timer_sw_agent mailbox.avmm

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

Non memorizzabile nella cache Non memorizzabile nella cache

144 byte (la dimensione minima è 65536 byte)

0x54000

sysid_qsys_0.control_slave

0x54080 ~ 0x54087

Non memorizzabile nella cache

uart.avalon_jtag_schiavo

0x54088 ~ 0x5408f

Non memorizzabile nella cache

5. Allineare le regioni periferiche con le loro dimensioni specifiche:
· Per esample, se la dimensione è 65536 byte, corrisponde a 0x10000 byte. Pertanto, l'indirizzo base consentito deve essere un multiplo di 0x10000.
· CPU.dm_agent utilizza un indirizzo base di 0x40000, che è un multiplo di 0x10000. Di conseguenza, la regione periferica A, con una dimensione di 65536 byte e un indirizzo base di 0x40000, soddisfa i requisiti.
· L'indirizzo base della raccolta di regioni non memorizzabili nella cache a 0x54000 non è un multiplo di 0x10000. È necessario riassegnarle a 0x60000 o a un altro multiplo di 0x10000. Pertanto, la regione periferica B, che ha una dimensione di 65536 byte e un indirizzo base di 0x60000, soddisfa i criteri.

Tabella 20. Regione memorizzabile nella cache e non memorizzabile nella cache con riassegnazione

Subordinare

Mappa degli indirizzi

Stato

Regione periferica

Misurare

Indirizzo di base

user_application_mem.s1

0x0 ~ 0x3ffff

Memorizzabile nella cache

N / A

N / A

cpu.dm_agent

0x40000 ~ 0x4ffff

65536 byte non memorizzabili nella cache

0x40000

bootcopier_rom.s1

0x50000 ~ 0x517ff

Memorizzabile nella cache

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

Cacheable Non memorizzabile nella cache Non memorizzabile nella cache Non memorizzabile nella cache

144 byte (la dimensione minima è 65536 byte)

0x60000

uart.avalon_jtag_schiavo

0x60088 ~ 0x6008f

Non memorizzabile nella cache

2.3.1.3 Memoria strettamente accoppiata
Le memorie strettamente accoppiate (TCM) sono implementate utilizzando memoria on-chip poiché la loro bassa latenza le rende adatte allo scopo. Le TCM sono memorie mappate nello spazio di indirizzamento tipico, ma hanno un'interfaccia dedicata verso il microprocessore e possiedono le proprietà di alte prestazioni e bassa latenza della memoria cache. Le TCM forniscono anche un'interfaccia subordinata per l'host esterno. Il processore e l'host esterno hanno lo stesso livello di autorizzazione per gestire le TCM.

Manuale di progettazione del processore embedded Nios® V 28

Invia feedback

2. Progettazione del sistema hardware del processore Nios V con Quartus Prime Software e Platform Designer
Italiano: 726952 | 2025.07.16

Nota:

Quando la porta subordinata TCM è connessa a un host esterno, potrebbe essere visualizzata con un indirizzo base diverso da quello assegnato nel core del processore. Altera consiglia di allineare entrambi gli indirizzi allo stesso valore.

2.3.1.4. Interfaccia di memoria esterna (EMIF)
La EMIF (External Memory Interface) funziona in modo simile alla SRAM (Static Random Access Memory), ma è dinamica e richiede aggiornamenti periodici per mantenerne il contenuto. Le celle di memoria dinamica della EMIF sono molto più piccole delle celle di memoria statica della SRAM, il che si traduce in dispositivi di memoria più capienti e meno costosi.
Oltre al requisito di aggiornamento, EMIF ha requisiti di interfaccia specifici che spesso richiedono hardware di controllo specializzato. A differenza della SRAM, che ha un set fisso di linee di indirizzo, EMIF organizza il suo spazio di memoria in banchi, righe e colonne. Il passaggio da un banco all'altro e da una riga all'altra introduce un certo overhead, quindi è necessario ordinare attentamente gli accessi alla memoria per utilizzare EMIF in modo efficiente. EMIF inoltre multiplexa gli indirizzi di riga e colonna sulle stesse linee di indirizzo, riducendo il numero di pin necessari per una determinata dimensione EMIF.
Le versioni più veloci di EMIF, come DDR, DDR2, DDR3, DDR4 e DDR5, impongono rigorosi requisiti di integrità del segnale che i progettisti di PCB devono tenere in considerazione.
I dispositivi EMIF sono tra i tipi di RAM più convenienti e ad alta capacità disponibili, il che li rende un'opzione popolare. Un componente chiave di un'interfaccia EMIF è l'EMIF IP, che gestisce le attività relative al multiplexing degli indirizzi, all'aggiornamento e alla commutazione tra righe e banchi. Questa progettazione consente al resto del sistema di accedere a EMIF senza doverne comprendere l'architettura interna.

Informazioni correlate Interfacce di memoria esterna Centro di supporto IP

2.3.1.4.1. Estensore di estensione dell'indirizzo IP
L'IP dell'FPGA Altera Address Span Extender consente alle interfacce host mappate in memoria di accedere a una mappa di indirizzi più grande o più piccola rispetto alla larghezza consentita dai loro segnali di indirizzo. L'IP dell'IP dell'Address Span Extender suddivide lo spazio indirizzabile in più finestre separate in modo che l'host possa accedere alla parte appropriata della memoria attraverso la finestra.
L'Address Span Extender non limita le larghezze di host e agente a una configurazione a 32 e 64 bit. È possibile utilizzare l'Address Span Extender con finestre di indirizzamento da 1 a 64 bit.

Invia feedback

Manuale di progettazione del processore embedded Nios® V 29

2. Progettazione del sistema hardware del processore Nios V con Quartus Prime Software e Platform Designer
Italiano: 726952 | 2025.07.16

Figura 13. Estensore di intervallo di indirizzi Altera FPGA IP
Indirizzo della parola dell'agente

Estensione dell'intervallo di indirizzi

A

Tabella di mappatura
Porta di controllo A

Registro di controllo 0 Registro di controllo Z-1

Indirizzo host espanso H

Informazioni correlate
Guida utente di Quartus® Prime Pro Edition: Platform Designer Per ulteriori informazioni, fare riferimento all'argomento Address Span Extender Intel® FPGA IP.

2.3.1.4.2. Utilizzo dell'Address Span Extender IP con il processore Nios V
Il processore Nios V a 32 bit può indirizzare fino a 4 GB di uno spazio di indirizzamento. Se l'EMIF contiene più di 4 GB di memoria, supera lo spazio di indirizzamento massimo supportato, rendendo il sistema Platform Designer erroneo. Per risolvere questo problema, è necessario un IP Address Span Extender, che suddivide un singolo spazio di indirizzamento EMIF in più finestre più piccole.
Altera consiglia di prendere in considerazione i seguenti parametri.

Tabella 21. Parametri dell'estensione dell'intervallo di indirizzi

Parametro

Impostazioni raccomandate

Larghezza del percorso dati
Larghezza dell'indirizzo master byte espansa

Selezionare 32 bit, che corrisponde al processore a 32 bit. Dipende dalla dimensione della memoria EMIF.

Larghezza indirizzo parola slave Larghezza conteggio burst

Selezionare 2 GB o meno. L'intervallo di indirizzi rimanente del processore Nios V è riservato ad altri IP software embedded.
Iniziare con 1 e aumentare gradualmente questo valore per migliorare le prestazioni.

Numero di sottofinestre

Selezionare 1 sottofinestra se si collega EMIF al processore Nios V come memoria istruzioni e dati, o entrambe. Passare da una sottofinestra all'altra mentre il processore Nios V è in esecuzione da EMIF è rischioso.

Abilita porta di controllo slave

Disabilitare la porta di controllo slave se si collega EMIF al processore Nios V come memoria di istruzioni e/o dati. Stesse considerazioni per il numero di sottofinestre.

Numero massimo di letture in sospeso

Iniziare con 1 e aumentare gradualmente questo valore per migliorare le prestazioni.

Manuale di progettazione del processore embedded Nios® V 30

Invia feedback

2. Progettazione del sistema hardware del processore Nios V con Quartus Prime Software e Platform Designer 726952 | 16/07/2025
Figura 14. Collegamento di Instruction and Data Manager all'Address Span Extender

Figura 15. Mappatura degli indirizzi

Si noti che l'Address Span Extender può accedere all'intero spazio di memoria da 8 GB dell'EMIF. Tuttavia, tramite l'Address Span Extender, il processore Nios V può accedere solo al primo spazio di memoria da 1 GB dell'EMIF.

Figura 16. Diagramma a blocchi semplificato

Sistema di progettazione della piattaforma

Rimanenti 3 GB

Indirizzo del processore Nios V

span è per incorporato

NNioios sVV PProrocecsesosor r
M

IP soft nello stesso sistema.
Finestra da 1 GB

Intervallo di indirizzi

S

Estensione

M

Solo il primo 1 GB

della memoria EMIF è collegata a Nios V

EMIF

processore.

8 GB
S

Invia feedback

Manuale di progettazione del processore embedded Nios® V 31

2. Progettazione del sistema hardware del processore Nios V con Quartus Prime Software e Platform Designer
Italiano: 726952 | 2025.07.16
2.3.1.4.3. Definizione del dispositivo di memoria linker Address Span Extender 1. Definire l'Address Span Extender (EMIF) come vettore di reset. In alternativa, è possibile assegnare il vettore di reset del processore Nios V ad altre memorie, come dispositivi OCRAM o flash.
Figura 17. Opzioni multiple come vettore di ripristino
Tuttavia, l'editor BSP (Board Support Package) non può registrare automaticamente l'Address Span Extender (EMIF) come memoria valida. A seconda della scelta effettuata, si verificano due situazioni diverse, come mostrato nelle figure seguenti. Figura 18. Errore BSP durante la definizione dell'Address Span Extender (EMIF) come vettore di reset.

Manuale di progettazione del processore embedded Nios® V 32

Invia feedback

2. Progettazione del sistema hardware del processore Nios V con Quartus Prime Software e Platform Designer 726952 | 16/07/2025
Figura 19. EMIF mancante quando si definiscono altre memorie come vettore di reset

2. È necessario aggiungere manualmente l'Address Span Extender (EMIF) utilizzando Aggiungi dispositivo di memoria, Aggiungi regione di memoria del linker e Aggiungi mapping di sezione del linker nella scheda Script del linker BSP.
3. Segui questi passaggi:
a. Determinare l'intervallo di indirizzi dell'Address Span Extender utilizzando la mappa di memoria (l'example nella figura seguente utilizza l'intervallo Address Span Extender da 0x0 a 0x3fff_ffff).
Figura 20. Mappa della memoria

b. Fare clic su Aggiungi dispositivo di memoria e compilare in base alle informazioni nella mappa di memoria del progetto: i. Nome dispositivo: emif_ddr4. Nota: assicurarsi di copiare lo stesso nome dalla mappa di memoria. ii. Indirizzo base: 0x0 iii. Dimensione: 0x40000000
c. Fare clic su Aggiungi per aggiungere una nuova regione di memoria del linker:

Invia feedback

Manuale di progettazione del processore embedded Nios® V 33

2. Progettazione del sistema hardware del processore Nios V con Quartus Prime Software e Platform Designer
Italiano: 726952 | 2025.07.16

Tabella 22. Aggiunta della regione di memoria del linker

Passi

Ripristina vettore

emif_ddr4

Altri ricordi

1

Aggiungere una nuova regione di memoria del linker denominata reset. Aggiungere una nuova regione di memoria del linker per

· Nome regione: reset

emif_ddr4.

· Dimensione regione: 0x20

· Nome della regione: emif_ddr4

· Dispositivo di memoria: emif_ddr4

· Dimensione regione: 0x40000000

· Offset di memoria: 0x0

· Dispositivo di memoria: emif_ddr4

· Offset di memoria: 0x0

2

Aggiungere una nuova regione di memoria del linker per

rimanenti emif_ddr4.

· Nome della regione: emif_ddr4

· Dimensione regione: 0x3fffffe0

· Dispositivo di memoria: emif_ddr4

· Offset di memoria: 0x20

Figura 21. Regione del linker quando si definisce l'Address Span Extender (EMIF) come vettore di reset

Figura 22. Regione del linker quando si definiscono altre memorie come vettore di reset
d. Una volta aggiunto emif_ddr4 al BSP, è possibile selezionarlo per qualsiasi sezione Linker.
Figura 23. Aggiunto correttamente Address Span Extender (EMIF)

e. Ignorare l'avviso relativo al dispositivo di memoria emif_ddr4 che non è visibile nella progettazione SOPC.
f. Procedere alla generazione del BSP.
Informazioni correlate Introduzione ai metodi di avvio del processore Nios V a pagina 51

Manuale di progettazione del processore embedded Nios® V 34

Invia feedback

2. Progettazione del sistema hardware del processore Nios V con Quartus Prime Software e Platform Designer 726952 | 16/07/2025
2.3.2. Memoria non volatile
La memoria non volatile conserva il suo contenuto anche quando il sistema si spegne, il che la rende una buona scelta per memorizzare le informazioni che il sistema deve recuperare dopo un ciclo di accensione/spegnimento. La memoria non volatile memorizza comunemente il codice di avvio del processore, le impostazioni persistenti delle applicazioni e i dati di configurazione dell'FPGA Altera. Sebbene la memoria non volatile abbia il vantaggiotage 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.
ExampI file di memoria non volatile includono tutti i tipi di flash, EPROM ed EEPROM. Altera consiglia di memorizzare i flussi di bit degli FPGA Altera e le immagini dei programmi Nios V in una memoria non volatile e di utilizzare la flash seriale come dispositivo di avvio per i processori Nios V.
Informazioni correlate
· Guida utente dell'interfaccia flash seriale generica Altera FPGA IP
· Guida utente del client di posta elettronica Altera FPGA IP · Guida utente della memoria flash MAX® 10: Flash su chip Altera FPGA IP Core
2.4. Migliori pratiche per orologi e reset
È importante comprendere come il dominio di clock e reset del processore Nios V interagisce con ogni periferica a cui si connette. Un semplice sistema con processore Nios V parte da un singolo dominio di clock e può complicarsi con un sistema a più domini di clock quando un dominio di clock veloce entra in collisione con un dominio di clock lento. È necessario prendere nota e comprendere come questi diversi domini si sequenziano dopo il reset e assicurarsi che non ci siano problemi sottili.
Per una migliore prassi, Altera consiglia di posizionare il processore Nios V e la memoria di avvio nello stesso dominio di clock. Non rilasciare il processore Nios V dal reset in un dominio di clock veloce quando si avvia da una memoria che risiede in un dominio di clock molto lento, poiché ciò potrebbe causare un errore di recupero delle istruzioni. Potrebbe essere necessario un sequenziamento manuale oltre a quello fornito di default da Platform Designer e pianificare la topologia di rilascio del reset di conseguenza in base al caso d'uso. Se si desidera reimpostare il sistema dopo che si è avviato ed è stato eseguito per un po', applicare le stesse considerazioni alla sequenza di reset del sistema e ai requisiti di inizializzazione post-reset.
2.4.1. Sistema JTAG Orologio
Specificare i vincoli di clock in ogni sistema con processore Nios V è un aspetto importante nella progettazione del sistema ed è necessario per la correttezza e il comportamento deterministico. Quartus Prime Timing Analyzer esegue un'analisi temporale statica per convalidare le prestazioni di temporizzazione di tutta la logica del progetto, utilizzando metodologie di vincoli, analisi e reporting standard del settore.
Example 1. Clock base da 100 MHz con ciclo di lavoro 50/50 e 16 MHz JTAG Orologio
#**************************************************************** # Crea un clock da 100 MHz #******************************************************************** create_clock -name {clk} -period 10 [get_ports {clk}] #************************ Crea un clock da 16 MHz JTAG Orologio #************************

Invia feedback

Manuale di progettazione del processore embedded Nios® V 35

2. Progettazione del sistema hardware del processore Nios V con Quartus Prime Software e Platform Designer
Italiano: 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}] Informazioni correlate Quartus Prime Timing Analyzer Cookbook
2.4.2. Interfaccia di richiesta di ripristino
Il processore Nios V include una funzione opzionale di richiesta di reset. La funzione di richiesta di reset è composta dai segnali reset_req e reset_req_ack.
Per abilitare la richiesta di ripristino in Platform Designer: 1. Avviare l'editor dei parametri IP del processore Nios V. 2. Nell'impostazione Usa richiesta di ripristino, attivare l'opzione Aggiungi interfaccia di richiesta di ripristino
opzione.
Figura 24. Abilita richiesta di ripristino del processore Nios V
Il segnale reset_req agisce come un interrupt. Quando si attiva reset_req, si richiede un reset al core. Il core attende che qualsiasi transazione di bus in sospeso completi la sua operazione. Ad esempioampAd esempio, se è presente una transazione di accesso alla memoria in sospeso, il core attende una risposta completa. Analogamente, il core accetta qualsiasi risposta alle istruzioni in sospeso, ma non invia una richiesta di istruzione dopo aver ricevuto il segnale reset_req.
L'operazione di reset consiste nel seguente flusso: 1. Completamento di tutte le operazioni in sospeso 2. Svuotamento della pipeline interna 3. Impostazione del Program Counter sul vettore di reset 4. Reset del core L'intera operazione di reset richiede alcuni cicli di clock. reset_req deve rimanere asserito finché reset_req_ack non viene asserito, indicando che l'operazione di reset del core è stata completata correttamente. In caso contrario, lo stato del core diventa non deterministico.

Manuale di progettazione del processore embedded Nios® V 36

Invia feedback

2. Progettazione del sistema hardware del processore Nios V con Quartus Prime Software e Platform Designer 726952 | 16/07/2025
2.4.2.1. Casi d'uso tipici
· È possibile attivare il segnale reset_req all'accensione per impedire al core del processore Nios V di avviare l'esecuzione del programma dal suo vettore di reset finché gli altri host FPGA del sistema non inizializzano la memoria di boot del processore Nios V. In questo caso, l'intero sottosistema può subire un reset hardware pulito. Il processore Nios V viene mantenuto indefinitamente in uno stato di richiesta di reset finché gli altri host FPGA non inizializzano la memoria di boot del processore.
· In un sistema in cui è necessario reimpostare il core del processore Nios V senza interrompere il resto del sistema, è possibile attivare il segnale reset_req per interrompere in modo pulito l'operazione corrente del core e riavviare il processore dal vettore di reimpostazione una volta che il sistema rilascia il segnale reset_req_ack.
· Un host esterno può utilizzare l'interfaccia di richiesta di ripristino per semplificare l'implementazione delle seguenti attività:
— Interrompere l'attuale programma del processore Nios V.
— Carica un nuovo programma nella memoria di avvio del processore Nios V.
— Consentire al processore di iniziare a eseguire il nuovo programma.
Altera consiglia di implementare un meccanismo di timeout per monitorare lo stato del segnale reset_req_ack. Se il core del processore Nios V entra in una condizione di attesa infinita e si blocca per un motivo sconosciuto, reset_req_ack non può essere asserito indefinitamente. Il meccanismo di timeout consente di:
· Definire un periodo di timeout per il ripristino ed eseguire il ripristino del sistema con il ripristino a livello di sistema.
· Eseguire un ripristino a livello hardware.
2.4.3 Reimposta IP di rilascio
I dispositivi basati su Altera SDM utilizzano un'architettura parallela basata su settori che distribuisce la logica del core fabric su più settori. Altera consiglia di utilizzare l'IP FPGA Altera Reset Release come uno degli input iniziali del circuito di reset. I dispositivi basati su Intel® SDM includono dispositivi Stratix® 10 e AgilexTM. I dispositivi basati su blocchi di controllo non sono interessati da questo requisito.
Informazioni correlate
AN 891: Utilizzo dell'IP FPGA Altera Reset Release
2.5. Assegnazione di un agente predefinito
Platform Designer consente di specificare un agente predefinito che funge da agente predefinito per la risposta agli errori. L'agente predefinito designato fornisce un servizio di risposta agli errori per gli host che tentano accessi non decodificati alla mappa degli indirizzi.
Gli scenari seguenti attivano un evento non decodificato:
· Violazione dello stato di sicurezza delle transazioni del bus
· Accesso alla transazione nella regione di memoria indefinita
· Evento di eccezione e così via.

Invia feedback

Manuale di progettazione del processore embedded Nios® V 37

2. Progettazione del sistema hardware del processore Nios V con Quartus Prime Software e Platform Designer
Italiano: 726952 | 2025.07.16

È necessario assegnare un agente predefinito per gestire tali eventi, in cui la transazione non definita viene reindirizzata all'agente predefinito e successivamente risponde al processore Nios V con una risposta di errore.
Informazioni correlate
· Guida utente di Quartus Prime Pro Edition: Platform Designer. Designazione di un agente predefinito
· Guida utente di Quartus Prime Pro Edition: Platform Designer. Slave di risposta agli errori Altera FPGA IP
· Github – Componenti di ripristino supplementari per Qsys

2.6. Assegnazione di un agente UART per la stampa
La stampa è utile per il debug dell'applicazione software e per monitorare lo stato del sistema. Altera consiglia di stampare informazioni di base come un messaggio di avvio, un messaggio di errore e lo stato di avanzamento dell'esecuzione dell'applicazione software.
Evitare di utilizzare la funzione della libreria printf() nelle seguenti circostanze: · La libreria printf() provoca l'arresto dell'applicazione se nessun host sta leggendo l'output.
Questo è applicabile al JTAG Solo UART. · La libreria printf() consuma grandi quantità di memoria del programma.

2.6.1. Prevenzione degli stalli tramite JTAG UART

Tabella 23. Differenze tra UART tradizionale e JTAG UART

Tipo UART UART tradizionale

Descrizione
Trasmette dati seriali indipendentemente dal fatto che un host esterno sia in ascolto. Se nessun host legge i dati seriali, i dati vengono persi.

JTAG UART

Scrive i dati trasmessi in un buffer di output e si affida a un host esterno per leggere dal buffer e svuotarlo.

Il JTAG Il driver UART attende quando il buffer di output è pieno. Il JTAG Il driver UART attende che un host esterno legga dal buffer di output prima di scrivere ulteriori dati di trasmissione. Questo processo impedisce la perdita di dati di trasmissione.
Tuttavia, quando il debug del sistema non è richiesto, come durante la produzione, i sistemi embedded vengono distribuiti senza un PC host connesso a JTAG UART. Se il sistema ha selezionato JTAG UART come agente UART potrebbe causare lo stallo del sistema perché non è connesso alcun host esterno.
Per evitare lo stallo di JTAG UART, applica una delle seguenti opzioni:

Manuale di progettazione del processore embedded Nios® V 38

Invia feedback

2. Progettazione del sistema hardware del processore Nios V con Quartus Prime Software e Platform Designer
Italiano: 726952 | 2025.07.16

Tabella 24. Prevenzione dello stallo da parte di JTAG UART

Opzioni
Nessuna interfaccia UART e driver presenti
Utilizzare un'altra interfaccia UART e un altro driver
Conserva JTAG Interfaccia UART (senza driver)

Durante lo sviluppo hardware (in Platform Designer)

Durante lo sviluppo del software (in Board Support Package Editor)

Rimuovi JTAG UART dal sistema

Configurare hal.stdin, hal.stdout e hal.stderr come None.

Sostituisci JTAG UART con altri software Configura hal.stdin, hal.stdout e hal.stderr

IP UART

con altri IP UART soft.

Conserva JTAG UART nel sistema

· Configurare hal.stdin, hal.stdout e hal.stderr come None nell'editor dei pacchetti di supporto della scheda.
· Disabilita JTAG Driver UART nella scheda Driver BSP.

2.7. ETAG Segnali
Il modulo di debug del processore Nios V utilizza JTAG interfaccia per il download del software ELF e il debug del software. Quando esegui il debug del tuo progetto con JTAG interfaccia, la JTAG I segnali TCK, TMS, TDI e TDO sono implementati come parte della progettazione. Specificando il JTAG I vincoli del segnale in ogni sistema di elaborazione Nios V rappresentano un aspetto importante della progettazione del sistema e sono necessari per la correttezza e il comportamento deterministico.
Altera raccomanda che la frequenza di clock del sistema di qualsiasi progetto sia almeno quattro volte la frequenza JTAG frequenza di clock per garantire il corretto funzionamento del core di strumentazione on-chip (OCI).
Informazioni correlate · Ricettario dell'analizzatore di temporizzazione primaria Quartus®: JTAG Segnali
Per ulteriori informazioni su JTAG linee guida sui vincoli temporali. · KDB: Perché niosv-download fallisce con un processore Nios® V/m non pipelined a
JTAG frequenza 24MHz o 16Mhz?
2.8. Ottimizzazione delle prestazioni del sistema Platform Designer
Platform Designer fornisce strumenti per ottimizzare le prestazioni dell'interconnessione di sistema per i progetti FPGA Altera.

Invia feedback

Manuale di progettazione del processore embedded Nios® V 39

2. Progettazione del sistema hardware del processore Nios V con Quartus Prime Software e Platform Designer
Italiano: 726952 | 2025.07.16
Figura 25. Esempio di ottimizzazioneamples

L'exampla figura mostra i seguenti passaggi:
1. Aggiunge Pipeline Bridge per alleviare i percorsi critici posizionandolo: a. Tra Instruction Manager e i suoi agenti b. Tra Data Manager e i suoi agenti
2. Applicare la vera RAM On-Chip a doppia porta, con ciascuna porta dedicata rispettivamente all'Instruction Manager e al Data Manager

Manuale di progettazione del processore embedded Nios® V 40

Invia feedback

2. Progettazione del sistema hardware del processore Nios V con Quartus Prime Software e Platform Designer 726952 | 16/07/2025
Fare riferimento ai seguenti link correlati, che presentano tecniche per sfruttare gli strumenti disponibili e i compromessi di ciascuna implementazione.
Informazioni correlate · Guida utente di Quartus® Prime Pro Edition: Platform Designer
Per ulteriori informazioni, fare riferimento all'argomento Ottimizzazione delle prestazioni del sistema Platform Designer. · Guida utente di Quartus® Prime Standard Edition: Platform Designer Per ulteriori informazioni, fare riferimento all'argomento Ottimizzazione delle prestazioni del sistema Platform Designer.

Invia feedback

Manuale di progettazione del processore embedded Nios® V 41

726952 | 2025.07.16 Invia feedback

3. Progettazione del sistema software del processore Nios V
Questo capitolo descrive il flusso di sviluppo del software del processore Nios V e gli strumenti software che è possibile utilizzare nello sviluppo del sistema di progettazione embedded. Il contenuto funge da guidaview prima di sviluppare un sistema software per il processore Nios V.
Figura 26. Flusso di progettazione del software
Inizio

Generare il BSP in Platform Designer utilizzando l'editor BSP

Generare il BSP utilizzando la shell dei comandi Nios V
Generare la build dell'applicazione CMake File Utilizzo della shell dei comandi Nios V

Nota:

Importa il BSP e la build dell'applicazione CMake File
Costruisci l'applicazione del processore Nios V utilizzando
IDE RiscFree per Intel FPGA

Crea l'applicazione Nios V Processor utilizzando qualsiasi
editor di codice sorgente da riga di comando, CMake e Make
comandi
FINE

Altera consiglia di utilizzare un kit di sviluppo FPGA Altera o una scheda prototipo personalizzata per lo sviluppo e il debug del software. Molte periferiche e funzionalità a livello di sistema sono disponibili solo quando il software viene eseguito su una scheda reale.

© Altera Corporation. Altera, il logo Altera, il logo `a' e altri marchi Altera sono marchi registrati di Altera Corporation. Altera si riserva il diritto di apportare modifiche a qualsiasi prodotto e servizio in qualsiasi momento e senza preavviso. Altera non si assume alcuna responsabilità derivante dall'applicazione o dall'utilizzo di qualsiasi informazione, prodotto o servizio qui descritto, salvo quanto espressamente concordato per iscritto da Altera. Si consiglia ai clienti Altera di procurarsi la versione più recente delle specifiche dei dispositivi prima di fare affidamento su qualsiasi informazione pubblicata e prima di effettuare ordini di prodotti o servizi. *Altri nomi e marchi potrebbero essere rivendicati come proprietà di terzi.

3. Progettazione del sistema software del processore Nios V 726952 | 2025.07.16
3.1. Flusso di sviluppo del software del processore Nios V
3.1.1. Progetto del pacchetto di supporto del consiglio di amministrazione
Un progetto BSP (Board Support Package) per Nios V è una libreria specializzata contenente codice di supporto specifico per il sistema. Un BSP fornisce un ambiente di runtime software personalizzato per un processore in un sistema hardware con processore Nios V.
Il software Quartus Prime fornisce Nios V Board Support Package Editor e gli strumenti di utilità niosv-bsp per modificare le impostazioni che controllano il comportamento del BSP.
Un BSP contiene i seguenti elementi: · Livello di astrazione hardware · Driver di dispositivo · Pacchetti software opzionali · Sistema operativo in tempo reale opzionale
3.1.2 Progetto applicativo
Un progetto di applicazione Nios VC/C++ presenta le seguenti caratteristiche: · È costituito da una raccolta di codice sorgente e da un file CMakeLists.txt.
— CMakeLists.txt compila il codice sorgente e lo collega a un BSP e a una o più librerie opzionali, per creare un file .elf file
· Una delle fonti files contiene la funzione main(). · Include codice che richiama funzioni in librerie e BSP.
Altera fornisce lo strumento di utilità niosv-app negli strumenti di utilità software Quartus Prime per creare l'applicazione CMakeLists.txt e RiscFree IDE per FPGA Altera per modificare il codice sorgente in un ambiente basato su Eclipse.
3.2. Strumenti di sviluppo integrati FPGA Altera
Il processore Nios V supporta i seguenti strumenti per lo sviluppo software: · Interfaccia utente grafica (GUI) – Strumenti di sviluppo grafico disponibili in
Sistemi operativi (SO) Windows* e Linux*. — Editor di pacchetti di supporto per schede Nios V (editor BSP Nios V) — IDE Ashling RiscFree per FPGA Altera · Strumenti da riga di comando (CLI) – Strumenti di sviluppo avviabili dalla shell dei comandi di Nios V. Ogni strumento fornisce la propria documentazione sotto forma di guida accessibile dalla riga di comando. Aprire la shell dei comandi di Nios V e digitare il seguente comando: –aiutare a view il menu Aiuto. — Strumenti di utilità Nios V — File Strumenti di conversione del formato — Altri strumenti di utilità

Invia feedback

Manuale di progettazione del processore embedded Nios® V 43

3. Progettazione del sistema software del processore Nios V 726952 | 2025.07.16

Tabella 25. Riepilogo delle attività degli strumenti GUI e degli strumenti da riga di comando

Compito

Strumento GUI

Strumento da riga di comando

Creazione di un BSP

Editor Nios V BSP

· Nel software Quartus Prime Pro Edition: niosv-bsp -c -s=<.qsys file> -t= [OPZIONI] impostazioni.bsp
· Nel software Quartus Prime Standard Edition: niosv-bsp -c -s=<.sopcinfo file> -t= [OPZIONI] impostazioni.bsp

Generazione di un BSP utilizzando un file .bsp esistente file
Aggiornamento di un BSP

Editor BSP Nios V Editor BSP Nios V

niosv-bsp -g [OPZIONI] impostazioni.bsp niosv-bsp -u [OPZIONI] impostazioni.bsp

Esame di un BSP

Editor Nios V BSP

niosv-bsp -q -E= [OPZIONI] impostazioni.bsp

Creazione di un'applicazione

niosv-app -a= -b= -s= filedirectory s> [OPZIONI]

Creazione di una libreria utente

niosv-app -l= -s= filedirectory s> -p= [OPZIONI]

Modifica di un'applicazione Modifica di una libreria utente Creazione di un'applicazione

IDE RiscFree per FPGA Altera
IDE RiscFree per FPGA Altera
IDE RiscFree per FPGA Altera

Qualsiasi editor sorgente da riga di comando
Qualsiasi editor sorgente da riga di comando
· fare · cmake

Creazione di una libreria utente

IDE RiscFree per FPGA Altera

· fare · cmake

Scaricare un'applicazione ELF
Conversione del .elf file

IDE RiscFree per FPGA Altera

niosv-download
· elf2flash · elf2hex

Informazioni correlate
Guida per l'utente dell'ambiente di sviluppo integrato (IDE) Ashling RiscFree per FPGA Altera

3.2.1. Editor di pacchetti di supporto per la scheda processore Nios V
È possibile utilizzare l'editor BSP del processore Nios V per eseguire le seguenti attività: · Creare o modificare un progetto BSP del processore Nios V · Modificare impostazioni, regioni del linker e mappature di sezione · Selezionare pacchetti software e driver di dispositivo.
Le funzionalità dell'editor BSP includono quelle delle utility niosv-bsp. Qualsiasi progetto creato nell'editor BSP può essere creato anche utilizzando le utility da riga di comando.

Manuale di progettazione del processore embedded Nios® V 44

Invia feedback

3. Progettazione del sistema software del processore Nios V 726952 | 2025.07.16

Nota:

Per il software Quartus Prime Standard Edition, fare riferimento ad AN 980: Supporto software Quartus Prime per processore Nios V per i passaggi necessari per richiamare l'interfaccia utente grafica dell'editor BSP.

Per avviare BSP Editor, seguire questi passaggi: 1. Aprire Platform Designer e passare alla File menu.
a. Per aprire un'impostazione BSP esistente file, fare clic su Apri… b. Per creare un nuovo BSP, fare clic su Nuovo BSP… 2. Selezionare la scheda Editor BSP e fornire i dettagli appropriati.

Figura 27. Avvia BSP Editor

Informazioni correlate AN 980: Supporto software Quartus Prime per processore Nios V
3.2.2. IDE RiscFree per FPGA Altera
L'IDE RiscFree per FPGA Altera è un IDE basato su Eclipse per il processore Nios V. Altera consiglia di sviluppare il software del processore Nios V in questo IDE per i seguenti motivi: · Le funzionalità sono sviluppate e verificate per essere compatibili con Nios V
flusso di compilazione del processore. · Dotato di tutte le toolchain necessarie e degli strumenti di supporto che ti consentono
per avviare facilmente lo sviluppo del processore Nios V.
Informazioni correlate Guida per l'utente dell'ambiente di sviluppo integrato (IDE) Ashling RiscFree per FPGA Altera
3.2.3. Strumenti di utilità Nios V
È possibile creare, modificare e compilare programmi Nios V con comandi digitati sulla riga di comando o incorporati in uno script. Gli strumenti da riga di comando di Nios V descritti in questa sezione si trovano in Directory /niosv/bin.

Invia feedback

Manuale di progettazione del processore embedded Nios® V 45

3. Progettazione del sistema software del processore Nios V 726952 | 2025.07.16

Tabella 26. Strumenti di utilità Nios V

Strumenti da riga di comando

Riepilogo

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

Per generare e configurare un progetto applicativo.
Per creare o aggiornare le impostazioni BSP file e creare il BSP files. Per scaricare l'ELF file a un processore Nios® V.
Per aprire la shell dei comandi di Nios V. Per informarti sullo spazio di memoria rimanente disponibile per la tua applicazione .elf per l'utilizzo dello stack o dell'heap.

3.2.4. File Strumenti di conversione del formato

File la conversione del formato è talvolta necessaria quando si passano dati da un'utilità all'altra. file gli strumenti di conversione del formato sono nel
directory di installazione del software>directory/niosv/bin.

Tabella 27. File Strumenti di conversione del formato

Strumenti da riga di comando elf2flash elf2hex

Riepilogo Per tradurre il file .elf file nel formato .srec per la programmazione della memoria flash. Per tradurre il formato .elf file nel formato .hex per l'inizializzazione della memoria.

3.2.5. Altri strumenti di utilità

Potrebbero essere necessari i seguenti strumenti da riga di comando durante la creazione di un sistema basato sul processore Nios V. Questi strumenti da riga di comando sono forniti da Intel in /quartus/bin o acquisito da
strumenti open source.

Tabella 28. Altri strumenti da riga di comando

Strumenti da riga di comando

Tipo

Riepilogo

juart-terminal

Fornito da Intel

Per monitorare stdout e stderr e fornire input a un processore Nios® V
sottosistema tramite stdin. Questo strumento si applica solo al JTAG IP UART quando è connesso al processore Nios® V.

openocd

Fornito da Intel per eseguire OpenOCD.

openocd-cfg-gen

Fornito da Intel · Per generare la configurazione OpenOCD file. · Per visualizzare JTAG indice del dispositivo a catena.

Manuale di progettazione del processore embedded Nios® V 46

Invia feedback

726952 | 2025.07.16 Invia feedback
4. Soluzioni di configurazione e avvio del processore Nios V
È possibile configurare il processore Nios V per avviare ed eseguire il software da diverse posizioni di memoria. La memoria di avvio può essere la flash Quad Serial Peripheral Interface (QSPI), la memoria on-chip (OCRAM) o la memoria tightly coupled (TCM).
Informazioni correlate · Condizioni di attivazione dell'accensione a pagina 193 · Attivazioni dell'accensione
Per maggiori informazioni sui trigger di accensione.
4.1. Introduzione
Il processore Nios V supporta due tipi di processi di avvio: · Esecuzione sul posto (XIP) tramite la funzione alt_load() · Copia del programma nella RAM tramite il boot copier. Lo sviluppo dei programmi embedded Nios V si basa sull'hardware abstraction layer (HAL). L'HAL fornisce un piccolo programma boot loader (noto anche come boot copier) che copia le sezioni del linker rilevanti dalla memoria di avvio alla loro posizione di esecuzione al momento dell'avvio. È possibile specificare le posizioni di esecuzione della memoria dati e del programma modificando le impostazioni dell'editor Board Support Package (BSP). Questa sezione descrive: · Boot copier del processore Nios V che avvia il sistema con processore Nios V in base a
la selezione della memoria di avvio · Opzioni di avvio del processore Nios V e flusso generale · Soluzioni di programmazione Nios V per la memoria di avvio selezionata
4.2. Collegamento delle applicazioni
Quando si genera il progetto del processore Nios V, l'editor BSP genera due linker correlati files: · linker.x: Il comando linker file che l'applicazione generata creafile usi
per creare il binario .elf file· linker.h: contiene informazioni sul layout di memoria del linker. Tutte le modifiche alle impostazioni del linker apportate al progetto BSP influenzano il contenuto di questi due linker. files. Ogni applicazione del processore Nios V contiene le seguenti sezioni linker:
© Altera Corporation. Altera, il logo Altera, il logo `a' e altri marchi Altera sono marchi registrati di Altera Corporation. Altera si riserva il diritto di apportare modifiche a qualsiasi prodotto e servizio in qualsiasi momento e senza preavviso. Altera non si assume alcuna responsabilità derivante dall'applicazione o dall'utilizzo di qualsiasi informazione, prodotto o servizio qui descritto, salvo quanto espressamente concordato per iscritto da Altera. Si consiglia ai clienti Altera di procurarsi la versione più recente delle specifiche dei dispositivi prima di fare affidamento su qualsiasi informazione pubblicata e prima di effettuare ordini di prodotti o servizi. *Altri nomi e marchi potrebbero essere rivendicati come proprietà di terzi.

4. Soluzioni di configurazione e avvio del processore Nios V 726952 | 2025.07.16

Tabella 29. Sezioni del linker

.testo

Sezioni del linker

.rodata

.rwdata

.bss

.mucchio

.pila

Descrizioni Codice eseguibile. Qualsiasi dato di sola lettura utilizzato nell'esecuzione del programma. Memorizza i dati di lettura-scrittura utilizzati nell'esecuzione del programma. Contiene dati statici non inizializzati. Contiene memoria allocata dinamicamente. Memorizza i parametri delle chiamate di funzione e altri dati temporanei.

È possibile aggiungere ulteriori sezioni linker al file .elf file per contenere codice e dati personalizzati. Queste sezioni del linker sono posizionate in regioni di memoria denominate, definite per corrispondere a dispositivi e indirizzi di memoria fisici. Per impostazione predefinita, BSP Editor genera automaticamente queste sezioni del linker. Tuttavia, è possibile controllare le sezioni del linker per una particolare applicazione.

4.2.1. Comportamento di collegamento
Questa sezione descrive il comportamento di collegamento predefinito dell'editor BSP e come controllarlo.

4.2.1.1. Collegamento BSP predefinito
Durante la configurazione BSP, gli strumenti eseguono automaticamente i seguenti passaggi:
1. Assegnare nomi alle regioni di memoria: assegnare un nome a ciascun dispositivo di memoria di sistema e aggiungere ciascun nome al linker file come regione di memoria.
2. Trova la memoria più grande: identifica la regione di memoria di lettura e scrittura più grande nel linker file.
3. Assegnare le sezioni del linker: posizionare le sezioni del linker predefinite (.text, .rodata, .rwdata, .bss, .heap e .stack) nella regione di memoria identificata nel passaggio precedente.
4. Scrivere files: Scrivi linker.x e linker.h files.
In genere, lo schema di allocazione della sezione linker funziona durante il processo di sviluppo del software, perché è garantito il funzionamento dell'applicazione se la memoria è sufficientemente grande.
Le regole per il comportamento di collegamento predefinito sono contenute negli script Tcl generati da Altera bsp-set-defaults.tcl e bsp-linker-utils.tcl che si trovano in Directory /niosv/scripts/bsp-defaults. Il comando niosv-bsp richiama questi script. Non modificarli direttamente.

Manuale di progettazione del processore embedded Nios® V 48

Invia feedback

4. Soluzioni di configurazione e avvio del processore Nios V 726952 | 2025.07.16

4.2.1.2. Collegamento BSP configurabile
È possibile gestire il comportamento di collegamento predefinito nella scheda Script Linker dell'Editor BSP. È possibile manipolare lo script linker utilizzando i seguenti metodi: · Aggiungi una regione di memoria: mappa il nome di una regione di memoria a un dispositivo di memoria fisico. · Aggiungi una mappatura di sezione: mappa il nome di una sezione a una regione di memoria. Il BSP
L'editor ti consente di view la mappa della memoria prima e dopo aver apportato modifiche.

4.3. Metodi di avvio del processore Nios V

Esistono diversi metodi per avviare il processore Nios V nei dispositivi FPGA Altera. I metodi per avviare il processore Nios V variano a seconda della memoria flash selezionata e delle famiglie di dispositivi.

Tabella 30. Memorie flash supportate con rispettive opzioni di avvio

Memorie di avvio supportate

Dispositivo

Flash su chip (per configurazione interna)

Solo 10 dispositivi al massimo (con IP Flash su chip)

Flash QSPI per uso generale (solo per dati utente)

Tutti i dispositivi FPGA supportati (con IP FPGA con interfaccia flash seriale generica)

Configurazione QSPI Flash (per configurazione seriale attiva)

Controllo basato su blocchi
dispositivi (con generico
Interfaccia flash seriale Intel FPGA IP)(2)

Metodi di avvio del processore Nios V

Posizione di runtime dell'applicazione

Copiatrice di avvio

Applicazione del processore Nios V eseguita sul posto da On-Chip Flash

Flash su chip (XIP) + OCRAM/RAM esterna (per sezioni di dati scrivibili)

funzione alt_load()

Applicazione del processore Nios V copiata dalla Flash On-Chip alla RAM tramite boot copier

OCRAM/RAM esterna

Riutilizzo del bootloader tramite GSFI

Applicazione del processore Nios V eseguita sul posto da flash QSPI per uso generale

Flash QSPI per uso generale (XIP) + OCRAM/RAM esterna (per sezioni di dati scrivibili)

funzione alt_load()

Applicazione del processore Nios V copiata dalla flash QSPI per uso generale alla RAM utilizzando Boot Copyr

OCRAM/RAM esterna

Bootloader tramite GSFI

Esecuzione dell'applicazione del processore Nios V sul posto dalla configurazione flash QSPI

Configurazione QSPI flash (XIP) + OCRAM/RAM esterna (per sezioni di dati scrivibili)

funzione alt_load()

Applicazione del processore Nios V copiata dalla configurazione flash QSPI alla RAM tramite boot copier

Bootloader OCRAM/RAM esterna tramite GSFI continua…

(2) Per l'elenco dei dispositivi, fare riferimento ad AN 980: Supporto software Nios V Processor Quartus Prime.

Invia feedback

Manuale di progettazione del processore embedded Nios® V 49

4. Soluzioni di configurazione e avvio del processore Nios V 726952 | 2025.07.16

Memorie di avvio supportate
Memoria su chip (OCRAM) Memoria strettamente accoppiata (TCM)

Dispositivo
Dispositivi basati su SDM (con Mailbox Client Intel FPGA IP). (2)
Tutti i dispositivi FPGA Altera supportati (2)
Tutti i dispositivi FPGA Altera supportati(2)

Metodi di avvio del processore Nios V
Applicazione del processore Nios V copiata dalla configurazione flash QSPI alla RAM tramite boot copier
Applicazione del processore Nios V eseguita sul posto da OCRAM
Esecuzione sul posto dell'applicazione del processore Nios V da TCM

Posizione di runtime dell'applicazione

Copiatrice di avvio

Bootloader OCRAM/RAM esterna tramite SDM

OCRAM

funzione alt_load()

Istruzione TCM (XIP) Nessuno + Dati TCM (per sezioni dati scrivibili)

Figura 28. Flusso di avvio del processore Nios V

Reset

Il processore passa al vettore di ripristino (avvio del codice di avvio)

Il codice dell'applicazione può essere copiato in un'altra posizione di memoria (a seconda delle opzioni di avvio)
Il codice di avvio inizializza il processore

A seconda delle opzioni di avvio, il codice di avvio può copiare i valori iniziali per i dati/codice in un altro spazio di memoria (alt_load)
Il codice di avvio inizializza il codice dell'applicazione e lo spazio di memoria dei dati
Il codice di avvio inizializza tutte le periferiche di sistema con i driver HAL (alt_main)
Ingresso principale
Informazioni correlate · Guida utente dell'interfaccia flash seriale generica Altera FPGA IP
Manuale di progettazione del processore embedded Nios® V 50

Invia feedback

4. Soluzioni di configurazione e avvio del processore Nios V 726952 | 2025.07.16
· Manuale utente del client di posta elettronica Altera FPGA IP · AN 980: Supporto software Quartus Prime per processore Nios V
4.4. Introduzione ai metodi di avvio del processore Nios V
I sistemi con processore Nios V richiedono che le immagini software siano configurate nella memoria di sistema prima che il processore possa iniziare a eseguire il programma applicativo. Fare riferimento alle sezioni del linker per le sezioni predefinite del linker.
L'editor BSP genera uno script linker che esegue le seguenti funzioni: · Assicura che il software del processore sia collegato in conformità con le impostazioni del linker
dell'editor BSP e determina dove risiede il software nella memoria. · Posiziona la regione di codice del processore nel componente di memoria in base al
componenti di memoria assegnati.
Nella sezione seguente vengono descritti brevemente i metodi di avvio disponibili per il processore Nios V.
4.4.1. Esecuzione sul posto dell'applicazione del processore Nios V dalla flash di avvio
Altera ha progettato i controller flash in modo che lo spazio di indirizzamento flash di avvio sia immediatamente accessibile al processore Nios V al ripristino del sistema, senza la necessità di inizializzare il controller di memoria o i dispositivi di memoria. Ciò consente al processore Nios V di eseguire direttamente il codice applicativo memorizzato sui dispositivi di avvio, senza utilizzare un boot copier per copiare il codice su un altro tipo di memoria. I controller flash sono: · Flash on-chip con IP Flash on-chip (solo nel dispositivo MAX® 10) · Flash QSPI per uso generico con IP di interfaccia flash seriale generica · Flash QSPI di configurazione con IP di interfaccia flash seriale generica (eccetto MAX 10
dispositivi)
Quando l'applicazione del processore Nios V viene eseguita sul posto dalla flash di avvio, l'editor BSP esegue le seguenti funzioni: · Imposta le sezioni del linker .text sulla regione di memoria flash di avvio. · Imposta le sezioni del linker .bss, .rodata, .rwdata, .stack e .heap sulla RAM.
Regione di memoria. È necessario abilitare la funzione alt_load() nelle impostazioni BSP per copiare le sezioni dati (.rodata, .rwdata, .exceptions) nella RAM al ripristino del sistema. La sezione codice (.text) rimane nella regione di memoria flash di avvio.
Informazioni correlate · Guida utente dell'interfaccia flash seriale generica Altera FPGA IP · Guida utente della memoria flash Altera MAX 10
4.4.1.1. alt_load()
È possibile abilitare la funzione alt_load() nel codice HAL utilizzando l'editor BSP.
Quando utilizzata nel flusso di avvio execute-in-place, la funzione alt_load() esegue le seguenti attività:

Invia feedback

Manuale di progettazione del processore embedded Nios® V 51

4. Soluzioni di configurazione e avvio del processore Nios V 726952 | 2025.07.16

· Funziona come un mini boot copier che copia le sezioni di memoria nella RAM in base alle impostazioni BSP.
· Copia le sezioni dati (.rodata, .rwdata, .exceptions) nella RAM, ma non le sezioni codice (.text). La sezione codice (.text) è di sola lettura e rimane nella regione di memoria flash di avvio. Questo partizionamento aiuta a ridurre al minimo l'utilizzo della RAM, ma può limitare le prestazioni di esecuzione del codice perché gli accessi alla memoria flash sono più lenti degli accessi alla RAM on-chip.

Nella tabella seguente sono elencate le impostazioni e le funzioni dell'editor BSP:

Tabella 31. Impostazioni dell'editor BSP
Impostazione dell'editor BSP 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

Funzione Abilita la funzione alt_load(). alt_load() copia la sezione .rodata nella RAM. alt_load() copia la sezione .rwdata nella RAM. alt_load() copia la sezione .exceptions nella RAM.

4.4.2. Applicazione del processore Nios V copiata dalla Flash di avvio alla RAM utilizzando Boot Copier
Il processore Nios V e HAL includono un boot copier che fornisce funzionalità sufficienti per la maggior parte delle applicazioni del processore Nios V ed è comodo da implementare con il flusso di sviluppo del software Nios V.
Quando l'applicazione utilizza un boot copier, imposta tutte le sezioni del linker (.text, .heap, .rwdata, .rodata, .bss, .stack) su una RAM interna o esterna. L'utilizzo del boot copier per copiare un'applicazione per processore Nios V dalla flash di avvio alla RAM interna o esterna per l'esecuzione contribuisce a migliorare le prestazioni di esecuzione.
Con questa opzione di avvio, il processore Nios V avvia l'esecuzione del software di copia dell'avvio al ripristino del sistema. Il software copia l'applicazione dalla flash di avvio alla RAM interna o esterna. Una volta completato il processo, il processore Nios V trasferisce il controllo del programma all'applicazione.

Nota:

Se il boot copier è in flash, non è necessario chiamare la funzione alt_load() perché entrambe hanno lo stesso scopo.

4.4.2.1. Bootloader del processore Nios V tramite interfaccia flash seriale generica
Il Bootloader tramite GSFI è il boot copier del processore Nios V che supporta la memoria flash QSPI nei dispositivi basati su blocchi di controllo. Il Bootloader tramite GSFI include le seguenti funzionalità:
· Individua l'applicazione software nella memoria non volatile.
· Decomprime e copia l'immagine dell'applicazione software nella RAM.
· Al termine della copia, commuta automaticamente l'esecuzione del processore sul codice applicativo nella RAM.

Manuale di progettazione del processore embedded Nios® V 52

Invia feedback

4. Soluzioni di configurazione e avvio del processore Nios V 726952 | 2025.07.16

L'immagine di avvio si trova subito dopo il boot copier. È necessario assicurarsi che l'offset di reset del processore Nios V punti all'inizio del boot copier. La Figura: Mappa di memoria per flash QSPI con bootloader tramite GSFI mostra la mappa di memoria flash per flash QSPI quando si utilizza un boot copier. Questa mappa di memoria presuppone che la memoria flash memorizzi l'immagine FPGA e il software applicativo.

Tabella 32. Bootloader tramite GSFI per il core del processore Nios V

Core del processore Nios V
Processore Nios V/m

Bootloader tramite GSFI File Posizione
/niosv/components/bootloader/ niosv_m_bootloader.srec

Processore Nios V/g

/niosv/components/bootloader/ niosv_g_bootloader.srec

Figura 29. Mappa di memoria per QSPI Flash con Bootloader tramite GSFI

Dati del cliente (*.hex)

Codice dell'applicazione

Nota:

Reimposta offset vettoriale

Copiatrice di avvio

0x01E00000

Immagine FPGA (*.sof)

0x00000000

1. All'inizio della mappa di memoria si trova l'immagine FPGA seguita dai dati, che consistono nel boot copier e nel codice dell'applicazione.
2. È necessario impostare l'offset di ripristino del processore Nios V in Platform Designer e puntarlo all'inizio del boot copier.
3. La dimensione dell'immagine FPGA è sconosciuta. È possibile conoscerne la dimensione esatta solo dopo la compilazione del progetto Quartus Prime. È necessario determinare un limite superiore per la dimensione dell'immagine FPGA Altera. Ad esempioampAd esempio, se si stima che la dimensione dell'immagine FPGA sia inferiore a 0x01E00000, impostare Reset Offset su 0x01E00000 in Platform Designer, che è anche l'inizio del boot copier.
4. Una buona pratica di progettazione consiste nell'impostare l'offset del vettore di reset al confine di un settore flash per garantire che non si verifichi alcuna cancellazione parziale dell'immagine FPGA in caso di aggiornamento dell'applicazione software.

Invia feedback

Manuale di progettazione del processore embedded Nios® V 53

4. Soluzioni di configurazione e avvio del processore Nios V 726952 | 2025.07.16

4.4.2.2. Bootloader del processore Nios V tramite Secure Device Manager
Il bootloader tramite Secure Device Manager (SDM) è un codice applicativo HAL che utilizza il driver IP HAL FPGA di Altera Mailbox Client per l'avvio del processore. Altera consiglia questa applicazione bootloader quando si utilizza la flash QSPI di configurazione nei dispositivi basati su SDM per avviare il processore Nios V.
Dopo il ripristino del sistema, il processore Nios V avvia innanzitutto il Bootloader tramite SDM da una piccola memoria on-chip ed esegue il Bootloader tramite SDM per comunicare con la flash QSPI di configurazione utilizzando l'IP del client Mailbox.
Il Bootloader tramite SDM esegue le seguenti attività: · Individua il software Nios V nella flash QSPI di configurazione. · Copia il software Nios V nella RAM on-chip o nella RAM esterna. · Commuta l'esecuzione del processore al software Nios V nella RAM on-chip o
RAM esterna.
Una volta completato il processo, il Bootloader tramite SDM trasferisce il controllo del programma all'applicazione utente. Altera consiglia di organizzare la memoria come descritto in Organizzazione della memoria per Bootloader tramite SDM.
Figura 30. Bootloader tramite flusso di processo SDM

Configurazione

Flash

2

Nios V Software

SDM

Dispositivo FPGA basato su SDM

IP client casella di posta

Logica FPGA Nios V

4 RAM esterna
Nios V Software

Su chip 4

EMIF

Memoria RAM

Memoria su chip

IP

Nios V

1

Software

Bootloader tramite SDM

3

3

1. Il processore Nios V esegue il Bootloader tramite SDM dalla memoria on-chip.
2. Il bootloader tramite SDM comunica con la flash di configurazione e individua il software Nios V.
3. Il bootloader tramite SDM copia il software Nios V dalla Flash di configurazione nella RAM on-chip/RAM esterna.
4. Il bootloader tramite SDM commuta l'esecuzione del processore Nios V sul software Nios V nella RAM on-chip/RAM esterna.

4.4.3. Esecuzione sul posto dell'applicazione del processore Nios V da OCRAM
Con questo metodo, l'indirizzo di reset del processore Nios V viene impostato sull'indirizzo base della memoria on-chip (OCRAM). Il file binario dell'applicazione (.hex) file viene caricato nell'OCRAM durante la configurazione dell'FPGA, dopo che il progetto hardware è stato compilato nel software Quartus Prime. Una volta che il processore Nios V si è resettato, l'applicazione inizia l'esecuzione e si dirama al punto di ingresso.

Manuale di progettazione del processore embedded Nios® V 54

Invia feedback

4. Soluzioni di configurazione e avvio del processore Nios V 726952 | 2025.07.16

Nota:

· Execute-In-Place di OCRAM non richiede una copia di avvio perché l'applicazione del processore Nios V è già in atto al ripristino del sistema.
· Altera consiglia di abilitare alt_load() per questo metodo di avvio in modo che il software incorporato si comporti in modo identico quando viene ripristinato senza dover riconfigurare l'immagine del dispositivo FPGA.
· È necessario abilitare la funzione alt_load() nelle impostazioni BSP per copiare la sezione .rwdata al ripristino del sistema. In questo metodo, i valori iniziali delle variabili inizializzate vengono memorizzati separatamente dalle variabili corrispondenti per evitare sovrascritture durante l'esecuzione del programma.

4.4.4. Esecuzione sul posto dell'applicazione del processore Nios V da TCM
Il metodo execute-in-place imposta l'indirizzo di reset del processore Nios V sull'indirizzo base della memoria strettamente accoppiata (TCM). Il file binario dell'applicazione (.hex) file viene caricato nel TCM quando si configura l'FPGA dopo aver compilato il progetto hardware nel software Quartus Prime. Una volta che il processore Nios V si è resettato, l'applicazione inizia l'esecuzione e si dirama al punto di ingresso.

Nota:

L'esecuzione sul posto da TCM non richiede la copia di avvio perché l'applicazione del processore Nios V è già in atto al ripristino del sistema.

4.5. Avvio del processore Nios V da Flash su chip (UFM)

L'avvio e l'esecuzione del software del processore Nios V tramite flash on-chip (UFM) è disponibile nei dispositivi FPGA MAX 10. Il processore Nios V supporta le due seguenti opzioni di avvio tramite flash on-chip in modalità di configurazione interna:
· L'applicazione del processore Nios V viene eseguita sul posto dalla memoria Flash integrata.
· L'applicazione del processore Nios V viene copiata dalla Flash On-Chip alla RAM tramite Boot Copyr.

Tabella 33. Memorie flash supportate con rispettive opzioni di avvio

Memorie di avvio supportate

Metodi di avvio di Nios V

Posizione di runtime dell'applicazione

Copiatrice di avvio

Solo MAX 10 dispositivi (con OnChip Flash IP)

Applicazione del processore Nios V eseguita sul posto da On-Chip Flash
Applicazione del processore Nios V copiata dalla Flash On-Chip alla RAM tramite boot copier

Flash su chip (XIP) + OCRAM/RAM esterna (per sezioni di dati scrivibili)

funzione alt_load()

OCRAM/ RAM esterna

Riutilizzo del bootloader tramite GSFI

Invia feedback

Manuale di progettazione del processore embedded Nios® V 55

4. Soluzioni di configurazione e avvio del processore Nios V 726952 | 2025.07.16

Figura 31.

Progettazione, configurazione e flusso di avvio
Progettazione · Crea il tuo progetto basato sul processore Nios V utilizzando Platform Designer. · Assicurati che nel progetto del sistema sia presente RAM esterna o RAM on-chip.

Configurazione e compilazione FPGA
· Imposta la stessa modalità di configurazione interna in On-chip Flash IP in Platform Designer e nel software Quartus Prime. · Imposta l'agente di reset del processore Nios V su On-chip Flash. · Scegli il metodo di inizializzazione UFM preferito. · Genera il tuo progetto in Platform Designer. · Compila il tuo progetto nel software Quartus Prime.

Progetto BSP dell'applicazione utente · Crea un HAL BSP per il processore Nios V basato su .sopcinfo file creato da Platform Designer. · Modifica le impostazioni BSP del processore Nios V e lo script Linker in BSP Editor. · Genera il progetto BSP.
Progetto APP per applicazione utente · Sviluppare il codice dell'applicazione per processore Nios V. · Compilare l'applicazione per processore Nios V e generare l'applicazione per processore Nios V (.hex) file· Ricompila il tuo progetto nel software Quartus Prime se selezioni l'opzione Inizializza contenuto memoria in Intel FPGA On-Chip Flash IP.

Programmazione FileConversione, download ed esecuzione · Genera il file Flash on-chip .pof file utilizzando la programmazione di conversione Filefunzionalità del software Quartus Prime.
· Programmare il .pof file nel tuo dispositivo MAX 10. · Spegni e riaccendi l'hardware.
4.5.1. Descrizione della memoria flash integrata FPGA MAX 10
I dispositivi FPGA MAX 10 contengono flash on-chip segmentato in due parti: · Memoria flash di configurazione (CFM) — memorizza i dati di configurazione hardware per
MAX 10 FPGA. · Memoria flash utente (UFM): memorizza i dati utente o le applicazioni software.
L'architettura UFM del dispositivo MAX 10 è una combinazione di IP soft e hard. È possibile accedere all'UFM solo tramite il core IP Flash On-Chip del software Quartus Prime.
Il core IP Flash on-chip supporta le seguenti funzionalità: · Accessi in lettura o scrittura ai settori UFM e CFM (se abilitati in Platform Designer)
utilizzando l'interfaccia slave di dati e controllo Avalon MM. · Supporta la cancellazione di pagina, la cancellazione di settore e la scrittura di settore. · Modello di simulazione per accessi in lettura/scrittura UFM utilizzando vari strumenti di simulazione EDA.

Manuale di progettazione del processore embedded Nios® V 56

Invia feedback

4. Soluzioni di configurazione e avvio del processore Nios V 726952 | 2025.07.16

Tabella 34. Regioni Flash on-chip nei dispositivi FPGA MAX 10

Regioni Flash

Funzionalità

Configurazione della memoria flash (settori CFM0-2)

Configurazione FPGA file magazzinaggio

Memoria flash utente (settori UFM0-1)

Applicazione del processore Nios V e dati utente

I dispositivi FPGA MAX 10 supportano diverse modalità di configurazione e alcune di queste consentono di utilizzare CFM1 e CFM2 come regioni UFM aggiuntive. La tabella seguente mostra la posizione di archiviazione delle immagini di configurazione FPGA in base alle modalità di configurazione dell'FPGA MAX 10.

Tabella 35. Posizione di archiviazione delle immagini di configurazione FPGA

Modalità di configurazione Immagini compresse doppie

Immagine compressa CFM2 2

CFM1

Immagine compressa CFM0 1

Singola immagine non compressa

UFM virtuale

Immagine non compressa

Immagine singola non compressa con inizializzazione della memoria

Immagine non compressa (con contenuto di memoria on-chip pre-inizializzato)

Immagine compressa singola con inizializzazione della memoria Immagine compressa (con contenuto di memoria on-chip pre-inizializzato)

Immagine singola compressa

UFM virtuale

Immagine compressa

È necessario utilizzare il core IP Flash On-chip per accedere alla memoria flash negli FPGA MAX 10. È possibile istanziare e connettere l'IP Flash On-chip al software Quartus Prime. Il processore softcore Nios V utilizza le interconnessioni Platform Designer per comunicare con l'IP Flash On-chip.
Figura 32. Connessione tra IP Flash on-chip e processore Nios V

Nota:

Assicurarsi che la porta csr Flash on-chip sia collegata al data_manager del processore Nios V per consentire al processore di controllare le operazioni di scrittura e cancellazione.
Il core IP Flash on-chip può fornire accesso a cinque settori flash: UFM0, UFM1, CFM0, CFM1 e CFM2.
Informazioni importanti sui settori UFM e CFM: · I settori CFM sono destinati all'archiviazione dei dati di configurazione (bitstream) (*.pof).
· I dati utente possono essere memorizzati nei settori UFM e possono essere nascosti, se vengono selezionate le impostazioni corrette nello strumento Platform Designer.
· Alcuni dispositivi non dispongono di un settore UFM1. È possibile fare riferimento alla tabella: Dimensioni dei settori UFM e CFM per i settori disponibili in ogni singolo dispositivo FPGA MAX 10.

Invia feedback

Manuale di progettazione del processore embedded Nios® V 57

4. Soluzioni di configurazione e avvio del processore Nios V 726952 | 2025.07.16

· È possibile configurare CFM2 come UFM virtuale selezionando la modalità di configurazione Immagine singola non compressa.
· È possibile configurare CFM2 e CFM1 come UFM virtuali selezionando la modalità di configurazione Immagine singola non compressa.
· La dimensione di ciascun settore varia a seconda dei dispositivi FPGA MAX 10 selezionati.

Tabella 36.

Dimensioni del settore UFM e CFM
Questa tabella elenca le dimensioni degli array UFM e CFM.

Dispositivo

Pagine per settore

UFM1 UFM0 CFM2 CFM1 CFM0

Dimensione pagina (Kbit)

Utente massimo
Dimensione della memoria flash (Kbit) (3)

Dimensione totale della memoria di configurazione (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

Dimensione OCRAM (Kbit)
108 189 378 549 675 1260 1638

Informazioni correlate · Guida utente per la configurazione FPGA MAX 10 · Guida utente per la memoria flash Altera MAX 10

4.5.2. Esecuzione sul posto dell'applicazione del processore Nios V da UFM

La soluzione Execute-In-Place di UFM è adatta per applicazioni con processore Nios V che richiedono un utilizzo limitato della memoria on-chip. La funzione alt_load() funziona come un mini boot copier che copia le sezioni dati (.rodata, .rwdata o .exceptions) dalla memoria di boot alla RAM in base alle impostazioni BSP. La sezione codice (.text),
che è una sezione di sola lettura, rimane nella regione di memoria Flash on-chip MAX 10. Questa configurazione riduce al minimo l'utilizzo della RAM, ma potrebbe limitare le prestazioni di esecuzione del codice poiché l'accesso alla memoria flash è più lento rispetto alla RAM on-chip.

L'applicazione del processore Nios V è programmata nel settore UFM. Il vettore di reset del processore Nios V punta all'indirizzo base dell'UFM per eseguire il codice dall'UFM dopo il reset del sistema.

Se si utilizza il debugger a livello sorgente per eseguire il debug dell'applicazione, è necessario utilizzare un breakpoint hardware. Questo perché l'UFM non supporta l'accesso casuale alla memoria, necessario per il debug tramite breakpoint software.

Nota:

Non è possibile cancellare o scrivere l'UFM durante l'esecuzione dell'esecuzione sul posto in MAX 10. Passare all'approccio boot copier se è necessario cancellare o scrivere l'UFM.

(3) Il valore massimo possibile, che dipende dalla modalità di configurazione selezionata.

Manuale di progettazione del processore embedded Nios® V 58

Invia feedback

4. Soluzioni di configurazione e avvio del processore Nios V 726952 | 2025.07.16

Figura 33. Applicazione del processore Nios V XIP da UFM

Max 10 dispositivi

.POF
Nios V Hardware .SOF
Nios V Software .HEX

Programmatore Quartus

Flash su chip

CFM

Hardware Nios V

UFM

Nios V Software

Configurazione interna

IP Flash su chip

Logica FPGA
Processore Nios V

RAM su chip

Esterno

Memoria RAM

EMIF

IP

4.5.2.1. Flusso di progettazione hardware
La sezione seguente descrive un metodo passo passo per creare un sistema avviabile per un'applicazione del processore Nios V da On-Chip Flash. L'esempioampquello sottostante è stato realizzato utilizzando il dispositivo MAX 10.
Impostazioni dei componenti IP
1. Crea il tuo progetto di processore Nios V utilizzando Quartus Prime e Platform Designer. 2. Assicurati che la RAM esterna o la memoria on-chip (OCRAM) sia aggiunta alla tua piattaforma
Sistema di progettazione.

Invia feedback

Manuale di progettazione del processore embedded Nios® V 59

4. Soluzioni di configurazione e avvio del processore Nios V 726952 | 2025.07.16
Figura 34. EsampConnessioni IP in Platform Designer per l'avvio di Nios V da OnChip Flash (UFM)

3. Nell'editor dei parametri IP Flash su chip, impostare la modalità di configurazione su una delle seguenti, in base alle preferenze di progettazione: · Immagine singola non compressa · Immagine singola compressa · Immagine singola non compressa con inizializzazione della memoria · Immagine singola compressa con inizializzazione della memoria
Per ulteriori informazioni sulle immagini compresse doppie, fare riferimento alla Guida utente per la configurazione FPGA MAX 10 – Aggiornamento remoto del sistema.

Nota:

È necessario assegnare l'accesso nascosto a tutte le regioni CFM nell'IP Flash on-chip.

Figura 35. Selezione della modalità di configurazione nell'editor dei parametri flash su chip

Impostazioni IP Flash su chip – Inizializzazione UFM È possibile scegliere uno dei seguenti metodi in base alle proprie preferenze:

Manuale di progettazione del processore embedded Nios® V 60

Invia feedback

4. Soluzioni di configurazione e avvio del processore Nios V 726952 | 2025.07.16

Nota:

I passaggi nei sottocapitoli successivi (Flusso di progettazione del software e Programmazione) dipendono dalla selezione effettuata qui.

· Metodo 1: inizializzare i dati UFM nel SOF durante la compilazione
Quartus Prime include i dati di inizializzazione UFM nel SOF durante la compilazione. La ricompilazione del SOF è necessaria in caso di modifiche ai dati UFM.
1. Seleziona Inizializza contenuto flash e Abilita inizializzazione non predefinita file.

Figura 36. Inizializza i contenuti Flash e abilita l'inizializzazione non predefinita File

2. Specificare il percorso del file .hex generato file (dal comando elf2hex) nell'esadecimale creato dall'utente o mif file.
Figura 37. Aggiunta di .hex File Sentiero

· Metodo 2: combinare i dati UFM con un SOF compilato durante la generazione del POF
I dati UFM vengono combinati con il SOF compilato durante la conversione della programmazione files. Non è necessario ricompilare il SOF, anche se i dati UFM cambiano. Durante lo sviluppo, non è necessario ricompilare il SOF. fileper le modifiche nell'applicazione. Alter consiglia questo metodo agli sviluppatori di applicazioni.
1. Deseleziona Inizializza contenuto flash.
Figura 38. Inizializzazione del contenuto Flash con inizializzazione non predefinita File

Ripristina le impostazioni dell'agente per il metodo di esecuzione sul posto del processore Nios V
1. Nell'editor dei parametri del processore Nios V, impostare Reset Agent su On-Chip Flash.
Figura 39. Impostazioni dell'editor dei parametri del processore Nios V con Reset Agent impostato su On-Chip Flash

2. Fare clic su Genera HDL quando viene visualizzata la finestra di dialogo Generazione. 3. Specificare l'output file opzioni di generazione e fare clic su Genera.

Invia feedback

Manuale di progettazione del processore embedded Nios® V 61

4. Soluzioni di configurazione e avvio del processore Nios V 726952 | 2025.07.16
Impostazioni del software Quartus Prime 1. Nel software Quartus Prime, fare clic su Assegnazioni Dispositivo Dispositivo e PIN
Configurazione delle opzioni. Impostare la modalità di configurazione in base alle impostazioni in On-Chip Flash IP. Figura 40. Selezione della modalità di configurazione nel software Quartus Prime

2. Fare clic su OK per uscire dalla finestra Opzioni dispositivo e PIN,
3. Fare clic su OK per uscire dalla finestra Dispositivo.
4. Fare clic su Elaborazione Avvia compilazione per compilare il progetto e generare il file .sof file.

Nota:

Se l'impostazione della modalità di configurazione nel software Quartus Prime e nell'editor dei parametri di Platform Designer è diversa, il progetto Quartus Prime fallisce e viene visualizzato il seguente messaggio di errore.

Figura 41.

Messaggio di errore per impostazione diversa della modalità di configurazione Errore (14740): La modalità di configurazione su atom "q_sys:q_sys_inst| altera_onchip_flash:onchip_flash_1|altera_onchip_flash_block: altera_onchip_flash_block|ufm_block" non corrisponde alle impostazioni del progetto. Aggiornare e rigenerare il sistema Qsys in modo che corrisponda alle impostazioni del progetto.

Informazioni correlate Guida utente per la configurazione FPGA MAX 10

4.5.2.2. Flusso di progettazione del software
Questa sezione illustra il flusso di progettazione per generare e compilare il progetto software del processore Nios V. Per garantire un flusso di compilazione semplificato, si consiglia di creare un albero di directory simile nel progetto. Il seguente flusso di progettazione software si basa su questo albero di directory.
Per creare la struttura delle directory del progetto software, seguire questi passaggi: 1. Nella cartella del progetto di progettazione, creare una cartella denominata software. 2. Nella cartella software, creare due cartelle denominate hal_app e hal_bsp.
Figura 42. Albero delle directory del progetto software

Manuale di progettazione del processore embedded Nios® V 62

Invia feedback

4. Soluzioni di configurazione e avvio del processore Nios V 726952 | 2025.07.16
Creazione del progetto BSP dell'applicazione
Per avviare l'editor BSP, seguire questi passaggi: 1. Accedere alla shell dei comandi Nios V. 2. Richiamare l'editor BSP con il comando niosv-bsp-editor. 3. Nell'editor BSP, fare clic su File Nuovo BSP per avviare il progetto BSP. 4. Configurare le seguenti impostazioni:
· Informazioni SOPC File nome: Fornire SOPCINFO file (.sopcinfo). · Nome CPU: seleziona il processore Nios V. · Sistema operativo: seleziona il sistema operativo del processore Nios V. · Versione: lascia come predefinito. · Directory di destinazione BSP: seleziona il percorso della directory del progetto BSP. Puoi
preimpostarlo a /software/hal_bsp abilitando Usa posizioni predefinite. · Impostazioni BSP File nome: digitare il nome delle impostazioni BSP File. · Script Tcl aggiuntivi: fornire uno script Tcl BSP abilitando Abilita script Tcl aggiuntivo. 5. Fare clic su OK.
Figura 43. Configurare il nuovo BSP

Configurazione dell'editor BSP e generazione del progetto BSP
È possibile definire il vettore di eccezione del processore in memoria On-Chip (OCRAM) o On-Chip Flash in base alle proprie preferenze di progettazione. Si consiglia di impostare la memoria del vettore di eccezione su OCRAM/RAM esterna per velocizzare l'elaborazione degli interrupt. 1. Andare su Impostazioni principali > Avanzate > hal.linker. 2. Se si seleziona On-Chip Flash come vettore di eccezione,
a. Abilitare le seguenti impostazioni:

Invia feedback

Manuale di progettazione del processore embedded Nios® V 63

4. Soluzioni di configurazione e avvio del processore Nios V 726952 | 2025.07.16
· allow_code_at_reset · enable_alt_load · enable_alt_load_copy_rodata · enable_alt_load_copy_rwdata Figura 44. Impostazioni Advanced.hal.linker

b. Fare clic sulla scheda Script linker nell'editor BSP. c. Impostare le regioni .exceptions e .text nel nome della sezione linker su
Flash su chip. d. Impostare il resto delle regioni nell'elenco Nome sezione linker su On-Chip
Memoria (OCRAM) o RAM esterna.
Figura 45. Impostazioni della regione del linker (memoria vettoriale di eccezione: flash su chip)

3. Se selezioni OCRAM/RAM esterna come vettore di eccezione, a. Abilita le seguenti impostazioni: · allow_code_at_reset · enable_alt_load · enable_alt_load_copy_rodata · enable_alt_load_copy_rwdata · enable_alt_load_copy_exception
Figura 46. Impostazioni della regione del linker (memoria del vettore di eccezione: OCRAM/RAM esterna)

b. Fare clic sulla scheda Linker Script nell'editor BSP.
c. Impostare le regioni .text nel nome della sezione Linker su On-Chip Flash.
d. Impostare le restanti regioni nell'elenco Nome sezione linker sulla memoria on-chip (OCRAM) o sulla RAM esterna.

Manuale di progettazione del processore embedded Nios® V 64

Invia feedback

4. Soluzioni di configurazione e avvio del processore Nios V 726952 | 2025.07.16
Figura 47. Impostazioni della regione del linker (memoria del vettore di eccezione: OCRAM)
4. Fare clic su Genera per generare il progetto BSP. Generazione del progetto dell'applicazione utente File 1. Vai alla cartella software/hal_app e crea la sorgente della tua applicazione
codice. 2. Avviare la shell dei comandi Nios V. 3. Eseguire il comando seguente per generare l'applicazione CMakeLists.txt.
niosv-app –app-dir=software/hal_app –bsp-dir=software/hal_bsp –srcs=software/hal_app/
Creazione del progetto dell'applicazione utente È possibile scegliere di creare il progetto dell'applicazione utente utilizzando l'IDE Ashling RiscFree per FPGA Altera o tramite l'interfaccia a riga di comando (CLI). Se si preferisce utilizzare la CLI, è possibile creare l'applicazione utente utilizzando il seguente comando: cmake -G "Unix Make"files” -B software/hal_app/build -S software/hal_app make -C software/hal_app/build
L'applicazione (.elf) file viene creato nella cartella software/hal_app/build. Generazione dell'HEX File Devi generare un .hex file dalla tua applicazione .elf file, così puoi creare un .pof file adatto per la programmazione dei dispositivi. 1. Avviare la shell dei comandi Nios V. 2. Per l'avvio dell'applicazione del processore Nios V dalla memoria flash integrata, utilizzare quanto segue
Riga di comando per convertire il file ELF in HEX per la tua applicazione. Questo comando crea l'applicazione utente (onchip_flash.hex) file. software elf2hex/hal_app/build/ .elf -o onchip_flash.hex
-B -w 8 -e 3. Ricompilare il progetto hardware se si seleziona l'opzione "Inizializza contenuto memoria" in "On-Chip Flash IP" (Metodo 1). Questo serve per includere i dati software (.HEX) nel file SOF. file.

Invia feedback

Manuale di progettazione del processore embedded Nios® V 65

4. Soluzioni di configurazione e avvio del processore Nios V 726952 | 2025.07.16
4.5.2.3 Programmazione 1. In Quartus Prime, fare clic su File Converti Programmazione Files. 2. In Programmazione di output file, scegli Oggetto Programmatore File (.pof) come programmazione file tipo. 3. Impostare la modalità su Configurazione interna.
Figura 48. Convertire la programmazione File Impostazioni
4. Fare clic su Opzioni/Informazioni di avvio…, viene visualizzata la finestra Opzioni dispositivo MAX 10. 5. In base alle impostazioni di inizializzazione del contenuto flash nell'IP flash on-chip, eseguire
uno dei seguenti passaggi: · Se l'opzione Inizializza contenuto flash è selezionata (Metodo 1), i dati di inizializzazione UFM
è stato incluso nel SOF durante la compilazione di Quartus Prime. — Selezionare Pagina_0 per l'opzione sorgente UFM. Fare clic su OK e procedere alla
successivo. Figura 49. Impostazione di Page_0 per la sorgente UFM se è selezionata l'opzione Inizializza contenuto Flash

Manuale di progettazione del processore embedded Nios® V 66

Invia feedback

4. Soluzioni di configurazione e avvio del processore Nios V 726952 | 2025.07.16
· Se l'opzione Inizializza contenuto flash non è selezionata (Metodo 2), scegliere Carica memoria file per l'opzione sorgente UFM. Passare al file HEX Flash On-chip generato file (onchip_flash.hex) nel File percorso: e fare clic su OK. Questo passaggio aggiunge i dati UFM separatamente al SOF file durante la programmazione file conversione.
Figura 50. Impostazione della memoria di caricamento File per la sorgente UFM se l'opzione Inizializza contenuto Flash non è selezionata

6. Nella programmazione di conversione File finestra di dialogo, in Input fileper convertire la sezione, fare clic su Aggiungi File… e punta al file Quartus Prime .sof generato file.
Figura 51. Ingresso Files per convertire in Convertire la programmazione Files per Modalità Immagine Singola

7. Fare clic su Genera per creare il file .pof file8. Programmare il file .pof file nel tuo dispositivo MAX 10. 9. Spegni e riaccendi l'hardware.

4.5.3. Applicazione del processore Nios V copiata da UFM a RAM utilizzando Boot Copier

Altera consiglia questa soluzione per i sistemi con processore FPGA MAX 10 Nios V, in cui sono richieste più iterazioni di sviluppo del software applicativo e prestazioni di sistema elevate. Il boot copier si trova all'interno dell'UFM, a un offset che corrisponde allo stesso indirizzo del vettore di reset. L'applicazione Nios V si trova accanto al boot copier.

Con questa opzione di avvio, il processore Nios V avvia l'esecuzione del boot copier al ripristino del sistema per copiare l'applicazione dal settore UFM alla OCRAM o alla RAM esterna. Una volta completata la copia, il processore Nios V trasferisce il controllo del programma all'applicazione.

Nota:

Il boot copier applicato è lo stesso del Bootloader tramite GSFI.

Invia feedback

Manuale di progettazione del processore embedded Nios® V 67

4. Soluzioni di configurazione e avvio del processore Nios V 726952 | 2025.07.16

Figura 52. Applicazione Nios V copiata da UFM alla RAM utilizzando Boot Copier

Max 10 dispositivi

.POF
Nios V Hardware .SOF
Nios V Software .HEX
Bootloader .SREC

Programmatore Quartus

RAM esterna
Nios V Software

Flash su chip

CFM

Nios V Hardwa

Documenti / Risorse

altera Nios V Embedded Processor [pdf] Guida utente
Nios V, Nios Vm, Nios Vg, Nios Vc, Processore incorporato Nios V, Nios V, Processore incorporato, Processore

Riferimenti

Lascia un commento

Il tuo indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *