トランジスタ技術 2009 年 3 月号特集 気軽にはじめる FPGA
第5章 マルチチャネル信号発生器
マルチチャネル信号発生器の信号発生器の製作 ～はんだ付け不要 ロジックの自在さを生かす～
ISE WebPACK を使って FPGA にソースを書き込むまでの手順

坂本 三直

・プロジェクトのプロジェクトの新規生成／新規生成／読み込み：
CQ 出版社の HP より本スタータ キット用のプロジェクトをダウンロードしてください．パソコン上にコピーできたら，Xilinx ISE を立ち上げ，File -> Open Project…

でダウンロードしたプロジェクトの中から FG.ise というファイルを指定してくささい．

・ソースコード作成
ソースコード作成・作成・修正
Xilinx ISE 上の，図１の矢印部分をクリックするとソース・プログラムを開くことが可能です．

図 1 Xilinx ISE トップ画面 ソースの表示

内の top.vhd，sintfull.vhd などをクリックするとソース・ファイルを開くことができる．

“Sources”

・コンパイル：コンパイル：
図 2 のように Xilinx ISE のトップ画面で，左の”Sources”ウィンドウ内の top.vhd をクリックしてください．
そうすると，左の”Process”ウィンドウ内が図 2 の状態になります．左の”Sources”ウィンドウ内のクリックする場所によって，”Process”ウィンドウの表示内容が異なることに注意してください．

図 2 Xilinx ISE トップ画面 コンパイルの用意
図 2 の状態で，”Process”ウィンドウ内の”Generate Programming File”をダブルクリックします．そうすると，コンパイルが始まります．コンパイルが終了すると，”Process”ウィンドウ内の”GenerateProgramming File”が図 3 のような状態になります．ここでは，Warning が出ていますが無視してください．エラーが発生した場合には，赤い×がつきます．

図 3 Xilinx ISE トップ画面 コンパイル終了状態

この場合には Warning が発生しているので，”！”マークが出ているが，Warning / Error が発生しなければ，全部，上の”ImplementDesign”と同じチェックマークが出る．

・ピン割当
ピン割当て
割当て，制約条件の制約条件の設定：
設定：
ISE のトップ画面（図 4）から，左の”Process”の中の”Floorplan Area / IO / Logic – post-synthesisを選んでダブルクリックしてください．このツールでは，ピン割当ての他にも，クロックの条件，遅延条件などいろいろな条件を設定できます．
FPGA ではピンも自由に割り当てることができるため，このようなツールが存在しています．今まで，専用 IC しか使っていなかった方には，少し違和感があるかもしれません．

図 4 Xilinx トップ画面 ピン割当てツールの起動

このツールでは，ピン割当て，遅延条件，クロック周波数指定，ピンの信号レベル，プルアップ，プルダウンなど様々な条件を指定することができる．

このツールを起動すると図 5 のような画面が表示されます．"Process”ウィンドウ内の CHC<1>のピンを指定したい場合には，CHC<1>と同じ行の LOC の項目に指定したいピン番号を入力します．今回
は，BGA パッケージなので，ピン名は，A1，AA10 などのアルファベットと番号の組み合わせになります．QFP などのパッケージの場合には P1, P2…P208 などのアルファベットの P と数字に組み合わせになります．これらピンの情報は，使っている IC に依存しますので，ご使用になる際にご自分で調べる必要があります．

図 5 制約条件指定ツール
制約条件指定ツール画面
ツール画面
・シリアル ROM 用データ生成
データ生成：
生成：
ここまで指定すると，これからは，書き込み用のデータ生成を行います．今回は，電源を OFF してもボード上にロジックのデータが残るように，シリアル ROM に書き込む方法を紹介します．
図 6 の中に”Process” → ”Configure Target Device” → ”Generate Target PROM/ACE File”がありますので，この”Generate Target PROM/ACE File”をダブルクリックしてください．図 7 のよ
うな Warning メッセージが表示されますが，無視してください．

図 6 Xilinx トップ画面 書き込み用ファイルの生成

図 7 書き込みファイル生成ツール立ち上げ時の Warning messageこの警告は無視してよい図 8 書き込みファイルの種類の指定

デフォルトの状態ではチェック状態を変更する必要はない．

今回は，PROM ファイルを生成しますので，図 8 のような画面が生成されます．この画面と同じであることを確認して，”NEXT”をクリックしてください．

図 9 書き込みファイルの種類の指定２書き込みファイル名だけを指定する必要がある．ちなみに，Location は，各自がプロジェクトをインストールしたフォルダになっているので，通常，異なります．

そうすると図 9 のような画面が表示されます．今回は，PROM File Name のみ変更が必要です．デ
フォルトは”Untitled”です．ファイル名は自由に決めることが可能ですが，このチュートリアルでは，top.mcs とします．一応，他の項目も同じチェック状態になっているかを確認してください．Locationは異なっても問題ありません．
以上を確認したら，”NEXT”をクリックしてください．

図１０ シリアル ROM タイプの選択

今回は，Xilinx 社の XCF4S タイプに書き込むので，デフォルトから変更する必要はない．

図 9 の状態で，”NEXT”をクリックすると，図１０の画面が表示されます．今回は，Xilinx 社の XCF4Sタイプのシリアル ROM に書き込むため，デフォルトから変更する必要はありません．一応，図１０とチェック状態が同じかを確認して，”NEXT”ボタンをクリックしてください．

図１１ PROM の容量選択

今回は，XCF4S タイプを使用するため，PROM をデフォルトから変更する必要がある．

図１０の状態から”NEXT”をクリックすると図１１の状態になります．ここでは，次のような順で操作を行います．
① ”Xcf1s [1M]” と表示されたプルダウンメニューから ”Xcf4s [4M]” を選択する．
② “Add” ボタンを押す．

図 12 PROM の容量選択２
そうすると，次の図 12 の画面になるので，画面の情報が同じかどうかを確認して，”NEXT”ボタンを押す．

図 13 容量選択画面３以上で，選択が終了し，図 13 のような画面になることを確認します．
ここで，”Finish”ボタンを押します．
ボタンを押すと，メインの画面が変わります．さらに，小さな確認メッセージ図 14 が表示されるので，”OK”ボタンを押してください．
“Finish”

図 14 Add device 確認画面

図 15 Add device ファイル選択画面
図 14 で”OK”ボタンを押すと図 15 が表示されます．ここで，”top.bit”を指定し，”開く”を押してください．

図 16 Add device 追加ファイルの確認画面

この画面では”No”を押す．

図 15 でファイルを指定すると図 16 のような，追加ファイルの確認画面が表示されます．ここでは，”No”を押してください．

図 17 Add device 完了確認画面
図 17 が表示されたら，”OK"を押す．

図 18 ROM データ生成画面
この画面が表示されたら，”Process”ウィンドウ”内の “Generate File”をダブルクリックしてください．
自動的にファイル生成プロセスが起動し，図 19 のような画面に変わります．”PROM File GenerationSucceeded”と表示されているはずです．

図 19 PROM データ生成終了画面
これで，PROM データの生成は終了しました．

図 20 PROM File Formatter の終了画面
図 20 の状態で，PROM File Formatter を終了するのですが，図 20 で指示した通りに終了してください．この操作を行うと，図 21 が表示されます．

図 21 Configuration project 保存の確認
この画面が表示されたら，必ず”No”を押してください．
これで，Xilinx ISE のトップ画面に戻り，データ生成の操作が終了しました．

・シリアル ROM への書への書き込み：この操作に入る前に，Starter Kit の電源を入れ，USB ケーブルを接続してください．また，ジャンパ設定も，本文のとおりに指定してください．

図 22 Xilinx ISE トップ画面 Serial ROM ヘの書き込み
スタータキットの準備ができたら，開発環境の操作に入ります．
図 22 の状態から，”Process”ウィンドウ内の”Manage Configuration Project (iMPACT)”をダブルクリックしてください．

図 23 書き込み方法の指定
ここでは，JTAG 方式を使用します．デフォルトで JTAG になっているはずですが，念のため確認してください．
確認したら，”Finish”を押してください．

図 24 ファイル選択画面

この画面は，XC3S700A に対する書き込みデータの画面です．今回は，シリアル ROM に書き込むことを考えているため，ここではデータを指定しません．従って Bypass を指定します．

図 23 で“Finish”を押すと，TOP の画面が変わり，図 24 のようなファイル指定画面が表示されます．
この画面の状態では，Top.bit が選択できるようになっていますが，選択せず，”Bypass”ボタンを押してください．

図 25 書き込みデータ選択画面

この画面は，XCF4S に対する書き込みデータの画面です．図 24 とほとんど同じですが，データ・ファイルの指定が異なっています．
図 25 が表示されている状態では，バックのメイン画面の XCF4S のアイコン？が緑色にハイライトされています．ちなみに，図 24 が表示されている状態では，バックにあるメイン画面の XC3S700A のアイコンが緑色にハイライトされています．

図 24 の時とほとんど同じ画面ですが，今回は，top.mcs が選択できるようになっています．今回は，この top.mcs を洗濯して”Open”してください．

図 26 書き込みオプションの選択
図 25 で”OPEN”を押すと図 26 のような画面が現れます．ここでは，XC3S700A には，書き込まず，Serial ROM である XCF04S に書き込むため，”Category”ウィンドウ内の Device2 (PROM xcf04s)をクリックしてハイライトさせてください．
次に，”OK”を押すと設定が終了します．

図 27 書き込み設定が完了した状態
図 26 で正しく設定できていると，図 27 のような画面になります．ポイントは，画面右のアイコン上の xcf04s が緑色にハイライトされていることです．
この状態で，”Process”ウィンドウ内の”Program”をダブルクリックすると，プログレス・バーが現れ，約１０秒後に書き込みが終了します．
書き込みが終了すると，図 28 のような画面になります．

図 28 書き込み完了画面
この画面を終了する際，図 21 と同じメッセージが表示されますが，”No”を選択して書き込み用のプロジェクトを保存しないようにしてください．