OCP(Open Core Protocol)技術解説 ―― CPUに依存しないオンチップ・バス・プロトコルがマルチコアを効率良く動作させる

鈴木一可

tag: 半導体

技術解説 2007年5月10日

●基本信号を最小限に抑えたOCP 1.0

 OCP規格の仕様としては,OCP-IPがOCP 1.0とOCP 2.0をリリースしています注1.このOCP 1.0の仕様は2001年に,OCP 2.0の仕様は2003年9月に公開されています.まず,OCP 1.0の概要を説明します.

 OCP規格の基本的な考えかたは,「マスタとスレーブの1対1接続.3ステート信号を持たず,すべて単方向の信号で構成されている」ということです.また,すべての信号は,転送クロックに同期してやりとりされます.したがって,役割が明確で物理設計にも配慮した仕様である,と言えます.OCP 1.0は,最小限必要なベーシック信号と数多くのオプション信号から構成されています.

注1;OCP 2.0の仕様(正式版)とデータシートはすでに公開されているが,OCP 2.0用のツール「CoreCreator」はまだ完成していない.2004年1月までに完成する予定.

1)ベーシック信号

 ベーシック信号を図3に示します.頭の文字が"M"で始まる信号はマスタが出力してスレーブに送る信号であり,"S"で始まる信号はスレーブが出力してマスタに送る信号です.すべての転送は,マスタがスレーブにコマンドを発行することから始まります.転送は,いくつかのシンプルなフェーズから成り立っています.

zu03_01.gif
〔図3〕OCP 1.0のベーシック信号
OCP 1.0では,マスタとスレーブが1対1で接続する.ベーシック信号には,マスタが出力するMCmd,MAddr,Mdata,スレーブが出力するSCmdAccept,SResp,SDataがある.

 読み出し転送(図4(a))は,リクエスト・フェーズとレスポンス・フェーズの二つのフェーズから成ります.リクエスト・フェーズはマスタの読み出しコマンド(MCmd==010b)で始まり,スレーブのコマンド受領(SCmdAccept)で終了します.リクエスト・フェーズに続くレスポンス・フェーズは,スレーブのレスポンス(SResp)とデータ(SData)から始まり,デフォルトでは1サイクルで終了します.

 デフォルトの書き込み転送(図4(b))ではレスポンスを受け取らないので,リクエスト・フェーズしかありません.マスタが書き込みコマンド(MCmd==001b)を出力することから始まり,スレーブがSCmdAcceptを返すことで終了します.デフォルトの書き込み転送では,MCmdと同時に書き込むデータ(MData)を出力します.データ・ハンドシェイク・オプションを用いることにより,MCmdとは別のタイミングでMDataを出力することもできます(図4(c)).この場合には,リクエスト・フェーズとは別に,データ・ハンドシェイク・フェーズが存在することになります.

zu04_01.gif
〔図4〕基本的な読み出し転送と書き込み転送
すべての転送はリクエスト・フェーズから始まる.リクエスト・フェーズは,マスタがMCmdを発行することから始まる.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日