フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
webadm | 投稿日時: 2006-5-13 2:49 |
Webmaster 登録日: 2004-11-7 居住地: 投稿: 3094 |
火入れしてみた結果 週末になったのでまっさきに虎の子FLEX10Kをソケットに差し込んでPoorman's Byteblaster IIを接続してQuartus IIでauto detectしてみた。
結果は失敗orz なんどやってもだめである。 そういうことは想定の範囲内であったので、早速原因究明にあたる。気づいたことは拙作のプログラミングケーブルの一部の信号の出力レベルが電源が5.0vなのにも関わらず3.3vの時とまるで同じだということ。まあFLEX10Kの信号レベルはTTLなのでぎりぎりだがMAXIIと似たようなもの。 しかし結果は歴然と違う。MITOUJTAGトラ技評価版でIDCODEの読み出しをやってみるも、一回もまともな値が読み出せない。本来は010100DDとかいう値になると思われるが、めちゃくちゃな値や大抵は00000000とか違い過ぎる。 やはりTCKのレベルがぎりぎりなのがまずいのか。それまでFPGAからの入力信号はバッファをかんだ出力を観測していたが、FPGAの生の出力信号を観測して糸口がつかめた。最初にMAXIIでまったく動かなかった時に同じように観測した時に見た覚えのある現象が確認された。 以前MAXIIでうまくいかなかった時もちらっとこのような波形が観測されて気になっていた。上の波形(FPGAのTDO出力ピン)の左の方にうっすらなだらかなスロープ状の波形が見える。これは絶対あってはいけない波形である。以下は比較のために現在はまったく問題無く使えている状態のMAXIIで同じ様に観測した結果。 うってかわって波形がくっきりしていてスロープ状のものはどこにも現れていない。 先のスロープ状の波形は、FPGA内部でTDO出力値を記憶しているフリップフロップがメタステーブルを起こしていることを示す典型的な症状である。JTAGの動作は全てTCK信号による同期回路なのでJTAG関連の全てのフリップフロップはTCKをクロック源として入力をサンプルし出力を保持する。しかしクロック信号の品質が悪いと入力の状態保持が不完全となり、一旦は出力がHighになるもののその後フリップフロップが完全に状態が切り替わらずにゆっくりと元の状態に戻っていってしまう。メタステーブル状態のフリップフロップはその間まともに動作しないため致命的な誤動作の原因となる。最悪は構成するトランジスタ素子の破損を招く。 今回は前回のMAXIIの時と同様にTCKのHigh時の電位がTTLのVIHぎりぎりしかないため、メタステーブルが頻繁に発生していると予想される。 回路シミュレーションでは問題ないが実際の回路ではその通りに動いてはくれないのが目下の課題。 PSモードも試してみたけっか、やはり転送途中でFPGAが勝手にconfiguration終了してしまう。8Kbitとか14kbitとか転送したところでエラーになって終わってしまう。これもJTAGのTCKと同じDCLKの品質が悪いためであると推測される。 手持ちのプログラミングケーブルが拙作のインチキケーブルしかないのでFPGAが壊れているということもありえなくはないが、観測した範囲ではメタステーブル以外はそれなりに動いている感じが見てとれる。最初動かなかったMAXIIの時と似たような感じ。 いまのところプログラミングケーブルが5v動作の際に要求される仕様を満足できていないのを解決しないと。 |
フラット表示 | 前のトピック | 次のトピック |
投稿するにはまず登録を | |