説明

半導体集積回路のレイアウト設計方法

【課題】SETUP時間とHOLD時間のどちらも満足させるタイミングの調整が可能な技術を提供する。
【解決手段】半導体集積回路の配置配線レイアウトを決定した後に、所定の信号線を伝搬するデータのタイミング情報に基づいて、タイミング違反を有する違反データの遅延情報を抽出する。その抽出された遅延情報に基づいて、タイミング違反を解消するための追加すべき容量値を算出する。また、違反データを伝搬する配線のレイアウト配置情報に基づいて、違反データを伝搬する配線の近傍の電源容量セルを検出する。また、算出された容量値に基づいて、検出された電源容量セルを、電源容量セルとレイアウト外形・電源/GND配線配置位置が同じ調整容量セルに置き換える。そして、置き換えた調整用容量セルのゲートと違反データを伝搬する配線とを接続して再配線を実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体集積回路の自動レイアウト設計方法に関し、特に、レイアウト配線のタイミング収束に対する自動レイアウト設計方法に関する。
【背景技術】
【0002】
近年、半導体集積回路の分野では、デバイスの高速動作が進み、動作の基準となるクロックに対し、入力するデータの有効時間(以降、Valid幅と称す)は小さくなり、入力データのSETUP、HOLDといったクロックに対するタイミングの制約も厳しくなっている。また、大規模なデバイスの設計を短期間で行う要求が有ることから、セルベースの自動レイアウト設計が一般に行われるようになってきている。
【0003】
高速かつ大規模なデバイスを短期間で設計する自動レイアウトの技術分野では、配線容量負荷とクロックに対する信号のSETUP時間とHOLD時間といったタイミングを自動で補正(調整)できる方法が望まれるようになってきている(例えば、特許文献1参照)。
【0004】
特許文献1(特開2004−86772号公報)には、半導体集積回路の設計を支援する半導体集積回路設計支援装置に関する技術が開示されている。その特許文献1に開示されている技術では、予備で分散配置されるダミーセルを使用して入力波形の傾きを自動的に補正している。特許文献1の記載を参照すると、その半導体集積回路設計支援装置は、被駆動セルへ入力される入力波形の傾きが所定値よりも大きい駆動セルを違反セルとして特定している。また、その半導体集積回路設計支援装置は、回路バグを修正するために設けられたダミーセルを検索する機能を備えている。そして、特定された違反セルと、違反セルによって駆動される被駆動セルと、ダミーセルとの組み合わせによる論理一致処理を実行して、違反セルと被駆動セルとにダミーセルを加えて再配線を実行している。
【0005】
図1A、図1Bは、特許文献1に記載の半導体集積回路設計支援装置の動作を示すフローチャートである。まず、通常セルを配置する(ステップS1)。そして、回路バグが発生したときの修正工数を抑えるための機能リペアセルを配置する(ステップS2)。次にステップS1において配置した通常セル同士を配線する(ステップS3)。その後、各通常セルの遅延情報を抽出する(ステップS4)。そして、被駆動セルへ入力される入力波形の傾き(SLEW)が所定値よりも大きいか否かを判断する(ステップS5)。被駆動セルへ入力される入力波形の傾き(SLEW)が所定値よりも大きくないときは(ステップS5においてYES)、処理を終了する。被駆動セルへ入力される入力波形の傾き(SLEW)が所定値よりも大きいときは(ステップS5においてNO)、SLEWが所定値よりも大きい駆動セルとSLEWが所定値よりも大きい駆動セルによって駆動される被駆動セルとが1対1であるか否かを判断する(ステップS6)。
【0006】
図2は、特許文献1に記載の半導体集積回路設計装置において、ダミーセルを検索する方法を説明する図である。SLEWが所定値よりも大きい駆動セルと被駆動セルとが1対1であると判断されたときは(ステップS6においてYES)、駆動セルと被駆動セルとの間の中間点の座標を算出する(ステップS7)。図2に示す例では、駆動セル105と被駆動セル106との間の中間点114の座標を算出する。
【0007】
そして、駆動セル105と被駆動セル106とを結ぶ線を対角線111とする矩形領域112の中において、中間点114から駆動セル105と被駆動セル106とに向って機能リペアセル107を検索する(ステップS8)。
【0008】
矩形領域112の中に機能リペアセル107が存在しなかったときは(ステップS9においてNO)、矩形領域112を任意の倍率によって拡大する。そして、矩形領域112を囲むように配置された矩形領域113において機能リペアセル110を検索する(ステップS10)。
【0009】
矩形領域112の中に機能リペアセル107が存在したとき(ステップS9においてYES)、または矩形領域113の中に機能リペアセル110が存在したとき(ステップS11においてYES)は、駆動セル105と被駆動セル106とダミーセル検索器によって検索された機能リペアセル107または機能リペアセル110との組み合わせによる論理一致処理を実行する(ステップS12)。そして、駆動セル105と被駆動セル106とに機能リペアセル107または機能リペアセル110を加えて再配線し(ステップS13)、ステップS4へ戻る。
【0010】
特許文献1に記載の技術は、入力波形の傾きが大きい場合の、ダミーセルを使用して波形傾き改善を目的としている。入力波形違反のセル検出と、回路バグ修正用ダミーセルの検索と、ダミーセル使用時の論理一致処理と、ダミーセルを使用再配線とを実行するという特徴を有している。具体的には、図1のフローのステップS6でタイミングNGとなる入力波形違反となるセルを特定し、ステップS7において、図1で示す違反とされたセルの入力配線とつながる出力との間に、ダミーセルの存在と配置位置を検出する。そのダミーセルを使用し論理違反にならないかを検証し、問題なければ出力〜入力の間にダミーセルを加えて再配線を実施する。ダミーセルが存在しなければタイミングリペアセルを追加配置し再配線を実施するという動作をする。
【0011】
換言すると、特許文献1に記載の技術の半導体集積回路設計装置は、第1被駆動セルへ入力される入力波形の傾き(SLEW)が所定値よりも大きい駆動セルを違反セルとして特定する違反セル特定処理と、回路バグを修正するために設けられた第1ダミーセルを検索するダミーセル検索処理とを実行する。また、違反セル特定処理によって特定された違反セルと、その違反セルによって駆動される第1被駆動セルと、ダミーセル検索処理によって検索された第1ダミーセルとの組み合わせによる論理一致処理を実行する。特許文献1に記載の技術は、その違反セルと第1被駆動セルとに第1ダミーセルを加えて再配線する再配線処理を実行することでタイミング調整工数を削減することができる。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開2004−86772号公報
【発明の概要】
【発明が解決しようとする課題】
【0013】
特許文献1に記載の技術では、基準となるクロックに対し、入力するデータを伝送する信号線のValid幅に関し、SETUP特性とHOLD特性を満たす時間が共に厳しい仕様上の制約がある場合、SETUP時間とHOLD時間のタイミングを微調整できない。そのため、SETUP制約とHOLD制約を共に満足できないという問題がある。
【0014】
以下に、その理由を説明する。上述した図1のフローに示されているように、タイミング判定工程(ステップS5)でタイミング制約違反を判定後、入力波形の傾き(SLEW)違反を改善するために、セル(バッファ相当)を挿入する処理(ステップS14)を実施する。しかしながら、セル(バッファ相当)を挿入するだけではタイミングの調整量が大きくなり、HOLD制約TAH違反を回避することが出来ても、SETUP違反を誘発する。
【0015】
図3のタイミングチャートを用いて、特許文献1に記載の半導体集積回路設計装置の動作を説明する。図3の(a)は、特許文献1に記載の技術で、セル(バッファ相当)を挿入する前の動作を示すタイミングチャートである。データA11の有効値となる時間、すなわち、時刻t1〜時刻t3(データA11の変化レベルが1/2となる時間)がValid幅TA1となっている。
【0016】
時刻t4になると、クロックCLKが初期状態の電源レベル(以下、Hレベルと称する)から接地(GND)レベル(以下、Lレベルと称する)となる。データA11のSETUP時間TA1Sは、時刻t4〜時刻t1で示され、
SETUP制約TAS<SETUP時間TA1S
となり、動作仕様を満足する。一方で、データA11のHOLD制約TA1Hは、時刻t3〜時刻t4となり、
HOLD制約TAH>HOLD時間TA1H
となることから、動作仕様を違反していることになる。
【0017】
図3の(b)は、特許文献1に記載の技術で、セル(バッファ相当)を挿入した後の動作を示すタイミングチャートであり、遅延されたデータA12のタイミングを示している。特許文献1に記載の技術では、セル(バッファ相当)による遅延時間の微調整ができないことから、過剰な遅延量が付加される。データA12の有効値(データA12の変化レベル1/2となる時間)は、時刻t1からt5までが遅延されてしまう。
【0018】
したがって、時刻t4でクロックCLKが初期状態のHレベルからLレベルとなると、
データA12のHOLD時間TA2Hは時刻t4〜時刻t7となり、
HOLD制約TAH<HOLD時間TA2H
となることから、動作仕様を満足する。一方でデータA12のSETUP時間TA2Sは、時刻t5〜時刻t4となり、
SETUP制約TAS>SETUP時間TA2S
となることから、動作仕様を違反していることになる。つまり、特許文献1に記載の技術では、クロックCLKに対してSETUP時間とHOLD時間のどちらも満足させるタイミングの調整ができない。
【課題を解決するための手段】
【0019】
上記の課題を解決するために、以下のような半導体集積回路設計支援方法を実行し、半導体集積回路のレイアウトを自動的に最適化する。まず、半導体集積回路の配置配線レイアウトを決定した後に、所定の信号線を伝搬するデータのタイミング情報を判定する。そのタイミング情報に基づいて、タイミング違反を有する違反データの遅延情報を抽出する。その抽出された遅延情報に基づいて、タイミング違反を解消するための追加すべき容量値を算出する。また、違反データを伝搬する配線のレイアウト配置情報に基づいて、違反データを伝搬する配線の近傍の電源容量セルを検出する。また、算出された容量値に基づいて、検出された電源容量セルを、電源容量セルとレイアウト外形・電源/GND配線配置位置が同じ調整容量セルに置き換える。そして、置き換えた調整用容量セルのゲートと違反データを伝搬する配線とを接続して再配線を実行する。
【0020】
また、上述の課題を解決するために、半導体集積回路のレイアウトを自動的に最適化する半導体集積回路設計支援装置に上記の方法を実行させることが好ましい。この場合、半導体集積回路設計支援装置は、配線処理部と、記憶部と、配線判定部と、変更検査部と、変更処理部とを具備することで、半導体集積回路のレイアウト設計とタイミング調整を自動的に行う。
【0021】
また、上記の方法を実行するにあたり、調整容量セルは、矩形の拡散層と、拡散層上に積層されたゲートポリシリと、さらに上層のメタル配線とで構成されていることが好ましい。その拡散層矩形の相対する2辺の中央に、ゲートポリシリを、その2辺を含むように予め設定したチャネル幅で配置する。また、そのゲートポリシリチャネル長に対し片側はメタル配線の端子とコンタクトによって接続し、拡散層上でありかつゲートポリシリの両脇は、GND電位のメタル配線とコンタクトにより接続する。そして、配置したゲートポリシリのチャネル長方向に対し上側に電源電位のメタル配線を予め設定した幅で配置し、下側にGND電位のメタル配線を予め設定した幅で配置する。
【0022】
また、上記の方法を実行するにあたり、調整容量セルは、ゲートポリシリのメタル配線の端子に接続したもう一方の端を、拡散層上にチャネル長を小さくなるように構成したものであることが好ましい。
【発明の効果】
【0023】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、SETUP時間とHOLD時間のどちらも満足させるタイミングの調整が可能になるという効果がある。
【図面の簡単な説明】
【0024】
【図1A】図1Aは、従来の半導体集積回路設計装置の動作を示すフローチャートである。
【図1B】図1Bは、従来の半導体集積回路設計装置の動作を示すフローチャートである。
【図2】図2は、従来の半導体集積回路支援設計装置において、ダミーセルを検索する方法を説明する図である。
【図3】図3は、従来の半導体集積回路設計装置の動作を示すタイミングチャートである。
【図4】図4は、本発明の半導体集積回路装置の自動レイアウト設計支援システム1の構成を例示するブロック図である。
【図5】図5は、自動レイアウト設計支援システム1の構成を概念的に例示するブロック図である。
【図6A】図6Aは、電源容量セルCaのレイアウトを例示する平面図である。
【図6B】図6Bは、調整容量セルCbのレイアウトを例示する平面図である。
【図7】図7は、調整容量セルCbのゲート長GX、GY、GZに対するゲート容量値の対応を例示したテーブルである。
【図8】図8は、本実施形態の自動レイアウト設計支援システム1の動作を例示するフローチャートである。
【図9】図9は、複数の電源容量セルCaが配置された結果を例示するレイアウト図である。
【図10】図10は、配線処理を実施した結果を例示するレイアウト図である。
【図11】図11は、配線処理部F1での処理が終わった段階における設計対象の回路の動作を例示するタイミングチャートである。
【図12】図12は、違反信号検出結果の構成を例示する違反信号検出結果表である。
【図13】図13は、遅延時間算出表の構成を例示するテーブルである。
【図14】図14は、生成された追加容量算出結果表の構成を例示するテーブルである。
【図15】図15は、設計対象の回路にセル検索範囲34が設定された状態を例示する平面図である。
【図16】図16は、検索範囲を自動拡大した状態を例示する平面図である。
【図17】図17は、電源容量セルCaを調整容量セルCbに置換した結果を例示する平面図である。
【図18】図18は、電源容量セルCaを調整容量セルCbに置換した場合の設計対象の回路の動作を例示すタイミングチャートである。
【図19】図19は、従来技術を用いて遅延調整した回路を示す回路図である。
【図20】図20は、本実施形態の自動レイアウト設計支援システム1によって遅延調整した回路を例示する回路図である。
【図21】図21は、論理セルBUFFERiの接続数に応じた遅延時間と、調整容量セルCbi(i=1、2・・・)の接続数に応じた遅延時間とを示すテーブルである。
【図22】図22は、論理セルBUFFERi(i=1、2・・・)と、調整容量セルCbi(i=1、2・・・)の接続数に対する遅延値の変化を示すグラフである。
【図23】図23は、本発明の自動レイアウト設計支援システム1の第2実施形態の動作を例示するフローチャートである。
【図24】図24は、第2実施形態の配線処理部F1の処理を実行した段階のチップレイアウトを例示する平面図である。
【図25】図25は、配線処理部F1の処理が終了した時点での半導体チップCPの動作を例示するタイミングチャートである。
【図26】図26は、検索された電源容量セルCai(i=1,2・・)を調整容量セルCbi(i=1,2・・)へ置換した半導体チップCPの構成を例示する平面図である。
【図27】図27は、置換処理が終了した半導体チップCPの動作を例示するタイミングチャートである。
【発明を実施するための形態】
【0025】
以下、本発明の実施の形態を図面に基づいて説明する。なお、実施の形態を説明するための図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【0026】
[第1実施形態]
図4は本発明を実施するための半導体集積回路装置の自動レイアウト設計支援システム1の構成を例示するブロック図である。自動レイアウト設計支援システム1は、コンピュータ装置2と、サーバ3と、記録媒体4と、ネットワーク5とで構成されている。
【0027】
コンピュータ装置2は、エンジニアリングワークステーションなどの情報処理装置である。サーバ3は、コンピュータ装置2で実行される実行プログラム(アプリケーション)を保持するコンピュータ装置である。サーバ3は、コンピュータ装置2(クライアント)からの要求に応じて、その実行プログラムを提供する。サーバ3は、インターネットなどのネットワーク5を介してコンピュータ装置2に接続されている。
【0028】
サーバ3に備えられている記録媒体4には、コンピュータ装置2に提供される実行プログラムが格納されている。記録媒体4に格納されている実行プログラムは、ネットワーク5を介してコンピュータ装置2にダウンロードされる。ダウンロードされたプログラムは、コンピュータ装置2に備えられた記憶媒体(例えば、ハードディスクやメモリなど)にストアされる。コンピュータ装置2は、そのプログラムに示される手順に基づいて、処理を行う。
【0029】
図5は、本実施形態の自動レイアウト設計支援システム1の構成を概念的に例示するブロック図である。図5に示されるように、自動レイアウト設計支援システム1は、配線処理部F1と、記憶部F2と、配線判定部F3と、変更検査部F4と、変更処理部F5とを備えている。自動レイアウト設計支援システム1は、図5に例示するような半導体集積回路のレイアウト設計支援装置として構成され、タイミング調整を自動で行う機能を提供する。
【0030】
図5に示されているように、配線処理部F1は、論理セル配置部11と、ダミーセル配置部12と、電源容量セル配置部13と、配線部14とを備えている。また記憶部F2は、回路のネットリストD1と、論理セル遅延ライブラリD2と、セルレイアウトライブラリD3と、タイミング制約D4と、タイミング判定結果D51と、追加容量算出結果D52とを、読み出しと書き込みとが可能な状態で保持している。
【0031】
また、変更処理部F5は、容量セルのレイアウトを変更する機能を備えている。図6Aと図6Bは、変更対象の容量セルのレイアウトを例示する平面図である。図6Aは、電源容量セルCaのレイアウトを例示する平面図である。図6Bは、調整容量セルCbのレイアウトを例示する平面図である。本実施形態において、変更処理部F5は、電源容量セルCa、調整容量セルCbを示すデータを備えている。また、変更処理部F5は、自動レイアウト設計支援システム1の処理結果に基づいて、同一セルサイズである両セルの置き換えを行うことができる。
【0032】
図6Aに示されているように、電源容量セルCaは、拡散層21と、その拡散層21の上に積層されたゲートG1と、拡散層21とゲートG1とに電圧を供給するメタル配線(電源VDD、接地GND)とを備えている。そのメタル配線は、半導体製造プロセスの積層方向において、拡散層21とゲートG1を含む層よりも上層に積層されている。また、ゲートG1は、配線23を介してメタル配線に接続されている。
【0033】
ゲートG1の両脇の拡散層21は、ソース・ドレイン領域であり、複数のコンタクトCN1を介してメタル配線(接地GND)に接続されている。ゲートG1は、2つのコンタクトCN1を介してメタル配線(電源VDD)に接続されている。ここで、電源容量セルCaのゲートG1は、通常使用されるゲートに対しチャネル幅、チャネル長は、容量値を確保するため大きく設定されている。
【0034】
図6Bに示されているように、調整容量セルCbのゲートG2は、電源容量セルCaに設けられていたゲートG1と異なる形状で構成されている。また、調整容量セルCbは、電源容量セルCaに設けられていた配線23を有することなく構成されている。さらに、調整容量セルCbのゲートG2は、チャネル長を、ゲート長GX、GY、GZに示されるような長さに変化させることができる。そして、ゲートG2の下層にある拡散層22は、片側4つずつ(両側で8つ)のコンタクトCN2を介して、メタル配線(接地GND)に接続されている。つまり、電源容量セルCaと調整容量セルCbは、同じサイズの外形で構成され、かつ、メタル配線(電源VDD、接地GND)が同じような位置に構成されている。
【0035】
図7は、調整容量セルCbのゲート長GX、GY、GZに対するゲート容量値の対応を例示したテーブルである。例えば、図7に示すように、調整容量セルCbのゲートG2が、ゲート長GX(μm)の場合は、調整容量セルの容量値は5PF設定することが可能となる。また、ゲート長GY(μm)の場合は、調整容量セルの容量値は10PF設定することが可能となる。また、ゲート長GZ(μm)の場合は、調整容量セルの容量値は20PFに設定することが可能となる。尚、ゲート長GX、GY、GZに応じたゲート容量値は、任意に設定できるものとする。さらに、変更処理部F5には、ゲート長GX、GY、GZにした複数の調整容量セルCbi(i=1、2・・・)に関するデータが備えられている。したがって、以下の実施形態の説明においては、複数の調整容量セルCbiを区別する場合、枝番号を付して記載する。
【0036】
以下に、本実施形態の自動レイアウト設計支援システム1の動作について説明を行う。図8は、本実施形態の自動レイアウト設計支援システム1の動作を例示するフローチャートである。ステップSa1において、配線処理部F1は、論理セル配置部11の処理として、使用する論理セルと配線接続の情報を記載した回路のネットリストD1と、論理セルのタイミングの情報を記載した論理セル遅延ライブラリD2と、論理セルのレイアウト図形の情報を記載したセルレイアウトライブラリD3と、レイアウト後に満たすべき回路のタイミングの情報を記載したタイミング制約D4とを入力とすることで、自動レイアウトによる論理セルの配置処理を実施する。
【0037】
次に、ステップSa2において、ダミーセル配置部12の処理として、論理不具合の修正用に用いられるトランジスタで構成された予備素子であるダミーセル配置を行う。次に、ステップSa3において、電源容量セル配置部13の処理として、電源安定用に容量素子で構成された電源容量セルCaの配置を行う。
【0038】
図9は、複数の電源容量セルCaが配置された結果を例示するレイアウト図であり、タイミングの調整前のレイアウトを示している。ステップSa3の処理を終えた段階では、各セル列(SC1、SC2、SC3、SC4)に対して、所定のセルが配置される。例えば、図9の示されているように、セル列SC1には、クロックCLKに基づいて動作する論理セル31が配置されている。また、セル列SC2には、電源容量セルCa1と電源容量セルCa3が配置されている。また、セル列SC3には、電源容量セルCa2が配置されている。そして、セル列SC4には、クロックCLKに基づいて動作する論理セル32が配置されている。
【0039】
図8に戻り、ステップSa4において、配線部の処理としてステップSa1の処理とステップSa2の処理を行うことによって配置された各論理セルに対して、一旦、配線処理を実施する。図10は、配線処理を実施した結果を例示するレイアウト図である。図10を参照すると、論理セル31は、ビアVIA1を介してデータA1を伝送する配線33に接続されている。同様に、論理セル32は、そのビアVIA2を介して配線33に接続されている。これらの接続が完了することによって、配線処理部F1の処理が終了する。
【0040】
次に、配線判定部F3での処理について説明を行う。図8に戻り、ステップSa5において、第1判定処理を実行する。このとき、クロックCLKに対し、配線33でのデータA1(または後述するデータA2)のSETUP制約TASが満足していることを前提に、HOLD制約TAH違反がないかデバイス動作の判定を行う。
【0041】
図11は、配線処理部F1での処理が終わった段階における設計対象の回路の動作を例示するタイミングチャートである。時刻t0までは、クロックCLKは電源電圧レベル(Hレベルと称する)であり、このとき配線33のデータA1はデータ値が不定となっている。
【0042】
時刻t1になると、期待するデータA1の値に至り、データA1の振幅レベルが1/2からHレベルもしくは接地レベル(以下、Lレベルと称する)に確定する。時刻t4になると、クロックCLKはHレベルからLレベルになり、データA1のSETUP時間TA1Sが時刻t4〜時刻t1として確定する。つまり、
SETUP時間TA1S>SETUP制約TAS
となり違反は無しになる。一方で、HOLD時間TA1Hは時刻t4〜時刻t5となり、
HOLD時間TA1H>HOLD制約TAH
となり違反として判定される。第1判定処理であるステップSa5でHOLD制約TAHの違反ありと判定された場合、処理はステップSa6に進む。また、HOLD制約TAH違反がない場合は処理を終了する。
【0043】
なお、第1判定処理であるステップSa5でHOLD制約TAHの違反ありと判定された場合、タイミング判定結果D51には、違反信号検出結果が格納される。図12は、違反信号検出結果の構成を例示する違反信号検出結果表である。違反信号検出結果表は、違反信号線と違反時間とを関連付けたデータを表形式で保持する。図12に示されているように、違反信号線がデータA1の配線であり、違反時間が−0.02psである場合、それらを関連付けたデータが違反信号検出結果として記載される。
【0044】
図8に戻り、ステップSa6において、第2判定処理を実行する。第2判定処理では、論理セルを挿入してもSETUP制約を違反せずに遅延調整可能であるかを判定する。このとき、ステップSa5で得られるデータのValid幅TA1(時刻t1〜時刻t5)と、自動レイアウトで使用する論理セル遅延ライブラリD2から得られる論理セルによる遅延量とを比較して、SETUP制約を違反せずに遅延調整可能であるかを判定する。
【0045】
そして、論理セル挿入ではSETUP制約TASとHOLD制約TAHを満足できないと判定された場合は、処理はステップSa7に進む。ステップSa7において、追加容量算出部は、予め用意されている遅延時間算出表と、ステップSa5で得られた違反信号検出結果表とに基づいて、追加容量算出結果表を生成する。
【0046】
図13は、遅延時間算出表の構成を例示するテーブルである。遅延時間算出表は、違反時間と、追加容量と、遅延時間と、セル名とを関連付けたデータを保持している。図14は、生成された追加容量算出結果表の構成を例示するテーブルである。追加容量算出結果表は、違反信号線と、違反時間と、追加容量とを関連付けたデータを保持している。
【0047】
図8に戻り、ステップSa6において、Valid幅TA1が論理セルの遅延よりも大きく、論理セルの挿入が可能である判定された場合は(ステップSa6においてYes)、処理はステップSa13に進む。ステップSa13では、論理セル挿入を実施し、通常の論理セル追加によるタイミング遅延調整を自動レイアウトにて行う。
【0048】
次に、ステップSa8において、HOLD制約TAH違反となっている信号線経路のトレースを行う。そのトレースした経路から、セル検索範囲を設定し、電源容量セルが検索範囲に存在するか否かを、電源容量セルCaのセル名に基づいて検索する。
【0049】
図15は、設計対象の回路にセル検索範囲34が設定された状態を例示する平面図である。図15を参照すると、配線33は、論理セル31(VIA1)と論理セル32(VIA2)を接続する。その配線33によって伝送されるデータA1において、HOLD制約TAHが違反と判断された場合は、HOLD制約違反のデータA1を伝送する配線33の経路上から、セル検索範囲34を設定する。そして、そのセル検索範囲34に配置されている電源容量セルCa1と電源容量セルCa2を検索する。
【0050】
次に、ステップSa9において、第3判定処理を実行する。第3判定処理では、ステップSa8の検索結果に基づいてセル検索範囲34に電源容量セルが存在するか否かを判定する。セル検索範囲34に電源容量セルが存在しない場合(電源容量セルCa1、電源容量セルCa2がなかった場合)は、処理はステップSa10に進む。ステップSa10において、セル検索範囲拡大部は、論理セル31と論理セル32が配置可能なエリアへと検索範囲を自動拡大する。
【0051】
図16は、検索範囲を自動拡大した状態を例示する平面図である。図15で例示した信号線経路をトレースして得られたセル検索範囲34は、図16に示されているように、セル検索範囲35のような論理セル31と論理セル32が配置可能なエリアへと検索範囲が自動的に拡大されている。セル検索範囲35が設定された後、処理はステップSa8に戻り、セル検索部によって、セル検索範囲35内に配置されている電源容量セルCa3の検索が行われる。
【0052】
ステップSa9において、第3判定処理を実行した結果、接続可能な電源容量セルCaが存在すると判定された場合(ステップSa9においてYes)は、処理はステップSa11に進む。
【0053】
ステップSa11において、第4判定処理が実行される。第4判定処理では、追加容量算出部が、ステップSa7で算出された追加容量の容量値と論理セル遅延ライブラリ内に用意された電源容量セルの容量値とが同等以上かを判定する。その判定の結果、同等以上となっていない場合、処理はステップSa10に進み、再度、セル検索範囲を拡大する処理を実行する。そして、再度、セル検索範囲を拡大した後、ステップSa8へ戻り、同等以上の負荷容量となるまで、自動レイアウトフローを繰り返す。
【0054】
電源容量セルCaの容量値が追加容量算出部のステップSa7で算出された容量値と同等以上となった時点(第4判定処理のステップSa11においてYes)で、処理はステップSa12に進む。ステップSa12において、セル変更部が、追加容量算出結果D52に格納された追加容量分に相当となるように、電源容量セルCaを調整容量セルCbに置換する。
【0055】
尚、電源容量セルCaと調整容量セルCbは外形やサイズが同じであり、また、メタル配線(電源VDD、接地GND)も同じ配置なので、周りの論理セルや信号線などに影響を与えることなく置換可能となる。また、ゲートG2の寸法をGX、GY、GZと変化させることで、複数の異なった容量値を持った調整容量セル(Cb1、Cb2など)を用意することが可能であり、調整する遅延量に合わせたタイミング調整がより細かくできることになる。
【0056】
ステップSa12により電源容量セルCaと調整容量セルCbの置換が終了した後、処理はステップSa14に進む。ステップSa14において、信号線に接続された調整容量セルの情報を使用し、再配線処理によって、HOLDのタイミング違反である信号線の再配線を実施する。
【0057】
再配線の実施後、再びHOLD違反がないか第1判定処理のステップSa5へ戻りHOLD違反がなければ(ステップSa5においてYes)一連の自動レイアウトによるタイミング調整は終了する。
【0058】
図17は、電源容量セルCaを調整容量セルCbに置換した結果を例示する平面図である。図17に示されているように、セル列SC2の調整容量セルCb1が、ビアVIA3を介してデータA2の配線36に接続されている。このレイアウトによって、期待される追加容量の付加が行われる。
【0059】
図18は、電源容量セルCaを調整容量セルCbに置換した場合の設計対象の回路の動作を例示すタイミングチャートである。図18のタイミングチャートに示すように、データA2に遅延が生じることで、時刻t2になると、期待するデータA2の値に至り、データA2の振幅レベルが1/2からHレベルもしくはLレベルに確定する。時刻t4になると、クロックCLKはHレベルからLレベルになり、データA2のSETUP時間TA2Sが時刻t4〜時刻t2として確定する。つまり、
SETUP時間TA2S>SETUP制約TAS
となり違反は無しになる。一方、HOLD時間TA2Hは時刻t4〜時刻t7となり、
HOLD時間TA1H<HOLD制約TAH
となり。違反は無しになる。
【0060】
[比較例]
上述のように、本実施形態の自動レイアウト設計支援システム1は、SETUP時間とHOLD時間のタイミングの微調整を自動的に行うことが可能である。そのため、動作の基準となるクロックに対し、データのSETUP特性とHOLD特性が共に厳しい動作仕様の制約がある場合、論理セルの配置変更や挿入を行うことなく、高速動作するデバイスのSETUP制約とHOLD制約を共に満足することができる。以下では、本願発明の効果に対する理解を容易にするために、従来技術と比較しながら本発明におけるHOLD制約TAH違反のデータA1のタイミングの微調整について説明を行う。
【0061】
図19は、比較例として例示する遅延調整した回路を示す回路図である。図19に示されているように、その回路のフリップフロップFFaに入力されるデータA1の遅延調整は、論理セルBUFFER1、論理セルBUFFER2を用いて行われている。尚、論理セルBUFFER1、論理セルBUFFER2の同一の遅延を有する論理セルとする。
【0062】
図20は、本実施形態の自動レイアウト設計支援システム1によって遅延調整した回路を例示する回路図である。図20に示されているように、その回路のフリップフロップFFaに入力されるデータA1の遅延調整は、調整容量セルCb1、調整容量セルCb2を用いて行われている。尚、調整容量セルCb1、調整容量セルCb2は、同一の遅延を有する容量セルとする。
【0063】
図21は、論理セルBUFFERi(i=1、2・・・)を1つ以上接続した場合の接続数に応じた遅延時間と、本実施形態の調整容量セルCbi(i=1、2・・・)を1つ以上接続した場合の接続数に応じた遅延時間とを示すテーブルである。論理セルBUFFERi(i=1、2・・・)は、1つで200ps、2つで400psの遅延値を持つ。また、調整容量セルCbi(i=1、2・・・)は、1つで20ps、2つで40psの遅延値を持つ。
【0064】
図22は、図21の論理セルBUFFERi(i=1、2・・・)と、調整容量セルCbi(i=1、2・・・)の接続数に対する遅延値の変化を示すグラフである。図22に示されているように、比較例として例示した論理セルBUFFERi(i=1、2・・・)を挿入して遅延調整を行うよりも、本実施形態の調整容量セルCbi(i=1、2・・・)を付加して遅延調整を行う場合の方が、傾きが抑えられている。このグラフの傾きの違いは、本実施形態の自動レイアウト設計支援システム1は、比較例として例示した場合に比べて、より細かい遅延時間の調整を可能であることを示している。
【0065】
[第2実施形態]
以下に、本発明の第2実施形態について説明を行う。以下に説明する第2実施形態の自動レイアウト設計支援システム1は、複数のデータバスのタイミング調整を自動レイアウト設計の中で行うための機能を備えている。図23は、本発明の自動レイアウト設計支援システム1の第2実施形態の動作を例示するフローチャートである。
【0066】
第2実施形態の配線判定部F32は、ステップSb61において、第5判定処理を実行し、敷設された配線がデータバスであるかどうかを判定する。その判定の結果、配線がデータバスであれば、処理はステップSb62に進む。ステップSb62において、複数あるデータバスのValid幅を重ね合わせたWINDOW幅が、SETUP制約、HOLD制約、Valid幅制約を満足しているかどうか判定する。配線判定部F32は、違反する信号名、すなわち補正(調整)を必要とするデータバス名と違反時間とを関連付けた判定結果データを生成し、タイミング判定結果D51へ格納する。その後、変更検査部F42、変更処理部F5は、タイミング判定結果D51のデータバス名と違反時間とに基づいて、第1実施形態と同様な方法で自動レイアウトの処理を実行する。
【0067】
図24は、第2実施形態の自動レイアウト設計支援システム1において、配線処理部F1の処理を実行した段階のチップレイアウトを例示する平面図である。配線処理部F1の処理を行うことで、半導体チップCPに、メモリマクロMCと、フリップフロップFF1と、フリップフロップFF2と、フリップフロップFF3とが配置される。また、メモリマクロMCとフリップフロップFF1との間にはデータバスBU1が設けられる。同様に、メモリマクロMCとフリップフロップFF2との間にはデータバスBU2が設けられ、メモリマクロMCとフリップフロップFF3との間にはデータバスBU3が設けられる。また、データバスBU1には電源容量セルCa10が配置され、データバスBU3には電源容量セルCa13が配置されている。尚、フリップフロップFF1、FF2、FF3はクロックCLKに基づいて動作する。
【0068】
図25は、配線処理部F1の処理が終了した時点での半導体チップCPの動作を例示するタイミングチャートである。Valid幅TB1は、データバスBU1の入力データの振幅が1/2に至る時間を示している。Valid幅TB2は、データバスBU2の入力データの振幅が1/2に至る時間を示している。Valid幅TB3は、データバスBU3の入力データの振幅が1/2に至る時間を示している。
【0069】
図25に示されているように、データバスBU1のValid幅TB1は、時刻t1から時刻t6までの時間である。データバスBU2のValid幅TB2は、時刻t3から時刻t10までの時間である。データバスBU3のValid幅TB3は、時刻t0から時刻t5までの時間である。そして、データバスBU1、データバスBU2、データバスBU3を重ね合わせたデータバスのWINDOW幅TWaは、時刻t3から時刻t5となっている。
【0070】
図25を参照すると、Valid幅TB1、Valid幅TB2、Valid幅TB3を重ね合わせたデータバスのWINDOW幅TWaは、クロックCLKに対するValid幅制約TB(時刻t4〜時刻t6)に対し不足しており、制約を満足できていないことが示されている。Valid幅制約TBとの関係は、
WINDOW幅TWa<Valid幅制約TB
となってしまっている。
【0071】
このとき、データバスBU2のValid幅TB2は、SETUP制約TAS、HOLD制約TAH、Valid幅制約TBを満足している。したがって、変更検査部F42は、データバスBU2のタイミングに近づけるようにタイミングの補正(調整)処理が行われる。
【0072】
そして、変更検査部F42では、図24のデータバスBU1、データバスBU3をトレースして検索範囲を設定し、電源容量セルCai(i=1,2・・)を検索する。検索された電源容量セルCai(i=1,2・・)は、第1実施形態と同じように、電源容量セルの遅延に応じたタイミングの調整容量セルCbi(i=1,2・・)へ置換される。
【0073】
図26は、検索された電源容量セルCai(i=1,2・・)を調整容量セルCbi(i=1,2・・)へ置換した半導体チップCPの構成を例示する平面図である。図26に示されているように、データバスBU1bは調整容量セルCb20に接続され、データバスBU3bは調整容量セルCb21に接続されている。図27は、置換処理が終了した半導体チップCPの動作を例示するタイミングチャートである。図27に示されているように、データバスBU1bのValid幅TB1bは、時刻t2から時刻t9に、データバスBU3bのValid幅TB3bは、時刻t1から時刻t7となりHOLD制約TAHにマージンを持つことになる。それによって、複数のデータバスのVarid幅TB1b、TB2、TB3bを重ね合わせたWINDOW幅TWbも、Valid幅制約TBを満足する。
【0074】
上述したように、第2実施形態では、自動レイアウト設計支援システム1の配線判定部F32が、配線がデータバスであるかどうかを判定している。そして、配線がデータバスであれば、複数あるデータバスのValid幅TB1、TB2、TB3の重ね合わせたWINDOW幅TWaを特定する。そのWINDOW幅TWaがValid幅制約TBより小さいとき、タイミング違反のデータバスにおいて、すでに配置されている電源容量セルと同一の大きさの調整容量セルに自動的に置き換えることでタイミングの補正(微調整)を実行している。このような構成・動作によって、複数のデータバスのSETUP制約TASおよびHOLD制約TAHと、Valid幅制約TBに対するタイミングのマージン確保が可能となり、さらにタイミング違反の対策に伴う、再設計の繰り返しを抑えることができる。
【0075】
以上、本願発明の実施の形態を具体的に説明した。本願発明は上述の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【符号の説明】
【0076】
1…自動レイアウト設計支援システム
2…コンピュータ装置
3…サーバ
4…記録媒体
5…ネットワーク
11…論理セル配置部
12…ダミーセル配置部
13…電源容量セル配置部
14…配線部
21…拡散層
22…拡散層
23…配線
31…論理セル
32…論理セル
33…配線
A1…データ
A2…データ
A11…データ
A12…データ
F1…配線処理部
F2…記憶部
F3…配線判定部
F4…変更検査部
F5…変更処理部
F32…配線判定部
F42…変更検査部
D1…ネットリスト
D2…論理セル遅延ライブラリ
D3…セルレイアウトライブラリ
D4…タイミング制約
D51…タイミング判定結果
D52…追加容量算出結果
CP…半導体チップ
VDD…電源
G1…ゲート
G2…ゲート
CN1…コンタクト
CN2…コンタクト
GX…ゲート長
GY…ゲート長
GZ…ゲート長
GND…接地
CP…半導体チップ
MC…メモリマクロ
Ca…電源容量セル
Ca1…電源容量セル
Ca2…電源容量セル
Ca3…電源容量セル
Cb…調整容量セル
Cb1…調整容量セル
Cb2…調整容量セル
Cbi…調整容量セル
Ca10…電源容量セル
Ca11…電源容量セル
Cb20…調整容量セル
Cb21…調整容量セル
BU1…データバス
BU2…データバス
BU3…データバス
BU1b…データバス
BU2b…データバス
TB1…Valid幅
TB2…Valid幅
TB3…Valid幅
TWa…WINDOW幅
TWb…WINDOW幅
TB…Valid幅制約
TA…Valid幅
TA1S…SETUP時間
TA2S…SETUP時間
TA1H…HOLD時間
TA2H…HOLD時間
TAH…HOLD制約
TAS…SETUP制約
BUFFER1…論理セル
BUFFER2…論理セル
BUFFERi…論理セル
FF1…フリップフロップ
FF2…フリップフロップ
FF3…フリップフロップ
FFa…フリップフロップ
VIA1…ビア
VIA2…ビア
VIA3…ビア
SA1…セル検索範囲
SA2…セル検索範囲
SC1…セル列
SC2…セル列
SC3…セル列
SC4…セル列
CLK…クロック
105…駆動セル
106…被駆動セル
107…リペアセル
110…リペアセル
111…対角線
112…矩形領域
113…矩形領域
114…中間点

【特許請求の範囲】
【請求項1】
半導体集積回路のレイアウトを自動的に最適化する半導体集積回路設計支援方法であって
前記半導体集積回路の配置配線レイアウトを決定した後に、所定の信号線で伝搬されるデータのタイミング情報を判定するステップと、
前記タイミング情報に基づいて、タイミング違反を有する違反データの遅延情報を抽出するステップと、
前記抽出された遅延情報に基づいて、前記タイミング違反を解消するための追加すべき容量値を算出するステップと、
前記違反データを伝搬する配線のレイアウト配置情報に基づいて、前記違反データを伝搬する配線の近傍の電源容量セルを検出するステップと、
前記算出された容量値に基づいて、前記検出された電源容量セルを、前記電源容量セルとレイアウト外形・電源/GND配線配置位置が同じ調整容量セルに置き換えるステップと、
前記置き換えた調整用容量セルのゲートと前記違反データを伝搬する配線とを接続する再配線ステップと、
を具備する
半導体集積回路設計支援方法。
【請求項2】
請求項1に記載の半導体集積回路設計支援方法において、
前記電源容量セルを検出するステップは、さらに、
前記電源容量セルが検出できなかった場合、検査範囲を、前記違反データを伝搬する配線の配置情報に基づいて拡大するステップを具備する
半導体集積回路設計支援方法。
【請求項3】
請求項1または2に記載の半導体集積回路設計支援方法において、さらに、
前記違反データの遅延情報を抽出するステップの後に、前記遅延情報で抽出された遅延値が論理セルでは遅延調整できない値以下かどうかの判定を行うステップ
を具備する
半導体集積回路設計支援方法。
【請求項4】
請求項1から3の何れか一項に記載の半導体集積回路設計支援方法において、
前記違反データの遅延情報を抽出するステップの前に、さらに、
配線された信号線がデータバスかどうかを判断するステップと、
前記データバスのValid幅に基づいて、前記データバスに必要な遅延値を算出するステップと
を具備する半導体集積回路設計支援方法。
【請求項5】
請求項1から4の何れか一項に記載の半導体集積回路設計支援方法において、
前記違反データの遅延情報は、
HOLDタイミング違反があるデータ線のValid幅に基づいた情報である
半導体集積回路設計支援方法。

【図1A】
image rotate

【図1B】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate


【公開番号】特開2013−105249(P2013−105249A)
【公開日】平成25年5月30日(2013.5.30)
【国際特許分類】
【出願番号】特願2011−247481(P2011−247481)
【出願日】平成23年11月11日(2011.11.11)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】