連載
» 2007年01月25日 00時00分 公開

理論より実践! FPGA開発をスタートしよう触って学ぼう FPGA開発入門(1)(2/3 ページ)

[鳥海佳孝 設計アナリスト,@IT MONOist]

ISE WebPACKでの開発

FPGAデータを生成しよう

 「3入力8出力のデコーダ」のソースを作成したら、ISE WebPACKを使用して「論理合成」「FPGAのピン固定」「配置配線」「FPGAのデータ生成」を行います。

 ISE WebPACK(Xilinx ISE 8.2i−Project Navigator)を起動します。最初に「Tip of the Day」というダイアログが表示されるので[OK]ボタンを押します。


ISE WebPACK(Xilinx ISE 8.2i−Project Navigator) 画面1 ISE WebPACK(Xilinx ISE 8.2i−Project Navigator)

 次にプロジェクトの新規作成を行います。メニューから[File]−[New Project]を選択すると[New Project Wizard - Create New Project]ダイアログが表示されます。[Project Location]にc:\temp\IT_Mediaを指定し、[Project Name:]にChapter1と入力して[Next]ボタンを押します。

 続いて、デバイスを指定します。下記を参考に選択してください。デバイスの指定が完了したら[Next]ボタンを押します。

Property Name Value
Family Spartan2
Device XC2S15
Package VQ100
Speed -5

 新しいソースファイルを作成するダイアログが表示されますが、すでにサンプルソースdec.vを作成済みなので、そのまま[Next]ボタンを押します。

 次に既存のソースファイルを指定するダイアログが表示されるので[Add Source]ボタンを押し、dec.vを指定して[Next]ボタンを押します。サマリが表示されたら[Finish]ボタンで完了します。

 最後にソースの追加を確認するダイアログが表示されます。ソースが正常に追加されるとdec.vの横に緑のチェックマークが表示されます(注)。[OK]ボタンを押して新規プロジェクトの作成を完了します。

※注:
チェックマークが緑の場合は正常です。エラーの場合、オレンジの「?」マークが表示されるのでソースファイルなどを修正する必要があります(以下同)。


ソースの追加を確認するダイアログ 画面2 ソースの追加を確認するダイアログ

 ISE WebPACKの画面に戻ると、dec.vがChapter1というプロジェクトに追加されています。画面左の[Process]ツリーにある「Synthesize - XST」を右クリックして[Run]で「論理合成」を実行します。論理合成が正常に終了すると、緑のチェックマークが表示されます。

 次に「FPGAのピン固定」ツール(Xilinx PACE)を起動します。画面左の[Process]ツリーにある「User Constarints」の「+」をクリックして展開します。「Assign Package Pins」を右クリックして[Run]を選択すると、メッセージが表示されるので[Yes]ボタンを押してFPGAのピン固定ツールを起動します。

「FPGAのピン固定」ツール(Xilinx PACE) 画面3 「FPGAのピン固定」ツール(Xilinx PACE)

 画面左の[Design Object List - I/O Pins]にある[Loc]という項目を下記のように入力します。

I/O Name Loc
A P17
B P16
C P15
Y<0> P68
Y<1> P67
Y<2> P66
Y<3> P65
Y<4> P56
Y<5> P55
Y<6> P54
Y<7> P53

 設定が完了したら、メニューの[File]−[Save]でピン固定の情報をファイル(DECODER.ucf)に保存します(注)。

※注:
保存後、[Bus Delimiter]ダイアログが表示された場合は[Select IO Bus Delimiter]の「XST Default: <>」にチェックを入れて、[OK]を選択します。


 ISE WebPACKに戻り、画面左の[Process]ツリーにある「User Constraints」の「+」をクリックして展開します。「Edit Constraints (Text)」を右クリックして[Run]を選択すると、画面にDECODER.ucfの中身が表示されます。

 最後に「配置配線」「FPGAのデータ生成」を行います。画面左の[Sources]ツリーから「DECODER(dec.v)」を選択し、同じく画面左の[Process]ツリーにある「Generate Programming File」を右クリックして[Run]を実行します。正常に終了すると、緑のチェックマークが表示されます。

配置配線・FPGAデータの生成が正常終了した様子 画面4 配置配線・FPGAデータの生成が正常終了した様子

 以上で「論理合成」「FPGAのピン固定」「配置配線」「FPGAのデータ生成」の作業は完了です。

ボードにダウンロードして動作確認しよう

 作成したFPGA用のデータを早速EDX-002ボードにダウンロードしてみましょう。まず、BitCfg(EDX-002ボードに付属)を起動します。メニューの[File]を選択し、C:\Temp\IT_Media\Chapter1\decoder.bitを指定します。次に[Download]ボタンをクリックします。ダウンロードが正常に完了すると、ダイアログに「status : success」と表示されます。

ダウンロードが完了した様子 画面5 ダウンロードが完了した様子

 以上でEDX-002ボードへのダウンロードは完了です。次は、いよいよ動作の確認です。それでは、ボードにあるスイッチを押してみましょう。

 ボタンが何も押されていないときは一番左端の赤色LEDが消灯して、すべてのスイッチを押すと右端の赤色LEDが消灯します。いかがでしょうか? わずか20行ほどのプログラムで開発できました。筆者が回路設計を始めた20年前に比べると、簡単に開発が行えるようになったとあらためて実感します。

Copyright © ITmedia, Inc. All Rights Reserved.