「MAX 10 NEEK」でストップウォッチを開発し、内蔵メモリから起動するMAX 10 FPGAで学ぶFPGA開発入門(11)(8/10 ページ)

» 2016年06月14日 14時00分 公開
[大原 雄介MONOist]

「ストップウォッチ」をMAX 10内蔵フラッシュから起動する

 恐ろしい事に今回はここまでが前段階であり、ここからが本題となる。多少なりとも意味のあるプログラムが完成したところで、それではこれをMAX 10の内蔵Flash Memoryから起動させる手順をご紹介したい。

 まずは再びQSYSに戻る。"Basic Functions"→"On Chip Memory"→"Altera On-Chip Flash"を選択し、内蔵Flashを追加する(Photo09)。

photo Photo09:連載 第7回の時は、timestamp_timerを指定してsys_clk_timerはnoneだった

ここで注意点は

  • Configure Modeを"Single Uncompressed Image"にする。
  • Initialize flash contentのチェックを外す。

の2点である。

photo Photo10:たまたまなのか、筆者のケースでは追加したら2つともこの状態になっていた
photo Photo11:NIOS IIのプログラムとデータの両方がここに格納されるので、dataの先に両方が結線される

 追加後はPhoto11の様に結線を行い、再度"Assign Base Address"でアドレスの再配置を行う。次に、NIOS IIのパラメータを表示し、Reset Vectorを"onchip_memory2_0.s1"から"onchip_flash_0.data"に変更する(Photo12)。

photo Photo12:要するにCPUにリセットが掛かったときどこに飛ぶかの指定で、これで内蔵Flash Memoryに飛ぶことになる

 以上でQSYSの作業は終了で、後は保存してGenerate HDLでHDLを生成してからQuartus IIに戻る。

 Quartus IIではまずメニューの"Assignments"→"Device"でDevice Menuを呼び出し、ここの"Device and Pin Options..."ボタンを押してDevice and Pin Options Menuを表示する(Photo13)。ここのConfigurationの中の"Configuration Mode"を"Single Uncompressed Image(3584Kbit UFM)"に設定し、OKボタンを押す。

photo Photo13:ここはPhoto10と設定をあわせる形

 これが完了したらQuartus IIに戻ってコンパイルを行うが、完了してもProgrammerはまだ呼び出さない。その前にEclipse側の作業がある。

関連キーワード

アルテラ | FPGA関連 | Eclipse


Copyright © ITmedia, Inc. All Rights Reserved.