ぱたへね

はてなダイアリーはrustの色分けができないのでこっちに来た

Wishbone 基礎

Wishboneは、IPコア間の共通のI/Fとして開発された規格です。Opencoreにある気合いの入ったライブラリはWishboneをサポートしているので少しまとめて見ました。一次資料はここからダウンロードできます。
http://opencores.org/opencores,wishbone
現在の最新版は、Revision B4です。

Wishbone の機能

1.1 WISHBONE Features から、アーキテクチャに関わるところを抜き出しました。「モジュール化された」は、カスタマイズ可能の意味です。

  • Read/Writeサイクル、ブロック転送サイクル、Read-Modify-Write サイクルをサポート
  • ビッグエンディアン、リトルエンディアンをサポート
  • 64bitまでのモジュール化されたデータ幅とオペランド
  • モジュール化されたアドレス幅
  • BIG ENDIAN と LITTLE ENDIAN の両方をサポート
  • Point to Point, shared bus, crossbar switch, switched fabric interconnection の接続をサポート
  • それぞれのIPコアが全速力でデータを転送するためのHandshaking
  • 単一クロックのデータ転送
  • normal cycle termination, retry termination and termination due to error をサポート
  • SLAVEに対しては部分的なアドレスデコードをサポート。
  • ユーザー定義のタグ。アドレスバス、データバス、バスサイクルに情報を割り当てるのに役に立ちます。特に、データ転送、パリティ、エラー訂正ビット、割り込みベクター、キャッシュコントロール命令などの、バスサイクルを識別する助けになります。
  • MASTER / SLAVE アーキテクチャ
  • マルチプロセッシング(マルチMASTER)が可能
  • アービトレーションはユーザーが定義する
  • 同期デザイン