論理シミュレーションを行う癖を付けよう:触って学ぼう FPGA開発入門(2)(2/3 ページ)
回路が大規模になればなるほど実機動作から不具合を特定することは難い。必ず論理シミュレーションを行うようにしよう
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
配置配線とダウンロード
ピン固定が完了したら、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]をクリックします。
続いて[Yes]ボタンをクリックします。ライセンスファイルが「LM_LICENSE_FILE変数」に指定されたこと示すダイアログが表示されたら[OK]ボタンでライセンス設定を完了します。
Copyright © ITmedia, Inc. All Rights Reserved.