FC2カウンター FPGAの部屋 Chipscopeのクロックの配置について
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

Chipscopeのクロックの配置について

前回、BUFGMUXの配置方法で、BUFGMUXを配置したが、回路にバグがありChipscopeを入れて検証することになった。しかし、最初にChipscopeを入れたらトリガがかからず、波形を表示しようとしても波形が表示できない。これは困るので、どうなっているか解析してみることにした。
FPGA Editorで見てみると、Chipscopeで使われるBSCANユニットは、Virtex2-3000ではチップの右上端にある。最初にChipscopeを入れたものでは、チップ下側のBUFGMUXを使用していたので、BSCANユニットのDRCLK1からBUFGMUXに行くまでのパスが長く、7.694nsかかっていた。
FPGA_Editor_BSCAN_1_051226.png

次に、このネットがBUFGMUXを通過した後のネット(icon_control0<0>)の遅延は1.529nsから11.365nsの間でばらついている。グローバルクロック配線を使えているところもあるが、使えていないところもあるようだ。グローバルクロック配線の配線リソースの制限のためと思われる。
FPGA_Editor_BSCAN_2_051226.png

Chipscopeの動作がおかしいのはBSCANのDRCLK1からBUFGMUXまでの経路の遅延7.694nsとBUFGMUX0Pからのクロック遅延最大11.365nsが大きすぎるのが問題ではないかと考えた。
図3にクロック遅延が最大のスライス(actreset_pulse)付近のクロック配線図を示す。図3で赤いスライスがクロック遅延11.365nsのスライスである。
FPGA_Editor_BSCAN_3_051226.png

下図に最小クロック遅延のBRAM付近のクロック配線図を示す。図4で赤いBRAMがクロック遅延1.529nsのBRAMである。
FPGA_Editor_BSCAN_4_051226.png

次にChipscopeのクロック配線も考慮してBUFGMUXを使用する。チップ上側のBUFGMUXに空きをつくり、BSCANから短い遅延で配線できるようにした。(本当はChipscopeのクロック配線も制約ファイルで固定すれば良いと思う) また、反対側のBUFGMUXになるべく関係ないクロックを割り当てた。結果はChipscopeのクロック配線がうまくグローバルクロック配線を使用できるようになったが、rxclk1がグローバルクロック配線からはじき出され、ローカル配線を使用するようになってしまった。
図5に改良版のBSCANのDRCLK1からBUFGMUXまでの配線を示す。この配線の遅延は3.152nsで、以前の配線より4.542ns遅延が少なくなっている。
FPGA_Editor_BSCAN_5_051226.png

BUFGMUXの出力のネットicon_control0<0>は1.543ns~1.746ns位に収まるようになった。グローバルクロック配線を使えているようだ。
FPGA_Editor_BSCAN_6_051226.png

以前、クロック遅延が最大だったスライス(actreset_pulse)付近のクロック配線を図7に示す。今回のクロックの遅延時間は1.692nsである。前回は11.365nsなので、9.673ns改善している。
FPGA_Editor_BSCAN_7_051226.png

以上のように変更した所、Chipscopeは正常に動作するようになった。
どのくらいクロックが遅延すると動作しなくなるかはわからないが、やはり遅延が大きいとChipscopeの動作が不安定となるようだ。Chipscopeのクロックもグローバルクロック配線を使うようにしたほうが安定動作が望めると思う。
このようにChipscopeも所詮FPGAに組み込まれた1回路なので、他の自分で作った回路のような配慮も必要であるようだ。リソースがあまっていて、Chipscopeの影響がないようにしたいならば、全ロジック素子をロックしておかなければいけないのだろう。
  1. 2005年12月27日 06:01 |
  2. Chipscope
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
http://marsee101.blog.fc2.com/tb.php/110-5147c1c3
この記事にトラックバックする(FC2ブログユーザー)