これまでFPGAの開発基礎としてLチカなどを紹介してきたが、今回はちょっと目先を変えてFPGA上でのCPUコア動作に取り組む。今回も連載で使う「MAX 10 FPGA 評価キット」の読者プレゼントをご用意。
アルテラの開発ボード「MAX 10 FPGA」を利用してFPGA開発の基礎を学ぶこの連載、これまでにはLチカやダイナミック点灯などを紹介してきたが、今回はちょっと目先を変えて、FPGAの上でCPUコアを動かしてみたいと思う。
アルテラの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)。
これが終わったら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」を押すとウィザードは完了である。
さてQuartus IIに戻るとこんなメッセージが出ているはずだ(Photo06)。左上のファイル一覧を見ると、platform/nios_setup/simulation/nios_setup.sipとplatform/nios_setup/synthesis/nios_setup.qipの2つが確認できるはずだが、この時点でそのファイルは存在していない。これは後で生成されるのだが、生成される場所は異なるので、取りあえずこのファイルは削除しておく(Photo07)。
Copyright © ITmedia, Inc. All Rights Reserved.