さて、ここからはQuartus IIに戻る。左のFiles画面で、まず現在表示中のNEEK_NIOS2.v、それとQSYSで生成したqipファイル(今回だとNEEK_NIOS2_QSYS/synthesis/NEEK_NIOS2_QSYS.qip)をプロジェクトに追加する(Photo20)。
ここでNEEK_NIOS2_QSYS.vの中身を見ると、こんな宣言になっているハズ(Photo21)なので、この記述にあわせて、NEEK_NIOS2.vをこんな風に書き換える(Photo22)。List 1に書き換えた後のソースを示すが、要するにNEEK_NIOS_QSYSへ制御を移す宣言である。この際にクロックソースは、もともと供給される50MHzのもの(MAX10_CLK1_50)を指定し、PIOポートにはLEDRを指定する。リセットは常時Offということで、1(True)を与えておく形だ。
List 1: //======================================================= // This code is generated by Terasic System Builder //======================================================= module NEEK_NIOS2( //////////// CLOCK ////////// input ADC_CLK_10, input MAX10_CLK1_50, input MAX10_CLK2_50, input MAX10_CLK3_50, //////////// LEDR ////////// output [9:0] LEDR, //////////// HEX ////////// output [6:0] HEX0, output [6:0] HEX1, //////////// PS2 ////////// inout PS2_CLK, inout PS2_CLK2, inout PS2_DAT, inout PS2_DAT2 ); NEEK_NIOS2_QSYS u0( .clk_clk (MAX10_CLK1_50), // clk.clk .led_pio_export (LEDR), // pio_0_external_connection.export .reset_reset_n (1'b1) // reset.reset_n ); //======================================================= // REG/WIRE declarations //======================================================= //======================================================= // Structural coding //======================================================= endmodule
ここまで終わったらVerilog側のプログラミングは完了である。あとはビルドし(Photo23)、問題が無ければProgrammerを利用して.sofファイルを書き込んで置く。
さて、今度はソフトウェアの方だ。Quartus IIから"Tools" → "Nios II Software Build Tools for Eclipse"を選び、Eclipseを立ち上げる。立ち上げたらまず"File" → "New" → "Nios II Application and BSP from Template"を選んでテンプレートから生成する(Photo24)。
今回はメモリもたっぷりあるので、Hello World Smallではなく、Hello Worldを選んでみた。あとは自動でHello WorldとそのBSPが生成されるので、以前と同じ手順でビルドして実行する。問題がなければ、NIOS IIのConsoleに"Hello from Nios II!"が表示されるはずだ(Photo26)。
Copyright © ITmedia, Inc. All Rights Reserved.