2003.5.29 Ver.1.14 パラレルエラー対策、エラー処理、内部整理
2003.4.16 Ver.1.13 AN2131SC/2135SC両用SPI高速ドライバ追加
2003.1.20 Ver.1.12 AN2135S専用C高速版ドライバ
2003.1.10 パラレルドライバにGIVEIOインストール機能追加
2002.8.29 Ver1.1公開、デイジーチェイン対応
2002.8. 6 AlteraBitBlaster用ドライバ追加
2002.8. 5 Ver.1.0に更新,USB-PDC用ドライバ追加
2002.3.22 回路図Rev.2に修正、Alteraピン配置のTVCCとGNDが逆でした
2002.3.19 1stリリース
2002.3.15 回路図追加

SPCISP EZ-USB対応 ISPプログラム

=>>
概要

 Xilinx FPGA(SpartanIIシリーズ)のコンフィグレーションを行なうプログラムです。
 Xilinx純正のダウンロードツールiMPACTの代わりに使用します。
 パラレルポートのない方、EZ-USBの勉強をSpartanとIIと一緒にやりたい方、繰り返しコンフィグレーションする為にiMPACTで毎回書き込み操作をするのが面倒な方等に向いています。

対応済みインターフェース/ドライバー

 とりあえずこちらを一読してください。

ダウンロード

最新プログラム
SPCISP Ver.1.14 コンプリートバイナリ(最新DLLドライバー同梱)
SPCISP Ver.1.14 ソース (spcisp.exeのみ)

最新ドライバー

バイナリは、SPCISPに同梱

(Ver.1.11)SPCISP用Xilinx/Alteraパラレルドライバ、ソース一式

回路図
 spc_usb2 : EZ-USB(AN2131SC/AN2135SC) SPI高速版プローブ用JTAG部回路説明
 spc_usb : USB(AN2135SC)用JTAGプローブ部 回路図 Rev.2
 spc_pdc : USB-PDC(AN2131SC)用JTAGプローブ部 回路説明

特徴

下記の特徴があります。
・XilinxSpartan2 専用です。(Vertexでも多分動く)
・ドライバー部をDLL化しているため、DLLの差し替えで独自ハードに対応可能
・EZ-USB(AN2135SC)を使ったUSB接続の専用プローブで高速プログラムできます。
・JTAGモードとシリアルスレーブモード(現在USBのみ)の両方に対応しています。
・純正仕様のパラレルI/Fのプローブにも対応しているほか、Altera BitBlaster?
 仕様のケーブルも使えます!(Alteraデバイスが書き込めるわけではない)
・ソースを公開しているので、Xilinx以外のJTAGアプリにも応用可能です。
・JTAGデイジーチェイン+自動選択に対応(Ver1.1より)

iMPACTに勝っている点として、
・常駐実行させて、bitstreamファイル生成時に自動書き込みさせるこが可能
・プログラムの起動速度が速い。
・USBプローブの使用により、パラレルI/F不要+高速コンフィグ可能
・JTAGデイジーチェイン自動検査のため、幅広い接続状態に対応

iMPACTに劣っている点として、
・Spartan2のみ対応
・パラレルI/Fでは、I/Oポートを直接制御していおりWindowsNT/2000/XPではGIVEIO.SYSが必要
・GUIインターフェース無し

などです。

EZ-USBプローブの作成

 パラレルケーブルで速度、安定度ともに十分な方はUSBプローブの作成は不要です。

 EZ-USBによるプローブの場合、AN2131SCAN2135SCが搭載され、EEPROM未接続のEZ-USBモジュールで、指定のポートが空いているものが必要です。
 この条件を満たすモジュールをすでに所有しているなら、それを加工してJTAG-ISPケーブルを制作できます。
 配線とコネクタの他に必要なものは、いくつかの抵抗だけです。

 ドライバーは、SPI版,AN2135SC版、USB-PDC版(AN2131SC)の3種類があります。
 このうちSPI版が最も新しく高速なので、可能な方はこちらをお勧めします。
 USB-PDC版(AN2131SC)は、古い骨格で作られているため、SpartanIIのコンフィグ以外には向きません。
 EZ-USBモジュールをキットで購入するなら、MINI-USBがお勧めです。
  自作の他、使用/流用可能なモジュールとしては、下記のものなどがあります。

 1)オプティマイズMINI-USB
  私が知る限り、個人で入手可能な専用キット/モジュールとしては、現在(2003.4.16)最も小さく安価なものです。
  このモジュールにおいて、動作確認を行なっています。

 2) 株式会社 アイ・ピイ・アイAN2131SC基板
  未確認ですが、たぶん使えます。

 3)オプティマイズカメレオンUSBの再生品
  CPLDが壊れてしまったカメレオンUSBを再利用できます。
  実際、こんな風に制作してみました。

 4)プリンストン製スマートメディアリーダ、PRD-SM2
  こうして最初に使用したものですが、販売終了しています。
  後継機種では、中味がAN2135SCとは異なっている模様です。

 5)I・O DATA製 USB-PDC
  これまた販売終了品ですが、EZ-USBユーザーの間では人気が高い携帯電話用ケーブルです。
  外部とのI/FにバッファICが入っているそうで、I/Oの方向が決まっている為、より高速な"SPI版"を使用するためには、内部の改造が必要なようです。

  FREE WINGさんが、初期のAN2135SC用ドライバーを元にUSB-PDC専用ドライバーを制作されています。
  詳しくはFREE WINGさんのホームページの「EZ−USBでスパルタン2をコンフィグ」をご覧下さい。

 プローブの制作が終わったら、EZ-USB開発キット内にあるデバイスドライバー"ezusb2k.inf"と"ezusb.sys"をインストールし、EEPROMなしのAN2135SCをPCに接続してCypressのデバイスドライバを認識させます。
 ドライバーのインストールについては、MINI-USBのに説明があります。

使い方

 あらかじめPC,ISP用各種プローブ,SpartanIIをつなぎ、SpartanIIに電源を供給しておきます。
 USBプローブの場合は、PCと接続して、EZ-USB開発キットのデバイスドライバーをインストールして認識させます。
 spcisp.exeと使用するドライバーDLLを同じディレクトリに配置します。
 コマンドプロンプトからspcisp.exeを実行すると簡単な使い方が表示されます。
 適当なパラメーターを与えてプログラムを起動すると、コンフィグレーションを実行します。
 詳しくは、アーカイブ内の
spcisp.txtを読んでください

注意事項、免責

 このプログラムや製作記事に関して、その使用に関していかなる責任も負いません。
 各々自己責任と、良識に基づいて情報やプログラムを使用してください。
 bitstreamファイルの解析は独自方法で、ヘッダの一部は解明していない為、ツールのバージョンによっては判読不可能な可能性があります。
 Webpack4.1i,Webpack4.2,Webpack5.1SP3では動作確認をしています。

今後の展望

・XC18Vxxの書き込みサポート
・コンフィグ後に、JTAG経由でデータ通信
 −SpartanII接続のFlashROMのJTAG経由で書き換える(実験終了済)
 −SpartanII接続の大容量RAMにデータを送り込む
・パラレルスレーブモード対応 ← コンフィグ後の高速データ通信
・GUI化=iMPACT置き換えの為
・iMpacct置き換え=自動コンフィグをシンプルにする為

旧バージョンダウンロード

SPCISP Ver.1.13 コンプリートバイナリ(最新DLLドライバー同梱)
SPCISP Ver.1.13 ソース (spcisp.exe,spc_usb.dll,spc_usb2.dll)
(Ver.1.12)AN2135SC用ドライバV1.10,Playxsvf対応高速版
2003.2.24 WindowsXPでは動作しません。
SPCISP Ver.1.10 Win32実行ファイル+各種ドライバーDLL
SPCISP Ver.1.10 ソース一式(含ドライバ)
Altera BitBlaster用追加ドライバー
Ver.1.0 Win32実行ファイル+各種ドライバーDLL
SPCISP Ver.1.0ソース
XilinxパラレルI/Fドライバーソース
AN2135SC(PRD-SM2)ドライバーソース
AN2131SC(USB-PDC)ドライバーソース ※FREE WINGさんご提供Ver.0.9 Win32実行ファイル  Ver.0.9 ソースリスト