My回路のIPコア・ライブラリ化から共通クロス開発環境の構築まで
FPGAマガジン No.12
ARMコアFPGA×Linux初体験
FPGAマガジン編集部 編
B5判 144ページ
定価2,420円(税込)
JAN9784789846226
2016年2月1日発行
好評発売中!
Altera社製FPGA“Cyclone V SoC”そしてXilinx社製FPGA“Zynq”.これらのFPGAには,数百MHzのクロックで動作するARM Cortex-A9デュアル・コア・プロセッサが内蔵されています.どちらのFPGAのコアも,スペック上は同じコアのように見えます.開発環境をできるだけ共通にすることはできないでしょうか.
本特集では,まず初めにCyclone V SoCとZynqを比較し,あらためて両デバイスの特徴を整理します.
次に同一のVGA表示回路をIPコアとして作成し,AlteraとXilinx両方のFPGA開発ツールにライブラリ化して登録します.そしてそれを回路モジュールとしてAXIバスに接続しFPGAに実装するまでを,SoC(System on a Chip)開発の事例として解説します.
さらに共通のLinux開発環境を構築し,ルート・ファイル・システムやブート・ローダ,Linuxカーネルをビルドします.
そして1枚のSDカードを用意し,Cyclone V SoCとZynqのどちらも起動できるよう,パーティションの設定方法や,第1段階ブート・ローダの書き込み方法,そしてFPGAとLinuxの起動に必要なファイルのコピー手順を解説します.
SDカードが完成したら,Cyclone V SoCとZynqで実際にLinuxを起動させ,FPGAに実装したVGA表示回路用のデバイス・ドライバを作成します.最後に各種ベンチマークを走らせたり,実装したVGA表示回路の性能を,DirectFBを使ってグラフィックス表示し,こちらもベンチマークを測定して性能を評価します.
目 次
特集 ARMコアFPGA × Linux初体験
【AlteraでもXilinxでもどっちでもこい!】
Cyclone V SoCとZynqの性能を生かすにはLinuxが不可欠
プロローグ 今日から使う!ARMプロセッサ内蔵FPGA
【あなたはAltera派?それともXilinx派?】
入門評価ボードDE1-SoCとZYBOをターゲットにARMプロセッサ内蔵FPGAを比べる
第1章 Cyclone V SoCとZynqの比較とFPGA開発フロー
【My回路のライブラリ化の勧め】
FPGA内蔵メモリ・ブロックをデバイスの違いを意識しないで使うテクニック
第2章 VGA表示回路を例にしたMy回路のIPコア開発とライブラリ化
【System on a Chip開発を体験!】
Quartus Prime/QsysやVivado上でIPコアを選んで並べてAXIバスに接続
第3章 ビルディング・ブロック開発によるMy回路IPコアのFPGAへの実装
【共通カーネルはこうビルドする!】
ルート・ファイル・システムからクロス開発環境の構築,カーネルのビルドまで
第4章 共通カスタムLinuxディストリビューションの開発
【1枚のSDカードで両起動!】
Cyclone V SoC & Zynqの起動手順とブート用SDカードのファイル構成
第5章 ついに起動!デュアル・ブートSDカードの作り方
【DirectFBで画面にペンギンが躍る!】
I/Oアクセス方法やDMA転送ドライバ,各種ベンチマークの実行まで
第6章 Linuxデバドラ & アプリケーションの作成と性能評価
【SDカード・イメージ・ファイルも用意!】
スクリプト1発実行でクロス開発環境が自動で構築できる!
Appendix 特集関連ダウンロード・ファイルの内容
特集関連
【安価なDE0-Nano-SoCですぐ試せる!】
ARMコアとFPGAをつなぐハードウェア & ソフトウェアのリファレンス・デザイン
Atlas-SoCでアルテラSoC環境を手軽に楽しもう
【こちらの環境も両対応!】
もともとZynq用に用意されたLinux環境が,Cyclone V SoCにも対応!
使いやすいXillinux & XillybusをTerasic社SoCKit上に導入する
高位合成関連
【次はPythonで高位合成だ!】
Pythonで記述したソースからVerilog HDLソースを出力する高位合成ツール
プログラミング言語PythonではじめるFPGA開発入門
最新技術
【Quartus II Web Editionでも試せる】
DMA回路を自前で記述して回路規模を小さく,バス占有率も下げられる
Cyclone V SoCで試す無償版純正PCI Expressコアの使いこなし
【CPUがなくても仮想シリアル・ポートが組み込める!】
接続初期化処理(エニュメレーション)をハードウェアが自動で行う
USBコミュニケーション・デバイス・クラス対応のUSBターゲット機器の実装
基礎解説
【7シリーズFPGAでMicroBlazeを使おう!】
Vivadoで始めるソフトIPプロセッサMicroBlaze & MicroBlaze MCS
SDKを使ったMicroBlazeのソフトウェア開発手順詳細