昨夜、JTAGデバッガーが動作し始めて喜んで寝たのですが、その喜びも束の間。

本日、新しいFPGAで我が家の LAN の ポート番号 8073 に Web Browser でアクセスし、従来通り KiwiSDR が正しく動作するかをチェックしたのですが、何となんと... 正常動作しなくなってました。

それが、面白いのですが、最初はしばらくちゃんと音がして、正常動作しているように思えるのですが、直ぐにスタックしてしまいます。

KiwiSDR 2022 10 17 No2

スタックした後、同じページを更新すると、次は、こんな感じになります。

KiwiSDR 2022 10 17 No1
何らかの不具合が生じ、FPGA が反応しなくなったので、タイムアウトしてこんなメッセージが出ているのではないか?と想像します。

エラーメッセージとしては、ちょっと意味不明の内容ですね。

途中までは正常に動作しているので、少なくとも CIC や  memory FIFO、SPI などの基本回路は問題なく動作しているものと思われます。が、何らかの理由によって、例えば、「memoryFIFO のカウンタが2週目になったところで動かなくなる」というようなことにより、同じ動作ができなくなってしまったのではないか? と想像しました。

合成時に Warning が一杯出てましたので、その中には直さないとならないような問題があったのかもしれませんし。ちゃんと調べてみる必要がありそうです。FPGAに直接JTAGを付けたことにより、内部ノードもデバッグできる筈ですので、ある意味、SDRの完全理解のためには良い試練なのかもしれませんね。

ただ、ここまで来ると、一応、「JTAGでの書込みが正しく出来ていないのか?」それとも、「そもそも Bit ファイル自体の問題なのか?」をハッキリさせるために、「ネットから落してきたデータに入っていた Bit ファイルを JTAG で焼いたらどうなるのか?」も調べてみたくなりました。

早速、落してきた Zip ファイルである Beagle_SDR_GPS-master.zip を解凍して出来る、Beagle_SDR_GPS-master ディレクトリの下にある、”KiwiSDR.rx4.wf4.bit" を JTAG で焼いていました。なお、Bit ファイルはいくつか存在しているのですが、同時に 4user サポートできる Bit ファイルは、これなのだろうと思い、これを焼きました。

するとどうでしょう。何と、私が作った Bit ファイルと同様、スタックしてしまいました。

「ガーン、そんな馬鹿な!!」

この現象から察するに、考えられるのは次の2つかと。

①落してきた FPGA 用基データがバグっていて、何らかの理由により途中でハングする回路となっている。でもキットについてきた CPU を介して書込むFPGAコードは正しく動作するものが入っていた。

②FPGAにJTAGデバッガーで書込むと、何らかの理由により Bit ファイルが正しく書けず、途中でハングしてしまう。


ですが、これはどう考えても、②の可能性は非常に低いかと。
状況としては、殆ど正しく動作していて、途中でハングするのですから、基のデータがそういう動作をする回路となっていた①が今回の問題である可能性が高いかと、思われます。

②の場合だと、そもそも全く動作しないようなことになるでしょう。

デバッグの茨の道は、まだまだ続きます。

ではでは 73

良かったら、押してやって下さい。
↓↓↓↓↓↓↓↓↓↓↓
にほんブログ村 その他趣味ブログ アマチュア無線へ