1 / 28

Chapter6.3 〜6. 5

Chapter6.3 〜6. 5. 6311626 加藤 駿. 6.3 STREAM AND SIGNAL INTERFACES. Stream and Signal Protocols. ストリームとシグナルのハードウェアインタフェースを   生成する際に ImpulseC コンパイラが明確に定義した   プロトコルを使用する. Stream and Signal Protocols. Stream and Signal Protocols. ストリームは 1 本のデータラインとコントロールラインに よって構成されている.

Download Presentation

Chapter6.3 〜6. 5

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter6.3〜6.5 6311626 加藤 駿

  2. 6.3 STREAM ANDSIGNAL INTERFACES

  3. Stream and Signal Protocols • ストリームとシグナルのハードウェアインタフェースを   生成する際にImpulseCコンパイラが明確に定義した   プロトコルを使用する

  4. Stream and Signal Protocols

  5. Stream and Signal Protocols • ストリームは1本のデータラインとコントロールラインに よって構成されている

  6. Stream and Signal Protocols • rdy信号により制御されているストリームのライン --ストリームが演算中にストリームが読み込みまたは書き込みの準備が出来ていることの指示の生成をrdyラインの上で行う • ハンドシェイク制御を許可するための外部から制御されるen信号のストリームのライン

  7. Stream and Signal Protocols • co-signal-close関数で用いられるeos信号のライン --ストリームの終端を示す • アプリケーションのプログラマによって幅が定義された データライン

  8. Stream and Signal Protocols rdyがactive システムに接続されたプロセスがデータラインよりストリームからの読み書きを行う en信号を出力

  9. Stream and Signal Protocols • シグナルもストリームと同様に動作する • シグナルはeosラインを持たない • メッセージを送信するための異なった通信規則に従う コントロールラインをもつ • シグナルの書き込み処理はブロックされない

  10. Stream and Signal Protocols • HW-HW間のインタフェースではproducerとconsumerの  プロセスはストリームとシグナルのインタフェースを共有する

  11. Streams used in Write Mode • 書き込みモードの場合にストリームインタフェィスは   以下のポートと対応する信号を伴って生成される (co_stream_openO_WRONLYの使用)

  12. Streams used in Read Mode • 読み込みモードの場合にストリームインタフェィスは 以下のポートと対応する信号を伴って生成される (co_stream_open O_RDONLYの使用)

  13. Signals used in Post(Write) Mode • 送信モードの場合にシグナルインタフェィス   は以下のポートと対応する信号を伴って生成される (co_signal_postの使用)

  14. Signals used in Wait(Read) Mode • 待ちモードの場合にシグナルインタフェィス は以下のポートと対応する信号を伴って生成される (co_signal_waitの使用)

  15. 6.4 USING HDL SIMULATION TO UNDERSTANDING STREAM PROTOCOLS

  16. 生成されたストリームインタフェースとその伝達プロトコルを生成されたストリームインタフェースとその伝達プロトコルを 理解するのに最も簡単な方法はテストベンチの シミュレーション内でそれらを調査することである

  17. このループは以下のプロトコルに従う 1.the_enコントロールラインをlow(‘0’の値)にセットする. 2.the_rdyラインがhighになるのを待つ. 3.ストリームの入力のthe_dataラインに値を入力する. 4. the_enコントロールラインをhigh(‘1’の値)にセットする.   これはストリームに値を読ませるように指示する. 次のクロックエッジの際にストリームは値を読む. 5.クロック境界後にthe_enにlowをセットする(1に戻る)

  18. 6.5 DEBAUGGING THE GENERATED HARDWARE

  19. ソフトウェアシミュレーション中では完璧に動作してもソフトウェアシミュレーション中では完璧に動作しても 実機のハードウェアでは失敗することがある • 生成されたHDLをデバッグするのは気落ちしてしまうかもしれないが,思ったほど悪くない

  20. 制御フローやサイクルごとの同期について解析するのにハードウェアジェネレータが各プロセスを別々のステートマシンに分けると便利制御フローやサイクルごとの同期について解析するのにハードウェアジェネレータが各プロセスを別々のステートマシンに分けると便利 • 以下のように低レベルHDLファイルで宣言される

  21. b0で定義されたブロック • b1,b2で定義されたブロック • FIRフィルターの初期化処理の部分を表す • FIRフィルターのキールーチンとなる実際にデータストリーム    を処理する内部コードのループをあらわす

  22. マシンを動作させるクロックロジックを含む b0s0  は以下のようになる

  23. 生成されたHDL内のコメントはどのブロックや演算のサイクルに関連付けられたかを特定するのに役立つ生成されたHDL内のコメントはどのブロックや演算のサイクルに関連付けられたかを特定するのに役立つ • 例えば下の同時積和演算はブロック1,ステージ1に • 関連付けられている

  24. Cからコンパイルを行なった後のこの段階でのCからコンパイルを行なった後のこの段階での  ハードウェアシミュレーションの目標は サイクルごとの正確な動作を確認することである • この種のデバッグは特定の問題のエリアに集中するものであるので設計の1クロックのみをみていくものである • Impulse Cのデザインフローは3つのサイクル精度のハードウェアシミュレーションを動作させる手法がある

  25. 1.生成されたHDLがHDLのテストベンチと組み合わせて1.生成されたHDLがHDLのテストベンチと組み合わせて 従来のHDLシミュレーターで用いることができる 2.生成されたHDLは正確なサイクルのCのモデルから 変換されたもので,このモデルはuntimedなCとリンク しているためCのデバッガからふるまいを観測できる. • 利点はハードウェアシミュレーションが提供する多くの   デバッギングと視覚的な機能が利用できること • 利点はC言語でテストベンチが使用可能であるということ

  26. 3.合成された設計はFPGAのネットリストレベルでシミュレーションすることができる.3.合成された設計はFPGAのネットリストレベルでシミュレーションすることができる. タイミングの調整により最高の動作速度を出すのに  効果的な方法である. が • シミュレーションに時間がかかり,合成された設計を • 元のCのコードにフィードバックすることが大変難しい.

More Related