(57)【要約】【課題】新たなスタンダードセルの登録を要することなく、精密な遅延時間調整が可能な半導体集積回路および半導体集積回路の設計方法、ならびに、半導体集積回路の設計に利用するスタンダードセルライブラリを提供する。【解決手段】特定の種類のセルについては、セルライブラリに、スタンダードセルデータに加えて、遅延調整セルデータと負荷容量用セルデータとの少なくとも一方が記憶される。半導体集積回路の設計において、このセルライブラリから選択された特定の種類のセルを、遅延調整セルもしくは負荷容量用セルとしても利用する。【選択図】図１
2008153327.tif 000002
【特許請求の範囲】
【請求項１】
複数種のスタンダードセルそれぞれの、論理機能およびレイアウトのデータを含むスタンダードセルデータが記憶されたセルライブラリにおいて、
前記複数種のスタンダードセルの少なくとも１つの、出力端子と複数の入力端子とを有する特定の種類のセルについて、前記スタンダードセルデータに加えて、前記複数の入力端子から選ばれた遅延入力端子と前記出力端子との間の遅延時間と、他の入力端子を複数の固定電位のいずれかに接続する複数の遅延調整セル接続パターンとの対応の把握を可能とする、遅延調整セルデータを記憶したことを特徴とするセルライブラリ。
【請求項２】
前記遅延調整セルデータが、前記出力端子に付加される負荷容量値が異なる複数の場合のそれぞれについての、前記遅延時間と複数の遅延調整セル接続パターンと対応の把握を可能とするものであることを特徴とする請求項１記載のセルライブラリ。
【請求項３】
前記複数種のスタンダードセルの少なくとも１つの、出力端子と第２の複数の入力端子とを有する第２の特定の種類のセルについて、前記スタンダードセルデータに加えて、前記第２の複数の入力端子から選ばれた１つもしくは複数の入力端子を同一のノードに接続したときに、該同一のノードに付加される負荷容量値と、該１つもしくは複数の入力端子を該同一のノードに接続する複数の負荷容量用セル接続パターンとの対応の把握を可能とする、負荷容量用セルデータを記憶したことを特徴とする請求項１または２記載のセルライブラリ。
【請求項４】
第１の複数種のスタンダードセルそれぞれの、論理機能およびレイアウトのデータを含むスタンダードセルデータを記憶するとともに、前記複数種のスタンダードセルの少なくとも１つの、出力端子と複数の入力端子とを有する特定の種類のセルについて、前記スタンダードセルデータに加えて、前記複数の入力端子から選ばれた遅延入力端子と前記出力端子との間の遅延時間と、他の入力端子を複数の固定電位のいずれかに接続する複数の遅延調整セル接続パターンとの対応の把握を可能とする、遅延調整セルデータを記憶したセルライブラリを用意し、
前記セルライブラリから、前記特定の種類のセルの少なくとも１つを含む第２の複数種のスタンダードセルを選択し、配置し、相互に接続して信号経路を形成した少なくとも１つの論理回路を含む回路ブロックを有する半導体集積回路を設計する方法であって、
前記配置および接続を、前記選択された特定の種類のスタンダードセルである第１のスタンダードセルの、前記遅延入力端子を前記信号経路の第１のノードに接続し、前記出力端子を前記信号経路の第２のノードに接続し、前記他の入力端子を前記複数の遅延調整セル接続パターンから選択された１つの接続パターンで前記複数の固定電位のいずれかに接続するように行うことを特徴とする半導体集積回路の設計方法。
【請求項５】
前記配置および接続を行った後に、前記少なくとも１つの論理回路のタイミング評価を行い、該タイミング評価の結果に応じて、前記１つの接続パターンの修正を行うことを特徴とする請求項４記載の半導体集積回路の設計方法。
【請求項６】
前記配置および接続を、前記第１のスタンダードセルを前記第１および第２のノードに接続するとともに、前記第１のスタンダードセルと同一の種類のスタンダードセルである第２のスタンダードセルの前記複数の入力端子の少なくとも２つおよび前記出力端子を、前記信号経路の他のノードに、該少なくとも２つの入力端子のそれぞれに入力される変数の間の論理演算結果が該出力端子に出力されるように接続することによって行うことを特徴とする請求項４または５に記載の半導体集積回路の設計方法。
【請求項７】
前記セルライブラリが、さらに、前記複数種のスタンダードセルの少なくとも１つの、第２の出力端子と第２の複数の入力端子とを有する第２の特定の種類のセルについて、前記スタンダードセルデータに加えて、前記第２の複数の入力端子から選ばれた１つもしくは複数の入力端子を同一のノードに接続した時に該同一のノードに付加される負荷容量値と、該１つもしくは複数の入力端子を該同一のノードに接続する複数の負荷容量用セル接続パターンとの対応の把握を可能とする負荷容量用セルデータを記憶し、
前記第２の複数種のスタンダードセルの選択が、前記第２の特定の種類のセルの少なくとも１つを含むように行われ、
前記配置および接続を、前記選択された第２の特定の種類のスタンダードセルである第３のスタンダードセルの前記第２の複数の入力端子を、前記信号経路の第３のノードに、前記複数の負荷容量用セル接続パターンと、全く接続を行わない接続パターンとの中から選択された第２の１つの接続パターンで接続するように行うことを特徴とする請求項４ないし６のいずれかに記載の半導体集積回路の設計方法。
【請求項８】
前記スタンダードセルに記憶される遅延調整セルデータが、前記出力端子に付加される負荷容量値が異なる複数の場合のそれぞれについての、前記遅延時間と複数の遅延調整セル接続パターンとの対応の把握を可能とするものであり、
前記配置および接続を、前記第２のノードと第３のノードとが同一のノードになるように行うことを特徴とする請求項７記載の半導体集積回路の設計方法。
【請求項９】
第１の複数種のスタンダードセルそれぞれの、論理機能およびレイアウトのデータを含むスタンダードセルデータが記憶されたセルライブラリから、出力端子と複数の入力端子とを有する特定の種類のセルを含む第２の複数種のスタンダードセルを選択し、配置し、相互に接続して信号経路を形成した少なくとも１つの論理回路を含む回路ブロックを有する半導体集積回路を設計する方法において、
前記配置および接続を、
前記特定の種類のスタンダードセルである第１のスタンダードセルの、前記複数の入力端子から選ばれた遅延入力端子を前記信号経路の第１のノードに接続し、前記出力端子を前記信号経路の第２のノードに接続し、他の入力端子を、該他の入力端子を複数の固定電位のいずれかに接続する複数の遅延調整セル接続パターンから選択された１つの接続パターンで、該複数の固定電位のいずれかに接続するとともに、
前記第１のスタンダードセルと同一の種類のスタンダードセルである第２のスタンダードセルの、前記複数の入力端子の少なくとも２つおよび出力端子を、前記信号経路の他のノードに、該少なくとも２つの入力端子のそれぞれに入力される変数の間の論理演算結果が該出力端子に出力されるように接続することによって行うことを特徴とする半導体集積回路の設計方法。
【請求項１０】
前記配置および接続を行った後に、前記少なくとも１つの論理回路のタイミング評価を行い、該タイミング評価の結果に基づいて、前記１つの接続パターンの修正を行うことを特徴とする請求項９記載の半導体集積回路の設計方法。
【請求項１１】
前記第２の複数種のスタンダードセルの選択が、第２の出力端子と第２の複数の入力端子とを有する第２の特定の種類のセルを含むように行われ、
前記配置および接続を、
前記第２の特定の種類のスタンダードセルである第３のスタンダードセルの前記第２の複数の入力端子を、前記信号経路の第３のノードに、該第２の複数の入力端子の１つもしくは複数を該第３のノードに接続する複数の負荷容量セル接続パターンと、全く接続を行わない接続パターンとの中から選択された第２の１つの接続パターンで接続するとともに、
前記第３のスタンダードセルと同一の種類のスタンダードセルである第４のスタンダードセルの、前記第２の複数の入力端子の少なくとも２つおよび第２の出力端子を、前記信号経路の他のノードに、該少なくとも２つの入力端子にそれぞれ入力される変数の間の論理演算結果が該第２の出力端子に出力されるよう接続することによって行うことを特徴とする請求項９または１０に記載の半導体集積回路の設計方法。
【請求項１２】
それぞれが所定のレイアウトと論理機能を有する複数種のスタンダードセルを配置し、相互に接続して信号経路を形成した少なくとも１つの論理回路を含む回路ブロックを有する半導体集積回路において、
前記複数種のスタンダードセルは、出力端子と複数の入力端子を有する特定の種類のスタンダードセルを含み、
前記回路ブロックが、
前記特定の種類のスタンダードセルである第１のスタンダードセルであって、前記複数の入力端子から選ばれた遅延入力端子が前記信号経路の第１のノードに接続され、前記出力端子が前記信号経路の第２のノードに接続され、他の入力端子が、該他の入力端子を複数の固定電位のいずれかに接続する複数の遅延調整セル接続パターンから選択された１つの接続パターンで、該複数の固定電位のいずれかに接続された遅延調整セルと、
前記第１のスタンダードセルと同一の種類のスタンダードセルであって、前記複数の入力端子の少なくとも２つおよび前記出力端子が前記信号経路の他のノードに接続され、該少なくとも２つの入力端子のそれぞれに入力される変数の間の論理演算結果を該出力端子に出力する第２のスタンダードセルとを含むことを特徴とする半導体集積回路。
【請求項１３】
前記複数の遅延調整セル接続パターンのぞれぞれは、前記遅延入力端子に入力された信号が、該それぞれの遅延調整セル接続パターンに対応した遅延時間の後に、前記出力端子に出力される接続パターンであることを特徴とする請求項１２記載の半導体集積回路。
【請求項１４】
前記１つの接続パターンを選択するスイッチを有することを特徴とする請求項１２または１３に記載の半導体集積回路。
【請求項１５】
前記複数種のスタンダードセルが、第２の出力端子と第２の複数の入力端子を有する第２の特定の種類のスタンダードセルをさらに含み、
前記回路ブロックが、
前記第２の特定の種類のスタンダードセルである第３のスタンダードセルであって、前記第２の複数の入力端子が前記信号経路の第３のノードに、該第２の複数の入力端子の１つもしくは複数を該第３のノードに接続する複数の負荷容量用セル接続パターンと、全く接続を行わない接続パターンとの中から選択された、第２の１つの接続パターンで接続された負荷容量用セルと、
前記第３のスタンダードセルと同一の種類のスタンダードセルであって、前記第２の複数の入力端子の少なくとも２つおよび前記第２の出力端子が前記信号経路の他のノードに接続され、該少なくとも２つの入力端子のそれぞれに入力される変数の間の論理演算結果を該第２の出力端子に出力する第４のスタンダードセルとを含むことを特徴とする半導体集積回路。
【請求項１６】
前記第２のノードと第３のノードとが同一のノードであることを特徴とする請求項１５記載の半導体集積回路。
【請求項１７】
前記回路ブロックが、前記遅延調整セルに加えて、前記第１のスタンダードセルと同一の種類のスタンダードセルであって、前記遅延入力端子が前記信号経路の第４のノードに接続され、前記出力端子が前記信号経路の第５のノードに接続され、他の入力端子が、前記複数の遅延調整セル接続パターンから選択された、前記１つの接続パターンとは異なる接続パターンで前記複数の固定電位のいずれかに接続された、第２の遅延調整セルをさらに含むことを特徴とする請求項１２ないし１６のいずれかに記載の半導体集積回路。
【請求項１８】
複数種のスタンダードセルそれぞれの、論理機能およびレイアウトのデータを含むスタンダードセルデータが記憶されたセルライブラリにおいて、
前記複数種のスタンダードセルの少なくとも１つの、出力端子と複数の入力端子とを有する特定の種類のセルについて、前記スタンダードセルデータに加えて、前記複数の入力端子から選ばれた１つもしくは複数の入力端子を同一のノードに接続した時に該同一のノードに付加される負荷容量値と、該１つもしくは複数の入力端子を該同一のノードに接続する複数の負荷容量用セル接続パターンとの対応の把握を可能とする、負荷容量用セルデータを記憶したことを特徴とするセルライブラリ。
【請求項１９】
第１の複数種のスタンダードセルそれぞれの、論理機能およびレイアウトのデータを含むスタンダードセルデータを記憶するとともに、前記複数種のスタンダードセルの少なくとも１つの、出力端子と複数の入力端子とを有する特定の種類のセルについて、前記スタンダードセルデータに加えて、前記複数の入力端子から選ばれた１つもしくは複数の入力端子を同一のノードに接続した時に該同一のノードに付加される負荷容量値と、該１つもしくは複数の入力端子を該同一のノードに接続する複数の負荷容量用セル接続パターンとの対応の把握を可能とする、負荷容量用セルデータを記憶したセルライブラリを用意し、
前記セルライブラリから、前記特定の種類のセルの少なくとも１つを含む第２の複数種のスタンダードセルを選択し、配置し、相互に接続して信号経路を形成した少なくとも１つの論理回路を含む回路ブロックを有する半導体集積回路を設計する方法であって、
前記配置および接続を、前記選択された特定の種類のスタンダードセルである第１のスタンダードセルの前記複数の入力端子を、前記信号経路の第１のノードに、前記複数の負荷容量用セル接続パターンと、全く接続を行わない接続パターンとの中から選択された１つの接続パターンで接続するように行うことを特徴とする半導体集積回路の設計方法。
【請求項２０】
前記配置および接続を行った後に、前記少なくとも１つの論理回路のタイミング評価を行い、該タイミング評価の結果に応じて、前記１つの接続パターンの修正を行うことを特徴とする請求項１９記載の半導体集積回路の設計方法。
【請求項２１】
前記配置および接続を、前記第１のスタンダードセルを前記第１のノードに接続するとともに、前記第１のスタンダードセルと同一の種類のスタンダードセルである第２のスタンダードセルの前記複数の入力端子の少なくとも２つおよび前記出力端子を、前記信号経路の他のノードに、該少なくとも２つの入力端子のそれぞれに入力される変数の間の論理演算結果が該出力端子に出力されるように接続することによって行うことを特徴とする請求項１９または２０に記載の半導体集積回路の設計方法。
【請求項２２】
第１の複数種のスタンダードセルそれぞれの、論理機能およびレイアウトのデータを含むスタンダードセルデータが記憶されたセルライブラリから、出力端子と複数の入力端子とを有する特定の種類のセルを含む第２の複数種のスタンダードセルを選択し、配置し、相互に接続して信号経路を形成した少なくとも１つの論理回路を含む回路ブロックを有する半導体集積回路を設計する方法において、
前記配置および接続を、
前記特定の種類のスタンダードセルである第１のスタンダードセルの前記複数の入力端子を、前記信号経路の第１のノードに、該複数の入力端子の１つもしくは複数を該第１のノードに接続する複数の負荷容量セル接続パターンと、全く接続を行わない接続パターンとの中から選択された１つの接続パターンで接続するとともに、
前記第１のスタンダードセルと同一の種類のスタンダードセルである第２のスタンダードセルの前記複数の入力端子の少なくとも２つおよび出力端子を、前記信号経路の他のノードに、該少なくとも２つの入力端子のそれぞれに入力される変数の間の論理演算結果が該出力端子に出力されるよう接続することによって行うことを特徴とする半導体集積回路の設計方法。
【請求項２３】
前記配置および接続を行った後に、前記少なくとも１つの論理回路のタイミング評価を行い、該タイミング評価の結果に基づいて、前記１つの接続パターンの修正を行うことを特徴とする請求項２２記載の半導体集積回路の設計方法。
【請求項２４】
それぞれが所定のレイアウトと論理機能を有する複数種のスタンダードセルを配置し、相互に接続して信号経路を形成した少なくとも１つの論理回路を含む回路ブロックを有する半導体集積回路において、
前記複数種のスタンダードセルは、出力端子と複数の入力端子を有する特定の種類のスタンダードセルを含み、
前記回路ブロックが、
前記特定の種類のスタンダードセルである第１のスタンダードセルであって、前記複数の入力端子が前記信号経路の第１のノードに、該複数の入力端子の１つもしくは複数を該第１のノードに接続する複数の負荷容量用セル接続パターンと、全く接続を行わない接続パターンとの中から選択された１つの接続パターンで接続された負荷容量用セルと、
前記第１のスタンダードセルと同一の種類のスタンダードセルであって、前記複数の入力端子の少なくとも２つおよび前記出力端子が前記信号経路の他のノードに接続され、該少なくとも２つの入力端子のそれぞれに入力される変数の間の論理演算結果を該出力端子に出力する第２のスタンダードセルとを含むことを特徴とする半導体集積回路。
【請求項２５】
前記１つの接続パターンを選択するスイッチを有することを特徴とする請求項２４記載の半導体集積回路。
【請求項２６】
前記回路ブロックが、前記負荷容量用セルに加えて、前記第１のスタンダードセルと同一の種類のスタンダードセルであって、前記複数の入力端子が前記信号経路の第２のノードに、前記複数の負荷容量用セル接続パターンから選択された、前記１つの接続パターンとは異なる接続パターンで接続された第２の負荷容量用セルをさらに含むことを特徴とする請求項２４または２５に記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路および半導体集積回路の設計方法、ならびに、半導体集積回路の設計に利用するセルライブラリに関する。特に、回路内での精密な遅れ時間の調整が可能な半導体集積回路および半導体集積回路の設計方法、ならびに、セルライブラリに関する。
【背景技術】
【０００２】
半導体集積回路においては、所望の機能を実現するために、さまざまな変数に基づいた論理演算を行う論理回路が設けられる。このような論理回路は、複雑に分岐、合流する信号経路を有し、信号経路内のさまざまな部分での動作のタイミングをそろえる必要がある。このため、信号経路内の必要な箇所には遅延回路が設けられる。
【０００３】
このような遅延回路として、一般的には、バッファが用いられる。すなわち、信号経路内の必要な箇所に、必要な遅延時間を得るために必要な個数のバッファを直列に接続し、この直列接続段数によって遅延時間を調整する。この場合、バッファ１個分の遅延時間の単位でしか遅延時間を調整することができない。
【０００４】
これに対して、バッファを直列に接続する場合に比較して短い時間単位で遅延時間を調整できる回路も提案されている。例えば特許文献１には、制御入力に入力される制御信号によって遅延時間が制御できる遅延回路が開示されている。同様の遅延回路は特許文献２，３等にも開示されている。
【０００５】
ところで、さまざまな論理処理を行う半導体集積回路の設計には、スタンダードセルが利用されることが一般的である。この場合、それぞれの論理機能を実現するために必要な複数のトランジスタ、およびそれらトランジスタの間を接続する配線のレイアウトをあらかじめ作成し、スタンダードセルとして、ライブラリに登録する。たとえば、インバータ、バッファ、ＡＮＤ、ＯＲ、ＮＡＮＤ、ＮＯＲ等の基本ゲートや、それらを組み合わせたさまざまな論理機能を有するスタンダードセルが、セルライブラリに登録される。そして、それぞれの半導体集積回路の仕様を満たすために必要なスタンダードセルが、セルライブラリから選択され、配置され、相互に接続される。これによって、信号経路が形成され、半導体集積回路を構成するさまざまな論理回路、もしくは、複数の論理回路からなる回路ブロックが形成される。
【特許文献１】特開平９−１９１２３９号公報
【特許文献２】特開平７−２０２６５３号公報
【特許文献３】特開２００４−１３５３３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記特許文献１〜３に記されたような遅延回路を、スタンダードセルを用いた半導体集積回路の設計において利用するためには、遅延回路のスタンダードセルを作成し、セルライブラリに登録する必要がある。しかし、この作業には時間を要し、現実的ではない。
【０００７】
本発明は、新たなスタンダードセルの登録を要することなく、精密な遅延時間調整が可能な半導体集積回路および半導体集積回路の設計方法、ならびに、半導体集積回路の設計に利用するスタンダードセルライブラリを提供することを課題とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するため、本発明の実施形態の、複数種のスタンダードセルそれぞれの、論理機能およびレイアウトのデータを含むスタンダードセルデータが記憶されたセルライブラリは、前記複数種のスタンダードセルの少なくとも１つの、出力端子と複数の入力端子とを有する特定の種類のセルについて、前記スタンダードセルデータに加えて、前記複数の入力端子から選ばれた遅延入力端子と前記出力端子との間の遅延時間と、他の入力端子を複数の固定電位のいずれかに接続する複数の遅延調整セル接続パターンとの対応の把握を可能とする、遅延調整セルデータを記憶したことを特徴とする
ここで、前記遅延調整セルデータが、前記出力端子に付加される負荷容量値が異なる複数の場合のそれぞれについての、前記遅延時間と複数の遅延調整セル接続パターンと対応の把握を可能とするものであることが好ましい。
【０００９】
さらに、複数種のスタンダードセルの少なくとも１つの、出力端子と第２の複数の入力端子とを有する第２の特定の種類のセルについて、前記スタンダードセルデータに加えて、前記第２の複数の入力端子から選ばれた１つもしくは複数の入力端子を同一のノードに接続したときに、該同一のノードに付加される負荷容量値と、該１つもしくは複数の入力端子を該同一のノードに接続する複数の負荷容量用セル接続パターンとの対応の把握を可能とする、負荷容量用セルデータを記憶することが好ましい。
【００１０】
上記の課題を解決するため、本発明の実施形態の半導体集積回路の設計方法は、第１の複数種のスタンダードセルそれぞれの、論理機能およびレイアウトのデータを含むスタンダードセルデータを記憶するとともに、前記複数種のスタンダードセルの少なくとも１つの、出力端子と複数の入力端子とを有する特定の種類のセルについて、前記スタンダードセルデータに加えて、前記複数の入力端子から選ばれた遅延入力端子と前記出力端子との間の遅延時間と、他の入力端子を複数の固定電位のいずれかに接続する複数の遅延調整セル接続パターンとの対応の把握を可能とする、遅延調整セルデータを記憶したセルライブラリを用意し、前記セルライブラリから、前記特定の種類のセルの少なくとも１つを含む第２の複数種のスタンダードセルを選択し、配置し、相互に接続して信号経路を形成した少なくとも１つの論理回路を含む回路ブロックを有する半導体集積回路を設計する方法であって、前記配置および接続を、前記選択された特定の種類のスタンダードセルである第１のスタンダードセルの、前記遅延入力端子を前記信号経路の第１のノードに接続し、前記出力端子を前記信号経路の第２のノードに接続し、前記他の入力端子を前記複数の遅延調整セル接続パターンから選択された１つの接続パターンで前記複数の固定電位のいずれかに接続するように行うことを特徴とする。
【００１１】
ここで、前記配置および接続を行った後に、前記少なくとも１つの論理回路のタイミング評価を行い、該タイミング評価の結果に応じて、前記１つの接続パターンの修正を行うことが好ましい。
【００１２】
さらに、前記配置および接続を、前記第１のスタンダードセルを前記第１および第２のノードに接続するとともに、前記第１のスタンダードセルと同一の種類のスタンダードセルである第２のスタンダードセルの前記複数の入力端子の少なくとも２つおよび前記出力端子を、前記信号経路の他のノードに、該少なくとも２つの入力端子のそれぞれに入力される変数の間の論理演算結果が該出力端子に出力されるように接続することによって行うことが好ましい。
【００１３】
また、前記セルライブラリが、さらに、前記複数種のスタンダードセルの少なくとも１つの、第２の出力端子と第２の複数の入力端子とを有する第２の特定の種類のセルについて、前記スタンダードセルデータに加えて、前記第２の複数の入力端子から選ばれた１つもしくは複数の入力端子を同一のノードに接続した時に該同一のノードに付加される負荷容量値と、該１つもしくは複数の入力端子を該同一のノードに接続する複数の負荷容量用セル接続パターンとの対応の把握を可能とする負荷容量用セルデータを記憶し、前記第２の複数種のスタンダードセルの選択が、前記第２の特定の種類のセルの少なくとも１つを含むように行われ、前記配置および接続を、前記選択された第２の特定の種類のスタンダードセルである第３のスタンダードセルの前記第２の複数の入力端子を、前記信号経路の第３のノードに、前記複数の負荷容量用セル接続パターンと、全く接続を行わない接続パターンとの中から選択された第２の１つの接続パターンで接続するように行うことが好ましい。さらに、前記スタンダードセルに記憶される遅延調整セルデータが、前記出力端子に付加される負荷容量値が異なる複数の場合のそれぞれについての、前記遅延時間と複数の遅延調整セル接続パターンとの対応の把握を可能とするものであり、前記配置および接続を、前記第２のノードと第３のノードとが同一のノードになるように行うことが好ましい。
【００１４】
上記の課題を解決するため、本発明の実施形態の半導体集積回路の設計方法は、第１の複数種のスタンダードセルそれぞれの、論理機能およびレイアウトのデータを含むスタンダードセルデータが記憶されたセルライブラリから、出力端子と複数の入力端子とを有する特定の種類のセルを含む第２の複数種のスタンダードセルを選択し、配置し、相互に接続して信号経路を形成した少なくとも１つの論理回路を含む回路ブロックを有する半導体集積回路を設計する方法において、前記配置および接続を、前記特定の種類のスタンダードセルである第１のスタンダードセルの、前記複数の入力端子から選ばれた遅延入力端子を前記信号経路の第１のノードに接続し、前記出力端子を前記信号経路の第２のノードに接続し、他の入力端子を、該他の入力端子を複数の固定電位のいずれかに接続する複数の遅延調整セル接続パターンから選択された１つの接続パターンで、該複数の固定電位のいずれかに接続するとともに、前記第１のスタンダードセルと同一の種類のスタンダードセルである第２のスタンダードセルの、前記複数の入力端子の少なくとも２つおよび出力端子を、前記信号経路の他のノードに、該少なくとも２つの入力端子のそれぞれに入力される変数の間の論理演算結果が該出力端子に出力されるように接続することによって行うことを特徴とする。
【００１５】
上記の課題を解決するため、本発明の実施形態の、それぞれが所定のレイアウトと論理機能を有する複数種のスタンダードセルを配置し、相互に接続して信号経路を形成した少なくとも１つの論理回路を含む回路ブロックを有する半導体集積回路は、前記複数種のスタンダードセルは、出力端子と複数の入力端子を有する特定の種類のスタンダードセルを含み、前記回路ブロックが、前記特定の種類のスタンダードセルである第１のスタンダードセルであって、前記複数の入力端子から選ばれた遅延入力端子が前記信号経路の第１のノードに接続され、前記出力端子が前記信号経路の第２のノードに接続され、他の入力端子が、該他の入力端子を複数の固定電位のいずれかに接続する複数の遅延調整セル接続パターンから選択された１つの接続パターンで、該複数の固定電位のいずれかに接続された遅延調整セルと、前記第１のスタンダードセルと同一の種類のスタンダードセルであって、前記複数の入力端子の少なくとも２つおよび前記出力端子が前記信号経路の他のノードに接続され、該少なくとも２つの入力端子のそれぞれに入力される変数の間の論理演算結果を該出力端子に出力する第２のスタンダードセルとを含むことを特徴とする。
【００１６】
ここで、前記複数の遅延調整セル接続パターンのぞれぞれは、前記遅延入力端子に入力された信号が、該それぞれの遅延調整セル接続パターンに対応した遅延時間の後に、前記出力端子に出力される接続パターンであることが好ましい。さらに、前記１つの接続パターンを選択するスイッチを有することが好ましい。
【００１７】
また、前記複数種のスタンダードセルが、第２の出力端子と第２の複数の入力端子を有する第２の特定の種類のスタンダードセルをさらに含み、前記回路ブロックが、前記第２の特定の種類のスタンダードセルである第３のスタンダードセルであって、前記第２の複数の入力端子が前記信号経路の第３のノードに、該第２の複数の入力端子の１つもしくは複数を該第３のノードに接続する複数の負荷容量用セル接続パターンと、全く接続を行わない接続パターンとの中から選択された、第２の１つの接続パターンで接続された負荷容量用セルと、前記第３のスタンダードセルと同一の種類のスタンダードセルであって、前記第２の複数の入力端子の少なくとも２つおよび前記第２の出力端子が前記信号経路の他のノードに接続され、該少なくとも２つの入力端子のそれぞれに入力される変数の間の論理演算結果を該第２の出力端子に出力する第４のスタンダードセルとを含むことが好ましい。さらに、前記第２のノードと第３のノードとが同一のノードであることが好ましい。
【００１８】
また、前記回路ブロックが、前記遅延調整セルに加えて、前記第１のスタンダードセルと同一の種類のスタンダードセルであって、前記遅延入力端子が前記信号経路の第４のノードに接続され、前記出力端子が前記信号経路の第５のノードに接続され、他の入力端子が、前記複数の遅延調整セル接続パターンから選択された、前記１つの接続パターンとは異なる接続パターンで前記複数の固定電位のいずれかに接続された、第２の遅延調整セルをさらに含むことが好ましい。
【００１９】
上記の課題を解決するため、本発明の実施形態の、複数種のスタンダードセルそれぞれの、論理機能およびレイアウトのデータを含むスタンダードセルデータが記憶されたセルライブラリは、前記複数種のスタンダードセルの少なくとも１つの、出力端子と複数の入力端子とを有する特定の種類のセルについて、前記スタンダードセルデータに加えて、前記複数の入力端子から選ばれた１つもしくは複数の入力端子を同一のノードに接続した時に該同一のノードに付加される負荷容量値と、該１つもしくは複数の入力端子を該同一のノードに接続する複数の負荷容量用セル接続パターンとの対応の把握を可能とする、負荷容量用セルデータを記憶したことを特徴とする。
【００２０】
上記の課題を解決するため、本発明の実施形態の半導体集積回路の設計方法は、第１の複数種のスタンダードセルそれぞれの、論理機能およびレイアウトのデータを含むスタンダードセルデータを記憶するとともに、前記複数種のスタンダードセルの少なくとも１つの、出力端子と複数の入力端子とを有する特定の種類のセルについて、前記スタンダードセルデータに加えて、前記複数の入力端子から選ばれた１つもしくは複数の入力端子を同一のノードに接続した時に該同一のノードに付加される負荷容量値と、該１つもしくは複数の入力端子を該同一のノードに接続する複数の負荷容量用セル接続パターンとの対応の把握を可能とする、負荷容量用セルデータを記憶したセルライブラリを用意し、前記セルライブラリから、前記特定の種類のセルの少なくとも１つを含む第２の複数種のスタンダードセルを選択し、配置し、相互に接続して信号経路を形成した少なくとも１つの論理回路を含む回路ブロックを有する半導体集積回路を設計する方法であって、前記配置および接続を、前記選択された特定の種類のスタンダードセルである第１のスタンダードセルの前記複数の入力端子を、前記信号経路の第１のノードに、前記複数の負荷容量用セル接続パターンと、全く接続を行わない接続パターンとの中から選択された１つの接続パターンで接続するように行うことを特徴とする。
【００２１】
ここで、前記配置および接続を行った後に、前記少なくとも１つの論理回路のタイミング評価を行い、該タイミング評価の結果に応じて、前記１つの接続パターンの修正を行うことが好ましい。さらに、前記配置および接続を、前記第１のスタンダードセルを前記第１のノードに接続するとともに、前記第１のスタンダードセルと同一の種類のスタンダードセルである第２のスタンダードセルの前記複数の入力端子の少なくとも２つおよび前記出力端子を、前記信号経路の他のノードに、該少なくとも２つの入力端子のそれぞれに入力される変数の間の論理演算結果が該出力端子に出力されるように接続することによって行うことが好ましい。
【００２２】
上記の課題を解決するため、本発明の実施形態の半導体集積回路の設計方法は、第１の複数種のスタンダードセルそれぞれの、論理機能およびレイアウトのデータを含むスタンダードセルデータが記憶されたセルライブラリから、出力端子と複数の入力端子とを有する特定の種類のセルを含む第２の複数種のスタンダードセルを選択し、配置し、相互に接続して信号経路を形成した少なくとも１つの論理回路を含む回路ブロックを有する半導体集積回路を設計する方法において、前記配置および接続を、前記特定の種類のスタンダードセルである第１のスタンダードセルの前記複数の入力端子を、前記信号経路の第１のノードに、該複数の入力端子の１つもしくは複数を該第１のノードに接続する複数の負荷容量セル接続パターンと、全く接続を行わない接続パターンとの中から選択された１つの接続パターンで接続するとともに、前記第１のスタンダードセルと同一の種類のスタンダードセルである第２のスタンダードセルの前記複数の入力端子の少なくとも２つおよび出力端子を、前記信号経路の他のノードに、該少なくとも２つの入力端子のそれぞれに入力される変数の間の論理演算結果が該出力端子に出力されるよう接続することによって行うことを特徴とする。
【００２３】
上記の課題を解決するため、本発明の実施形態の、それぞれが所定のレイアウトと論理機能を有する複数種のスタンダードセルを配置し、相互に接続して信号経路を形成した少なくとも１つの論理回路を含む回路ブロックを有する半導体集積回路は、前記複数種のスタンダードセルは、出力端子と複数の入力端子を有する特定の種類のスタンダードセルを含み、前記回路ブロックが、前記特定の種類のスタンダードセルである第１のスタンダードセルであって、前記複数の入力端子が前記信号経路の第１のノードに、該複数の入力端子の１つもしくは複数を該第１のノードに接続する複数の負荷容量用セル接続パターンと、全く接続を行わない接続パターンとの中から選択された１つの接続パターンで接続された負荷容量用セルと、前記第１のスタンダードセルと同一の種類のスタンダードセルであって、前記複数の入力端子の少なくとも２つおよび前記出力端子が前記信号経路の他のノードに接続され、該少なくとも２つの入力端子のそれぞれに入力される変数の間の論理演算結果を該出力端子に出力する第２のスタンダードセルとを含むことを特徴とする。
【００２４】
ここで、前記１つの接続パターンを選択するスイッチを有することが好ましい。さらに、前記回路ブロックが、前記負荷容量用セルに加えて、前記第１のスタンダードセルと同一の種類のスタンダードセルであって、前記複数の入力端子が前記信号経路の第２のノードに、前記複数の負荷容量用セル接続パターンから選択された、前記１つの接続パターンとは異なる接続パターンで接続された第２の負荷容量用セルをさらに含むことが好ましい。
【発明の効果】
【００２５】
本発明の実施形態のセルライブラリにおいて、特定の種類のセルについては、スタンダードセルデータに加えて、遅延調整セルデータと負荷容量用セルデータとの少なくとも一方が記憶される。このようなセルライブラリを利用して半導体集積回路の設計を行うことにより、特定の種類のセルを、スタンダードセルとして利用するだけではなく遅延調整セルもしくは負荷容量用セルとしても利用することができる。これにより、新たなスタンダードセルの登録を要することなく、精密な遅延時間調整を可能とすることができる。
【００２６】
本発明の実施形態の半導体集積回路の設計方法において、セルライブラリから選択された特定の種類のセルを、遅延調整セルもしくは負荷容量用セルとしても利用する。これにより、新たなスタンダードセルの登録を要することなく、精密な遅延時間調整を可能とすることができる。
【００２７】
本発明の実施形態の半導体集積回路において、特定の種類のセルを、スタンダードセルとしてだけではなく、遅延調整セルもしくは負荷容量用セルとしても利用する。これにより、新たなスタンダードセルの登録を要することなく、精密な遅延時間調整が可能な半導体集積回路を得ることができる。
【発明を実施するための最良の形態】
【００２８】
図１は、本発明のセルライブラリに記憶されるデータの概要を示す概念図である。
【００２９】
セルライブラリ１０には、従来のセルライブラリと同様に、インバータ、バッファ、ＡＮＤ，ＯＲ，ＮＡＮＤ，ＮＯＲ等の基本ゲートや、それらを組み合わせたさまざまな論理機能を有するさまざまな種類のセルが登録されている。そして、これらの複数の種類のセルそれぞれについて、ＩＤが付与され、スタンダードセルとして利用するために必要な各種のデータが記憶されている。具体的には、例えば、論理機能、特性（遅延時間、駆動能力、等）、レイアウト（セルの寸法、各層のパターン、入出力端子の座標、等）のデータが、スタンダードセルデータとして記憶されている。
【００３０】
本発明のセルライブラリ１０においては、登録された複数の種類のスタンダードセルの一部（特定の種類のセル；図１のセルＣ）については、さらに、遅延調整セルとして利用するために必要なデータが記憶されている。具体的には、遅延調整セルとして利用する場合の入力端子（遅延入力端子）および出力端子の指定や、他の端子の接続パターン（遅延調整セル接続パターン）ごとの遅延時間、等のデータが、遅延調整セルデータとして記憶される。この遅延調整セルデータにより、遅延時間と接続パターンとの対応の把握を行うことができる。
【００３１】
また、登録された複数の種類のスタンダードセルの他の一部（第２の特定の種類のセル：図１のセルＤ）については、さらに、負荷容量用セルとして利用するために必要なデータが記憶されている。具体的には、複数の端子の接続パターン（負荷容量用セル接続パターン）ごとの容量値、等のデータが、負荷容量用セルデータとして記憶される。この負荷容量用セルデータにより、負荷容量と接続パターンとの対応の把握を行うことができる。
【００３２】
遅延調整セルは、遅延入力端子と出力端子とが、それぞれ、論理回路内の信号経路の第１のノードと第２のノードとの間に接続され、そのノードの間に、遅延調整セル接続パターンの選択によって調整可能な遅延時間を与える。負荷容量用セルは、複数の端子の１つもしくは複数が、信号経路の同一のノードに接続される。これにより、そのノードに、負荷容量用セル接続パターンの選択によって調整可能な容量値の負荷容量が付加される。この結果、そのノードを駆動する遅延調整セル、もしくはその他のセルの遅延時間を調整することができる。
【００３３】
遅延調整セルデータもしくは負荷容量用セルデータとしてセルライブラリ１０に記憶するデータは、図１に示された場合に限定されるものではない。遅延容量用セルデータについては、遅延時間と接続パターンとの対応の把握を可能にするデータであれば、負荷容量用セルデータについては、負荷容量と接続パターンとの対応の把握を可能にするデータであれば、他のデータを記憶することも可能である。遅延調整セルデータについては、例えば、複数の接続パターンごとの遅延時間を記憶するのではなく、ある１つの接続パターンについての遅延時間（基準遅延時間）を記憶するとともに、他の接続パターンについては、基準遅延時間との差を記憶することも可能である。
【００３４】
負荷容量用セルデータについては、例えば、複数の接続パターンごとの容量値のデータを記憶するのではなく、それぞれの端子ごとの容量値のデータを記憶することも可能である。それぞれの端子ごとの容量値のデータをセルライブラリ１０に記憶することにより、複数の端子を同一のノードに接続する接続パターンの場合についても、複数の端子の容量値を積算することにより、そのノードに付加される負荷容量値を算出することができる。これにより、負荷容量値と接続パターンとの対応を把握することができる。
【００３５】
図２は、遅延調整セルとしても利用することが可能な特定の種類のスタンダードセルの一例を示す論理回路図である。
【００３６】
スタンダードセル２０は、３つの入力端子Ｂ２，Ａ２１，Ａ２２と、１つの出力端子Ｚ２とを有する。論理的には、図２に示すように、２つの入力端子Ａ２１，Ａ２２を有するＯＲゲート２２と、入力端子Ｂ２を有するとともに、ＯＲゲート２２の出力が入力されるＮＡＮＤゲート２４とによって構成される。そして、ＮＡＮＤゲート２４の出力端子がセル２０の出力端子をＺ２を構成する。すなわち、セル２０は、スタンダードセルとしては、３つの入力端子Ｂ２，Ａ２１，Ａ２２にそれぞれ入力される信号ｂ２，ａ２１，ａ２２を変数として、下記の（式１）の論理演算を行い、その結果ｚ２を出力する論理機能を有する。
【００３７】
【数１】
2008153327.tif 000003
【００３８】
一方、スタンダードセル２０を遅延調整セルとして利用するときには、Ｂ２を遅延入力端子、Ｚ２を出力端子とし、この間を、調整可能な遅延時間を有する信号経路として利用する。このとき、他の端子（スタンダードセルとして利用する場合は、入力端子として利用する端子）Ａ２１，Ａ２２には、複数の固定電位、すなわち、ｈｉｇｈレベルもしくはｌｏｗレベルから選ばれたいずれかの電位を供給する。この、固定電位のいずれかを供給するための他の端子の接続パターン（遅延調整セル接続パターン）の選択により、遅延入力端子Ｂ２と出力端子Ｚ２との間の遅延時間を調整することができる。
【００３９】
図３は、図２に示すセル２０を構成するためのトランジスタ間の接続の一例を示す回路図である。図３に示す回路は、３個のｐ型ＭＯＳトランジスタｐｍｏｓＡ１，ｐｍｏｓＡ２，ｐｍｏｓＢと、３個のｎ型ＭＯＳトランジスタｎｍｏｓＡ１，ｎｍｏｓＡ２，ｎｍｏｓＢとからなる。ｐｍｏｓＡ１とｎｍｏｓＡ１のゲートは入力端子Ａ２１に、ｐｍｏｓＡ２とｎｍｏｓＡ２のゲートは入力端子Ａ２２に、ｐｍｏｓＢとｎｍｏｓＢのゲートは入力端子Ｂ２に、それぞれ接続されている。ｐｍｏｓＡ１とｐｍｏｓＡ２は、互いに直列に接続されるとともに、ｐｍｏｓＢと並列に接続されて、高電位電源Ｖｄｄと出力端子Ｚ２との間に接続されている。ｎｍｏｓＡ１とｎｍｏｓＡ２は、互いに並列に接続されるとともに、ｎｍｏｓＢと直列に接続されて、出力端子Ｚ２と低電位電源ＧＮＤとの間に接続されている。
【００４０】
図３に示された回路構成のセル２０において、例えば、Ａ２１，Ａ２２の両方をｈｉｇｈレベル（Ｖｄｄ電位）に固定した場合、ｐｍｏｓＡ１とｐｍｏｓＡ２はいずれもオフし、ｎｍｏｓＡ１とｎｍｏｓＡ２はいずれもオンする。これに対して、Ａ２１とＡ２２の一方がｈｉｇｈレベル、他方がｌｏｗレベル（ＧＮＤ電位）の場合、ｐｍｏｓＡ１とｐｍｏｓＡ２の一方がオンし他方がオフする。また、ｎｍｏｓＡ１とｎｍｏｓＡ２も、一方がオンし他方がオフする。このため、ｎｍｏｓＢと直列に出力端子Ｚ２と低電位電源ＧＮＤとの間に接続される抵抗は、Ａ２１とＡ２２の両方がｈｉｇｈレベルである場合の方が、一方がｈｉｇｈレベル、他方がｌｏｗレベルである場合よりも小さくなる。従って、入力端子Ｂ２に入力される信号ｂ２がｌｏｗレベルからｈｉｇｈレベルに変化し、ｎｍｏｓＢがオフからオンに変化したときに、出力端子Ｚ２の出力ｚ２がｈｉｇｈレベルからｌｏｗレベルに変化するまでに要する遅延時間は、Ａ２１とＡ２２の両方がｈｉｇｈレベルである場合の方が、一方がｈｉｇｈレベル、他方がｌｏｗレベルである場合に比較して短くなる。
【００４１】
さらに、現実には、半導体基板上において、ｎｍｏｓＡ１およびｎｍｏｓＡ２は、ｎｍｏｓＢと隣接して同一のウエル内に配置されており、Ａ２１，Ａ２２のどちらがｈｉｇｈレベルで他方がｌｏｗレベルであるかによって、ｎｍｏｓＢの動作に影響を与える。同様に、ｐｍｏｓＡ１およびｐｍｏｓＡ２は、ｐｍｏｓＢと隣接して同一のウエル内に配置されており、Ａ２１，Ａ２２のどちらがｈｉｇｈレベルで他方がｌｏｗレベルであるかによって、ｐｍｏｓＢの動作に影響を与える。
【００４２】
表１には、９０ｎｍノードのトランジスタを利用して構成した図３の回路のスタンダードセルについて、入力信号ｂ２のレベルがｌｏｗからｈｉｇｈに変化する場合、および、ｈｉｇｈからｌｏｗに変化する場合のそれぞれについて、遅延時間（入力信号ｂ２のレベルが変化してから、出力信号ｚ２のレベルが変化するまでの遅延時間）と、入力端子Ａ２１，Ａ２２の接続パターンとの関係を示した。表１から、入力信号レベルがｌｏｗからｈｉｇｈに変化する場合には、接続パターンによって、２２ｐｓもしくは３５ｐｓの間隔で遅延時間を調整することができることが分かる。さらに、入力信号レベルがｈｉｇｈからｌｏｗに変化する場合には、接続パターンによって４ｐｓもしくは２ｐｓの間隔で遅延時間を調整できることが分かる。
【００４３】
【表１】
2008153327.tif 000004
【００４４】
このように、図２および図３に示した遅延調整セル２０は、その接続パターン（遅延調整セル接続パターン）を選択することにより、数１０ｐｓないし数ｐｓの単位で遅延時間を調整することが可能である。これに対して、バッファセルは、同一のノードのトランジスタを利用して構成した場合、例えば３００ｐｓ以上の遅延時間を有する。従って、バッファの直列接続段数を調整する方法では、数１００ｐｓの単位でしか遅延時間を調整することができない。すなわち、本発明の半導体集積回路および半導体集積回路の設計方法においては、遅延調整セルの接続パターンを設定することにより、従来の方法に比較して１／１０ないしそれ以下の時間単位で、精密に遅延時間を調整することが可能である。
【００４５】
ここで、表１に遅延時間の例を示した遅延セル２０は、遅延セルとして専用に設計した、特殊な回路もしくはレイアウトを有するセルではない。表１に示した遅延時間は、半導体集積回路において一般的に必要とされる論理機能を有するスタンダードセルとして、セルライブラリ１０にあらかじめ登録されていたセルの１つについて得られる値である。実際には、図２および図３に示す遅延調整セル２０のみではなく、セルライブラリ１０に登録されているスタンダードセルの中から、さまざまな遅延時間が得られる複数種のセルを、特定の種類のセルとして選択し、接続パターンと遅延時間との対応を、遅延調整セルデータとして、セルライブラリ１０に登録しておく。そして、半導体集積回路設計において、必要な遅延時間に応じて、適切なセル、および、接続パターンを選択する。
【００４６】
なお、図３に示したように、スタンダードセル２０は、いわゆる複合ゲートの構成を有している。すなわち、図２に示されたＯＲゲート２２およびＮＡＮＤゲート２４を、それぞれ別個に構成するのではなく、両者をまとめて、一つの複合論理ゲートとして構成している。これによって、ＯＲゲート２２の入力端子Ａ２１，Ａ２２を固定電位に接続する接続パターンによって、ＮＡＮＤゲート２４の入力端子Ｂ２と出力端子Ｚ２との間の遅延時間を、数１０ｐｓの幅で変化させることができる。図２および図３に示されたものに限らず、一般的に、複合ゲートの構成を有するスタンダードセルは、遅延調整セルとして好適に利用することができる。
【００４７】
しかし、必要とする遅延時間によっては、複合ゲートの構成を持たないスタンダードセルであっても、遅延調整セルとして利用可能な場合がある。すなわち、それぞれ別個に構成したＯＲゲート、ＮＡＮＤゲート等を組み合わせて構成したセルであっても、ゲートを構成するそれぞれのトランジスタの状態は、半導体基板上で隣接して配置された他のトランジスタの動作に影響を与える。このため、表１に示した入力信号レベルがｈｉｇｈからｌｏｗに変化する場合の例ように、接続パターンによって遅延時間をわずかに変化させることが可能である。
【００４８】
また、複数の入力端子を有するスタンダードセルの、遅延入力端子として使用する１つの入力端子を除いた他の入力端子を複数の固定電位（ｈｉｇｈレベルもしくはｌｏｗレベル）のいずれかに接続する複数の接続パターンの、全てを、遅延調整セル接続パターンとして利用できるとは限らない。
【００４９】
図２に示されたスタンダードセル２０では、遅延入力端子とするＢ２を除いた他の入力端子Ａ２１，Ａ２２を、ｈｉｇｈレベルもしくはｌｏｗレベルに接続する接続パターンの内、表１に示した３つの接続パターンを、遅延調整セル接続パターンとして利用することができる。すなわち、表１に示した３つの接続パターンにおいて、遅延入力端子Ｂ２に入力した信号ｂ２を、それぞれの接続パターンに対応した遅延時間の後に、出力端子Ｚ２から（スタンダードセル２０の場合には、反転して、）出力信号ｚ２として出力することができる。これに対して、表１に示さていない４つめの接続パターンである、入力端子Ａ２１，Ａ２２の両方をｌｏｗレベルに接続する接続パターンでは、Ｂ２に入力される信号ｂ２のレベルが変化しても出力端子Ｚ２に出力される信号ｚ２のレベルは変化しない。すなわち、遅延入力端子Ｂ２に入力された信号を出力端子Ｚ２に出力することはできない。従って、この４つめの接続パターンは、遅延入力端子Ｂ２と出力端子Ｚ２との間の遅延時間を調整するための遅延調整セル接続パターンとして利用することができない。
【００５０】
図２に示されたスタンダードセル２０に限らず、遅延入力端子および出力端子を除く他の入力端子を、複数の固定電位のいずれかに接続する接続パターンの内の、複数を、遅延調整セル接続パターンとして有する、すなわち、遅延入力端子に入力した信号をそれぞれの接続パターンに対応した遅延時間の後に出力端子から出力することができる接続パターンとして有するセルを、遅延調整セルとして利用することができる。
【００５１】
図４は、負荷容量用セルとしても利用することが可能なスタンダードセルの一例を示す論理回路図である。
【００５２】
図４に示されるスタンダードセル３０は、２つの入力端子Ｂ３１およびＢ３２を有するＡＮＤゲート３２と、２つの入力端子Ａ３１およびＡ３２を有する負論理ＡＮＤゲート３４と、これらの２つのＡＮＤゲート３２および３４の出力が入力されるＯＲゲート３６からなる。そして、ＯＲゲート３６の出力端子がセル３０の出力端子Ｚ３になる。セル３０をスタンダードセルとして利用する場合、合計４つの入力端子Ｂ３１，Ｂ３２，Ａ３１，Ａ３２にそれぞれ入力される信号ｂ３１，ｂ３２，ａ３１，ａ３２から、次の（式２）の論理式によって生成される出力信号ｚ３が、出力端子Ｚ３に出力される。
【００５３】
【数２】
2008153327.tif 000005
【００５４】
これに対して、スタンダードセル３０を負荷容量用セルとして利用する場合には、各入力端子の入力容量が利用される。スタンダードセル３０内部のトランジスタの配置の例示は省略するが、４つの入力端子Ｂ３１，Ｂ３２，Ａ３１，Ａ３２は、それぞれ、トランジスタのゲートに接続されており、ゲート容量によって決まる入力容量を有している。従って、信号経路中のノードに、セル３０の入力端子を、適切な接続パターン（負荷容量用セル接続パターン）で接続することにより、そのノードに、接続パターンによって決まる容量値の負荷容量を付加することができる。
【００５５】
このように、図４に示すスタンダードセル３０は、４つの入力端子Ｂ３１，Ｂ３２，Ａ３１，Ａ３２の接続パターン（負荷容量用セル接続パターン）を選択することにより調整可能な値の負荷容量を、信号経路内の任意のノードに付加することができる。すなわち、４つの入力端子Ｂ３１，Ｂ３２，Ａ３１，Ａ３２の入力容量がすべて等しい場合には、接続される入力端子の個数によって４段階に（もしくは、いずれの入力端子も全く接続を行わない場合を含めれば、５段階に）調整できる容量値の負荷容量を付加することができる。４つの入力端子の入力容量が互いに異なる場合には、より多くの選択枝から選択可能な負荷容量値を、任意のノードに付加することができる。
【００５６】
そして、論理回路の信号経路上の任意のノードに、このように調整可能な値の負荷容量を付加することにより、そのノードに調整可能な遅延時間を与えることができる。具体的には、例えば、９０ｎｍノードのトランジスタを用いて構成したスタンダードセルの出力に、同じく９０ｎｍノードのトランジスタを用いて構成した負荷容量用セルを接続することにより、例えば、３０ｐｓ程度の時間単位で、遅延時間を与えることができる。すなわち、負荷容量用セルの接続パターンを調整することによっても、バッファセルの段数を調整する場合に比較して、１／１０程度の時間単位で、精密に遅延時間を調整することができる。
【００５７】
実際には、セルライブラリ１０に登録されているスタンダードセルの中から、さまざまな容量値が得られる複数の種類のセルを、特定の種類のセルとして選択し、容量値と接続パターン（負荷容量用セル接続パターン）との対応を、セルライブラリ１０に、負荷容量用セルデータとして登録しておく。そして、半導体集積回路設計において、必要な負荷容量値に応じて、適切なセル、および、接続パターンを選択する。
【００５８】
なお、図４に示したスタンダードセル３０を負荷容量セルとして利用する場合、信号経路中のノードに接続しない入力端子については、固定電位に接続する。これによって、セル３０内での貫通電流の発生を防止する。一方、出力端子Ｚ３は、図４に示したセルの場合には、未接続のままでよい。
【００５９】
図５は、本発明の半導体集積回路の設計方法の一例を示すフロー図である。この設計フローは、一般的なＣＡＤシステム上で実施することができる。
【００６０】
まず、設計対象の半導体集積回路の機能を実現するために必要な回路情報を、ネットリスト１２等の形態で読み込む。そして、ネットリストに記載された回路を構成するために必要な種類のスタンダードセルを、セルライブラリ１０から選択する（ステップＳ１０２）。このとき、スタンダードセルとしての論理機能を利用する目的で必要な複数の種類のセルに加えて、遅延調整セル、もしくは、負荷容量用セルとして利用するために必要な種類のセルも選択する。すなわち、スタンダードセルデータに加えて遅延調整セルデータもしくは負荷容量用セルデータが記憶された、遅延調整セルもしくは負荷容量用セルとして利用できる特定の種類のセルの中から、必要な遅延時間に応じて、少なくとも１つの種類のセルを選択する。そして、これらの選択された複数の種類のスタンダードセルを、それぞれ１個もしくは複数個、配置し、互いに接続する（ステップＳ１０４）。これによって、信号経路が形成され、１つもしくは複数の論理回路を含む回路ブロックのレイアウトデータが生成される。
【００６１】
このとき、遅延調整セルについては、遅延入力端子と出力端子とを、それぞれ、論理回路の信号経路上の異なるノードに接続し、信号経路の一部を構成するようにする。これとともに、遅延入力端子と出力端子との間で、必要な遅延時間が得られるように、他の端子の接続パターンを設定する。すなわち、セルライブラリに遅延調整セルデータとして記憶された、遅延時間と接続パターン（遅延調整セル接続パターン）との対応を参照して、適切な接続パターンを選択して、接続する。
【００６２】
負荷容量用セルについては、信号経路上の、負荷容量の付加によって遅延時間を与えることが必要なノードに、必要な遅延時間を与えることができる負荷容量値が付加できる接続パターンで接続する。すなわち、セルライブラリに負荷容量用セルデータとして記憶された、負荷容量値と接続パターン（負荷容量用セル接続パターン）との対応を参照して、適切な接続パターンを選択して、接続する。
【００６３】
ただし、この段階で利用する必要な遅延時間の値は、例えば、スタンダードセル間の接続を行う配線の長さの概略値を仮定して求めたものであり、誤差を含んだ値である。
【００６４】
その後、上記配置・接続の結果得られた、各セルの配置、および、その間を接続する配線の長さに基づいてシミュレーションを行い、回路ブロック内の各論理回路の動作タイミングを評価する（ステップＳ１０６）。その結果、所要のタイミング関係を満たさないことが判明した部分については、必要な遅延時間が得られるように、遅延調整セルもしくは負荷容量用セルの接続パターンの修正を行う（ステップＳ１０８）。これによって、回路ブロック内の各論理回路の動作タイミングの調整が行われる。この結果、タイミング調整を終えた状態の回路ブロックのレイアウトデータ１４を得ることができる。
【００６５】
少なくともこの時には、負荷容量用セルについては、複数の入力端子のいずれも、信号経路のノードには全く接続しない接続パターンが選択される場合がある。すなわち、配置・接続ステップ（Ｓ１０４）の際には、負荷容量用セルの接続によって負荷容量値を付加することが必要と判断したノードの少なくとも一部についても、ステップＳ１０６のタイミング評価の結果、負荷容量の付加を行わないことが適切であると判断される場合がある。
【００６６】
なお、配置・接続ステップ（Ｓ１０４）においても、修正ステップ（Ｓ１０８）における修正を可能とするために、信号経路のノードへの入力端子の接続を全く行わない状態で、負荷容量用セルを配置しておくことも可能である。すなわち、配置・接続ステップ（Ｓ１０４）の段階では、負荷容量の付加が不要と判断されていたノードであっても、タイミングのマージンが小さいノードについては、評価ステップ（Ｓ１０６）の評価結果によって負荷容量の付加が必要になる可能性がある。この場合に、修正ステップ（Ｓ１０８）における修正を可能にするため、入力端子の接続を全く行わない状態で負荷容量用セルを配置しておく、すなわち、配置・接続ステップ（Ｓ１０４）の段階では、全く接続を行わない接続パターンを選択する、ことが考えられる。
【００６７】
そして、以上のフローによって得られた回路ブロックのレイアウトデータ１４に、メモリブロック等の、スタンダードセルを利用せずに設計されるブロックのレイアウトデータや、入出力回路ブロック等のデータを合わせて、半導体集積回路全体のレイアウトデータが生成される。これによって、半導体集積回路の設計が完了する。この後、生成されたレイアウトデータに基づいてマスクが作成され、このマスクを利用して、半導体基板上への半導体集積回路の製造が行われる。
【００６８】
以上説明したように、図５に示した本実施形態の半導体集積回路の設計方法においては、修正ステップ（Ｓ１０８）において、遅延調整セルもしくは負荷容量用セルの接続パターンの修正を行うことによってタイミングの調整を行うことができる。この、接続パターンの修正は、遅延調整セルもしくは負荷容量用セルの端子と、固定電位もしくは信号経路のノードとの間を接続する配線の修正を行うだけで実行することができる。すなわち、セルの配置の修正は不要である。
【００６９】
例えば、バッファ段数の調整によって遅延時間の調整を行う従来の半導体集積回路の設計方法においては、タイミング評価によって新たなバッファの追加が必要になった場合には、既に配置済みの他のスタンダードセルの配置を変更することが必要になる。その結果、既に接続済みのスタンダードセル間の配線の長さも変化する。そして、配線の長さが変化した部分で新たなタイミング違反が発生し、さらにタイミング調整が必要になるなど、タイミング調整に長い時間を要する問題があった。
【００７０】
これに対して、図５に示した本実施形態の半導体集積回路の設計方法においては、セルの配置の修正を要することなく遅延時間の調整ができる。従って、短時間でタイミング調整を完了することが可能である。
【００７１】
図６は、本発明の半導体集積回路に設けられる回路ブロックの一例の構成を示す概念図である。
【００７２】
回路ブロック４０には複数の論理回路４２＿１，４２＿２，．．．が含まれている。これらの論理回路のそれぞれは、セルライブラリ１０から選択された複数の種類のスタンダードセルによって構成されている。図６に示された例では、論理回路４２＿１は、Ｃ４０２，Ｃ４０４，Ｃ４０６，Ｃ４０８，Ｃ４１０等のスタンダードセルが、互いに接続されることによって、Ｎ１，Ｎ２，Ｎ３，．．．のノードを有する信号経路を有する論理回路として構成されている。これらのスタンダードセルの一部は、論理回路４２＿１の中で、スタンダードセルとしての論理機能を発揮するように接続され、スタンダードセルとして利用されている。また、スタンダードセルの他の一部は、遅延調整セル、もしくは、負荷容量用セルとして利用するために、それらの機能を発揮するように接続されている。
【００７３】
一例として、セルＣ４０４が遅延調整セルとして利用され、セルＣ４１０が負荷容量用セルとして利用され、その他のセルＣ４０２，Ｃ４０６，Ｃ４０８は、スタンダードセルとして利用されている場合を考える。この場合、遅延調整セルＣ４０４は、論理回路４２＿１の信号経路上のノードＮ１とＮ２との間に接続され、信号経路の一部を構成している。そして、ノードＮ１とＮ２との間に、遅延調整セルＣ４０４接続パターンによって調整可能な遅延時間を与える。一方、負荷容量用セルＣ４１０は、論理回路４２＿１の信号経路上のノードＮ３に接続されている。これにより、ノードＮ３に、負荷容量用セルＣ４１０の接続パターンによって調整可能な容量値の負荷容量を付加し、ノードＮ３に遅延時間を与える。すなわち、ノードＮ３を駆動するスタンダードセルＣ４０６の負荷容量値が調整され、スタンダードセルＣ４０６の遅延時間が調整される。
【００７４】
図６では、負荷容量用セルとして利用するＣ４１０を除く全てのスタンダードセルが、論理回路４２＿１内で直列に接続されて、直線的な信号経路のみが形成された例を示した。しかし現実には、さまざまなスタンダードセルが組み合わされて、さまざまに分岐、合流する信号経路が形成されることが一般的である。このように分岐、合流する信号経路を有する論理回路が正常に動作するためには、特に、信号経路の合流が発生する部分においては、合流部分に到達する複数の信号のタイミングをそろえることが必要である。
【００７５】
図６に示される本発明の半導体集積回路においては、論理回路内の信号のタイミングを、遅延調整セルや負荷容量用セルを利用して、短い時間単位で、精密にそろえることが可能である。これにより、高い周波数での動作が可能になる。
【００７６】
なお、図示は省略しているが、論理回路４２＿１，４２＿２は、それぞれ、組合せ論理回路とフリップフロップとが交互に配置され、フリップフロップにクロック信号が供給されることによって、クロック信号に同期して動作するように構成されることが一般的である。このような同期回路において、前段の組合せ論理回路から出力された出力データ信号が、クロック信号に同期してフリップフロップに保持されるとともに、後段の組合せ論理回路に対して、入力データ信号として供給される。この場合、全てのフリップフロップに同時にクロック信号が供給されるように、クロックツリーが構成されることが一般的である。
【００７７】
遅延調整セルや負荷容量用セルは、データ信号の経路の遅延時間を調整し、タイミングをそろえることに利用できるだけではなく、クロック信号の経路であるクロックツリーの遅延時間を調整し、タイミングをそろえるためにも利用できる。
【００７８】
図６に示される本発明の半導体集積回路においては、遅延調整用セルとして利用するセルは、遅延調整用セルとして専用に用意したものでは無く、スタンダードセルとしてセルライブラリ１０に登録されていたものである。従って、論理回路４２＿１内で遅延調整用セルとして利用されるセルと同一の種類のセルが、同一の論理回路４２＿１内、もしくは、回路ブロック４０を構成する他の論理回路内で、スタンダードセルとしても利用されることが一般的である。負荷容量用セルとして利用するセルについても同様であり、同一の種類のセルが、同一の論理回路４２＿１内、もしくは、回路ブロック４０を構成する他の論理回路内で、スタンダードセルとしても利用されることが一般的である。
【００７９】
また、遅延調整セルおよび負荷容量用セルは、必要とする遅延時間もしくは負荷容量値を得るために、複数の接続パターンの中から選択された１つの接続パターンで接続される。従って、回路ブロック内の異なる箇所においては、異なる遅延時間もしくは負荷容量値を得るために、同一の種類の遅延調整セルもしくは負荷容量用セルが、異なる接続パターンで利用されることが一般的である。
【００８０】
図７および図８は、図２，図３に示した第１のスタンダードセル２０と、図４に示した第２のスタンダードセル３０とを配置し、接続することによって形成した、論理回路の一部分の第１および第２の例を示す回路図である。
【００８１】
図７もしくは図８に示した、論理回路４４の一部分は、それぞれ、２個の図２に示す第１のスタンダードセル２０＿１，２０＿２と、１個の図４に示す第２のスタンダードセル３０とを含んでいる。２個の第１のスタンダードセル２０＿１，２０＿２は、互いに直列に接続されている。すなわち、前段に配置されたスタンダードセル２０＿１は、入力端子Ｂ２が、論理回路４４の信号経路上のノードＮ４に接続されるとともに、出力端子Ｚ２が、信号経路上の他のノードＮ５に接続されている。後段のスタンダードセル２０＿２は、入力端子Ｂ２がノードＮ５に接続されるとともに、出力端子Ｚ２が、信号経路上の他のノードＮ６に接続されている。そして、スタンダードセル２０＿１は、入力端子Ｂ２に入力信号（同一の論理回路内の図示しない前段、もしくは、図示しない他の回路から供給される）が入力されるとともに、他の入力端子Ａ２１，Ａ２２には固定電位が供給されて、ノードＮ４とＮ５との間に遅延時間を与える遅延調整セルとして利用されている。一方、スタンダードセル２０＿２は、入力端子Ｂ２に入力信号が入力されるとともに、他の入力端子Ａ２１，Ａ２２にも入力信号が入力されて、式１に示す論理演算を行うスタンダードセルとして利用されている。
【００８２】
前段に配置されて遅延調整セルとして利用されているスタンダードセル２０＿１については、図７と図８とで、接続パターンが異なっており、異なる遅延時間を論理回路４４の信号経路に与えている。すなわち、図７においては、入力端子Ａ２１，Ａ２２の両方にｈｉｇｈレベル（Ｖｄｄ）の固定電位が供給されている。一方、図８においては、入力端子Ａ２１にはｈｉｇｈレベル（Ｖｄｄ）の固定電位が、入力端子Ａ２２にはｌｏｗレベル（ＧＮＤ）の固定電位が供給されている。このため、遅延調整セル２０＿１は、図８において図７の場合よりも大きな遅延時間を論理回路４４の信号経路に与える。
【００８３】
一方、第２のスタンダードセル３０は、２個の第１のスタンダードセル２０＿１と２０＿２の間のノードＮ５に負荷容量を付加する、負荷容量用セルとして利用されている。すなわち、図７の例においては、ノードＮ５に、セル３０の４つの入力端子の内のＢ３１のみが接続されている。一方、図８の例においては、ノードＮ５に、セル３０の４つの入力端子の内のＢ３１とＡ３１の２つが接続されている。従って、図７の場合に比較して図８の場合の方が、ノードＮ５に付加される負荷容量は大きい。例えば、入力端子Ｂ３１の入力容量とＡ３１の入力容量とが等しい場合であれば、図８の場合にノードＮ５に付加される容量は、図７の場合の２倍になる。
【００８４】
このように、図７と図８とでは、遅延調整セル２０＿１は、入力端子の接続パターンが異なることに加えて、負荷容量用セル３０によって付加される負荷容量の値も異なっている。この両方の影響により、遅延調整セル２０＿１は、信号経路に、図８において図７の場合よりも大きな遅延時間を与える。
【００８５】
なお、図７および図８に示した例において、セル３０の入力端子の内、ノードＮ５に接続していないものには、ｌｏｗレベルの固定電位を供給した。例えば、ＡＮＤゲート３２については、図７および図８のいずれの回路においても、一方の入力端子Ｂ３１がノードＮ５に接続され、他方の入力端子３２がｌｏｗレベルの固定電位に接続されている。このため、ノードＮ５の電位にかかわらず、ＡＮＤゲート３２の出力はｌｏｗレベルで一定である。
【００８６】
これに対して、負論理入力ＡＮＤゲート３４については、図８の回路において、一方の入力端子Ａ３１がノードＮ５に接続され、他方の入力端子Ａ３２がｌｏｗレベルの固定電位に接続されている。従って、ノードＮ５の電位の変化によって、負論理入力ＡＮＤゲート３４の出力はｌｏｗレベルとｈｉｇｈレベルの間で遷移する。このため、負論理入力ＡＮＤゲート３４の状態遷移に伴う電流が流れ、電力が消費される。このような状態遷移による電力消費を防止するためには、入力端子Ａ３２はｈｉｇｈレベルの固定電位に接続することが好ましい。
【００８７】
図４に示したスタンダードセル３０以外のスタンダードセルを負荷容量用セルとして利用する場合にも、負荷容量用セルでの消費電力を低減するためには、信号経路のノードに接続しない入力端子に供給する固定電位のレベルを適切に選択することが好ましい。
【００８８】
ここで、遅延調整セル２０＿１については、セルライブラリ１０に、遅延時間と接続パターンとの対応の把握が可能な遅延調整セルデータが記憶されている。従って、遅延調整セルデータを参照して、必要とされる遅延時間が得られるように他の入力端子Ａ２１，Ａ２２の接続パターンを選択することができる。
【００８９】
一方、負荷容量用セル３０については、セルライブラリ１０に記憶された負荷容量用セルデータでは、入力端子Ｂ３１，Ｂ３２，Ａ３１，Ａ３２の接続パターンと負荷容量との対応の把握は可能であるが、接続パターンと遅延時間との対応を直接把握することはできない。そこで、例えば、以下のようにして、接続パターンを選択する。
【００９０】
まず、負荷容量用セル３０を接続するノードＮ５を含む信号経路、例えば、ノードＮ４とノードＮ６との間の信号経路の遅延時間を、その信号経路上に存在するセル２０＿１，２０＿２の遅延時間、および、配線の遅延時間を含めて、シミュレーションによって算出する。この時、負荷容量用セル３０については、負荷容量が異なる２つの接続パターンの場合について、遅延時間の算出を行う。そして、求めた２つの場合の間で、遅延時間と負荷容量用セルによって付加される負荷容量値との間に、線形の関係があることを仮定して、所望の遅延時間が得られる負荷容量値を算出する。そして、算出された負荷容量値が得られるように、接続パターンを選択する。
【００９１】
なお、セルライブラリ１０に、遅延調整セルとして利用する特定の種類のセルの遅延調整セルデータとして、標準的な負荷容量が付加された場合についてのみではなく、負荷容量用セル３０が出力端子に接続されることによって異なる負荷容量が付加された、複数の場合のそれぞれについて、遅延時間と接続パターン（遅延調整セル接続パターン）との対応を記憶することも可能である。これにより、図７および図８に示した例のように、遅延調整セルとして利用するセル２０＿１の出力が接続されたノードＮ５に負荷容量用セル３０を接続した場合であれば、遅延調整セル２０＿１および負荷容量用セル３０の接続パターンの選択を、遅延調整セルデータを参照して容易に行うことができる。
【００９２】
しかし、本発明の半導体集積回路において、遅延調整セルの出力に負荷容量用セルを接続して利用することは必須ではない。遅延調整セルは、その出力に負荷容量用セルを接続することなく、利用することができる。負荷容量用セルも、遅延調整セルとして使われているものではない、他のスタンダードセルの出力に接続し、負荷容量の付加を行うことが可能である。この場合でも、上記のように２つの接続パターンの場合について遅延時間を算出することにより、接続パターンの選択を行うことができる。
【００９３】
また、遅延調整セルおよび負荷容量用セルのみではなく、例えば、バッファを直列に接続した遅延回路を、合わせて利用することも可能である。例えば、バッファを直列に接続した遅延回路を、大きな時間単位で遅延時間を調整する粗調整セルとして利用し、本発明の遅延調整セルおよび負荷容量セルを、より小さな時間単位で遅延時間を調整する微調整セルとして利用することができる。
【００９４】
図９は、図７および図８と同様に、２個の第１のスタンダードセル２０＿１，２０＿２と、１個の第２のスタンダードセル３０とを配置し、接続することによって形成した、論理回路の一部分の他の例を示す回路図である。
【００９５】
図７および図８には、図５に示す設計フローの配置・接続ステップＳ１０４において、遅延調整セル２０＿１および負荷容量用セル３０についても、固定の配線による接続を行った例を示した。これに対して、図９には、配置・接続ステップＳ１０４において、遅延調整セル２０＿１および負荷容量用セル３０の接続のために、制御信号によって接続を設定可能なスイッチを配置した例を示す。すなわち、図９に示した論理回路４６においては、遅延調整セル２０＿１の接続パターンを選択する第１のスイッチＳＷ１と、負荷容量用セル３０の接続パターンを選択する第２のスイッチＳＷ２とを設けた。
【００９６】
第１のスイッチＳＷ１は、遅延調整セル２０＿１の接続パターン、すなわち、入力端子Ａ２１およびＡ２２に供給する固定電位のレベルを選択する。これによって、遅延調整セル２０＿１の遅延時間を調整する。第２のスイッチＳＷ２は、負荷容量用セル３０の接続パターン、すなわち、入力端子Ｂ３１，Ｂ３２，Ａ３１，Ａ３２のいずれをノードＮ５に接続し、他に固定電位（ＧＮＤ電位）を供給するかを選択する。これによって、負荷容量用セル３０がノードＮ５に付加する負荷容量値を調整する。
【００９７】
スイッチによる接続パターンの選択により、実際に半導体基板上に製造した半導体集積回路、もしくはさらに、回路基板上に実装した半導体集積回路について、論理回路のタイミング評価を行い、その評価結果に応じて、接続パターンの修正を行い、遅延時間の調整を行うことができる。この場合、図５のフローにおける評価ステップ（Ｓ１０６）は、半導体集積回路の製造後、もしくは、回路基板への実装後に行われ、その評価結果に応じて、スイッチによる接続パターンの修正が、修正ステップ（Ｓ１０８）として実施される。
【００９８】
スイッチＳＷ１およびＳＷ２としては、ヒューズや、各種のメモリ素子によって制御されたパストランジスタ等を利用することができる。
【００９９】
以上、本発明の半導体集積回路を実施例に沿って具体的に説明した。本発明が上記の具体例には限定されず、さまざまな変形、改良が可能であることは言うまでもない。
【０１００】
本発明の実施形態において、セルライブラリに登録された複数の種類のスタンダードセルの中から、遅延調整セルおよび負荷容量用セルとして利用する特定の種類のスタンダードセルを選択し、例えばシミュレーションによって、接続パターンと遅延時間もしくは負荷容量値との対応を求め、この対応を、遅延調整セルデータおよび負荷容量用セルデータとして、セルライブラリに記憶する。遅延時間は、スタンダードセルの回路構成のみではなく、半導体基板上のトランジスタの配置にも依存するため、シミュレーションを行って評価することが必要である。しかし、スタンダードセルデータが記憶されたセルライブラリが既に構築された環境においては、この作業の実施は容易である。すなわち、セルライブラリに登録されたスタンダードセルについては、既にライブラリに記憶されるレイアウトデータを利用してシミュレーションを行うことのみによって、接続パターンと遅延時間もしくは負荷容量値との対応を求めることができる。
【０１０１】
仮に、シミュレーションの結果、所望の対応関係を持たないことが分かったとしても、単に、他のセルについてシミュレーションを繰り返せばよい。そして、遅延調整セルや負荷容量用セルとして利用するためのデータが得られたら、単に、そのデータのみをセルライブラリに追加して記憶すればよい。すなわち、レイアウトデータ等の、スタンダードセルとして利用するためのデータは、既にライブラリに記憶されているため、新たに記憶する必要はない。
【０１０２】
これに対して、遅延時間調整のための専用のセルを、新たなスタンダードセルとしてセルライブラリに登録するためには、まず、新たなセルのレイアウトを作成することが必要になる。セルライブラリに登録可能なセルとするためには、さまざまな制約を満たすことが必要であり、その設計は容易ではない。通常は、設計を行った後、検証プログラムによる制約に対する違反の検出と、修正とを、繰り返し行うことが必要になる。このようにして、制約を満たすレイアウトの設計が完了して初めて、シミュレーションを行い、遅延時間や容量値と接続パターンとの対応を評価することが可能になる。しかも、所望の対応関係が得られなかった場合には、レイアウトの設計からやり直すことが必要になる。さらに、設計したセルが所望の対応関係を持つことが確認できたとしても、そのセルのデータをライブラリに登録することも容易ではない。すなわち、新たなセルについてのデータは、セルライブラリには全く記憶されていないので、単に、遅延時間や負荷容量値についてのデータだけではなく、レイアウト等の、スタンダードセルとして利用するためのデータも記憶することが必要である。
【０１０３】
このように、セルライブラリに登録されたスタンダードセルの中から、特定の種類のスタンダードセルを選択し、遅延調整セルデータもしくは負荷容量用セルデータをセルライブラリに追加して記憶する本発明の実施形態は、遅延時間調整のための専用のセルを新たに設計し、セルライブラリに登録する場合に比較して、はるかに容易に実施することができる。
【０１０４】
遅延調整セルおよび負荷容量用セルとしては、図２，図３，および、図４に示したものだけではなく、一般的にスタンダードセルとして利用されるさまざまなセルを利用することができる。負荷容量用セルについては、複数の入力端子を有するスタンダードセルのいずれも、利用することが可能である。遅延調整セルについては、前述のように、遅延入力端子および出力端子を除く他の入力端子を複数の固定電位のいずれかに接続する接続パターンの内の、複数を、遅延入力端子に入力した信号をそれぞれの接続パターンに対応した遅延時間の後に出力端子から出力することができる接続パターンとして有するセルを、利用することができる。
【０１０５】
例えば、図１０および図１１には、遅延調整セルとしても利用することが可能なスタンダードセルの他の一例の、論理回路図およびトランジスタ接続図を示す。スタンダードセル５０は、２つの入力端子Ａ５１，Ａ５２を有するＡＮＤゲート５２と、負論理入力端子Ｂ５を有するとともに、ＡＮＤゲート５２の出力が入力されるＯＲゲート５４とによって構成される。そして、ＯＲゲート５４の出力端子がセル５０の出力端子Ｚ５を構成する。そして、入力Ａ５１およびＡ５２の接続パターンが（ｌｏｗ、ｌｏｗ）、（ｌｏｗ、ｈｉｇｈ）、（ｈｉｇｈ、ｌｏｗ）である３つの接続パターンにおいて、入力端子Ｂ５に入力された信号が、それぞれの接続パターンに対応した遅延時間の後に、出力端子Ｚ５から、反転されて出力される。
【０１０６】
図１１の回路図のトランジスタ接続に関する説明は省略するが、このスタンダードセル５０も、複合ゲートの構成を有しており、接続パターンによって、数１０ｐｓの単位で遅延時間を調整することができる。
【０１０７】
同様に、入力端子Ｂ５が正論理入力端子であるセルも、遅延調整セルとして利用することができる。この場合には、入力Ａ５１およびＡ５２の接続パターンが（ｌｏｗ、ｌｏｗ）、（ｌｏｗ、ｈｉｇｈ）、（ｈｉｇｈ、ｌｏｗ）である３つの接続パターンにおいて、入力端子Ｂ５に入力された信号が、それぞれの接続パターンに対応した遅延時間の後に、出力端子Ｚ５から、反転されずに、出力される。
【図面の簡単な説明】
【０１０８】
【図１】本発明のセルライブラリに記憶されるデータの概要を示す概念図である。
【図２】遅延調整セルとしても利用することが可能な特定の種類のスタンダードセルの一例を示す論理回路図である。
【図３】図２に示すセルを構成するためのトランジスタ間の接続の一例を示す回路図である。
【図４】負荷容量用セルとしても利用することが可能なスタンダードセルの一例を示す論理回路図である。
【図５】本発明の半導体集積回路の設計方法の一例を示すフロー図である。
【図６】本発明の半導体集積回路に設けられる回路ブロックの一例の構成を示す概念図である。
【図７】本発明の半導体集積回路に設けられる論理回路の一部分の第１の例を示す回路図である。
【図８】本発明の半導体集積回路に設けられる論理回路の一部分の第２の例を示す回路図である。
【図９】本発明の半導体集積回路に設けられる論理回路の一部分の他の例を示す回路図である。
【図１０】遅延調整セルとしても利用することが可能な特定の種類のスタンダードセルの他の一例を示す論理回路図である。
【図１１】図１０に示すセルを構成するためのトランジスタ間の接続の一例を示す回路図である。
【符号の説明】
【０１０９】
１０  セルライブラリ
１２  ネットリスト
１４  回路ブロックレイアウトデータ
２０，５０  スタンダードセル（遅延調整セル）
３０  スタンダードセル（負荷容量用セル）
４０  回路ブロック
４２＿１，４２＿２，４４  論理回路
Ａ２１，Ａ２２，Ａ３１，Ａ３２，Ｂ３１，Ｂ３，Ａ５１，Ａ５２，Ｂ５  入力端子
Ｚ２，Ｚ３，Ｚ５  出力端子
Ｎ１，Ｎ２，Ｎ３，Ｎ４，Ｎ５，Ｎ６  ノード
【図１】
2008153327.tif 000006
【図２】
2008153327.tif 000007
【図３】
2008153327.tif 000008
【図４】
2008153327.tif 000009
【図５】
2008153327.tif 000010
【図６】
2008153327.tif 000011
【図７】
2008153327.tif 000012
【図８】
2008153327.tif 000013
【図９】
2008153327.tif 000014
【図１０】
2008153327.tif 000015
【図１１】
2008153327.tif 000016
【手続補正書】
【提出日】平成20年2月26日(2008.2.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１の複数種のスタンダードセルそれぞれの、論理機能およびレイアウトのデータを含むスタンダードセルデータを記憶するとともに、前記複数種のスタンダードセルの少なくとも１つの、出力端子と複数の入力端子とを有する特定の種類のセルについて、前記スタンダードセルデータに加えて、前記複数の入力端子から選ばれた遅延入力端子と前記出力端子との間の遅延時間と、他の入力端子を複数の固定電位のいずれかに接続する複数の遅延調整セル接続パターンとの対応の把握を可能とする、遅延調整セルデータを記憶したセルライブラリを用意し、
前記セルライブラリから、前記特定の種類のセルの少なくとも１つを含む第２の複数種のスタンダードセルを選択し、配置し、相互に接続して信号経路を形成した少なくとも１つの論理回路を含む回路ブロックを有する半導体集積回路を設計する方法であって、
前記配置および接続を、前記選択された特定の種類のスタンダードセルである第１のスタンダードセルの、前記遅延入力端子を前記信号経路の第１のノードに接続し、前記出力端子を前記信号経路の第２のノードに接続し、前記他の入力端子を前記複数の遅延調整セル接続パターンから選択された１つの接続パターンで前記複数の固定電位のいずれかに接続するように行うことを特徴とする半導体集積回路の設計方法。
【請求項２】
前記配置および接続を行った後に、前記少なくとも１つの論理回路のタイミング評価を行い、該タイミング評価の結果に応じて、前記１つの接続パターンの修正を行うことを特徴とする請求項１記載の半導体集積回路の設計方法。
【請求項３】
前記配置および接続を、前記第１のスタンダードセルを前記第１および第２のノードに接続するとともに、前記第１のスタンダードセルと同一の種類のスタンダードセルである第２のスタンダードセルの前記複数の入力端子の少なくとも２つおよび前記出力端子を、前記信号経路の他のノードに、該少なくとも２つの入力端子のそれぞれに入力される変数の間の論理演算結果が該出力端子に出力されるように接続することによって行うことを特徴とする請求項１または２に記載の半導体集積回路の設計方法。
【請求項４】
前記セルライブラリが、さらに、前記複数種のスタンダードセルの少なくとも１つの、第２の出力端子と第２の複数の入力端子とを有する第２の特定の種類のセルについて、前記スタンダードセルデータに加えて、前記第２の複数の入力端子から選ばれた１つもしくは複数の入力端子を同一のノードに接続した時に該同一のノードに付加される負荷容量値と、該１つもしくは複数の入力端子を該同一のノードに接続する複数の負荷容量用セル接続パターンとの対応の把握を可能とする負荷容量用セルデータを記憶し、
前記第２の複数種のスタンダードセルの選択が、前記第２の特定の種類のセルの少なくとも１つを含むように行われ、
前記配置および接続を、前記選択された第２の特定の種類のスタンダードセルである第３のスタンダードセルの前記第２の複数の入力端子を、前記信号経路の第３のノードに、前記複数の負荷容量用セル接続パターンと、全く接続を行わない接続パターンとの中から選択された第２の１つの接続パターンで接続するように行うことを特徴とする請求項１ないし３のいずれかに記載の半導体集積回路の設計方法。
【請求項５】
前記スタンダードセルに記憶される遅延調整セルデータが、前記出力端子に付加される負荷容量値が異なる複数の場合のそれぞれについての、前記遅延時間と複数の遅延調整セル接続パターンとの対応の把握を可能とするものであり、
前記配置および接続を、前記第２のノードと第３のノードとが同一のノードになるように行うことを特徴とする請求項４記載の半導体集積回路の設計方法。
【請求項６】
第１の複数種のスタンダードセルそれぞれの、論理機能およびレイアウトのデータを含むスタンダードセルデータが記憶されたセルライブラリから、出力端子と複数の入力端子とを有する特定の種類のセルを含む第２の複数種のスタンダードセルを選択し、配置し、相互に接続して信号経路を形成した少なくとも１つの論理回路を含む回路ブロックを有する半導体集積回路を設計する方法において、
前記配置および接続を、
前記特定の種類のスタンダードセルである第１のスタンダードセルの、前記複数の入力端子から選ばれた遅延入力端子を前記信号経路の第１のノードに接続し、前記出力端子を前記信号経路の第２のノードに接続し、他の入力端子を、該他の入力端子を複数の固定電位のいずれかに接続する複数の遅延調整セル接続パターンから選択された１つの接続パターンで、該複数の固定電位のいずれかに接続するとともに、
前記第１のスタンダードセルと同一の種類のスタンダードセルである第２のスタンダードセルの、前記複数の入力端子の少なくとも２つおよび出力端子を、前記信号経路の他のノードに、該少なくとも２つの入力端子のそれぞれに入力される変数の間の論理演算結果が該出力端子に出力されるように接続することによって行うことを特徴とする半導体集積回路の設計方法。
【請求項７】
前記配置および接続を行った後に、前記少なくとも１つの論理回路のタイミング評価を行い、該タイミング評価の結果に基づいて、前記１つの接続パターンの修正を行うことを特徴とする請求項６記載の半導体集積回路の設計方法。
【請求項８】
前記第２の複数種のスタンダードセルの選択が、第２の出力端子と第２の複数の入力端子とを有する第２の特定の種類のセルを含むように行われ、
前記配置および接続を、
前記第２の特定の種類のスタンダードセルである第３のスタンダードセルの前記第２の複数の入力端子を、前記信号経路の第３のノードに、該第２の複数の入力端子の１つもしくは複数を該第３のノードに接続する複数の負荷容量セル接続パターンと、全く接続を行わない接続パターンとの中から選択された第２の１つの接続パターンで接続するとともに、
前記第３のスタンダードセルと同一の種類のスタンダードセルである第４のスタンダードセルの、前記第２の複数の入力端子の少なくとも２つおよび第２の出力端子を、前記信号経路の他のノードに、該少なくとも２つの入力端子にそれぞれ入力される変数の間の論理演算結果が該第２の出力端子に出力されるよう接続することによって行うことを特徴とする請求項６または７に記載の半導体集積回路の設計方法。
【請求項９】
それぞれが所定のレイアウトと論理機能を有する複数種のスタンダードセルを配置し、相互に接続して信号経路を形成した少なくとも１つの論理回路を含む回路ブロックを有する半導体集積回路において、
前記複数種のスタンダードセルは、出力端子と複数の入力端子を有する特定の種類のスタンダードセルを含み、
前記回路ブロックが、
前記特定の種類のスタンダードセルである第１のスタンダードセルであって、前記複数の入力端子から選ばれた遅延入力端子が前記信号経路の第１のノードに接続され、前記出力端子が前記信号経路の第２のノードに接続され、他の入力端子が、該他の入力端子を複数の固定電位のいずれかに接続する複数の遅延調整セル接続パターンから選択された１つの接続パターンで、該複数の固定電位のいずれかに接続された遅延調整セルと、
前記第１のスタンダードセルと同一の種類のスタンダードセルであって、前記複数の入力端子の少なくとも２つおよび前記出力端子が前記信号経路の他のノードに接続され、該少なくとも２つの入力端子のそれぞれに入力される変数の間の論理演算結果を該出力端子に出力する第２のスタンダードセルとを含むことを特徴とする半導体集積回路。
【請求項１０】
前記複数の遅延調整セル接続パターンのぞれぞれは、前記遅延入力端子に入力された信号が、該それぞれの遅延調整セル接続パターンに対応した遅延時間の後に、前記出力端子に出力される接続パターンであることを特徴とする請求項９記載の半導体集積回路。
【請求項１１】
前記１つの接続パターンを選択するスイッチを有することを特徴とする請求項９または１０に記載の半導体集積回路。
【請求項１２】
前記複数種のスタンダードセルが、第２の出力端子と第２の複数の入力端子を有する第２の特定の種類のスタンダードセルをさらに含み、
前記回路ブロックが、
前記第２の特定の種類のスタンダードセルである第３のスタンダードセルであって、前記第２の複数の入力端子が前記信号経路の第３のノードに、該第２の複数の入力端子の１つもしくは複数を該第３のノードに接続する複数の負荷容量用セル接続パターンと、全く接続を行わない接続パターンとの中から選択された、第２の１つの接続パターンで接続された負荷容量用セルと、
前記第３のスタンダードセルと同一の種類のスタンダードセルであって、前記第２の複数の入力端子の少なくとも２つおよび前記第２の出力端子が前記信号経路の他のノードに接続され、該少なくとも２つの入力端子のそれぞれに入力される変数の間の論理演算結果を該第２の出力端子に出力する第４のスタンダードセルとを含むことを特徴とする請求項９から１１のいずれかに記載の半導体集積回路。
【請求項１３】
前記第２のノードと第３のノードとが同一のノードであることを特徴とする請求項１２記載の半導体集積回路。
【請求項１４】
前記回路ブロックが、前記遅延調整セルに加えて、前記第１のスタンダードセルと同一の種類のスタンダードセルであって、前記遅延入力端子が前記信号経路の第４のノードに接続され、前記出力端子が前記信号経路の第５のノードに接続され、他の入力端子が、前記複数の遅延調整セル接続パターンから選択された、前記１つの接続パターンとは異なる接続パターンで前記複数の固定電位のいずれかに接続された、第２の遅延調整セルをさらに含むことを特徴とする請求項９ないし１３のいずれかに記載の半導体集積回路。
【請求項１５】
第１の複数種のスタンダードセルそれぞれの、論理機能およびレイアウトのデータを含むスタンダードセルデータを記憶するとともに、前記複数種のスタンダードセルの少なくとも１つの、出力端子と複数の入力端子とを有する特定の種類のセルについて、前記スタンダードセルデータに加えて、前記複数の入力端子から選ばれた１つもしくは複数の入力端子を同一のノードに接続した時に該同一のノードに付加される負荷容量値と、該１つもしくは複数の入力端子を該同一のノードに接続する複数の負荷容量用セル接続パターンとの対応の把握を可能とする、負荷容量用セルデータを記憶したセルライブラリを用意し、
前記セルライブラリから、前記特定の種類のセルの少なくとも１つを含む第２の複数種のスタンダードセルを選択し、配置し、相互に接続して信号経路を形成した少なくとも１つの論理回路を含む回路ブロックを有する半導体集積回路を設計する方法であって、
前記配置および接続を、前記選択された特定の種類のスタンダードセルである第１のスタンダードセルの前記複数の入力端子を、前記信号経路の第１のノードに、前記複数の負荷容量用セル接続パターンと、全く接続を行わない接続パターンとの中から選択された１つの接続パターンで接続するように行うことを特徴とする半導体集積回路の設計方法。
【請求項１６】
前記配置および接続を行った後に、前記少なくとも１つの論理回路のタイミング評価を行い、該タイミング評価の結果に応じて、前記１つの接続パターンの修正を行うことを特徴とする請求項１５記載の半導体集積回路の設計方法。
【請求項１７】
前記配置および接続を、前記第１のスタンダードセルを前記第１のノードに接続するとともに、前記第１のスタンダードセルと同一の種類のスタンダードセルである第２のスタンダードセルの前記複数の入力端子の少なくとも２つおよび前記出力端子を、前記信号経路の他のノードに、該少なくとも２つの入力端子のそれぞれに入力される変数の間の論理演算結果が該出力端子に出力されるように接続することによって行うことを特徴とする請求項１５または１６に記載の半導体集積回路の設計方法。
【請求項１８】
第１の複数種のスタンダードセルそれぞれの、論理機能およびレイアウトのデータを含むスタンダードセルデータが記憶されたセルライブラリから、出力端子と複数の入力端子とを有する特定の種類のセルを含む第２の複数種のスタンダードセルを選択し、配置し、相互に接続して信号経路を形成した少なくとも１つの論理回路を含む回路ブロックを有する半導体集積回路を設計する方法において、
前記配置および接続を、
前記特定の種類のスタンダードセルである第１のスタンダードセルの前記複数の入力端子を、前記信号経路の第１のノードに、該複数の入力端子の１つもしくは複数を該第１のノードに接続する複数の負荷容量セル接続パターンと、全く接続を行わない接続パターンとの中から選択された１つの接続パターンで接続するとともに、
前記第１のスタンダードセルと同一の種類のスタンダードセルである第２のスタンダードセルの前記複数の入力端子の少なくとも２つおよび出力端子を、前記信号経路の他のノードに、該少なくとも２つの入力端子のそれぞれに入力される変数の間の論理演算結果が該出力端子に出力されるよう接続することによって行うことを特徴とする半導体集積回路の設計方法。
【請求項１９】
前記配置および接続を行った後に、前記少なくとも１つの論理回路のタイミング評価を行い、該タイミング評価の結果に基づいて、前記１つの接続パターンの修正を行うことを特徴とする請求項１８記載の半導体集積回路の設計方法。
【請求項２０】
それぞれが所定のレイアウトと論理機能を有する複数種のスタンダードセルを配置し、相互に接続して信号経路を形成した少なくとも１つの論理回路を含む回路ブロックを有する半導体集積回路において、
前記複数種のスタンダードセルは、出力端子と複数の入力端子を有する特定の種類のスタンダードセルを含み、
前記回路ブロックが、
前記特定の種類のスタンダードセルである第１のスタンダードセルであって、前記複数の入力端子が前記信号経路の第１のノードに、該複数の入力端子の１つもしくは複数を該第１のノードに接続する複数の負荷容量用セル接続パターンと、全く接続を行わない接続パターンとの中から選択された１つの接続パターンで接続された負荷容量用セルと、
前記第１のスタンダードセルと同一の種類のスタンダードセルであって、前記複数の入力端子の少なくとも２つおよび前記出力端子が前記信号経路の他のノードに接続され、該少なくとも２つの入力端子のそれぞれに入力される変数の間の論理演算結果を該出力端子に出力する第２のスタンダードセルとを含むことを特徴とする半導体集積回路。
【請求項２１】
前記１つの接続パターンを選択するスイッチを有することを特徴とする請求項２０記載の半導体集積回路。
【請求項２２】
前記回路ブロックが、前記負荷容量用セルに加えて、前記第１のスタンダードセルと同一の種類のスタンダードセルであって、前記複数の入力端子が前記信号経路の第２のノードに、前記複数の負荷容量用セル接続パターンから選択された、前記１つの接続パターンとは異なる接続パターンで接続された第２の負荷容量用セルをさらに含むことを特徴とする請求項２０または２１に記載の半導体集積回路。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、半導体集積回路および半導体集積回路の設計方法に関する。特に、回路内での精密な遅れ時間の調整が可能な半導体集積回路および半導体集積回路の設計方法に関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
本発明は、新たなスタンダードセルの登録を要することなく、精密な遅延時間調整が可能な半導体集積回路および半導体集積回路の設計方法を提供することを課題とする。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】削除
【補正の内容】
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】削除
【補正の内容】
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】削除
【補正の内容】