JP4985777B2 - 半導体集積回路の実装設計支援装置、実装設計支援方法および実装設計支援プログラム - Google Patents

半導体集積回路の実装設計支援装置、実装設計支援方法および実装設計支援プログラム Download PDF

Info

Publication number
JP4985777B2
JP4985777B2 JP2009536880A JP2009536880A JP4985777B2 JP 4985777 B2 JP4985777 B2 JP 4985777B2 JP 2009536880 A JP2009536880 A JP 2009536880A JP 2009536880 A JP2009536880 A JP 2009536880A JP 4985777 B2 JP4985777 B2 JP 4985777B2
Authority
JP
Japan
Prior art keywords
bulk
cell
logic
integrated circuit
semiconductor integrated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009536880A
Other languages
English (en)
Other versions
JPWO2009047839A1 (ja
Inventor
則之 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2009047839A1 publication Critical patent/JPWO2009047839A1/ja
Application granted granted Critical
Publication of JP4985777B2 publication Critical patent/JP4985777B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2113/00Details relating to the application field
    • G06F2113/18Chip packaging

Description

本発明は、半導体集積回路の実装設計支援装置、実装設計支援方法および実装設計支援プログラムに係り、特に半導体集積回路の論理回路を構成する論理セルの配置設計および論理セル間の配線設計を行う際、これを支援するための半導体集積回路の実装設計支援装置、実装設計支援方法および実装設計支援プログラムに関する。
なお以下の説明において「セル」とは、トランジスタ素子で構成されるとともに、論理回路を構成するAND(論理積)セル、OR(論理和)セル、INV(否定論理)セル等の「論理セル」を示す。
CAD等のコンピュータによる支援を伴って半導体集積回路の実装設計を行う場合、前回の設計までに完了した設計対象の領域を保持しながら新たな設計変更を加える作業、いわゆるインクリメンタル設計の手法を採る場合がある。
半導体集積回路としてのプロセッサの実装設計を行う場合、その設計初期段階からこのインクリメンタル設計の手法を使うことで当該プロセッサの動作タイミング(遅延量等)を継続的に改善してゆくことが可能となり、このようにして最終的な性能目標を実現する。
図1および図2はこのようなインクリメンタル設計手法による半導体集積回路の実装設計の手順の一例を説明するための図である。
このインクリメンタル設計では図1に示されるごとく、まずネットリストを作成し、その内容にしたがって論理セルのレイアウトを行う。
具体的には図2の(1)ネットリスト設計において論理セルの実体たるインスタンスA,B、Cを設け、その間に配線たるネット1,2を設ける。
図2の(2)レイアウト設計においても同様に、インスタンスA,B、Cを配置し、その間のネット1,2を配線する。
更にこの(2)レイアウトに基づき、図2の(3)ネットリスト変更を行う。
次に(4)レイアウト変更において、(3)ネットリスト変更における設計変更の内容に応じてレイアウトを変更する。
そしてこのレイアウトに基づき、(5)ネットリスト変更を行う。
次に(6)レイアウト変更において、(5)ネットリスト変更における設計変更の内容に応じてレイアウトを変更する。
このようにネットリスト変更とレイアウト変更とを交互に繰り返すことで、初期の性能を果たす回路構成を実現するものであって、その間、当該論理回路の動作タイミング等を改善してゆき最終的な性能目標を実現する。
このようにしてレイアウト設計が終了すると、完成品たるレイアウトデータにつき、いわゆるテープアウトを行う。
ここでテープアウトとは、完成した半導体集積回路のレイアウトデータを磁気テープ等の記憶媒体に書き込み、拡散プロセス用のマスクを作成するためのデータとして、半導体集積回路の製造部門に渡すことを意味する。
ここで半導体集積回路の製造工程の短縮のため、上記レイアウト設計のある程度進んだ途中の段階で、いわゆる「バルクフィックス」を行う。
バルクフィックスとは半導体集積回路の論理回路を構成する各トランジスタ素子で構成される論理セルをバルク層において固定することをいう。
すなわち、バルクフィックスでは、半導体基板のバルク層において論理セルが固定されるとともに、その後の設計作業においては動作周波数等の設計基準を満足するよう、バルク層において固定された論理セル間の配線作業が行われることとなる。
そして、一旦バルクフィックスをした後の設計変更においては、トランジスタ素子で構成される論理セルのバルク層における変更が禁止されるため、半導体集積回路の製造部門では、当該論理セルの配置に係る半導体集積回路の部分、いわゆるバルク層の製造作業を先行して着手する。
そしてレイアウト設計作業においては、このバルクフィックス後は論理回路を構成する論理セルを変更せず、一定の範囲における配線の変更のみによって上記ネットリスト変更による設計変更を適宜行う。
半導体集積回路の製造部門では上記の如く、当該テープアウトに先立つバルクフィックスの時点から半導体集積回路のうちのバルク層の製造作業を先行して行うことにより、テープアウト後の半導体集積回路の製造作業に要する時間を効果的に短縮することが出来、もって半導体集積回路の製造期間をトータルで短縮可能となる。
しかしながら、もしバルクフィックス後に論理回路を構成するトランジスタ素子の配置自体が変更されたような場合、半導体集積回路の製造部門ではバルクフィックス後に先行して行っているバルク層の製造作業に手戻りが生じ、半導体集積回路の製造工程上問題を生ずる場合が考えられる。
特開平6−295956号公報 特開2001−351979号公報
本発明は上記問題点に鑑みてなされたものであり、半導体集積回路の実装設計において、バルクフィックス後における、トランジスタ素子で構成され論理回路を構成する論理セルのバルク層における変更を確実に防止するとともに、バルクフィックス後において論理回路を構成する論理セルのバルク層における変更を伴うことなく、固定された論理セル以外の設計変更用論理セルを用いて設計変更を行うことにより、バルクフィックス後における論理回路の動作タイミングの改善等を可能にする構成を有する半導体集積回路の実装設計支援プログラムおよび半導体集積回路の実装設計支援方法を提供することを目的とする。
本発明によれば、半導体集積回路を構成する論理セルの配置と、前記論理セル間の配線の設計を行う半導体集積回路の実装設計支援装置において、論理セルが選択されるとともに、前記選択された論理セルの変更が入力される選択データ取り出し手段と、前記半導体集積回路の半導体基板に対して、前記半導体基板のバルク層が固定されたバルクフィックスデータを生成するバルクフィックスデータ生成手段であって、前記半導体集積回路を構成する論理セルが配置済みか否かを判定し、前記半導体集積回路を構成する論理セルが配置済みであると判定されると、前記論理セルの未配置領域に対して、未配線の設計変更用ダミー論理セルを配置し、前記設計変更用ダミー論理セルが配置された領域においては、前記バルク層が固定されたバルクフィックスデータが生成された状態であっても、前記設計変更用ダミー論理セルに対して配線を行うことにより、設計変更用論理セルを生成することを可能にし、前記設計変更用ダミー論理セルが配置されていることを確認した後、前記半導体基板のバルク層を固定するバルクフィックスを実施するバルクフィックスデータ生成手段と、前記バルクフィックスデータ生成手段が、前記バルクフィックスデータを生成した場合において、前記選択データ取り出し手段に選択された論理セルの変更が入力されたときに、前記論理セルの変更を禁止する選択セル移動可否判定手段とを設けた。

このように、前記バルクフィックスデータ生成手段が前記バルクフィックスデータを生成した場合において前記選択データ取り出し手段に選択された論理セルの変更が入力されたときに、前記論理セルの変更を禁止する選択セル移動可否判定手段を設けたため、バルクフィックス後に論理セルの変更がなされる事態が効果的に回避され得ることになり、もってバルクフィックス後の論理セルの変更によって製造部門に手戻りが生じ半導体集積回路の製造工程に問題が生ずる事態が効果的に回避され得る。
又バルクフィックスデータの生成後において、前記バルク層における論理セルの未配置領域に対し、未配線の設計変更用ダミー論理セルを配置するとともに、前記設計変更用ダミー論理セルが配置された領域においては、前記バルクフィックスがなされた状態であっても、前記設計変更用ダミー論理セルに対して配線を行うことにより、設計変更用論理セルを生成するようにしたため、バルクフィックス後も、設計変更用ダミー論理セルに対する配線の設計データの変更によって、設計変更用論理セルによる設計変更が可能となり、論理回路の動作タイミングの改善等が可能となる。
本発明によれば半導体集積回路の実装設計において、バルクフィックス後において、論理セルのバルク層における変更が確実に防止されるとともに、バルクフィックス後において論理回路を構成する論理セルのバルク層における変更を伴うことなく、配置が固定された論理セル以外の論理設計変更用論理セルを用いて設計変更を行うことにより、動作タイミングの改善等が可能となるため、半導体集積回路の製造に要する期間の効果的な短縮が図れるとともに、その性能の改善を最大限図り得る構成の、半導体集積回路の実装設計支援プログラムおよび半導体集積回路の実装設計支援方法を提供することが可能となる。
半導体集積回路の実装設計に係るインクリメンタル設計手法について説明するための図(その1)である。 半導体集積回路の実装設計に係るインクリメンタル設計手法について説明するための図(その2)である。 半導体集積回路の構成例を説明するための平面図である。 半導体集積回路の実装設計における論理セルおよびECバルクセルの配置について説明するための図である。 本実施形態の一例の半導体集積回路の実装設計支援プログラムの構成例を説明するための機能ブロックである。 本実施形態の一例の半導体集積回路の実装設計支援方法における処理の流れを説明するための処理フローチャート(その1)である。 本実施形態の一例の半導体集積回路の実装設計支援方法における処理の内容を説明するための図(その1)である。 本実施形態の一例の半導体集積回路の実装設計支援方法における処理の流れを説明するための処理フローチャート(その2)である。 本実施形態の一例の半導体集積回路の実装設計支援方法における処理の流れを説明するための処理フローチャート(その3)である。 本実施形態の一例の半導体集積回路の実装設計支援方法における処理の内容を説明するための図(その2)である。 本実施形態の一例の半導体集積回路の実装設計支援方法における処理の流れを説明するための処理フローチャート(その4)である。 本実施形態の一例の半導体集積回路の実装設計支援方法における処理の内容を説明するための図(その3)である。 本実施形態の一例の半導体集積回路の実装設計支援方法における処理の流れを説明するための処理フローチャート(その5)である。 本実施形態の一例の半導体集積回路の実装設計支援方法における処理の内容を説明するための図(その4)である。 本実施形態の一例の半導体集積回路の実装設計支援方法における処理の流れを説明するための処理フローチャート(その6)である。 本実施形態の一例の半導体集積回路の実装設計支援方法を実現するための構成例としてのコンピュータのハードウェアブロック図である。
符号の説明
1 データ入出力部
2 バルクフィックスデータ作成部
3 画面表示データ作成部
4 画面表示部
5 選択データ取り出し部
6 選択セル移動可否判定部
7 コンピュータ
以下本実施形態の一例の構成について説明する。
半導体集積回路の実装設計を行う場合、論理データであるネットリストと物理データであるレイアウトデータとを同時に更新することを可能とするため、論理セルの実体であるインスタンスや論理セルの端子間の接続関係であるネットの名前をできるだけ変更しないで設計を行なうことが望ましい。
ここでネットリストとは論理回路における各論理セル(即ちインスタンス)間の論理的な接続関係(即ちネット)を示すデータ(論理接続情報)であり、レイアウトデータとは、半導体集積回路において実際に各セルの配置位置およびその間を接続する配線の物理的な位置関係を示すデータ(配置配線情報)である。半導体集積回路の製造はこのレイアウトデータに基づいて行われる。
図1に示すように、設計のスタート時点から、ネットリストとレイアウトデータとはそれぞれ並行して改善されて行く。
ここでレイアウトデータは更新後のネットリストとネット名とをキーとし、互いの一致を確認することによって論理のバックアノテート(論理の照合)がなされる。
また、ネットリスト上で新たに追加されたネットやインスタンスについては、追加的にレイアウトされることによりレイアウトデータに反映される。
そして当該半導体集積回路としてのプロセッサを製造するため製造部門にレイアウトデータを渡すテープアウトの例えば1ヶ月前には、後述するEC(Enginearing Change)バルクセル用のトランジスタセルを、既にレイアウトされたセル間の隙間に埋め込むことにより配置し、その後このようにして配置された論理セル及びECバルクセル用のトランジスタセルを固定(すなわちバルクフィックス)する。
バルクフィックスの後は後述する設計変更用論理セルのみ追加・削除・移動が可能となり、この設計変更用論理セルを使ってその後の動作タイミングの改善や論理設計ミスの修正等の設計改善を行う。
ここでECセルとは、バルクフィックスの際にバルク層に埋め込まれたECバルクセル用のセル(すなわちECバルクセルであって、「設計変更用ダミー論理セル」に対応する)上に設けるメタル配線のみを含む概念である。
このようにECバルクセル(実際には後述するECサイト)上にECセルを設けることで、ANDセル、ORセル等の論理セルを生成することが可能となり、配線層の変更のみで論理回路の論理の変更が行える。このようにECバルクセル(実際には後述するECサイト)上にECセルを設けることで生成される論理セルを以下「設計変更用論理セル」と称する。
なおECバルクセルはEC用フィラーセル、或いはECダミーセルとも称される。
本発明の実施例による半導体集積回路の実装設計支援装置および実装設計支援方法ならびに実装設計支援プログラムは、バルクフィックスの後、レイアウトデータにおいてバルク層の変更、すなわち論理回路を構成するトランジスタ素子の配置の変更を禁止するためのロック制御に関するものを含み、更に上記設計変更用論理セル以外のセルについてはバルク層の変更がなされないことを保証しながら一定の条件でセルの変更を許容する構成を有する。
ここで上記半導体集積回路の実装設計支援プログラムとは、CAD機能等を有し、コンピュータにインストールされることによって、設計者による半導体集積回路の実装設計を支援する機能を提供するツールとしてのソフトウェアプログラムである。
半導体集積回路の実装設計においては上記の如くネットリストの変更による論理変更とレイアウト変更とを同時に行なって行くため、ネットリスト上で変更された論理全体について対応するレイアウトデータを上書きし、論理変更がない部分については変更前の前回のレイアウトデータが維持される。このような手法はEC(Engineering Change)フローと称され、上記インクリメンタル設計の基本な処理の流れとなっている。
ここで設計変更用に追加された論理については、論理のみが変更された時点ではレイアウトデータ上、セルは未配置、ネットは未配線であるため、対応するレイアウトデータの上書きにより、レイアウトデータ上でこれら新たなセルおよびネットの配置・配線がなされる(図2中、「(3)ネットリスト変更」および「(4)レイアウト変更」参照)。
そしてテープアウトの時期に近づいたある時期にすべてのセルを固定するバルクフィックスの処理を行う。
このとき、既にネットリスト上で実現されている論理をレイアウトデータ上でも実現するためになされたセル配置の完成の後に余った配置領域に上記ECバルクセルを埋め込む。
このバルクフィックス後は、既にネットリスト上で実現されている論理をレイアウトデータ上でも実現するために配置された論理セルだけでなく、上記の如くその後に配置されたECバルクセルの移動が禁止される。
ここでECバルクセル(実際には後述するECサイト)とはトランジスタ素子のみを含み、その間の配線としてのネットを含まないセルである。ECバルクセル上にECセルとしてのメタル配線を設け、トランジスタ素子に対する配線を行うことで上記設計変更用論理セルを生成することが出来る。
ここで上記セルの移動の禁止は以下の如くに実現される。
すなわち、レイアウトデータ上にECバルクセルが既に配置されていることが検出されると、本実施形態の一例による半導体集積回路の実装支援プログラムの機能により、該当するすべてのセルの配置を固定するとともに移動を禁止するためにロック制御がなされる。
なお、このようにバルクフィックス後は原則としてすべてのセルの移動が禁止されるが、上記の如く、ECバルクセル上にECセルたるメタル配線のパターンを設けることで実現される設計変更用論理セルによる設計変更のみが例外的に許容される。
したがってバルクフィックス後は設計変更用論理セルを使って論理の変更を行うことが許容される。このECセルはECバルクセルの上にのみ重ねて配置できるよう、上記半導体集積回路の実装設計支援プログラムの機能によりコンピュータが制御される。
上記半導体集積回路の実装設計支援プログラムをコンピュータに実行させることで実現される、本実施例による半導体集積回路の実装設計支援方法には、以下の処理が含まれる。
1)本実施例による半導体集積回路の実装設計支援プログラムを実行するコンピュータに対しオペレータによりバルクフィックスする旨の指示が入力された場合、当該プログラムの機能により、まずバルクフィックスすることが可能な状態かどうかが判断される。この目的のため、本来配置すべきセルのうち未配置のセルが有るか否かにつき、実装設計支援プログラムを実行するコンピュータが判断を行う。
2)バルクフィックスする際、サイト上の空き領域にECバルクセルが埋め込まれることにより配置される。
3)このECバルクセルの配置が完了した後、オペレータが実装設計支援プログラムを実行するコンピュータに明示的に指示を入力することにより、上記ECバルクセルはECサイトへ、その名称が置き換えられる。
4)上記プログラムの機能によりサイトの中にこのECサイトが存在することが確認されると、以後バルクフィックス後の制御、すなわちバルク層の変更を禁止するための制御がなされる。
5)また上記プログラムの機能によるバルク層の変更を禁止する制御においては、設計変更用論理セル以外のセルの変更を禁止するように制御がなされる。但しこの点については後述(第8)項)する例外が設けられている。
6)ECセルはその配置が許容されるのはECサイトのみであり、またECサイト上にあるECセルの他のECサイト上への移動が許容されるような制御がなされる。
7)このようにECサイトではECセルの配置や移動が許容されるのであるが、該当する領域がオペレータに認識されやすくするため、当該領域の表示色が他の領域とは異なる色となるよう、画面の表示制御がなされる。
8)上記の例外として、交換しても移動先の論理セルのフリップ(flip)方向および回転方向が互いに同一である場合に限り、それらの論理セル同士の入れ替えが許容される。
ここで、フリップ方向とは、左右対称に形成された論理セル又は設計変更用論理セル等のセルを、裏返さずにそのまま配置するか、裏返して配置(フリップ配置)するか、いずれかの配置の向きを表す。
また、回転方向とは、論理セル又は設計変更用論理セル等のセルを、180度回転せずにそのまま配置するか、180度回転して配置するか、いずれかの配置の向きを表す。
移動先の論理セルのフリップ(flip)方向および回転方向が互いに同一である場合には、論理セルの移動がなされても移動先の論理セルにおいてバルク層の変更、すなわち当該論理セルを構成するトランジスタ素子の配置の変更は生じないからである。
この場合もオペレータに対し、このように互いに交換が許容される論理セルが認識され易くするため、ある論理セルが指定された場合、当該指定に係る論理セルと交換可能な他の論理セルの表示色を変化させるよう、画面の表示制御がなされる。
9)そして互いに交換が許容される論理セルの組につき、前記プログラムの一の機能としてのいわゆるセル配置エディタの機能により、当該論理セル間の入れ替えを許容する制御がなされる。又論理セル間の入れ替えがなされる場合、各位置において移動先の論理セルのフリップ方向および回転方向が維持されるように制御がなされる。
10)バルクフィックス後に論理セルの配置変更がなされた場合に、バルク層の変更、即ち論理セル又は設計変更用論理セルを構成するトランジスタ素子の配置の変更が発生していないかを確かめるため、バルクフィックスがなされたサイトの全領域につき、そこに配置されている各セルが設計変更用論理セルか否かを取得し、設計変更用論理セル以外の論理セルであれば、当該論理セルがバルクフィックスの時点以降変更されていないことを確認し、設計変更用論理セルであれば、これを構成するECバルクセルがバルクフィックスの時点以降変更されていないことを確認する処理がなされる。
このような本実施形態の一例による半導体集積回路の実装設計支援方法の構成によれば、バルクフィックス後のレイアウトデータを半導体集積回路の製造工場に渡した後、テープアウトまでの間の設計変更が可能であり、設計変更においてバルク、すなわちトランジスタ素子の配置の変更を禁止するようにロック制御がなされる。このため、設計者たるオペレータが誤操作等によりバルク層の変更、すなわちトランジスタ素子の配置の変更を行う事態が効果的に回避される。
また、バルクフィックス後も、設計変更用論理セルを使った設計変更が許容されるとともに、設計変更用論理セル以外の論理セルについても、交換しても互いに移動先のフリップおよび回転を維持可能なセル同士の入れ替えが許容されることにより設計改善の自由度が向上される。
以下図とともに本実施形態の一例について更に具体的に説明を行う。
図3は本実施形態の一例による半導体集積回路の実装設計支援方法を実施する対象となり得る半導体集積回路の構成例であって、周知の階層レイアウトを有する半導体集積回路の構成例を示す平面図である。
この半導体集積回路を構成する論理回路はその機能毎にブロック分割されており、各ブロックには該当する機能を実現するための論理回路が含まれており、各論理回路はこれを実現するための論理セル(即ち論理セルの実体であるインスタンス)および論理セル間の配線(即ち接続情報であるネット)で構成される。なお図3中「マクロ」(IOマクロ含む)とは、RAMマクロや演算器マクロ等、特定の機能を有する回路をブロックとして構成したカスタムマクロである。
図4(b)は、図3の構成中、同図(a)において円で囲まれた部分、すなわち半導体集積回路を構成する論理回路の1つのブロックを拡大して示す図である。
図4(b)に示すごとく、半導体集積回路の論理回路のブロックには当該論理回路を構成する各論理セルを配置するためのサイトが設けられており、上記半導体集積回路のレイアウト設計ではネットリストにて示された論理回路を実現するために必要な論理セルCgをサイト上に配置する。
この論理セルを配置するためのサイトは複数の列(図4(b)に示される論理回路のブロックの例の場合には5列)を構成しており、サイトを構成する各列は例えば図4(e)にECバルクセルの例として拡大して示すごとく、図中上下二段に分割された構成とされている。またその各段には図4(e)に示すごとく、各電源線VDDおよび接地線VSSが設けられている。
そして上記レイアウト設計では、このサイトの各列の上下各段に対し必要な論理セルを配置する。図4(e)に拡大して示されたECバルクセルCeの構成例では、図示の如く上下各段が8個の論理セルを収容可能な構成とされている。
上記レイアウト設計において、当該半導体集積回路のブロックに係るネットリスト上で実現されている論理セルCgの配置が全て完了した段階で上記バルクフィックスを行う。そしてこのバルクフィックスの時点におけるサイト上の上記空き領域に対し、図4(b)に示されるごとく、上記ECバルクセルCeを配置する。
図4(c),(d),(e)に示すごとく、このECバルクセルCeに対し、上記の如く、バルクフィックス後も、当該ECバルクセルCeを構成するトランジスタ素子間の配線としてのECセルを配置することが出来る。このようにしてバルクフィックス後も当該半導体集積回路の論理回路のブロック内に新たな論理セルとして使用する設計変更用論理セルを配置することが出来、もって一定の範囲で同論理回路のブロックにおける論理の変更も可能となる。
ここで図4(c)はECセルを配置することによって生成しようとする設計変更用論理セル(この場合はNAND回路を構成する論理セル)の回路記号を示し、同図(d)は当該設計変更用論理セルを生成するためのメタル配線としてのECセルを示す。また図4(e)は図4(b)に示されたECバルクセルCeの一部を抽出して拡大して示す図である。
図5は本実施例による半導体集積回路の実装設計支援方法をコンピュータに実行させるための半導体集積回路の実装設計支援プログラムの機能ブロック図である。
同プログラムはデータ入出力部1、バルクフィックスデータ作成部2,画面表示データ作成部4、選択データ取り出し部5および選択セル移動可否判定部6を有する。
データ入出力部1は、当該プログラムが搭載されているコンピュータ7の操作部(すなわちキーボード等)上で設計者たるオペレータが指示入力を行うことにより、同指示に従って上記半導体集積回路の実装設計に係るネットリスト或いはレイアウトデータを生成し、図5に示されるごとくLSI設計データとしてデータ格納部8に保存する機能を有する。
またデータ入出力部1は、このデータ格納部8に保存されたLSI設計データ、すなわち半導体集積回路の論理回路の実装設計に係るレイアウトデータ等を、画面表示データ作成部3および画面表示部4を介し、コンピュータ7の表示画面に表示するために出力する機能を有する。
バルクフィックスデータ作成部2は、オペレータにより入出力部1を介してバルクフィックスを行う旨の指示入力がなされた場合、バルクフィックスデータを作成する。
ここでバルクフィックスデータとは、半導体集積回路の論理回路のブロックにつき、バルクフィックスの時点における、当該半導体集積回路の論理回路のブロックのレイアウトデータとして実現されている、各サイトに関する配置情報である。具体的には、例えば図4(b)に示される論理回路のブロックの例では、上記5列のサイトの各々につき、そこに配置されたセル毎に、それがECバルクセルCeであるか或いは一般的な論理セルCgであるかの別を示す情報を含む。
画面表示データ作成部3は、データ入出力部1から供給されるレイアウトデータ、バルクフィックスデータ作成部2から供給されるバルクフィックスデータ等に基づき、コンピュータ7の表示画面に該当する情報を表示するための画面表示データを作成する。
画面表示部4は、画面表示データ作成部3から供給された画面表示データに基づき、コンピュータ7の表示画面上に該当する表示内容を有する画面を表示する。
選択データ取り出し部5は、コンピュータ7の操作部を介して入力されるオペレータの指示情報からオペレータが選択したセルを示す情報、そのセルの移動先を示す情報等を抽出し、選択セル移動可否判定部6に供給する。
選択セル移動可否判定部6は、選択データ取り出し部5から供給されるオペレータの指示に係る情報を受け、当該指示に係る設計変更が禁止されているものであるか否かを判定する。オペレータの指示に係る設計変更が禁止されているものか否かの判定の詳細については、図9,図13等とともに後述する。
図6は、図5とともに上述した本実施例に係る半導体集積回路の実装設計支援プログラムにおいて、オペレータによりバルクフィックスする旨の指示入力が前記コンピュータ7に対してなされた場合に、バルクフィックスデータ作成部2が実行する処理の流れを説明するための処理フローチャートである。
図6中、ステップS1で、サイトに配置すべき論理セルが全て配置済み、すなわち該当するネットリストに含まれる全てのインスタンスおよびネットがレイアウトデータに反映されているか否かを判定する。
この判定の結果未配置セルが存在する場合(ステップS2の「有」)、ステップS3にて、画面表示データ作成部3および画面表示部4を介し、未配置セルの存在によりバルクフィックスが出来ない旨をコンピュータ7の表示画面に表示する。
オペレータはこの表示を見て未配置セルの存在を認識し、該当する論理セルをサイトに配置するようコンピュータ7の操作部に対して指示入力を行うことで、論理セルの配置を完了させる。
未配置セルが無い場合(ステップS2の「無」)、以下に述べる図7の処理に移行する(ステップS4)。
図7の処理は図6の処理に引き続いてバルクフィックスデータ作成部2が実行する処理であり、サイトの未配置領域に上記ECバルクセルを配置する処理である。この処理は上記半導体集積回路の実装設計に係るレイアウトデータにおいて行われる。
図7(a)の左側の図は図4(b)の例に対応するものであり、上記図6の処理中、ステップS2の判断の結果、未配置セルが無い(「無」)状態を示す。同図では、各々が図中横方向に延在する5列のサイトに対し、ネットリストに含まれるセルCgが配置されるとともに、セルCgの間に配線wが設定されている様子が示されている。
図7(a)の右側の図は、上述した同左側の図の状態に対し、サイトにおいて論理セルCgが配置されていない隙間にECバルクセルCeが配置された状態が示されている。
このように、本実施例による半導体集積回路の実装設計支援プログラムのバルクフィックスデータ作成部2は、オペレータからバルクフィックスを行う旨の指示入力を受けると、図6の処理により未配置セルが無いことを確認後、サイトの隙間にECバルクセルCeを埋め込むことによる配置処理を行う。
次にバルクフィックスデータ作成部2は、図8とともに以下に述べる、レイアウトデータ上でECサイトSe(図7(b)参照)を発生する処理を行う。
図7(b)は後述する如く、図7(a)の右図の状態で各サイトの空き領域に配置されているECバルクセルCeに対しECサイトSeが発生され、これによってECバルクセルCeが置き換えられた状態を示す。
図8中、ステップS11で半導体集積回路の実装設計に係る論理回路のブロックのレイアウトデータに対し、上記の如くサイトに配置されたECバルクセルCeが検索される。
ステップS12ではステップS11で検索されたECバルクセルCeが連続する場合、その事実が認識される。例えば図7(a)の右図の例の場合、例えば最上列のサイト中、左から2〜4番目のECバルクセルCeが相互に連続しているが、このような場合、ECバルクセルCeが連続していると認識する。
ステップS13ではこのように連続するECバルクセルCeに対し、1つのECサイトSeを発生する。例えば上記図7(a)の右図の例の最上列のサイト中、上記左から2〜4番目の計3個のECバルクセルCeに対し、1つのECサイトSeが発生される。
他方、ECバルクセルCeが連続しておらず孤立して存在する場合に対しては、各々に対し1つのECサイトを発生する。図7(a)の右図の例の場合、例えば最上列のサイト中、左端のECバルクセルCeは孤立して存在し連続していないため、当該ECバルクセルCeに対し1つのECサイトSeが発生される。
このようにして全てのECバルクセルCeに対するECサイトSeの発生が完了した後、ECバルクセルCeの情報を全て削除する(ステップS14)。すなわち螺イアウトデータ中、ECバルクセルCeの情報がECサイトSeの情報で置き換えられる。
その後、図9の処理がなされる。図9の処理はバルクフィックスモードへの移行および、それに伴う上記ロック制御の処理である。
図9のステップS21でバルクフィックスデータ作成部2はデータ格納部8に格納された論理回路のブロックのLSI設計データに含まれるレイアウトデータを参照し、当該レイアウトデータ上、サイトにECサイトSeが設定されていることを確認した後、バルクフィックスを実施する(ステップS22)。すなわち、当該レイアウトデータに対しバルクフィックスがなされた状態となる。
このようにしてバルクフィックスがなされると、当該論理回路のブロックのレイアウトデータは半導体集積回路の製造部門に渡され、当該製造部門では半導体集積回路の半導体基板のバルク層について製造作業を開始する。
このようにバルクフィックスがなされた後、設計者たるオペレータは当該論理回路のブロックの動作タイミング(遅延量等)の改善又は論理ミスの修正等を図るべく、設計変更を行う。
なお上記の如く、バルクフィックスは半導体集積回路の実装設計において、該当する論理回路のブロックのネットリストによる論理回路を構成するための論理セルCgが全て配置された後に行われる。
図9の説明に戻り、ステップS23において、オペレータがバルクフィックス後の設計変更のため、その対象たるセルを選択する操作をコンピュータ7の操作部に対して行うと、図5に示される選択データ取り出し部5がその操作内容を抽出して選択セル移動可否判定部6に転送する。
選択セル移動可否判定部6はデータ格納部8に格納されているLSI設計データを参照することにより、当該選択に係るセルの種別を取得する(ステップS23)。ここでセルの種別を取得するとは、該当するセルが設計変更用論理セルか否かの判断を行うことを意味する。
ステップS23の結果該当するセルが設計変更用論理セルでない場合(ステップS24のNo),選択セル移動可否判定部6はステップS25にて、当該セルが設計変更用論理セルでないためその移動が禁止されている旨を、画面表示部4介してコンピュータ7の表示画面に表示する。
オペレータをこのようにコンピュータ7の表示画面に表示された内容を参照することにより、自己が選択したセルが設計変更用論理セルでなく、もってバルクフィックスにより既にその移動が禁止されたセルであることを認識し得る。その結果バルクフィックス後にオペレータが設計変更用論理セル以外の、配置が固定されたセルを移動する旨の設計変更を行う事態が効果的に回避され得る。
ここで設計変更用論理セル以外のセルとは、上記一般的な論理セルCg、およびその両者以外のセル、すなわちカスタムマクロブロックのセル等、そもそも設計変更の対象外とされているセルを意味する。
上記の如く設計変更用論理セル以外の一般的な論理セルCgはネットリストに含まれる論理回路を実現するために必要なものであり論理回路の基本的な性能に係るセルであるため、詳細な仕様まで最適化されている場合が多い。したがってバルクフィックス後の設計変更用論理セル以外のセルの移動は禁止されている。
又、設計変更用論理セルとは、ECセルが上記の如くECサイトSe上に配置されることで構成されるセルであり、原則としてバルクフィックス後は設計変更用論理セルに限り、移動による設計変更が許容されている。
図9の説明に戻り、ステップS25の処理後再びステップS23の処理に戻り、再びオペレータが設計変更対象のセルを選択する操作をコンピュータ7の操作部に対して行った場合、上記同様、図5に示される選択データ取り出し部5がその内容を抽出して選択セル移動可否判定部6に転送する。
その後再びステップS24の判断がなされ、判断の結果がNoであればステップS25に移行し上記の処理が繰り返される。
他方、ステップS24の判断の結果がYesの場合、すなわちオペレータにより選択されたセルが設計変更用論理セルであった場合、ステップS26に移行する。
ステップS26では、オペレータが該当するセルの移動先を指定する操作を行った際の当該移動先の位置の情報を、選択セル移動可否判定部6が選択データ取り出し部5を介して取得する。
次に選択セル移動可否判定部6はデータ格納部8に格納されたLSI設計データを参照することにより、当該移動先の位置が、LSI設計データに含まれるレイアウトデータ上、上記ECサイトSeに該当するか否かを判定する(ステップS27)。
判定の結果当該移動先の位置がECサイト上でなかった場合、ステップS28に移行し、当該移動先がECサイトでないためセルの配置が禁止されている旨を、画面表示部4介してコンピュータ7の表示画面に表示する。
オペレータはコンピュータ7の表示画面に表示された内容を参照することにより、セルの移動先がECサイトでなく、バルクフィックスにより既にそこへのセルの配置が禁止されていることを認識し得る。その結果バルクフィックス後にオペレータがECサイトSe以外の位置に対しセルを配置する設計変更を行う事態が効果的に回避され得る。
上記の如くバルクフィックス後は、原則として、ECセルのECサイトSeへの配置による設計変更用論理セルの配置、或いはECセルのECサイト間の移動による設計変更用論理セルの移動のみが許容される。
図9の説明に戻り、ステップS28の処理後再びステップS23の処理に戻り、再びオペレータがセルを指定するとともにその移動先を入力する操作をコンピュータ7の操作部に対して行うと、図5に示される選択データ取り出し部5がその内容を抽出して選択セル移動可否判定部6に転送する。
その後再びステップS24〜S26の処理がなされ、ステップS24,S26のいずれかの判断の結果が上記同様(No)であれば、該当するステップS25又はS28に移行し、その後は上記同様の処理が繰り返される。
他方、ステップS24の判断がYesであり且つステップS26の判断がYesの場合、すなわちオペレータにより選択されたセルが設計変更用論理セルであり且つその移動先がECサイトであった場合、ステップS29に移行する。
ステップS29で選択セル移動可否判定部6はオペレータの操作に係るセルの指定およびその移動先の情報をデータ入出力部1に転送し、データ入出力部1では当該操作に係るセルの指定およびその移動先の情報にしたがってデータ格納部8に格納されたLSI設計データに含まれるレイアウトデータに対して、設計変更の内容を反映させる。
このように、本実施例による半導体集積回路の実装設計方法によれば、バルクフィックス後は、原則としてECセルのECサイトへの配置による設計変更用論理セルの配置、或いはECセルのECサイト間の移動による設計変更用論理セルの移動のみが許容されており、それ以外の内容を有する設計変更は禁止される。
そして当該禁止された内容の設計変更に係る操作入力がなされた場合、「当該操作に係る設計変更は禁止されている」旨が表示画面に表示される。その結果オペレータはその旨を明確に認識することが出来、誤って禁止されている内容の設計変更を行ってしまうというような事態が効果的に回避され得る。
次に図10,図11とともに、レイアウトデータをコンピュータ7の表示画面に表示する際に上記ECサイトSeにつき、オペレータが認識しやすいように特別な色で表示する場合の処理について説明する。
ここで、「特別な色」とは、表示画面におけるECサイトSe以外の表示部分に対して、ECサイトSeの表示部分の輝度を高くする、又は、色相を反転する等の処理がなされた、人間の目に注意を引きやすい色をいう。
この処理は図5に示す構成中、バルクフィックスデータ作成部2,画面表示データ作成部3および画面表示部4が実行する処理である。
ここでは図10に示すごとく、同図(a)に示される上記ECサイトSeにつき、同図(b)中、記号cで示される場所に特別な色を付すことにより、オペレータが認識しやすくする。
図11中、データ入出力部1はデータ格納部8に格納されたLSI設計データのレイアウトデータに基づき、該当する全サイトからECサイトSeを検出する(ステップS41)。
又、ECサイトSe以外のサイトにつき、データ入出力部1は、そのサイトおよび当該サイト上に配置されているセルを表示しない制御を画面表示データ作成部3に対して行う(ステップS42のNo,ステップS43)。
この制御を受け、画面表示データ作成部3はレイアウトデータの表示データを生成する際、ECサイトSe以外のサイトについてはそのサイトおよびサイト上に配置されているセルを除いた表示データを生成する。
画面表示部4は当該表示データにしたがい、ECサイトSe以外のサイトおよびサイト上に配置されているセルを除いた状態でレイアウトデータをコンピュータ7の表示画面に表示する。
又、ECサイトSeにつき、データ入出力部1は、特別な色で表示するような制御を行う(ステップS42のYes,ステップS44)。
そして、画面表示データ作成部3はレイアウトデータの表示データを生成する際、当該制御にしたがってECサイトについて特別な色で表示するような表示データを生成する。
画面表示部4は当該表示データにしたがい、ECサイトSeを特別な色で表示する態様でレイアウトデータをコンピュータ7の表示画面に表示する。
図10(b)はこのようにして表示されたレイアウトデータの例を示す。同図に示されるごとく、同図中、記号cで示された場所、すなわちECサイトSeが特別な色で表示され、それ以外のサイトおよびサイト上に配置されているセルは表示されない。
上記の如くバルクフィックス後はレイアウトデータが半導体集積回路の製造部門に送られバルク層の製造が開始されるため、原則としてECサイト以外のサイトについての設計変更が禁止される。本発明の実施例による半導体集積回路の実装設計支援方法によれば、上記の如くECサイトSeのみが特別な色で表示されそれ以外のサイトおよびサイト上に配置されているセルが表示されない態様でレイアウトデータが表示される。その結果、設計者たるオペレータは設計変更が可能なECサイトSeを容易に判別可能となり、バルクフィックス後の設計変更作業の効率化が図れる。
次に図12,図13とともに、上記設計変更用論理セル以外の論理セルに係る設計変更が例外的に許容される場合について説明する。
バルクフィックス後は、原則としてECセルのECサイトへの配置による設計変更用論理セルの配置或いはECセルのECサイト間の移動による設計変更用論理セルの移動についてのみ設計変更が許容され、それ以外の態様の設計変更が原則的に禁止される。すなわち、設計変更用論理セル以外の論理セルの変更が原則的に禁止される。
これは上記で説明したように、1)バルクフィックス後は半導体集積回路の製造部門でバルク層の製造が開始されるため、バルク、すなわち各セルを構成するトランジスタ素子の配置が変更されても、一旦製造が開始された半導体基板のバルク層の変更は不可能であるため作業工程上問題が生ずる点、および2)設計変更用論理セル以外の一般的な論理セルは該当するネットリスト上で実現されている論理を実現するためのものであり詳細に最適化されている場合があることから設計変更を行うべきではないと考えられることによる。
しかしながら設計変更用論理セル以外のセルについての設計変更を一切認めないとした場合設計の自由度に欠ける上、論理ミスの修正等ができないこととなる。したがって本実施例による半導体集積回路の実装設計支援方法では一定の条件下で設計変更用論理セル以外の一般的な論理セルに係る設計変更を認めることで、設計の自由度を向上している。
具体的には、交換しても互いに移動先のセルのフリップ方向および回転方向が維持されるという条件を満たす場合に限り、該当するセル間の交換が許容されるようにした。
図14とともに後述するように、交換しても互いに移動先のセルのフリップ方向および回転方向が同一であるセル同士の交換がなされても、当該交換に係る両セルとも、そのセルを構成するトランジスタ素子の配置およびセル内のトランジスタ素子間の配線に変更が生ずることが無く、バルクフィックスした半導体基板のバルク層の変更が必要となる等の問題が生ずることが無いからである。
ここでは図12(a)に示される如く、オペレータ(即ち設計者)が設計変更に係るセルを指定する操作を行った場合、指定されたセルを選択データ取り出し部5を介して受け取った選択セル移動可否判定部6は、当該指定に係るセルと、当該セルと交換した場合に、交換してもお互いに移動先のセルのフリップ方向および回転方向が同一である他のセルを全て検索し、該当するセルにつき、図12(b)中、記号sで示される部分に、画面表示データ作成部3および画面表示部4を介し、特別な色を付して表示する。
その結果オペレータはバルクフィックス後に例外的に設計変更用論理セル以外の一般的な論理セルについて設計変更を行おうとする場合、交換可能なセルを容易に認識可能となり、設計変更の効率を向上させることが可能となる。更に、上記条件(交換しても互いに移動先のフリップ方向および回転方向が同一であるという条件)に合致せず設計変更の対象とされていないセルが誤ってオペレータの操作によって設計変更されてしまうような事態が効果的に回避され得る。
図13はその際の処理の流れを説明するための処理フローチャートである。
図13中、ステップS51で選択セル移動可否判定部6はコンピュータ7の操作部および選択データ取り出し部5を介し、オペレータにより入力された指示の内容を受け取り、オペレータにより選択されたセルの種別を取得する(ステップS51)。
ここで取得されたセルの種別が設計変更用論理セルであった場合(ステップS52のYes),図9のステップS26−S29の処理と同様の処理がなされる。すなわち設計変更用論理セルについてはバルクフィックス後も設計変更が許容されているため、上記例外的な処理ではなく、図9とともに上述した設計変更用論理セルに係る設計変更についての処理がなされる。
次にステップS54にて選択セル移動可否判定部6は当該選択に係るセルが一般的な論理セルであるか否かを判定する。
当該判定の結果がNoの場合、該当するセルは設計変更用論理セルでもなく、また設計変更用論理セル以外の一般的な論理セルでもないことになり、そもそも設計変更の対象外のセルが選択されたことになる。このようなそもそも設計変更の対象外のセルとしては、例えばカスタムマクロブロックに含まれるセル等が考えられる。
図13の説明に戻り、ステップS54の判定の結果がNoの場合、選択セル移動可否判定部6はステップS55にて、当該セルが設計変更用論理セルでもそれ以外の一般的な論理セルでもないセルであるためその移動が禁止されている旨を、画面表示部4介してコンピュータ7の表示画面に表示する。
オペレータはこのようにコンピュータ7の表示画面に表示された内容を参照することにより、選択に係るセルが設計変更用論理セルでも一般的な論理セルでもなく、移動が禁止されているセルであることを明確に認識し得る。その結果オペレータが誤って設計変更用論理セルでも一般的な論理セルでもない、そもそも設計変更対象外のセルを移動する設計変更を行うような事態が効果的に回避され得る。
図13の説明に戻り、ステップS55の処理後、再びステップS51の処理に戻る。そこで再びオペレータが設計変更等のためにセルの設計データの内容を変更しようとして該当するセルを選択する操作をコンピュータ7の操作部に対して行った場合、上記同様、選択データ取り出し部5がその内容を選択セル移動可否判定部6に転送する。
その後再び上記同様にしてステップS52,S54の判断がなされ、ステップS52の判定の結果がYesであれば上記同様図9のステップS26〜S29の処理がなされる。またステップS52の判定の結果がNoでありステップS54の結果がNoであれば、ステップS55に移行し上記同様の処理が繰り返される。
他方ステップS54の判断がYesの場合、すなわちオペレータにより選択されたセルが設計変更用論理セル以外の一般的な論理セルであった場合、ステップS56に移行する。
ステップS56で選択セル移動可否判定部6は、当該選択に係るセルと論理的且つ物理的に同一の構成を有するセルであって当該選択に係るセルと交換した場合に互いに移動先のセルのフリップ方向および回転方向を維持可能なセルを全て検索する(ステップS56)。そして画像表示部4を介し、図12(b)とともに上述の如く、コンピュータ7の表示画面上で該当するセルに特別な色を付して表示を行う(ステップS57)。
その後オペレータによる移動先のセルを指定する操作にしたがって、データ入出力部1が該当するセルの移動をデータ格納部8に格納されたLSI設計データのレイアウトデータに反映する(ステップS58)。
以下図14とともに、上記交換しても互いに移動先のフリップ方向および回転方向を維持可能なセル同士のセルの交換を行う例について説明する。
図14(a)は論理セルの一例としてのNAND回路を示し、同図(b)は当該NAND回路をレイアウトデータ上で論理セルとして配置した例を示す。
図14(b)中、'F'の文字を左右に裏返した形状の記号は、当該セルにおけるトランジスタ素子間の配線の形状の例を示しており、説明の便宜上を簡略化して示している。
図14(c)はこのNAND回路を使用した論理回路の例を示し、同図(d)は同論理回路をレイアウトデータ上で実現した例を示す。この例では図示の如く、NAND回路A、B,Cが、その順序で相互に直列に接続されている。
図14(e)は、図14(d)のレイアウトに対し、これらのNAND回路A,B,Cを構成するそれぞれのセルA,B,Cのうち、セルBとセルCとを交換した例を示す。
図14(d)のレイアウトではセルAからセルBに対し、図中右方向に配線wがなされ、更にセルBからセルCへの配線wは、セルAの方向、すなわち左方向に戻るようになされている。
これに対し図14(e)のレイアウトでは上記の如くセルBとセルCとが交換されたため、セルAからセルBに対し、図中右方向に配線wがなされ、更にセルBからセルCへの配線wは、セルAとは反対方向、すなわち更に右方向に向かってなされている。その結果図14(d)のレイアウトと対比すると、配線wの長さが効果的に短縮され、もって論理回路の性能向上が図れる。
このような設計変更の場合の変更前の図14(d)のレイアウトと変更後の図14(e)のレイアウトとを比較すると、図示の如く、変更前のセルCと変更後のセルBとの間で、トランジスタ素子間の配線の形状(図中、'F'の文字が上下に裏返された形状)は維持されている。
同様に変更前のセルBと変更後のセルCとの間で、トランジスタ素子間の配線の形状(図中、'F'の文字の形状)は維持されている。
このように配線の形状が維持されているということは、フリップ方向および回転方向が維持されていることを意味する。なおフリップとは、左右対称のセルをそのまま裏返すことを意味する。
したがってこのようにセルBとCとを交換しても、セルBの移動先である元のセルCは、これが設計変更によりセルBに入れ替わっても、そのフリップ方向および回転方向は元のセルCのものがそのまま維持されている。
同様にセルCの移動先である元のセルBは、これが設計変更によりセルCに入れ替わっても、そのフリップおよび回転は元のセルBのものがそのまま維持されている。よって交換しても互いに移動先のフリップ方向および回転方向が維持されている。
このように交換しても互いに移動先のフリップ方向および回転方向が維持される場合、それらの場所においてバルク、すなわちトランジスタ素子の配置が維持され、もってバルクフィックス後にこのような設計変更がなされても、半導体基板のバルク層の製造工程におい手戻りが生ずることがない。
図13のステップS56では、例えばオペレータにより図14(d)のセルCが選択された場合、上記の如くこれと交換しても互いに移動先のフリップおよび回転を維持可能なセル、すなわち同図中、セルBが検索で得られ、図12(b)とともに上述の如く、当該セルBに特別の色が付されて表示される。
次に図15とともに、上記バルクフィックス後の設計変更の終了後、レイアウトデータがテープアウトされる前になされるチェック処理につき、その処理の流れを説明する。
このチェック処理は図5中、バルクフィックスデータ作成部2が行うものであり、バルクフィックス後の設計変更として本来禁止されている処理がなされることによりバルクフィックスの時点以降製造部門で開始されているバルク層の製造工程に手戻りが生ずるようなことが無いよう、テープアウト前にチェックを行うものである。
図15のステップS61では、レイアウトデータに含まれる各セルの全てにつき、順次以下のステップS62〜S64の処理を実行する。
ステップS62では、各セルの種別、すなわち設計変更用論理セルか、設計変更用論理セル以外の一般的な論理セルか或いはそれらのいずれでもないセルであってそもそも設計変更の対象外のセルであるかが判定される。
ステップS63では、各セルが、それが配置されている場所のサイトとの関係で許容されるものであるかをチェックする。
すなわち、設計変更用論理セルは、ECセルを上記の如くECサイト上に配置することにより配置することができるものであるが、これに反してECセルがECサイト以外の場所に配置されていたような場合、当該セルは、配置されている場所のサイトとの関係で許容されるものはないと判定される(ステップS64のNo)。
ステップS64の判定結果画のNoである場合、バルクフィックスデータ作成部2は画面表示データ作成部3および画面表示部4を介し、コンピュータ7の表示画面に、そのセルが、それが配置されている場所のサイトとの関係で許容されるものでは無い旨を示すエラー表示を行う(ステップS65)。
オペレータはこのようなエラー表示を見ることにより、バルクフィックス後の設計変更において本来禁止されている処理を行ってしまったことを明確に認識することが出来、その結果適宜、更に設計変更を行うことで、各セルが、それが配置されている場所のサイトとの関係で許容されるものとなるようにすることができる。したがってバルクフィックス後の設計変更として本来禁止されている処理がなされることによってバルクフィックス以降製造部門で開始されているバルク層の製造工程に手戻りが生ずるような事態が効果的に回避され得る。
図16は上述の実施例における半導体集積回路の実装設計支援方法をコンピュータで実現する場合について説明するための、コンピュータの構成例を示すブロック図である。
図16に示すごとく、コンピュータ500は、与えられたプログラムに記載された命令を実行することによって種々の動作を実行するためのCPU501と、キーボード、マウス等よりなりユーザ(この場合設計者たるオペレータ、以下同様)が操作内容又はデータを入力するための操作部502と、ユーザに対しCPU501による処理経過、処理結果等を表示するCRT、液晶表示器等よりなる表示部503と、ROM、RAM等よりなりCPU504が実行するプログラム、データ等を記憶したり作業領域として使用されるメモリ504と,プログラム、データ等を格納するハードディスク装置505と、CD−ROM507を媒介として外部からプログラムをロードしたりデータをロードするためのCD−ROMドライブ506と、インターネット、LAN等の通信網509を介して外部サーバからプログラムをダウンロード等するためのモデム508とを有する。
コンピュータ500はCD−ROM507を媒介として、あるいは通信ネットワーク509を媒介として、上述の半導体集積回路の実装設計支援方法をCPU501に実行させるための命令よりなる半導体集積回路の実装設計支援プログラムをロードあるいはダウンロードする。そしてこれをハードディスク装置505にインストールし、適宜メモリ504にロードしてCPU501が実行する。その結果、同コンピュータ500により本発明の実施例による半導体集積回路の実装設計支援方法が実現される。
なお、図5中、選択データ取り出し部5が選択データ取り出し手段に対応し、バルクフィックスデータ作成部2がバルクフィックスデータ生成手段に対応し、選択セル移動可否判定部5が選択セル移動可否判定手段に対応し、画像表示部4が画像表示部に対応し、コンピュータ7の表示画面が半導体集積回路の設計支援装置に接続された表示装置に対応する。

Claims (3)

  1. 半導体集積回路を構成する論理セルの配置と、前記論理セル間の配線の設計を行う半導体集積回路の実装設計支援装置において、論理セルが選択されるとともに、前記選択された論理セルの変更が入力される選択データ取り出し手段と、
    前記半導体集積回路の半導体基板に対して、前記半導体基板のバルク層が固定されたバルクフィックスデータを生成するバルクフィックスデータ生成手段であって、前記半導体集積回路を構成する論理セルが配置済みか否かを判定し、前記半導体集積回路を構成する論理セルが配置済みであると判定されると、前記論理セルの未配置領域に対して、未配線の設計変更用ダミー論理セルを配置し、前記設計変更用ダミー論理セルが配置された領域においては、前記バルク層が固定されたバルクフィックスデータが生成された状態であっても、前記設計変更用ダミー論理セルに対して配線を行うことにより、設計変更用論理セルを生成することを可能にし、前記設計変更用ダミー論理セルが配置されていることを確認した後、前記半導体基板のバルク層を固定するバルクフィックスを実施するバルクフィックスデータ生成手段と、
    前記バルクフィックスデータ生成手段が、前記バルクフィックスデータを生成した場合において、前記選択データ取り出し手段に選択された論理セルの変更が入力されたときに、前記論理セルの変更を禁止する選択セル移動可否判定手段とを有することを特徴とする半導体集積回路の実装設計支援装置。
  2. 半導体集積回路を構成する論理セルの配置と、前記論理セル間の配線の設計を行う半導体集積回路の実装設計支援方法において、
    選択データ取り出し部に、選択された論理セルの変更を入力するステップと、
    バルクフィックスデータ生成部が、前記半導体集積回路の半導体基板に対して、前記半導体基板のバルク層が固定されたバルクフィックスデータを生成するステップであって、前記半導体集積回路を構成する論理セルが配置済みか否かを判定し、前記半導体集積回路を構成する論理セルが配置済みであると判定されると、前記論理セルの未配置領域に対して、未配線の設計変更用ダミー論理セルを配置し、前記設計変更用ダミー論理セルが配置された領域においては、前記バルク層が固定されたバルクフィックスデータが生成された状態であっても、前記設計変更用ダミー論理セルに対して配線を行うことにより、設計変更用論理セルを生成することを可能にし、前記設計変更用ダミー論理セルが配置されていることを確認した後、前記半導体基板のバルク層を固定するバルクフィックスを実施するステップと、
    前記バルクフィックスデータ生成部が、前記バルクフィックスデータを生成した場合において、前記選択データ取り出し部に選択された論理セルの変更が入力されたときに、選択セル移動可否判定部が、前記論理セルの変更を禁止するステップとを有することを特徴とする半導体集積回路の実装設計支援方法。
  3. 半導体集積回路を構成する論理セルの配置と、前記論理セル間の配線の設計を行う半導体集積回路の実装設計支援プログラムにおいて、
    コンピュータに、
    ルクフィックスデータ生成部が、前記半導体集積回路の半導体基板に対して、前記半導体基板のバルク層が固定されたバルクフィックスデータを生成するステップであって、前記半導体集積回路を構成する論理セルが配置済みか否かを判定し、前記半導体集積回路を構成する論理セルが配置済みであると判定されると、前記論理セルの未配置領域に対して、未配線の設計変更用ダミー論理セルを配置し、前記設計変更用ダミー論理セルが配置された領域においては、前記バルク層が固定されたバルクフィックスデータが生成された状態であっても、前記設計変更用ダミー論理セルに対して配線を行うことにより、設計変更用論理セルを生成することを可能にし、前記設計変更用ダミー論理セルが配置されていることを確認した後、前記半導体基板のバルク層を固定するバルクフィックスを実施するステップと、
    前記バルクフィックスデータ生成部が、前記バルクフィックスデータを生成した場合において、択データ取り出し部に選択された論理セルの変更が入力されたときに、選択セル移動可否判定部が、前記論理セルの変更を禁止するステップとを実行させることを特徴とする半導体集積回路の実装設計支援プログラム。
JP2009536880A 2007-10-09 2007-10-09 半導体集積回路の実装設計支援装置、実装設計支援方法および実装設計支援プログラム Expired - Fee Related JP4985777B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2007/069703 WO2009047839A1 (ja) 2007-10-09 2007-10-09 半導体集積回路の実装設計支援装置、実装設計支援方法および実装設計支援プログラム

Publications (2)

Publication Number Publication Date
JPWO2009047839A1 JPWO2009047839A1 (ja) 2011-02-17
JP4985777B2 true JP4985777B2 (ja) 2012-07-25

Family

ID=40548994

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009536880A Expired - Fee Related JP4985777B2 (ja) 2007-10-09 2007-10-09 半導体集積回路の実装設計支援装置、実装設計支援方法および実装設計支援プログラム

Country Status (3)

Country Link
US (1) US8341583B2 (ja)
JP (1) JP4985777B2 (ja)
WO (1) WO2009047839A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9372953B1 (en) * 2014-09-24 2016-06-21 Xilinx, Inc. Increasing operating frequency of circuit designs using dynamically modified timing constraints

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002016143A (ja) * 2000-06-29 2002-01-18 Hitachi Ltd 半導体集積回路およびその設計方法
JP2002151594A (ja) * 2000-11-15 2002-05-24 Seiko Epson Corp 半導体集積回路の設計方法及び半導体集積回路の設計支援装置
JP2006040111A (ja) * 2004-07-29 2006-02-09 Nec Corp ネットリスト接続ルールに対応したレイアウト方法及びそのシステム並びにレイアウト用プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06295956A (ja) 1993-04-08 1994-10-21 Nec Ic Microcomput Syst Ltd 自動レイアウトのセル配置法
JP2001351979A (ja) 2000-06-05 2001-12-21 Fujitsu Ltd 半導体装置設計支援装置
JP2002157292A (ja) * 2000-11-17 2002-05-31 Matsushita Electric Ind Co Ltd 半導体集積回路の論理合成方法
JP2005202928A (ja) 2003-12-19 2005-07-28 Fujitsu Ltd レイアウト処理装置、レイアウト処理方法、及びプログラム
JP4866683B2 (ja) * 2006-08-25 2012-02-01 富士通セミコンダクター株式会社 半導体デバイスの製造方法、データ作成装置、データ作成方法、およびプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002016143A (ja) * 2000-06-29 2002-01-18 Hitachi Ltd 半導体集積回路およびその設計方法
JP2002151594A (ja) * 2000-11-15 2002-05-24 Seiko Epson Corp 半導体集積回路の設計方法及び半導体集積回路の設計支援装置
JP2006040111A (ja) * 2004-07-29 2006-02-09 Nec Corp ネットリスト接続ルールに対応したレイアウト方法及びそのシステム並びにレイアウト用プログラム

Also Published As

Publication number Publication date
JPWO2009047839A1 (ja) 2011-02-17
WO2009047839A1 (ja) 2009-04-16
US20100199248A1 (en) 2010-08-05
US8341583B2 (en) 2012-12-25

Similar Documents

Publication Publication Date Title
TWI794255B (zh) 積體電路設計及(或)製造
TWI479350B (zh) 產生積體電路之佈局之方法、積體電路及執行該方法的非暫態電腦可讀儲存媒體
US7890909B2 (en) Automatic block composition tool for composing custom blocks having non-standard library cells in an integrated circuit design flow
JP2006196627A (ja) 半導体装置、及び半導体装置の設計プログラム
KR101460448B1 (ko) 이중 패터닝 기술들을 위한 물리 결정 경계 상호접속 피처들을 생성하기 위한 시스템 및 방법
US8984465B1 (en) Methods, systems, and articles of manufacture for automatically assigning track patterns to regions for physical implementation of an electronic design
US11163932B2 (en) Semiconductor process modeling to enable skip via in place and route flow
JP4769687B2 (ja) タイミング検証方法、タイミング検証装置及びタイミング検証プログラム
JP2009111119A (ja) 半導体集積回路のレイアウト設計方法、レイアウト設計プログラム、及びレイアウト設計支援装置
KR20190092853A (ko) 적응적 메탈 필을 이용한 레이아웃 설계 방법 및 이에 기반하여 제조되는 반도체 장치
JP2002026129A (ja) Lsiチップのレイアウト設計方法、およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
US20080097738A1 (en) Redundant Micro-Loop Structure For Use In An Integrated Circuit Physical Design Process And Method Of Forming The Same
Debacker et al. Vertical M1 routing-aware detailed placement for congestion and wirelength reduction in sub-10nm nodes
JP4985777B2 (ja) 半導体集積回路の実装設計支援装置、実装設計支援方法および実装設計支援プログラム
US10769346B1 (en) Method, system, and computer program product for rearrangement of objects within an electronic design
US8060853B2 (en) Semiconductor integrated circuit designing apparatus, semiconductor integrated circuit designing method and semiconductor device
US8756048B2 (en) Method for technology porting of CAD designs, and computer program product therefor
TWI726852B (zh) 設計半導體元件的方法與系統
JP5059657B2 (ja) マクロ内端子配線を考慮したネットリストによって信号の遅延時間を予測する設計方法、及び、プログラム
JP4717944B2 (ja) 半導体集積回路の設計方法およびその設計装置
US20190294751A1 (en) Creating gateway model routing sub-templates
JP2002024310A (ja) マクロ作成方法、レイアウト方法、半導体装置及び記録媒体
US10817638B2 (en) Method and apparatus for camouflaging an integrated circuit using virtual camouflage cells
JP4179221B2 (ja) Lsiのレイアウト設計方法、レイアウト設計装置及びレイアウト設計プログラム
JP4845400B2 (ja) 半導体装置の設計方法および半導体装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111213

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120210

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120403

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120416

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees