(57)【特許請求の範囲】
【請求項１】
半導体装置を構成する制御対象のブロック回路と、前記ブロック回路を制御する制御回路とを所定のフロアに配置し、前記制御回路の配置に対して良否判定を行う配置検証装置であって、
回路仕様に基づき、前記ブロック回路を前記フロアに配置するフロアプラン生成部と、
前記フロアに配置した前記ブロック回路、及び前記回路仕様に記載の前記制御回路を、所定の基準に基づき階層的にグループ化し、グループツリーを生成するグルーピング生成部と、
所定の条件及び前記グルーピング生成部で生成した前記グループツリーに基づき、前記制御回路を前記フロアに配置する制御回路配置部と、
前記制御回路配置部による前記制御回路の配置に対して良否判定を行う良否判定部とを備える配置検証装置。
【請求項２】
請求項１に記載の配置検証装置であって、
前記グルーピング生成部は、階層毎に前記所定の基準を設定することが可能であることを特徴とする配置検証装置。
【請求項３】
請求項１又は請求項２に記載の配置検証装置であって、
前記グルーピング生成部は、ドメインを考慮して前記ブロック回路をグループ化することを特徴とする配置検証装置。
【請求項４】
請求項１乃至請求項３のいずれか１つに記載の配置検証装置であって、
前記制御回路配置部における前記所定の条件は、前記ブロック回路と前記制御回路との間、又は前記制御回路と前記制御回路との間の制御信号数に応じて前記制御回路の配置位置を決定することを特徴とする配置検証装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、配置検証装置に係る発明であって、特に、半導体装置を構成するブロック回路を制御する制御回路の配置を検証する配置検証装置に関するものである。
【背景技術】
【０００２】
半導体装置を構成する制御対象のブロック回路と、ブロック回路を制御する制御回路とを所定のフロアに配置する設計を行う場合、従来は論理回路部分のネットリストを作成した後に、制御回路を人手で挿入して、その良否判定を配置配線工程を経て後に行っていた。具体的に、ネットリストを生成後にレイアウトの適正を確認する装置が特許文献１に開示されている。
【０００３】
【特許文献１】特開２００６−３０１７８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、従来手法では、制御回路構成の良否判定を行うために、回路全体のネットリストを準備し、その後制御回路を挿入し結線した上で、配置配線処理を経由しなければならず、良否判定が完了するまでに長時間（数日〜数週間）を要していた。さらに、従来手法では、良否判定が完了するまでに長時間要する時間的制約から、制御回路の配置が異なる複数の回路構成を試行することが、開発段階においては困難であった。
【０００５】
そこで、本発明は、ブロック回路を制御する制御回路の配置に対して良否判定が完了するまでの期間を短縮できる配置検証装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る解決手段は、半導体装置を構成する制御対象のブロック回路と、ブロック回路を制御する制御回路とを所定のフロアに配置し、制御回路の配置に対して良否判定を行う配置検証装置であって、回路仕様に基づき、ブロック回路をフロアに配置するフロアプラン生成部と、フロアに配置したブロック回路、及び回路仕様に記載の制御回路を、所定の基準に基づき階層的にグループ化し、グループツリーを生成するグルーピング生成部と、所定の条件及びグルーピング生成部で生成したグループツリーに基づき、制御回路をフロアに配置する制御回路配置部と、制御回路配置部による制御回路の配置に対して良否判定を行う良否判定部とを備える。
【発明の効果】
【０００７】
本発明に記載の配置検証装置は、フロアプラン生成部が回路仕様に基づき、ブロック回路をフロアに配置し、グルーピング生成部がフロアに配置したブロック回路、及び回路仕様に記載の制御回路を、所定の基準に基づき階層的にグループ化して、グループツリーを生成し、制御回路配置部が所定の条件及びグルーピング生成部で生成したグループツリーに基づき、制御回路をフロアに配置し、良否判定部が制御回路の配置に対して良否判定を行うので、制御回路の配置に対して良否判定が完了するまでの期間を短縮できる。さらに、本発明に記載の配置検証装置では、ネットリスト等が不要で回路仕様に基づいて良否判定できるので設計手戻りが削減でき、且つ複数の配置を検討できるので最適な配置を選択でき設計品質が向上する。
【発明を実施するための最良の形態】
【０００８】
（実施の形態１）
図１に、本実施の形態に係る配置検証装置のブロック図を示す。図１に示す配置検証装置では、回路仕様に基づき、ブロック回路をフロアに配置するフロアプラン生成部１が図示されている。回路仕様には、半導体装置を構成するブロック回路及び制御回路を規定する情報が記述されており、例えばブロック回路のフロアでの配置情報や、制御回路の階層情報などである。また、本発明に係る配置検証装置が対象とする半導体装置はメモリに限定されないが、半導体装置がメモリである場合、ブロック回路はメモリブロックで制御回路は当該メモリブロックを制御するメモリ制御回路となる。
【０００９】
フロアプラン生成部１が生成したフロアプランを図２に示す。図２では、２ユニット（単位任意）×２ユニットのフロア１０に１２個のブロック回路１１が４つの塊となって配置されている。つまり、IとIIのブロック回路１１、III〜VIのブロック回路１１、VII〜Xのブロック回路１１、XIとXIIのブロック回路１１の４つの塊が図２に図示されている。
【００１０】
次に、図１に示すグルーピング生成部２は、所定の基準に基づき図２に示すフロアプランのブロック回路１１をグループ化する。ブロック回路１１をグループ化した例が図３（ａ）〜（ｂ）に図示されている。まず、図３（ａ）の基準では、距離制約として１ユニット内に含まれるブロック回路１１をグループ化する。つまり、図３（ａ）では、IとIIのブロック回路１１がグループａに、III〜VIのブロック回路１１がグループｃに、VII〜Xのブロック回路１１がグループｂに、XIとXIIのブロック回路１１がグループｄにそれぞれグループ化されている。
【００１１】
また、図３（ｂ）の基準では、接続数制約として最大ブロック数を２個に制限してブロック回路１１をグループ化する。つまり、図３（ｂ）では、IとIIのブロック回路１１がグループａに、IIIとVのブロック回路１１がグループｂに、IVとVIのブロック回路１１がグループｃに、VIIとIXのブロック回路１１がグループｄに、VIIIとXのブロック回路１１がグループeに、XIとXIIのブロック回路１１がグループｆにそれぞれグループ化されている。さらに、図３（ｃ）の基準では、接続数制約として最大ブロック数を３個に制限してブロック回路１１をグループ化する。つまり、図３（ｃ）では、I〜IIIのブロック回路１１がグループａに、IV〜VIのブロック回路１１がグループｂに、VII〜IXのブロック回路１１がグループｃに、X〜XIIのブロック回路１１がグループｄにそれぞれグループ化されている。
【００１２】
なお、本実施の形態では、グルーピングする所定の基準として距離制約と接続数制約について説明したが、本発明はこれに限られず他の基準や複数の基準を組み合わせた基準に基づいてグループ化しても良い。さらに、各階層毎に異なる基準を適用しても良い。
【００１３】
次に、グルーピング生成部２は、回路仕様に記載された制御回路を階層的にグループ化する。具体的に説明すると、図３（ａ）でグループ化されたブロック回路１１に対して、接続する最大ブロック数を２個と回路仕様に記載された第１階層目の制御回路は、図４（ａ）のグループツリーのＸ，Ｙのように示される。制御回路Ｘは、グループａとグループｃとが接続され、制御回路Ｙは、グループｂとグループｄとが接続されている。
【００１４】
さらに、第２階層目の制御回路も、回路仕様において接続する最大ブロック数を２個に制約されており、図４（ａ）のグループツリーのＺのように示される。制御回路Ｚは、制御回路Ｘと制御回路Ｙとが接続されている。このように、グルーピング生成部２では、図３（ａ）のフロアプランに対して、ブロック回路１１と制御回路とを含む３層構造のグループツリーを生成する（図４（ａ））。
【００１５】
同様に、グルーピング生成部２は、図３（ｂ）のフロアプランに対して、ブロック回路１１と制御回路とを含む３層構造のグループツリーを生成する（図４（ｂ））。なお、図４（ｂ）のグループツリーに示すように、第２階層目の制御回路Ｓは、回路仕様において接続する最大ブロック数を３個に制約されており、制御回路Ｐと制御回路Ｑと制御回路Ｒとが接続されている。
【００１６】
また、グルーピング生成部２は、図３（ｃ）のフロアプランに対して、ブロック回路１１と制御回路とを含む３層構造のグループツリーを生成する（図４（ｃ））。なお、図４（ｃ）のグループツリーに示すように、ブロック回路１１の階層は最大ブロック数を３個に制約されているが、第１及び第２階層目の制御回路は、回路仕様において接続する最大ブロック数を２個に制約されているので、制御回路Ｐはグループａとグループｂに接続され、制御回路Ｑはグループｃとグループｄに接続され、制御回路Ｒは制御回路Ｐと制御回路Ｑとが接続されている。
【００１７】
次に、図１に示す制御回路配置部３は、所定の条件及びグルーピング生成部２で生成したグループツリーに基づき、制御回路をフロア１０に配置する。つまり、グループツリーに従って、制御回路の代表点を、ブロック回路１１がグループ化されたフロア１０に仮想的に配置する。このとき、所定の条件としては、ブロック回路１１と制御回路との間、又は制御回路と制御回路との間の制御信号数に応じて制御回路の配置位置を決定する。
【００１８】
具体的に説明すると、図３（ａ）のフロアプランに対して、図４（ａ）のグループツリーに従って制御回路を配置した図が図５（ａ）である。図５（ａ）では、制御回路Ｘが、グループａとグループｃとの間に配置されることになるが、制御回路Ｘとグループａとの制御信号数（接続数）が２つ、制御回路Ｘとグループｃとの制御信号数（接続数）が４つなので、よりグループｃに近い側に制御回路Ｘが配置される。同様に、図５（ａ）では、制御回路Ｙが、グループｂとグループｄとの間に配置されることになるが、制御回路Ｙとグループｂとの制御信号数（接続数）が４つ、制御回路Ｙとグループｄとの制御信号数（接続数）が２つなので、よりグループｂに近い側に制御回路Ｙが配置される。さらに、図５（ａ）では、制御回路Ｚが、制御信号数（接続数）を考慮した制御回路Ｘと制御回路Ｙとの間に配置されている。
【００１９】
さらに別の例では、図３（ｂ）のフロアプランに対して、図４（ｂ）のグループツリーに従って制御回路を配置した図が図５（ｂ）である。図５（ｂ）では、制御回路Ｐが、グループａとグループｂとの間に配置されることになるが、制御回路Ｐとグループａとの制御信号数（接続数）が２つ、制御回路Ｐとグループｂとの制御信号数（接続数）が２つなので、ほぼ両者から均等の位置に制御回路Ｐが配置される。同様に、図５（ｂ）では、制御回路Ｑがグループｄとグループｅとの間に配置され、制御回路Ｒがグループｃとグループｆとの間に配置され、それぞれ制御信号数（接続数）を考慮した位置に配置される。さらに、図５（ｂ）では、制御回路Ｓが、制御信号数（接続数）を考慮した制御回路Ｐと制御回路Ｑと制御回路Ｒとの間に配置されている。
【００２０】
さらに別の例では、図３（ｃ）のフロアプランに対して、図４（ｃ）のグループツリーに従って制御回路を配置した図が図５（ｃ）である。図５（ｃ）では、制御回路Ｐが、グループａとグループｂとの間に配置されることになるが、制御回路Ｐとグループａとの制御信号数（接続数）が３つ、制御回路Ｐとグループｂとの制御信号数（接続数）が３つなので、ほぼ両者から均等の位置に制御回路Ｐが配置される。同様に、図５（ｃ）では、制御回路Ｑが、グループｃとグループｄとの間に配置されることになるが、制御回路Ｑとグループｃとの制御信号数（接続数）が３つ、制御回路Ｑとグループｄとの制御信号数（接続数）が３つなので、ほぼ両者から均等の位置に制御回路Ｑが配置される。さらに、図５（ｃ）では、制御回路Ｒが、制御信号数（接続数）を考慮した制御回路Ｐと制御回路Ｑとの間に配置されている。
【００２１】
次に、図１に示す良否判定部４は、図５（ａ）乃至図５（ｃ）のように配置された制御回路に対して、総配線長や配線交差数等を計算して、当該配置の品質を判定する。また、良否判定部４では、判定結果をグルーピング生成部２にフィードバックさせることで、当該判定結果に基づき修正を加えたグループツリーに従う制御回路に対しても良否判定を行うことができ、より最適な制御回路の配置位置を決定することができる。
【００２２】
次に、本実施の形態に係る配置検証装置における配置検証方法を図６に示すフローチャートに基づき説明する。図６に示すフローチャートでは、まず回路仕様を決定するステップＳ１と、決定した回路仕様に基づきフロアプランを生成するフロアプラン生成ステップＳ２と、フロアプランのブロック回路及び制御回路を各階層毎にグルーピングしてグループツリーを生成するグルーピング生成ステップＳ３とを備える。さらに、図６に示すフローチャートでは、生成したグループツリーに従い、各階層毎に制御回路を配置する制御回路配置ステップＳ４と、配置した制御回路に対して良否判定を行う良否判定ステップＳ５とを備えている。良否判定ステップＳ５での結果は、ステップＳ１又はステップＳ３にフィードバックされる。
【００２３】
良否判定ステップＳ５での結果がステップＳ１にフィードバックされることで当該結果を考慮して回路仕様が更新され、新たな回路仕様に基づく制御回路の配置を検証することができる。また、良否判定ステップＳ５での結果がステップＳ３にフィードバックされることで当該結果を考慮して別の基準に基づくグループツリーに更新され、新たなグループツリーに対する制御回路の配置を検証することができる。なお、図６に示すフローチャートでは、グルーピング生成ステップＳ３及び制御回路配置ステップＳ４が複数図示されているが、これには階層毎に処理することを示している。また、ステップＳ２からステップＳ５の処理が配置検証方法Ａであり、コンピュータにおいて処理されるソフトウェアとして構成することができる。
【００２４】
さらに、図６に示すフローチャートでは、ステップＳ５で「良」とされたブロック回路及び制御回路の配置に対して、Register Transfer Level設計（以下、ＲＴＬ設計ともいう）を行うステップＳ６と、ネットリストを作成する論理合成のステップＳ７と、ネットリストを考慮した回路配置配線を行うステップＳ８とを備える。図６に示すフローチャートでは、ＲＴＬ設計前に、制御回路の配置の良否判定を行い、最適な制御回路の配置に基づいて、ＲＴＬ設計や論理合成を行うことができる。従来のように、ＲＴＬ設計や論理合成後に制御回路を人手で挿入し、ブロック回路と制御回路とを含む配置配線処理後に良否判定を行っていたため、処理完了まで長時間を要し、且つ当該良否判定の結果に基づきＲＴＬ設計まで戻る必要があり多くの設計手戻りが必要であった。
【００２５】
一方、本実施の形態に係る配置検証方法では、図６に示すように、ＲＴＬ設計前に制御回路の配置を検証することができるため、処理完了までの時間が短く、且つ良否判定の結果による設計手戻りが少ない。本実施の形態に係る配置検証方法では、処理完了までの時間が短いので、より多くの配置を検証することができるので、より最適な制御回路の配置が可能で設計品質が向上する。
【００２６】
なお、本実施の形態に係る配置検証方法では、図６に示すフローチャートのようにＲＴＬ設計（Ｓ６）前に配置検証方法Ａを設ける場合に限られず、図７（ａ）のようにＲＴＬ設計（Ｓ６）後又は図７（ｂ）のように論理合成（Ｓ７）後でも良い。図７（ａ）に示すフローチャートでは、配置検証方法ＡがＲＴＬ設計（Ｓ６）後で、且つ論理合成（Ｓ７）前に行われ、配置検証方法Ａでの良否結果は回路仕様（Ｓ１）やＲＴＬ設計（Ｓ６）にフィードバックされる。また、図７（ｂ）に示すフローチャートでは、配置検証方法Ａが論理合成（Ｓ７）後に行われ、配置検証方法Ａでの良否結果は回路仕様（Ｓ１）やＲＴＬ設計（Ｓ６）にフィードバックされる。
【００２７】
（実施の形態２）
本実施の形態に係る配置検証装置では、実施の形態１と異なり、グルーピング生成部２が、ドメインを考慮してブロック回路のグループ化する。半導体装置には、１つのフロアに駆動電源の異なるドメインが形成される場合がある。この場合、駆動電源の異なるドメインに含まれるそれぞれのブロック回路同士をグループ化することはできないため、当該ドメインを考慮して配置検証装置で処理しなければならない。なお、半導体装置において形成される他のドメインとしては、動作クロックの異なるドメインや機能の異なるドメイン等がある。
【００２８】
本実施の形態に係る配置検証装置の構成は、図１に示す構成と同じであるため詳細な説明は省略する。まず、本実施の形態に係る回路仕様には、半導体装置を構成するブロック回路及び制御回路を規定する情報以外にドメイン情報が記述されており、例えば駆動電圧が異なるドメインＡ，Ｂそれぞれに属するブロック回路情報などである。
【００２９】
当該回路仕様に基づきフロアプラン生成部１が生成したフロアプランを図８に示す。図８では、２ユニット×２ユニットのフロア１０に１２個のブロック回路１１がドメインＡとドメインＢとに分かれて４つの塊として配置されている。つまり、IとIIのブロック回路１１とIII〜VIのブロック回路１１とがドメインＡに属し、VII〜Xのブロック回路１１とXIとXIIのブロック回路１１とがドメインＢに属することが図８に図示されている。
【００３０】
次に、図１に示すグルーピング生成部２は、所定の基準に基づき図８に示すフロアプランのブロック回路１１をグループ化する。ブロック回路１１をグループ化した例が図９（ａ）〜（ｃ）に図示されている。まず、図９（ａ）の基準では、ドメイン毎に距離制約として１ユニット内に含まれるブロック回路１１をグループ化する。つまり、図９（ａ）では、IとIIのブロック回路１１がグループａに、III〜VIのブロック回路１１がグループｃに、VII〜Xのブロック回路１１がグループｂに、XIとXIIのブロック回路１１がグループｄにそれぞれグループ化されている。
【００３１】
また、図９（ｂ）の基準では、ドメイン毎に接続数制約として最大ブロック数を２個に制限してブロック回路１１をグループ化する。つまり、図９（ｂ）では、IとIIのブロック回路１１がグループａに、IIIとVのブロック回路１１がグループｂに、IVとVIのブロック回路１１がグループｃに、VIIとIXのブロック回路１１がグループｄに、VIIIとXのブロック回路１１がグループeに、XIとXIIのブロック回路１１がグループｆにそれぞれグループ化されている。さらに、図９（ｃ）の基準でも、ドメイン毎に接続数制約として最大ブロック数を２個に制限してブロック回路１１をグループ化する（図９（ｂ）と同じ基準であるが別のクルーピング例である）。つまり、図９（ｃ）では、IとIIのブロック回路１１がグループａに、IIIとIVのブロック回路１１がグループｂに、VとVIのブロック回路１１がグループｃに、VIIとVIIIのブロック回路１１がグループｄに、IXとXのブロック回路１１がグループeに、XIとXIIのブロック回路１１がグループｆにそれぞれグループ化されている。
【００３２】
なお、本実施の形態でも、グルーピングする所定の基準として距離制約と接続数制約について説明したが、本発明はこれに限られず他の基準や複数の基準を組み合わせた基準に基づいてグループ化しても良い。さらに、各階層毎に異なる基準を適用しても良い。
【００３３】
次に、グルーピング生成部２は、回路仕様に記載された制御回路を階層的にグループ化する。具体的に説明すると、図９（ａ）でグループ化されたブロック回路１１に対して、ドメイン毎に接続する最大ブロック数を２個と回路仕様に記載された第１階層目の制御回路は、図１０（ａ）のグループツリーのＸ，Ｙのように示される。制御回路Ｘは、同一ドメインのグループａとグループｃとが接続され、制御回路Ｙは、同一ドメインのグループｂとグループｄとが接続されている。なお、制御回路Ｘと制御回路Ｙとはドメインが異なるので、図４（ａ）のように制御回路Ｚは存在しない。このように、グルーピング生成部２では、図９（ａ）のフロアプランに対して、ブロック回路１１と制御回路とを含む２層構造のグループツリーを生成する（図１０（ａ））。
【００３４】
同様に、グルーピング生成部２は、図９（ｂ）のフロアプランに対して、ブロック回路１１と制御回路とを含む２層構造のグループツリーを生成する（図１０（ｂ））。なお、図１０（ｂ）のグループツリーに示すように、第１階層目の制御回路Ｘは、回路仕様においてドメイン毎に接続する最大ブロック数が３個に制約されており、グループａ，ｂ，ｃに接続され、第１階層目の制御回路Ｙは、グループｄ，ｅ，ｆに接続されている。
【００３５】
また、グルーピング生成部２は、図９（ｃ）のフロアプランに対して、ブロック回路１１と制御回路とを含む２層構造のグループツリーを生成する（図１０（ｃ））。なお、図１０（ｃ）のグループツリーに示すように、第１階層目の制御回路Ｘは、回路仕様においてドメイン毎に接続する最大ブロック数が３個に制約されており、グループａ，ｂ，ｃに接続され、第１階層目の制御回路Ｙは、グループｄ，ｅ，ｆに接続されている。
【００３６】
次に、図１に示す制御回路配置部３は、所定の条件及びグルーピング生成部２で生成したグループツリーに基づき、ドメイン毎に制御回路をフロア１０に配置する。つまり、グループツリーに従って、制御回路の代表点を、ブロック回路１１がグループ化されたフロア１０に仮想的に配置する。このとき、所定の条件としては、ブロック回路１１と制御回路との間、又は制御回路と制御回路との間の制御信号数に応じて制御回路の配置位置を決定する。
【００３７】
具体的に説明すると、図９（ａ）のフロアプランに対して、図１０（ａ）のグループツリーに従って制御回路を配置した図が図１１（ａ）である。図１１（ａ）では、制御回路Ｘが、グループａとグループｃとの間に配置されることになるが、制御回路Ｘとグループａとの制御信号数（接続数）が２つ、制御回路Ｘとグループｃとの制御信号数（接続数）が４つなので、よりグループｃに近い側に制御回路Ｘが配置される。同様に、図１１（ａ）では、制御回路Ｙが、グループｂとグループｄとの間に配置されることになるが、制御回路Ｙとグループｂとの制御信号数（接続数）が４つ、制御回路Ｙとグループｄとの制御信号数（接続数）が２つなので、よりグループｂに近い側に制御回路Ｙが配置される。なお、図１１（ａ）に示すように、制御回路Ｘと制御回路Ｙとは別ドメインであるため接続しない。
【００３８】
さらに別の例では、図９（ｂ）のフロアプランに対して、図１０（ｂ）のグループツリーに従って制御回路を配置した図が図１１（ｂ）である。図１１（ｂ）では、制御回路Ｘが、グループａ，ｂ，ｃの間に配置されることになるが、制御回路Ｘとグループａ，ｂ，ｃのそれぞれの制御信号数（接続数）は２つなので、それぞれのグループからほぼ均等の位置に制御回路Ｘが配置される。同様に、図１１（ｂ）でも、制御回路Ｙが、グループｄ，ｅ，ｆの間に配置されることになるが、制御回路Ｙとグループｄ，ｅ，ｆのそれぞれの制御信号数（接続数）は２つなので、それぞれのグループからほぼ均等の位置に制御回路Ｙが配置される。なお、図１１（ｂ）に示すように、制御回路Ｘと制御回路Ｙとは別ドメインであるため接続しない。
【００３９】
さらに別の例では、図９（ｃ）のフロアプランに対して、図１０（ｃ）のグループツリーに従って制御回路を配置した図が図１１（ｃ）である。図１１（ｃ）では、制御回路Ｘが、グループａ，ｂ，ｃの間に配置されることになるが、制御回路Ｘとグループａ，ｂ，ｃのそれぞれの制御信号数（接続数）は２つなので、それぞれのグループからほぼ均等の位置に制御回路Ｘが配置される。同様に、図１１（ｃ）でも、制御回路Ｙが、グループｄ，ｅ，ｆの間に配置されることになるが、制御回路Ｙとグループｄ，ｅ，ｆのそれぞれの制御信号数（接続数）は２つなので、それぞれのグループからほぼ均等の位置に制御回路Ｙが配置される。なお、図１１（ｃ）に示すように、制御回路Ｘと制御回路Ｙとは別ドメインであるため接続しない。
【００４０】
次に、図１に示す良否判定部４は、図１１（ａ）乃至図１１（ｃ）のように配置された制御回路に対して、総配線長や配線交差数等の計算して、当該配置の品質を判定する。また、良否判定部４では、判定結果をグルーピング生成部２にフィードバックさせることで、当該判定結果に基づき修正を加えたグループツリーに従う制御回路に対しても良否判定を行うことができ、より最適な制御回路の配置位置を決定することができる。
【００４１】
以上のように、本実施の形態に係る配置検証装置では、ドメインを考慮しつつＲＴＬ設計の仕様検討段階や論理合成のネットリスト生成段階以前に、制御回路の配置を検証することが可能であり、設計手戻りを削減でき、且つネットリストがない段階で、ブロック回路のフロアプランに基づいて制御回路配置の良否を判定可能であるので短時間の検証が可能となり設計品質を向上できる。
【図面の簡単な説明】
【００４２】
【図１】本発明の実施の形態１に係る配置検証装置のブロック図である。
【図２】本発明の実施の形態１に係るフロアプランを説明するための図である。
【図３】本発明の実施の形態１に係るブロック回路のグルーピング結果を説明するための図である。
【図４】本発明の実施の形態１に係るグループツリーを説明するための図である。
【図５】本発明の実施の形態１に係る制御回路の配置を説明するための図である。
【図６】本発明の実施の形態１に係る配置検証方法のフローチャートである。
【図７】本発明の実施の形態１に係る別の配置検証方法のフローチャートである。
【図８】本発明の実施の形態２に係るフロアプランを説明するための図である。
【図９】本発明の実施の形態２に係るブロック回路のグルーピング結果を説明するための図である。
【図１０】本発明の実施の形態２に係るグループツリーを説明するための図である。
【図１１】本発明の実施の形態２に係る制御回路の配置を説明するための図である。
【符号の説明】
【００４３】
１  フロアプラン生成部、２  グルーピング生成部、３  制御回路配置部、４  良否判定部、１０  フロア、１１  ブロック回路。
【図１】
0004987787.tif 000002
【図２】
0004987787.tif 000003
【図３】
0004987787.tif 000004
【図４】
0004987787.tif 000005
【図５】
0004987787.tif 000006
【図６】
0004987787.tif 000007
【図７】
0004987787.tif 000008
【図８】
0004987787.tif 000009
【図９】
0004987787.tif 000010
【図１０】
0004987787.tif 000011
【図１１】
0004987787.tif 000012