はじめに
各種コンテンツのカテゴリー
- 下の 紫色 のアイコンをクリックすると、MACNICA ウェブサイト(外部サイト)のインテル® SoC FPGA 情報ページを開くことができます。
- 下の 緑色 のアイコンをクリックすると、該当カテゴリーのコンテンツ一覧/リンク集に移動することができます。
1. SoC FPGA とは?
簡単に言うと、FPGA がペリフェラルの 1 つとしてメモリーマップされた Arm® プロセッサーです。SoC FPGA は、Arm® プロセッサー、ペリフェラル、およびメモリー・インターフェースで構成される HPS ファブリックと、FPGA ファブリックを 1 つのチップに統合した製品です。SoC FPGA により、素早い商品化、低消費電力、低コスト、設計リスクの低減、および基板の小型化を実現することができます。
【図 1】 SoC FPGA のブロック図(Cyclone® V SoC)
2. SoC FPGA の開発に必要なツール
SoC FPGA の開発フローとしては、下図のように「FPGA ハードウェア開発フロー」と「ソフトウェア開発フロー」に分けられます。
2-1. FPGA ハードウェア開発フロー
開発環境である Quartus® Prime 開発ソフトウェアやシステム構成ツールである Platform Designer(旧 Qsys)システム統合ツール、ModelSim® シミュレーター、Signal Tap ロジック・アナライザーなどの FPGA 開発フローとデザインツールを利用することができます。
2-2. ソフトウェア開発フロー
SoC FPGA エンベデッド開発スイート(SoC EDS)は、SoC FPGA 用のエンベデッド・ソフトウェア開発のための包括的なツールスイートです。
また、SoC FPGA デバイスは、エンベデッド・ソフトウェア業界で広範にサポートされている Arm® プロセッサーを中心としています。インテル® とエコシステム・パートナーは、各開発ニーズに応じて幅広い選択肢を提供します。オペレーティング・システム(OS)については、オープンソースの Linux に加え、多数の商用 OS が利用できます。
ハードウェアからソフトウェアへの情報のハンドオフについては、SoC EDS に含まれるハードウェア-ソフトウェア・ハンドオフ・ユーティリティー を使用します。このユーティリティーは、Quartus® Prime および Platform Designer が生成する出力ファイルからソフトウェア・デザインフロー用のハンドオフファイルを生成します。これにより FPGA デザインチームとソフトウェア・デザインチームがそれぞれのデザインフローに従って、別々に作業を進めることが可能とになり生産性が向上します。
Arm とのパートナーシップで開発された、Arm® Development Studio (DS) for Intel® SoC FPGA は、あらゆる SoC FPGA での組み込み C/C++ ソフトウェア開発のためのエンドツーエンドのツールスイートです。Arm® DS for Intel® SoC FPGA は SoC EDS と連携して動作します。
【図 2】 SoC FPGA の開発ツール(Cyclone® V SoC)
3. SoC FPGA のドキュメント公開サイト
3-1. メーカーの SoC FPGA 関連ページへのリンク集
名 称 |
概 要 |
サポートリソース入口はこのページから
|
|
FPGA デバイス別情報の入口はこのページから
|
|
Embedded Software and Tools のページです。Quartus®、SoC FPGA Embedded Development Suite (SoC EDS)、Arm® Development Studio (Arm® DS) for Intel® SoC FPGA Edition などの開発ツール情報はこのページから
|
|
SoC FPGA の Documentation ページ
|
対象 SoC FPGA デバイス向けの各種ドキュメントが公開されています。
|
Hard Processor System(HPS)
レジスター・アドレスマップ |
対象 SoC FPGA デバイス向けのハード・プロセッサー・システム(HPS)レジスター・アドレスマップが公開されています。
|
SoC EDS のサポートページです。Documentation、Videos、Design Examples、Training Courses を公開しています
|
|
Community は、Altera® FPGA、テクノロジー、ツール、およびそれらの使用法に関するコミュニティーの知識を提供することを目的とした Wiki サイトです
|
|
(日本語ページ)
|
Altera® FPGA 製品を使いこなすためのヒントや問題解決の方法などが公開されています
|
3-2. Arm® 関連情報
Arm® 関連のリンクを下表に示します。Arm® 社のプロセッサーやペリフェラル、Arm® 純正のデバッガー(Arm® DS / DS-5)やコンパイラー(armcc)の詳細情報は以下のサイトをご参照ください。
名 称 |
概 要 |
Cortex®-A9、Cortex®-A53 他、Arm® 社の CPU/ペリフェラル/ツールのマニュアルはこちらを参照ください
|
|
Arm® 関連の技術情報サイトです。Cortex®-A 初心者講座 や 組み込み Linux 初心者講座 などがあります
|
4. マクニカのコンテンツ(記事/資料およびサンプル)
*1. 各表内の「区分」欄は、以下の内容を目安に設定しています。
- 記事 : 記事内に SOC FPGA に関するツールの使い方や トラブル回避策などがまとめられているもの。
- 資料 : メーカー・ドキュメントを補足するような資料が添付されているもの。
- サンプル : デザインサンプルやチュートリアル用のデータなどが付属しているもの。
4-1. 開発環境セットアップ
SoC FPGA を開発する際に使用するツール等のセットアップに関するコンテンツです。
区 分*1 |
名 称 |
説 明 |
対象バージョン |
記事
|
Altera®(Intel®)FPGA の開発に必要な Quartus® Prime 開発ソフトウェアおよび Questa* - Intel® FPGA Edition のダウンロード方法をご案内します。
|
全バージョン
共通 |
|
記事
|
Altera®(Intel®)FPGA の開発に必要な Quartus® Prime 開発ソフトウェアおよび Questa* - Intel® FPGA Edition のインストール方法をご案内します。
|
全バージョン
共通 |
|
記事
|
この記事では、SoC FPGA エンベデッド・デベロップメント・スイート(SoC EDS)と異なるバージョンの Quartus® Prime 開発ソフトウェアを組み合わせて使用するための環境設定方法をご紹介します。
|
全バージョン
共通 |
|
記事
|
SoC FPGA エンベデッド・デベロップメント・スイート(SoC EDS)は、SoC FPGA 用のエンベデッド・ソフトウェア開発のためのツールスイートです。このページでは、SoC EDS ver.20.1 のインストール方法をご案内します。
|
ver.20.1 以降
|
|
記事
|
この記事では、SoC FPGA デバイスのソフトウェア開発ツールである Arm® Development Studio for Intel® SoC FPGA Edition(Arm® DS Intel® SoC FPGA Edition)のライセンス設定について説明しています。
|
ver.20.1 以降
|
|
記事
|
SoC FPGA 搭載の Altera®(Intel®)純正開発キット向けには、GHRD、GSRD と呼ばれるリファレンス・デザインが提供されてきました。従来、これらのリファレンス環境は SoC FPGA エンベデッド開発スイート(SoC EDS)に付属していましたが、現在では SoC EDS のパッケージ提供が無くなり、Web から個別にダウンロードしていただく形に移行しています。
この記事では、GHRD のダウンロードからプロジェクト生成、コンパイルまでの手順を紹介します。 |
ver.20.1 以降
|
|
記事
|
SoC FPGA エンベデッド開発スイート(SoC EDS)version 19.1 for Windows 以降のバージョンから、ツールパッケージに Cygwin が含まれなくなり、別途インストールおよびセットアップを行う方式に変更になっています。
この記事では、標準のインストール手順ではなく、予め Cygwin 導入済みの開発マシンで SoC EDS の Embedded Command Shell 環境をセットアップする方法を紹介します。たとえば、1 台のマシンにversion 19.1 以降の複数バージョンをインストールする際、バージョン毎に複数の Cygwin をインストールする無駄を無くしたい場合に有用です。 |
ver.19.1
for Windows |
|
記事
|
この記事では、SoC FPGA の開発環境で発生する既知のエラーと、その対策方法を紹介します。
|
ver.19.2 Pro /
ver.19.1 Std 以降 |
|
記事
|
Quartus® Prime 開発ソフトウェア Pro Edition 19.1 のインストーラーでは、Nios® II Software Build Tools for Eclipse(Nios® II SBT)/ SoC FPGA Embedded Development Suite(SoC EDS)用の Cygwin と Eclipse が付属されません。そのため、Eclipse と Cygwin を別途インストールする必要があります。
この記事では、Linux / Windows の環境において Quartus Prime の Nios® II SBT および SoC EDS を使用する際の Cygwin と Eclipse のインストール方法をご紹介します。 |
ver.19.1 Pro
|
|
記事
|
SoC FPGA エンベデッド・デベロップメント・スイート(SoC EDS)は、SoC FPGA 用のエンベデッド・ソフトウェア開発のためのツールスイートです。このページでは、SoC EDS ver.18.1 以前のインストール方法をご案内します。
|
ver.18.1 以前
|
|
記事
|
この記事では、SoC FPGA デバイスのソフトウェア開発ツールである Arm® Development Studio 5(Arm® DS-5)のライセンス設定について説明しています。
|
ver.18.1 以前
|
|
記事
|
この記事では、Arm® Development Studio 5 Intel® SoC FPGA Edition(DS-5)のインストールに関する補足情報を記載します。
|
ver.18.1 以前
|
|
記事
|
日本語環境で Arm® Development Studio 5 Intel® SoC FPGA Edition(DS-5)を使用すると、以下のようにビルド実行時のコンソールに文字化けが生じる事があります。このままではビルド時のメッセージが確認できずに非常に不便です。
この記事では、文字化けを解消する方法を紹介します。 |
ver.18.1 以前
|
|
記事/資料
|
この資料では、Oracle® VM VirtualBox(VirtualBox)と CentOS 6.9(CentOS 6)の組み合わせによる仮想マシン環境のセットアップ方法を説明しています。
|
ver.17.1 当時
|
4-2. 導入資料・はじめてガイド
SoC FPGA を開発する際に使用する導入資料、はじめてガイド に関するコンテンツです。
区 分*1 |
名 称 |
説 明 |
対象バージョン |
記事/資料
|
SoC はじめてガイド - HPS-FPGA 間のアクセス方法(Cyclone® V SoC/Arria® V SoC 編) |
この資料では、SoC FPGA における、Hard Processor System(HPS)と FPGA 間のアクセス方法を説明します。
|
全バージョン
共通 |
記事/資料
|
この資料は、Cyclone® V SoC FPGA 開発キット「DE0-Nano-SoC Kit / Atlas-SoC Kit」または「DE10-Nano Kit」を持っているユーザーが SoC FPGA のハードウェアとソフトウェアのそれぞれの開発フローを体験することができます。
開発キットを持っていないユーザーは、「自席で体験! SoC FPGA Seminar In a Box」で開発キットを借りて試すことができます。 |
ver.20.1
ver.18.1 ver.17.1 |
|
記事
|
以下の動画コンテンツを最新ツール環境向けにアップデートしました。
「SoC スタートアップ・トライアル」を動画で大公開! |
ver.20.1
|
|
記事
|
好評いただいているハンズオン形式のセミナー「SoC スタートアップ・トライアル」のプレゼンテーションをオンライン動画で公開しました。
|
ver.18.1 以前
|
|
記事
|
弊社 Web ページにて「SoC スタートアップ・トライアル」をオンラインセミナーとして公開いたしました。
本セミナーでは、初めて SoC FPGA 開発をご検討のお客様向けに、SoC FPGA の開発フローをご紹介します。 |
ver.18.1 以前
|
4-3. ブートローダー・ブート環境構築
SoC FPGA のブートローダー開発およびブート環境構築に関するコンテンツです。
区 分*1 |
名 称 |
説 明 |
対象バージョン |
記事
|
最近の RocketBoards.org コミュニティー・サイトで紹介されているブートフローでは、
itb(Image Tree blob)ファイルが使用されています。 この記事では、itb ファイルや its(Image Tree Source)ファイルについて説明します。 |
全バージョン
共通 |
|
記事
|
Stratix® 10 FPGA と Agilex™ 7 FPGA では、Secure Device Manager(SDM)と呼ばれるハードモジュールが内蔵されており、SDM によりコンフィグレーションやブートが行われます。SDM によりコンフィグレーション/ブートが行われているため、以前のデバイスと比べ起動方法が異なっています。
この記事では、Stratix® 10 FPGA/Agilex™ 7 FPGA における起動方法の種類と、その設定について説明します。 |
全バージョン
共通 |
|
記事
|
Stratix® 10 SoC FPGA、Agilex™ 7 SoC FPGA など、Arm® Cortex®-A53 プロセッサーを採用する SoC FPGA ファミリーのブートフローには、Arm Trusted Firmware(ATF)と呼ばれるプログラムが採用されています。
この記事では、ATF を使用したブートフローに関する注意点について記載します。 |
全バージョン
共通 |
|
記事
|
SoC FPGA 用 Linux SD カードを作成する場合など、Windows 環境でブート用の SD カードを扱うことがありますが、 Windows 10 では、SD カード内に FAT 以外のパーティション(ボリューム)が存在している場合に、『カード挿入時に警告ウィンドウが表示される』、『SD カードイメージの書き込みに失敗する』といった現象が発生することがあります。
この記事では、Windows 10 環境で Linux ブート用 SD カードを扱う際に発生する現象および対処方法についてご紹介します。 |
全バージョン
共通 |
|
記事
|
SoC FPGA のブートフローに採用されている U-Boot では、後段のソフトウェアのブート方法や、U-Boot 自身の動作を決める情報として環境変数に様々な設定情報を持っています。
この記事では、U-Boot の環境変数のカスタマイズおよび注意点について紹介します。 |
全バージョン
共通 |
|
記事
|
この記事では、SoC FPGA で U-Boot を使用する場合に利用可能なスクリプトファイル「U-Boot スクリプト」の作り方について紹介します。
U-Boot スクリプトは、U-Boot コマンドを 1行 1 コマンドで記述したテキストファイルにヘッダー情報を付加したファイルです。u-boot.scr という名前で作成したスクリプトファイルをブート用 SD カードのプライマリー・パーティション(FAT)に格納しておくことで、ブート時に U-Boot に実行させるコマンド群を登録しておくことが可能です。 |
全バージョン
共通 |
|
記事
|
従来、SD カードイメージの拡張子には .img が使用されていましたが、比較的新しい環境では拡張子が .wic となっているケースが多くなってきています。SoC FPGA の Linux リファレンスである GSRD(Golden System Reference Design)の SD カードブート用イメージも、最新のイメージは .wic 形式に変わっています。
この記事では、.wic 形式の SD カードイメージの使い方と、.wic 形式に変わったことで可能となった編集方法について説明します。 |
全バージョン
共通 |
|
記事/サンプル
|
この記事では、SoC FPGA の HPS(ハード・プロセッサー・システム)側のブートに使用する SD カードイメージの作成方法について紹介します。
|
ver.20.1 以降
ver.18.1 以前 |
|
記事
|
最近のバージョンの U-Boot(v2019.10 以降)をビルドすると、Preloader ( U-Boot SPL ) と U-Boot の両方を含むイメージファイル「u-boot-with-spl.sfp」が生成されます。この記事では、Windows PC 環境で「u-boot-with-spl.sfp」を SD カードへ書き込む方法を紹介します。
|
ver.20.1 以降
|
|
記事/サンプル
|
bsp-create-settings は、SoC FPGA エンベデッド開発スイート(SoC EDS)v19.1std / v19.3pro 以降のブートローダーの生成フローで使用するツールとなっていますが、このツールが期待通りに動作せずエラーとなるケースがあります。
この記事では、bsp-create-settings で発生するエラーと対策について紹介します。 |
ver.19.3 Pro /
ver.19.1 Std 以降 |
|
記事/資料
|
SoC FPGA エンベデッド開発スイート(SoC EDS)の v19.1 スタンダード・エディション / v19.3 プロ・エディションからブートローダーの生成フローが変更になりました。
この記事では、Cyclone® V SoC および Arria® V SoC の場合における新旧のブートローダー・ビルドフローの説明と、Cyclone® V SoC でのブートローダーをビルドする手順を説明しています。 |
ver.19.3 Pro /
ver.19.1 Std 以降 |
|
記事/資料
|
SoC FPGA エンベデッド開発スイート(SoC EDS)の v19.1 スタンダード・エディション / v19.3 プロ・エディションからブートローダーの生成フローが変更になりました。
この記事では、Arria® 10 SoC の場合における新旧のブートローダー・ビルドフローの説明と、ブートローダーをビルドする手順を説明しています。 |
ver.19.3 Pro /
ver.19.1 Std 以降 |
|
記事/資料
|
SoC EDS v19.1 std / v19.3 pro から変更された新しいブートローダーから Linux を起動するには、Linux カーネル、デバイスツリー、およびルートファイル・システム(RootFs)が必要です。
この資料ではそれらをビルドする方法を説明します。 |
ver.19.3 Pro /
ver.19.1 Std 以降 |
|
記事
|
この記事では、Cyclone® V SoC / Arria® V SoC で QSPI ブートを行う際に、U-Boot から FPGA 側のコンフィグレーションを行うための環境構築方法を紹介します。
注記:この記事は SoC EDS v19.1 以降(SoC EDS に U-Boot が付属しない環境)向けです。 |
ver.19.3 Pro /
ver.19.1 Std 以降 |
|
記事
|
この記事では、SoC FPGA デバイスのブートローダー(U-Boot)に含まれるデバイス/ボード依存の設定や定義について記載します。
過去のバージョンでは、デバイスファミリー毎に利用する U-Boot のバージョンが異なっていましたが、SoC FPGA エンベデッド開発スイート(SoC EDS)バージョン 19.1 以降から全ファミリー共通の U-Boot ソースツリーを使用するように変わっています。 また、最近の U-Boot バージョンでは、従来 Linux で使用されてきたデバイスツリーの概念も導入されているため、デバイス/ボード依存の設定の一部はソースコード上の定義ではなく、デバイスツリーのパラメーターとして記述されるものも存在しています。 |
ver.19.3 Pro /
ver.19.1 Std 以降 |
|
記事
|
Windows 10 で Cyclone® V SoC FPGA の Preloader をビルドするとビルドエラーになるケースが多くなっています。
これは Windows 10 がネイティブで tar コマンドをサポートしたことが影響しているようです。このページでは対策方法についてご紹介します。 |
ver.18.1
|
|
記事/資料
|
この資料は、SoC FPGA エンベデッド・デザイン・スイート(SoC EDS)に付属の Preloader Support Package Generator(別名、bsp-editor)の使用方法について解説します。
|
ver.18.1 以前
|
|
記事/資料
|
SoC FPGA は従来からの FPGA 部分に加えて、Hard Processor System(HPS)というプロセッサー・ユニットが 1 つのダイに搭載されているデバイスです。この SoC FPGA では Linux 起動時に U-Boot というブートローダ使用しますが、この U-Boot には様々な機能があり、デバックや開発時に活用できます。その一つの機能であるボード上の QSPI への書き込みを U-Boot を用いて実施する方法を紹介します。
ファイルのサイズにもよりますが、Preloader を書き込む場合は、通常 QSPI の書き込みに使用する HPS Flash Programmer と比較すると約 15 倍高速に書き込むことが可能です。 |
ver.18.1 以前
|
|
資料/サンプル
|
本資料では Arria® 10 SoC 開発キットに搭載可能な QSPI(Quad SPI)ブート・フラッシュ・ドーターカードから、ベアメタルサンプル・アプリケーション ALT-HWLib-HelloWorld-Unhosted-A10-GNU をスタンドアローン実行する例を説明しています。
|
ver.18.1 以前
|
|
資料/サンプル
|
本資料では Cyclone® V SoC 開発キットまたは、Arria® V SoC 開発キットに搭載されている QSPI フラッシュからベアメタルサンプル・アプリケーション Altera-SoCFPGA-HardwareLib-Unhosted-CV-GNU をスタンドアローン実行する例を説明しています。
|
ver.18.1 以前
|
|
記事
|
Windows 10 から Linux を利用するための仕組みとして、WSL(Windows Subsystem for Linux)が利用できるようになっています。
この記事では、WSL を利用して Arria® 10 SoC FPGA 開発ボードおよび Cyclone® V SoC FPGA 開発ボード向けの Preloader / U-boot をビルドした際の手順を紹介します。 この「【その 1】 環境セットアップ編」では、WSL を利用するための環境設定について解説します。 |
なし
|
|
記事
|
Windows 10 から Linux を利用するための仕組みとして、WSL(Windows Subsystem for Linux)が利用できるようになっています。
この記事では、WSL を利用して Arria® 10 SoC FPGA 開発ボードおよび Cyclone® V SoC FPGA 開発ボード向けの Preloader / U-boot をビルドした際の手順を紹介します。 この「【その 2】 ビルド編」では、WSL 上で Preloader / U-boot をビルドする手順について解説します。 |
なし
|
4-4. FPGA-HPS 間インターフェース
SoC FPGA の FPGA-HPS 間インターフェースに関するコンテンツです。
区 分*1 |
名 称 |
説 明 |
対象バージョン |
資料
|
この資料は、Cyclone® V SoC / Arria® V SoC デバイスの Hard Processor System (HPS)のアドレスマップと Qsys のアドレス空間との関連について説明した資料です。
|
全バージョン
共通 |
|
記事
|
SoC FPGA を使用されているお客様から、Hard Processor System(HPS)から FPGA に対してリセットをかけたいというお問い合わせを度々頂きます。
この記事では HPS から FPGA に対してリセットを発行する手段を紹介します。 |
全バージョン
共通 |
|
記事
|
SoC FPGA を使用されているお客様から、Hard Processor System(以下、HPS)から FPGA に対してリセットをかけたいというお問い合わせを度々頂きます。
この記事では Arria® 10 における HPS から FPGA に対してリセットを発行する手段をご紹介します。 |
全バージョン
共通 |
|
記事
|
SoC FPGA 向け U-Boot のブリッジ開放コマンドは、これを実行することで、FPGA のコンフィグレーション後に HPS-FPGA 間のブリッジを開放(有効)にします。
U-Boot の ブリッジ開放コマンドは、U-Boot のバージョンにより異なる種類が存在します。この記事では、それらの違いについて説明します。 |
全バージョン
共通 |
|
記事
|
この記事では、新しいバージョンの U-Boot を使用して FPGA-to-SDRAM(F2S)インターフェースを開通させるために必要な設定について説明します。
U-Boot から HPS-FPGA 間のブリッジを開放する場合には「bridge enable」コマンドを使用しますが、Stratix® 10 SoC と Arria® 10 SoC で F2S インターフェースを使用するためには「brdige enable」に加えて必要な設定が存在します。 |
ver.19.3 Pro /
ver.19.1 Std 以降 |
|
記事
|
この記事では、Cyclone® V SoC / Arria® V SoC を対象に、FPGA-HPS 間のインターフェースを構築するための設定とアクセスを可能にするコマンドを紹介します。
|
ver.18.1 以前
|
4-5. OS レス/RTOS ベース開発
SoC FPGA での OS レス/RTOS ベース開発に関するコンテンツです。
区 分*1 |
名 称 |
説 明 |
対象バージョン |
記事
|
この記事では、Agilex™ 7 FPGA 向けにベアメタル・アプリケーションの提供及び実行手順を紹介します。OS が起動していない環境下で、アプリケーションを動作させたい際の参考にしていただければ幸いです。
|
全バージョン
共通 |
|
記事
|
SoC FPGA では、ソフトウェア・プログラムからハード・プロセッサー・システム(以下、HPS)内のペリフェラルを簡単に使用するためにハードウェア・ライブラリー(HWLib)と呼ばれるライブラリーが用意されています。
この記事では Makefile による HWLib の追加方法について説明します。 |
全バージョン
共通 |
|
資料/サンプル
|
このサンプルは、SoC FPGA 向けベアメタル・アプリケーションを構築する際のスタートポイントとして、ご使用いただけるサンプルです。
ハードウェア・ライブラリー(HWLib)などベアメタル開発に必要なコードをあらかじめプロジェクト内に配置しビルド対象にしているため、ユーザーは必要なヘッダーファイルをインクルードするだけで、Makefile の編集をせずに API をご使用いただくことが可能です。 |
ver.22.1
ver.20.1
ver.18.1 |
|
資料/サンプル
|
この資料は、SoC FPGA 向け HWLib の構成とサンプルコードについて記述した資料です。
提供されている HWLib を用いてソフトウェアを開発する設計者に有用な内容です。 |
ver.16.0
ver.15.0 ver.14.0 |
|
記事/資料
|
本資料では Arm® DS-5 を利用した SoC FPGA 向けベアメタル・アプリケーションの開発およびデバッグ手法について解説しています。また、本資料では Cyclone® V SoC FPGA を搭載した評価キット Mpression「Helio」や「Atlas-SoC Kit / DE0-Nano-SoC Kit」または「DE10-Nano Kit」を使用して、ベアメタル・サンプル・アプリケーション Blinking-LED-Baremetal-GNU を例として説明しています。
|
ver.18.1 以前
|
4-6. 組み込み Linux ベース開発
SoC FPGA での組み込み Linux ベース開発に関するコンテンツです。
区 分*1 |
名 称 |
説 明 |
対象バージョン |
記事
|
この記事では、SoC FPGA のシステム・リファレンス環境(GSRD: Golden System Reference Design)に採用されている Yocto Poky リファレンス Linux 環境のビルド手順を日本語で解説します。
対応する SoC FPGA エンベデッド開発スイート(SoC EDS)のバージョンは、v20.1 Standard Edition もしくは v20.1 Pro Edition となりますが、Linux のビルド作業には SoC EDS を必要としません。以前の SoC EDS バージョンをご使用の場合でも本手順で Linux 環境をビルドすることができます。 |
ver.20.1 以降
|
|
記事
|
この記事では、SoC FPGA の HPS(ハード・プロセッサー・システム)上で Linux を起動する際に使用する extlinux.conf の書式について説明します。
|
ver.20.1 以降
|
|
記事
|
この記事では、SoC FPGA のソフトウェア・リファレンス環境(GSRD: Golden Software Reference Design)に採用されている Angstrom Linux のビルド手順を日本語で解説します。対応する SoC FPGA の開発環境は、SoC FPGA エンベデッド開発スイート(SoC EDS)のバージョン v18.1 Standard Edition のツールに対応した手順で記載します。
|
ver.18.1 以前
|
|
記事
|
SoC FPGA をターゲットとした Linux デバイスツリーの作成・編集作業に適用可能な3つの方法について紹介します。
|
ver.18.1 以前
|
|
記事/サンプル
|
Arria® 10 SoC Development Kit の Hard Processor System(HPS)側の LED は、SPIO Interface(HPS 側の SPI Master から MAX V に対して SPI コマンドで操作)で接続されており、通常の GPIO で構成されているわけではありません。
ただし Linux には spidev という SPI 用のデバイスドライバーが用意されており、それを使用することで操作可能です。 |
ver.18.1 以前
|
|
記事
|
この記事では、SoC FPGA ターゲット上で Linux から FPGA 回路のコンフィグレーションを実行する方法を記載します。
Linux カーネルバージョン(v4.x 以降) |
なし
|
|
記事
|
この記事では、SoC FPGA を搭載した評価ボードに実装されている RTC(リアルタイム・クロック)の使い方(時刻設定方法)を紹介します。
|
なし
|
|
記事
|
Linux 用のオープンソース・ソフトウェア・ツール『ethtool』を利用することでイーサネット・ドライバーの動作やパフォーマンスをチューニングすることが可能です。SoC FPGA 用の Linux ソフトウェア・リファレンス環境(Golden Software Reference Design (GSRD))には、初めから ethtool がインストールされているので、ターミナル上で ethtool コマンドを入力することで簡単にパラメーター変更の効果が確認できます。
この記事では、ethtool によるパラメーター変更の方法と、イーサネットのパフォーマンスの変化を実験した結果を掲載します。 |
なし
|
4-7. デバッグ手法・デバッガー活用
SoC FPGA でのデバッグ手法、デバッガー活用に関するコンテンツです。
区 分*1 |
名 称 |
説 明 |
対象バージョン |
記事
|
マクニカのページに公開されている技術記事のなかから、SoC FPGA 向けのソフトウェア統合開発環境として利用可能な Arm® DS / DS-5 の使い方に関連した記事を紹介します。
|
全バージョン
共通 |
|
記事/サンプル
|
実行中のターゲット環境に後から Arm® DS / DS-5 を接続(アタッチ)する方法を紹介します。この方法では Arm® DS / DS-5 からデバッグ対象ソフトウェアをダウンロードする手順を踏まないので、SD カードや Flash ROM からの自律ブートのターゲット環境で問題が生じた場合に、不具合発生時のソフトウェアの状態を確認する際に役立ちます。
|
全バージョン
共通 |
|
記事
|
Arm® DS / DS-5 のデバッガーコマンドの使い方について紹介します。ご存知の通り、Arm® DS / DS-5 は Eclipse GUI ベースのデバッガーツールとなっています。用意されている各種ビュー(変数ビュー、レジスタビュー、メモリービューなど)を表示・操作するだけで基本的なデバッグが可能になっていますが、デバッガーコマンドを使用することで、Arm® DS / DS-5 活用の幅が広がります。
|
全バージョン
共通 |
|
記事
|
Arm® DS / DS-5 のバージョンの違いによるレジスタービューの差分。一時期導入されていた表示項目フィルター機能の表示設定について掲載します。
|
全バージョン
共通 |
|
記事/サンプル
|
Arm® DS / DS-5 のレジスタービューに新しい表示項目(レジスタ定義)を追加する方法について掲載します。
|
全バージョン
共通 |
|
記事
|
Arm® DS / DS-5 のレジスタービューに FPGA 側のレジスターを表示させる方法について掲載します。
|
全バージョン
共通 |
|
記事
|
Arm® DS / DS-5 を使用して SoC FPGA デバイス上で実行しているソフトウェアの命令トレースを取得する方法を紹介します。トレース機能で CPU の命令実行履歴をトレースすることにより、不具合など事象発生に至るまでのソフトウェアの詳細動作を時系列を遡って確認することができます。
|
全バージョン
共通 |
|
記事
|
ソフトウェアのデバッグ作業時には必ずと言っていいほど使用される「ブレークポイント」の種類とその違い、実際の使い方について紹介します。
|
全バージョン
共通 |
|
記事
|
RocketBoards.org に掲載される HPS ブート用 Flash への書き込み方法『Arria 10 Flash Programming Alternative』を紹介します。
|
全バージョン
共通 |
|
記事
|
SoC FPGA では、各種デバイスに対し ECC 機能を使用することができます。実際に ECC 機能が正常に働くか事前に確認したい場合には、エラー・インジェクションが使用できます。
この記事では、エラー・インジェクションについて説明します。 |
全バージョン
共通 |
|
記事/サンプル
|
この記事では、Cyclone® V SoC をターゲットに SoC FPGA エンベデッド開発スイート(SoC EDS)に付属の統合開発環境である、Arm® Development Studio 5 Intel® SoC FPGA Edition(DS-5)デバッガー上から、2019.04 以降の新しい U-Boot を起動する方法について紹介します。
DS-5 から U-Boot を起動することにより、処理をおこなった時のメモリーやレジスターの状態を DS-5 上から見ることができ、DS-5 上から特定の処理に関してブレークをかけることができます。 |
ver.19.3 Pro /
ver.19.1 Std 以降 |
|
記事/サンプル
|
この記事では、Arria® 10 SoC をターゲットに Arm® Development Studio 5 Intel® SoC FPGA Edition(DS-5)デバッガーから、2019.04 以降の U-Boot を起動する方法について解説します。
|
ver.19.3 Pro / ver.19.1 Std 以降 |
|
記事
|
Arm 社のデバッガーにはセミホスティングと呼ばれる便利な機能が搭載されています。SoC FPGA のソフトウェア開発環境も Arm 社の Arm® Development Studio 5 Intel® SoC FPGA Edition(DS-5)デバッガーが標準採用されているため、この機能を活用することができます。
この記事では、セミホスティング機能の概要ならびに便利な使い方について紹介します。 |
ver.18.1 以前
|
|
記事/資料
|
SoC FPGA では Linux 起動時に U-Boot を使用しますが、この U-Boot には様々な機能があり、デバックや開発時に活用できます。本記事では、SoC EDS に付属の統合開発環境である DS-5 上から U-Boot を起動する方法を紹介します。
DS-5 から U-Boot を起動することで処理を行った時のメモリーやレジスターの状態を DS-5 上から見ることができ、DS-5 上から特定の処理に関してブレークをかけることができます。 |
ver.18.1 以前
|
|
記事
|
この記事では、Arria® 10 SoC をターゲットに Arm® Development Studio 5 Intel® SoC FPGA Edition(DS-5)デバッガーから U-Boot を起動する方法について解説します。
|
ver.18.1 以前
|
|
記事
|
SoC FPGA では HPS(ハード・プロセッサー・システム)側のブートローダーに U-Boot を採用していますが、U-Boot に実装されるコマンド機能を使用することで Ethernet の疎通チェックが行えます。
ボード立ち上げ確認時など、本番用のソフトウェア、OS/ドライバーの準備が整う前の簡易テストに利用可能です。 |
ver.18.1 以前
|
|
記事
|
SoC FPGA では HPS(ハード・プロセッサー・システム)側のブートローダーに U-Boot を採用していますが、U-Boot に実装されるコマンド機能を使用することで所定のアドレスへの Read/Write アクセスを行うことができます。
ボード立ち上げ確認時など、本番用のソフトウェア、OS/ドライバの準備が整う前の簡易テストに利用可能です。 |
ver.18.1 以前
|
|
資料
|
この資料は、Helio ボード用の GSRD を使って Arm® Streamline を用いた動的プロファイルをおこなう手順について記載します。
Arm® Streamline の使い方については、Arm® 社発行のドキュメントにて詳述されるため、本書では画面キャプチャを多用して簡潔にわかりやすく使い方を解説します。 |
ver.18.1 以前
|
4-8. ノウハウ集
SoC FPGA 開発におけるノウハウ集コンテンツです。
区 分*1 |
名 称 |
説 明 |
対象バージョン |
記事
|
Stratix® 10 FPGA/Agilex™ 7 FPGA には SoC タイプのデバイスがありますが、SoC デバイスであっても必ず HPS を使用しなければならないというわけではありません。
SoC タイプの評価キットしか所持されていない場合や、都合により SoC デバイスを用いて設計を行わなければならない場合もあるかと思います。 この記事では HPS を使用せずに設計される際の方法を説明しています。 |
全バージョン
共通 |
|
記事
|
Stratix® 10 FPGA および Agilex™ 7 FPGA の HPS 側の DDR(以下、HPS DDR)へ、FPGA Fabric 側と MPU からアクセスする際の Memory Map があります。HPS DDR へアクセスする際には Memory Map を理解しておかなければ、期待したアドレスへアクセスすることができない場合があります。
この記事では推奨の Memory Map を紹介します。HPS DDR へアクセスする際の参考になれば幸いです。 |
全バージョン
共通 |
|
記事/サンプル |
この記事では Mailbox Client IP の概要や使い方についてまとめています。
Mailbox Client IP を使用する際に必要な Command と Response の概念、ソフトで操作する際に便利な HAL API の紹介もございます。 |
全バージョン
共通 |
|
記事/サンプル |
この記事では、Nios® II から Mailbox Client IP を操作できるサンプルを紹介しています。
Nios® II から Remote System Upgrade(RSU)や QSPI アクセス、電圧/温度センサーからの情報取得を検討されている方にとって参考になれば幸いです。 |
全バージョン
共通 |
|
記事/資料
|
SoC FPGA の Arria® V SoC と Cyclone® V SoC に搭載されている ハード・プロセッサー・システム(HPS)の SDRAM Controller は EMIF Debug Toolkit や EMIF On-Ship Debug Port をサポートしていません。このため HPS からデバッグのレポートを出力させる方法を紹介します。
|
全バージョン
共通 |
|
記事/資料
|
|
SoC FPGA の HPS SDRAM Controller 内部には、Multi-Port Front End(MPFE)が含まれており、各ポートから SDRAM へのアクセスを調停します。MPFE の 調停の設定は優先順位と重みのそれぞれにおいて、専用のレジスタによって行われます。
この記事では MPFE の概要と調停の設定について説明します。 |
なし
|
記事/資料
|
Agilex™ 7 SoC の Hard Processor System External Memory Interface(HPS EMIF)ピンの接続は、使用する I/O バンクが固定されているため、注意すべき制約があります。本資料ではその注意すべき制約をまとめ、速やかに設計をおこなうことを目的としています。
|
なし
|
|
記事/資料
|
メモリー周りの接続は、デバイスやプロトコルごとに異なる箇所があり、紛らわしく間違いが多くなります。
本資料では適切なメモリー周りの接続を示し、回路図確認の際の不明点を明確にすることを目的とします。 |
なし
|
|
記事/資料
|
Stratix® 10 SoC 及び Arria® 10 SoC の Hard Processor System External Memory Interface(HPS EMIF)ピンの接続は、使用する I/O バンクが固定されているため、注意すべき制約があります。
本資料ではその注意すべき制約をまとめ、速やかに設計をおこなうことを目的としています。 |
なし
|
|
記事/資料
|
『Arm® 社の IP ブロックのレジスタ仕様を知りたいが、参照すべきドキュメントが判らない。』という場合には、添付の PDF ファイルをご利用ください。
添付の PDF ファイルは、レジスターマップをベースにした表の右側に「ドキュメント参照先」情報を追加した内容になっています。「Link」列をクリックすることで、参照すべき Web 上のドキュメントを直接開くことができます。 |
なし
|
|
記事
|
この記事では、SoC FPGA の HPS (Arm® プロセッサー)から見たアドレス空間(MPU ビュー)の Boot Region 領域に SDRAM をマッピングするための設定レジスターについて説明します。
|
なし
|
|
記事/資料
|
この記事ではユーザーが明示的にデュアルコアを起動する際の手順について説明しています。
尚、Cyclone® V SoC / Arria® V SoC と Arria® 10 SoC では、フローに多少の差があります。この記事では Cyclone® V SoC / Arria® V SoC について説明しています。 |
なし
|
|
記事/資料
|
この記事では両方のコアへ割り込みを通知する方法の一例を紹介しますので、SPI の割り込みを両コアへ通知する際の参考にして頂ければと思います。
|
なし
|
|
記事/資料
|
この記事では Platform Designer における GIC Interrupt Number の確認方法と、割り込みペンディング・レジスターについて紹介します。FPGA から Cortex®-A9 に割り込みを入れる際の参考にして頂ければ幸いです。
|
なし
|
|
記事
|
Cyclone® V SoC FPGA や Arria® V SoC FPGA などの SoC 搭載デバイスで PCI Express の Root Port の設計をする場合、Linkup 後に Root Port 自身及び Endpoint デバイスの Configuration Register を設定する必要があります。その際、どの様な Transaction を発行すれば良いか、ご質問を頂くことがあります。
規格上の話にはなりますが、分かり辛い点もありますので、イメージ図を使ってご説明させて頂きます! |
なし
|
|
記事/資料
|
この資料は、SoC FPGA デバイスの Hard Processor System(HPS)側に実装されている HPS Hard Memory Controller を ModelSim を使用してシミュレーションする方法について記載します。
|
ver.14.0
|
4-9. トラブル・シューティング
SoC FPGA でのトラブル・シューティングに関するコンテンツです。
区 分*1 |
名 称 |
説 明 |
対象バージョン |
記事
|
Cyclone® V SoC FPGA を使用して QSPI フラッシュメモリーから ハード・プロセッサー・システム(HPS)をブートする構成は実際によく用いられる構成です。この時、QSPI に対して誤ったデータを書き込んでしまった場合などに HPS Flash Programmer(quartus_hps)からアクセスができなくなってしまうケースがあります。
要因は様々ですが、このページでは対処法としていくつかご紹介いたします。 |
全バージョン
共通 |
|
記事
|
この記事では、Quartus® Prime 開発ソフトウェアを使用した SoC FPGA 搭載ボード向けのデザインについて、HPS 側のピン配置の指定に関する注意点を掲載します。
|
全バージョン
共通 |
|
記事
|
SoC FPGA の Quad SPI Flash Controller では、Preloader の段階でキャリブレーションを行い、その際に最もデータの取りやすいタイミングを決定します。
このページでは そのタイミングの決定の仕方と、その結果の確認方法について解説します。 |
なし
|
4-10. ソリューションおよび事例紹介
SoC FPGA でのソリューションおよび事例紹介に関するコンテンツです。
区 分*1 |
名 称 |
説 明 |
対象バージョン |
記事
|
Sodia – Cyclone® V ST SoC 評価ボードを活用して、OpenCL を使い SoC FPGA に効率良く計算を加速させるデモンストレーションの概要をご紹介します。
|
なし
|
|
記事
|
Sodia – Cyclone® V ST SoC 評価ボードを活用して、Cyclone® V SoC の Arm® プロセッサー上で Linux を起動し小型ディスプレイに表示させるデモンストレーションの概要をご紹介します。
|
なし
|
|
記事
|
Sodia – Cyclone® V ST SoC 評価ボード にSDI ドータボード、LVDS ドーターボード、DVI モニターを接続し組み込みパネルコンピューターをイメージしたデモを構築。
|
なし
|
|
記事
|
ET2015 のマクニカ Mpression ブースでは、17 日にプレスリリースをしたアルテラ社 Cyclone® V ST SoC 搭載評価ボード「Mpression Sodia」を活用して SDI カメラ映像と SD 内動画を LVDS 基板 @1024x768(XGA)画面に合成出力するデモンストレーションをおこないました。このページでは、そのデモの概要をお伝えします。
|
なし
|
|
記事
|
近年、機能の複雑化が進むデジタル家電や車載機器の OS に、Linux や Android™ を使用するケースが増加しています。電源断からの起動(コールドブート)時間が数十秒から 1 分前後もかかる場合もあり、機器メーカーにとって改善すべき課題となっています。
そこで、ユビキタス社 では、Linux / Android™ をわずか数秒からで瞬間起動して、アプリケーション実行状態へ復元可能な新技術である Ubiquitous QuickBoot を開発し、Mpression Sodia – Cyclone® V ST SoC 評価ボード上で動作するデモを作成しました。Ubiquitous QuickBoot の特長についてご紹介します。 |
なし
|
|
記事
|
Borax SOM は Cyclone® V SoC を中心にシステムで必要なメモリーや電源、外部インターフェースなどを集積した名刺大のシステムオンモジュールです。
Cyclone® V SoC は Arm® Cortex®-A9 コアを 2 つと FPGA ファブリックを統合した新しい SoC で、高度なアプリケーションプロセッシングと FPGA の柔軟なハードウェアを組み合わせた複雑なシステムを容易に開発できます。 |
なし
|
- SoC FPGA 関連の記事や資料
- SoC FPGA 関連の FAQ
-
Altera® FPGA 関連の FAQ
- アルティマ技術サポート
- アルティマ技術サポートの技術コンテンツページ
- アルティマ技術サポートの FAQ ページ
5. Altera® のコンテンツ
5-1. Altera® の SoC FPGA 関連デザインサンプル
以下のような SoC FPGA 向けの各種デザインサンプルが公開されています。
名 称 |
概 要 |
ファイル / Web ページ |
対応ボード |
SDMMC GSRD | Golden System Reference Design(GSRD)は、さまざまなカスタム・ユーザーデザインの開始点として使用できる重要なハードウェアおよびソフトウェア・システム・コンポーネントを提供します。 |
User Manual Arria® 10 (最新はこちら) |
Arria® 10 SoC 開発キット |
QSPI GSRD |
Example Arria® 10 (最新はこちら) |
Arria® 10 SoC 開発キット | |
SGMII GSRD | Release Notes Arria® 10(最新はこちら) | Arria® 10 SoC 開発キット | |
NAND GSRD | (最新はこちら) | Arria® 10 SoC 開発キット | |
Remote Debug | この例では、System-Level Debugging(SLD)ツールを使用してリモートシステム・デバッグを実行する方法について説明します。 | Example Arria® 10 | Arria® 10 SoC 開発キット |
HPS-to-FPGA Bridges | FPGA ファブリックに接続されたハード・プロセッサー・システム(HPS)のメモリーマップされたインターフェースを実行します。HPS のさまざまなポートを使用して HPS メモリーをリード/ライトすることによってメモリーテストを実行し、データ転送のパフォーマンスを測定します。 | Arria® 10 SoC 開発キットCyclone® V SoC 開発キット | |
PCIe Root Port | このリファレンス・デザインは、Arria® 10 SoC 開発キット上で動作する PCIe ルートポートを Cyclone® V GT FPGA 開発キットの PCIe エンドポイントまたは一般的に利用可能な Intel® PCIe Ethernet アダプターカードのエンドポイントに接続したものです。また、Cyclone® V SoC 開発キットおよび Arria® V SoC 開発キットにも適用できます。 | Example | Arria® 10 SoC 開発キットArria® V SoC 開発キットCyclone® V SoC 開発キット |
Secure Boot | このドキュメントでは、Arria® 10 SoC FPGA Authentication Signing Utility ツールを使用して Arria® 10 SoC セキュアブート・システムを実装し、first-stage ブートローダー・イメージを保護する方法とデザイン例を示します。 | User Guide & Example | Arria® 10 SoC 開発キット |
HPS DMA HWLIB | DMA API を使用して DMA を初期化し、メモリーからメモリーへの転送をおこなう方法を示しています。 | Arria® 10 SoC 開発キットArria® V SoC 開発キットCyclone® V SoC 開発キット | |
ECC HWLIB | オンチップ RAM、SD/MMC、クワッドシリアル・ペリフェラル・インターフェース(SPI)、DMA および L2 キャッシュの Error Correction Code(ECC)API 機能をデモしています。この例では、各 RAM の ECC のセットアップと有効化、シングル/ダブルビット・エラーのインジェクション、シングル/ダブルビット・エラー検出のための割り込みのセットアップ方法を示しています。 | Arria® 10 SoC 開発キットArria® V SoC 開発キットCyclone® V SoC 開発キット | |
GPIO HWLIB | General-Purpose Input/Output(GPIO)API を使用して、HPS LED を駆動する出力ポートとして GPIO を設定し、HPS プッシュボタンの入力ポートとして GPIO を設定する方法を示しています。 | Arria® 10 SoC 開発キットArria® V SoC 開発キットCyclone® V SoC 開発キット | |
I2C HWLIB | I2C API を使用してマスターとスレーブのリード/ライトを実行する方法を示します。この例では、LCD スクリーン、EEPROM メモリーとの I2C 通信、および 2 つの I2C モジュール間の通信をデモしています。 | Arria® 10 SoC 開発キットArria® V SoC 開発キットCyclone® V SoC 開発キット | |
Quad SPI HWLIB | クワッド SPI API を使用して、一般的なブロック I/O 関数でクワッド SPI のリード/ライトを実行し、間接モードと DMA モードを使用してデータ・トランザクションを実行する方法を示しています。この例では、MMU やキャッシュの設定など、追加の API 機能も示しています。 | Arria® V SoC 開発キットCyclone® V SoC 開発キット | |
SD/MMC HWLIB | SD/MMC カードの初期化、ブロック I/O 関数を用いたリード/ライトをおこなうための SD/MMC API の利用方法を示しています。 | Arria® V SoC 開発キットCyclone® V SoC 開発キット | |
Timer HWLIB | フリーランニング・タイマー、ワンショット・タイマー、ウォッチドッグ・タイマー、およびグローバル・タイマー測定のための Timer API の使用方法を示しています。 | Arria® 10 SoC 開発キットArria® V SoC 開発キットCyclone® V SoC 開発キット | |
Unhosted HWLIB | セミホスティングの代わりに UART を使って printf 出力をおこなう方法を示しています。また、SD カードからベアメタルプログラムを起動する方法も示しています。 | Arria® V SoC 開発キットCyclone® V SoC 開発キット | |
SPI HWLIB | SPI API を使用して FPGA ファブリッ クを介して接続された 2 つの SPI モジュール間で通信する方法を示しています。 | Arria® 10 SoC 開発キットArria® V SoC 開発キットCyclone® V SoC 開発キット | |
HPS Peripheral Mapping to FPGA | このデザイン例では、ハード・プロセッサー・システム(HPS)の EMAC および I2C ペリフェラルを FPGA ファブリックに配線し、FPGA I/O に接続する方法を示しています。 | Cyclone® V SoC 開発キット | |
Power Optimization HWLIB | 消費電力を節約するために、呼び出し元のプロセッサー・コアをクロック・ゲーティング・モードにする WFI または WFE コールの使用を示しています。 |
Example Readme |
Cyclone® V SoC 開発キット |
Shared Memory Partition | このデザイン例では、ハード・プロセッサー・システム(HPS)SDRAM コントローラーのメモリー保護ルールの構成とテスト方法を説明します。 | Cyclone® V SoC 開発キットTerasic Atlas SoC キット |
- FPGA Design Store ページは、条件を設定して Design Examples を探せるページです。
対応デバイス | 対応ボード |
Agilex™ 5 | Agilex™ 5 FPGA E シリーズ 065B 開発キット(Premium) |
Agilex™ 7 | Agilex™ 7 FPGA I シリーズ・トランシーバ SoC 開発キット |
Stratix® 10 SoC | Stratix® 10 SoC 開発キット |
Arria® 10 SoC | Arria® 10 SoC 開発キット |
Cyclone® V SoC | Cyclone® V SoC 開発キット |
- Embedded Software Developer Center は、以下に挙げる特定の開発ロール向けにカスタマイズされた各種資料やデザイン例が公開されているページです。例えば、上記デバイス別のページからはなかなかたどり着けない HPS SoC Boot Guide などの資料のリンクも見つけられます。
特定の開発ロール向けにカスタマイズされた各種資料やデザイン例が公開されているページ:
5-2. Altera® の SoC FPGA 関連ドキュメント
Altera® FPGAs & SoC FPGAs(日本語ページ)ページは、FPGA と SoC 製品に関する資料を探すための入り口です。
■ 入門資料
■ ユーザーガイド および アプリケーション・ノート
■ ホワイトペーパー
タイトル |
■ 無料の SoC FPGA オンライン・トレーニング・コース
以下のページ では、Altera®(Intel®)が公開している SoC FPGA 関連の開発者トレーニングが表示されます。
Intel Learning : Intel Developer Training - SoC
6. その他のコンテンツ
6-1. RocketBoard.org コミュニティー・ポータルサイト
RocketBoards.org コミュニティー・ポータルサイト では、SoC FPGA 向けの Linux に関する各種情報を提供しています。
- 各種デザインサンプルは、RocketBoards.org の Projects ページ で公開されています。
- 各種ドキュメントは、RocketBoards.org の Documentation ページ で公開されています。
- インテル® およびパートナーが提供する開発キット(ボード)に関する情報は、RocketBoard.org の Boards ページ で公開されています。
例えば、マクニカ Mpression の Sodia ボードのページ では日本語リソースが公開されており、また各種のドキュメント、リファレンス・デザイン、デモなどが公開されています。
6-2. YouTube で公開しているビデオ
YouTube では各種の SoC FPGA 向けの各種動画 が公開されています。
7. SoC EDS に付属されているサンプル
SoC EDS には、SoC FPGA 開発キット向けのゴールデン・ハードウェア・リファレンス・デザイン(GHRD)、U-Boot、Linux、およびベアメタル・リファレンス・サンプルが付属しており、これらを使用した素早い開発が可能となっています。
SoC EDS v18.0 の examples/software フォルダには、以下のような Linux および ベアメタルサンプルがあります。
名 称 |
概 要 |
備 考 |
Altera-SoCFPGA-Blinking-LED-Linux-GNU
|
Linux 向け: LED 点滅サンプル
|
Linaro Linux GCC コンパイラー用
|
Altera-SoCFPGA-HardwareLib-16550-CV-ARMCC
|
ベアメタル向け: Cyclone® V SoC + 16550 UART API 使用例
|
Arm® コンパイラー用
|
Altera-SoCFPGA-HardwareLib-16550-CV-GNU
|
ベアメタル向け: Cyclone® V SoC + 16550 UART API 使用例
|
GCC コンパイラー用
|
Altera-SoCFPGA-HardwareLib-ECCL2-CV-ARMCC
|
ベアメタル向け: Cyclone® V SoC L2キャッシュでのECC API使用例
|
Arm® コンパイラー用
|
Altera-SoCFPGA-HardwareLib-ECCL2-CV-GNU
|
ベアメタル向け: Cyclone® V SoC L2キャッシュでのECC API使用例
|
GCC コンパイラー用
|
Altera-SoCFPGA-HardwareLib-FPGA-CV-ARMCC
|
ベアメタル向け: Cyclone® V SoC FPGA Manager API使用例
|
Arm® コンパイラー用
|
Altera-SoCFPGA-HardwareLib-FPGA-CV-GNU
|
ベアメタル向け: Cyclone® V SoC FPGA Manager API使用例
|
GCC コンパイラー用
|
Altera-SoCFPGA-HardwareLib-SPI-CV-ARMCC
|
ベアメタル向け: Cyclone® V SoC SPI API を使用した EEPROM のリード/ライト・サンプル
|
Arm® コンパイラー用
|
Altera-SoCFPGA-HardwareLib-SPI-CV-GNU
|
ベアメタル向け: Cyclone® V SoC SPI API を使用した EEPROM のリード/ライト・サンプル
|
GCC コンパイラー用
|
Altera-SoCFPGA-HardwareLib-Timer-A10-ARMCC
|
ベアメタル向け: Arria® 10 SoC Timer API 使用例
|
Arm® コンパイラー用
|
Altera-SoCFPGA-HardwareLib-Timer-A10-GNU
|
ベアメタル向け: Arria® 10 SoC Timer API 使用例
|
GCC コンパイラー用
|
Altera-SoCFPGA-HardwareLib-Timer-AV-ARMCC
|
ベアメタル向け: Arria® V SoC Timer API 使用例
|
Arm® コンパイラー用
|
Altera-SoCFPGA-HardwareLib-Timer-AV-GNU
|
ベアメタル向け: Arria® V SoC Timer API 使用例
|
GCC コンパイラー用
|
Altera-SoCFPGA-HardwareLib-Timer-CV-ARMCC
|
ベアメタル向け: Cyclone® V SoC Timer API 使用例
|
Arm® コンパイラー用
|
Altera-SoCFPGA-HardwareLib-Timer-CV-GNU
|
ベアメタル向け: Cyclone® V SoC Timer API 使用例
|
GCC コンパイラー用
|
Altera-SoCFPGA-HelloWorld-Baremetal-ARMCC
|
ベアメタル向け: Hello World サンプル
|
Arm® コンパイラー用
|
Altera-SoCFPGA-HelloWorld-Baremetal-GNU
|
ベアメタル向け: Hello World サンプル
|
GCC コンパイラー用
|
Altera-SoCFPGA-HelloWorld-Linux-GNU
|
Linux 向け: Hello World サンプル
|
Linaro Linux GCC コンパイラー用
|
Altera-SoCFPGA-Push-Button-Linux-GNU
|
Linux 向け: Push-Button サンプル
|
Linaro Linux GCC コンパイラー用
|
注記:
Minimal Preloader(MPL)のベアメタルサンプル Altera-SoCFPGA-HardwareLib-MPL は、SoC EDS Standard Edition バージョン 18.0 には含まれていません。MPL を使用する場合は、Standard Edition バージョン 17.1 に付属のサンプルを使用する必要があります。詳細は、SoC EDS の Release Notes のページ を参照ください。
8. SoC FPGA のエコシステム(パートナーリンク)
SoC FPGA は Arm® プロセッサー・ベースであり、Arm® エコシステムの強みを継承しています。
インテル® とエコシステム・パートナーは、各開発ニーズに応じて幅広い選択肢を提供します。
詳細は、Intel® SoC FPGAs Ecosystem(日本語ページ)をご参照ください。
8-1. SoC FPGA のオペレーティング・システム
SoC FPGA デバイスは、オープンソースの Linux に加え、多数の商用オペレーティング・システムが利用できます。以下に商用オペレーティング・システムのパートナーリンクを紹介します。
オペレーティング・システム(OS) |
会社名 |
Abassi | Code Time Technologies |
Bare-Metal/Hardware Libraries | Altera® |
Carrier Grade Edition 7(CGE7) | MontaVista |
DEOS | DDC-I |
eCosPro | eCosCentric |
eT-Kernel | イーソル株式会社 |
FreeRTOS | FreeRTOS.org |
INTEGRITY RTOS | Green Hills Software(日本代理店: アドバンスド・データ・コントロールズより提供) |
Nucleus | Siemens |
QNX Neutrino RTOS | QNX |
RTXC | Quadros Systems Inc. |
ThreadX | Microsoft |
µC/OS-II、µC/OS-III | Micrium(日本代理店: テクノ・ロジックより提供) |
µC3 | イー・フォース株式会社 |
VxWorks | Wind River |
Wind River Linux | Wind River |
8-2. SoC FPGA 向け開発ツール
JTAG デバッガーとインストラクション・トレース機能を含む専門性の高い開発ツールについては、以下をご検討ください。
製 品 |
供給ベンダー |
詳 細 |
Arm® Development Studio for Intel® SoC FPGA | Altera® | Arm® Development Studio をベースにした SoC FPGA デバイス向けソフトウェア開発およびデバッグツール。JTAG のデバッグおよび高速命令トレースのために FPGA ダウンロード・ケーブル II JTAG デバッガーツールまたは Arm® DSTREAM ツールとともに使用します。 |
Multi | Green Hills | Green Hills INTEGRITY リアルタイム・オペレーティング・システム向けのソフトウェア開発およびデバッグツール。MULTI は JTAG デバック向けで Green Hills Probe で接続されます。 |
Poly-Platform、uC/OS-II | PolyCore Software、 Micrium(日本代理店: テクノ・ロジックより提供) |
PolyCore ソフトウェアと Micrium は、マルチコアソリューションで Cyclone® V SoC をサポートします。この開発環境は、実績のあるメッセージの受け渡しプログラミング・モデルおよびトラステッド・リアルタイム・オペレーティング・システム(RTOS)を提供し、新しいマルチコアデザインの作成を容易にします。 |
Simulink Embedded Coder | MathWorks | MathWorks の Simulink と Embedded Coder を使用して、Cyclone® V SoC 用の C/C++ コードを生成します。このソリューションは、HDL Coder による SoC FPGA サポートと併用することで、シミュレーション、プロトタイプ作成、検証、および実装にまたがる SoC FPGA のハードウェア / ソフトウェア・ワークフローに利用できます。 |
Sourcery CodeBench | Siemens | GNU ツールチェーンは、デュアルコア Arm® Cortex®-A9 MPCore プロセッサー・ベースの SoC バーチャル・ターゲットをサポート。 |
TRACE32 | Lauterbach | Lauterbach TRACE32 は、Nios® II プロセッサーとデュアルコア Arm® Cortex®-A9 MPCore プロセッサー・ベースの SoC をサポートするデバッグ、トレース、および命令セット・シミュレーターを含むモジュラータイプのプロセッサー開発ツールのファミリーです。 |
Workbench | Wind River | Cyclone® V SoC および Arria® V SoC のデュアルコア Arm® Cortex®-A9 MPCore プロセッサーで動作する VxWorks 用のソフトウェア開発ツール。 |
8-3. SoC FPGA IP コア
SoC FPGA は、さまざまなサードパーティおよびソフト知的財産(IP)コアでサポートされていす。
こうした IP ブロックは、SoC デバイス上の FPGA でのインスタンス化が可能です。
主要な SoC ソフト IP コアの例は次のとおりです。
IP |
供給ベンダー |
詳 細 |
グラフィックス・レンダリング | TES Electronic Solutions | 2D、2.5D、3D および HD グラフィックス・レンダリング(EGL 1.3、OpenGL ES 1.1、OpenVG 1.01 API までをサポート) |