ShrikeLite 8ビットのSPIは動作したけど・・・

電子工作

 Shrike Liteで遊んでいます。・・・というか思うように行かず、遊ばれています。GithubのShrikeのページにあるspi_loopbackというexampleを試したところ、ほぼ期待通りの動作をしました。少し手を入れて、spiでやり取りするデータ長を32ビットにしてみたところ、思い通りには動作せず、挙動不審というか中途半端な動きをします。それでは16ビットだとどうなるかと思って試しましたが、これもまた思惑通りには動作しませんでした。今のところ、シミュレータやオシロスコープなどを接続してみていませんが、暗礁に乗り上げています。

 あれこれ試している内に、ForgeFPGAworkshopという無償の開発ツールには、I2CやSPIなどのモジュールがライブラリーとして提供されていることに気付きました。Shrike LiteのGithubで公開されているspi_target.vはほぼ同じでです。GithubからダウンロードしたモジュールよりもForgeFPGAworkshopのライブラリーの方が信用できるんじゃないかと思ってモジュールを差し替えて試してみましたが、結果は同じでした。

 Google ChromeのAIに、「spi targert device をverilogで記述した設計例を示してください。ただし、データ長は32ビットとします。また全ての信号はシステムクロックclkに同期化すること。」と質問すると、ちゃんとしたVerilogのソースと共に説明文まで提示してくれます。これを使おうと思って四苦八苦していますが、今の処、思ったような動作をするには至っていません。やっぱりシミュレーションとかやった方が良いかなぁ・・・ちなみに、ForgeFPGAworkshopのライブラリではシミュレーションためのテストベンチ(spi_target_tb.v)まで提供してくれるのですが今一つ使い方が分かっていません。

コメント