論理シミュレーションを行う癖を付けよう触って学ぼう FPGA開発入門(2)(2/3 ページ)

» 2007年02月16日 00時00分 公開
[鳥海佳孝 設計アナリスト,@IT MONOist]

7セグメントLEDを点灯させよう(2)

ピン固定の実行

 論理合成が正常に終了したら、「FPGAのピン固定」ツール(Xilinx PACE)で7セグメントLEDの「ピン固定」を行います。

 出力信号の名称が「Y」から「LED」へ変更になった点と出力先が7セグメントLEDになった点を考慮して、それぞれの信号に対してピン番号を与えます。あらかじめ、リスト2を作成してプロジェクト作成時にHDLと一緒に読み込んでも構いません。


I/O Name Loc
A P17
B P16
C P15
LED<0> P41
LED<1> P40
LED<2> P31
LED<3> P30
LED<4> P22
LED<5> P21
LED<6> P20
LED<7> P19
SA<0> P46
SA<1> P45
SA<2> P44
SA<3> P43

1  #PACE: Start of Constraints generated by PACE
2  #PACE: Start of PACE I/O Pin Assignments
3  NET "A"  LOC = "P17"  ;
4  NET "B"  LOC = "P16"  ;
5  NET "C"  LOC = "P15"  ;
6  NET "LED<0>"  LOC = "P41"  ;
7  NET "LED<1>"  LOC = "P40"  ;
8  NET "LED<2>"  LOC = "P31"  ;
9  NET "LED<3>"  LOC = "P30"  ;
10 NET "LED<4>"  LOC = "P22"  ;
11 NET "LED<5>"  LOC = "P21"  ;
12 NET "LED<6>"  LOC = "P20"  ;
13 NET "LED<7>"  LOC = "P19"  ;
14 NET "SA<0>"  LOC = "P46"  ;
15 NET "SA<1>"  LOC = "P45"  ;
16 NET "SA<2>"  LOC = "P44"  ;
17 NET "SA<3>"  LOC = "P43"  ;
18 
19 #PACE: Start of PACE Area Constraints
20 
21 #PACE: Start of PACE Prohibit Constraints
22 
23 #PACE: End of Constraints generated by PACE
リスト2 7セグメントLEDのピン固定ファイル(DECODER7.ucf

配置配線とダウンロード

 ピン固定が完了したら、ISE WebPACKで「配置配線」を実行して、FPGA用のデータをボードにダウンロードしてみましょう。

 いかがでしょうか? 入力スイッチが押されていないときには「0」が表示され、すべて押したときには「7」が表示されるはずです。また、ほかのスイッチの組み合わせも試してみましょう。

論理シミュレータを使ってみよう(1)

 これまでは、回路になる部分(いわゆるRTL)を記述して、ボード上にそのデータをすぐに転送して動作を確認していました。

 今回の回路規模(7セグメントLEDのデコーダ)程度であれば、この方法でも問題はありません。しかし、もっと大規模な回路の場合にはそうはいきません。なぜなら、ボード上での動作に不具合があった場合に、実機からでは問題個所の特定が困難だからです。

 一般的には、記述したHDLの動作が正しいかどうかを確認するために「論理シミュレーション」を実行します。論理シミュレーションで正しく動作しないものは、いくらボード上で試してもうまくいきません。必ず「論理シミュレーションを実行してから、実機で検証する」癖を付けた方がよいでしょう。

論理シミュレータのインストール

 本連載で使用する論理シミュレータは「ModelSim」です。ModelSimは、Verilog-HDLだけではなくVHDLでも使えます。機能的な制限はありますが、ザイリンクスのホームページから無料で入手できます。

 http://japan.xilinx.com/ise/mxe3/license.htmのライセンス契約画面で[I Agree]ボタンをクリックします。次に、「ModelSim Xilinx Edition III Download Page」の画面で「mxe_3_6.2c.zip」をダウンロードします(原稿執筆時点のバージョンは「6.2c」)。

 ダウンロードが完了したら、mxe_3_6.2c.zipを解凍して「Setup.exe」を実行します。

 「Select Components」ダイアログで[MXE III Starter]にチェックを入れて[Next]ボタンでインストールを進めます。途中、「Select Library Installation Option」ダイアログが表示されたら「Full Verilog」を選択して[Next]および[はい]でインストールを進めます。

 最後に「ModelSim XE III Setup Complete」ダイアログが表示されるので[Finish]をクリックします。

 Webブラウザが起動して「ModelSim Xilinx Edition License Request」が表示されます。ここで[Register]をクリックして、「User ID」「Password」を入力後[Sign In]します。そして、Webブラウザの[戻る]を2回押して「ModelSim Xilinx Edition License Request」の画面に戻り[Continue]をクリックします。

 「ModelSim Xilinx Edition - Starter License Request Form」画面が表示されるので、必須項目を入力して[Submit]をクリックします。続いて、ライセンスに関する情報ダイアログが表示されるので[OK]をクリックします。ライセンス送付画面表示後、電子メールでライセンスファイルが送付されます。

 入手したライセンスファイル(license.dat)を任意のフォルダに保存します(本連載では、C:\Modeltech_xe_starter以下に保存しています)。

 次に、[スタート]−[プログラム]−[ModelSim XE III 6.2c]−[Licensing Wizard]でライセンス設定ツールを起動します。「Welcome to the ModelSim License Wizard」ダイアログが表示されたら[Continue]をクリックします。「License File Location」ダイアログでライセンスファイル(license.dat)を指定して[OK]をクリックします。

License File Locationダイアログ 画面1 License File Locationダイアログ

 続いて[Yes]ボタンをクリックします。ライセンスファイルが「LM_LICENSE_FILE変数」に指定されたこと示すダイアログが表示されたら[OK]ボタンでライセンス設定を完了します。

Copyright © ITmedia, Inc. All Rights Reserved.