連載
» 2016年01月26日 09時00分 UPDATE

MAX 10 FPGAで学ぶFPGA開発入門(6):FPGA上でソフトコアCPUを動かす手引き (1/7)

これまでFPGAの開発基礎としてLチカなどを紹介してきたが、今回はちょっと目先を変えてFPGA上でのCPUコア動作に取り組む。今回も連載で使う「MAX 10 FPGA 評価キット」の読者プレゼントをご用意。

[大原 雄介,MONOist]
アルテラの開発ボード「MAX 10 FPGA」 アルテラの開発ボード「MAX 10 FPGA」

 アルテラの開発ボード「MAX 10 FPGA」を利用してFPGA開発の基礎を学ぶこの連載、これまでにはLチカやダイナミック点灯などを紹介してきたが、今回はちょっと目先を変えて、FPGAの上でCPUコアを動かしてみたいと思う。

・連載:MAX 10 FPGAで学ぶFPGA開発入門

 アルテラのFPGAには同社より「NIOS II」と呼ばれるソフトIPコア(FPGAのゲートを利用して動作する32bit CPU)が提供されており、これを利用すると外部にMCUなどを用意しなくても、C/C++のプログラムを実行させることができる。もちろん、これはMAX 10でも利用可能である。

 さて、こちらについてもさまざまなサンプルプログラムが用意されている。一番シンプルなのは「Nios II + Qsys "Hello World" Lab」だが、あいにくこのサンプルは「MAX 10 Development Board」向けなのでそのままでは使えない。MAX 10 Evaluation Boardで動作するNios IIの一番簡単なものは、「Nios II On-die Temperature Sensor Design Example 2」なので、これを使ってみることにしたい。

インストールパッケージの入手と展開

 最初のステップは、Installation Packageのダウンロードである。こちらページの中ほどにある「Download」をクリックして、「evalkit_temp_sensor_console.par」ファイルをダウンロードしておく(Photo01)。

evalkit_temp_sensor_console.parをダウンロード Photo01:ダウンロードするファイルはQuartus IIのバージョン(15.0.0か15.1.0)で異なるので、自分の利用しているQuartus IIのバージョンにあわせた方をダウンロードする必要がある

 これが終わったらQuartus IIを起動して、「File」→「New Project Wizard」を選択し、まずは適当な名前で新規プロジェクトを作る(Photo02)。次にProject Typeは「Project Template」を選び(Photo03)、Template一覧から「Nios II On-dir Temperature Sensor」を選択する(Photo04)。

 最初、この選択肢は出てこないハズである。ここで一覧の下にある「Install the design template」をクリックし、先ほどダウンロードした「evalkit_temp_sensor_console.par」を指定すると、一覧に出現して選択できる。選択して「Next」を押すとサマリーが出てくる(Photo05)ので、「Finish」を押すとウィザードは完了である。

Photo02:名前は自分が分かればなんでもいい Photo02:名前は自分が分かればなんでもいい
Photo03:Empty Projectを選ぶとちょっと後が大変 Photo03:Empty Projectを選ぶとちょっと後が大変

Photo04: Photo04:"Nios II On-dir Temperature Sensor"が2つあるのは、最初間違ってQuartus II 15.1.0をインストールしてしまったから(Software Versionの欄を見ると分かる)
Photo05:実際はこの画面から、Quartus IIに戻るまでの間、いろいろなファイルのビルドが行われるのでちょっと時間がかかる Photo05:実際はこの画面から、Quartus IIに戻るまでの間、いろいろなファイルのビルドが行われるのでちょっと時間がかかる

 さてQuartus IIに戻るとこんなメッセージが出ているはずだ(Photo06)。左上のファイル一覧を見ると、platform/nios_setup/simulation/nios_setup.sipとplatform/nios_setup/synthesis/nios_setup.qipの2つが確認できるはずだが、この時点でそのファイルは存在していない。これは後で生成されるのだが、生成される場所は異なるので、取りあえずこのファイルは削除しておく(Photo07)。

Photo06:画面下のステータス表示に注目。nios_setup.sip/nios_setup.qipが無いと表示されている Photo06:画面下のステータス表示に注目。nios_setup.sip/nios_setup.qipが無いと表示されている
Photo07:ファイル名を右クリックしてコンテクストメニューで Photo07:ファイル名を右クリックしてコンテクストメニューで"Remove File from Project"を選ぶと削除できる
       1|2|3|4|5|6|7 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.