XilinxFPGA/CPLD 組み込み 実装 設計製作 VHDL 開発
HOME 製品情報 受託開発 資料室 お問い合わせ

■ SPARTAN-3E STARTER KIT

電源投入からサンプルファイルダウンロード

2006/09/25

はじめに

概要

資料の入手

電源の投入

USBの接続

サンプルをダウンロード

Xilinx社のホームページよりダウンロード

基板にダウンロード

ダウンロードメッセージ

サンプルプログラムの動作

■はじめに

SPARTAN-3E STARTER KIT を入手しました。

本品は REV D となっています。

Spartan3EStarterKIT

電源を入れて動作させてみた報告です。

[TOP]


■概要

Spartan-3E スタータ キット は

キット : HW-SPAR3E-SK-J 
キット+EDK付 :HW-SPAR3E-EDK

の二種類があります。 

ISEはWebPACKが使えます。付属しているディスクはDVDです。

二種類のキットの違いはEDKが付いているかどうかの違いです。

HW-SPAR3E-EDK は EDK単体で購入するよりも安く購入できます。

この基板の仕様は以下のとおり

ザイリンクス デバイス :

  Spartan-3E (XC3S500E-4FG320C)
  CoolRunner?-II (XC2C64A-5VQ44C)
  Platform Flash (XCF04S-VO20C)

クロック :

  50MHz クリスタル クロック オシレータ

メモリ :

  128M ビット パラレル Flash
  16M ビット SPI Flash
  64M バイト DDR SDRAM

コネクタとインターフェイス :

  イーサネット 10/100 PHY
  JTAG USB ダウンロード
  9 ピン RS-232 シリアル ポート X 2
  PS/2 スタイル
  マウス/キーボード ポート
  プッシュ ボタン付きロータリ エンコーダ
  スライド スイッチ X 4
  LED 出力 X 8
  モメンタリ プッシュ スイッチ X 4
  100 ピン拡張接続ポート(ヒロセ電機製)
  6 ピン拡張コネクタ X 3
 ディスプレイ : 16 キャラクタ - 2 ライン LCD

といった内容で、メモリやイーサネットを備えており、FPGA内にMicroBlazeを組み込んで動作させるのにちょうどよい内容となっています。

一セット目は キット+EDK付 :HW-SPAR3E-EDKのを購入することをオススメします。

HW-SPAR3E-SK-Jでも EDKの60日ライセンスは付いていますので評価はできます。

[TOP]


■資料の入手

資料はXilinxのウェブサイトから入手できます。

英語版

http://direct.xilinx.com/bvdocs/userguides/ug230.pdf

日本語版

http://direct.xilinx.com/bvdocs/userguides/j_ug230.pdf

これらの資料のリンク元

資料リンク元サムネール

Spartan-3E 資料一覧

[TOP]


■電源の投入

電源を投入します。

ACアダプタを接続して、 ACアダプタ付近の パワースイッチをONします。

LCDの上段には "SPARTAN-3E STARTER KIT"、下段には"www.xilinx.com/s3estarter"がエンドレスに横スクロールします。

ロータリースイッチを押すと動作モードが切り替わります。

動作モード1:ロータリースイッチモニタ

 ロータリースイッチの回転にあわせてLD0〜LD7が点灯/消灯します。

動作モード2:スイッチモニタ

 SW0〜SW3 ロータリースイッチの周りにある4つのBTNのON/OFFにあわせてLD0〜LD7が点灯/消灯します。

[TOP]


■USBの接続

ISEをインストールしてあれば自動的にUSB接続を行います。

LEDが赤く点灯したのは初回のみでした。


このダイアログは初回のみ出ました。

接続完了すればUSBコネクタ横の緑LEDが点灯。

[TOP]


■サンプルをダウンロード

今回搭載しているSpartan3Eのチップは XC3S500E-4FG320Cです。ピン数が320本あるので、これをいちいち設定しているだけでも膨大な時間がかかってしまいます。また、ピンの設定を間違うとデバイスの破損などを引き起こしますので Xilinx社のサンプルを元に作り上げていくこととします。

■Xilinx社のホームページよりダウンロード

XilinxのホームページではSpartan-3E スタータ キットのサンプルプログラムを紹介しています。

URLは http://www.xilinx.co.jp/products/boards/s3estarter/reference_designs.htm

この中で PicoBlazeとMicroBlazeを使うものは今回はやめておきます。

この中では 

Rotary Encoder Interface

を選択しました。 Files をダウンロードします。

s3esk_rotary_encoder_interface.zip

というファイルがダウンロードされるので解凍します。

ファイルは以下のとおり

ファイル名
install_left_right_leds.bat Spartan3EStarterKITのSP3Eにダウンロードするためのバッチファイル
left_right_leds.bit ダウンロードするバイナリファイル
left_right_leds.ucf ピンタイミング制約ファイル
left_right_leds.vhd
VHDLソースファイル
Rotary_Encoder_Interface_for_Spartan-3E_Starter_Kit_rev2.pdf 解説



Rotary_Encoder_Interface_for_Spartan-3E_Starter_Kit_rev2.pdf

[TOP]

■基板にダウンロード

基板に電源が入っていて、USBが正しく接続されていれば

install_left_right_leds.bat 

を実行すると、自動的に Spartan3にleft_right_leds.bitをダウンロードします。

実行中のメッセージは以下のようになります。実際には表示が早くて確認できません。

ISEがインストールされていれば自動実行されるはずですが、コマンドプロンプトのPATHが通っていない場合には impact.exeを実行できないためエラーとなります。

この場合には環境変数を変えるか、 install_left_right_leds.batの内容を変更します。

・環境変数を追加する方法

この場合 は環境変数に の

変数名 PATH

変数値 impact.exeがある場所をフルパスで指定。

※通常 c:\xilinx\bin\nt 下のスクリーンショットでは C:\XilinxWP82\Bin\nt としています。

・install_left_right_leds.batの内容を変更するやり方

install_left_right_leds.batの最後の行

impact -batch impact_batch_commands.cmd

のimpactの前に impact.exeがあるフォルダのフルパスをつけます。

<例>

C:\XilinxWP82\Bin\nt\impact -batch impact_batch_commands.cmd

赤字のように追加して、実行します。

この場合は impact.exeは c:\XilinxWP82\Bin\ntにある例です。

impact.exeはISEのインストールフォルダ+\Bin\ntにあります。

[TOP]


■ダウンロードメッセージ

先頭に>がついた行はバッチファイルのコマンド。それ以外はアプリケーションが出力したメッセージです。

>REM ##########################################################################
>REM # This will create theiMPACT CMD file and then run iMPACT to program #
>REM # the Spartan-3E device on the Starter Kit board. #
>REM ##########################################################################

>impact -batch impact_impact -batch impact_batch_commands.cmd
batch_commands.cmd
Release 8.2.02i - iMPACT I.33
Copyright (c) 1995-2006 Xilinx, Inc. All rights reserved.
// *** BATCH CMD : setMode -bs
// *** BATCH CMD : setCable -port auto
AutoDetecting cable. Please wait.
Connecting to cable (Parallel Port - LPT1).
Checking cable driver.
Driver windrvr6.sys version = 7.0.0.0. LPT base address = 0378h.
ECP base address = FFFFFFFFh.
Cable connection failed.
Connecting to cable (Parallel Port - LPT2).
Checking cable driver.
Driver windrvr6.sys version = 7.0.0.0.Cable connection failed.
Connecting to cable (Parallel Port - LPT3).
Checking cable driver.
Driver windrvr6.sys version = 7.0.0.0.Cable connection failed.
Connecting to cable (Parallel Port - LPT4).
Checking cable driver.
Driver windrvr6.sys version = 7.0.0.0.Cable connection failed.
Connecting to cable (Usb Port - USB21).
Checking cable driver.
Driver xusbdfwu.sys version: 1021 (1021).
Driver windrvr6.sys version = 7.0.0.0.Calling setinterface num=0, alternate=0.
DeviceAttach: received and accepted attach for:
vendor id 0x3fd, product id 0x8, device handle 0x19f0038
Cable PID = 0008.
Max current requested during enumeration is 280 mA.
Cable Type = 3, Revision = 0.
Setting cable speed to 6 MHz.
Cable connection established.
Firmware version = 1021.
CPLD file version = 0012h.
CPLD version = 0012h.
// *** BATCH CMD : addDevice -p 1 -file ".\left_right_leds.bit"
'1': Loading file '.\left_right_leds.bit' ...
done.
INFO:iMPACT:1777 -
Reading C:/XilinxWP82/spartan3e/data/xc3s500e.bsd...
WARNING:iMPACT:2257 - Startup Clock has been changed to 'JtagClk' in the
bitstream stored in memory,
but the original bitstream file remains unchanged.
INFO:iMPACT:501 - '1': Added Device xc3s500e successfully.
----------------------------------------------------------------------
----------------------------------------------------------------------
// *** BATCH CMD : addDevice -position 2 -part "xcf04s"
INFO:iMPACT:1777 -
Reading C:/XilinxWP82/xcf/data/xcf04s.bsd...
INFO:iMPACT:501 - '2': Added Device xcf04s successfully.
----------------------------------------------------------------------
----------------------------------------------------------------------
// *** BATCH CMD : addDevice -position 2 -part "xcf04s"
INFO:iMPACT:501 - '2': Added Device xcf04s successfully.
----------------------------------------------------------------------
----------------------------------------------------------------------
// *** BATCH CMD : ReadIdcode -p 1
Chain TCK freq = 10000000.
Chain TCK freq = 10000000.
Validating chain...
Boundary-scan chain validated successfully.
'1': IDCODE is '00000001110000100010000010010011'
'1': IDCODE is '01c22093' (in hex).
Version is 0000
'1': : Manufacturer's ID =Xilinx xc3s500e, Version : 0
Elapsed time = 0 sec.
// *** BATCH CMD : program -p 1
Chain TCK freq = 10000000.
Chain TCK freq = 10000000.
Validating chain...
Boundary-scan chain validated successfully.
'1':Programming device...
done.
'1': Reading status register contents...
CRC error : 0
Decryptor security set : 0
DCM locked : 1
DCI matched : 1
legacy input error : 0
status of GTS_CFG_B : 1
status of GWE : 1
status of GHIGH : 1
value of MODE pin M0 : 0
value of MODE pin M1 : 0
value of MODE pin M2 : 0
value of CFG_RDY (INIT_B) : 1
DONEIN input from DONE pin : 1
IDCODE not validated while trying to write FDRI : 0
write FDRI issued before or after decrypt operation: 0
Decryptor keys not used in proper sequence : 0
INFO:iMPACT:2219 - Status register values:
INFO:iMPACT - 0011 0111 0001 1000 0000 0000 0000 0000
INFO:iMPACT:579 - '1': Completed downloading bit file to device.
INFO:iMPACT:580 - '1':Checking done pin ....done.
'1': Programmed successfully.
Elapsed time = 1 sec.
// *** BATCH CMD : quit
----------------------------------------------------------------------
----------------------------------------------------------------------
----------------------------------------------------------------------
----------------------------------------------------------------------

[TOP]

■動作

ロータリースイッチを回すとLD0〜LD7が連動して点灯/消灯します。

ロータリースイッチを押しながら回すと点灯/消灯が反転します。

このデモンストレーションではFPGAに対してプログラムを書き込んでいます。FlashROMに対して書き込みをしていないので、電源を再投入した場合には、FPGA内に記憶していたプログラムはなくなり、FlashROMに書き込まれているもともとのプログラムがFPGAに書き込まれます。


[TOP]


HOME 製品情報 受託開発 資料室 お問い合わせ