Xilinx WebPACK ISE (8.1i)
Verilog HDLによるCPLDの開発マニュアル
[2006.04.23]


 ここでは,Xilinx社のCPLDであるXC95ファミリをVerilog HDLを用いて開発する場合の手順について簡潔に解説している.使用ツールは同社が無償で提供しているWebPACK ISE 8.1iである.詳細な解説が次のURLにあるので,そちらも参照のこと.

    http://www.ice.gunma-ct.ac.jp/~kimsyn/EDAtool/ISE_CPLD/ISE81i_CPLD.html

 開発フローは大まかに次のようになる.


【ツール Project Navigator の起動】

 @プロジェクト・ナビゲータを起動.
   Project Navigatorのショートカットがあれば,それをダブル・クリック
  または,

    スタート → すべてのプログラム → Xilinx ISE 8.1i → Project Navigator

  ウィンドウは大きく次の4つのサブ・ウィンドウにわかれてる.

 Aすでにプロジェクトがあり,作業の続きを行う場合はプロジェクトのオープンを行う.
    File → Open Project...
  でプロジェクト・ファイル(拡張子 .ise)を選択し,デザイン・インプリメンテーションへ進む.

【プロジェクトの設定】

 プロジェクトの作成は,メニュー・バーから

    File → NewProject...

 を選択し,以下の必要事項を設定する.

 @プロジェクトのフォルダの指定
   すでに,Verilog HDLのソース・ファイルがある場合は,そのフォルダをプロジェクト用にする.
     その場合,Project Location欄にはソース・ファイルのあるひとつ上のフォルダを指定し, 
     Project Name欄には該当フォルダ名を指定する.
   Verilog HDLのソース・ファイルをこれから作成する場合は,
     Project Location欄には適当なフォルダを指定し,
     Project Name欄にも適当なプロジェクト名を指定する.
     これにより,Project Location欄¥Project Name欄で指定したフォルダが作成される.

 ATop-level Module Typeの欄は HDL とする.

 B使用するデバイスのファミリ,型番,パッケージ,スピード・グレードを指定する.

 Cデザイン・フローを指定.

 DVerilog HDLソース・ファイルを作成 (すでにHDLソース・ファイルがある場合はスキップ)
   これからHDLソースを作成する場合はウィザードを起動して作成する.
   通常のエディタで作成してもよい

 E既存HDLソース・ファイルのプロジェクトへ追加 (すでにHDLファイルがある場合).
   すでにHDLソースがある場合は,[Add Source] ボタンを押してファイル名を指定する.
    シミュレーション用テスト・ベンチは指定対象外
    制約ファイル(端子信号と端子番号の対応.拡張子は.ucf)があればそれも指定

   情報工学特論Uでは,
    制約ファイルとして, XC95top.ucf ファイルを必ず指定.
    制約ファイルは端子番号の指定になるので,最上位モジュール XC95top に対応させる.

   もし,Verilog HDLファイルが別のフォルダにある場合は, Copy to Project 欄に
   チェック印を付けると,プロジェクト・フォルダにファイルが登録される.

【!!!! 注 意 !!!!】
 旧バージョンでは,プロジェクト作成時に別フォルダにあるVerilog HDLファイルを指定すると,エラー時にエディタで開くファイルとXST(論理合成ツール)が開くファイルが異なっており,いくら修正してもエラーが無くならない状況になる.
 8.1iでは未確認.安全のため,前もって作業フォルダを作成し,関連ファイル(Verilog HDLファイルや.ucfファイル)をコピーしておくことを推奨する.


【デザイン・インプリメンテーション】

 @左上の「モジュールの階層構造ウィンドウ」上で最上位モジュールを指定

   
情報工学特論Uの場合は XC95top を左クリックしてハイ・ライトさせる.

 A左中にある「各種処理の起動とステータス・ウィンドウ」で詳細項目を展開.
   左端のボタン [ + ] をクリックする.

 BSynthesizeをダブル・クリックして論理合成を実行.

   
情報工学特論Uでは次のワーニング・メッセージがでる.
     「同じスペルで大文字の信号と小文字の信号がある」
     「信号の接続先がない」
     「値の代入されていない信号が使われている」
   これらのワーニング・メッセージは問題がないことを確認する必要がある.
   これ以外のワーニング・メッセージが出た場合は,よく読んで修正の要不要を確認する.

 C情報工学特論Uでは,
   Translate を右クリックしてProperties を選択.
   Allow Unmatched LOC Constraints Value にチェック印を付け,ボタン [ OK ] をクリック.
     これで,未使用端子と制約ファイルでの端子番号指定の不一致によるエラーが出ない.

 DTranslate (ネット・リストや制約ファイルの統合)をダブル・クリックして実行.

 EFit (ネット・リストをCPLDの内部構造にフィット.... つまり配置配線)をダブル・クリックして実行.

   情報工学特論UではFitを実行すると,次のワーニング・メッセージがでる.
     「最適化後,使用されていない信号を削除」
   使用している信号に対して出た場合,チェックが必要.

 F情報工学特論Uでは
   Fitter Report を開いて端子信号と端子番号の確認を必ず行うこと.
     Fitter ReportはFit の左側にあるボタン [ + ] をクリックして展開.
     Fitter Report をダブル・クリック.
   端子情報はファイルの後の方にある.
   端子信号名と端子番号の対応は XC95top.ucf ファイル(プリント配布済み)に記載してある.

 GGenerate Programming FIle をダブル・クリックして実行.
   この作業により, XC95top.jed というファイルが生成される.もしこのファイル名と
   異なるファイルが生成された場合は,
作業ミスをしている.
   最も多いミスは作業対象モジュールの指定誤りで,
XC95topを指定していることを確認せよ.


【デバイス・プログラミング】

 @Generate Programming FIle 下の Configure Device (iMPACT) を起動する.
   iMPACTを多重に起動しないこと.プリンタポートを使用するためエラーになる.

 ABoundary-Scan Modeを選択.

 Bコンフィギュレーション・ファイル(XC95top.jed)を指定.
   フォルダに注意すること.

    情報工学特論U
ではどの課題のファイルも XC95top.jed となる.
   フォルダを間違えると違う回路になってしまう.

 Cデバイスのアイコンを右クリックしてメニューを出し, Programmingを選択.
   まず,CPLD上のコンフィギュレーション・データの消去が行われる(少々,時間がかかる).
   その後,指定した .jed ファイルの情報がCPLDへ書き込まれる.
   正常終了すると, Programming Succeeded と表示される.

 D別の.jedファイルでコンフィギュレーションする場合は,デバイスのアイコンを右クリックして
   メニューを出し, Assign Programming File を選択する.

 【!!!! 動作が異常な場合 !!!!】
   LEDが予期しない点灯をしたり,スイッチを操作しても何も動作しない場合は,重大なミスをしている.
   そのままの状態にしておくと,
デバイスや装置の破壊につながるので,直ちにデバイスを消去する必要がある.
   
デバイスの消去は,デバイスのアイコンを右クリックしてメニューを出し, Eraseを選択する.