アルテラ Nios V 組み込みプロセッサ

仕様

  • 製品名: Nios V プロセッサ
  • ソフトウェア互換性: Quartus Prime ソフトウェアおよび Platform Designer
  • プロセッサタイプ: Altera FPGA
  • メモリシステム:揮発性メモリと不揮発性メモリ
  • 通信インターフェース: UARTエージェント

Nios V プロセッサのハードウェア システム設計

Nios V プロセッサ ハードウェア システムを設計するには、次の手順に従います。

  1. Platform Designer を使用して Nios V プロセッサ システム設計を作成します。
  2. システムを Quartus Prime プロジェクトに統合します。
  3. 揮発性メモリと不揮発性メモリを含むメモリ システムを設計します。
  4. クロックとリセットのベスト プラクティスを実装します。
  5. 効率的な操作のために、デフォルト エージェントと UART エージェントを割り当てます。

Nios V プロセッサ ソフトウェア システム設計

Nios V プロセッサのソフトウェア システムを設計するには:

  1. Nios V プロセッサのソフトウェア開発フローに従います。
  2. ボード サポート パッケージ プロジェクトとアプリケーション プロジェクトを作成します。

Nios V プロセッサの構成とブートソリューション

Nios V プロセッサの設定と起動:

  1. 構成およびブートソリューションの概要を理解します。
  2. アプリケーションをリンクしてシームレスな操作を実現します。

Nios® V エンベデッド・プロセッサーについて
1.1. Altera® FPGAと組み込みプロセッサview
Altera FPGA デバイスは、多くのオプションを提供しながら、完全なマイクロプロセッサとして機能するロジックを実装できます。
ディスクリート・マイクロプロセッサとAltera FPGAの重要な違いは、Altera FPGAファブリックは電源投入時にロジックを搭載していないことです。Nios® Vプロセッサは、RISC-V仕様に基づくソフトIP(Intellectual Property)プロセッサです。Nios Vプロセッサ搭載シス​​テムでソフトウェアを実行する前に、Ni​​os Vプロセッサを含むハードウェア設計を使用してAltera FPGAデバイスをコンフィギュレーションする必要があります。設計要件に応じて、Nios VプロセッサはAltera FPGAの任意の場所に配置できます。


Altera® FPGA IPベースの組み込みシステムを個別のマイクロプロセッサベースのシステムとして動作させるには、システムに以下のものが含まれている必要があります。 · AJTAG Altera FPGAの構成、ハードウェア、ソフトウェアをサポートするインターフェース
デバッグ · 電源投入時のAltera FPGAコンフィギュレーションメカニズム
システムにこれらの機能が搭載されている場合は、Altera FPGAにロードされたテスト済みのハードウェア設計から設計の改良を開始できます。Altera FPGAを使用すると、問題への対処や新機能の追加のために設計を迅速に変更することも可能です。システムのJを使用してAltera FPGAをリコンフィグレーションすることで、これらの新しいハードウェア設計を簡単にテストできます。TAG インタフェース。
JTAG インターフェースはハードウェアとソフトウェアの開発をサポートします。Jを使用して以下のタスクを実行できます。TAG インターフェース: · Altera FPGA のコンフィギュレーション · ソフトウェアのダウンロードとデバッグ · UART のようなインターフェースを介して Altera FPGA と通信 (JTAG シリアル
ターミナル) · ハードウェアのデバッグ(Signal Tap組み込みロジックアナライザを使用) · フラッシュメモリのプログラム
Nios V プロセッサ ベースのデザインを使用して Altera FPGA を構成した後のソフトウェア開発フローは、個別のマイクロコントローラ デザインのフローと同様になります。


関連情報 · AN 985: Nios V プロセッサチュートリアル
シンプルな Nios V プロセッサ システムを作成し、Hello World アプリケーションを実行する方法についてのクイック スタート ガイド。
© Altera Corporation。Altera、Alteraロゴ、「a」ロゴ、およびその他のAlteraマークは、Altera Corporationの商標です。Alteraは、製品およびサービスを予告なくいつでも変更する権利を留保します。Alteraは、Alteraが書面で明示的に同意した場合を除き、本書に記載されている情報、製品、またはサービスの適用または使用から生じる責任または義務を一切負いません。Alteraのお客様は、公開されている情報に依拠する前、および製品またはサービスを注文する前に、最新のデバイス仕様を入手することをお勧めします。*その他の名称およびブランドは、他者の財産である場合があります。

1. Nios® V エンベデッド・プロセッサー 726952 について | 2025.07.16
· Nios V プロセッサ リファレンス マニュアル Nios V プロセッサのパフォーマンス ベンチマーク、プロセッサ アーキテクチャ、プログラミング モデル、およびコア実装に関する情報を提供します。
· エンベデッド ペリフェラル IP ユーザー ガイド · Nios V プロセッサ ソフトウェア開発ハンドブック


Nios V プロセッサのソフトウェア開発環境、利用可能なツール、および Nios V プロセッサで実行するソフトウェアを構築するプロセスについて説明します。 · Ashli​​ng* RiscFree* 統合開発環境 (IDE) Altera FPGA ユーザーガイド Altera FPGA Arm* ベース HPS および Nios V コアプロセッサ用の RiscFree* 統合開発環境 (IDE) について説明します。 · Nios V プロセッサ Altera FPGA IP リリースノート
1.2. Quartus® Prime ソフトウェアのサポート
Nios Vプロセッサのビルドフローは、Quartus® Prime Pro EditionソフトウェアとQuartus Prime Standard Editionソフトウェアで異なります。相違点の詳細については、AN 980: Nios Vプロセッサ Quartus Primeソフトウェアサポートを参照してください。
関連情報 AN 980: Nios V プロセッサ Quartus Prime ソフトウェアサポート
1.3. Nios V プロセッサのライセンス
Nios Vプロセッサの各バリアントには、それぞれ独自のライセンスキーがあります。ライセンスキーを取得すると、有効期限まで、すべてのNios Vプロセッサプロジェクトで同じライセンスキーを使用できます。Nios VプロセッサのAltera FPGA IPライセンスは無料で取得できます。
Nios Vプロセッサのライセンスキーリストは、Altera FPGAセルフサービス・ライセンスセンターでご覧いただけます。「評価版または無料ライセンスのサインアップ」タブをクリックし、該当するオプションを選択してリクエストしてください。
図1. アルテラFPGAセルフサービスライセンスセンター

ライセンス キーを使用すると、次のことが可能になります。
フィードバックを送信

Nios® V エンベデッド プロセッサ デザイン ハンドブック 7

1. Nios® V エンベデッド・プロセッサー 726952 について | 2025.07.16
· システムにNios Vプロセッサを実装します。 · Nios Vプロセッサシステムの動作をシミュレートします。 · サイズや速度など、デザインの機能を検証します。 · デバイスプログラミングを生成します。 files. · デバイスをプログラムし、ハードウェアで設計を検証します。
Altera FPGA 用の Ashli​​ng* RiscFree* IDE でソフトウェアを開発するにはライセンスは必要ありません。
関連情報 · Altera FPGAセルフサービスライセンスセンター
Nios V プロセッサ Altera FPGA IP ライセンス キーの取得に関する詳細情報。 · Altera FPGA ソフトウェアのインストールとライセンス Altera FPGA ソフトウェアのライセンス付与と固定ライセンスおよびネットワーク ライセンス サーバーの設定に関する詳細情報。
1.4. 組み込みシステム設計
次の図は、ハードウェアとソフトウェアの両方の開発を含む、簡略化された Nios V プロセッサ ベースのシステム設計フローを示しています。

Nios® V エンベデッド プロセッサ デザイン ハンドブック 8

フィードバックを送信

1. Nios® V エンベデッド・プロセッサー 726952 について | 2025.07.16

図2.

Nios V プロセッサ システム設計フロー
システムコンセプト

システム要件を分析する

ニオス®V
プロセッサコアと標準コンポーネント

システムの定義と生成
プラットフォーム デザイナー

ハードウェアフロー: Intel Quartus Primeプロジェクトの統合とコンパイル

ソフトウェアフロー: Nios V 提案ソフトウェアの開発と構築

ハードウェアフロー: FPGA設計のダウンロード
ターゲットボードへ

ソフトウェアフロー: Nios V プロセッサソフトウェアのテストとデバッグ

ソフトウェアが仕様を満たしていませんか?
はい
ハードウェア いいえ 仕様を満たしていますか? はい
システム完了

フィードバックを送信

Nios® V エンベデッド プロセッサ デザイン ハンドブック 9

726952 | 2025.07.16フィードバックを送信

2. Quartus Primeソフトウェアとプラットフォームデザイナーを使用したNios Vプロセッサハードウェアシステム設計

図3.

次の図は、典型的なNios Vプロセッサのハードウェア設計を示しています。Nios Vプロセッサシステムのハードウェア設計フロー

始める

Nios V コアと標準コンポーネント

プラットフォーム デザイナーを使用して Nios V ベースのシステムを設計する
プラットフォームデザイナー設計を生成する

プラットフォーム デザイナー システムを Intel Quartus Prime プロジェクトと統合する
ピンの位置、タイミング要件、その他の設計制約を割り当てる
Intel Quartus Primeでターゲットデバイス用のハードウェアをコンパイルする

ダウンロード準備完了
2.1. プラットフォーム デザイナーを使用した Nios V プロセッサ システム デザインの作成
Quartus Primeソフトウェアには、Platform Designerシステム統合ツールが含まれており、Nios VプロセッサIPコアやその他のIPをAltera FPGAシステムデザインに定義および統合する作業を簡素化します。Platform Designerは、指定された高レベル接続からインターコネクトロジックを自動的に作成します。インターコネクト自動化により、システムレベルのHDL接続を指定するという時間のかかる作業が不要になります。
© Altera Corporation。Altera、Alteraロゴ、「a」ロゴ、およびその他のAlteraマークは、Altera Corporationの商標です。Alteraは、製品およびサービスを予告なくいつでも変更する権利を留保します。Alteraは、Alteraが書面で明示的に同意した場合を除き、本書に記載されている情報、製品、またはサービスの適用または使用から生じる責任または義務を一切負いません。Alteraのお客様は、公開されている情報に依拠する前、および製品またはサービスを注文する前に、最新のデバイス仕様を入手することをお勧めします。*その他の名称およびブランドは、他者の財産である場合があります。

2. Quartus Primeソフトウェアとプラットフォームデザイナーを使用したNios Vプロセッサハードウェアシステム設計
726952 | 2025.07.16

システムのハードウェア要件を分析した後、Quartus Primeを使用して、システムに必要なNios Vプロセッサコア、メモリ、その他のコンポーネントを指定します。Platform Designerは、コンポーネントをハードウェアシステムに統合するためのインターコネクトロジックを自動的に生成します。

2.1.1. Nios V プロセッサ Altera FPGA IP のインスタンス化

プラットフォーム デザイナーの IP カタログのプロセッサおよびペリフェラルの組み込みプロセッサにある任意のプロセッサ IP コアをインスタンス化できます。

各プロセッサのIPコアは、独自のアーキテクチャに基づいて異なる構成オプションをサポートしています。これらの構成を定義することで、設計ニーズに最適な構成を見つけることができます。

表1.

コアバリアント間の構成オプション

設定オプション

Nios V/c プロセッサ

Nios V/m プロセッサ

デバッグ使用リセット要求

トラップ、例外、割り込み

CPUアーキテクチャ

ECCC

キャッシュ、周辺領域、TCM

カスタム指示

ロックステップ

Nios V/g プロセッサ

2.1.1.1. Nios V/c Compact Microcontroller Altera FPGA IPのインスタンス化 図4. Nios V/c Compact Microcontroller Altera FPGA IP

フィードバックを送信

Nios® V エンベデッド プロセッサ デザイン ハンドブック 11

2. Quartus Primeソフトウェアとプラットフォームデザイナーを使用したNios Vプロセッサハードウェアシステム設計
726952 | 2025.07.16

2.1.1.1.1. CPUアーキテクチャタブ

表2.

CPUアーキテクチャタブ

特徴

説明

Avalon®インターフェースを有効にする 命令マネージャとデータマネージャ用のAvalonインターフェースを有効にします。無効にした場合、システムはAXI4-Liteインターフェースを使用します。

mhartidのCSR価値

· 無効な IP オプション。 · Nios V/c プロセッサでは mhartid CSR 値を使用しないでください。

2.1.1.1.2. リセット要求タブを使用する

表3.

リセット要求タブパラメータを使用する

リセット要求タブを使用する

説明

リセット要求インターフェースの追加

· このオプションを有効にすると、ローカル リセット ポートが公開され、ローカル マスターはこれを使用して、Nios V プロセッサ システム内の他のコンポーネントに影響を与えずに Nios V プロセッサのリセットをトリガーできます。
· リセット インターフェイスは、入力 resetreq 信号と出力 ack 信号で構成されます。
· resetreq 信号をアサートすることにより、Nios V プロセッサ コアへのリセットを要求できます。
· resetreq信号は、プロセッサがack信号をアサートするまでアサートされたままでなければなりません。この信号がアサートされたままでない場合、プロセッサが非決定的な状態になる可能性があります。
· Nios V プロセッサは、ack 信号をアサートしてリセットが成功したことを応答します。
· プロセッサが正常にリセットされた後、resetreq 信号がデアサートされるまで、ack 信号のアサートが定期的に複数回発生することがあります。

2.1.1.1.3. トラップ、例外、割り込みタブ

表4.

トラップ、例外、割り込みタブのパラメータ

トラップ、例外、割り込み

説明

エージェントをリセット

· リセット コードが存在するリセット ベクター (Nios V プロセッサのリセット アドレス) をホストするメモリ。
· Nios V プロセッサ命令マスターに接続され、Nios V プロセッサ ブート フローでサポートされている任意のメモリ モジュールをリセット エージェントとして選択できます。

オフセットのリセット

· 選択したリセット エージェントのベース アドレスに対するリセット ベクターのオフセットを指定します。 · プラットフォーム デザイナーは、リセット オフセットのデフォルト値を自動的に提供します。

注記:

プラットフォーム・デザイナーには「Absolute」オプションがあり、これを使用するとリセット・オフセットに絶対アドレスを指定できます。このオプションは、リセット・ベクターを格納するメモリがプロセッサ・システムおよびサブシステムの外部にある場合に使用します。

Nios® V エンベデッド プロセッサ デザイン ハンドブック 12

フィードバックを送信

2. Quartus Primeソフトウェアとプラットフォームデザイナーを使用したNios Vプロセッサハードウェアシステム設計
726952 | 2025.07.16

2.1.1.1.4. ECCタブ

表5.

ECCタブ

ECCC

エラー検出とステータスレポートを有効にする

説明
· このオプションを有効にすると、Nios V プロセッサの内部 RAM ブロックに ECC 機能が適用されます。 · ECC 機能は最大 2 ビットのエラーを検出し、次の動作に基づいて反応します。
— 訂正可能な1ビットエラーの場合、プロセッサはプロセッサパイプラインでエラーを訂正した後、動作を継続します。ただし、訂正内容はソースメモリには反映されません。
— エラーが修正不可能な場合、プロセッサはプロセッサ パイプラインとソース メモリ内でエラーを修正せずに動作を継続するため、プロセッサが非決定的な状態になる可能性があります。

2.1.1.2. Nios V/mマイクロコントローラAltera FPGA IPのインスタンス化 図5. Nios V/mマイクロコントローラAltera FPGA IP

フィードバックを送信

Nios® V エンベデッド プロセッサ デザイン ハンドブック 13

2. Quartus Primeソフトウェアとプラットフォームデザイナーを使用したNios Vプロセッサハードウェアシステム設計
726952 | 2025.07.16

2.1.1.2.1. デバッグタブ

表6.

デバッグタブのパラメータ

デバッグタブ

説明

デバッグを有効にする
デバッグモジュールからのリセットを有効にする

· このオプションを有効にすると、JTAG Nios Vプロセッサへのターゲット接続モジュール。 · JTAG ターゲット接続モジュールは、Nios Vプロセッサへの接続を可能にします。
JTAG FPGAのインターフェースピン。· この接続により、次の基本機能が提供されます。
— Nios Vプロセッサの起動と停止 — レジスタとメモリの検査と編集 — Nios Vアプリケーションの.elfファイルをダウンロード file 実行時にプロセッサメモリに
niosv-download — Nios Vプロセッサ上で実行されるアプリケーションをデバッグします。 · dm_agentポートをプロセッサの命令バスとデータバスに接続します。両バスのベースアドレスが同じであることを確認します。
· このオプションを有効にすると、dbg_reset_out ポートと ndm_reset_in ポートが公開されます。· JTAG デバッガーまたはniosv-download -rコマンドはdbg_reset_outをトリガーし、
Nios Vプロセッサがこのポートに接続されたシステム周辺機器をリセットできるようにします。 · dbg_reset_outインターフェースをリセットではなくndm_reset_inに接続する必要があります。
プロセッサコアとタイマーモジュールのリセットをトリガーするためのインターフェースです。不確定な動作を防ぐため、dbg_reset_outインターフェースをリセットインターフェースに接続しないでください。

2.1.1.2.2. リセット要求タブを使用する

表7.

リセット要求タブパラメータを使用する

リセット要求タブを使用する

説明

リセット要求インターフェースの追加

· このオプションを有効にすると、ローカル リセット ポートが公開され、ローカル マスターはこれを使用して、Nios V プロセッサ システム内の他のコンポーネントに影響を与えずに Nios V プロセッサのリセットをトリガーできます。
· リセット インターフェイスは、入力 resetreq 信号と出力 ack 信号で構成されます。
· resetreq 信号をアサートすることにより、Nios V プロセッサ コアへのリセットを要求できます。
· resetreq信号は、プロセッサがack信号をアサートするまでアサートされたままでなければなりません。この信号がアサートされたままでない場合、プロセッサが非決定的な状態になる可能性があります。
· デバッグ モードで resetreq 信号をアサートしても、プロセッサの状態には影響しません。
· Nios V プロセッサは、ack 信号をアサートしてリセットが成功したことを応答します。
· プロセッサが正常にリセットされた後、resetreq 信号がデアサートされるまで、ack 信号のアサートが定期的に複数回発生することがあります。

2.1.1.2.3. トラップ、例外、割り込みタブ

表8.

トラップ、例外、割り込みタブ

トラップ、例外、割り込みタブ

説明

エージェントをリセット

· リセット コードが存在するリセット ベクター (Nios V プロセッサのリセット アドレス) をホストするメモリ。
· Nios V プロセッサ命令マスターに接続され、Nios V プロセッサ ブート フローでサポートされている任意のメモリ モジュールをリセット エージェントとして選択できます。

リセットオフセット割り込みモード

· 選択したリセット エージェントのベース アドレスに対するリセット ベクターのオフセットを指定します。 · プラットフォーム デザイナーは、リセット オフセットのデフォルト値を自動的に提供します。
割り込みコントローラのタイプ(ダイレクトまたはベクター)を指定します。注:Nios V/m非パイプラインプロセッサはベクター割り込みをサポートしていません。
したがって、プロセッサが非パイプライン モードの場合、ベクター割り込みモードを使用しないでください。

Nios® V エンベデッド プロセッサ デザイン ハンドブック 14

フィードバックを送信

2. Quartus Primeソフトウェアとプラットフォームデザイナーを使用したNios Vプロセッサハードウェアシステム設計
726952 | 2025.07.16

注記:

プラットフォーム・デザイナーには「Absolute」オプションがあり、これを使用するとリセット・オフセットに絶対アドレスを指定できます。このオプションは、リセット・ベクターを格納するメモリがプロセッサ・システムおよびサブシステムの外部にある場合に使用します。

2.1.1.2.4. CPUアーキテクチャ

表9.

CPUアーキテクチャタブのパラメータ

CPUアーキテクチャ

説明

CPUでパイプラインを有効にする

· このオプションを有効にすると、パイプライン化された Nios V/m プロセッサがインスタンス化されます。 — IPC は高くなりますが、ロジック領域が大きくなり、Fmax 周波数は低くなります。
· このオプションを無効にすると、パイプライン化されていない Nios V/m プロセッサがインスタンス化されます。 — Nios V/c プロセッサと同様のコア パフォーマンスを備えています。 — デバッグと割り込み機能をサポートします — IPC は低くなりますが、ロジック領域は小さくなり、Fmax 周波数は高くなります。

Avalonインターフェースを有効にする

命令マネージャとデータマネージャ用のAvalonインターフェースを有効にします。無効にした場合、システムはAXI4-Liteインターフェースを使用します。

mhartidのCSR価値

· Hart ID レジスタ (mhartid) の値は、デフォルトでは 0 です。 · 0 ~ 4094 の値を割り当てます。 · Altera FPGA Avalon Mutex Core HAL API と互換性があります。

関連情報 エンベデッド・ペリフェラルIPユーザーガイド – Intel FPGA Avalon® Mutexコア

2.1.1.2.5. ECCタブ
表10. ECCタブ
ECCによるエラー検出とステータスレポートの有効化

説明
· このオプションを有効にすると、Nios V プロセッサの内部 RAM ブロックに ECC 機能が適用されます。 · ECC 機能は最大 2 ビットのエラーを検出し、次の動作に基づいて反応します。
— 訂正可能な1ビットエラーの場合、プロセッサはプロセッサパイプラインでエラーを訂正した後、動作を継続します。ただし、訂正内容はソースメモリには反映されません。
— エラーが修正不可能な場合、プロセッサはプロセッサ パイプラインとソース メモリ内でエラーを修正せずに動作を継続するため、プロセッサが非決定的な状態になる可能性があります。

フィードバックを送信

Nios® V エンベデッド プロセッサ デザイン ハンドブック 15

2. Quartus Primeソフトウェアとプラットフォームデザイナーを使用したNios Vプロセッサハードウェアシステム設計
726952 | 2025.07.16
2.1.1.3. Nios V/g汎用プロセッサAltera FPGA IPのインスタンス化
図6. Nios V/g汎用プロセッサAltera FPGA IP – パート1

図7.

Nios V/g 汎用プロセッサ Altera FPGA IP – パート 2 (コアレベル割り込みコントローラの有効化をオフにする)

Nios® V エンベデッド プロセッサ デザイン ハンドブック 16

フィードバックを送信

2. Quartus Primeソフトウェアとプラットフォームデザイナーを使用したNios Vプロセッサハードウェアシステム設計
726952 | 2025.07.16

図8.

Nios V/g 汎用プロセッサ Altera FPGA IP – パート 2 (コアレベル割り込みコントローラの有効化)

図9. Nios V/g汎用プロセッサAltera FPGA IP – パート3

フィードバックを送信

Nios® V エンベデッド プロセッサ デザイン ハンドブック 17

2. Quartus Primeソフトウェアとプラットフォームデザイナーを使用したNios Vプロセッサハードウェアシステム設計
726952 | 2025.07.16
図10. Nios V/g汎用プロセッサAltera FPGA IP – パート4

2.1.1.3.1. CPUアーキテクチャ

表11. CPUアーキテクチャパラメータ

CPUアーキテクチャタブ 浮動小数点ユニットを有効にする

説明 このオプションを有効にすると、プロセッサ コアに浮動小数点ユニット (「F」拡張) が追加されます。

分岐予測を有効にする

分岐命令に対して静的分岐予測 (後方分岐実行および前方分岐不実行) を有効にします。

mhartidのCSR価値

· Hart ID レジスタ (mhartid) の値は、デフォルトでは 0 です。 · 0 ~ 4094 の値を割り当てます。 · Altera FPGA Avalon Mutex Core HAL API と互換性があります。

FPUのFSQRTとFDIV命令を無効にする

· FPU 内の浮動小数点平方根 ​​(FSQRT) および浮動小数点除算 (FDIV) 演算を削除します。
· 実行時に両方の命令にソフトウェア エミュレーションを適用します。

関連情報 エンベデッド・ペリフェラルIPユーザーガイド – Intel FPGA Avalon® Mutexコア

Nios® V エンベデッド プロセッサ デザイン ハンドブック 18

フィードバックを送信

2. Quartus Primeソフトウェアとプラットフォームデザイナーを使用したNios Vプロセッサハードウェアシステム設計
726952 | 2025.07.16

2.1.1.3.2. デバッグタブ

表12. デバッグタブのパラメータ

デバッグタブ

説明

デバッグを有効にする
デバッグモジュールからのリセットを有効にする

· このオプションを有効にすると、JTAG Nios Vプロセッサへのターゲット接続モジュール。 · JTAG ターゲット接続モジュールは、Nios Vプロセッサへの接続を可能にします。
JTAG FPGAのインターフェースピン。· この接続により、次の基本機能が提供されます。
— Nios Vプロセッサの起動と停止 — レジスタとメモリの検査と編集 — Nios Vアプリケーションの.elfファイルをダウンロード file 実行時にプロセッサメモリに
niosv-download — Nios Vプロセッサ上で実行されるアプリケーションをデバッグします。 · dm_agentポートをプロセッサの命令バスとデータバスに接続します。両バスのベースアドレスが同じであることを確認します。
· このオプションを有効にすると、dbg_reset_out ポートと ndm_reset_in ポートが公開されます。· JTAG デバッガーまたはniosv-download -rコマンドはdbg_reset_outをトリガーし、
Nios Vプロセッサがこのポートに接続されたシステム周辺機器をリセットできるようにします。 · dbg_reset_outインターフェースをリセットではなくndm_reset_inに接続する必要があります。
プロセッサコアとタイマーモジュールのリセットをトリガーするためのインターフェースです。不確定な動作を防ぐため、dbg_reset_outインターフェースをリセットインターフェースに接続しないでください。

2.1.1.3.3. ロックステップタブ 表13. ロックステップタブ
パラメータ ロックステップを有効にする デフォルトのタイムアウト期間 拡張リセットインターフェースを有効にする

説明 · デュアル コア ロックステップ システムを有効にします。 · リセット終了時のプログラム可能なタイムアウトのデフォルト値 (0 ~ 255)。 · 拡張リセット制御用のオプションの拡張リセット インターフェイスを有効にします。 · 無効にすると、fRSmartComp は基本リセット制御を実装します。

2.1.1.3.4. リセット要求タブを使用する

表14. リセット要求タブパラメータの使用

リセット要求タブを使用する

説明

リセット要求インターフェースの追加

· このオプションを有効にすると、ローカル リセット ポートが公開され、ローカル マスターはこれを使用して、Nios V プロセッサ システム内の他のコンポーネントに影響を与えずに Nios V プロセッサのリセットをトリガーできます。
· リセット インターフェイスは、入力 resetreq 信号と出力 ack 信号で構成されます。
· resetreq 信号をアサートすることにより、Nios V プロセッサ コアへのリセットを要求できます。
· resetreq信号は、プロセッサがack信号をアサートするまでアサートされたままでなければなりません。この信号がアサートされたままでない場合、プロセッサが非決定的な状態になる可能性があります。
· デバッグ モードで resetreq 信号をアサートしても、プロセッサの状態には影響しません。
· Nios V プロセッサは、ack 信号をアサートしてリセットが成功したことを応答します。
· プロセッサが正常にリセットされた後、resetreq 信号がデアサートされるまで、ack 信号のアサートが定期的に複数回発生することがあります。

フィードバックを送信

Nios® V エンベデッド プロセッサ デザイン ハンドブック 19

2. Quartus Primeソフトウェアとプラットフォームデザイナーを使用したNios Vプロセッサハードウェアシステム設計
726952 | 2025.07.16

2.1.1.3.5. トラップ、例外、割り込みタブ

表15.

コアレベル割り込みコントローラの有効化がオフの場合のトラップ、例外、および割り込みタブ

トラップ、例外、割り込みタブ
エージェントをリセット

説明
· リセット コードが存在するリセット ベクター (Nios V プロセッサのリセット アドレス) をホストするメモリ。
· Nios V プロセッサ命令マスターに接続され、Nios V プロセッサ ブート フローでサポートされている任意のメモリ モジュールをリセット エージェントとして選択できます。

オフセットのリセット

· 選択したリセット エージェントのベース アドレスに対するリセット ベクターのオフセットを指定します。 · プラットフォーム デザイナーは、リセット オフセットのデフォルト値を自動的に提供します。

コアレベル割り込みコントローラ(CLIC)を有効にする

· CLIC を有効にして、プリエンプティブ割り込みと設定可能な割り込みトリガー条件をサポートできるようにします。
· 有効にすると、プラットフォーム割り込みの数を構成し、トリガー条件を設定し、割り込みの一部をプリエンプティブとして指定できます。

割り込みモードシャドウレジスタ Files

割り込みタイプを直接またはベクターとして指定し、割り込み時のコンテキスト切り替えを減らすためにシャドウ レジスタを有効にします。

表16.

コアレベル割り込みコントローラの有効化がオンの場合のトラップ、例外、割り込み

トラップ、例外、割り込み

説明

エージェントをリセット
オフセットのリセット
コアレベル割り込みコントローラ(CLIC)を有効にする

· リセット コードが存在するリセット ベクター (Nios V プロセッサのリセット アドレス) をホストするメモリ。
· Nios V プロセッサ命令マスターに接続され、Nios V プロセッサ ブート フローでサポートされている任意のメモリ モジュールをリセット エージェントとして選択できます。
· 選択したリセット エージェントのベース アドレスに対するリセット ベクターのオフセットを指定します。 · プラットフォーム デザイナーは、リセット オフセットのデフォルト値を自動的に提供します。
· CLICを有効にして、プリエンプティブ割り込みと設定可能な割り込みトリガー条件をサポートします。 · 有効にすると、プラットフォーム割り込みの数を設定したり、トリガー条件を設定したり、
いくつかの割り込みをプリエンプティブとして指定します。

割り込みモード

· 割り込みタイプを直接、ベクター、または CLIC として指定します。

シャドウレジスター Files

· 割り込み時のコンテキスト切り替えを減らすためにシャドウ レジスタを有効にします。
· 2 つのアプローチを提供します:
— CLIC割り込みレベルの数
— CLIC割り込みレベルの数 – 1: このオプションは、レジスタの数をXNUMXにしたい場合に便利です。 file 正確な数の M20K または M9K ブロックに収まるようにコピーします。
· Nios Vプロセッサがシャドウレジスタを使用できるようにする file割り込み時のコンテキスト切り替えのオーバーヘッドを削減します。
シャドーレジスターの詳細については file詳細については、『Nios V プロセッサ リファレンス マニュアル』を参照してください。

プラットフォーム割り込みソースの数

· プラットフォーム割り込みの数を 16 ~ 2048 の間で指定します。
注: CLIC は最大 2064 個の割り込み入力をサポートし、最初の 16 個の割り込み入力も基本割り込みコントローラに接続されます。

CLICベクターテーブルアライメント

· プラットフォームの割り込みソースの数に基づいて自動的に決定されます。 · 推奨値を下回るアライメントを使用すると、CLICはロジックを増加させます。
ベクトル化計算を実行するための加算器を追加することで複雑さを軽減します。 · 推奨値を下回るアライメントを使用すると、
CLIC のロジックの複雑さ。
続き…

Nios® V エンベデッド プロセッサ デザイン ハンドブック 20

フィードバックを送信

2. Quartus Primeソフトウェアとプラットフォームデザイナーを使用したNios Vプロセッサハードウェアシステム設計
726952 | 2025.07.16

トラップ、例外、割り込み
割り込みレベルの数
レベルごとの割り込み優先度の数
設定可能な割り込み極性エッジトリガー割り込みをサポート

説明
· 割り込みレベルの数を指定します。アプリケーションコード用にはレベル0が追加されます。上位レベルの割り込みは、下位レベルの割り込みハンドラの実行中に割り込み(プリエンプト)を実行できます。
· 割り込みの選択肢が0以外の割り込みレベルのみの場合、アプリケーションコードは常に最低レベル8になります。注:割り込みレベルと優先度の実行時設定は、256つの256ビットレジスタで行われます。割り込みレベルの数が1の場合、実行時に割り込み優先度を設定することはできません。それ以外の場合、設定可能な優先度の最大数はXNUMX / (割り込みレベルの数 - XNUMX)です。
· 割り込み優先度の数を指定します。CLICはこれを使用して、非プリエンプト割り込みハンドラの呼び出し順序を決定します。注: 選択した割り込みレベルと選択した割り込み優先度のバイナリ値を連結した値は、8ビット未満である必要があります。
· 実行時に割り込み極性を設定できます。 · デフォルトの極性は正極性です。
· 実行時に割り込みトリガー条件を設定できます。つまり、ハイレベルトリガーまたはポジティブエッジトリガー (設定可能な割り込み極性で割り込み極性が正の場合)。
· デフォルトのトリガー条件はレベルトリガー割り込みです。

注記:

プラットフォーム・デザイナーには「Absolute」オプションがあり、これを使用するとリセット・オフセットに絶対アドレスを指定できます。このオプションは、リセット・ベクターを格納するメモリがプロセッサ・システムおよびサブシステムの外部にある場合に使用します。

関連情報 Nios® V プロセッサリファレンスマニュアル

2.1.1.3.6. メモリ構成タブ

表17. メモリ構成タブのパラメータ

カテゴリ

メモリ構成タブ

説明

キャッシュ

データキャッシュサイズ

· データ キャッシュのサイズを指定します。 · 有効なサイズは 0 キロバイト (KB) ~ 16 KB です。 · サイズが 0 KB の場合、データ キャッシュをオフにします。

命令キャッシュサイズ

· 命令キャッシュのサイズを指定します。 · 有効なサイズは 0 KB ~ 16 KB です。 · サイズが 0 KB の場合、命令キャッシュをオフにします。

周辺地域AとB

サイズ

· 周辺領域のサイズを指定します。
有効なサイズは64KBから2GBまで、または「なし」です。「なし」を選択すると、周辺領域が無効になります。

ベースアドレス

· サイズを選択した後、周辺領域のベースアドレスを指定します。
· 周辺領域内のすべてのアドレスは、キャッシュ不可能なデータ アクセスを生成します。
· 周辺領域のベース アドレスは、周辺領域のサイズに合わせて調整する必要があります。

密結合した記憶

サイズ

· 密結合メモリのサイズを指定します。有効なサイズは 0 MB ~ 512 MB です。

ベースアドレスの初期化 File

· 密結合メモリのベースアドレスを指定します。 · 初期化を指定します。 file 密結合メモリ用。

フィードバックを送信

Nios® V エンベデッド プロセッサ デザイン ハンドブック 21

2. Quartus Primeソフトウェアとプラットフォームデザイナーを使用したNios Vプロセッサハードウェアシステム設計
726952 | 2025.07.16

注記:

キャッシュが有効なNios Vプロセッサシステムでは、システムペリフェラルをペリフェラル領域に配置する必要があります。ペリフェラル領域を使用することで、UART、PIO、DMAなどのペリフェラルに対してキャッシュ不可能なトランザクションを定義できます。

2.1.1.3.7. ECCタブ

表18. ECCタブ
ECCによるエラー検出とステータスレポートの有効化
シングルビット訂正を有効にする

説明
· このオプションを有効にすると、Nios V プロセッサの内部 RAM ブロックに ECC 機能が適用されます。 · ECC 機能は最大 2 ビットのエラーを検出し、次の動作に基づいて反応します。
— 訂正可能なシングルビットエラーであり、「シングルビット訂正の有効化」がオフになっている場合、プロセッサはプロセッサパイプラインでエラーを訂正した後、動作を継続します。ただし、訂正内容はソースメモリには反映されません。
— 修正可能な単一ビット エラーであり、「単一ビット修正の有効化」がオンになっている場合、プロセッサはプロセッサ パイプラインとソース メモリ内のエラーを修正した後、動作を継続します。
— 修正不可能なエラーの場合、プロセッサは動作を停止します。
コア内の埋め込みメモリ ブロックでシングル ビット訂正を有効にします。

2.1.1.3.8. カスタム指示タブ

注記:

このタブは、Nios V/g プロセッサ コアでのみ使用できます。

カスタム命令 Nios V カスタム命令ハードウェアインターフェーステーブル
Nios V カスタム命令ソフトウェア マクロテーブル

説明
· Nios V プロセッサは、このテーブルを使用してカスタム命令マネージャ インターフェイスを定義します。
· 定義されたカスタム命令マネージャインターフェースは、オペコード(CUSTOM0-3)と3ビットのfunct7[6:4]によって一意にエンコードされます。
· 最大 32 個の個別のカスタム命令マネージャ インターフェイスを定義できます。
· Nios V プロセッサでは、このテーブルを使用して、定義されたカスタム命令マネージャ インターフェイスのカスタム命令ソフトウェア エンコーディングを定義します。
· 定義されたカスタム命令ソフトウェアエンコーディングごとに、オペコード(CUSTOM0-3)と3ビットのfunct7[6:4]エンコーディングが、カスタム命令ハードウェアインターフェーステーブル内の定義されたカスタム命令マネージャインターフェースエンコーディングと相関している必要があります。
· funct7[6:4]、funct7[3:0]、funct3[2:0]を使用して、特定のカスタム命令の追加エンコーディングを定義したり、追加の命令引数として渡されるXとして指定することができます。
· Nios V プロセッサは、system.h に生成された C マクロとして定義されたカスタム命令ソフトウェア エンコーディングを提供し、R タイプの RISC-V 命令形式に従います。
· ニーモニックは、次のカスタム名を定義するために使用できます: — system.h に生成された C マクロ。
— custom_instruction_debug.xml に生成された GDB デバッグ ニーモニック。

関連情報
AN 977: Nios V プロセッサのカスタム命令 特定のアプリケーションのニーズに合わせて Nios® V プロセッサをカスタマイズできるカスタム命令の詳細について説明します。

Nios® V エンベデッド プロセッサ デザイン ハンドブック 22

フィードバックを送信

2. Quartus Primeソフトウェアとプラットフォーム・デザイナーを使用したNios Vプロセッサのハードウェア・システム設計 726952 | 2025.07.16
2.1.2. システムコンポーネント設計の定義
プラットフォームデザイナーを使用して、Nios Vプロセッサシステムのハードウェア特性を定義し、必要なコンポーネントを追加します。次の図は、以下のコンポーネントを含む基本的なNios Vプロセッサシステム設計を示しています。・Nios Vプロセッサコア・オンチップメモリ​​・JTAG UART · インターバルタイマー(オプション)(1)
プラットフォームデザイナーシステムに新しいオンチップメモリ​​が追加された場合は、システム情報の同期を実行して、追加されたメモリコンポーネントをリセットに反映します。または、プラットフォームデザイナーで自動同期を有効にして、最新のコンポーネントの変更を自動的に反映することもできます。
図11.例ampプラットフォーム デザイナーで Nios V プロセッサと他のペリフェラルを接続する

(1)Platform Designerでは、外部インターバルタイマーの代わりにNios V内部タイマー機能を使用することができます。

フィードバックを送信

Nios® V エンベデッド プロセッサ デザイン ハンドブック 23

2. Quartus Primeソフトウェアとプラットフォームデザイナーを使用したNios Vプロセッサハードウェアシステム設計
726952 | 2025.07.16
また、Platform Designerシステムでコンジットとしてエクスポートする操作ピンを定義する必要があります。例えば、ampたとえば、適切な FPGA システム操作ピン リストは以下のように定義されますが、これに限定されるわけではありません。
・ 時計
・リセット
· I/O信号
2.1.3. ベースアドレスと割り込み要求優先度の指定
設計に追加されたコンポーネントがどのように相互作用してシステムを形成するかを指定するには、各エージェントコンポーネントにベースアドレスを割り当て、Jに割り込み要求(IRQ)の優先順位を割り当てる必要があります。TAG UARTとインターバルタイマー。Platform Designerには、「ベースアドレスの割り当て」コマンドが用意されており、このコマンドを使用すると、システム内のすべてのコンポーネントに適切なベースアドレスが自動的に割り当てられます。ただし、ベースアドレスは必要に応じて調整できます。
ベース アドレスを割り当てるためのガイドラインを次に示します。
· Nios Vプロセッサコアは32ビットのアドレス範囲を持ちます。エージェントコンポーネントにアクセスするには、ベースアドレスが0x00000000~0xFFFFFFFFの範囲である必要があります。
· Nios Vプログラムでは、アドレスを参照するためにシンボリック定数を使用します。覚えやすいアドレス値を選択する必要はありません。
· わずか1ビットのアドレス差でコンポーネントを区別するアドレス値は、より効率的なハードウェアを実現します。すべてのベースアドレスを可能な限り小さなアドレス範囲に圧縮する必要はありません。圧縮すると、ハードウェアの効率が低下する可能性があります。
· プラットフォームデザイナーは、連続したメモリ範囲内の個別のメモリコンポーネントをアラインメントさせようとはしません。例えば、ampたとえば、複数のオンチップ メモリ コンポーネントを 1 つの連続したメモリ範囲としてアドレス指定できるようにするには、ベース アドレスを明示的に割り当てる必要があります。
Platform Designerには、IRQ信号を接続して有効なハードウェア結果を生成する自動化コマンド「割り込み番号の割り当て」も用意されています。ただし、IRQを効果的に割り当てるには、システム全体の応答挙動を理解する必要があります。Platform Designerは、最適なIRQ割り当てを推測することはできません。
最も低いIRQ値が最も高い優先度を持ちます。理想的なシステムでは、システムクロックの精度を維持するために、アルテラはタイマーコンポーネントに最も高い優先度のIRQ(つまり、最も低い値)を割り当てることを推奨しています。
場合によっては、タイマー コンポーネントよりも高い割り込みレートを要求するリアルタイム ペリフェラル (ビデオ コントローラーなど) に高い優先度を割り当てることがあります。
関連情報
Quartus Prime Pro Edition ユーザーガイド: Platform Designer を使用してシステムを作成する方法の詳細。

Nios® V エンベデッド プロセッサ デザイン ハンドブック 24

フィードバックを送信

2. Quartus Primeソフトウェアとプラットフォーム・デザイナーを使用したNios Vプロセッサのハードウェア・システム設計 726952 | 2025.07.16
2.2. Platform DesignerシステムをQuartus Primeプロジェクトに統合する
プラットフォームデザイナーでNios Vシステムデザインを生成した後、以下のタスクを実行して、Nios VシステムモジュールをQuartus Prime FPGAデザインプロジェクトに統合します。 · Quartus PrimeプロジェクトでNios Vシステムモジュールをインスタンス化する · Nios Vシステムモジュールからの信号をFPGAロジック内の他の信号に接続する · 物理的なピンの位置を割り当てる · FPGAデザインを制約する
2.2.1. Quartus PrimeプロジェクトでNios Vプロセッサシステムモジュールをインスタンス化する
プラットフォーム・デザイナーは、Quartus Primeでインスタンス化できるシステムモジュール設計エンティティを生成します。システムモジュールのインスタンス化方法は、Quartus Primeプロジェクト全体のデザイン入力方法によって異なります。例えば、amp例えば、設計入力にVerilog HDLを使用していた場合は、Verilogベースのシステムモジュールをインスタンス化します。設計入力にブロックダイアグラム方式を使用する場合は、システムモジュールシンボル.bdfをインスタンス化します。 file.
2.2.2. 信号の接続と物理的なピン位置の割り当て
Altera FPGAデザインをボードレベルのデザインに接続するには、次のタスクを実行します。 · トップレベルの file デザインと信号を外部のAlteraに接続します
FPGAデバイスのピン。ボードレベルの設計ユーザーガイドまたは
· ピンを使用して、トップレベルデザインの信号をAltera FPGAデバイスのポートに割り当てます。
割り当てツール。
プラットフォームデザイナーシステムはトップレベルデザインとして使用できますが、Altera FPGAはニーズに応じて追加ロジックも組み込むことができるため、カスタムトップレベルデザインを導入できます。 file最上位レベルの file Nios V プロセッサ システム モジュール信号を他の Altera FPGA 設計ロジックに接続します。
関連情報 Quartus Prime Pro Edition ユーザーガイド: デザイン制約
2.2.3. Altera FPGAデザインの制約
適切なAltera FPGAシステム設計には、タイミング収束やその他のロジック制約要件を満たすための設計制約が含まれています。Quartus Primeソフトウェアに付属のツールまたはサードパーティのEDAプロバイダを使用して、Altera FPGA設計がこれらの要件を明示的に満たすように制約を設定する必要があります。Quartus Primeソフトウェアは、コンパイルフェーズで提供された制約を使用して、最適な配置結果を取得します。

フィードバックを送信

Nios® V エンベデッド プロセッサ デザイン ハンドブック 25

2. Quartus Primeソフトウェアとプラットフォームデザイナーを使用したNios Vプロセッサハードウェアシステム設計
726952 | 2025.07.16
関連情報 · Quartus Prime Pro Edition ユーザーガイド: デザイン制約 · サードパーティ EDA パートナー · Quartus Prime Pro Edition ユーザーガイド: タイミングアナライザ
2.3. Nios Vプロセッサのメモリシステムの設計
このセクションでは、Nios Vプロセッサを搭載したPlatform Designer組込みシステムにおいて、メモリデバイスを選択し、最適なパフォーマンスを実現するためのベストプラクティスについて説明します。メモリデバイスは、組込みシステム全体のパフォーマンス向上に重要な役割を果たします。組込みシステムメモリは、プログラム命令とデータを保存します。
2.3.1. 揮発性メモリ
メモリの種類における主な違いは揮発性です。揮発性メモリは、メモリデバイスに電源が供給されている間のみ内容を保持します。電源を切ると、メモリの内容はすぐに失われます。
Examp揮発性メモリの主な種類は、RAM、キャッシュ、レジスタです。これらは実行性能を向上させる高速メモリです。アルテラは、Nios Vプロセッサの命令をRAMにロードして実行し、Nios V IPコアをオンチップメモリ​​IPまたは外部メモリインターフェースIPと組み合わせて最適なパフォーマンスを得ることを推奨しています。
パフォーマンスを向上させるには、Nios Vプロセッサのデータマネージャのインタフェースタイプまたは幅をブートRAMと一致させることで、追加のPlatform Designerアダプテーションコンポーネントを削減できます。例えば、ampまた、Nios V データ マネージャー インターフェイスと一致する 32 ビット AXI-4 インターフェイスを使用して、オンチップ メモリ II を構成できます。
関連情報 · 外部メモリインターフェイス IP サポートセンター · オンチップメモリ​​ (RAM または ROM) Altera FPGA IP · オンチップメモリ​​ II (RAM または ROM) Altera FPGA IP · Nios V プロセッサアプリケーション OCRAM からの Execute-In-Place (54 ページ)
2.3.1.1. オンチップメモリ​​構成 RAM または ROM
Altera FPGAオンチップメモリ​​IPは、RAMまたはROMとして構成できます。RAMは読み書き機能を提供し、揮発性を持っています。
Nios VプロセッサをオンチップRAMからブートする場合、実行中にリセットが発生した場合でもブート内容が保持され、破損しないことを確認する必要があります。· Nios VプロセッサをROMからブートする場合、Nios Vプロセッサ上のソフトウェアバグによってオンチップメモリ​​の内容が誤って上書きされることはありません。そのため、ブートソフトウェアの破損のリスクが軽減されます。
関連情報 · オンチップメモリ​​(RAM または ROM)Altera FPGA IP · オンチップメモリ​​ II(RAM または ROM)Altera FPGA IP · Nios V プロセッサアプリケーション OCRAM からの Execute-In-Place(54 ページ)

Nios® V エンベデッド プロセッサ デザイン ハンドブック 26

フィードバックを送信

2. Quartus Primeソフトウェアとプラットフォーム・デザイナーを使用したNios Vプロセッサのハードウェア・システム設計 726952 | 2025.07.16
2.3.1.2. キャッシュ
オンチップメモリ​​はレイテンシが低いため、キャッシュ機能の実装によく使用されます。Nios Vプロセッサは、命令キャッシュとデータキャッシュにオンチップメモリ​​を使用しています。キャッシュは通常小さいため、オンチップメモリ​​の容量制限は問題になりません。
キャッシュは、通常、次のような状況で使用されます。
· 通常のメモリはオフチップに配置されており、オンチップメモリ​​よりもアクセス時間が長くなります。
· ソフトウェア コードのパフォーマンスが重要なセクションを命令キャッシュに収めることができるため、システム パフォーマンスが向上します。
· パフォーマンスが重要で、最も頻繁に使用されるデータのセクションをデータ キャッシュに収めることができるため、システム パフォーマンスが向上します。
Nios V プロセッサでキャッシュを有効にすると、メモリ階層が作成され、メモリ アクセス時間が最小限に抑えられます。
2.3.1.2.1. 周辺地域
UART、I2C、SPI などの組み込みペリフェラル IP はキャッシュしないでください。アクセス時間が長い外部メモリにはキャッシュを強く推奨しますが、内部オンチップメモリ​​はアクセス時間が短いため除外できます。メモリを除き、UART、I2C、SPI などの組み込みペリフェラル IP はキャッシュしないでください。これは、ソフト IP を更新するエージェント デバイスなどの外部デバイスからのイベントがプロセッサ キャッシュによってキャプチャされず、プロセッサによって受信されないため重要です。その結果、キャッシュをフラッシュするまでこれらのイベントに気付かれない可能性があり、システムで意図しない動作が発生する可能性があります。要約すると、組み込みペリフェラル IP のメモリマップ領域はキャッシュ不可能であり、プロセッサのペリフェラル領域内に存在する必要があります。
周辺領域を設定するには、次の手順に従います。
1. プラットフォーム デザイナーでシステムのアドレス マップを開きます。
2. プロセッサの命令マネージャとデータ マネージャのアドレス マップに移動します。
3. システム内の周辺機器とメモリを識別します。
図12.例amp住所地図

注: 青い矢印はメモリを指しています。4. 周辺機器をグループ化します。
a. メモリはキャッシュ可能、b. 周辺機器はキャッシュ不可能

フィードバックを送信

Nios® V エンベデッド プロセッサ デザイン ハンドブック 27

2. Quartus Primeソフトウェアとプラットフォームデザイナーを使用したNios Vプロセッサハードウェアシステム設計
726952 | 2025.07.16

表19. キャッシュ可能な領域とキャッシュ不可能な領域

下位

アドレスマップ

状態

周辺地域

サイズ

ベースアドレス

ユーザー_アプリケーション_メモリ.s1

0x0 ~ 0x3ffff

キャッシュ可能

該当なし

該当なし

cpu.dm_agent ブートコピー機_rom.s1

0x40000 ~ 0x4ffff 0x50000 ~ 0x517ff

キャッシュ不可 キャッシュ可能

65536バイト N/A

0x40000 該当なし

bootcopier_ram.s1 cpu.timer_sw_agent メールボックス.avmm

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

キャッシュ可能 キャッシュ不可 キャッシュ不可

144バイト(最小サイズは65536バイト)

0x54000

sysid_qsys_0.制御スレーブ

0x54080〜0x54087

キャッシュ不可

uart.avalon_jtag_奴隷

0x54088 ~ 0x5408f

キャッシュ不可

5. 周辺領域を特定のサイズに揃えます。
・例amp例えば、サイズが65536バイトの場合、0x10000バイトに相当します。したがって、許容されるベースアドレスは0x10000の倍数である必要があります。
· CPU.dm_agent はベースアドレス 0x40000 を使用します。これは 0x10000 の倍数です。そのため、サイズが 65536 バイトでベースアドレスが 0x40000 である Peripheral Region A は要件を満たしています。
· キャッシュ不可能な領域の集合のベースアドレス0x54000は0x10000の倍数ではありません。これらの領域を0x60000または0x10000の倍数に再割り当てする必要があります。したがって、サイズが65536バイトでベースアドレスが0x60000であるペリフェラル領域Bは基準を満たしています。

表20. 再割り当てによるキャッシュ可能領域とキャッシュ不可能領域

下位

アドレスマップ

状態

周辺地域

サイズ

ベースアドレス

ユーザー_アプリケーション_メモリ.s1

0x0 ~ 0x3ffff

キャッシュ可能

該当なし

該当なし

cpu.dm_agent

0x40000 ~ 0x4ffff

キャッシュ不可 65536 バイト

0x40000

ブートコピーROM.s1

0x50000 ~ 0x517ff

キャッシュ可能

該当なし

該当なし

bootcopier_ram.s1 cpu.timer_sw_agent メールボックス.avmm sysid_qsys_0.control_slave

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

キャッシュ可能 キャッシュ不可 キャッシュ不可 キャッシュ不可

144バイト(最小サイズは65536バイト)

0x60000

uart.avalon_jtag_奴隷

0x60088 ~ 0x6008f

キャッシュ不可

2.3.1.3. 密結合メモリ
密結合メモリ(TCM)は、低レイテンシという特性からこのタスクに最適なため、オンチップメモリ​​を用いて実装されます。TCMは一般的なアドレス空間にマッピングされたメモリですが、マイクロプロセッサとの専用インターフェースを備え、キャッシュメモリの高性能・低レイテンシ特性を備えています。TCMは外部ホストへの従属インターフェースも提供します。プロセッサと外部ホストは、TCMを処理する際に同じ権限レベルを持ちます。

Nios® V エンベデッド プロセッサ デザイン ハンドブック 28

フィードバックを送信

2. Quartus Primeソフトウェアとプラットフォームデザイナーを使用したNios Vプロセッサハードウェアシステム設計
726952 | 2025.07.16

注記:

TCM従属ポートが外部ホストに接続されている場合、プロセッサコアに割り当てられたベースアドレスとは異なるベースアドレスが表示されることがあります。アルテラは、両方のアドレスを同じ値に揃えることを推奨しています。

2.3.1.4. 外部メモリインターフェース(EMIF)
EMIF(外部メモリインターフェース)はSRAM(スタティックランダムアクセスメモリ)と同様の機能を持ちますが、動的メモリであるため、内容を維持するには定期的なリフレッシュが必要です。EMIFの動的メモリセルはSRAMの静的メモリセルよりもはるかに小さいため、大容量で低コストのメモリデバイスを実現できます。
EMIFにはリフレッシュ要件に加えて、特殊なインターフェース要件があり、多くの場合、専用のコントローラハードウェアが必要になります。固定のアドレスラインを持つSRAMとは異なり、EMIFはメモリ空間をバンク、行、列に編成します。バンクと行の切り替えにはオーバーヘッドが発生するため、EMIFを効率的に使用するには、メモリアクセスを慎重に順序付ける必要があります。また、EMIFは行アドレスと列アドレスを同じアドレスラインに多重化するため、特定のEMIFサイズに必要なピン数を削減できます。
DDR、DDR2、DDR3、DDR4、DDR5 などの EMIF の高速バージョンでは、PCB 設計者が考慮する必要がある厳格な信号整合性要件が課せられます。
EMIFデバイスは、最もコスト効率が高く大容量のRAMタイプの一つであり、人気の高い選択肢となっています。EMIFインターフェースの主要コンポーネントはEMIF IPで、アドレスの多重化、リフレッシュ、行とバンク間の切り替えに関連するタスクを管理します。この設計により、システムの他の部分はEMIFの内部アーキテクチャを理解することなくアクセスできます。

関連情報 外部メモリインターフェース IPサポートセンター

2.3.1.4.1. アドレススパンエクステンダーIP
アドレス・スパン・エクステンダAltera FPGA IPは、メモリマップド・ホスト・インターフェースが、アドレス信号の幅が許容するよりも広い、または狭いアドレスマップにアクセスすることを可能にします。アドレス・スパン・エクステンダIPは、アドレス指定可能な空間を複数の独立したウィンドウに分割し、ホストがウィンドウを通じてメモリの適切な部分にアクセスできるようにします。
アドレス・スパン・エクステンダーは、ホストとエージェントの幅を32ビットと64ビットの構成に限定しません。アドレス・スパン・エクステンダーは、1~64ビットのアドレスウィンドウで使用できます。

フィードバックを送信

Nios® V エンベデッド プロセッサ デザイン ハンドブック 29

2. Quartus Primeソフトウェアとプラットフォームデザイナーを使用したNios Vプロセッサハードウェアシステム設計
726952 | 2025.07.16

図13. アドレススパンエクステンダーAltera FPGA IP
エージェントのワードアドレス

アドレススパンエクステンダー

A

マッピングテーブル
制御ポートA

制御レジスタ0 制御レジスタZ-1

拡張ホストアドレスH

関連情報
Quartus® Prime プロ・エディション ユーザーガイド: プラットフォーム デザイナー 詳細については、「Address Span Extender Intel® FPGA IP」のトピックを参照してください。

2.3.1.4.2. Nios V プロセッサでのアドレス・スパン・エクステンダ IP の使用
32ビットNios Vプロセッサは、最大4GBのアドレス範囲をアドレス指定できます。EMIFに4GBを超えるメモリが搭載されている場合、サポートされる最大アドレス範囲を超え、Platform Designerシステムがエラー状態になります。この問題を解決するには、アドレス範囲拡張IPが必要です。このIPは、単一のEMIFアドレス空間を複数の小さなウィンドウに分割します。
Altera では、次のパラメータを考慮することをお勧めします。

表21. アドレススパンエクステンダーパラメータ

パラメータ

おすすめの設定

データパス幅
拡張マスターバイトアドレス幅

32ビットプロセッサに対応する32ビットを選択します。EMIFメモリサイズに依存します。

スレーブワードアドレス幅バーストカウント幅

2 GB以下を選択してください。Nios Vプロセッサの残りのアドレス範囲は、他の組み込みソフトIP用に予約されています。
1 から始めて、この値を徐々に増やしてパフォーマンスを向上させます。

サブウィンドウの数

EMIFをNios Vプロセッサに命令メモリとデータメモリ、あるいはその両方として接続する場合は、サブウィンドウを1つ選択してください。Nios VプロセッサがEMIFから実行中に複数のサブウィンドウを切り替えるのは危険です。

スレーブ制御ポートを有効にする

EMIFをNios Vプロセッサに命令メモリまたはデータメモリとして接続する場合は、スレーブ制御ポートを無効にしてください。サブウィンドウの数に関する考慮事項と同じです。

保留中の読み取りの最大数

1 から始めて、この値を徐々に増やしてパフォーマンスを向上させます。

Nios® V エンベデッド プロセッサ デザイン ハンドブック 30

フィードバックを送信

2. Quartus Primeソフトウェアとプラットフォーム・デザイナーを使用したNios Vプロセッサのハードウェア・システム設計 726952 | 2025.07.16
図14. 命令およびデータマネージャをアドレス範囲拡張器に接続する

図15. アドレスマッピング

アドレス・スパン・エクステンダはEMIFの8GBメモリ空間全体にアクセスできることに注意してください。ただし、アドレス・スパン・エクステンダを介してNios Vプロセッサがアクセスできるのは、EMIFの最初の1GBメモリ空間のみです。

図16. 簡略化されたブロック図

プラットフォームデザイナーシステム

残り3GB

Nios V プロセッサアドレス

spanは埋め込み用です

NNioios sVV PProrocecsesor r
M

同じシステム内のソフト IP。
1 GBのウィンドウ

アドレス範囲

S

エクステンダー

M

最初の1GBのみ

EMIFメモリはNios Vに接続されています

EMIF

プロセッサ。

8ギガバイト
S

フィードバックを送信

Nios® V エンベデッド プロセッサ デザイン ハンドブック 31

2. Quartus Primeソフトウェアとプラットフォームデザイナーを使用したNios Vプロセッサハードウェアシステム設計
726952 | 2025.07.16
2.3.1.4.3. アドレス・スパン・エクステンダ・リンカー・メモリ・デバイスの定義 1. アドレス・スパン・エクステンダ(EMIF)をリセット・ベクターとして定義します。あるいは、Nios Vプロセッサのリセット・ベクターをOCRAMやフラッシュ・デバイスなどの他のメモリに割り当てることもできます。
図17. リセットベクトルとしての複数のオプション
しかし、ボードサポートパッケージ(BSP)エディタは、アドレススパンエクステンダ(EMIF)を有効なメモリとして自動的に登録できません。選択した内容に応じて、以下の図に示すように18つの異なる状況が発生します。図XNUMX:アドレススパンエクステンダ(EMIF)をリセットベクターとして定義した場合のBSPエラー

Nios® V エンベデッド プロセッサ デザイン ハンドブック 32

フィードバックを送信

2. Quartus Primeソフトウェアとプラットフォーム・デザイナーを使用したNios Vプロセッサのハードウェア・システム設計 726952 | 2025.07.16
図19. 他のメモリをリセットベクターとして定義するときにEMIFが見つからない

2. BSP リンカー スクリプト タブの [メモリ デバイスの追加]、[リンカー メモリ領域の追加]、および [リンカー セクション マッピングの追加] を使用して、アドレス スパン エクステンダー (EMIF) を手動で追加する必要があります。
3. 以下の手順に従います。
a. メモリマップを使用してアドレススパンエクステンダのアドレス範囲を決定します(例:amp次の図の le は、0x0 から 0x3fff_ffff までのアドレス スパン エクステンダ範囲を使用しています。
図20. メモリマップ

b. 「メモリデバイスの追加」をクリックし、デザインのメモリマップの情報に基づいて入力します。i. デバイス名: emif_ddr4。注: メモリマップから同じ名前をコピーしてください。ii. ベースアドレス: 0x0 iii. サイズ: 0x40000000
c. [追加] をクリックして、新しいリンカー メモリ領域を追加します。

フィードバックを送信

Nios® V エンベデッド プロセッサ デザイン ハンドブック 33

2. Quartus Primeソフトウェアとプラットフォームデザイナーを使用したNios Vプロセッサハードウェアシステム設計
726952 | 2025.07.16

表22. リンカーメモリ領域の追加

手順

ベクトルをリセット

emif_ddr4

その他の思い出

1

resetという新しいリンカーメモリ領域を追加します。

· 地域名: リセット

emif_ddr4。

· 領域サイズ: 0x20

· リージョン名: emif_ddr4

· メモリデバイス: emif_ddr4

· 領域サイズ: 0x40000000

· メモリオフセット: 0x0

· メモリデバイス: emif_ddr4

· メモリオフセット: 0x0

2

新しいリンカーメモリ領域を追加します

残りの emif_ddr4。

· リージョン名: emif_ddr4

· 領域サイズ: 0x3fffffe0

· メモリデバイス: emif_ddr4

· メモリオフセット: 0x20

図21. アドレススパンエクステンダ(EMIF)をリセットベクターとして定義する場合のリンカー領域

図22. 他のメモリをリセットベクターとして定義する場合のリンカー領域
d. emif_ddr4 を BSP に追加したら、任意のリンカー セクションで選択できるようになります。
図23. アドレススパンエクステンダー(EMIF)が正常に追加された

e. メモリ デバイス emif_ddr4 が SOPC デザインに表示されないという警告は無視します。
f. BSP の生成に進みます。
関連情報 Nios Vプロセッサのブート方法の概要(51ページ)

Nios® V エンベデッド プロセッサ デザイン ハンドブック 34

フィードバックを送信

2. Quartus Primeソフトウェアとプラットフォーム・デザイナーを使用したNios Vプロセッサのハードウェア・システム設計 726952 | 2025.07.16
2.3.2. 不揮発性メモリ
不揮発性メモリは電源を切っても内容を保持するため、システムの電源を入れ直した後にシステムが取得する必要がある情報を保存するのに適しています。不揮発性メモリには、プロセッサのブートコード、永続的なアプリケーション設定、およびAltera FPGAのコンフィギュレーションデータが格納されます。不揮発性メモリには、tag電源を切ってもデータを保持できるという利点がありますが、揮発性メモリに比べてはるかに遅く、書き込みと消去の手順も複雑になる傾向があります。また、不揮発性メモリは通常、一定回数しか消去できないことが保証されており、それを過ぎると故障する可能性があります。
Examp不揮発性メモリには、あらゆる種類のフラッシュ、EPROM、EEPROMが含まれます。アルテラは、アルテラFPGAのビットストリームとNios Vプログラムイメージを不揮発性メモリに保存し、シリアルフラッシュをNios Vプロセッサのブートデバイスとして使用することを推奨しています。
関連情報
· 汎用シリアルフラッシュインターフェース Altera FPGA IP ユーザーガイド
· メールボックスクライアント Altera FPGA IP ユーザーガイド · MAX® 10 ユーザーフラッシュメモリユーザーガイド: オンチップフラッシュ Altera FPGA IP コア
2.4. クロックとリセットのベストプラクティス
Nios Vプロセッサのクロックドメインとリセットドメインが、接続されるすべてのペリフェラルとどのように相互作用するかを理解することは重要です。シンプルなNios Vプロセッサシステムは単一のクロックドメインから始まりますが、マルチクロックドメインシステムでは、高速クロックドメインと低速クロックドメインが衝突し、複雑化する可能性があります。これらの異なるドメインがリセットからどのようにシーケンスされるかを記録し、理解し、微妙な問題がないか確認する必要があります。
ベストプラクティスとして、アルテラはNios Vプロセッサとブートメモリを同じクロックドメインに配置することを推奨しています。非常に低速なクロックドメインにあるメモリからNios Vプロセッサをブートする場合、高速クロックドメインでリセットを解除しないでください。命令フェッチエラーが発生する可能性があります。Platform Designerのデフォルト設定に加えて、手動でシーケンス処理が必要になる場合があります。ユースケースに応じて、リセット解除トポロジを計画してください。システムを起動してしばらく動作させた後にリセットする場合は、システムリセットシーケンスとリセット後の初期化要件についても同じ考慮事項を適用してください。
2.4.1. システムJTAG クロック
Nios Vプロセッサシステムにおけるクロック制約の指定は、システム設計上の重要な考慮事項であり、正確性と確定的な動作を実現するために不可欠です。Quartus Primeタイミングアナライザは、業界標準の制約、解析、レポート手法を用いて、スタティックタイミング解析を実行し、設計内のすべてのロジックのタイミング性能を検証します。
Example 1. 100/50デューティサイクルと50MHz Jの基本的な16MHzクロックTAG クロック
#************************************************************** # 100MHz クロックを作成 #**************************************************************** create_clock -name {clk} -period 10 [get_ports {clk}] #************************ 16MHz J を作成TAG 時計 #************************

フィードバックを送信

Nios® V エンベデッド プロセッサ デザイン ハンドブック 35

2. Quartus Primeソフトウェアとプラットフォームデザイナーを使用したNios Vプロセッサハードウェアシステム設計
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}] 関連情報 Quartus Primeタイミングアナライザクックブック
2.4.2. リセット要求インターフェース
Nios Vプロセッサにはオプションのリセット要求機能が搭載されています。リセット要求機能は、reset_req信号とreset_req_ack信号で構成されます。
プラットフォームデザイナーでリセット要求を有効にするには: 1. Nios V プロセッサ IP パラメータエディタを起動します。 2. 「リセット要求の使用」設定で、「リセット要求インターフェイスの追加」をオンにします。
オプション。
図24. Nios Vプロセッサリセット要求の有効化
reset_req信号は割り込みのように機能します。reset_reqをアサートすると、コアにリセットを要求します。コアは、未処理のバストランザクションが処理を完了するまで待機します。例えば、amp例えば、保留中のメモリアクセストランザクションがある場合、コアは完全な応答を待機します。同様に、コアは保留中の命令応答を受け入れますが、reset_req信号を受信した後は命令要求を発行しません。
リセット操作は以下のフローで構成されます。1. 保留中のすべての操作を完了する。2. 内部パイプラインをフラッシュする。3. プログラムカウンタをリセットベクターに設定する。4. コアをリセットする。リセット操作全体には数クロックサイクルかかります。reset_reqは、コアのリセット操作が正常に完了したことを示すreset_req_ackがアサートされるまでアサートされたままでなければなりません。そうしないと、コアの状態は非決定的になります。

Nios® V エンベデッド プロセッサ デザイン ハンドブック 36

フィードバックを送信

2. Quartus Primeソフトウェアとプラットフォーム・デザイナーを使用したNios Vプロセッサのハードウェア・システム設計 726952 | 2025.07.16
2.4.2.1. 典型的な使用例
· 電源投入時に reset_req 信号をアサートすることで、システム内の他のFPGAホストがNios Vプロセッサのブートメモリを初期化するまで、Nios Vプロセッサコアがリセットベクターからプログラム実行を開始するのを防ぐことができます。この場合、サブシステム全体でクリーンなハードウェアリセットが実行されます。他のFPGAホストがプロセッサのブートメモリを初期化するまで、Nios Vプロセッサはリセット要求状態に無期限に保持されます。
· システムの残りの部分を中断せずに Nios V プロセッサ コアをリセットする必要があるシステムでは、reset_req 信号をアサートしてコアの現在の操作を完全に停止し、システムが reset_req_ack 信号を解放したらリセット ベクターからプロセッサを再起動することができます。
· 外部ホストはリセット要求インターフェイスを使用して、次のタスクの実装を容易にすることができます。
— 現在の Nios V プロセッサ プログラムを停止します。
— Nios V プロセッサのブート メモリに新しいプログラムをロードします。
— プロセッサが新しいプログラムの実行を開始できるようにします。
アルテラは、reset_req_ack信号の状態を監視するためのタイムアウト機構を実装することを推奨しています。Nios Vプロセッサコアが無限待機状態に陥り、原因不明の理由で停止した場合、reset_req_ackは無期限にアサートできません。タイムアウト機構により、以下のことが可能になります。
· 回復タイムアウト期間を定義し、システム レベルのリセットでシステム回復を実行します。
· ハードウェア レベルのリセットを実行します。
2.4.3. リリースIPをリセット
Altera SDMベースのデバイスは、コアファブリックロジックを複数のセクターに分散させる並列セクターベースアーキテクチャを採用しています。Alteraは、リセット回路への初期入力の10つとして、Reset Release Altera FPGA IPを使用することを推奨しています。Intel® SDMベースのデバイスには、Stratix® XNUMXおよびAgilex™デバイスが含まれます。制御ブロックベースのデバイスはこの要件の影響を受けません。
関連情報
AN 891: リセットリリースAltera FPGA IPの使用
2.5. デフォルトエージェントの割り当て
Platform Designerでは、エラー応答のデフォルトエージェントとして機能するデフォルトエージェントを指定できます。指定したデフォルトエージェントは、アドレスマップへの非デコードアクセスを試みるホストに対してエラー応答サービスを提供します。
次のシナリオでは、デコードされていないイベントがトリガーされます。
· バストランザクションのセキュリティ状態違反
· 未定義のメモリ領域へのトランザクションアクセス
・例外イベント等

フィードバックを送信

Nios® V エンベデッド プロセッサ デザイン ハンドブック 37

2. Quartus Primeソフトウェアとプラットフォームデザイナーを使用したNios Vプロセッサハードウェアシステム設計
726952 | 2025.07.16

このようなイベントを処理するには、デフォルト エージェントを割り当てる必要があります。この場合、未定義のトランザクションはデフォルト エージェントに再ルーティングされ、その後、Nios V プロセッサにエラー応答が返されます。
関連情報
· Quartus Prime Pro Edition ユーザーガイド: プラットフォームデザイナー。デフォルトエージェントの指定
· Quartus Prime Pro Edition ユーザーガイド: プラットフォームデザイナー。エラー応答スレーブ Altera FPGA IP
· Github – Qsys 用補足リセットコンポーネント

2.6. 印刷用のUARTエージェントの割り当て
印刷は、ソフトウェアアプリケーションのデバッグやシステムの状態監視に役立ちます。アルテラは、ソフトウェアアプリケーションの起動メッセージ、エラーメッセージ、実行の進行状況などの基本情報を印刷することを推奨しています。
次の状況では、printf() ライブラリ関数を使用しないでください。 · 出力を読み取っているホストがない場合、printf() ライブラリはアプリケーションを停止させます。
これはJに当てはまりますTAG UART のみ。 · printf() ライブラリは大量のプログラム メモリを消費します。

2.6.1. Jによる失速防止TAG シリアル

表23. 従来のUARTとJの違いTAG シリアル

UARTタイプ 従来のUART

説明
外部ホストが受信しているかどうかに関係なく、シリアルデータを送信します。シリアルデータを読み取っているホストがない場合、データは失われます。

JTAG シリアル

送信されたデータを出力バッファに書き込み、バッファを空にするために外部ホストに依存します。

JTAG UARTドライバは出力バッファがいっぱいになると待機します。JTAG UARTドライバは、外部ホストが出力バッファからデータを読み出すまで待機し、その後、次の送信データを書き込む。このプロセスにより、送信データの損失を防ぐことができる。
しかし、生産時などシステムデバッグが必要ない場合は、ホストPCをJに接続せずに組み込みシステムを展開する。TAG UART。システムがJを選択した場合TAG UART を UART エージェントとして使用すると、外部ホストが接続されていないため、システムが停止する可能性があります。
Jによるストールを防ぐためTAG UART、次のオプションを適用します。

Nios® V エンベデッド プロセッサ デザイン ハンドブック 38

フィードバックを送信

2. Quartus Primeソフトウェアとプラットフォームデザイナーを使用したNios Vプロセッサハードウェアシステム設計
726952 | 2025.07.16

表24 Jによるストール防止TAG シリアル

オプション
UARTインターフェースとドライバーが存在しません
他のUARTインターフェースとドライバーを使用する
Jを保存するTAG UARTインターフェース(ドライバーなし)

ハードウェア開発中(プラットフォームデザイナー内)

ソフトウェア開発中(ボードサポートパッケージエディタ内)

Jを削除TAG システムからのUART

hal.stdin、hal.stdout、hal.stderr を None として設定します。

Jを置き換えるTAG UARTと他のソフトhal.stdin、hal.stdout、hal.stderrの設定

UART IP

他のソフト UART IP と併用します。

Jを保存するTAG システム内のUART

· ボード サポート パッケージ エディターで、hal.stdin、hal.stdout、hal.stderr を None として設定します。
· Jを無効にするTAG BSP ドライバー タブの UART ドライバー。

2.7. じTAG 信号
Nios VプロセッサのデバッグモジュールはJTAG ソフトウェアELFのダウンロードとデバッグのためのインターフェース。JTAG インターフェース、JTAG TCK、TMS、TDI、TDO信号は設計の一部として実装されています。JTAG すべての Nios V プロセッサ システムにおける信号制約は、システム設計上の重要な考慮事項であり、正確性と確定的な動作に必要です。
アルテラは、あらゆるデザインのシステムクロック周波数をJの少なくとも4倍にすることを推奨しています。TAG オンチップ インストルメンテーション (OCI) コアが適切に機能することを保証するクロック周波数。
関連情報 · Quartus® Prime タイミング・アナライザ・クックブック: JTAG 信号
Jの詳細についてはTAG タイミング制約ガイドライン。 · KDB: パイプライン化されていないNios® V/mプロセッサでniosv-downloadが失敗する理由
JTAG 周波数は24MHzか16MHzか?
2.8. プラットフォームデザイナーシステムパフォーマンスの最適化
Platform Designer は、Altera FPGA 設計のシステム相互接続のパフォーマンスを最適化するためのツールを提供します。

フィードバックを送信

Nios® V エンベデッド プロセッサ デザイン ハンドブック 39

2. Quartus Primeソフトウェアとプラットフォームデザイナーを使用したNios Vプロセッサハードウェアシステム設計
726952 | 2025.07.16
図25. 最適化例ampレ

元amp図に示す例は、次の手順を示しています。
1. パイプラインブリッジを追加して、次の場所に配置するとクリティカルパスが軽減されます: a. 命令マネージャとそのエージェントの間 b. データマネージャとそのエージェントの間
2. 真のデュアルポートオンチップRAMを適用し、各ポートをそれぞれ命令マネージャとデータマネージャ専用にする

Nios® V エンベデッド プロセッサ デザイン ハンドブック 40

フィードバックを送信

2. Quartus Primeソフトウェアとプラットフォーム・デザイナーを使用したNios Vプロセッサのハードウェア・システム設計 726952 | 2025.07.16
利用可能なツールを活用するテクニックと各実装のトレードオフを紹介する以下の関連リンクを参照してください。
関連情報 · Quartus® Prime プロ・エディション ユーザーガイド: プラットフォーム・デザイナー
詳細については、「Platform Designer システム パフォーマンスの最適化」のトピックを参照してください。 · Quartus® Prime スタンダード エディション ユーザー ガイド: Platform Designer 詳細については、「Platform Designer システム パフォーマンスの最適化」のトピックを参照してください。

フィードバックを送信

Nios® V エンベデッド プロセッサ デザイン ハンドブック 41

726952 | 2025.07.16フィードバックを送信

3. Nios Vプロセッサのソフトウェアシステム設計
この章では、Nios Vプロセッサのソフトウェア開発フローと、組み込み設計システムの開発に使用できるソフトウェアツールについて説明します。この内容は、view Nios V プロセッサ ソフトウェア システムを開発する前に。
図26. ソフトウェア設計フロー
始める

BSP エディターを使用して Platform Designer で BSP を生成する

Nios V コマンドシェルを使用して BSP を生成する
アプリケーションCMakeビルドを生成する File Nios V コマンドシェルの使用

注記:

BSPとアプリケーションのCMakeビルドをインポートする File
Nios Vプロセッサアプリケーションをビルドするには、
Intel FPGA 向け RiscFree IDE

Nios Vプロセッサアプリケーションを任意の
コマンドラインソースコードエディタ、CMake、Make
コマンド
終わり

アルテラは、ソフトウェア開発およびデバッグには、アルテラFPGA開発キットまたはカスタムプロトタイプボードの使用を推奨しています。多くのペリフェラルやシステムレベルの機能は、ソフトウェアが実際のボード上で動作した場合にのみ利用可能です。

© Altera Corporation。Altera、Alteraロゴ、「a」ロゴ、およびその他のAlteraマークは、Altera Corporationの商標です。Alteraは、製品およびサービスを予告なくいつでも変更する権利を留保します。Alteraは、Alteraが書面で明示的に同意した場合を除き、本書に記載されている情報、製品、またはサービスの適用または使用から生じる責任または義務を一切負いません。Alteraのお客様は、公開されている情報に依拠する前、および製品またはサービスを注文する前に、最新のデバイス仕様を入手することをお勧めします。*その他の名称およびブランドは、他者の財産である場合があります。

3. Nios V プロセッサ ソフトウェア システム設計 726952 | 2025.07.16
3.1. Nios Vプロセッサのソフトウェア開発フロー
3.1.1. ボードサポートパッケージプロジェクト
Nios V ボード・サポート・パッケージ (BSP) プロジェクトは、システム固有のサポートコードを含む特殊なライブラリです。BSP は、Nios V プロセッサ・ハードウェア・システム内の 1 つのプロセッサ向けにカスタマイズされたソフトウェア・ランタイム環境を提供します。
Quartus Prime ソフトウェアは、BSP の動作を制御する設定を変更するための Nios V ボード サポート パッケージ エディターと niosv-bsp ユーティリティ ツールを提供します。
BSPには以下の要素が含まれています: · ハードウェア抽象化層 · デバイスドライバ · オプションのソフトウェアパッケージ · オプションのリアルタイムオペレーティングシステム
3.1.2. アプリケーションプロジェクト
Nios VC/C++ アプリケーション プロジェクトには次の機能があります: · ソース コードのコレクションと CMakeLists.txt で構成されます。
— CMakeLists.txtはソースコードをコンパイルし、BSPと1つ以上のオプションライブラリとリンクして、1つの.elfファイルを作成します。 file
· 情報源の一つ files には関数 main() が含まれています。 · ライブラリおよび BSP 内の関数を呼び出すコードが含まれています。
Altera は、Quartus Prime ソフトウェア ユーティリティ ツールに、アプリケーション CMakeLists.txt を作成するための niosv-app ユーティリティ ツールと、Eclipse ベースの環境でソース コードを変更するための Altera FPGA 用 RiscFree IDE を提供しています。
3.2. Altera FPGA 組み込み開発ツール
Nios Vプロセッサは、ソフトウェア開発用に以下のツールをサポートしています。 · グラフィカルユーザーインターフェース(GUI) -
Windows* および Linux* オペレーティング システム (OS) の両方で使用できます。— Nios V ボード サポート パッケージ エディター (Nios V BSP エディター) — Altera FPGA 向け Ashli​​ng RiscFree IDE · コマンドライン ツール (CLI) – Nios V コマンド シェルから起動する開発ツールです。各ツールは、コマンドラインからアクセスできるヘルプ形式で独自のドキュメントを提供しています。Nios V コマンド シェルを開き、次のコマンドを入力します。 –助ける view ヘルプメニュー。 — Nios V ユーティリティツール — File フォーマット変換ツール - その他のユーティリティツール

フィードバックを送信

Nios® V エンベデッド プロセッサ デザイン ハンドブック 43

3. Nios V プロセッサ ソフトウェア システム設計 726952 | 2025.07.16

表25. GUIツールとコマンドラインツールのタスクの概要

タスク

GUIツール

コマンドラインツール

BSPの作成

Nios V BSP エディター

· Quartus Prime Pro Editionソフトウェアの場合: niosv-bsp -c -s=<.qsys file> -t= [オプション] 設定.bsp
· Quartus Prime Standard Editionソフトウェアの場合: niosv-bsp -c -s=<.sopcinfo file> -t= [オプション] 設定.bsp

既存の .bsp を使用して BSP を生成する file
BSPの更新

Nios V BSP エディター Nios V BSP エディター

niosv-bsp -g [オプション] 設定.bsp niosv-bsp -u [オプション] 設定.bsp

BSPの検査

Nios V BSP エディター

niosv-bsp -q -E= [オプション] 設定.bsp

アプリケーションの作成

niosv-app -a= -b= -s= filesディレクトリ> [オプション]

ユーザーライブラリの作成

niosv-app -l= -s= filesディレクトリ> -p= [オプション]

アプリケーションの変更 ユーザーライブラリの変更 アプリケーションの構築

Altera FPGA 向け RiscFree IDE
Altera FPGA 向け RiscFree IDE
Altera FPGA 向け RiscFree IDE

任意のコマンドラインソースエディタ
任意のコマンドラインソースエディタ
· メイク · cmake

ユーザーライブラリの構築

Altera FPGA 向け RiscFree IDE

· メイク · cmake

アプリケーションELFのダウンロード
.elfの変換 file

Altera FPGA 向け RiscFree IDE

niosv ダウンロード
· elf2flash · elf2hex

関連情報
Altera FPGA 向け Ashli​​ng RiscFree 統合開発環境 (IDE) ユーザーガイド

3.2.1. Nios V プロセッサボードサポートパッケージエディター
Nios V プロセッサ BSP エディタを使用すると、次のタスクを実行できます: · Nios V プロセッサ BSP プロジェクトの作成または変更 · 設定、リンカー領域、およびセクション マッピングの編集 · ソフトウェア パッケージおよびデバイス ドライバの選択。
BSPエディタの機能には、niosv-bspユーティリティの機能が含まれています。BSPエディタで作成されたプロジェクトは、コマンドラインユーティリティを使用して作成することもできます。

Nios® V エンベデッド プロセッサ デザイン ハンドブック 44

フィードバックを送信

3. Nios V プロセッサ ソフトウェア システム設計 726952 | 2025.07.16

注記:

Quartus Prime Standard Edition ソフトウェアの場合、BSP エディター GUI を呼び出す手順については、「AN 980: Nios V プロセッサー Quartus Prime ソフトウェア サポート」を参照してください。

BSPエディターを起動するには、次の手順に従います。1. プラットフォームデザイナーを開き、 File メニュー。
a. 既存のBSP設定を開くには fileで、[開く] をクリックします。 b. 新しい BSP を作成するには、[新規 BSP] をクリックします。 2. [BSP エディター] タブを選択し、適切な詳細を入力します。

図27. BSPエディタの起動

関連情報 AN 980: Nios V プロセッサ Quartus Prime ソフトウェアサポート
3.2.2. Altera FPGA 用 RiscFree IDE
Altera FPGA向けRiscFree IDEは、Nios Vプロセッサ用のEclipseベースのIDEです。Alteraは、以下の理由から、このIDEでNios Vプロセッサソフトウェアを開発することを推奨しています。· 機能はNios Vと互換性があるように開発および検証されています。
プロセッサビルドフロー。 · 必要なツールチェーンとサポートツールをすべて装備しており、
Nios V プロセッサの開発を簡単に開始できます。
関連情報 Ashli​​ng RiscFree 統合開発環境 (IDE) Altera FPGA ユーザーガイド
3.2.3. Nios V ユーティリティツール
コマンドラインで入力したコマンドやスクリプトに埋め込まれたコマンドを使用して、Nios Vプログラムを作成、変更、ビルドできます。このセクションで説明するNios Vコマンドラインツールは、 /niosv/bin ディレクトリ。

フィードバックを送信

Nios® V エンベデッド プロセッサ デザイン ハンドブック 45

3. Nios V プロセッサ ソフトウェア システム設計 726952 | 2025.07.16

表26. Nios Vユーティリティツール

コマンドラインツール

まとめ

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

アプリケーション プロジェクトを生成および構成します。
BSP設定を作成または更新するには file BSPを作成する fileELFをダウンロードするには file Nios® V プロセッサに。
Nios V コマンドシェルを開きます。アプリケーションの .elf でスタックまたはヒープに使用できる残りのメモリ領域を通知します。

3.2.4. File フォーマット変換ツール

File あるユーティリティから別のユーティリティにデータを渡すときに、フォーマット変換が必要になることがあります。 file フォーマット変換ツールは
ソフトウェアインストールディレクトリ>/niosv/binディレクトリ。

表27. File フォーマット変換ツール

コマンドラインツール elf2flash elf2hex

要約.elfを翻訳するには file フラッシュメモリプログラミング用の.srec形式に変換します。.elfファイルを file メモリ初期化のために .hex 形式に変換します。

3.2.5. その他のユーティリティツール

Nios Vプロセッサベースのシステムを構築する際には、以下のコマンドラインツールが必要になる場合があります。これらのコマンドラインツールは、Intelによって提供されているか、 /quartus/bin または以下から取得
オープンソースツール。

表28. その他のコマンドラインツール

コマンドラインツール

タイプ

まとめ

juart-terminal

インテル提供

stdoutとstderrを監視し、Nios® Vプロセッサに入力を提供する
標準入力経由でサブシステムにアクセスできます。このツールはJTAG Nios® V プロセッサに接続されている場合の UART IP。

オープンOCD

Intel 提供の OpenOCD を実行します。

openocd-cfg-gen

Intel提供のOpenOCD構成を生成する file. · Jを表示するTAG チェーンデバイスインデックス。

Nios® V エンベデッド プロセッサ デザイン ハンドブック 46

フィードバックを送信

726952 | 2025.07.16フィードバックを送信
4. Nios Vプロセッサの構成とブートソリューション
Nios Vプロセッサは、異なるメモリ位置からソフトウェアを起動および実行するように構成できます。ブートメモリは、クアッドシリアルペリフェラルインターフェース(QSPI)フラッシュ、オンチップメモリ​​(OCRAM)、または密結合メモリ(TCM)です。
関連情報 · パワーアップトリガー条件 (193ページ) · パワーアップトリガー
パワーアップトリガーの詳細については、こちらをご覧ください。
4.1. はじめに
Nios Vプロセッサは、2種類のブートプロセスをサポートしています。· alt_load()関数を使用したExecute-in-Place(XIP)· ブートコピアを使用したRAMへのプログラムコピー。Nios V組込みプログラム開発は、ハードウェア抽象化レイヤ(HAL)に基づいています。HALは、ブート時にブートメモリから関連するリンカーセクションをランタイムロケーションにコピーする小さなブートローダプログラム(ブートコピアとも呼ばれます)を提供します。ボードサポートパッケージ(BSP)エディタ設定を操作することで、プログラムとデータメモリのランタイムロケーションを指定できます。このセクションでは、次の内容について説明します。· Nios Vプロセッサブートコピアは、以下の手順に従ってNios Vプロセッサシステムをブートします。
ブートメモリの選択 · Nios V プロセッサのブートオプションと一般的なフロー · 選択したブートメモリの Nios V プログラミングソリューション
4.2. アプリケーションのリンク
Nios Vプロセッサプロジェクトを生成すると、BSPエディタは2つのリンカー関連ファイルを生成します。 files: · linker.x: リンカーコマンド file 生成されたアプリケーションのmakefile 用途
.elfバイナリを作成する file. · linker.h: リンカーのメモリレイアウトに関する情報が含まれています。BSPプロジェクトに加えたリンカー設定の変更はすべて、この2つのリンカーファイルの内容に影響します。 fileすべての Nios V プロセッサ アプリケーションには、次のリンカー セクションが含まれています。
© Altera Corporation。Altera、Alteraロゴ、「a」ロゴ、およびその他のAlteraマークは、Altera Corporationの商標です。Alteraは、製品およびサービスを予告なくいつでも変更する権利を留保します。Alteraは、Alteraが書面で明示的に同意した場合を除き、本書に記載されている情報、製品、またはサービスの適用または使用から生じる責任または義務を一切負いません。Alteraのお客様は、公開されている情報に依拠する前、および製品またはサービスを注文する前に、最新のデバイス仕様を入手することをお勧めします。*その他の名称およびブランドは、他者の財産である場合があります。

4. Nios V プロセッサの構成とブートソリューション 726952 | 2025.07.16

表29. リンカーセクション

。文章

リンカーセクション

.rodata

.rwdata

.bss

。ヒープ

。スタック

説明 実行可能コード。プログラム実行時に使用される読み取り専用データ。プログラム実行時に使用される読み取り/書き込みデータが格納されます。初期化されていない静的データが含まれます。動的に割り当てられたメモリが含まれます。関数呼び出しパラメータやその他の一時データが格納されます。

.elfにリンカーセクションを追加することができます file カスタムコードとデータを保持するために、これらのリンカーセクションは、物理メモリデバイスとアドレスに対応するように定義された名前付きメモリ領域に配置されます。デフォルトでは、BSPエディタはこれらのリンカーセクションを自動的に生成します。ただし、特定のアプリケーションに合わせてリンカーセクションを制御することもできます。

4.2.1. リンク動作
このセクションでは、BSP エディターのデフォルトのリンク動作と、リンク動作を制御する方法について説明します。

4.2.1.1. デフォルトのBSPリンク
BSP 構成中に、ツールは次の手順を自動的に実行します。
1. メモリ領域名を割り当てる:各システムメモリデバイスに名前を割り当て、それぞれの名前をリンカーに追加します。 file メモリ領域として。
2. 最大メモリを見つける: リンカー内で最大の読み書きメモリ領域を特定する file.
3. リンカー セクションの割り当て: 前の手順で識別したメモリ領域にデフォルトのリンカー セクション (.text、.rodata、.rwdata、.bss、.heap、および .stack) を配置します。
4. 書き込み files: linker.xとlinker.hを書く files.
通常、リンカー セクション割り当てスキームは、メモリが十分に大きい場合にアプリケーションが機能することが保証されるため、ソフトウェア開発プロセス中に機能します。
デフォルトのリンク動作のルールは、Alteraが生成したTclスクリプトbsp-set-defaults.tclとbsp-linker-utils.tclに含まれています。 /niosv/scripts/bsp-defaults ディレクトリ。niosv-bsp コマンドはこれらのスクリプトを呼び出します。これらのスクリプトを直接変更しないでください。

Nios® V エンベデッド プロセッサ デザイン ハンドブック 48

フィードバックを送信

4. Nios V プロセッサの構成とブートソリューション 726952 | 2025.07.16

4.2.1.2. 設定可能なBSPリンク
BSPエディタのリンカースクリプトタブで、デフォルトのリンク動作を管理できます。リンカースクリプトは以下の方法で操作できます。・メモリ領域の追加:メモリ領域名を物理メモリデバイスにマッピングします。・セクションマッピングの追加:セクション名をメモリ領域にマッピングします。BSP
エディターでは、 view 変更前と変更後のメモリ マップ。

4.3. Nios Vプロセッサのブート方法

Altera FPGAデバイスでNios Vプロセッサを起動するには、いくつかの方法があります。Nios Vプロセッサの起動方法は、フラッシュメモリの選択とデバイスファミリによって異なります。

表30. 対応するブートオプションでサポートされているフラッシュメモリ

サポートされているブートメモリ

デバイス

オンチップフラッシュ(内部構成用)

最大10デバイスのみ(オンチップフラッシュIP搭載)

汎用QSPIフラッシュ(ユーザーデータ専用)

サポートされているすべての FPGA デバイス (汎用シリアル フラッシュ インターフェイス FPGA IP 付き)

構成QSPIフラッシュ(アクティブシリアル構成用)

制御ブロックベース
デバイス(汎用
シリアルフラッシュインターフェイス Intel FPGA IP(2)

Nios V プロセッサのブート方法

アプリケーションランタイムの場所

ブートコピア

Nios V プロセッサアプリケーションはオンチップフラッシュからインプレースで実行されます

オンチップフラッシュ(XIP)+ OCRAM/外部RAM(書き込み可能なデータセクション用)

alt_load() 関数

ブートコピアを使用してオンチップフラッシュから RAM にコピーされた Nios V プロセッサアプリケーション

OCRAM/外部RAM

GSFI経由でブートローダーを再利用する

Nios V プロセッサ アプリケーションは、汎用 QSPI フラッシュからインプレースで実行されます。

汎用QSPIフラッシュ(XIP)+ OCRAM/外部RAM(書き込み可能なデータセクション用)

alt_load() 関数

Nios V プロセッサ アプリケーションをブート コピアを使用して汎用 QSPI フラッシュから RAM にコピーしました。

OCRAM/外部RAM

GSFI経由のブートローダー

Nios V プロセッサアプリケーションは、コンフィギュレーション QSPI フラッシュからインプレースで実行されます。

構成QSPIフラッシュ(XIP)+OCRAM/外部RAM(書き込み可能なデータセクション用)

alt_load() 関数

Nios V プロセッサ アプリケーションをブート コピアを使用して構成 QSPI フラッシュから RAM にコピーしました。

GSFI 経由の OCRAM/外部 RAM ブートローダの続き…

(2)デバイスリストについては、「AN 980: Nios VプロセッサQuartus Primeソフトウェアサポート」を参照してください。

フィードバックを送信

Nios® V エンベデッド プロセッサ デザイン ハンドブック 49

4. Nios V プロセッサの構成とブートソリューション 726952 | 2025.07.16

サポートされているブートメモリ
オンチップメモリ​​(OCRAM)密結合メモリ(TCM)

デバイス
SDMベースのデバイス(Mailbox Client Intel FPGA IP搭載) (2)
サポートされているすべてのAltera FPGAデバイス(2)
サポートされているすべてのAltera FPGAデバイス(2)

Nios V プロセッサのブート方法
Nios V プロセッサ アプリケーションをブート コピアを使用して構成 QSPI フラッシュから RAM にコピーしました。
Nios V プロセッサアプリケーションは OCRAM からインプレース実行します
Nios V プロセッサ アプリケーションは TCM からインプレースで実行されます

アプリケーションランタイムの場所

ブートコピア

OCRAM/SDM経由の外部RAMブートローダ

OCRAM

alt_load() 関数

命令TCM(XIP)なし + データTCM(書き込み可能なデータセクション用)

図28. Nios Vプロセッサのブートフロー

リセット

プロセッサがリセットベクトルにジャンプする(ブートコードの開始)

アプリケーション コードは別のメモリ位置にコピーされる可能性があります (ブート オプションによって異なります)
ブートコードはプロセッサを初期化します

ブートオプションに応じて、ブートコードはデータ/コードの初期値を別のメモリ空間にコピーする場合があります(alt_load)
ブートコードはアプリケーションコードとデータメモリ空間を初期化します
ブートコードはHALドライバ(alt_main)を使用してすべてのシステム周辺機器を初期化します。
メインへの入り口
関連情報 · 汎用シリアルフラッシュインターフェース Altera FPGA IP ユーザーガイド
Nios® V エンベデッド プロセッサ デザイン ハンドブック 50

フィードバックを送信

4. Nios V プロセッサの構成とブートソリューション 726952 | 2025.07.16
· メールボックス クライアント Altera FPGA IP ユーザー ガイド · AN 980: Nios V プロセッサ Quartus Prime ソフトウェア サポート
4.4. Nios Vプロセッサのブート方法の紹介
Nios Vプロセッサシステムでは、プロセッサがアプリケーションプログラムの実行を開始する前に、ソフトウェアイメージをシステムメモリ内に構成する必要があります。デフォルトのリンカーセクションについては、「リンカーセクション」を参照してください。
BSPエディタは、以下の機能を実行するリンカスクリプトを生成します。 · プロセッサソフトウェアがリンカ設定に従ってリンクされていることを確認します。
BSPエディタの命令セットに従って、ソフトウェアがメモリ内のどこに存在するかを決定します。
割り当てられたメモリ コンポーネント。
次のセクションでは、利用可能な Nios V プロセッサのブート方法について簡単に説明します。
4.4.1. Nios V プロセッサアプリケーションをブートフラッシュから実行
アルテラは、システムリセット時にメモリコントローラやメモリデバイスを初期化することなく、Nios Vプロセッサがブートフラッシュアドレス空間に即座にアクセスできるようにフラッシュコントローラを設計しました。これにより、Nios Vプロセッサは、ブートコピアを使用してコードを別のメモリタイプにコピーすることなく、ブートデバイスに格納されたアプリケーションコードを直接実行できます。フラッシュコントローラは以下のとおりです。· オンチップフラッシュIPを備えたオンチップフラッシュ(MAX® 10デバイスのみ)· 汎用QSPIフラッシュと汎用シリアルフラッシュインタフェースIP· コンフィギュレーションQSPIフラッシュと汎用シリアルフラッシュインタフェースIP(MAX 10を除く)
デバイス)
Nios Vプロセッサアプリケーションがブートフラッシュからインプレース実行される場合、BSPエディタは次の機能を実行します。· .textリンカーセクションをブートフラッシュメモリ領域に設定します。· .bss、.rodata、.rwdata、.stack、および.heapリンカーセクションをRAMに設定します。
メモリ領域。システムリセット時にデータセクション(.rodata、.rwdata、.exceptions)をRAMにコピーするには、BSP設定でalt_load()関数を有効にする必要があります。コードセクション(.text)はブートフラッシュメモリ領域に残ります。
関連情報 · 汎用シリアルフラッシュインタフェース Altera FPGA IP ユーザーガイド · Altera MAX 10 ユーザーフラッシュメモリ ユーザーガイド
4.4.1.1. alt_load()
BSP エディタを使用して、HAL コードで alt_load() 関数を有効にすることができます。
execute-in-place ブートフロー内で使用される場合、alt_load() 関数は次のタスクを実行します。

フィードバックを送信

Nios® V エンベデッド プロセッサ デザイン ハンドブック 51

4. Nios V プロセッサの構成とブートソリューション 726952 | 2025.07.16

· BSP 設定に基づいてメモリ セクションを RAM にコピーするミニ ブート コピアとして動作します。
· データセクション(.rodata、.rwdata、.exceptions)をRAMにコピーしますが、コードセクション(.text)はコピーしません。コードセクション(.text)は読み取り専用セクションであり、ブートフラッシュメモリ領域に残ります。このパーティション分割によりRAM使用量を最小限に抑えることができますが、フラッシュメモリへのアクセスはオンチップRAMへのアクセスよりも遅いため、コード実行パフォーマンスが制限される可能性があります。

次の表は、BSP エディターの設定と機能の一覧です。

表31. BSPエディタの設定
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

関数は alt_load() 関数を有効にします。alt_load() は .rodata セクションを RAM にコピーします。alt_load() は .rwdata セクションを RAM にコピーします。alt_load() は .exceptions セクションを RAM にコピーします。

4.4.2. ブートコピアを使用してブートフラッシュから RAM にコピーされた Nios V プロセッサアプリケーション
Nios V プロセッサと HAL には、ほとんどの Nios V プロセッサ アプリケーションに十分な機能を提供し、Nios V ソフトウェア開発フローで実装するのに便利なブート コピアが含まれています。
アプリケーションがブートコピアを使用する場合、すべてのリンカーセクション(.text、.heap、.rwdata、.rodata、.bss、.stack)が内部または外部RAMに設定されます。ブートコピアを使用してNios Vプロセッサアプリケーションをブートフラッシュから内部または外部RAMにコピーし、実行することで、実行パフォーマンスが向上します。
このブートオプションでは、Nios Vプロセッサはシステムリセット時にブートコピアソフトウェアの実行を開始します。このソフトウェアは、ブートフラッシュから内部または外部RAMにアプリケーションをコピーします。プロセスが完了すると、Nios Vプロセッサはプログラム制御をアプリケーションに引き渡します。

注記:

ブート コピアがフラッシュ内にある場合、alt_load() 関数は両方とも同じ目的を果たすため、呼び出す必要はありません。

4.4.2.1. 汎用シリアルフラッシュインターフェース経由のNios Vプロセッサブートローダ
GSFI経由ブートローダは、制御ブロックベースのデバイスにおけるQSPIフラッシュメモリをサポートするNios Vプロセッサのブートコピアです。GSFI経由ブートローダには、以下の機能が含まれています。
· 不揮発性メモリ内のソフトウェア アプリケーションを検索します。
· ソフトウェア アプリケーション イメージを解凍して RAM にコピーします。
· コピーが完了すると、プロセッサの実行が RAM 内のアプリケーション コードに自動的に切り替わります。

Nios® V エンベデッド プロセッサ デザイン ハンドブック 52

フィードバックを送信

4. Nios V プロセッサの構成とブートソリューション 726952 | 2025.07.16

ブートイメージはブートコピアの直後に配置されます。Nios Vプロセッサのリセットオフセットがブートコピアの先頭を指していることを確認する必要があります。図:GSFI経由ブートローダを使用したQSPIフラッシュのメモリマップは、ブートコピア使用時のQSPIフラッシュのフラッシュメモリマップを示しています。このメモリマップは、フラッシュメモリにFPGAイメージとアプリケーションソフトウェアが格納されていることを前提としています。

表32. Nios Vプロセッサコア用GSFI経由ブートローダ

Nios V プロセッサ コア
Nios V/m プロセッサ

GSFI経由のブートローダー File 位置
/niosv/components/bootloader/ niosv_m_bootloader.srec

Nios V/g プロセッサ

/niosv/components/bootloader/ niosv_g_bootloader.srec

図29. GSFI経由のブートローダ付きQSPIフラッシュのメモリマップ

顧客データ (*.hex)

アプリケーションコード

注記:

ベクトルオフセットをリセット

ブートコピア

0x01E00000

FPGA イメージ (*.sof)

0x00000000

1. メモリ マップの先頭には FPGA イメージがあり、その後にブート コピアとアプリケーション コードで構成されるデータが続きます。
2. Platform Designer で Nios V プロセッサのリセット オフセットを設定し、ブート コピアの開始を指すようにする必要があります。
3. FPGAイメージのサイズは不明です。正確なサイズはQuartus Primeプロジェクトのコンパイル後にのみわかります。Altera FPGAイメージのサイズの上限を決定する必要があります。例えば、ampたとえば、FPGA イメージのサイズが 0x01E00000 未満であると推定される場合は、Platform Designer でリセット オフセットを 0x01E00000 に設定します。これは、ブート コピアの開始でもあります。
4. 優れた設計方法としては、ソフトウェア アプリケーションが更新された場合に FPGA イメージが部分的に消去されないように、フラッシュ セクター境界にリセット ベクター オフセットを設定することが挙げられます。

フィードバックを送信

Nios® V エンベデッド プロセッサ デザイン ハンドブック 53

4. Nios V プロセッサの構成とブートソリューション 726952 | 2025.07.16

4.4.2.2. セキュアデバイスマネージャー経由のNios Vプロセッサブートローダー
セキュア・デバイス・マネージャ(SDM)経由のブートローダは、プロセッサのブートにMailbox Client Altera FPGA IP HALドライバを利用するHALアプリケーションコードです。Alteraは、SDMベースのデバイスでコンフィグレーションQSPIフラッシュを使用してNios Vプロセッサをブートする場合、このブートローダアプリケーションを推奨しています。
システムをリセットすると、Nios V プロセッサは最初に小さなオンチップ メモリから SDM 経由でブートローダを起動し、SDM 経由でブートローダを実行して、メールボックス クライアント IP を使用して構成 QSPI フラッシュと通信します。
SDM経由のブートローダは、以下のタスクを実行します。 · コンフィギュレーションQSPIフラッシュ内のNios Vソフトウェアを検索します。 · Nios VソフトウェアをオンチップRAMまたは外部RAMにコピーします。 · プロセッサの実行をオンチップRAMまたは外部RAM内のNios Vソフトウェアに切り替えます。
外部 RAM。
プロセスが完了すると、SDM経由のブートローダはプログラム制御をユーザーアプリケーションに引き渡します。Alteraは、「SDM経由のブートローダのメモリ構成」に概説されているメモリ構成を推奨します。
図30. SDM経由のブートローダのプロセスフロー

構成

フラッシュ

2

Nios V ソフトウェア

教育

SDMベースのFPGAデバイス

メールボックスクライアントIP

FPGAロジックNios V

4 外部 RAM
Nios V ソフトウェア

オンチップ4

EMIF

ラム

オンチップメモリ

IP

ニオス5世

1

ソフトウェア

SDM経由のブートローダー

3

3

1. Nios V プロセッサは、オンチップ メモリから SDM を介してブートローダを実行します。
2. SDM 経由のブートローダーはコンフィギュレーション フラッシュと通信し、Nios V ソフトウェアを見つけます。
3. SDM 経由のブートローダは、Nios V ソフトウェアをコンフィギュレーション フラッシュからオンチップ RAM/外部 RAM にコピーします。
4. SDM 経由のブートローダーは、Nios V プロセッサの実行をオンチップ RAM/外部 RAM 内の Nios V ソフトウェアに切り替えます。

4.4.3. Nios V プロセッサアプリケーションの OCRAM からの Execute-In-Place
この方法では、Nios Vプロセッサのリセットアドレスはオンチップメモリ​​(OCRAM)のベースアドレスに設定されます。アプリケーションバイナリ(.hex)は file Quartus Primeソフトウェアでハードウェア設計がコンパイルされた後、FPGAがコンフィギュレーションされると、OCRAMにロードされます。Nios Vプロセッサがリセットされると、アプリケーションは実行を開始し、エントリポイントに分岐します。

Nios® V エンベデッド プロセッサ デザイン ハンドブック 54

フィードバックを送信

4. Nios V プロセッサの構成とブートソリューション 726952 | 2025.07.16

注記:

· OCRAM からの Execute-In-Place では、システム リセット時に Nios V プロセッサ アプリケーションがすでに配置されているため、ブート コピアは必要ありません。
· Altera では、FPGA デバイス イメージを再構成せずにリセットしたときに組み込みソフトウェアが同じように動作するように、このブート方法で alt_load() を有効にすることを推奨しています。
· システムリセット時に.rwdataセクションをコピーするには、BSP設定でalt_load()関数を有効にする必要があります。この方法では、初期化された変数の初期値は、プログラム実行時に上書きされないように、対応する変数とは別に保存されます。

4.4.4. Nios V プロセッサアプリケーションの TCM からの Execute-In-Place
実行インプレース方式では、Nios Vプロセッサのリセットアドレスを密結合メモリ(TCM)のベースアドレスに設定します。アプリケーションバイナリ(.hex) file Quartus Primeソフトウェアでハードウェア設計をコンパイルした後、FPGAをコンフィギュレーションすると、TCMにロードされます。Nios Vプロセッサがリセットされると、アプリケーションは実行を開始し、エントリポイントに分岐します。

注記:

TCM からの Execute-In-Place では、システム リセット時に Nios V プロセッサ アプリケーションがすでに配置されているため、ブート コピアは必要ありません。

4.5. オンチップフラッシュ(UFM)からのNios Vプロセッサのブート

Nios Vプロセッサは、MAX 10 FPGAデバイスでオンチップフラッシュ(UFM)からのソフトウェアのブートと実行が可能です。Nios Vプロセッサは、内部コンフィグレーション・モードにおいて、オンチップフラッシュを使用した以下のXNUMXつのブートオプションをサポートしています。
· Nios V プロセッサ アプリケーションは、オンチップ フラッシュからインプレースで実行されます。
· Nios V プロセッサ アプリケーションは、ブート コピアを使用してオンチップ フラッシュから RAM にコピーされます。

表33. 対応するブートオプションでサポートされているフラッシュメモリ

サポートされているブートメモリ

Nios V のブート方法

アプリケーションランタイムの場所

ブートコピア

MAX 10デバイスのみ(OnChip Flash IP搭載)

Nios V プロセッサアプリケーションはオンチップフラッシュからインプレースで実行されます
ブートコピアを使用してオンチップフラッシュから RAM にコピーされた Nios V プロセッサアプリケーション

オンチップフラッシュ(XIP)+ OCRAM/外部RAM(書き込み可能なデータセクション用)

alt_load() 関数

OCRAM/ 外部 RAM

GSFI経由でブートローダーを再利用する

フィードバックを送信

Nios® V エンベデッド プロセッサ デザイン ハンドブック 55

4. Nios V プロセッサの構成とブートソリューション 726952 | 2025.07.16

図31.

設計、構成、および起動フロー
設計 · プラットフォーム デザイナーを使用して、Nios V プロセッサー ベースのプロジェクトを作成します。 · システム設計に外部 RAM またはオンチップ RAM があることを確認します。

FPGAの構成とコンパイル
· Platform Designer と Quartus Prime ソフトウェアで、オンチップ フラッシュ IP に同じ内部コンフィグレーション モードを設定します。 · Nios V プロセッサ リセット エージェントをオンチップ フラッシュに設定します。 · 希望する UFM 初期化方法を選択します。 · Platform Designer でデザインを生成します。 · Quartus Prime ソフトウェアでプロジェクトをコンパイルします。

ユーザーアプリケーション BSP プロジェクト · .sopcinfo をベースにした Nios V プロセッサ HAL BSP の作成 file プラットフォーム デザイナーによって作成されます。 · BSP エディターで Nios V プロセッサーの BSP 設定とリンカー スクリプトを編集します。 · BSP プロジェクトを生成します。
ユーザーアプリケーションAPPプロジェクト · Nios Vプロセッサアプリケーションコードを開発します。 · Nios Vプロセッサアプリケーションをコンパイルし、Nios Vプロセッサアプリケーション(.hex)を生成します。 file・Intel FPGA On-Chip Flash IP の Initialize Memory Content オプションをオンにした場合は、Quartus Prime ソフトウェアでプロジェクトを再コンパイルします。

プログラミング Files 変換、ダウンロード、実行 · オンチップフラッシュ .pof の生成 file 変換プログラミングを使用する FileQuartus Prime ソフトウェアの機能。
· .pof をプログラムする file MAX 10 デバイスにインストールします。 · ハードウェアの電源を入れ直します。
4.5.1. MAX 10 FPGAオンチップフラッシュの説明
MAX 10 FPGAデバイスには、XNUMXつの部分に分割されたオンチップフラッシュが搭載されています。 · 構成フラッシュメモリ(CFM)—ハードウェア構成データを保存します。
MAX 10 FPGA。· ユーザー フラッシュ メモリ (UFM) — ユーザー データまたはソフトウェア アプリケーションを保存します。
MAX 10デバイスのUFMアーキテクチャは、ソフトIPとハードIPを組み合わせたものです。UFMにアクセスするには、Quartus Primeソフトウェアのオンチップ・フラッシュIPコアを使用する必要があります。
オンチップフラッシュIPコアは、以下の機能をサポートしています: · UFMおよびCFM(プラットフォームデザイナーで有効になっている場合)セクターへの読み取りまたは書き込みアクセス
Avalon MMデータおよび制御スレーブインターフェースを使用します。 · ページ消去、セクター消去、セクター書き込みをサポートします。 · さまざまなEDAシミュレーションツールを使用したUFM読み取り/書き込みアクセスのシミュレーションモデル。

Nios® V エンベデッド プロセッサ デザイン ハンドブック 56

フィードバックを送信

4. Nios V プロセッサの構成とブートソリューション 726952 | 2025.07.16

表34. MAX 10 FPGAデバイスのオンチップフラッシュ領域

フラッシュ領域

機能性

コンフィギュレーションフラッシュメモリ(セクターCFM0-2)

FPGA 構成 file ストレージ

ユーザーフラッシュメモリ(セクターUFM0-1)

Nios V プロセッサのアプリケーションとユーザーデータ

MAX 10 FPGAデバイスは複数のコンフィグレーション・モードをサポートしており、これらのモードの一部ではCFM1とCFM2を追加のUFM領域として使用できます。次の表は、MAX 10 FPGAのコンフィグレーション・モードに基づいたFPGAコンフィグレーション・イメージの保存場所を示しています。

表35. FPGA構成イメージの保存場所

設定モード デュアル圧縮画像

CFM2 圧縮画像 2

CFM1

CFM0 圧縮画像 1

単一の非圧縮画像

バーチャルUFM

非圧縮画像

メモリ初期化を含む単一の非圧縮画像

非圧縮画像(オンチップメモリ​​の内容を事前に初期化したもの)

メモリ初期化を含む単一の圧縮イメージ 圧縮イメージ(オンチップメモリ​​のコンテンツが事前に初期化されている)

単一の圧縮画像

バーチャルUFM

圧縮画像

MAX 10 FPGAのフラッシュメモリにアクセスするには、オンチップ・フラッシュIPコアを使用する必要があります。オンチップ・フラッシュIPをインスタンス化し、Quartus Primeソフトウェアに接続することができます。Nios Vソフトコアプロセッサは、Platform Designerインターコネクトを使用してオンチップ・フラッシュIPと通信します。
図32. オンチップフラッシュIPとNios Vプロセッサ間の接続

注記:

プロセッサが書き込みおよび消去操作を制御できるようにするには、オンチップ フラッシュ csr ポートが Nios V プロセッサの data_manager に接続されていることを確認します。
オンチップ フラッシュ IP コアは、UFM0、UFM1、CFM0、CFM1、CFM2 の XNUMX つのフラッシュ セクターへのアクセスを提供できます。
UFM および CFM セクターに関する重要な情報: · CFM セクターは、構成 (ビットストリーム) データ (*.pof) の保存を目的としています。
· プラットフォーム デザイナー ツールで正しい設定が選択されている場合、ユーザー データは UFM セクターに保存され、非表示にすることができます。
· 一部のデバイスにはUFM1セクターがありません。各MAX 10 FPGAデバイスで利用可能なセクターについては、「UFMおよびCFMセクターサイズ」表を参照してください。

フィードバックを送信

Nios® V エンベデッド プロセッサ デザイン ハンドブック 57

4. Nios V プロセッサの構成とブートソリューション 726952 | 2025.07.16

· 単一の非圧縮イメージ設定モードを選択すると、CFM2 を仮想 UFM として設定できます。
· 単一の非圧縮イメージ設定モードを選択すると、CFM2 と CFM1 を仮想 UFM として設定できます。
· 各セクターのサイズは、選択した MAX 10 FPGA デバイスによって異なります。

表36.

UFMとCFMセクターサイズ
この表には、UFM アレイと CFM アレイの寸法がリストされています。

デバイス

セクターあたりのページ数

UFM1 UFM0 CFM2 CFM1 CFM0

ページサイズ(Kbit)

最大ユーザー
フラッシュメモリサイズ(Kビット)(3)

合計構成メモリサイズ(Kbit)

10M02 3

3

0

0

34 16

96

544

10M04 0

8

41 29 70 16

1248

2240

10M08 8

8

41 29 70 16

1376

2240

10M16 4

4

38 28 66 32

2368

4224

10M25 4

4

52 40 92 32

3200

5888

10M40 4

4

48 36 84 64

5888

10752

10M50 4

4

48 36 84 64

5888

10752

OCRAM サイズ (Kbit)
108 189 378 549 675 1260 1638

関連情報 · MAX 10 FPGA コンフィギュレーション ユーザーガイド · Altera MAX 10 ユーザーフラッシュメモリ ユーザーガイド

4.5.2. Nios V プロセッサ アプリケーションを UFM から実行

UFMからのExecute-In-Placeソリューションは、オンチップメモリ​​の使用量が制限されるNios Vプロセッサアプリケーションに適しています。alt_load()関数は、BSP設定に基づいてブートメモリからRAMへデータセクション(.rodata、.rwdata、または.exceptions)をコピーするミニブートコピアとして動作します。コードセクション(.text)は、
読み出し専用セクションであるメモリは、MAX 10オンチップフラッシュメモリ領域に残ります。この設定によりRAM使用量は最小限に抑えられますが、フラッシュメモリへのアクセスはオンチップRAMよりも遅いため、コード実行パフォーマンスが制限される可能性があります。

Nios VプロセッサのアプリケーションはUFMセクターにプログラムされています。Nios Vプロセッサのリセットベクターは、システムのリセット後にUFMからコードを実行するために、UFMベースアドレスを指します。

ソースレベルデバッガを使用してアプリケーションをデバッグする場合は、ハードウェアブレークポイントを使用する必要があります。これは、UFMがソフトブレークポイントデバッグに必要なランダムメモリアクセスをサポートしていないためです。

注記:

MAX 10 でインプレース実行を実行している間は、UFM を消去または書き込むことはできません。UFM を消去または書き込む必要がある場合は、ブート コピア アプローチに切り替えてください。

(3) 選択した設定モードによって異なる最大値。

Nios® V エンベデッド プロセッサ デザイン ハンドブック 58

フィードバックを送信

4. Nios V プロセッサの構成とブートソリューション 726952 | 2025.07.16

図33. UFMからのNios VプロセッサアプリケーションXIP

最大10台のデバイス

.POF
Nios V ハードウェア .SOF
Nios V ソフトウェア .HEX

Quartusプログラマー

オンチップフラッシュ

CFM

Nios V ハードウェア

ユーエムエフ

Nios V ソフトウェア

内部構成

オンチップフラッシュIP

FPGAロジック
Nios V プロセッサ

オンチップRAM

外部の

ラム

EMIF

IP

4.5.2.1. ハードウェア設計フロー
以下のセクションでは、オンチップフラッシュからNios Vプロセッサアプリケーション用のブート可能なシステムを構築する手順を段階的に説明します。amp以下のファイルは MAX 10 デバイスを使用して構築されています。
IPコンポーネント設定
1. Quartus PrimeとPlatform Designerを使用してNios Vプロセッサプロジェクトを作成します。2. 外部RAMまたはオンチップメモリ​​(OCRAM)がプラットフォームに追加されていることを確認します。
デザイナーシステム。

フィードバックを送信

Nios® V エンベデッド プロセッサ デザイン ハンドブック 59

4. Nios V プロセッサの構成とブートソリューション 726952 | 2025.07.16
図34.例ampプラットフォーム デザイナーで OnChip Flash (UFM) から Nios V を起動するための IP 接続を有効にする

3. オンチップフラッシュIPパラメータエディタで、設計の好みに応じて、コンフィギュレーションモードを次のいずれかに設定します。 · 単一の非圧縮イメージ · 単一の圧縮イメージ · メモリ初期化を伴う単一の非圧縮イメージ · メモリ初期化を伴う単一の圧縮イメージ
デュアル圧縮イメージの詳細については、『MAX 10 FPGA 構成ユーザー ガイド – リモート システム アップグレード』を参照してください。

注記:

オンチップ フラッシュ IP 内のすべての CFM 領域に隠しアクセスを割り当てる必要があります。

図35. オンチップフラッシュパラメータエディタにおけるコンフィギュレーションモードの選択

オンチップフラッシュ IP 設定 - UFM 初期化 好みに応じて次のいずれかの方法を選択できます。

Nios® V エンベデッド プロセッサ デザイン ハンドブック 60

フィードバックを送信

4. Nios V プロセッサの構成とブートソリューション 726952 | 2025.07.16

注記:

後続のサブチャプター (ソフトウェア設計フローおよびプログラミング) の手順は、ここでの選択内容によって異なります。

· 方法1: コンパイル時にSOF内のUFMデータを初期化する
Quartus Primeはコンパイル時にUFM初期化データをSOFに含めます。UFMデータに変更があった場合は、SOFの再コンパイルが必要です。
1. フラッシュコンテンツの初期化とデフォルト以外の初期化を有効にするをチェックします file.

図36. フラッシュコンテンツの初期化とデフォルト以外の初期化の有効化 File

2. 生成された.hexのパスを指定する file (elf2hexコマンドから)ユーザーが作成したXNUMX進数またはmifファイル file.
図37. .hexの追加 File パス

· 方法2: POF生成中にUFMデータとコンパイルされたSOFを組み合わせる
UFMデータは、プログラミングを変換するときにコンパイルされたSOFと結合されます。 fileUFMデータが変更された場合でも、SOFを再コンパイルする必要はありません。開発中はSOFを再コンパイルする必要はありません。 fileアプリケーションの変更を監視できます。Alteraは、アプリケーション開発者にこの方法を推奨しています。
1. 「フラッシュ コンテンツを初期化する」のチェックを外します。
図38. デフォルト以外の初期化によるFlashコンテンツの初期化 File

Nios V プロセッサの Execute-In-Place メソッドのエージェント設定をリセットする
1. Nios V プロセッサ パラメータ エディタで、リセット エージェントをオンチップ フラッシュに設定します。
図39. リセットエージェントをオンチップフラッシュに設定したNios Vプロセッサパラメータエディタの設定

2. 生成ダイアログボックスが表示されたら、「HDL生成」をクリックします。3. 出力を指定します。 file 生成オプションを選択し、[生成] をクリックします。

フィードバックを送信

Nios® V エンベデッド プロセッサ デザイン ハンドブック 61

4. Nios V プロセッサの構成とブートソリューション 726952 | 2025.07.16
Quartus Primeソフトウェアの設定 1. Quartus Primeソフトウェアで、「割り当て」→「デバイス」→「デバイスとピン」をクリックします。
オプション設定。オンチップフラッシュIPの設定に従ってコンフィギュレーションモードを設定します。図40. Quartus Primeソフトウェアにおけるコンフィギュレーションモードの選択

2. 「OK」をクリックしてデバイスとピンのオプションウィンドウを終了します。
3. [OK] をクリックしてデバイス ウィンドウを終了します。
4. 「処理開始コンパイル」をクリックしてプロジェクトをコンパイルし、.sofファイルを生成します。 file.

注記:

Quartus Prime ソフトウェアと Platform Designer パラメータ エディタのコンフィギュレーション モード設定が異なる場合、Quartus Prime プロジェクトは次のエラー メッセージを表示して失敗します。

図41.

異なるコンフィギュレーションモード設定に関するエラーメッセージ エラー (14740): アトム「q_sys:q_sys_inst| altera_onchip_flash:onchip_flash_1|altera_onchip_flash_block: altera_onchip_flash_block|ufm_block」のコンフィギュレーションモードがプロジェクト設定と一致していません。プロジェクト設定に合わせてQsysシステムを更新し、再生成してください。

関連情報 MAX 10 FPGA コンフィギュレーション・ユーザーガイド

4.5.2.2. ソフトウェア設計フロー
このセクションでは、Nios Vプロセッサのソフトウェアプロジェクトを生成およびビルドするための設計フローを説明します。ビルドフローを効率化するために、設計プロジェクト内に同様のディレクトリツリーを作成することをお勧めします。以下のソフトウェア設計フローは、このディレクトリツリーに基づいています。
ソフトウェア プロジェクト ディレクトリ ツリーを作成するには、次の手順に従います。1. 設計プロジェクト フォルダーに、software というフォルダーを作成します。2. software フォルダーに、hal_app と hal_bsp という XNUMX つのフォルダーを作成します。
図42. ソフトウェアプロジェクトのディレクトリツリー

Nios® V エンベデッド プロセッサ デザイン ハンドブック 62

フィードバックを送信

4. Nios V プロセッサの構成とブートソリューション 726952 | 2025.07.16
アプリケーションBSPプロジェクトの作成
BSPエディタを起動するには、次の手順に従います。1. Nios Vコマンドシェルに入ります。2. niosv-bsp-editorコマンドでBSPエディタを起動します。3. BSPエディタで、 File BSP プロジェクトを開始するための新しい BSP。4. 次の設定を構成します。
· SOPC情報 File 名前: SOPCINFOを指定します file (.sopcinfo)。· CPU名: Nios Vプロセッサを選択します。· オペレーティングシステム: Nios Vプロセッサのオペレーティングシステムを選択します。· バージョン: デフォルトのままにします。· BSPターゲットディレクトリ: BSPプロジェクトのディレクトリパスを選択します。
事前に設定/software/hal_bsp を「デフォルトの場所を使用する」を有効にして削除します。 · BSP 設定 File 名前: BSP設定の名前を入力します File. · 追加の Tcl スクリプト: [追加の Tcl スクリプトを有効にする] を有効にして、BSP Tcl スクリプトを指定します。5. [OK] をクリックします。
図43. 新しいBSPの構成

BSPエディタの設定とBSPプロジェクトの生成
プロセッサの例外ベクターは、設計設定に応じてオンチップメモリ​​(OCRAM)またはオンチップフラッシュメモリのいずれかに定義できます。割り込み処理を高速化するため、例外ベクターメモリをOCRAM/外部RAMに設定することをお勧めします。1. メイン設定 > 詳細設定 > hal.linkerを開きます。2. 例外ベクターとしてオンチップフラッシュメモリを選択した場合は、
a. 次の設定を有効にします。

フィードバックを送信

Nios® V エンベデッド プロセッサ デザイン ハンドブック 63

4. Nios V プロセッサの構成とブートソリューション 726952 | 2025.07.16
· allow_code_at_reset · enable_alt_load · enable_alt_load_copy_rodata · enable_alt_load_copy_rwdata 図44. Advanced.hal.linker設定

b. BSPエディタのリンカースクリプトタブをクリックします。c. リンカーセクション名の.exceptionsと.text領域を次のように設定します。
d. リンカーセクション名リストの残りの領域をオンチップフラッシュに設定します。
メモリ (OCRAM) または外部 RAM。
図45. リンカー領域設定(例外ベクターメモリ:オンチップフラッシュ)

3. 例外ベクトルとしてOCRAM/外部RAMを選択した場合は、次の設定を有効にします。 · allow_code_at_reset · enable_alt_load · enable_alt_load_copy_rodata · enable_alt_load_copy_rwdata · enable_alt_load_copy_exception
図46. リンカー領域設定(例外ベクターメモリ:OCRAM/外部RAM)

b. BSP エディターのリンカー スクリプト タブをクリックします。
c. リンカーセクション名の.text領域をオンチップフラッシュに設定します。
d. リンカー セクション名リストの残りの領域をオンチップ メモリ (OCRAM) または外部 RAM に設定します。

Nios® V エンベデッド プロセッサ デザイン ハンドブック 64

フィードバックを送信

4. Nios V プロセッサの構成とブートソリューション 726952 | 2025.07.16
図47. リンカー領域の設定(例外ベクターメモリ:OCRAM)
4. 「生成」をクリックしてBSPプロジェクトを生成します。ユーザーアプリケーションプロジェクトの生成 File 1. software/hal_appフォルダに移動し、アプリケーションソースを作成します。
コード。2. Nios V コマンド シェルを起動します。3. 以下のコマンドを実行して、アプリケーション CMakeLists.txt を生成します。
niosv-app –app-dir=software/hal_app –bsp-dir=software/hal_bsp –srcs=software/hal_app/
ユーザーアプリケーションプロジェクトのビルド ユーザーアプリケーションプロジェクトのビルドは、Altera FPGA用のAshli​​ng RiscFree IDEを使用するか、コマンドラインインターフェース(CLI)を使用して行うことができます。CLIを使用する場合は、以下のコマンドでユーザーアプリケーションをビルドできます:cmake -G “Unix Makefiles” -B ソフトウェア/hal_app/ビルド -S ソフトウェア/hal_app メイク -C ソフトウェア/hal_app/ビルド
アプリケーション(.elf) file software/hal_app/buildフォルダに作成されます。HEXを生成する File .hexを生成する必要があります file アプリケーションの.elfから file.pofファイルを作成できる file デバイスのプログラミングに適したもの。1. Nios Vコマンドシェルを起動します。2. オンチップフラッシュからNios Vプロセッサアプリケーションを起動するには、次のものを使用します。
アプリケーション用にELFをHEXに変換するコマンドライン。このコマンドはユーザーアプリケーション(onchip_flash.hex)を作成します。 file. elf2hex ソフトウェア/hal_app/ビルド/ .elf -o onchip_flash.hex
-b -w 8 -e 3. オンチップフラッシュIPのメモリ内容を初期化するオプションにチェックを入れている場合は、ハードウェア設計を再コンパイルします(方法1)。これは、ソフトウェアデータ(.HEX)をSOFファイルに含めるためです。 file.

フィードバックを送信

Nios® V エンベデッド プロセッサ デザイン ハンドブック 65

4. Nios V プロセッサの構成とブートソリューション 726952 | 2025.07.16
4.5.2.3. プログラミング 1. Quartus Primeで、 File 変換プログラミング File2. 出力プログラミング file、プログラマオブジェクトを選択 File (.pof) プログラミング file タイプ。3. モードを内部構成に設定します。
図48. 変換プログラミング File 設定
4. オプション/ブート情報…をクリックすると、MAX 10デバイスオプションウィンドウが表示されます。5. オンチップフラッシュIPのフラッシュコンテンツの初期化設定に基づいて、以下の手順を実行します。
次のいずれかの手順を実行します。 · フラッシュコンテンツの初期化がチェックされている場合(方法1)、UFM初期化データ
Quartus Primeのコンパイル中にSOFに含まれていました。— UFMソースオプションでPage_0を選択します。[OK]をクリックして、
図49. Flashコンテンツの初期化がチェックされている場合にUFMソースにPage_0を設定する

Nios® V エンベデッド プロセッサ デザイン ハンドブック 66

フィードバックを送信

4. Nios V プロセッサの構成とブートソリューション 726952 | 2025.07.16
· フラッシュコンテンツの初期化がチェックされていない場合(方法2)、メモリのロードを選択します。 file UFMソースオプションについては、生成されたオンチップフラッシュHEXを参照します。 file (onchip_flash.hex) の File パス: を選択し、[OK]をクリックします。この手順により、UFMデータがSOFに別途追加されます。 file プログラミング中 file 変換。
図50. ロードメモリの設定 File UFMソースの場合、Flashコンテンツの初期化がチェックされていない場合

6. 変換プログラミング File ダイアログボックスの入力 file変換するセクションを追加をクリックします File…そして生成されたQuartus Prime .sofを参照します file.
図51. 入力 File変換プログラミングで変換する Fileシングルイメージモード

7. 「生成」をクリックして.pofを作成します。 file8. .pofをプログラムする file MAX 10 デバイスに挿入します。9. ハードウェアの電源を入れ直します。

4.5.3. ブートコピアを使用して UFM から RAM にコピーされた Nios V プロセッサアプリケーション

アルテラは、アプリケーションソフトウェア開発の複数回の反復と高いシステム性能が求められるMAX 10 FPGA Nios Vプロセッサシステム設計に、このソリューションを推奨します。ブートコピアは、UFM内のリセットベクターと同じアドレスのオフセットに配置されています。Nios Vアプリケーションは、ブートコピアの隣に配置されています。

このブートオプションでは、Nios Vプロセッサはシステムリセット時にブートコピアの実行を開始し、アプリケーションをUFMセクターからOCRAMまたは外部RAMにコピーします。コピーが完了すると、Nios Vプロセッサはプログラム制御をアプリケーションに引き渡します。

注記:

適用されるブートコピアは、GSFI 経由のブートローダと同じです。

フィードバックを送信

Nios® V エンベデッド プロセッサ デザイン ハンドブック 67

4. Nios V プロセッサの構成とブートソリューション 726952 | 2025.07.16

図52. ブートコピアを使用してUFMからRAMにコピーされたNios Vアプリケーション

最大10台のデバイス

.POF
Nios V ハードウェア .SOF
Nios V ソフトウェア .HEX
ブートローダー .SREC

Quartusプログラマー

外部RAM
Nios V ソフトウェア

オンチップフラッシュ

CFM

ニオスVハードワ

ドキュメント / リソース

アルテラ Nios V 組み込みプロセッサ [pdf] ユーザーガイド
Nios V、Nios Vm、Nios Vg、Nios Vc、Nios V 組み込みプロセッサ、Nios V、組み込みプロセッサ、プロセッサ

参考文献

コメントを残す

あなたのメールアドレスは公開されません。 必須項目はマークされています *