(57)【要約】  論理セルが選択されるとともに、前記選択された論理セルの変更が入力され、半導体基板のバルク層が固定されたバルクフィックスデータを生成するとともに、バルクフィックスデータの生成後、バルク層における論理セルの未配置領域に対し未配線の設計変更用ダミー論理セルを配置し、設計変更用ダミー論理セルが配置された領域ではバルクフィックス後も設計変更用ダミー論理セルに対し配線を行うことにより設計変更用論理セルを生成し、バルクフィックスデータを生成後に選択された論理セルの変更が入力されたときに論理セルの変更を禁止するようにした。
2009047839.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路を構成する論理セルの配置と、前記論理セル間の配線の設計を行う半導体集積回路の実装設計支援装置において、論理セルが選択されるとともに、前記選択された論理セルの変更が入力される選択データ取り出し手段と、
前記半導体集積回路の半導体基板に対して、前記半導体基板のバルク層が固定されたバルクフィックスデータを生成するとともに、バルクフィックスデータの生成後において、前記バルク層における論理セルの未配置領域に対し、未配線の設計変更用ダミー論理セルを配置するとともに、前記設計変更用ダミー論理セルが配置された領域においては、前記バルクフィックスがなされた状態であっても、前記設計変更用ダミー論理セルに対して配線を行うことにより、設計変更用論理セルを生成するバルクフィックスデータ生成手段と、
前記バルクフィックスデータ生成手段が、前記バルクフィックスデータを生成した場合において、前記選択データ取り出し手段に選択された論理セルの変更が入力されたときに、前記論理セルの変更を禁止する選択セル移動可否判定手段とを有することを特徴とする半導体集積回路の実装設計支援装置。
【請求項２】
前記選択セル移動可否判定手段は、
前記半導体集積回路を構成する論理セルが全て配置済みか否かを判定することにより、前記半導体集積回路の半導体基板に対して、前記半導体基板のバルク層を固定するバルクフィックスがなされた状態であるか否かを検出することを特徴とする請求項１記載の半導体集積回路の実装設計支援装置。
【請求項３】
前記選択セル移動可否判定手段は、
論理セルの設計データの変更が禁止された領域において、第１の論理セルのフリップ方向及び回転方向と、前記第１の論理セルとは異なる第２の論理セルのフリップ方向及び回転方向とが同一である場合には、前記第１の論理セルと前記第２の論理セルとの入れ替えを許容することを特徴とする請求項１記載の半導体集積回路の実装設計支援装置。
【請求項４】
前記半導体集積回路の実装設計支援装置はさらに、画面表示部を有し、
前記画面表示部は、前記半導体集積回路の実装設計支援装置に接続された表示装置に、前記設計変更用ダミー論理セルが配置される領域を、前記設計変更用ダミー論理セルが配置される領域以外の領域よりも輝度を高くして表示することを特徴とする請求項１記載の半導体集積回路の実装設計支援装置。
【請求項５】
半導体集積回路を構成する論理セルの配置と、前記論理セル間の配線の設計を行う半導体集積回路の実装設計支援方法において、
選択データ取り出し部に、選択された論理セルの変更を入力するステップと、
バルクフィックスデータ生成部が、前記半導体集積回路の半導体基板に対して、前記半導体基板のバルク層が固定されたバルクフィックスデータを生成するとともに、バルクフィックスデータの生成後において、前記バルク層における論理セルの未配置領域に対し、未配線の設計変更用ダミー論理セルを配置するとともに、前記設計変更用ダミー論理セルが配置された領域においては、前記バルクフィックスがなされた状態であっても、前記設計変更用ダミー論理セルに対して配線を行うことにより、設計変更用論理セルを生成するステップと、
前記バルクフィックスデータ生成部が、前記バルクフィックスデータを生成した場合において、前記選択データ取り出し部に選択された論理セルの変更が入力されたときに、選択セル移動可否判定部が、前記論理セルの変更を禁止するステップとを有することを特徴とする半導体集積回路の実装設計支援方法。
【請求項６】
前記選択セル移動可否判定部は、
前記半導体集積回路を構成する論理セルが全て配置済みか否かを判定することにより、前記半導体集積回路の半導体基板に対して、前記半導体基板のバルク層を固定するバルクフィックスがなされた状態であるか否かを検出することを特徴とする請求項５記載の半導体集積回路の実装設計支援方法。
【請求項７】
前記選択セル移動可否判定部は、
論理セルの設計データの変更が禁止された領域において、第１の論理セルのフリップ方向及び回転方向と、前記第１の論理セルとは異なる第２の論理セルのフリップ方向及び回転方向とが同一である場合には、前記第１の論理セルと前記第２の論理セルとの入れ替えを許容することを特徴とする請求項５記載の半導体集積回路の実装設計支援方法。
【請求項８】
前記半導体集積回路の実装設計支援方法はさらに、
表示装置に、前記設計変更用ダミー論理セルが配置される領域を、前記設計変更用ダミー論理セルが配置される領域以外の領域よりも輝度を高くして表示することを特徴とする請求項５記載の半導体集積回路の実装設計支援方法。
【請求項９】
半導体集積回路を構成する論理セルの配置と、前記論理セル間の配線の設計を行う半導体集積回路の実装設計支援プログラムにおいて、
コンピュータに、
選択データ取り出し部に、選択された論理セルの変更を入力するステップと、
バルクフィックスデータ生成部が、前記半導体集積回路の半導体基板に対して、前記半導体基板のバルク層が固定されたバルクフィックスデータを生成するとともに、バルクフィックスデータの生成後において、前記バルク層における論理セルの未配置領域に対し、未配線の設計変更用ダミー論理セルを配置するとともに、前記設計変更用ダミー論理セルが配置された領域においては、前記バルクフィックスがなされた状態であっても、前記設計変更用ダミー論理セルに対して配線を行うことにより、設計変更用論理セルを生成するステップと、
前記バルクフィックスデータ生成部が、前記バルクフィックスデータを生成した場合において、前記選択データ取り出し部に選択された論理セルの変更が入力されたときに、選択セル移動可否判定部が、前記論理セルの変更を禁止するステップとを実行させることを特徴とする半導体集積回路の実装設計支援プログラム。
【請求項１０】
前記選択セル移動可否判定部は、
前記半導体集積回路を構成する論理セルが全て配置済みか否かを判定することにより、前記半導体集積回路の半導体基板に対して、前記半導体基板のバルク層を固定するバルクフィックスがなされた状態であるか否かを検出することを特徴とする請求項８記載の半導体集積回路の実装設計支援プログラム。
【請求項１１】
前記選択セル移動可否判定部は、
論理セルの設計データの変更が禁止された領域において、第１の論理セルのフリップ方向及び回転方向と、前記第１の論理セルとは異なる第２の論理セルのフリップ方向及び回転方向とが同一である場合には、前記第１の論理セルと前記第２の論理セルとの入れ替えを許容することを特徴とする請求項５記載の半導体集積回路の実装設計支援プログラム。
【請求項１２】
前記半導体集積回路の実装設計支援プログラムはさらに、
表示装置に、前記設計変更用ダミー論理セルが配置される領域を、前記設計変更用ダミー論理セルが配置される領域以外の領域よりも輝度を高くして表示することを特徴とする請求項５記載の半導体集積回路の実装設計支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の実装設計支援装置、実装設計支援方法および実装設計支援プログラムに係り、特に半導体集積回路の論理回路を構成する論理セルの配置設計および論理セル間の配線設計を行う際、これを支援するための半導体集積回路の実装設計支援装置、実装設計支援方法および実装設計支援プログラムに関する。【０００２】
なお以下の説明において「セル」とは、トランジスタ素子で構成されるとともに、論理回路を構成するＡＮＤ（論理積）セル、ＯＲ（論理和）セル、ＩＮＶ（否定論理）セル等の「論理セル」を示す。
【背景技術】
【０００３】
ＣＡＤ等のコンピュータによる支援を伴って半導体集積回路の実装設計を行う場合、前回の設計までに完了した設計対象の領域を保持しながら新たな設計変更を加える作業、いわゆるインクリメンタル設計の手法を採る場合がある。【０００４】
半導体集積回路としてのプロセッサの実装設計を行う場合、その設計初期段階からこのインクリメンタル設計の手法を使うことで当該プロセッサの動作タイミング（遅延量等）を継続的に改善してゆくことが可能となり、このようにして最終的な性能目標を実現する。【０００５】
図１および図２はこのようなインクリメンタル設計手法による半導体集積回路の実装設計の手順の一例を説明するための図である。【０００６】
このインクリメンタル設計では図１に示されるごとく、まずネットリストを作成し、その内容にしたがって論理セルのレイアウトを行う。【０００７】
具体的には図２の（１）ネットリスト設計において論理セルの実体たるインスタンスＡ，Ｂ、Ｃを設け、その間に配線たるネット１，２を設ける。【０００８】
図２の（２）レイアウト設計においても同様に、インスタンスＡ，Ｂ、Ｃを配置し、その間のネット１，２を配線する。【０００９】
更にこの（２）レイアウトに基づき、図２の（３）ネットリスト変更を行う。【００１０】
次に（４）レイアウト変更において、（３）ネットリスト変更における設計変更の内容に応じてレイアウトを変更する。【００１１】
そしてこのレイアウトに基づき、（５）ネットリスト変更を行う。【００１２】
次に（６）レイアウト変更において、（５）ネットリスト変更における設計変更の内容に応じてレイアウトを変更する。【００１３】
このようにネットリスト変更とレイアウト変更とを交互に繰り返すことで、初期の性能を果たす回路構成を実現するものであって、その間、当該論理回路の動作タイミング等を改善してゆき最終的な性能目標を実現する。【００１４】
このようにしてレイアウト設計が終了すると、完成品たるレイアウトデータにつき、いわゆるテープアウトを行う。【００１５】
ここでテープアウトとは、完成した半導体集積回路のレイアウトデータを磁気テープ等の記憶媒体に書き込み、拡散プロセス用のマスクを作成するためのデータとして、半導体集積回路の製造部門に渡すことを意味する。【００１６】
ここで半導体集積回路の製造工程の短縮のため、上記レイアウト設計のある程度進んだ途中の段階で、いわゆる「バルクフィックス」を行う。【００１７】
バルクフィックスとは半導体集積回路の論理回路を構成する各トランジスタ素子で構成される論理セルをバルク層において固定することをいう。
すなわち、バルクフィックスでは、半導体基板のバルク層において論理セルが固定されるとともに、その後の設計作業においては動作周波数等の設計基準を満足するよう、バルク層において固定された論理セル間の配線作業が行われることとなる。【００１８】
そして、一旦バルクフィックスをした後の設計変更においては、トランジスタ素子で構成される論理セルのバルク層における変更が禁止されるため、半導体集積回路の製造部門では、当該論理セルの配置に係る半導体集積回路の部分、いわゆるバルク層の製造作業を先行して着手する。【００１９】
そしてレイアウト設計作業においては、このバルクフィックス後は論理回路を構成する論理セルを変更せず、一定の範囲における配線の変更のみによって上記ネットリスト変更による設計変更を適宜行う。【００２０】
半導体集積回路の製造部門では上記の如く、当該テープアウトに先立つバルクフィックスの時点から半導体集積回路のうちのバルク層の製造作業を先行して行うことにより、テープアウト後の半導体集積回路の製造作業に要する時間を効果的に短縮することが出来、もって半導体集積回路の製造期間をトータルで短縮可能となる。【００２１】
しかしながら、もしバルクフィックス後に論理回路を構成するトランジスタ素子の配置自体が変更されたような場合、半導体集積回路の製造部門ではバルクフィックス後に先行して行っているバルク層の製造作業に手戻りが生じ、半導体集積回路の製造工程上問題を生ずる場合が考えられる。
【特許文献１】特開平６−２９５９５６号公報
【特許文献２】特開２００１−３５１９７９号公報
【発明の開示】
【発明が解決しようとする課題】
【００２２】
本発明は上記問題点に鑑みてなされたものであり、半導体集積回路の実装設計において、バルクフィックス後における、トランジスタ素子で構成され論理回路を構成する論理セルのバルク層における変更を確実に防止するとともに、バルクフィックス後において論理回路を構成する論理セルのバルク層における変更を伴うことなく、固定された論理セル以外の設計変更用論理セルを用いて設計変更を行うことにより、バルクフィックス後における論理回路の動作タイミングの改善等を可能にする構成を有する半導体集積回路の実装設計支援プログラムおよび半導体集積回路の実装設計支援方法を提供することを目的とする。
【課題を解決するための手段】
【００２３】
本発明によれば、半導体集積回路を構成する論理セルの配置と、前記論理セル間の配線の設計を行う半導体集積回路の実装設計支援装置において、論理セルが選択されるとともに、前記選択された論理セルの変更が入力される選択データ取り出し手段と、前記半導体集積回路の半導体基板に対して、前記半導体基板のバルク層が固定されたバルクフィックスデータを生成するとともに、バルクフィックスデータの生成後において、前記バルク層における論理セルの未配置領域に対し、未配線の設計変更用ダミー論理セルを配置するとともに、前記設計変更用ダミー論理セルが配置された領域においては、前記バルクフィックスがなされた状態であっても、前記設計変更用ダミー論理セルに対して配線を行うことにより設計変更用論理セルを生成するバルクフィックスデータ生成手段と、前記バルクフィックスデータ生成手段が、前記バルクフィックスデータを生成した場合において、前記選択データ取り出し手段に選択された論理セルの変更が入力されたときに、前記論理セルの変更を禁止する選択セル移動可否判定手段とを設けた。【００２４】
このように、前記バルクフィックスデータ生成手段が前記バルクフィックスデータを生成した場合において前記選択データ取り出し手段に選択された論理セルの変更が入力されたときに、前記論理セルの変更を禁止する選択セル移動可否判定手段を設けたため、バルクフィックス後に論理セルの変更がなされる事態が効果的に回避され得ることになり、もってバルクフィックス後の論理セルの変更によって製造部門に手戻りが生じ半導体集積回路の製造工程に問題が生ずる事態が効果的に回避され得る。【００２５】
又バルクフィックスデータの生成後において、前記バルク層における論理セルの未配置領域に対し、未配線の設計変更用ダミー論理セルを配置するとともに、前記設計変更用ダミー論理セルが配置された領域においては、前記バルクフィックスがなされた状態であっても、前記設計変更用ダミー論理セルに対して配線を行うことにより、設計変更用論理セルを生成するようにしたため、バルクフィックス後も、設計変更用ダミー論理セルに対する配線の設計データの変更によって、設計変更用論理セルによる設計変更が可能となり、論理回路の動作タイミングの改善等が可能となる。
【発明の効果】
【００２６】
本発明によれば半導体集積回路の実装設計において、バルクフィックス後において、論理セルのバルク層における変更が確実に防止されるとともに、バルクフィックス後において論理回路を構成する論理セルのバルク層における変更を伴うことなく、配置が固定された論理セル以外の論理設計変更用論理セルを用いて設計変更を行うことにより、動作タイミングの改善等が可能となるため、半導体集積回路の製造に要する期間の効果的な短縮が図れるとともに、その性能の改善を最大限図り得る構成の、半導体集積回路の実装設計支援プログラムおよび半導体集積回路の実装設計支援方法を提供することが可能となる。
【図面の簡単な説明】
【００２７】
【図１】半導体集積回路の実装設計に係るインクリメンタル設計手法について説明するための図（その１）である。
【図２】半導体集積回路の実装設計に係るインクリメンタル設計手法について説明するための図（その２）である。
【図３】半導体集積回路の構成例を説明するための平面図である。
【図４】半導体集積回路の実装設計における論理セルおよびＥＣバルクセルの配置について説明するための図である。
【図５】本実施形態の一例の半導体集積回路の実装設計支援プログラムの構成例を説明するための機能ブロックである。
【図６】本実施形態の一例の半導体集積回路の実装設計支援方法における処理の流れを説明するための処理フローチャート（その１）である。
【図７】本実施形態の一例の半導体集積回路の実装設計支援方法における処理の内容を説明するための図（その１）である。
【図８】本実施形態の一例の半導体集積回路の実装設計支援方法における処理の流れを説明するための処理フローチャート（その２）である。
【図９】本実施形態の一例の半導体集積回路の実装設計支援方法における処理の流れを説明するための処理フローチャート（その３）である。
【図１０】本実施形態の一例の半導体集積回路の実装設計支援方法における処理の内容を説明するための図（その２）である。
【図１１】本実施形態の一例の半導体集積回路の実装設計支援方法における処理の流れを説明するための処理フローチャート（その４）である。
【図１２】本実施形態の一例の半導体集積回路の実装設計支援方法における処理の内容を説明するための図（その３）である。
【図１３】本実施形態の一例の半導体集積回路の実装設計支援方法における処理の流れを説明するための処理フローチャート（その５）である。
【図１４】本実施形態の一例の半導体集積回路の実装設計支援方法における処理の内容を説明するための図（その４）である。
【図１５】本実施形態の一例の半導体集積回路の実装設計支援方法における処理の流れを説明するための処理フローチャート（その６）である。
【図１６】本実施形態の一例の半導体集積回路の実装設計支援方法を実現するための構成例としてのコンピュータのハードウェアブロック図である。
【符号の説明】
【００２８】
１  データ入出力部
２  バルクフィックスデータ作成部
３  画面表示データ作成部
４  画面表示部
５  選択データ取り出し部
６  選択セル移動可否判定部
７  コンピュータ
【発明を実施するための最良の形態】
【００２９】
以下本実施形態の一例の構成について説明する。【００３０】
半導体集積回路の実装設計を行う場合、論理データであるネットリストと物理データであるレイアウトデータとを同時に更新することを可能とするため、論理セルの実体であるインスタンスや論理セルの端子間の接続関係であるネットの名前をできるだけ変更しないで設計を行なうことが望ましい。【００３１】
ここでネットリストとは論理回路における各論理セル（即ちインスタンス）間の論理的な接続関係（即ちネット）を示すデータ（論理接続情報）であり、レイアウトデータとは、半導体集積回路において実際に各セルの配置位置およびその間を接続する配線の物理的な位置関係を示すデータ（配置配線情報）である。半導体集積回路の製造はこのレイアウトデータに基づいて行われる。【００３２】
図1に示すように、設計のスタート時点から、ネットリストとレイアウトデータとはそれぞれ並行して改善されて行く。【００３３】
ここでレイアウトデータは更新後のネットリストとネット名とをキーとし、互いの一致を確認することによって論理のバックアノテート（論理の照合）がなされる。【００３４】
また、ネットリスト上で新たに追加されたネットやインスタンスについては、追加的にレイアウトされることによりレイアウトデータに反映される。【００３５】
そして当該半導体集積回路としてのプロセッサを製造するため製造部門にレイアウトデータを渡すテープアウトの例えば１ヶ月前には、後述するＥＣ（Ｅｎｇｉｎｅａｒｉｎｇ  Ｃｈａｎｇｅ）バルクセル用のトランジスタセルを、既にレイアウトされたセル間の隙間に埋め込むことにより配置し、その後このようにして配置された論理セル及びＥＣバルクセル用のトランジスタセルを固定（すなわちバルクフィックス）する。【００３６】
バルクフィックスの後は後述する設計変更用論理セルのみ追加・削除・移動が可能となり、この設計変更用論理セルを使ってその後の動作タイミングの改善や論理設計ミスの修正等の設計改善を行う。【００３７】
ここでＥＣセルとは、バルクフィックスの際にバルク層に埋め込まれたＥＣバルクセル用のセル（すなわちＥＣバルクセルであって、「設計変更用ダミー論理セル」に対応する）上に設けるメタル配線のみを含む概念である。【００３８】
このようにＥＣバルクセル（実際には後述するＥＣサイト）上にＥＣセルを設けることで、ＡＮＤセル、ＯＲセル等の論理セルを生成することが可能となり、配線層の変更のみで論理回路の論理の変更が行える。このようにＥＣバルクセル（実際には後述するＥＣサイト）上にＥＣセルを設けることで生成される論理セルを以下「設計変更用論理セル」と称する。【００３９】
なおＥＣバルクセルはＥＣ用フィラーセル、或いはＥＣダミーセルとも称される。【００４０】
本発明の実施例による半導体集積回路の実装設計支援装置および実装設計支援方法ならびに実装設計支援プログラムは、バルクフィックスの後、レイアウトデータにおいてバルク層の変更、すなわち論理回路を構成するトランジスタ素子の配置の変更を禁止するためのロック制御に関するものを含み、更に上記設計変更用論理セル以外のセルについてはバルク層の変更がなされないことを保証しながら一定の条件でセルの変更を許容する構成を有する。【００４１】
ここで上記半導体集積回路の実装設計支援プログラムとは、ＣＡＤ機能等を有し、コンピュータにインストールされることによって、設計者による半導体集積回路の実装設計を支援する機能を提供するツールとしてのソフトウェアプログラムである。【００４２】
半導体集積回路の実装設計においては上記の如くネットリストの変更による論理変更とレイアウト変更とを同時に行なって行くため、ネットリスト上で変更された論理全体について対応するレイアウトデータを上書きし、論理変更がない部分については変更前の前回のレイアウトデータが維持される。このような手法はＥＣ（Ｅｎｇｉｎｅｅｒｉｎｇ  Ｃｈａｎｇｅ）フローと称され、上記インクリメンタル設計の基本な処理の流れとなっている。【００４３】
ここで設計変更用に追加された論理については、論理のみが変更された時点ではレイアウトデータ上、セルは未配置、ネットは未配線であるため、対応するレイアウトデータの上書きにより、レイアウトデータ上でこれら新たなセルおよびネットの配置・配線がなされる（図２中、「（３）ネットリスト変更」および「（４）レイアウト変更」参照）。【００４４】
そしてテープアウトの時期に近づいたある時期にすべてのセルを固定するバルクフィックスの処理を行う。【００４５】
このとき、既にネットリスト上で実現されている論理をレイアウトデータ上でも実現するためになされたセル配置の完成の後に余った配置領域に上記ＥＣバルクセルを埋め込む。【００４６】
このバルクフィックス後は、既にネットリスト上で実現されている論理をレイアウトデータ上でも実現するために配置された論理セルだけでなく、上記の如くその後に配置されたＥＣバルクセルの移動が禁止される。【００４７】
ここでＥＣバルクセル（実際には後述するＥＣサイト）とはトランジスタ素子のみを含み、その間の配線としてのネットを含まないセルである。ＥＣバルクセル上にＥＣセルとしてのメタル配線を設け、トランジスタ素子に対する配線を行うことで上記設計変更用論理セルを生成することが出来る。【００４８】
ここで上記セルの移動の禁止は以下の如くに実現される。【００４９】
すなわち、レイアウトデータ上にＥＣバルクセルが既に配置されていることが検出されると、本実施形態の一例による半導体集積回路の実装支援プログラムの機能により、該当するすべてのセルの配置を固定するとともに移動を禁止するためにロック制御がなされる。【００５０】
なお、このようにバルクフィックス後は原則としてすべてのセルの移動が禁止されるが、上記の如く、ＥＣバルクセル上にＥＣセルたるメタル配線のパターンを設けることで実現される設計変更用論理セルによる設計変更のみが例外的に許容される。【００５１】
したがってバルクフィックス後は設計変更用論理セルを使って論理の変更を行うことが許容される。このＥＣセルはＥＣバルクセルの上にのみ重ねて配置できるよう、上記半導体集積回路の実装設計支援プログラムの機能によりコンピュータが制御される。【００５２】
上記半導体集積回路の実装設計支援プログラムをコンピュータに実行させることで実現される、本実施例による半導体集積回路の実装設計支援方法には、以下の処理が含まれる。【００５３】
１）本実施例による半導体集積回路の実装設計支援プログラムを実行するコンピュータに対しオペレータによりバルクフィックスする旨の指示が入力された場合、当該プログラムの機能により、まずバルクフィックスすることが可能な状態かどうかが判断される。この目的のため、本来配置すべきセルのうち未配置のセルが有るか否かにつき、実装設計支援プログラムを実行するコンピュータが判断を行う。【００５４】
２）バルクフィックスする際、サイト上の空き領域にＥＣバルクセルが埋め込まれることにより配置される。【００５５】
３）このＥＣバルクセルの配置が完了した後、オペレータが実装設計支援プログラムを実行するコンピュータに明示的に指示を入力することにより、上記ＥＣバルクセルはＥＣサイトへ、その名称が置き換えられる。【００５６】
４）上記プログラムの機能によりサイトの中にこのＥＣサイトが存在することが確認されると、以後バルクフィックス後の制御、すなわちバルク層の変更を禁止するための制御がなされる。【００５７】
５）また上記プログラムの機能によるバルク層の変更を禁止する制御においては、設計変更用論理セル以外のセルの変更を禁止するように制御がなされる。但しこの点については後述（第８）項）する例外が設けられている。【００５８】
６）ＥＣセルはその配置が許容されるのはＥＣサイトのみであり、またＥＣサイト上にあるＥＣセルの他のＥＣサイト上への移動が許容されるような制御がなされる。【００５９】
７）このようにＥＣサイトではＥＣセルの配置や移動が許容されるのであるが、該当する領域がオペレータに認識されやすくするため、当該領域の表示色が他の領域とは異なる色となるよう、画面の表示制御がなされる。【００６０】
８）上記の例外として、交換しても移動先の論理セルのフリップ（ｆｌｉｐ）方向および回転方向が互いに同一である場合に限り、それらの論理セル同士の入れ替えが許容される。
ここで、フリップ方向とは、左右対称に形成された論理セル又は設計変更用論理セル等のセルを、裏返さずにそのまま配置するか、裏返して配置（フリップ配置）するか、いずれかの配置の向きを表す。
また、回転方向とは、論理セル又は設計変更用論理セル等のセルを、１８０度回転せずにそのまま配置するか、１８０度回転して配置するか、いずれかの配置の向きを表す。
移動先の論理セルのフリップ（ｆｌｉｐ）方向および回転方向が互いに同一である場合には、論理セルの移動がなされても移動先の論理セルにおいてバルク層の変更、すなわち当該論理セルを構成するトランジスタ素子の配置の変更は生じないからである。【００６１】
この場合もオペレータに対し、このように互いに交換が許容される論理セルが認識され易くするため、ある論理セルが指定された場合、当該指定に係る論理セルと交換可能な他の論理セルの表示色を変化させるよう、画面の表示制御がなされる。【００６２】
９）そして互いに交換が許容される論理セルの組につき、前記プログラムの一の機能としてのいわゆるセル配置エディタの機能により、当該論理セル間の入れ替えを許容する制御がなされる。又論理セル間の入れ替えがなされる場合、各位置において移動先の論理セルのフリップ方向および回転方向が維持されるように制御がなされる。【００６３】
１０）バルクフィックス後に論理セルの配置変更がなされた場合に、バルク層の変更、即ち論理セル又は設計変更用論理セルを構成するトランジスタ素子の配置の変更が発生していないかを確かめるため、バルクフィックスがなされたサイトの全領域につき、そこに配置されている各セルが設計変更用論理セルか否かを取得し、設計変更用論理セル以外の論理セルであれば、当該論理セルがバルクフィックスの時点以降変更されていないことを確認し、設計変更用論理セルであれば、これを構成するＥＣバルクセルがバルクフィックスの時点以降変更されていないことを確認する処理がなされる。【００６４】
このような本実施形態の一例による半導体集積回路の実装設計支援方法の構成によれば、バルクフィックス後のレイアウトデータを半導体集積回路の製造工場に渡した後、テープアウトまでの間の設計変更が可能であり、設計変更においてバルク、すなわちトランジスタ素子の配置の変更を禁止するようにロック制御がなされる。このため、設計者たるオペレータが誤操作等によりバルク層の変更、すなわちトランジスタ素子の配置の変更を行う事態が効果的に回避される。【００６５】
また、バルクフィックス後も、設計変更用論理セルを使った設計変更が許容されるとともに、設計変更用論理セル以外の論理セルについても、交換しても互いに移動先のフリップおよび回転を維持可能なセル同士の入れ替えが許容されることにより設計改善の自由度が向上される。【００６６】
以下図とともに本実施形態の一例について更に具体的に説明を行う。【００６７】
図３は本実施形態の一例による半導体集積回路の実装設計支援方法を実施する対象となり得る半導体集積回路の構成例であって、周知の階層レイアウトを有する半導体集積回路の構成例を示す平面図である。【００６８】
この半導体集積回路を構成する論理回路はその機能毎にブロック分割されており、各ブロックには該当する機能を実現するための論理回路が含まれており、各論理回路はこれを実現するための論理セル（即ち論理セルの実体であるインスタンス）および論理セル間の配線（即ち接続情報であるネット）で構成される。なお図３中「マクロ」（ＩＯマクロ含む）とは、ＲＡＭマクロや演算器マクロ等、特定の機能を有する回路をブロックとして構成したカスタムマクロである。【００６９】
図４（ｂ）は、図３の構成中、同図（ａ）において円で囲まれた部分、すなわち半導体集積回路を構成する論理回路の１つのブロックを拡大して示す図である。【００７０】
図４（ｂ）に示すごとく、半導体集積回路の論理回路のブロックには当該論理回路を構成する各論理セルを配置するためのサイトが設けられており、上記半導体集積回路のレイアウト設計ではネットリストにて示された論理回路を実現するために必要な論理セルＣｇをサイト上に配置する。【００７１】
この論理セルを配置するためのサイトは複数の列（図４（ｂ）に示される論理回路のブロックの例の場合には５列）を構成しており、サイトを構成する各列は例えば図４（ｅ）にＥＣバルクセルの例として拡大して示すごとく、図中上下二段に分割された構成とされている。またその各段には図４（ｅ）に示すごとく、各電源線ＶＤＤおよび接地線ＶＳＳが設けられている。【００７２】
そして上記レイアウト設計では、このサイトの各列の上下各段に対し必要な論理セルを配置する。図４（ｅ）に拡大して示されたＥＣバルクセルＣｅの構成例では、図示の如く上下各段が８個の論理セルを収容可能な構成とされている。【００７３】
上記レイアウト設計において、当該半導体集積回路のブロックに係るネットリスト上で実現されている論理セルＣｇの配置が全て完了した段階で上記バルクフィックスを行う。そしてこのバルクフィックスの時点におけるサイト上の上記空き領域に対し、図４（ｂ）に示されるごとく、上記ＥＣバルクセルＣｅを配置する。【００７４】
図４（ｃ），（ｄ），（ｅ）に示すごとく、このＥＣバルクセルＣｅに対し、上記の如く、バルクフィックス後も、当該ＥＣバルクセルＣｅを構成するトランジスタ素子間の配線としてのＥＣセルを配置することが出来る。このようにしてバルクフィックス後も当該半導体集積回路の論理回路のブロック内に新たな論理セルとして使用する設計変更用論理セルを配置することが出来、もって一定の範囲で同論理回路のブロックにおける論理の変更も可能となる。【００７５】
ここで図４（ｃ）はＥＣセルを配置することによって生成しようとする設計変更用論理セル（この場合はＮＡＮＤ回路を構成する論理セル）の回路記号を示し、同図（ｄ）は当該設計変更用論理セルを生成するためのメタル配線としてのＥＣセルを示す。また図４（ｅ）は図４（ｂ）に示されたＥＣバルクセルＣｅの一部を抽出して拡大して示す図である。【００７６】
図５は本実施例による半導体集積回路の実装設計支援方法をコンピュータに実行させるための半導体集積回路の実装設計支援プログラムの機能ブロック図である。【００７７】
同プログラムはデータ入出力部１、バルクフィックスデータ作成部２，画面表示データ作成部４、選択データ取り出し部５および選択セル移動可否判定部６を有する。【００７８】
データ入出力部１は、当該プログラムが搭載されているコンピュータ７の操作部（すなわちキーボード等）上で設計者たるオペレータが指示入力を行うことにより、同指示に従って上記半導体集積回路の実装設計に係るネットリスト或いはレイアウトデータを生成し、図５に示されるごとくＬＳＩ設計データとしてデータ格納部８に保存する機能を有する。【００７９】
またデータ入出力部１は、このデータ格納部８に保存されたＬＳＩ設計データ、すなわち半導体集積回路の論理回路の実装設計に係るレイアウトデータ等を、画面表示データ作成部３および画面表示部４を介し、コンピュータ７の表示画面に表示するために出力する機能を有する。【００８０】
バルクフィックスデータ作成部２は、オペレータにより入出力部１を介してバルクフィックスを行う旨の指示入力がなされた場合、バルクフィックスデータを作成する。【００８１】
ここでバルクフィックスデータとは、半導体集積回路の論理回路のブロックにつき、バルクフィックスの時点における、当該半導体集積回路の論理回路のブロックのレイアウトデータとして実現されている、各サイトに関する配置情報である。具体的には、例えば図４（ｂ）に示される論理回路のブロックの例では、上記５列のサイトの各々につき、そこに配置されたセル毎に、それがＥＣバルクセルＣｅであるか或いは一般的な論理セルＣｇであるかの別を示す情報を含む。【００８２】
画面表示データ作成部３は、データ入出力部１から供給されるレイアウトデータ、バルクフィックスデータ作成部２から供給されるバルクフィックスデータ等に基づき、コンピュータ７の表示画面に該当する情報を表示するための画面表示データを作成する。【００８３】
画面表示部４は、画面表示データ作成部３から供給された画面表示データに基づき、コンピュータ７の表示画面上に該当する表示内容を有する画面を表示する。【００８４】
選択データ取り出し部５は、コンピュータ７の操作部を介して入力されるオペレータの指示情報からオペレータが選択したセルを示す情報、そのセルの移動先を示す情報等を抽出し、選択セル移動可否判定部６に供給する。【００８５】
選択セル移動可否判定部６は、選択データ取り出し部５から供給されるオペレータの指示に係る情報を受け、当該指示に係る設計変更が禁止されているものであるか否かを判定する。オペレータの指示に係る設計変更が禁止されているものか否かの判定の詳細については、図９，図１３等とともに後述する。【００８６】
図６は、図５とともに上述した本実施例に係る半導体集積回路の実装設計支援プログラムにおいて、オペレータによりバルクフィックスする旨の指示入力が前記コンピュータ７に対してなされた場合に、バルクフィックスデータ作成部２が実行する処理の流れを説明するための処理フローチャートである。【００８７】
図６中、ステップＳ１で、サイトに配置すべき論理セルが全て配置済み、すなわち該当するネットリストに含まれる全てのインスタンスおよびネットがレイアウトデータに反映されているか否かを判定する。【００８８】
この判定の結果未配置セルが存在する場合（ステップＳ２の「有」）、ステップＳ３にて、画面表示データ作成部３および画面表示部４を介し、未配置セルの存在によりバルクフィックスが出来ない旨をコンピュータ７の表示画面に表示する。【００８９】
オペレータはこの表示を見て未配置セルの存在を認識し、該当する論理セルをサイトに配置するようコンピュータ７の操作部に対して指示入力を行うことで、論理セルの配置を完了させる。【００９０】
未配置セルが無い場合（ステップＳ２の「無」）、以下に述べる図７の処理に移行する（ステップＳ４）。【００９１】
図７の処理は図６の処理に引き続いてバルクフィックスデータ作成部２が実行する処理であり、サイトの未配置領域に上記ＥＣバルクセルを配置する処理である。この処理は上記半導体集積回路の実装設計に係るレイアウトデータにおいて行われる。【００９２】
図７（ａ）の左側の図は図４（ｂ）の例に対応するものであり、上記図６の処理中、ステップＳ２の判断の結果、未配置セルが無い（「無」）状態を示す。同図では、各々が図中横方向に延在する５列のサイトに対し、ネットリストに含まれるセルＣｇが配置されるとともに、セルＣｇの間に配線ｗが設定されている様子が示されている。【００９３】
図７（ａ）の右側の図は、上述した同左側の図の状態に対し、サイトにおいて論理セルＣｇが配置されていない隙間にＥＣバルクセルＣｅが配置された状態が示されている。【００９４】
このように、本実施例による半導体集積回路の実装設計支援プログラムのバルクフィックスデータ作成部２は、オペレータからバルクフィックスを行う旨の指示入力を受けると、図６の処理により未配置セルが無いことを確認後、サイトの隙間にＥＣバルクセルＣｅを埋め込むことによる配置処理を行う。【００９５】
次にバルクフィックスデータ作成部２は、図８とともに以下に述べる、レイアウトデータ上でＥＣサイトＳｅ（図７（ｂ）参照）を発生する処理を行う。【００９６】
図７（ｂ）は後述する如く、図７（ａ）の右図の状態で各サイトの空き領域に配置されているＥＣバルクセルＣｅに対しＥＣサイトＳｅが発生され、これによってＥＣバルクセルＣｅが置き換えられた状態を示す。【００９７】
図８中、ステップＳ１１で半導体集積回路の実装設計に係る論理回路のブロックのレイアウトデータに対し、上記の如くサイトに配置されたＥＣバルクセルＣｅが検索される。【００９８】
ステップＳ１２ではステップＳ１１で検索されたＥＣバルクセルＣｅが連続する場合、その事実が認識される。例えば図７（ａ）の右図の例の場合、例えば最上列のサイト中、左から２〜４番目のＥＣバルクセルＣｅが相互に連続しているが、このような場合、ＥＣバルクセルＣｅが連続していると認識する。【００９９】
ステップＳ１３ではこのように連続するＥＣバルクセルＣｅに対し、１つのＥＣサイトＳｅを発生する。例えば上記図７（ａ）の右図の例の最上列のサイト中、上記左から２〜４番目の計３個のＥＣバルクセルＣｅに対し、１つのＥＣサイトＳｅが発生される。【０１００】
他方、ＥＣバルクセルＣｅが連続しておらず孤立して存在する場合に対しては、各々に対し１つのＥＣサイトを発生する。図７（ａ）の右図の例の場合、例えば最上列のサイト中、左端のＥＣバルクセルＣｅは孤立して存在し連続していないため、当該ＥＣバルクセルＣｅに対し１つのＥＣサイトＳｅが発生される。【０１０１】
このようにして全てのＥＣバルクセルＣｅに対するＥＣサイトＳｅの発生が完了した後、ＥＣバルクセルＣｅの情報を全て削除する（ステップＳ１４）。すなわち螺イアウトデータ中、ＥＣバルクセルＣｅの情報がＥＣサイトＳｅの情報で置き換えられる。【０１０２】
その後、図９の処理がなされる。図９の処理はバルクフィックスモードへの移行および、それに伴う上記ロック制御の処理である。【０１０３】
図９のステップＳ２１でバルクフィックスデータ作成部２はデータ格納部８に格納された論理回路のブロックのＬＳＩ設計データに含まれるレイアウトデータを参照し、当該レイアウトデータ上、サイトにＥＣサイトＳｅが設定されていることを確認した後、バルクフィックスを実施する（ステップＳ２２）。すなわち、当該レイアウトデータに対しバルクフィックスがなされた状態となる。【０１０４】
このようにしてバルクフィックスがなされると、当該論理回路のブロックのレイアウトデータは半導体集積回路の製造部門に渡され、当該製造部門では半導体集積回路の半導体基板のバルク層について製造作業を開始する。【０１０５】
このようにバルクフィックスがなされた後、設計者たるオペレータは当該論理回路のブロックの動作タイミング（遅延量等）の改善又は論理ミスの修正等を図るべく、設計変更を行う。【０１０６】
なお上記の如く、バルクフィックスは半導体集積回路の実装設計において、該当する論理回路のブロックのネットリストによる論理回路を構成するための論理セルＣｇが全て配置された後に行われる。【０１０７】
図9の説明に戻り、ステップＳ２３において、オペレータがバルクフィックス後の設計変更のため、その対象たるセルを選択する操作をコンピュータ７の操作部に対して行うと、図５に示される選択データ取り出し部５がその操作内容を抽出して選択セル移動可否判定部６に転送する。【０１０８】
選択セル移動可否判定部６はデータ格納部８に格納されているＬＳＩ設計データを参照することにより、当該選択に係るセルの種別を取得する（ステップＳ２３）。ここでセルの種別を取得するとは、該当するセルが設計変更用論理セルか否かの判断を行うことを意味する。【０１０９】
ステップＳ２３の結果該当するセルが設計変更用論理セルでない場合（ステップＳ２４のＮｏ），選択セル移動可否判定部６はステップＳ２５にて、当該セルが設計変更用論理セルでないためその移動が禁止されている旨を、画面表示部４介してコンピュータ７の表示画面に表示する。【０１１０】
オペレータをこのようにコンピュータ７の表示画面に表示された内容を参照することにより、自己が選択したセルが設計変更用論理セルでなく、もってバルクフィックスにより既にその移動が禁止されたセルであることを認識し得る。その結果バルクフィックス後にオペレータが設計変更用論理セル以外の、配置が固定されたセルを移動する旨の設計変更を行う事態が効果的に回避され得る。【０１１１】
ここで設計変更用論理セル以外のセルとは、上記一般的な論理セルＣｇ、およびその両者以外のセル、すなわちカスタムマクロブロックのセル等、そもそも設計変更の対象外とされているセルを意味する。【０１１２】
上記の如く設計変更用論理セル以外の一般的な論理セルＣｇはネットリストに含まれる論理回路を実現するために必要なものであり論理回路の基本的な性能に係るセルであるため、詳細な仕様まで最適化されている場合が多い。したがってバルクフィックス後の設計変更用論理セル以外のセルの移動は禁止されている。【０１１３】
又、設計変更用論理セルとは、ＥＣセルが上記の如くＥＣサイトＳｅ上に配置されることで構成されるセルであり、原則としてバルクフィックス後は設計変更用論理セルに限り、移動による設計変更が許容されている。【０１１４】
図９の説明に戻り、ステップＳ２５の処理後再びステップＳ２３の処理に戻り、再びオペレータが設計変更対象のセルを選択する操作をコンピュータ７の操作部に対して行った場合、上記同様、図５に示される選択データ取り出し部５がその内容を抽出して選択セル移動可否判定部６に転送する。【０１１５】
その後再びステップＳ２４の判断がなされ、判断の結果がＮｏであればステップＳ２５に移行し上記の処理が繰り返される。【０１１６】
他方、ステップＳ２４の判断の結果がＹｅｓの場合、すなわちオペレータにより選択されたセルが設計変更用論理セルであった場合、ステップＳ２６に移行する。【０１１７】
ステップＳ２６では、オペレータが該当するセルの移動先を指定する操作を行った際の当該移動先の位置の情報を、選択セル移動可否判定部６が選択データ取り出し部５を介して取得する。【０１１８】
次に選択セル移動可否判定部６はデータ格納部８に格納されたＬＳＩ設計データを参照することにより、当該移動先の位置が、ＬＳＩ設計データに含まれるレイアウトデータ上、上記ＥＣサイトＳｅに該当するか否かを判定する（ステップＳ２７）。【０１１９】
判定の結果当該移動先の位置がＥＣサイト上でなかった場合、ステップＳ２８に移行し、当該移動先がＥＣサイトでないためセルの配置が禁止されている旨を、画面表示部４介してコンピュータ７の表示画面に表示する。【０１２０】
オペレータはコンピュータ７の表示画面に表示された内容を参照することにより、セルの移動先がＥＣサイトでなく、バルクフィックスにより既にそこへのセルの配置が禁止されていることを認識し得る。その結果バルクフィックス後にオペレータがＥＣサイトＳｅ以外の位置に対しセルを配置する設計変更を行う事態が効果的に回避され得る。【０１２１】
上記の如くバルクフィックス後は、原則として、ＥＣセルのＥＣサイトＳｅへの配置による設計変更用論理セルの配置、或いはＥＣセルのＥＣサイト間の移動による設計変更用論理セルの移動のみが許容される。【０１２２】
図９の説明に戻り、ステップＳ２８の処理後再びステップＳ２３の処理に戻り、再びオペレータがセルを指定するとともにその移動先を入力する操作をコンピュータ７の操作部に対して行うと、図５に示される選択データ取り出し部５がその内容を抽出して選択セル移動可否判定部６に転送する。【０１２３】
その後再びステップＳ２４〜Ｓ２６の処理がなされ、ステップＳ２４，Ｓ２６のいずれかの判断の結果が上記同様（Ｎｏ）であれば、該当するステップＳ２５又はＳ２８に移行し、その後は上記同様の処理が繰り返される。【０１２４】
他方、ステップＳ２４の判断がＹｅｓであり且つステップＳ２６の判断がＹｅｓの場合、すなわちオペレータにより選択されたセルが設計変更用論理セルであり且つその移動先がＥＣサイトであった場合、ステップＳ２９に移行する。【０１２５】
ステップＳ２９で選択セル移動可否判定部６はオペレータの操作に係るセルの指定およびその移動先の情報をデータ入出力部１に転送し、データ入出力部１では当該操作に係るセルの指定およびその移動先の情報にしたがってデータ格納部８に格納されたＬＳＩ設計データに含まれるレイアウトデータに対して、設計変更の内容を反映させる。【０１２６】
このように、本実施例による半導体集積回路の実装設計方法によれば、バルクフィックス後は、原則としてＥＣセルのＥＣサイトへの配置による設計変更用論理セルの配置、或いはＥＣセルのＥＣサイト間の移動による設計変更用論理セルの移動のみが許容されており、それ以外の内容を有する設計変更は禁止される。【０１２７】
そして当該禁止された内容の設計変更に係る操作入力がなされた場合、「当該操作に係る設計変更は禁止されている」旨が表示画面に表示される。その結果オペレータはその旨を明確に認識することが出来、誤って禁止されている内容の設計変更を行ってしまうというような事態が効果的に回避され得る。【０１２８】
次に図１０，図１１とともに、レイアウトデータをコンピュータ７の表示画面に表示する際に上記ＥＣサイトＳｅにつき、オペレータが認識しやすいように特別な色で表示する場合の処理について説明する。【０１２９】
ここで、「特別な色」とは、表示画面におけるＥＣサイトＳｅ以外の表示部分に対して、ＥＣサイトＳｅの表示部分の輝度を高くする、又は、色相を反転する等の処理がなされた、人間の目に注意を引きやすい色をいう。
この処理は図５に示す構成中、バルクフィックスデータ作成部２，画面表示データ作成部３および画面表示部４が実行する処理である。【０１３０】
ここでは図１０に示すごとく、同図（ａ）に示される上記ＥＣサイトＳｅにつき、同図（ｂ）中、記号ｃで示される場所に特別な色を付すことにより、オペレータが認識しやすくする。【０１３１】
図１１中、データ入出力部１はデータ格納部８に格納されたＬＳＩ設計データのレイアウトデータに基づき、該当する全サイトからＥＣサイトＳｅを検出する（ステップＳ４１）。【０１３２】
又、ＥＣサイトＳｅ以外のサイトにつき、データ入出力部１は、そのサイトおよび当該サイト上に配置されているセルを表示しない制御を画面表示データ作成部３に対して行う（ステップＳ４２のＮｏ，ステップＳ４３）。【０１３３】
この制御を受け、画面表示データ作成部３はレイアウトデータの表示データを生成する際、ＥＣサイトＳｅ以外のサイトについてはそのサイトおよびサイト上に配置されているセルを除いた表示データを生成する。【０１３４】
画面表示部４は当該表示データにしたがい、ＥＣサイトＳｅ以外のサイトおよびサイト上に配置されているセルを除いた状態でレイアウトデータをコンピュータ７の表示画面に表示する。【０１３５】
又、ＥＣサイトＳｅにつき、データ入出力部１は、特別な色で表示するような制御を行う（ステップＳ４２のＹｅｓ，ステップＳ４４）。【０１３６】
そして、画面表示データ作成部３はレイアウトデータの表示データを生成する際、当該制御にしたがってＥＣサイトについて特別な色で表示するような表示データを生成する。【０１３７】
画面表示部４は当該表示データにしたがい、ＥＣサイトＳｅを特別な色で表示する態様でレイアウトデータをコンピュータ７の表示画面に表示する。【０１３８】
図１０（ｂ）はこのようにして表示されたレイアウトデータの例を示す。同図に示されるごとく、同図中、記号ｃで示された場所、すなわちＥＣサイトＳｅが特別な色で表示され、それ以外のサイトおよびサイト上に配置されているセルは表示されない。【０１３９】
上記の如くバルクフィックス後はレイアウトデータが半導体集積回路の製造部門に送られバルク層の製造が開始されるため、原則としてＥＣサイト以外のサイトについての設計変更が禁止される。本発明の実施例による半導体集積回路の実装設計支援方法によれば、上記の如くＥＣサイトＳｅのみが特別な色で表示されそれ以外のサイトおよびサイト上に配置されているセルが表示されない態様でレイアウトデータが表示される。その結果、設計者たるオペレータは設計変更が可能なＥＣサイトＳｅを容易に判別可能となり、バルクフィックス後の設計変更作業の効率化が図れる。【０１４０】
次に図１２，図１３とともに、上記設計変更用論理セル以外の論理セルに係る設計変更が例外的に許容される場合について説明する。【０１４１】
バルクフィックス後は、原則としてＥＣセルのＥＣサイトへの配置による設計変更用論理セルの配置或いはＥＣセルのＥＣサイト間の移動による設計変更用論理セルの移動についてのみ設計変更が許容され、それ以外の態様の設計変更が原則的に禁止される。すなわち、設計変更用論理セル以外の論理セルの変更が原則的に禁止される。【０１４２】
これは上記で説明したように、１）バルクフィックス後は半導体集積回路の製造部門でバルク層の製造が開始されるため、バルク、すなわち各セルを構成するトランジスタ素子の配置が変更されても、一旦製造が開始された半導体基板のバルク層の変更は不可能であるため作業工程上問題が生ずる点、および２）設計変更用論理セル以外の一般的な論理セルは該当するネットリスト上で実現されている論理を実現するためのものであり詳細に最適化されている場合があることから設計変更を行うべきではないと考えられることによる。【０１４３】
しかしながら設計変更用論理セル以外のセルについての設計変更を一切認めないとした場合設計の自由度に欠ける上、論理ミスの修正等ができないこととなる。したがって本実施例による半導体集積回路の実装設計支援方法では一定の条件下で設計変更用論理セル以外の一般的な論理セルに係る設計変更を認めることで、設計の自由度を向上している。【０１４４】
具体的には、交換しても互いに移動先のセルのフリップ方向および回転方向が維持されるという条件を満たす場合に限り、該当するセル間の交換が許容されるようにした。【０１４５】
図１４とともに後述するように、交換しても互いに移動先のセルのフリップ方向および回転方向が同一であるセル同士の交換がなされても、当該交換に係る両セルとも、そのセルを構成するトランジスタ素子の配置およびセル内のトランジスタ素子間の配線に変更が生ずることが無く、バルクフィックスした半導体基板のバルク層の変更が必要となる等の問題が生ずることが無いからである。【０１４６】
ここでは図１２（ａ）に示される如く、オペレータ（即ち設計者）が設計変更に係るセルを指定する操作を行った場合、指定されたセルを選択データ取り出し部５を介して受け取った選択セル移動可否判定部６は、当該指定に係るセルと、当該セルと交換した場合に、交換してもお互いに移動先のセルのフリップ方向および回転方向が同一である他のセルを全て検索し、該当するセルにつき、図１２（ｂ）中、記号ｓで示される部分に、画面表示データ作成部３および画面表示部４を介し、特別な色を付して表示する。【０１４７】
その結果オペレータはバルクフィックス後に例外的に設計変更用論理セル以外の一般的な論理セルについて設計変更を行おうとする場合、交換可能なセルを容易に認識可能となり、設計変更の効率を向上させることが可能となる。更に、上記条件（交換しても互いに移動先のフリップ方向および回転方向が同一であるという条件）に合致せず設計変更の対象とされていないセルが誤ってオペレータの操作によって設計変更されてしまうような事態が効果的に回避され得る。【０１４８】
図１３はその際の処理の流れを説明するための処理フローチャートである。【０１４９】
図１３中、ステップＳ５１で選択セル移動可否判定部６はコンピュータ７の操作部および選択データ取り出し部５を介し、オペレータにより入力された指示の内容を受け取り、オペレータにより選択されたセルの種別を取得する（ステップＳ５１）。【０１５０】
ここで取得されたセルの種別が設計変更用論理セルであった場合（ステップＳ５２のＹｅｓ），図９のステップＳ２６−Ｓ２９の処理と同様の処理がなされる。すなわち設計変更用論理セルについてはバルクフィックス後も設計変更が許容されているため、上記例外的な処理ではなく、図９とともに上述した設計変更用論理セルに係る設計変更についての処理がなされる。【０１５１】
次にステップＳ５４にて選択セル移動可否判定部６は当該選択に係るセルが一般的な論理セルであるか否かを判定する。【０１５２】
当該判定の結果がＮｏの場合、該当するセルは設計変更用論理セルでもなく、また設計変更用論理セル以外の一般的な論理セルでもないことになり、そもそも設計変更の対象外のセルが選択されたことになる。このようなそもそも設計変更の対象外のセルとしては、例えばカスタムマクロブロックに含まれるセル等が考えられる。【０１５３】
図１３の説明に戻り、ステップＳ５４の判定の結果がＮｏの場合、選択セル移動可否判定部６はステップＳ５５にて、当該セルが設計変更用論理セルでもそれ以外の一般的な論理セルでもないセルであるためその移動が禁止されている旨を、画面表示部４介してコンピュータ７の表示画面に表示する。【０１５４】
オペレータはこのようにコンピュータ７の表示画面に表示された内容を参照することにより、選択に係るセルが設計変更用論理セルでも一般的な論理セルでもなく、移動が禁止されているセルであることを明確に認識し得る。その結果オペレータが誤って設計変更用論理セルでも一般的な論理セルでもない、そもそも設計変更対象外のセルを移動する設計変更を行うような事態が効果的に回避され得る。【０１５５】
図１３の説明に戻り、ステップＳ５５の処理後、再びステップＳ５１の処理に戻る。そこで再びオペレータが設計変更等のためにセルの設計データの内容を変更しようとして該当するセルを選択する操作をコンピュータ７の操作部に対して行った場合、上記同様、選択データ取り出し部５がその内容を選択セル移動可否判定部６に転送する。【０１５６】
その後再び上記同様にしてステップＳ５２，Ｓ５４の判断がなされ、ステップＳ５２の判定の結果がＹｅｓであれば上記同様図９のステップＳ２６〜Ｓ２９の処理がなされる。またステップＳ５２の判定の結果がＮｏでありステップＳ５４の結果がＮｏであれば、ステップＳ５５に移行し上記同様の処理が繰り返される。【０１５７】
他方ステップＳ５４の判断がＹｅｓの場合、すなわちオペレータにより選択されたセルが設計変更用論理セル以外の一般的な論理セルであった場合、ステップＳ５６に移行する。【０１５８】
ステップＳ５６で選択セル移動可否判定部６は、当該選択に係るセルと論理的且つ物理的に同一の構成を有するセルであって当該選択に係るセルと交換した場合に互いに移動先のセルのフリップ方向および回転方向を維持可能なセルを全て検索する（ステップＳ５６）。そして画像表示部４を介し、図１２（ｂ）とともに上述の如く、コンピュータ７の表示画面上で該当するセルに特別な色を付して表示を行う（ステップＳ５７）。【０１５９】
その後オペレータによる移動先のセルを指定する操作にしたがって、データ入出力部１が該当するセルの移動をデータ格納部８に格納されたＬＳＩ設計データのレイアウトデータに反映する（ステップＳ５８）。【０１６０】
以下図１４とともに、上記交換しても互いに移動先のフリップ方向および回転方向を維持可能なセル同士のセルの交換を行う例について説明する。【０１６１】
図１４（ａ）は論理セルの一例としてのＮＡＮＤ回路を示し、同図（ｂ）は当該ＮＡＮＤ回路をレイアウトデータ上で論理セルとして配置した例を示す。【０１６２】
図１４（ｂ）中、'Ｆ'の文字を左右に裏返した形状の記号は、当該セルにおけるトランジスタ素子間の配線の形状の例を示しており、説明の便宜上を簡略化して示している。【０１６３】
図１４（ｃ）はこのＮＡＮＤ回路を使用した論理回路の例を示し、同図（ｄ）は同論理回路をレイアウトデータ上で実現した例を示す。この例では図示の如く、ＮＡＮＤ回路Ａ、Ｂ，Ｃが、その順序で相互に直列に接続されている。【０１６４】
図１４（ｅ）は、図１４（ｄ）のレイアウトに対し、これらのＮＡＮＤ回路Ａ，Ｂ，Ｃを構成するそれぞれのセルＡ，Ｂ，Ｃのうち、セルＢとセルＣとを交換した例を示す。【０１６５】
図１４（ｄ）のレイアウトではセルＡからセルＢに対し、図中右方向に配線ｗがなされ、更にセルＢからセルＣへの配線ｗは、セルＡの方向、すなわち左方向に戻るようになされている。【０１６６】
これに対し図１４（ｅ）のレイアウトでは上記の如くセルＢとセルＣとが交換されたため、セルＡからセルＢに対し、図中右方向に配線ｗがなされ、更にセルＢからセルＣへの配線ｗは、セルＡとは反対方向、すなわち更に右方向に向かってなされている。その結果図１４（ｄ）のレイアウトと対比すると、配線ｗの長さが効果的に短縮され、もって論理回路の性能向上が図れる。【０１６７】
このような設計変更の場合の変更前の図１４（ｄ）のレイアウトと変更後の図１４（ｅ）のレイアウトとを比較すると、図示の如く、変更前のセルＣと変更後のセルＢとの間で、トランジスタ素子間の配線の形状（図中、'Ｆ'の文字が上下に裏返された形状）は維持されている。【０１６８】
同様に変更前のセルＢと変更後のセルＣとの間で、トランジスタ素子間の配線の形状（図中、'Ｆ'の文字の形状）は維持されている。【０１６９】
このように配線の形状が維持されているということは、フリップ方向および回転方向が維持されていることを意味する。なおフリップとは、左右対称のセルをそのまま裏返すことを意味する。【０１７０】
したがってこのようにセルＢとＣとを交換しても、セルＢの移動先である元のセルＣは、これが設計変更によりセルＢに入れ替わっても、そのフリップ方向および回転方向は元のセルＣのものがそのまま維持されている。【０１７１】
同様にセルＣの移動先である元のセルＢは、これが設計変更によりセルＣに入れ替わっても、そのフリップおよび回転は元のセルＢのものがそのまま維持されている。よって交換しても互いに移動先のフリップ方向および回転方向が維持されている。【０１７２】
このように交換しても互いに移動先のフリップ方向および回転方向が維持される場合、それらの場所においてバルク、すなわちトランジスタ素子の配置が維持され、もってバルクフィックス後にこのような設計変更がなされても、半導体基板のバルク層の製造工程におい手戻りが生ずることがない。【０１７３】
図１３のステップＳ５６では、例えばオペレータにより図１４（ｄ）のセルＣが選択された場合、上記の如くこれと交換しても互いに移動先のフリップおよび回転を維持可能なセル、すなわち同図中、セルＢが検索で得られ、図１２（ｂ）とともに上述の如く、当該セルＢに特別の色が付されて表示される。【０１７４】
次に図１５とともに、上記バルクフィックス後の設計変更の終了後、レイアウトデータがテープアウトされる前になされるチェック処理につき、その処理の流れを説明する。【０１７５】
このチェック処理は図５中、バルクフィックスデータ作成部２が行うものであり、バルクフィックス後の設計変更として本来禁止されている処理がなされることによりバルクフィックスの時点以降製造部門で開始されているバルク層の製造工程に手戻りが生ずるようなことが無いよう、テープアウト前にチェックを行うものである。【０１７６】
図１５のステップＳ６１では、レイアウトデータに含まれる各セルの全てにつき、順次以下のステップＳ６２〜Ｓ６４の処理を実行する。【０１７７】
ステップＳ６２では、各セルの種別、すなわち設計変更用論理セルか、設計変更用論理セル以外の一般的な論理セルか或いはそれらのいずれでもないセルであってそもそも設計変更の対象外のセルであるかが判定される。【０１７８】
ステップＳ６３では、各セルが、それが配置されている場所のサイトとの関係で許容されるものであるかをチェックする。【０１７９】
すなわち、設計変更用論理セルは、ＥＣセルを上記の如くＥＣサイト上に配置することにより配置することができるものであるが、これに反してＥＣセルがＥＣサイト以外の場所に配置されていたような場合、当該セルは、配置されている場所のサイトとの関係で許容されるものはないと判定される（ステップＳ６４のＮｏ）。【０１８０】
ステップＳ６４の判定結果画のＮｏである場合、バルクフィックスデータ作成部２は画面表示データ作成部３および画面表示部４を介し、コンピュータ７の表示画面に、そのセルが、それが配置されている場所のサイトとの関係で許容されるものでは無い旨を示すエラー表示を行う（ステップＳ６５）。【０１８１】
オペレータはこのようなエラー表示を見ることにより、バルクフィックス後の設計変更において本来禁止されている処理を行ってしまったことを明確に認識することが出来、その結果適宜、更に設計変更を行うことで、各セルが、それが配置されている場所のサイトとの関係で許容されるものとなるようにすることができる。したがってバルクフィックス後の設計変更として本来禁止されている処理がなされることによってバルクフィックス以降製造部門で開始されているバルク層の製造工程に手戻りが生ずるような事態が効果的に回避され得る。【０１８２】
図１６は上述の実施例における半導体集積回路の実装設計支援方法をコンピュータで実現する場合について説明するための、コンピュータの構成例を示すブロック図である。【０１８３】
図１６に示すごとく、コンピュータ５００は、与えられたプログラムに記載された命令を実行することによって種々の動作を実行するためのＣＰＵ５０１と、キーボード、マウス等よりなりユーザ（この場合設計者たるオペレータ、以下同様）が操作内容又はデータを入力するための操作部５０２と、ユーザに対しＣＰＵ５０１による処理経過、処理結果等を表示するＣＲＴ、液晶表示器等よりなる表示部５０３と、ＲＯＭ、ＲＡＭ等よりなりＣＰＵ５０４が実行するプログラム、データ等を記憶したり作業領域として使用されるメモリ５０４と，プログラム、データ等を格納するハードディスク装置５０５と、ＣＤ−ＲＯＭ５０７を媒介として外部からプログラムをロードしたりデータをロードするためのＣＤ−ＲＯＭドライブ５０６と、インターネット、ＬＡＮ等の通信網５０９を介して外部サーバからプログラムをダウンロード等するためのモデム５０８とを有する。【０１８４】
コンピュータ５００はＣＤ−ＲＯＭ５０７を媒介として、あるいは通信ネットワーク５０９を媒介として、上述の半導体集積回路の実装設計支援方法をＣＰＵ５０１に実行させるための命令よりなる半導体集積回路の実装設計支援プログラムをロードあるいはダウンロードする。そしてこれをハードディスク装置５０５にインストールし、適宜メモリ５０４にロードしてＣＰＵ５０１が実行する。その結果、同コンピュータ５００により本発明の実施例による半導体集積回路の実装設計支援方法が実現される。【０１８５】
なお、図５中、選択データ取り出し部５が選択データ取り出し手段に対応し、バルクフィックスデータ作成部２がバルクフィックスデータ生成手段に対応し、選択セル移動可否判定部５が選択セル移動可否判定手段に対応し、画像表示部４が画像表示部に対応し、コンピュータ７の表示画面が半導体集積回路の設計支援装置に接続された表示装置に対応する。
【図１】
2009047839.tif 000003
【図２】
2009047839.tif 000004
【図３】
2009047839.tif 000005
【図４】
2009047839.tif 000006
【図５】
2009047839.tif 000007
【図６】
2009047839.tif 000008
【図７】
2009047839.tif 000009
【図８】
2009047839.tif 000010
【図９】
2009047839.tif 000011
【図１０】
2009047839.tif 000012
【図１１】
2009047839.tif 000013
【図１２】
2009047839.tif 000014
【図１３】
2009047839.tif 000015
【図１４】
2009047839.tif 000016
【図１５】
2009047839.tif 000017
【図１６】
2009047839.tif 000018
【手続補正書】
【提出日】平成22年3月25日(2010.3.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
半導体集積回路を構成する論理セルの配置と、前記論理セル間の配線の設計を行う半導体集積回路の実装設計支援装置において、論理セルが選択されるとともに、前記選択された論理セルの変更が入力される選択データ取り出し手段と、
前記半導体集積回路の半導体基板に対して、前記半導体基板のバルク層が固定されたバルクフィックスデータを生成するとともに、バルクフィックスデータの生成後において、前記バルク層における論理セルの未配置領域に対し、未配線の設計変更用ダミー論理セルを配置するとともに、前記設計変更用ダミー論理セルが配置された領域においては、前記バルクフィックスがなされた状態であっても、前記設計変更用ダミー論理セルに対して配線を行うことにより、設計変更用論理セルを生成するバルクフィックスデータ生成手段と、
前記バルクフィックスデータ生成手段が、前記バルクフィックスデータを生成した場合において、前記選択データ取り出し手段に選択された論理セルの変更が入力されたときに、前記論理セルの変更を禁止する選択セル移動可否判定手段とを有することを特徴とする半導体集積回路の実装設計支援装置。
【請求項２】
前記選択セル移動可否判定手段は、
前記半導体集積回路を構成する論理セルが全て配置済みか否かを判定することにより、前記半導体集積回路の半導体基板に対して、前記半導体基板のバルク層を固定するバルクフィックスがなされた状態であるか否かを検出することを特徴とする請求項１記載の半導体集積回路の実装設計支援装置。
【請求項３】
半導体集積回路を構成する論理セルの配置と、前記論理セル間の配線の設計を行う半導体集積回路の実装設計支援方法において、
選択データ取り出し部に、選択された論理セルの変更を入力するステップと、
バルクフィックスデータ生成部が、前記半導体集積回路の半導体基板に対して、前記半導体基板のバルク層が固定されたバルクフィックスデータを生成するとともに、バルクフィックスデータの生成後において、前記バルク層における論理セルの未配置領域に対し、未配線の設計変更用ダミー論理セルを配置するとともに、前記設計変更用ダミー論理セルが配置された領域においては、前記バルクフィックスがなされた状態であっても、前記設計変更用ダミー論理セルに対して配線を行うことにより、設計変更用論理セルを生成するステップと、
前記バルクフィックスデータ生成部が、前記バルクフィックスデータを生成した場合において、前記選択データ取り出し部に選択された論理セルの変更が入力されたときに、選択セル移動可否判定部が、前記論理セルの変更を禁止するステップとを有することを特徴とする半導体集積回路の実装設計支援方法。
【請求項４】
前記選択セル移動可否判定部は、
前記半導体集積回路を構成する論理セルが全て配置済みか否かを判定することにより、前記半導体集積回路の半導体基板に対して、前記半導体基板のバルク層を固定するバルクフィックスがなされた状態であるか否かを検出することを特徴とする請求項３記載の半導体集積回路の実装設計支援方法。
【請求項５】
半導体集積回路を構成する論理セルの配置と、前記論理セル間の配線の設計を行う半導体集積回路の実装設計支援プログラムにおいて、
コンピュータに、
選択データ取り出し部に、選択された論理セルの変更を入力するステップと、
バルクフィックスデータ生成部が、前記半導体集積回路の半導体基板に対して、前記半導体基板のバルク層が固定されたバルクフィックスデータを生成するとともに、バルクフィックスデータの生成後において、前記バルク層における論理セルの未配置領域に対し、未配線の設計変更用ダミー論理セルを配置するとともに、前記設計変更用ダミー論理セルが配置された領域においては、前記バルクフィックスがなされた状態であっても、前記設計変更用ダミー論理セルに対して配線を行うことにより、設計変更用論理セルを生成するステップと、
前記バルクフィックスデータ生成部が、前記バルクフィックスデータを生成した場合において、前記選択データ取り出し部に選択された論理セルの変更が入力されたときに、選択セル移動可否判定部が、前記論理セルの変更を禁止するステップとを実行させることを特徴とする半導体集積回路の実装設計支援プログラム。
【請求項６】
前記選択セル移動可否判定部は、
前記半導体集積回路を構成する論理セルが全て配置済みか否かを判定することにより、前記半導体集積回路の半導体基板に対して、前記半導体基板のバルク層を固定するバルクフィックスがなされた状態であるか否かを検出することを特徴とする請求項５記載の半導体集積回路の実装設計支援プログラム。
【国際調査報告】
2009047839.tif 000019
2009047839.tif 000020
2009047839.tif 000021
2009047839.tif 000022