2009年9月17日木曜日

Spartan6 Evaluation Kit(SP601)を使ってみました。

今まで、手が出せずに購入したままになっていた、Xilinx Spartan-6 FPGA SP601 Evaluation Kit を、使い始めました。

1.ボードの動作確認。
 キット同梱のマニュアル「Getting Strated with the Xilinx Spartan-6 ...」のとおり、シリアル(UART)接続での操作、サンプルの画像処理プログラムの動作を確認しました。

※開発環境 Windows VISTA 64bit Home Premium での確認は失敗しました。
 シリアル(UART)接続での操作では、VISTAにハイパーターミナルが実装されていないので・・・×
 画像処理プログラムの動作確認では、WinPcap の DLL が導入出来ず・・・×
(開発環境のセットアップ時 WinPcapのインストールは実行されるがDLLがインストールされなかった。)
==>Windows XP Home 32bit 環境で これらの動作確認は成功しました。

2.テストプログラムの作成、動作確認
 以前Altera CyclonIII スタータキットで最初に作成した、テストプログラムを Spartan6 EvaluationKit SP601 に移植しました。
 
 1)テストプログラム
   キットに実装されているクロックの信号をカウンタに取り込み、カウンタのビットの0/1の切り替えをクロック信号として外部に出力する。
  出力周波数の切り替えはプログラムモードによるカウンタのビット選択でおこなう。
  
  CyclonIII スタータキットで作成したテストプロジェクトより使えそうな部品VHDLソースは
    Func_gen.vhd  カウンタのビットをプログラムモードで選択し、CLK信号を出力
    Simple_Cunter.vhd キット実装の水晶発信器のCLK信号をカウント(カウンタ カウントアップ)
    mode_change.vhd 4プッシュボタンでプログラムモードチェンジ

 2)プロジェクトの作成
  ①ISE Project Navigatorを立ち上げる。(Xilix ISE Design Suite 11 / ISE / ISE 64ビット / ISE Project Navigator )
  ②「New Project」ボタンクリック
    ・Create New Projectダイアログ
     Name : TestFuncGen
Location : C:\Xilinx\Project\TestFuncGen << C:\Xilinx\Projectを指定していた場合
・Device Propertiesダイアログ
Product Category : All
Family : Spartan6
Device : XC6SL16
Package : CSG324
Speed : -2
・Create New Sourceダイアログ  スルー
・Add Existing Sourceダイアログ スルー
    *空のプロジェクトが出来る。
 3)プロジェクトに既存(前述)のソースファイルを追加する。
   プロジェクト名 TestFuncGenを選択し、右クリックして、各ソースファイルを追加。
 4)追加エンティティ(ソースファイル)のシンボル化
   追加された各ソースファイルを選択した状態で、[Processes]の Design Utilities / Create Schematic Symbol を実行
 5)プロジェクトに Schematec を追加 (CyclonIII スタータキットでの場合、トップエンティティ)
   プロジェクト名 TestFuncGenを選択し、右クリックして、New Source... を実行する。
New Source Wizrd
Select source type…: Schematic
File Name : TestFuncGen
 6)Schematic の編集
  ①シンボル化されたエンティティを追加する。
    シンボル選択ウインドウの Categories に プロジェクトのディレクトリが表示されるので、選択、>> 4)で作成されたシンボルが表示 これを選択、Schematic にドラッグ&ドロップで追加する。
  ②ワイヤーの追加
    Add Wire のアイコンで 各シンボル端子(シンボル間接続)にワイヤを張る。
  ③入出力の追加
    Add I/O Maker アイコンで 各シンボル端子(FPGAの入出力)に入出力を作成する。
  ◎IPの追加
   IPを使用する場合、一旦、仮プロジェクトを作成、そこにIPを CORE Generator & Architecture Wizard を使って追加する。
    すると、仮プロジェクトのディレクトリにVHDL(Verilog HDL)のソースファイルが生成されているので、このファイルを本プロジェクトに追加、シンボル化してこのSchematicに追加する。

 7)ピン配置(定義)
  ① Schematic (TestFuncGen) を選んだ状態で 「I/O Pin Plannig(PlanAhead) - Pre-Synthesis」 「I/O Pin Plannig(PlanAhead) - Post-Synthesis」「Floorplan Area/IO/Logic(PlanAhead)」のいづれかを選び ピンの定義 を行う。

 8)ダウンロード(Device Programming)
  ①Evaluation Kit ボードの USB(JTAG)コネクタとPCを接続する。
  ②Schematic (TestFuncGen) を選んだ状態で 「Configure Target Device」
    *ISE IMPACT立ち上がる
  ③iMPACTで Bundary Scan ==> Right click to Add Device or ….
  ④Mouse 右クリック
    Add Xilinx Device クリック 
     バイナリファイル C:/Xilinx/Project/TestFuncGen/testfuncgen.bit を選択 *FPGAのアイコンが表示
      Programを選択==> Device Programing Properties ダイアログ表示
             ダウンロード開始

--------------------------------------------
 今回 開発環境は Windows VISTA 64bit Home Premium で行いました。当初、7)ピン配置(定義)で 設定プログラム PlanAhead が 立ち上がり時 にダウンし、それ以降の作業が不能になりました。WindowsXPに開発環境(ISE WebPACK™ )を組み、同じ手順を試行しました。その結果、ピン配置、ダウンロードの処理が問題なく行え、不完全ながらキットでの動作確認ができました。
 その後、Windows VISTAの環境に戻り、あれやこれやと試した結果、libPackStanSolver.dll の読み込みでエラー発生していることがわかりました。
 XilixのHPで、ISE のアップデート 11.3 があったのでこれを適用したところ、この障害は解消されました。
--------------------------------------------
※操作性で違和感を感じる点
   ・ピン配置(定義)、ダウンロード時にソースを選択した状態で行ったこと。(プロジェクト単位で行った方が納得)
   ・IPの追加が、直接 Schematic に出来なかったこと。
   ・ソースファイルでシンボルを作成するが、なかなかシンボル選択リストに表示されなかったこと。
・ダウンロードiMPACTでは、バイナリファイル(ダウンロードファイル)を選択し、Programe実行て初めてFPGAが認識されるようです。慣れるまでは不安。
--------------------------------------------
 今回 手っ取り早くSpartan6を試したかったため、Altera CyclonIII の開発環境からソースファイルを転用しました。したがって、テストプロジェクトは、一つのトップエンティティ+複数の部品エンティティの構成でとなりました。
 どうも前述の違和感は、AlteraとXilixの文化の差に起因するのでしょうか?文化の差、、たとえばプロジェクト意味が異なるのでは、どうもXilinxでは、1つのプロジェクトは1つの開発環境を意味し、複数のトップエンティティがもてるように感じます。(必要なトップエンティティを選んでコンフィグレーション / ダウンロードするかたちを採るのでしょうか?)
 とにかく、現時点では、マニュアルを読み倒す必要があると思います。

0 件のコメント:

コメントを投稿