(57)【要約】【課題】論理回路に調停回路を設けずに、共有リソースを共有化する論理回路を設計する。【解決手段】本実施の形態の設計装置は、スケジューリング部と、グループＩＤ割り当て部と、遷移違反検出部と、状態挿入部とを有する。スケジューリング部は、動作記述から生成されたコントロールデータフローグラフと、共有リソーススケジュール情報とに応じて、クロックに基づき遷移する複数の状態を生成する。グループＩＤ割り当て部は、複数の状態に所定の条件でグループＩＤを割り当てる。遷移違反検出部は、グループＩＤが割り当てられた複数の状態間に遷移違反があるか否かを検出する。状態挿入部は、遷移違反検出部で遷移違反が検出された場合、遷移違反が検出された状態間に新たな状態を追加する。【選択図】図２
2012068850.tif 000002
【特許請求の範囲】
【請求項１】
動作記述からＲＴＬ記述を生成する設計装置であって、
前記動作記述から生成されたコントロールデータフローグラフと、共有リソーススケジュール情報とに応じて、クロックに基づき遷移する複数の状態を生成するスケジューリング部と、
前記複数の状態に所定の条件でグループＩＤを割り当てるグループＩＤ割り当て部と、
前記グループＩＤが割り当てられた前記複数の状態間に遷移違反があるか否かを検出する遷移違反検出部と、
前記遷移違反検出部で遷移違反が検出された場合、遷移違反が検出された状態間に新たな状態を追加する状態挿入部と、
を有することを特徴とする設計装置。
【請求項２】
動作記述からＲＴＬ記述を生成する設計方法であって、
前記動作記述から生成されたコントロールデータフローグラフと、共有リソーススケジュール情報とに応じて、クロックに基づき遷移する複数の状態を生成し、
前記複数の状態に所定の条件でグループＩＤを割り当て、
前記グループＩＤが割り当てられた前記複数の状態間に遷移違反があるか否かを検出し、
前記遷移違反が検出された場合、遷移違反が検出された状態間に新たな状態を追加することを特徴とする設計方法。
【請求項３】
動作記述からＲＴＬ記述を生成する設計プログラムであって、
前記動作記述から生成されたコントロールデータフローグラフと、共有リソーススケジュール情報とに応じて、クロックに基づき遷移する複数の状態を生成するステップと、
前記複数の状態に所定の条件でグループＩＤを割り当てるステップと、
前記グループＩＤが割り当てられた前記複数の状態間に遷移違反があるか否かを検出するステップと、
前記遷移違反を検出するステップで遷移違反が検出された場合、遷移違反が検出された状態間に新たな状態を追加するステップと、
をコンピュータに実行させることを特徴とする設計プログラム。
【請求項４】
複数の論理回路が共有リソースをアクセスする半導体集積回路であって、
前記複数の論理回路のそれぞれは、クロックに応じて状態が遷移して所定の処理を行うとともに、それぞれ異なるグループＩＤに応じて、排他的に前記共有リソースをアクセスすることを特徴とする半導体集積回路。
【請求項５】
前記複数の論理回路のそれぞれは、前記複数の論理回路の個数分だけクロックをあけて前記共有リソースにアクセスすることを特徴とする請求項４に記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施の形態は、設計装置、設計方法、設計プログラム及び半導体集積回路に関する。
【背景技術】
【０００２】
従来、ハードウエア記述言語等により記述された動作記述からＲＴＬ（Register Transfer Level）記述の論理回路を設計する設計装置が知られている。このように設計された２つ以上の異なる論理回路間で、例えば、パイプライン演算器、ＲＡＭまたはＲＯＭ等の共有リソースを共有化する半導体集積回路を設計する場合、異なる論理回路間では、同一の時間（サイクル）に共有リソースを使用することができないため、使用する時間をずらす必要があった。
【０００３】
そのため、調停回路を設計し、異なる論理回路のそれぞれに設計した調停回路を組み込む必要がある。そして、異なる論理回路のそれぞれに組み込まれた調停回路間で通信することにより、異なる論理回路間で同一の時間に共有リソースを使用しないように設計している。
【０００４】
しかしながら、異なる論理回路のそれぞれに調停回路を組み込み、互いに通信した場合、例えば、２つの論理回路が同時に共有リソースを使用しようとすると、いずれかの論理回路が動作を待たされることになる。この論理回路は途中で動作が中断されることになるため、動作が再開した際に正しい動作にならない場合もある。この場合、論理回路を再設計する必要があるという問題があった。
【０００５】
また、論理回路の動作が調停部分で損なわれ、正しく動作する保障もなくなり、新たに論理検証を行う必要が発生し、既設計の設計データを再利用したとしても設計期間が短縮できないという問題があった。
【０００６】
さらに、共有リソースの共有化が正しく行われているかを新たに検証する必要が出てくるので、新規の検査データを用意することとなり、ますます設計期間が増大するという問題もあった。
【０００７】
このように、従来は、論理回路に調停回路を設けずに、共有リソースを共有化する論理回路を設計することは困難であった。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００９−２３８０８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本実施の形態では、論理回路に調停回路を設けずに、共有リソースを共有化する論理回路を設計する設計装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本実施の形態の設計装置は、スケジューリング部と、グループＩＤ割り当て部と、遷移違反検出部と、状態挿入部とを有する。スケジューリング部は、動作記述から生成されたコントロールデータフローグラフと、共有リソーススケジュール情報とに応じて、クロックに基づき遷移する複数の状態を生成する。グループＩＤ割り当て部は、複数の状態に所定の条件でグループＩＤを割り当てる。遷移違反検出部は、グループＩＤが割り当てられた複数の状態間に遷移違反があるか否かを検出する。状態挿入部は、遷移違反検出部で遷移違反が検出された場合、遷移違反が検出された状態間に新たな状態を追加する。
【図面の簡単な説明】
【００１１】
【図１】本実施の形態に係る情報処理システムの構成を示す図である。
【図２】本実施の形態に係る設計装置の構成を示す図である。
【図３】共有リソーススケジュール情報の例を示す図である。
【図４】状態遷移機械の例を示す図である。
【図５】グループＩＤが割り当てられた状態遷移機械の例を示す図である。
【図６】新たな状態を追加した状態遷移機械の例を示す図である。
【図７】設計装置の設計処理の例を示すフローチャートである。
【図８】本実施の形態に係る半導体集積回路の構成を示すブロック図である。
【図９】半導体集積回路の他の構成例を示すブロック図である。
【図１０】半導体集積回路の他の構成例を示すブロック図である。
【図１１】３つの論理回路で共有リソースを使用する半導体集積回路の構成を示すブロック図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
【００１３】
まず、図１に基づき、本実施の形態に係る情報処理システムの構成について説明する。
【００１４】
図１は、本実施の形態に係る情報処理システムの構成を示す図である。
【００１５】
図１に示すように、情報処理システム２００は、本体装置２０１と、各種データを記憶する記憶装置２０２と、各種データを表示する表示装置２０３とを有して構成されている。本体装置２０１は、パーソナルコンピュータ等のコンピュータ装置本体であり、ＣＰＵ２０１ａ、図示しない主メモリなどを搭載している。また、本体装置２０１は、入力装置として、キーボード２０４及びマウス２０５が接続されている。本体装置２０１は、これらの入力装置からの指示に基づいて、各種プログラムを実行する。
【００１６】
記憶装置２０２には、ハードウエア記述言語等により記述された動作記述２０６と、この動作記述２０６から生成されるＲＴＬ記述２０７と、動作記述２０６からＲＴＬ記述２０７を生成する機能のプログラムを有する設計プログラム２０８とが記憶されている。
【００１７】
ユーザは、キーボード２０４及びマウス２０５を用い、ハードウエア記述言語等により記述された動作記述２０６を入力とし、設計プログラム２０８を本体装置２０１上において実行することにより、ＲＴＬ記述２０７を得ることができる。このように、設計プログラム２０８を実行可能な本体装置２０１が、後述する本実施の形態の設計装置１を構成する。なお、動作記述２０６及びＲＴＬ記述２０７は、記憶装置２０２に記憶されるが、他の記憶媒体に記憶されてもよい。
【００１８】
ここで、このように構成される設計装置１の構成について説明する。
【００１９】
図２は、本実施の形態に係る設計装置の構成を示す図である。
【００２０】
図２に示すように、設計装置１は、構文解析部１１と、スケジューリング部１２と、アロケーション部１３と、ＲＴＬ生成部１４とを有して構成されている。本実施の形態では、このスケジューリング部１２を拡張して構成される。即ち、スケジューリング部１２は、スケジューリング部２１と、グループＩＤ割り当て部２２と、遷移違反抽出部２３と、状態挿入部２４とを有して構成される。
【００２１】
構文解析部１１には、動作記述２０６が入力される。構文解析部１１は、動作記述２０６の記述の構文を解析し、コントロールデータフローグラフ（以下、ＣＤＦＧという）３１を生成する。構文解析部１１により生成されたＣＤＦＧ３１は、スケジューリング部２１に供給される。また、スケジューリング部２１には、共有リソーススケジュール情報３２が供給される。
【００２２】
図３は、共有リソーススケジュール情報の例を示す図である。
【００２３】
共有リソーススケジュール情報３２は、後述する共有リソースとグループＩＤとを結びつけるための情報である。図３に示すように、共有リソーススケジュール情報３２は、共有リソース毎にスケジュールしてもよい状態（ステート）のグループＩＤを関連付けたものである。
【００２４】
スケジューリング部２１は、ＣＤＦＧ３１及び共有リソーススケジュール情報３２に応じてスケジューリング処理を行い、状態遷移機械４０を生成する。
【００２５】
図４は、状態遷移機械の例を示す図である。
【００２６】
図４に示すように、状態遷移機械４０は、複数の状態４１〜４９を有している。図４の例では、最初の状態を状態４１とし、状態４１から遷移する状態を状態４２とする。次に、状態４２から分岐条件に応じて分岐する一方の状態を状態４３とし、状態４３から順次遷移する状態を状態４４〜４７とする。そして、状態４２から分岐する他方の状態を状態４８とし、状態４８から遷移する状態を状態４９とする。また、状態４６は、分岐条件に応じて状態４２または状態４７に遷移する。これら複数の状態４１〜４９は、クロック信号の１サイクル毎に状態を変化する。
【００２７】
グループＩＤ割り当て部２２は、状態遷移機械４０の状態４１〜４９に所定の条件でグループＩＤを割り当てる。ここでは、グループＩＤ割り当て部２２は、あるグループＩＤを有する状態からは、決まったグループＩＤを有する状態にのみ遷移するようにグループＩＤを割り当てる。例えば、グループＩＤが０の状態の遷移先はグループＩＤが１の状態となり、グループＩＤが１の状態の遷移先はグループＩＤが０の状態となる。このようにグループＩＤ割り当て部２２によってグループＩＤが割り当てられた状態遷移機械４０を図５に示す。
【００２８】
図５は、グループＩＤが割り当てられた状態遷移機械の例を示す図である。
【００２９】
図５に示すように、グループＩＤ割り当て部２２は、最初の状態４１にグループＩＤ０を割り当て、状態４１からの遷移先である状態４２にグループＩＤ１を割り当てる。次に、グループＩＤ割り当て部２２は、状態４２からの遷移先である状態４３及び４８にグループＩＤ０を割り当てる。グループＩＤ割り当て部２２は、同様の手順により、状態４４、４６及び４９にグループＩＤ１を割り当て、状態４５及び４７にグループＩＤ０を割り当てる。なお、図５の例では、状態４１〜４９において、グループＩＤが０の状態を白丸で示し、グループＩＤが１の状態を黒丸で示している。
【００３０】
遷移違反抽出部２３は、このようにグループＩＤが割り当てられた状態遷移機械４０の遷移違反を抽出する。上述したように、グループＩＤ０からはグループＩＤ１に遷移し、グループＩＤ１からはグループＩＤ０に遷移するように、各状態４１〜４９にグループＩＤが割り当てられるが、図５の例では、２箇所で遷移違反が存在している。状態４９から状態４６への遷移と、状態４６から状態４２への遷移とが、グループＩＤ１からグループＩＤ１への遷移となり、遷移違反となる。そのため、遷移違反抽出部２３は、状態４９から状態４６への遷移と、状態４６から状態４２への遷移とを遷移違反として抽出する。
【００３１】
遷移違反抽出部２３により状態遷移機械４０の遷移違反が抽出された場合、状態挿入部２４は、この遷移違反を解決するために、遷移違反が抽出された状態間、ここでは、状態４９と状態４６との間、及び、状態４６と状態４２との間にそれぞれ新たな状態を追加する。
【００３２】
図６は、新たな状態を追加した状態遷移機械の例を示す図である。なお、新たな状態が追加された状態遷移機械４０を状態遷移機械４０ａとする。
【００３３】
図６に示すように、状態４９と状態４６との間にグループＩＤが０の状態５０が状態挿入部２４により新たに追加される。同様に、状態４６と状態４２との間にグループＩＤが０の状態５１が状態挿入部２４により新たに追加される。状態挿入部２４において新たな状態５０及び５１が追加されると、スケジューリング部２１に戻り、同様の処理を繰り返す。これにより、新たに追加された状態５０及び５１は、グループＩＤ割り当て部２２によりグループＩＤ０が割り当てられる。そして、遷移違反抽出部２３において、遷移違反がないと判定されると、状態遷移機械４０ａがアロケーション部１３に出力される。
【００３４】
アロケーション部１３は、入力された状態遷移機械４０ａに対しアロケーション処理を行い、共有化する共有リソースの割り当てを行う。このとき、アロケーション部１３は、ある特定のグループＩＤの状態にのみ共有リソースを割り当てるようにする。例えば、アロケーション部１３は、共有化する共有リソース１０２を、グループＩＤが１の状態でのみ使用するように割り当てる。
【００３５】
ＲＴＬ生成部１４は、アロケーション処理後のデータを用いてＲＴＬ記述２０７を生成する。これにより、グループＩＤが１の状態でのみ共有化する共有リソースを使用する論理回路が設計される。
【００３６】
ここで、このように構成される設計装置１の設計処理について説明する。
【００３７】
図７は、設計装置の設計処理の例を示すフローチャートである。
【００３８】
まず、動作記述２０６の構文解析が行われ、ＣＤＦＧ３１が生成される（ステップＳ１）。ＣＤＦＧ３１及び共有リソーススケジュール情報３２に応じてスケジューリング処理が行われ、状態遷移機械が生成される（ステップＳ２）。次に、状態遷移機械の各状態に所定の条件でグループＩＤが割り当てられる（ステップＳ３）。次に、グループＩＤが割り当てられた状態について、遷移違反があるか否かが判定される（ステップＳ４）。遷移違反がある場合、ＹＥＳとなり、遷移違反と判定された状態間に新たな状態が挿入され（ステップＳ５）、ステップＳ２に戻り、同様の処理を繰り返す。一方、遷移違反がない場合、ＮＯとなり、特定のグループＩＤの状態にのみ共有リソースが割り当てられる（ステップＳ６）。最後に、ＲＴＬ記述２０７が生成され（ステップＳ７）、処理を終了する。
【００３９】
上述した説明では、グループＩＤが１の状態でのみ共有化する共有リソースを使用する論理回路を設計することに説明したが、同様の手順により状態遷移機械の設計を行い、グループＩＤが０の状態でのみ共有化する共有リソースを使用する論理回路を設計する。そして、このように設計した複数の論理回路と共有リソースとを組み合わせる。これにより、ユーザは、グループＩＤが１の状態でのみ共有化する共有リソースを使用する論理回路と、グループＩＤが０の状態でのみ共有化する共有リソースを使用する論理回路とで共有リソースを共有化する半導体集積回路を設計することができる。ここで、このように設計される半導体集積回路について説明する。
【００４０】
図８は、本実施の形態に係る半導体集積回路の構成を示すブロック図である。
【００４１】
図８に示すように、半導体集積回路１００は、複数、ここでは、２つの論理回路１０１ａ及び１０１ｂと、共有リソース１０２とを有して構成されている。
【００４２】
論理回路１０１ａ及び１０１ｂは、それぞれ論理回路１０１ａ及び１０１ｂの制御部分となる状態遷移機械４０ａ及び４０ｂを有する。
【００４３】
状態遷移機械４０ａ及び４０ｂは、それぞれ複数の状態４１〜５１及び状態５２〜５７を有し、クロック信号の１サイクル毎に状態を変化し、その状態における論理回路１０１ａ及び１０１ｂの制御を行う。
【００４４】
論理回路１０１ａは、図６に示す状態遷移機械４０ａを有しており、グループＩＤが１の状態でのみ共有化する共有リソース１０２を使用、即ち、アクセスする。また、論理回路１０１ｂの状態遷移機械４０ｂは、グループＩＤが０の状態でのみ共有化する共有リソース１０２を使用、即ち、アクセスするように設計されている。そのため、論理回路１０１ｂは、グループＩＤが０の状態でのみ共有化する共有リソース１０２を使用する。
【００４５】
即ち、最初のサイクルを第１のサイクルとした場合、第１のサイクルでは、状態遷移機械４０ｂの状態５２が共有リソース１０２を使用し、第２のサイクルでは、状態遷移機械４０ａの状態４２が共有リソース１０２を使用する。同様の、第３のサイクルでは、状態遷移機械４０ｂの状態５４が共有リソース１０２を使用し、第４のサイクルでは、分岐条件に応じて、状態遷移機械４０ａの状態４４または状態４９が共有リソース１０２を使用する。
【００４６】
このように構成された半導体集積回路１００は、論理回路１０１ａでは、偶数サイクルでのみ共有リソース１０２を使用し、論理回路１０１ｂでは、奇数サイクルでのみ共有リソース１０２を使用する、即ち、論理回路１０１ａ及び論理回路１０１ｂは、排他的に共有リソース１０２を使用するようになっている。そのため、半導体集積回路１００は、異なる論理回路１０１ａ及び１０１ｂ間において、調停回路なしで共有リソース１０２を共有化することができる。
【００４７】
また、このように設計された論理回路１０１ａ及び１０１ｂ間では、調停回路なしで共有リソース１０２の共有化が行えるため、新たな検証作業が必要なく、論理回路の設計期間を短縮することができる。
【００４８】
また、半導体集積回路１００の論理回路１０１ａ及び１０１ｂの動作は、互いの動作とは独立、即ち、途中で動作が中断されることがないため、共有化前後での動作は全く同じであり、接続後も特別な検証作業は不要となる。
【００４９】
また、論理回路１０１ａと論理回路１０１ｂとは、異なるグループＩＤで共有リソース１０２を共有化しているが、動作を開始するサイクルを１サイクルずらすことにより、同じグループＩＤで共有リソース１０２を共有化する異なる論理回路同士で共有リソースを共有化することもできる。
【００５０】
また、本実施の形態では、論理回路１０１ａ及び１０１ｂをそれぞれ設計して組み合わせるように説明したが、本実施の形態のとおり設計した複数の論理回路を保存しておけば、たとえ共有リソース１０２の共有化があった場合も、使用目的に合わせてその既設計の論理回路の中から自由に論理回路を組み合わせて、全体としての動作を実現することも可能である。
【００５１】
なお、状態遷移機械４０ａの状態４１〜５１において、グループＩＤ０の状態とグループＩＤ１の状態とを１サイクル毎に割り当てているが、これに限定されるものではない。例えば、設計装置１を用いて、グループＩＤ０の状態とグループＩＤ１の状態とを２サイクル毎に割り当てた状態遷移機械を有する論理回路、あるいは、グループＩＤ０の状態を２サイクル割り当てた後、グループＩＤ１の状態を１サイクル割り当てた状態遷移機械を有する論理回路を生成することもできる。そして、このように生成された論理回路を組み合わせて、以下のような半導体集積回路を設計することができる。
【００５２】
図９及び図１０は、半導体集積回路の他の構成例を示すブロック図である。なお、図９及び図１０において、図８と同様の構成については同一の符号を付して説明を省略する。
【００５３】
図９に示す半導体集積回路１００ａは、論理回路１０１ｃ及び１０１ｄと、共有リソース１０２とを有して構成されている。
【００５４】
論理回路１０１ｃ及び１０１ｄは、それぞれ状態遷移機械４０ｃ及び４０ｄを有している。状態遷移機械４０ｃは、複数の状態５８〜６３を有し、状態遷移機械４０ｄは、複数の状態６４〜６９を有して構成される。状態遷移機械４０ｃの状態５８〜６３及び状態遷移機械４０ｄの状態５８〜６３は、それぞれ２サイクル毎にグループＩＤが遷移するように設計されている。
【００５５】
そして、状態遷移機械４０ｃは、グループＩＤが１の状態でのみ共有化する共有リソース１０２を使用し、状態遷移機械４０ｄは、グループＩＤが０の状態でのみ共有化する共有リソース１０２を使用するように設計される。
【００５６】
これにより、状態遷移機械４０ｃは、グループＩＤが１の状態６０及び６１で共有リソース１０２を共有し、状態遷移機械４０ｄは、グループＩＤが０の状態６４，６５，６７及び６８で共有リソース１０２を共有する。
【００５７】
このように構成された半導体集積回路１００ａによれば、図８の半導体集積回路１００と同様に、異なる論理回路１０１ｃ及び１０１ｄ間において、調停回路なしで共有リソース１０２を共有化することができる。
【００５８】
また、図１０に示す半導体集積回路１００ｂは、論理回路１０１ｅ及び１０１ｆと、共有リソース１０２とを有して構成されている。
【００５９】
論理回路１０１ｅ及び１０１ｆは、それぞれ状態遷移機械４０ｅ及び４０ｆを有している。状態遷移機械４０ｅは、複数の状態７０〜７５を有し、状態遷移機械４０ｆは、複数の状態７６〜８１を有して構成される。状態遷移機械４０ｅの状態７０〜７５及び状態遷移機械４０ｆの状態７６〜８１は、それぞれグループＩＤ０の状態を２サイクル割り当てた後、グループＩＤ１の状態を１サイクル割り当てるように設計されている。
【００６０】
そして、状態遷移機械４０ｅは、グループＩＤが１の状態でのみ共有化する共有リソース１０２を使用し、状態遷移機械４０ｆは、グループＩＤが０の状態でのみ共有化する共有リソース１０２を使用するように設計される。
【００６１】
これにより、状態遷移機械４０ｅは、グループＩＤが１の状態７２及び７５で共有リソース１０２を共有し、状態遷移機械４０ｆは、グループＩＤが０の状態７６，７７，７９及び８０で共有リソース１０２を共有する。
【００６２】
このように構成された半導体集積回路１００ｂによれば、図８の半導体集積回路１００と同様に、異なる論理回路１０１ｅ及び１０１ｆ間において、調停回路なしで共有リソース１０２を共有化することができる。
【００６３】
また、論理回路１０１ｅは、共有リソース１０２を３サイクルに１回使用し、論理回路１０１ｆは、共有リソース１０２を３サイクルに２回使用する。そのため、半導体集積回路１００ｂは、異なる論理回路１０１ｅ及び１０１ｇ間で共有リソース１０２を使用する頻度が異なる場合に有効となる。
【００６４】
また、本実施の形態では、２つの論理回路、図８の例では、論理回路１０１ａ及び１０１ｂが共有リソース１０２を使用することについて説明したが、３つ以上の論理回路で共有リソース１０２を使用するように構成してもよい。以下では、３つの論理回路で共有リソースを使用する半導体集積回路について説明する。
【００６５】
図１１は、３つの論理回路で共有リソースを使用する半導体集積回路の構成を示すブロック図である。
【００６６】
図１１に示すように、半導体集積回路１００ｃは、３つの論理回路１０１ｇ、１０１ｈ及び１０１ｉと、共有リソース１０２とを有して構成されている。
【００６７】
論理回路１０１ｇ、１０１ｈ及び１０１ｉは、それぞれ状態遷移機械４０ｇ、４０ｈ及び４０ｉを有している。状態遷移機械４０ｇは、複数の状態８２〜８７を有し、状態遷移機械４０ｈは、複数の状態８８〜９３を有し、状態遷移機械４０ｉは、複数の状態９４〜９９を有して構成される。
【００６８】
状態遷移機械４０ｇの状態８２〜８７は、グループＩＤが０の状態からはグループＩＤが１の状態に遷移し、グループＩＤが１の状態からはグループＩＤが２の状態に遷移し、グループＩＤが２の状態からはグループＩＤが０の状態に遷移するように設計される。即ち、状態遷移機械４０ｇの最初の状態８２にグループＩＤ０が割り当てられ、状態８２からの遷移先である状態８３にグループＩＤ１が割り当てられる。次に、状態８３からの遷移先である状態８４にグループＩＤ２が割り当てられ、状態８４からの遷移先である状態８５にグループＩＤ０が割り当てられる。なお、状態８２〜８７において、グループＩＤが０の状態を白丸で示し、グループＩＤが１の状態を黒丸で示し、グループＩＤが２の状態を斜線付きの丸で示している。また、状態遷移機械４０ｈ及び４０ｉについても状態遷移機械４０ｇと同様に設計される。
【００６９】
そして、状態遷移機械４０ｇは、グループＩＤが１の状態でのみ共有化する共有リソース１０２を使用し、状態遷移機械４０ｈは、グループＩＤが０の状態でのみ共有化する共有リソース１０２を使用し、状態遷移機械４０ｉは、グループＩＤが２の状態でのみ共有化する共有リソース１０２を使用するように設計される。
【００７０】
これにより、状態遷移機械４０ｇは、グループＩＤが１の状態８３及び８６で共有リソース１０２を共有し、状態遷移機械４０ｈは、グループＩＤが０の状態８８及び９１で共有リソース１０２を共有し、状態遷移機械４０ｉは、グループＩＤが２の状態９６及び９９で共有リソース１０２を共有する。
【００７１】
このように構成された半導体集積回路１００ｃによれば、３つの論理回路１０１ｇ、１０１ｈ及び１０１ｉは、論理回路の個数分だけクロックをあけて、即ち、図１１の例では、３クロックあけて共有リソース１０２を使用するため、３つの論理回路１０１ｇ、１０１ｈ及び１０１ｉ間において、調停回路なしで共有リソース１０２を使用することができる。
【００７２】
また、設計装置１で設計された図８〜図１１に示す論理回路１０１ａ〜１０１ｉをＩＰ群として管理し、設計した論理回路１０１ａ〜１０１ｉを再利用するとともに組み合わせを自由に選択して、上述した半導体集積回路１００，１００ａ、１００ｂ及び１００ｃを設計できるので、設計期間を短縮することができる。
【００７３】
なお、以上説明した動作を実行する設計プログラムは、コンピュータプログラム製品として、フレキシブルディスク、ＣＤ−ＲＯＭ等の可搬媒体や、ハードディスク等の記憶媒体に、その全体あるいは一部が記録され、あるいは記憶されている。そのプログラムがコンピュータにより読み取られて、動作の全部あるいは一部が実行される。あるいは、そのプログラムの全体あるいは一部を通信ネットワークを介して流通または提供することができる。利用者は、通信ネットワークを介してそのプログラムをダウンロードしてコンピュータにインストールしたり、あるいは記録媒体からコンピュータにインストールすることで、容易に本実施の形態の設計装置を実現することができる。
【００７４】
また、本明細書におけるフローチャート中の各ステップは、その性質に反しない限り、実行順序を変更し、複数同時に実行し、あるいは実行毎に異なった順序で実行してもよい。
【００７５】
本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を変えない範囲において、種々の変更、改変等が可能である。
【符号の説明】
【００７６】
１…設計装置、１１…構文解析部、１２…スケジューリング部、１３…アロケーション部、１４…ＲＴＬ生成部、２１…スケジューリング部、２２…グループＩＤ割り当て部、２３…遷移違反抽出部、２４…状態挿入部、３１…コントロールデータフローグラフ、３２…共有リソーススケジュール情報、４０，４０ａ〜４０ｉ…状態遷移機械、４１〜９９…状態、１００，１００ａ〜１００ｃ…半導体集積回路、１０１ａ〜１０１ｉ…論理回路、１０２…共有リソース、２００…情報処理システム、２０１…本体装置、２０２…記憶装置、２０３…表示装置、２０４…キーボード、２０５…マウス、２０６…動作記述、２０７…ＲＴＬ記述、２０８…設計プログラム。
【図１】
2012068850.tif 000003
【図２】
2012068850.tif 000004
【図３】
2012068850.tif 000005
【図４】
2012068850.tif 000006
【図５】
2012068850.tif 000007
【図６】
2012068850.tif 000008
【図７】
2012068850.tif 000009
【図８】
2012068850.tif 000010
【図９】
2012068850.tif 000011
【図１０】
2012068850.tif 000012
【図１１】
2012068850.tif 000013