DE0-Nano-SoCはTerasic社製のFPGA開発キットです。Altera社のCyclone V(SE 5CSEMA4U23C6N)が搭載されています。
開発キット本体
本体は横10cm、縦7cm位の大きさです。
表面の中心にCyclone V (5CSEMA4U23C6N)があります。右側に1GB分の容量のDDR3 SDRAMが見えます。
裏面にはmicroSDカードスロットがあります。このスロットには、Linuxが格納されたmicroSDカードが最初から挿入されています。
ケーブルの接続
開発のケーブル接続例です。通常4本のケーブルが必要になります。
- ACアダプタ(左上)、電源
- USB-BLaster II(左下)、FPGAプログラムやデバッグ用
- UART-to-USB(右上)、ターミナル用
- ネットワークケーブル(右下)、Linux開発用。クロスコンパイルしたプログラムの転送などに利用。
USBコネクタにミニUSBコネクタが採用されているのは少し意外でした。
ACアダプタ
付属のACアダプタです。「OUTPUT: 5V 2A MAX:10W」と記載されています。
Linuxの起動
DE0-Nano-SoCは、ACアダプタを接続するだけでLinuxがmicroSDカードから起動するようにセットアップされています。
u-bootからLinuxが起動します。
Linuxのバージョンは3.13.0-00298-g3c7cbb9-dirtyです。Linuxのデバイスドライバを開発する時には、同じバージョンのソースコードが必要になるのですが、この”-dirty”のバージョンはソースコードを見つけることができませんでした(3.13.0-00298-g3c7cbb9はRocketBoards.orgで見つかります)。DMA転送などで利用するCMA(Contiguous Memory Allocator)は512MBのようです。
消費電力
市販のワットチェッカーでLinux起動中の消費電力を計測したところ、最大で5.7Wと表示されました。Linux起動後は約5.0Wで安定します。
DE0-Nano-SoC kitとAtlas-SoC Kit
ネットで関連情報を検索していると、Atlas-SoCという表記を見かけますが、どちらも開発キットのハードウェアは同じものが使われているようです。Terasic社のサイトの説明によると、違いは準備されているリファレンスデザインやドキュメントだけのようです。
DE0-Nano-SoC:ハードウェア開発者向け。簡単なFPGA, HPS, システムデザインといった内容のリファレンスデザインとチュートリアルを使って、開発キットの使い方をガイドする。
Atlas-SoC:組込みソフトウェア開発者向け。LinuxをブートしてWebとVNCサーバを実行。SoC用ソフトウェアの開発を加速するためのリファレンスデザインや開発ツール、チュートリアルを提供。Terasic - DE Boards - DE0-Nano-SoC Kit/Atlas-SoC Kit- Cyclone V SoC with Dual-core ARM Cortex-A9 (HPS) - 1GB DDR3 SDRAM (32-bit data bus)(HPS) - Arduino Expansion Header (U...
どちらの開発リソースも無料で公開されているようなので、開発内容に合わせてコンテンツを選べば良さそうです。現時点ではDE0-Nano-SoCに付属のリファレンスデザインとチュートリアルしか内容を確認していませんが、丁寧に作られたチュートリアルが準備されています。チュートリアルの内容に従って開発キットの動作を確認すると、プロセッサやLinuxを使わない簡単なロジックのみのデザインを使ったFPGAのコンフィギュレーションから、Linuxからmmapを使ってPIOをアクセスし、開発キットのLEDを点灯する手順まで理解できるようになっています。