よくあるご質問


一般技術 | その他の技術との関連 | 規格のバージョン | バースト | シミュレーションとテスト | スレッドと接続

一般技術

1. コアの定義とはどのようなものですか。
2. OCPとは何ですか。
3. OCPの構成はどのようなものですか。
4. OCPにはどの程度の柔軟性がありますか。
5. OCPはどのようなインターフェースに使用できますか。
6. OCPはどのようにしてアナログ信号を処理しますか。
7. OCPは何か他の言語(SystemC、C++、Fortranなど)で実装されていますか。
8. OCP接続はピアツーピア接続ですか。
9. 2つのコアがピアツーピア通信を必要とする場合はどうなりますか。
10. インターフェースが2つあるために多くのダイサイズが必要になるということはありませんか。
11. OCPインターフェースを持つ2つのコアが通信することはできますか。
12. 2つのコアが類似しているが同一ではない場合、OCPインターフェースはどうなりますか。
13. OCPは実際には単なるバスの1つですか。
14. OCPのワードサイズとは何ですか。
15. OCPのワードサイズはどのぐらい大きくできますか。
16. OCPはビッグエンディアンですか、リトルエンディアンですか。
17. ビッグエンディアンのコアをOCPを使用して接続するにはどうすればいいですか。
18. OCP準拠のコアにはどのようなものが利用できますか。
19. OCPブリッジとは何ですか。
20. OCPの仕様はスクラッチパッドRAMに対応していますか。
21. OCPの仕様はトランザクションプロトコルをサポートしていますか。
22. OCP 仕様には、一般的なインターフェース用のテンプレートがありますか。
23. 現在、どのような OCP プロファイルがありますか。
24. OCP では、セキュリティはどのように処理されますか。
25. OCP では、分割クロックがサポートされますか。




1: コアの定義とはどのようなものですか。
A: コアは、プロセッシング機能を提供する半導体コンポーネントです。コアは、他の多くのコアをサブコンポーネントとして含んでいることがあります。ただし、このようなサブコンポーネントのコアには、これより上位のコア内にある他のサブコンポーネントのコア以外によって直接アクセスすることはできません。最後に、コアはPCIやAMBAなどのよく知られたバスへのロジックブリッジとなる場合もあります。

2: OCPとは何ですか。
A: オープンコアプロトコル(OCP)は、効率的で費用のかからないコア接続のための規格です。1つの集積回路上で2つの半導体コアを相互に接続し、合成および製造時に信頼性のある通信を行えるようにします。

3: OCPの構成はどのようなものですか。
A: OCPは、一連のオンチップコアインターフェースの信号をやり取りするプロトコルを規定しています。OCPは、さまざまなコンフィギュレーションを可能にする構造化アーキテクチャを持つ一連のインターフェースです。

4: OCPにはどの程度の柔軟性がありますか。
A: OCPは非常に柔軟性があります。データ信号グループなど、多くのOCP信号グループでは、設計者がそのビット幅を選択することができます。他のグループは完全にオプションになります。したがって、システムオンチップ(SoC)の設計者は、OCPを使用することで、構造化された、ただし自由に構成の可能なインターフェースを得ることができます。

5: OCPはどのようなインターフェースに使用できますか。
A: OCPインターフェースはどのようなインターフェースにも使用することができます。「ユーザーの管理下にある」インターフェースでのみ使用するように設計されているのではありません。実際、OCPインターフェースを「プライベート」なインターフェースとして使用することで、多くの利点が得られます。第1に、「規格」を使用することで、インターフェースの開発や将来のサポートが容易になります。第2に、OCPインターフェースは本質的にコアセントリックとなるように設計されているので、単に特定のIPコアが必要とするOCPの機能だけを使用すればすみます。

6: OCPはどのようにしてアナログ信号を処理しますか。
A: OCPは、デジタルバーチャルコンポーネント用のプロトコル規格です。したがって、デジタル信号のみを扱います。

7: OCPは何か他の言語(SystemC、C++、Fortranなど)で実装されていますか。
A: OCP-IPは、メンバーにとってOCP規格のソケットをSystemCで表現することが重要であることを認識しており、システムレベルデザインワーキングググループを通して適切な対応を行っています。OCP-IPは何千ものTLMを出荷しており、TLM用の業界モデルの共通セットを保守するためにOSCIと連携しています。SystemC OCPのモデルと例は、OCP-IPのWebサイトで入手することができます。また、OCP-IP GSCメンバーであるSonics社はSystemCを使わずにOCPインターフェース用のC++モデルをいくつか開発していますが、われわれが理解するところでは、これらは商業用として使用できる製品ではありません。ただしこの事実は、さまざまな手法でOCP用のCレベルのインターフェースを開発できる可能性を示唆するものです。

8: OCP接続はピアツーピア接続ですか。
A: いいえ、ピアツーピア接続ではありません。OCPは2つのコア間でのマスター/スレーブ接続を提供します。OCPイニシエータコアと呼ばれる一方のコアには、OCPマスターインターフェースが備わっています。マスターインターフェースによってコアは、リードやライトなどのOCPリクエストを生成したり、リードレスポンスを受信したりできます。OCPターゲットコアと呼ばれるもう一方のコアには、OCPスレーブインターフェースが備わり、リクエストを受信したり応答したりできます。このようにOCPは、容易にクライアント/サーバーのモデルに適合し、マスターはクライアントとなり、スレーブはサービスを提供します。

9: 2つのコアがピアツーピア通信を必要とする場合はどうなりますか。
A: この場合には、両方のコアに2つのOCPインターフェース、つまりマスターインターフェースとスレーブインターフェースの両方を提供する必要があります。各コアのマスターはもう一方のコアのスレーブに接続します。

10: OCPインターフェースが2つあるために多くのダイサイズが必要になるということはありませんか。
A: いいえ、ありません。OCPは費用のかからない規格であり、同じ2つのコア間に2つのOCPインターフェースがあっても、実質的に問題となることはありません。

11: OCPインターフェースを備えた2つのコアが通信することはできますか。
A: いいえ、できません。第1に、マスターはスレーブとのみ通信でき、スレーブはマスターとのみ通信できます。第2に、マスターとスレーブは、互換性を保つため「類似した」OCPインターフェースでなければなりません。OCPの仕様に、この「類似」の正確な定義が記載されています。

12: 2つのコアが類似しているが同一ではない場合、OCPインターフェースはどうなりますか。
A: OCPは、よく似た多数のコアを、OCPインターフェースが同一でなくても、相互に接続できるようにするため、さまざまな信号の非公式ルールとプロトコルの動作を挙げています。

13: OCPは実際には単なるバスの1つですか。
A: いいえ、違います。バスは一般的に3つ以上のコアを相互接続します。OCPは2つのコアの間の単純な相互接続です。さらに、バスは大幅な構成変更はできませんが、OCPは変更可能です。さらにコアは、PCIやAMBAなど別のバスへの論理ブリッジとすることもできます。したがって、設計で特定のバスが必要な場合、OCPブリッジがあれば、コアを追加することができます。

14: OCPのワードサイズとは何ですか。
A: OCPインターフェースが1回の操作で転送できるデータビットの最大数が、そのOCPインターフェースのワードサイズと呼ばれています。

15: OCPのワードサイズはどのぐらい大きくできますか。
A: OCPでは、いろいろな幅のデータ転送が選択可能です。現在のところ、8、16、32、64、および128ビットのワードサイズが選択可能です。OCPの仕様のバージョン2.0では、この制限は取り除かれています。バージョン2.0では、OCPのワードサイズの構成を変更することができ、特定範囲の値を使用する必要はありません。

16: OCPはビッグエンディアンですか、リトルエンディアンですか。
A: OCPは、ビットの番号付けに関してはリトルエンディアンですが、アドレス指定に関しては、ほとんどの場合エンディアンはニュートラルな状態となります。ワード全体だけをアドレス指定し、ワード内の各バイトについては、バイトレーンイネーブルを提供しています。したがってアドレスビットは直接バイトレーンには関係しません。このため、ビッグエンディアンまたはリトルエンディアンのいずれのコアについても簡単に適合できます。新しいOCP 2.0の仕様では、このニュートラルというエンディアンの概念をさらに拡張しています。インターフェースはビッグエンディアンでもリトルエンディアンでも表すことができ、またエンディアンにとらわれないもの(どちらでもかまわないメモリーなど)として、あるいはエンディアンプログラマブルなもの(バイトスワッピングのロジックを備えたコアなど)として表すことができます。

17: ビッグエンディアンのコアをOCPを使用して接続するにはどうすればいいですか。
A: コアのネイティブのビッグエンディアン転送ロジックをOCPのリトルエンディアン転送方式に変換する(バイトスワップを行う)小さな論理ブリッジを作成します。

18: OCP準拠のコアにはどのようなものが利用できますか。
A: 準拠コアの数は絶えず増加しています。新しいコアはOCPをネイティブインターフェースとして使用しています。OCP以前のコアはレガシーコアと呼ばれますが、ブリッジ論理を組み込んでOCPインターフェースとして提示することができます。

19: OCPブリッジとは何ですか。
A: ブリッジ論理によってレガシーコアのためのOCPインターフェースを提供するとき、このブリッジ論理をOCPブリッジと呼んでいます。

20: OCPの仕様はスクラッチパッドRAMに対応していますか。
A: スクラッチパッドメモリーの場合には、OCPの基本機能と、「バイトイネーブル」オプションの使用によって構成された非常に単純なOCPインターフェースを使用することができます。スクラッチパッドメモリーではアドレスとデータの幅を正しく設定することも必要になります。このため、スクラッチパッドメモリー用のOCPインターフェースは非常に簡素化でき、また開発期間あるいはハードウェア/ゲートのいずれの点から見ても多くのオーバーヘッドが不要となります。

21: OCPの仕様はトランザクションプロトコルをサポートしていますか。
A: OCPそのものがフル機能の完全なトランザクションプロトコルです。アドレスとデータのバスを使用するとともに、コンフィギュラブルなコントロール/データハンドシェーク信号を完全装備して、すべての種類のポイントツーポイントのデータ転送を処理することが可能です。OCPはただのデータプロトコルではありません。実際にはコアから出力される信号セットの全体を取得する、全ソケットを規定しています。信号、データプロトコル、テスト、コントロール、およびステータスのすべてがOCPソケットの仕様に包含されています。これは業界でも独自な機能です。

22: OCP 仕様には、一般的なインターフェース用のテンプレートがありますか。
A: はい。OCP 2.1 仕様には、さまざまなタイプの IP コア OCP インターフェース用のテンプレート セットが用意されています。このテンプレート セットは、OCP プロファイルに基づいています。これらの各プロファイルには、定義済みの OCP インターフェースと、さまざまな OCP 構成パラメータの設定が含まれています。また、これらの各 OCP プロファイルの実装ガイドラインも用意されています。

23: 現在、どのような OCP プロファイルがありますか。
A: OCP 2.1 仕様には、次の 2 つの OCP プロファイルが用意されています。ネイティブの OCP インターフェースを使用する新しい IP コア用の新しいプロファイルと、OCP とその他のバス プロトコル間のブリッジに使用するブリッジ プロファイルです。新しい OCP プロファイルのセットには、ブロック データ フロー モデル、シーケンシャル不定長データ フロー モデル、およびレジスタ アクセス モデルが含まれています。ブリッジ OCP プロファイルのセットには、単純な H-Bus プロファイル (Amba 用) と、X-Bus パケット書き込みプロファイルおよび X-Bus パケット読み込みプロファイル (AXI 用) が含まれています。

24: OCP では、セキュリティはどのように処理されますか。
A: OCP インターフェースを使用して、システム全体にわたってセキュリティで保護されたドメインを作成することができます。このようなドメインには、CPU、共有メモリ、I/O サブシステムを組み込むことができます。OCP マスタでは、MSecure 信号を使用してセキュリティ アクセス モードを定義すると共に、MConnID を使用してシステム内で要求の特定のターゲットを識別することにより、要求のセキュリティ レベルが決定されます。この MSecure 信号は、MReqInfo 信号のユーザー定義サブネットです。

25: OCP では、分割クロックがサポートされますか。
A: はい。EnableClk クロック信号を使用することで、分割クロックを直接処理することができます。この EnableClk 信号は、Clk 信号のどちらの立ち上がりエッジが OCP クロックの立ち上がりエッジであるかを指定するために使用されます。このクロック周波数の動的な制御を簡単に調整することで、OCP インターフェースの分割クロックを処理することができます。


一般技術 | その他の技術との関連 | 規格のバージョン | バースト | シミュレーションとテスト | スレッドと接続