(57)【要約】【課題】フリップフロップ回路の入力端子の近くに容易にタイミング調整回路を配置する。【解決手段】複数種類の論理セルを回路接続情報に基づき配置配線することにより半導体集積回路を生成する半導体集積回路の設計方法において、複数種類の論理セルのうち入力信号のタイミング制御が必要な回路を構成する１種類以上の論理セルは、論理セルの入力端子側に入力信号のタイミングを調整するためのタイミング調整回路を配置可能な仮想領域１２０を持って構成され、複数種類の論理セルを配置配線後にタイミング解析を行った結果に基づき、入力信号のタイミングを調整する必要がある論理セルの仮想領域１２０にタイミング調整回路１３０を配置し、論理セルの入力端子と配線する。【選択図】図１
2007208089.tif 000002
【特許請求の範囲】
【請求項１】
複数種類の論理セルを回路接続情報に基づき配置配線することにより半導体集積回路を生成する半導体集積回路の設計方法において、
前記複数種類の論理セルのうち入力信号のタイミング制御が必要な回路を構成する１種類以上の論理セルは、前記論理セルの入力端子側に入力信号のタイミングを調整するためのタイミング調整回路を配置可能な仮想領域を持って構成され、
前記複数種類の論理セルを配置配線後にタイミング解析を行った結果に基づき、入力信号のタイミングを調整する必要がある前記論理セルの前記仮想領域に前記タイミング調整回路を配置し、前記論理セルの入力端子と配線する、
ことを特徴とする半導体集積回路の設計方法。
【請求項２】
請求項１に記載の半導体集積回路の設計方法において、前記論理セルの前記仮想領域は、空白であることを特徴とする半導体集積回路の設計方法。
【請求項３】
請求項１または２に記載の半導体集積回路の設計方法において、前記論理セルの前記仮想領域には、前記タイミング調整回路が配置されていることを特徴とする半導体集積回路の設計方法。
【請求項４】
請求項１から３のいずれか一項に記載の半導体集積回路の設計方法において、前記論理セルは、フリップフロップ回路であることを特徴とする半導体集積回路の設計方法。
【請求項５】
請求項１から４のいずれか一項に記載の半導体集積回路の設計方法によって設計されたことを特徴とする半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の設計方法及びそのような半導体集積回路の設計方法によって設計された半導体集積回路に関する。
【背景技術】
【０００２】
エンベデッドアレイ（Embedded Array、ゲートアレイとスタンダードセルの両方の利点を持った半導体集積回路）の設計方法は、図４に示すように、最初にシステム設計を行い、ロジック部のゲート数、および搭載するマクロセル（ＲＡＭ、ＲＯＭ、ＰＬＬなど）を決定したのち、ベースバルクと呼ばれる下地部分の製造を開始する。ベースバルクは必要なハードマクロセルを搭載し、あわせてロジック部のSea of gate（全面敷詰め型ゲートアレイ）を敷き詰めたもので、配線工程前まで製造を進める。この製造作業と並行して、ゲートアレイと同様にロジック部回路設計〜配線工程〜ポストシュミレーションを行う。
【０００３】
ロジック部は、ネットリストに基づいて論理セルを決められた領域内に配置配線し、実際の配線長に基づいてタイミング解析を行う。配線の引き回しが長くなると配線抵抗が生じ、図５に示すように、フリップフロップ回路などのデータ信号（Ｄａｔａ）のようにクロック信号（Ｃｌｏｃｋ）に対するセットアップ時間（Ｓｅｔｕｐ）、ホールド時間（Ｈｏｌｄ）などが厳密に規定されている論理セルでは、仕様のタイミングを満たすことができない場合が生じる。このような場合、タイミングを合わせこむためにタイミング調整回路であるバッファ回路などをフリップフロップの入力端子の前段に挿入する必要がある。
【０００４】
従来、フリップフロップ回路自身の作られ方としては、必要な機能を実現するものでかつ最小限の面積となるように設計されている。タイミング収束に向けて、フリップフロップ回路の入力端子の前段にバッファ回路を配置する場合、ゲート占有率が高ければ高いほど、フリップフロップ回路の近くに配置するのが困難になる。
【０００５】
この問題を解決するために、例えば特許文献１には、複数のセルの配置位置を決める時に、セルの入力側および出力側の各々のネットについてディレイを計算し、入力側および出力側のディレイの合計結果が減少するようにセルを配置し、セルの配置位置を決める際、配置位置を決めながらセルの駆動力を切り替え、切替え後のディレイの計算結果が切替え前のディレイの計算結果より短縮される場合に、セルの駆動力を切り替える方法が記載されている。また、特許文献２には、ネットリストに配線チャネルを確保するための配線用ダミーセルを挿入し、配線用ダミーセルを配置して生成された配線領域を用いて論理セル間の配線を実行する方法が記載されている。
【０００６】
【特許文献１】特開２００２−５６０４２号公報
【特許文献２】特開２００２−１３４６２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１では、配置配線後、ディレイの最適化の為のセルの置換（ドライブ能力の異なるセルへの置き換え）を行なうので各々の論理セルに対してドライブ能力の異なる複数のセルパターンを用意する必要がある。また、特許文献２では、配線混雑度を緩和するための配線用ダミーセルを配置する必要がある。
【０００８】
本発明は、このような事情に鑑みてなされたものであり、フリップフロップ回路のように入力信号のタイミング制御が必要な回路の入力端子の近くに容易にタイミング調整回路を配置することが可能な半導体集積回路とその設計方法を提供することを目的とするものである。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明の半導体集積回路の設計方法では、複数種類の論理セルを回路接続情報に基づき配置配線することにより半導体集積回路を生成する半導体集積回路の設計方法において、前記複数種類の論理セルのうち入力信号のタイミング制御が必要な回路を構成する１種類以上の論理セルは、前記論理セルの入力端子側に入力信号のタイミングを調整するためのタイミング調整回路を配置可能な仮想領域を持って構成され、前記複数種類の論理セルを配置配線後にタイミング解析を行った結果に基づき、入力信号のタイミングを調整する必要がある前記論理セルの前記仮想領域に前記タイミング調整回路を配置し、前記論理セルの入力端子と配線することを要旨とする。
【００１０】
この構成によれば、フリップフロップ回路のように入力信号のタイミング制御が必要な回路の入力端子の近くに容易にタイミング調整回路を配置することができる。
【００１１】
また、本発明の半導体集積回路の設計方法では、前記論理セルの前記仮想領域は、空白である。
【００１２】
この構成によれば、タイミング調整回路を配置する必要がない仮想領域を配線領域として使用することができる。
【００１３】
また、本発明の半導体集積回路の設計方法では、前記論理セルの前記仮想領域には、前記タイミング調整回路が配置されている。
【００１４】
この構成によれば、仮想領域のタイミング調整回路と配線するだけでよく、さらに、論理セル自身がこのタイミング調整回路を使用しない場合でも、他の論理セルの入力信号のタイミング制御のために使用することができる。
【００１５】
また、本発明の半導体集積回路の設計方法では、前記論理セルは、フリップフロップ回路である。
【００１６】
また、本発明に係る半導体集積回路は、本発明に係る半導体集積回路の設計方法によって設計されたことを特徴とする。
【発明を実施するための最良の形態】
【００１７】
以下、本発明を具体化した実施形態について図面に従って説明する。
（第１実施形態）
【００１８】
＜仮想領域付き論理セルの構成＞
まず、第１実施形態に係る仮想領域付き論理セルの構成について、図１を参照して説明する。図１は、本発明の第１実施形態に係る仮想領域付き論理セルの構成を説明する概略図である。
【００１９】
図１（Ａ）は、入力信号のタイミング制御が必要な回路を構成する１種類以上の論理セルであるフリップフロップ回路の一例として、セットリセット付きＤフリップフロップ（以下、ＤＦＳＲ）１１０のセルパターンをシンボルで表した概略図である。図１（Ａ）に示すように、ＤＦＳＲ１１０は、入力端子としてデータ端子Ｄとクロック端子Ｃとセット端子Ｓとリセット端子Ｒがあり、出力端子として出力端子Ｑと反転出力端子ＸＱがある。
【００２０】
図１（Ｂ）は、入力信号のタイミングを調整するためのタイミング調整回路であるバッファ回路１３０のセルパターンをシンボルで表した概略図である。
【００２１】
図１（Ｃ）は、ＤＦＳＲ１１０の入力端子（データ端子Ｄ）側にバッファ回路１３０を配置可能な仮想領域（ブランクセル、ＢＣ）１２０を設けた仮想領域付きフリップフロップ（以下、ＤＦＳＲ＿ＢＣ）１００のセルパターンをシンボルで表した概略図である。従来のＤＦＳＲ１１０の代わりにＤＦＳＲ＿ＢＣ１００をネットリストに接続し、配置配線を行い、タイミング解析によりタイミングエラーとなったＤＦＳＲ＿ＢＣ１００の仮想領域１２０にバッファ回路１３０を配置し、ＤＦＳＲ＿ＢＣ１００の入力端子と配線する。タイミングエラーにならなかったＤＦＳＲ＿ＢＣ１００の仮想領域１２０は、空白領域となり、配線を通過させることが可能になる。
【００２２】
図１（Ｄ）は、ＤＦＳＲ＿ＢＣ１００の仮想領域１２０にバッファ回路１３０のセルパターンを実際に配置したバッファ回路付きフリップフロップ（以下、ＤＦＳＲ＿ＢＦ）１０１のセルパターンをシンボルで表した概略図である。タイミング解析によりタイミングエラーとなったＤＦＳＲ＿ＢＣ１００の代わりにＤＦＳＲ＿ＢＦ１０１を配置すれば、ＤＦＳＲ＿ＢＣ１００の仮想領域１２０にバッファ回路１３０を配置するのと同様の効果が得られる。
【００２３】
＜半導体集積回路の設計のフロー＞
次に、半導体集積回路の設計のフローについて図２を参照して説明する。図２は、半導体集積回路の設計のフローを説明するフローチャート図である。
【００２４】
先ず、ステップＳ１００では、ネットリストにおいて入力信号のタイミング制御が必要なフリップフロップ（ＤＦＳＲ１１０など）を仮想領域付きフリップフロップ（ＤＦＳＲ＿ＢＣ１００など）に置き換えて論理合成を行う。
【００２５】
次に、ステップＳ１０２では、論理合成した結果に基づき配置配線を行う。
【００２６】
次に、ステップＳ１０４では、配置配線した結果の配線長に基づきタイミング解析を行う。
【００２７】
次に、ステップＳ１０６では、タイミング解析の結果、タイミングエラーないか否かを判定し、タイミングエラーがない場合は、終了し、タイミングエラーがある場合には、ステップＳ１０８に移行する。
【００２８】
次に、ステップＳ１０８では、タイミングエラーとなった仮想領域付きフリップフロップに対し、バッファ回路１３０を配置し、仮想領域付きフリップフロップの入力端子とバッファ回路１３０が接続されるようにネットリストを変更し、ステップＳ１１０に移行する。
【００２９】
次に、ステップＳ１１０では、元の配置配線を残して変更点のみ追加・削除を指示する設計変更指示（Engineering Change Orders）を行い、ステップＳ１０４に戻る。
【００３０】
次に、仮想領域付きフリップフロップにバッファを配線する方法について図３を参照して説明する。図３は、仮想領域付きフリップフロップにバッファを配線する方法を説明する概略図である。
【００３１】
図３（Ａ）は、一方のＤＦＳＲ＿ＢＣ１００ａの出力端子Ｑから他方の離れた場所に配置されたＤＦＳＲ＿ＢＣ１００ｂのデータ端子Ｄの間を配線２００により配線した状態を示す。これらＤＦＳＲ＿ＢＣ１００ａ〜ＤＦＳＲ＿ＢＣ１００ｂ間の配線２００の配線長が短い場合、ＤＦＳＲ＿ＢＣ１００ｂのデータ端子Ｄに入力された信号が図５に示すホールド時間を満たすことができず、タイミングエラーを引き起こす。
【００３２】
図３（Ｂ）では、ＤＦＳＲ＿ＢＣ１００ｂの仮想領域にバッファ回路１３０を配置し、ＤＦＳＲ＿ＢＣ１００ａの出力端子Ｑとバッファ回路１３０の入力端子を配線２００で接続し、バッファ回路１３０の出力端子とＤＦＳＲ＿ＢＣ１００ｂのデータ端子Ｄを配線２０１で接続するようにネットリストを修正し、Engineering Change Ordersを行った結果である。図３（Ｂ）に示すように、ＤＦＳＲ＿ＢＣ１００ｂのデータ端子Ｄのすぐ隣にバッファ回路１３０を配置することができるので、ＤＦＳＲ＿ＢＣ１００ｂのデータ端子Ｄに入力される信号が図５に示すホールド時間を満たすことができる。
【００３３】
以上に述べた前記実施形態によれば、以下の効果が得られる。
【００３４】
本実施形態では、論理セルの仮想領域部分に、配置配線後に必要となったバッファ回路などの追加セルをごく近傍に配置することが可能となる。また、論理セルがフリップフロップ回路の場合、チップ面積の多くを占めるものであり、追加セルの個数が、仮想領域以上であっても、近い位置に他の仮想領域を持った論理セルが存在すれば、その仮想領域を使用可能となる。また、論理セルの仮想領域は、追加セル配置の他に、電源補強、配線余裕分としても使用が可能である。また、論理セルの仮想領域にあらかじめバッファ回路を組み込んでおくことで、論理セルそのものを置き換えれば、置換後の配線工程工数が削減可能となる。
【００３５】
以上、本発明の実施形態を説明したが、本発明はこうした実施の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内において様々な形態で実施し得ることができる。以下、変形例を挙げて説明する。
【００３６】
（変形例１）本発明に係る半導体集積回路の設計方法の第１変形例について説明する。前記第１実施形態では、エンベデッドアレイによる半導体集積回路について説明したが、ゲートアレイやスタンダードセルによる半導体集積回路についても適応可能である。
【図面の簡単な説明】
【００３７】
【図１】仮想領域付き論理セルの構成を説明する概略図。
【図２】半導体集積回路の設計のフローを説明するフローチャート図。
【図３】仮想領域付きフリップフロップにバッファを配線する方法を説明する概略図。
【図４】エンベデッドアレイによる半導体集積回路の構成図。
【図５】フリップフロップ回路のタイミング規定を説明するタイミング図。
【符号の説明】
【００３８】
１００…仮想領域付きフリップフロップ回路、１０１…バッファ回路付きフリップフロップ回路、１１０…フリップフロップ回路、１２０…仮想領域、１３０…バッファ回路。
【図１】
2007208089.tif 000003
【図２】
2007208089.tif 000004
【図３】
2007208089.tif 000005
【図４】
2007208089.tif 000006
【図５】
2007208089.tif 000007