(57)【特許請求の範囲】
【請求項１】
設計対象の半導体集積回路モデルが備えるレジスタモデルにクロック信号を供給するクロック信号線の基準位置から前記レジスタモデルのクロック信号入力端子に至る第１の経路と、前記基準位置から前記レジスタモデルのデータ信号入力端子に至る第２の経路の、配線に関する物理パラメータの差分値に基づいて、バッファ回路モデルと、前記物理パラメータが異なる配線モデルとをそれぞれ有する複数の遅延回路モデルから、第１の遅延回路モデルを選択する選択部と、
選択された前記第１の遅延回路モデルを前記データ信号入力端子に接続されるデータ信号線に配置する配置部と、
を有することを特徴とする回路設計支援装置。
【請求項２】
前記選択部は、さらに前記データ信号入力端子に入力されるデータ信号の前記クロック信号に対する遅延時間に基づいて、前記第１の遅延回路モデルを選択することを特徴とする請求項１記載の回路設計支援装置。
【請求項３】
前記第２の経路は、前記クロック信号線から前記レジスタモデルの前段の他のレジスタモデルを経由して前記レジスタモデルの前記データ信号入力端子に至る経路であることを特徴とする請求項１または２に記載の回路設計支援装置。
【請求項４】
前記物理パラメータと前記複数の遅延回路モデルを識別する情報とが関連づけられて記憶されたテーブルを格納する格納部をさらに有し、
前記選択部は、前記第１の遅延回路モデルを前記テーブルに基づいて選択することを特徴とする請求項１ないし３のいずれかに記載の回路設計支援装置。
【請求項５】
前記配置部は、複数のインバータ回路モデルと前記複数のインバータ回路モデル間を接続する前記物理パラメータの異なる前記配線モデルが複数格納された素子モデル格納部から前記複数のインバータ回路モデルと前記配線モデルを組み合わせて、配置する前記第１の遅延回路モデルを作成することを特徴とする請求項１ないし４のいずれかに記載の回路設計支援装置。
【請求項６】
設計対象の半導体集積回路モデルが備えるレジスタモデルにクロック信号を供給するクロック信号線の基準位置から前記レジスタモデルのクロック信号入力端子に至る第１の経路と、前記基準位置から前記レジスタモデルのデータ信号入力端子に至る第２の経路の、配線に関する物理パラメータの差分値に基づいて、バッファ回路モデルと、前記物理パラメータが異なる配線モデルとをそれぞれ有する複数の遅延回路モデルから、第１の遅延回路モデルを選択し、
選択された前記第１の遅延回路モデルを前記データ信号入力端子に接続されるデータ信号線に配置する、
ことを特徴とする回路設計支援方法。
【請求項７】
複数のインバータ回路モデルと前記複数のインバータ回路モデル間を接続する前記物理パラメータの異なる前記配線モデルが複数格納された素子モデル格納部から前記複数のインバータ回路モデルと前記配線モデルを組み合わせて、配置する前記第１の遅延回路モデルを作成する、ことを特徴とする請求項６記載の回路設計支援方法。
【請求項８】
クロック信号入力端子とデータ信号入力端子とを備えたレジスタと、
前記クロック信号入力端子にクロック信号を供給するクロック信号線の基準位置から前記レジスタのクロック信号入力端子に至る第１の経路の配線と、前記基準位置から前記レジスタのデータ信号入力端子に至る第２の経路の、配線に関する物理パラメータの差分値が等しくなるように調整された配線パターンと、バッファ回路とを備え、前記データ信号入力端子に接続されるデータ信号線に挿入されている遅延回路と、
を有することを特徴とする半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は回路設計支援装置、回路設計支援方法および半導体集積回路に関する。
【背景技術】
【０００２】
近年、半導体集積回路の微細化、高集積化に伴い、半導体集積回路のトランジスタのゲート長およびゲート幅等のばらつき（以下プロセスばらつきという）や、配線長や配線幅等のばらつき（以下配線ばらつきという）による遅延時間の変動が増大している。このため、これら遅延時間のばらつきを検証するタイミング検証の負担の増大を抑制する技術が考えられている。
【０００３】
タイミング検証では、例えば、レジスタ（フリップフロップ）に入力されるデータ信号と、クロック信号とのタイミングがタイミング制約を満たすか否かが検証される。タイミング制約が満たされない場合には、データ信号を伝達するデータパスまたはクロック信号を伝達するクロックパスに、例えば、大きな遅延をもつディレイバッファを挿入することで、遅延時間の調整が行われる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１１０３８０号公報
【特許文献２】特開２００８−２１１３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、ディレイバッファ内の配線は短く、ディレイバッファを挿入したパスと他のパスでは配線ばらつきによる遅延時間の変動に差が出てくる場合がある。そのため、トランジスタのプロセスばらつきと配線ばらつきの関係によっては、レジスタに入力されるデータ信号とクロック信号のタイミングの余裕値（スラック値）が大きく変動してしまい、タイミング制約違反が発生するという問題があった。
【０００６】
本発明はこのような点に鑑みてなされたものであり、半導体集積回路でのタイミング制約違反の発生を抑制する回路設計支援装置、回路設計支援方法および半導体集積回路を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、開示の回路設計支援装置が提供される。この回路設計支援装置は、選択部と配置部とを有している。
選択部は、設計対象の半導体集積回路モデルが備えるレジスタモデルにクロック信号を供給するクロック信号線の基準位置からレジスタモデルのクロック信号入力端子に至る第１の経路と、基準位置からレジスタモデルのデータ信号入力端子に至る第２の経路の、配線に関する物理パラメータの差分値に基づいて、物理パラメータが異なる配線負荷を有する複数の遅延回路モデルから遅延回路モデルを選択する。
【０００８】
配置部は、選択された遅延回路モデルをデータ信号入力端子に接続されるデータ信号線に配置する。
また、上記目的を達成するために、開示の半導体集積回路が提供される。この半導体集積回路は、クロック信号入力端子とデータ信号入力端子とを備えたレジスタと、クロック信号入力端子にクロック信号を供給するクロック信号線の基準位置からレジスタのクロック信号入力端子に至る第１の経路の配線と、基準位置からレジスタのデータ信号入力端子に至る第２の経路の、配線に関する物理パラメータの差分値が等しくなるように調整された配線負荷を備えた遅延回路とを有している。
【発明の効果】
【０００９】
開示の回路設計支援装置、回路設計支援方法および半導体集積回路によれば、半導体集積回路でのタイミング制約違反の発生を抑制できる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施の形態の回路設計支援装置の概要を示す図である。
【図２】第２の実施の形態の回路設計支援装置のハードウェアの一構成例を示す図である。
【図３】回路設計支援装置の機能を示すブロック図である。
【図４】遅延回路ライブラリ格納部に格納されている遅延回路モデルを説明する図である。
【図５】遅延回路ライブラリ格納部に格納されている遅延回路モデルを説明する図である。
【図６】遅延回路ライブラリ格納部に格納されている遅延回路モデルを説明する図である。
【図７】遅延回路ライブラリ格納部に格納された部品モデルを示す図である。
【図８】トランジスタ間に配置する部品の一例を示す図である。
【図９】部品管理テーブルを示す図である。
【図１０】回路設計支援装置の処理を示すフローチャートである。
【図１１】遅延回路モデルの決定処理を示すフローチャートである。
【図１２】遅延回路モデルの決定処理の具体例を示す図である。
【発明を実施するための形態】
【００１１】
以下、実施の形態を、図面を参照して詳細に説明する。
まず、実施の形態の回路設計支援装置について説明し、その後、実施の形態をより具体的に説明する。
【００１２】
＜第１の実施の形態＞
図１は、第１の実施の形態の回路設計支援装置の概要を示す図である。
実施の形態の回路設計支援装置（コンピュータ）１は、タイミング検証時に、設計対象の半導体集積回路のモデル（半導体集積回路モデル）のタイミング制約違反が発生した箇所にタイミング制約違反を回避する遅延回路モデルを配置する機能を有している。実施の形態の回路設計支援装置１は、例えば、格納部１ａと選択部１ｂと配置部１ｃとを有している。
【００１３】
格納部１ａは、配線に関する物理パラメータが異なる配線負荷を有する複数の遅延回路モデルを識別する情報を格納する。配線に関する物理パラメータとしては、例えば、配線長、配線抵抗、配線容量、配線負荷による信号の遅延時間等が挙げられる。図１には、格納部１ａに格納されたテーブル１ａ１を示している。テーブル１ａ１では、一例として配線に関する物理パラメータとして配線長を用いた場合を示している。テーブル１ａ１の配線長の欄には、配線負荷の配線長が格納されている。また、遅延時間の欄には、遅延回路モデルにより発生する遅延時間の値が格納されている。
【００１４】
選択部１ｂは、タイミング制約違反が発生したレジスタモデルにクロック信号を供給するクロック信号線の基準位置から、第１の経路と第２の経路の配線に関する物理パラメータ（本実施の形態では配線長）の差分値を取得する。
【００１５】
第１の経路は、上記基準位置から上記レジスタモデルのデータ信号入力端子に至る経路であり、以下データパスと呼ぶ。第２の経路は、上記基準位置から上記レジスタモデルのクロック信号入力端子に至る経路であり、以下クロックパスと呼ぶ。
【００１６】
差分値は、選択部１ｂが演算により求めてもよいし、図示しない他の装置から取得してもよい。
図１では、レジスタモデル２ａと後段のレジスタモデル２ｂを図示している。クロック信号線およびデータ信号線には、信号のゆがみ（スキュー）を抑制する複数のバッファモデルが挿入されている。
【００１７】
図１におけるデータパスは、クロック信号線の分岐点Ｐ１を基準位置としている。そして、この分岐点Ｐ１から信号の伝達方向、すなわち、バッファモデル３ａ、レジスタモデル２ａ、およびバッファモデル３ｂを経由してレジスタモデル２ｂのデータ信号入力端子に至る経路である。また、図１におけるクロックパスは、分岐点Ｐ１から信号の伝達方向、すなわち、バッファモデル３ｃ、３ｄ、３ｅ、３ｆ、３ｇを経由してレジスタモデル２ｂのクロック信号入力端子に至る経路である。
【００１８】
また、選択部１ｂは、取得したデータパスとクロックパスの配線長および遅延時間に基づいて、複数の遅延回路モデルから遅延回路モデルを選択する。例えば、選択部１ｂは、データパスとクロックパスの配線長の差分に等しい配線長を有し、タイミング制約を満たす遅延時間を有する遅延回路モデルをテーブル１ａ１から選択する。例えば、データパスの配線長とクロックパスの配線長の差が１００μｍであり、タイミング制約を満たすのに足りない時間が１ｎｓである場合、選択部１ｂはテーブル１ａ１を参照し、条件に一致する遅延回路モデルＢが選択される。
【００１９】
配置部１ｃは、選択された遅延回路モデルをレジスタモデル間のデータ信号線に配置する。図１では、配置部１ｃは、遅延回路モデルＢをレジスタモデル２ａとレジスタモデル２ｂ間のデータ信号線に配置する。なお、遅延回路モデルＢは、回路設計支援装置１内の図示しない記憶部に記憶されていてもよいし、図示しない他の装置から読み出して配置するようにしてもよい。
【００２０】
この回路設計支援装置１によれば、選択部１ｂが、テーブル１ａ１を参照することで配置する遅延回路モデルを選択し、配置部１ｃが、選択部１ｂにより選択された遅延回路モデルを配置するようにした。配置する遅延回路モデルは、データパスとクロックパスの配線に関する物理パラメータの差を補償するものであるため、配線ばらつきがデータパスとクロックパスとで同様となる。これにより配線ばらつきによる遅延時間の変動は、両パスで同様となるため、配線ばらつきによるタイミング制約違反の発生を抑制できる。
【００２１】
さらに、選択回路モデルは、データパスとクロックパスの遅延時間に応じて選択されるので、トランジスタのプロセスばらつきと配線ばらつきの両方を考慮した設計を行うことができ、半導体集積回路におけるタイミング制約違反の発生を抑制できる。
【００２２】
なお、選択部１ｂおよび配置部１ｃは、回路設計支援装置１が有するＣＰＵ（Central Processing Unit）が備える機能により実現することができる。また、格納部１ａは、回路設計支援装置１が有するＲＡＭ（Random Access Memory）やハードディスクドライブ（ＨＤＤ:Hard Disk Drive）等が備えるデータ記憶領域により実現することができる。
【００２３】
以下、実施の形態をより具体的に説明する。
＜第２の実施の形態＞
図２は、第２の実施の形態の回路設計支援装置のハードウェアの一構成例を示す図である。
【００２４】
回路設計支援装置１０は、ＣＰＵ１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０８を介してＲＡＭ１０２と複数の周辺機器が接続されている。
ＲＡＭ１０２は、回路設計支援装置１０の主記憶装置として使用される。ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に使用する各種データが格納される。
【００２５】
バス１０８に接続されている周辺機器としては、ハードディスクドライブ１０３、グラフィック処理装置１０４、入力インタフェース１０５、光学ドライブ装置１０６、および通信インタフェース１０７がある。
【００２６】
ハードディスクドライブ１０３は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ハードディスクドライブ１０３は、回路設計支援装置１０の二次記憶装置として使用される。ハードディスクドライブ１０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリ等の半導体記憶装置を使用することもできる。
【００２７】
グラフィック処理装置１０４には、モニタ１０４ａが接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、画像をモニタ１０４ａの画面に表示させる。モニタ１０４ａとしては、ＣＲＴ（Cathode Ray Tube）を用いた液晶表示装置等が挙げられる。
【００２８】
入力インタフェース１０５には、キーボード１０５ａとマウス１０５ｂとが接続されている。入力インタフェース１０５は、キーボード１０５ａやマウス１０５ｂから送られてくる信号をＣＰＵ１０１に送信する。なお、マウス１０５ｂは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボール等が挙げられる。
【００２９】
光学ドライブ装置１０６は、レーザ光等を利用して、光ディスク２００に記録されたデータの読み取りを行う。光ディスク２００は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク２００には、Ｂｌｕ−ｒａｙ（登録商標）、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等が挙げられる。
【００３０】
通信インタフェース１０７は、ネットワーク５０に接続されている。通信インタフェース１０７は、ネットワーク５０を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【００３１】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
このようなハードウェア構成の回路設計支援装置１０内には、以下のような機能が設けられる。
【００３２】
図３は、回路設計支援装置の機能を示すブロック図である。
回路設計支援装置１０は、ネットリスト格納部１１と、ライブラリ格納部１２と、回路遅延計算部１３と、セットアップ、ホールド情報格納部１４と、タイミング検証部１５と、タイミングレポート格納部１６と、遅延回路ライブラリ格納部１７と、テーブル格納部１８と、遅延回路モデル決定部１９とを有している。
【００３３】
ネットリスト格納部１１には、設計対象の半導体集積回路モデルが備える各回路間の論理接続を示すネットリストが格納されている。
ライブラリ格納部１２には、回路や部品のＣＡＤデータのライブラリが格納されている。
【００３４】
回路遅延計算部１３は、ネットリスト格納部１１に格納されているネットリストと、ライブラリ格納部１２に格納されているライブラリとに基づいて、半導体集積回路モデルの遅延を計算する。
【００３５】
セットアップ、ホールド情報格納部１４には、半導体集積回路モデルが備えるレジスタのセットアップ時間およびホールド時間の情報が格納されている。
タイミング検証部１５は、静的タイミング解析（ＳＴＡ：Static Timing Analysis）を実行する。具体的には、セットアップ時間およびホールド時間に基づいて、回路遅延計算部１３により計算された遅延時間がクロック信号とデータ信号の相対関係からタイミング制約違反（タイミング・バイオレーション）を起こすか否かを判断する。そして、検証結果をタイミングレポート格納部１６に格納する。
【００３６】
遅延回路ライブラリ格納部１７には、配線に関する物理パラメータが異なる配線負荷を有する複数種類の遅延回路モデル（バッファ回路モデル）が格納されている。
テーブル格納部１８には、遅延回路モデルの、配線に関する物理パラメータ（配線長、配線抵抗等）等を管理するテーブルが格納されている。
【００３７】
遅延回路モデル決定部１９は、タイミングレポート格納部１６に格納されているタイミングレポートに基づき、タイミング制約違反を起こしたレジスタモデルのデータ信号入力端子に接続されるデータ信号線に遅延回路モデルを配置するか否かを判断する。そして、遅延回路モデルを配置すると判断した場合、遅延回路モデル決定部１９は、遅延回路ライブラリ格納部１７に格納されている遅延回路モデルの中から、半導体集積回路モデルに挿入する遅延回路モデルを決定する。この決定方法については後に詳述する。また、遅延回路モデル決定部１９は、決定した遅延回路モデルを上記のレジスタモデルのデータ信号入力端子に接続されるデータ信号線に配置する。
【００３８】
次に、遅延回路ライブラリ格納部１７に格納されている遅延回路モデルを説明する。
本実施の形態の遅延回路モデルは、予め用意された１種類のトランジスタモデルと、複数の配線モデルが組み合わされたモデルである。なお、トランジスタモデルが複数種用意されていてもよい。
【００３９】
図４〜図６は、遅延回路ライブラリ格納部に格納されている遅延回路モデルを説明する図である。
図４に示す遅延回路２１は、遅延回路モデルにより具現される遅延回路の内部構造を示している。
【００４０】
図４（ａ）は、遅延回路２１の等価回路を示す図である。遅延回路２１は、信号入力端子ＩＮに接続されたインバータＩｎｖ１と、信号出力端子ＯＵＴに接続されたインバータＩｎｖ２とを有している。そして、インバータＩｎｖ１とインバータＩｎｖ２との間には、インバータＩｎｖ１とインバータＩｎｖ２とを最短距離で配線したときに比べて配線の遅延時間が大きくなるような迂回路が設定された配線が生成されている。
【００４１】
図４（ｂ）は、図４（ａ）に示す遅延回路２１を層構造で表した図である。遅延回路２１には、拡散層、ポリシリコン層、第１のメタル層、第２のメタル層がこの順に積層されている。なお、これらの層間に他の層が存在していてもよい。
【００４２】
遅延回路２１は、それぞれが等しい構造をなすトランジスタ２１ａ、２１ｂ、２１ｃ、２１ｄ、２１ｅ、２１ｆを有している。
例えばトランジスタ２１ａは、拡散層に形成されソース、ドレインを構成する拡散領域２１１と、ポリシリコン層に形成されゲート電極を構成するポリシリコン２１２と、第１のメタル層に形成された電極２１３ａ、２１３ｂ、２１３ｃを有している。電極２１３ａには、電源電圧ＶＤＤが供給され、電極２１３ｂには、電圧ＶＳＳが供給される。電極２１３ｃは各トランジスタの拡散領域２１１間を接続している。
【００４３】
また、トランジスタ２１ａのポリシリコン２１２に入力端子ＩＮが接続され、トランジスタ２１ｆの電極２１３ｃに信号出力端子ＯＵＴが接続されている。
また、トランジスタ２１ａの拡散領域２１１と、トランジスタ２１ｆのポリシリコン２１２は、それぞれ図示しないビア（Ｖｉａ）を介して第２のメタル層に形成された配線２１４ａに接続されている。この配線２１４ａは、例えば半導体集積回路モデルに挿入されることによりデータ信号線となるものである。これにより、遅延回路２１は２段のインバータ回路を構成している。このように、図４（ｂ）に示す遅延回路２１は、トランジスタ２１ｂ、２１ｃ、２１ｄ、２１ｅをゲートの遅延時間を増加させるトランジスタとして使用しない例を示している。
【００４４】
配線２１４ａは複数の屈曲部分を有している。なお、配線の形状は、図示した形状に限らず、例えば一部または全部が湾曲していてもよいし、Ｖ字状、Ｕ字状をなしていてもよい。そして、屈曲することにより形成された互いに平行な配線２１４ａ間に、第２のメタル層に形成され配線２１４ａとは接しない電極２１４ｂが挿入されている。電極２１４ｂのうち、一部は第１のメタル層に形成された電極２１３ａを介して電源電圧ＶＤＤに接続されており、他部は第１のメタル層に形成された電極２１３ｂを介して電源電圧ＶＳＳに接続されている。互いに平行な配線２１４ａ間に電極２１４ｂが挿入されることで、遅延回路２１の電気容量を増加させることができる。
【００４５】
また、図４（ｂ）では配線２１４ａは、第２のメタル層にのみ生成された場合を示したが、これに限らず、第１のメタル層等、配線が他の層に跨って生成されていてもよい。
図５に示す遅延回路２２は、トランジスタ２１ａ、２１ｂを有している。トランジスタ２１ａのポリシリコン２１２に入力端子ＩＮが接続され、トランジスタ２１ｂの電極２１３ｃに信号出力端子ＯＵＴが接続されている。遅延回路２２は、トランジスタ２１ａの電極２１３ｃとトランジスタ２１ｂのポリシリコン２１２とが配線２１４ｃを介して互いに接続されている。この配線２１４ｃは、第２のメタル層に形成され、トランジスタ２１ａの電極２１３ｃとトランジスタ２１ｂのポリシリコン２１２とを最短距離で接続する。この配線２１４ｃには、第２のメタル層に形成された配線２１５が接続されている。
【００４６】
配線２１５は、互いに噛み合うように形成された櫛歯状の電極２１５ａ、２１５ｂを有している。電極２１５ｂは、電源電圧ＶＤＤに接続されている。このような構成にすることで、トランジスタ２１ａ、２１ｂを接続する配線の抵抗値を増加させずに容量負荷を増加させることができる。
【００４７】
図６に示す遅延回路２３には、拡散層、ポリシリコン層、第１のメタル層、第２のメタル層、第３のメタル層がこの順に積層されている。なお、これらの層間に他の層が存在していてもよい。
【００４８】
遅延回路２３は、トランジスタ２１ａ、２１ｂ、２１ｃを有している。この遅延回路２３は、トランジスタ２１ａの電極２１３ｃとトランジスタ２１ｂのポリシリコン２１２とが第２のメタル層に形成された配線２１６ａを介して互いに接続されている。また、トランジスタ２１ｂの電極２１３ｃとトランジスタ２１ｃのポリシリコン２１２とが第３のメタル層に形成された配線２１６ｂを介して違いに接続されている。配線２１６ａ、２１６ｂは、それぞれ複数の屈曲部分を有しており、平面視で配線２１６ａ、２１６ｂの少なくとも一部が重なるように形成されている。このような構成にすることで、配線の容量負荷を増加させることができる。
【００４９】
ところで、図４〜図６では、予め組み合わされた遅延回路について説明した。これに限らず、遅延回路ライブラリ格納部１７にそれぞれの遅延回路モデルを構成する部品モデルとして用意されていてもよい。
【００５０】
図７は、遅延回路ライブラリ格納部に格納された部品モデルを示す図である。
図７に示す部品３１は、部品モデルにより具現される回路の内部構造を示している。
部品３１は、基板３０にトランジスタ２１ａ、２１ｆが配置されている。この基板３０のトランジスタ２１ａ、２１ｆ間には、トランジスタ２１ｂ、２１ｃ、２１ｄ、２１ｅや、配線２１４ａ、２１４ｃ、２１５、２１６ａ、２１６ｂや、電極２１４ｂ等を配置することができる。遅延回路モデル決定部１９がトランジスタや配線を選択して配置することで、遅延回路のトランジスタの遅延時間と配線の遅延時間を任意の時間に設定することができる。
【００５１】
図８は、トランジスタ間に配置する部品の一例を示す図である。
図８（ａ）に示す部品３２は、トランジスタ２１ｂ、２１ｃのゲート容量を負荷として利用したものである。例えば部品３２をトランジスタ２１ａ、２１ｆ間に配置し、トランジスタ２１ａの出力をトランジスタ２１ｂ、２１ｃを介してトランジスタ２１ｆに接続することで、単にトランジスタ２１ａの出力がトランジスタ２１ｆにつながる通常のバッファに、トランジスタ２１ｂ、２１ｃのゲート容量を負荷として付け加えたものとなっている。
【００５２】
図８（ｂ）に示す部品３３は、配線２１４ａおよび電極２１４ｂを組み合わせた部品である。この部品３３をトランジスタ２１ａ、２１ｆ間に配置することで、遅延回路２１を作成することができる。
【００５３】
図８（ｃ）に示す部品３４は、配線２１４ａよりも配線長が短い配線２１４ｄと、配線２１４ｄに対応して形成された電極２１４ｅを有している。この部品３４は、部品３３に比べ、配線長、配線抵抗および配線容量が小さい部品である。この部品３４をトランジスタ２１ａ、２１ｆ間に配置することで、遅延回路２１の配線長、配線抵抗および配線容量より小さな配線長、配線抵抗および配線容量を有する遅延回路を作成することができる。
【００５４】
図８（ｄ）に示す部品３５は、トランジスタ２１ｂ、２１ｃ、２１ｄ、２１ｅと配線２１４ａ、２１４ｂとが予め組み合わされた部品である。このように、トランジスタと部品とを予め組み合わせて格納しておいてもよい。
【００５５】
なお、図４〜図８では、それぞれが等しい構造をなすトランジスタ２１ａ〜２１ｆと部品とを組み合わせる例について説明した。しかしこれに限らず、遅延回路ライブラリ格納部にはゲートの遅延時間の異なる複数のトランジスタを格納しておき、これらのトランジスタと部品とを組み合わせるようにしてもよい。
【００５６】
次に、部品管理テーブルの内容を説明する。
図９は、部品管理テーブルを示す図である。
部品管理テーブルＴ１には、遅延回路モデル名、配線長（μｍ）、配線抵抗（Ω）、配線容量（ｆＦ）、配線遅延（ｎｓ）、および遅延時間（ｎｓ）の欄が設けられている。横方向に並べられた情報同士が互いに関連づけられている。
【００５７】
遅延回路モデル名の欄には、遅延回路モデルを識別する名前が設定されている。配線長の欄には、各遅延回路モデルの配線長が設定されている。配線抵抗の欄には、各遅延回路モデルの配線の抵抗値が設定されている。配線容量の欄には、各遅延回路モデルの配線の容量値が設定されている。配線遅延の欄には、各遅延回路モデルの配線による遅延時間が設定されている。遅延時間の欄には、各遅延回路モデルの遅延時間が設定されている。
【００５８】
次に、回路設計支援装置１０の処理を説明する。
図１０は、回路設計支援装置の処理を示すフローチャートである。
［ステップＳ１］  回路遅延計算部１３は、ネットリスト格納部１１に格納されているネットリストと、ライブラリ格納部１２に格納されているライブラリとに基づいて、半導体集積回路モデルの遅延を計算する。その後、ステップＳ２に遷移する。
【００５９】
［ステップＳ２］  タイミング検証部１５は、セットアップ情報およびホールド情報に基づいて、半導体集積回路モデルの静的タイミング解析を行い、回路遅延計算部１３により計算された遅延時間が、クロック信号とデータ信号の相対関係からタイミング制約違反を起こすか否かを判断する。そして、検証結果をタイミングレポート格納部１６に格納する。
【００６０】
［ステップＳ３］  遅延回路モデル決定部１９は、タイミングレポート格納部１６に格納されているレポートにタイミング制約違反（ホールドエラーまたはセットアップエラー）を起こしたレジスタモデルが存在するか否かを判断する。タイミング制約違反を起こしたレジスタモデルが存在する場合（ステップＳ３のＹｅｓ）、ステップＳ４に遷移する。タイミング制約違反を起こしたレジスタモデルが存在しない場合（ステップＳ３のＮｏ）、図１０に示す処理を終了し、テストパターンの検証ステップ等に移行する。
【００６１】
［ステップＳ４］  遅延回路モデル決定部１９は、タイミング制約違反が発生したレジスタモデルを特定する。エラーが発生したレジスタモデルのデータ信号入力端子に接続されるデータ信号線が、遅延回路モデルの挿入箇所となる。その後、ステップＳ５に遷移する。
【００６２】
［ステップＳ５］  遅延回路モデル決定部１９は、遅延回路ライブラリ格納部１７に格納されている遅延回路ライブラリとテーブル格納部１８に格納されている部品管理テーブルＴ１を参照し、挿入する遅延回路モデルを決定する。その後、ステップＳ１に遷移する。
【００６３】
以上で図１０の処理の説明を終了する。
次に、ステップＳ５の遅延回路モデルの決定処理をより詳しく説明する。
図１１は、遅延回路モデルの決定処理を示すフローチャートである。
【００６４】
［ステップＳ５ａ］  遅延回路モデル決定部１９は、クロック信号線のうち、エラーが発生したレジスタモデルの前段のレジスタモデルにクロック信号を供給するクロック信号線の分岐点を特定する。そして、特定した分岐点からエラーが発生したレジスタモデルのクロック信号入力端子に接続されたクロック信号線の長さ（以下、「第１の配線長」と言う）を取得する。その後、ステップＳ５ｂに遷移する。
【００６５】
［ステップＳ５ｂ］  遅延回路モデル決定部１９は、前述した分岐点から前段のレジスタモデルにクロック信号を供給するクロック信号線の長さを取得する。また、前段のレジスタモデルのデータ信号出力端子とタイミング制約違反が発生したレジスタモデルのデータ信号入力端子とを接続するデータ配線の長さを取得する。そして、取得したクロック信号線の長さとデータ配線の長さの和（以下、「第２の配線長」と言う）を取得する。その後、ステップＳ５ｃに遷移する。
【００６６】
［ステップＳ５ｃ］  遅延回路モデル決定部１９は、第１の配線長と第２の配線長の差分を計算する。その後、ステップＳ５ｄに遷移する。
［ステップＳ５ｄ］  遅延回路モデル決定部１９は、タイミング検証によりデータパスとクロックパスの遅延時間を取得する。その後、ステップＳ５ｅに遷移する。
【００６７】
［ステップＳ５ｅ］  遅延回路モデル決定部１９は、部品管理テーブルＴ１を参照する。そして、挿入する遅延回路モデルを決定する。
［ステップＳ５ｆ］  遅延回路モデル決定部１９は、ステップＳ５ｅで決定した遅延回路モデルをタイミング制約違反が発生したレジスタモデルのデータ信号入力端子に接続されるデータ信号線に挿入する。その後、遅延回路モデルの決定処理を終了し、ステップＳ１に遷移する。
【００６８】
以上で図１１の説明を終了する。なお、図１１では、配線長に基づいて遅延回路モデルを選択する例を説明したが、これに限らず、配線抵抗、配線容量、配線の遅延時間またはこれらの組み合わせに基づいて、遅延回路モデルを選択してもよい。この場合も図１１と同様の方法により行うことができる。
【００６９】
次に、挿入する遅延回路モデルの決定処理の具体例を説明する。
図１２は、遅延回路モデルの決定処理の具体例を示す図である。図１２では、タイミング制約違反が発生したレジスタ（フリップフロップ）モデルＦＦ２とレジスタモデルＦＦ２の前段のレジスタモデルＦＦ１を図示している。
【００７０】
遅延回路モデル決定部１９は、第１の配線長を取得する。図１２に示す第１の配線長は、分岐点Ｐ１からバッファモデルＢｕｆ１、Ｂｕｆ２、Ｂｕｆ３、Ｂｕｆ４、Ｂｕｆ５を経由して後段のレジスタモデルＦＦ２のクロック信号入力端子に接続されたクロック信号線の長さである。この第１の配線長は、５００μｍとする。
【００７１】
次に、遅延回路モデル決定部１９は、第２の配線長を取得する。図１２に示す第２の配線長は、分岐点Ｐ１からバッファモデルＢｕｆ６を経由して前段のレジスタモデルＦＦ１のクロック信号入力端子に接続されたクロック信号線の長さと、レジスタモデルＦＦ１のデータ信号出力端子からバッファＢｕｆ７を経由してレジスタモデルＦＦ２のデータ信号入力端子に接続されたデータ配線の長さの和である。この第２の配線長は、４００μｍとする。
【００７２】
次に、遅延回路モデル決定部１９は、第１の配線長５００μｍと第２の配線長４００μｍの差分を計算し、１００μｍを得る。また、遅延回路モデル決定部１９は、タイミング検証によるデータパスに足りない遅延時間１ｎｓを得る。
【００７３】
次に、遅延回路モデル決定部１９は、部品管理テーブルＴ１を参照し、挿入する遅延回路モデルを決定する。本具体例では、配線長１００μｍ、遅延時間１ｎｓに一致する遅延回路モデル名Ｂの遅延回路モデルＤＥＬ１を決定する。そして、決定した遅延回路モデルを遅延回路ライブラリ格納部１７から取り出し、レジスタモデルＦＦ１とレジスタモデルＦＦ２のデータ配線間、例えばバッファモデルＢｕｆ７の出力端子とレジスタモデルＦＦ２のデータ信号入力端子間に挿入する。図１２では、決定した遅延回路モデルＤＥＬ１をバッファモデルＢｕｆ７の出力端子とレジスタモデルＦＦ２のデータ信号入力端子間に挿入する。
【００７４】
なお、本実施の形態では、タイミング解析を行った後に遅延回路モデルを挿入する場合について説明した。しかしこれに限らず、半導体集積回路モデルに部品３１を予め配置した状態でタイミング解析を行い、タイミング解析の解析結果に応じて遅延回路モデル決定部１９が配置する部品３２〜３５を決定し、部品３１に組み合わせるようにしてもよい。
【００７５】
次に、回路設計支援装置１０により遅延回路モデルが挿入された半導体集積回路モデルに従い製造された半導体集積回路を説明する。
半導体集積回路モデルに従い製造された半導体集積回路は、データ信号線に配置された遅延回路を有している。この遅延回路は、第１の経路および第２の経路の配線に関する物理パラメータの差分値（例えば、配線長、配線抵抗、配線容量、配線遅延のうちの少なくとも１つ）が等しくなるように調整された配線負荷を有している。第１の経路は、前段のレジスタおよび後段のレジスタにクロック信号を供給するクロック信号線の基準位置（例えば前述した分岐点Ｐ１に相当する位置）から後段のレジスタのクロック信号入力端子に至る経路である。また、第２の経路は、基準位置から前段のレジスタを経由して後段のレジスタのデータ信号入力端子に至る経路である。
【００７６】
以上述べたように、回路設計支援装置１０によれば、遅延回路モデル決定部１９が、部品管理テーブルＴ１を参照することで挿入する遅延回路モデルを決定し、プロセスの遅延時間のばらつきと配線の遅延時間のばらつきの両方を考慮した遅延回路モデルを挿入するようにした。挿入する遅延回路モデルは、データパスとクロックパスの配線に関する物理パラメータの差を補償するものであるため、配線ばらつきがデータパスとクロックパスとで同様となる。これにより配線ばらつきによる遅延時間の変動は、両パスで同様となるため、配線ばらつきによるタイミング制約違反の発生を抑制できる。
【００７７】
さらに、選択回路モデルは、データパスとクロックパスの遅延時間に応じて選択されるので、トランジスタのプロセスばらつきと配線ばらつきの両方を考慮した設計を行うことができ、半導体集積回路におけるタイミング制約違反の発生を抑制できる。
【００７８】
また、半導体集積回路の集積化が進んできた（例えば９０ｎｍプロセス以降）ことに伴い、トランジスタの温度特性と、配線の温度特性は、より異なる傾向を持つようになってきている。そのため、単にトランジスタのゲート遅延を増加させる目的で遅延回路を挿入するだけでは、温度条件が異なる場合に、回路の動作を許容するマージンが狭まる場合がある。
【００７９】
そこで半導体集積回路の遅延回路にメタル配線による遅延を付加することにより、同じ遅延時間をもつ遅延回路において、異なる温度特性を表現できるようになる。
このように、回路設計支援装置１０によれば、温度特性の調整が可能となる。そのため、半導体集積回路モデルに対し、容易に精度のよいタイミング調整ができるようになる。
【００８０】
なお、回路設計支援装置１０が行った処理が、複数の装置によって分散処理されるようにしてもよい。例えば、１つの装置が、タイミング解析処理までを行ってタイミングレポートを生成しておき、他の装置が、そのタイミングレポートを用いて配置する遅延回路モデルを決定するようにしてもよい。
【００８１】
以上、本発明の回路設計支援装置、回路設計支援方法および半導体集積回路を、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。
【００８２】
また、本発明は、前述した各実施の形態のうちの、任意の２以上の構成（特徴）を組み合わせたものであってもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、回路設計支援装置１、１０が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記憶装置には、ハードディスクドライブ、フレキシブルディスク（ＦＤ）、磁気テープ等が挙げられる。光ディスクには、ＤＶＤ、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ／ＲＷ等が挙げられる。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）等が挙げられる。
【００８３】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００８４】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【００８５】
また、上記の処理機能の少なくとも一部を、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）等の電子回路で実現することもできる。
【００８６】
以上の第１〜第２の実施の形態に関し、さらに以下の付記を開示する。
（付記１）  設計対象の半導体集積回路モデルが備えるレジスタモデルにクロック信号を供給するクロック信号線の基準位置から前記レジスタモデルのクロック信号入力端子に至る第１の経路と、前記基準位置から前記レジスタモデルのデータ信号入力端子に至る第２の経路の、配線に関する物理パラメータの差分値に基づいて、前記物理パラメータが異なる配線負荷を有する複数の遅延回路モデルから遅延回路モデルを選択する選択部と、
選択された前記遅延回路モデルを前記データ信号入力端子に接続されるデータ信号線に配置する配置部と、
を有することを特徴とする回路設計支援装置。
【００８７】
（付記２）  前記選択部は、さらに前記データ信号入力端子に入力されるデータ信号のクロック信号に対する遅延時間に基づいて、前記遅延回路モデルを選択することを特徴とする付記１記載の回路設計支援装置。
【００８８】
（付記３）  前記第２の経路は、前記クロック信号線から前記レジスタモデルの前段のレジスタモデルを経由して前記レジスタモデルのデータ信号入力端子に至る経路であることを特徴とする付記１または２に記載の回路設計支援装置。
【００８９】
（付記４）  前記物理パラメータと前記遅延回路モデルを識別する情報とが関連づけられて記憶されたテーブルを格納する格納部をさらに有し、
前記選択部は、前記遅延回路モデルを前記テーブルに基づいて選択することを特徴とする付記１ないし３のいずれかに記載の回路設計支援装置。
【００９０】
（付記５）  前記配置部は、複数のインバータ回路モデルと前記インバータ回路モデル間を接続する前記物理パラメータの異なる配線モデルが複数格納された素子モデル格納部から前記インバータ回路モデルと前記配線モデルを組み合わせて、配置する前記遅延回路モデルを作成することを特徴とする付記１ないし４のいずれかに記載の回路設計支援装置。
【００９１】
（付記６）  前記配線モデルは、複数の層を跨ぐモデルであることを特徴とする付記５に記載の回路設計支援装置。
（付記７）  設計対象の半導体集積回路モデルが備えるレジスタモデルにクロック信号を供給するクロック信号線の基準位置から前記レジスタモデルのクロック信号入力端子に至る第１の経路と、前記基準位置から前記レジスタモデルのデータ信号入力端子に至る第２の経路の、配線に関する物理パラメータの差分値に基づいて、前記物理パラメータが異なる配線負荷を有する複数の遅延回路モデルから遅延回路モデルを選択し、
選択された前記遅延回路モデルを前記データ信号入力端子に接続されるデータ信号線に配置する、
ことを特徴とする回路設計支援方法。
【００９２】
（付記８）  クロック信号入力端子とデータ信号入力端子とを備えたレジスタと、
前記クロック信号入力端子にクロック信号を供給するクロック信号線の基準位置から前記レジスタのクロック信号入力端子に至る第１の経路の配線と、前記基準位置から前記レジスタのデータ信号入力端子に至る第２の経路の、配線に関する物理パラメータの差分値が等しくなるように調整された配線負荷を備えた遅延回路と、
を有することを特徴とする半導体集積回路。
【００９３】
（付記９）  前記遅延回路は、前記データ信号入力端子に接続されるデータ信号線に挿入されていることを特徴とする付記８記載の半導体集積回路。
【符号の説明】
【００９４】
１、１０  回路設計支援装置
１ａ  格納部
１ａ１  テーブル
１ｂ  選択部
１ｃ  配置部
２ａ、２ｂ、ＦＦ１、ＦＦ２  レジスタモデル
３ａ〜３ｇ  バッファモデル
１１  ネットリスト格納部
１２  ライブラリ格納部
１３  回路遅延計算部
１４  セットアップ、ホールド情報格納部
１５  タイミング検証部
１６  タイミングレポート格納部
１７  遅延回路ライブラリ格納部
１８  テーブル格納部
１９  遅延回路モデル決定部
２１、２２、２３  遅延回路
２１ａ〜２１ｆ  トランジスタ
２１１  拡散領域
２１２  ポリシリコン
２１３ａ、２１３ｂ、２１３ｃ、２１４ｂ、２１４ｅ、２１５ａ、２１５ｂ  電極
２１４ａ、２１４ｃ、２１４ｄ、２１５、２１６ａ、２１６ｂ  配線
ＤＥＬ１  遅延回路モデル
Ｂｕｆ１〜Ｂｕｆ７  バッファ
【図１】
0005668443.tif 000002
【図２】
0005668443.tif 000003
【図３】
0005668443.tif 000004
【図４】
0005668443.tif 000005
【図５】
0005668443.tif 000006
【図６】
0005668443.tif 000007
【図７】
0005668443.tif 000008
【図８】
0005668443.tif 000009
【図９】
0005668443.tif 000010
【図１０】
0005668443.tif 000011
【図１１】
0005668443.tif 000012
【図１２】
0005668443.tif 000013