MySOC USBHostとLCD制御を組込( 6)
    いきなりLedOnOffプログラムを実行

 VerilogHDLでFPGAに設計したばかりのSPU81(シーケンス・プロセッサ・ユニット)にLED点滅プログラムを実装して実行させました。それぞれの命令の動きを確認してからの方が良いのでしょうが、設計のレベルを確認するためにいきなりプログラムを実行しました。 
・以下の内容を整理した物をここに置きます。

●LED点滅プログラムの実行

 4MHzのクロックで動作するSPU81(シーケンス・プロセッサ・ユニット)にLED点滅プログラムを実装して動作させました。4MHzのクロックの周期は0.25usなので、2クロックで1つの命令を実行するSPU81は、命令当たり0.5usで動作します。
 LedOnOff5プログラムは、4重のループで構成しています。
 最小のループは7命令で、ループ毎にFPGAのピンに1パルス出力して、160回回ります。このループでFPGAのピンに出力するパルスをシンクロスコープで波形を見ると、3.5us毎に1usのパルスが出ています。3.5usの周期は7命令x0.5usで、1usのパルスは2命令実行時間です。 最大のループは、564msでLEDを点滅しています。
 4重ループのそれぞれの周期は、プログラムリストの中に実行時間を計算しています。シンクロスコープで見た波形を見比べてください。
 いきなりのプログラム実行ですが、計算通りの波形が得られたので、そこそこのレベルで設計出来たと思います。
 しかし、サブルーチン指定が出来ないのでコード量が思ったより多いです。






























































●FPGA Spu81 のコンパイルサマリー

 Spu81 をQuartsUWeb版でコンパイルしたサマリーを次に示します。
 使用エレメント数は、230でFPGAの8%、メモリは4352ビットで7%です。
 数字から見ると、Spu81を10個以上実装可能です。






























ホームへ戻る