(57)【特許請求の範囲】
【請求項１】
選択信号の値に応じて入力信号又は特定値のいずれかを出力する選択器と、該選択信号の値に拘わらず該選択器が該特定値を出力するように該選択器を制御する制御ゲートと、複数のノードを有し、該選択器の出力信号を入力して演算を行ない、演算によって各ノードの電位が決定される演算器であって、該選択器の出力信号が特定値になることにより、各ノードの電位が貫通電流が流れない電位に保たれる特定状態になる演算器とを有し、
該演算器は、特定状態になったときに低電位になるノードを駆動する第１の論理スイッチ群及び反対に高電位になるノードを駆動する第２の論理スイッチ群によって構成され、
電源線から該演算器への接続を遮断及び導通するための電源スイッチが該第１の論理スイッチ群及び第２の論理スイッチ群のそれぞれに独立に備えられていることを特徴とする論理回路。
【請求項２】
前記電源スイッチは、前記第１の論理スイッチ群の電源線から該演算器への接続の遮断及び導通を高電位側電源で行なう第１の電源スイッチと、該第２の論理スイッチ群の電源線から該演算器への接続の遮断及び導通を低電位側電源で行なう第２の電源スイッチとからなることを特徴とする請求項１に記載の論理回路。
【請求項３】
選択信号の値に応じて入力信号又は特定値のいずれかを出力する選択器と、該選択信号の値に拘わらず該選択器が該特定値を出力するように該選択器を制御する制御ゲートと、複数のノードを有し、該選択器の出力信号を入力して演算を行ない、演算によって各ノードの電位が決定される演算器であって、該選択器の出力信号が特定値になることにより、各ノードの電位が貫通電流が流れない電位に保たれる特定状態になる演算器とを有し、
該演算器は、特定状態になったときに低電位になるノードを駆動する第１の論理スイッチ群及び反対に高電位になるノードを駆動する第２の論理スイッチ群によって構成され、
電源線から該演算器への接続を遮断及び導通するための電源スイッチが該第１の論理スイッチ群及び第２の論理スイッチ群のそれぞれに独立に備えられ、
前記電源スイッチは、前記第１の論理スイッチ群の電源線から該演算器への接続の遮断及び導通を低電位側電源で行なう第１の電源スイッチと、該第２の論理スイッチ群の電源線から該演算器への接続の遮断及び導通を低電位側電源で行なう第２の電源スイッチとからなることを特徴とする論理回路。
【請求項４】
選択信号の値に応じて入力信号又は特定値のいずれかを出力する選択器と、該選択信号の値に拘わらず該選択器が該特定値を出力するように該選択器を制御する制御ゲートと、複数のノードを有し、該選択器の出力信号を入力して演算を行ない、演算によって各ノードの電位が決定される演算器であって、該選択器の出力信号が特定値になることにより、各ノードの電位が貫通電流が流れない電位に保たれる特定状態になる演算器とを有し、
該演算器は、特定状態になったときに低電位になるノードを駆動する第１の論理スイッチ群及び反対に高電位になるノードを駆動する第２の論理スイッチ群によって構成され、
電源線から該演算器への接続を遮断及び導通するための電源スイッチが該第１の論理スイッチ群及び第２の論理スイッチ群のそれぞれに独立に備えられ、
前記電源スイッチは、前記第１の論理スイッチ群の電源線から該演算器への接続の遮断及び導通を高電位側電源で行なう第１の電源スイッチと、該第２の論理スイッチ群の電源線から該演算器への接続の遮断及び導通を高電位側電源で行なう第２の電源スイッチとからなることを特徴とする論理回路。
【請求項５】
前記演算器は、加算器であることを特徴とする請求項１、請求項３又は請求項４のいずれか一つに記載の論理回路。
【請求項６】
前記電源スイッチは、該演算器が特定状態になった後で電源線から該演算器への接続の遮断を行なうことを特徴とする請求項２〜請求項４のいずれか一つに記載の論理回路。
【請求項７】
前記第２の電源スイッチは、前記第１の電源スイッチが電源線から該演算器への接続の導通を行なった後で電源線から該演算器への接続の導通を行なうことを特徴とする請求項３に記載の論理回路。
【請求項８】
前記第１の電源スイッチは、前記第２の電源スイッチが電源線から該演算器への接続の導通を行なった後で電源線から該演算器への接続の導通を行なうことを特徴とする請求項４に記載の論理回路。
【請求項９】
前記第１及び第２の論理スイッチ群の各論理スイッチがMOS (Metal Oxide Semiconductor)トランジスタからなることを特徴とする請求項１〜請求項８のいずれか一つに記載の論理回路。
【請求項１０】
前記電源スイッチの各々がMOS (Metal Oxide Semiconductor)トランジスタからなることを特徴とする請求項１〜請求項９のいずれか一つに記載の論理回路。
【請求項１１】
組合せ論理部と、複数の入力信号を一時記憶して出力する第１のフリップフロップ群と、該組合せ論理部からの複数の出力信号を一時記憶して出力する第２のフリップフロップ群と、該第１及び第２のフリップフロップ群の出力信号を同時に特定値にする、各フリップフロップに設けた特定値設定部とを有し、
該組合せ論理部への入力信号が該第１及び第２のフリップフロップ群の出力信号であり、
該組合せ論理部は、複数のノードを有し、該特定値設定部によって該第１及び第２のフリップフロップ群の出力信号が特定値になったときに各ノードの電位が貫通電流が流れない電位に保たれる特定状態になり、かつ、該組合せ論理部は、特定状態になったときに低電位になるノードを駆動する第１の論理スイッチ群及び反対に高電位になるノードを駆動する第２の論理スイッチ群によって構成され、
電源線から該組合せ論理部への接続を遮断及び導通するための電源スイッチが該第１の論理スイッチ群及び該第２の論理スイッチ群のそれぞれに独立に備えられ、
前記電源スイッチは、前記第１の論理スイッチ群の電源線から該組合せ論理部への接続の遮断及び導通を低電位側電源で行なう第１の電源スイッチと、該第２の論理スイッチ群の電源線から該組合せ論理部への接続の遮断及び導通を低電位側電源で行なう第２の電源スイッチとからなるか、又は、前記第１の論理スイッチ群の電源線から該組合せ論理部への接続の遮断及び導通を高電位側電源で行なう第３の電源スイッチと、該第２の論理スイッチ群の電源線から該該組合せ論理部への接続の遮断及び導通を高電位側電源で行なう第４の電源スイッチとからなるかのいずれかであり、
前記電源スイッチは、該組合せ論理部が特定状態になった後で電源線から該演算器への接続の遮断を行ない、
前記第２の電源スイッチは、前記第１の電源スイッチが電源線から該演算器への接続の導通を行なった後で電源線から該演算器への接続の導通を行ない、
前記第３の電源スイッチは、前記第４の電源スイッチが電源線から該演算器への接続の導通を行なった後で電源線から該演算器への接続の導通を行なうことを特徴とする論理回路。
【請求項１２】
入力信号を入力して信号処理を行なう論理部と、該入力信号を特定値にする特定値設定部とを有し、
該論理部は、複数のノードを有し、該入力信号が特定値になったときに各ノードの電位が貫通電流が流れない電位に保たれる特定状態になり、かつ、該論理部は、特定状態になったときに低電位になるノードを駆動する第１の論理スイッチ群及び反対に高電位になるノードを駆動する第２の論理スイッチ群によって構成され、
使用される電源の高電位側及び低電位側の内の低電位側電源線と該第１の論理スイッチ群との間に電源の接続及び遮断を行なう第１の電源スイッチが設けられ、該低電位側電源線と該第２の論理スイッチ群との間に電源の接続及び遮断を行なう第２の電源スイッチが設けられ、
前記第１及び第２の電源スイッチは、該組合せ論理部が特定状態になった後で電源線から該演算器への接続の遮断を行ない、
前記第２の電源スイッチは、前記第１の電源スイッチが電源線から該演算器への接続の導通を行なった後で電源線から該演算器への接続の導通を行なうことを特徴とする論理回路。
【請求項１３】
入力信号を入力して信号処理を行なう論理部と、該入力信号を特定値にする特定値設定部とを有し、
該論理部は、複数のノードを有し、該入力信号が特定値になったときに各ノードの電位が貫通電流が流れない電位に保たれる特定状態になり、かつ、該論理部は、特定状態になったときに低電位になるノードを駆動する第１の論理スイッチ群及び反対に高電位になるノードを駆動する第２の論理スイッチ群によって構成され、
使用される電源の高電位側及び低電位側の内の高電位側電源線と該第１の論理スイッチ群との間に電源の接続及び遮断を行なう第１の電源スイッチが設けられ、該高電位側電源線と該第２の論理スイッチ群との間に電源の接続及び遮断を行なう第２の電源スイッチが設けられ、
前記第１及び第２の電源スイッチは、該組合せ論理部が特定状態になった後で電源線から該演算器への接続の遮断を行ない、
前記第１の電源スイッチは、前記第２の電源スイッチが電源線から該演算器への接続の導通を行なった後で電源線から該演算器への接続の導通を行なうことを特徴とする論理回路。
【請求項１４】
請求項１、請求項３、請求項４、請求項１１、請求項１２又は請求項１３に記載の論理回路の少なくともいずれか一つを含んでなることを特徴とするプロセッサコア。
【請求項１５】
請求項１４のプロセッサコアを備えていることを特徴とするプロセッサ。
【請求項１６】
第１の電位の電圧が供給される第１の電源線と、
第１のローカル電源線と、
前記第１の電源線と前記第１のローカル電源線との間に結合された第１のスイッチと、
第２の電位の電圧が供給される第２の電源線と、
第２のローカル電源線と、
前記第２の電源線と前記第２のローカル電源線との間に結合された第２のスイッチと、
第１の信号と特定値信号とを入力し、第２の信号を出力するフリップフロップ回路と、
前記第２の信号を入力する組合せ論理部であって、第１の論理ゲートと第２の論理ゲートとを含んで成る組合せ論理部とを具備してなり、
前記第１の論理ゲートは、前記第１のローカル電源線と前記第２の電源線とに結合され、
前記第２の論理ゲートは、前記第１の電源線と前記第２のローカル電源線とに結合され、
前記特定値信号が第１の状態にあるときに、前記第２の信号の状態が前記第１の信号の状態によって決定され、
前記特定値信号が第２の状態であるときに、前記第２の信号の状態が前記第１の信号の状態に拘わらず第２の状態になり、
前記第２の信号が第２の状態であるときに、前記第１の論理ゲートの入力が第１の電位になり、前記第２の論理ゲートの入力が第２の電位になることを特徴とする論理回路。
【請求項１７】
第１の電位の電圧が供給される第１の電源線と、
第１のローカル電源線と、
第２のローカル電源線と、
前記第１の電源線と前記第１のローカル電源線との間に結合された第１のスイッチと、
前記第１の電源線と前記第２のローカル電源線との間に結合された第２のスイッチと、
第２の電位の電圧が供給される第２の電源線と、
第１の信号と特定値信号とを入力し、第２の信号を出力するフリップフロップ回路と、
前記第２の信号を入力する組合せ論理部であって、第１の論理ゲートと第２の論理ゲートとを含んで成る組合せ論理部とを具備してなり、
前記第１の論理ゲートは、前記第１のローカル電源線と前記第２の電源線とに結合され、
前記第２の論理ゲートは、前記第２のローカル電源線と前記第２の電源線とに結合され、
前記特定値信号が第１の状態にあるときに、前記第２の信号の状態が前記第１の信号の状態によって決定され、
前記特定値信号が第２の状態であるときに、前記第２の信号の状態が前記第１の信号の状態に拘わらず第２の状態になり、
前記第２の信号が第２の状態であるときに、前記第１の論理ゲートの入力が第１の電位になり、前記第２の論理ゲートの入力が第２の電位になり、
前記第１及び第２の電源スイッチは、前記第１の論理ゲートの入力が第１の電位になり、前記第２の論理ゲートの入力が第２の電位になった後で第１の電源線からそれぞれ第１及び第２のローカル電源線への接続の遮断を行ない、
前記第２の電源スイッチは、前記第１の電源スイッチが前記第１の電源線から前記第１のローカル電源線への接続の導通を行なった後で前記第１の電源線から前記第２のローカル電源線への接続の導通を行なうことを特徴とする論理回路。
【請求項１８】
前記第１および第２のスイッチは、前記特定値信号が第２の状態になった後でオフになることを特徴とする請求項１６又は請求項１７に記載の論理回路。
【請求項１９】
前記フリップフロップ回路は第１のラッチと第２のラッチとを含んで成り、前記第１のラッチは第１のインバータとＮＡＮＤゲートを含んで成り、前記第２のラッチは第２のインバータと第３のインバータとを含んで成り、
前記フリップフロップ回路は、前記第２の状態の特定値信号を前記ＮＡＮＤゲートに入力することによって前記第２の状態の第２の信号を出力することを特徴とする請求項１６又は請求項１７に記載の論理回路。
【請求項２０】
前記フリップフロップ回路は、第１のクロック信号と第２のクロック信号とによって動作し、前記第１のクロック信号と第２のクロック信号とは第３のクロック信号から得られることを特徴とする請求項１９に記載の論理回路。
【請求項２１】
前記第１のラッチは第１の信号を受信し、
前記第２のラッチは前記第１のラッチの出力を受信して前記第２の信号を出力することを特徴とする請求項１９に記載の論理回路。
【請求項２２】
前記第２のラッチは第１の信号を受信し、
前記第１のラッチは前記第２のラッチの出力を受信して前記第２の信号を出力することを特徴とする請求項１９に記載の論理回路。
【請求項２３】
前記フリップフロップ回路は第１のラッチと第２のラッチとを含んで成り、前記第１のラッチは第１のインバータと第２のインバータとを含んで成り、前記第２のラッチは第３のインバータとＮＡＮＤゲートとを含んで成り、
前記フリップフロップ回路は、第１のクロック信号と、第２のクロック信号と、第３のクロック信号と、第３のクロック信号とによって動作し、前記第１及び第２のクロック信号は第５のクロック信号から得られ、前記第３及び第４のクロック信号は第６のクロック信号から得られ、前記第５のクロック信号と第６のクロック信号とは互いに独立しており、
前記第１及び第２のクロック信号は前記第１のラッチに入力され、前記第３及び第４のクロック信号は前記第２のラッチに入力され、
前記第１のラッチは前記第１の信号を受信し、
前記第２のラッチは前記第１のラッチの出力を受信して前記第２の信号を出力し、
前記フリップフロップ回路は、前記第２の状態の特定化信号を前記ＮＡＮＤゲートに入力することによって前記第２の状態の第２の信号を出力することを特徴とする請求項１６又は請求項１７に記載の論理回路。
【請求項２４】
前記第１及び第２のスイッチがオフになる前に、前記第５のクロック信号は前記第２の電位で停止、前記第６のクロック信号は前記第１の電位で停止することを特徴とする請求項２３に記載の論理回路。
【請求項２５】
前記フリップフロップ回路は、第１のラッチと第２のラッチとを含んで成り、前記第１のラッチは第１のインバータと第２のインバータとを含んで成り、前記第２のラッチは第３のインバータとＮＯＲゲートとを含んで成り、
前記第１のラッチは第１の信号を受信し、
前記第２のラッチは前記第１のラッチの出力を受信して第２の信号を出力し、
前記フリップフロップ回路は、前記第２の状態の特定値信号を前記ＮＯＲゲートに入力することによって前記第２の状態の第２の信号を出力することを特徴とする請求項１６又は請求項１７に記載の論理回路。
【請求項２６】
前記フリップフロップ回路は、第１のクロック信号と第２のクロック信号とによって動作し、前記第１及び第２の信号は第３のクロック信号から得られることを特徴とする請求項２５に記載の論理回路。
【請求項２７】
第１の電位の電圧が供給される第１の電源線と、第１のローカル電源線と、前記第１の電源線と前記第１のローカル電源線との間に結合された第１のスイッチと、第２の電位の電圧が供給される第２の電源線と、第２のローカル電源線と、前記第２の電源線と前記第２のローカル電源線との間に結合された第２のスイッチとを備え、
フリップフロップ回路に第１の信号と特定値信号とを入力し、
前記フリップフロップ回路から第２の信号を出力し、
前記第２の信号を組合せ論理回路に入力し、前記組合せ論理部は第１の論理ゲートと第２の論理ゲートとを含んで成り、前記第１の論理ゲートは、前記第１のローカル電源線と前記第２の電源線とに結合され、前記第２の論理ゲートは、前記第１の電源線と前記第２のローカル電源線とに結合され、
前記特定値信号が第１の状態にあるときに、前記第２の信号の状態を前記第１の信号の状態によって決定し、
前記特定値信号が第２の状態であるときに、前記第１の信号の状態に拘わらず第２の状態の前記第２の信号を出力するステップを備えており、
前記第２の信号が第２の状態であるときに、前記第１の論理ゲートの入力が第１の電位になり、前記第２の論理ゲートの入力が第２の電位になることを特徴とする論理回路における電流低減方法。
【請求項２８】
第１の電位の電圧が供給される第１の電源線と、第１のローカル電源線と、第２のローカル電源線と、前記第１の電源線と前記第１のローカル電源線との間に結合された第１のスイッチと、前記第１の電源線と前記第２のローカル電源線との間に結合された第２のスイッチと、第２の電位の電圧が供給される第２の電源線とを備え、
フリップフロップ回路に第１の信号と特定値信号とを入力し、
前記フリップフロップ回路から第２の信号を出力し、
前記第２の信号を組合せ論理回路に入力し、前記組合せ論理部は第１の論理ゲートと第２の論理ゲートとを含んで成り、前記第１の論理ゲートは、前記第１のローカル電源線と前記第２の電源線とに結合され、前記第２の論理ゲートは、前記第２のローカル電源線と前記第２の電源線とに結合され、
前記特定値信号が第１の状態にあるときに、前記第２の信号の状態を前記第１の信号の状態によって決定し、
前記特定値信号が第２の状態であるときに、前記第１の信号の状態に拘わらず第２の状態の前記第２の信号を出力するステップを備えており、
前記第２の信号が第２の状態であるときに、前記第１の論理ゲートの入力が第１の電位になり、前記第２の論理ゲートの入力が第２の電位になり、
前記第１の論理ゲートの入力が第１の電位になり、前記第２の論理ゲートの入力が第２の電位になった後で、前記第１及び第２の電源スイッチによって第１の電源線からそれぞれ第１及び第２のローカル電源線への接続の遮断を行ない、
前記第１の電源スイッチによって前記第１の電源線から前記第１のローカル電源線への接続の導通を行なった後で、前記第２の電源スイッチによって前記第１の電源線から前記第２のローカル電源線への接続の導通を行なうことを特徴とする論理回路における電流低減方法。
【請求項２９】
前記特定値信号が第２の状態になった後で前記第１および第２のスイッチをオフにするステップを更に備えていることを特徴とする請求項２７又は請求項２８に記載の電流低減方法。
【請求項３０】
前記フリップフロップ回路に第１のラッチと第２のラッチとを備え、前記第１のラッチは第１のインバータとＮＡＮＤゲートを含んで成り、前記第２のラッチは第２のインバータと第３のインバータとを含んで成り、
前記第２の状態の特定値信号を前記ＮＡＮＤゲートに入力することによって前記第２の状態の第２の信号を前記フリップフロップ回路から出力するステップを更に備えていることを特徴とする請求項２７又は請求項２８に記載の電流低減方法。
【請求項３１】
第１のクロック信号と第２のクロック信号とによって前記フリップフロップ回路を動作させ、
前記第１のクロック信号と第２のクロック信号とを第３のクロック信号から得るステップを更に備えていることを特徴とする請求項３０に記載の電流低減方法。
【請求項３２】
前記第１の信号を前記第１のラッチに入力し、
前記第１のラッチの出力を前記第２のラッチに入力し
前記第２のラッチから前記第２の信号を出力するステップを更に備えていることを特徴とする請求項３０に記載の電流低減方法。
【請求項３３】
前記第２のラッチに第１の信号を入力し、
前記第２のラッチの出力を前記第１のラッチに入力し、
前記第１のラッチから前記第２の信号を出力するステップを更に備えていることを特徴とする請求項３０に記載の電流低減方法。
【請求項３４】
前記フリップフロップ回路に第１のラッチと第２のラッチとを備え、前記第１のラッチは第１のインバータと第２のインバータとを含んで成り、前記第２のラッチは第３のインバータとＮＡＮＤゲートとを含んで成り、
第１のクロック信号と、第２のクロック信号と、第３のクロック信号と、第３のクロック信号とによって前記フリップフロップ回路を動作させ、
前記第１及び第２のクロック信号を第５のクロック信号から得、
前記第３及び第４のクロック信号を第６のクロック信号から得、前記第５のクロック信号と第６のクロック信号とは互いに独立しており、
前記第１及び第２のクロック信号を前記第１のラッチに入力し、
前記第３及び第４のクロック信号を前記第２のラッチに入力し、
前記第１の信号を前記第１のラッチに入力し、
前記第１のラッチの出力を前記第２のラッチに入力し、
前記第２の信号を前記第２のラッチから出力し、
前記第２の状態の特定化信号を前記ＮＡＮＤゲートに入力することによって前記第２の状態の第２の信号を前記フリップフロップ回路から出力するステップを更に備えていることを特徴とする請求項２７又は請求項２８に記載の電流低減方法。
【請求項３５】
前記第１及び第２のスイッチがオフになる前に、前記第５のクロック信号を前記第２の電位で停止させ、前記第６のクロック信号を前記第１の電位で停止させるステップを更に備えていることを特徴とする請求項３４に記載の電流低減方法。
【請求項３６】
第１のラッチと第２のラッチとを前記フリップフロップ回路に備え、前記第１のラッチは第１のインバータと第２のインバータとを含んで成り、前記第２のラッチは第３のインバータとＮＯＲゲートとを含んで成り、
前記第１の信号を前記第１のラッチに入力し、
前記第１のラッチの出力を前記第２のラッチに入力し、
前記第２のラッチから第２の信号を出力し、
前記第２の状態の特定値信号を前記ＮＯＲゲートに入力することによって前記第２の状態の第２の信号を前記フリップフロップ回路から出力するステップを更に備えていることを特徴とする請求項２７又は請求項２８に記載の電流低減方法。
【請求項３７】
第１のクロック信号と第２のクロック信号とによって前記フリップフロップ回路を動作させ、
前記第１及び第２の信号を第３のクロック信号から得るステップを更に備えていることを特徴とする請求項３６に記載の電流低減方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路に適用して好適な論理回路、特にCMOS (Complementary Metal Oxide Semiconductor)回路により構成され、電源投入時及び回路不使用時の消費電力が低く、高速に電源スイッチのオンオフが可能な論理回路に関する。
【０００２】
【従来の技術】
半導体集積回路の電源電圧は、プロセスの微細化と低消費電力化要求とにより年々低下している。特に低消費電力化要求は携帯電話等の携帯型電池駆動機器の普及に伴い強まってきている。半導体集積回路、中でもCMOS回路においては、消費電力はスイッチング電力が支配的であり、スイッチング電力は電源電圧の２乗に比例するので、電源電圧の低減が最も有効な消費電力削減手段である。
【０００３】
しかしながら、電源電圧の低減によって電源電圧がトランジスタの閾値電圧に近づくとトランジスタの駆動能力が著しく低下してしまい動作速度が低下する。これを回避するには、閾値電圧を下げる必要がある。ところが、閾値電圧を下げるとスイッチング電力に比べて桁違いに小さかった漏れ電流が指数関数的に増大し、無視できない電力を消費するようになる。そして、今後の更なる微細化と低電圧化により、スイッチング電力以上の電力を消費するようになると予測される。特に、スイッチング電力が回路動作時にのみ消費されるのに対し、漏れ電流による電力は、電源印加中に常に消費される。長時間回路を使用しない場合は、この漏れ電流による電力が支配的となるため、回路全体または不要な回路の電源を遮断して消費電力を低減するのが一般的である。
【０００４】
これとは別に、長時間回路を使用しない状態からスイッチオンしたときに、トランジスタの出力ノードのレベルが一斉に反対のレベルに移行する場合があり、このとき貫通電流が流れる。この貫通電流も消費電力増大の一因となる。
【０００５】
例えば、特開平６−２９８３４号公報（文献１）は、低閾値の論理回路と電源線対の間に高閾値のMOSトランジスタによる電源スイッチ（以下ではこれを「電源スイッチMOS」という）を挿入し、これを回路非動作時にオフにして電源線対への漏れ電流を抑止する論理回路の構成を開示している。電源スイッチMOSは、電源線対の双方と論理回路の間に挿入されるか、又は多段論理の各段毎に交互に電源線対の一方との間に挿入される。
【０００６】
また、特開平５−２９１９２９号公報（文献２）は、文献１による回路構成を採用する他、出力ノードにレベルホールド回路を付加し、スイッチオフ時に出力を保持する論理回路の構成を開示している。レベルホールド回路は、高閾値のMOSトランジスタで構成され、直接電源線対に接続される。また、複数のインバータを従属接続するインバータチェーンにおいて、奇数番目と偶数番目とで電源系を分離し、それぞれを異なる高閾値電源スイッチMOSで電源線対に接続し、出力ノードおよびその前段のノードに、高閾値のMOSトランジスタで構成したレベルホールド回路を付加する回路構成が開示されている。レベルホールド回路は直接電源線対に接続されており、インバータチェーンにおいて回路非動作時に電源スイッチMOSをオフにすると、レベルホールド回路が出力を保持する。文献１の論理回路が長時間のスイッチオフによって全てのノードが出力ノードと同一レベルになるのに対し、文献２のインバータチェーンでは、交互に出力ノードまたはその前段のノードと同一レベルとなり、各インバータはスイッチオフ前の出力レベルを維持する場合がある。この場合に限って、長時間のスイッチオフ後であってもスイッチオン時に貫通電流が流れない。
【０００７】
更に、特開平７−８６９１６号公報（文献３）は、電源スイッチMOSを備える他、スイッチオフの直前に各インバータの出力ノードのレベルを長時間のスイッチオフ後のスイッチオン時に貫通電流が流れないレベルに固定するNANDゲートを論理回路の入力ゲートの前段に設ける回路構成を開示している。この回路構成では、特定の場合に限ることなく、スイッチオン時の貫通電流が回避される。
【０００８】
【発明が解決しようとする課題】
文献３によって、電源電圧を低電圧化した場合の漏洩電流及び貫通電流の両者を低減する技術が開示されている。しかし、対象とする回路は、単純な単一入力の論理回路であり、多入力のために論理回路の各ノードのレベルが入力に応じて高レベルか低レベルかのいずれかの様々な状態となる場合は、電源線対のどちらの電源線に電源スイッチMOSを挿入すべきかを一義的に決定することができない。そのような場合には、貫通電流が大きくなるのを避けるため、電源電圧をゆっくり変化させざるを得なくなる。そのため、必要に応じて頻繁に電源をオンオフする、即ち高速の電源オンオフを行なうことができない。
【０００９】
本発明の目的は、多入力の論理回路の各ノードのレベルを一義的に決定することが可能なゲートを設けることにより、貫通電流の低減を確実にし、かつ漏洩電流を低減することができる高速電源オンオフの可能な論理回路を提供することにある。
【００１０】
【課題を解決するための手段】
上記目的を達成するための本発明の論理回路は、複数の入力信号を入力して信号処理を行なう論理部と、複数の入力信号を同時に特定値にする特定値設定部とを有し、論理部は、複数の入力信号が同時に特定値になったときに特定状態になり、かつ、論理部は、特定状態になったときに低電位になるノードを駆動する第１の論理スイッチ群及び反対に高電位になるノードを駆動する第２の論理スイッチ群によって構成され、電源線から論理部への接続を遮断及び導通するための電源スイッチが第１の論理スイッチ群及び第２の論理スイッチ群のそれぞれに独立に備えられていることを特徴とする。
【００１１】
本明細書では、上記の「特定状態」は、「論理回路の各出力ノードのレベルが長時間のスイッチオフ後のスイッチオン時に貫通電流が流れないレベルに固定されている状態」として定義される。なお、論理回路において演算を行なう基本素子として、論理積ゲート、反転論理積ゲート、論理和ゲート、反転論理和ゲート、インバータ等があるが、これらを総称して論理スイッチということとする。
【００１２】
上記の本発明の論理回路では、複数の入力信号が同時に特定値になることによって論理部の各ノードのレベルが確定するため、貫通電流を抑えることが可能になり、従って高速の電源オンオフが可能になる。また、電源オフで漏洩電流が遮断され、消費電力が低減される。
【００１３】
上記目的を達成するための本発明の別の論理回路は、選択信号の値に応じて入力信号又は特定値のいずれかを選択して出力する選択器と、選択信号の値に拘わらず選択器が特定値を出力するように選択器を制御する制御ゲートと、選択器の出力信号を入力して演算を行なう演算器とを有しており、演算器は、選択器の全ての出力信号が同時に特定値になることによって特定状態になるものであり、かつ、演算器は、特定状態になったときに低電位になるノードを駆動する論理スイッチ群及び反対に高電位になるノードを駆動する論理スイッチ群によって構成されており、電源線から演算器への接続を遮断及び導通するための電源スイッチが第１の論理スイッチ群及び第２の論理スイッチ群のそれぞれに独立に備えられていることを特徴とする。
【００１４】
上記の「特定状態」の定義から、上記の制御ゲートは、特定状態化制御ゲートとなるものであり、そこに入力される信号が特定状態化制御信号となる。
【００１５】
上記の本発明の別の論理回路では、制御ゲートに特定状態化制御信号を入力することによって演算器の各ノードのレベルが確定するため、貫通電流を抑えることが可能になり、従って高速の電源オンオフが可能になる。また、電源オフで漏洩電流が遮断され、消費電力が低減される。なお、上記論理回路の例として、代表的には入力選択器を備える加算器がある。
【００１６】
上記目的を達成するための本発明の更に別の論理回路は、組合せ論理部と、複数の入力信号を一時記憶して出力する第１のフリップフロップ群と、組合せ論理部からの複数の出力信号を一時記憶して出力する第２のフリップフロップ群と、第１及び第２のフリップフロップ群の出力信号を同時に特定値にする、各フリップフロップに設けた特定値設定部とを有しており、組合せ論理部への入力信号が該第１及び第２のフリップフロップ群の出力信号であり、組合せ論理部は、特定値設定部によって第１及び第２のフリップフロップ群の出力信号が同時に特定値に設定されたときに特定状態になり、かつ、組合せ論理部は、組合せ論理部が特定状態になったときに低電位になるノードを駆動する第１の論理スイッチ群及び反対に高電位になるノードを駆動する第２の論理スイッチ群によって構成されており、電源線から組合せ論理部への接続を遮断及び導通するための電源スイッチが第１の論理スイッチ群及び第２の論理スイッチ群のそれぞれに独立に備えられていることを特徴とする。
【００１７】
特定値設定部を設けたフリップフロップとして、後で詳述するが、リセット付きフリップフロップ、出力低電位化機能付フリップフロップ及び出力高電位化機能付フリップフロップがあり、これらのフリップフロップは、特定状態化制御信号を入力したときに特定値を出力するように構成される。
【００１８】
【発明の実施の形態】
以下、本発明に係る論理回路を図面に示した発明の実施の形態を参照して更に詳細に説明する。なお、図１〜図３１の内の複数の図における同一の符号は、同一物又は類似物を表示するものとする。
＜発明の実施の形態１＞
本発明による加算器の基本構成を図１に示す。図１において、1a，1bは、特定状態化制御信号DCを入力するそれぞれA側及びB側の制御ゲート、2aは、A側入力信号0，A，Xを入力選択信号ACによって選択する選択器であるマルチプレクサ(MUX)、2bは、B側入力信号0，B，Xを入力選択信号BCによって選択する選択器であるマルチプレクサ、3は、マルチプレクサ2a，2bの結果を入力して和S及びキャリーCを出力する加算部(Adder)である。この基本構成は、図２に示す従来の加算器の入力選択信号AC，BCを入力するゲートに対してのみ、その前段に特定状態化制御ゲート1a，1bを加えてものである。なお、後で詳述するように、制御ゲート1a，1bは、特定状態化制御信号DCが入力されると、選択器であるマルチプレクサ2a，2bを制御して特定値を出力させ、それによって加算部3が特定状態になる。そこで、以下では、制御ゲートを特定状態化制御ゲートということとする。
【００１９】
本発明の加算器を説明するための準備として、まず、構成の簡単なインバータチェーンを用いて特定状態化制御ゲートを備えることによって得られる効果の一般的な説明を行ない、続いて、図２に示した従来の加算器について述べる。
【００２０】
上記効果の一般的な説明に先立ち、まず、特定状態化制御ゲートを持たない一般的なインバータチェーン回路について述べる。図３にそのような一般的なインバータチェーン回路を示す。入力ノードIN及び出力ノードOUTの間に４つのインバータINV0，INV1，INV2，INV3が内部ノードN0，N1，N2を介して接続され、それぞれのインバータは、高電位側が高電位電源線VCCと直接接続され、低電位側が低電位ローカル電源線GNDHに接続されている。低電位ローカル電源線GNDHは低電位スイッチ制御信号SWGによって制御される高閾値NMOSトランジスタ6を介して低電位電源線GNDと接続されている。
【００２１】
図４に上記インバータチェーン回路の状態一覧を示す。Lは低電位、Mは中間電位、Hは高電位を表す。図４の右端に各状態のNo.を付与している。制御状態MODEには通常状態NORMAL、スイッチオフ状態OFF及びスイッチオン状態ONがある。
【００２２】
通常状態NORMALには入力ノードINの低電位Lと高電位Hの２つの状態に対応してNo.1，2の２つの状態がある。この状態では低電位スイッチ制御信号SWGが高電位Hとなり低電位ローカル電源線GNDHは低電位電源線GNDと導通し常に低電位Lとなる。そして、入力ノードINの電位に応じてノードN0、N1、N2及びOUTが表のように低電位L又は高電位Hに確定する。
【００２３】
スイッチオフ状態OFFでは、低電位スイッチ制御信号SWGが低電位Lとなり低電位ローカル電源線GNDHが低電位電源線GNDから遮断され、遮断前の通常状態NORMALの状態に応じて、状態No.1であれば状態No.3、5、7と、状態No.2であれば状態No.4、6、7と変化していく。状態No.3及び4は遮断直後であり、遮断前の状態を保っている。その後、遮断によって低電位側の漏れ電流がなくなるのに対し、遮断されていない高電位側の漏れ電流は続くため、低電位Lのノード及び低電位ローカル電源線GNDHは、高電位側の漏れ電流によって次第に高電位となり、状態No.5又は6の中間電位Mを経て、状態No.7の高電位Hとなる。一方、高電位のノードは遮断によって漏れ電流が止まり高電位を維持する。この結果、遮断後十分時間が経過すると状態No.7のように全てのノードが高電位Hとなる。
【００２４】
スイッチオン状態ONでは再び低電位スイッチ制御信号SWGが高電位Hとなり低電位ローカル電源線GNDHは低電位電源線GNDと導通し低電位Lとなる。この結果、長時間スイッチオフ状態OFFであった場合は状態No.7から状態No.8に遷移する。このとき、全ノードが高電位Hなので全NMOSトランジスタが導通し全ノードの電位が低下する。そして、電位低下によってPMOSトランジスタも導通し、貫通電流を流しながら全ノードの電位が更に低下し、状態No.9のように全ノードが中間状態になり貫通電流を流し続ける。その後、入力ノードINから逐次各ノードが確定していき、通常状態NORMALの状態N0.1又は2に遷移する。スイッチオフ状態が短く状態N0.5又は6の状態でスイッチオン時状態ON状態に遷移した場合も、全ノードが高電位H又は中間電位Mにあるので、高電位Hのノードの電位が降下し貫通電流を流しながら状態No.9を経て状態N0.1又は2に遷移する。一般的な回路ではゆっくりと低電位ローカル電源線GNDHの電位を変化させることによってこの貫通電流を許容範囲内に削減している。即ち、低電位ローカル電源線GNDHの電位を急速に変化させると、貫通電流が許容範囲内を超えてしまうので、一般的な回路では高速にスイッチオンさせるとことはできない。
【００２５】
図５に特定状態化制御ゲートを備えるインバータチェーン回路の第１の例を示す。図３で入力ノードINの信号を受けていたインバータINV0は、反転論理積ゲートNAに置き換えられ、特定状態化制御信号DCと入力ノードINの信号との反転論理積を出力する。このようにして、インバータINV0が特定状態化制御ゲート1の機能を合わせて有するように変更される。
【００２６】
また、高電位側にも高電位ローカル電源線VCCLが加えられる。高電位ローカル電源線VCCLは、高電位スイッチ制御信号SWVによって制御される高閾値PMOSトランジスタ7を介して高電位電源線VCCに接続される。このとき、特定状態化制御信号DCを低電位Lにすると入力ノードINの電位とは無関係に反転論理積ゲートNA出力ノードN0は高電位となる。そして、ノードN1、N2、OUTは順に低電位、高電位、低電位となる。そこで、ノードN1及びOUTとそれを駆動するMOSトランジスタを低電位グループ、ノードN0及びN2とそれを駆動するMOSトランジスタを高電位グループとする。そして、低電位グループの高電位電源端子は高電位ローカル電源線VCCLに、低電位電源端子は低電位電源線GNDに、高電位グループの高電位電源端子は高電位電源線VCCに、低電位電源端子は低電位ローカル電源線GNDHにそれぞれ接続される。
【００２７】
図６に第１のインバータチェーン回路の状態一覧を示す。制御状態MODEには図４の３状態の他に特定状態DEFAULTがある。
【００２８】
通常状態NORMALには入力ノードINの低電位Lと高電位Hの２つの状態に対応してNo.1、2の２つの状態がある。これらの状態では低電位スイッチ制御信号SWG及び高電位スイッチ制御信号SWVがそれぞれ高電位H及び低電位Lとなり、低電位ローカル電源線GNDH及び高電位ローカル電源線VCCLは、それぞれ低電位電源線GND及び高電位電源線VCCと導通してそれぞれ低電位L及び高電位Hとなる。また、特定状態化制御信号DCは高電位Hとなり、ノードN0が入力ノードINの電位に応じて変化するようになる。そして、ノードN0、N1、N2及びOUTが図６のように低電位L又は高電位Hに確定する。
【００２９】
特定状態DEFAULTでは、特定状態化制御信号DCが低電位Lとなる。この結果、前述のように入力ノードINの電位とは無関係に状態No.3のようにノードN0、N1、N2、OUTは低電位L又は高電位Hに一意に確定する。
【００３０】
スイッチオフ状態OFFは、必ず特定状態DEFAULTを経てから入る。低電位スイッチ制御信号SWG及び高電位スイッチ制御信号SWVがそれぞれ低電位L及び高電位Hとなり、低電位ローカル電源線GNDH及び高電位ローカル電源線VCCLがそれぞれ低電位電源線GND及び高電位電源線VCCから遮断される。遮断直後には、特定状態DEFAULTのノード電位が維持されて状態No.4のようになり、その後低電位ローカル電源線GNDH及び高電位ローカル電源線VCCLが中間電位Mとなる状態N0.5を経て十分時間が経過すると状態N0.6へ遷移する。
【００３１】
この間、ノードN0及びN2は、低電位ローカル電源線GNDHが低電位電源線GNDからの遮断されているので、低電位側の漏れ電流は低電位ローカル電源線GNDHの電位を上昇させ、ノードN0及びN2との電位差が縮小して漏れ電流が低減されながら、低電位ローカル電源線GNDHの電位が中間電位Mを経て十分時間がたって高電位Hになると漏れ電流が停止する。このとき、ノードN0及びN2の高電位Hは漏れ電流分が高電位電源線VCCから補われて維持される。同様に、ノードN1及びOUTは高電位ローカル電源線VCCLが高電位電源線VCCからの遮断されているので、高電位側の漏れ電流は高電位ローカル電源線VCCLの電位を降下させ、ノードN1及びOUTとの電位差が縮小して漏れ電流が低減されながら、高電位ローカル電源線VCCLの電位が中間電位Mを経て十分時間がたって低電位Lになると漏れ電流が停止する。このとき、ノードN0及びOUTの低電位Lは、漏れ電流分が低電位電源線GNDから補われて維持される。
【００３２】
スイッチオン状態ONに入ると再び低電位スイッチ制御信号SWG及び高電位スイッチ制御信号SWVがそれぞれ高電位H及び低電位Lとなり低電位ローカル電源線GNDH及び高電位ローカル電源線VCCLがそれぞれ低電位電源線GND及び高電位電源線VCCと導通し、それぞれ低電位L及び高電位Hとなる。そのとき、特定状態化制御信号DCは引き続き低電位Lのままである。この結果、長時間スイッチオフ状態OFFで状態No.6あった場合は、スイッチオン時状態ONの状態No.7、8を経て特定状態DEFAULTの状態No.3に遷移する。この間、ノードN0及びN2はノードDC及びN1が低電位LであるためNMOSトランジスタによって低電位ローカル電源線GNDHから遮断され高電位Hを維持する。同様に、ノードN1及びOUTはノードN0及びN2が高電位HであるためPMOSトランジスタによって高電位ローカル電源線VCCLから遮断され低電位Lを維持する。
【００３３】
スイッチオフ状態OFFが短く状態N0.5の状態でスイッチオン状態ON状態に遷移した場合は、スイッチオン状態ONの状態No.8を経て特定状態DEFAULTの状態No.3に遷移する。
【００３４】
スイッチオフ状態OFFが非常に短く状態N0.4の状態でスイッチオン状態ONに遷移した場合は、直ちに特定状態DEFAULTの状態No.3に遷移する。
【００３５】
以上の各遷移を経て特定状態DEFAULTになったときに、特定状態化制御信号DCを高電位Hに戻すと通常状態NORMALの状態N0.1又は2に復帰する。
【００３６】
図７に第１のインバータチェーン回路の不正な動作を示す。不正な動作は、通常状態NORMALにおける各ノードの電位が特定状態DEFAULTと異なる場合に、特定状態化制御信号DCが高電位Hのままスイッチオフ状態OFFに遷移した場合に起こる。図７の通常状態NORMALは、各ノードの値が特定状態DEFAULTと逆電位である。
【００３７】
この状態でスイッチオフ状態OFFの状態No.2に遷移すると、状態No.3を経て十分時間がたつと状態No.4に遷移する。この間、ノードN0、N2及び低電位ローカル電源線GNDHは低閾値MOSトランジスタを介して高電位電源線VCCに接続され低電位電源線GNDとは遮断されているため、高電位側の漏れ電流によって低電位Lから中間電位Mを経て十分時間がたつと高電位Hに遷移する。同様にノードN1、OUT及び高電位ローカル電源線VCCLは、低閾値MOSトランジスタを介して低電位電源線GNDに接続され高電位電源線VCCとは遮断されているため、低電位側の漏れ電流によって高電位Hから中間電位Mを経て十分時間がたつと低電位Lに遷移する。この結果、ローカル電源線GNDH、VCCL及び各ノードN0、N1、N2、OUTはスイッチオフ前の値と逆の値になっている。
【００３８】
さて、スイッチオフ状態OFFで十分時間がたった状態No.4の状態でスイッチオン状態ONに遷移すると、状態No.5を経て状態No.6に遷移する。この間、ローカル電源線GNDH、VCCL及び各ノードN0、N1、N2、OUTは逆の値から元の値に戻る。但し、電位はローカル電源線GNDH及びVCCL、ノードN0、N1、N2、OUTの順に逐次変化していくので、通常のスイッチング動作と同じで許容不可能な貫通電流は流れない。また、スイッチオフ状態OFF遷移後すぐにスイッチオン状態ONに遷移する場合も、状態No.2から状態No.6に遷移するので低電位及び高電位スイッチ制御信号SWG及びSWVのみが変化し問題ない。
【００３９】
問題が発生するのはスイッチオフ状態OFF遷移後、状態No.3でスイッチオン状態ONに遷移する場合である。このとき、状態No.3から状態No.7に遷移し、各ノードN0、N1、N2、OUTは中間電位Mにあるので、低電位及び高電位スイッチ制御信号SWG及びSWVをそれぞれ高電位H及び低電位Lにして、低電位及び高電位ローカル電源線GNDH及びVCCLをそれぞれ低電位及び高電位電源線GND及びVCCと導通すると、一斉に貫通電流が流れ出す。この結果、許容不可能な貫通電流が流れる。
【００４０】
以上のように、特定状態化制御ゲートを備えたインバータチェーン回路の第１の例においては、特定状態化制御信号DCによる回路の特定状態DEFAULT化が、各素子の電源端子を接続する電源線の特定状態DEFAULTに対応した適切な選択と相まって貫通電流抑止を保証する。
【００４１】
図８に特定状態化制御ゲートを備えたインバータチェーン回路の第２の例を示す。第２の回路は、前記第１の回路とほぼ同一であるが、低電位ローカル電源線GNDH及び高電位ローカル電源線VCCLが電位均衡化制御信号EQCによって制御される高閾値MOSトランジスタ8及び逆流防止ダイオード9によって接続されている点が異なる。
【００４２】
図９に第２のインバータチェーン回路の状態一覧を示す。通常状態NORMAL、特定状態DEFAULT、スイッチオフ状態OFFの動作は同一である。これらの状態では追加した電位均衡化制御信号EQCは低電位Lに保たれる。
【００４３】
スイッチオン状態ONでは、まず電位均衡化制御信号EQCを高電位Hにする。このとき、スイッチオフ状態OFFが十分な時間が続き、状態No.6にあると、低電位ローカル電源線GNDH及び高電位ローカル電源線VCCLの電位が本来の電位と逆転しているため、低電位ローカル電源線GNDHから高電位ローカル電源線VCCLに電流が流れ、双方の電位が均衡化して中間電位Mとなる。更に、RC時定数を適切に調整すれば中間電位Mとなった後も電流が流れ本来の電位に近づけることができる。この状態遷移が状態No.7、8、9である。そして、状態No.9で低電位スイッチ制御信号SWG及び高電位スイッチ制御信号SWVをそれぞれ高電位H及び低電位Lにすると特定状態DEFAULTに復帰する。この結果、前記第１の回路では消費されていた低電位及び高電位ローカル電源線GNDH及びVCCLの電荷が再利用され、消費電力を削減することができる。
【００４４】
また、スイッチオフ状態OFFが比較的短時間で状態No.4又は5にあると、低電位ローカル電源線GNDH及び高電位ローカル電源線VCCLの電位が本来の電位と逆転していないため、電位均衡化制御信号EQCを高電位Hにしても逆流防止ダイオード9によって電流は流れない。この結果、逆転していない電位を逆転させてしまうといった不必要な誤動作を回避することができる。
【００４５】
図１０に特定状態化制御ゲートを備えたインバータチェーン回路の第３の例を示す。第３の回路は、前記第１の回路同様、図３で入力ノードINを受けていたインバータINV0を反転論理積ゲートNAに置き換え、特定状態化制御信号DCと入力ノードINとの反転論理積を出力する。また、低電位ローカル電源線を低電位ローカル電源線GNDH及びGNDLの２本とし、それぞれ低電位スイッチ制御信号SGH及びSGLによって制御される高閾値NMOSトランジスタ6a，6bを介して低電位電源線GNDに接続する。このとき、特定状態化制御信号DCを低電位Lにすると、入力ノードINの電位とは無関係に反転論理積ゲートNA出力ノードN0は高電位となる。そして、ノードN1、N2、OUTは順に低電位、高電位、低電位となる。
【００４６】
ここで、ノードN1及びOUTとそれを駆動するMOSトランジスタを低電位グループ、ノードN0及びN2とそれを駆動するMOSトランジスタを高電位グループとする。そして、低電位及び高電位グループの低電位電源端子は、それぞれ低電位ローカル電源線GNDL及びGNDHに接続される。どちらのグループの素子も高電位電源端子は高電位電源線VCCに接続される。本回路では電源線GNDとローカル電源線GNDH，GNDLを接続する電源スイッチが高閾値NMOSトランジスタ6a，6bのみであり、前記第１、第２の回路で必要だった高閾値PMOSトランジスタ7は不要である。また、前記第１、第２の回路で４本必要であった電源線は３本となる。
【００４７】
なお、上記とは逆に、高電位電源線VCC側に２本のローカル電源線を用意し、該２本のローカル電源線と高電位電源線VCCの間に２個の高閾値PMOSトランジスタを設けるようにすることが可能である。その場合は、どちらのグループの素子も低電位電源端子が電源線GNDに接続される。
【００４８】
図１１に第３のインバータチェーン回路の状態一覧を示す。図６同様、Lは低電位、Mは中間電位、Hは高電位を表し、右端に各状態のNo.を付与している。制御状態MODEは図６の４状態の内のスイッチオン状態ONが2つの状態ON1及びON2に分かれている。
【００４９】
通常状態NORMALには前記第１の回路と同様、入力ノードINの低電位Lと高電位Hの２つの状態に対応してNo.1、2の２つの状態がある。これらの状態では低電位スイッチ制御信号SGH及びSSLが高電位Hとなり、低電位ローカル電源線GNDH及びGNDLは低電位電源線GNDと導通し低電位Lとなる。また、特定状態化制御信号DCは高電位HとなりノードN0が入力ノードINの電位に応じて変化するようになる。そして、ノードN0、N1、N2及びOUTが表のように低電位L又は高電位Hに確定する。
【００５０】
特定状態DEFAULTでは前記第１の回路と同様、特定状態化制御信号DCが低電位Lとなる。この結果、前述のように入力ノードINの電位とは無関係に、状態No.3のようにノードN0、N1、N2、OUTは低電位L又は高電位Hに一意に確定する。
【００５１】
スイッチオフ状態OFFは、必ず特定状態DEFAULTを経てから入る。低電位スイッチ制御信号SGH及びSGLが低電位Lとなり低電位ローカル電源線GNDH及びGNDLが低電位電源線GNDから遮断される。遮断直後には、特定状態DEFAULTのノード電位をが維持され状態No.4のようになり、その後、低電位ノードN1、OUT、及び低電位ローカル電源線GNDH、GNDLが中間電位Mとなる状態N0.5を経て、十分時間が経過すると全ノードが高電位Hとなる状態N0.6へ遷移する。
【００５２】
この間、ノードN0及びN2は低電位ローカル電源線GNDHが低電位電源線GNDからの遮断されているので、低電位側の漏れ電流は低電位ローカル電源線GNDHの電位を上昇させ、ノードN0及びN2との電位差が縮小して漏れ電流が低減されながら、低電位ローカル電源線GNDHの電位が中間電位Mを経て十分時間がたって高電位Hになると漏れ電流が停止する。このとき、ノードN0及びN2の高電位Hは、漏れ電流分が高電位電源線VCCから補われて維持される。一方、ノードN1，OUT及び低電位ローカル電源線GNDLは、高電位電源線VCCからの漏れ電流によって電位が上昇し、中間電位Mを経て高電位Hに遷移する。このとき、電位上昇に伴って電位差が縮小するので漏れ電流が低減されていき十分時間がたって高電位Hになると漏れ電流が停止する。
【００５３】
スイッチオン状態ON1では、スイッチ制御信号SGLが高電位Hとなり、電位ローカル電源線GNDLが低電位電源線GNDと導通し低電位Lとなる。この結果、長時間スイッチオフ状態OFFで状態No.6であった場合は、スイッチオン状態ONの状態No.7、8を経て状態No.9に遷移する。この間、ノードN0、N2及び低電位ローカル電源線GNDHは、引き続き低電位電源線GNDから遮断されているので高電位Hを維持する。一方、ノードN1及びOUTはノードN0及びN2が高電位HであるためPMOSトランジスタによって高電位電源線VCCから遮断され、低電位ローカル電源線GNDLと共に中間電位Mを経て低電位Lに遷移する。
【００５４】
スイッチオフ状態OFFが短く状態N0.5の状態でスイッチオン状態ON状態に遷移した場合は、スイッチオン状態ON1の状態No.8を経て状態No.9に遷移する。このとき、ノードN0、N2及び低電位ローカル電源線GNDHは同様に高電位Hを維持し、ノードN1及びOUTも同様に低電位ローカル電源線GNDLと共に中間電位Mから低電位Lに遷移する。スイッチオフ状態OFFが非常に短く、状態N0.4の状態でスイッチオン状態ONに遷移した場合は、直ちに状態No.9に遷移する。
【００５５】
スイッチオン状態ON2では再び低電位スイッチ制御信号SGHが高電位Hとなり、低電位ローカル電源線GNDHが低電位電源線GNDと導通し、中間電位Mを経て低電位Lとなる。このとき、低電位ローカル電源線GNDHと高電位HのノードN0及びN2とは、スイッチオン状態ON1で低電位LとなったノードN1及びOUTによって制御されるNMOSトランジスタにより遮断されているので、ノードN0及びN2は高電位Hを維持する。この結果、状態No.10、11を経て特定状態DEFAULTの状態No.3に復帰する。そして、特定状態DEFAULTで特定状態化制御信号DCを高電位Hに戻すと、通常状態NORMALの状態N0.1又は2に復帰する。
【００５６】
図１２に第３のインバータチェーン回路の不正な動作を示す。不正な動作は、第1の回路と同様、通常状態NORMALにおける各ノードの電位が特定状態DEFAULTと異なる場合に、特定状態化制御信号DCが高電位Hのままスイッチオフ状態OFFに遷移した場合に起こる。
【００５７】
図１２の通常状態NORMALは、各ノードの値が特定状態DEFAULTと逆電位である。この状態でスイッチオフ状態OFFの状態No.2に遷移すると、状態No.3を経て十分時間がたつと状態No.4に遷移する。この間、ノードN0，N2及び低電位ローカル電源線GNDH及びGNDLは、低閾値MOSトランジスタを介して高電位電源線VCCに接続されて低電位電源線GNDとは遮断されているため、高電位側の漏れ電流によって低電位Lから中間電位Mを経て、十分時間がたつと高電位Hに遷移する。一方、ノードN1及びOUTは低電位電源線GNDと遮断されているため高電位Hを維持する。この結果全ノードが高電位Hとなる。
【００５８】
さて、スイッチオフ状態OFFで十分時間がたった状態No.4の状態でスイッチオン状態ON1に遷移すると、状態No.5、6を経て状態No.7に遷移する。この場合、図１１のスイッチオン状態ON1と同様の動作をし問題は発生しない。図１１との違いは、特定状態化制御信号DC及び入力ノードINが高電位Hであることである。しかし、これらによって制御されるNMOSトランジスタはノードN0とローカル電源線GNDHを接続するものであり、スイッチオン状態ON1ではローカル電源線GNDHは高電位Hを維持するので、前記NMOSトランジスタが導通してもノードN0の高電位Hは維持され問題ない。
【００５９】
その後、スイッチオン状態ON2に遷移すると、状態No.11を経て状態No.12に遷移する。この間、ローカル電源線GNDH及び各ノードN0、N1、N2、OUTはこの順に逐次電位が逆転していくので、通常のスイッチング動作と同じで許容不可能な貫通電流は流れない。また、スイッチオフ状態OFF遷移後すぐにスイッチオン状態ON1に遷移する場合も、状態No.2から状態No.8に遷移するので低電位スイッチ制御信号SGLのみが変化し問題ない。更に、スイッチオン状態ON2に遷移しても、低電位スイッチ制御信号SGHのみが変化して状態No.12に遷移し問題ない。
【００６０】
問題が発生するのは、スイッチオフ状態OFFで十分時間がたたず低電位LであったノードN0及びN2が中間電位Mの状態No.3でスイッチオン状態ON1に遷移した場合である。このとき、状態No.3から状態No.9を経て状態No.10に遷移する。ノードN0及びN2は中間電位Mにあるので、低電位スイッチ制御信号SGLを高電位Hにして低電位ローカル電源線GNDLを低電位電源線GNDと導通すると、ノードN0及びN2によって制御されるMOSトランジスタが同時に導通し、これらのMOSトランジスタによって駆動されるノードN1及びOUT経由で貫通電流が流れ出す。また、高電位HであったノードN1及びOUTは中間電位Mになる。
【００６１】
その後、スイッチオン状態ON2に遷移すると状態No.13に遷移する。低電位スイッチ制御信号SGHを高電位Hにして低電位ローカル電源線GNDHが低電位電源線GNDと導通するので、更に中間電位MになったノードN1によって制御されるMOSトランジスタが同時に導通し、これらのMOSトランジスタによって駆動されるノードN2経由で貫通電流が流れ出す。この結果、許容不可能な貫通電流が流れる。
【００６２】
以上のように、特定状態化制御ゲートを備えたインバータチェーン回路の第３の例においては、特定状態化制御信号DCによる回路の特定状態DEFAULT化が、各素子の電源端子を接続する電源線の特定状態DEFAULTに対応した適切な選択と相まって、貫通電流抑止を保証する。
【００６３】
以上の説明を基にして、図２に示した従来の加算器について述べる。図２のマルチプレクサ2aにおいて、入力選択信号ACがA側入力信号0、A、及びXのいずれかを選択して加算部3の一方の入力に供給する。同様に、マルチプレクサ2bにおいて、入力選択信号BCがB側入力信号0，B，及びYのいずれかを選択して加算部3の他方の入力に供給する。そして、加算部3は、これら２入力を加算し、和S及びキャリーCを出力する。この結果、図２の加算器では、入力選択信号AC及びBCの値によって、A+B，A+Y，B+X，X+Y，A，B，X，Y及び0を出力することが可能である。
【００６４】
図２の加算器は、一般のN（Nは自然数）ビット加算器と考えてよいが、回路動作を詳細に記述するために、Nを２とし、入力X及びYを省略した加算器としたものを図１３に示す。これは、言い換えると入力ゼロ化機構付２ビット加算器である。入力X及びYを省略すると、入力選択は、マルチプレクサより簡単な論理積AN0，AN1，AN2及びAN3によって実現される。
【００６５】
論理積AN0の出力AZ0及び論理積AN1の出力AZ1は、入力選択信号ACが1であればそれぞれA側入力A0及びA1の値になり、0であれば双方とも0となる。同様に、論理積AN2の出力BZ0及び論理積AN3の出力BZ1は、入力選択信号BCが１であればそれぞれB側入力B0及びB1の値になり、0であれば双方とも0となる。この結果、入力選択信号AC及びBCの値の組11，10，01及び00に応じて、２ビット加算器回路はそれぞれ２ビットのA+B，A，B及び0を和S0及びS1とキャリーCに出力する。
【００６６】
２ビット加算部3は、排他的論理和EO0及びEO1、反転論理積NA、反転排他的論理和EN、インバータINV、及び反転マルチプレクサMXから成る。排他的論理和EO0及びEO1がそれぞれ下位側の和S0及び下位側からのキャリー反映前の和P1を生成し、反転論理積NAが下位側からのキャリーの反転信号C0Nを生成し、反転排他的論理和ENがキャリー反映前の和P1及びキャリーの反転信号C0Nから上位側の和S1を生成し、インバータINV及び反転マルチプレクサMXがキャリー反映前の和P1により、キャリーの反転信号C0NまたはインバータINV によって生成されたB側上位ビットBZ1の反転BZ1Nのいずれかを選択して反転し、キャリーCを生成する。
【００６７】
図１３の加算器の具体的な回路図を図１４に示す。論理図を回路図に展開することにより論理セルの内部ノードや論理セルと電源線の接続関係が明らかになる。図１４において、各セルは高電位電源線VCC及び低電位ローカル電源線GNDHに接続されている。更に低電位ローカル電源線GNDHは低電位スイッチ制御信号SWGによって制御される高閾値NMOSトランジスタ6により、低電位電源線GNDに接続されている。図１４では排他的論理和EO0及びEO1、反転排他的論理和EN及び反転マルチプレクサMXは、PMOSトランジスタとNMOSトランジスタのペアのパストランジスタ論理を使用して構成されている。
【００６８】
図１５に上記入力ゼロ化機構付２ビット加算回路の通常状態一覧を示す。入力ノード群INは、入力選択信号AC及びBC、A側入力A0及びA1、そしてB側入力B0及びB1の6ビットである。回路の状態は、出力ノード群OUT及び内部ノード群NODEの電位の組合せである。図１５に示すように、出力ノード群OUTは３ノード、内部ノード群NODEは８ノードある。この他にセルの内部ノードが存在するが、これらのノードの反転電位ノードのみなので省略する。入力ノードの組合せは２の６乗で６４通りであるが、回路の状態としては図１５のように２５通りである。通常のプロセッサに用いられる３２や６４ビットの加算器であれば、更に膨大な回路状態が存在する。前記インバータチェーンでは回路の状態が２通りのみであったため全状態に対応するような回路的工夫の余地があったが、このように状態数が増加するとそのような余地はない。
【００６９】
さて、図１４の加算器の電源状態の一覧を示したものが図１６である。＊は様々な電位を取り得ることを示し、状態No.1，2または7では、図１５の２５通りの状態の何れかに、状態No.3では図１５の２５通りの状態の何れかの状態の低電位Lのノードを中間電位Mにした状態を取り得る。
【００７０】
状態遷移の詳細は、図４のインバータチェーンの場合と同様であるが、通常状態NORMALの状態数が２通りから２５通りとなった点が異なる。図４の場合と同様に、通常状態NORMALからスイッチオフ状態OFFに遷移すると、状態No.2、3、4と遷移する。低電位スイッチ制御信号SWGが低電位Lとなるので、低電位ローカル電源線GNDH、出力ノード群OUT及び内部ノード群NODEの内、低電位Lであったノードは中間電位Mを経て十分時間がたつと高電位Hとなる。また、高電位Hであったノードは高電位Hを維持する。
【００７１】
この結果、状態No.3では中間電位Mと高電位Hが混在した状態、状態No.4では全ノードが高電位Hの状態になる。状態No.4でスイッチオン状態ONに遷移すると、状態No.5、6、7と遷移する。低電位スイッチ制御信号SWGが高電位Hとなるので、低電位ローカル電源GNDHが低電位電源GNDと導通して低電位Lに向かって遷移する。そして、全ノードが高電位Hなので全NMOSトランジスタが導通しており、低電位ローカル電源GNDHと共に全ノードが低電位Lに向かって遷移する。
【００７２】
ノードが高電位Hでなくなると、それによって制御されるPMOSトランジスタが導通するので、全ノードが低電位Lに向かって遷移すると全ノードのPMOSトランジスタも導通し、全ノードで貫通電流が流れる。そして、全ノードが中間電位Mに向かいながら入力ノードから逐次電位が確定してゆき、全ノードの電位が確定すると貫通電流が停止する。このため、スイッチオン状態ONにおいて貫通電流を許容範囲内に収めるには低電位ローカル電源GNDHがゆっくり上昇するようにする必要がある。
【００７３】
ここで、図１に示した本発明による入力選択器付加算器について説明する。先に述べたように、本加算器は、図２の従来の入力選択器付加算器に、加算器入力として特定の定数を選択する機能を付加したものである。特定の定数を選択する機能は、特定状態化制御信号DCによって入力選択信号AC及びBCを特定値にすることにより、実現される。
【００７４】
一般的には本発明を適用するには全ての入力ノードを特定値にする必要があるが、プロセッサの加算器やALU(Alithmetic and Logic Unit)には入力選択器が付いているのが一般的であり、その入力の選択肢に定数が含まれていることも一般的である。このため、本実施形態のように入力選択信号AC及びBCのみを特定値にすれば、全入力ノードを特定値にした場合と同様の効果が得られ、回路規模の増大及び遅延時間の悪化を最小限に抑えることができる。特に、演算器においてはデータ系が遅延時間を律速することが一般的であるため、制御系のみに回路を付加することで遅延時間の全体として悪化を回避することができる。
【００７５】
具体的には、入力選択信号ACを２ビット信号とし、その値0，1又は2に応じて入力0，A又はXを選択するものとすると、入力選択信号ACとマルチプレクサ2aとの間に２ビット論理積ゲートである特定状態化制御ゲート1aを追加し、特定状態化制御信号DCとの論理積をとることにより、特定状態化制御信号DCを低電位にすればマルチプレクサ2aが0を選択するようにする。入力選択信号BCに関しても同様に、入力選択信号BCとマルチプレクサ2bとの間に２ビット論理積ゲートである特定状態化制御ゲート1bが追加される。
【００７６】
この結果、特定状態化制御信号DCを低電位にすると、本入力選択器付加算器の内部状態及び出力状態は一つの特定状態になる。その特定状態は、マルチプレクサ2a，2bが0を出力し、加算部3が0＋0を実行して和S及びキャリーCとして0を出力する状態である。
【００７７】
この特定状態に対して、図５，８及び１０に示したインバータチェーンの電源線接続方式を適用することができる。但し、図８の方式は、図５の方式に電荷回収のためのイコライザを追加しただけで電源系以外は図５と同一なので、図５及び図１０の方式を適用した場合について説明する。説明を簡単にするため、従来例と同様に、入力ゼロ化機構付２ビット加算器を用いて詳細を説明する。
【００７８】
図１７は、本発明を適用した入力ゼロ化機構付２ビット加算器の論理図である。なお、図１では３通りあった入力選択肢を２通りにしたため、入力選択信号AC及びBCは1ビットである。図１３の回路に、特定状態化制御ゲート1aである論理積AN4及び特定状態化制御ゲート1bである論理積AN5が付加される。それにより、入力選択信号AC及びBCと特定状態化制御信号DCとの論理積結果の論理積AD及びBDが論理積AN0，AN1，AN2及びAN3に入力される。この結果、特定状態化制御信号DCを低電位Lにすれば入力選択信号AC及びBCの値に依らず、論理積AD及びBDが低電位Lとなり、加算器入力AZ0，AZ1，BZ0及びBZ1が低電位Lとなる。
【００７９】
図１８は、図１７の論理を具体化した第１の回路である。該回路には図５に示した電源線接続方式が用いられる。まず、高電位側にも高電位ローカル電源線VCCLが加えられ、該高電位ローカル電源線は、高電位スイッチ制御信号SWVによって制御される高閾値PMOSトランジスタ7を介して高電位電源線VCCに接続される。このとき、特定状態化制御信号DCを低電位Lにすると入力ノード群INの電位とは無関係に内部ノード群NODE及び出力ノード群OUTは低電位Lまたは高電位Hとなる。
【００８０】
そこで、低電位Lとなるノード及びそれを駆動するMOSトランジスタを低電位グループ、高電位Hとなるノード及びそれを駆動するMOSトランジスタを高電位グループとする。そして、低電位グループの高電位電源端子は高電位ローカル電源線VCCLに、低電位電源端子は低電位電源線GNDにそれぞれ接続され、高電位グループの高電位電源端子は高電位電源線VCCに、低電位電源端子は低電位ローカル電源線GNDHにそれぞれ接続される。各素子の電源線接続状況は図１８に示す通りである。また、図１４と同様に、排他的論理和EO0及びEO1、反転排他的論理和EN、及び反転マルチプレクサMXは、PMOSトランジスタとNMOSトランジスタのペアのパストランジスタ論理を使用して構成される。
【００８１】
次に、図１９に図１７の論理を具体化した第２の回路を示す。第１の回路と同様に、図５の電源線接続方式が用いられる。第１の回路との違いは、PMOSトランジスタとNMOSトランジスタのペアのパストランジスタ論理を使用していない点のみである。
【００８２】
図２０に第１及び第２の回路の電源状態一覧を示す。基本的には図６に示したのと同様であるが、回路の複雑化によりノード数が増加し通常状態NORMALの状態数も増加している。
【００８３】
通常状態NORMALでは、低電位スイッチ制御信号SWG及び高電位スイッチ制御信号SWVがそれぞれ高電位H及び低電位Lとなり、低電位ローカル電源線GNDH及び高電位ローカル電源線VCCLは、それぞれ低電位電源線GND及び高電位電源線VCCと導通して、それぞれ低電位L及び高電位Hとなる。また、特定状態化制御信号DCは高電位Hとなっている。このとき、ノードAD及びBDがノードAC及びBCと同電位となるので、本回路の動作は図１５の通常状態一覧において、ノードAC及びBCをノードAD及びBDに読み替えれば良く、通常状態NORMALは、図１４と同様、２５通りである。図２０では、各ノードが様々な電位をとり得ることを＊で示し、状態No.1としてまとめている。
【００８４】
特定状態DEFAULTでは、特定状態化制御信号DCが低電位Lとなる。この結果、入力ノード群INの電位とは無関係に各ノードは、状態No.2のように低電位L又は高電位Hに一意に確定する。
【００８５】
本実施形態では論理が追い易いように出来るだけ正極性の論理を用いており、特定状態化制御信号DCによって加算器入力を全てゼロ化すると低電位Lになる出力及び内部ノードが多い。しかしながら、セル内部ノードはこれらのノードの反転電位ノードが多く高電位Lになるノードが多い。図１８の回路では図２０の状態No.2のように出力及び内部ノードは１１ノードの内１ノードのみ高電位Hであるが、セル内部ノードは１７ノードの内１ノードのみ低電位Lである。したがって全ノードを見渡すと電位の偏りはあまり見られない。
【００８６】
スイッチオフ状態OFFには必ず特定状態DEFAULTを経てから入る。低電位スイッチ制御信号SWG及び高電位スイッチ制御信号SWVがそれぞれ低電位L及び高電位Hとなり、低電位ローカル電源線GNDH及び高電位ローカル電源線VCCLがそれぞれ低電位電源線GND及び高電位電源線VCCから遮断される。遮断直後には、特定状態DEFAULTのノード電位が維持されて状態No.3のようになり、その後低電位ローカル電源線GNDH及び高電位ローカル電源線VCCLが中間電位Mとなる状態N0.4を経、更に十分時間が経過すると状態N0.5へ遷移する。
【００８７】
この間、高電位Hのノードでは、低電位ローカル電源線GNDHが低電位電源線GNDから遮断されるので、低電位側の漏れ電流が低電位ローカル電源線GNDHの電位を上昇させ、高電位Hのノードとの電位差が縮小する。それによって漏れ電流が低減していき、低電位ローカル電源線GNDHの電位が中間電位Mを経て上昇し、十分時間がたってから高電位Hになる。その状態で漏れ電流が停止する。このとき、高電位Hのノードでは、漏れ電流分が高電位電源線VCCから補われて高電位Hが維持される。
【００８８】
同様に、低電位Lのノードでは、高電位ローカル電源線VCCLが高電位電源線VCCから遮断されるので、高電位側の漏れ電流が高電位ローカル電源線VCCLの電位を降下させ、低電位Lのノードとの電位差が縮小する。それによいって漏れ電流が低減していき、高電位ローカル電源線VCCLの電位が中間電位Mを経て下降し、十分時間がたってから低電位Lになる。その状態で漏れ電流が停止する。このとき、低電位Lのノードでは、漏れ電流分が低電位電源線GNDから補われて低電位Lが維持される。
【００８９】
スイッチオン状態ONでは、再び低電位スイッチ制御信号SWG及び高電位スイッチ制御信号SWVがそれぞれ高電位H及び低電位Lとなり、低電位ローカル電源線GNDH及び高電位ローカル電源線VCCLがそれぞれ低電位電源線GND及び高電位電源線VCCと導通してそれぞれ低電位L及び高電位Hとなる。
【００９０】
この結果、長時間スイッチオフ状態OFFで状態No.5であった場合は、スイッチオン状態ONの状態No.6，7を経て特定状態DEFAULTの状態No.2に遷移する。この間、高電位Hのノードは、それを駆動するMOSトランジスタを制御するノードが低電位LであるためNMOSトランジスタによって低電位ローカル電源線GNDHから遮断され、高電位Hを維持する。同様に、低電位Lのノードは、駆動するMOSトランジスタを制御するノードが高電位HであるためPMOSトランジスタによって高電位ローカル電源線VCCLから遮断され、低電位Lを維持する。
【００９１】
スイッチオフ状態OFFが短く状態N0.5の状態でスイッチオン状態ON状態に遷移した場合は、スイッチオン状態ONの状態No.8を経て特定状態DEFAULTの状態No.3に遷移する。
【００９２】
スイッチオフ状態OFFが非常に短く状態N0.4の状態でスイッチオン状態ONに遷移した場合は直ちに特定状態DEFAULTの状態No.3に遷移する。
【００９３】
以上の結果の後、特定状態DEFAULTで特定状態化制御信号DCを高電位Hに戻すと通常状態NORMALの状態N0.1に復帰する。
【００９４】
図１８の回路はパストランジスタ論理を使用しているため、通常のCOMSのように漏れ電流が停止しない場合がある。例えば、排他的論理和EO0では２つのパストランジスタの入力電位は互いに反転電位となっている。即ち、ノードBZ0及びその反転信号を入力している。そして、２つのパストランジスタの制御電位も互いに反転電位となっている。即ち、ノードAZ0及びその反転信号を入力している。この結果、入力ノードAZ0及びBZ0がどのような電位の組合せであっても、２つのパストランジスタの入力電位の一方は、パストランジスタ出力電位とは反転電位となる。例えば、特定状態DEFAULTでは、排他的論理和EO0のパストランジスタ出力ノードが高電位Hで、下側のパストランジスタ入力ノードはノードBZ0であり低電位Lである。したがって、このパストランジスタを介して漏れ電流が流れ続ける。
【００９５】
但し、高電位電源線VCCからこのパストランジスタを介して低電位電源線に至るパスには、PMOSトランジスタが１つ、PMOSトランジスタとNMOSトランジスタのペアが２つ、NMOSトランジスタが１つある。それにより、インバータのように高電位電源線VCCから低電位電源線に至るパスにPMOSトランジスタとNMOSトランジスタが１つずつしかない場合よりは漏れ電流が格段に小さい。パストランジスタ論理においてはその両端が直接電源線につながることはないので、この例のように漏れ電流が小さい場合のみとなる。
【００９６】
一方、図１９の回路はパストランジスタ論理を使用していない。したがって、図１９の回路ならばスイッチオフ状態OFFで十分時間がたてば漏れ電流は停止する。
【００９７】
続いて、図２１に図１７の論理を具体化した第３の回路を示す。第３の回路には、図１０の電源線接続方式が用いられる。まず、低電位ローカル電源線は、低電位ローカル電源線GNDH及びGNDLの２本とし、低電位スイッチ制御信号SGH及びSGLによって制御されるそれぞれ高閾値NMOSトランジスタ6a及び6bを介して低電位電源線GNDに接続される。
【００９８】
このとき、特定状態化制御信号DCを低電位Lにすると入力ノード群INの電位とは無関係に内部ノード群NODE及び出力ノード群OUTは低電位Lまたは高電位Hとなる。そこで、低電位Lとなるノード及びそれを駆動するMOSトランジスタを低電位グループ、高電位Hとなるノード及びそれを駆動するMOSトランジスタを高電位グループとする。そして、低電位及び高電位グループの低電位電源端子は、それぞれ低電位ローカル電源線GNDL及びGNDHに接続される。どちらのグループの素子も高電位電源端子は高電位電源線VCCに接続される。
【００９９】
各素子の電源線接続状況は、図２１に示す通りである。また、図１４と同様に、排他的論理和EO0及びEO1、反転排他的論理和EN、及び反転マルチプレクサMXは、PMOSトランジスタとNMOSトランジスタのペアのパストランジスタ論理を使用して構成される。
【０１００】
図２２に図２１に示した回路の電源状態一覧を示す。電源状態は、図１１に示したのと基本的に同様であるが、回路の複雑化によってノード数が増加し、通常状態NORMALの状態数も増加している。
【０１０１】
通常状態NORMALでは、低電位スイッチ制御信号SGH及びSSLが高電位Hとなり、低電位ローカル電源線GNDH及びGNDLは低電位電源線GNDと導通して低電位Lとなる。また、特定状態化制御信号DCは高電位Hであり、通常状態NORMALの状態数は、図１８及び図１９の回路と同様２５通りである。
【０１０２】
特定状態DEFAULTでは特定状態化制御信号DCが低電位Lとなる。この結果、入力ノード群INの電位とは無関係に各ノードは状態No.2のように低電位L又は高電位Hに一意に確定する。
【０１０３】
スイッチオフ状態OFFには必ず特定状態DEFAULTを経てから入る。低電位スイッチ制御信号SGH及びSGLが低電位Lとなり、低電位ローカル電源線GNDH及びGNDLが低電位電源線GNDから遮断される。遮断直後には、特定状態DEFAULTのノード電位をが維持され状態No.3のようになり、その後、低電位グループのノード及び低電位ローカル電源線GNDH、GNDLが中間電位Mとなる状態N0.4を経て、十分時間が経過すると全ノードが高電位Hとなる状態N0.5へ遷移する。この間、高電位グループのノードを介する漏れ電流は、低電位ローカル電源線GNDHが低電位電源線GNDからの遮断されているので、低電位ローカル電源線GNDHの電位を上昇させ、高電位グループのノードとの電位差を縮小させて漏れ電流を低減させていく。低電位ローカル電源線GNDHの電位が中間電位Mを経て十分時間がたって高電位Hになると漏れ電流は停止する。このとき、高電位グループのノードでは漏れ電流分が高電位電源線VCCから補われて高電位Hが維持される。
【０１０４】
一方、低電位グループノード及び低電位ローカル電源線GNDLは、高電位電源線VCCからの漏れ電流によって電位が上昇し、中間電位Mを経て高電位Hに遷移する。このとき、電位上昇に伴って電位差が縮小するので漏れ電流が低減されていき、十分時間がたって高電位Hになると漏れ電流が停止する。図２１の回路はパストランジスタを使用しているが、全ての電位が高電位Hになるので図１８のような漏れ電流は発生しない。
【０１０５】
スイッチオン状態ON1では再び低電位スイッチ制御信号SGLが高電位Hとなり、低電位ローカル電源線GNDLが低電位電源線GNDと導通し低電位Lとなる。この結果、長時間スイッチオフ状態OFFで状態No.5あった場合は、スイッチオン状態ONの状態No.6、7を経て状態No.8に遷移する。この間、高電位グループのノード及び低電位ローカル電源線GNDHは、引き続き低電位電源線GNDから遮断されているので高電位Hを維持する。一方、低電位グループのノードは、高電位Hを維持している高電位グループのノードによって制御されるPMOSトランジスタによって高電位電源線VCCから遮断され、低電位ローカル電源線GNDLと共に中間電位Mを経て低電位Lに遷移する。
【０１０６】
スイッチオフ状態OFFが短く状態N0.4の状態でスイッチオン状態ON状態に遷移した場合は、スイッチオン状態ON1の状態No.7を経て状態No.8に遷移する。このとき、高電位グループのノード及び低電位ローカル電源線GNDHは、同様に高電位Hを維持し、低電位グループのノードも同様に低電位ローカル電源線GNDLと共に中間電位Mから低電位Lに遷移する。
【０１０７】
スイッチオフ状態OFFが非常に短く状態N0.3の状態でスイッチオン状態ONに遷移した場合は直ちに状態No.8に遷移する。
【０１０８】
スイッチオン状態ON2では再び低電位スイッチ制御信号SGHが高電位Hとなり低電位ローカル電源線GNDHが低電位電源線GNDと導通し、中間電位Mを経て低電位Lとなる。このとき、低電位ローカル電源線GNDHと高電位グループのノードとはスイッチオン状態ON1で低電位Lとなった低電位グループのノードによって制御されるNMOSトランジスタにより遮断されているので、高電位グループのノードは高電位Hを維持する。この結果、状態No.9、10を経て特定状態DEFAULTの状態No.2に復帰する。そして、特定状態DEFAULTで特定状態化制御信号DCを高電位Hに戻すと、通常状態NORMALの２５状態のいずれかに復帰する。
【０１０９】
以上のように加算器の論理は複雑で多様な状態があるが、本発明によって一つの特定状態に遷移させてからスイッチオフすることによって全素子の状態を制御することが可能となり、スイッチオン時の貫通電流を抑止して高速の電源スイッチオンが可能になる。更に、演算器には定数入力機能があることが一般的であるため、本実施形態のように少数のゲートを遅延時間に影響しないように挿入すれば高速の電源スイッチオンが可能になる。
＜発明の実施の形態２＞
一般の論理回路に本発明を適用する方法について説明する。一般的に、論理回路は、フリップフロップ及び組合せ論理部から成る。図２３に、リセット付フリップフロップにより論理回路の特定状態化を可能にした例を示す。
【０１１０】
論理回路をフリップフロップFFの入力ノードで分割すると、論理回路は図２３に示すように、入力ノード群INを受けるフリップフロップFF群4a、状態ST記憶用フリップフロップFF群4b、及び組合せ論理部(CL)5から成る論理回路となる。なお、組合せ論理部5としては入力をそのまま出力する無論理、無配線も含まれる。
【０１１１】
フリップフロップFFには様々なタイプがある。図２４はリセット付フリップフロップの例である。該フリップフロップは、通常動作時は、正極性及び負極性クロック端子CP及びCNから供給されるクロックによって、１サイクルに一度入力端子FIから信号をラッチし、その値を1サイクルの間に出力端子FOから出力する。負極性リセット端子RNは、通常動作時には高電位となっている。また、反転論理積ゲートNAは、インバータとして機能している。そして、負極性リセット端子RNを低電位にすると反転論理積ゲートNA出力は高電位となる。この結果、パストランジスタ及びインバータを介して低電位Lが出力端子FOに出力される。
【０１１２】
図２３では図２４のリセット付フリップフロップを使用している。各フリップフロップFFの正極性及び負極性クロック端子CP及びCNにクロック信号CKから生成した正極性及び負極性クロック信号が入力され、負極性リセット端子RNにリセット信号RSの反転信号が入力される。
【０１１３】
通常動作状態では、リセット信号RSは低電位である。従来は、リセット信号RSを論理回路の状態の初期化に使用していたが、本発明では電源スイッチオフ時にも使用する。電源スイッチオフの前にリセット信号RSを高電位とすることにより、論理回路の状態を一意に確定させることができる。この結果、論理回路を高電位グループと低電位グループに分類してそれぞれを対応する各電源線に接続することができるようになり、スイッチオン時の貫通電流を抑止することができる。
【０１１４】
図２５に出力低電位化機能付フリップフロップにより論理回路を特定状態化可能にした例を示す。図２３の論理回路のリセット付フリップフロップを出力低電位化機能付フリップフロップに置き換える。出力低電位化機能付フリップフロップには図２６の回路を使用している。電源スイッチオフ時に、まずフリップフロップ出力を低電位化して論理回路の状態を特定状態とすることにより、論理回路を高電位グループと低電位グループに分類することができるようになる。そして、高電位グループと低電位グループをそれぞれ対応する各電源線に接続することにより、スイッチオン時の貫通電流を抑止することが可能となる。
【０１１５】
図２６は出力低電位化機能付フリップフロップの第１の例である。マスタスレーブ型のフリップフロップの後段の帰還インバータを反転論理積NAに変更し、負極性特定電位化端子DNを入力に接続する。負極性特定電位化端子DNは通常動作状態では高電位とし、出力を低電位化する場合は低電位とする。本フリップフロップは、クロック系を前段と後段で独立している。後段の帰還部で特定電位化しているので出力端子FOに特定電位を伝えるには後段で帰還側を選択する必要がある。一方、前段に状態を保持するには前段でも帰還側を選択する必要がある。通常動作では前段と後段で交互に入力側と帰還側を選択するので、クロック系が独立していないと双方を帰還側にすることはできない。そこで、クロック系を独立させて特定電位出力時には双方を帰還側に倒す。この結果、本フリップフロップは、フリップフロップ本来の状態保持機能と出力低電位化機能の双方を併せ持つことができるようになる。
【０１１６】
図２７は図２６の論理を具体化した回路図である。図１０に示したインバータチェーンと同様の電源線接続方式を採用している。但し、前段の２つのインバータは、電源スイッチオフの間も状態を保持できるように低電位電源線GNDに直接接続されている。これらのインバータは内部のノードを駆動しているので出力インバータに比べると駆動能力は必要なく、状態保持中の漏れ電流を抑止するために高閾値MOSトランジスタで構成することも可能である。
【０１１７】
なお、駆動能力が問題になる場合は、入力を受ける方のインバータを２重化し、一方は後段駆動専用として低閾値MOSトランジスタにして低電位側端子を低電位ローカル電源線GNDHに接続し、もう一方を帰還インバータ駆動専用として高閾値MOSトランジスタで構成して低電位電源線GNDに直接接続すればよい。
【０１１８】
さて、図２５に戻ってフリップフロップFFの制御回路を説明する。クロック系を２系統に分離したのでクロックCKA及びCKBが入力され、これらから生成した正極性及び負極性クロックが各フリップフロップFFの４つのクロック端子CAP，CBP，CAN及びCBNに供給される。また、特定状態化制御信号DCから負極性特定状態化制御信号が生成され、該信号が各フリップフロップFFの負極性特定状態化端子DNに供給される。通常動作時には、特定状態化制御信号DCが低電位となり、クロックCKA及びCKBに同一クロックが供給される。
【０１１９】
電源スイッチオフの前に、クロックCKAを低電位で停止させ、クロックCKBを高電位で停止させ、更に特定状態化制御信号DCを高電位とすることにより、前段は状態を維持し後段は低電位を出力する。その結果、論理回路の状態が特定状態となり、スイッチオフ状態で特定状態が維持される。それにより、スイッチオン時に貫通電流を抑止することができる。なお、スイッチオン後にはクロックCKBから発振させることにより、前段に保持した状態を出力することができる。
【０１２０】
図２８は出力低電位化機能付フリップフロップの第２の例である。マスタスレーブ型のフリップフロップの出力インバータが反転論理和ゲートNOに変更され、正極性特定状態化端子DPが入力に接続される。正極性低電位化端子DPは通常動作状態では低電位となり、出力を低電位化する場合は高電位となる。出力を低電位化しても前段のラッチに値が保持されるので、本フリップフロップは、状態保持機能と出力特定電位化機能の双方を併せ持つことになる。
【０１２１】
クロック系を２系統に分離する必要がないので、回路構成は、第１の例より単純である。但し、出力インバータを反転論理和に変更したので、負荷駆動能力が低下している。しかし、遅延時間に敏感なパス上にあるフリップフロップの割合は低いので、大部分のフリップフロップをこのタイプにしても問題はない。
【０１２２】
図２９は出力高電位化機能付フリップフロップの例である。マスタスレーブ型のフリップフロップの出力インバータが反転論理積ゲートNAに変更され、負極性特定電位化端子DNに入力が接続される。負極性特定電位化端子DNは通常動作状態では高電位となり、出力を高電位化する場合は低電位となる。図２８のフリップフロップ同様、本フリップフロップは、状態保持機能と出力特定電位化機能の双方を併せ持つ。なお、負荷駆動能力は低下している。
【０１２３】
図２８及び図２９のフリップフロップを活用することにより、フリップフロップ出力を任意の一つの電位の組合せにすることが可能になる。なお、図２６の回路も反転論理積の代わりに反転論理和を使用することにより、同様に出力高電位化版にすることが可能である。
【０１２４】
以上のようにフリップフロップを工夫することにより、組合せ論理を変更することも論理段数を増やすこともなく、一般の論理回路に本発明を適用することができる。
＜発明の実施の形態３＞
図３０に本発明を適用したプロセッサコアの例を示す。プロセッサコア10は、データ処理用の演算器タイプの回路と制御系用の論理回路から構成される。データ処理用の演算器タイプの回路及び制御系用の論理回路とも、上記の実施形態２で述べた論理回路と同様に、電源スイッチオン時の貫通電流を抑止するような構成とすることが可能である。従って、本発明により演算器タイプの回路と論理回路の双方の電源スイッチオン時の貫通電流を抑止することができる。そして、電源スイッチオンに要するサイクル数は１サイクル（クロックの１周期）から数サイクル程度である。
【０１２５】
プロセッサコア10はパイプライン動作をしており、一般にデータ系はパイプラインを逐次流す必要があるが、制御系はある程度先回りさせることが可能である。特に電源スイッチオンに関する制御は、あるパイプラインステージをいつ使用するかということをスイッチオンに必要なサイクル数だけ早く決定できれば良い。
【０１２６】
まず、図３０のプロセッサコア10の構成要素及び制御の流れを説明する。構成要素は、命令キャッシュIC、命令フェッチユニットIFU、電力制御ユニットPWU、命令発行ユニットIS、命令デコーダID、汎用レジスタファイルGRと浮動小数点レジスタファイルFR、７つの実行ユニット浮動小数点除算器FDIV、浮動小数点積和演算器FMAC、整数積和演算器MAC、ロードストアユニットLSU、算術論理ユニットALU、シフタSFT、及び分岐ユニットBRU、オペランドキャッシュOC、そしてバスインタフェイスユニットBIUから成る。電力制御ユニットPWUには命令キューIQがあり、実行前の命令がキューイングされる。
【０１２７】
電力制御ユニットPWUは、命令キューIQを部分的にプリデコードすることにより、命令の種類を予測又は判定する。通常の制御の流れでは、命令が電力制御ユニットPWUの命令キューIQから命令発行ユニットISに送られ、発行先ユニットや発行の可否を判断して、命令デコーダIDに送り、命令デコーダIDで命令をデコードして制御信号を作り、汎用レジスタファイルGR、浮動小数点レジスタファイルFR、及び７つの実行ユニットを動作させる。各ユニットは１又は複数サイクルで処理を終了する。
【０１２８】
更に、ロードストアユニットLSUは、オペランドキャッシュOCにアクセスしてロードストア処理を行なう。
【０１２９】
また、電力制御ユニットPWUは、命令キューIQの状態を管理し、命令キューIQに空きができたり、分岐によって新たな命令フェッチが必要になったりしたときに、命令フェッチユニットIFUに命令フェッチを要求する。
【０１３０】
命令フェッチユニットIFUは、命令キャッシュICにアクセスして命令をフェッチする。命令キャッシュIC又はオペランドキャッシュOCがミスした場合は、プロセッサコア外部から命令又はオペランドをフェッチするために、バスインタフェイスユニットBIUに要求を出す。
【０１３１】
以上のような制御の流れに対して、電源スイッチオンに必要なサイクル数早く電源スイッチオン制御信号を出せれば、必要なときのみ電源スイッチオンすることが可能となる。ここでは電源スイッチオンに必要なサイクル数を２サイクルとして説明する。
【０１３２】
電力制御ユニットPWUは、命令発行ユニットISに命令を送るのと同時にその命令に使用するレジスタファイルを特定し、必要ならば汎用レジスタファイルGR及び浮動小数点レジスタファイルFRに電源スイッチオンの指示を出す。次のサイクルには、使用する実行ユニットを特定して７つの実行ユニットの内の使用するユニットに電源スイッチオンの指示を出す。
【０１３３】
複数サイクルのパイプライン構成の実行ユニットでは、前記電源スイッチオンの指示がパイプラインに沿って流され、逐次電源スイッチがオンとなる。オペランドキャッシュOCの動作はロードストアユニットLSUのパイプライン動作に組み込まれているので同様に電源スイッチオンの指示が出される。
【０１３４】
また、電力制御ユニットPWUは、命令キューIQの状態から命令フェッチが必要となる２サイクル前に命令フェッチユニットIFUを起動し、次のサイクルに命令キャッシュICを起動する。命令キャッシュIC又はオペランドキャッシュOCがミスした場合は、バスインタフェイスユニットBIUの電源スイッチオンの指示を出す。更に、命令キューIQが空になった場合は、命令発行ユニットIS及び命令デコーダIDの電源スイッチをオフにし、命令到着の２及び１サイクル前に起動させれば、これらのユニットの電源スイッチをオフすることも可能である。
【０１３５】
長いレイテンシの命令実行待ちやキャッシュミス時に不要なユニットの電源スイッチをオフにして、実行終了又は外部フェッチ完了の２サイクル前に電源スイッチオンの指示を出すこともできる。
【０１３６】
以上のように、プロセッサコア10のきめ細かな実行状態に応じて必要なユニットのみ電源スイッチをオンすることにより、漏れ電流による電力消費を押さえ低消費電力化することが可能である。
【０１３７】
図３１に本発明を適用したプロセッサの例を示す。プロセッサ11において、プロセッサコア(CPU)10、外部メモリインタフェイスEMI、ダイナミックメモリ転送コントローラDMAC、及び周辺モジュールバスブリッジIPBRが内部バスIBによって接続され、周辺モジュールバスブリッジIPBR、周辺モジュールIP1、IP2、及びIP3が周辺モジュールバスIPBによって接続されている。外部メモリインタフェイスEMIは外部アドレスAを出力し、データDを外部とやり取りする。
【０１３８】
これらの各モジュールも、上記の実施形態２で述べた論理回路と同様に、電源スイッチオン時の貫通電流を抑止するような構成とすることが可能である。従って、本発明により、プロセッサ11の内部においても、貫通電流を抑止しつつきめ細かく電源スイッチのオンオフを実施することができる。
【０１３９】
プロセッサコア10は、例えばバスアービタが内部バスIBや周辺モジュールバスIPBの調停をしている間に、必要なモジュールに電源スイッチオンの指示を出すことにより、必要なモジュールのみ電源スイッチをオンすることが可能である。或いはプロセッサコア10内部と同様に、電源制御を先回りさせて必要なときに丁度電源スイッチオンとすることができる。
【０１４０】
【発明の効果】
本発明により、電源スイッチオン時の貫通電流が抑止され高速な電源スイッチオンが可能となる。その結果、きめ細かく電源スイッチのオンオフを実施することが可能になり、従って、電源のオン状態を最小限の時間に抑えることができ、回路の消費電力を低減することができる。そして、従来、モジュールの使用をかなりの時間先行して予測するか、消費電力を犠牲にして常に電源オンしておくか、性能を犠牲にして必要になってから電源スイッチオンに要するかなりの時間待ってから使用する等の幾つかの不都合を避けられなかったのに対し、１から数サイクル前に確定情報や確度の高い予測によって起動することが可能となり、予測を容易にしたり、ハードでの予測を可能にしたり、性能を犠牲にすることなくきめ細かく電源スイッチのオンオフをする等により従来の不都合を解消することが可能となる。
【図面の簡単な説明】
【図１】本発明に係る論理回路の第１の発明の実施の形態を説明するための構成図。
【図２】従来の論理回路の例を説明するための構成図。
【図３】一般的なインバータチェーン回路を説明するための回路図。
【図４】図３の一般的なインバータチェーン回路の状態一覧を示す図。
【図５】特定状態化制御ゲートを備えるインバータチェーン回路の第１の例を説明するための回路図。
【図６】図５の第１のインバータチェーン回路の状態一覧を示す図。
【図７】図５の第１のインバータチェーン回路の不正な動作を説明するための図。
【図８】特定状態化制御ゲートを備えるインバータチェーン回路の第２の例を説明するための回路図。
【図９】図８の第２のインバータチェーン回路の状態一覧を示す図。
【図１０】特定状態化制御ゲートを備えるインバータチェーン回路の第３の例を説明するための回路図。
【図１１】図１０の第３のインバータチェーン回路の状態一覧を示す図。
【図１２】図１０の第３のインバータチェーン回路の不正な動作を説明するための図。
【図１３】図２の従来の論理回路に対応する論理構成の例を説明するための論理図。
【図１４】図１３の論理構成を具体化した論理回路を説明するための回路図。
【図１５】図１４の論理回路の通常状態一覧を示す図。
【図１６】図１４の論理回路の電源状態一覧を示す図。
【図１７】図１の本発明の論理回路に対応する論理構成の例を説明するための論理図。
【図１８】図１７の論理構成を具体化した論理回路の第１の例を説明するための回路図。
【図１９】図１７の論理構成を具体化した論理回路の第２の例を説明するための回路図。
【図２０】図１８及び図１９の論理回路の電源状態一覧を説明するための図。
【図２１】図１７の論理構成を具体化した論理回路の第３の例を説明するための回路図。
【図２２】図２１の論理回路の電源状態一覧を説明するための図。
【図２３】本発明に係る論理回路の第２の発明の実施の形態を説明するための構成図。
【図２４】図２３の論理回路に用いるフリップフロップを説明するための回路図。
【図２５】本発明に係る論理回路の第２の発明の実施の形態の変形例を説明するための構成図。
【図２６】図２５の論理回路に用いるフリップフロップの第１の例を説明するための回路図。
【図２７】図２５の論理回路に用いるフリップフロップの第２の例を説明するための回路図。
【図２８】図２５の論理回路に用いるフリップフロップの第３の例を説明するための回路図。
【図２９】図２５の論理回路に用いるフリップフロップの第４の例を説明するための回路図。
【図３０】本発明を適用したプロセッサコアの例を第３の発明の実施の形態として説明するための構成図。
【図３１】本発明を適用したプロセッサの例を第３の発明の実施の形態として説明するための構成図。
【符号の説明】
1…特定状態化制御ゲート、2…マルチプレクサ（選択器）、3…加算部、4…フリップフロップ群、5…組合せ論理部、6…高閾値NMOSトランジスタ、7…高閾値PMOSトランジスタ、10…プロッセサコア(CPU)、11…プロセッサ、AN…論理積ゲート、NA…反転論理積ゲート、DC…特定状態化制御信号。
【図１】
0003770836.tif 000002
【図２】
0003770836.tif 000003
【図３】
0003770836.tif 000004
【図４】
0003770836.tif 000005
【図５】
0003770836.tif 000006
【図６】
0003770836.tif 000007
【図７】
0003770836.tif 000008
【図８】
0003770836.tif 000009
【図９】
0003770836.tif 000010
【図１０】
0003770836.tif 000011
【図１１】
0003770836.tif 000012
【図１２】
0003770836.tif 000013
【図１３】
0003770836.tif 000014
【図１４】
0003770836.tif 000015
【図１５】
0003770836.tif 000016
【図１６】
0003770836.tif 000017
【図１７】
0003770836.tif 000018
【図１８】
0003770836.tif 000019
【図１９】
0003770836.tif 000020
【図２０】
0003770836.tif 000021
【図２１】
0003770836.tif 000022
【図２２】
0003770836.tif 000023
【図２３】
0003770836.tif 000024
【図２４】
0003770836.tif 000025
【図２５】
0003770836.tif 000026
【図２６】
0003770836.tif 000027
【図２７】
0003770836.tif 000028
【図２８】
0003770836.tif 000029
【図２９】
0003770836.tif 000030
【図３０】
0003770836.tif 000031
【図３１】
0003770836.tif 000032