連載
» 2016年04月12日 12時00分 UPDATE

MAX 10 FPGAで学ぶFPGA開発入門(9):「MAX 10 NEEK」へソフトコアCPUを組み込む (1/6)

周辺機器の充実したMAX10搭載開発ボード「MAX 10 NEEK」に、ソフトコアCPU「NIOS II」を組み込み、ソフトコアCPUからボード搭載LEDの制御までを紹介する。

[大原 雄介,MONOist]

 前回より、周辺回路の充実した台湾Terasic製MAX 10評価ボード「MAX 10 NEEK」を用いての本格的な開発に着手したのだが(周辺機器の充実した「MAX 10 NEEK」で本格的な開発を目指す)、NEEKの話を始める前にちょっと以前の補足を。

 連載第6回にて、なぜかQuartus II 15.0を使うとTempSensorをビルドしても上手く動かないという話をご紹介した。また続く第7回の冒頭で、Quartus Prime Liteでもうまく動かないが、Quartus II 14.1ならば普通に動作するという話も紹介した。

 これに関しては「BSPの再構成も必要」であり、これが「マニュアルに記載がない」旨をアルテラよりご連絡いただいた。具体的にはこの画面で、左ペイン下側にある「TempSensor_bsp」についても再構築が必要、との事である。

 ただ実はこれに沿ってTempSensor_bspについてもClean Build → Buildを行ってみたものの、状況に変化は無かった。これはQuartus II 15.0でもQuartus Prime Liteも同じであった。現在もう少し詳細をアルテラに問い合わせ中なので、結果が分かり次第、お伝えしたいと思う。

NEEKへNIOS IIを組み込む

 さて、気を取り直して(?)NEEKである。

 前回は取りあえずFPGAのみを使ってのLチカをやってみたので、今回はNIOS IIを組み込んでみたいと思う。まずはNEEKに付属のSystem Builderを起動して、必要なコンポーネントを組み込む(Photo01)。するとSystem Builderの下に "CodeGenerated\MAX10\NEEK_NIOS2" というフォルダが生成されて、今生成されたコードがおかれているので、これを適当なところ(筆者はC:\altera\15.0\Projects\の下にNEEK_NIOS2というフォルダを生成してここにコピーした)におく。

Photo01:プロジェクト名は「NEEK_NIOS2」とした Photo01:プロジェクト名は「NEEK_NIOS2」とした。7セグメントLEDは今回利用を考えていないが、後で使うかと思って組み込んでみた

 次にQuartus II(でもQuartus Prime Liteでもどちらでもいい。今回はQuartus II 15.0を選んだ)を起動し、既存のProjectのオープンを選んで、今生成されたNEEK_NIOS2.qpf(Project File)を選ぶとこんな具合(Photo02)になる。

Photo02:Photo01では指定していないPS2の信号線が定義されているのは、恐らくはSystem Builderのバグであろう。HEX0/HEX1は7セグLED Photo02:Photo01では指定していないPS2の信号線が定義されているのは、恐らくはSystem Builderのバグであろう。HEX0/HEX1は7セグLED

 さて、次はNIOS IIの組み込みである。これはSystem Builderでは行えないので、QSYSを起動してこれを行うことにする。起動直後はClock Sourceしかないので(Photo03)、まずは"Processors and Peripherals" → "Embedded Processors" → "NIOS II Processor"をダブルクリックしてNIOS IIコアを登録する(Photo04)。

Photo03:Clock Sourceは自動で登録される。これは特にいじる必要がない Photo03:Clock Sourceは自動で登録される。これは特にいじる必要がない
Photo04:NIOS II(Classic)を選ばない様に注意 Photo04:NIOS II(Classic)を選ばない様に注意

       1|2|3|4|5|6 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.