(58)【調査した分野】(Int.Cl.,DB名)
設計支援装置が、複数の異なる配置角度で配置されたトランジスタをチップに配置したテストチップを用いて試験装置が測定した、前記トランジスタの配置角度ごとの前記トランジスタのオン電流を含む電気特性を取得する工程と、
前記設計支援装置が、前記電気特性に基づいて、前記トランジスタを有した基本セルの遅延情報を、前記基本セルの配置角度ごとに抽出する工程と、
前記設計支援装置が、前記遅延情報に基づいて、前記基本セルを含む回路ブロックのタイミングを検証する工程と、を有し、
前記電気特性を取得する工程で、前記設計支援装置が、前記トランジスタについて、第1の配置角度の場合及び第2の配置角度の場合の第1電気特性及び第2電気特性をそれぞれ取得し、
前記遅延情報を抽出する工程で、前記設計支援装置が、前記第1電気特性及び前記第2電気特性に基づいて、前記基本セルについて、前記第1の配置角度の場合及び前記第2の配置角度の場合の、最大遅延時間と最小遅延時間を含む第1遅延情報及び第2遅延情報をそれぞれ取得し、
前記回路ブロックのタイミングを検証する工程で、前記設計支援装置が、前記第1遅延情報及び前記第2遅延情報に含まれる前記最大遅延時間のうち大きい方を選択し、前記第1遅延情報及び前記第2遅延情報に含まれる前記最小遅延時間のうち、小さい方を選択することで前記第1遅延情報及び前記第2遅延情報を統合して前記遅延情報を取得する、
ことを特徴とする半導体装置の設計支援方法。
前記遅延情報に基づいて、前記設計支援装置が、前記回路ブロックを含むチップのタイミングを検証する工程をさらに有することを特徴とする請求項1記載の半導体装置の設計支援方法。
【背景技術】
【0002】
近年、半導体技術の進歩に伴い、大規模なLSI(Large Scale Integrated circuit)の設計又は同一機能を複数搭載するLSIの設計では、階層設計手法が多く用いられるようになった。すなわち、上位階層(チップ)及び下位階層(回路ブロック)を別々に設計し、チップ上に回路ブロックを配置させて1つにすることで、小規模なLSIから構成されたシステムLSIが形成される。なお、回路ブロックは、論理回路を構成する複数の基本セルが配置されて構成されている。基本セルは繰り返し配置される最小単位であって、1又は複数のトランジスタを有している。
【0003】
このようなシステムLSIは、LSI機能設計、フロントエンド設計及びバックエンド設計の各工程を経て設計される(例えば、特許文献1参照。)。
LSI機能設計では、実現したいシステムをどのようにLSI化するかを定義し、定義したLSIの機能をHDL(Hardware Description Language)言語により、RTL(Register Transfer Level)で回路を記述し、当該回路が所望の動作を行うかを検証する。
【0004】
フロントエンド設計では、LSI機能設計で記述されたRTLを、回路ブロックで構成されたネットリストに変換する。ネットリストに対して、作成した回路が所望の周波数並びに規定値で動作するか等のタイミング条件を満たしているかのタイミング検証等が行われる。
【0005】
バックエンド設計では、フロントエンド設計の各検証で異常が見出せなかったネットリストを利用して、フロアプラン、電源配線及び回路ブロックの配置等が行われ、製造されたLSIの動作・品質保証を実現するための検証が最後に行われる。
【0006】
特に、近年のシステムLSIの小型化を進めるために、回路ブロックを回転させた状態でチップに配置する場合がある。
【発明を実施するための形態】
【0014】
以下、実施の形態について、図面を参照しながら説明する。
まず、第1の実施の形態について説明する。
図1は第1の実施の形態の半導体装置の製造方法を示すフローチャート、
図2は半導体装置の設計支援装置のハードウェア構成を示す図である。
【0015】
まず、
図2について説明する。
図2に示す半導体装置の設計支援を行う設計支援装置100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105及び通信インタフェース106が接続されている。
【0016】
RAM102には、CPU101に実行させるOS(Operating System)プログラム並びにアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データの少なくとも一部が一時的に格納される。その他、CPU101の処理により生成されたデータの少なくとも一部が一時的に格納される。
【0017】
HDD103には、OSプログラム並びにアプリケーションプログラムが格納される。また、HDD103には、基本セル、回路ブロック及びチップのレイアウトデータD1,D2,D3等の各種データが格納される。その他、テスタ114により取得されたデータ、並びにCPU101の処理過程により生成されたデータも格納される。
【0018】
グラフィック処理装置104には、モニタ111が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ111の画面に表示させる。
【0019】
入力インタフェース105には、キーボード112とマウス113とが接続されている。入力インタフェース105は、キーボード112やマウス113から送られてくる信号を、バス107を介してCPU101に送信する。
【0020】
通信インタフェース106には、試験装置であるテスタ114が接続されている。通信インタフェース106は、テスタ114で取得された後述するテスタチップのトランジスタの電気特性の信号を、バス107を介してCPU101に送信する。
【0021】
上記構成を有する設計支援装置100を用いることにより、例えば、
図1のフローチャートのフローに従って半導体装置の製造を行う。
それでは、半導体装置の製造方法について
図1のフローに沿って説明する。
【0022】
まず、HDD103にあらかじめ格納されるデータについて説明する。
レイアウトデータD1は製造対象の半導体装置の基本セルを構成するトランジスタの配置、配線及びフロアプラン等のレイアウトに関するデータが保持されている。
【0023】
レイアウトデータD2,D3は回路ブロックを構成する基本セルと、チップを構成する回路ブロックとの配置、配線及びフロアプラン等のレイアウトに関するデータがそれぞれ保持されている。
【0024】
また、レイアウトデータD2は、製造対象の半導体装置のネットリスト及びコンストレイント(共に図示を省略)とレイアウトデータD1とから生成される。また、同様に、レイアウトデータD3は当該ネットリスト及びコンストレイントと、レイアウトデータD2とから生成される。
【0025】
なお、テストチップ測定データD4は、テスタ114により測定され、取得されると、HDD103に格納される。
トランジスタ電気特性データD5a,D5b及びライブラリL1についてはCPU101で行われる処理の過程で生成されて、HDD103に格納される。
【0026】
[ステップS11]テスタ114により、あらかじめ作成されたテストチップの電圧及び電流等の電気的特性であるDC特性と、動作周波数、入出力信号の遅延時間等の電気的特性であるAC特性とが測定される。通信インタフェース106はテスタ114から受信した測定結果をHDD103に格納して、テストチップ測定データD4を形成する。
【0027】
図3はテストチップの一例を説明するための図である。なお、
図3(A)は基本セル10、
図3(B)はトランジスタ10a,10b及び基本セル10で構成される回路ブロック20がそれぞれ配置されたテストチップTを表している。
【0028】
具体例として
図3に示されるテストチップTはトランジスタ10a,10b及び回路ブロック20が配置されている。なお、回路ブロック20は、基本セル10が2列に配列されて構成されている。
【0029】
図3(A)に示される基本セル10は、P型,N型拡散領域11,12及びゲート13,14を有するトランジスタ10a,10bから構成されている。Xは基本セル10の原点位置であって、
図3(A)に示す状態が基本の位置(配置角度0度)とする。基本セル10が原点位置Xを中心に回転して配置されると、トランジスタ10a,10bも回転し、ゲート13,14の向きが変わる。
【0030】
図3(B)に示されるテストチップTには、トランジスタ10a,10b(a1,b1)、及び基本セル10を複数配列させて構成された2つの回路ブロック20(c1)が配置されている。さらに、テストチップTには、図中時計回り方向に90度回転した状態の、トランジスタ10a,10b(a2,b2)、及び2つの回路ブロック20(c2)が配置されている。なお、テストチップTに配置された回路ブロック20等が90度分回転するに伴い、原点位置Xも90度回転している。また、
図3(B)に示すテストチップTは回路ブロック20等の配置例の1つであり、別の種類の基本セル及び回路ブロックでも構わない。また、回路ブロック20等は別の配置角度であっても構わない。
【0031】
このようにテストチップTを用いることにより、効率的に各配置角度のDC特性及びAC特性の電気特性を測定して、取得することができる。測定結果が保持されたテストチップ測定データD4が形成される。
【0032】
[ステップS12]CPU101により、テストチップ測定データD4に基づき、例えばSPICEを用いて、テストチップTに配置された角度を有するトランジスタモデルが表現される。当該トランジスタモデルから、オン電流及びしきい値電圧等の電気特性が再現される。再現された電気特性から、トランジスタの配置角度の有無ごとに、回転が無い場合のトランジスタ電気特性データD5a及び回転が有る場合のトランジスタ電気特性データD5bを形成する。なお、トランジスタ電気特性データD5a,D5bはHDD103にそれぞれ格納される。
【0033】
[ステップS13]CPU101が、レイアウトデータD1に従ってトランジスタがレイアウトされて構成される基本セルの配線等による遅延時間を、トランジスタ電気特性データD5a,D5bに基づいて、トランジスタの回転の有無ごとに算出する。なお、第1の実施の形態の基本セルは、
図3に示されるように、トランジスタ10a,10bにより構成されている。
【0034】
算出された遅延時間は、トランジスタで構成される基本セルの回転の有無ごとに抽出されて、抽出された遅延時間が遅延情報として、ライブラリL2a(回転無し)及びライブラリL2b(回転有り)がそれぞれ形成される。なお、ライブラリL2a,L2bはHDD103にそれぞれ格納される。また、ステップS13では遅延時間、又は/及び消費電流も回転の有無ごとに抽出でき、同様にライブラリL2a,L2bを形成することもできる。
【0035】
図4は基本セルの配置角度ごとの遅延時間及び消費電流を示す表である。
具体例として
図4(A),(B)にそれぞれ示される配置角度が0度及び90度の基本セルのライブラリL2a,L2bでは、遅延時間の最小値及び最大値が抽出される。消費電流についても同様である。
【0036】
[ステップS14]CPU101がライブラリL2a,L2bを統合して、基本セルの配置角度の有無に依存する遅延時間を合成して一つの遅延情報に置き換えた(包含した)遅延情報が保持されたライブラリL1を作成する。
【0037】
具体例として
図4(C)に示されるライブラリL1は、
図4(A),(B)のライブラリL2a,L2bの両方を包含している。遅延時間及び消費電流の最大値及び最小値は、ライブラリL2a,L2bからそれぞれの最小値及び最大値が記述されている。
【0038】
[ステップS15]CPU101がライブラリL1に基づき、レイアウトデータD2に従って基本セルがレイアウトされた回路ブロックのタイミング検証を行う。当該タイミング検証により、それぞれの回路ブロックが所望の周波数で動作するか、所望の規格値を満たしているかの検証が行われる。
【0039】
[ステップS16]ステップS15と同様に、CPU101がライブラリL1に基づき、レイアウトデータD3に従って回路ブロックでレイアウトされたチップ、チップ・回路ブロック間、及び回路ブロック同士のタイミング検証を行う。当該タイミング検証により、チップ、チップ・回路ブロック間、及び回路ブロック同士が所望の周波数で動作するか、所望の規格値を満たしているかの検証が行われる。
【0040】
なお、ステップS16では、回路ブロックの配置状況(回転)が確定しているのであれば、配置角度に応じて、ライブラリL2a,L2bをそれぞれ利用してタイミング検証を行うようにしても同様の結果が得られる。
【0041】
上記ステップS15及びステップS16では効率よく回路ブロック及びチップ等のタイミング検証を行うことができる。そして、行われたタイミング検証の結果、動作状況に問題が無く、規定値を満足するものであれば、レイアウトデータD1,D2,D3及びネットリスト等に従って設計されるLSIの製造が開始される。
【0042】
このようにして得られたライブラリL1,L2a,L2bについて以下にグラフを参照して説明する。
図5はトランジスタのしきい値電圧に対するオン電流を示すグラフである。
【0043】
なお、横軸Vthはしきい値電圧、縦軸Ionはオン電流をそれぞれ表している。つまり、しきい値電圧が減少し、オン電流が増加するほどトランジスタの動作速度が速くなる。一方、しきい値電圧が増加し、オン電流が減少するほどトランジスタの動作速度は遅くなる。
【0044】
○(白丸)同士を結んだ実線のグラフは、トランジスタが、配置角度(回転)が無いように配置されている場合のしきい値電圧に対するオン電流を表している。このような特性のトランジスタを有する基本セルの遅延時間等がライブラリL2aに保持されている。
【0045】
●(黒丸)同士を結んだ実線のグラフは、トランジスタが、配置角度(回転)を有するように配置されている場合のしきい値電圧に対するオン電流を表している。このような特性のトランジスタを有する基本セルの遅延時間等がライブラリL2bに保持されている。
【0046】
上記2種のグラフによれば、回転の有無によりしきい値電圧に対するオン電流に誤差が生じることが分かる。したがって、様々な配置角度の回路ブロックのタイミング検証を行う際に、回転の有無ごとに遅延時間に関する遅延情報を保持するライブラリL2a,L2bのいずれか一方を用いると、いずれの検証結果にも誤差が生じる。
【0047】
一方、○(左側)と●(右側)とを結んだ破線のグラフは、回転が無い場合及び有る場合を含むトランジスタのしきい値電圧に対するオン電流を表している。この場合、上記の2種のグラフを合わせた範囲にほぼ合致する。ライブラリL2a,L2bを統合したライブラリL1はこのような特性のトランジスタを有する基本セルに対応されるようになる。
【0048】
このようにライブラリL1は、基本セルの配置角度ごとの遅延時間に関する遅延情報が保持されている。ステップS15及びステップS16のライブラリL1を利用したタイミング検証では、レイアウトデータD2,D3でレイアウトされる回路ブロック、チップに回転して配置されたものがあっても、検証結果の誤差を無くすことが可能となる。
【0049】
このため、検証結果に応じて、回路ブロックを再配置して、再びタイミング検証を行う必要がなくなり、製造工程の煩雑さが低減される。また、LSIの面積効率化を考慮した基本セルの様々な配置状態に対して適正にタイミング検証を行うことができ、製造効率が向上する。
【0050】
次に、第2の実施の形態について説明する。
なお、第2の実施の形態においても、
図2で示した設計支援装置100で半導体装置の製造が行われ、
図3で示したテストチップT及び
図4(C)で用いられたライブラリL1がそれぞれ用いられる。
【0051】
以下、CPU101で行われる処理について
図6のフローに沿って説明する。
図6は第2の実施の形態の半導体装置の製造方法を示すフローチャートである。なお、第1の実施の形態と同様の処理が行われるステップについては詳細な説明を省略する。
【0052】
HDD103に、第1の実施の形態と同様に、レイアウトデータD1,D2,D3があらかじめ格納されている。また、テスタ114に測定されたテストチップ測定データD4及びCPU101の処理過程で生成されたライブラリL1はHDD103にそれぞれ格納される。
【0053】
それでは、CPU101で行われる処理について
図6のフローに沿って説明する。
[ステップS11]テスタ114により測定されたテストチップTのDC特性及びAC特性の測定結果をHDD103に格納する。
【0054】
なお、具体的なテストチップTの詳細については、第1の実施の形態で参照した
図3と同様である。
[ステップS22]CPU101が、テストチップ測定データD4に基づき、例えばSPICEを用いて、テストチップTに配置された角度を有するトランジスタモデルが表現される。当該トランジスタモデルから、オン電流及びしきい値電圧等の電気特性がそれぞれ再現される。再現された配置角度ごとの電気特性から構成されるトランジスタ電気特性データD5を作成する。なお、作成されたトランジスタ電気特性データD5はHDD103に格納される。
【0055】
[ステップS23]CPU101が、レイアウトデータD1に従ってトランジスタがレイアウトされる基本セルの配線等による信号の遅延時間を、トランジスタ電気特性データD5に基づいて算出する。算出された遅延時間はトランジスタで構成される基本セルの配置角度ごとに抽出されて、配置角度に依存する遅延時間を合成して一つの遅延時間に置き換えた遅延時間が、遅延情報として保持されるライブラリL1が形成される。なお、ライブラリL1はHDD103に格納される。また、ステップS23では遅延時間、又は/及び消費電流も抽出でき、同様にライブラリL1を形成することもできる。
【0056】
具体例として
図4(C)に示されるライブラリL1では、配置角度が0度及び90度の基本セルについて、両配置角度の場合にそれぞれ得られた遅延時間の最小値及び最大値が抽出されて記述されている。同様にして消費電流についても最小値及び最大値が抽出されて記述されている。
【0057】
[ステップS15]CPU101が、ライブラリL1に基づき、レイアウトデータD2に従って基本セルがレイアウトされた回路ブロック内のタイミング検証を行う。当該タイミング検証により、それぞれの回路ブロックが所望の周波数で動作するか、所望の規格値を満たしているかの検証が行われる。
【0058】
[ステップS16]ステップS15と同様に、CPU101が、ライブラリL1に基づき、レイアウトデータD3に従って回路ブロックがレイアウトされたチップのタイミング検証を行う。具体的には、チップ、チップ及び回路ブロック間、並びに回路ブロック同士のタイミング検証を行う。当該タイミング検証により、チップ等が所望の周波数で動作するか、所望の規格値を満たしているかの検証が行われる。
【0059】
上記ステップS15及びステップS16で行われたタイミング検証の結果、動作状況に問題が無く、規定値を満足するものであれば、レイアウトデータD1,D2,D3及びネットリスト等に従って設計されるLSIの製造が開始される。
【0060】
このようにライブラリL1は、基本セルの配置角度ごとの遅延時間に関する遅延情報が保持されている。ステップS15及びステップS16のライブラリL1を利用したタイミング検証では、レイアウトデータD2,D3でレイアウトされる回路ブロック、チップに回転して配置されたものがあっても、検証結果の誤差を無くすことが可能となる。
【0061】
このため、検証結果に応じて、回路ブロックを再配置して、再びタイミング検証を行う必要がなくなり、製造工程の煩雑さが低減される。また、LSIの面積効率化を考慮した基本セルの様々な配置状態に対して適正にタイミング検証を行うことができ、製造効率が向上する。
【0062】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、設計支援装置100が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記録装置としては、例えば、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープ等が挙げられる。光ディスクとしては、例えば、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等が挙げられる。光磁気記録媒体としては、例えば、MO(Magneto-Optical disk)等が挙げられる。
【0063】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0064】
設計支援プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。