(57)【要約】【課題】  ドミノ回路の適用箇所を拡大してより高速動作可能なＬＳＩを設計できるようにして、設計自動化に対応可能なドミノ回路を含む半導体集積回路装置の設計法を得る。【解決手段】  論理部を構成する各トランジスタ間が未接続状態とされたダイナミック型論理回路セル１００が２次元アレイ状に配列され、これらダイナミック型論理回路セルの各列毎にクロック信号を分配するための配線が施された半導体集積回路装置において、セルに対して論理機能を割当て、クロック信号のクロックサイクルにより定まる評価期間内におけるセルの直列接続段数を求め、直列接続段数が規定段数を超えない場合に、半導体集積回路装置上にセルを配置して遅延計算を行って制約を満足できるかどうか判定する。満足すれば、終了であり、満足しなければ、修正となる。【選択図】      図１
2006253242.tif 000002
【特許請求の範囲】
【請求項１】
論理部を構成する各トランジスタ間が未接続状態とされたダイナミック型論理回路セルの２次元アレイ状配列と、これらダイナミック型論理回路セルの各列毎にクロック信号を分配するための配線とを含むことを特徴とする半導体集積回路装置。
【請求項２】
前記ダイナミック型論理回路セルの各々は、前記トランジスタ間の接続状態に応じて複数種類の論理構成が自在であるこを特徴とする請求項１記載の半導体集積回路装置。
【請求項３】
ダナミック型論理回路セルの各々は、前記論理部の他に、プリチャージ部、クロックゲーティング部、駆動部を有しており、前記プリチャージ部、クロックゲーティング部、駆動部をそれぞれ構成する各トランジスタ間も未接続状態とされていることを特徴とする請求項１または２記載の半導体集積回路装置。
【請求項４】
前記プリチャージ部、クロックゲーティング部、駆動部をそれぞれ構成する各トランジスタ間は、回路の規則制約に従って接続状態とされることを特徴とする請求項１〜３いずれか記載の半導体集積回路装置。
【請求項５】
論理部を構成する各トランジスタ間が未接続状態とされたダイナミック型論理回路セルが２次元アレイ状に配列され、これらダイナミック型論理回路セルの各列毎にクロック信号を分配するための配線が施された半導体集積回路装置の設計法であって、
前記セルに対して論理機能を割当てるステップと、
前記クロック信号のクロックサイクルにより定まる評価期間内における前記セルの直列接続段数を求めるステップと、
前記直列接続段数が規定段数を超えない場合に、前記半導体集積回路装置上に前記セルを配置して遅延計算を行うステップと、
を含むことを特徴とする半導体集積回路装置の設計法。
【請求項６】
前記直列接続段数が規定段数を超える場合や、前記遅延計算の結果が予め定められた制約を満足しない場合には、論理構成の修正をなすステップを、更に含むことを特徴とする請求項５記載の半導体集積回路装置の設計法。
【請求項７】
論理部を構成する各トランジスタ間が未接続状態とされたダイナミック型論理回路セルが２次元アレイ状に配列され、これらダイナミック型論理回路セルの各列毎にクロック信号を分配するための配線が施された半導体集積回路装置の設計法をコンピュータに実行させるためのプログラムであって、
前記セルに対して論理機能を割当てる処理と、
前記クロック信号のクロックサイクルにより定まる評価期間内における前記セルの直列接続段数を求める処理と、
前記直列接続段数が規定段数を超えない場合に、前記半導体集積回路装置上に前記セルを配置して遅延計算を行う処理と、
を含むことを特徴とするプログラム。
【請求項８】
前記直列接続段数が規定段数を超える場合や、前記遅延計算の結果が予め定められた制約を満足しない場合には、論理構成の修正をなす処理を、更に含むことを特徴とする請求項７記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体集積回路装置及びその設計法に関し、特にドミノ回路セルアレイを含む半導体集積回路装置及びその設計法に関するものである。
【背景技術】
【０００２】
高速動作可能なＬＳＩを設計する場合には、通常のＣＭＯＳ回路で構成されるスタティック回路では、集積度の関係でその占有面積が不足する状況が増えてきている。特に、１ＧＨｚを越える周波数で動作するプロセッサ等を設計する場合には、このことは特に顕著となる。このために、このような設計では、スタティック回路に代わってダイナミック回路が使用されることが多い。ドミノ回路はこうしたダイナミック回路の１つとして有名であり、特に利用実績が増えてきている（特許文献１，２参照）。
【０００３】
しかしながら、ドミノ回路を用いた設計は、これまでほとんど人手設計にて行われてきた。これは、スタティック回路とは異なるドミノ回路特有の設計上の問題点に起因している。１つは、基本となるセル回路（プリミティブ・ブロックと呼ぶ場合もある）を設計した後、スタティック回路では、直流ノイズマージンのみを検証すれば良いが、ドミノ回路では、これに加えて交流ノイズマージン、プリチャージ時間、チャージシェア等の複数の検証を実施する必要があることである。
【０００４】
これによりドミノ回路セルは、スタティック回路のように標準ライブラリとして用意されず、全て必要とする設計者が用意して検証を行う必要がある。また、スタティック回路と比べてノイズに弱く、論理誤動作を行う可能性が高い。加えて、スタティック回路とは異なり、ドミノ回路セル全てに対して、ダイナミック動作のためのクロックを分配する必要があり、レイアウト設計が完了して遅延検証を行った後で、各ドミノ回路ステージ毎の遅延時間と要求されるクロックサイクルとの制約を確認しながら、分配するクロックを決定する必要があることから、遅延制約を満足できない場合の修正や後戻りが大きくなる。
【０００５】
【特許文献１】特開昭６３−１０８８１４号公報
【特許文献１】特開平１０−３３６０１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述したドミノ回路セルアレイを含む半導体集積回路における設計法には、以下に示すような問題がある。第１の課題は、これまでのドミノ回路設計は人手設計を前提としているため、設計の自動化が困難であることである。第２の課題は、設計自動化が困難なため、ドミノ回路の適用範囲は限られた箇所だけに限定されており、適用箇所をより広範囲に拡大できないことである。
【０００７】
本発明の目的は、ドミノ回路の適用箇所を拡大してより高速動作可能なＬＳＩを設計できるようにして、設計自動化に対応可能なドミノ回路を含む半導体集積回路装置及びその設計法を提供することである。
【課題を解決するための手段】
【０００８】
本発明による半導体集積回路装置は、論理部を構成する各トランジスタ間が未接続状態とされたダイナミック型論理回路セルの２次元アレイ状配列と、これらダイナミック型論理回路セルの各列毎にクロック信号を分配するための配線とを含むことを特徴とする。
【０００９】
本発明による半導体集積回路装置の設計法は、論理部を構成する各トランジスタ間が未接続状態とされたダイナミック型論理回路セルが２次元アレイ状に配列され、これらダイナミック型論理回路セルの各列毎にクロック信号を分配するための配線が施された半導体集積回路装置の設計法であって、前記セルに対して論理機能を割当てるステップと、前記クロック信号のクロックサイクルにより定まる評価期間内における前記セルの直列接続段数を求めるステップと、前記直列接続段数が規定段数を超えない場合に、前記半導体集積回路装置上に前記セルを配置して遅延計算を行うステップとを含むことを特徴とする。
【００１０】
本発明によるプログラムは、論理部を構成する各トランジスタ間が未接続状態とされたダイナミック型論理回路セルが２次元アレイ状に配列され、これらダイナミック型論理回路セルの各列毎にクロック信号を分配するための配線が施された半導体集積回路装置の設計法をコンピュータに実行させるためのプログラムであって、前記セルに対して論理機能を割当てる処理と、前記クロック信号のクロックサイクルにより定まる評価期間内における前記セルの直列接続段数を求める処理と、前記直列接続段数が規定段数を超えない場合に、前記半導体集積回路装置上に前記セルを配置して遅延計算を行う処理とを含むことを特徴とする。
【００１１】
本発明の作用を述べる。高速動作回路として知られるＣＭＯＳダイナミック回路の中でも特に利用実績の多いドミノ回路に関して、プリチャージＰＭＯＳ部、ＮＭＯＳ論理部、クロックゲーティングＮＭＯＳ部、Ｌｅａｋｅｒ部、駆動インバータ部の各回路に対して、複数種の回路構成を採りうる未配線のドミノ回路セルを、予め、２次元アレイ状に半導体集積回路上に形成しておき、各ドミノ回路セル列毎に必要なクロック信号を予め分配配線しておく。
【００１２】
また、この半導体集積回路の設計法として、ドミノ回路セルが実現可能な各種論理構成の中から最大の遅延時間を求めておき、論理合成と最適化後のクロックサイクル中の最大ドミノ回路段数から遅延制約を満足可能がどうか予め判断することで、配置配線を行う前にＲＴＬ（Register Transfer Level ）修正による遅延改善を実施する。
【００１３】
更に、プリチャージＰＭＯＳ部やクロックゲーティングＮＭＯＳ部のトランジスタ構成も可変にしておき、ＮＭＯＳ論理部のＮＭＯＳトランジスタ接続状態に応じて、プリチャージ時間やチャージシェアなどのドミノ回路特有の回路規則制約を満足するように、後から配線を追加する。このように、本発明では、ドミノ回路を使用した設計を自動化できるようにしているので、これまで適用範囲が限られていたドミノ回路をより広範囲に適用して、より高速なＬＳＩを設計することができる。
【発明の効果】
【００１４】
本発明による第１の効果は、論理構成を変更可能なドミノ回路セルを２次元アレイ状に敷き詰めた半導体集積回路を用意して、その設計手法を開示しているので、ドミノ回路を使用した設計を自動化できることである。また、本発明による第２の効果は、ドミノ回路の設計を自動化できるようにしているので、これまで適用範囲が限られていたドミノ回路を、より広範囲に適用したＬＳＩを設計できることである。
【発明を実施するための最良の形態】
【００１５】
以下に、図面を参照しつつ本発明の実施の形態について詳細に説明する。図１を参照すると、本発明の一実施例としてのドミノ回路セル１００が示されている。図１において、プリチャージＰＭＯＳ部１１０は、複数のＰＭＯＳトランジスタ１１１〜１１４から構成されており、その中で１つのＰＭＯＳトランジスタ１１１のみが電源ＶDDと接続ノード１７０を介してＮＭＯＳ論理部１２０に接続されている。また、このＰＭＯＳトランジスタ１１１のゲート電極は、クロック信号１６０に接続されている。
【００１６】
ＮＭＯＳ論理部１２０は、複数のＮＭＯＳトランジスタ１２１−１〜１２１−３，１２２−１〜１２２−３，１２３−１〜１２３−３，１２４−１〜１２４−３から構成されており、これらのＮＭＯＳトランジスタは全て未接続の状態になっている。なお、ＮＭＯＳ論理部１２０の各ＮＭＯＳトランジスタにおけるゲート電極がこのドミノ回路セルの入力信号となりうる。
【００１７】
クロックゲーティングＮＭＯＳ部１３０は、ＮＭＯＳ論理部１２０と接地ＧＮＤとの間に接続されており、複数のＮＭＯＳトランジスタ１３１〜１３４から構成されている。この中の１つのトランジスタ１３１のみが接地ＧＮＤと接続ノード１８０を介してＮＭＯＳ論理部１２０に接続されている。プリチャージＰＭＯＳ部１１０とＮＭＯＳ論理部１２０との間の接続ノード１７０は、チャージノードとも呼ばれる。チャージノード１７０は、更にＬｅａｋｅｒ部１４０と駆動インバータ部１５０とに接続されている。
【００１８】
クロック信号１６０がＬｏｗ（ロー）レベルの時は、プリチャージＰＭＯＳ部１１０のＰＭＯＳトランジスタがオン状態になり、クロックゲーティングＮＭＯＳ部１３０のＮＭＯＳトランジスタがオフ状態になる。このため、ＮＭＯＳ論理部１２０の入力信号がどのような状態であっても、チャージノード１７０は電源ＶDDに接続され、Ｈｉｇｈ（ハイ）レベルに充電される。クロック信号１６０  がＨｉｇｈレベルの時は、逆にプリチャージＰＭＯＳ部１６０がオフ状態、クロックゲーティングＮＭＯＳ部１３０がオン状態となり、ＮＭＯＳ論理部１２０の状態により、チャージノード１７０はＨｉｇｈレベルを維持するか、それともＬｏｗレベルに放電されるかが決定される。
【００１９】
この時、ＮＭＯＳ論理部１２０の入力信号にノイズが乗ると、意図せずチャージノード１７０がＬｏｗレベルに放電され、誤動作する可能性がある。そこで、Ｌｅａｋｅｒ部１４０がチャージノード１７０に接続され、このような誤動作を防止してＨｉｇｈレベルを維持するように動作する。Ｌｅａｋｅｒ部１４０には、チャージノード１７０と電源ＶDDの間にＰＭＯＳトランジスタ１４１が接続されており、そのゲート電極には、チャージノード１７０を入力とする論理反転回路１４２（以下インバータと称する）の出力が接続されている。これにより、チャージノードがＨｉｇｈレベルにある間はＰＭＯＳトランジスタ１４１がオン状態にあり、Ｌｏｗレベルに放電しようとしても、このＰＭＯＳトランジスタにより再充電される。
【００２０】
ＮＭＯＳ論理部１２０がその入力信号により論理的にチャージノード１７０を放電しようとする場合には、Ｌｅａｋｅｒ部１４０のＰＭＯＳトランジスタ１４１よりも大きな電流駆動力で放電するように設計することで、ノイズによる誤動作と論理による正常動作とを区別できるようにする。チャージノード１７０の論理値は、駆動インバータ部１５０によりドミノ回路セル１００の出力信号１９０を駆動して、次段の論理回路に信号を伝達する。
【００２１】
駆動インバータ部１５０は、ＰＭＯＳトランジスタ１５１−１，１５２−１，１５３−１，１５４−１とＮＭＯＳトランジスタ１５１−２，１５２−２，１５３−２，１５４−２の対で構成される複数のインバータで構成される。その中で１つのＰＭＯＳトランジスタ１５１−１のみが電源ＶDDと、１つのＮＭＯＳトランジスタ１５１−２のみが接地ＧＮＤと接続され、ＰＭＯＳトランジスタ１５１−１とＮＭＯＳトランジスタ１５１−２の接続ノードがドミノ回路セル１００の出力信号１９０としてインバータが構成されている。
【００２２】
図２を参照すると、図１に示すドミノ回路セル１００を２次元アレイ状に敷き詰めた半導体集積回路２００が示されている。図２では、便宜上、ＲＯＷ００からＲＯＷ１２までの１３列を例示している。各列毎に、ドミノ回路セル１００を並べて配置している。各ドミノ回路セル１００は、半導体プロセスにおける、トランジスタを構成する下地層と第１層の配線層を使用して製造されている。また、各列上には予めクロック配線２０１，２０２が第２層の配線層を使用して直線に配線されており、各ドミノ回路セル１００のクロック入力端子に接続されている。
【００２３】
図３を参照すると、図２に示すクロック配線２０１，２０２に伝達されるクロック信号が示されている。ドミノ回路セルに供給されるクロック信号としては、システムクロック３００と、同位相のクロック信号３０１と、逆位相のクロック信号３０２とがある。ドミノ回路セルは、いずれのクロック信号が接続されても、クロック信号がＬｏｗレベルの間は、プリチャージ期間としてチャージノードをＨｉｇｈレベルに充電し、クロック信号がＨｉｇｈレベルの間は、評価期間としてドミノ回路セルの入力信号の状態に応じて、チャージノードをＨｉｇｈレベルのまま維持するか、Ｌｏｗレベルに放電するか、のどちらかの動作を行う。
【００２４】
図２に示した半導体集積回路２００においては、ＲＯＷ００からＲＯＷ０４及びＲＯＷ１０からＲＯＷ１２に対しては、正位相クロック信号２０１を分配して配線しており、ＲＯＷ０５からＲＯＷ０９に対しては、逆位相クロック信号２０２を分配して配線している。
【００２５】
上述した半導体集積回路２００において、第２層以上の配線層を使用して各ドミノ回路セル１００の配線、及び各ドミノ回路セル１００間を接続する配線を追加することで、所望の論理機能を実現することができる。
【００２６】
以上詳細に実施例の構成を述べたが、図１に示すプリチャージＰＭＯＳ部１１０、ＮＭＯＳ論理部１２０、クロックゲーティングＮＭＯＳ部１３０、駆動インバータ部１５０にそれぞれ含まれるＭＯＳトランジスタ数に関しては、図１に示した数に限定されるものではない。
【００２７】
また、Ｌｅａｋｅｒ部１４０の構成に関して、図１では、チャージノード１７０を入力とするインバータ１４２によりＰＭＯＳトランジスタ１４１のゲート電極を駆動しているが、駆動インバータ部１５０の出力信号１９０で直接ＰＭＯＳトランジスタ１４１のゲート電極を駆動して、Ｌｅａｋｅｒ部１４０のインバータ１４２を削除したドミノ回路セルの構成は、当業者にとって良く知られており、このような回路変更は、本発明の内容とは直接関係しない。
【００２８】
同じように、クロックゲーティングＮＭＯＳ部１３０の持たずに、論理ＮＭＯＳ部１２０とクロックゲーティングＮＭＯＳ部１３０間の接続ノード１８０を直接接地ＧＮＤに接続するドミノ回路セルの構成も、当業者にとって良く知られている。
【００２９】
また、図２に示す半導体集積回路２００において、２次元アレイ状に敷き詰めたドミノ回路セルに関して、各列間や各セル間に隙間を空けて敷き詰めるかどうかという構成の違いは、本発明の内容とは直接関係しない。また、各クロック相をどれだけのドミノ回路セル列に接続するかは、設計対象に依存して自由に設定すべきものであることは、当業者にとっては明らかなことであり、図２に例示する列数に限定されることはない。
【００３０】
次に、図１のドミノ回路セル１００を用いた図２の半導体集積回路２００の設計法を、図４に示すフローチャートを使用して説明する。本発明の設計法では、以下のステップで設計を行う。
【００３１】
１．ＲＴＬを作成する（ステップ４０１）。一般的に、ＶｅｒｉｌｏｇやＶＨＤＬ（VHSIC Hardware Description Language ）といった記述言語を用いてＲＴＬが作成される。
【００３２】
２．ＲＴＬを論理合成／最適化により論理式に変換する（ステップ４０２）。ドミノ回路は正論理の回路であるため、通常のＣＭＯＳスタティック回路の負論理とは異なることに注意する。論理合成／最適化の結果は、正論理の論理式とする必要がある。
【００３３】
３．正論理の論理式からドミノ回路セルのＮＭＯＳ論理部のＮＭＯＳトランジスタ接続構成を決定する（ステップ４０３）。この時、ドミノ回路セルのＮＭＯＳ論理部の取り得る最大構成を予め限定しておく。すなわち、ＮＭＯＳトランジスタの最大縦積み段数と最大並列数の組み合わせ種類を何通りか設定しておくことである。例えば、縦積みＮＭＯＳトランジスタが４段の場合には、並列は３列まで、縦積み３段の場合は、並列４列まで、縦積み２段の場合には、並列６列まで、縦積み１段の場合には、並列８列まで、といった規定である。
【００３４】
４．ステップ４０３で決定された各ドミノ回路セルのＮＭＯＳ論理部構成から、ルールに従ってプリチャージＰＭＯＳ部の並列ＰＭＯＳトランジスタ数を決定する（ステップ４０４）。ＮＭＯＳ論理部の縦積みＮＭＯＳトランジスタ段数が少なく、並列数が多い場合には、チャージノードに接続される容量値が等価的に大きく見えることから、プリチャージ時間を規定時間以内に納めるために、プリチャージＰＭＯＳ部のＰＭＯＳトランジスタの並列数を大きくする必要がある。
【００３５】
５．ステップ４０３で決定された各ドミノ回路セルのＮＭＯＳ論理部構成から、ルールに従ってクロックゲーティングＮＭＯＳ部の並列ＮＭＯＳトランジスタ数を決定する（ステップ４０５）。ＮＭＯＳ論理部の縦積みＮＭＯＳトランジスタ段数が多く、並列数が少ない場合には、ＮＭＯＳトランジスタ部のチャージノードに対する放電電流駆動力が小さくなることから、チャージノードの放電時間を短縮してドミノ回路セルの遅延時間を短縮するために、クロックゲーティングＮＭＯＳ部のＮＭＯＳトランジスタの並列数を大きくする必要がある。
【００３６】
６．各クロック位相信号に接続されるドミノ回路セルの同一評価期間内（０．５クロックサイクル）における直列接続段数の最大数を算出する（ステップ４０６）。
【００３７】
７．ステップ４０３において予め限定したＮＭＯＳ論理部の最大構成における遅延時間を用いて、ステップ４０６で算出した評価期間内の最大ドミノ回路セル段数がクロックサイクルの５０％以内に収まるかどうかを判断する（ステップ４０７）。収まっていない場合には、遅延時間制約が満足できない可能性が高いので、ステップ４０１に戻ってＲＴＬの修正、すなわち論理構成の修正を行う。
【００３８】
８．ステップ４０７において最大ドミノ回路セル段数が要求されるクロックサイクルから導かれる規定段数以内に収まっている場合には、各ドミノ回路セルを２次元アレイ状に配置された半導体集積回路上に配置する（ステップ４０８）。
【００３９】
９．ステップ４０８での配置結果を受けて、各ドミノ回路セル間の接続配線長を算出する（ステップ４０９）。
【００４０】
１０．ステップ４０９で算出された各ドミノ回路セル間の接続配線長に従い、波形鈍り制限や遅延時間制約を考慮して必要な駆動力を求めて、各ドミノ回路セルの駆動インバータ部の並列インバータ数を決定する（ステップ４１０）。
【００４１】
１１．以上のステップにより、必要な論理機能の回路化と半導体集積回路上での配置配線が完了するので、詳細な遅延計算を実施する（ステップ４１１）。
【００４２】
１２．ステップ４１１にて遅延が制約を満足していれば終了、制約を満足していない場合には、ステップ４０８に戻って各ドミノ回路セルの配置を修正するか、ステップ４０１に戻ってＲＴＬの修正を行う（ステップ４１２）。
以上の各ステップを実行することで、２次元アレイ状に配置されたドミノ回路セル上に論理機能を実現することができる。
【００４３】
ここで、上記の各ステップによる設計法の中で、一部を図面を用いて詳細に説明する。図５を参照すると、ドミノ回路セル内の配線を行って、ある論理機能を実現した一実施例が示されている。図において、ドミノ回路セル５００のＮＭＯＳ論理部５２０に関して、４つのＮＭＯＳトランジスタ５２１−１〜５２４−１がそれぞれチャージノード５７０に接続されている。また、この４つのＮＭＯＳトランジスタ５２１−１〜５２４−１はそれぞれクロックゲーティングＮＭＯＳ部５３０との接続ノード５８０にも接続されている。
【００４４】
このＮＭＯＳ論理部内の接続配線は、図４のフローチャートにおけるステップ４０３を実行した結果である。４つのＮＭＯＳトランジスタ５２１−１〜５２４−１のゲート電極が、このドミノ回路セル５００の入力信号となり、このドミノ回路セル５００は、この４つの入力信号の論理和機能を実現することができる。ＮＭＯＳ論理部５２０の回路構成が決定すると、図４のフローチャートにおけるステップ４０４を実行することで、プリチャージＰＭＯＳ部５１０の２つのＰＭＯＳトランジスタ５１２，５１３が、新たに電源ＶDDとチャージノード５７０に接続される。
【００４５】
ＮＭＯＳ論理部５２０の回路構成がＮＭＯＳトランジスタ縦積み１段でかつ並列数が４となっており、チャージノード５７０の容量値が大きいことから、プリチャージＰＭＯＳ部５１０のＰＭＯＳトランジスタの並列数を当初の１つから３つに増やした結果である。更に、図４のフローチャートにおけるステップ４０５を実行することで、クロックゲーティングＮＭＯＳ部のＮＭＯＳトランジスタ並列数を決定する。
【００４６】
図５のドミノ回路セルの例では、ＮＭＯＳ論理部５２０の回路構成においてＮＭＯＳトランジスタ縦積み段数が１段であることから、クロックゲーティングＮＭＯＳ部５３０のＮＭＯＳトランジスタ並列数は当初の１つのままとなり、新たな配線は発生していない。
【００４７】
図６を参照すると、別の論理機能を実現するドミノ回路セル６００内の配線が示されている。図において、ＮＭＯＳ論理部６２０は、３組の、それぞれ２つのＮＭＯＳトランジスタ６２１−１と６２１−２、６２２−１と６２２−２、６２３−１と６２３−２が、それぞれ縦積み接続された回路構成となっている。６つのＮＭＯＳトランジスタ６２１−１，６２１−２，６２２−１，６２２−２，６２３−１，６２３−２のゲート電極が、それぞれこのドミノ回路セル６００の入力信号となり、これらの入力信号を順番にＡ〜Ｆとすると、このドミノ回路セル６００は、Ａ＊Ｂ＋Ｃ＊Ｄ＋Ｅ＊Ｆ（＊は論理積を、＋は論理和を表す）という論理機能を実現することができる。
【００４８】
プリチャージＰＭＯＳ部６１０は、ＮＭＯＳ論理部６２０の構成を考慮して、新たに１つのＰＭＯＳトランジスタ６１２が電源ＶDDとチャージノード６７０に接続されるよう配線が追加されている。また、クロックゲーティングＮＭＯＳ部６３０も同様に、新たに１つのＮＭＯＳトランジスタ６３２がＮＭＯＳ論理部６２０との接続ノード６８０及び接地ＧＮＤに接続されるよう配線が追加されている。これらは、図５に関する説明と同様に、図４のフローチャートにおけるステップ４０３からステップ４０５を実行することで、実現されている。
【００４９】
なお、上述したプリチャージＰＭＯＳ部やクロックゲーティングＮＭＯＳ並列数は、実施例の説明のために便宜上定義した値であり、上記の説明におけるＮＭＯＳ論理部の回路構成と直接は関係がない。実際には、より詳細な検証を行って決定される値であり、使用する半導体プロセスや温度、電圧等の環境条件に応じて最適な値にする必要があることは、明確である。
【００５０】
図７を参照すると、ドミノ回路セルが２次元アレイ状に配置された半導体集積回路７００に対して、実際に論理機能を実現したドミノ回路セルを配置する様子が示されている。図において、４つのドミノ回路セル７１０，７２０，７３０，７４０（それぞれ、ドミノ回路セルＡ、ドミノ回路セルＢ、ドミノ回路セルＣ、ドミノ回路セルＤとする）が配置されている。この中で、２つのドミノ回路セル７１０，７２０は正相クロック信号が分配接続され、あと２つのドミノ回路セル７３０，７４０は逆相クロック信号が分配接続されている。
【００５１】
このような半導体集積回路上にドミノ回路セルを配置することは、図４のフローチャートにおけるステップ４０８を実行することで実現される。そして、ステップ４０９を実行することで、各ドミノ回路セル間の配線７１１，７２１，７３１を引いて配線長を算出することができる。各ドミノ回路間の配線長が算出されたら、図４にフローチャートにおけるステップ４１０を実行して、各ドミノ回路セル内の駆動インバータ部の並列インバータ数を決定して、それに応じた配線を追加することになる。
【００５２】
例えば、図７においてドミノ回路セルＢ（７２０）とドミノ回路セルＣ（７３０）間の配線７２１は、配線長が比較的短いため、図５に示したドミノ回路セル５００の駆動インバータ部５５０のように、当初のインバータ接続数１のままとすることができる。また、ドミノ回路セルＡ（７１０）とドミノ回路セルＣ（７３０）間の配線７１１は、配線長が比較的長いため、図６に示したドミノ回路セル６００の駆動インバータ部６５０のように、新たに２組のインバータを構成するトランジスタ６５２−１と６５２−２、６５３−１と６５３−２を、電源ＶDDと接地ＧＮＤ及びチャージノード６７０と出力信号６９０に接続して、駆動力を高めることになる。
【００５３】
以上のような処理を繰り返すことで、本発明によるドミノ回路セルを含む半導体集積回路を設計することができ、また、図４のフローチャートに示した各ステップは設計自動化が可能である。
【００５４】
本発明の他の実施例として、その基本的構成は上記の通りであるが、ドミノ回路セルに供給するクロックに関して、互いにオーバラップする４位相のクロックとする実施例を提示する。図８を参照すると、互いにオーバラップする４位相のクロック信号が示されている。システムクロック８００に対して、同位相のクロック信号ＣＬＫ０（８０１）、９０度位相が遅れたクロック信号ＣＬＫ１（８０２）、１８０度位相が遅れたクロック信号ＣＬＫ２（８０３）、２７０度位相が遅れたクロック信号ＣＬＫ３（８０４）がある。
【００５５】
ＣＬＫ０とＣＬＫ１、ＣＬＫ１とＣＬＫ２、ＣＬＫ２とＣＬＫ３、ＣＬＫ３とＣＬＫ０のそれぞれ隣り合うクロック信号はクロックがＨｉｇｈレベルであるドミノ回路の評価期間が互いに４分の１周期づつオーバラップしている。このようなオーバラップしたクロック信号を使用する場合、各クロック相で動作するドミノ回路セルから次のクロック位相で動作するドミノ回路セルへの信号伝達がオーバラップする評価期間内に行われるように遅延設計をすることで、クロックスキューやジッタなどのクロック信号に起因する遅延悪化要因をキャンセルすることが可能であり、ある特定のクロックサイクル内の遅延時間が制限を満足できなくても、全てのドミノ回路セル段数合計での遅延時間値が規定遅延時間制約を満足していれば、動作可能になる利点がある。
【００５６】
このために、前述した２相クロック信号を用いるドミノ回路や通常のスタティックＣＭＯＳ回路と比較して、同じクロックサイクルにより多くの論理機能を納めたり、同じ論理機能を実現するためにより高い動作周波数を実現することが可能になる。
【００５７】
図９を参照すると、ドミノ回路セルを２次元アレイ状に配置し、４相クロック信号を配線した半導体集積回路９００が示されている。ＲＯＷ００からＲＯＷ０２とＲＯＷ１０からＲＯＷ１１には、システムクロックと同位相のクロック信号ＣＬＫ０を分配した配線９０１が存在する。ＲＯＷ０３からＲＯＷ０４とＲＯＷ１２には、システムクロックから９０度位相が遅れた信号ＣＬＫ１を分配した配線９０２が存在する。ＲＯＷ０５からＲＯＷ０７には、システムクロックから１８０度位相が遅れた信号ＣＬＫ２を分配した配線９０３が存在する。ＲＯＷ０８からＲＯＷ０９には、システムクロックから２７０度位相が遅れた信号ＣＬＫ３を分配した配線９０４が存在する。
【００５８】
図１０を参照すると、４相クロックを配線した半導体集積回路９００の設計法がフローチャートで示されている。ステップ１００１〜１００７は、図４に示したフローチャートのステップ４０１〜４０７までと同様の処理である。また、ステップ１０１０からステップ１０１４までは、図４に示したフローチャートのステップ４０８〜４１２までと同様の処理である。
【００５９】
図１０のフローチャートでは、４相クロックを使用したドミノ回路の特徴であるクロックのオーバーラップを考慮した透過性遅延検証に関する処理を追加しており、ステップ１００８と１００９とがドミノ回路セル配置前の処理として、またステップ１０１５〜１０１７がドミノ回路セル配置後の処理として追加されている。ステップ１００８と１００９とでは、ドミノ回路セルの段数が各クロックサイクル当たりで規定段数を超えている場合でも、全ドミノ回路セル段数が、要求されるドミノ回路ブロックの入力から出力までの遅延時間から求められる最大許容段数以内であれば、実現可能性があることから、これを算出して判断している。
【００６０】
ここでも規定段数を超えている場合には、ステップ１００１に戻ってＲＴＬ修正を行うことになる。また、ステップ１０１５〜１０１６では、各ドミノ回路セルを半導体集積回路上に配置して、各ドミノ回路セル間の配線を実行した後の遅延計算にて、同様に全ドミノ回路セルを通した遅延計算を行って制約を満足するかどうかを判断している。
【００６１】
なお、実際には、ここでの遅延計算はドミノ回路ブロックの入力から出力までの遅延時間だけでなく、４相の各クロック信号間の全ての組み合わせ（ＣＬＫ０からＣＬＫ２やＣＬＫ１からＣＬＫ４、更にはＣＬＫ０から１クロックサイクル経過後のＣＬＫ３まで、など、ドミノ回路ブロックの入力から出力までの間に分配される全てのクロック信号間のあらゆる組み合わせが含まれる）において、それぞれ遅延制約を満足する必要がある。
【００６２】
ここで、ドミノ回路ブロックの入力から出力までの遅延時間は制約を満足するが、各クロック信号間の遅延時間で制約を満足できない組み合わせがある場合には、ステップ１０１７を実行する。すなわち、各ドミノ回路セルに供給されている４相のクロック信号割り当てを前後の位相のクロック信号に変更することで、各クロック信号間の遅延時間制約を満足させようとすることである。
【００６３】
この場合、４相クロック信号は予め半導体集積回路９００上で分配され配線されているドミノ回路セル列が決まっているため、各ドミノ回路セルに供給するクロック信号を変更した場合は、そのドミノ回路セルは半導体集積回路上で配置を変更しなければならない。そのため、ステップ１０１０に戻って、各ドミノ回路セルの配置から再度実行することになる。
【００６４】
以上のようにして、４相クロック信号を使用するドミノ回路についても、本発明により設計を自動化することが可能である。また本発明における設計手法では、４相クロック信号を使用することで、２相クロック信号を使用する場合よりも、１クロックサイクル当たりの論理段数を増加させたり、同じ論理段数であればより動作周波数を上げたりすることが、自動化した設計で可能になる。
【００６５】
なお、ここではオーバラップした４相クロックを例にして説明したが、各クロック信号がオーバラップしていればクロック信号の相数については特に限定されないことは明らかである。
【００６６】
上述した図４及び図１０のフローチャートに従うドミノ回路セルアレイを含む半導体集積回路の設計法は、予めその動作手順をプログラムとしてＲＯＭなどの記録媒体に格納しておき、これをコンピュータであるＣＰＵにより読み取って実行するように構成できることは明白である。
【図面の簡単な説明】
【００６７】
【図１】本発明の実施例によるドミノ回路セルを示す図である。
【図２】図１に示すドミノ回路セルを２次元アレイ状に配置した半導体集積回路の例を示す図である。
【図３】図２に示すクロック配線に伝達されるクロック信号の波形を示す図である。
【図４】図２に示した半導体集積回路の設計法を示すフローチャートである。
【図５】ドミノ回路セル内の配線を行ってある論理機能を実現した例を示す図である。
【図６】ドミノ回路セル内の配線を行ってある論理機能を実現した他の例を示す図である。
【図７】ドミノ回路セルが２次元アレイ状に配置された半導体集積回路に対して、実際に論理機能を実現したドミノ回路セルを配置する様子を示す図である。
【図８】４相クロック信号の波形例を示す図である。
【図９】図１に示すドミノ回路セルを２次元アレイ状に配置し、４相クロック信号を配線した半導体集積回路の例を示す図である。
【図１０】４相クロックを配線した半導体集積回路の設計法を示すフローチャートである。
【符号の説明】
【００６８】
１００  ドミノ回路セル
１１０  プリチャージＰＭＯＳ部
１２０  ＮＭＯＳ論理部
１３０  クロックゲーティングＮＭＯＳ部
１４０  Ｌｅａｋｅｒ部
１５０  駆動インバータ部
【図１】
2006253242.tif 000003
【図２】
2006253242.tif 000004
【図３】
2006253242.tif 000005
【図４】
2006253242.tif 000006
【図５】
2006253242.tif 000007
【図６】
2006253242.tif 000008
【図７】
2006253242.tif 000009
【図８】
2006253242.tif 000010
【図９】
2006253242.tif 000011
【図１０】
2006253242.tif 000012