(57)【要約】【課題】回路設計段階にて配線寄生を考慮することにより、マスクレイアウトの修正回数を減少させて設計時間を短縮する。【解決手段】仕様に基づく回路設計を行う（Ｓ１）。設計の各回路図データに対しブロックサイズ算出手段で各素子の算出値からブロックサイズを算出する（Ｓ２）。ブロックサイズよりブロックシンボルを作成（Ｓ３）。全ブロックシンボルの最適配置を行う（Ｓ４）。ブロックシンボル間の接続を行う（Ｓ５）。配線パラメータ算出手段で各配線の配線長と配線寄生を算出し、算出情報を保存し配線寄生データベースを作成（Ｓ６）。回路シミュレーション手段１０にて、回路図データと配線寄生データと解析条件を記憶し、回路シミュレーションを実行（Ｓ７）。シミュレーション結果から要求の仕様のときマスクレイアウト設計を行う（Ｓ８）。配線寄生の影響を解析することで、回路設計段階で配線寄生を考慮でき、レイアウト設計時間を短縮できる。【選択図】図６
2005267019.tif 000002
【特許請求の範囲】
【請求項１】
仕様に基づく機能ごとにブロックレベルでの回路設計を行う第１の工程と、前記第１の工程における回路の素子数及び素子値よりブロックサイズを算出する第２の工程と、前記第２の工程において算出した前記ブロックサイズのシンボルを作成する第３の工程と、前記第３の工程において作成した前記シンボルを配置する第４の工程と、前記第４の工程において配置した前記シンボル間を接続する第５の工程と、前記第５の工程において接続した配線の長さを算出する第６の工程と、前記第６の工程において算出した配線長より配線寄生を算出する第７の工程と、前記第７の工程において算出した前記配線寄生を考慮して解析を実行する第８の工程とを有し、前記第８の工程の解析結果を検証し、前記仕様に合わなかった場合、前記第４の工程もしくは前記第５の工程に戻り、前記シンボルの配置もしくは前記シンボル間の接続の修正を行うことを特徴とする半導体集積回路の設計方法。
【請求項２】
仕様に基づく機能ごとの回路設計を行った各ブロック回路における素子数及び素子値をもとに、ブロックサイズを算出するブロックサイズ算出手段と、前記ブロックサイズ算出手段の算出結果をもとに、実パターンにおいて必要な面積と同等の面積を有するブロックシンボルを作成するブロックシンボル作成手段と、作成した前記ブロックシンボルを配置するブロックシンボル配置手段と、配置した前記ブロックシンボル間を配線して接続する配線情報付加手段と、接続した前記配線の長さ、寄生抵抗、寄生容量の配線寄生を算出する配線パラメータ算出手段と、算出した前記配線寄生と前記ブロック回路を組み合わせて回路シミュレーションを行う回路シミュレーション手段とを備えたことを特徴とする半導体集積回路の設計装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の設計に関し、特に回路設計段階においてブロック間配線の寄生効果を考慮した半導体集積回路の設計方法及び設計装置に関するものである。
【背景技術】
【０００２】
近年、半導体集積回路においてチップサイズが拡大し、最小加工寸法が微細化するにつれて、配線の間隔や断面積が減少し、配線長が増加している。それに伴い、配線による容量と抵抗が急増するため、配線遅延が大きくなり半導体集積回路が所望の動作をしないという問題が生じている。
【０００３】
これらの問題を解決するための手段として、マスクレイアウトより寄生素子の抽出を行って寄生素子を考慮した設計方法が提案されている。例えば、特許文献１の記載では、レイアウト設計を行った後、マスクレイアウトより配線混雑度を配線混雑度検証手段により求め、算出した結果をもとに寄生素子情報を抽出するといったフローを設計フローに組み込むことにより、寄生素子を考慮した設計を可能とする設計手法が提案されている。
【特許文献１】特開２００２−１４９７３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら従来の技術では、マスクレイアウトを準備することによって、配線寄生を考慮した半導体集積回路の設計を行うことが可能であるが、回路図及びマスクレイアウトを準備することが必要となる。さらに、寄生素子を抽出し、解析を行い、結果を検証し、マスクレイアウトを修正するという方法では、マスクレイアウトの修正回数が多くなり、半導体集積回路の設計時間短縮を妨げているという課題があった。
【０００５】
本発明は、前記従来技術の課題を解決することに指向するものであり、回路設計段階にて配線寄生を考慮することにより、マスクレイアウトの修正回数を減少させ、半導体集積回路の設計時間を短縮した半導体集積回路の設計方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
この目的を達成するために、本発明に係る請求項１に記載された半導体集積回路の設計方法は、仕様に基づく機能ごとにブロックレベルでの回路設計を行う第１の工程と、第１の工程における回路の素子数及び素子値よりブロックサイズを算出する第２の工程と、第２の工程において算出したブロックサイズのシンボルを作成する第３の工程と、第３の工程において作成したシンボルを配置する第４の工程と、第４の工程において配置したシンボル間を接続する第５の工程と、第５の工程において接続した配線の長さを算出する第６の工程と、第６の工程において算出した配線長より配線寄生を算出する第７の工程と、第７の工程において算出した配線寄生を考慮して解析を実行する第８の工程とを有し、第８の工程の解析結果を検証し、仕様に合わなかった場合、第４の工程もしくは第５の工程に戻り、シンボルの配置もしくはシンボル間の接続の修正を行うことを特徴とする。
【０００７】
また、請求項２に記載された半導体集積回路の設計装置は、仕様に基づく機能ごとの回路設計を行った各ブロック回路における素子数及び素子値をもとに、ブロックサイズを算出するブロックサイズ算出手段と、ブロックサイズ算出手段の算出結果をもとに、実パターンにおいて必要な面積と同等の面積を有するブロックシンボルを作成するブロックシンボル作成手段と、作成したブロックシンボルを配置するブロックシンボル配置手段と、配置したブロックシンボル間を配線して接続する配線情報付加手段と、接続した配線の長さ、寄生抵抗、寄生容量の配線寄生を算出する配線パラメータ算出手段と、算出した配線寄生とブロック回路を組み合わせて回路シミュレーションを行う回路シミュレーション手段とを備えたことを特徴とする。
【０００８】
前記の設計方法及び設計装置によれば、回路設計時に配線寄生を考慮して、レイアウト設計でマスクレイアウトの修正回数を削減し、回路設計段階において配線寄生が回路に及ぼす影響を解析でき、設計時間を短縮できる。
【発明の効果】
【０００９】
以上説明したように、本発明によれば、従来、レイアウト設計までを行うことによって、配線寄生を考慮した解析が実行されていたが、回路設計時に配線寄生を考慮することにより、レイアウト設計におけるマスクレイアウトの修正回数を削減でき、また回路設計段階において、配線寄生が回路に及ぼす影響をシミュレーションにより確認することも可能となり、さらに、設計時間の短縮等ができるという効果を奏する。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して本発明における実施の形態を詳細に説明する。
【００１１】
図１は本発明の実施の形態における半導体集積回路の設計装置の概略構成を示すブロック図である。図１に示す回路図入力装置１は、１辺を任意の長さの縮尺として指定してある正方形（以下、グリッドという）によって画面を分割している。このグリッドが入力可能な最小単位となる。つまり、グリッドよりも小さいデータは存在しない。また、図２に回路図入力装置のイメージ図を示す。図２において例えば、１グリッドが１μｍを表す場合、画面１２を分割している正方形の１辺１３は１μｍとなる。
【００１２】
ブロック回路２は、入力となる仕様に基づく回路で、図３に示すように、抵抗素子２１，２２やトランジスタ素子２３，２４といった素子レベルで設計されたものであり、外部端子２５，２６を持つ回路である。
【００１３】
サイズデータ３は、ブロックシンボル作成時における配線領域の面積を計算するためのデータである。
【００１４】
ブロックサイズ算出手段４は、素子レベルで設計されたブロック回路２について、回路の各素子の素子値から各素子に必要となるレイアウト面積を見積もり、ブロックに使用されている各素子のレイアウト面積を合計し、サイズデータ３より配線領域分の面積を求めることにより、必要となるブロック面積を算出する。
【００１５】
ブロックシンボル作成手段５は、ブロックサイズ算出手段４にて求めたブロック面積より、実レイアウトに相当する長方形のブロックシンボルを生成する。図４に作成されるブロックシンボルの例を示す。図４において、２７はブロックシンボルを示し、２８は図３の２５に対応する外部端子、２９は図３の２６に対応する外部端子をそれぞれ示しており、外部端子２８，２９のように、シンボルによって回路における端子と対応するものをピンと定義する。
【００１６】
ブロックシンボル配置手段６は、ブロックシンボル作成手段５によって作成した図４に示すブロックシンボル２７を図２に示す画面１２上に配置する。
【００１７】
配線情報付加手段７は、ブロックシンボル配置手段６により配置したブロックシンボル間を配線で接続し、さらに、ブロックシンボル間を配線で接続した接続情報に、配線幅情報を付加する。
【００１８】
配線パラメータデータベース８は、配線抵抗と配線容量を算出するために必要となるプロセスパラメータが格納されている。配線パラメータデータベース８の例を図５に示す。一般的に、配線パラメータデータベース８には配線抵抗を算出するために必要となるシート抵抗と、配線容量を求めるために必要となる単位面積あたりの容量値が定義される。
【００１９】
配線パラメータ算出手段９は、配線情報付加手段７により接続を行った配線情報に配線と使用グリッド数から必要となる配線長を算出し、配線情報付加手段７によって与えた配線幅情報と配線パラメータデータベースの情報を組み合わせることにより、配線抵抗、配線容量を算出する。
【００２０】
回路シミュレーション手段１０は、配置されているブロックシンボルと配線パラメータを算出した配線抵抗と配線容量を含めて回路シミュレーションを実施するものである。
【００２１】
出力装置１１は、回路シミュレーション手段１０にて実施したシミュレーション結果を出力するための装置である。
【００２２】
以下、本実施の形態における具体的な設計方法の例を図６のフローチャートに従い説明する。
【００２３】
まず、ステップＳ１において、半導体集積回路の回路設計を行う。回路設計は、仕様に基づき機能ごとに行い、図３に示すように、抵抗素子２１，２２、トランジスタ素子２３，２４などといった具合に、回路図記号を用いてブロック回路２の回路図を作成する。
【００２４】
次に、ステップＳ２において、ブロックサイズを算出する。ステップＳ１において設計を行った各回路図データに対して、ブロックサイズ算出手段４を用いて、各回路図データにおける、抵抗素子数・トランジスタ素子数などの素子数を算出し、それぞれの素子値をもとにして各素子のレイアウトパターンにて必要となる面積を算出することにより、ブロックサイズが決定される。
【００２５】
ここでいう素子値とはトランジスタであれば、ゲート長，ゲート幅，ドレイン／ソースの面積などといった情報を指し、これらの情報はブロック回路より読み取ることができる。ブロック回路の素子数を数え、それぞれに対して素子値を読み取り、素子面積を計算し、各素子の面積の和をとることによりブロックにおける面積を算出することが可能となる。
【００２６】
図３に示すブロック回路を例として考えた場合、抵抗素子２１やトランジスタ素子２３などの回路記号をそれぞれ１つの素子として数える。抵抗においては、幅，長さ、トランジスタにおいては、ゲート長，ゲート幅，ドレイン／ソースの面積といった素子値情報となる。本実施の形態における例では、トランジスタ素子２３とトランジスタ素子２４がゲート幅４μｍ，ゲート長１μｍ，ドレイン／ソースの面積がそれぞれ６μｍ２の素子値であり、抵抗素子２１と抵抗素子２２が幅１μｍ，長さ６μｍの素子値であるとする。
【００２７】
この各素子値の情報をもとにして、それぞれ１素子あたり実パターンにて必要となる素子面積を求めると、トランジスタ素子の面積が１６μｍ２、抵抗素子の面積が６μｍ２となる。よって、このブロック回路において素子領域に必要となる面積は１６μｍ２×２＋６μｍ２×２で４４μｍ２となる。素子領域の面積に配線分の面積を考慮するために、サイズデータ３より素子領域の面積を１.１倍した結果である面積４８.４μｍ２がこのブロック回路に必要な面積となる。
【００２８】
次に、ステップＳ３において、ブロックシンボルの作成を行う。ブロックシンボル２７とは、図４に示してあるように、回路の外部端子２８、外部端子２９を有した、回路情報を含んだ長方形の図形であり、シミュレーション実行時には、図３のブロック回路を読み込みシミュレーションが実行される。ブロックシンボル作成手段５を用いてブロックシンボルを作成し、ステップＳ２において算出したブロックサイズより面積一定な長方形を作成する。
【００２９】
ブロックシンボルの面積は変化しないが、縦横比を変更することで長方形の形状を変化させることが可能であり、一例として、図３のブロック回路において、算出したブロックの面積が６６μｍ２であった場合、ブロックシンボル作成手段５を用いて作成するブロックシンボルは、３３μｍ×２μｍといった場合や、２２μｍ×３μｍなどといった場合のブロックシンボルを作成することができる。
【００３０】
次に、ステップＳ４において、ステップＳ３で作成したブロックシンボルの配置を行う。ブロックシンボル配置手段６を用いてブロックシンボルの配置を行い、図７に示すように、作成した全ブロックについて最適な配置を行う。このステップにおいて、ブロックシンボルの集合であるチップレイアウトの全体的なフロアプランが作成される。ブロックシンボルの配置は、チップ内に全ブロックが収まるように配置を行うとともに、配線分のゆとりを考慮して配線が問題なく行えるように配置を行う。
【００３１】
次に、ステップＳ５において、配置したブロックシンボル間の接続を行う。接続は配線情報付加手段７を用いて行う。ブロックシンボル間の接続を行う際、まず配線幅の指定を行い、接続実行時に配線幅の情報を保存しておく。図８の配線４１に示すように、各ブロックシンボル間を最短距離にて接続するのではなく、実パターンのレイアウトルールや、ピンの位置を考慮し配線を引き回す。
【００３２】
次に、ステップＳ６において、配線パラメータ算出手段９を用いて配線長と配線寄生の算出を行う。ここで、図８に示すように、配線が分岐している分岐点をノード４２と定義する。また、ピン３４からピン３８までを接続する配線４１のように、ピン間を結ぶ配線をネットと定義する。全てのピン及びノードに任意の名前をつけていき、その２点間の配線長をグリッドを数えることによって算出し、ステップＳ５にて付加された配線幅の情報と配線寄生データベースをもとに、配線寄生データを算出していく。
【００３３】
図９に示す例を考えると、ピン３４をpoint１、ピン３８をpoint２、ノード４２をpoint３といった具合に名前をつけていき、point１とpoint２を結ぶ配線４１について考えた場合、配線４１は４５個のグリッド４９があり、１つのグリッド４９あたり１μｍであるため、この配線４１の配線長は４５μｍとなる。
【００３４】
また、配線幅は、配線情報付加手段７においてすでに付加されており、この配線の配線幅が１μｍと定義されていたとすると、図５に示してある配線パラメータデータベースと組み合わせることにより、配線の寄生抵抗４５０Ω、配線の寄生容量４５０ｆＦが算出できる。同様な方法によって、配線４３，４４，４５といった各配線に対しても配線の寄生抵抗，寄生容量を算出していく。このように、各２点間の配線の各寄生抵抗，寄生容量を算出していき、図１０に示してあるような、２点のポイント名５２，５３、配線幅５４、配線長５５、寄生抵抗５６、寄生容量５７といった情報を保存している配線寄生データベース５１を作成する。
【００３５】
次に、ステップＳ７において、回路シミュレーション手段１０を用いて回路のシミュレーションを実行する。ステップＳ５において作成したワンチップ（半導体集積回路）の回路図データと、ステップＳ６により作成した配線寄生データと、解析条件を記憶装置に記憶しておく。回路シミュレーション手段１０により、配線寄生データは、ワンチップの回路図データと結合され、解析条件により回路シミュレーションが行われる。図１１には一例として、回路図データと配線寄生データ（配線抵抗６１，６２と配線容量６３等）を組み合わせた回路のイメージを示している。
【００３６】
ここで、配線の各サブネットに対してＴ字型に抵抗、容量が結合されている。図１１に示すように配線容量６３の両端に、ステップＳ６において計算した寄生抵抗の半分となる抵抗値の配線抵抗６１及び６２が接続される。実行した回路シミュレーションの結果を検討し、要求される仕様を満たすようであれば、次のステップＳ８に進み、マスクレイアウトの設計を行う。仕様を満たさないようであれば、ステップＳ４に戻りシンボルの配置を変更する、またはステップＳ５に戻りシンボル間における配線の修正を行う、またはステップＳ１に戻り各ブロックの設計から見直すといった具合で処理を繰り返す。
【００３７】
次に、ステップＳ８において、マスクレイアウトの設計を行う。ステップＳ７にてワンチップにおける仕様を満たすことを確認した後、ステップＳ５にて作成された回路図をもとに、回路図によって設定した配線の太さを考慮し、回路図のように配線を引き回したマスクレイアウトの設計を行う。
【００３８】
以上のように、本実施の形態の設計方法及び設計装置によれば、半導体集積回路の回路図データから自動的に配線の寄生抵抗，寄生容量の影響を考慮した解析を行い設計することが可能となる。また、従来のように、レイアウト設計を行わずに配線寄生を考慮できるために、回路設計段階にて配線寄生を考慮した設計が可能となる。これにより、レイアウト設計に要する時間を短縮することが可能となる。
【産業上の利用可能性】
【００３９】
本発明に係る半導体集積回路の設計方法及び設計装置は、回路設計時に配線寄生を考慮することによりレイアウト設計におけるマスクレイアウトの修正回数を削減でき、回路設計段階において配線寄生が回路に及ぼす影響をシミュレーションにより確認すること、さらに設計時間を短縮でき、半導体集積回路の回路設計段階に用いて有用である。
【図面の簡単な説明】
【００４０】
【図１】本発明の実施の形態における半導体集積回路の設計装置の概略構成を示すブロック図
【図２】回路図入力装置を説明するための図
【図３】回路設計について説明するための図
【図４】ブロックシンボル作成について説明するための図
【図５】配線パラメータデータベースの例を示す図
【図６】本実施の形態における設計方法を示すフローチャート
【図７】半導体集積回路のブロックシンボルの配置例を示す図
【図８】半導体集積回路の回路例を示す図
【図９】配線長の算出について説明するための図
【図１０】配線寄生データベースの例を示す図
【図１１】回路シミュレーション実行時の等価回路示す図
【符号の説明】
【００４１】
１  回路図入力装置
２  ブロック回路
３  サイズデータ
４  ブロックサイズ算出手段
５  ブロックシンボル作成手段
６  ブロックシンボル配置手段
７  配線情報付加手段
８  配線パラメータデータベース
９  配線パラメータ算出手段
１０  回路シミュレーション手段
１１  出力装置
１２  画面
１３  １辺
２１，２２  抵抗素子
２３，２４  トランジスタ素子
２５，２６，２８，２９  外部端子
２７，３１，３２，３３  ブロックシンボル
３４，３５，３６，３７，３８  ピン
４１，４３，４４，４５  配線（ネット）
４２  ノード
４９  グリッド
５１  配線寄生データベース
５２，５３  ポイント名
５４  配線幅
５５  配線長
５６  寄生抵抗
５７  寄生容量
６１，６２  配線抵抗
６３  配線容量
【図１】
2005267019.tif 000003
【図２】
2005267019.tif 000004
【図３】
2005267019.tif 000005
【図４】
2005267019.tif 000006
【図５】
2005267019.tif 000007
【図６】
2005267019.tif 000008
【図７】
2005267019.tif 000009
【図８】
2005267019.tif 000010
【図９】
2005267019.tif 000011
【図１０】
2005267019.tif 000012
【図１１】
2005267019.tif 000013