(57)【要約】【課題】スタンダードセルを用い、半導体集積回路が設計されるに際し、再調整の繰返し不要として、半導体集積回路を速やかに設計すること。【解決手段】順次、セル配置（処理１１）、バッファ挿入／配置（処理１２）、配線（処理１３）、遅延計算（処理１４）が行われた後、その遅延計算結果に基づき、クロック特性を最適化するためのクロック再調整（クロックバッファのドライブ能力の再調整（処理１５１））が行われるに際しては、その遅延計算結果に基づき、フットプリントが同一で、且つ特性が相異なり、しかも、配線禁止領域が埋め込まれている、予め複数種類用意されているクロックバッファの中から所望のものを選択した上、挿入／配置済みのクロックバッファと置換されるようにした。【選択図】      図１
2004326453.tif 000002
【特許請求の範囲】
【請求項１】
スタンダードセルを用いた半導体集積回路設計方法であって、
スタンダードセルをチップ上の、とある位置におくセル配置ステップと、
クロックネット合成によりクロックネットにクロックバッファを挿入／配置するバッファ挿入／配置ステップと、
配線を行うステップと、
実配線から、配線抵抗・配線容量を考慮しての遅延計算を行う遅延計算ステップと、
該遅延計算ステップによる遅延計算結果に基づき、フットプリントが同一で、且つ特性が相異なり、しかも、配線禁止領域が埋め込まれている、予め複数種類用意されているクロックバッファの中から所望のものを選択した上、挿入／配置済みのクロックバッファと置換するバッファ置換ステップと
を含む半導体集積回路設計方法。
【請求項２】
請求項１記載の半導体集積回路設計方法であって、
上記バッファ置換ステップによるクロックバッファ置換により、配線後でのクロック信号間スキュー調整が行われる半導体集積回路設計方法。
【請求項３】
スタンダードセルを用い、半導体集積回路が設計される際に用いられる半導体集積回路設計プログラムであって、
スタンダードセルをチップ上の、とある位置におくセル配置ステップと、
クロックネット合成によりクロックネットにクロックバッファを挿入／配置するバッファ挿入／配置ステップと、
配線を行うステップと、
実配線から、配線抵抗・配線容量を考慮しての遅延計算を行う遅延計算ステップと、
該遅延計算ステップによる遅延計算結果に基づき、フットプリントが同一で、且つ特性が相異なり、しかも、配線禁止領域が埋め込まれている、予め複数種類用意されているクロックバッファの中から所望のものを選択した上、挿入／配置済みのクロックバッファと置換するバッファ置換ステップと
を含む半導体集積回路設計プログラム。
【請求項４】
請求項３記載の半導体集積回路設計プログラムであって、
上記バッファ置換ステップによるクロックバッファ置換により、配線後でのクロック信号間スキュー調整が行われる半導体集積回路設計プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、フットプリントが同一で、特性（ドライブ能力やセル内遅延）の異なる複数種類のクロックバッファセルを使用することによって、配線後、クロックバッファセルの置換えのみで、再調整の繰返し不要として、半導体集積回路が速やかに設計されるようにした半導体集積回路設計方法並びに半導体集積回路設計プログラムに関する。
【０００２】
【従来の技術】
従来技術に係る、ＣＡＤツールによる半導体集積回路設計処理フローを図４に示す。図示のように、ネットリストが予め得られているものとして、先ずスタンダードセルをチップ上の、とある位置におくセル配置が行われる（処理４１）。次に、クロックネット合成によりクロックネットにバッファが挿入（追加）／配置される（処理４２）。これについて補足説明すれば、配置・配線が行われる前の初期ネットでは、クロック信号は多数のフリップフロップ（ＦＦ）に接続されているが、クロックネット合成とは、ＦＦの配置情報から、スキューや遅延（ディレー）が最小となるように、クロックネットにバッファを挿入（追加）／配置することをいう。
【０００３】
その後は、配線が行われた上、実配線からＲＣ（配線抵抗・配線容量）をバックアノテート、即ち、ＲＣ（配線抵抗・配線容量）を考慮しての遅延計算が行われる（処理４３，４４）。この遅延計算結果に基づき、クロック特性を最適化するためのクロック再調整（クロックバッファのドライブ能力の再調整（処理４５１））が行われるようになっている（処理４５）。
【０００４】
しかしながら、その再調整に際しては、多くの場合、セルサイズが元のサイズより大きくなったり、セルの端子位置が変わる、といった理由により、セル同士の重なり（オーバラップ）を防ぐための再配置や、セル変更に伴う端子位置の変更により未接続部分の再配線が行われる（処理４５２，４５３）。その後は、再びＲＣ（配線抵抗・配線容量）を考慮しての遅延計算が行われた上、その遅延計算結果が合否判定される（処理４６，４７）。もしも、この合否判定で、所望の結果が得られなかった場合には、再び再調整が行われる（処理４７，４５）。
【０００５】
因みに、特許文献１では、マザーボード上に搭載された複数のカード基板間でデータの授受転送が行われる場合に、データをラッチするためのクロック信号の位相バラツキが低減化されている。
【０００６】
【特許文献１】
特開２００１―５３７３１号公報
【０００７】
【発明が解決しようとする課題】
しかしながら、図４に示す従来技術による場合、クロックバッファセルのドライブ能力が異なれば、多くの場合、それに伴いセルのサイズや端子位置も異なるようになる。即ち、再調整に際しては、多くの場合、再配置・再配線が必要となっている。セルのその再配置・再配線によっては、配線経路も変更されることになるが、この配線経路変更により、再調整後での遅延計算結果の合否判定では、多くの場合、所望の結果が得られず、これがために、いきおい、設計期間が増加することは否めないものとなっている。
【０００８】
本発明の目的は、スタンダードセルを用い、半導体集積回路が設計されるに際し、再調整の繰返し不要として、したがって、半導体集積回路が速やかに設計され得る半導体集積回路設計方法や半導体集積回路設計プログラムを提供することにある。
【０００９】
【課題を解決するための手段】
本発明の半導体集積回路設計方法は、スタンダードセルを用い、半導体集積回路が設計されるに際し、スタンダードセルをチップ上の、とある位置におくセル配置ステップと、クロックネット合成によりクロックネットにクロックバッファを挿入／配置するバッファ挿入／配置ステップと、配線を行うステップと、実配線から、配線抵抗・配線容量を考慮しての遅延計算を行う遅延計算ステップと、該遅延計算ステップによる遅延計算結果に基づき、フットプリントが同一で、且つ特性が相異なり、しかも、配線禁止領域が埋め込まれている、予め複数種類用意されているクロックバッファの中から所望のものを選択した上、挿入／配置済みのクロックバッファと置換するバッファ置換ステップとを含むよう、構成したものである。
【００１０】
以上のように、遅延計算結果に基づき、フットプリントが同一で、且つ特性が相異なり、しかも、配線禁止領域が埋め込まれている、予め複数種類用意されているクロックバッファの中から所望のものが選択された上、既に挿入／配置済みのクロックバッファと置換されていることから、再調整の繰返し不要として、したがって、半導体集積回路が速やかに設計可能とされている。
【００１１】
【発明の実施の形態】
以下、本発明の一実施の形態を図１から図３により説明する。
先ず本発明に係る、ＣＡＤツールによる一例での半導体集積回路設計処理フローを図１に示す。図示のように、ネットリストが予め得られているものとして、先ずスタンダードセルをチップ上の、とある位置におくセル配置が行われる（処理１１）。次に、クロックネット合成によりクロックネットにバッファが挿入（追加）／配置される（処理１２）。
【００１２】
その後は、配線が行われた上、実配線からＲＣ（配線抵抗・配線容量）をバックアノテート、即ち、ＲＣ（配線抵抗・配線容量）を考慮しての遅延計算が行われる（処理１３，１４）。この遅延計算結果に基づき、クロック特性を最適化するためのクロック再調整（クロックバッファのドライブ能力の再調整（処理１５１））が行われるようになっている（処理１５）。
【００１３】
したがって、ここまでは、既述の従来技術に係る半導体集積回路設計処理フローに、見掛け上、全体として類似していることは否めない。しかしながら、本発明の特徴としては、このクロック特性を最適化するためのクロック再調整が挙げられる。その再調整方法において、従来技術に係る再調整方法とは明らかに区別され得るものとなっている。
【００１４】
即ち、本発明においては、フットプリントが同一で、且つ特性（ドライブ能力やセル内遅延時間）が相異なり、しかも、配線禁止領域が埋め込まれているクロックバッファが、予め複数種類用意されているが、これらクロックバッファの中から所望のものが遅延計算結果に基づき、選択された上、既に挿入／配置済みのクロックバッファと置換されているからである。実に、この置換により、従来要されていた再調整の繰返しが不要とされている分、半導体集積回路が速やかに設計可能とされるばかりか、クロック信号間スキュー調整の容易化が可能とされているものである。
【００１５】
さて、予め複数種類用意されているクロックバッファセルの具体例について説明すれば、図２（Ａ）〜（Ｃ）にそれぞれ示すようである。これによる場合、図２（Ａ）には、入力端子Ａと出力端子Ｘとの間に１個のクロックバッファ（三角図形として表示）２１のみ、したがって、基本的な１段構成のものを示す。また、図２（Ｂ）には、３個のクロックバッファ２１が縦続接続されたものを示す。図２（Ａ）に示すものに比し、ドライブ能力は同一とされているが、遅延時間は３倍に設定される。一般に、縦続接続段数が多くなる程に、遅延時間は大として設定される。
【００１６】
更に、図２（Ｃ）には、２個のクロックバッファ２１が並列接続されたものを示す。図２（Ａ）に示すものに比し、遅延時間は同一ながらも、バッファとしてのドライブ能力は２倍に設定される。一般に、並列接続段数が多くなる程に、ドライブ能力は大として設定される。尤も、これら図２（Ａ）〜（Ｃ）に示すもの以外にも、クロックバッファの構成としては、各種のものが考えられることは明らかである。
【００１７】
以上のように、本発明に係るクロックバッファは、フットプリントが同一であることが要件とされているが、これは、フットプリントが同一であれば、セルの置換のみで、特性の変更が可能とされているからである。
【００１８】
ここで、フットプリントについて補足説明すれば、フットプリントとは、スタンダードセルにおけるセル枠及び端子の位置・形状・レイヤーについての情報として定義される。スタンダードセルでは、ＣＡＤツールにより自動配置・配線が行われるが、フットプリントは、その際に必要な情報とされる。因みに、セル枠とは、セルの外周枠とされ、通常、メタル層の最外周であり、ｗｅｌｌ等はこの枠からはみ出ることが多い。また、セル同士が結線される際でのセル内の図形は端子と称されるが、端子形状とは、その図形の形状とされる（例えば図２（Ａ）〜（Ｃ）における入力端子Ａ及び出力端子Ｘを参照のこと）。更に、端子レイヤーとは、端子として使用されるメタル層のことである。
【００１９】
引き続き配線禁止領域について説明すれば、図３（Ａ）にバッファ（セル）のメタル層のパターンを示す。左肩上り斜線表示部分はセル枠や端子図形に相当するメタル２のパターンを、また、右肩上り斜線表示部分はメタル１のパターンを示す。一般に、スタンダードセルの配置・配線では、フットプリント（セル枠と端子図形の情報）が使用されるが、このフットプリントだけでは、出力端子Ｘへの結線（配線）に際し、メタル１のパターンと短絡する可能性があることは否めない。そこで、図３（Ｂ）に示すように、出力端子Ｘへの結線（配線）に、メタル１が使用されないように、セル全面にメタル１の配線禁止領域が挿入／設定されるようにした。
【００２０】
以上、本発明による半導体集積回路設計方法について説明したが、その内容を半導体集積回路設計プログラムとして捉えることも容易に考えられる。
【００２１】
以上、本発明者によってなされた発明を実施の形態に基づき、具体的に説明したが、本発明は上記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲内で種々変更可能であることはいうまでもない。
【００２２】
【発明の効果】
スタンダードセルを用い、半導体集積回路が設計されるに際し、再調整の繰返し不要として、半導体集積回路が速やかに設計され得る。
【図面の簡単な説明】
【図１】本発明に係る一例での半導体集積回路設計処理フロー示す図である。
【図２】本発明に係るクロックバッファセルの具体例を示す図である。
【図３】本発明に係る配線禁止領域を説明するための図である。
【図４】従来技術に係る半導体集積回路設計処理フロー示す図である。
【符号の説明】
２１…クロックバッファ
【図１】
2004326453.tif 000003
【図２】
2004326453.tif 000004
【図３】
2004326453.tif 000005
【図４】
2004326453.tif 000006