(57)【要約】【課題】半導体集積回路の設計作業の効率化を図ること。【解決手段】本生成手法では、対象回路のレイアウト領域上に、モニタパス内の複数のＦＦを所定の配置間隔で配置する。そして、対象回路のレイアウト領域上に、対象回路内の回路素子群を配置するとともに、モニタパス内の回路素子群のＦＦを除く残余の回路素子を配置する。このあと、レイアウト上に配置されている回路素子間を配線して、ユーザ回路およびモニタパスを生成する。つぎに、ユーザ回路のＳＴＡを実行し、さらに、モニタパスのＳＴＡを実行する。そして、ユーザ回路のタイミング解析結果Ｒ１とモニタパスのタイミング解析結果Ｒ２とを比較分析して、対象回路内で発生しているタイミングエラーの原因を特定する。【選択図】図１
2011034243.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路情報のタイミングを解析することで半導体集積回路を生成する方法において、
前記半導体回路情報とモニタパス回路情報とに基づいてフロアプランを行って第１データを生成し、
モニタパス位置情報に基づいて第１データ内にモニタパス用ＦＦとモニタパス用回路要素とを配置して第２データを生成し、
前記第２データに基づいて配置または配線を行って第３データを生成し、
前記第３データの前記半導体回路情報に対応するデータに対してタイミング解析を行って第１タイミング解析結果を生成し、
前記第３データのモニタパス回路情報に対応するデータに対してタイミング解析を行って第２タイミング解析結果を生成し、
前記第１タイミング解析結果と前記第２タイミング解析結果とを比較することで前記半導体回路情報を修正して前記半導体集積回路を生成すること
を特徴とする半導体集積回路の生成方法。
【請求項２】
前記モニタパス回路情報は、所定容量を含む前記モニタパス用回路要素がＮ個（Ｎは２以上の整数）縦続して接続されるモニタパス単位を含むこと
を特徴とする請求項１に記載の半導体集積回路の生成方法。
【請求項３】
所定のスルーを有する信号が出力されるように前記モニタパス用回路要素が選択され、
前記モニタパス用回路要素を奇数個含むリングオシレータが発振するときの奇数個が前記Ｎ個とされること
を特徴とする請求項２に記載の半導体集積回路の生成方法。
【請求項４】
前記モニタパス単位間に前記モニタパス用ＦＦが配置されること
を特徴とする請求項２に記載の半導体集積回路の生成方法。
【請求項５】
前記半導体集積回路情報に基づいて指定される回路要素配置可能領域を所定の矩形で区画し、
前記矩形の交点に前記モニタパス用ＦＦが配置され、
前記配置されたモニタパス用ＦＦ間に前記モニタパス用回路要素が配置されること
を特徴とする請求項１乃至請求項４の何れか一に記載の半導体集積回路の生成方法。
【請求項６】
前記モニタパス用回路要素は、インバータと前記インバータに接続される所定容量を含む配線とを含むこと
を特徴とする請求項１乃至請求項５の何れか一に記載の半導体集積回路の生成方法。
【請求項７】
前記半導体集積回路情報に含まれる第１のＦＦの前記第１タイミング解析結果と、前記第１のＦＦの近傍に配置される前記モニタパス用ＦＦの前記第２のタイミング解析結果とが比較されること
を特徴とする請求項１乃至請求項６の何れか一に記載の半導体集積回路の生成方法。
【請求項８】
前記半導体集積回路情報に含まれる第１のＦＦが、前記配置されたモニタパス用ＦＦを中心とした前記所定の矩形範囲内に含まれる場合に、前記第１のＦＦの第１タイミング解析結果と前記配置されたモニタパス用ＦＦの第２タイミング解析結果とが比較されること
を特徴とする請求項５に記載の半導体集積回路の生成方法。
【請求項９】
前記第１タイミング解析結果がタイミングエラーを示し、前記第２タイミング解析結果がタイミングエラーを示していない場合には、前記半導体集積回路情報を修正すること
を特徴とする請求項８に記載の半導体集積回路の生成方法。
【請求項１０】
前記第１タイミング解析結果がタイミングエラーを示し、前記第２タイミング解析結果がタイミングエラーを示しているときは、前記第１データまたは前記第２データを修正すること
を特徴とする請求項８に記載の半導体集積回路の生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の生成方法、および記録媒体に関する。
【背景技術】
【０００２】
一般に、ＬＳＩの開発工程では、対象回路のＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）記述を論理合成して、ゲート・レベルのネットリストを作成する。このあと、対象回路のネットリストを用いて、フロアプラン、配置配線、クロックツリー合成などの工程を経て、対象回路のタイミング解析を実行する。
【０００３】
そして、タイミング違反が検出された場合、バッファリング（バッファ挿入）やサイジング（ゲート・リサイズ）などの最適化を行なう。また、最適化によってタイミング違反が解消しない場合は、上流工程まで遡って、ＲＴＬ記述を変更するなどの対策を行なう必要がある。
【０００４】
従来において、ＬＳＩのレイアウト設計の効率化を図るための技術が開示されている（たとえば、下記特許文献１参照。）。具体的には、たとえば、予めマクロの遅延モデルを作成し、この遅延モデルを用いてトップレベルの遅延計算を行なうことで、設計対象とする機能ブロック内のクロック供給対象のマクロの各々間のクロックスキューを削減する技術がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−１１０７９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来技術では、タイミング違反が検出された場合に、バッファリングやサイジングなどにより解消できる問題なのか、あるいは、ＲＴＬ記述の変更が必要な問題なのかを判断することが難しい。そのため、従来技術では、配置や最適化の手法の組み合わせを変えて複数通りのレイアウトを試行し、各レイアウトでのタイミング解析結果や配線性を確認して問題のないものを選択する必要がある。その結果、タイミング最適化にかかる作業負担および作業時間が増大し、ひいては設計期間の長期化を招くという問題があった。
【０００７】
本発明は、上述した従来技術による問題点を解消するため、半導体集積回路の設計作業の効率化を図ることができる半導体集積回路の生成方法、および記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するため、開示技術は、半導体集積回路情報のタイミングを解析することで半導体集積回路を生成する方法において、前記半導体回路情報とモニタパス回路情報とに基づいてフロアプランを行って第１データを生成し、モニタパス位置情報に基づいて第１データ内にモニタパス用ＦＦとモニタパス用回路要素とを配置して第２データを生成し、前記第２データに基づいて配置または配線を行って第３データを生成し、前記第３データの前記半導体回路情報に対応するデータに対してタイミング解析を行って第１タイミング解析結果を生成し、前記第３データのモニタパス回路情報に対応するデータに対してタイミング解析を行って第２タイミング解析結果を生成し、前記第１タイミング解析結果と前記第２タイミング解析結果とを比較することで前記半導体回路情報を修正して前記半導体集積回路を生成することを要件とする。
【発明の効果】
【０００９】
開示の半導体集積回路の生成方法、および記録媒体によれば、半導体集積回路の設計作業の効率化を図ることができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】本生成手法の一実施例の概要を示す説明図である。
【図２】モニタパスの回路構成を一部抜粋して示す説明図である。
【図３】実施の形態にかかる設計支援装置のハードウェア構成を示すブロック図である。
【図４】設計支援装置の機能的構成を示すブロック図である。
【図５】クロック周期情報の具体例を示す説明図である。
【図６】作成部の機能的構成の一例を示すブロック図である。
【図７−１】モニタパスの作成手順の一例を示す説明図（その１）である。
【図７−２】モニタパスの作成手順の一例を示す説明図（その２）である。
【図８】測定結果テーブルの記憶内容の一例を示す説明図である。
【図９】ＦＦ配置位置情報の具体例を示す説明図（その１）である。
【図１０】ＦＦ配置位置情報の具体例を示す説明図（その２）である。
【図１１】モニタパスの一例を示す説明図（その１）である。
【図１２】モニタパスの一例を示す説明図（その２）である。
【図１３】ユーザ回路のタイミング解析結果の具体例を示す説明図である。
【図１４】モニタパスのタイミング解析結果の具体例を示す説明図である。
【図１５】関連付け結果テーブルの具体例を示す説明図である。
【図１６】タイミング解析結果の比較分析手法の一例を示す説明図である。
【図１７】混雑領域リストの記憶内容の一例を示す説明図である。
【図１８】変更対象リストの記憶内容の一例を示す説明図である。
【図１９】設計支援装置の設計支援処理手順の一例を示すフローチャートである。
【図２０】モニタパス作成処理の具体的処理手順の一例を示すフローチャートである。
【図２１】配置配線処理の具体的処理手順の一例を示すフローチャートである。
【図２２】関連付け処理の具体的処理手順の一例を示すフローチャートである。
【図２３】決定処理の具体的処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して、この発明にかかる半導体集積回路の生成方法、および記録媒体の好適な実施の形態を詳細に説明する。
【００１２】
（本生成手法の一実施例）
まず、本生成手法の一実施例について説明する。図１は、本生成手法の一実施例の概要を示す説明図である。本生成手法では、タイミングエラーの原因を特定するために、対象回路のレイアウト領域上に、元の論理回路とともに検査用のモニタパスを配置配線する。そして、本生成手法では、元の論理回路とモニタパスの各々についてタイミング解析を実行し、それら解析結果を比較分析することで、タイミングエラーの原因を特定してタイミング最適化の効率化を図る。以下、本生成手法の一実施例にかかる一連の手順（１）〜（６）を説明する。
【００１３】
（１）本生成手法では、対象回路のレイアウト領域上に、モニタパスに含まれる複数のフリップフロップ（以下、「ＦＦ」という）を所定の配置間隔で配置する。ここで配置されたＦＦには、以降の配置配線処理において、配置位置が変更されないように変更不能の属性が設定される。なお、所定の配置間隔についての詳細な説明は後述する。
【００１４】
（２）本生成手法では、対象回路のレイアウト領域上に、対象回路に含まれる回路素子群を配置するとともに、モニタパスに含まれる回路素子群のうち配置済みのＦＦを除く残余の回路素子を配置する。ここで、回路素子とは、たとえば、ＦＦ、インバータ、バッファ、ＡＮＤゲート、ＯＲゲートなどのセルである。
【００１５】
（３）本生成手法では、各回路素子間の接続関係に従って、レイアウト上に配置されている回路素子間を配線して、対象回路内の元の論理回路（以下、「ユーザ回路」という）およびモニタパスを生成する。
【００１６】
（４）本生成手法では、対象回路のレイアウト領域上に生成されたユーザ回路のタイミング解析（たとえば、ＳＴＡ：静的遅延解析）を実行する。この結果、ユーザ回路のタイミング解析結果Ｒ１が出力される。なお、ユーザ回路のタイミング解析結果Ｒ１の具体例は図１３を用いて後述する。
【００１７】
（５）本生成手法では、対象回路のレイアウト領域上に生成されたモニタパスのタイミング解析を実行する。この結果、モニタパスのタイミング解析結果Ｒ２が出力される。なお、モニタパスのタイミング解析結果Ｒ２の具体例は図１４を用いて後述する。
【００１８】
（６）本生成手法では、ユーザ回路のタイミング解析結果Ｒ１とモニタパスのタイミング解析結果Ｒ２とを比較分析して、対象回路内で発生しているタイミングエラーの原因を特定する。なお、タイミング解析結果Ｒ１，Ｒ２の比較分析手法についての詳細な説明は図１６を用いて後述する。
【００１９】
以上説明したように、本生成手法では、タイミング解析結果Ｒ１，Ｒ２を比較分析することで、対象回路内で発生しているタイミングエラーの原因を特定し、配線性やタイミング最適化の困難性を判断する。これにより、対象回路に対して、バッファリングやサイジングによる最適化を行なうのか、あるいは、ＲＴＬ記述の変更などの対策が必要なのかを的確に判断できる。
【００２０】
（モニタパスの特性）
つぎに、対象回路に挿入される検査用のモニタパスの特性について説明する。図２は、モニタパスの回路構成を一部抜粋して示す説明図である。図２において、モニタパス２００は、ＦＦ２０１，２０２と、インバータ２０３〜２０５を含む構成である。なお、図２に示すモニタパス２００は、本実施の形態にかかるモニタパスの一例である。
【００２１】
モニタパス２００内のＦＦ２０１，２０２は、配置位置が変更されないように変更不能の属性が設定されて対象回路のレイアウト領域上に配置される（図１中（１））。このため、ＦＦ２０１，２０２の配置位置は、対象回路の配置配線処理（図１中（２）、（３））において変更されない。
【００２２】
一方、モニタパス２００内のインバータ２０３〜２０５は、対象回路の配置配線処理において、ユーザ回路内の回路素子群とともに配置配線される。したがって、モニタパス２００は、論理的には図２中（ａ）のような回路構成となるが、配置密度や配線密度が高い領域では図２中（ｂ）のように配線が迂回したり、バッファ挿入が行なわれる。ここでは、モニタパス２００内に２個のインバータと１個のバッファが挿入されている。
【００２３】
ここで、モニタパス２００内のＦＦ２０１，２０２間の配置間隔は、図２中（ｂ）のように配線の迂回やバッファ挿入が行なわれると、後段のＦＦ２０２でタイミングエラーが発生するように設定される。換言すれば、配線の迂回やバッファ挿入が行なわれない場合は、ＦＦ２０１，２０２間で確実に信号が伝搬される。
【００２４】
本生成手法では、このようなモニタパス２００の特性を利用することで、レイアウト領域上の配線性やタイミング最適化の困難性を判断する。具体的には、たとえば、モニタパス２００内のＦＦ２０２でタイミングエラーが発生すると、ＦＦ２０２近傍の配置密度や配線密度に問題があると判断する。一方、ＦＦ２０２でタイミングエラーが発生していない場合は、ＦＦ２０２近傍の配置密度や配線密度に問題がないと判断する。
【００２５】
なお、ＦＦ２０１，２０２間の配置間隔は、ある程度の配線の迂回やバッファ挿入が行なわれてもタイミングエラーが発生しないように多少のマージン（余裕）を設定可能である。マージンの大きさは、ＦＦ２０１，２０２間の配置間隔を調節することで任意に設定可能である。
【００２６】
（設計支援装置のハードウェア構成）
つぎに、本実施の形態にかかる設計支援装置のハードウェア構成について説明する。図３は、実施の形態にかかる設計支援装置のハードウェア構成を示すブロック図である。図３において、設計支援装置３００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、ＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０３と、磁気ディスクドライブ３０４と、磁気ディスク３０５と、光ディスクドライブ３０６と、光ディスク３０７と、ディスプレイ３０８と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０９と、キーボード３１０と、マウス３１１と、スキャナ３１２と、プリンタ３１３と、を備えている。また、各構成部はバス３２０によってそれぞれ接続されている。
【００２７】
ここで、ＣＰＵ３０１は、設計支援装置３００の全体の制御を司る。ＲＯＭ３０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ３０３は、ＣＰＵ３０１のワークエリアとして使用される。磁気ディスクドライブ３０４は、ＣＰＵ３０１の制御にしたがって磁気ディスク３０５に対するデータのリード／ライトを制御する。磁気ディスク３０５は、磁気ディスクドライブ３０４の制御で書き込まれたデータを記憶する。
【００２８】
光ディスクドライブ３０６は、ＣＰＵ３０１の制御にしたがって光ディスク３０７に対するデータのリード／ライトを制御する。光ディスク３０７は、光ディスクドライブ３０６の制御で書き込まれたデータを記憶したり、光ディスク３０７に記憶されたデータをコンピュータに読み取らせたりする。
【００２９】
ディスプレイ３０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ３０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００３０】
インターフェース（以下、「Ｉ／Ｆ」と略する。）３０９は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク３１４に接続され、このネットワーク３１４を介して他の装置に接続される。そして、Ｉ／Ｆ３０９は、ネットワーク３１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ３０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００３１】
キーボード３１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス３１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００３２】
スキャナ３１２は、画像を光学的に読み取り、設計支援装置３００内に画像データを取り込む。なお、スキャナ３１２は、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ）機能を持たせてもよい。また、プリンタ３１３は、画像データや文書データを印刷する。プリンタ３１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【００３３】
（設計支援装置の機能的構成）
つぎに、設計支援装置３００の機能的構成について説明する。図４は、設計支援装置の機能的構成を示すブロック図である。図４において、設計支援装置３００は、入力部４０１と、作成部４０２と、配置部４０３と、生成部４０４と、取得部４０５と、検出部４０６と、関連付け部４０７と、決定部４０８と、出力部４０９と、を含む構成である。この制御部となる機能（入力部４０１〜出力部４０９）は、具体的には、たとえば、図３に示したＲＯＭ３０２、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、Ｉ／Ｆ３０９により、その機能を実現する。
【００３４】
入力部４０１は、対象回路に関する回路情報の入力を受け付ける機能を有する。ここで、回路情報は、たとえば、対象回路に関するネットリストＮＬ１と図５に示すクロック周期情報５００を含む情報である。ネットリストＮＬ１は、対象回路に含まれる回路素子間（セル間）の接続関係を表わす情報である。クロック周期情報５００は、対象回路内のＦＦを駆動するクロックの周期を表わす情報である。
【００３５】
具体的には、たとえば、入力部４０１が、図３に示したキーボード３１０やマウス３１１を用いたユーザの操作入力により、対象回路に関する回路情報を受け付けてもよく、また、データベースやライブラリからの抽出により取得してもよい。なお、入力された回路情報は、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶領域に記憶される。
【００３６】
図５は、クロック周期情報の具体例を示す説明図である。図５において、クロック周期情報５００は、クロックドメイン名、クロック名、クロック周期およびＦＦ数のフィールド項目を有している。各フィールド項目に情報を設定することで、クロック周期情報５００−１〜５００−３がレコードとして記憶されている。
【００３７】
ここで、クロックドメイン名とは、対象回路内のクロックドメインを識別する名称である。なお、クロックドメインとは、対象回路のうち同一のクロックで動作する同期箇所である。クロック名とは、クロックを識別する名称である。クロック周期とは、各クロックの周期である。ＦＦ数とは、各クロックが駆動しているＦＦの総数である。
【００３８】
クロック周期情報５００−１を例に挙げると、クロックドメインＣＤ１でのクロックｃｋ１のクロック周期はＴ１であり、クロックｃｋ１が駆動しているＦＦ数はｋ１である。ここで、各クロックｃｋ１〜ｃｋ３が駆動しているＦＦ数の大小関係を「ｋ１＞ｋ２＞ｋ３」とすると、対象回路内のクロックｃｋ１〜ｃｋ３のうち、最も多くのＦＦを駆動しているクロックｃｋ１がメインクロックとなる。
【００３９】
作成部４０２は、対象回路に関する回路情報に基づいて、対象回路内のタイミングエラーの原因を特定するために対象回路に挿入される検査用のモニタパスを作成する機能を有する。具体的には、たとえば、作成部４０２が、入力された回路情報に基づいて、ＦＦ配置位置情報（図９，図１０参照）とモニタパスに関するネットリストＮＬ２を作成する。
【００４０】
ここで、ＦＦ配置位置情報は、対象回路のレイアウト領域上でのモニタパスに含まれるＦＦの配置位置を表わす情報である。ネットリストＮＬ２は、モニタパスに含まれる回路素子間の接続関係を表わす情報である。なお、作成された作成結果は、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶領域に記憶される。また、作成部４０２の具体的な処理内容については図６、図７−１および図７−２を用いて後述する。
【００４１】
また、作成部４０２は、半導体回路情報とモニタパス回路情報とに基づいてフロアプランを行って第１データを生成する機能を有する。ここで、半導体回路情報とは、たとえば、対象回路に関するネットリストＮＬ１とクロック周期情報５００を含む情報である。また、モニタパス回路情報とは、モニタパスに関するネットリストＮＬ２とＦＦ配置位置情報（図９，図１０参照）である。
【００４２】
配置部４０３は、モニタパス位置情報に基づいて第１データ内にモニタパス用ＦＦとモニタパス用回路要素とを配置して第２データを生成する機能を有する。ここで、モニタパス位置情報とは、たとえば、ＦＦ配置位置情報（図９，図１０参照）である。具体的には、配置部４０３は、対象回路のレイアウト領域上に、作成されたモニタパスに含まれる複数のＦＦ（モニタパス用ＦＦ）を所定の配置間隔で配置する。より具体的には、たとえば、配置部４０３が、作成されたＦＦ配置位置情報に従って、フロアプランおよび電源配線が終了したレイアウト領域上に、モニタパスに含まれる複数のＦＦを配置する。
【００４３】
レイアウト領域上に配置されたモニタパス内のＦＦには、これ以降の配置配線処理において、配置位置が変更されないように変更不能の属性が設定される。なお、フロアプランとは、Ｉ／Ｏセルやメモリなどのマクロセルをレイアウト領域上に配置する処理である。配置された配置結果は、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶領域に記憶される。
【００４４】
また、配置部４０３は、モニタパスに含まれる回路素子群のうち、配置済みのＦＦを除く残余の回路素子（モニタパス用回路要素）を対象回路のレイアウト領域上に配置する。具体的には、たとえば、配置部４０３が、モニタパスに関するネットリストＮＬ２およびＦＦの配置結果（フロアプラン情報を含む）に基づいて、モニタパスに含まれる残余の回路素子群をレイアウト領域上に配置する。なお、モニタパス内のＦＦを除く残余の回路素子の配置処理は、たとえば、既存の配置配線ツールを利用して実行される。
【００４５】
より具体的には、配置部４０３は、半導体集積回路情報に基づいて指定される回路要素配置可能領域を所定の矩形で区画し、矩形の交点にモニタパス用ＦＦを配置し、配置されたモニタパス用ＦＦ間にモニタパス用回路要素を配置することにしてもよい。なお、半導体集積回路情報とは、たとえば、フロアプランおよび電源配線が終了したレイアウト領域に関する情報である。
【００４６】
また、配置部４０３は、対象回路に含まれる回路素子群をレイアウト領域上に配置する。具体的には、たとえば、配置部４０３が、対象回路に関するネットリストＮＬ１およびフロアプラン情報に基づいて、対象回路に含まれる回路素子群をレイアウト領域上に配置する。なお、対象回路内の回路素子群の配置処理は、たとえば、既存の配置配線ツールを利用して実行される。対象回路内の回路素子群を配置する配置処理と、モニタパス内の回路素子群を配置する配置処理の実行順序は、順不同である。
【００４７】
生成部４０４は、第２データに基づいて第３データを生成する機能を有する。具体的には、生成部４０４は、配置された配置結果に基づいて、レイアウト領域上に配置された回路素子間を配線して、対象回路内の元の論理回路（以下、「ユーザ回路」という）およびモニタパスを生成する。この結果、モニタパスが挿入された挿入後の対象回路に関するレイアウトデータＬＤが生成される。なお、レイアウト領域上の回路素子間の配線処理は、たとえば、既存の配置配線ツールを利用して実行される。また、生成された生成結果は、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶領域に記憶される。
【００４８】
取得部４０５は、第３データの半導体回路情報に対応するデータに対してタイミング解析を行って第１タイミング解析結果を生成する機能を有する。具体的には、取得部４０５は、生成された生成結果に基づいて、ユーザ回路のタイミング解析を実行して、ユーザ回路のタイミング解析結果Ｒ１を取得する機能を有する。具体的には、たとえば、取得部４０５が、レイアウトデータＬＤに基づいて、対象回路内のユーザ回路のＳＴＡ（静的遅延解析）を実行して、ユーザ回路のタイミング解析結果Ｒ１（たとえば、図１３参照）を取得する。
【００４９】
また、取得部４０５は、第３データのモニタパス回路情報に対応するデータに対してタイミング解析を行って第２タイミング解析結果を生成する機能を有する。具体的には、取得部４０５は、生成された生成結果に基づいて、モニタパスのタイミング解析を実行して、モニタパスのタイミング解析結果Ｒ２を取得する機能を有する。具体的には、たとえば、取得部４０５が、レイアウトデータＬＤに基づいて、対象回路内のモニタパスのＳＴＡを実行して、モニタパスのタイミング解析結果Ｒ２（たとえば、図１４参照）を取得する。
【００５０】
なお、ユーザ回路およびモニタパスのタイミング解析は、設計支援装置３００が実行してもよく、また、ネットワーク３１４を介して通信可能な外部のシミュレータを利用して実行することにしてもよい。また、取得された取得結果は、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶領域に記憶される。
【００５１】
検出部４０６は、ユーザ回路内の一のＦＦを検出する機能を有する。具体的には、たとえば、検出部４０６が、レイアウトデータＬＤを参照して、インスタンス名を手掛かりに、ユーザ回路内の回路素子群の中から一のＦＦの配置位置情報を検出する。なお、インスタンス名とは、対象回路内の回路素子を識別する名称である。検出された検出結果は、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶領域に記憶される。
【００５２】
また、検出部４０６は、ユーザ回路内のタイミングエラーが発生している一のＦＦを検出することにしてもよい。具体的には、たとえば、検出部４０６が、ユーザ回路のタイミング解析結果Ｒ１を参照して、タイミングエラーが発生している一のＦＦを検出する。このあと、検出部４０６が、レイアウトデータＬＤを参照して、一のＦＦの配置位置情報を検出する。
【００５３】
さらに、検出部４０６は、検出された一のＦＦの近傍に位置するモニタパス内の他のＦＦを検出する機能を有する。具体的には、たとえば、検出部４０６が、レイアウトデータＬＤを参照して、フリップフロップＩＤを手掛かりに、一のＦＦの近傍に位置するモニタパス内の他のＦＦの配置位置情報を検出する。なお、フリップフロップＩＤとは、モニタパス内のＦＦを識別する名称である。また、検出部４０６の具体的な処理内容については図１３および図１４を用いて後述する。
【００５４】
関連付け部４０７は、ユーザ回路内の一のＦＦのタイミング解析結果と、該一のＦＦの近傍に位置するモニタパス内の他のＦＦのタイミング解析結果とを関連付ける機能を有する。具体的には、たとえば、関連付け部４０７が、検出された検出結果に基づいて、タイミング解析結果Ｒ１，Ｒ２の中から、ユーザ回路内の一のＦＦのタイミング解析結果とモニタパス内の他のＦＦのタイミング解析結果とを特定して関連付ける。なお、関連付けられた関連付け結果は、たとえば、図１５に示す関連付け結果テーブル１５００に記憶される。また、関連付け部４０７の具体的な処理内容については図１３および図１４を用いて後述する。
【００５５】
出力部４０９は、関連付けられた関連付け結果を出力する機能を有する。具体的には、たとえば、出力部４０９が、図１５に示す関連付け結果テーブル１５００を出力してもよい。出力形式としては、たとえば、ディスプレイ３０８への表示、プリンタ３１３への印刷出力、Ｉ／Ｆ３０９による外部装置への送信がある。また、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶領域に記憶することにしてもよい。
【００５６】
決定部４０８は、関連付けられた関連付け結果が、一のＦＦおよび他のＦＦのタイミングエラーを示す場合、一のＦＦの配置位置を混雑領域に決定する機能を有する。ここで、混雑領域とは、対象回路のレイアウト領域上の配置密度や配線密度が高い領域である。
【００５７】
なお、混雑領域に決定された一のＦＦの配置位置（配置位置情報）は、たとえば、図１７に示す混雑領域リスト１７００に記憶される。また、混雑領域を指定する配置位置として、一のＦＦの近傍に位置する回路素子、たとえば、一のＦＦの前段または／および後段の回路素子の配置位置を含むことにしてもよい。
【００５８】
また、出力部４０９は、混雑領域に決定された一のＦＦの配置位置を出力する機能を有する。具体的には、たとえば、出力部４０９が、図１７に示す混雑領域リスト１７００を出力することにしてもよい。
【００５９】
また、配置部４０３は、決定された決定結果に基づいて、ユーザ回路内の回路素子群をレイアウト領域上に配置する機能を有する。具体的には、たとえば、配置部４０３が、既存の配置配線ツールを利用して、一のＦＦ周辺の配置密度や配線密度が改善されるようにユーザ回路内の回路素子群をレイアウト領域上に再配置する。
【００６０】
また、生成部４０４は、レイアウト領域上に配置されたモニタパス内の回路素子群を配線してモニタパスを生成するとともに、レイアウト領域上に再配置された回路素子群を配線して新たな論理回路を生成する。この結果、対象回路内の一のＦＦ周辺の配置配線密度が改善された改善後のレイアウトデータＬＤが生成される。すなわち、配置部４０３、生成部４０４により、上記第１データまたは第２データを修正する。
【００６１】
また、出力部４０９は、生成された生成結果を出力することにしてもよい。具体的には、たとえば、出力部４０９が、対象回路内の一のＦＦ周辺の配置配線密度が改善された改善後のレイアウトデータＬＤを出力する。
【００６２】
また、決定部４０８は、関連付け結果が一のＦＦのタイミングエラーのみを示す場合、ユーザ回路内のパス群のうち一のＦＦを含むパスを回路構成の変更対象に決定する。なお、一のＦＦを含むパスは、たとえば、一のＦＦから前段の回路素子を辿って別のＦＦに辿り着くまでの経路を探索することにより特定される。また、決定された回路構成の変更対象となるパスは、たとえば、図１８に示す変更対象リスト１８００に記憶される。
【００６３】
また、出力部４０９は、決定された回路構成の変更対象となるパスを出力する機能を有する。具体的には、たとえば、出力部４０９が、図１８に示す変更対象リスト１８００を出力することにしてもよい。
【００６４】
（作成部の具体的な処理内容）
つぎに、上記作成部４０２の具体的な処理内容の一例について説明する。図６は、作成部４０２の機能的構成の一例を示すブロック図である。図７−１および図７−２は、モニタパスの作成手順の一例を示す説明図である。図６において、作成部４０２は、容量決定部６０１と、段数決定部６０２と、算出部６０３と、を含む構成である。以下、図７−１および図７−２を参照しながら作成部４０２の各機能部６０１〜６０３を説明する。
【００６５】
ここでは、作成部４０２は、所定容量を含むモニタパス用回路要素がＮ個（Ｎは２以上の整数）縦続して接続されるモニタパス単位を含むモニタパス回路情報（ＦＦ配置位置情報）を作成する。ここで、モニタパス用ＦＦは、モニタパス単位間に配置される。また、モニタパス用回路要素として、所定のスルーを有する信号が出力される回路素子が選択される。さらに、モニタパス用回路要素を奇数個含むリングオシレータが発振するときの奇数個を上記Ｎ個とする。以下、作成部４０２の処理内容を具体的に説明する。
【００６６】
（ｉ）負荷容量Ｃを決定
図６において、容量決定部６０１は、所定の回路素子と該回路素子が駆動可能な最大長の配線に相当する負荷容量Ｃを決定する機能を有する。ここで、駆動とは、配線に対して、論理ゲートなどの出力が論理値を保持するために電流を供給し、常に電圧（論理値）を固定させている状態を表わす。
【００６７】
また、負荷容量とは、たとえば、論理ゲートの出力ピン容量、接続先の論理ゲートの入力ピン容量および論理ゲート同士を接続する配線による容量の総和である。ここでは、モニタパス用回路要素は、インバータと該インバータに接続される所定容量を含む配線とを含むことにする。すなわち、容量決定部６０１が、たとえば、駆動能力が標準のインバータ７１１に対して標準スルーを入力し、標準スルーを出力可能なキャパシタ７１２の最大容量を上記負荷容量Ｃに決定する。
【００６８】
なお、スルーとは、ターゲット電圧Ｖ（信号の最大振幅）に対して、回路素子にかかる電圧がａ％（たとえば、１０％）からｂ％（たとえば、９０％）となるまでの遷移時間である。ここでは、ターゲット電圧Ｖを１．２［Ｖ］とし、スルーを０．２［Ｖ］から１．０［Ｖ］となるまでの遷移時間とし、標準スルーを１．２［ｎｓ］とする。
【００６９】
すなわち、容量決定部６０１が、１．２［ｎｓ］の標準スルーの立ち上がり波形をインバータ７１１に入力し、出力されるスルーを測定する。なお、測定された測定結果は、たとえば、図８に示す測定結果テーブル８００に記憶される。
【００７０】
より具体的には、たとえば、容量決定部６０１が、下記式（１）に含まれるパラメータｓを１，２，…と変化させながら、出力されるスルーを複数回測定する。ただし、Ｃはキャパシタ７１２の負荷容量［ｐｆ］、αは負荷容量［ｐｆ］を示す任意の定数、ｓはパラメータである。
【００７１】
Ｃ＝α×ｓ      ・・・（１）
【００７２】
図８は、測定結果テーブルの記憶内容の一例を示す説明図である。図８において、測定結果テーブル８００は、入力スルー、パラメータｓ、負荷容量および出力スルーのフィールド項目を有する。各フィールド項目に情報を設定することで、測定結果がレコードとして記憶されている。ただし、上記式（１）の定数αの値を１０［ｐｆ］とする。
【００７３】
この場合、容量決定部６０１が、測定結果テーブル８００を参照して、出力スルーが１．２［ｎｓ］以下でパラメータｓが最大の負荷容量（４０［ｐｆ］）を負荷容量Ｃに決定する。この負荷容量Ｃは、インバータ７１１が駆動する最大の配線容量に相当する。なお、決定された負荷容量Ｃは、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶領域に記憶される。
【００７４】
（ｉｉ）段数Ｎを決定
図６において、段数決定部６０２は、ペア７１０を複数段縦続して接続されるリングオシレータ７２０が発信可能なペア７１０の最大段数Ｎを決定する機能を有する。ただし、キャパシタ７１２の容量は、容量決定部６０１によって決定された負荷容量Ｃである。具体的には、たとえば、まず、段数決定部６０２が、ペア７１０をＮ段接続してリングオシレータ７２０を構成する。ただし、Ｎは奇数（Ｎ＝２ｎ＋１、ｎ＝０，１，２，…）である。
【００７５】
このあと、段数決定部６０２が、リングオシレータ７２０の段数Ｎを１，３，…と増加させながら、対象回路のクロック周期Ｔでリングオシレータ７２０が発振可能な最大の段数を段数Ｎに決定する。なお、クロック周期Ｔは、図５に示したクロック周期情報５００から任意に選択可能である。具体的には、たとえば、クロック周期Ｔは、クロック周期情報５００から選ばれたメインクロック、すなわち、クロックｃｋ１のクロック周期Ｔ１である。
【００７６】
また、リングオシレータ７２０の発信の可否は、たとえば、トランジスタレベルのシミュレーションを実行することで確認できる。ただし、上記シミュレーションは、外部のシミュレータを利用して実行することにしてもよい。決定された段数Ｎは、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶領域に記憶される。
【００７７】
（ｉｉｉ）負荷容量Ｃに相当する配線長ｌを算出
図６において、算出部６０３は、負荷容量Ｃに相当する配線長ｌを算出する機能を有する。具体的には、たとえば、算出部６０３が、下記式（２）を用いて、負荷容量Ｃに相当する配線長ｌを算出することができる。ただし、Ｃwireは予め設定された配線層（たとえば、３，４層）の配線の単位長さ当たりの容量［ｐｆ］である。
【００７８】
ｌ＝Ｃ／Ｃwire      ・・・（２）
【００７９】
（ｉｖ）ＦＦ間の配置間隔Ｌを算出
また、算出部６０３は、クロック周期Ｔの時間内にＦＦ間で信号を伝達可能な配置間隔Ｌを算出する機能を有する。具体的には、たとえば、算出部６０３が、下記式（３）を用いて、ＦＦ間の配置間隔Ｌを算出することができる。この配置間隔Ｌは、クロック周期Ｔの時間内にＦＦ間で信号を伝達可能な最大距離に相当する。ただし、ＬはＦＦ間の配置間隔、ｌは負荷容量Ｃに相当する配線長、Ｎはリングオシレータ７２０が発振可能なペア７１０の最大段数である。
【００８０】
Ｌ＝ｌ×Ｎ      ・・・（３）
【００８１】
（ｖ）ＦＦ配置位置情報を作成
作成部４０２は、ＦＦ間の配置間隔Ｌに基づいて、モニタパスに含まれるＦＦの配置位置情報を作成する。具体的には、たとえば、作成部４０２が、配置間隔Ｌを格子幅として対象回路のレイアウト領域（たとえば、コアエリア）を格子状に区切る。そして、作成部４０２が、格子状に区切られた各領域の境界線の交点をＦＦの配置位置として配置位置情報（図９、図１０参照）を作成する。
【００８２】
ただし、対象回路のレイアウト領域上に配置禁止領域が設定されている場合、その配置禁止領域と重なる境界線の交点はＦＦの配置位置対象から除外する。なお、コアエリアとは、レイアウト領域上のＩ／Ｏ領域を除く、スタンダードセルを配置可能な領域である。
【００８３】
また、算出部６０３は、区切られた各領域の境界線の交点数Ｘを算出する。ただし、レイアウト領域上の配置禁止領域と重なる交点は算出対象から除外する。図７−２に示す例では、（Ａ）配置禁止領域がない場合、各領域の交点数Ｘは４９［個］となる。一方（Ｂ）配置禁止領域がある場合、各領域の交点数Ｘは４３［個］となる。算出された交点数Ｘは、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶領域に記憶される。
【００８４】
なお、上述した例では、インバータ７１１とキャパシタ７１２のペア７１０をＮ段縦続して接続されるリングオシレータ７２０を構成することにしたが、これに限らない。たとえば、バッファとキャパシタのペアを（Ｎ−１）段、インバータ７１１とキャパシタ７１２のペア７１０を１段縦続して接続されるリングオシレータを構成してもよい。この場合、バッファと組み合わせるキャパシタの容量は、バッファが駆動可能な最大長の配線に相当する負荷容量となる。すなわち、リングオシレータは、全体として入力の論理否定となるように複数の回路要素をリング状に結合した構成となればよい。
【００８５】
（ｖｉ）モニタパスを作成
作成部４０２は、算出された交点数ＸのＦＦを含み、各ＦＦ間にＮ段のインバータ７１１を含むモニタパスに関するネットリストＮＬ２を作成する。なお、作成されたネットリストＮＬ２は、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶領域に記憶される。
【００８６】
（ＦＦ配置位置情報の具体例）
つぎに、モニタパスに含まれるＦＦのレイアウト領域上での配置位置を表わすＦＦ配置位置情報について説明する。まず、対象回路のレイアウト領域上に配線禁止領域が設定されていない場合のＦＦ配置位置情報について説明する。図９は、ＦＦ配置位置情報の具体例を示す説明図（その１）である。
【００８７】
図９において、ＦＦ配置位置情報９００は、フリップフロップＩＤおよび交点ＩＤのフィールド項目を有する。各フィールド項目に情報を設定することで、モニタパスに含まれるＦＦごとの配置位置がレコードとして記憶されている。フリップフロップＩＤとは、モニタパスに含まれるＦＦを識別する識別子である。
【００８８】
交点ＩＤとは、対象回路のレイアウト領域上で区切られた各領域の境界線の交点を識別する識別子である。ここでは、レイアウト領域上の各交点に、右回りの渦巻き状に交点ＩＤが昇順に付与されている。なお、各交点ＩＤには、対象回路のレイアウト領域上での位置を特定するための位置情報が関連付けられている。
【００８９】
つぎに、対象回路のレイアウト領域上に配線禁止領域が設定されている場合のＦＦ配置位置情報について説明する。図１０は、ＦＦ配置位置情報の具体例を示す説明図（その２）である。ＦＦ配置位置情報１０００では、対象回路のレイアウト領域上の交点Ｋ１〜Ｋ４９のうち、配置禁止領域１０１０と重なる交点Ｋ２７〜Ｋ３０，Ｋ４２，Ｋ４３がＦＦの配置位置対象から除外されている。
【００９０】
（モニタパスの一例）
ここで、モニタパスの一例を説明する。まず、図９に示したＦＦ配置位置情報９００に従って、対象回路のレイアウト領域上にＦＦ１〜ＦＦ４９が配置された場合のモニタパスについて説明する。図１１は、モニタパスの一例を示す説明図（その１）である。図１１において、始点となるＦＦ１から終点となるＦＦ４９に辿り着くまでのモニタパスＭＰ１が表示されている。
【００９１】
つぎに、図１０に示したＦＦ配置位置情報１０００に従って、対象回路のレイアウト領域上にＦＦ１〜ＦＦ４３が配置された場合のモニタパスについて説明する。図１２は、モニタパスの一例を示す説明図（その２）である。図１２において、始点となるＦＦ１から終点となるＦＦ４０に辿り着くまでのモニタパスＭＰ２と、始点となるＦＦ４１から終点となるＦＦ４３に辿り着くまでのモニタパスＭＰ３が表示されている。
【００９２】
なお、モニタパスの生成手法は、任意であり、たとえば、既存の探索アルゴリズムを利用して、ＦＦ配置位置情報に示す全交点を通過する経路を探索することでモニタパスを生成する。また、１本のモニタパスで全交点を通過できない場合は、図１２に示すように複数のモニタパスを生成することにしてもよい。
【００９３】
ここで、モニタパス内のＦＦは、対象回路内で発生するタイミングエラーの検査ポイントとなる。また、モニタパス内のＦＦ間の配置間隔を変更することで、検証ポイントの数を調節することができる。具体的には、たとえば、図７−１に示した（ｉ）において負荷容量Ｃを決定する際に、駆動能力が標準より高いインバータ７１１を用いる場合、上述した例に比べて検証ポイントは少なくなる。一方、駆動能力が標準より低いインバータ７１１を用いる場合、上述した例に比べて検証ポイントは多くなる。
【００９４】
（ユーザ回路のタイミング解析結果）
つぎに、ユーザ回路のタイミング解析結果Ｒ１について説明する。図１３は、ユーザ回路のタイミング解析結果の具体例を示す説明図である。図１３において、タイミング解析結果Ｒ１は、インスタンス名、配置位置、セットアップスラックおよび異常フラグのフィールド項目を有する。各フィールド項目に情報を設定することで、ユーザ回路内のＦＦごとのタイミング解析結果１３００−１〜１３００−ｍがレコードとして記憶されている。
【００９５】
インスタンス名とは、対象回路内のＦＦを識別する名称である。配置位置は、対象回路のレイアウト上でのＦＦの配置位置を特定する配置位置情報である。ここでは、交点Ｋ１〜Ｋ４９を中心とする正方形（図１３中、点線）の領域（以下、「正方領域」という）により配置位置を特定する。具体的には、図１３に示すＸ軸およびＹ軸に沿って羅列された数字の組み合わせにより、正方形の各領域の配置位置を特定する。なお、正方形の１辺の長さはＦＦ間の配置間隔Ｌである。
【００９６】
セットアップスラックとは、ＦＦでのクロック・エッジの前にデータが変化しなければならない時間（あるいは、変化してはいけない時間）と、実際にデータが変化した時間との時間間隔である。この時間間隔（絶対値）が所定のしきい値以上となると、ＦＦでタイミングエラーが発生する。なお、所定のしきい値はＦＦごとに予め定義されている。ここでは、所定のしきい値は８０［ｐｓ］とする。
【００９７】
異常フラグは、タイミングエラーの発生の有無を示すフラグである。ここでは、ＦＦでタイミングエラーが発生していない場合は「ｍｅｔ」が設定され、ＦＦでタイミングエラーが発生している場合は「ｖｉｏ」が設定される。ここで、インスタンス名が『ｆｆ５』のＦＦを例に挙げると、配置位置は（５，４）である。また、セットアップスラックは『−１１３［ｐｓ］』であり、所定のしきい値以上となるため、異常フラグに『ｖｉｏ』が設定されている。
【００９８】
（モニタパスのタイミング解析結果）
つぎに、モニタパスのタイミング解析結果Ｒ２の具体例について説明する。ここでは、図１１に示したモニタパスＭＰ１を例に挙げて、タイミング解析結果Ｒ２の具体例について説明する。
【００９９】
図１４は、モニタパスのタイミング解析結果の具体例を示す説明図である。図１４において、タイミング解析結果Ｒ２は、フリップフロップＩＤ、配置位置、セットアップスラックおよび異常フラグのフィールド項目を有する。各フィールド項目に情報を設定することで、モニタパス内のＦＦごとのタイミング解析結果１４００−１〜１４００−４９がレコードとして記憶されている。
【０１００】
ここで、フリップフロップＩＤが『ＦＦ２７』のＦＦを例に挙げると、配置位置は（５，３）である。また、セットアップスラックは『−３２５［ｐｓ］』であり、所定のしきい値以上となるため、異常フラグに『ｖｉｏ』が設定されている。
【０１０１】
（検出部、関連付け部の具体的な処理内容）
つぎに、上記検出部４０６、関連付け部４０７の具体的な処理内容の一例について説明する。ここでは、ユーザ回路内のタイミングエラーが発生している一のＦＦの解析結果と、該一のＦＦの近傍に位置するモニタパス内の他のＦＦの解析結果とを関連付ける場合を例に挙げて説明する。
【０１０２】
まず、検出部４０６が、ユーザ回路のタイミング解析結果Ｒ１を参照して、タイミングエラーが発生している一のＦＦを検出する。具体的には、たとえば、検出部４０６が、異常フラグが『ｖｉｏ』のｆｆ４を検出する。このあと、検出部４０６が、ｆｆ４の最近傍に位置するモニタパスＭＰ１内の他のＦＦを検出する。具体的には、たとえば、検出部４０６が、ｆｆ４の配置位置（５，３）を参照して、ｆｆ４と同一の正方領域に位置するモニタパスＭＰ１内のＦＦ２７を検出する。なお、正方領域とは、回路要素配置可能領域を所定の矩形で区画した各矩形範囲である。
【０１０３】
関連付け部４０７が、タイミング解析結果Ｒ１，Ｒ２を参照して、ユーザ回路内のｆｆ４のタイミング解析結果とモニタパスＭＰ１内のＦＦ２７のタイミング解析結果とを関連付ける。関連付けられた関連付け結果は、たとえば、図１５に示す関連付け結果テーブル１５００に記憶される。
【０１０４】
（関連付け結果テーブルの具体例）
ここで、関連付け結果テーブル１５００について説明する。図１５は、関連付け結果テーブルの具体例を示す説明図である。図１５において、関連付け結果テーブル１５００は、インスタンス名、フリップフロップＩＤ、配置位置、セットアップスラックおよび異常フラグのフィールド項目を有する。
【０１０５】
また、「異常フラグ」項目は、ユーザ回路およびモニタパスのサブフィールド項目を有する。各フィールド項目に情報を設定することで、関連付け結果１５００−１〜１５００−３がレコードとして記憶されている。
【０１０６】
インスタンス名は、ユーザ回路内の一のＦＦを識別する名称である。フリップフロップＩＤは、一のＦＦの近傍に位置するモニタパスＭＰ１内の他のＦＦを識別する識別子である。配置位置は、一のＦＦの対象回路のレイアウト領域上での配置位置である。セットアップスラックは、一のＦＦのセットアップスラックである。
【０１０７】
（比較分析手法）
つぎに、ユーザ回路のタイミング解析結果Ｒ１とモニタパスのタイミング解析結果Ｒ２との比較分析手法について説明する。図１６は、タイミング解析結果の比較分析手法の一例を示す説明図である。この比較分析は、第１タイミング解析結果と第２タイミング解析結果とを比較することで半導体回路情報を修正して半導体集積回路を生成するために行なわれる。なお、ここでの半導体集積回路とは、たとえば、混雑度が改善された改善後のレイアウトデータＬＤや、ＲＴＬ記述が修正された修正後のレイアウトデータＬＤである。
【０１０８】
図１６において、比較分析表１６００には、ユーザ回路内の一のＦＦのタイミング解析結果（ｖｉｏ）と、モニタパス内の他のＦＦのタイミング解析結果（ｖｉｏまたはｍｅｔ）の組み合わせごとに、タイミングエラーが発生した場合の対処方法が示されている。なお、モニタパス内の他のＦＦは、ユーザ回路内の一のＦＦの近傍に位置するＦＦである。
【０１０９】
具体的には、ユーザ回路内の一のＦＦでタイミングエラーが発生し、モニタパス内の他のＦＦでタイミングエラーが発生していない場合は（ｖｉｏ／ｍｅｔ）、一のＦＦ周辺の配置密度や配線密度に問題がなく、ユーザ回路の回路構成に問題があるとする。そのため、タイミングエラーが発生している一のＦＦを含むパスをＲＴＬ記述の修正対象とする。
【０１１０】
一方、ユーザ回路内の一のＦＦでタイミングエラーが発生するとともに、モニタパス内の他のＦＦでタイミングエラーが発生している場合は（ｖｉｏ／ｖｉｏ）、一のＦＦ周辺の配置密度や配線密度が高いためにタイミングエラーが発生しているとする。
【０１１１】
すなわち、設計者は、たとえば、関連付け結果１５００−１によれば、ユーザ回路内のｆｆ４でタイミングエラーが発生し、かつ、モニタパスＭＰ１内のＦＦ２７でタイミングエラーが発生しているため、ｆｆ４周辺の配置密度や配線密度が高いと判断できる。
【０１１２】
また、設計者は、たとえば、関連付け結果１５００−２によれば、ユーザ回路内のｆｆ５でのみタイミングエラーが発生しているため、ｆｆ５周辺の配置密度や配線密度に問題がなく、ユーザ回路の回路構成に問題があると判断できる。
【０１１３】
また、設計者は、たとえば、関連付け結果１５００−３によれば、ユーザ回路内のｆｆ６でタイミングエラーが発生し、かつ、モニタパスＭＰ１内のＦＦ２９でタイミングエラーが発生しているため、ｆｆ６周辺の配置密度や配線密度が高いと判断できる。
【０１１４】
ここで、比較分析表１６００に基づく決定部４０８の具体的な処理内容について説明する。決定部４０８は、たとえば、関連付け結果テーブル１５００を参照して、関連付け結果が一のＦＦおよび他のＦＦのタイミングエラーを示す場合、一のＦＦの配置位置を混雑領域に決定する。ここで、決定結果を記憶する混雑領域リスト１７００について説明する。
【０１１５】
図１７は、混雑領域リストの記憶内容の一例を示す説明図である。図１７において、混雑領域リスト１７００は、インスタンス名、配置位置およびセットアップスラックのフィールド項目を有する。各フィールド項目に情報を設定することで、混雑領域に関する情報がレコードとして記憶されている。
【０１１６】
インスタンス名は、タイミングエラーが発生している一のＦＦを識別するための名称である。配置位置は、一のＦＦの対象回路のレイアウト領域上での配置位置である。セットアップスラックは、一のＦＦのセットアップスラックである。混雑領域リスト１７００によれば、設計者は、対象回路のレイアウト領域上の配置配線密度が高い混雑領域を特定することができる。この場合、設計者は、たとえば、配置配線密度が高い混雑領域を配置配線ツール（上記配置部４０３、生成部４０４に相当）に指定して、対象回路内の一のＦＦ周辺の配置配線密度が改善された改善後のレイアウトデータＬＤを生成することになる。
【０１１７】
決定部４０８は、関連付け結果テーブル１５００を参照して、関連付け結果が一のＦＦのタイミングエラーのみを示す場合、一のＦＦを含むパスを回路構成の変更対象に決定する。ここで、決定結果を記憶する変更対象リスト１８００について説明する。
【０１１８】
図１８は、変更対象リストの記憶内容の一例を示す説明図である。図１８において、変更対象リスト１８００は、パス名、インスタンス名、配置位置およびセットアップスラックのフィールド項目を有する。各フィールド項目に情報を設定することで、回路構成の変更対象に関する情報がレコードとして記憶されている。
【０１１９】
パス名は、タイミングエラーが発生している一のＦＦを含むパスの名称である。インスタンス名は、一のＦＦを識別するための名称である。配置位置は、一のＦＦの対象回路のレイアウト領域上での配置位置である。セットアップスラックは、一のＦＦのセットアップスラックである。変更対象リスト１８００によれば、設計者は、対象回路内のパス群のうち回路構成の変更対象となるパスを特定することができる。この場合、設計者は、変更対象リスト１８００から特定される回路構成の変更対象となるパスに関するＲＴＬ記述を修正することになる。
【０１２０】
（設計支援装置の設計支援処理手順）
つぎに、本実施の形態にかかる設計支援装置３００の設計支援処理手順について説明する。図１９は、設計支援装置の設計支援処理手順の一例を示すフローチャートである。図１９のフローチャートにおいて、まず、入力部４０１により、対象回路に関する回路情報の入力を受け付けたか否かを判断する（ステップＳ１９０１）。
【０１２１】
ここで、回路情報の入力を待って（ステップＳ１９０１：Ｎｏ）、入力を受け付けた場合（ステップＳ１９０１：Ｙｅｓ）、作成部４０２により、入力された回路情報に基づいて、モニタパスを作成するモニタパス作成処理を実行する（ステップＳ１９０２）。そして、対象回路のレイアウト領域上にユーザ回路およびモニタパスを生成する配置配線処理を実行する（ステップＳ１９０３）。
【０１２２】
このあと、取得部４０５により、生成されたレイアウトデータＬＤに基づいて、対象回路内のユーザ回路のタイミング解析を実行して（ステップＳ１９０４）、ユーザ回路のタイミング解析結果Ｒ１を取得する（ステップＳ１９０５）。また、取得部４０５により、生成されたレイアウトデータＬＤに基づいて、対象回路内のモニタパスのタイミング解析を実行して（ステップＳ１９０６）、モニタパスのタイミング解析結果Ｒ２を取得する（ステップＳ１９０７）。
【０１２３】
なお、ユーザ回路およびモニタパスのタイミング解析では、ネットリストＮＬ１，ＮＬ２およびレイアウトデータＬＤを用いて、ＲＣ抽出、遅延時間算出が行なわれ、ユーザ回路およびモニタパスのタイミング検証が行なわれる。
【０１２４】
このあと、関連付け部４０７により、ユーザ回路内の一のＦＦのタイミング解析結果と、モニタパス内の他のＦＦのタイミング解析結果とを関連付ける関連付け処理を実行する（ステップＳ１９０８）。そして、出力部４０９により、関連付け結果テーブル１５００を出力して（ステップＳ１９０９）、本フローチャートによる一連の処理を終了する。
【０１２５】
これにより、対象回路のレイアウト領域上に配置配線されるユーザ回路およびモニタパスの各々についてタイミング解析を実行し、それらタイミング解析結果をユーザ回路内のＦＦ単位で関連付けて出力することができる。
【０１２６】
＜モニタパス作成処理手順＞
つぎに、図１９に示したステップＳ１９０２のモニタパス作成処理の具体的処理手順について説明する。図２０は、モニタパス作成処理の具体的処理手順の一例を示すフローチャートである。
【０１２７】
図２０のフローチャートにおいて、まず、容量決定部６０１により、駆動能力が標準のインバータ７１１が駆動可能な最大長の配線に相当する負荷容量Ｃを決定する（ステップＳ２００１）。そして、段数決定部６０２により、クロック周期情報５００の中からメインクロックのクロック周期Ｔを選択する（ステップＳ２００２）。
【０１２８】
このあと、段数決定部６０２により、インバータ７１１と負荷容量Ｃのキャパシタ７１２のペア７１０を複数段縦続して接続されるリングオシレータが発信可能なペア７１０の最大段数Ｎを決定する（ステップＳ２００３）。つぎに、算出部６０３により、負荷容量Ｃに相当する配線長ｌを算出する（ステップＳ２００４）。
【０１２９】
そして、算出部６０３により、クロック周期Ｔの時間内にＦＦ間で信号を伝達可能な配置間隔Ｌを算出する（ステップＳ２００５）。このあと、作成部４０２により、配置間隔Ｌを格子幅として対象回路のレイアウト領域を格子状に区切って（ステップＳ２００６）、区切られた各領域の境界線の交点をＦＦの配置位置として配置位置情報を作成する（ステップＳ２００７）。
【０１３０】
また、算出部６０３により、区切られた各領域の境界線の交点数Ｘを算出する（ステップＳ２００８）。そして、作成部４０２により、算出された交点数ＸのＦＦを含み、各ＦＦ間にＮ段のインバータ７１１を含むモニタパスに関するネットリストＮＬ２を作成して（ステップＳ２００９）、図１９に示したステップＳ１９０３に移行する。
【０１３１】
これにより、配置配線密度が高くなるとタイミングエラーが発生するようなぎりぎりの配置間隔でＦＦを配置するモニタパスを構成できる。また、レイアウト領域から分割された各領域の境界線の交点にＦＦを配置することで、モニタパス内のＦＦをレイアウト領域上に効率的かつ網羅的に配置することができる。
【０１３２】
＜配置配線処理手順＞
つぎに、図１９に示したステップＳ１９０３の配置配線処理の具体的処理手順について説明する。図２１は、配置配線処理の具体的処理手順の一例を示すフローチャートである。図２１のフローチャートにおいて、まず、配置部４０３により、ネットリストＮＬ１，ＮＬ２に基づいて、対象回路のフロアプランを実行して（ステップＳ２１０１）、電源配線処理を実行する（ステップＳ２１０２）。
【０１３３】
このあと、配置部４０３により、ステップＳ２００７において作成されたＦＦ配置位置情報に従って、対象回路のレイアウト領域上に、モニタパス内のＦＦを配置間隔Ｌで配置する（ステップＳ２１０３）。つぎに、配置部４０３により、対象回路のレイアウト領域上に、モニタパス内の回路素子群のうち配置済みのＦＦを除く残余の回路素子を配置する（ステップＳ２１０４）。
【０１３４】
さらに、配置部４０３により、対象回路のレイアウト領域上に、対象回路に含まれる回路素子群を配置する（ステップＳ２１０５）。なお、全回路素子群の配置が完了すると、たとえば、回路素子の配置位置調整、バッファ挿入、ゲートサイズ調整などのタイミング最適化が行なわれる。
【０１３５】
このあと、生成部４０４により、対象回路のレイアウトデータＬＤに基づいて、クロックツリー合成を実行する（ステップＳ２１０６）。なお、クロックツリー合成が完了すると、たとえば、回路素子のゲートサイズ調整などのタイミング最適化が行なわれる。
【０１３６】
そして、生成部４０４により、配置された配置結果に基づいて、レイアウト領域上に配置された回路素子間を配線して、ユーザ回路およびモニタパスを生成して（ステップＳ２１０７）、図１９に示したステップＳ１９０４に移行する。なお、回路素子間の配線が完了すると、たとえば、回路素子のゲートサイズ調整などのタイミング最適化が行なわれる。
【０１３７】
これにより、対象回路のレイアウト領域上に元の論理回路（ユーザ回路）とともに、モニタパスを生成することができる。
【０１３８】
＜関連付け処理手順＞
つぎに、図１９に示したステップＳ１９０８の関連付け処理の具体的処理手順について説明する。図２２は、関連付け処理の具体的処理手順の一例を示すフローチャートである。図２２のフローチャートにおいて、まず、検出部４０６により、タイミング解析結果Ｒ１およびレイアウトデータＬＤを参照して、ユーザ回路内のタイミングエラーが発生している一のＦＦを検出する（ステップＳ２２０１）。
【０１３９】
このあと、検出部４０６により、レイアウトデータＬＤを参照して、検出された一のＦＦの近傍に位置するモニタパス内の他のＦＦを検出する（ステップＳ２２０２）。つぎに、関連付け部４０７により、タイミング解析結果Ｒ１を参照して、一のＦＦのタイミング解析結果を特定する（ステップＳ２２０３）。
【０１４０】
さらに、関連付け部４０７により、タイミング解析結果Ｒ２を参照して、他のＦＦのタイミング解析結果を特定する（ステップＳ２２０４）。そして、関連付け部４０７により、一のＦＦのタイミング解析結果と他のＦＦのタイミング解析結果とを関連付けて（ステップＳ２２０５）、関連付け結果を関連付け結果テーブル１５００に記憶する（ステップＳ２２０６）。
【０１４１】
つぎに、検出部４０６により、ユーザ回路内のタイミングエラーが発生しているＦＦのうち、検出されていない未検出のＦＦがあるか否かを判断する（ステップＳ２２０７）。ここで、未検出のＦＦがある場合（ステップＳ２２０７：Ｙｅｓ）、ステップＳ２２０１に戻る。一方、未検出のＦＦがない場合（ステップＳ２２０７：Ｎｏ）、図１９に示したステップＳ１９０９に移行する。
【０１４２】
これにより、ユーザ回路内でタイミングエラーが発生している一のＦＦと、一のＦＦの近傍に位置するモニタパス内の他のＦＦとのタイミング解析結果を関連付けることができる。
【０１４３】
（決定処理手順）
つぎに、配置配線密度の改善対象となる回路素子および回路構成の変更対象となるパスを決定する決定処理の具体的処理手順について説明する。図２３は、決定処理の具体的処理手順の一例を示すフローチャートである。
【０１４４】
図２３のフローチャートにおいて、まず、決定部４０８により、関連付け結果テーブル１５００の中から任意の関連付け結果を選択する（ステップＳ２３０１）。このあと、決定部４０８により、選択された関連付け結果が、ユーザ回路およびモニタパスがともにタイミングエラーを示すか否かを判断する（ステップＳ２３０２）。
【０１４５】
ここで、モニタパスがともにタイミングエラーを示す場合（ステップＳ２３０２：Ｙｅｓ）、決定部４０８により、一のＦＦの配置位置を混雑領域リスト１７００に記憶する（ステップＳ２３０３）。そして、決定部４０８により、関連付け結果テーブル１５００の中から選択されていない未選択の関連付け結果があるか否かを判断する（ステップＳ２３０４）。
【０１４６】
ここで、未選択の関連付け結果がある場合（ステップＳ２３０４：Ｙｅｓ）、ステップＳ２３０１に戻る。また、ステップＳ２３０２において、タイミングエラーを示さない場合（ステップＳ２３０２：Ｎｏ）、決定部４０８により、関連付け結果が、ユーザ回路のみタイミングエラーを示すか否かを判断する（ステップＳ２３０５）。
【０１４７】
ここで、ユーザ回路のみタイミングエラーを示す場合（ステップＳ２３０５：Ｙｅｓ）、決定部４０８により、ユーザ回路内の一のＦＦを含むパスを探索して（ステップＳ２３０６）、探索されたパスを変更対象リスト１８００に記憶して（ステップＳ２３０７）、ステップＳ２３０４に移行する。
【０１４８】
一方、タイミングエラーを示さない場合（ステップＳ２３０５：Ｎｏ）、ステップＳ２３０４に移行する。そして、ステップＳ２３０４において、未選択の関連付け結果がない場合（ステップＳ２３０４：Ｎｏ）、出力部４０９により、混雑領域リスト１７００および変更対象リスト１８００を出力して（ステップＳ２３０８）、本フローチャートによる一連の処理を終了する。
【０１４９】
これにより、対象回路のレイアウト領域上の配置配線密度の改善対象となる領域を特定することができる。また、対象回路内のパス群のうちＲＴＬ記述の変更対象となるパスを特定することができる。
【０１５０】
なお、図２０に示したステップＳ２００２において、クロック周期情報５００の中からメインクロックのクロック周期Ｔを選択することにしたが、これに限らない。具体的には、たとえば、クロック周期情報５００内の全クロックのクロック周期が選択されるまで、図１９に示した設計支援処理を繰り返し実行することにしてもよい。この場合、たとえば、対象回路内のクロックｃｋ１〜ｃｋ３ごとの関連付け結果が出力されることになる。
【０１５１】
以上説明したように、本実施の形態によれば、対象回路のレイアウト領域上に配置配線されるユーザ回路、モニタパスの各々についてタイミング解析を実行し、それらタイミング解析結果を比較分析することで、配線性やタイミング最適化の困難性を判断できる。
【０１５２】
また、本実施の形態によれば、ユーザ回路内でタイミングエラーが発生している一のＦＦと、一のＦＦの近傍に位置するモニタパス内の他のＦＦとのタイミング解析結果を関連付けることで、ＦＦ単位で配線性やタイミング最適化の困難性を判断できる。
【０１５３】
また、本実施の形態によれば、対象回路のクロック周期の時間内に信号を伝搬可能な配置間隔でモニタパス内のＦＦを配置することで、配置密度や配線密度に問題がなければタイミングエラーが発生しないモニタパスを生成することができる。
【０１５４】
また、本実施の形態によれば、回路素子とキャパシタのペアを複数段縦続して接続されるリングオシレータが発信可能なペアの最大段数からＦＦ間の配置間隔を求めることで、クロック周期中に信号を伝搬可能なぎりぎりの間隔でＦＦを配置することができる。
【０１５５】
また、本実施の形態によれば、キャパシタの負荷容量を、回路素子から出力される信号のスルーが回路素子に入力された信号のスルー以下となる最大の負荷容量とすることで、回路素子が駆動可能な最大長の配線に相当する負荷容量とすることができる。
【０１５６】
また、本実施の形態によれば、ＦＦ間の配置間隔を格子幅としてレイアウト領域を格子状に区切って分割された各領域（矩形範囲）の境界線の交点にＦＦを配置することで、モニタパス内のＦＦをレイアウト領域上に効率的かつ網羅的に配置することができる。
【０１５７】
また、本実施の形態によれば、ユーザ回路内の一のＦＦの解析結果と、一のＦＦと同一の領域内に位置するモニタパス内の他のＦＦの解析結果とを関連付けることで、一のＦＦの比較対象となる他のＦＦを適切に特定できる。
【０１５８】
また、本実施の形態によれば、関連付け結果が一のＦＦおよび他のＦＦのタイミングエラーを示す場合、一のＦＦの配置位置を混雑領域に決定することにより、配置配線密度の改善対象となる領域を特定することができる。
【０１５９】
また、本実施の形態によれば、混雑領域に決定された一のＦＦの配置位置に基づいて、論理回路内の回路素子群をレイアウト領域上に再配置することで、配置配線密度を適切に緩和することができる。
【０１６０】
また、本実施の形態によれば、関連付け結果が一のＦＦのタイミングエラーのみを示す場合、一のＦＦを含むパスを回路構成の変更対象となるパスに決定することで、ＲＴＬ記述の変更対象となるパスを特定することができる。
【０１６１】
これらのことから、本設計支援方法、および設計支援プログラムによれば、タイミングエラーが発生した場合に、バッファリングやサイジングにより解消できる問題なのか、あるいは、ＲＴＬ記述の変更が必要な問題なのかを適切に判断できる。そのため、配置や最適化の手法の組み合わせを変えて複数通りのレイアウトを試行し、各レイアウトでのタイミング解析結果や配線性を確認する必要がない。これにより、半導体集積回路の設計作業の効率化を図り、設計期間の短縮化を実現することができる。
【０１６２】
なお、本実施の形態で説明した設計支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本設計支援プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本設計支援プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１６３】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１６４】
（付記１）半導体集積回路情報のタイミングを解析することで半導体集積回路を生成する方法において、
前記半導体回路情報とモニタパス回路情報とに基づいてフロアプランを行って第１データを生成し、
モニタパス位置情報に基づいて第１データ内にモニタパス用ＦＦとモニタパス用回路要素とを配置して第２データを生成し、
前記第２データに基づいて配置または配線を行って第３データを生成し、
前記第３データの前記半導体回路情報に対応するデータに対してタイミング解析を行って第１タイミング解析結果を生成し、
前記第３データのモニタパス回路情報に対応するデータに対してタイミング解析を行って第２タイミング解析結果を生成し、
前記第１タイミング解析結果と前記第２タイミング解析結果とを比較することで前記半導体回路情報を修正して前記半導体集積回路を生成すること
を特徴とする半導体集積回路の生成方法。
【０１６５】
（付記２）前記モニタパス回路情報は、所定容量を含む前記モニタパス用回路要素がＮ個（Ｎは２以上の整数）縦続して接続されるモニタパス単位を含むこと
を特徴とする付記１に記載の半導体集積回路の生成方法。
【０１６６】
（付記３）所定のスルーを有する信号が出力されるように前記モニタパス用回路要素が選択され、
前記モニタパス用回路要素を奇数個含むリングオシレータが発振するときの奇数個が前記Ｎ個とされること
を特徴とする付記２に記載の半導体集積回路の生成方法。
【０１６７】
（付記４）前記モニタパス単位間に前記モニタパス用ＦＦが配置されること
を特徴とする付記２に記載の半導体集積回路の生成方法。
【０１６８】
（付記５）前記半導体集積回路情報に基づいて指定される回路要素配置可能領域を所定の矩形で区画し、
前記矩形の交点に前記モニタパス用ＦＦが配置され、
前記配置されたモニタパス用ＦＦ間に前記モニタパス用回路要素が配置されること
を特徴とする付記１乃至付記４の何れか一に記載の半導体集積回路の生成方法。
【０１６９】
（付記６）前記モニタパス用回路要素は、インバータと前記インバータに接続される所定容量を含む配線とを含むこと
を特徴とする付記１乃至付記５の何れか一に記載の半導体集積回路の生成方法。
【０１７０】
（付記７）前記半導体集積回路情報に含まれる第１のＦＦの前記第１タイミング解析結果と、前記第１のＦＦの近傍に配置される前記モニタパス用ＦＦの前記第２のタイミング解析結果とが比較されること
を特徴とする付記１乃至付記６の何れか一に記載の半導体集積回路の生成方法。
【０１７１】
（付記８）前記半導体集積回路情報に含まれる第１のＦＦが、前記配置されたモニタパス用ＦＦを中心とした前記所定の矩形範囲内に含まれる場合に、前記第１のＦＦの第１タイミング解析結果と前記配置されたモニタパス用ＦＦの第２タイミング解析結果とが比較されること
を特徴とする付記５に記載の半導体集積回路の生成方法。
【０１７２】
（付記９）前記第１タイミング解析結果がタイミングエラーを示し、前記第２タイミング解析結果がタイミングエラーを示していない場合には、前記半導体集積回路情報を修正すること
を特徴とする付記８に記載の半導体集積回路の生成方法。
【０１７３】
（付記１０）前記第１タイミング解析結果がタイミングエラーを示し、前記第２タイミング解析結果がタイミングエラーを示しているときは、前記第１データまたは前記第２データを修正すること
を特徴とする付記８に記載の半導体集積回路の生成方法。
【０１７４】
（付記１１）半導体集積回路情報のタイミングを解析することで半導体集積回路を生成するプログラムが格納される記録媒体において、
前記プログラムは、
前記半導体回路情報とモニタパス回路情報とに基づいてフロアプランを行って第１データを生成し、
モニタパス位置情報に基づいて第１データ内にモニタパス用ＦＦとモニタパス用回路要素とを配置して第２データを生成し、
前記第２データに基づいて配置または配線を行って第３データを生成し、
前記第３データの前記半導体回路情報に対応するデータに対してタイミング解析を行って第１タイミング解析結果を生成し、
前記第３データのモニタパス回路情報に対応するデータに対してタイミング解析を行って第２タイミング解析結果を生成し、
前記第１タイミング解析結果と前記第２タイミング解析結果とを比較することで前記半導体回路情報を修正して前記半導体集積回路を生成すること
を特徴とする記録媒体。
【０１７５】
（付記１２）前記モニタパス回路情報は、所定容量を含む前記モニタパス用回路要素がＮ個（Ｎは２以上の整数）縦続して接続されるモニタパス単位を含むこと
を特徴とする付記１１に記載の記録媒体。
【０１７６】
（付記１３）所定のスルーを有する信号が出力されるように前記モニタパス用回路要素が選択され、
前記モニタパス用回路要素を奇数個含むリングオシレータが発振するときの奇数個が前記Ｎ個とされること
を特徴とする付記１２に記載の記録媒体。
【０１７７】
（付記１４）前記モニタパス単位間に前記モニタパス用ＦＦが配置されること
を特徴とする付記１２に記載の記録媒体。
【０１７８】
（付記１５）前記半導体集積回路情報に基づいて指定される回路要素配置可能領域を所定の矩形で区画し、
前記矩形の交点に前記モニタパス用ＦＦが配置され、
前記配置されたモニタパス用ＦＦ間に前記モニタパス用回路要素が配置されること
を特徴とする付記１１乃至付記１４の何れか一に記載の記録媒体。
【０１７９】
（付記１６）前記モニタパス用回路要素は、インバータと前記インバータに接続される所定容量を含む配線とを含むこと
を特徴とする付記１１乃至付記１５の何れか一に記載の記録媒体。
【０１８０】
（付記１７）前記半導体集積回路情報に含まれる第１のＦＦの前記第１タイミング解析結果と、前記第１のＦＦの近傍に配置される前記モニタパス用ＦＦの前記第２のタイミング解析結果とが比較されること
を特徴とする付記１１乃至付記１６の何れか一に記載の記録媒体。
【０１８１】
（付記１８）前記半導体集積回路情報に含まれる第１のＦＦが、前記配置されたモニタパス用ＦＦを中心とした前記所定の矩形範囲内に含まれる場合に、前記第１のＦＦの第１タイミング解析結果と前記配置されたモニタパス用ＦＦの第２タイミング解析結果とが比較されること
を特徴とする付記１５に記載の記録媒体。
【符号の説明】
【０１８２】
３００  設計支援装置
４０１  入力部
４０２  作成部
４０３  配置部
４０４  生成部
４０５  取得部
４０６  検出部
４０７  関連付け部
４０８  決定部
４０９  出力部
５００  クロック周期情報
６０１  容量決定部
６０２  段数決定部
６０３  算出部
ＮＬ１，ＮＬ２  ネットリスト
Ｒ１，Ｒ２  タイミング解析結果
【図１】
2011034243.tif 000003
【図２】
2011034243.tif 000004
【図３】
2011034243.tif 000005
【図４】
2011034243.tif 000006
【図５】
2011034243.tif 000007
【図６】
2011034243.tif 000008
【図７−１】
2011034243.tif 000009
【図７−２】
2011034243.tif 000010
【図８】
2011034243.tif 000011
【図９】
2011034243.tif 000012
【図１０】
2011034243.tif 000013
【図１１】
2011034243.tif 000014
【図１２】
2011034243.tif 000015
【図１３】
2011034243.tif 000016
【図１４】
2011034243.tif 000017
【図１５】
2011034243.tif 000018
【図１６】
2011034243.tif 000019
【図１７】
2011034243.tif 000020
【図１８】
2011034243.tif 000021
【図１９】
2011034243.tif 000022
【図２０】
2011034243.tif 000023
【図２１】
2011034243.tif 000024
【図２２】
2011034243.tif 000025
【図２３】
2011034243.tif 000026