Processeur embarqué Altera Nios V

Caractéristiques

  • Nom du produit : Processeur Nios V
  • Compatibilité logicielle : Quartus Prime Software and Platform Designer
  • Type de processeur : Altera FPGA
  • Système de mémoire : mémoire volatile et non volatile
  • Interface de communication : agent UART

Conception du système matériel du processeur Nios V

Pour concevoir le système matériel du processeur Nios V, suivez ces étapes :

  1. Créez une conception de système de processeur Nios V à l'aide de Platform Designer.
  2. Intégrer le système au projet Quartus Prime.
  3. Concevoir un système de mémoire comprenant une mémoire volatile et non volatile.
  4. Mettre en œuvre les meilleures pratiques en matière d’horloges et de réinitialisations.
  5. Affectez des agents par défaut et UART pour un fonctionnement efficace.

Conception du système logiciel du processeur Nios V

Pour concevoir le système logiciel pour le processeur Nios V :

  1. Suivez le flux de développement logiciel pour le processeur Nios V.
  2. Créer un projet de package de support de carte et un projet d'application.

Solutions de configuration et de démarrage du processeur Nios V

Pour configurer et démarrer le processeur Nios V :

  1. Comprendre l’introduction aux solutions de configuration et de démarrage.
  2. Liez les applications pour un fonctionnement transparent.

À propos du processeur embarqué Nios® V
1.1. Altera® FPGA et processeurs embarqués surview
Les dispositifs FPGA d'Altera peuvent implémenter une logique qui fonctionne comme un microprocesseur complet tout en offrant de nombreuses options.
Une différence importante entre les microprocesseurs discrets et les FPGA Altera réside dans l'absence de logique au démarrage de ces derniers. Le processeur Nios® V est un processeur à propriété intellectuelle (PI) logicielle basé sur la spécification RISC-V. Avant d'exécuter un logiciel sur un système équipé d'un processeur Nios V, vous devez configurer le FPGA Altera avec une conception matérielle intégrant un processeur Nios V. Vous pouvez placer le processeur Nios V n'importe où sur le FPGA Altera, selon les exigences de la conception.


Pour permettre à votre système embarqué basé sur IP FPGA Altera® de se comporter comme un système basé sur un microprocesseur discret, votre système doit inclure les éléments suivants : · AJTAG interface pour prendre en charge la configuration, le matériel et les logiciels du FPGA Altera
débogage · Un mécanisme de configuration de FPGA Altera sous tension
Si votre système possède ces capacités, vous pouvez commencer à affiner votre conception à partir d'une conception matérielle pré-testée et chargée dans le FPGA Altera. L'utilisation d'un FPGA Altera vous permet également de modifier rapidement votre conception pour résoudre des problèmes ou ajouter de nouvelles fonctionnalités. Vous pouvez tester facilement ces nouvelles conceptions matérielles en reconfigurant le FPGA Altera à l'aide du J de votre système.TAG interface.
Le JTAG L'interface prend en charge le développement matériel et logiciel. Vous pouvez effectuer les tâches suivantes à l'aide de l'interface J.TAG interface : · Configurer le FPGA Altera · Télécharger et déboguer le logiciel · Communiquer avec le FPGA Altera via une interface de type UART (JTAG UART
terminal) · Déboguer le matériel (avec l'analyseur logique intégré Signal Tap) · Programmer la mémoire flash
Une fois que vous avez configuré le FPGA Altera avec une conception basée sur un processeur Nios V, le flux de développement logiciel est similaire au flux des conceptions de microcontrôleurs discrets.


Informations connexes · AN 985 : Tutoriel sur le processeur Nios V
Un guide de démarrage rapide sur la création d'un système de processeur Nios V simple et l'exécution de l'application Hello World.
© Altera Corporation. Altera, le logo Altera, le logo « a » et les autres marques Altera sont des marques déposées d'Altera Corporation. Altera se réserve le droit d'apporter des modifications à ses produits et services à tout moment et sans préavis. Altera décline toute responsabilité quant à l'application ou à l'utilisation des informations, produits ou services décrits dans le présent document, sauf accord écrit exprès d'Altera. Il est conseillé aux clients d'Altera de se procurer la dernière version des spécifications de leurs appareils avant de se fier aux informations publiées et de commander des produits ou services. *Les autres noms et marques peuvent être revendiqués comme étant la propriété de tiers.

1. À propos du processeur embarqué Nios® V 726952 | 2025.07.16
· Manuel de référence du processeur Nios V Fournit des informations sur les tests de performances du processeur Nios V, l'architecture du processeur, le modèle de programmation et l'implémentation principale.
· Guide de l'utilisateur IP des périphériques intégrés · Manuel du développeur de logiciels du processeur Nios V


Décrit l'environnement de développement logiciel du processeur Nios V, les outils disponibles et le processus de création de logiciels à exécuter sur le processeur Nios V. · Ashling* RiscFree* Environnement de développement intégré (IDE) pour Altera FPGA Guide de l'utilisateur Décrit l'environnement de développement intégré (IDE) RiscFree* pour Altera FPGA HPS basé sur Arm* et le processeur Nios V. · Notes de publication de l'IP FPGA Altera du processeur Nios V
1.2. Prise en charge du logiciel Quartus® Prime
Le processus de création du processeur Nios V diffère selon que le logiciel Quartus® Prime Pro Edition est compatible avec celui de Quartus Prime Standard Edition. Consultez l'AN 980 : Assistance logicielle Quartus Prime pour le processeur Nios V pour plus d'informations sur ces différences.
Informations connexes AN 980 : Processeur Nios V Support logiciel Quartus Prime
1.3. Licences de processeur Nios V
Chaque variante de processeur Nios V possède sa clé de licence. Une fois obtenue, vous pouvez l'utiliser pour tous vos projets de processeur Nios V jusqu'à sa date d'expiration. Vous pouvez acquérir gratuitement les licences IP du processeur Nios V Altera FPGA.
La liste des clés de licence du processeur Nios V est disponible dans le Centre de licences en libre-service Altera FPGA. Cliquez sur l'onglet « S'inscrire pour une évaluation ou une licence gratuite », puis sélectionnez les options correspondantes pour effectuer la demande.
Figure 1. Centre de licences en libre-service Altera FPGA

Avec les clés de licence, vous pouvez :
Envoyer des commentaires

Manuel de conception du processeur embarqué Nios® V 7

1. À propos du processeur embarqué Nios® V 726952 | 2025.07.16
· Implémentez un processeur Nios V dans votre système. · Simulez le comportement d'un système de processeur Nios V. · Vérifiez les fonctionnalités de la conception, telles que la taille et la vitesse. · Générez la programmation de l'appareil. files. · Programmer un appareil et vérifier la conception du matériel.
Vous n’avez pas besoin de licence pour développer des logiciels dans l’IDE ​​Ashling* RiscFree* pour les FPGA Altera.
Informations connexes · Centre de licences en libre-service Altera FPGA
Pour plus d'informations sur l'obtention des clés de licence IP du processeur Nios V Altera FPGA. · Installation et licence du logiciel Altera FPGA Pour plus d'informations sur l'octroi de licences pour le logiciel Altera FPGA et la configuration d'une licence fixe et d'un serveur de licences réseau.
1.4. Conception de systèmes embarqués
La figure suivante illustre un flux de conception de système simplifié basé sur un processeur Nios V, incluant à la fois le développement matériel et logiciel.

Manuel de conception du processeur embarqué Nios® V 8

Envoyer des commentaires

1. À propos du processeur embarqué Nios® V 726952 | 2025.07.16

Figure 2.

Flux de conception du système de processeur Nios V
Conception du système

Analyser les exigences du système

Nios® V
Cœurs de processeur et composants standard

Définir et générer un système dans
Concepteur de plateforme

Flux matériel : intégration et compilation du projet Intel Quartus Prime

Flux logiciel : développer et créer le logiciel de proposition Nios V

Flux matériel : télécharger la conception FPGA
au tableau cible

Flux logiciel : tester et déboguer le logiciel du processeur Nios V

Le logiciel n'est pas conforme aux spécifications ?
Oui
Matériel non conforme aux spécifications ? Oui
Système terminé

Envoyer des commentaires

Manuel de conception du processeur embarqué Nios® V 9

726952 | 2025.07.16 Envoyer des commentaires

2. Conception du système matériel du processeur Nios V avec Quartus Prime Software and Platform Designer

Figure 3.

Le schéma suivant illustre une conception matérielle typique d'un processeur Nios V. Flux de conception matérielle du système de processeur Nios V

Commencer

Cœurs et composants standard Nios V

Utilisez Platform Designer pour concevoir un système basé sur Nios V
Générer une conception de concepteur de plate-forme

Intégrer le système Platform Designer au projet Intel Quartus Prime
Attribuer des emplacements de broches, des exigences de synchronisation et d'autres contraintes de conception
Compiler le matériel pour le périphérique cible dans Intel Quartus Prime

Prêt à télécharger
2.1. Conception d'un système de processeur Nios V avec Platform Designer
Le logiciel Quartus Prime inclut l'outil d'intégration système Platform Designer, qui simplifie la définition et l'intégration du cœur IP du processeur Nios V et d'autres IP dans la conception d'un système FPGA Altera. Platform Designer crée automatiquement la logique d'interconnexion à partir de la connectivité de haut niveau spécifiée. L'automatisation des interconnexions élimine la tâche fastidieuse de spécification des connexions HDL au niveau système.
© Altera Corporation. Altera, le logo Altera, le logo « a » et les autres marques Altera sont des marques déposées d'Altera Corporation. Altera se réserve le droit d'apporter des modifications à ses produits et services à tout moment et sans préavis. Altera décline toute responsabilité quant à l'application ou à l'utilisation des informations, produits ou services décrits dans le présent document, sauf accord écrit exprès d'Altera. Il est conseillé aux clients d'Altera de se procurer la dernière version des spécifications de leurs appareils avant de se fier aux informations publiées et de commander des produits ou services. *Les autres noms et marques peuvent être revendiqués comme étant la propriété de tiers.

2. Conception du système matériel du processeur Nios V avec Quartus Prime Software and Platform Designer
726952 | 2025.07.16

Après avoir analysé la configuration matérielle requise, utilisez Quartus Prime pour spécifier le cœur de processeur Nios V, la mémoire et les autres composants nécessaires à votre système. Platform Designer génère automatiquement la logique d'interconnexion pour intégrer les composants au système matériel.

2.1.1. Instanciation du processeur Nios V Altera FPGA IP

Vous pouvez instancier n'importe lequel des cœurs IP du processeur dans le catalogue IP de Platform Designer, les processeurs et les périphériques intégrés.

Le cœur IP de chaque processeur prend en charge différentes options de configuration selon son architecture unique. Vous pouvez définir ces configurations pour mieux répondre à vos besoins de conception.

Tableau 1.

Options de configuration sur les variantes principales

Options de configuration

Processeur Nios V/c

Processeur Nios V/m

Demande de réinitialisation de l'utilisation du débogage

Pièges, exceptions et interruptions

Architecture du processeur

ECC

Caches, régions périphériques et TCM

Instructions personnalisées

Pas à pas

Processeur Nios V/g

2.1.1.1. Instanciation du microcontrôleur compact Nios V/c Altera FPGA IP Figure 4. Microcontrôleur compact Nios V/c Altera FPGA IP

Envoyer des commentaires

Manuel de conception du processeur embarqué Nios® V 11

2. Conception du système matériel du processeur Nios V avec Quartus Prime Software and Platform Designer
726952 | 2025.07.16

2.1.1.1.1. Onglet Architecture du processeur

Tableau 2.

Onglet Architecture du processeur

Fonctionnalité

Description

Activer l'interface Avalon® : active l'interface Avalon pour le gestionnaire d'instructions et le gestionnaire de données. Si cette option est désactivée, le système utilise l'interface AXI4-Lite.

Valeur RSE de mhartid

· Option IP non valide. · N'utilisez pas la valeur CSR mhartid dans le processeur Nios V/c.

2.1.1.1.2. Utiliser l'onglet « Demande de réinitialisation »

Tableau 3.

Utiliser le paramètre de l'onglet Demande de réinitialisation

Utiliser l'onglet Demande de réinitialisation

Description

Ajouter une interface de demande de réinitialisation

· Activez cette option pour exposer les ports de réinitialisation locaux où un maître local peut l'utiliser pour déclencher la réinitialisation du processeur Nios V sans affecter les autres composants d'un système de processeur Nios V.
· L'interface de réinitialisation se compose d'un signal d'entrée resetreq et d'un signal de sortie ack.
· Vous pouvez demander une réinitialisation du cœur du processeur Nios V en activant le signal resetreq.
Le signal resetreq doit rester activé jusqu'à ce que le processeur active le signal ack. Si le signal ne reste pas activé, le processeur risque de se retrouver dans un état non déterministe.
· Le processeur Nios V répond que la réinitialisation a réussi en affirmant le signal ack.
· Une fois le processeur réinitialisé avec succès, l'affirmation du signal ack peut se produire plusieurs fois périodiquement jusqu'à la désaffirmation du signal resetreq.

2.1.1.1.3. Onglet Interruptions, exceptions et interruptions

Tableau 4.

Paramètres de l'onglet Interruptions, exceptions et interruptions

Pièges, exceptions et interruptions

Description

Réinitialiser l'agent

· La mémoire hébergeant le vecteur de réinitialisation (l'adresse de réinitialisation du processeur Nios V) où réside le code de réinitialisation.
· Vous pouvez sélectionner n'importe quel module de mémoire connecté au maître d'instructions du processeur Nios V et pris en charge par un flux de démarrage du processeur Nios V comme agent de réinitialisation.

Réinitialiser le décalage

· Spécifie le décalage du vecteur de réinitialisation par rapport à l'adresse de base de l'agent de réinitialisation choisi. · Platform Designer fournit automatiquement une valeur par défaut pour le décalage de réinitialisation.

Note:

Platform Designer propose une option Absolue permettant de spécifier une adresse absolue dans le décalage de réinitialisation. Utilisez cette option lorsque la mémoire stockant le vecteur de réinitialisation est située hors du système processeur et de ses sous-systèmes.

Manuel de conception du processeur embarqué Nios® V 12

Envoyer des commentaires

2. Conception du système matériel du processeur Nios V avec Quartus Prime Software and Platform Designer
726952 | 2025.07.16

2.1.1.1.4. Onglet ECC

Tableau 5.

Onglet ECC

ECC

Activer la détection des erreurs et les rapports d'état

Description
Activez cette option pour appliquer la fonctionnalité ECC aux blocs RAM internes du processeur Nios V. Les fonctionnalités ECC détectent les erreurs jusqu'à 2 bits et réagissent selon le comportement suivant :
— S'il s'agit d'une erreur corrigible de 1 bit, le processeur continue de fonctionner après correction de l'erreur dans le pipeline. Cependant, la correction n'est pas répercutée dans les mémoires sources.
— Si l’erreur est incorrigible, le processeur continue de fonctionner sans la corriger dans le pipeline du processeur et les mémoires sources, ce qui peut amener le processeur à entrer dans un état non déterministe.

2.1.1.2. Instanciation du microcontrôleur Nios V/m Altera FPGA IP Figure 5. Microcontrôleur Nios V/m Altera FPGA IP

Envoyer des commentaires

Manuel de conception du processeur embarqué Nios® V 13

2. Conception du système matériel du processeur Nios V avec Quartus Prime Software and Platform Designer
726952 | 2025.07.16

2.1.1.2.1. Onglet Débogage

Tableau 6.

Paramètres de l'onglet Débogage

Onglet Débogage

Description

Activer le débogage
Activer la réinitialisation à partir du module de débogage

· Activez cette option pour ajouter le JTAG module de connexion cible au processeur Nios V. · Le JTAG Le module de connexion cible permet de se connecter au processeur Nios V via le
JTAG Broches d'interface du FPGA. · La connexion offre les fonctionnalités de base suivantes :
— Démarrer et arrêter le processeur Nios V. — Examiner et modifier les registres et la mémoire. — Télécharger l'application Nios V .elf file à la mémoire du processeur lors de l'exécution via
niosv-download. — Déboguer l'application exécutée sur le processeur Nios V. · Connecter le port dm_agent au bus d'instructions et de données du processeur. Vérifier que l'adresse de base entre les deux bus est identique.
· Activez cette option pour exposer les ports dbg_reset_out et ndm_reset_in. · JTAG le débogueur ou la commande niosv-download -r déclenche le dbg_reset_out, qui
Permet au processeur Nios V de réinitialiser les périphériques système connectés à ce port. · Vous devez connecter l'interface dbg_reset_out à ndm_reset_in au lieu de reset.
Interface pour déclencher la réinitialisation du cœur du processeur et du module de temporisation. L'interface dbg_reset_out ne doit pas être connectée à l'interface de réinitialisation afin d'éviter tout comportement indéterminé.

2.1.1.2.2. Utiliser l'onglet « Demande de réinitialisation »

Tableau 7.

Utiliser le paramètre de l'onglet Demande de réinitialisation

Utiliser l'onglet Demande de réinitialisation

Description

Ajouter une interface de demande de réinitialisation

· Activez cette option pour exposer les ports de réinitialisation locaux où un maître local peut l'utiliser pour déclencher la réinitialisation du processeur Nios V sans affecter les autres composants d'un système de processeur Nios V.
· L'interface de réinitialisation se compose d'un signal d'entrée resetreq et d'un signal de sortie ack.
· Vous pouvez demander une réinitialisation du cœur du processeur Nios V en activant le signal resetreq.
Le signal resetreq doit rester activé jusqu'à ce que le processeur active le signal ack. Si le signal ne reste pas activé, le processeur risque de se retrouver dans un état non déterministe.
· L'affirmation du signal resetreq en mode débogage n'a aucun effet sur l'état du processeur.
· Le processeur Nios V répond que la réinitialisation a réussi en affirmant le signal ack.
· Une fois le processeur réinitialisé avec succès, l'affirmation du signal ack peut se produire plusieurs fois périodiquement jusqu'à la désaffirmation du signal resetreq.

2.1.1.2.3. Onglet Interruptions, exceptions et interruptions

Tableau 8.

Onglet Interruptions, exceptions et interruptions

Onglet Interruptions, exceptions et interruptions

Description

Réinitialiser l'agent

· La mémoire hébergeant le vecteur de réinitialisation (l'adresse de réinitialisation du processeur Nios V) où réside le code de réinitialisation.
· Vous pouvez sélectionner n'importe quel module de mémoire connecté au maître d'instructions du processeur Nios V et pris en charge par un flux de démarrage du processeur Nios V comme agent de réinitialisation.

Réinitialiser le mode d'interruption du décalage

· Spécifie le décalage du vecteur de réinitialisation par rapport à l'adresse de base de l'agent de réinitialisation choisi. · Platform Designer fournit automatiquement une valeur par défaut pour le décalage de réinitialisation.
Spécifiez le type de contrôleur d'interruption : direct ou vectorisé. Remarque : le processeur non pipeliné Nios V/m ne prend pas en charge les interruptions vectorisées.
Par conséquent, évitez d’utiliser le mode d’interruption vectorisé lorsque le processeur est en mode non pipeliné.

Manuel de conception du processeur embarqué Nios® V 14

Envoyer des commentaires

2. Conception du système matériel du processeur Nios V avec Quartus Prime Software and Platform Designer
726952 | 2025.07.16

Note:

Platform Designer propose une option Absolue permettant de spécifier une adresse absolue dans le décalage de réinitialisation. Utilisez cette option lorsque la mémoire stockant le vecteur de réinitialisation est située hors du système processeur et de ses sous-systèmes.

2.1.1.2.4. Architecture du processeur

Tableau 9.

Paramètres de l'onglet Architecture du processeur

Architecture du processeur

Description

Activer le pipeline dans le processeur

· Activez cette option pour instancier le processeur Nios V/m en pipeline. — L'IPC est plus élevé au prix d'une zone logique plus élevée et d'une fréquence Fmax plus faible.
· Désactivez cette option pour instancier un processeur Nios V/m non pipeliné. — A des performances de base similaires à celles du processeur Nios V/c. — Prend en charge le débogage et la capacité d'interruption — Zone logique inférieure et fréquence Fmax plus élevée au prix d'un IPC inférieur.

Activer l'interface Avalon

Active l'interface Avalon pour le gestionnaire d'instructions et le gestionnaire de données. Si elle est désactivée, le système utilise l'interface AXI4-Lite.

Valeur RSE de mhartid

· La valeur du registre d'identification Hart (mhartid) est 0 par défaut. · Attribuez une valeur comprise entre 0 et 4094. · Compatible avec l'API HAL Altera FPGA Avalon Mutex Core.

Informations connexes Guide de l'utilisateur des périphériques IP embarqués – Intel FPGA Avalon® Mutex Core

2.1.1.2.5. Onglet ECC
Tableau 10. Onglet ECC
ECC active la détection des erreurs et les rapports d'état

Description
Activez cette option pour appliquer la fonctionnalité ECC aux blocs RAM internes du processeur Nios V. Les fonctionnalités ECC détectent les erreurs jusqu'à 2 bits et réagissent selon le comportement suivant :
— S'il s'agit d'une erreur corrigible de 1 bit, le processeur continue de fonctionner après correction de l'erreur dans le pipeline. Cependant, la correction n'est pas répercutée dans les mémoires sources.
— Si l’erreur est incorrigible, le processeur continue de fonctionner sans la corriger dans le pipeline du processeur et les mémoires sources, ce qui peut amener le processeur à entrer dans un état non déterministe.

Envoyer des commentaires

Manuel de conception du processeur embarqué Nios® V 15

2. Conception du système matériel du processeur Nios V avec Quartus Prime Software and Platform Designer
726952 | 2025.07.16
2.1.1.3. Instanciation du processeur polyvalent Nios V/g, IP FPGA Altera
Figure 6. Processeur à usage général Nios V/g Altera FPGA IP – Partie 1

Figure 7.

Processeur à usage général Nios V/g Altera FPGA IP – Partie 2 (Désactiver l'activation du contrôleur d'interruption au niveau du cœur)

Manuel de conception du processeur embarqué Nios® V 16

Envoyer des commentaires

2. Conception du système matériel du processeur Nios V avec Quartus Prime Software and Platform Designer
726952 | 2025.07.16

Figure 8.

Processeur à usage général Nios V/g Altera FPGA IP – Partie 2 (Activation du contrôleur d'interruption au niveau du cœur)

Figure 9. Processeur à usage général Nios V/g Altera FPGA IP – Partie 3

Envoyer des commentaires

Manuel de conception du processeur embarqué Nios® V 17

2. Conception du système matériel du processeur Nios V avec Quartus Prime Software and Platform Designer
726952 | 2025.07.16
Figure 10. Processeur à usage général Nios V/g Altera FPGA IP – Partie 4

2.1.1.3.1. Architecture du processeur

Tableau 11. Paramètres de l'architecture du processeur

Onglet Architecture du processeur Activer l'unité à virgule flottante

Description Activez cette option pour ajouter l’unité à virgule flottante (extension « F ») dans le cœur du processeur.

Activer la prédiction de branche

Activer la prédiction de branche statique (prise en arrière et non prise en avant) pour les instructions de branche.

Valeur RSE de mhartid

· La valeur du registre d'identification Hart (mhartid) est 0 par défaut. · Attribuez une valeur comprise entre 0 et 4094. · Compatible avec l'API HAL Altera FPGA Avalon Mutex Core.

Désactiver les instructions FSQRT et FDIV pour FPU

· Supprimez les opérations de racine carrée à virgule flottante (FSQRT) et de division à virgule flottante (FDIV) dans FPU.
· Appliquer l’émulation logicielle sur les deux instructions pendant l’exécution.

Informations connexes Guide de l'utilisateur des périphériques IP embarqués – Intel FPGA Avalon® Mutex Core

Manuel de conception du processeur embarqué Nios® V 18

Envoyer des commentaires

2. Conception du système matériel du processeur Nios V avec Quartus Prime Software and Platform Designer
726952 | 2025.07.16

2.1.1.3.2. Onglet Débogage

Tableau 12. Paramètres de l'onglet Débogage

Onglet Débogage

Description

Activer le débogage
Activer la réinitialisation à partir du module de débogage

· Activez cette option pour ajouter le JTAG module de connexion cible au processeur Nios V. · Le JTAG Le module de connexion cible permet de se connecter au processeur Nios V via le
JTAG Broches d'interface du FPGA. · La connexion offre les fonctionnalités de base suivantes :
— Démarrer et arrêter le processeur Nios V. — Examiner et modifier les registres et la mémoire. — Télécharger l'application Nios V .elf file à la mémoire du processeur lors de l'exécution via
niosv-download. — Déboguer l'application exécutée sur le processeur Nios V. · Connecter le port dm_agent au bus d'instructions et de données du processeur. Vérifier que l'adresse de base entre les deux bus est identique.
· Activez cette option pour exposer les ports dbg_reset_out et ndm_reset_in. · JTAG le débogueur ou la commande niosv-download -r déclenche le dbg_reset_out, qui
Permet au processeur Nios V de réinitialiser les périphériques système connectés à ce port. · Vous devez connecter l'interface dbg_reset_out à ndm_reset_in au lieu de reset.
Interface pour déclencher la réinitialisation du cœur du processeur et du module de temporisation. L'interface dbg_reset_out ne doit pas être connectée à l'interface de réinitialisation afin d'éviter tout comportement indéterminé.

2.1.1.3.3. Tableau 13. Onglet Lockstep
Paramètres Activer le délai d'expiration par défaut du verrouillage Activer l'interface de réinitialisation étendue

Description · Active le système Lockstep double cœur. · Valeur par défaut du délai d'expiration programmable à la sortie de la réinitialisation (entre 0 et 255). · Active l'interface de réinitialisation étendue en option pour le contrôle de réinitialisation étendu. · Lorsqu'il est désactivé, fRSmartComp implémente le contrôle de réinitialisation de base.

2.1.1.3.4. Utiliser l'onglet « Demande de réinitialisation »

Tableau 14. Utiliser le paramètre de l'onglet Demande de réinitialisation

Utiliser l'onglet Demande de réinitialisation

Description

Ajouter une interface de demande de réinitialisation

· Activez cette option pour exposer les ports de réinitialisation locaux où un maître local peut l'utiliser pour déclencher la réinitialisation du processeur Nios V sans affecter les autres composants d'un système de processeur Nios V.
· L'interface de réinitialisation se compose d'un signal d'entrée resetreq et d'un signal de sortie ack.
· Vous pouvez demander une réinitialisation du cœur du processeur Nios V en activant le signal resetreq.
Le signal resetreq doit rester activé jusqu'à ce que le processeur active le signal ack. Si le signal ne reste pas activé, le processeur risque de se retrouver dans un état non déterministe.
· L'affirmation du signal resetreq en mode débogage n'a aucun effet sur l'état du processeur.
· Le processeur Nios V répond que la réinitialisation a réussi en affirmant le signal ack.
· Une fois le processeur réinitialisé avec succès, l'affirmation du signal ack peut se produire plusieurs fois périodiquement jusqu'à la désaffirmation du signal resetreq.

Envoyer des commentaires

Manuel de conception du processeur embarqué Nios® V 19

2. Conception du système matériel du processeur Nios V avec Quartus Prime Software and Platform Designer
726952 | 2025.07.16

2.1.1.3.5. Onglet Interruptions, exceptions et interruptions

Tableau 15.

Onglet Interruptions, exceptions et interruptions lorsque l'option Activer le contrôleur d'interruption de niveau principal est désactivée

Onglet Interruptions, exceptions et interruptions
Réinitialiser l'agent

Description
· La mémoire hébergeant le vecteur de réinitialisation (l'adresse de réinitialisation du processeur Nios V) où réside le code de réinitialisation.
· Vous pouvez sélectionner n'importe quel module de mémoire connecté au maître d'instructions du processeur Nios V et pris en charge par un flux de démarrage du processeur Nios V comme agent de réinitialisation.

Réinitialiser le décalage

· Spécifie le décalage du vecteur de réinitialisation par rapport à l'adresse de base de l'agent de réinitialisation choisi. · Platform Designer fournit automatiquement une valeur par défaut pour le décalage de réinitialisation.

Activer le contrôleur d'interruption de niveau central (CLIC)

· Activez CLIC pour prendre en charge les interruptions préventives et la condition de déclenchement d'interruption configurable.
· Lorsque cette option est activée, vous pouvez configurer le nombre d'interruptions de la plateforme, définir les conditions de déclenchement et désigner certaines interruptions comme préventives.

Registre fantôme du mode d'interruption Files

Spécifiez les types d'interruption comme Direct ou Vectorisé. Activez le registre fantôme pour réduire le changement de contexte lors de l'interruption.

Tableau 16.

Interruptions, exceptions et interruptions lorsque l'option Activer le contrôleur d'interruption de niveau principal est activée

Pièges, exceptions et interruptions

Descriptions

Réinitialiser l'agent
Réinitialiser le décalage
Activer le contrôleur d'interruption de niveau central (CLIC)

· La mémoire hébergeant le vecteur de réinitialisation (l'adresse de réinitialisation du processeur Nios V) où réside le code de réinitialisation.
· Vous pouvez sélectionner n'importe quel module de mémoire connecté au maître d'instructions du processeur Nios V et pris en charge par un flux de démarrage du processeur Nios V comme agent de réinitialisation.
· Spécifie le décalage du vecteur de réinitialisation par rapport à l'adresse de base de l'agent de réinitialisation choisi. · Platform Designer fournit automatiquement une valeur par défaut pour le décalage de réinitialisation.
· Activez CLIC pour prendre en charge les interruptions préventives et les conditions de déclenchement d'interruption configurables. · Lorsqu'il est activé, vous pouvez configurer le nombre d'interruptions de la plateforme, définir les conditions de déclenchement,
et désigner certaines interruptions comme préventives.

Mode d'interruption

· Spécifiez les types d'interruption comme Direct, Vectorisé ou CLIC.

Registre des ombres Files

· Activer le registre fantôme pour réduire le changement de contexte lors d'une interruption.
· Propose deux approches :
— Nombre de niveaux d'interruption CLIC
— Nombre de niveaux d’interruption CLIC – 1 : Cette option est utile lorsque vous souhaitez connaître le nombre de niveaux d’interruption de registre file copies pour s'adapter à un nombre exact de blocs M20K ou M9K.
· Activer le processeur Nios V pour utiliser le registre fantôme files qui réduisent la surcharge de changement de contexte lors d'une interruption.
Pour plus d'informations sur le registre fantôme files, reportez-vous au manuel de référence du processeur Nios V.

Nombre de sources d'interruption de la plate-forme

· Spécifie le nombre d'interruptions de plate-forme entre 16 et 2048.
Remarque : CLIC prend en charge jusqu'à 2 064 entrées d'interruption et les 16 premières entrées d'interruption sont également connectées au contrôleur d'interruption de base.

Alignement de la table vectorielle CLIC

· Déterminé automatiquement en fonction du nombre de sources d'interruption de la plateforme. · Si vous utilisez un alignement inférieur à la valeur recommandée, le CLIC augmente la logique
complexité en ajoutant un additionneur supplémentaire pour effectuer des calculs de vectorisation. · Si vous utilisez un alignement inférieur à la valeur recommandée, cela entraîne une augmentation
complexité logique dans le CLIC.
suite…

Manuel de conception du processeur embarqué Nios® V 20

Envoyer des commentaires

2. Conception du système matériel du processeur Nios V avec Quartus Prime Software and Platform Designer
726952 | 2025.07.16

Pièges, exceptions et interruptions
Nombre de niveaux d'interruption
Nombre de priorités d'interruption par niveau
Polarité d'interruption configurable Prise en charge des interruptions déclenchées par un front

Descriptions
Spécifie le nombre de niveaux d'interruption, avec un niveau supplémentaire de 0 pour le code d'application. Les interruptions de niveau supérieur peuvent interrompre (préempter) un gestionnaire d'interruption de niveau inférieur en cours d'exécution.
Avec des niveaux d'interruption non nuls comme seules options, le code de l'application est toujours au niveau le plus bas, 0. Remarque : La configuration du niveau et de la priorité d'une interruption à l'exécution s'effectue dans un seul registre de 8 bits. Si le nombre de niveaux d'interruption est de 256, il est impossible de configurer la priorité d'interruption à l'exécution. Sinon, le nombre maximal de priorités configurables est de 256 / (nombre de niveaux d'interruption – 1).
Spécifie le nombre de priorités d'interruption, utilisé par le CLIC pour déterminer l'ordre d'appel des gestionnaires d'interruptions non préemptifs. Remarque : La concaténation des valeurs binaires du niveau d'interruption sélectionné et de la priorité d'interruption sélectionnée doit être inférieure à 8 bits.
· Vous permet de configurer la polarité d'interruption pendant l'exécution. · La polarité par défaut est la polarité positive.
· Vous permet de configurer la condition de déclenchement d'interruption pendant l'exécution, c'est-à-dire déclenchée à un niveau élevé ou déclenchée par un front positif (lorsque la polarité d'interruption est positive dans la polarité d'interruption configurable).
· La condition de déclenchement par défaut est une interruption déclenchée par niveau.

Note:

Platform Designer propose une option Absolue permettant de spécifier une adresse absolue dans le décalage de réinitialisation. Utilisez cette option lorsque la mémoire stockant le vecteur de réinitialisation est située hors du système processeur et de ses sous-systèmes.

Informations connexes Manuel de référence du processeur Nios® V

2.1.1.3.6. Onglet Configurations de mémoire

Tableau 17. Paramètres de l'onglet Configuration de la mémoire

Catégorie

Onglet Configuration de la mémoire

Description

Caches

Taille du cache de données

· Spécifie la taille du cache de données. · Les tailles valides sont comprises entre 0 kilo-octets (Ko) et 16 Ko. · Désactivez le cache de données lorsque la taille est de 0 Ko.

Taille du cache d'instructions

· Spécifie la taille du cache d'instructions. · Les tailles valides sont comprises entre 0 Ko et 16 Ko. · Désactivez le cache d'instructions lorsque la taille est de 0 Ko.

Région périphérique A et B

Taille

· Spécifie la taille de la région périphérique.
Les tailles valides sont comprises entre 64 Ko et 2 Go, ou aucune. Choisir « Aucun » désactive la zone périphérique.

Adresse de base

· Spécifie l'adresse de base de la région périphérique après avoir sélectionné la taille.
· Toutes les adresses de la région périphérique produisent des accès aux données non cachables.
· L’adresse de base de la région périphérique doit être alignée sur la taille de la région périphérique.

Mémoires étroitement couplées

Taille

· Spécifie la taille de la mémoire étroitement couplée. — Les tailles valides sont comprises entre 0 Mo et 512 Mo.

Initialisation de l'adresse de base File

· Spécifie l'adresse de base de la mémoire étroitement couplée. · Spécifie l'initialisation file pour une mémoire étroitement couplée.

Envoyer des commentaires

Manuel de conception du processeur embarqué Nios® V 21

2. Conception du système matériel du processeur Nios V avec Quartus Prime Software and Platform Designer
726952 | 2025.07.16

Note:

Dans un système à processeur Nios V avec cache activé, vous devez placer les périphériques système dans une région périphérique. Vous pouvez utiliser des régions périphériques pour définir une transaction non cachable pour des périphériques tels que UART, PIO, DMA, etc.

2.1.1.3.7. Onglet ECC

Tableau 18. Onglet ECC
ECC active la détection des erreurs et les rapports d'état
Activer la correction d'un seul bit

Description
Activez cette option pour appliquer la fonctionnalité ECC aux blocs RAM internes du processeur Nios V. Les fonctionnalités ECC détectent les erreurs jusqu'à 2 bits et réagissent selon le comportement suivant :
— S'il s'agit d'une erreur sur un seul bit corrigible et que l'option « Activer la correction sur un seul bit » est désactivée, le processeur continue de fonctionner après correction de l'erreur dans le pipeline. Cependant, la correction n'est pas répercutée dans les mémoires sources.
— S'il s'agit d'une erreur de bit unique corrigible et que l'option Activer la correction de bit unique est activée, le processeur continue de fonctionner après avoir corrigé l'erreur dans le pipeline du processeur et les mémoires sources.
— S’il s’agit d’une erreur non corrigible, le processeur arrête son fonctionnement.
Activer la correction d'un seul bit sur les blocs de mémoire intégrés dans le cœur.

2.1.1.3.8. Onglet Instruction personnalisée

Note:

Cet onglet est uniquement disponible pour le cœur de processeur Nios V/g.

Tableau d'interface matérielle d'instructions personnalisées Nios V
Tableau des macros du logiciel d'instructions personnalisées Nios V

Description
· Le processeur Nios V utilise ce tableau pour définir ses interfaces de gestionnaire d'instructions personnalisées.
· Les interfaces de gestionnaire d'instructions personnalisées définies sont codées de manière unique par un Opcode (CUSTOM0-3) et 3 bits de funct7[6:4].
· Vous pouvez définir jusqu'à un total de 32 interfaces de gestionnaire d'instructions personnalisées individuelles.
· Le processeur Nios V utilise ce tableau pour définir des codages logiciels d'instructions personnalisés pour les interfaces de gestionnaire d'instructions personnalisées définies.
· Pour chaque codage logiciel d'instruction personnalisé défini, l'Opcode (CUSTOM0-3) et 3 bits du codage funct7[6:4] doivent correspondre à un codage d'interface de gestionnaire d'instructions personnalisé défini dans la table d'interface matérielle d'instructions personnalisées.
· Vous pouvez utiliser funct7[6:4], funct7[3:0] et funct3[2:0] pour définir un codage supplémentaire pour une instruction personnalisée donnée, ou spécifié sous forme de X à transmettre comme arguments d'instruction supplémentaires.
· Le processeur Nios V fournit des codages logiciels d'instructions personnalisés définis sous forme de macros C générées dans system.h et suit le format d'instructions RISC-V de type R.
· Des mnémoniques peuvent être utilisés pour définir des noms personnalisés pour : — Les macros C générées dans system.h.
— Les mnémoniques de débogage GDB générés dans custom_instruction_debug.xml.

Informations connexes
AN 977 : Instruction personnalisée du processeur Nios V Pour plus d'informations sur les instructions personnalisées qui vous permettent de personnaliser le processeur Nios® V pour répondre aux besoins d'une application particulière.

Manuel de conception du processeur embarqué Nios® V 22

Envoyer des commentaires

2. Conception matérielle du processeur Nios V avec Quartus Prime Software and Platform Designer 726952 | 2025.07.16
2.1.2. Définition de la conception des composants du système
Utilisez le concepteur de plateforme pour définir les caractéristiques matérielles du système de processeur Nios V et ajouter les composants souhaités. Le schéma suivant illustre la conception d'un système de processeur Nios V de base avec les composants suivants : · Cœur de processeur Nios V · Mémoire intégrée · JTAG UART · Minuteur d'intervalle (facultatif)(1)
Lorsqu'une nouvelle mémoire intégrée est ajoutée à un système Platform Designer, effectuez la synchronisation des informations système pour prendre en compte les composants mémoire ajoutés lors de la réinitialisation. Vous pouvez également activer la synchronisation automatique dans Platform Designer pour prendre en compte automatiquement les dernières modifications des composants.
Figure 11.Exampla connexion du processeur Nios V avec d'autres périphériques dans Platform Designer

(1) Vous avez la possibilité d'utiliser les fonctionnalités du minuteur interne Nios V pour remplacer le minuteur d'intervalle externe dans Platform Designer.

Envoyer des commentaires

Manuel de conception du processeur embarqué Nios® V 23

2. Conception du système matériel du processeur Nios V avec Quartus Prime Software and Platform Designer
726952 | 2025.07.16
Vous devez également définir les broches d'opération à exporter comme conduit dans votre système Platform Designer. Par exempleample, une liste de broches de fonctionnement appropriée du système FPGA est définie comme ci-dessous, mais sans s'y limiter :
· Horloge
· Réinitialiser
· Signaux d'E/S
2.1.3. Spécification des adresses de base et des priorités des requêtes d'interruption
Pour spécifier comment les composants ajoutés dans la conception interagissent pour former un système, vous devez attribuer des adresses de base à chaque composant d'agent et attribuer des priorités de demande d'interruption (IRQ) pour le JTAG UART et temporisateur d'intervalle. Le concepteur de plateforme propose une commande « Assigner les adresses de base » qui attribue automatiquement les adresses de base appropriées à tous les composants d'un système. Vous pouvez toutefois ajuster les adresses de base selon vos besoins.
Voici quelques directives pour l’attribution d’adresses de base :
Le cœur du processeur Nios V possède une plage d'adresses de 32 bits. Pour accéder aux composants de l'agent, leur adresse de base doit être comprise entre 0x00000000 et 0xFFFFFFFF.
Les programmes Nios V utilisent des constantes symboliques pour désigner les adresses. Vous n'avez pas besoin de choisir des valeurs d'adresse faciles à mémoriser.
Les valeurs d'adresse qui différencient les composants par une différence d'adresse d'un seul bit produisent un matériel plus performant. Il n'est pas nécessaire de compacter toutes les adresses de base dans la plus petite plage d'adresses possible, car cela peut engendrer un matériel moins performant.
Platform Designer ne tente pas d'aligner des composants mémoire distincts dans une plage mémoire contiguë. Par exempleample, si vous souhaitez que plusieurs composants de mémoire sur puce soient adressables comme une plage de mémoire contiguë, vous devez attribuer explicitement des adresses de base.
Platform Designer propose également une commande d'automatisation, « Assign Interrupt Numbers », qui connecte les signaux IRQ pour produire des résultats matériels valides. Cependant, l'attribution efficace des IRQ nécessite une compréhension du comportement global du système. Platform Designer ne peut pas prédire avec certitude la meilleure attribution d'IRQ.
La valeur d'IRQ la plus basse a la priorité la plus élevée. Dans un système idéal, Altera recommande que le composant de temporisation ait l'IRQ la plus élevée, c'est-à-dire la valeur la plus basse, afin de maintenir la précision du battement d'horloge système.
Dans certains cas, vous pouvez attribuer une priorité plus élevée aux périphériques en temps réel (tels que les contrôleurs vidéo), ce qui exige un taux d'interruption plus élevé que les composants du minuteur.
Informations connexes
Guide de l'utilisateur de Quartus Prime Pro Edition : plus d'informations sur la création d'un système avec Platform Designer.

Manuel de conception du processeur embarqué Nios® V 24

Envoyer des commentaires

2. Conception matérielle du processeur Nios V avec Quartus Prime Software and Platform Designer 726952 | 2025.07.16
2.2. Intégration du système Platform Designer au projet Quartus Prime
Après avoir généré la conception du système Nios V dans Platform Designer, effectuez les tâches suivantes pour intégrer le module système Nios V dans le projet de conception FPGA Quartus Prime. · Instanciez le module système Nios V dans le projet Quartus Prime · Connectez les signaux du module système Nios V à d'autres signaux dans la logique FPGA · Affectez l'emplacement des broches physiques · Limitez la conception FPGA
2.2.1. Instanciation du module système du processeur Nios V dans le projet Quartus Prime
Platform Designer génère une entité de conception de module système que vous pouvez instancier dans Quartus Prime. La méthode d'instanciation du module système dépend de la méthode de saisie de la conception utilisée pour le projet Quartus Prime. Par exempleampSi vous utilisiez Verilog HDL pour la saisie de la conception, instanciez le module système Verilog. Si vous préférez utiliser la méthode du diagramme, instanciez un symbole de module système .bdf. file.
2.2.2. Connexion des signaux et attribution des emplacements physiques des broches
Pour connecter votre conception FPGA Altera à votre conception au niveau de la carte, effectuez les tâches suivantes : · Identifiez le niveau supérieur file pour votre conception et vos signaux à connecter à Altera externe
Broches des périphériques FPGA. · Comprenez quelles broches connecter grâce au guide d'utilisation de votre conception au niveau de la carte ou
schémas. · Affectez les signaux de la conception de niveau supérieur aux ports de votre périphérique FPGA Altera avec la broche
outils d'affectation.
Votre système Platform Designer peut constituer la conception de haut niveau. Cependant, le FPGA Altera peut également inclure une logique supplémentaire selon vos besoins, introduisant ainsi une conception de haut niveau personnalisée. file. Le niveau supérieur file connecte les signaux du module système du processeur Nios V à d'autres logiques de conception FPGA Altera.
Informations connexes Guide de l'utilisateur de Quartus Prime Pro Edition : contraintes de conception
2.2.3. Contraintes de conception du FPGA Altera
Une conception adéquate d'un système FPGA Altera inclut des contraintes de conception afin de garantir sa conformité aux exigences de fermeture temporelle et autres contraintes logiques. Vous devez contraindre explicitement votre conception FPGA Altera à respecter ces exigences à l'aide des outils fournis par le logiciel Quartus Prime ou de fournisseurs EDA tiers. Le logiciel Quartus Prime utilise les contraintes fournies lors de la phase de compilation pour obtenir des résultats de placement optimaux.

Envoyer des commentaires

Manuel de conception du processeur embarqué Nios® V 25

2. Conception du système matériel du processeur Nios V avec Quartus Prime Software and Platform Designer
726952 | 2025.07.16
Informations connexes · Guide de l'utilisateur de Quartus Prime Pro Edition : Contraintes de conception · Partenaires EDA tiers · Guide de l'utilisateur de Quartus Prime Pro Edition : Analyseur de synchronisation
2.3. Conception d'un système de mémoire pour processeur Nios V
Cette section décrit les meilleures pratiques pour sélectionner les périphériques mémoire dans un système embarqué Platform Designer équipé d'un processeur Nios V et obtenir des performances optimales. Les périphériques mémoire jouent un rôle essentiel dans l'amélioration des performances globales d'un système embarqué. La mémoire système embarquée stocke les instructions et les données du programme.
2.3.1. Mémoire volatile
La principale distinction entre les types de mémoire est leur volatilité. La mémoire volatile ne conserve son contenu que pendant la durée de l'alimentation. Dès que l'alimentation est coupée, la mémoire perd son contenu.
ExampLes types de mémoire volatile sont la RAM, le cache et les registres. Ces types de mémoire rapide améliorent les performances d'exécution. Altera recommande de charger et d'exécuter les instructions du processeur Nios V en RAM et d'associer le cœur IP Nios V à une IP mémoire intégrée ou à une IP d'interface mémoire externe pour des performances optimales.
Pour améliorer les performances, vous pouvez supprimer les composants d'adaptation supplémentaires de Platform Designer en faisant correspondre le type ou la largeur de l'interface du gestionnaire de données du processeur Nios V à la RAM de démarrage. Par exempleample, vous pouvez configurer la mémoire On-Chip II avec une interface AXI-4 32 bits, qui correspond à l'interface du gestionnaire de données Nios V.
Informations connexes · Centre de support IP des interfaces de mémoire externe · Mémoire sur puce (RAM ou ROM) Altera FPGA IP · Mémoire sur puce II (RAM ou ROM) Altera FPGA IP · Processeur Nios V Application Exécution sur place depuis OCRAM à la page 54
2.3.1.1. Configuration de la mémoire RAM ou ROM sur puce
Vous pouvez configurer les IP mémoire sur puce du FPGA Altera en RAM ou en ROM. La RAM offre des capacités de lecture et d'écriture et est volatile. Si vous
Lors du démarrage du processeur Nios V depuis la mémoire RAM intégrée, assurez-vous que le contenu du démarrage est préservé et non corrompu en cas de réinitialisation en cours d'exécution. Si un processeur Nios V démarre depuis la ROM, tout bug logiciel présent sur le processeur Nios V ne peut pas écraser par erreur le contenu de la mémoire intégrée. Cela réduit le risque de corruption du logiciel de démarrage.
Informations connexes · Mémoire sur puce (RAM ou ROM) Altera FPGA IP · Mémoire sur puce II (RAM ou ROM) Altera FPGA IP · Processeur Nios V Application Exécution sur place depuis OCRAM à la page 54

Manuel de conception du processeur embarqué Nios® V 26

Envoyer des commentaires

2. Conception matérielle du processeur Nios V avec Quartus Prime Software and Platform Designer 726952 | 2025.07.16
2.3.1.2. Caches
Les mémoires embarquées sont couramment utilisées pour implémenter la fonctionnalité de cache en raison de leur faible latence. Le processeur Nios V utilise de la mémoire embarquée pour ses caches d'instructions et de données. La capacité limitée de la mémoire embarquée ne pose généralement pas de problème pour les caches, car ils sont généralement de petite taille.
Les caches sont généralement utilisés dans les conditions suivantes :
· La mémoire standard est située hors puce et a un temps d'accès plus long que la mémoire sur puce.
· Les sections critiques en termes de performances du code logiciel peuvent être placées dans le cache d'instructions, améliorant ainsi les performances du système.
· La section des données la plus fréquemment utilisée et critique pour les performances peut être placée dans le cache de données, améliorant ainsi les performances du système.
L'activation des caches dans le processeur Nios V crée une hiérarchie de mémoire, ce qui minimise le temps d'accès à la mémoire.
2.3.1.2.1. Région périphérique
Les IP de périphériques embarqués, tels que UART, I2C et SPI, ne doivent pas être mises en cache. La mise en cache est fortement recommandée pour les mémoires externes soumises à des temps d'accès longs, tandis que les mémoires internes sur puce peuvent être exclues en raison de leur temps d'accès court. Vous ne devez pas mettre en cache les IP de périphériques embarqués, tels que UART, I2C et SPI, à l'exception des mémoires. Ceci est important car les événements provenant de périphériques externes, tels que les agents mettant à jour les IP logicielles, ne sont pas capturés par le cache du processeur et, par conséquent, ne sont pas reçus par le processeur. Par conséquent, ces événements peuvent passer inaperçus jusqu'à ce que vous vidiez le cache, ce qui peut entraîner des comportements inattendus dans votre système. En résumé, la zone mappée en mémoire des IP de périphériques embarqués ne peut pas être mise en cache et doit résider dans les zones périphériques du processeur.
Pour définir une région périphérique, suivez ces étapes :
1. Ouvrez la carte d'adresses du système dans le concepteur de plate-forme.
2. Accédez à la carte d'adresses du gestionnaire d'instructions et du gestionnaire de données du processeur.
3. Identifiez les périphériques et les mémoires de votre système.
Figure 12.Example de la carte d'adresses

Remarque : les flèches bleues pointent vers les mémoires. 4. Regroupez les périphériques :
a. Mémoire pouvant être mise en cache b. Périphériques non pouvant être mis en cache

Envoyer des commentaires

Manuel de conception du processeur embarqué Nios® V 27

2. Conception du système matériel du processeur Nios V avec Quartus Prime Software and Platform Designer
726952 | 2025.07.16

Tableau 19. Région pouvant être mise en cache et non mise en cache

Subalterne

Carte d'adresse

Statut

Région périphérique

Taille

Adresse de base

utilisateur_application_mem.s1

0x0 ~ 0x3ffff

Peut être mis en cache

N / A

N / A

cpu.dm_agent bootcopier_rom.s1

0x40000 ~ 0x4ffff 0x50000 ~ 0x517ff

Non cachable Cachable

65536 octets N/A

0x40000 N/A

bootcopier_ram.s1 cpu.timer_sw_agent boîte aux lettres.avmm

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

Cachable Non cachable Non cachable

144 octets (la taille minimale est de 65 536 octets)

0x54000

sysid_qsys_0.control_slave

0x54080 ~ 0x54087

Non cachable

uart.avalon_jtag_trimer

0x54088 ~ 0x5408f

Non cachable

5. Alignez les régions périphériques avec leurs tailles spécifiques :
· Par exampSi la taille est de 65 536 octets, cela correspond à 0x10 000 octets. Par conséquent, l'adresse de base autorisée doit être un multiple de 0x10 000.
L'agent CPU.dm utilise une adresse de base de 0x40000, qui est un multiple de 0x10000. Par conséquent, la région périphérique A, avec une taille de 65 536 octets et une adresse de base de 0x40000, répond aux exigences.
L'adresse de base de l'ensemble des régions non cachables à 0x54000 n'est pas un multiple de 0x10000. Vous devez les réaffecter à 0x60000 ou à un autre multiple de 0x10000. Ainsi, la région périphérique B, d'une taille de 65 536 octets et d'une adresse de base de 0x60000, satisfait aux critères.

Tableau 20. Région pouvant être mise en cache et non mise en cache avec réaffectation

Subalterne

Carte d'adresse

Statut

Région périphérique

Taille

Adresse de base

utilisateur_application_mem.s1

0x0 ~ 0x3ffff

Peut être mis en cache

N / A

N / A

cpu.dm_agent

0x40000 ~ 0x4ffff

65 536 octets non cachables

0x40000

bootcopier_rom.s1

0x50000 ~ 0x517ff

Peut être mis en cache

N / A

N / A

bootcopier_ram.s1 cpu.timer_sw_agent boîte aux lettres.avmm sysid_qsys_0.control_slave

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

Cachable Non cachable Non cachable Non cachable

144 octets (la taille minimale est de 65 536 octets)

0x60000

uart.avalon_jtag_trimer

0x60088 ~ 0x6008f

Non cachable

2.3.1.3. Mémoire à couplage étroit
Les mémoires étroitement couplées (TCM) sont implémentées à l'aide de mémoire intégrée, car leur faible latence les rend particulièrement adaptées à cette tâche. Les TCM sont des mémoires mappées dans l'espace d'adressage standard, mais disposent d'une interface dédiée au microprocesseur et des propriétés de haute performance et de faible latence de la mémoire cache. Les TCM fournissent également une interface subordonnée pour l'hôte externe. Le processeur et l'hôte externe disposent du même niveau d'autorisation pour gérer les TCM.

Manuel de conception du processeur embarqué Nios® V 28

Envoyer des commentaires

2. Conception du système matériel du processeur Nios V avec Quartus Prime Software and Platform Designer
726952 | 2025.07.16

Note:

Lorsque le port subordonné TCM est connecté à un hôte externe, il peut s'afficher avec une adresse de base différente de celle attribuée au cœur du processeur. Altera recommande d'aligner les deux adresses sur la même valeur.

2.3.1.4. Interface mémoire externe (EMIF)
L'EMIF (External Memory Interface) fonctionne de manière similaire à la SRAM (Static Random Access Memory), mais elle est dynamique et nécessite un rafraîchissement régulier pour conserver son contenu. Les cellules mémoire dynamiques de l'EMIF sont beaucoup plus petites que celles de la SRAM, ce qui se traduit par une capacité supérieure et un coût réduit des mémoires.
Outre l'exigence de rafraîchissement, l'EMIF a des exigences d'interface spécifiques qui nécessitent souvent un contrôleur matériel spécialisé. Contrairement à la SRAM, qui possède un ensemble fixe de lignes d'adresse, l'EMIF organise son espace mémoire en banques, lignes et colonnes. Le basculement entre les banques et les lignes entraîne une surcharge ; il est donc nécessaire d'ordonner soigneusement les accès mémoire pour utiliser efficacement l'EMIF. L'EMIF multiplexe également les adresses de lignes et de colonnes sur les mêmes lignes d'adresse, réduisant ainsi le nombre de broches requises pour une taille donnée de l'EMIF.
Les versions à plus grande vitesse de l'EMIF, telles que DDR, DDR2, DDR3, DDR4 et DDR5, imposent des exigences strictes en matière d'intégrité du signal que les concepteurs de PCB doivent prendre en compte.
Les dispositifs EMIF comptent parmi les types de RAM les plus économiques et les plus performants du marché, ce qui en fait une option populaire. L'IP EMIF est un composant clé d'une interface EMIF, qui gère les tâches liées au multiplexage, au rafraîchissement et à la commutation des adresses entre les rangées et les bancs. Cette conception permet au reste du système d'accéder à EMIF sans avoir à comprendre son architecture interne.

Informations connexes Interfaces de mémoire externe Centre de support IP

2.3.1.4.1. Extension d'étendue d'adresse IP
L'IP FPGA Altera Address Span Extender permet aux interfaces hôtes mappées en mémoire d'accéder à une table d'adresses plus grande ou plus petite que la largeur de leurs signaux d'adresse. L'IP Address Span Extender divise l'espace adressable en plusieurs fenêtres distinctes afin que l'hôte puisse accéder à la partie appropriée de la mémoire via ces fenêtres.
L'extension d'adresses ne limite pas la largeur des hôtes et des agents à une configuration 32 bits et 64 bits. Vous pouvez l'utiliser avec des fenêtres d'adresses de 1 à 64 bits.

Envoyer des commentaires

Manuel de conception du processeur embarqué Nios® V 29

2. Conception du système matériel du processeur Nios V avec Quartus Prime Software and Platform Designer
726952 | 2025.07.16

Figure 13. Extension de plage d'adresses Altera FPGA IP
Adresse du mot de l'agent

Extension de portée d'adresse

A

Tableau de mappage
Port de contrôle A

Registre de contrôle 0 Registre de contrôle Z-1

Adresse hôte étendue H

Informations connexes
Guide de l'utilisateur de Quartus® Prime Pro Edition : Concepteur de plateforme Reportez-vous à la rubrique Extension d'étendue d'adresse Intel® FPGA IP pour plus d'informations.

2.3.1.4.2. Utilisation de l'extension d'adresse IP avec le processeur Nios V
Le processeur Nios V 32 bits peut adresser jusqu'à 4 Go d'une plage d'adresses. Si l'EMIF contient plus de 4 Go de mémoire, la plage d'adresses maximale prise en charge est dépassée, ce qui rend le système Platform Designer erroné. Une extension IP d'extension d'adresses est nécessaire pour résoudre ce problème en divisant un espace d'adressage EMIF en plusieurs fenêtres plus petites.
Altera vous recommande de prendre en compte les paramètres suivants.

Tableau 21. Paramètres de l'extension d'étendue d'adresse

Paramètre

Paramètres recommandés

Largeur du chemin de données
Largeur d'adresse d'octet maître étendue

Sélectionnez 32 bits, correspondant au processeur 32 bits. Cela dépend de la taille de la mémoire EMIF.

Largeur de l'adresse du mot esclave Largeur du nombre de rafales

Sélectionnez 2 Go ou moins. L'espace d'adresse restant du processeur Nios V est réservé à d'autres adresses IP logicielles intégrées.
Commencez par 1 et augmentez progressivement cette valeur pour améliorer les performances.

Nombre de sous-fenêtres

Sélectionnez une sous-fenêtre si vous connectez EMIF au processeur Nios V comme mémoire d'instructions et de données, ou les deux. Le basculement entre plusieurs sous-fenêtres pendant l'exécution du processeur Nios V depuis EMIF est dangereux.

Activer le port de contrôle esclave

Désactivez le port de contrôle esclave si vous connectez EMIF au processeur Nios V comme mémoire d'instructions et/ou de données. Mêmes problèmes que pour le nombre de sous-fenêtres.

Nombre maximal de lectures en attente

Commencez par 1 et augmentez progressivement cette valeur pour améliorer les performances.

Manuel de conception du processeur embarqué Nios® V 30

Envoyer des commentaires

2. Conception matérielle du processeur Nios V avec Quartus Prime Software and Platform Designer 726952 | 2025.07.16
Figure 14. Connexion du gestionnaire d'instructions et de données à l'extendeur d'étendue d'adresses

Figure 15. Mappage d'adresses

Notez que l'extension d'adresse peut accéder à l'intégralité des 8 Go d'espace mémoire de l'EMIF. Cependant, grâce à elle, le processeur Nios V ne peut accéder qu'au premier Go d'espace mémoire de l'EMIF.

Figure 16. Schéma fonctionnel simplifié

Système de concepteur de plate-forme

Il reste 3 Go

Adresse du processeur Nios V

span est pour intégré

NNioios sVV PProrocecsesosor r
M

IP logicielles dans le même système.
Fenêtre de 1 Go

Plage d'adresses

S

Extenseur

M

Seulement le premier 1 Go

de la mémoire EMIF est connectée à Nios V

FEMI

processeur.

8 Go
S

Envoyer des commentaires

Manuel de conception du processeur embarqué Nios® V 31

2. Conception du système matériel du processeur Nios V avec Quartus Prime Software and Platform Designer
726952 | 2025.07.16
2.3.1.4.3. Définition du périphérique mémoire linker d'extension de plage d'adresses 1. Définissez l'extension de plage d'adresses (EMIF) comme vecteur de réinitialisation. Vous pouvez également affecter le vecteur de réinitialisation du processeur Nios V à d'autres mémoires, telles que l'OCRAM ou les périphériques Flash.
Figure 17. Options multiples comme vecteur de réinitialisation
Cependant, l'éditeur de BSP (Board Support Package) ne peut pas enregistrer automatiquement l'extension EMIF (Address Span Extender) comme mémoire valide. Selon votre choix, deux situations différentes se présentent, comme illustré dans les figures suivantes. Figure 18. Erreur BSP lors de la définition de l'extension EMIF (Address Span Extender) comme vecteur de réinitialisation.

Manuel de conception du processeur embarqué Nios® V 32

Envoyer des commentaires

2. Conception matérielle du processeur Nios V avec Quartus Prime Software and Platform Designer 726952 | 2025.07.16
Figure 19. EMIF manquant lors de la définition d'autres mémoires comme vecteur de réinitialisation

2. Vous devez ajouter manuellement l'extension d'étendue d'adresse (EMIF) à l'aide des options Ajouter un périphérique mémoire, Ajouter une région de mémoire de liaison et Ajouter des mappages de section de liaison dans l'onglet Script de liaison BSP.
3. Suivez ces étapes:
a. Déterminer la plage d'adresses de l'extension de plage d'adresses à l'aide de la carte mémoire (l'example dans la figure suivante utilise la plage d'extension d'étendue d'adresse de 0x0 à 0x3fff_ffff).
Figure 20. Carte mémoire

b. Cliquez sur « Ajouter un périphérique mémoire » et renseignez les informations de la carte mémoire de votre projet : i. Nom du périphérique : emif_ddr4. Remarque : Assurez-vous de copier le même nom depuis la carte mémoire. ii. Adresse de base : 0x0 ; iii. Taille : 0x40000000
c. Cliquez sur Ajouter pour ajouter une nouvelle région de mémoire de liaison :

Envoyer des commentaires

Manuel de conception du processeur embarqué Nios® V 33

2. Conception du système matériel du processeur Nios V avec Quartus Prime Software and Platform Designer
726952 | 2025.07.16

Tableau 22. Ajout d'une région mémoire du linker

Mesures

Réinitialiser le vecteur

emif_ddr4

Autres souvenirs

1

Ajoutez une nouvelle région mémoire Linker appelée reset. Ajoutez une nouvelle région mémoire Linker pour le

· Nom de la région : réinitialiser

emif_ddr4.

· Taille de la région : 0x20

· Nom de la région : emif_ddr4

· Périphérique mémoire : emif_ddr4

· Taille de la région : 0x40000000

· Décalage mémoire : 0x0

· Périphérique mémoire : emif_ddr4

· Décalage mémoire : 0x0

2

Ajoutez une nouvelle région de mémoire Linker pour le

restant emif_ddr4.

· Nom de la région : emif_ddr4

· Taille de la région : 0x3fffffe0

· Périphérique mémoire : emif_ddr4

· Décalage mémoire : 0x20

Figure 21. Région de liaison lors de la définition de l'extension d'étendue d'adresse (EMIF) comme vecteur de réinitialisation

Figure 22. Région de liaison lors de la définition d'autres mémoires comme vecteur de réinitialisation
d. Une fois que l'emif_ddr4 est ajouté au BSP, vous pouvez le sélectionner pour n'importe quelle section du Linker.
Figure 23. Extension d'étendue d'adresse (EMIF) ajoutée avec succès

e. Ignorez l'avertissement selon lequel le périphérique de mémoire emif_ddr4 n'est pas visible dans la conception SOPC.
f. Procéder à la génération du BSP.
Informations connexes Introduction aux méthodes de démarrage du processeur Nios V à la page 51

Manuel de conception du processeur embarqué Nios® V 34

Envoyer des commentaires

2. Conception matérielle du processeur Nios V avec Quartus Prime Software and Platform Designer 726952 | 2025.07.16
2.3.2. Mémoire non volatile
La mémoire non volatile conserve son contenu après une coupure de courant, ce qui en fait un choix judicieux pour stocker les informations que le système doit récupérer après un cycle d'alimentation. Elle stocke généralement le code de démarrage du processeur, les paramètres d'application persistants et les données de configuration du FPGA Altera. Bien que la mémoire non volatile présente l'avantagetagBien qu'elle conserve ses données en cas de coupure de courant, elle est beaucoup plus lente que la mémoire volatile et ses opérations d'écriture et d'erreur sont souvent plus complexes.asing procédures. La mémoire non volatile n'est généralement garantie effaçable qu'un certain nombre de fois, après quoi elle peut tomber en panne.
ExampLes mémoires non volatiles incluent tous les types de mémoires Flash, EPROM et EEPROM. Altera recommande de stocker les flux binaires des FPGA Altera et les images des programmes Nios V dans une mémoire non volatile, et d'utiliser la mémoire Flash série comme périphérique de démarrage pour les processeurs Nios V.
Informations connexes
· Guide de l'utilisateur de l'interface Flash série générique Altera FPGA IP
· Guide de l'utilisateur du client de boîte aux lettres Altera FPGA IP · Guide de l'utilisateur de la mémoire flash utilisateur MAX® 10 : cœur IP Altera FPGA Flash sur puce
2.4. Bonnes pratiques en matière d'horloges et de réinitialisations
Il est important de comprendre comment l'horloge et le domaine de réinitialisation du processeur Nios V interagissent avec chaque périphérique auquel il est connecté. Un système de processeur Nios V simple démarre avec un seul domaine d'horloge, et la situation peut se compliquer avec un système à domaines multiples lorsqu'un domaine d'horloge rapide entre en conflit avec un domaine d'horloge lent. Il est important de comprendre comment ces différents domaines se succèdent après la réinitialisation et de s'assurer qu'il n'y a pas de problèmes subtils.
Pour des raisons de bonnes pratiques, Altera recommande de placer le processeur Nios V et la mémoire de démarrage dans le même domaine d'horloge. Ne libérez pas le processeur Nios V d'une réinitialisation dans un domaine d'horloge rapide lorsqu'il démarre depuis une mémoire située dans un domaine d'horloge très lent, car cela pourrait provoquer une erreur de récupération d'instructions. Vous pourriez avoir besoin d'un séquençage manuel au-delà de ce que Platform Designer propose par défaut, et planifiez la topologie de libération de la réinitialisation en conséquence, en fonction de votre cas d'utilisation. Si vous souhaitez réinitialiser votre système après son démarrage et son exécution pendant un certain temps, appliquez les mêmes considérations pour le séquençage de la réinitialisation du système et les exigences d'initialisation après réinitialisation.
2.4.1. Système JTAG Horloge
La spécification des contraintes d'horloge de chaque système de processeur Nios V est un élément important de la conception système, indispensable à l'exactitude et au comportement déterministe. L'analyseur de synchronisation Quartus Prime effectue une analyse de synchronisation statique pour valider les performances de synchronisation de toute la logique de votre conception grâce à une méthodologie de contraintes, d'analyse et de reporting standard.
Example 1. Horloge de base 100 MHz avec cycle de service 50/50 et 16 MHz JTAG Horloge
#*************************************************************** # Créer une horloge à 100 MHz #*************************************************************** create_clock -name {clk} -period 10 [get_ports {clk}] #************************ Créer une horloge J à 16 MHzTAG Horloge #************************

Envoyer des commentaires

Manuel de conception du processeur embarqué Nios® V 35

2. Conception du système matériel du processeur Nios V avec Quartus Prime Software and Platform Designer
726952 | 2025.07.16
create_clock -name {altera_reserved_tck} -period 62.500 [get_ports {altera_reserved_tck}] set_clock_groups -asynchronous -group [get_clocks {altera_reserved_tck}] Informations connexes Livre de recettes de l'analyseur de synchronisation Quartus Prime
2.4.2. Interface de demande de réinitialisation
Le processeur Nios V inclut une fonction optionnelle de demande de réinitialisation. Cette fonction se compose des signaux reset_req et reset_req_ack.
Pour activer la demande de réinitialisation dans Platform Designer : 1. Lancez l'éditeur de paramètres IP du processeur Nios V. 2. Dans le paramètre Utiliser la demande de réinitialisation, activez l'option Ajouter une interface de demande de réinitialisation.
option.
Figure 24. Activer la demande de réinitialisation du processeur Nios V
Le signal reset_req agit comme une interruption. En activant le signal reset_req, vous demandez une réinitialisation au cœur. Le cœur attend la fin de toute transaction de bus en cours. Par exemple,ampAinsi, si une transaction d'accès mémoire est en attente, le cœur attend une réponse complète. De même, le cœur accepte toute réponse d'instruction en attente, mais n'émet pas de requête d'instruction après avoir reçu le signal reset_req.
L'opération de réinitialisation se déroule comme suit : 1. Terminer toutes les opérations en attente ; 2. Vider le pipeline interne ; 3. Définir le compteur de programme sur le vecteur de réinitialisation ; 4. Réinitialiser le cœur. L'opération de réinitialisation prend quelques cycles d'horloge. La condition reset_req doit rester activée jusqu'à ce que reset_req_ack soit activé, indiquant que l'opération de réinitialisation du cœur a réussi. Dans le cas contraire, l'état du cœur devient non déterministe.

Manuel de conception du processeur embarqué Nios® V 36

Envoyer des commentaires

2. Conception matérielle du processeur Nios V avec Quartus Prime Software and Platform Designer 726952 | 2025.07.16
2.4.2.1. Cas d'utilisation typiques
Vous pouvez activer le signal reset_req dès la mise sous tension pour empêcher le cœur du processeur Nios V de démarrer l'exécution du programme à partir de son vecteur de réinitialisation jusqu'à ce que les autres hôtes FPGA du système initialisent la mémoire de démarrage du processeur Nios V. Dans ce cas, l'ensemble du sous-système peut subir une réinitialisation matérielle complète. Le processeur Nios V est maintenu indéfiniment dans un état de demande de réinitialisation jusqu'à ce que les autres hôtes FPGA initialisent la mémoire de démarrage du processeur.
· Dans un système où vous devez réinitialiser le cœur du processeur Nios V sans perturber le reste du système, vous pouvez activer le signal reset_req pour arrêter proprement le fonctionnement actuel du cœur et redémarrer le processeur à partir du vecteur de réinitialisation une fois que le système libère le signal reset_req_ack.
· Un hôte externe peut utiliser l'interface de demande de réinitialisation pour faciliter la mise en œuvre des tâches suivantes :
— Arrêter le programme actuel du processeur Nios V.
— Chargez un nouveau programme dans la mémoire de démarrage du processeur Nios V.
— Laissez le processeur commencer à exécuter le nouveau programme.
Altera recommande d'implémenter un mécanisme de temporisation pour surveiller l'état du signal reset_req_ack. Si le cœur du processeur Nios V tombe en état d'attente infinie et se bloque pour une raison inconnue, reset_req_ack ne peut pas s'activer indéfiniment. Ce mécanisme de temporisation vous permet de :
· Définissez un délai de récupération et effectuez une récupération du système avec réinitialisation au niveau du système.
· Effectuer une réinitialisation au niveau du matériel.
2.4.3. Réinitialiser l'IP de libération
Les périphériques Altera SDM utilisent une architecture parallèle sectorielle qui répartit la logique de la structure principale sur plusieurs secteurs. Altera recommande d'utiliser l'IP FPGA Altera Reset Release comme entrée initiale du circuit de réinitialisation. Les périphériques Intel® SDM incluent les périphériques Stratix® 10 et AgilexTM. Les périphériques à blocs de contrôle ne sont pas concernés par cette exigence.
Informations connexes
AN 891 : Utilisation de la version de réinitialisation du FPGA Altera IP
2.5. Affectation d'un agent par défaut
Platform Designer vous permet de spécifier un agent par défaut qui agira comme agent de réponse aux erreurs par défaut. Cet agent fournit un service de réponse aux erreurs pour les hôtes qui tentent des accès non décodés à la table d'adresses.
Les scénarios suivants déclenchent un événement non décodé :
· Violation de l'état de sécurité des transactions de bus
· Accès transactionnel à une région mémoire non définie
· Événement exceptionnel et etc.

Envoyer des commentaires

Manuel de conception du processeur embarqué Nios® V 37

2. Conception du système matériel du processeur Nios V avec Quartus Prime Software and Platform Designer
726952 | 2025.07.16

Un agent par défaut doit être affecté pour gérer de tels événements, où une transaction non définie est redirigée vers l'agent par défaut et répond ensuite au processeur Nios V avec une réponse d'erreur.
Informations connexes
Guide d'utilisation de Quartus Prime Pro Edition : Concepteur de plateforme. Désignation d'un agent par défaut.
Guide d'utilisation de Quartus Prime Pro Edition : Concepteur de plateforme. Réponse d'erreur esclave Altera FPGA IP
· Github – Composants de réinitialisation supplémentaires pour Qsys

2.6. Affectation d'un agent UART pour l'impression
L'impression est utile pour déboguer l'application logicielle et surveiller l'état de votre système. Altera recommande d'imprimer les informations de base telles que le message de démarrage, le message d'erreur et la progression de l'exécution de l'application.
Évitez d'utiliser la fonction de bibliothèque printf() dans les circonstances suivantes : · La bibliothèque printf() provoque le blocage de l'application si aucun hôte ne lit la sortie.
Ceci s'applique au JTAG UART uniquement. · La bibliothèque printf() consomme de grandes quantités de mémoire de programme.

2.6.1. Prévention des décrochages par le JTAG UART

Tableau 23. Différences entre UART traditionnel et JTAG UART

Type d'UART UART traditionnel

Description
Transmet les données série, qu'un hôte externe soit à l'écoute ou non. Si aucun hôte ne lit les données série, celles-ci sont perdues.

JTAG UART

Écrit les données transmises dans un tampon de sortie et s'appuie sur un hôte externe pour lire le tampon afin de le vider.

Le JTAG Le pilote UART attend que le tampon de sortie soit plein. Le JTAG Le pilote UART attend qu'un hôte externe lise le tampon de sortie avant d'écrire davantage de données de transmission. Ce processus évite la perte de données de transmission.
Cependant, lorsque le débogage du système n'est pas nécessaire, comme pendant la production, les systèmes embarqués sont déployés sans PC hôte connecté à JTAG UART. Si le système a sélectionné le JTAG L'UART étant l'agent UART, il peut provoquer le blocage du système car aucun hôte externe n'est connecté.
Pour éviter le décrochage par JTAG UART, appliquer l'une des options suivantes :

Manuel de conception du processeur embarqué Nios® V 38

Envoyer des commentaires

2. Conception du système matériel du processeur Nios V avec Quartus Prime Software and Platform Designer
726952 | 2025.07.16

Tableau 24. Prévention du décrochage par JTAG UART

Options
Aucune interface UART ni pilote présents
Utiliser une autre interface et un autre pilote UART
Préserver JTAG Interface UART (sans pilote)

Pendant le développement du matériel (dans Platform Designer)

Pendant le développement du logiciel (dans l'éditeur de package de support de carte)

Supprimer JTAG UART du système

Configurez hal.stdin, hal.stdout et hal.stderr comme Aucun.

Remplacer JTAG UART avec d'autres logiciels Configurer hal.stdin, hal.stdout et hal.stderr

IP UART

avec d'autres IP UART logicielles.

Préserver JTAG UART dans le système

· Configurez hal.stdin, hal.stdout et hal.stderr sur Aucun dans l'éditeur de package de support de carte.
· Désactiver JTAG Pilote UART dans l'onglet Pilote BSP.

2.7. JTAG Signaux
Le module de débogage du processeur Nios V utilise le JTAG Interface pour le téléchargement et le débogage de logiciels ELF. Lorsque vous déboguez votre conception avec JTAG interface, le JTAG Les signaux TCK, TMS, TDI et TDO sont implémentés dans le cadre de la conception. Spécifier le JTAG Les contraintes de signal dans chaque système de processeur Nios V constituent une considération importante de la conception du système et sont nécessaires à l'exactitude et au comportement déterministe.
Altera recommande que la fréquence d'horloge système de toute conception soit au moins quatre fois supérieure à la JTAG fréquence d'horloge pour garantir que le cœur de l'instrumentation sur puce (OCI) fonctionne correctement.
Informations connexes · Livre de recettes Quartus® Prime Timing Analyzer : JTAG Signaux
Pour plus d'informations sur J.TAG directives relatives aux contraintes de temps. · KDB : Pourquoi niosv-download échoue-t-il avec un processeur Nios® V/m non pipeliné à
JTAG fréquence 24MHz ou 16Mhz ?
2.8. Optimisation des performances du système Platform Designer
Platform Designer fournit des outils permettant d'optimiser les performances de l'interconnexion système pour les conceptions FPGA Altera.

Envoyer des commentaires

Manuel de conception du processeur embarqué Nios® V 39

2. Conception du système matériel du processeur Nios V avec Quartus Prime Software and Platform Designer
726952 | 2025.07.16
Figure 25. Exemple d'optimisationamples

L'exampLe schéma présenté dans la figure illustre les étapes suivantes :
1. Ajout d'un pont de pipeline pour alléger les chemins critiques en le plaçant : a. Entre le gestionnaire d'instructions et ses agents ; b. Entre le gestionnaire de données et ses agents.
2. Appliquez une véritable RAM double port sur puce, chaque port étant dédié respectivement au gestionnaire d'instructions et au gestionnaire de données

Manuel de conception du processeur embarqué Nios® V 40

Envoyer des commentaires

2. Conception matérielle du processeur Nios V avec Quartus Prime Software and Platform Designer 726952 | 2025.07.16
Consultez les liens connexes ci-dessous, qui présentent des techniques permettant d’exploiter les outils disponibles et les compromis de chaque implémentation.
Informations connexes · Guide de l'utilisateur de Quartus® Prime Pro Edition : Concepteur de plateforme
Consultez la rubrique Optimisation des performances du système Platform Designer pour plus d'informations. · Guide de l'utilisateur de Quartus® Prime Standard Edition : Platform Designer Consultez la rubrique Optimisation des performances du système Platform Designer pour plus d'informations.

Envoyer des commentaires

Manuel de conception du processeur embarqué Nios® V 41

726952 | 2025.07.16 Envoyer des commentaires

3. Conception du système logiciel du processeur Nios V
Ce chapitre décrit le flux de développement logiciel du processeur Nios V et les outils logiciels utilisables pour développer votre système de conception embarqué. Ce contenu est une synthèse.view avant de développer un système logiciel de processeur Nios V.
Figure 26. Flux de conception du logiciel
Commencer

Générer le BSP dans le concepteur de plateforme à l'aide de l'éditeur BSP

Générer le BSP à l'aide de l'interpréteur de commandes Nios V
Générer l'application CMake Build File Utilisation de l'interpréteur de commandes Nios V

Note:

Importer le BSP et l'application CMake Build File
Créez l'application du processeur Nios V à l'aide de
IDE sans risque pour FPGA Intel

Créez l'application Nios V Processor en utilisant n'importe quel
éditeur de code source en ligne de commande, CMake et Make
commandes
Fin

Altera recommande d'utiliser un kit de développement FPGA Altera ou une carte prototype personnalisée pour le développement et le débogage de logiciels. De nombreux périphériques et fonctionnalités système ne sont disponibles que lorsque votre logiciel est exécuté sur une carte réelle.

© Altera Corporation. Altera, le logo Altera, le logo « a » et les autres marques Altera sont des marques déposées d'Altera Corporation. Altera se réserve le droit d'apporter des modifications à ses produits et services à tout moment et sans préavis. Altera décline toute responsabilité quant à l'application ou à l'utilisation des informations, produits ou services décrits dans le présent document, sauf accord écrit exprès d'Altera. Il est conseillé aux clients d'Altera de se procurer la dernière version des spécifications de leurs appareils avant de se fier aux informations publiées et de commander des produits ou services. *Les autres noms et marques peuvent être revendiqués comme étant la propriété de tiers.

3. Conception du système logiciel du processeur Nios V 726952 | 2025.07.16
3.1. Flux de développement logiciel du processeur Nios V
3.1.1. Projet de package de soutien du conseil d'administration
Un projet BSP (Board Support Package) Nios V est une bibliothèque spécialisée contenant du code de support spécifique au système. Un BSP fournit un environnement d'exécution logiciel personnalisé pour un processeur dans un système matériel Nios V.
Le logiciel Quartus Prime fournit Nios V Board Support Package Editor et les outils utilitaires niosv-bsp pour modifier les paramètres qui contrôlent le comportement du BSP.
Un BSP contient les éléments suivants : · Couche d'abstraction matérielle · Pilotes de périphériques · Packages logiciels facultatifs · Système d'exploitation temps réel facultatif
3.1.2. Projet d'application
Un projet d'application Nios VC/C++ présente les fonctionnalités suivantes : · Il est constitué d'une collection de code source et d'un fichier CMakeLists.txt.
— Le CMakeLists.txt compile le code source et le lie à un BSP et à une ou plusieurs bibliothèques optionnelles, pour créer un .elf file
· Une des sources files contient la fonction main(). · Inclut du code qui appelle des fonctions dans les bibliothèques et les BSP.
Altera fournit l'outil utilitaire niosv-app dans les outils utilitaires logiciels Quartus Prime pour créer l'application CMakeLists.txt et RiscFree IDE pour les FPGA Altera pour modifier le code source dans un environnement basé sur Eclipse.
3.2. Outils de développement embarqués Altera FPGA
Le processeur Nios V prend en charge les outils suivants pour le développement de logiciels : · Interface utilisateur graphique (GUI) – Outils de développement graphique disponibles dans
Systèmes d'exploitation Windows* et Linux*. — Éditeur de packages de support de carte Nios V (Éditeur BSP Nios V) — IDE Ashling RiscFree pour FPGA Altera · Outils en ligne de commande (CLI) – Outils de développement lancés depuis l'interpréteur de commandes Nios V. Chaque outil fournit sa propre documentation sous forme d'aide accessible depuis la ligne de commande. Ouvrez l'interpréteur de commandes Nios V et saisissez la commande suivante : –aider à view le menu Aide. — Outils utilitaires Nios V — File Outils de conversion de format — Autres outils utilitaires

Envoyer des commentaires

Manuel de conception du processeur embarqué Nios® V 43

3. Conception du système logiciel du processeur Nios V 726952 | 2025.07.16

Tableau 25. Résumé des tâches des outils d'interface graphique et des outils de ligne de commande

Tâche

Outil GUI

Outil de ligne de commande

Création d'un BSP

Éditeur Nios V BSP

· Dans le logiciel Quartus Prime Pro Edition : niosv-bsp -c -s=<.qsys file> -t= [OPTIONS] paramètres.bsp
· Dans le logiciel Quartus Prime Standard Edition : niosv-bsp -c -s=<.sopcinfo file> -t= [OPTIONS] paramètres.bsp

Générer un BSP à l'aide d'un .bsp existant file
Mise à jour d'un BSP

Éditeur Nios V BSP Éditeur Nios V BSP

niosv-bsp -g [OPTIONS] paramètres.bsp niosv-bsp -u [OPTIONS] paramètres.bsp

Examen d'un BSP

Éditeur Nios V BSP

niosv-bsp -q -E= [OPTIONS] paramètres.bsp

Créer une application

niosv-app -a= -b= -s= filerépertoire s> [OPTIONS]

Création d'une bibliothèque utilisateur

niosv-app -l= -s= filerépertoire s> -p= [OPTIONS]

Modifier une application Modifier une bibliothèque utilisateur Créer une application

IDE RiscFree pour FPGA Altera
IDE RiscFree pour FPGA Altera
IDE RiscFree pour FPGA Altera

Tout éditeur de source en ligne de commande
Tout éditeur de source en ligne de commande
· faire · cmake

Créer une bibliothèque utilisateur

IDE RiscFree pour FPGA Altera

· faire · cmake

Téléchargement d'une application ELF
Conversion du .elf file

IDE RiscFree pour FPGA Altera

niosv-téléchargement
· elf2flash · elf2hex

Informations connexes
Guide de l'utilisateur de l'environnement de développement intégré (IDE) Ashling RiscFree pour FPGA Altera

3.2.1. Éditeur de package de support de carte processeur Nios V
Vous pouvez utiliser l'éditeur BSP du processeur Nios V pour effectuer les tâches suivantes : · Créer ou modifier un projet BSP du processeur Nios V · Modifier les paramètres, les régions de liaison et les mappages de sections · Sélectionner les packages logiciels et les pilotes de périphérique.
Les fonctionnalités de l'éditeur BSP incluent celles des utilitaires niosv-bsp. Tout projet créé dans l'éditeur BSP peut également être créé à l'aide des utilitaires en ligne de commande.

Manuel de conception du processeur embarqué Nios® V 44

Envoyer des commentaires

3. Conception du système logiciel du processeur Nios V 726952 | 2025.07.16

Note:

Pour le logiciel Quartus Prime Standard Edition, reportez-vous à AN 980 : Nios V Processor Quartus Prime Software Support pour connaître les étapes à suivre pour appeler l'interface graphique de l'éditeur BSP.

Pour lancer l'éditeur BSP, suivez ces étapes : 1. Ouvrez Platform Designer et accédez à l' File menu.
a. Pour ouvrir un paramètre BSP existant file, cliquez sur Ouvrir… b. Pour créer un nouveau BSP, cliquez sur Nouveau BSP… 2. Sélectionnez l'onglet Éditeur BSP et fournissez les détails appropriés.

Figure 27. Lancer l'éditeur BSP

Informations connexes AN 980 : Processeur Nios V Support logiciel Quartus Prime
3.2.2. IDE RiscFree pour FPGA Altera
L'IDE RiscFree pour FPGA Altera est un IDE basé sur Eclipse pour le processeur Nios V. Altera recommande de développer le logiciel du processeur Nios V dans cet IDE pour les raisons suivantes : · Les fonctionnalités sont développées et vérifiées pour être compatibles avec Nios V.
flux de construction du processeur. · Équipé de toutes les chaînes d'outils nécessaires et des outils de support qui vous permettent
pour démarrer facilement le développement du processeur Nios V.
Informations connexes Ashling RiscFree Environnement de développement intégré (IDE) pour Altera FPGA Guide de l'utilisateur
3.2.3. Outils utilitaires Nios V
Vous pouvez créer, modifier et compiler des programmes Nios V à l'aide de commandes saisies en ligne de commande ou intégrées à un script. Les outils en ligne de commande Nios V décrits dans cette section se trouvent dans le Répertoire /niosv/bin.

Envoyer des commentaires

Manuel de conception du processeur embarqué Nios® V 45

3. Conception du système logiciel du processeur Nios V 726952 | 2025.07.16

Tableau 26. Outils utilitaires Nios V

Outils de ligne de commande

Résumé

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

Pour générer et configurer un projet d'application.
Pour créer ou mettre à jour des paramètres BSP file et créer le BSP files. Pour télécharger l'ELF file à un processeur Nios® V.
Pour ouvrir l'interpréteur de commandes Nios V. Pour vous informer de l'espace mémoire restant disponible pour votre application .elf, pour l'utilisation de la pile ou du tas.

3.2.4. File Outils de conversion de format

File La conversion de format est parfois nécessaire lors du transfert de données d'un utilitaire à un autre. file les outils de conversion de format sont dans le
répertoire d'installation du logiciel>répertoire /niosv/bin.

Tableau 27. File Outils de conversion de format

Outils de ligne de commande elf2flash elf2hex

Résumé Pour traduire le .elf file au format .srec pour la programmation de la mémoire flash. Pour traduire le fichier .elf file au format .hex pour l'initialisation de la mémoire.

3.2.5. Autres utilitaires

Vous pourriez avoir besoin des outils de ligne de commande suivants lors de la construction d'un système basé sur un processeur Nios V. Ces outils de ligne de commande sont fournis par Intel dans /quartus/bin ou acquis à partir de
outils open source.

Tableau 28. Autres outils de ligne de commande

Outils de ligne de commande

Taper

Résumé

juart-terminal

Fourni par Intel

Pour surveiller stdout et stderr, et pour fournir une entrée à un processeur Nios® V
sous-système via stdin. Cet outil s'applique uniquement au JTAG UART IP lorsqu'il est connecté au processeur Nios® V.

OpenOCD

Fourni par Intel pour exécuter OpenOCD.

openocd-cfg-gen

Fourni par Intel · Pour générer la configuration OpenOCD file. · Pour afficher JTAG index des dispositifs de chaîne.

Manuel de conception du processeur embarqué Nios® V 46

Envoyer des commentaires

726952 | 2025.07.16 Envoyer des commentaires
4. Configuration du processeur Nios V et solutions de démarrage
Vous pouvez configurer le processeur Nios V pour démarrer et exécuter des logiciels depuis différents emplacements mémoire. La mémoire de démarrage est la mémoire Flash QSPI (Quad Serial Peripheral Interface), la mémoire OCRAM (On-Chip Memory) ou la mémoire à couplage étroit (TCM).
Informations connexes · Conditions de déclenchement de mise sous tension à la page 193 · Déclencheurs de mise sous tension
Pour plus d'informations sur les déclencheurs de mise sous tension.
4.1. Introduction
Le processeur Nios V prend en charge deux types de processus de démarrage : · Exécution sur place (XIP) via la fonction alt_load() · Copie du programme en RAM via un copieur de démarrage. Le développement des programmes embarqués Nios V repose sur la couche d'abstraction matérielle (HAL). Cette couche fournit un petit programme de chargement de démarrage (également appelé copieur de démarrage) qui copie les sections pertinentes de l'éditeur de liens de la mémoire de démarrage vers leur emplacement d'exécution au démarrage. Vous pouvez spécifier les emplacements d'exécution du programme et de la mémoire de données en modifiant les paramètres de l'éditeur de paquets de support de carte (BSP). Cette section décrit : · Le copieur de démarrage du processeur Nios V qui démarre votre système à l'aide du processeur Nios V conformément aux instructions.
Sélection de la mémoire de démarrage · Options de démarrage et flux général du processeur Nios V · Solutions de programmation Nios V pour la mémoire de démarrage sélectionnée
4.2. Lier des applications
Lorsque vous générez le projet de processeur Nios V, l'éditeur BSP génère deux liens liés files: · linker.x : la commande linker file que la marque de l'application généréefile utilisations
pour créer le binaire .elf file. · linker.h : Contient des informations sur la disposition de la mémoire du linker. Toute modification des paramètres du linker apportée au projet BSP affecte le contenu de ces deux linkers. files. Chaque application de processeur Nios V contient les sections de liaison suivantes :
© Altera Corporation. Altera, le logo Altera, le logo « a » et les autres marques Altera sont des marques déposées d'Altera Corporation. Altera se réserve le droit d'apporter des modifications à ses produits et services à tout moment et sans préavis. Altera décline toute responsabilité quant à l'application ou à l'utilisation des informations, produits ou services décrits dans le présent document, sauf accord écrit exprès d'Altera. Il est conseillé aux clients d'Altera de se procurer la dernière version des spécifications de leurs appareils avant de se fier aux informations publiées et de commander des produits ou services. *Les autres noms et marques peuvent être revendiqués comme étant la propriété de tiers.

4. Configuration du processeur Nios V et solutions de démarrage 726952 | 2025.07.16

Tableau 29. Sections du lien

.texte

Sections du lien

.rodata

.rwdata

.bss

.tas

.empiler

Descriptions : Code exécutable. Données en lecture seule utilisées dans l'exécution du programme. Stocke les données en lecture/écriture utilisées dans l'exécution du programme. Contient des données statiques non initialisées. Contient de la mémoire allouée dynamiquement. Stocke les paramètres d'appel de fonction et autres données temporaires.

Vous pouvez ajouter des sections de liens supplémentaires au fichier .elf file Pour stocker du code et des données personnalisés. Ces sections de lien sont placées dans des zones mémoire nommées, définies pour correspondre aux périphériques et adresses de mémoire physique. Par défaut, l'éditeur BSP génère automatiquement ces sections de lien. Vous pouvez toutefois contrôler les sections de lien pour une application spécifique.

4.2.1. Comportement de liaison
Cette section décrit le comportement de liaison par défaut de l'éditeur BSP et comment contrôler le comportement de liaison.

4.2.1.1. Liaison BSP par défaut
Lors de la configuration du BSP, les outils exécutent automatiquement les étapes suivantes :
1. Attribuer des noms de région de mémoire : attribuez un nom à chaque périphérique de mémoire système et ajoutez chaque nom au linker file comme une région de mémoire.
2. Trouver la plus grande mémoire : identifier la plus grande région de mémoire de lecture et d'écriture dans l'éditeur de liens file.
3. Attribuer des sections de lien : placez les sections de lien par défaut (.text, .rodata, .rwdata, .bss, .heap et .stack) dans la région de mémoire identifiée à l’étape précédente.
4. Écrire files : Écrivez le linker.x et le linker.h files.
En règle générale, le schéma d'allocation de section du linker fonctionne pendant le processus de développement du logiciel, car l'application est garantie de fonctionner si la mémoire est suffisamment grande.
Les règles pour le comportement de liaison par défaut sont contenues dans les scripts Tcl générés par Altera bsp-set-defaults.tcl et bsp-linker-utils.tcl trouvés dans le Répertoire /niosv/scripts/bsp-defaults. La commande niosv-bsp appelle ces scripts. Ne les modifiez pas directement.

Manuel de conception du processeur embarqué Nios® V 48

Envoyer des commentaires

4. Configuration du processeur Nios V et solutions de démarrage 726952 | 2025.07.16

4.2.1.2. Liaison BSP configurable
Vous pouvez gérer le comportement de liaison par défaut dans l'onglet Script de liaison de l'éditeur BSP. Manipulez le script de liaison à l'aide des méthodes suivantes : · Ajouter une région mémoire : mappe un nom de région mémoire à un périphérique de mémoire physique. · Ajouter un mappage de section : mappe un nom de section à une région mémoire. Le BSP
L'éditeur vous permet de view la carte mémoire avant et après avoir effectué des modifications.

4.3. Méthodes de démarrage du processeur Nios V

Il existe plusieurs méthodes pour démarrer le processeur Nios V dans les FPGA Altera. Ces méthodes varient selon la mémoire flash sélectionnée et la famille de périphériques.

Tableau 30. Mémoires flash prises en charge avec options de démarrage respectives

Mémoires de démarrage prises en charge

Appareil

Flash sur puce (pour configuration interne)

Max 10 appareils seulement (avec IP Flash sur puce)

Flash QSPI à usage général (pour les données utilisateur uniquement)

Tous les périphériques FPGA pris en charge (avec interface Flash série générique FPGA IP)

Configuration QSPI Flash (pour la configuration série active)

Contrôle basé sur des blocs
appareils (avec générique
Interface Flash série Intel FPGA IP)(2)

Méthodes de démarrage du processeur Nios V

Emplacement d'exécution de l'application

Copieur de démarrage

Application du processeur Nios V exécutée sur place à partir de la mémoire Flash intégrée

Flash sur puce (XIP) + OCRAM/RAM externe (pour les sections de données inscriptibles)

fonction alt_load()

Application du processeur Nios V copiée de la mémoire Flash sur puce vers la RAM à l'aide du copieur de démarrage

OCRAM/RAM externe

Réutilisation du chargeur de démarrage via GSFI

Application de processeur Nios V exécutée sur place à partir d'une mémoire flash QSPI à usage général

Flash QSPI à usage général (XIP) + OCRAM/RAM externe (pour les sections de données inscriptibles)

fonction alt_load()

Application du processeur Nios V copiée depuis une mémoire flash QSPI à usage général vers la RAM à l'aide d'un copieur de démarrage

OCRAM/RAM externe

Chargeur de démarrage via GSFI

Application du processeur Nios V exécutée sur place à partir de la configuration QSPI flash

Configuration QSPI flash (XIP) + OCRAM/RAM externe (pour les sections de données inscriptibles)

fonction alt_load()

Application du processeur Nios V copiée de la mémoire flash QSPI de configuration vers la RAM à l'aide du copieur de démarrage

OCRAM/ Chargeur de démarrage RAM externe via GSFI suite…

(2) Reportez-vous à AN 980 : Nios V Processor Quartus Prime Software Support pour la liste des périphériques.

Envoyer des commentaires

Manuel de conception du processeur embarqué Nios® V 49

4. Configuration du processeur Nios V et solutions de démarrage 726952 | 2025.07.16

Mémoires de démarrage prises en charge
Mémoire sur puce (OCRAM) Mémoire étroitement couplée (TCM)

Appareil
Appareils basés sur SDM (avec IP FPGA Intel Mailbox Client). (2)
Tous les périphériques FPGA Altera pris en charge (2)
Tous les périphériques FPGA Altera pris en charge (2)

Méthodes de démarrage du processeur Nios V
Application du processeur Nios V copiée de la mémoire flash QSPI de configuration vers la RAM à l'aide du copieur de démarrage
Application du processeur Nios V exécutée sur place à partir de l'OCRAM
Application du processeur Nios V exécutée sur place à partir de TCM

Emplacement d'exécution de l'application

Copieur de démarrage

Chargeur de démarrage OCRAM/RAM externe via SDM

OCRAM

fonction alt_load()

Instruction TCM (XIP) Aucune + Données TCM (pour les sections de données inscriptibles)

Figure 28. Flux de démarrage du processeur Nios V

Réinitialiser

Le processeur passe au vecteur de réinitialisation (démarrage du code de démarrage)

Le code de l'application peut être copié vers un autre emplacement mémoire (en fonction des options de démarrage)
Le code de démarrage initialise le processeur

Selon les options de démarrage, le code de démarrage peut copier les valeurs initiales des données/codes vers un autre espace mémoire (alt_load)
Le code de démarrage initialise le code de l'application et l'espace mémoire de données
Le code de démarrage initialise tous les périphériques du système avec les pilotes HAL (alt_main)
Entrée principale
Informations connexes · Guide de l'utilisateur de l'interface Flash série générique Altera FPGA IP
Manuel de conception du processeur embarqué Nios® V 50

Envoyer des commentaires

4. Configuration du processeur Nios V et solutions de démarrage 726952 | 2025.07.16
· Guide de l'utilisateur du client de boîte aux lettres Altera FPGA IP · AN 980 : Processeur Nios V Support logiciel Quartus Prime
4.4. Introduction aux méthodes de démarrage du processeur Nios V
Les systèmes à processeur Nios V nécessitent la configuration des images logicielles en mémoire système avant que le processeur puisse exécuter le programme d'application. Consultez les sections relatives à l'éditeur de liens pour connaître les sections par défaut de l'éditeur de liens.
L'éditeur BSP génère un script de liaison qui exécute les fonctions suivantes : · Garantit que le logiciel du processeur est lié conformément aux paramètres de l'éditeur de liens
de l'éditeur BSP et détermine où le logiciel réside en mémoire. · Positionne la région de code du processeur dans le composant mémoire en fonction de la
composants de mémoire attribués.
La section suivante décrit brièvement les méthodes de démarrage du processeur Nios V disponibles.
4.4.1. Application du processeur Nios V exécutable sur place depuis la mémoire flash de démarrage
Altera a conçu les contrôleurs Flash de manière à ce que l'espace d'adressage Flash de démarrage soit immédiatement accessible au processeur Nios V lors de la réinitialisation du système, sans qu'il soit nécessaire d'initialiser le contrôleur mémoire ou les périphériques mémoire. Cela permet au processeur Nios V d'exécuter directement le code applicatif stocké sur les périphériques de démarrage, sans utiliser de copieur de démarrage pour copier le code vers un autre type de mémoire. Les contrôleurs Flash sont : · Flash sur puce avec IP Flash sur puce (uniquement sur les périphériques MAX® 10) · Flash QSPI à usage général avec IP d'interface Flash série générique · Flash QSPI de configuration avec IP d'interface Flash série générique (sauf MAX 10)
dispositifs)
Lorsque l'application du processeur Nios V s'exécute sur place à partir de la mémoire flash de démarrage, l'éditeur BSP exécute les fonctions suivantes : · Définit les sections de l'éditeur de liens .text dans la région de mémoire flash de démarrage. · Définit les sections de l'éditeur de liens .bss, .rodata, .rwdata, .stack et .heap dans la RAM.
Zone mémoire. Vous devez activer la fonction alt_load() dans les paramètres BSP pour copier les sections de données (.rodata, .rwdata, .exceptions) dans la RAM après réinitialisation du système. La section de code (.text) reste dans la zone de mémoire flash de démarrage.
Informations connexes · Guide de l'utilisateur de l'interface Flash série générique Altera FPGA IP · Guide de l'utilisateur de la mémoire Flash Altera MAX 10
4.4.1.1. alt_load()
Vous pouvez activer la fonction alt_load() dans le code HAL à l'aide de l'éditeur BSP.
Lorsqu'elle est utilisée dans le flux de démarrage exécuté sur place, la fonction alt_load() exécute les tâches suivantes :

Envoyer des commentaires

Manuel de conception du processeur embarqué Nios® V 51

4. Configuration du processeur Nios V et solutions de démarrage 726952 | 2025.07.16

· Fonctionne comme un mini copieur de démarrage qui copie les sections de mémoire vers la RAM en fonction des paramètres BSP.
Copie les sections de données (.rodata, .rwdata, .exceptions) dans la RAM, mais pas les sections de code (.text). La section de code (.text) est en lecture seule et reste dans la zone de mémoire flash de démarrage. Ce partitionnement permet de minimiser l'utilisation de la RAM, mais peut limiter les performances d'exécution du code, car les accès à la mémoire flash sont plus lents que ceux à la RAM intégrée.

Le tableau suivant répertorie les paramètres et les fonctions de l'éditeur BSP :

Tableau 31. Paramètres de l'éditeur BSP
Paramètre de l'éditeur 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

Fonction Active la fonction alt_load(). alt_load() copie la section .rodata dans la RAM. alt_load() copie la section .rwdata dans la RAM. alt_load() copie la section .exceptions dans la RAM.

4.4.2. Application du processeur Nios V copiée de la mémoire flash de démarrage vers la RAM à l'aide de Boot Copier
Le processeur Nios V et HAL incluent un copieur de démarrage qui fournit des fonctionnalités suffisantes pour la plupart des applications du processeur Nios V et est pratique à mettre en œuvre avec le flux de développement logiciel Nios V.
Lorsqu'une application utilise un copieur de démarrage, elle place toutes les sections de l'éditeur de liens (.text, .heap, .rwdata, .rodata, .bss, .stack) dans une mémoire RAM interne ou externe. L'utilisation du copieur de démarrage pour copier une application du processeur Nios V de la mémoire flash de démarrage vers la mémoire RAM interne ou externe en vue de son exécution améliore les performances.
Pour cette option de démarrage, le processeur Nios V lance le logiciel de copie de démarrage lors de la réinitialisation du système. Ce logiciel copie l'application de la mémoire flash de démarrage vers la RAM interne ou externe. Une fois le processus terminé, le processeur Nios V transfère le contrôle du programme à l'application.

Note:

Si le copieur de démarrage est en flash, la fonction alt_load() n'a pas besoin d'être appelée car elles servent toutes deux le même objectif.

4.4.2.1. Chargeur de démarrage du processeur Nios V via une interface Flash série générique
Le chargeur de démarrage via GSFI est le copieur de démarrage du processeur Nios V prenant en charge la mémoire flash QSPI dans les périphériques à blocs de contrôle. Il inclut les fonctionnalités suivantes :
· Localise l’application logicielle dans la mémoire non volatile.
· Décompresse et copie l'image de l'application logicielle dans la RAM.
· Bascule automatiquement l'exécution du processeur vers le code d'application dans la RAM une fois la copie terminée.

Manuel de conception du processeur embarqué Nios® V 52

Envoyer des commentaires

4. Configuration du processeur Nios V et solutions de démarrage 726952 | 2025.07.16

L'image de démarrage se trouve juste après le copieur de démarrage. Assurez-vous que le décalage de réinitialisation du processeur Nios V pointe vers le début du copieur de démarrage. La figure : Mappage mémoire pour Flash QSPI avec chargeur de démarrage via GSFI montre le mappage mémoire pour Flash QSPI avec chargeur de démarrage via GSFI lors de l'utilisation d'un copieur de démarrage. Ce mappage suppose que la mémoire flash stocke l'image FPGA et le logiciel d'application.

Tableau 32. Chargeur de démarrage via GSFI pour cœur de processeur Nios V

Cœur de processeur Nios V
Processeur Nios V/m

Chargeur de démarrage via GSFI File Emplacement
/niosv/components/bootloader/ niosv_m_bootloader.srec

Processeur Nios V/g

/niosv/components/bootloader/ niosv_g_bootloader.srec

Figure 29. Carte mémoire pour Flash QSPI avec chargeur de démarrage via GSFI

Données client (*.hex)

Code d'application

Note:

Réinitialiser le décalage vectoriel

Copieur de démarrage

0x01E00000

Image FPGA (*.sof)

0x00000000

1. Au début de la carte mémoire se trouve l'image FPGA suivie de vos données, qui se composent du copieur de démarrage et du code d'application.
2. Vous devez définir le décalage de réinitialisation du processeur Nios V dans Platform Designer et le pointer vers le début du copieur de démarrage.
3. La taille de l'image FPGA est inconnue. Vous ne pourrez la connaître avec précision qu'après la compilation du projet Quartus Prime. Vous devez déterminer une limite supérieure pour la taille de l'image FPGA Altera. Par exempleample, si la taille de l'image FPGA est estimée inférieure à 0x01E00000, définissez le décalage de réinitialisation sur 0x01E00000 dans Platform Designer, qui est également le début du copieur de démarrage.
4. Une bonne pratique de conception consiste à définir le décalage du vecteur de réinitialisation à une limite de secteur flash pour garantir qu'aucun effacement partiel de l'image FPGA ne se produise en cas de mise à jour de l'application logicielle.

Envoyer des commentaires

Manuel de conception du processeur embarqué Nios® V 53

4. Configuration du processeur Nios V et solutions de démarrage 726952 | 2025.07.16

4.4.2.2. Chargeur de démarrage du processeur Nios V via Secure Device Manager
Le chargeur de démarrage via Secure Device Manager (SDM) est un code d'application HAL utilisant le pilote HAL IP FPGA d'Altera pour Mailbox Client pour le démarrage du processeur. Altera recommande ce chargeur de démarrage lors de l'utilisation de la mémoire flash QSPI de configuration dans les périphériques SDM pour démarrer le processeur Nios V.
Lors de la réinitialisation du système, le processeur Nios V démarre d'abord le chargeur de démarrage via SDM à partir d'une petite mémoire sur puce et exécute le chargeur de démarrage via SDM pour communiquer avec la mémoire flash QSPI de configuration à l'aide de l'IP du client de boîte aux lettres.
Le chargeur de démarrage via SDM effectue les tâches suivantes : · Localise le logiciel Nios V dans la mémoire flash QSPI de configuration. · Copie le logiciel Nios V dans la RAM intégrée ou dans la RAM externe. · Bascule l'exécution du processeur vers le logiciel Nios V dans la RAM intégrée ou
RAM externe.
Une fois le processus terminé, le chargeur de démarrage via SDM transfère le contrôle du programme à l'application utilisateur. Altera recommande l'organisation de la mémoire décrite dans la section « Organisation de la mémoire pour le chargeur de démarrage via SDM ».
Figure 30. Flux de processus du chargeur de démarrage via SDM

Configuration

Éclair

2

Logiciel Nios V

SDM

Dispositif FPGA basé sur SDM

IP du client de boîte aux lettres

Logique FPGA Nios V

4 RAM externes
Logiciel Nios V

Sur puce 4

FEMI

BÉLIER

Mémoire sur puce

IP

Nios V

1

Logiciel

Chargeur de démarrage via SDM

3

3

1. Le processeur Nios V exécute le chargeur de démarrage via SDM à partir de la mémoire sur puce.
2. Le chargeur de démarrage via SDM communique avec la mémoire flash de configuration et localise le logiciel Nios V.
3. Le chargeur de démarrage via SDM copie le logiciel Nios V de la mémoire Flash de configuration dans la RAM sur puce / RAM externe.
4. Le chargeur de démarrage via SDM commute l'exécution du processeur Nios V vers le logiciel Nios V dans la RAM sur puce / RAM externe.

4.4.3. Application du processeur Nios V exécutable sur place depuis OCRAM
Dans cette méthode, l'adresse de réinitialisation du processeur Nios V est définie sur l'adresse de base de la mémoire intégrée (OCRAM). Le binaire d'application (.hex) file est chargé dans l'OCRAM lors de la configuration du FPGA, après compilation de la conception matérielle dans le logiciel Quartus Prime. Une fois le processeur Nios V réinitialisé, l'application commence à s'exécuter et se branche au point d'entrée.

Manuel de conception du processeur embarqué Nios® V 54

Envoyer des commentaires

4. Configuration du processeur Nios V et solutions de démarrage 726952 | 2025.07.16

Note:

· L'exécution sur place depuis OCRAM ne nécessite pas de copieur de démarrage car l'application du processeur Nios V est déjà en place lors de la réinitialisation du système.
· Altera recommande d'activer alt_load() pour cette méthode de démarrage afin que le logiciel intégré se comporte de manière identique lors de la réinitialisation sans reconfigurer l'image du périphérique FPGA.
Vous devez activer la fonction alt_load() dans les paramètres BSP pour copier la section .rwdata lors de la réinitialisation du système. Avec cette méthode, les valeurs initiales des variables initialisées sont stockées séparément des variables correspondantes afin d'éviter tout écrasement lors de l'exécution du programme.

4.4.4. Application exécutable sur place du processeur Nios V depuis TCM
La méthode d'exécution sur place définit l'adresse de réinitialisation du processeur Nios V sur l'adresse de base de la mémoire à couplage étroit (TCM). Le binaire d'application (.hex) file est chargé dans le TCM lors de la configuration du FPGA après la compilation de la conception matérielle dans le logiciel Quartus Prime. Une fois le processeur Nios V réinitialisé, l'application commence à s'exécuter et se branche vers le point d'entrée.

Note:

L'exécution sur place à partir de TCM ne nécessite pas de copieur de démarrage car l'application du processeur Nios V est déjà en place lors de la réinitialisation du système.

4.5. Démarrage du processeur Nios V à partir de la mémoire Flash intégrée (UFM)

Le démarrage et l'exécution de logiciels depuis la mémoire flash intégrée (UFM) du processeur Nios V sont disponibles sur les FPGA MAX 10. Le processeur Nios V prend en charge les deux options de démarrage suivantes via la mémoire flash intégrée en mode de configuration interne :
· L'application du processeur Nios V s'exécute sur place à partir de la mémoire Flash intégrée.
· L'application du processeur Nios V est copiée de la mémoire Flash sur puce vers la RAM à l'aide du copieur de démarrage.

Tableau 33. Mémoires flash prises en charge avec options de démarrage respectives

Mémoires de démarrage prises en charge

Méthodes de démarrage de Nios V

Emplacement d'exécution de l'application

Copieur de démarrage

MAX 10 appareils seulement (avec IP Flash OnChip)

Application du processeur Nios V exécutée sur place à partir de la mémoire Flash intégrée
Application du processeur Nios V copiée de la mémoire Flash sur puce vers la RAM à l'aide du copieur de démarrage

Flash sur puce (XIP) + OCRAM/RAM externe (pour les sections de données inscriptibles)

fonction alt_load()

OCRAM/ RAM externe

Réutilisation du chargeur de démarrage via GSFI

Envoyer des commentaires

Manuel de conception du processeur embarqué Nios® V 55

4. Configuration du processeur Nios V et solutions de démarrage 726952 | 2025.07.16

Figure 31.

Conception, configuration et flux de démarrage
Conception · Créez votre projet basé sur le processeur Nios V à l'aide de Platform Designer. · Assurez-vous qu'il y a de la RAM externe ou de la RAM sur puce dans la conception du système.

Configuration et compilation FPGA
· Définissez le même mode de configuration interne dans l'IP Flash sur puce dans Platform Designer et les logiciels Quartus Prime. · Définissez l'agent de réinitialisation du processeur Nios V sur Flash sur puce. · Choisissez votre méthode d'initialisation UFM préférée. · Générez votre conception dans Platform Designer. · Compilez votre projet dans le logiciel Quartus Prime.

Projet BSP d'application utilisateur · Créer un BSP HAL pour processeur Nios V basé sur .sopcinfo file créé par Platform Designer. · Modifiez les paramètres BSP du processeur Nios V et le script Linker dans l'éditeur BSP. · Générez un projet BSP.
Projet d'application utilisateur · Développer le code de l'application du processeur Nios V. · Compiler l'application du processeur Nios V et générer l'application du processeur Nios V (.hex) file. · Recompilez votre projet dans le logiciel Quartus Prime si vous cochez l'option Initialiser le contenu de la mémoire dans Intel FPGA On-Chip Flash IP.

Programmation Files Conversion, téléchargement et exécution · Générer le fichier Flash .pof sur puce file en utilisant Convert Programming Files fonctionnalité dans le logiciel Quartus Prime.
· Programmer le .pof file dans votre appareil MAX 10. · Redémarrez votre matériel.
4.5.1. Description de la mémoire Flash intégrée du FPGA MAX 10
Les dispositifs FPGA MAX 10 contiennent une mémoire flash sur puce segmentée en deux parties : · Mémoire flash de configuration (CFM) — stocke les données de configuration matérielle pour
MAX 10 FPGA. · Mémoire flash utilisateur (UFM) — stocke les données utilisateur ou les applications logicielles.
L'architecture UFM du dispositif MAX 10 combine des adresses IP logicielles et matérielles. L'accès à l'UFM se fait uniquement via le cœur IP Flash intégré au logiciel Quartus Prime.
Le cœur IP Flash sur puce prend en charge les fonctionnalités suivantes : · Accès en lecture ou en écriture aux secteurs UFM et CFM (si activé dans Platform Designer)
Utilisation de l'interface esclave de données et de contrôle Avalon MM. Prise en charge de l'effacement de page, de l'effacement de secteur et de l'écriture de secteur. Modèle de simulation pour les accès en lecture/écriture UFM à l'aide de divers outils de simulation EDA.

Manuel de conception du processeur embarqué Nios® V 56

Envoyer des commentaires

4. Configuration du processeur Nios V et solutions de démarrage 726952 | 2025.07.16

Tableau 34. Régions Flash sur puce dans les dispositifs FPGA MAX 10

Régions Flash

Fonctionnalité

Configuration de la mémoire flash (secteurs CFM0-2)

Configuration FPGA file stockage

Mémoire flash utilisateur (secteurs UFM0-1)

Application du processeur Nios V et données utilisateur

Les FPGA MAX 10 prennent en charge plusieurs modes de configuration, dont certains permettent d'utiliser CFM1 et CFM2 comme région UFM supplémentaire. Le tableau suivant indique l'emplacement de stockage des images de configuration du FPGA en fonction des modes de configuration du FPGA MAX 10.

Tableau 35. Emplacement de stockage des images de configuration FPGA

Mode de configuration Images compressées doubles

Image compressée CFM2 2

CFM1

Image compressée CFM0 1

Image unique non compressée

UFM virtuel

Image non compressée

Image unique non compressée avec initialisation de la mémoire

Image non compressée (avec contenu mémoire sur puce pré-initialisé)

Image compressée unique avec initialisation de la mémoire Image compressée (avec contenu de mémoire sur puce pré-initialisé)

Image compressée unique

UFM virtuel

Image compressée

Vous devez utiliser le cœur IP Flash intégré pour accéder à la mémoire flash des FPGA MAX 10. Vous pouvez instancier et connecter l'IP Flash intégré au logiciel Quartus Prime. Le processeur Nios V utilise les interconnexions Platform Designer pour communiquer avec l'IP Flash intégré.
Figure 32. Connexion entre l'IP Flash intégrée et le processeur Nios V

Note:

Assurez-vous que le port CSR Flash sur puce est connecté au gestionnaire de données du processeur Nios V pour permettre au processeur de contrôler les opérations d'écriture et d'effacement.
Le cœur IP Flash sur puce peut donner accès à cinq secteurs Flash : UFM0, UFM1, CFM0, CFM1 et CFM2.
Informations importantes sur les secteurs UFM et CFM : · Les secteurs CFM sont destinés au stockage des données de configuration (bitstream) (*.pof).
· Les données utilisateur peuvent être stockées dans les secteurs UFM et peuvent être masquées, si les paramètres corrects sont sélectionnés dans l'outil Platform Designer.
Certains dispositifs ne disposent pas de secteur UFM1. Consultez le tableau « Taille des secteurs UFM et CFM » pour connaître les secteurs disponibles dans chaque FPGA MAX 10.

Envoyer des commentaires

Manuel de conception du processeur embarqué Nios® V 57

4. Configuration du processeur Nios V et solutions de démarrage 726952 | 2025.07.16

· Vous pouvez configurer CFM2 comme UFM virtuel en sélectionnant le mode de configuration Image unique non compressée.
· Vous pouvez configurer CFM2 et CFM1 comme UFM virtuel en sélectionnant le mode de configuration Image unique non compressée.
· La taille de chaque secteur varie en fonction des périphériques FPGA MAX 10 sélectionnés.

Tableau 36.

Taille des secteurs UFM et CFM
Ce tableau répertorie les dimensions des réseaux UFM et CFM.

Appareil

Pages par secteur

UFM1 UFM0 CFM2 CFM1 CFM0

Taille de la page (Kbit)

Utilisateur maximal
Taille de la mémoire flash (Kbit) (3)

Taille totale de la mémoire de configuration (Kbit)

10 M02 3

3

0

0

34 16

96

544

10 M04 0

8

41 29 70 16

1248

2240

10 M08 8

8

41 29 70 16

1376

2240

10 M16 4

4

38 28 66 32

2368

4224

10 M25 4

4

52 40 92 32

3200

5888

10 M40 4

4

48 36 84 64

5888

10752

10 M50 4

4

48 36 84 64

5888

10752

Taille de l'OCRAM (Kbit)
108 189 378 549 675 1260 1638

Informations connexes · Guide de l'utilisateur de la configuration du FPGA MAX 10 · Guide de l'utilisateur de la mémoire flash Altera MAX 10

4.5.2. Application Nios V Processor Exécution sur place depuis UFM

La solution Execute-In-Place d'UFM est adaptée aux applications du processeur Nios V nécessitant une utilisation limitée de la mémoire interne. La fonction alt_load() fonctionne comme un mini-copieur de démarrage qui copie les sections de données (.rodata, .rwdata ou .exceptions) de la mémoire de démarrage vers la RAM, en fonction des paramètres BSP. La section de code (.text)
La section en lecture seule reste dans la zone de mémoire flash intégrée MAX 10. Cette configuration minimise l'utilisation de la RAM, mais peut limiter les performances d'exécution du code, car l'accès à la mémoire flash est plus lent qu'à la RAM intégrée.

L'application du processeur Nios V est programmée dans le secteur UFM. Le vecteur de réinitialisation du processeur Nios V pointe vers l'adresse de base de l'UFM pour exécuter le code de l'UFM après la réinitialisation du système.

Si vous utilisez le débogueur source pour déboguer votre application, vous devez utiliser un point d'arrêt matériel. En effet, l'UFM ne prend pas en charge l'accès aléatoire à la mémoire, pourtant nécessaire au débogage par point d'arrêt logiciel.

Note:

Vous ne pouvez pas effacer ou écrire l'UFM lors de l'exécution sur place dans MAX 10. Passez à l'approche du copieur de démarrage si vous devez effacer ou écrire l'UFM.

(3) La valeur maximale possible, qui dépend du mode de configuration que vous sélectionnez.

Manuel de conception du processeur embarqué Nios® V 58

Envoyer des commentaires

4. Configuration du processeur Nios V et solutions de démarrage 726952 | 2025.07.16

Figure 33. Application XIP du processeur Nios V depuis UFM

Max 10 appareils

.POF
Matériel Nios V .SOF
Logiciel Nios V .HEX

Programmeur Quartus

Flash sur puce

CFM

Matériel Nios V

UFM

Logiciel Nios V

Configuration interne

IP Flash sur puce

Logique FPGA
Processeur Nios V

RAM sur puce

Externe

BÉLIER

FEMI

IP

4.5.2.1. Flux de conception matérielle
La section suivante décrit une méthode étape par étape pour construire un système bootable pour une application de processeur Nios V à partir de mémoire Flash intégrée. L'exempleample ci-dessous est construit à l'aide du dispositif MAX 10.
Paramètres des composants IP
1. Créez votre projet de processeur Nios V avec Quartus Prime et Platform Designer. 2. Assurez-vous que de la RAM externe ou de la mémoire sur puce (OCRAM) est ajoutée à votre plateforme.
Système de conception.

Envoyer des commentaires

Manuel de conception du processeur embarqué Nios® V 59

4. Configuration du processeur Nios V et solutions de démarrage 726952 | 2025.07.16
Figure 34.ExampConnexions IP dans Platform Designer pour le démarrage de Nios V à partir de la mémoire Flash OnChip (UFM)

3. Dans l'éditeur de paramètres IP Flash sur puce, définissez le mode de configuration sur l'un des éléments suivants, selon vos préférences de conception : · Image unique non compressée · Image unique compressée · Image unique non compressée avec initialisation de la mémoire · Image unique compressée avec initialisation de la mémoire
Pour plus d'informations sur les images compressées en double, reportez-vous au Guide de l'utilisateur de configuration du FPGA MAX 10 – Mise à niveau du système à distance.

Note:

Vous devez attribuer un accès caché à chaque région CFM dans l'IP Flash sur puce.

Figure 35. Sélection du mode de configuration dans l'éditeur de paramètres Flash sur puce

Paramètres IP Flash sur puce – Initialisation UFM Vous pouvez choisir l’une des méthodes suivantes selon vos préférences :

Manuel de conception du processeur embarqué Nios® V 60

Envoyer des commentaires

4. Configuration du processeur Nios V et solutions de démarrage 726952 | 2025.07.16

Note:

Les étapes des sous-chapitres suivants (Flux de conception du logiciel et Programmation) dépendent de la sélection que vous effectuez ici.

· Méthode 1 : Initialiser les données UFM dans le SOF pendant la compilation
Quartus Prime inclut les données d'initialisation UFM dans le SOF lors de la compilation. Une recompilation du SOF est nécessaire en cas de modification des données UFM.
1. Cochez Initialiser le contenu Flash et Activer l'initialisation non par défaut file.

Figure 36. Initialiser le contenu Flash et activer l'initialisation non par défaut File

2. Spécifiez le chemin du fichier .hex généré file (à partir de la commande elf2hex) dans l'hexagone ou le mif créé par l'utilisateur file.
Figure 37. Ajout du .hex File Chemin

· Méthode 2 : Combiner les données UFM avec un SOF compilé pendant la génération du POF
Les données UFM sont combinées avec le SOF compilé lors de la conversion de la programmation files. Il n'est pas nécessaire de recompiler le SOF, même si les données UFM changent. Pendant le développement, il n'est pas nécessaire de recompiler le SOF. files pour les modifications apportées à l'application. Alter recommande cette méthode aux développeurs d'applications.
1. Décochez Initialiser le contenu Flash.
Figure 38. Initialiser le contenu Flash avec une initialisation non par défaut File

Réinitialiser les paramètres de l'agent pour la méthode d'exécution sur place du processeur Nios V
1. Dans l'éditeur de paramètres du processeur Nios V, définissez l'agent de réinitialisation sur On-Chip Flash.
Figure 39. Paramètres de l'éditeur de paramètres du processeur Nios V avec l'agent de réinitialisation défini sur la mémoire Flash intégrée

2. Cliquez sur « Générer HDL » lorsque la boîte de dialogue Génération apparaît. 3. Spécifiez la sortie. file options de génération et cliquez sur Générer.

Envoyer des commentaires

Manuel de conception du processeur embarqué Nios® V 61

4. Configuration du processeur Nios V et solutions de démarrage 726952 | 2025.07.16
Paramètres du logiciel Quartus Prime 1. Dans le logiciel Quartus Prime, cliquez sur Affectations Appareil Appareil et code PIN
Configuration des options. Définissez le mode de configuration selon les paramètres de l'IP Flash intégrée. Figure 40. Sélection du mode de configuration dans le logiciel Quartus Prime.

2. Cliquez sur OK pour quitter la fenêtre Options de périphérique et de code PIN,
3. Cliquez sur OK pour quitter la fenêtre Appareil.
4. Cliquez sur Traitement Démarrer la compilation pour compiler votre projet et générer le fichier .sof file.

Note:

Si le paramètre du mode de configuration dans le logiciel Quartus Prime et l'éditeur de paramètres de Platform Designer est différent, le projet Quartus Prime échoue avec le message d'erreur suivant.

Figure 41.

Message d'erreur pour un paramètre de mode de configuration différent (14740) : Le mode de configuration de l'atome « q_sys:q_sys_inst| altera_onchip_flash:onchip_flash_1|altera_onchip_flash_block: altera_onchip_flash_block|ufm_block » ne correspond pas aux paramètres du projet. Mettez à jour et régénérez le système Qsys pour qu'il corresponde aux paramètres du projet.

Informations connexes Guide de l'utilisateur de configuration du FPGA MAX 10

4.5.2.2. Flux de conception du logiciel
Cette section décrit le flux de conception pour générer et construire le projet logiciel du processeur Nios V. Pour garantir un flux de construction simplifié, il est recommandé de créer une arborescence de répertoires similaire dans votre projet de conception. Le flux de conception logiciel suivant est basé sur cette arborescence.
Pour créer l'arborescence du répertoire du projet logiciel, procédez comme suit : 1. Dans votre dossier de projet de conception, créez un dossier appelé logiciel. 2. Dans le dossier logiciel, créez deux dossiers appelés hal_app et hal_bsp.
Figure 42. Arborescence du répertoire du projet logiciel

Manuel de conception du processeur embarqué Nios® V 62

Envoyer des commentaires

4. Configuration du processeur Nios V et solutions de démarrage 726952 | 2025.07.16
Création du projet d'application BSP
Pour lancer l'éditeur BSP, suivez ces étapes : 1. Entrez l'interpréteur de commandes Nios V. 2. Appelez l'éditeur BSP avec la commande niosv-bsp-editor. 3. Dans l'éditeur BSP, cliquez sur File Nouveau BSP pour démarrer votre projet BSP. 4. Configurez les paramètres suivants :
· Informations SOPC File nom : Fournir le SOPCINFO file (.sopcinfo). · Nom du processeur : sélectionnez le processeur Nios V. · Système d’exploitation : sélectionnez le système d’exploitation du processeur Nios V. · Version : laissez la valeur par défaut. · Répertoire cible BSP : sélectionnez le chemin du répertoire du projet BSP. Vous pouvez
préréglez-le à /software/hal_bsp en activant Utiliser les emplacements par défaut. · Paramètres BSP File nom : saisissez le nom des paramètres BSP File. · Scripts Tcl supplémentaires : fournissez un script Tcl BSP en activant Activer un script Tcl supplémentaire. 5. Cliquez sur OK.
Figure 43. Configurer un nouveau BSP

Configuration de l'éditeur BSP et génération du projet BSP
Vous pouvez définir le vecteur d'exception du processeur en mémoire vive (OCRAM) ou en mémoire Flash, selon vos préférences de conception. Il est recommandé de définir le vecteur d'exception en mémoire vive (OCRAM/RAM externe) pour accélérer le traitement des interruptions. 1. Accédez aux paramètres principaux, puis aux options avancées de hal.linker. 2. Si vous sélectionnez la mémoire Flash comme vecteur d'exception,
a. Activez les paramètres suivants :

Envoyer des commentaires

Manuel de conception du processeur embarqué Nios® V 63

4. Configuration du processeur Nios V et solutions de démarrage 726952 | 2025.07.16
· allow_code_at_reset · enable_alt_load · enable_alt_load_copy_rodata · enable_alt_load_copy_rwdata Figure 44. Paramètres avancés de hal.linker

b. Cliquez sur l'onglet Script du lien dans l'éditeur BSP. c. Définissez les régions .exceptions et .text dans le nom de la section du lien sur
Flash sur puce. d. Définissez le reste des régions dans la liste Nom de la section Linker sur la puce
Mémoire (OCRAM) ou RAM externe.
Figure 45. Paramètres de la région de liaison (mémoire à vecteur d'exception : mémoire Flash intégrée)

3. Si vous sélectionnez OCRAM/RAM externe comme vecteur d'exception, a. Activez les paramètres suivants : · allow_code_at_reset · enable_alt_load · enable_alt_load_copy_rodata · enable_alt_load_copy_rwdata · enable_alt_load_copy_exception
Figure 46. Paramètres de la région du linker (mémoire à vecteur d'exception : OCRAM/RAM externe)

b. Cliquez sur l’onglet Script du linker dans l’éditeur BSP.
c. Définissez les zones de texte dans le nom de la section Linker sur On-Chip Flash.
d. Définissez le reste des régions dans la liste Nom de la section Linker sur la mémoire sur puce (OCRAM) ou la RAM externe.

Manuel de conception du processeur embarqué Nios® V 64

Envoyer des commentaires

4. Configuration du processeur Nios V et solutions de démarrage 726952 | 2025.07.16
Figure 47. Paramètres de la région du linker (mémoire à vecteur d'exception : OCRAM)
4. Cliquez sur « Générer » pour générer le projet BSP. Génération du projet d'application utilisateur. File 1. Accédez au dossier software/hal_app et créez votre source d'application
code. 2. Lancez le shell de commande Nios V. 3. Exécutez la commande ci-dessous pour générer l'application CMakeLists.txt.
niosv-app –app-dir=logiciel/hal_app –bsp-dir=logiciel/hal_bsp –srcs=logiciel/hal_app/
Création du projet d'application utilisateur. Vous pouvez choisir de créer le projet d'application utilisateur à l'aide de l'IDE Ashling RiscFree pour FPGA Altera ou via l'interface en ligne de commande (CLI). Si vous préférez utiliser la CLI, vous pouvez créer l'application utilisateur avec la commande suivante : cmake -G “Unix Make”files” -B logiciel/hal_app/build -S logiciel/hal_app make -C logiciel/hal_app/build
L'application (.elf) file est créé dans le dossier software/hal_app/build. Génération du fichier HEX File Vous devez générer un .hex file depuis votre application .elf file, vous pouvez donc créer un .pof file Convient pour la programmation des appareils. 1. Lancez l'interpréteur de commandes Nios V. 2. Pour démarrer l'application du processeur Nios V à partir de la mémoire Flash intégrée, utilisez la commande suivante.
Ligne de commande pour convertir l'ELF en HEX pour votre application. Cette commande crée l'application utilisateur (onchip_flash.hex). file. logiciel elf2hex/hal_app/build/ .elf -o onchip_flash.hex
-b -w 8 -e 3. Recompilez la conception matérielle si vous avez coché l'option « Initialiser le contenu mémoire » dans l'IP Flash intégrée (méthode 1). Cela permet d'inclure les données logicielles (.HEX) dans le SOF. file.

Envoyer des commentaires

Manuel de conception du processeur embarqué Nios® V 65

4. Configuration du processeur Nios V et solutions de démarrage 726952 | 2025.07.16
4.5.2.3. Programmation 1. Dans Quartus Prime, cliquez sur File Convertir la programmation Files. 2. Sous Programmation de sortie file, choisissez l'objet Programmeur File (.pof) comme programmation file type. 3. Réglez le mode sur Configuration interne.
Figure 48. Conversion de programmation File Paramètres
4. Cliquez sur Options/Infos de démarrage…, la fenêtre Options du périphérique MAX 10 apparaît. 5. En fonction des paramètres d'initialisation du contenu flash dans l'IP Flash sur puce, effectuez
l'une des étapes suivantes : · Si l'option Initialiser le contenu flash est cochée (méthode 1), les données d'initialisation UFM
a été inclus dans le SOF lors de la compilation de Quartus Prime. — Sélectionnez Page_0 pour l'option source UFM. Cliquez sur OK et passez à l'
Suivant. Figure 49. Définition de la page 0 pour la source UFM si l'option Initialiser le contenu Flash est cochée.

Manuel de conception du processeur embarqué Nios® V 66

Envoyer des commentaires

4. Configuration du processeur Nios V et solutions de démarrage 726952 | 2025.07.16
· Si l'option Initialiser le contenu flash n'est pas cochée (méthode 2), choisissez Charger la mémoire file pour l'option source UFM. Accédez à la mémoire Flash HEX sur puce générée. file (onchip_flash.hex) dans le File Chemin : et cliquez sur OK. Cette étape ajoute les données UFM séparément au SOF. file pendant la programmation file conversion.
Figure 50. Configuration de la mémoire de chargement File pour la source UFM si l'option Initialiser le contenu Flash n'est pas cochée

6. Dans la programmation de conversion File boîte de dialogue, à l'entrée filePour convertir la section, cliquez sur Ajouter File… et pointez vers le Quartus Prime .sof généré file.
Figure 51. Entrée Files à convertir dans la programmation de conversion Files pour le mode image unique

7. Cliquez sur Générer pour créer le fichier .pof file. 8. Programmez le .pof file dans votre appareil MAX 10. 9. Redémarrez votre matériel.

4.5.3. Application du processeur Nios V copiée de l'UFM vers la RAM à l'aide du Boot Copier

Altera recommande cette solution pour les systèmes de processeurs MAX 10 FPGA Nios V, nécessitant de multiples itérations de développement logiciel et des performances système élevées. Le copieur de démarrage est situé dans l'UFM, à un décalage correspondant à la même adresse que le vecteur de réinitialisation. L'application Nios V est située à côté du copieur de démarrage.

Pour cette option de démarrage, le processeur Nios V lance le copieur de démarrage lors de la réinitialisation du système afin de copier l'application du secteur UFM vers l'OCRAM ou la RAM externe. Une fois la copie terminée, le processeur Nios V transfère le contrôle du programme à l'application.

Note:

Le copieur de démarrage appliqué est le même que le chargeur de démarrage via GSFI.

Envoyer des commentaires

Manuel de conception du processeur embarqué Nios® V 67

4. Configuration du processeur Nios V et solutions de démarrage 726952 | 2025.07.16

Figure 52. Application Nios V copiée de l'UFM vers la RAM à l'aide de Boot Copier

Max 10 appareils

.POF
Matériel Nios V .SOF
Logiciel Nios V .HEX
Chargeur de démarrage .SREC

Programmeur Quartus

RAM externe
Logiciel Nios V

Flash sur puce

CFM

Nios contre Hardwa

Documents / Ressources

Processeur embarqué Altera Nios V [pdf] Guide de l'utilisateur
Nios V, Nios Vm, Nios Vg, Nios Vc, processeur embarqué Nios V, Nios V, processeur embarqué, processeur

Références

Laisser un commentaire

Votre adresse email ne sera pas publiée. Les champs obligatoires sont marqués *