(57)【要約】【課題】  所望の機能を実現するためのモジュールの組替えに要する時間を削減可能なシステム構築用フレームワーク及び半導体装置を提供する。【解決手段】  機能が同一のインタフェースをそれぞれ備える複数のＩＰモジュールＭ１〜Ｍ５と、インタフェースをそれぞれ介し、複数のＩＰモジュールＭ１〜Ｍ５と接続され、複数のＩＰモジュールＭ１〜Ｍ５間のデータ転送及び複数のＩＰモジュールＭ１〜Ｍ５における処理を制御するマネージャモジュール１０とを備える。【選択図】      図１
2006318305.tif 000002
【特許請求の範囲】
【請求項１】
機能が同一のインタフェースをそれぞれ備える複数のモジュールと、
前記インタフェースをそれぞれ介し、前記複数のモジュールと接続され、前記複数のモジュール間のデータ転送及び前記複数のモジュールにおける処理を制御するマネージャモジュール
とを備えることを特徴とするシステム構築用フレームワーク。  
【請求項２】
前記モジュールは、
前記モジュールの処理を制御するパラメータが記述されたコマンドリスト部と、
前記コマンドリスト部に記述された情報に基づき処理を実行するコア部
とを更に備えることを特徴とする請求項１に記載のシステム構築用フレームワーク。  
【請求項３】
前記コア部は、メモリ及び該メモリから読み出した処理を実行する中央演算処理装置を含む半導体集積回路であることを特徴とする請求項２に記載のシステム構築用フレームワーク。  
【請求項４】
前記マネージャモジュールは、
前記複数のモジュールのコマンドリストの情報を管理するコンフィグレーションマネージャモジュールと、
前記複数のモジュールの処理の実行方法を規定するシーケンスリストを作成するシーケンスマネージャモジュールと、
前記シーケンスリストに登録された前記複数のＩＰモジュールの処理の制御を行うメディアコントロールモジュール
とを備えることを特徴とする請求項１乃至３のいずれか１項に記載のシステム構築用フレームワーク。
【請求項５】
機能が同一のインタフェースをそれぞれ備える複数のモジュールユニットと、
前記インタフェースユニットをそれぞれ介し、前記複数のモジュールユニットと接続され、前記複数のモジュールユニット間のデータ転送及び前記複数のモジュールユニットにおける処理を制御するマネージャモジュールユニット
とを備えることを特徴とする半導体装置。  
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のモジュールの処理を制御して所望の機能を実現するシステム構築用フレームワーク及び半導体装置に関する。
【背景技術】
【０００２】
再生機器、記録機器、画像表示機器等の組み込み機器においては、複数のモジュールを組合せることによって、映像データ、音声データ等の多様な情報を処理するシステム機能を実現している。これらのモジュール（以下において、「ＩＰモジュール」という。）は、それぞれの処理を実現するために、アプリケーション・プログラミング・インタフェース（ＡＰＩ）等のインタフェースを有する。しかし、ＩＰモジュールのインタフェースは統一されていない。そのため、複数のＩＰモジュールの組合せによってシステム機能を実現するために、それぞれのＩＰモジュールに対応してインタフェースを設定する必要がある。そして、インタフェースが互いに接続された複数のＩＰモジュールを制御して所望のシステム機能を実現する（例えば、特許文献１参照。）。所望のシステム機能を実現するために、複数のＩＰモジュールを組み合わせてアプリケーションシステムを構築するための構築基板を、「システム構築用フレームワーク」という。システム構築用フレームワークによるシステム機能の実現は、通常はソフトウェアを用いて行われる。
【０００３】
システム機能を変更するため、或いは新たなシステム機能を実現するために、ＩＰモジュールの組替えが行われる。ここで、「ＩＰモジュールの組替え」とは、「ＩＰモジュールの入替え」、「ＩＰモジュールの処理内容の変更」、「ＩＰモジュールの追加」、「ＩＰモジュールの削除」、「ＩＰモジュールを構成するハードウェアのソフトウェアへの置き換え」等である。そして、追加或いは変更されたＩＰモジュールのインタフェースの接続が新たに行われる。新たなインタフェースの接続によって、システム機能としての動作が影響を受けるため、システム機能を何回も検証する必要が生じる。
【０００４】
又、システム機能に不具合が発生した場合に、ＩＰモジュールが原因なのか、或いはＩＰモジュールを接続したインタフェースが原因なのかを特定しにくい。そのため、開発工数が増加する。又、各ＩＰモジュールの動作は他のＩＰモジュールの動作及び他のＩＰモジュールとのインタフェースに依存する。つまり、ＩＰモジュールの変更によって、他のＩＰモジュールの動作が影響を受ける可能性が非常に高い。したがって、他のＩＰモジュール等との関係を考慮せずにＩＰモジュールを独立して開発することできず、又、独立して開発したＩＰモジュールのシステム動作における動作保証が困難である。更に、他のＩＰモジュール及び他のＩＰモジュールとのインタフェースの依存関係があるため、ＩＰモジュールの再利用が難しい。
【特許文献１】特開２００４−２５９０３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、所望の機能を実現するためのモジュールの組替えに要する時間を削減可能なシステム構築用フレームワーク及び半導体装置を提供する。
【課題を解決するための手段】
【０００６】
本発明の第１の特徴は、（イ）機能が同一のインタフェースをそれぞれ備える複数のモジュールと、（ロ）インタフェースをそれぞれ介し、複数のモジュールと接続され、複数のモジュール間のデータ転送及び複数のモジュールにおける処理を制御するマネージャモジュールとを備えるシステム構築用フレームワークであることを要旨とする。
【０００７】
本発明の第２の特徴は、（イ）機能が同一のインタフェースをそれぞれ備える複数のモジュールユニットと、（ロ）インタフェースユニットを介し、複数のモジュールユニットと接続され、複数のモジュールユニット間のデータ転送及び複数のモジュールユニットにおける処理を制御するマネージャモジュールユニットとを備える半導体装置であることを要旨とする。  
【発明の効果】
【０００８】
本発明によれば、所望の機能を実現するためのモジュールの組替えに要する時間を削減可能なシステム構築用フレームワーク及び半導体装置を提供できる。
【発明を実施するための最良の形態】
【０００９】
次に、図面を参照して、本発明の第１乃至第３の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。又、以下に示す第１乃至第３の実施の形態は、この発明の技術的思想を具体化するための装置や方法を例示するものであって、この発明の技術的思想は、構成部品の構造、配置等を下記のものに特定するものでない。この発明の技術的思想は、特許請求の範囲において、種々の変更を加えることができる。
【００１０】
（第１の実施の形態）
本発明の第１の実施の形態に係るシステム構築用フレームワークは、図１に示すように、機能が同一のインタフェースをそれぞれ備える複数のＩＰモジュールＭ１〜Ｍ５と、インタフェースをそれぞれ介し、複数のＩＰモジュールＭ１〜Ｍ５と接続され、複数のＩＰモジュールＭ１〜Ｍ５間のデータ転送及び複数のＩＰモジュールＭ１〜Ｍ５における処理を制御するマネージャモジュール１０とを備える。図１では、ＩＰモジュールＭ１〜Ｍ５が５個の例を示したが、図１に示したシステム構築用フレームワーク（以下において、単に「フレームワーク」という。）によって実現するシステムに応じて、マネージャモジュール１０に接続するＩＰモジュールの個数が設定される。
【００１１】
図２に示すように、ＩＰモジュールＭ１〜Ｍ５は、それぞれ複数のインタフェース２１１〜２１６を含むインタフェースモジュール２１、コマンドリスト部２２及びコア部２３を有する。インタフェース２１１〜２１６は、図１に示したＩＰモジュールＭ１〜Ｍ５で接続の仕様が同一の共通のインタフェースである。つまり、ＩＰモジュールＭ１〜Ｍ５はそれぞれインタフェース２１１〜２１６を有する。図２ではインタフェース２１１〜２１６が６個の例を示したが、ＩＰモジュールＭ１〜Ｍ５を使用して実現するシステム機能に応じてインタフェースの個数が設定される。インタフェースモジュール２１、コマンドリスト部２２及びコア部２３を用いてＩＰモジュールを構成することを、以下においてＩＰモジュールの「カプセル化」という。
【００１２】
コマンドリスト部２２に、ＩＰモジュールＭ１〜Ｍ５のそれぞれの処理を制御するパラメータ等が記述される。記述されるパラメータ等は、外部から設定可能である。コア部２３は、コマンドリスト部２２に記述された情報に基づき、ハードウェハ或いはソフトウェアによって処理を実行する。例えば、処理する内容が記憶されたメモリと、メモリから読み出した処理を実行する中央演算処理装置（ＣＰＵ）又はデジタル信号処理プロセッサ（ＤＳＰ）等を含む半導体集積回路（ＬＳＩ）を用いて、ＩＰモジュールの機能をハードウェアで実現できる。コア部２３の全ての処理機能をメモリとＣＰＵ又はＤＳＰ等の演算装置からなる半導体集積回路上で実際に動作させる場合には、全てをそのハードウエア環境で動作するソフトウエアで記述する。又、コア部２３の全て又は一部の処理機能をハードウエア化は、既に存在するハードウエア設計資産（ＩＰ）を用いたり、または新たにハードウエア化することで実現できる。つまり、コア部２３には、メモリとＣＰＵ又はＤＳＰ等の汎用の演算装置だけでなく、コア部２３の機能の全て又は一部を持つ特定のハードウエアも含まれる。
【００１３】
なお、ＩＰモジュールＭ１〜Ｍ５とマネージャモジュール１０を接続する接続部２４、及び接続部２５ａ、２５ｂをそれぞれ介して、マネージャモジュール１０によるＩＰモジュールＭ１〜Ｍ５の処理の制御、及びＩＰモジュールＭ１〜Ｍ５間のデータ転送の制御が行われる。具体的には、接続部２４を介してマネージャモジュール１０によるＩＰモジュールＭ１〜Ｍ５の処理の制御が行われる。又、接続部２５ａ、２５ｂを介してマネージャモジュール１０を経由してのＩＰモジュールＭ１〜Ｍ５間のデータ転送が制御される。
【００１４】
マネージャモジュール１０は、図３に示すように、コンフィギュレーションマネージャモジュール１１、シーケンスマネージャモジュール１２及びメディアコントロールマネージャ１３を有する。
【００１５】
コンフィギュレーションマネージャモジュール１１は、所望のシステム機能を実現するためにＩＰモジュールＭ１〜Ｍ５が処理する機能のコマンドの情報を管理する。つまり、コンフィギュレーションマネージャモジュール１１は、マネージャモジュール１０によって制御される全てのＩＰモジュールＭ１〜Ｍ５のコマンドリスト及びコマンドリストにおいて設定されたパラメータ等の設定（コンフィギュレーション）情報を管理する。例えば、スタティック（ｓｔａｔｉｃ）シーケンスパターン、ＩＰモジュールのコマンドリスト、各ＩＰモジュール間の接続可否情報等が管理される。
【００１６】
図４に、コンフィギュレーションマネージャモジュール１１が管理するコンフィギュレーション情報の例を示す。図４の「分類」の欄が「共通」のコマンドは、図１に示したＩＰモジュールＭ１〜Ｍ５で共通のコマンドである。例えば、コマンド「Ｃ０」、「Ｃ１」、「Ｃ２」、「Ｃ３０」、「Ｃ４０」は、ＩＰモジュールＭ１〜Ｍ５のモジュールＩＤ（識別名）、モジュールタイプ、モジュールバージョン、データタイプ、データフォーマットをそれぞれ示す。
【００１７】
一方、図４の「分類」の欄が「固有」のコマンドは、ＩＰモジュールＭ１〜Ｍ５にそれぞれ固有の機能のコマンドである。例えば、コマンド「Ｃ１０００」は、アドバンスド・オーディオ・コーディング（ＡＡＣ）デコーダ設定用コマンドであり、ＡＡＣデコーダ用のＩＰモジュールに記述される。又、コマンド「Ｃ２０００」はハードディスクドライバの設定用コマンド、コマンド「Ｃ３０００」はオーディオドライバの設定用コマンド、コマンド「Ｃ４０００」はオーディオ・データ・トランスポート・ストリーム（ＡＤＴＳ）パーサの設定用コマンドである。コンフィギュレーションマネージャモジュール１１により管理される各コマンドは具体的な値が文字列として格納され、専用のＡＰＩを用いてＩＰモジュールとの文字列（メッセージ）交換が行われる。
【００１８】
シーケンスマネージャモジュール１２は、所望のシステム機能を実現するために、ＩＰモジュールＭ１〜Ｍ５の処理の実行方法を規定するシーケンスパターンを作成する。シーケンスパターンにＩＰモジュールＭ１〜Ｍ５が登録され、ＩＰモジュールＭ１〜Ｍ５の処理を実行する順序等が規定される。又、シーケンスマネージャモジュール１２は、実現したいアプリケーションの要求や、実現したいシステム機能に応じてｓｔａｔｉｃシーケンスパターンの選択や実行時のシーケンスパターンの調整を行い、最適なシーケンスパターンを作成することもできる。
【００１９】
図５(ａ）及び図５（ｂ）に、シーケンスパターンの例を示す。図５(ａ）は、４つのＩＰモジュール領域Ｒ１〜Ｒ４によりシーケンスパターンが作成された例である。ＩＰモジュール領域Ｒ１〜Ｒ４にそれぞれＩＰモジュールを登録することにより、所望のシステム機能を実現できる。つまり、ＩＰモジュール領域Ｒ１〜Ｒ４に登録されたＩＰモジュールが順次実行され、所望のシステム機能が実現される。例えば、ＩＰモジュール領域Ｒ１〜Ｒ４にそれぞれＩＰモジュールＭ１〜Ｍ４が登録されたとする。ＩＰモジュールＭ１〜Ｍ４間で転送されるデータ量は、ＩＰモジュールＭ１〜Ｍ４でそれぞれ処理可能なデータ量の状況等に応じて調整される。シーケンスパターンに登録されたＩＰモジュールＭ１〜Ｍ４のデータ量の制御及び処理の制御は、後述するメディアコントロールマネージャ１３によって行われる。
【００２０】
図５（ｂ）は、７つのＩＰモジュール領域Ｒ１０〜Ｒ３、Ｒ２１〜Ｒ２３によりシーケンスパターンが作成された例である。図５（ｂ）に示したシーケンスパターンは、ＩＰモジュール領域Ｒ１０に登録されたＩＰモジュールにおける処理後、データ処理の流れが分岐する。一方のデータ処理は、ＩＰモジュール領域Ｒ１１〜Ｒ１３に登録されたＩＰモジュールで行われる。他方のデータ処理は、ＩＰモジュール領域Ｒ２１〜Ｒ２３に登録されたＩＰモジュールで行われる。
【００２１】
ＩＰモジュール領域Ｒ１〜Ｒ４及びＩＰモジュール領域Ｒ１０〜Ｒ３、Ｒ２１〜Ｒ２３に登録されたＩＰモジュール間で転送されるデータ量の制御、及び登録されたＩＰモジュールにおける処理の制御は、それぞれ具体的なモデルパターンとしてシーケンスパターンに記述される。図５(ａ）及び図５（ｂ）において、ハッチング表示は、メディアコントロールマネージャ１３によるＩＰモジュール間で転送されるデータ量の制御の存在を示し、「○」表示は、メディアコントロールマネージャ１３による各ＩＰモジュールにおける処理の制御の存在を示している（以下において同様。）。
【００２２】
メディアコントロールマネージャ１３は、シーケンスマネージャモジュール１２によって作成されたシーケンスパターンに登録されたＩＰモジュールの制御を行う。具体的には、シーケンスマネージャモジュール１２によって作成されたシーケンスパターンがメディアコントロールマネージャ１３に実装され、メディアコントロールマネージャ１３は、シーケンスパターンに登録されたＩＰモジュールの初期化及びプロパティ情報の取得や設定を行う。更にメディアコントロールマネージャ１３は、ＩＰモジュールの処理制御、及びＩＰモジュール間のデータを制御する。ＩＰモジュールの初期化及びプロパティ情報の取得や設定を行うことを、以下においてＩＰモジュールの「実体を生成する」という。実体を生成することによって、ＩＰモジュールが使用する作業用のメモリ領域が確保される等、ＩＰモジュールが処理を行える環境が設定される。
【００２３】
以下に、図１に示したフレームワークを用いてアプリケーションシステムを構築する例を説明する。以下の説明では、「ハードディスクドライブ（ＨＤＤ）に格納された音楽コンテンツ（ＡＤＴＳフォーマットのＡＡＣ圧縮データ）をスピーカから出力するオーディオプレイヤーシステム機能」を構築する場合を例示的に説明する。図６は、マネージャモジュール１０によるＩＰモジュールＭ１〜Ｍ４の制御を示した図である。即ち、図３のコンフィギュレーションマネージャモジュール１１に格納されたＩＰモジュールＭ１〜Ｍ４のコマンドリストＣＬ１〜ＣＬ４に基づき、メディアコントロールマネージャ１３がシーケンスパターンＳＰ１のＩＰモジュール領域Ｒ１〜Ｒ４に登録されたＩＰモジュールＭ１〜Ｍ４を制御する。図６に示したメディアコントロールマネージャ１３からシーケンスパターンＳＰ１に向かう矢印のうち、実線の矢印はメディアコントロールマネージャ１３によるＩＰモジュールＭ１〜Ｍ４の処理の制御、破線の矢印はＩＰモジュールＭ１〜Ｍ４間のデータ転送の制御を示す（以下において同様）。ＩＰモジュールＭ１〜Ｍ４は、所望のシステム機能を実現するためにフレームワークが定義したコマンドリストと、そのコマンドリストの処理機能を有するコアＩＰが、カプセル化されたバイナリモジュールとして作成される。
【００２４】
ＩＰモジュールＭ１〜Ｍ４の構成例を図７〜図１０にそれぞれ示す。図７に示すＩＰモジュールＭ１は、「ＨＤＤから音楽コンテンツを取得するコアＩＰ」をコア部２３に備えるＩＰモジュールである。コマンドリスト部２２に、コア部２３の処理を制御するコマンドＣ０〜Ｃ２０００が格納される。又、インタフェースモジュール２１は、以下に説明するインタフェース２１１〜２１６で構成される。
【００２５】
図７に示しように、インタフェース２１１は、ＩＰモジュールＭ１のコア部２３をマネージャモジュール１０に接続（リンク）するために使用されるクエリィインタフェース（QueryInterface()）である。インタフェース２１２は、ＩＰモジュールＭ１の実体を生成するために使用されるオープンインタフェース（Open()）である。インタフェース２１３は、ＩＰモジュールＭ１における処理を、コマンド及びコマンドに対応する文字列（メッセージ）によって制御するプロパティインタフェース（Property()）である。インタフェース２１４は、マネージャモジュール１０を介して行われるＩＰモジュールＭ１と他のＩＰモジュール間のデータ転送を制御するトランスレイトインタフェース（TranslateData()）である。インタフェース２１５は、シーケンスパターンに登録されたＩＰモジュールＭ１をフレームワークから削除するために使用されるクローズインタフェース（Close()）である。インタフェース２１６は、ＩＰモジュールＭ１からコールバックがあった場合に、コールバックの処理内容をマネージャモジュール１０に登録するコールバックインタフェース（CallbackHandler()）である。「コールバック」とは、マネージャモジュール１０の制御に応じて実行しようとした処理が実行困難な場合等に、ＩＰモジュールＭ１がマネージャモジュール１０に対する要求を送る処理である。
【００２６】
図８に示すＩＰモジュールＭ２は、「取得した音楽コンテンツの情報解析とＡＣＣ圧縮データの分離を行うコアＩＰ」をコア部２３に備えるＩＰモジュールである。コマンドリスト部２２に、コア部２３の処理を制御するコマンドＣ０〜Ｃ４０００が格納される。インタフェースモジュール２１は、ＩＰモジュールＭ１と同一である共通のインタフェース２１１〜２１６で構成される。  
図９に示すＩＰモジュールＭ３は、「ＡＣＣ圧縮データをパルス符号変調（ＰＣＭ）データに伸長するコアＩＰ」をコア部２３に備えるＩＰモジュールである。コマンドリスト部２２に、コア部２３の処理を制御するコマンドＣ０〜Ｃ１０００が格納される。インタフェースモジュール２１は、ＩＰモジュールＭ１と同一である共通のインタフェース２１１〜２１６で構成される。  
図１０に示すＩＰモジュールＭ４は、「ＰＣＭデータをスピーカに出力するコアＩＰ」をコア部２３に備えるＩＰモジュールである。コマンドリスト部２２に、コア部２３の処理を制御するコマンドＣ０〜Ｃ３０００が格納される。インタフェースモジュール２１は、ＩＰモジュールＭ１と同一である共通のインタフェース２１１〜２１６で構成される。
【００２７】
次に、図１に示したフレームワークによりシステム機能を構築する方法を、図１１のフローチャートを用いて説明する。以下では、上記で説明したＩＰモジュールＭ１〜Ｍ４を用いて、「ＨＤＤに格納された音楽コンテンツ（ＡＤＴＳフォーマットのＡＡＣ圧縮データ）をスピーカから出力するオーディオプレイヤーシステム機能」を構築する場合を例示的に説明する。
【００２８】
（イ）ステップＳ１１において、フレームワークにＩＰモジュールＭ１〜Ｍ４が登録される。即ち、クエリィインタフェースを使用して、図１２に示すようにマネージャモジュール１０にＩＰモジュールＭ１〜Ｍ４が接続される。
【００２９】
（ロ）ステップＳ１２において、オープンインタフェースを使用してマネージャモジュール１０がＩＰモジュールＭ１〜Ｍ４を初期化し、ＩＰモジュールＭ１〜Ｍ４の実体を生成する。
【００３０】
（ハ）ステップＳ１３において、マネージャモジュール１０がシーケンスパターンを作成する。次いで、ステップＳ１４において、マネージャモジュール１０がプロパティインタフェース及びトランスレイトインタフェースを使用して、ＩＰモジュールＭ１〜Ｍ４の処理を制御する。このとき、図１３に示したように、接続部２４を介して、プロパティインタフェースによってマネージャモジュール１０によるＩＰモジュールＭ１〜Ｍ４の処理の制御が行われる。図１３において、接続部２４とモジュールマネージャ１０をつなぐ矢印がプロパティインタフェースによる処理の制御を示す。又、接続部２５ａ、２５ｂを介して、トランスレイトインタフェースによってマネージャモジュール１０を経由するＩＰモジュールＭ１〜Ｍ４間のデータ転送が制御される。図１３に示したように、ＩＰモジュールＭ１に入力されたコンテンツデータＤＣが、ＩＰモジュールＭ１〜Ｍ４の順に処理される。そして、オーディオデータＤＡがＩＰモジュールＭ４から出力される。即ち、ＩＰモジュールＭ３から出力されたＰＣＭデータがスピーカから出力される。
【００３１】
（ニ）ステップＳ１４において、ＩＰモジュールＭ１〜Ｍ４をフレームワークから削除する。即ち、図１４に示すように、クローズインタフェースを利用して、マネージャモジュール１０がＩＰモジュールＭ１〜Ｍ４の実体をフレームワークから削除する。例えば、ＩＰモジュールＭ１〜Ｍ４が使用していたメモリ領域を開放する。
【００３２】
上記に説明したオーディオプレイヤーシステム機能をメディアコントロールマネージャ１３によって制御するフレームワークの構成を図１５に示す。図１５は、シーケンスパターンＳＰ１のＩＰモジュール領域Ｒ１〜Ｒ４にＩＰモジュールＭ１〜Ｍ４が登録され、ＩＰモジュールＭ１〜Ｍ４がメディアコントロールマネージャ１３によって制御される構成を示す。図１５に示すように、ＨＤＤ５０に格納されたコンテンツデータＤＣが、ＩＰモジュールＭ１〜Ｍ４の順に処理され、オーディオデータＤＡとしてスピーカ６０に出力される。
【００３３】
又、図１に示したフレームワークによりシステム機能を構築する場合、コールバックインタフェースの代わりに、インタフェース２１３とインタフェース２１４の機能を持たせたインタフェースを有するコールバック関数を追加することも可能である。「コールバック関数」は、ＩＰマネージャがマネージャモジュールに対して要求を行うインタフェースとして使用される。例えば、ＩＰモジュールＭ３のＡＣＣデコーダが処理するデータが不足している場合、データを要求する処理を行うようにメディアコントロールマネージャ１３に要求するために、コールバック関数は使用される。コールバック関数を利用する場合は、インタフェース２１３によりコールバック関数をマネージャモジュール１０に登録することで、コールバックを制御することができる。
【００３４】
図１６に、コールバック関数を用いた場合のフレームワーク構成を示す。図１６に示したインタフェースＣＢは、図１５に示したＩＰモジュールＭ３のインタフェース２１３とインタフェース２１４の機能を持たせることにより、コールバックの機能を実現したインタフェースである。図１６に示したメディアコントロールマネージャ１３とシーケンスパターンＳＰ１をつなぐ一点鎖線の矢印は、ＩＰモジュールＭ１からメディアコントロールマネージャ１３への要求を示す（以下において同様）。
【００３５】
コマンドリストとシーケンスパターンを整備することにより、上記で説明したオーディオプレイヤーシステム機能を実現する方法と同様にして、ビデオプレイヤーや、オーディオデータとビデオデータが含まれたコンテンツのプレイヤー等を実現することができる。更に、各種プレイヤー、ビューア（画像表示機能）及びそれらを組み合わせた機能も、シーケンスパターンを定義することにより、上記で説明した方法と同様にして実現できる。
【００３６】
例えば、図１７に、ＭＰ４プレイヤー機能を実現するフレームワークの構成を示す。「ＭＰ４プレイヤー機能」は、オーディオデータをＡＡＣ形式で圧縮し、ビデオデータをモーション・ピクチャ・エキスパーツ・グループ４（ＭＰＥＧ４）ビデオ形式で圧縮し、更にＭＰ４形式でそれらを多重化したコンテンツをスピーカ等で再生する機能である。
【００３７】
図１７に示したフレームワークは、ＭＰ４プレイヤー機能を実現するシーケンスパターンＳＰ２、シーケンスパターンＳＰ２に登録されるＩＰモジュールＭ１０〜Ｍ１４、及びＭ２１〜Ｍ２４のコマンドリスト、及びシーケンスパターン及びコマンドリストを用いてＩＰモジュールを制御するメディアコントロールマネージャ１３を有する。
【００３８】
図１７に示したシーケンスパターンＳＰ２のＩＰモジュール領域Ｒ１０に登録されたＩＰモジュールＭ１０は、ＭＰ４形式で多重化されたコンテンツをオーディオデータとビデオデータに分割する機能（MP4 Demuxer）を有する。即ち、ＩＰモジュールＭ１０は、入力されたコンテンツデータＤＣをＡＡＣ形式で圧縮されたオーディオデータとＭＰＥＧ４ビデオ形式で圧縮されたビデオデータに分離するコアＩＰ、及びコアＩＰの処理を制御するコマンドリストを有する。その後、分離されたオーディオデータとビデオデータは別々に処理されるため、シーケンスパターンは２つの処理に分岐する。
【００３９】
ビデオデータを処理するために、ＩＰモジュールＭ１１〜Ｍ１４の順にＩＰモジュールが接続される。つまり、図１７に示したＩＰモジュール領域Ｒ１１〜Ｒ１４にＩＰモジュールＭ１１〜Ｍ１４がそれぞれ登録される。
【００４０】
ＩＰモジュールＭ１１は、ＭＰＥＧ４ビデオ形式で圧縮されたビデオデータをデコードするために必要な情報を解析する機能（M4V Parser）を有する。ＩＰモジュールＭ１２は、ＩＰモジュールＭ１１で解析された情報に基づき、ＭＰＥＧ４ビデオ形式で圧縮されたビデオデータをデコードする機能（M4V Decoder）を有する。ＩＰモジュールＭ１３は、デコードされたビデオデータをＩＰモジュールＭ１４のビデオドライバに転送するまでの間、ビデオデータを蓄える機能（Video Rendere）を有する。ＩＰモジュールＭ１４はディスプレー７０にデコードされたビデオデータＤＶを表示する機能（Video Driver）を有する。
【００４１】
一方、オーディオデータを処理するために、ＩＰモジュールＭ２１〜Ｍ２４の順にＩＰモジュールが接続される。つまり、図１７に示したＩＰモジュール領域Ｒ２１〜Ｒ２４にＩＰモジュールＭ２１〜Ｍ２４がそれぞれ登録される。
【００４２】
ＩＰモジュールＭ２１は、ＡＡＣ形式で圧縮されたオーディオデータをデコードするために必要な情報を解析する機能（ADTS Parser）を有する。ＩＰモジュールＭ２２は、ＩＰモジュールＭ２１で解析された情報に基づき、ＡＡＣ形式で圧縮されたオーディオデータをデコードする機能（AAC Decoder）を有する。ＩＰモジュールＭ２３は、デコードされたオーディオデータをＩＰモジュールＭ２４のオーディオドライバに転送するまでの間、オーディオデータを蓄える機能（Audio Renderer）を有する。ＩＰモジュールＭ２４はスピーカ６０にデコードされたオーディオデータＤＡを出力する機能（Audio Decoder）を有する。ＩＰモジュールＭ１４から出力されたオーディオデータＤＡはスピーカ６０から出力される。なお、ストリーム信号としてコンテンツデータＤＣをＩＰモジュールＭ１に直接入力してもよいし、ストリーム信号を入力する機能を有するＩＰモジュールを図１７に示したフレームワークに登録して、コンテンツデータＤＣをＩＰモジュールＭ１に入力してもよい。
【００４３】
図１８に、コールバック関数を用いた場合のフレームワークの構成を示す。図１８に示したインタフェースＣＢは、図１７に示したＩＰモジュールＭ１２のインタフェース２１３とインタフェース２１４の機能を持たせることにより、コールバックの機能を実現したインタフェースである。
【００４４】
図１に示したフレームワークは統一されたインタフェースとコマンド体系を持つことから、複数のシーケンスパターンでIPモジュールを再利用することが可能となる。例えば図１９に示すように、モジュールマネージャ１０Ａに登録されるＩＰモジュールＭ１〜Ｍ４のうち、ＩＰマネージャＭ３及びＭ４を、ＩＰモジュールＭ５が登録されたモジュールマネージャ１０Ｂにも登録することができる。つまり、モジュールマネージャ１０Ａと異なるシステム機能を実現するモジュールマネージャ１０Ｂに、ＩＰマネージャＭ３及びＭ４を登録することができる。
【００４５】
更に、各ＩＰモジュールにおける処理の制御は、統一された１つのインタフェースによるコマンドリストに基づいた文字列により行われる。そのため、各ＩＰモジュールのコアＩＰの機能追加・削除等による変更に対して、コマンドリストの修正を行うだけで対応可能である。その結果、ＩＰモジュールのコアＩＰの変更によるシステム全体に与える影響を減少させることができる。例えば図２０に示すＩＰモジュールＭ２のコアＩＰを変更し、ＩＰモジュールＭ２のコマンドリストＣＬ１がコマンドリストＣＬ２に変更された場合を考える。その場合、ＩＰモジュールＭ２が登録されたマネージャモジュール１０に定義されたコマンドリストのうち、コマンドリストＣＬ１の部分をコマンドリストＣＬ２に変更することによって、ＩＰモジュールＭ２のコアＩＰの変更に対応できる。つまり、ＩＰモジュールＭ２のコアＩＰの変更によるシステム全体に与える影響を、限りなく小さくすることができる。
【００４６】
又、既に述べたようにＩＰモジュールのコアＩＰの機能は、コマンドをレジスタ等に対応させることによってハードウェアで実行してもよい。つまり、ＩＰモジュールのコアＩＰはソフトウェアでもハードウェアでもよい。したがって、ＩＰモジュールのコアＩＰが、異なる開発者によって開発されていたり、異なるアルゴリズムで書かれていたとしても、ＩＰモジュール化することによって、フレームワークに登録された他のＩＰモジュールと置き換え可能である。例えば図２１に示すように、マネージャモジュール１０に登録されているＩＰモジュールＭ２をＩＰモジュールＭ２ａで置き換える場合、ＩＰモジュールＭ２ａのコアＩＰがソフトウェアであっても、或いはハードウェアであっても、システム全体に影響を与えることがない。
【００４７】
以上に説明したように、図１に示した本発明の第１の実施の形態に係るシステム構築用フレームワークでは、データ、映像（静止画又は動画）、及び音声等の多様な情報を取り扱うシステム機能を、同一のインタフェースを有するＩＰモジュールＭ１〜Ｍ５をマネージャモジュール１０に登録することにより実現可能である。そのため、各ＩＰモジュールＭ１〜Ｍ５は、他のＩＰモジュールとのインタフェースを考慮しなくてよく、それぞれ独立して開発することができる。そして、独立して開発及び検証されたＩＰモジュールをフレームワークに登録することにより、システム全体としての検証の時間を短縮できる。又、ＩＰモジュールの変更或いは再利用が容易である。つまり、図１に示したフレームワークでは、所望の機能を実現するためのＩＰモジュールの組替えに要する時間を削減することができる。その結果、所望の機能を有するシステムを開発する時間を削減することができる。
【００４８】
（第２の実施の形態）
本発明の第２の実施の形態に係るシステム構築用フレームワークでは、組込みプラットフォームを用いてシステム機能を実現する。第１の実施の形態と実質的に同様な部分は、以下で重複した記載を省略する。
【００４９】
第１の実施の形態で説明したフレームワークは、プレイヤー、レコーダ、ビューア等の特定の機能を持つフレームワーク単位、又は、ＩＰモジュール、マネージャモジュールのモジュール単位で、異なるハードウェア上で動作させることができる。
【００５０】
図２２は、マネージャモジュール１０のＩＰモジュール領域Ｒ１〜Ｒ８にＩＰモジュールＭ１〜Ｍ８をそれぞれ登録することにより実現されるシステム機能が、複数のハードウェハ上で動作する例を示す。図２２に示すマネージャモジュール１０及びＩＰモジュールＭ１、Ｍ７の機能は、マイクロプロセッシングユニット（ＭＰＵ）１０１上で動作する。ＩＰモジュールＭ２、Ｍ３の機能はＭＰＵ１０２上で動作する。ＩＰモジュールＭ４の機能はＭＰＵ１０３上で動作する。更に、ＩＰモジュールＭ８の機能はＭＰＵ１０４上で動作する。ＭＰＵ１０１〜１０４は同一ＬＳＩ上に形成されてもよいし、複数のＬＳＩ上にそれぞれ形成されてもよい、又、ＩＰモジュールＭ５、Ｍ６の機能は、それぞれ処理装置１１１、１１２上で動作する。処理装置１１１、１１２は、例えばオーディオインタフェースやビデオデータのアクセラレータ等である。ＭＰＵ１０１〜１０４、及び処理装置１１１、１１２は、組込みプラットフォーム１００に実装される。
【００５１】
以下に、ホスト・システムＬＳＩと２つのコンパニオンチップで構成される組込みプラットフォームによってシステム機能を実現する例を説明する。図２３に、コンパニオンチップ１２１上で「ＡＡＣ録音（AAC Recorder）」システムが動作し、コンパニオンチップ１２２上で「ＡＡＣ再生(AAC Player)」システムが動作する録音・再生システム１３０を構築する例を示す。「ＡＡＣ録音」システムはＡＡＣ形式で圧縮されたデータの録音システム、「ＡＡＣ再生」システムはＡＡＣ形式で圧縮されたデータの再生システムである。録音・再生システム１３０は、ホスト・システムＬＳＩ１２０上で動作する。コンパニオンチップ１２１、１２２及びホスト・システムＬＳＩ１２０は、組込みプラットフォーム１００Ａに実装される。
【００５２】
第１の実施の形態で説明したフレームワークを用いて、コンパニオンチップ１２１及び１２２上に、「ＡＡＣ録音」システム及び「ＡＡＣ再生」システムをそれぞれ構築する。そして、「ＡＡＣ録音」システムの機能をコアＩＰとし、そのコアＩＰ及びコアＩＰの設定情報や処理内容をコマンド体系に表したコマンドリストをカプセル化したＩＰモジュールＭ１２１を作成する。又、「ＡＡＣ再生」システムの機能をコアＩＰとし、そのコアＩＰ及びコアＩＰの設定情報や処理内容をコマンド体系に表したコマンドリストをカプセル化したＩＰモジュールＭ１２２を作成する。
【００５３】
更に、「ＡＡＣ録音」システム及び「ＡＡＣ再生」システムとホスト・システムＬＳＩ１２０と間のコミュニケーションをそれぞれ行うＩＰモジュールＭ１２３及びＭ１２４を作成する。ＩＰモジュールＭ１２３は、「ＡＡＣ録音」システムとホスト・システムＬＳＩ１１０と間のコミュニケーションを行うドライバをコアＩＰとし、そのコアＩＰ及びコアＩＰのコマンドリストをカプセル化したＩＰモジュールである。ＩＰモジュールＭ１２４は、「ＡＡＣ再生」システムとホスト・システムＬＳＩ１１０と間のコミュニケーションを行うドライバをコアＩＰとし、そのコアＩＰ及びコアＩＰのコマンドリストをカプセル化したＩＰモジュールである。
【００５４】
又、「ＡＡＣ録音」システム及び「ＡＡＣ再生」システム間でデータ転送を行いたい場合には、データ転送用のＩＰモジュールＭ１２５を作成する。そして「ＡＡＣ録音」システム及び「ＡＡＣ再生」システムの情報やデータのやり取りを録音・再生システム１３０のシーケンスパターンとして作成する。そして、ＩＰモジュールＭ１２１〜Ｍ１２５を、録音・再生システム１３０のシーケンスパターンに登録することにより、録音・再生システム機能をホスト・システムＬＳＩ１２０上で動作させることができる。
【００５５】
なお、上記で説明した録音・再生システム機能を３つのプラットフォーム上で実現することも可能である。例えば、図２４に示すように、システムＬＳＩ１４１上にＩＰモジュールＭ１２１を、システムＬＳＩ１４２上にＩＰモジュールＭ１２１をそれぞれ構築する。更に、ＩＰモジュールＭ１２３〜Ｍ１２５をシステムＬＳＩ１４０上に構築する。システムＬＳＩ１４０〜１４２は、それぞれ組込みプラットフォーム１５０〜１５２に実装される。そして、上記に説明した方法と同様にして、システムＬＳＩ１４０とシステムＬＳＩ１４１間の通信手段１６１、及びシステムＬＳＩ１４０とシステムＬＳＩ１４２間の通信手段１６２をＩＰモジュール化することにより、録音・再生システム機能を実現できる。ここで、通信手段は、ペリフェラル・コンポーネント・インターコネクト（ＰＣＩ）バスやネットワークバス等である。
【００５６】
以上に説明したように、本発明の第２の実施の形態に係るシステム構築用フレームワークによれば、組込みプラットフォームを用いてハードウェア上にシステム機能を実現することができる。つまり、ＩＰモジュールを構築することが可能な既存のハードウェアが存在する場合に、コアＩＰの処理をハードウェアにより実行させる。その結果、所望のシステム機能を実現するフレームワークを開発する時間を削減することができる。
【００５７】
（第３の実施の形態）
上記に説明したように、第２の実施の形態では、既存のハードウェアを用いて所望のシステム機能の実現することを考慮して、各ＩＰモジュールのコアＩＰをソフトウェアで実現するか、或いはハードウェアで実現するかを選択する場合を説明した。本発明の第３の実施の形態に係るシステム構築用フレームワークは、フレームワークの構成に合わせてハードウェアを構築する。つまり、フレームワークのマネージャモジュール及びＩＰモジュールに最適なハードウェアユニットを構築することによって、実現したいシステム機能のフレームワークを半導体装置（フレームワークハードウェアユニット）として実現する。以下に、フレームワークハードウェアユニットの構成を、図２５〜３１を用いて説明する。
【００５８】
図２５に、ＩＰモジュールをハードウェア化したＩＰモジュールユニット３００の構造を示す。ＩＰモジュールユニット３００は、図２５に示すように、ハードウェアＩＰユニット３１０及びコミュニケーションインタフェースユニット（以下において、「ＣＩＦユニット」という。）３２０を有する。
【００５９】
ハードウェアＩＰユニット３１０は、ＩＰモジュールにおけるコア部２３の機能をハードウェア化したものである。コアＩＰにおける処理をソフトウェアによる制御で実行する場合には、ハードウェアＩＰユニット３１０は、例えば図２６(ａ）に示すように、メモリユニット３１１及びＣＰＵユニット３１２で構成される。メモリユニット３１１は、ＩＰモジュールユニット３００の処理を実行する書き換え可能なプログラムと、プログラムが利用するバッファを格納する。ＣＰＵユニット３１２は、ＩＰモジュールユニット３００の処理を実行するプログラムを動作させる。メモリユニット３１１及びＣＰＵユニット３１２は、システムに要求される性能、コスト、チップサイズ等の条件によって選択される。一方、コアＩＰにおける処理をハードウェア上で実行する場合には、ハードウェアＩＰユニット３１０は、例えば図２６（ｂ）に示すハードウェアコアＩＰユニット３２３として構成される。ハードウェアコアＩＰユニット３２３は、ＩＰモジュールをハードウェアロジックで実装したユニットである。
【００６０】
ＣＩＦユニット３２０は、ＩＰモジュールにおけるインタフェースモジュール２１とコマンドリスト部２２をハードウェア化したものである。ＣＩＦユニット３２０は、図２７に示すように、メモリユニット３２１とＩＰモジュールインタフェースロジックユニット３２２から構成される。メモリユニット３２１は、コマンドパラメータが書き換え可能な状態で保持される。ＩＰモジュールインタフェースロジックユニット３２２は、ＩＰモジュールのインタフェースロジックをハードウェアで実装したユニットである。
【００６１】
又、図２５に示したように、ＩＰモジュールユニット３００は、モジュールマネージャの機能を持つハードウェアユニットとコマンドのやりとりを行うコマンド線３３０とデータの送受信を行うデータ転送線３４０を備える。
【００６２】
図２８に、マネージャモジュールをハードウェア化したマネージャモジュールユニット４００の構造の例を示す。図２８に示すように、マネージャモジュールユニット４００は、コンフィギュレーションＩＰユニット４１０、シーケンスＩＰユニット４２０、メディアコントローラＩＰユニット４３０、及びＣＩＦユニット４３０ａ〜４３０ｄによって構成される。コンフィギュレーションＩＰユニット４１０は、コンフィギュレーションモジュールに相当し、シーケンスＩＰユニット４２０やメディアコントローラＩＰユニット４３０を管理して、設定やシステムとしてのインタフェース機能を実現するユニットである。コンフィギュレーションＩＰユニット４１０は、例えば図２９に示すように、メモリユニット４１１及びＣＰＵユニット４１２により構成される。シーケンスＩＰユニット４２０は、シーケンスマネージャモジュールに相当し、シーケンスパターンをユニット接続パターンとして実現したハードウェアユニット（シーケンスパターンロジックユニット）である。メディアコントローラＩＰユニット４３０は、シーケンスパターンに応じた制御ロジックユニットである。ロジックをソフトウェアによる制御で実行する場合は、図３０(ａ）に示すように、メディアコントローラＩＰユニット４３０はメモリユニット４３１及びＣＰＵユニット４３２により構成される。ロジックをハードウェア上で動作させる場合は、図３０（ｂ）に示すように、メディアコントローラＩＰユニット４３０はロジックをそのままハードウェア化したユニット（シーケンス制御ロジックＩＰユニット）として構成される。ＣＩＦユニット４３０ａ〜４３０ｄは、図２７に示したＩＰモジュールユニット３００のＣＩＦユニット３２０と同様のハードウェア構成である。
【００６３】
図２８に示したように、マネージャモジュールユニット４００は、ＩＰモジュールユニット３００とコマンドのやりとりを行うコマンド線３３０ａ〜３３０ｄと、データの送受信を行うデータ転送線３４０ａ〜３４０ｄを備える。図２８では、ＣＩＦユニット４３０ａ〜４３０ｄが４つの例を示したが、マネージャモジュールユニット４００に接続するＩＰモジュールユニット３００の数に応じて、ＣＩＦユニット４３０ａ〜４３０ｄ、コマンド線３３０ａ〜３３０ｄ及びデータ転送線３４０ａ〜３４０ｄの数が設定される。
【００６４】
更に、図２８に示したマネージャモジュールユニット４００は、ＣＩＦユニット４４１、コマンド線３３１及びデータ転送線３４１を備える。ＣＩＦユニット４４１、コマンド線３３１及びデータ転送線３４１は、マネージャモジュールユニット４００がＩＰモジュールユニットとして使用される場合に、マネージャモジュールユニット４００が接続する他のマネージャモジュールとのコマンドのやりとりやデータの送受信に使用される。
【００６５】
図２５に示したＩＰモジュールユニット３００、及び図２８に示したマネージャモジュールユニット４００によって構成されるフレームワークを組み込むことにより、所望のシステム機能を実現するハードウェアユニットを構成することができる。例えば、図３１に、ＩＰモジュールユニット３００ａ〜３００ｄ及びマネージャモジュールユニット４００によって構成されたハードウェアユニットの例を示す。図３１に示すように、ＩＰモジュールユニット３００ａ〜３００ｄは、コマンド線３３０ａ〜３３０ｄ及びデータ転送線３４０ａ〜３４０ｄによりマネージャモジュールユニット４００に接続されている。構成したハードウェアユニットはシステムＬＳＩ等のハードウェアに実装することができる。即ち、機能が同一のインタフェースＣＩＦユニット３２０ａ〜３２０ｄをそれぞれ備えるＩＰモジュールユニット３００ａ〜３００ｄと、ＣＩＦユニット３２０ａ〜３２０ｄを介し、ＩＰモジュールユニット３００ａ〜３００ｄと接続され、ＩＰモジュールユニット３００ａ〜３００ｄ間のデータ転送及びＩＰモジュールユニット３００ａ〜３００ｄにおける処理を制御するマネージャモジュールユニット４００とを備える半導体装置を実現できる。
【００６６】
図３２に、デジタルカメラ及びマイクから取込まれた映像及び音声に対する録音・再生システムを実現するフレームワークをハードウェア化したフレームワークハードウェアユニットの例を示す。図３２に示したフレームワークハードウェアユニットは、ＭＰ４レコーダ機能及びＭＰ４プレイヤー機能を実現する。ＭＰ４レコーダ機能は、オーディオデータをＡＡＣ形式で、ビデオデータをＭＰＥＧ４ビデオ形式でそれぞれ圧縮し、更にＭＰ４形式でそれらを多重化したコンテンツとしてＨＤＤ格納する機能である。ＭＰ４プレイヤー機能は、ＭＰ４レコーダ機能により格納されたコンテンツを多重分離し再生する機能である。
【００６７】
図３２に示したマネージャモジュールユニット４００は、コンフィギュレーションＩＰユニット４１０としてＭＰ４システムアプリケーションインタフェースユニットを有する。更に、シーケンスＩＰユニット４２０及びメディアコントローラＩＰユニット４３０として、それぞれＭＰ４録音再生シーケンスユニット及びＭＰ４録音再生コントローラユニットを有する。又、図３２に示したフレームワークハードウェアユニットは、ＩＰモジュールユニット３００ａ〜３００ｊを有する。ＩＰモジュールユニット３００ａ〜３００ｊは、「オーディデータ入出力（Audio In/Out）」ユニット、「ビデオデータ入出力（Video In/Out）」ユニット、「カメラデータ入出力（Camera In/Out）」ユニット、「ＡＡＣ形式データエンコーダ（AAC Encoder）」ユニット、「ハードディスクドライブ（HDD）」ユニット、「ＭＰ４データマルチプレクサ（MP4 Multiplexer）」ユニット、「ＭＰ４データデマルチプレクサ（MP4 De-Multiplexer）」ユニット、「ＡＡＣ形式データデコーダ（AAC Decoder）」ユニット、「ＭＰＥＧ４ビデオデータデコーダ（MPEG4 Video Decoder）」ユニット、「ＭＰＥＧ４ビデオエンコーダ（MPEG4 Video Encoder）」ユニットを、それぞれハードウェアＩＰユニット３１０として有する。ＩＰモジュールユニット３００ａ〜３００ｊは、コマンド線３３０ａ〜３３０ｊ及びデータ転送線３４０ａ〜３４０ｊによってマネージャモジュールユニット４００にそれぞれ接続される。
【００６８】
図３２に示したフレームワークハードウェアユニットで実現されたシステムは、コンパニオンチップとしてハードウェア化して、ＭＰ４録音再生フレームワークチップとすることができる。例えば、図３３は、ＭＰ４録音再生フレームワークチップ５１０が、最終的なアプリケーションが構築されるホスト・システムＬＳＩ５００に接続される例を示す。
【００６９】
又、図３２に示したフレームワークハードウェアユニットで実現されたシステムは、ホスト・システムが動作するメモリやＣＰＵ、及び他のハードウェアと共にシステムＬＳＩとして１チップ化することができる。例えば、図３４は、ＭＰ４録音再生フレームワークチップ６４０が、ハードウェハＩＰ６１０、メモリ６２０及びＣＰＵコア６３０と共にシステムＬＳＩ６００に搭載された例を示す。
【００７０】
本発明の第３の実施の形態に係る半導体装置は、フレームワークのマネージャモジュール及びＩＰモジュールに基づき、フレームワークハードウェアユニットとして構築される。つまり、複数のモジュールの処理を制御して所望の機能を実現するシステムの開発時間を削減可能なシステム構築用フレームワークをハードウェア化した半導体装置である。そのため、実現したいシステム機能のフレームワークを最適なフレームワークハードウェアユニットとして実現することができ、所望のシステム機能を高速に処理することができる。
【００７１】
上記のように、本発明は第１乃至第３の実施の形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなろう。即ち、本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。したがって、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【図面の簡単な説明】
【００７２】
【図１】本発明の第１の実施の形態に係るシステム構築用フレームワークの構成を示す模式図である。
【図２】本発明の第１の実施の形態に係るＩＰモジュールの構成を示す模式図である。
【図３】本発明の第１の実施の形態に係るコンフィギュレーション情報の例を示す表である。
【図４】本発明の第１の実施の形態に係るモジュールマネージャの構成を示す模式図である。
【図５】本発明の第１の実施の形態に係るシーケンスパターンの例を示す模式図であり、図５（ａ）はシーケンスパターンが４つＩＰモジュール領域を有する例を示し、図５（ｂ）はシーケンスパターンが分岐する例を示す。
【図６】本発明の第１の実施の形態に係るマネージャモジュールによるＩＰモジュールの制御の例を示す模式図である。
【図７】本発明の第１の実施の形態に係るＩＰモジュールの構成例を示す模式図である（その１）。
【図８】本発明の第１の実施の形態に係るＩＰモジュールの構成例を示す模式図である（その２）。
【図９】本発明の第１の実施の形態に係るＩＰモジュールの構成例を示す模式図である（その３）。
【図１０】本発明の第１の実施の形態に係るＩＰモジュールの構成例を示す模式図である（その４）。
【図１１】本発明の第１の実施の形態に係るシステム構築用フレームワークによりシステム機能を構築する方法を説明するためのフローチャートである。
【図１２】本発明の第１の実施の形態に係るシステム構築用フレームワークによってマネージャモジュールにＩＰモジュールが接続される状態を説明するための模式図である。
【図１３】本発明の第１の実施の形態に係るシステム構築用フレームワークによるＩＰモジュールの制御を説明するための模式図である。
【図１４】本発明の第１の実施の形態に係るシステム構築用フレームワークによってマネージャモジュールからのＩＰモジュールの削除を説明するための模式図である。
【図１５】本発明の第１の実施の形態に係るシステム構築用フレームワークによってシステム機能を実現した例を示す模式図である。
【図１６】図１５に示したシステム構築用フレームワークにコールバック機能を有するインタフェースを追加した例を示す模式図である。
【図１７】本発明の第１の実施の形態に係るシステム構築用フレームワークによってシステム機能を実現した他の例を示す模式図である。
【図１８】図１７に示したシステム構築用フレームワークにコールバック機能を有するインタフェースを追加した例を示す模式図である。
【図１９】本発明の第１の実施の形態に係るシステム構築用フレームワークによってＩＰモジュールを再利用する例を説明するための模式図である。
【図２０】本発明の第１の実施の形態に係るシステム構築用フレームワークによってＩＰモジュールのコアＩＰを変更する例を説明するための模式図である。
【図２１】本発明の第１の実施の形態に係るシステム構築用フレームワークによってＩＰモジュールを置き換える例を説明するための模式図である。
【図２２】本発明の第２の実施の形態に係るシステム構築用フレームワークの構成を示す模式図である。
【図２３】本発明の第２の実施の形態に係るシステム構築用フレームワークを、ホスト・システムＬＳＩとコンパニオンチップで構成した例を示す模式図である。
【図２４】本発明の第２の実施の形態に係るシステム構築用フレームワークを、複数のプラットフォーム上で実現する例を示す模式図である。
【図２５】本発明の第３の実施の形態に係るＩＰモジュールユニットの構成を示す模式図である。
【図２６】図２５に示したＩＰモジュールユニットのハードウェアＩＰユニットの構成を示す模式図であり、図２６（ａ）はコアＩＰの処理をソフトウェアで実行する例、図２６（ｂ）はコアＩＰの処理をハードウェアで実行する例を示す。
【図２７】図２５に示したＩＰモジュールユニットのＣＩＦユニットの構成を示す模式図である。
【図２８】本発明の第３の実施の形態に係るマネージャモジュールユニットの構成を示す模式図である。
【図２９】図２８に示したマネージャモジュールユニットのコンフィギュレーションＩＰユニットの構成を示す模式図である。
【図３０】図２８に示したマネージャモジュールユニットのメディアコントローラＩＰユニットの構成を示す模式図であり、図３０（ａ）はロジックをソフトウェアで動作させる例、図３０（ｂ）はロジックをハードウェアで動作させる例を示す。
【図３１】本発明の第３の実施の形態に係る半導体装置の構成を示す模式図である。
【図３２】本発明の第３の実施の形態に係る半導体装置の構成例を示す模式図である。
【図３３】図３２に示した半導体装置をコンパニオンチップとしてハードウェア化した例を示す模式図である。
【図３４】図３２に示した半導体装置をシステムＬＳＩとして１チップ化した例を示す模式図である。
【符号の説明】
【００７３】
Ｍ１〜Ｍ５…ＩＰモジュール
１０…マネージャモジュール
１１…コンフィグレーションマネージャモジュール
１２…シーケンスマネージャモジュール
１３…メディアコントロールマネージャ
２１…インタフェースモジュール
２２…コマンドリスト部
２３…コア部
３００…ＩＰモジュールユニット
４００…マネージャモジュールユニット
【図１】
2006318305.tif 000003
【図２】
2006318305.tif 000004
【図３】
2006318305.tif 000005
【図４】
2006318305.tif 000006
【図５】
2006318305.tif 000007
【図６】
2006318305.tif 000008
【図７】
2006318305.tif 000009
【図８】
2006318305.tif 000010
【図９】
2006318305.tif 000011
【図１０】
2006318305.tif 000012
【図１１】
2006318305.tif 000013
【図１２】
2006318305.tif 000014
【図１３】
2006318305.tif 000015
【図１４】
2006318305.tif 000016
【図１５】
2006318305.tif 000017
【図１６】
2006318305.tif 000018
【図１７】
2006318305.tif 000019
【図１８】
2006318305.tif 000020
【図１９】
2006318305.tif 000021
【図２０】
2006318305.tif 000022
【図２１】
2006318305.tif 000023
【図２２】
2006318305.tif 000024
【図２３】
2006318305.tif 000025
【図２４】
2006318305.tif 000026
【図２５】
2006318305.tif 000027
【図２６】
2006318305.tif 000028
【図２７】
2006318305.tif 000029
【図２８】
2006318305.tif 000030
【図２９】
2006318305.tif 000031
【図３０】
2006318305.tif 000032
【図３１】
2006318305.tif 000033
【図３２】
2006318305.tif 000034
【図３３】
2006318305.tif 000035
【図３４】
2006318305.tif 000036