Xilinx ISEの使い方~基本編~

●Xilinx ISE
Xilinx社のFPGA用総合Implementation tool.現行バージョン(2004-09-07)は
ISE 6.2(SP3). verilog,vhdlのファイルを食わせると、論理合成からMapping、P&R*1
Configuration*2までやってくれる。

●インストール Windows、Linux、SunへのインストールはGUIで楽なので省略。
Unix系OSにインストールした場合、起動前に環境変数を読み込む必要がある。
これはインストールしたディレクトリ(例えば、/home/cad/xilinx/ISE-6.2/)内の
setting.csh, setting.shのどちらかを実行すればOK.

●ISEの起動 Windowsの場合はGUIなので省略。Unix系の場合は

% ise

で起動できる。また、

% coregen

などでコアを作成するツール(CoreGenerater?)を立ち上げたりすることもできる。

●使用方法

  • プロジェクトの作成
    1.File->New Project
     Project Name, Project Locationを設定
     Top-Level Module Typeは、Verilogなどを用いているならば通常はHDLでOK
     (もし、FPGA Compilerなどを用いて、すでに論理合成済みなら、EDIFを選択)
    2.Device等の設定
     お使いのFPGAデバイスを設定する。間違っても、対放射線仕様のやつとか選んじゃ
     駄目です。Speed Gradeも正しく設定しないと、実機で動かないので注意。
     ちなみにBIOの旧ボードの場合、「Virtex2, XC2V6000, bg957, -4」な感じです。
     
     Synthesis ToolはVerilogとかを使っている場合はHDLでOK.
     SimulaterはISE付属のmodelSimが使えないので、Otherを選択
     Generated Simulation LangageはVerilogで書いているときはVerilogにします。
    3.Create New Sourceは普通無視してOK.そのままNextボタンを押します。
      ISEでソースファイルなんか作るもんじゃありません。
    4.Add Existence Source:要するに、ソースファイルの読み込みですが、ここでは
      スルーします。Next。
    5.確認したらFinishでProjectが作成されます。 
  • ソースファイルの読み込み
     Source in Projectウィンドウのデバイス名(例えば、XC2V6000-4bf957とか)を
     選択、右クリック→Add Sourceで読み込みます。
     Choose Source Typeとか聞かれますが、”Verilog Design File”でOKです。
     読み込まれると、ウィンドウ内にソースのアイコンが表示されます。
     
    *Add Copy of Source..で読み込むと、ISEのプロジェクトディレクトリ内に
     ソースファイルがコピーされ、そのファイルが読み込まれます。
     
    *例えば、”parameter”文だけをまとめたファイルがあった場合、Add Sourceでは
     正しく読み込まれないことがあります。この場合は、Add Copy of Sourceで
     そのファイルをISEのプロジェクトディレクトリ内にコピーしながら読み込むと、
     うまく行きます。
    
    *読み込まれたソースファイルのアイコンをダブルクリックすると、エディタが
     開きます。
     
  • CoreGenerator?の吐いたファイルの読み込み
    CoreGeneratorを用いて作成したモジュールがある場合はAdd Copy of Sourceで
    ****.xcoファイルを読み込みます。間違っても、****.vファイルを
    読み込まないで下さい。****.xcoファイルを読み込むと、通常のソースファイルの
    アイコンの代わりに、CoreGeneratorと同じアイコンが表示されます。
    (アイコンを選択して、右クリックでモジュールの再生成なども可能です)
    
    CoreGeneratorは、****.vの他に、****.vhdなどのたくさんのファイルを吐きますが、
    ****.vや****.vhdは「シミュレーション用のファイル」であって、
    「論理合成できるファイル」ではありません。論理合成後のファイルとして、
    ****.ednも同時に吐いてくれます。つまり、ISEは論理合成時にはCoreGenerator
    で吐いたモジュール部分は無視しており、論理合成後にマージしていることに
    なります。
  • UCFの読み込み
    UCF(User Constraints File)は最上段モジュールのピン配置や、電圧設定などを
    記したファイルである。ucf自体の扱いは結構危険なのでファイルの中身
    を変更する場合は、使用するFPGAの設計者に尋ねるのが無難である。
    (動作見積りなどを甘くする場合には、あえて読み込まないのもアリか…?) 
    
    読み込み方法は、通常のソースファイルと同じであるが、どのモジュールに対して
    そのUCFを適用するかを聞かれるので最上段の適切なモジュールを選択する。
    なお、このUCFに記述されているポート名とbit幅が、モジュールの記述と
    一致していないとエラーが発生するので注意すること。
  • Synthesize
    全ソースファイルの読み込みが終了したら、論理合成を行う。
    1.Processes for Sourceウィンドウの"Synthesize -XST"のツリーを開く。
    2.まず、Check Syntaxでソースファイルの記述エラーをチェック。
      ErrorやWarningがあったら、即直す。
      なお、CoreGeneratorで吐いたモジュールを使っている場合、
      Check Syntax時にWarningがでるが、そのモジュールに関するものであれば
      無視してOKである。例えば、
      ”WARNING:Xst:878 - dmem4x4k.v line 100: Unrecognized directive. Ignoring."
      なんてのは、無視して良い。
    3.Check Syntaxが終了したら、"Synthesize -XST"を選択し、右クリックから"Run"
      を選択する。ちなみに、この時にもCheck Syntaxが行われるので、ソースファイル
      が完璧な場合には、直接”Run”しても良い。
      何も問題がなければ、"Synthesize -XST"に緑のチェックマークが付く。
      warningがあれば、黄色のびっくりマークが付く。CoreGeneratorを使用している
      場合、かならず黄色のびっくりマークが付く。
      赤の×は失敗しているので、Errorメッセージを見ながら修正を施す。
      なお、ログファイルは"View Synthesis Report"をダブルクリックで見れる。
      また、ErrorやWarningが出た場合、メッセージウィンドウ内の"web"と書かれた
      アイコンをダブルクリックすることで、Xilinx社のwebアーカイブにアクセスできる。
      うまく行けば、原因が判明するかも知れない。
  • Implement Design=>Translate
     TranslateはEDIFファイル等を変換するだけなので、あまりエラーが発生する
     ことはない。Translateを選択し、右クリック=>Runで実行。
     しかし、ここではじめてucfがチェックされるため、モジュールとucfの設定が
     正しくないと、エラーが発生する。
  • Implement Design=>Map
     FPGAデバイスへのモジュールのmappingを行う。ここも右クリック=>Runで実行する。
     ここで発生するエラーはかなり下層のレベルなのでデバッグが難しい。
     google等を駆使して情報をさぐること。
  • Implement Design=>Place&Route
     FPGAデバイスへの配置配線を行う。ここも右クリック=>Runで実行する。
     処理時間はここの処理が一番重い。大きいモジュールだと、数時間はかかる。
     また、ここで発生するエラーの原因究明も難しい。
     終了すると、****.bit(****は最上位のモジュール名)というファイルが
     作成される。
  • Generate Programming File
     この項目に付いては、別を参照すること。

Xilinx ISEの使い方~応用編~
Core Generatorの使い方
iMPACTの使い方

&counter(all);


*1 Place&Route:配置配線
*2 FPGAデバイスへのモジュールのダウンロード

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-02-02 (火) 12:25:55 (1534d)