Microsemi AC490 RTG4 FPGA: Mi-V プロセッサ サブシステムの構築
改訂履歴
改訂履歴には、ドキュメントに実装された変更内容が記述されます。変更内容は、最新の出版物から順に改訂順にリストされます。
改訂 3.0
以下は、この改訂で行われた変更の概要です。
- Libero SoC v2021.2 のドキュメントを更新しました。
- 1 ページの図 3 から 3 ページの図 5 を更新。
- 4 ページの図 5、5 ページの図 7、および 18 ページの図 17 を差し替え。
- 2 ページの表 6 および 3 ページの表 7 を更新。
- 付録 1: FlashPro Express を使用したデバイスのプログラミング、ページ 14 を追加。
- 「付録 3: TCL スクリプトの実行」 (20 ページ) を追加。
- Libero のバージョン番号への参照を削除しました。
改訂 2.0
以下は、この改訂で行われた変更の概要です。
- ハードウェアのセットアップ、ページ 9 に COM ポートの選択に関する情報を追加しました。
- デモの実行、ページ 11 で適切な COM ポートを選択する方法を更新しました。
改訂 1.0
ドキュメントの最初の発行。
Mi-V プロセッサ サブシステムの構築
Microchip 社は、Mi-V プロセッサ IP、32 ビット RISC-V プロセッサ、および RISC-V プロセッサ ベースの設計を開発するためのソフトウェア ツールチェーンを提供しています。 RISC-V Foundation の管理下にある標準のオープン ISA (Instruction Set Architecture) である RISC-V は、オープン ソース コミュニティがクローズド ISA よりも速いペースでコアをテストおよび改善できるようにするなど、多くの利点を提供します。
RTG4® FPGA は、Mi-V ソフト プロセッサをサポートしてユーザー アプリケーションを実行します。 このアプリケーション ノートでは、Mi-V プロセッサ サブシステムを構築して、指定されたファブリック RAM または DDR メモリからユーザー アプリケーションを実行する方法について説明します。
設計要件
次の表に、デモを実行するためのハードウェアとソフトウェアの要件を示します。
表 1 • 設計要件
ソフトウェア
- Libero® システムオンチップ (SoC)
- FlashPro エクスプレス
- ソフトコンソール
注記: readme.txt を参照してください。 file デザインで提供 files は、このリファレンス デザインで使用されるソフトウェア バージョンです。
注記: このガイドに示されている Libero SmartDesign と構成のスクリーン ショットは、説明のみを目的としています。
Libero のデザインを開いて、最新のアップデートを確認してください。
前提条件
始める前に:
- Libero SoC をダウンロードしてインストールします ( webこのデザインのサイト) を次の場所からホスト PC にダウンロードします。 https://www.microsemi.com/product-directory/design-resources/1750-libero-soc
- デモ設計用 fileダウンロードリンク: http://soc.microsemi.com/download/rsc/?f=rtg4_ac490_df
デザインの説明
RTG4 μPROM のサイズは 57KB です。 μPROM のサイズを超えないユーザー アプリケーションは、μPROM に格納し、内部のラージ SRAM メモリ (LSRAM) から実行できます。 μPROM のサイズを超えるユーザー アプリケーションは、外部の不揮発性メモリに格納する必要があります。 この場合、μPROM から実行するブートローダは、不揮発性メモリからのターゲット アプリケーションで内部または外部 SRAM メモリを初期化する必要があります。
リファレンス デザインは、ターゲット アプリケーション (サイズ 7 KB) を SPI フラッシュから DDR メモリにコピーし、DDR メモリから実行するブートローダー機能を示します。 ブートローダは内部メモリから実行されます。 コード セクションは μPROM に配置され、データ セクションは内部ラージ SRAM (LSRAM) に配置されます。
注記: Mi-V ブートローダー Libero プロジェクトのビルド方法と SoftConsole プロジェクトのビルド方法の詳細については、TU0775: PolarFire FPGA: Mi-V プロセッサ サブシステムのビルド チュートリアルを参照してください。
図 1 に、デザインの最上位ブロック図を示します。
図 1 • トップレベルのブロック図
図 1 に示すように、次の点でデザインのデータ フローを説明します。
- Mi-V プロセッサは、μPROM および指定された LSRAM からブートローダを実行します。 ブートローダは、CoreUARTapb ブロックを介して GUI とインターフェースし、コマンドを待ちます。
- GUI から SPI フラッシュ プログラム コマンドを受信すると、ブートローダーは GUI から受信したターゲット アプリケーションで SPI フラッシュをプログラムします。
- GUI からブート コマンドを受信すると、ブートローダーはアプリケーション コードを SPI フラッシュから DDR にコピーし、DDR から実行します。
クロッキング構造
デザインには 40 つのクロック ドメイン (20 MHz および 50 MHz) があります。 オンボードの 40 MHz 水晶発振器は、20 MHz および 40 MHz クロックを生成する PF_CCC ブロックに接続されています。 20 MHz のシステム クロックは、μPROM を除く完全な Mi-V プロセッサ サブシステムを駆動します。 4 MHz クロックは、RTG4 μPROM および RTG4 μPROM APB インターフェイスを駆動します。 RTG30 μPROM は、最大 40 MHz のクロック周波数をサポートします。 DDR_FIC は、320 MHz で動作する AHB バス インターフェイス用に構成されています。 DDR メモリは XNUMXXNUMX MHz で動作します。
図 2 にクロッキング構造を示します。
図 2 • クロッキング構造
構造のリセット
POWER_ON_RESET_N と LOCK 信号は AND 演算され、出力信号 (INIT_RESET_N) は RTG4FDDRC_INIT ブロックをリセットするために使用されます。 FDDR リセットの解除後、FDDR コントローラーが初期化され、INIT_DONE 信号がアサートされます。 INIT_DONE 信号は、デザイン内の Mi-V プロセッサ、ペリフェラル、およびその他のブロックをリセットするために使用されます。
図 3 • リセット構造
ハードウェアの実装
図 4 は、Mi-V リファレンス デザインの Libero デザインを示しています。
図 4 • SmartDesign モジュール
注記: このアプリケーション ノートに示されている Libero SmartDesign のスクリーンショットは、説明のみを目的としています。 Libero プロジェクトを開いて、最新のアップデートと IP バージョンを確認してください。
IPブロック
図 2 に、Mi-V プロセッサ サブシステムのリファレンス デザインで使用される IP ブロックとその機能を示します。
表 2 • IP ブロック1
すべての IP ユーザー ガイドとハンドブックは、Libero SoC -> カタログから入手できます。
RTG4 μPROM は、最大 10,400 の 36 ビット ワード (374,400 ビットのデータ) を格納します。 デバイスがプログラムされた後の通常のデバイス操作中は、読み取り操作のみをサポートします。 MIV_RV32_C0 プロセッサ コアは、命令フェッチ ユニット、実行パイプライン、およびデータ メモリ システムで構成されます。 MIV_RV32_C0 プロセッサ メモリ システムには、命令キャッシュとデータ キャッシュが含まれます。 MIV_RV32_C0 コアには、AHB メモリ (MEM) バス マスター インターフェイスと AHB メモリ マップド I/O (MMIO) バス マスター インターフェイスの XNUMX つの外部 AHB インターフェイスが含まれています。 キャッシュ コントローラーは、AHB MEM インターフェイスを使用して、命令とデータ キャッシュを補充します。 AHB MMIO インターフェイスは、I/O ペリフェラルへのキャッシュされていないアクセスに使用されます。
AHB MMIO インターフェイスと MEM インターフェイスのメモリ マップは、それぞれ 0x60000000 ~ 0X6FFFFFFF と 0x80000000 ~ 0x8FFFFFFF です。 プロセッサのリセット ベクター アドレスは構成可能です。 MIV_RV32_C0 のリセットはアクティブ LOW 信号であり、リセット シンクロナイザーを介してシステム クロックと同期してアサート解除する必要があります。
MIV_RV32_C0 プロセッサは、AHB MEM インターフェイスを使用してアプリケーション実行メモリにアクセスします。 CoreAHBLite_C0_0 バス インスタンスは、それぞれのサイズが 16 MB の 1 個のスレーブ スロットを提供するように構成されています。 RTG μPROM メモリと RTG4FDDRC ブロックは、このバスに接続されています。 μPROM は、ブートローダ アプリケーションの格納に使用されます。
MIV_RV32_C0 プロセッサは、アドレス 0x60000000 と 0x6FFFFFFF の間のデータ トランザクションを MMIO インターフェイスに送信します。 MMIO インターフェイスは CoreAHBLite_C1_0 バスに接続され、そのスレーブ スロットに接続されたペリフェラルと通信します。 CoreAHBLite_C1_0 バス インスタンスは、それぞれのサイズが 16 MB の 256 個のスレーブ スロットを提供するように構成されています。 UART、CoreSPI、および CoreGPIO ペリフェラルは、CoreAHBTOAPB1 ブリッジおよび CoreAPB0 バスを介して CoreAHBLite_C3_3 バスに接続されます。
メモリマップ
表 3 に、メモリとペリフェラルのメモリ マップを示します。
表 3 • メモリマップ
ソフトウェア実装
参考デザイン file次のソフトウェア プロジェクトを含む SoftConsole ワークスペースが含まれます。
- ブートローダー
- ターゲットアプリケーション
ブートローダー
ブートローダ アプリケーションは、デバイスのプログラミング中に μPROM にプログラムされます。 ブートローダは次の機能を実装しています。
- ターゲット アプリケーションで SPI フラッシュをプログラミングします。
- ターゲット アプリケーションを SPI フラッシュから DDR3 メモリにコピーします。
- プログラムの実行を DDR3 メモリで利用可能なターゲット アプリケーションに切り替えます。
ブートローダ アプリケーションは、スタックとして LSRAM を使用して μPROM から実行する必要があります。 したがって、リンカ スクリプト内の ROM および RAM のアドレスは、それぞれ μPROM および指定された LSRAM の開始アドレスに設定されます。 図 5 に示すように、コード セクションは ROM から実行され、データ セクションは RAM から実行されます。
図 5 • ブートローダー リンカー スクリプト
リンカー スクリプト (microsemi-riscv-ram_rom.ld) は、
デザインの SoftConsole_Project\mivrv32im-bootloader フォルダー files.
ターゲットアプリケーション
ターゲット アプリケーションは、オンボード LED 1、2、3、および 4 を点滅させ、UART メッセージを出力します。 ターゲット アプリケーションは DDR3 メモリから実行する必要があります。 したがって、リンカ スクリプトのコード セクションとスタック セクションは、図 3 に示すように DDR6 メモリの開始アドレスに設定されます。
図 6 • ターゲット アプリケーション リンカー スクリプト
リンカー スクリプト (microsemi-riscv-ram.ld) は、デザインの SoftConsole_Project\miv-rv32imddr-application フォルダーにあります。 files.
ハードウェアのセットアップ
次の手順では、ハードウェアをセットアップする方法について説明します。
- SW6 スイッチを使用して、ボードの電源がオフになっていることを確認します。
- 次の表に示すように、RTG4 開発キットのジャンパーを接続します。
表 4 • ジャンパージャンパー 固定元 固定先 コメント J11、J17、J19、J23、J26、J21、J32、J27 1 2 デフォルト J16 2 3 デフォルト J33 1 2 デフォルト 3 4 - USB ケーブルを使用して、ホスト PC を J47 コネクタに接続します。
- USB to UART ブリッジ ドライバーが自動的に検出されることを確認します。 これは、ホスト PC のデバイス マネージャーで確認できます。
- 図 7 に示すように、COM13 のポート プロパティは、それが USB シリアル コンバータ C に接続されていることを示しています。したがって、この例では COM13 が選択されています。ampル。 COM ポート番号はシステム固有です。
図 7 • デバイス マネージャー
注記: USB to UART ブリッジ ドライバがインストールされていない場合は、ドライバをダウンロードしてインストールします。 www.microsemi.com//documents/CDM_2.08.24_WHQL_Certified.zip. - 電源を J9 コネクタに接続し、電源スイッチ SW6 をオンにします。
図 8 • RTG4 開発キット
デモの実行
この章では、リファレンス デザインを使用して RTG4 デバイスをプログラムする手順、ターゲット アプリケーションを使用して SPI フラッシュをプログラミングする手順、Mi-V ブートローダー GUI を使用して DDR メモリからターゲット アプリケーションを起動する手順について説明します。
デモの実行には、次の手順が含まれます。
- RTG4 デバイスのプログラミング、ページ 11
- Mi-V ブートローダーの実行, ページ 11
RTG4 デバイスのプログラミング
RTG4 デバイスは、FlashPro Express または Libero SOC を使用してプログラムできます。
- ジョブを使用して RTG4 開発キットをプログラムするには file デザインの一部として提供 fileFlashPro Express ソフトウェアを使用する場合は、1 ページの「付録 14: FlashPro Express を使用したデバイスのプログラミング」を参照してください。
- Libero SoC を使用してデバイスをプログラムするには、2 ページの「付録 17: Libero SoC を使用したデバイスのプログラミング」を参照してください。
Mi-V ブートローダーの実行
プログラミングが正常に完了したら、次の手順に従います。
- setup.exeを実行します file 以下のデザインで利用可能 files場所。
<$Download_Directory>\rtg4_ac490_df\GUI_Installer\Mi-V Bootloader_Installer_V1.4 - インストール ウィザードに従って、ブートローダー GUI アプリケーションをインストールします。
図 9 は、RTG4 Mi-V ブートローダー GUI を示しています。
図 9 • Mi-V ブートローダー GUI - 図 7 に示すように、USB シリアル コンバータ C に接続されている COM ポートを選択します。
- 接続ボタンをクリックします。 接続が成功すると、図 10 に示すように、赤色のインジケータが緑色に変わります。
図 10 • COM ポートの接続 - [インポート] ボタンをクリックし、ターゲット アプリケーションを選択します。 file (。置き場)。 インポート後、 file 図 11 に示すように、GUI に表示されます。
<$Download_Directory>\rtg4_ac490_df\Source_files
図 11 • ターゲット アプリケーションのインポート File - 図 11 に示すように、[Program SPI Flash] オプションをクリックして、SPI フラッシュでターゲット アプリケーションをプログラムします。 図 12 に示すように、SPI フラッシュがプログラムされると、ポップアップが表示されます。[OK] をクリックします。
図 12 • プログラムされた SPI フラッシュ - Start Boot オプションを選択して、SPI フラッシュから DDR3 メモリにアプリケーションをコピーし、DDR3 メモリからアプリケーションの実行を開始します。 ターゲット アプリケーションが DDR3 メモリから正常に起動すると、アプリケーションは UART メッセージを出力し、図 1 に示すようにオンボード ユーザー LED2、3、4、および 13 を点滅させます。
図 13 • DDR からアプリケーションを実行 - アプリケーションは DDR3 メモリから実行されており、これでデモは終了です。 Mi-V ブートローダー GUI を閉じます。
FlashPro Express を使用したデバイスのプログラミング
このセクションでは、プログラミング ジョブを使用して RTG4 デバイスをプログラミングする方法について説明します。 file FlashPro Express を使用。
デバイスをプログラムするには、次の手順を実行します。
- ボードのジャンパ設定が、UG3 の表 0617 にリストされているものと同じであることを確認します。
RTG4 開発キット ユーザー ガイド。 - オプションで、組み込み FlashPro32 を使用するためのデフォルトのジャンパー設定の代わりに、外部 FlashPro2、FlashPro3、または FlashPro4 プログラマーを使用する場合、ジャンパー J5 をピン 6-5 に接続するように設定できます。
注記: ジャンパー接続時は、電源スイッチ SW6 を OFF にしてください。 - 電源ケーブルをボード上の J9 コネクタに接続します。
- 電源スイッチ SW6 を ON にします。
- 内蔵 FlashPro5 を使用する場合は、USB ケーブルをコネクタ J47 とホスト PC に接続します。
または、外部プログラマを使用する場合は、リボン ケーブルを J コネクタに接続します。TAG ヘッダ J22 を挿入し、プログラマをホスト PC に接続します。 - ホスト PC で、FlashPro Express ソフトウェアを起動します。
- 次の図に示すように、[新規] をクリックするか、[プロジェクト] メニューの [FlashPro Express ジョブ] から [新しいジョブ プロジェクト] を選択して、新しいジョブ プロジェクトを作成します。
図 14 • FlashPro Express ジョブ プロジェクト - [FlashProExpressジョブからの新規ジョブプロジェクト]ダイアログボックスに次のように入力します。
- プログラミングの仕事 file:[参照]をクリックして、.jobがある場所に移動します file が見つかり、を選択します file. デフォルトの場所は次のとおりです。 \rtg4_ac490_df\Programming_Job
- FlashPro Express ジョブ プロジェクトの場所: [参照] をクリックして、目的の FlashPro Express プロジェクトの場所に移動します。
図 15 • FlashPro Express ジョブからの新しいジョブ プロジェクト
- [OK] をクリックします。 必要なプログラミング file が選択され、デバイスにプログラムする準備ができています。
- 次の図に示すように、FlashPro Express ウィンドウが表示されます。 Programmer フィールドにプログラマー番号が表示されていることを確認します。 そうでない場合は、ボードの接続を確認し、[Refresh/Rescan Programmers] をクリックします。
図 16 • デバイスのプログラミング - [実行] をクリックします。 デバイスが正常にプログラムされると、次の図に示すように RUN PASSED ステータスが表示されます。
図 17 • FlashPro Express — RUN PASSED - FlashPro Express を閉じるか、[プロジェクト] タブの [終了] をクリックします。
Libero SoC を使用したデバイスのプログラミング
参考デザイン files には、Libero SoC を使用して作成された Mi-V プロセッサ サブシステム プロジェクトが含まれます。 RTG4 デバイスは、Libero SoC を使用してプログラムできます。 Libero SoC プロジェクトは、合成、配置配線、タイミング検証、FPGA アレイ データ生成、μPROM メモリ コンテンツの更新、ビットストリーム生成、FPGA プログラミングから完全にビルドおよび実行されます。
Libero の設計フローを次の図に示します。
図 18 • Libero の設計フロー
RTG4 デバイスをプログラムするには、Mi-V プロセッサ サブシステム プロジェクトを Libero SoC で開き、次の手順を再実行する必要があります。
- uPROM メモリ コンテンツの更新: このステップでは、ブートローダ アプリケーションを使用して μPROM をプログラムします。
- ビットストリームの生成: このステップでは、ジョブ file RTG4 デバイス用に生成されます。
- FPGA プログラミング: このステップでは、ジョブを使用して RTG4 デバイスをプログラミングします。 file.
次の手順に従ってください。
- Libero デザイン フローから、[uPROM メモリ コンテンツの更新] を選択します。
- [追加] オプションを使用してクライアントを作成します。
- クライアントを選択し、[編集] オプションを選択します。
- からコンテンツを選択 file 次に、図 19 に示すように [参照] オプションを選択します。
図 19 • データ ストレージ クライアントの編集 - 次のデザインに移動します files の場所に移動し、miv-rv32im-bootloader.hex を選択します file 図 20 に示すように。 <$Download_Directory>\rtg4_ac490_df
- 設定する File Intel-Hex (*.hex) として入力します。
- [プロジェクト ディレクトリからの相対パスを使用] を選択します。
- [OK]をクリックします。
図 20 • メモリのインポート File
- [OK]をクリックします。
μPROMの内容を更新しました。 - 図 21 に示すように、[Generate Bitstream] をダブルクリックします。
図 21 • ビットストリームの生成 - Run PROGRAM Action をダブルクリックして、図 21 に示すようにデバイスをプログラムします。
RTG4 デバイスがプログラムされます。 デモの実行、ページ 11 を参照してください。
TCL スクリプトの実行
TCL スクリプトはデザインで提供されます。 fileディレクトリTCL_Scriptsの下のsフォルダ。 必要に応じて、設計の実装からジョブの生成までの設計フローを再現できます。 file.
TCL を実行するには、次の手順に従います。
- Libero ソフトウェアを起動します。
- [プロジェクト] > [スクリプトの実行…] を選択します。
- [Browse] をクリックして、ダウンロードした TCL_Scripts ディレクトリから script.tcl を選択します。
- [実行]をクリックします。
TCL スクリプトが正常に実行されると、Libero プロジェクトが TCL_Scripts ディレクトリ内に作成されます。
TCL スクリプトの詳細については、rtg4_ac490_df/TCL_Scripts/readme.txt を参照してください。
TCL コマンドの詳細については、Libero® SoC TCL コマンド リファレンス ガイドを参照してください。 コンタクト
TCL スクリプトの実行時に発生したクエリに対するテクニカル サポート。
Microsemiは、ここに含まれる情報、または特定の目的に対するその製品とサービスの適合性に関して、保証、表明、または保証を行いません。また、Microsemiは、製品または回路のアプリケーションまたは使用から生じるいかなる責任も負わないものとします。 本契約に基づいて販売される製品およびMicrosemiが販売するその他の製品は、限定的なテストの対象であり、ミッションクリティカルな機器またはアプリケーションと組み合わせて使用しないでください。 パフォーマンス仕様は信頼できると考えられていますが、検証されていません。購入者は、製品のすべてのパフォーマンスおよびその他のテストを、単独で、および最終製品と一緒に、または最終製品にインストールして、実行および完了する必要があります。 購入者は、Microsemiが提供するデータおよびパフォーマンスの仕様またはパラメーターに依存してはなりません。 製品の適合性を独自に判断し、それをテストおよび検証するのは購入者の責任です。 本契約に基づいてMicrosemiが提供する情報は、「現状有姿」ですべての過失とともに提供され、そのような情報に関連するすべてのリスクは完全に購入者にあります。 Microsemiは、そのような情報自体またはそのような情報によって記述されたものに関係なく、明示的または暗黙的に、特許権、ライセンス、またはその他のIP権をいかなる当事者にも付与しません。 このドキュメントで提供される情報はMicrosemiの所有物であり、Microsemiは、このドキュメントの情報または製品やサービスをいつでも予告なしに変更する権利を留保します。
Microsemiについて
Microchip Technology Inc.(Nasdaq:MCHP)の完全子会社であるMicrosemiは、航空宇宙および防衛、通信、データセンター、および産業市場向けの半導体およびシステムソリューションの包括的なポートフォリオを提供しています。 製品には、高性能で耐放射線性のあるアナログミックスドシグナル集積回路、FPGA、SoC、およびASICが含まれます。 電力管理製品; タイミングおよび同期デバイスと正確な時間ソリューション。時間の世界標準を設定します。 音声処理装置; RFソリューション; ディスクリートコンポーネント; エンタープライズストレージおよび通信ソリューション、セキュリティテクノロジー、スケーラブルなアンチamper製品; イーサネットソリューション; Power-over-EthernetICとミッドスパン。 カスタム設計機能とサービスだけでなく。 詳細については、 www.microsemi.com.
マイクロセミ本社
One Enterprise、Aliso Viejo、
カリフォルニア 92656 米国
米国内: +1 800-713-4113
米国外: +1 949-380-6100
売上: +1 949-380-6136
ファックス: +1 949-215-4996
メールアドレス: sales.support@microsemi.com
www.microsemi.com
©2021 Microsemi、Microchip Technology Inc.の完全所有子会社。無断複写・転載を禁じます。 Microsemi および Microsemi のロゴは、Microsemi Corporation の登録商標です。 その他すべての商標およびサービス マークは、それぞれの所有者の財産です。
ドキュメント / リソース
![]() |
Microsemi AC490 RTG4 FPGA: Mi-V プロセッサ サブシステムの構築 [pdf] ユーザーガイド AC490 RTG4 FPGA による Mi-V プロセッサ サブシステムの構築、AC490 RTG4、FPGA による Mi-V プロセッサ サブシステムの構築、Mi-V プロセッサ サブシステム |