FPGA いじりをはじめるにあたって色々調べたのですが、とりあえず簡単なロジックを FPGA にプログラムするまでの手順、とくに今回買った Nexys 4 向けの具体的なものが見当たらなかったので、ここにメモがてら残しておくことにします。
今回は作業環境とライセンスの都合上 ISE Design Suite を使い、真っ白なプロジェクトから実際に Nexys 4 向けの bin ファイルを生成し、プログラムしてみます。
これ見れば誰でも FPGA いじり始められますね!みんなあそぼうず。
■ 新しいプロジェクトを作成する
まず ISE Project Navigator を起動し、 New Project... をクリックします。
次にプロジェクト名を指定します。今回は myproj1 としました。またプロジェクトの配置先フォルダを指定しました。プロジェクトの配置先フォルダに myproj1 というサブフォルダが作成され、その中にプロジェクト一式が保存されるようです。
次の画面ではターゲットの FPGA のモデルを指定します。 Nexys 4 の場合はリファレンスマニュアル(PDF)およびサイトの表記から XC7A100T-1G324C というチップだとわかりますので、これにあわせて選択します。なおスピードは -1 が遅い、 -3 が速いモデルで、 324C というのは 324 ピンの BGA パッケージであることを示しています。
■ 制約ファイルを追加する
プロジェクトが作成できたら、次に、プロジェクトに制約ファイルを追加します。 myproj1 を右クリックして Add Copy of Source... を選択します。右側に + マークが付いたアイコンがありますので、これを押してもよさそう。
Nexys 4 のサイトから入手した UCF ファイルを指定します。
■ 新しい VHDL ファイルを作成する
次に、プロジェクトに新しい VHDL ソースファイルを追加します。 New Source... をクリックします。
ファイルの種類として VHDLを選択しました。また VHDL ファイル名はとりあえず test.vhdl としてみます。
Define Module というダイアログが表示されますが、とりあえずここはそのまま。
ウイザードを終了すると、下記のようなからっぽのテンプレができています。
■ ロジックを書いてみる
早速何かかいてみます。 SW0 がオンだったら LED0 を点灯させ、 SW1 は逆にオフのときに LED1 を点灯させます。
■ 制約ファイルを編集する
ここで SW とか LED というポート(各2ビット)を使っていますが、このポートが FPGA のどのピンに対応しているかを示すため制約ファイルを編集します。 Nexys4_Master.ucf ファイルで以下の行を有効化します。
NET "sw<0>" LOC = "U9" | IOSTANDARD = "LVCMOS33"; #Bank = 34, Pin name = IO_L21P_T3_DQS_34, Sch name = SW0
NET "sw<1>" LOC = "U8" | IOSTANDARD = "LVCMOS33"; #Bank = 34, Pin name = IO_25_34, Sch name = SW1
## LEDs
NET "led<0>" LOC = "T8" | IOSTANDARD = "LVCMOS33"; #Bank = 34, Pin name = IO_L24N_T3_34, Sch name = LED0
NET "led<1>" LOC = "V9" | IOSTANDARD = "LVCMOS33"; #Bank = 34, Pin name = IO_L21N_T3_DQS_34, Sch name = LED1
■ 論理合成、 bit ファイルの生成
ここまでできたら下記スクリーンショット中の ▶ ボタンをクリックしてプロジェクトを Implement してみます。画面下部にログが表示されます。
Implement が終わったら、次は Generate を行います。 test - Behavioral (test.vhdl) を選択した状態で、下の Process: から Generate Programming Fileを選択します。
最終的に Process "Generate Programming File" completed successfully と表示され、先の Generate Programming File の左側に緑色のチェック印が出れば OK なようです。これでとりあえず FPGA にアップロードできそうなファイルができました。
■ 後半編へ
後編では、今回生成した bit ファイルをアップロードしてみます。
0 件のコメント:
コメントを投稿