(57)【要約】【課題】  ハードウエア資産を重複使用可能な協定方法の提供。【解決手段】  ソフトウエア関数によりハードウエア行為を記述し、ソフトウエア関数の応答がハードウエア資産の実行に対応可能で、ソフトウエア関数が適当な変換により対応するリアルハードウエア資産を発生し、ゆえにソフトウエア関数でハードウエア行為を記述する目的を達成する。【選択図】        図１
2005044328.tif 000002
【特許請求の範囲】
【請求項１】
システムオンチップ設計に用いられ、ソフトウエア関数によるハードウエア構造の動作の記述を達成する重複使用可能なハードウエア資産の協定方法であり、
（Ａ）パラメータが必要か判断し、必要であれば（Ｂ）のステップを実行し、不成立であれば（Ｃ）のステップを実行し、ハードウエアモジュールがパラメータが必要か否かを判断するステップに対応する、
（Ｂ）少なくとも一つの関数パラメータを入力し、ハードウエアモジュールが少なくとも一つのパラメータデータを入力するステップに対応する、
（Ｃ）ソフトウエア関数を呼び出し、ハードウエアモジュールの許可要求信号のステップに対応する、
（Ｄ）ソフトウエア関数の応答値を待ち、ハードウエアモジュールの確認信号待機のステップに対応する、
（Ｅ）ソフトウエア関数の応答値を伝送して、ハードウエアモジュールの結果データ出力のステップに対応する、
（Ｆ）ソフトウエア関数を終了し、ハードウエアモジュールのリセットに対応するステップ、
以上の（Ａ）から（Ｆ）のステップを具えたことを特徴とする、ハードウエア資産を重複使用可能な協定方法。
【請求項２】
ハードウエアモジュールがパラメータが必要か否かを判断するステップの前に、ハードウエアモジュールのハードウエア初期化のステップを実行することを特徴とする、請求項１記載のハードウエア資産を重複使用可能な協定方法。
【請求項３】
（Ｂ）のステップが、少なくとも一つの検出用パラメータデータを入力し、該少なくとも一つの検出用パラメータデータが前記少なくとも一つのパラメータデータに対応することを特徴とする、請求項１記載のハードウエア資産を重複使用可能な協定方法。
【請求項４】
少なくとも一つの検出用パラメータデータが前記少なくとも一つのパラメータデータと補数関係で対応することを特徴とする、請求項３記載のハードウエア資産を重複使用可能な協定方法。
【請求項５】
少なくとも一つの検出用パラメータデータが前記少なくとも一つのパラメータデータがエラーであるか、或いは少なくとも一つのパラメータデータの入力が完成したか否かを検出するのに用いられることを特徴とする、請求項４記載のハードウエア資産を重複使用可能な協定方法。
【請求項６】
ハードウエアモジュールの結果データ出力のステップがさらに少なくとも一つの検出用結果データを出力するステップを具え、該少なくとも一つの検出用結果データが少なくとも一つの結果データに対応することを特徴とする、請求項１記載のハードウエア資産を重複使用可能な協定方法。
【請求項７】
少なくとも一つの検出用結果データが前記少なくとも一つの結果データと補数関係で対応することを特徴とする、請求項６記載のハードウエア資産を重複使用可能な協定方法。
【請求項８】
少なくとも一つの検出用結果データが前記少なくとも一つの結果データがエラーであるか、或いは少なくとも一つの結果データの出力が完成したか否かを検出するのに用いられることを特徴とする、請求項７記載のハードウエア資産を重複使用可能な協定方法。
【請求項９】
ソフトウエア関数が転換された後にハードウエア記載言語を発生することを特徴とする、請求項１記載のハードウエア資産を重複使用可能な協定方法。
【請求項１０】
システムオンチップ設計が少なくとも一つのハードウエアモジュールを使用し、該ハードウエアモジュールの動作が非同期とされたことを特徴とする、請求項１記載のハードウエア資産を重複使用可能な協定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はシステムオンチップ（ＳＯＣ）設計に使用される協定方法に係り、特に、システムオンチップ設計中に適用されるハードウエア資産を重複使用可能な協定方法に関する。
【背景技術】
【０００２】
システムオンチップ（ＳＯＣ）の設計はすでに現在の回路設計に使用される重要な方法となっており、それは複数の機能に関係する回路ブロックを一つのチップ中に整合させて特定の機能を達成するようにしたものである。コンピュータ領域のシングルチップマイクロプロセッサを例に挙げると、その内部回路はＣＰＵ、チップセット、及びグラフィックチップの回路ブロックを整合し、シングルチップマイクロプロセッサが上述の三者の機能を共に具備するものとされている。ＳＯＣの設計はチップの製造コストを低減するほか、回路の面積を減らし、コンパクト化、小型化の長所を達成する。そのうち、各回路ブロックは複数の異なる機能の回路モジュールが組み合わされてなり、そのうち、回路モジュールは、計数器、加算器、乗算器、或いはエンコーダ及びデコーダ等とされうる。これらのハードウエアモジュールはハードウエア資産（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｐｒｏｐｅｒｔｙ）と称される。ＳＯＣの設計はこれらのハードウエア資産を組み合わせて必要な回路ブロックをなし、最後に一つのチップに整合して、ＳＯＣ設計の目的を完成する。
【０００３】
しかし、ＳＯＣには一部の問題がある。そのうち、異なるハードウエア資産の間のクロックコントロール問題が最も顕著なものである。クロック信号はＳＯＣの各ハードウエア資産の運転速度を制御するのに用いられ、クロック信号がＳＯＣの各回路ブロックに送られる時、回路ブロックの全てのハードウエア資産は同一周波数で運転する。各ハードウエア資産の作業周波数は異なるため、もし複数のハードウエア資産を永劫し並びに同一クロックで運転させると、クロック信号はクロックの最も遅いハードウエア資産に合わせなければ信号のエラーが形成される。このため、システム性能が下がり、もとのシングルチップ設計の目的が達成されなくなる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明の主要な目的は、ＳＯＣ設計に使用される協定方法を提供し、ソフトウエア関数によりハードウエア行為を記述できるようにすることにある。
【０００５】
本発明のもう一つの目的は、ＳＯＣ設計に使用され、ハードウエア資産を重複して使用できるようにする協定方法を提供することにある。
【０００６】
本発明のさらにまたもう一つの目的は、ＳＯＣ設計に使用されて、同期或いは非同期の回路設計に使用できる協定方法を提供することにある。
【課題を解決するための手段】
【０００７】
請求項１の発明は、システムオンチップ設計に用いられ、ソフトウエア関数によるハードウエア構造の動作の記述を達成する重複使用可能なハードウエア資産の協定方法であり、
（Ａ）パラメータが必要か判断し、必要であれば（Ｂ）のステップを実行し、不成立であれば（Ｃ）のステップを実行し、ハードウエアモジュールがパラメータが必要か否かを判断するステップに対応する、
（Ｂ）少なくとも一つの関数パラメータを入力し、ハードウエアモジュールが少なくとも一つのパラメータデータを入力するステップに対応する、
（Ｃ）ソフトウエア関数を呼び出し、ハードウエアモジュールの許可要求信号のステップに対応する、
（Ｄ）ソフトウエア関数の応答値を待ち、ハードウエアモジュールの確認信号待機のステップに対応する、
（Ｅ）ソフトウエア関数の応答値を伝送して、ハードウエアモジュールの結果データ出力のステップに対応する、
（Ｆ）ソフトウエア関数を終了し、ハードウエアモジュールのリセットに対応するステップ、
以上の（Ａ）から（Ｆ）のステップを具えたことを特徴とする、ハードウエア資産を重複使用可能な協定方法としている。
請求項２の発明は、ハードウエアモジュールがパラメータが必要か否かを判断するステップの前に、ハードウエアモジュールのハードウエア初期化のステップを実行することを特徴とする、請求項１記載のハードウエア資産を重複使用可能な協定方法としている。
請求項３の発明は、（Ｂ）のステップが、少なくとも一つの検出用パラメータデータを入力し、該少なくとも一つの検出用パラメータデータが前記少なくとも一つのパラメータデータに対応することを特徴とする、請求項１記載のハードウエア資産を重複使用可能な協定方法としている。
請求項４の発明は、少なくとも一つの検出用パラメータデータが前記少なくとも一つのパラメータデータと補数関係で対応することを特徴とする、請求項３記載のハードウエア資産を重複使用可能な協定方法としている。
請求項５の発明は、少なくとも一つの検出用パラメータデータが前記少なくとも一つのパラメータデータがエラーであるか、或いは少なくとも一つのパラメータデータの入力が完成したか否かを検出するのに用いられることを特徴とする、請求項４記載のハードウエア資産を重複使用可能な協定方法としている。
請求項６の発明は、ハードウエアモジュールの結果データ出力のステップがさらに少なくとも一つの検出用結果データを出力するステップを具え、該少なくとも一つの検出用結果データが少なくとも一つの結果データに対応することを特徴とする、請求項１記載のハードウエア資産を重複使用可能な協定方法としている。
請求項７の発明は、少なくとも一つの検出用結果データが前記少なくとも一つの結果データと補数関係で対応することを特徴とする、請求項６記載のハードウエア資産を重複使用可能な協定方法としている。
請求項８の発明は、少なくとも一つの検出用結果データが前記少なくとも一つの結果データがエラーであるか、或いは少なくとも一つの結果データの出力が完成したか否かを検出するのに用いられることを特徴とする、請求項７記載のハードウエア資産を重複使用可能な協定方法としている。
請求項９の発明は、ソフトウエア関数が転換された後にハードウエア記載言語を発生することを特徴とする、請求項１記載のハードウエア資産を重複使用可能な協定方法としている。
請求項１０の発明は、システムオンチップ設計が少なくとも一つのハードウエアモジュールを使用し、該ハードウエアモジュールの動作が非同期とされたことを特徴とする、請求項１記載のハードウエア資産を重複使用可能な協定方法としている。
【発明の効果】
【０００８】
本発明のハードウエア資産を重複使用可能な協定方法は、ソフトウエア関数によりハードウエア行為を記述し、ソフトウエア関数の応答がハードウエア資産の実行に対応可能で、ソフトウエア関数が適当な変換により対応するリアルハードウエア資産を発生し、ゆえにソフトウエア関数でハードウエア行為を記述する目的を達成する。
【発明を実施するための最良の形態】
【０００９】
本発明のハードウエア資産を重複使用可能な協定方法は、ＳＯＣ設計に用いられ、ソフトウエア関数によるハードウエア構造の動作の記述を達成し、
（Ａ）パラメータが必要か判断し、必要であれば（Ｂ）のステップを実行し、不成立であれば（Ｃ）のステップを実行し、ハードウエアモジュールがパラメータが必要か否かを判断するステップに対応する、
（Ｂ）少なくとも一つの関数パラメータを入力し、ハードウエアモジュールが少なくとも一つのパラメータデータを入力するステップに対応する、
（Ｃ）ソフトウエア関数を呼び出し、ハードウエアモジュールの許可要求信号のステップに対応する、
（Ｄ）ソフトウエア関数の応答値を待ち、ハードウエアモジュールの確認信号待機のステップに対応する、
（Ｅ）ソフトウエア関数の応答値を伝送して、ハードウエアモジュールの結果データ出力のステップに対応する、
（Ｆ）ソフトウエア関数を終了し、ハードウエアモジュールのリセットに対応するステップ、
以上の（Ａ）から（Ｆ）のステップを具えている。
【００１０】
最後に、ソフトウエア関数を適当に変換してハードウエア記述言語を発生し、ハードウエア記述言語を変換した後にハードウエア資産を発生する。ＳＯＣ設計は少なくとも一つのハードウエアモジュールを使用し、そのうち、ハードウエアモジュールの動作は非同期である。本発明のソフトウエア関数はハードウエアの行為を記述するのに用いられ、また重複呼び出し可能で、同期及び非同期の回路設計に適用可能で、ゆえに本発明の目的を達成する。
【実施例１】
【００１１】
図１は本発明のハードウエア資産を重複使用可能な協定方法のフローチャートであり、ソフトウエア関数の内容によりハードウエア資産の行為を記述し、並びにソフトウエア関数の呼び出しによりハードウエア資産の実行に対応し、その対応するハードウエア資産実行のステップは図２に示されるようであり、ハードウエア資産の実際の動作は図３に示されるようであり、図１、２及び図３は相互に対応し並びに相互に参考とされる。そのうち、図１に示されるように、本発明のハードウエア資産を重複使用可能な協定方法のソフトウエア関数の読み出しモードは以下のステップを具えている。
【００１２】
ステップＳ１０で、ソフトウエア関数がパラメータが必要であるかを判断し、もし必要であればステップＳ１２を実行して適当な関数パラメータを入力し、必要でなればステップＳ１４を実行する。ソフトウエア関数は以下の累加関数（１）を例に挙げるが、これに限定されるわけではない。
Ｐｕｂｌｉｃ  ｓｔａｔｉｃ  ｉｎｔ  ｓｕＴｏ（ｉｎｔ  ＣＮＴ）  ・・・（１）
｛
ｉｎｔ  ＳＵＭ＝０；
ｆｏｒ（ｉｎｔ  ｉ＝１；ｉ＜ＣＮＴ；ｉ＋＋）
｛
ＳＵＭ＋＝ｉ；
｝
ｒｅｔｕｒｎ  ＳＵＭ；
｝
【００１３】
関数（１）を呼び出す前に、先に関数パラメータを設定し並びに入力する必要があり、例えば関数パラメータＣＮＴの値を５に設定する。
【００１４】
周知のとおり、ハードウエア資産が運転開始する時、いずれもステップＳ３０を実行し、ハードウエアを初期化し、後続の動作を実行する。そのうち、ステップＳ３０のハードウエア動作は図３のＣＬＲ上昇縁５０に示されるようであり、即ちクリア（ＣＬＲ）信号を高準位に設定して、ハードウエア資産内に残るデータを消去する。
【００１５】
ソフトウエア関数のステップＳ１０はハードウエア資産のステップＳ３２に対応する。即ちパラメータが必要な否かを判断し、もしハードウエア資産の実行にパラメータが組み合わされるならば、ステップＳ３４を実行し、パラメータデータを入力してソフトウエア関数のステップＳ１２の関数パラメータ入力に対応する。そうでなければ、ステップＳ３６を実行し、即ち要求信号を許可し、ソフトウエア関数のステップＳ１４のソフトウエア関数呼び出しに対応する。そのうち、ステップＳ３４のハードウエア動作は図３のパラメーデータの上昇縁５２に示されるようであり、即ち、外部回路（即ちハードウエア資産に接続された回路）がハードウエア資産にパラメータデータを入力し、例えば上述の例中のＣＮＴの値、即ち５を入力する。外部回路はパラメータデータをハードウエア資産に入力するほか、ハードウエア資産の出力結果データを受け取る。
【００１６】
ステップＳ１４で、ソフトウエア関数を呼び出す。関数式（１）に関しては、ステップＳ１２で関数式（１）のパラメータを入力した後、関数式（１）を実行することができ、そのうち、ステップＳ１４の実行内容は以下の部分である。即ち、
ｉｎｔ  ＳＵＭ＝０；
ｆｏｒ（ｉｎｔ  ｉ＝１；ｉ＜ＣＮＴ；ｉ＋＋）
｛
ＳＵＭ＋＝ｉ；
｝
そのうち、ステップＳ１４は図２のステップＳ３６に対応し、即ち、許可要求（ＲＥＱ）信号に対応する。外部回路より高準位（ｈｉｇｈ）のＲＥＱ信号がハードウエア資産に入力されると、ハードウエア資産は内部回路の機能設定及び入力されたパラメータにより、内部回路の運転を実行開始し（即ちステップＳ１４の演算の実行に対応）、並びに適当な応答を発生する（即ち演算結果出力）。ステップＳ３６のハードウエア動作は図３のＲＥＱ上昇縁５４に示されるようであり、外部回路がＲＥＱ信号を高準位に設定し、この時、ハードウエア資産の内部回路が運転開始する。
【００１７】
ステップＳ１６で、ソフトウエア関数応答値を待つ。関数式（１）について言えば、関数式（１）のパラメータがあり（ステップＳ１２）、関数式（１）も実行完了し（ステップＳ１６）、関数式（１）が関数式（１）の結果値（或いは応答値）を伝送する。
そのうち、ステップＳ１６は図２のステップＳ３８に対応し、即ち、確認（ＡＣＫ）信号待機する。ハードウエア資産が適当な運転を実行した後、結果値を発生し、並びに出力結果値の外部回路への出力準備を行ない、外部回路が結果値の受け取り準備ができているかが画定できないため、ハードウエア資産はＡＣＫ信号を待つ。外部回路がＡＣＫ信号を高準位に設定する時、即ち外部回路がすでに結果値を受け取る準備ができたことを示し、即ち、ハードウエア資産が結果値の外部回路への出力準備を行なう。ステップＳ３８のハードウエア動作は図３のＡＣＫ信号上昇縁５６に示されるようである。そのうち、外部回路がＡＣＫ信号を低準位から高準位とすると、ハードウエア資産は計算により得られた結果値の外部回路への出力準備を行なう。
【００１８】
ステップＳ１８で、ソフトウエア関数応答値を伝送する。関数式（１）がステップＳ１８で演算完成後に、関数式（１）の応答値を伝送する。ＣＮＴパラメータが５に設定される時、関数式（１）の演算の後、ＳＵＭパラメータの値１５を伝送する。そのうち、ステップＳ１８は図２のステップＳ４０の結果データ出力に対応する。ＲＥＱ信号及びＡＣＫ信号がいずれも高準位に設定される時、ハードウエア資産は演算の結果値を外部回路に出力し、即ち結果データ１５を出力する。ステップＳ４０のハードウエア動作は図３の結果データ上昇縁５８に示されるようであり、結果データ１５を出力する。
【００１９】
ステップＳ２０で、ソフトウエア関数を終了する。関数式（１）が結果値を伝送した後、関数式（１）はすでに目的を完成し、最後に関数式（１）の呼び出しを終了する。そのうち、ステップＳ２０は図２のステップＳ４２、即ちハードウエアリセットに対応する。ハードウエア資産が結果データを出力した後、すでに目的は達成され、ゆえにＲＥＱ信号は低準位に設定されて、内部に残るデータが次のハードウエア資産実行時に必要な状態に回復される。ステップＳ４２のハードウエア動作は図３のＲＥＱ信号下降縁６０に示されるとおりである。ＲＥＱ信号が低準位の時、ハードウエア資産は結果データ出力を停止し、並びにハードウエア資産内部の結果データをクリアして０とし、これは図３の結果データ信号下降縁６２に示されるとおりである。ＡＣＫ信号が低準位の時、結果データのクリアが完了したことを示し、これは図３のＡＣＫ信号下降縁６４に示されるとおりであり、このときハードウエア資産は次の演算の要求を受け取ることができる。
【００２０】
このほか、パラメータデータ入力及び結果データ出力と同時に、ダブルトラックデータ表示法を使用し、入出力の完成確保とエラー検出のメカニズムを実行する。ステップＳ３４でパラメータデータ入力と同時に、エラー検出／完成検出用パラータデータを入力し、例えば、補数技術を使用し、即ち、パラメータデータとエラー検出／完成検出用パラータデータの両者を相加した結果を−１として、ステップＳ４０に用いる。そのうち、エラー検出メカニズムの方式は多くあり、これに限定されるわけではない。ゆえに、パラメータデータＣＮＴ＝５を入力する時、エラー検出／完成検出用パラータデータＣＮＴ’＝−６も入力し、そのハードウエア動作は図３のエラー検出／完成検出用パラータデータ上昇縁５３に示されるようである。結果データＳＵＭ＝１５を出力する時、エラー検出／完成検出用結果データＳＵＭ’＝−１６も出力し、そのハードウエア動作は図３のエラー検出／完成検出用結果データ上昇縁５９に示されるようである。こうして、データ伝送の正確性を確保することができる。
【００２１】
本実施例のソフトウエア関数はハードウエア資産の動作或いは演算を表示するのに用いられ、ソフトウエア関数は重複して呼び出せ、これはハードウエア資産が重複して演算を実行できることを示し、最後にソフトウエア関数が実際のハードウエア構造に変換され、例えばソフトウエア関数が周知のハードウエア記述言語（ＶＨＤＬ）に変換され、さらにハードウエア記述言語が実際のハードウエア構造に変換され、こうしてソフトウエア関数によりハードウエア行為を記述する目的が達成される。このほか、ＳＯＣ設計時に、二つ以上のソフトウエア関数を使用し、ソフトウエア関数の対応するハードウエア資産の実行が上述のソフトウエア実行のステップによりなされ、クロック信号と関連がないため、ハードウエア資産の間のクロック信号は異なるものとされ得て、ゆえに同期設計或いは非同期設計のいずれのＳＯＣであっても、ハードウエア資産は正確に実行される。
【００２２】
以上から分かるように、本実施例のソフトウエア関数の発生するハードウエア資産は周知の同期の方式を採用した技術の発生する性能低下の欠点を回避することができる。総合すると、本発明は周知の技術よりも進歩性を具えている。
【００２３】
以上の実施例は本発明の実施範囲を限定するものではなく、本発明に基づきなしうる細部の修飾或いは改変は、いずれも本発明の請求範囲に属するものとする。
【図面の簡単な説明】
【００２４】
【図１】本発明のハードウエア資産を重複使用可能な協定方法のソフトウエアフローチャートである。
【図２】図１に対応するハードウエア資産動作のフローチャートである。
【図３】本発明のハードウエア資産動作の表示図である。
【符号の説明】
【００２５】
５０  ＣＬＲ上昇縁                ５２  パラメータデータ上昇縁
５３  エラー検出／完成検出用パラータデータ上昇縁
５４  ＲＥＱ上昇縁                ５６  ＡＣＫ上昇縁
５８  結果データ上昇縁
５９  エラー検出／完成検出用結果データ上昇縁
６０  ＲＥＱ及びＡＣＫ信号下降縁  ６２  結果データ下降縁
６３  エラー検出／完成検出用結果データ下降縁
６４  ＡＣＫ下降縁
【図１】
2005044328.tif 000003
【図２】
2005044328.tif 000004
【図３】
2005044328.tif 000005