(57)【要約】 【課題】  システム性能の評価に際してバスとのデータ送受信に関する機能修正を容易に行なうことができるデータ処理装置の設計方法を提供する。【解決手段】  バスに接続された複数の回路モジュールを有するデータ処理装置を設計する方法は、回路モジュールで実現すべき機能をモデル化してこれを評価するのに、前記機能をモデル化する評価用プログラム記述においてバスに対するデータ送受信を行なう記述にＡＰＩ関数（ＤａｔａＲｅａｄ、ＤａｔａＷｒｉｔｅ）を用い、前記ＡＰＩ関数は複数種類のバス仕様に共通化される変数を持つ。ＡＰＩ関数は複数のバス仕様で共通化されるから、モデル化された機能を実現する回路モジュールの接続先のバスを変更しても、また、その機能をソフトウェアで実現しても、或いはハードウェアで実現しても、評価用プログラム記述の修正変更を要しない。【選択図】        図５
2005182359.tif 000002
【特許請求の範囲】
【請求項１】
バスに接続された複数の回路モジュールを有するデータ処理装置を設計する方法であって、回路モジュールで実現すべき機能をモデル化してこれを評価するのに、前記機能をモデル化する評価用プログラム記述においてバスに対するデータ送受信を行なう記述にＡＰＩ関数を用い、前記ＡＰＩ関数は複数種類のバス仕様に共通化される変数を持つことを特徴とするデータ処理装置の設計方法。
【請求項２】
前記ＡＰＩ関数が持つ変数は、アクセス先の場所を示すアドレス変数と、アクセス対象情報の所在を示すデータ変数とであることを特徴とする請求項１記載のデータ処理装置の設計方法。
【請求項３】
前記ＡＰＩ関数は、データリードＡＰＩ関数とデータライトＡＰＩ関数であることを特徴とする請求項２記載のデータ処理装置の設計方法。
【請求項４】
前記ＡＰＩ関数は、モデル化されるべき機能をハードウェアとして実現する場合とソフトウェアとして実現する場合との何れの場合にも用いられることを特徴とする請求項１記載のデータ処理装置の設計方法。
【請求項５】
前記ＡＰＩ関数の各バスのプロトコル動作をモデル化したバスアクセス関数のライブラリを用いてバスに対するデータ送受信の動作を決定することを特徴とする請求項４記載のデータ処理装置の設計方法。
【請求項６】
前記バスアクセス関数は更に、接続されるバス特有の付加情報に関する付加情報変数を有することを特徴とする請求項５記載のデータ処理装置の設計方法。
【請求項７】
バス接続情報を用いて、前記ライブラリからＡＰＩ関数に適用するバスアクセス関数を選択することを特徴とする請求項５記載のデータ処理装置の設計方法。
【請求項８】
前記バス接続情報はコンパイラ指令を用いて前記ＡＰＩ関数にリンクされることを特徴とする請求項７記載のデータ処理装置の設計方法。
【請求項９】
機能モデルの評価用プログラム記述をコンピュータ読取り可能に記録した記録媒体であって、前記機能モデルの評価用プログラム記述はバスに対するデータ送受信を行なう記述に複数種類のバス仕様に共通化されるＡＰＩ関数を用いることを特徴とする記録媒体。
【請求項１０】
前記ＡＰＩ関数は、アクセス先の場所を示すアドレス変数と、アクセス対象情報の所在を示すデータ変数とを持つことを特徴とする請求項９記載の記録媒体。
【請求項１１】
更に複数のバスアクセス関数をコンピュータ読取り可能に記録してあり、前記バスアクセス関数は前記ＡＰＩ関数のバスのプロトコル動作をモデル化する関数であることを特徴とする請求項１０記載の記録媒体。
【請求項１２】
複数のバスアクセス関数をコンピュータ読取り可能に記録した記録媒体であって、前記バスアクセス関数はＡＰＩ関数のバスのプロトコル動作をモデル化する関数であり、前記ＡＰＩ関数は機能モデルの評価用プログラム記述においてバスに対するデータ送受信を行なう記述であって複数種類のバス仕様に共通化されることを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はシステムＬＳＩなどのデータ処理装置の設計過程において評価用プログラム記述を用いて行なわれる機能モデルの性能評価に関し、特に、バスとのデータ送受信に関する機能修正に着目した技術に関し、例えばシステム性能評価ツール、ＩＰ（知的所有権）モジュールに適用して有効な技術に関する。
【背景技術】
【０００２】
機能モデルに対する性能評価という点に関し、特許文献１には、テスト容易化設計による変更が当初の論理設計の仕様を満足しなくなったとき、論理機能の設計変更を一々ハードウェア記述言語のゲートレベルで行なうことの煩雑さを解消するために、論理回路の機能レベルの接続データに対してテスト容易化設計処理を施したときのシステム性能を予め見積もるようにする技術が記載される。
【０００３】
【特許文献１】特開２００１−１４３５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明はシステムＬＳＩなどのデータ処理装置の設計過程において評価用プログラム記述を用いて行なう機能モデルの性能評価について検討した。これによれば、プロセッサ、複数のバス、ＩＰモジュール、外部メモリなどから構成されるシステムＬＳＩを設計する際、そのシステムで実現すべき機能をハードウェアとソフトウェアの何れで実現するか、ハードウェアで実現する場合はどのバスに接続するか、このときバスマスタかバススレーブの何れの形態でバスに接続すべきかなど、様々な要因を考慮する必要がある。このような要因を考慮して最適なシステムを構成するためには、システム全体の性能を正確に見積もる必要があり、そのためにはハードウェア化する機能をＣ言語などのプログラム記述でモデル化し、様々なシステム構成のもとでシミュレーションを行なう必要がある。このように、システム全体の性能評価を行うためには、ハードウェア化する機能だけでなく、バスの動作も正確にモデル化する必要がある。このとき、ハードウェア化される機能が接続されるバスや、接続の形態を変更するためには、プログラム記述でモデル化した動作モデルを修正する必要がある。また、メモリに格納されるソフトウェアに対しても、ハードウェア化された機能を呼び出すための記述の追加を行う必要がある。システムの最適化を行うためには、様々なケースでシミュレーションを行う必要があるが、構成を変更する度にモデルやソフトウェアの修正が必要となるのでは、評価効率が著しく低下し、評価コストが著しく高くなることが明らかにされた。特に、バス接続の変更に応じてバスプロトコルをモデル化するのに多くの工数を要することが本発明者によって見出された。
【０００５】
本発明の目的は、システム性能の評価に際してバスとのデータ送受信に関する機能修正を容易に行なうことができるデータ処理装置の設計方法を提供することにある。
【０００６】
本発明の別の目的は、システム性能の評価に際して機能モデルの評価用プログラム記述に対してバス接続の変更を容易化する技術を提供することにある。
【０００７】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００８】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【０００９】
〔１〕バスに接続された複数の回路モジュールを有するデータ処理装置を設計する方法は、回路モジュールで実現すべき機能をモデル化してこれを評価するのに、前記機能をモデル化する評価用プログラム記述（２０）においてバスに対するデータ送受信を行なう記述にＡＰＩ関数（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ関数）を用い、前記ＡＰＩ関数は複数種類のバス仕様に共通化される変数を持つ。
【００１０】
前記ＡＰＩ関数は複数のバス仕様で共通化されるから、モデル化された機能を実現する回路モジュールの接続先のバスを変更しても、また、その機能をソフトウェアで実現しても、或いはハードウェアで実現しても、前記評価用プログラム記述を修正変更することを要しない。各バスのプロトコル動作をモデル化したバスアクセス関数をバスの接続先の変更に応じて選択すればよい。
【００１１】
本発明の具体的な形態として、前記ＡＰＩ関数が持つ変数は、例えばアクセス先の場所を示すアドレス変数と、アクセス対象情報の所在を示すデータ変数とである。前記ＡＰＩ関数は、データリードＡＰＩ関数とデータライトＡＰＩ関数である。
【００１２】
前記ＡＰＩ関数は、モデル化されるべき機能をハードウェアとして実現する場合とソフトウェアとして実現する場合との何れの場合にも用いられる。
【００１３】
ＡＰＩ関数による具体的な処理内容を決定するには、前記ＡＰＩ関数の各バスのプロトコル動作をモデル化したバスアクセス関数のライブラリ（２１）を用いてバスに対するデータ送受信の動作を決定すればよい。前記ライブラリからＡＰＩ関数に適用するバスアクセス関数を選択するにはバス接続情報を用いればよい。望ましい形態として、前記バス接続情報はプラグマ（＃ｐｒａｇｍａ）やディファイン（＃ｄｅｆｉｎｅ）のようなコンパイラ指令を用いて前記ＡＰＩ関数にリンクされればよい。前記バスアクセス関数は更に、接続されるバス特有の付加情報に関する付加情報変数を有してよい。付加情報変数を用いて指定する情報は例えばバスロックの情報、転送サイズ情報、バースト転送の有無情報などとされる。
【００１４】
〔２〕機能モデルの評価用プログラム記述（所謂ソフトＩＰモジュールデータ）をコンピュータ読取り可能に記録した記録媒体（３０）において、前記機能モデルの評価用プログラム記述はバスに対するデータ送受信を行なう記述に複数種類のバス仕様に共通化されるＡＰＩ関数を用いる。このときのソフトＩＰモジュールのような機能モデルはバスマスタ機能を有するものである。
【００１５】
本発明の具体的な態様として、前記ＡＰＩ関数は、アクセス先の場所を示すアドレス変数と、アクセス対象情報の所在を示すデータ変数とを持つ。また、記録媒体は更に複数のバスアクセス関数をコンピュータ読取り可能に記録してあり、前記バスアクセス関数は前記ＡＰＩ関数のバスのプロトコル動作をモデル化する関数とされる。
【００１６】
〔３〕複数のバスアクセス関数をコンピュータ読取り可能に記録した記録媒体（３０）において、前記バスアクセス関数はＡＰＩ関数のバスのプロトコル動作をモデル化する関数であり、前記ＡＰＩ関数は機能モデルの評価用プログラム記述においてバスに対するデータ送受信を行なう記述であって複数種類のバス仕様に共通化される。
【発明の効果】
【００１７】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００１８】
すなわち、システム性能の評価に際してバスとのデータ送受信に関する機能修正を容易に行なうことができる。また、システム性能の評価に際して機能モデルの評価用プログラム記述に対してバス接続の変更を容易に行なうことができる。
【発明を実施するための最良の形態】
【００１９】
図１には本発明に係る設計方法によって開発しようとするデータ処理装置の構成が例示される。同図に示されるデータ処理装置はマイクロコンピュータのようなシステムオンチップのシステムＬＳＩ（半導体集積回路）を想定する。論理設計の段階においてデータ処理装置は例えばＨＤＬ（ハードウェアディスクリプションランゲージ）又はＲＴＬ（レジスタトランスファレベル）の設計データによって特定される。シミュレーションによる性能評価ではデータ処理装置の機能は例えばＣ言語による機能モデル（評価用機能記述プログラム）として記述される。シミュレーションではその評価用機能記述プログラムが実行される。
【００２０】
データ処理装置１は、第１の内部バス（Ｂｕｓ１）２に接続されたＣＰＵ（中央処理装置）３、内部メモリ（ＭＥＭ１）４及び第１のＩＰモジュール（ＩＰ１）５と、第２のバス（Ｂｕｓ２）６に接続された第２のＩＰモジュール（ＩＰ２）７とを有する。第１の内部バス２と第２の内部バス６は第１のバスブリッジ（ＢＢＲＧ１）８を介してインタフェースされる。第２の内部バス６と外部バス（Ｂｕｓ３）９は第２のバスブリッジ（ＢＢＲＧ２）１０を介してインタフェースされる。外部バス９には外部メモリ（ＭＥＭ２）１１が接続される。外部メモリ１１にはＣＰＵ３が実行するプログラムのようなソフトウェア１２が格納される。
【００２１】
前記ＣＰＵ３は図示を省略する命令制御部と演算部を有し、命令制御部が外部メモリ１１から命令をフェッチし、フェッチした命令を解読して、演算部の動作を制御する。演算部はその動作制御にしたがって、アドレス演算、データ演算、オペランドアクセスなどを行なって命令を実行する。
【００２２】
ＩＰモジュール５，７はＩＰモジュールデータを用いて設計される回路モジュールである。ＩＰモジュールデータは、特に制限されないが、所要の回路モジュールを機能的に定義したソフトＩＰモジュールデータとされ、マスクパターンデータによって回路モジュールを特定するハードＩＰモジュールデータとは相違される。ソフトＩＰモジュールデータには、ＨＤＬのような機能記述言語でその構成を定義するもの、Ｃ言語のような高級言語を用いた性能評価用プログラムによってその機能を特定するものがある。
【００２３】
図２には図１のデータ処理装置で実行したいソフトウェアの例を示す。この例では、ｍａｉｎ関数から呼び出されるｆｕｎｃ１関数は、変数ｄａｔａ０で示される所在のデータを入力とし、変数ｄａｔａ１が示す場所に処理結果を格納する機能を、代表的に示している。
【００２４】
図３には図２のソフトウェアが内部メモリ４に格納されているとき、ＣＰＵ３が内部メモリ４からｆｕｎｃ１関数を読み込んで実行する様子を模式的に示す。要するに図３では、ｆｕｎｃ１関数の機能はＣＰＵ３のソフトウェアによって実現されている。
【００２５】
図４には前記ｆｕｎｃ１関数の機能をＩＰモジュール５によるハードウェアで実現し、このＩＰモジュール５を第１の内部バス２にバスマスタとして接続したときの構成を例示する。この場合、ＣＰＵ３が内部メモリ４からプログラムを読み込むのに加え、ＩＰモジュール５もメモリ４に対してアクセスを行う。ＣＰＵ３が読み込むべきソフトウェアとして残るｍａｉｎ関数では、ＩＰモジュール５に対する動作の起動を行う必要がある。
【００２６】
前記ｆｕｎｃ１関数の機能をハードウェアとして実現するＩＰモジュール５の動作モデルでは、ｆｕｎｃ１＿ｂｏｄｙの機能に加え、データをメモリ４などから読み込むデータ準備処理、ｆｕｎｃ１＿ｂｏｄｙが完了したデータをメモリ４などに書き出すデータ格納処理が必要となる。メモリ４などからデータを読み書きすることは、バスアクセスを行うことを意味する。
【００２７】
ＩＰモジュール５を第１の内部バス（Ｂｕｓ１）２ではなく第２の内部バス（Ｂｕｓ２）６に接続した場合は、データ準備処理とデータ格納処理は第２の内部バス（Ｂｕｓ２）６のバスプロトコルに適合することが必要になる。データ準備処理とデータ格納処理を図２のソフトウェア中で個別に記述する場合には、接続するバスの変更に応じてそのバスプロトコルに則してプログラムの記述を変更することが必要になる。本発明では、回路モジュールで実現すべき機能をモデル化する評価用プログラム記述においてバスに対するデータ送受信を行なう記述にＡＰＩ関数（データ送受信用ＡＰＩ関数）を用いる。後述するように前記データ送受信用ＡＰＩ関数は複数種類のバス仕様に共通化される変数を持つ。
【００２８】
図５には関数ｆｕｎｃ１＿ｂｏｄｙの実行に必要なデータ送受信にデータ送受信用ＡＰＩ関数を適用したソフトウェアの一例が示される。これは図１のソフトウェアに前記データ送受信用ＡＰＩ関数を適用した例である。データ準備処理をＤａｔａＲｅａｄ（）、データ格納処理をＤａｔａＷｒｉｔｅ（）として共通化している。ＤａｔａＲｅａｄ（）はデータリードＡＰＩ関数であり、ＤａｔａＷｒｉｔｅ（）はデータライトＡＰＩ関数であり、夫々データ送受信用ＡＰＩ関数の一例とされる。この例では、関数の引数若しくは変数としてデータアクセス先の場所を示すアドレス変数としてのａｄｄｒと、データ送受用の領域即ちアクセス対象情報の所在を示すデータ変数としてのｄａｔａを与えている。
【００２９】
前記データ送受信用ＡＰＩ関数に対しては各バスのプロトコル動作をモデル化したバスアクセス関数のライブラリを用いてバスに対するデータ送受信の動作を決定することになる。
【００３０】
図６は第１の内部バス（Ｂｕｓ１）２のバスアクセス関数を共通ＡＰＩ化した関数を示す。バスアクセス関数は、データリードＡＰＩ関数ＤａｔａＲｅａｄ（）及びデータライトＡＰＩ関数ＤａｔａＷｒｉｔｅ（）のバスプロトコルを具体的に示す。この例では、第１の内部バス（Ｂｕｓ１）２はコマンド（変数ＲＥＡＤで示される）、アドレス（変数ａｄｄｒで示される）、データ（変数ｄａｔａで示される）を逐次的に送受するバスを代表する。例えばバスに対するアクセスリクエストを出した後、アクノリッジが返されるのを待ってアドレスを出力し、これに対するアクノリッジを待ってバスからデータをリードし、或いはバスにライトデータを出力する。尚、図においてＡｄｄｒ，Ｄａｔａはデータ型、ａｄｄｒ，＊ｄａｔａは変数を意味する。
【００３１】
図７には第２の内部バス（Ｂｕｓ２）６のバスアクセス関数を共通ＡＰＩ化した関数を示す。この例では、第２の内部バス（Ｂｕｓ２）６はコマンド、アドレス、データをパケットとして一括送信する、所謂スプリットトランザクションバスを代表する。例えばスプリットトランザクションバスではコマンドなどを含むパケットを送信した後、レスポンスを待つ。
【００３２】
図５のソフトウェアにおいて、データ送受信用ＡＰＩ関数（ＤａｔａＲｅａｄ（）、ＤａｔａＷｒｉｔｅ（））として第１の内部バス（Ｂｕｓ１）２に対しては図６のバスアクセス関数を呼び、第２の内部バス（Ｂｕｓ２）６に対しては図７のバスアクセス関数を呼んで利用するようにすればよい。このように、ＩＰモジュールを接続するバスの仕様に応じた共通ＡＰＩ化されたバスアクセス関数を呼ぶことで、図５に例示されるようなソフトウェアそれ自体の記述を変更する必要はない。
【００３３】
図８は図３のようにｆｕｎｃ１（）の機能をＣＰＵ３のソフトウェアで実現する際のバスアクセス関数が例示される。この例では、メモリアドレス（変数ａｄｄｒで示される）に対してデータサイズ分のデータを読み出してデータ領域（変数ｄａｔａで示される）を先頭とする領域にロードされる。また、データ領域（変数ｄａｔａで示される）を先頭とするデータサイズ分の領域のデータをメモリアドレス（変数ａｄｄｒで示される）からデータサイズ分のメモリアドレスにストアする。このように、ｆｕｎｃ１（）をＩＰモジュールによってハードウェア化せずにソフトウェアとして残した場合も、このバスアクセス関数を用いればよいため、図５に例示されるようなソフトウェアそれ自体の記述を変更する必要はない。このように前記データ送受信用ＡＰＩ関数は、モデル化されるべき機能をハードウェアとして実現する場合とソフトウェアとして実現する場合との何れの場合にも用いることができる。
【００３４】
ｆｕｎｃ１の機能をＩＰモジュールのようなハードウェアで実現するかＣＰＵの実行プログラムのようなソフトウェアで実現するかの選択、ハードウェア化した際にＩＰモジュールを接続するバスの選択などは、図９のように＃ｐｒａｇｍａのようなコンパイラ指令によってコンパイラに指示を与えることで実現できる。図１０のように＃ｄｅｆｉｎｅによる実行ルーチンの切り替え、ライブラリ差替えによる実現も可能である。また、バスの種類によっては転送サイズ、バスロック情報、バースト転送などの機能を有する。これら付加情報も＃ｐｒａｇｍａや＃ｄｅｆｉｎｅで指定可能である。
【００３５】
図１１には図３のｆｕｎｃ１をＩＰモジュール５を用いてハードウェアで実現し、第１の内部バス（Ｂｕｓ１）２にバススレーブとして接続した際のシステム構成図を例示する。図４ではＩＰモジュール５をバスマスタモジュールとして説明したが、バススレーブモジュールであるＩＰモジュール５は自分で能動的にバスアクセスを行うことができないため、ＣＰＵ３は内部メモリ（ＭＥＭ１）４からのプログラム読込みに加え、ＩＰモジュール５内のバッファに対してデータ送受処理を行う必要がある。すなわち、データ準備処理、データ格納処理を含むｆｕｎｃ１（）はソフトウェアとして実現し、ＩＰモジュール５の動作モデルは、ｆｕｎｃ１＿ｂｏｄｙの機能を備える。データ準備処理、データ格納処理はソフトウェアとして実現されるため、図８のソフトウェア用の共通ＡＰＩであるバスアクセス関数を用いればよい。したがって、ある機能をハードウェアとして実現する際、バスマスタモジュールであればデータ準備処理、データ格納処理、ｆｕｎｃ１＿ｂｏｄｙを含むｆｕｎｃ１を当該ハードウェアの動作モデルとして利用し、バススレーブモジュールとして実現する際はｆｕｎｃ１＿ｂｏｄｙのみを当該ハードウェアの動作モデルとして利用する。動作モデルは、開発すべきデータ処理装置の評価用プログラムとしてシミュレーションに供され、システム性能の見積りに利用される。
【００３６】
図１２はシステム性能見積もり装置の構成図である。評価用プログラム記述としてのソフトウェア２０は、開発対象のシステムで実行すべき機能を記述したもので、データ送受信に関してはデータ送受信用ＡＰＩ関数を用いたソフトウェアであり、図５に代表されるようなソフトウェアを意味する。バス関数ライブラリ２１は前記データ送受信用ＡＰＩ関数の各バスのプロトコル動作をモデル化したバスアクセス関数として、図６乃至図８に代表されるバスアクセス関数を保有する。ＩＰバス接続情報２２はデータ送受信に利用するバスを指定する情報である。
【００３７】
ＩＰモデル生成装置２３は、データ処理装置で実行するソフトウェア２０と、各種バスへのアクセス関数であるバス関数ライブラリ２１を入力とし、ハードウェア化する関数と接続されるバス、接続形態を指定することで、バス接続動作が可能なＩＰモジュールの動作モデル２４を生成する。
【００３８】
ソフトウェア変換装置２５は、同じくソフトウェア２０とバス関数ライブラリ２１を入力とし、ハードウェア化する関数と接続されるバス、接続形態を指定することで、ソフトウェアからハードウェア化する関数を除去し、ハードウェアとして実現されたＩＰ動作モデルと通信するためのバスアクセス関数を挿入し、変換済ソフトウェア２６を生成する。ハードウェア化する関数がバスマスタ機能を有する場合には前記バスアクセス関数は変換済みソフトウェアが保有せずＩＰモジュールの動作モデルが保有することになる。
【００３９】
システムシミュレーション装置２７は、ＣＰＵ３やバスブリッジ８，１０、メモリ４等のシステムＬＳＩの基本となるモジュールの動作モデル（基本モジュール動作モデル２８）と、ＩＰ動作モデル２４、変換済みソフトウェア２６を用いて、システム全体のシミュレーションを行うことで、システム性能を見積もる。
【００４０】
以上説明したデータ処理装置の設計方法によれば、ハードウェア化する可能性のある機能のモデル化を行う際に、バスに対してデータ送受信を行う箇所を上記データ送受信用ＡＰＩ関数を用いて記述しておくことで、パラメータ設定を行うだけでシステム構成を変更することが可能となる。このため、モデル修正工数を削減することができる。したがって、変更箇所が少ないことによる変更工数の低減、及びバグ混入率の低下に役立つ。要するに、ＩＰモジュールの動作モデルを修正する工数、ソフトウェアの修正工数が低減されるためシステム性能の評価を効率的に行なうことができる。
【００４１】
また、ハードウェア／ソフトウェア分割試行の工数削減につながるため、ハードウェア／ソフトウェア協調設計、要するに、特定機能をハードウェアで実現する場合とソフトウェアで実現する場合の利害得失を考慮して何れを採用すべきかを判断する設計工程に好適である。
【００４２】
また、データ送受信用ＡＰＩ関数が統一されているため再利用性が高く、他製品への展開が容易となる。システム構成の変更工数低減、モデル修正時のバグ混入の防止、ＡＰＩ関数共通化によるモデル再利用性の向上、早期システム性能評価により設計手戻りの削減、及びシステム構成最適化による製品価値の向上を実現することができる。
【００４３】
次に、上記データ処理装置の開発に用いるＩＰモジュールデータ及びバスアクセス関数ライブラリの提供について説明する。上記ＩＰモジュールデータ及びバスアクセス関数ライブラリは半導体集積回路の製造メーカが独自に開発して用意することも可能であるが、上記開発方法に好適なＩＰモジュールデータ及びバスアクセス関数ライブラリが流通され、容易に入手することができれば、上記方法による半導体集積回路の設計を更に能率化することができる。ここで言うＩＰモジュールデータとは、ＩＰモジュールの機能をソフトウェアによってモデル化するものであり、Ｃ言語のような高級言語を用いた評価用プログラム記述によってその機能を特定するものとされる。
【００４４】
図１３にはコンピュータ読取り可能な記録媒体が示される。同図に示される記録媒体３０はリームーバブルな記録媒体とされ、例えば、磁気テープ、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ（マグネット・オプチカル・ディスク）などとされ、ここに、ＩＰモジュールデータ及びバスアクセス関数ライブラリがエンジニアリングワークステーションなどのコンピュータ装置３１によって読取り可能に記録されている。記録媒体３０から読み込まれたＩＰモジュールデータ及びバスアクセス関数ライブラリは固定ディスク装置３２にストアされ、コンピュータ装置３１を利用してシステム開発が行なわれるときはＩＰモジュールデータ及びバスアクセス関数ライブラリはコンピュータ装置３１のメモリに読み込まれて使用される。ＩＰモジュールデータによって特定される機能モデルにバスマスタ機能が含まれている場合には、機能モデルの評価用プログラム記述としてのＩＰモジュールデータはバスに対するデータ送受信を行なう記述に複数種類のバス仕様に共通化される前記データ送受信用ＡＰＩ関数を用いている。
【００４５】
図１４には設計データなどを記録した記録媒体３０とコンピュータ装置３１との別の関係が例示される。記録媒体３０はＩＰモジュールデータ及びバスアクセス関数ライブラリの提供に供されるサーバ３３に保持されている。サーバ３３はインタネットなどのネットワーク３６を介してエンジニアリングワークステーションなどのコンピュータ装置３１に接続される。記録媒体３０に格納されているＩＰモジュールデータ及びバスアクセス関数ライブラリはネットワーク３６を介してコンピュータ装置３１にダウンロードされる。ダウンロードされた設計データはコンピュータ装置３１のローカルなハードディスク或はメモリなどにストアされて、システムの開発に用いられる。
【００４６】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００４７】
例えば、本発明マイクロコンピュータ以外の種種のデータ処理用半導体集積回路やその他データ処理装置の開発に広く適用することが可能である。機能モデルの評価用プログラム記述としてのＩＰモジュールデータの記述言語はＣ言語に限定されずそのＪａｖａ（登録商標）などのその他の高級言語であってもよい。
【図面の簡単な説明】
【００４８】
【図１】本発明に係る設計方法によって設計しようとするデータ処理装置の構成を例示するブロック図である。
【図２】図１のデータ処理装置で実行するソフトウェアを例を示す説明図である。
【図３】ＣＰＵが内部メモリから図２のソフトウェアのｆｕｎｃ１関数を読み込んで実行する様子を模式的に示す説明図である。
【図４】ｆｕｎｃ１関数の機能をＩＰモジュールによるハードウェアで実現し当該ＩＰモジュールを第１の内部バスにバスマスタとして接続したときの構成を例示する説明図である。
【図５】ＡＰＩ関数を共通化したソフトウェアの一例がを示す説明図である。
【図６】第１の内部バスのバスアクセス関数を共通ＡＰＩ化した例を示す説明図である。
【図７】第２内の部バスのバスアクセス関数を共通ＡＰＩ化した例を示す説明図である。
【図８】図３のようにｆｕｎｃ１（）の機能をＣＰＵのソフトウェアで実現する際のバスアクセス関数の例を示す説明図である。
【図９】バスプロトコルを＃ｐｒａｇｍａのようなコンパイラ指令によってコンパイラに指示を与える場合の記述例を示す説明図である。
【図１０】バスプロトコルを＃ｄｅｆｉｎｅによる実行ルーチンの切り替え又はライブラリ差替えによって指示する場合の記述例を示す説明図である。
【図１１】図３のｆｕｎｃ１をハードウェアＩＰ１として実現し第１の内部バスにバススレーブとして接続する場合の構成を示す説明図である。
【図１２】開発すべきデータ処理システムの性能を見積もる装置の構成を例示する説明図である。
【図１３】記録媒体とコンピュータ装置との代表的な関係を例示する説明図である。
【図１４】記録媒体とコンピュータ装置との別の関係を例示する説明図である。
【符号の説明】
【００４９】
１  データ処理装置
２  第１の内部バス
３  ＣＰＵ
４  内部メモリ
５  ＩＰモジュール
６  第２の内部バス
７  ＩＰモジュール
９  外部バス
１１  外部メモリ
２０  ソフトウェア
２１  バス関数ライブラリ
２２  ＩＰバス接続情報
２３  ＩＰモデル生成装置
２４  ＩＰ動作モデル
２５  ソフトウェア変換装置
２６  変換済みソフトウェア
２７  システムシミュレーション装置
２８  基本モジュール動作モデル
３０  記録媒体
３１  コンピュータ装置
【図１】
2005182359.tif 000003
【図２】
2005182359.tif 000004
【図３】
2005182359.tif 000005
【図４】
2005182359.tif 000006
【図５】
2005182359.tif 000007
【図６】
2005182359.tif 000008
【図７】
2005182359.tif 000009
【図８】
2005182359.tif 000010
【図９】
2005182359.tif 000011
【図１０】
2005182359.tif 000012
【図１１】
2005182359.tif 000013
【図１２】
2005182359.tif 000014
【図１３】
2005182359.tif 000015
【図１４】
2005182359.tif 000016