My回路のIPコア・ライブラリ化から共通クロス開発環境の構築まで ARMコアFPGA×Linux初体験

2016年2月1日発行 定価2,420円(税込) JAN9784789846226

 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を使ってグラフィックス表示し,こちらもベンチマークを測定して性能を評価します.

FPGAマガジン No.12

目 次

特集 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のソフトウェア開発手順詳細

コメントを残す