特殊電子回路株式会社

 

 

特電について

トップ ページ製品情報ブログ「JTAG日記」JTAG情報会社紹介

目次

Spartan-6トップ

詳細な仕様

この製品のメリット

注文情報

ユーザ登録

製品ラインナップ

TKDN-SP6-ES

TKDN-SP6-16

TKDN-SP6-45

基板の図面

ピン配置

外観写真

シルク図

外形寸法

ダウンロード

製品資料

完全な回路図

UCFファイル

サンプルデザイン

書き込みツール

デバイスドライバ

その他

開発チュートリアル

ボードの概要

デバイスドライバ

ツールの準備

最初のデザイン

書き込み方法

階層化しよう

クロックの扱い方

USBの使い方

DDR2を使う回路

コラム

I/Oの状態を見るSP6とSP3の違い

ISEのオプション

開発の記録

MATLABで使う

EXCELから使う

LabViewから使う

応用作品

MT9T031カメラUSB-CMOSカメラ

LED光センサアレイ

USB-JTAG

ご注意

使用上の注意
無償回収と修理

※必ずお読みください

 

Spartan-3からSpartan-6に乗り換える理由

・XILINXの最新CPUであり、今後の製品寿命がもっとも長い。

・Spartan-3と比べるとI/Oが格段に進歩している。例えば、ISERDES/OSERDESがすべてのI/Oピンに内蔵されており、ハードウェアレベルでのシリアルパラレル変換が可能。つまり、SpartanなのにVirtex-4並みのことができる。

・Spartan-3は、I/Oあたり最大622Mbpsまでだったが、Spartan-6では最大1050Mbpsになった。

・I/Oの遅延設定がしっかりとできるようになった。(逆に言えば、Spartan-3EのIODELAYはかなりいい加減だった)

・コンフィギュレーションに失敗したときに、別のコンフィギュレーションデータを自動的に探しに行くようになった。

・VCCAUXが3.3Vでなくてもよくなった。もう2.5Vは不要。

・1個の16kbのBlockRAMを、2個の8kbのBlockRAMに分けてつかうことができる。つまり、BRAMを節約できる

・DLLやDCMだけではなく、PLLも内蔵された。任意の周波数を作り出すことができる。

・最大の特徴は、Spartan-3のLUTが4入力だったのに対し、Spartan-6では6入力に拡張されたこと。

・Spartan-6のLUTは、Spartan-3のLUTの約半分しか入っていないが、1つのLUTが扱える情報量は2倍も4倍にもになったと考えられる。関係をまとめると、

  Spartan-3 ・・・ 1CLB=4スライス。1スライス=2LUT(4入力)+2フリップフロップ。

  Spartan-6 ・・・ 1CLB=2スライス。1スライス=4LUT(6入力)+8フリップフロップ。

 つまり、複雑なロジックを組む人には恩恵がある(はず)。

 

デバイス

ロジックセル数(公称)

CLB数

スライス数

LUT数

FF数

乗算器

BRAM

XC3S1200E

19,512

2,168

8,672

17,344

17,344

28個

28個

XC6S16LX

14,579

1,139

2,278

9,112

18,224

32個

32個

同規模と思われるSpartan-3とSpartan-6の比較

(XC3S1200EとXC6S16LXはデバイス単価とコンフィギュレーションデータサイズが近い)

XILINX ISEの設定オプションにご注意!

Spartan-6の開発を行うにはXILINX ISE 11が必要ですが、ISE11のデフォルトの設定では、I/O内のフリップフロップが使われる設定になっていません。このため、入出力のタイミングをきっちり作った正確に作ったつもりでも、予期しない遅延が入ってしまって、正確なタイミングを出せないことがあります。周辺ICとのインタフェースにおけるセットアップ・ホールドタイムの不足や、論理合成後のタイミングエラーを引き起こします。

 

具体的に言うと、

process(clk) begin

   if(clk'event and clk='1') then

       input_signal_X <= input_signal_X_ip;

       output_signal_X_op <= output_signal_X;

   end if;

end process;

 

のように書くと、input_signal_Xやoutput_signal_XにはIOB内のIFFやOFFが適用されることが期待されます。しかし、ISE11ではそうなりません。CLB内の通常のFFが使われてしまいます。

 

この問題を回避するには、Implement DesignのオプションでProcess Propertyを開き、

 

次にMap Propertiesタブを開いて、Pack I/O Registers/Latches into IOBsをFor Input and Outputsにします。

 

論理合成後のDesign Summaryで、IOB Propertiesを見たときに、IFF1やOFF1が使われいれば成功です。

 

これで、貴方の設計したI/Oは、設計したとおりのタイミングで動くでしょう。

 

開発の記録

バウンダリスキャンによる動作確認

EZ-USB FX2の動作確認

DDR2メモリの超低速動作

DDR2メモリの動作確認(続き)

DDR2メモリを400MHzでアクセス

ISE11.3におけるODDR2プリミティブのバグを発見

USBデバイスドライバのリリース

オンボードのUSB-JTAG書き込みツールをリリース

サンプルアプリケーションのリリース

Vista(32bit版)での動作確認

Spartan-6にMicroBlazeを実装してみた

SPIメモリプログラマ

Spartan-6のOSERDESで汎用I/Oから1Gbps出力

Spartan-6のIODELAYのキャリブレーション

Spartan-6のIDELAY2の遅延は何ps?

 


Copyright(C) 2009 TokushuDenshiKairo Inc. All rights reserved.