電源の立ち上がりを待ってからロジアナキャプチャ
MITOUJTAGに、電源の立ち上がりを待ってからJTAGロジアナでキャプチャを開始する機能をつけようと思います。
どういうことかというと、バウンダリスキャンでI/Oピンをサンプリングして波形として表示する際に、ターゲットボードの電源がONになるまで待機するということです。
なぜならば、電源ON直後の波形を見たいからです。
次の図は、Spartan-3E+外部PHYのPCI Expressボードで、電源ON後の波形を見たものです。コンフィグ関連の信号と、PHYの信号の一部、そして受信したTLPの個数をGPIOに出力して見ています。
①電源がONしてからおよそ750msの間、コンフィグ関連の端子(MOSI,MISO,CS,CLK)が動いています。
② コンフィグが完了すると、FPGAの端子が出力に変わり、動き出します。
③ FPGAが動き出すとすぐにPCIeがリンクアップして、約200ms後に最初のTLPを受信します。
④ その後、多くのTLPを受信して、受信したTLPの数が188個に達します。
このような電源ON直後の端子の状態が見えるので、デバッグに役立つというわけです。
ところで、なんでこんな機能が必要になったかというと、お客様からのご連絡で、PCIeボードとあるメーカーのPCとの組み合わせで相性が悪い場合があるということがあったからです。電源ON後に稀に立ち上がらないことがある。CTRL+ALT+DELでの再起動では問題ない、とのことでした。
つまり、電源ON直後のリセット時の波形を見てみないとわからないのです。CTRL+ALT+DELでの再起動でエラーが出るのであれば、FPGAの電源はONしたままなのでChipScopeでも何でもいろいろな手段があると思います。
しかし、今回のお客様の件では、電源ON直後にしか現象が起きなかったので、デバッグが難しかったのです。
そのため、MITOUJTAGにそういう機能を付け加えたという次第です。
もちろん、一発で原因の見等もつきました。
起動に失敗する場合は、受信信号の極性反転を示す「RX_POLARITY」という信号が'1'になっていました。この基板では受信信号の極性反転はしていないので、RX_POLARITYは'0'でなければなりませんが、問題の起こるPCではなぜか誤認識してしまう場合があるようです。
次はブロックRAM版のJTAGロジアナにも電源待機機能を入れて、電源ON直後のFPGAの内部状態をサンプリングしてみることにします。
最近のコメント