[Q2HB] Avalon-MM Pipeline Bridge

[Altera][Q2HB][IP] Avalon-MM Pipeline Bridge

Component Overview

Avalon-MM Pipeline Bridgeは,そのMasterとSlaveの間にレジスタを挿入します.SOPC Builder systemにおいて,register-to-register delay(レジスタ間データ遅延)がsystem interconnect fabric内で生じた場合に,pipeline bridgeを入れることで遅延を削減し,fMAXを満足するようにできるかもしれません.
分離される信号は以下のとおり.

  • MsterからSlaveへの信号(address,write data,control signals)
  • SlaveからMsterへの信号(read data,waitrequest(Optional))

# かなり意訳.レイテンシ増加はあるだろうが,レジスタを挟むのでtiming解析の視点では遅延時間短縮が図れる.

Avalon-MM pipelineを使うことで,トポロジー制御を,pipelineステージを追加することなく行える.pipelineを生成させないためには,"Pipeline Options"を全てノーチェックとする.

★caution
レイテンシ無しのpipeline bridgeは,パイプライン読み出しをサポートしているSlaveには使用できません.

A pipeline bridge with no latency cannot be used with slaves that support pipelined reads.

もしSlaveが読み出しレイテンシを有さないのであれば,パイプラインステージ無しでは接続できません.なぜならば,pipeline bridgeのslaveポートは,"read data valid"信号を有するためです.パイプライン読み出しコンポーネントは,読み出しレイテンシ無しにはできません.

[Pipeline options] Pipeline Stages and Effects on Latency
以下の三種類の信号グループに対して,レジスタを挟むかどうかを指示します.

  • Insert one pipeline stage for master-to-slave signals
    (address, writedata, write, read, byteenable, chipselect, burstcount(optional))
  • Insert one pipeline stage for slave-to-master signals
    (readdata, readdatavalid)
  • Insert one pipeline stage for waitrequest signals
    (waitrequest)

pipeline stageを挿入した際の影響は以下のとおり.

  • 各方向で,1サイクルだけレイテンシが増加する.
  • Bridgeのmaster側の書き込み転送は,Bridgeのslave側の書き込み転送から切り離される(decoupled).
    ∵Avalon-MM Write転送はslaveからのACKを待たないので.
  • waitrequestレジスタステージを含めると,waitrequest信号がアサートされたときに,master-to-slave信号のレイテンシが追加で1サイクル増加します.

Burst Support
Bridgeは,設定可能な最大burst長で,burstをサポートします.burstサポートと設定したとき,最大burst長を上限として,master-slave間でburstを伝えます.
burstサポートを無効にした場合は,burst lengthを1とすることと等価です.この場合,system interconnect fabricは自動的にmaster-to-bridge burstをシーケンシャルな個々の転送に展開します.




注意事項

英語力の弱い人が適当に訳しています.
自分では意味がわかるようにとれたものと,そうでないものとがあります.概要理解の参考にしていただければ幸いですが,オリジナルの英文を参照されることを強く推奨いたします.
また,自分なりに理解して解説したり,参照した資料などへのリンクも記述していますが,ALTERA社の検閲は入っておりません.各自自己責任においてご利用ください.
入門者の敷居を下げるべく,説明文の誤り指摘や修正案等のコメントをいただけますと幸いです.