(57)【要約】【課題】信号の重要度を考慮に入れたセルの自動配置を行うアルゴリズムは存在しない。従って、重要配線が不必要に長くなる場合がある。重要配線が長くなると、重要配線を伝達する信号を劣化させる原因となり得る。そのため、信号の重要度を考慮に入れたセルの自動配置を行うことで、重要度の高い信号の品質を維持する半導体装置を設計できる半導体設計装置、が望まれる。【解決手段】半導体設計装置は、半導体装置に含まれる複数のセルを接続する複数の信号配線から、伝達する信号が重要であることを示す重要配線情報が付された重要配線と、複数の信号配線のそれぞれに接続されているセルの数を示すセル接続数と、を抽出する配線情報抽出部と、配線情報抽出部が抽出した重要配線及びセル接続数に応じて、複数のセルの配置を決定するセル自動配置部と、を備えている。【選択図】図１
2013084207.tif 000002
【特許請求の範囲】
【請求項１】
半導体装置に含まれる複数のセルを接続する複数の信号配線から、伝達する信号が重要であることを示す重要配線情報が付された重要配線と、前記複数の信号配線のそれぞれに接続されているセルの数を示すセル接続数と、を抽出する配線情報抽出部と、
前記配線情報抽出部が抽出した重要配線及びセル接続数に応じて、前記複数のセルの配置を決定するセル自動配置部と、
を備えることを特徴とする半導体設計装置。
【請求項２】
前記セル自動配置部は、前記複数の信号配線のそれぞれに接続される複数のセルを、予め定めた仮配置候補規則に基づいて配置した仮配置候補を、それぞれの信号配線毎に生成した後、
前記複数の仮配置候補から予め定めた検討順規則により選択された仮配置候補と、セルを一時的に配置した仮配置データと、を合成規則に基づいて合成することを繰り返すことで、前記複数のセルの配置を決定する請求項１の半導体設計装置。
【請求項３】
前記仮配置候補規則は、伝達する信号の入出力の関係に基づき、前記複数のセルの配置を定めると共に、信号を受け付けるセルは相互に配置の入れ替えができることを定める請求項２の半導体設計装置。
【請求項４】
前記検討順規則は、それぞれの信号配線についての前記重要配線情報の有無及び前記セル接続数と、に基づいて仮配置候補を選択することを定める請求項２又は３の半導体設計装置。
【請求項５】
前記合成規則は、前記仮配置候補に含まれるセルの数が３以上の場合、又は、前記仮配置候補に対応する信号配線が前記重要配線情報を持つ場合には、前記仮配置データに対して、前記選択された仮配置候補を変更せず合成することを定める請求項２乃至４のいずれか一に記載の半導体設計装置。
【請求項６】
前記セル自動配置部は、前記仮配置データと前記選択された仮配置候補との合成が終了した仮配置データに対し、前記複数の仮配置候補が前記仮配置候補規則に適合しているか否かを検証し、前記仮配置候補規則に適合していない仮配置候補が含まれている場合には、前記合成が終了した仮配置データを修正する請求項２乃至５のいずれか一に記載の半導体設計装置。
【請求項７】
半導体装置に含まれる複数のセルを接続する複数の信号配線から、伝達する信号が重要であることを示す重要配線情報が付された重要配線を抽出する第１の工程と、
前記複数の信号配線のそれぞれに接続されているセルの数を示すセル接続数を抽出する第２の工程と、
前記複数の信号配線のそれぞれに接続される複数のセルを、予め定めた仮配置候補規則に基づいて配置した仮配置候補を、それぞれの信号配線毎に生成する第３の工程と、
前記複数の仮配置候補から、前記重要配線と前記セル接続数とに基づいて選択された仮配置候補と、セルを一時的に配置した仮配置データと、を合成規則に基づいて合成することを繰り返すことで、前記複数のセルの配置を決定する第４の工程と、
を含むことを特徴とする半導体設計方法。
【請求項８】
半導体装置に含まれる複数のセルを接続する複数の信号配線から、伝達する信号が重要であることを示す重要配線情報が付された重要配線を抽出する第１の処理と、
前記複数の信号配線のそれぞれに接続されているセルの数を示すセル接続数を抽出する第２の処理と、
前記複数の信号配線のそれぞれに接続される複数のセルを、予め定めた仮配置候補規則に基づいて配置した仮配置候補を、それぞれの信号配線毎に生成する第３の処理と、
前記複数の仮配置候補から、前記重要配線と前記セル接続数とに基づいて選択された仮配置候補と、セルを一時的に配置した仮配置データと、を合成規則に基づいて合成することを繰り返すことで、前記複数のセルの配置を決定する第４の処理と、
をコンピュータに実行させることで、前記コンピュータを半導体設計装置として動作させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体設計装置、半導体設計方法及びプログラムに関する。特に、セルを自動配置する半導体設計装置、半導体設計方法及びプログラムに関する。
【背景技術】
【０００２】
半導体装置のレイアウト設計において、セル（インバータ等の半導体素子）の自動配置が行われる。その際、予め指定された配置順に従ってセルを配置し、配置したセル間を接続する場合が多い。その際、設計者の経験に基づいて手動でセルの配置順を指定する場合もあるが、回路図上のセル相互の位置関係から自動的に配置順が指定される場合もある。
【０００３】
一方、セル間を接続する配線を伝達する信号には、特に重要視される信号が含まれる。このような信号は、外来ノイズに対して高い耐性を持つことが必要であり、レイアウト設計の段階から信号の品質が維持できるように留意する必要がある。
【０００４】
ここで、特許文献１において、スタンダードセルを用いた自動回路設計において、予め回路図情報に付与されたセルの配置順序に応じて、セルを自動配置することが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２７７２４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
なお、上記先行技術文献の開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明の観点からなされたものである。
【０００７】
上述のように、セル間を接続する配線であって、半導体装置の設計上、重要視される信号を伝達する配線が存在する。ここで、このような重要な信号を伝達する配線を重要配線と定める。重要配線は、寄生抵抗や寄生容量を考慮すれば、極力短いことが望まれる。しかし、回路図上のセル相互の位置関係から自動的にセルの配置順が定まってしまえば、重要配線が必要以上に長くなる恐れがある。また、設計者が手動でセルの配置順を指定する設計手法では、設計対象となっている半導体装置の規模によっては限界がある。
【０００８】
図２は、セル内部の配線の一例を示す図である。図２に示すセルには、電源が配線される電源領域ＰＡ０１及びＰＡ０２と、セル間の配線に使用される接続配線領域ＣＡと、が含まれている。接続配線領域ＣＡに配線される配線には、重要配線ＣＰ０１と、重要配線以外の配線である通常配線ＮＰ０１と、レイアウト配線ＬＰ０１が含まれる。なお、レイアウト配線はセルの外部に配線されることもある（レイアウト配線ＬＰ０２）。
【０００９】
ここで、セルの自動配置を行う際に、重要配線ＣＰ０１や通常配線ＮＰ０１を考慮しなければ、重要配線ＣＰ０１が不必要に長くなる恐れがある。
【００１０】
図３は、自動配置されたセル間の配線の一例を示す図である。なお、図３は、重要配線ＣＰ０１以外の配線を省略して記載している。図３には、５つのセルＣ０１〜Ｃ０５が配置されている。図３において、セルＣ０１とセル０５を接続する配線を、重要配線ＣＰ０１とする。重要配線ＣＰ０１は、セルＣ０１のＡ点からセルＣ０５のＢ点までを接続する配線である。
【００１１】
図４は、図３のセルＣ０１とセル０５の配置位置を入れ替えた図である。図４から明らかなとおり、セルＣ０１とセル０５を入れ替えれば、重要配線ＣＰ０１は短くなる。このように、セルの配置位置（配置順序）を考慮すれば、重要配線ＣＰ０１を短くすることが可能である。しかし、重要配線を考慮に入れたセルの自動配置を行うアルゴリズムは存在せず、重要配線が不必要に長くなる場合がある。重要配線が長くなると、寄生容量や寄生抵抗が増加し、重要配線を伝達する信号を劣化させる原因となり得る。
【課題を解決するための手段】
【００１２】
本発明の第１の視点によれば、半導体装置に含まれる複数のセルを接続する複数の信号配線から、伝達する信号が重要であることを示す重要配線情報が付された重要配線と、前記複数の信号配線のそれぞれに接続されているセルの数を示すセル接続数と、を抽出する配線情報抽出部と、前記配線情報抽出部が抽出した重要配線及びセル接続数に応じて、前記複数のセルの配置を決定するセル自動配置部と、を備える半導体設計装置が提供される。
【００１３】
本発明の第２の視点によれば、半導体装置に含まれる複数のセルを接続する複数の信号配線から、伝達する信号が重要であることを示す重要配線情報が付された重要配線を抽出する第１の工程と、前記複数の信号配線のそれぞれに接続されているセルの数を示すセル接続数を抽出する第２の工程と、前記複数の信号配線のそれぞれに接続される複数のセルを、予め定めた仮配置候補規則に基づいて配置した仮配置候補を、それぞれの信号配線毎に生成する第３の工程と、前記複数の仮配置候補から、前記重要配線と前記セル接続数とに基づいて選択された仮配置候補と、セルを一時的に配置した仮配置データと、を合成規則に基づいて合成することを繰り返すことで、前記複数のセルの配置を決定する第４の工程と、を含む半導体設計方法が提供される。
【００１４】
本発明の第３の視点によれば、半導体装置に含まれる複数のセルを接続する複数の信号配線から、伝達する信号が重要であることを示す重要配線情報が付された重要配線を抽出する第１の処理と、前記複数の信号配線のそれぞれに接続されているセルの数を示すセル接続数を抽出する第２の処理と、前記複数の信号配線のそれぞれに接続される複数のセルを、予め定めた仮配置候補規則に基づいて配置した仮配置候補を、それぞれの信号配線毎に生成する第３の処理と、前記複数の仮配置候補から、前記重要配線と前記セル接続数とに基づいて選択された仮配置候補と、セルを一時的に配置した仮配置データと、を合成規則に基づいて合成することを繰り返すことで、前記複数のセルの配置を決定する第４の処理と、をコンピュータに実行させることで、前記コンピュータを半導体設計装置として動作させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１５】
本発明の各視点によれば、信号の重要度を考慮に入れたセルの自動配置を行うことで、重要度の高い信号の品質を維持する半導体装置を設計できる半導体設計装置、が提供される。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態の概要を説明するための図である。
【図２】セル内部の配線の一例を示す図である。
【図３】自動配置されたセル間の配線の一例を示す図である。
【図４】図３のセルＣ０１とセル０５の配置位置を入れ替えた図である。
【図５】本発明の第１の実施形態に係る半導体設計装置１の内部構成の一例を示す図である。
【図６】半導体設計装置１の動作の一例を示すフローチャートである。
【図７】半導体装置の回路図の一例を示す図である。
【図８】図７に含まれる信号配線と接続先のセルをまとめた図である。
【図９】各信号配線が接続するセルの数に基づいて行ったグループ分けの一例を示す図である。
【図１０】各信号配線の仮配置候補を検討順に並べた図である。
【図１１】仮配置データの一例を示す図である。
【図１２】再配置した後の仮配置データの一例を示す図である。
【図１３】図７に含まれるセルを配置した際の重要配線を模式的に示す図である。
【図１４】図７に含まれるセルを半導体設計装置１で配置した際の重要配線を模式的に示す図である。
【発明を実施するための形態】
【００１７】
初めに、図１を用いて一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００１８】
上述のように、信号の重要度を考慮に入れたセルの自動配置を行うアルゴリズムは存在せず、重要配線が不必要に長くなる場合がある。重要配線が長くなると、重要配線を伝達する信号を劣化させる原因となり得る。そのため、信号の重要度を考慮に入れたセルの自動配置を行うことで、重要度の高い信号の品質を維持する半導体装置を設計できる半導体設計装置、が望まれる。
【００１９】
そこで、一例として図１に示す半導体設計装置を提供する。図１に示す半導体設計装置は、半導体装置に含まれる複数のセルを接続する複数の信号配線から、伝達する信号が重要であることを示す重要配線情報が付された重要配線と、複数の信号配線のそれぞれに接続されているセルの数を示すセル接続数と、を抽出する配線情報抽出部１００と、配線情報抽出部１００が抽出した重要配線及びセル接続数に応じて、複数のセルの配置を決定するセル自動配置部２００と、を備えている。
【００２０】
配線情報抽出部１００は、回路図やネットリストから重要配線及び信号配線毎にセル接続数を抽出する。この抽出した重要配線及びセル接続数に基づいて、セル自動配置部２００はセルの自動配置を行う。具体的には、抽出した重要配線がより短くなるような配置を選択し、セルの自動配置を行う。例えば、図１に示すセル間の信号配線において、セル１とセル３を接続する配線を重要配線とする。重要配線を考慮しなければ、セル１、セル２、セル３の順序で配置されてしまう。しかし、そのような順序であると、セル１とセル３が隣接しておらず、重要配線が長くなるのは必然である。そこで、重要配線により接続されるセル１とセル３を優先して配置することで、重要配線を短くする。その結果、重要配線を伝達する信号の品質を向上させることができる。また、信号配線毎のセル接続数を考慮することで、重要配線だけではなく、通常配線も含めた配線を短くすることができる。
【００２１】
本発明において下記の形態が可能である。
【００２２】
［形態１］上記第１の視点に係る半導体装置のとおりである。
【００２３】
［形態２］前記セル自動配置部は、前記複数の信号配線のそれぞれに接続される複数のセルを、予め定めた仮配置候補規則に基づいて配置した仮配置候補を、それぞれの信号配線毎に生成した後、前記複数の仮配置候補から予め定めた検討順規則により選択された仮配置候補と、セルを一時的に配置した仮配置データと、を合成規則に基づいて合成することを繰り返すことで、前記複数のセルの配置を決定することが好ましい。
【００２４】
［形態３］前記仮配置候補規則は、伝達する信号の入出力の関係に基づき、前記複数のセルの配置を定めると共に、信号を受け付けるセルは相互に配置の入れ替えができることを定めることが好ましい。
【００２５】
［形態４］前記検討順規則は、それぞれの信号配線についての前記重要配線情報の有無及び前記セル接続数と、に基づいて仮配置候補を選択することを定めることが好ましい。
【００２６】
［形態５］前記合成規則は、前記仮配置候補に含まれるセルの数が３以上の場合、又は、前記仮配置候補に対応する信号配線が前記重要配線情報を持つ場合には、前記仮配置データに対して、前記選択された仮配置候補を変更せず合成することを定めることが好ましい。
【００２７】
［形態６］前記セル自動配置部は、前記仮配置データと前記選択された仮配置候補との合成が終了した仮配置データに対し、前記複数の仮配置候補が前記仮配置候補規則に適合しているか否かを検証し、前記仮配置候補規則に適合していない仮配置候補が含まれている場合には、前記合成が終了した仮配置データを修正することが好ましい。
【００２８】
［形態７］上記第２の視点に係る半導体設計方法のとおりである。
【００２９】
［形態８］上記第３の視点に係るプログラムのとおりである。
【００３０】
以下に具体的な実施の形態について、図面を参照してさらに詳しく説明する。
【００３１】
［第１の実施形態］
本発明の第１の実施形態について、図面を用いてより詳細に説明する。
【００３２】
図５は、本実施形態に係る半導体設計装置１の内部構成の一例を示す図である。なお、図５には、簡単のため、本実施形態に係る半導体設計装置１の実施に関係するモジュールのみを記載する。
【００３３】
半導体設計装置１は、制御部１０と、メモリ２０と、記憶部３０と、操作部４０と、表示部５０から構成されている。
【００３４】
制御部１０は、半導体設計装置１に含まれる各部の制御を行う。制御部１０は、重要配線の抽出を行う配線情報抽出部１０１と、セルの自動配置を行うセル自動配置部１０２を含んでいる。制御部１０の動作は後述する。なお、制御部１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）上で動作するプログラムによって実現し得る。
【００３５】
メモリ２０は、制御部１０における一時的な記憶領域として用いられる。記憶部３０は、回路図やネットリスト等の情報を記憶する。操作部４０は、半導体設計装置１を使用するユーザ（設計者）の操作を受け付ける。ユーザの操作に必要な情報は、表示部５０に表示する。
【００３６】
次に、半導体設計装置１の動作について説明する。
【００３７】
図６は、半導体設計装置１の動作の一例を示すフローチャートである。
【００３８】
ステップＳ０１において、記憶部３０から回路図を読み込み、読み込んだ回路図に含まれる配線に対して重要配線に関する情報を付加する。なお、重要配線に関する情報の付加は設計者の経験等に基づいて行われる。
【００３９】
ステップＳ０２において、配線情報抽出部１０１は、回路図に含まれるセルの間を接続する信号配線及び重要配線を抽出する。
【００４０】
ステップＳ０３において、セル自動配置部１０２は、接続するセルの数に基づいて、抽出した信号配線のグループ分けを行う。抽出した信号配線のグループ分けの際に、信号配線のそれぞれに接続されるセルをどのような順序で組み合わせるかを仮決定する。この仮決定に基づいて生成されて組み合わせを仮配置候補と呼ぶ。さらに、仮配置候補を決定するルールを仮配置候補規則と呼ぶ。なお、本ステップ以降の動作主体は、全てセル自動配置部１０２である。
【００４１】
ステップＳ０４では、ステップＳ０３で生成した仮配置候補から、予め定めたルールに従って、ステップＳ０５以降の検討を行う仮配置候補を選択する。ここで、ステップＳ０５以降の検討を行う仮配置候補を選択する際のルールを検討順規則と呼ぶ。
【００４２】
ステップＳ０５では、検討中の仮配置候補の中に、仮配置データに含まれるセルと同じセルが存在するか否か確認する。仮配置データとは、ステップＳ０４において選択された仮配置候補を仮に（一時的に）組み合わせたデータである。検討中の仮配置候補の中に、仮配置データに含まれるセルと同じセルが存在すれば、ステップＳ０６に遷移する。仮配置データに含まれるセルと同じセルが存在しなければ、ステップＳ０７に遷移する。
【００４３】
ステップＳ０６では、検討中の仮配置候補を仮配置データに合成して（マージして）、新たな仮配置データを生成する。
【００４４】
ステップＳ０７では、検討中の仮配置候補を仮配置データに追加する。
【００４５】
ステップＳ０８では、全てのセルについて、仮配置が終了したか否かを確認する。全てのセルについて仮配置が終了していれば、ステップＳ０９に遷移する。全てのセルについて仮配置が終了していなければ、ステップＳ０４に遷移し、新たな仮配置候補を選択し、処理を継続する。
【００４６】
ステップＳ０９では、ステップＳ１０以降の処理を行う仮配置候補を選択する。
【００４７】
ステップＳ１０では、全てのセルが仮配置された仮配置データにおいて、各仮配置候補それぞれが、上述の仮配置候補規則に適合しているか否かを再度、確認する。選択された仮配置候補が、仮配置候補規則に適合していれば、ステップＳ１１に遷移する。選択された仮配置候補が、仮配置候補規則に適合していなければ、ステップＳ１２に遷移する。
【００４８】
ステップＳ１１では、全ての仮配置候補について、仮配置候補規則の再確認を行ったか否かを確認する。全ての仮配置候補について、仮配置候補規則の再確認をしていれば、処理を終了する。全ての組み合わせについて、仮配置候補規則の再確認していなければ、ステップＳ０９に遷移し、処理を継続する。
【００４９】
ステップＳ１２では、仮配置候補規則に適合するように、各セルの配置を修正する。
【００５０】
上述の各処理は、コンピュータにセル自動配置用のプログラムを実行させることで実現されるようにしても良い。また、コンピュータとサーバを、ネットワークを介して接続し、サーバに接続された記憶媒体にセル自動配置用のプログラムを格納する。さらに、記憶媒体に格納されたセル自動配置用のプログラムは、ネットワークを介してコンピュータによって実行され、セルの自動配置を行っても良い。
【００５１】
次に、具体的なデータを用いて、図６に示すフローチャートの動作を説明する。
【００５２】
図７は、半導体装置の回路図の一例を示す図である。図７には、１３個のセルＣ１１〜Ｃ２３が含まれている。以後、セルＣ１１をセルＡ、セルＣ１２をセルＢ、・・・、セルＣ２３をセルＭとして説明する。
【００５３】
各セルの間は信号配線によって接続されている。信号配線の中で、重要配線については、回路図上において太線で表記する。太線で表記することで、重要配線と通常配線を区別する。図７においても、重要配線を太線で表記している。若しくは、信号配線の名称に規則性を持たせ、重要配線と通常配線を区別しても良い。
【００５４】
図８は、図７に含まれる信号配線と接続先のセルをまとめた図である。例えば、信号配線ＳＬ０１は、セルＡとセルＧを接続する信号配線であり、かつ、信号配線ＳＬ０１は設計者により重要配線に指定されている。一方、信号配線ＳＬ１６は、セルＥ、セルＤ、セルＦ及びセルＫを接続する信号配線であるが、重要配線には指定されていない。
【００５５】
ステップＳ０２では、配線情報抽出部１０１が、信号配線及び重要配線に関する情報を抽出する。より具体的には、図８に相当する情報（データ）を回路図等から抽出する。
【００５６】
ステップＳ０３では、各信号配線が接続するセルの数に基づいて、各信号配線のグループ分けを行う。図９は、各信号配線が接続するセルの数に基づいて行ったグループ分けの一例を示す図である。グループＧ０１は、接続するセルの数が４個のグループである。グループＧ０１には、信号配線ＳＬ１６が含まれている。グループＧ０２は、接続するセルの数が３個のグループである。グループＧ０２には、信号配線ＳＬ０９、信号配線ＳＬ１０、信号配線ＳＬ１４が含まれている。グループＧ０３は、接続するセルの数が２個のグループである。
【００５７】
上述のように、グループ分けした各信号配線が接続するセルについての仮配置（仮配置候補）を定めるのが、仮配置候補規則である。仮配置候補規則は、以下のような内容を含んでいる。
【００５８】
第１に、信号の出力源となるセルは、信号を受ける側のセルの左側に配置するというルールである。第２に、同じ信号を受け付けるセルが複数存在する場合には、各セル間で配置を入れ替えることが可能であるというルールである。なお、回路図において、各セルの入力ノードが存在する側を左側、出力ノードが存在する側を右側とする。
【００５９】
例えば、信号配線ＳＬ１６の仮配置候補は、セルＥが信号の出力源となるので、左側に配置する。セルＤ、セルＦ及びセルＫについてはセルＥの右側であれば、いずれの配置でも良い。図９では、セルＤ、セルＦ及びセルＫの順で仮配置候補が生成されたものとする。また、上述の第２のルールに基づくと、セルＤ、セルＦ及びセルＫの各配置は相互に入れ替え可能である。なお、以後の説明において、記号「→」は信号が左側のセルから右側のセルに出力されることを意味し、記号「−」は各セルが、並列に信号を受け付けることを意味する。
【００６０】
ステップＳ０４では、検討順規則に従って、複数の仮配置候補から１つの仮配置候補を選択する（検討の対象とする）。検討順規則は、以下のような内容を含んでいる。
【００６１】
第１に、重要配線情報を持つ仮配置候補を、重要配線情報を持たない仮配置候補に優先して検討するというルールである。第２に、接続先のセルの数が多い仮配置候補を優先して検討するというルールである。
【００６２】
例えば、図９のグループＧ０２に含まれる信号配線ＳＬ０９及びＳＬ１０の仮配置候補を他の信号配線の仮配置候補に優先して検討する。信号配線ＳＬ０９及びＳＬ１０の仮配置候補に続いて、信号配線ＳＬ０１〜ＳＬ０５の仮配置候補を検討する。上述の第１のルールを適用し、これらの信号配線の仮配置候補を他の信号配線の仮配置候補に優先させるためである。次に、上述の第２のルールを適用する。重要配線情報を持つ仮配置候補以外で、接続先のセルが多いのは信号配線ＳＬ１６の仮配置候補である。従って、信号配線ＳＬ１６の仮配置候補の検討を開始し、次に、信号配線ＳＬ１４の仮配置候補を検討する。
【００６３】
図１０は、各信号配線の仮配置候補を検討順に並べた図である。なお、重要配線情報の有無及び接続先のセルの数が同じ場合には、いずれの信号配線の仮配置候補の検討を優先させても構わない。例えば、図１０において、検討順１と検討順２、又は、検討順１０及び検討順１１、等を入れ替えることが可能である。さらに、重要配線情報の有無及び接続先のセルが重複する組み合わせは、統合する（例えば、図１０の検討順３及び４）。
【００６４】
ステップＳ０５〜Ｓ０８では、検討中の仮配置候補の中に、仮配置データに含まれるセルと同じセルが存在するか否か確認しつつ、仮配置データを生成する。
【００６５】
最初に、ステップＳ０４において、検討順１の仮配置候補（Ｌ→Ｂ−Ｈ）が選択される。ここで、検討順１よりも先に検討が行われる仮配置候補は存在しないので、仮配置データも存在しない。従って、ステップＳ０６を実行する（ステップＳ０５、Ｙｅｓ分岐）。ステップＳ０６では、既に存在する仮配置データと検討中の仮配置候補を合成する。
【００６６】
合成の方法は、合成規則に従う。合成規則は、セルの接続数が多い仮配置候補や重要配線を含む仮配置候補を合成する場合には、仮配置候補規則を優先し、既に存在する仮配置データを変更せずに、左右にセルを追加するというルールである。なお、接続数が多い仮配置候補とは、接続先のセルとして３個以上のセルを含む仮配置候補である。  
【００６７】
ここでは、検討順１よりも先に検討が行われる仮配置候補は存在しないので、検討順１の仮配置候補（Ｌ→Ｂ−Ｈ）がそのまま仮配置データとなる。
【００６８】
図１１は、仮配置データの一例を示す図である。図１１（ａ）は、検討順１の検討が終わった時点での仮配置データである。
【００６９】
全てのセルについて仮配置が終了していないので（ステップＳ０８、Ｎｏ分岐）、ステップＳ０４に戻り、検討順２の仮配置候補（Ｍ→Ｂ−Ｈ）が検討中の仮配置候補に選択される。検討順２を検討している時点での仮配置データ（図１１（ａ））には、検討中の仮配置候補に含まれるセルＢ、セルＨが存在する。従って、ステップＳ０６を実行する（ステップＳ０５、Ｙｅｓ分岐）。本ステップでは、仮配置データ（Ｌ→Ｂ−Ｈ）と検討中の仮配置候補（Ｍ→Ｂ−Ｈ）を合成する。
【００７０】
この場合には、仮配置データ（Ｌ→Ｂ−Ｈ）と検討中の仮配置候補（Ｍ→Ｂ−Ｈ）のいずれもが、重要配線情報を含むので、図１１（ｂ）が合成後の仮配置データとなる。図１１（ｂ）に示す仮配置データは、既に存在する仮配置データ（Ｌ→Ｂ−Ｈ）において、セルＬとセルＢ及びＨが分離されてしまうが、検討中の仮配置候補（Ｍ→Ｂ−Ｈ）の配置を優先させている。なお、仮配置データ（Ｌ→Ｂ−Ｈ）の配置を優先させ、（Ｍ−Ｌ→Ｂ−Ｈ）を新たな仮配置データとすることも可能である。
【００７１】
次に、検討順３の仮配置候補（Ａ→Ｇ）が検討中の仮配置候補に選択される（ステップＳ０４）。仮配置データ（図１１（ｂ））には、検討中の仮配置候補（Ａ→Ｇ）に含まれるセルＡ及びＧは存在しない。従って、ステップＳ０７を実行する（ステップＳ０５、Ｎｏ分岐）。ステップＳ０７では、検討中の仮配置候補をそのまま、仮配置データとする。即ち、図１１（ｃ）に示すように、既に存在する仮配置データと合成せず、新たな仮配置データとして作成する。
【００７２】
ここで、仮配置候補（Ａ−Ｇ）は、重要配線情報を含むので、隣接して配置される（信号配線が最短となるように配置される）。なお、セルＡ及びセルＧは、共に信号を受け付けるセルであるので、図１１（ｃ）に示すような（Ａ−Ｇ）の配置順でなく、（Ｇ−Ａ）の配置順であっても良い（仮配置候補規則の第２のルール）。
【００７３】
次に、検討順４の仮配置候補（Ｃ→Ｉ）が検討中の仮配置候補に選択される（ステップＳ０４）。仮配置データ（図１１（ｃ））には、検討中の仮配置候補（Ｃ→Ｉ）に含まれるセルＣ及びＩは存在しない。従って、検討中の仮配置候補をそのまま、仮配置データとする（ステップＳ０７）。その際の、仮配置データを図１１（ｄ）に示す。
【００７４】
次に、検討順５の仮配置候補（Ｅ→Ｄ−Ｆ−Ｋ）が検討中の仮配置候補に選択される（ステップＳ０４）。仮配置データ（図１１（ｄ））には、検討中の仮配置候補（Ｅ→Ｄ−Ｆ−Ｋ）に含まれるセルＥ、セルＤ、セルＦ及びセルＫは存在しない。従って、検討中の仮配置候補をそのまま、仮配置データとする（ステップＳ０７）。その際の、仮配置データを図１１（ｅ）に示す。
【００７５】
次に、検討順６の仮配置候補（Ｉ→Ｆ−Ｊ）が検討中の仮配置候補に選択される（ステップＳ０４）。仮配置データ（図１１（ｅ））には、検討中の仮配置候補（Ｉ→Ｆ−Ｊ）に含まれるセルＩ及びＦが存在する。従って、セルＩ及びＦを含む仮配置データを合成する。ここでは、セルＩを含む仮配置データ（Ｃ−Ｉ）とセルＦを含む仮配置データ（Ｅ→Ｄ−Ｆ−Ｋ）を合成する。その際、仮配置候補規則に従って、仮配置データ（Ｃ−Ｉ）と仮配置データ（Ｅ→Ｄ−Ｆ−Ｋ）が合成される。つまり、セルＩを含む仮配置データ（Ｃ−Ｉ）が、仮配置データ（Ｅ→Ｄ−Ｆ−Ｋ）の左側に配置される。さらに、合成規則に従って、セルＪが仮配置データ（Ｅ→Ｄ−Ｆ−Ｋ）の右側に追加される。その際の、仮配置データを図１１（ｆ）に示す。
【００７６】
以降、同様に、検討順７〜１３の仮配置候補の検討が行われる。検討順７の検討によって、仮配置データ（Ａ−Ｇ）と仮配置データ（Ｌ−Ｍ→Ｂ−Ｈ）を合成して、図１１（ｇ）が得られる。検討順８の検討では、仮配置データに変更はない。検討順９の検討によって、仮配置データ（Ａ−Ｇ−Ｌ−Ｍ→Ｂ−Ｈ）と、仮配置データ（Ｃ−Ｉ−Ｅ→Ｄ−Ｆ−Ｋ−Ｊ）を合成して、図１１（ｈ）が得られる。
【００７７】
ここで、検討順９の検討が終わった時点で、全てのセルの仮配置が完了する（ステップＳ０８、Ｙｅｓ分岐）。即ち、図１１（ｈ）が、ステップＳ０８を終了した時点での仮配置データとなる。
【００７８】
ステップＳ０９〜Ｓ１１では、仮配置データに対して、図９に示す各信号配線の仮配置候補が、仮配置候補規則に適合しているか再確認する。その際、接続先のセルが多く含まれる仮配置候補を優先して、再確認する。より具体的には、図９のグループＧ０１、Ｇ０２、Ｇ０３のそれぞれのグループに含まれる仮配置候補の順に再確認する。
【００７９】
初めに、グループＧ０１に含まれる仮配置候補（Ｅ→Ｄ−Ｆ−Ｋ）について、仮配置データが仮配置候補規則に適合しているか確認する。この場合、図１２（ｈ）の仮配置データを確認すると、信号の出力源となるセルＥが、セルＤ、セルＦ及びセルＫよりも左側に存在するので、再確認の結果、問題はないとされる（ステップＳ１０、Ｙｅｓ分岐）。同様に、グループＧ０２に含まれる仮配置候補（Ｌ→Ｂ−Ｈ）についても、セルＬがセルＢ及びセルＨよりも、左側に存在するため、問題はない。
【００８０】
しかし、グループＧ０３に含まれる仮配置候補（Ｊ→Ｋ）は、仮配置候補規則に適合しない（ステップＳ１１、Ｎｏ分岐）。この場合には、ステップＳ１２で、仮配置データの修正が行われる。図１１（ｈ）に示す仮配置データは、セルＫがセルＪの左側に存在している。しかし、セルＪが信号の出力源となるセルであるので、セルＪはセルＫの左側に存在しなければならない。従って、これらのセルを入れ替える。
【００８１】
図１２は、再配置した後の仮配置データの一例を示す図である。図１２（ａ）が、セルＫとセルＪを入れ替えた後の仮配置データである。なお、グループＧ０３に含まれる仮配置候補（Ｂ→Ｃ）のセルＢは、セルＣの左側に配置されているので、このままの配置でも問題はない。しかし、セルＢとセルＨは、配置（Ｂ−Ｈ）、又は、配置（Ｈ−Ｂ）のいずれも可能であるので、セルＢとセルＨの配置を入れ替える。セルＢとセルＨの配置を入れ替え、セルＢとセルＣが隣接した方がより良いためである。セルＢとセルＨの配置を入れ替えた結果が、図１２（ｂ）である。
【００８２】
なお、半導体設計装置１の動作の説明に際し、セルの基本構成はセルの左側に入力ノード、右側に出力ノードを備えるものとした。そのため、信号の出力源となるセルを左側に配置し、信号を受け付けるセルを右側に配置するという仮配置候補規則を規定した。しかし、左右の反転が可能なセルが存在すれば、そのようなセルの情報を管理し、仮配置候補規則を変更することも可能である。即ち、信号の出力源となるセルを、信号を受け付けるセルの右側に配置することも可能である。
【００８３】
以上のように、本実施形態に係る半導体設計装置１は、回路図（又は、ネットリスト）から信号配線を抽出し、重要な信号を伝達する重要配線と信号配線に接続されているセルの数に応じて、セルの配置を自動的に決定する。その結果、重要配線の距離を短くすることができる。
【００８４】
図１３は、図７に含まれるセルを配置した際の重要配線を模式的に示す図である。図１３では、自動配置された各セルと、重要配線に限り記載している。図１３の配置例では、セルの配置の際に重要配線及び信号配線に接続されているセルの数を考慮していない。図７の信号のフローを考えると、セルＡ、セルＢ、セルＣ、セルＥ及びセルＦで１つのグループを形成していると捉え、他のセルで別のグループを形成していると捉えることができる。その結果、図１３に示すような順序で各セルが自動配置される。
【００８５】
図１４は、図７に含まれるセルを本実施形態に係る半導体設計装置１で配置した際の重要配線を模式的に示す図である。上述のように、半導体設計装置１は、重要配線及び信号配線に接続されているセルの数に応じて、セルを自動配置する。図１３と図１４を比較すれば、半導体設計装置１の行うセルの自動配置の方が、重要配線が大幅に短いことが分かる。その結果、重要配線を伝達する信号の品質を向上させることができる。
【００８６】
さらに、各セルが最適に配置されているため、それぞれのセルの接続配線領域ＣＡ（図２参照）に含まれる信号配線が短くなる。その結果、接続配線領域ＣＡには、他の信号配線を配線する余裕が生まれ、セルの外部に配線されているレイアウト配線ＬＰ０２を接続配線領域ＣＡに含めることが可能になる。セルの接続配線領域ＣＡにレイアウト配線ＬＰ０２を含めることができれば、半導体装置のチップサイズを縮小することができる。チップサイズの縮小は、半導体装置のコスト低減に寄与する。さらに、接続配線領域ＣＡが縮小すれば、図３及び図４のＹ方向の配線を短くすることもできる。
【００８７】
また、接続配線領域ＣＡに余裕が生まれれば、電源領域ＰＡ０１及びＰＡ０２を拡げることができる。電源配線が太くなることで、各セルに安定した電源供給が可能になり、半導体装置全体の品質向上に寄与する。
【００８８】
なお、引用した上記の特許文献の開示は、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００８９】
１  半導体設計装置
１０  制御部
２０  メモリ
３０  記憶部
４０  操作部
５０  表示部
１００、１０１  配線情報抽出部
１０２、２００  セル自動配置部
Ｃ０１〜Ｃ０５、Ｃ１１〜Ｃ２３  セル
ＣＡ  接続配線領域
ＰＡ０１、ＰＡ０２  電源領域
【図１】
2013084207.tif 000003
【図２】
2013084207.tif 000004
【図３】
2013084207.tif 000005
【図４】
2013084207.tif 000006
【図５】
2013084207.tif 000007
【図６】
2013084207.tif 000008
【図７】
2013084207.tif 000009
【図８】
2013084207.tif 000010
【図９】
2013084207.tif 000011
【図１０】
2013084207.tif 000012
【図１１】
2013084207.tif 000013
【図１２】
2013084207.tif 000014
【図１３】
2013084207.tif 000015
【図１４】
2013084207.tif 000016