« FPGAカンファレンス2009ご来場ありがとうございました | トップページ | DDR2 SDRAMの動作確認 »

2009.09.17

Spartan6かISE11.2のバグ?

先日の「Spartan-6のバウンダリスキャンの問題」はXILINXに投げたら、かなり丁寧に対応してくれました。今、本国のほうで対応されているそうです。
ただ、最初はこの現象を説明して問題を理解してもらうのはなかなか大変でした。「同様の問題は報告されていません」、などと言われたこともありました。それもそのはず、バウンダリスキャンをFPGAのデバッグに役立てようとツールを作っている人なんて極めて稀でしょう。

そして、今夜、特電Spartan-6ボードのDDR2メモリをデバッグしようとしていたら、またまた見つけてしまいました。

今度の問題は簡単にいうと、「ODDR2の後ろにIOBUFTをつないだ場合うまくいかない」という問題です。
例えば、ODDR2を使ってH→L→H→L→H→L→・・と、トグルする信号を作り、それをトライステート付きバッファで出力しようとすると、出てきません。
つまり、DDR2メモリのアクセス回路をつくろうとした場合、DQS信号が出力できないのです!

しかも面白いことに、IOBUFTのIにつないだ信号が、どうやら実際のデバイスではTにつながってしまうようで、出力信号がH/Lするかわりに入出力方向が切り替わるのが確認できてしまいました。
JTAGバウンダリスキャンを使わなければ、この問題になかなか気が付かなかったと思います。

もちろん、普通のロジック出力をIOBUFTで双方向信号として出力した場合は、問題なく動きます。だから普通は気づきません。
あくまでも、ODDR2の出力を双方向にしたいような場合に、問題が発生するようです。

これも、WebCaseに投げてみました。結果が楽しみです。

本当はそろそろ特電Spartan-6評価ボードの量産にGoをかけたかったのですが、DDR2メモリの検証ができないので、まだ量産Goが出せず、出荷の日程に影響しそうです。なにぶん、最新のデバイスなのでいろいろな問題が発生しています。
ただ、問題はシリコンや基板の問題ではないので、ハードウェアの作り直しにはならないと思われるのが救いです。ご期待いただいている皆様にはお待たせしてしまい、大変申し訳ございません。

|

« FPGAカンファレンス2009ご来場ありがとうございました | トップページ | DDR2 SDRAMの動作確認 »

コメント

コメントを書く



(ウェブ上には掲載しません)




« FPGAカンファレンス2009ご来場ありがとうございました | トップページ | DDR2 SDRAMの動作確認 »