以下、本発明の実施形態を図面に基づいて説明する。
(実施形態1)
図1は、本発明の実施形態1に係る半導体集積回路を示す。
同図において、D0、D1、D2はデータ、S0、S1、S2は各々前記データD0〜D2のデータを選択するための選択信号、SIはスキャン時のデータ入力、SEはスキャンシフト動作させるためのスキャンシフト制御信号、SEBはスキャンシフト制御信号の反転信号、Q、SOは出力端子である。
図1に示した半導体集積回路は、NOR型の第1ダイナミック回路1Aと、NAND型の第2ダイナミック回路1Bと、NOR型の第3ダイナミック回路1Cと、NAND型の第4ダイナミック回路1Dと、出力回路1Eと、保持回路1Fとを有し、前記出力回路1E及び保持回路1Fによりダイナミック型のフリップフロップ回路が構成される。
前記NOR型の第1ダイナミック回路1Aは、前記3つのデータD0〜DD2、3つの選択信号S0〜S2、及び第1のクロックCLK1が入力されると共に、2個のp型MOSトランジスタTr1、Tr3と、n型MOSトランジスタTr2とを有する。
この第1ダイナミック回路1Aでは、第1のクロックCLK1の立下りから立上りまでの半周期であるLowの第1期間では、全ての選択信号S0〜S2はLowに制御される。従って、この第1期間では、p型トランジスタTr1がオンして、第1の出力ノードN1は電源電圧Vddにプリチャージされる。その後、前記第1のクロックCLK1の立上りから立下りまでの半周期であるHighの第2期間では、p型トランジスタTr1、Tr3がオフすると共に、n型トランジスタTr2がオンする状態であって、何れか1つの選択信号S0〜S2がHighに制御される。従って、この第2期間では、Highに制御された選択信号によって選択された1つのデータD0〜D2の値に応じて前記第1の出力ノードN1の電位が決定される。例えば、データD0がLowの場合には、第1の出力ノードN1のプリチャージ状態が保持されて、第1の出力ノードN1は電源電位Vddに維持され、一方、データD0がHighの場合には、第1の出力ノードN1の電荷がn型トランジスタTr2を経て放電されて、第1の出力ノードN1は接地電位となる。
前記NAND型の第2ダイナミック回路1Bは、第2のクロックCLK2が入力されると共に、前記第1ダイナミック回路1Aの第1の出力ノードN1の信号が入力される。更に、このNAND型の第2ダイナミック回路1Bは、2個のp型MOSトランジスタTr4、Tr8と、3個のn型MOSトランジスタTr5〜Tr7とを有する。n型トランジスタTr5は、そのゲートに前記第1ダイナミック回路1Aの第1の出力ノードN1の信号が入力される。
前記第2ダイナミック回路1Bは、第2のクロックCLK2がLowである第1期間では、p型トランジスタTr4がオン、n型トランジスタTr7がオフであるので、第2の出力ノードN2が電源電位Vddにプリチャージされる。その後、第2のクロックCLK2がHighである第2期間では、前記プリチャージ動作が停止すると共に、n型トランジスタTr5が前記第1ダイナミック回路1Aの第1の出力ノードN1の電位に応じてオン、オフする。例えば、LoのデータD0が選択された場合には、n型トランジスタTr5がオフして、第2の出力ノードN2のプリチャージ状態が保持される一方、HighのデータD0が選択された場合には、n型トランジスタTr5がオンして、第2の出力ノードN2の電荷が2個のn型トランジスタTr5、Tr7を介して放電される。n型トランジスタTr6は、本実施形態1では重要なトランジスタであって、その機能は後述する。
更に、前記NOR型の第3ダイナミック回路1Cは、第3のクロックCLK3と、前記3つの選択信号S0〜S2及びスキャンシフト制御信号SEとが入力されると共に、2個のp型トランジスタTr9、Tr11と、n型トランジスタTr10と、インバータIN3とを有する。
前記第3ダイナミック回路(非選択状態検出回路)1Cは、第3のクロックCLK3がLowである第1期間では、p型トランジスタTr9がオンし、n型トランジスタTr10がオフするので、第3の出力ノードN3は電源電位Vddにプリチャージされる。その後、第3のクロックCLK3がHighである第2期間では、前記3つの選択信号S0〜S2及びスキャンシフト制御信号SEが何れもLowの場合、即ち、全てのデータD0〜D2が選択されない状態では、前記第3の出力ノードN3のプリチャージ状態が保持されて、この状態を検出する一方、何れか1つの選択信号がHighに遷移した場合には、第3の出力ノードN3の電荷はn型トランジスタTr10を経て放電されて、その電位はLowとなる。
加えて、前記NAND型の第4ダイナミック回路1Dは、第4のクロックCLK4と、前記第3ダイナミック回路1Cの第3の出力ノードN3の信号が入力されると共に、2個のp型MOSトランジスタTr12、Tr15と、2個のn型MOSトランジスタTr13、Tr14とを備える。前記n型MOSトランジスタTr13のゲートには、前記第3ダイナミック回路1Cの第3の出力ノードN3の信号が入力される。
前記NAND型の第4ダイナミック回路1Dは、第4のクロックCLK4がLowである第1期間では、p型トランジスタTr12がオンし、n型MOSトランジスタTr14がオフするので、第4の出力ノードN4は電源電位Vddにプリチャージされる。一方、第4のクロックCLK4がHighである第2期間では、逆にp型トランジスタTr12がオフするので、前記のプリチャージ動作が停止すると共に、n型MOSトランジスタTr14がオンするので、n型トランジスタTr13のオン、オフに応じて第4の出力ノードN4の電位が決定する。即ち、この第2期間では、前記第3ダイナミック回路1Cの第3の出力ノードN3の電荷が保持されている、即ち、通常動作時に何れの選択信号S0〜S2もLow状態で何れのデータD0〜D2も選択されない場合には、第4の出力ノードN4の電荷は、n型トランジスタTr13、Tr14を経て放電されて、その電位はLowとなる一方、何れかの選択信号S0〜S2により1つのHigh状態のデータが選択されて前記第3ダイナミック回路1Cの第3の出力ノードN3の電荷が放電された場合には、n型MOSトランジスタTr13がオフして、第4の出力ノードN4のプリチャージ状態は保持される。
そして、前記NAND型の第2ダイナミック回路1Bには、前記第4ダイナミック回路1Dの第4の出力ノードN4の信号がゲートに入力されるn型MOSトランジスタTr6が備えられる。このn型トランジスタTr6は、n型トランジスタTr5と直列に接続されており、このn型トランジスタTr5がオン状態にあっても、n型トランジスタTr6がオフ状態にある場合には、第2の出力ノードN2の電荷は放電されず、プリチャージ状態が維持される。
本実施形態では、NAND型の第2ダイナミック回路1Bでは、全てのデータD0〜D2が選択されない状況では、n型トランジスタTr5がオン状態にある際には、n型トランジスタTr6が既にオフ状態となっている必要があるが、この構成として、前記n型トランジスタTr6を制御する第3及び第4ダイナミック回路1C、1Dは、第1ダイナミック回路1Aよりも、高速動作する構成を持つ。例えば、第3ダイナミック回路1Cは、第3の出力ノードN3から接地に至る経路のトランジスタの直列段数が2段であり、一方、第1ダイナミック回路1Aでは、第1の出力ノードN1から接地に至る直列段数が3段であるので、動作速度は第3ダイナミック回路1Cの方が第1ダイナミック回路1Aよりも速い。また、第3及び第4ダイナミック回路1C、1Dは、第1ダイナミック回路1Aよりも、第2ダイナミック回路1Bに近接した位置に配置される。これにより、第3及び第4ダイナミック回路1C、1Dの第3及び第4の出力ノードN3、N4の電位変化が第2ダイナミック回路1Bのn型トランジスタTr6に伝搬する遅延時間は短縮されて、第1ダイナミック回路1Aの第1の出力ノードN1の電位変化が第2ダイナミック回路1Bのn型トランジスタTr5に伝搬する遅延時間よりも短くなる。
また、第3及び第4ダイナミック回路1C、1Dを第1ダイナミック回路1Aよりも高速動作させるために、第3及び第4ダイナミック回路1C、1Dへの供給電圧を第1ダイナミック回路1Aの供給電圧よりも高く設定したり、第3及び第4ダイナミック回路1C、1Dを構成するMOSトランジスタの閾値電圧を第1ダイナミック回路1Aを構成するMOSトランジスタの閾値電圧よりも低く設定したり、第3及び第4ダイナミック回路1C、1Dを構成するMOSトランジスタのサイズを第1ダイナミック回路1Aを構成するMOSトランジスタのサイズよりも大きく設定しても良い。更に、半導体基板にSTI(Shallow Trench Isolation 素子分離領域)が形成される場合には、このSTIの影響を受けてトランジスタの性能劣化が懸念されるため、このSTIの影響を考慮した配置構成を採用しても良い。例えば、図2に示すように、N型基板60上にトランジスタ列61が形成される場合に、このトランジスタ列61のうち、端部に位置する複数のトランジスタを用いて、第1ダイナミック回路1Aのn型トランジスタを構成し、一方、前記トランジスタ列61のうち内側に位置する複数のトランジスタを用いて、第3及び第4ダイナミック回路1C、1Dのn型トランジスタを構成する。この構成の採用により、前記N型基板60上では、トランジスタ列61の左右に位置する他のトランジスタ列62、63との間に素子分離領域(STI)65が配置され、このSTIの影響を受けてトランジスタ列61の端部のトランジスタは劣化の程度が大きいが、速い動作速度でなくて良い第1ダイナミック回路1Aのn型トランジスタが配置されているので、その劣化の影響が少ない。一方、速い動作速度が要求される第3及び第4ダイナミック回路1C、1Dのn型トランジスタは、トランジスタ列61の内側に位置していてSTIの影響を受け難いトランジスタで構成されるので、その速い動作速度を良好に確保できる。
尚、本実施形態では、第3及び第4ダイナミック回路1C、1Dの動作速度を第1ダイナミック回路1Aよりも速く構成したが、本発明は、この構成を採用しない場合を含む。例えば、図1の半導体集積回路において、第2ダイナミック回路1Bのn型トランジスタTr7では、そのゲートに第2クロックCLK2を入力したが、この第2クロックCLK2に代えて、第3ダイナミック回路1Cの第3の出力ノードN3の信号の反転信号を入力しても良い。この構成の下では、第4クロックCLK4の立上り前において全てのデータが非選択(全ての選択信号S0〜S2がLow)となった際には、第3の出力ノードN3がHighとなって、n型トランジスタTr7がオフとなり、その後、第4クロックCLK4が立上り変化すると、第4の出力ノードN4がLowとなって、n型トランジスタTr6がオフするので、第3及び第4ダイナミック回路1C、1Dの動作速度を第1ダイナミック回路1Aよりも速く構成する必要はない。
次に、前記ダイナミック型フリップフロップ回路の残りの部分を構成する出力回路1E及び保持回路1Fについて、説明する。出力回路1Eは、前記第1ダイナミック回路1Aの第1の出力ノードN1の信号と、前記第2ダイナミック回路1Bの第2の出力ノードN2の信号とが入力されると共に、インバータIN4と、NOR回路NOR1と、第1のp型MOSトランジスタTr20と、3個のn型MOSトランジスタTr21、Tr22、Tr23とを備え、p型MOSトランジスタTr20のドレインと第1のn型トランジスタTr21のドレインとが相互に接続されて、第7の出力ノードN7となる。前記p型MOSトランジスタTr20のゲートには、前記第2ダイナミック回路1Bの第2の出力ノードN2の信号が入力される。また、NOR回路NOR1は、2個のp型トランジスタTr24、Tr25とn型トランジスタTr26とを備え、前記第1ダイナミック回路1Aの第1の出力ノードN1の信号と、前記第2ダイナミック回路1Bの第2の出力ノードN2の信号を前記インバータIN4で反転した信号とが入力され、その出力は、第6の出力ノードN6として、第1のn型トランジスタTr21のゲートに入力される。
従って、前記出力回路1Eでは、前記第2ダイナミック回路1Bの第2の出力ノードN2がLow状態で且つ前記第1ダイナミック回路1Aの第1の出力ノードN1がHigh状態では、p型トランジスタTr20がオンし、n型トランジスタTr21がオフするので、第7の出力ノードN7は電源電位Vddにプリチャージされて、その電位はHighとなる。一方、前記第2の出力ノードN2がHigh状態で且つ第1の出力ノードN1がLow状態では、p型トランジスタTr20がオフし、n型トランジスタTr21がオンするので、第7の出力ノードN7の電荷は放電されて、その電位はLowとなる。
前記出力回路1Eにおいて、第2のn型トランジスタTr22は、そのゲートに前記第4ダイナミック回路1Dの第4の出力ノードN4の信号が入力され、そのソースは接地され、そのドレインは前記n型トランジスタTr21のソースに接続さされる。このn型トランジスタTr22は、第7の出力ノードN7の電位がHighの場合に、第1のダイナミック回路1Aの第1の出力ノードN1の電位低下に起因してNOR回路NOR1の出力(第6の出力ノードN6)がHighとなってn型トランジスタTr21がオンしても、このn型トランジスタTr22のオフ状態の維持によって、第7の出力ノードN7の電位がLowへ誤動作したり、貫通電流が流れることを防止するものである。
次に、保持回路1Fについて説明する。この保持回路1Fは、帰還バッファとして機能するものであり、前記保持回路1Eの第7の出力ノードN7が入力側に接続された第1のインバータIN5と、このインバータIN5が入力側に接続された第2のインバータIN6とを備える。この第2のインバータIN6は、出力側が前記第7の出力ノードN7に接続される。更に、保持回路1Fは、前記第2のインバータIN6を構成する第1のp型MOSトランジスタTr27と第1のn型MOSトランジスタTr28との間に直列に配置された第2のn型MOSトランジスタTr29と、ディレイセル59とを備える。前記両インバータIN5、IN6は前記保持回路1Eの第7の出力ノードN7の電位を保持し、この保持電位はインバータIN7で反転された後に出力端子Qから外部出力される。前記第1のインバータIN5の出力はディレイセル59で設定時間だけ遅延された後に出力端子SOから外部出力される。
前記保持回路1Fにおいて、n型MOSトランジスタTr29は、そのゲートに前記第2ダイナミック回路1Bの第2の出力ノードN2の信号が入力され、そのドレインはp型トランジスタTr27のドレインに接続され、そのソースはn型トランジスタTr28のドレインに接続される。このn型トランジスタTr29は次の機能を持つ。すなわち、出力回路1Eの第7の出力ノードN7がLowの際には、この出力ノードN7は第2のインバータIN6のn型トランジスタTr28を通じて接地されている状況であるが、第2ダイナミック回路1Bの第2の出力ノードN2がHighからLowに遷移し始めると、出力回路1Eのp型トランジスタTr20がオンして、第7の出力ノードN7を電源電位Vddにプリチャージし始める。この時、n型トランジスタTr29は、前記第2の出力ノードN2のLow状態でもってオフして、第7の出力ノードN7からn型トランジスタTr28を通じて接地される経路を断ち、第7の出力ノードN7のプリチャージ動作を促進させる。
次に、本実施形態の半導体集積回路の動作を図4のタイミングチャートに基づいて説明する。尚、説明を簡易にするため、第1〜第4各クロックCLK1〜CLK4は、その各々が同一クロックCLKである場合を説明する。
先ず、クロックCLKの第1周期では、データD0は、クロックの立上り前後のデータ有効期間(セットアップ、ホールド時間を満足する時間)はHighであり、データ有効期間を過ぎると、Lowになる。他のデータD1、D2はHighであり、選択信号S0はデータ有効期間ではLowであり、そのデータ有効期間を過ぎた後にHighとなる。他の選択信号S1、S2はLowである。従って、この第1周期では、何れのデータD0〜D2も選択されない状態である。
この状態では、データ有効期間において、第1ダイナミック回路1Aの第1の出力ノードN1がHighとなるため、第2ダイナミック回路1Bでは、n型トランジスタTr5がオンすることになる。その結果、図3(a)に示した従来例では、第2の出力ノードN2は、Highにある場合には、Lowに誤動作して、フリップフロップ回路からは本来の「H」信号が「L」信号が誤って出力される欠点があった。
しかし、本実施形態では、第3ダイナミック回路1Cの第3の出力ノードN3がHighとなり、第4ダイナミック回路1Dの第4の出力ノードN4がクロックの立上り後にLowとなるので、第2ダイナミック回路1Bでは、前記n型トランジスタTr5がオンする前の段階でn型トランジスタTr6がオフして、第2の出力ノードN2がLowに誤動作することが防止され、Highに保持される。従って、出力回路1Eでは、第7の出力ノードN7がLowに保持されて、保持回路1Fからは正しい「H」信号が出力される。
一方、出力回路1Eの第7の出力ノードN7がHighに保持されている場合に、クロックCLKの立上り後、例えば仮に選択信号S2がHighとなって、第1ダイナミック回路1Aの第1の出力ノードN1がLowになっても(図示せず)、出力回路1Eでは、第6の出力ノードN6がHighとなって、n型トランジスタTr21がオンするが、n型トランジスタTr22がオフするので、第7の出力ノードN7は接地されず、第7の出力ノードN7のHighは保持される。尚、前記n型トランジスタTr22のオフ動作は、第3ダイナミック回路1Cの第3の出力ノードN3が選択信号S2のHighへの遷移に伴いLowとなっても、第4ダイナミック回路1Dの第4の出力ノードN4がLowに保持されるためである。
尚、図4では、クロックCLKの第2周期において、データD0がLow、データD1、D2がHigh、選択信号S0がHigh、他の選択信号S1、S2がLowの場合、即ち、データD0が選択されている状態を示している。
ここで、本実施形態では、図3(b)に示したような、クロック前段にOR回路やラッチ回路を付加しない構成であるので、選択信号のセットアップは不要であり、高速動作するダイナミック型フリップフロップ回路を提供できる。
尚、以上の動作説明では、第1〜第4各クロックCLK1〜CLK4について、各々が同時間の同一クロックの場合を説明したが、各クロック間の位相に関しては、多少差分があっても良い。その場合は、第1クロックCLK1は第2クロックCLK2よりも早い方が望ましい。また、第3及び第4クロックCLK3、CLK4については、第1及び第2クロックCLK1、CLK2よりも早い方が望ましい。
尚、第2ダイナミック回路1Bに入力されるクロックCLK2の遅延値を所定値に設定せずに、第3ダイナミック回路1CのクロックCLK3に基づいて前記クロックCLK2を生成しても良い。この場合の回路構成を図9に示す。同図では、別途、ダイナミック回路A1が設けられ、このダイナミック回路A1では、図1に示した第1ダイナミック回路1Aのn型MOSトランジスタの直列段数と同数のn型MOSトランジスタの直列回路を有し、この直列回路を複数並列接続した並列回路部の構成は、スキャン信号SEの入力構成を除いて、第1ダイナミック回路1Aと同様である。この別途設けたダイナミック回路A1の出力A1−1は、インバータIN10で反転されて、第2ダイナミック回路1Bのn型トランジスタTr7に入力される。
前記図9で別途設けたダイナミック回路A1には、更に、図1の第3ダイナミック回路1Cに入力されるクロックCLK3から第4ダイナミック回路1Dに入力されるクロックCLK4を生成するクロック生成回路A2が含まれている。このクロック生成回路A2は、データ等の多段入力ゲート郡のジャンクション容量部を前記ダイナミック回路A1の出力A1−1の点と等価に見えるように構成し、その出力A2−1は、インバータIN11で反転されて、第4ダイナミック回路1Dのn型トランジスタTr14に入力される。このクロック生成回路A2には、更に、p型MOSトランジスタTr40で構成したプリチャージ回路A2−2が設けられる。このプリチャージ回路A2−2は、前記クロック生成回路A2の出力点A2−1をプリチャージする機能を有し、そのp型トランジスタTr40のゲートに入力されるクロックは、前記第3ダイナミック回路1Cに入力されるクロックCLK3である。前記ダイナミック回路A1の出力A1−1と前記クロック生成回路A2の出力A2−1とのディスチャージ時の遅延差は、選択信号S0〜S3が入力されているn型MOSトランジスタの電流差が反映され、その遅延差を前記インバータIN11で補うことにより、確実な動作が実現できる。
尚、図1の回路では、選択信号SEに加えて、他の選択信号S0〜S3の何れか1つが多重に出力された場合には、ダイナミック回路A1の方がダイナミック回路1Aよりも高速に遷移すると、出力が不定となる可能性がある。しかし、図9においては、ダイナミック回路A1において、選択信号SE、S0〜S3が入力されるトランジスタと直列に接続される5つのNMOSトランジスタTs1〜Ts4は、それらゲートが接地されて、非導通状態となっている。従って、ノードA2−1から接地へディスチャージされる電流パスは、ゲートが電源電位Vddに固定されたNMOSトランジスタTs5を介する1本のパスであるので、ダイナミック回路1Aよりもダイナミック回路A1は遅く遷移することになり、その結果、出力端子Qに出力されるデータは、データD0〜D3のうち選択されたデータのOR出力となる。この構成は、例えば、スキャンテストの際に期待値が不定とならないので、有効である。
前記図9に示した半導体集積回路のレイアウト構成例を図10に示す。同図では、第1ダイナミック回路1Aの選択信号S0〜S3の入力用のn型トランジスタ及びデータD0〜D3の入力用のn型トランジスタの回路部と、前記図9に示したダイナミック回路A1を構成する選択信号S0〜S3の入力用のn型トランジスタの回路部とが上下の配置関係で配置される。これにより、入力ピンの配線容量が削減されると共に、これ等の両回路部同士が近接しているので、この両ダイナミック回路1A、A1間の製造プロセスのばらつき成分も削減されるし、電圧変動や温度変動分も削減される利点がある。また、複数個のn型トランジスタで構成する選択信号やデータの入力回路部のレイアウトにおいて、選択信号やデータの入力数の異なるレイアウトを作成する場合に、入力数の最も多いものを作成しておけば、それよりも少ない入力数のレイアウトの作成については、図10の左側部のn型MOSトランジスタを削減するだけで良いので、レイアウト工数も削減可能である。
尚、ダイナミック回路1AのトランジスタTr91は、キーパーとしての機能を持ち、ノードN1の電荷を保持する。ここで、前記トランジスタTr91のソースは、ダイナミック回路A1のトランジスタTr93のドレイン(ノードN20)と接続されることが望ましい。これにより、例えば、前記トランジスタTr91のソースがダイナミック回路1AのトランジスタTr94のドレインに接続された場合と比較すると、ノードN1の信号遷移速度が高速になるからである。これは、前記ダイナミック回路A1のトランジスタTr93のドレイン容量がノードN1に影響を与えないからである。また、ダイナミック回路1BのトランジスタTr92についても同様である。
加えて、入力すべきデータの数が非常に多い場合には、これ等データを2組に区分することが考えられる。例えば、図11に示した半導体集積回路では、図9に示した第1〜第4ダイナミック回路1A〜1D、A1の組と、これ等と同一構成の他の第1〜第4ダイナミック回路1A’〜1D’、A1’の組とを設ける。そして、データの数が2Nである場合に、一方の組にはデータD1〜SNを入力し、他方の組にはデータSDN+1〜D2Nを入力する。これ等の両組は、図1に示した出力回路1Eのn型トランジスタTr20、Tr21のゲートに並列に入力される。更に、ダイナミック回路A1の出力A1−1、A1−1’同士及びクロック生成回路A2の出力A2−1、A2−1’同士の一致を検出する選択信号一致検出回路1Jを更に付加し、その出力1J−1は、図1に示した出力回路1Eのn型トランジスタTr22のゲートに接続される。このように構成すれば、各組の第1ダイナミック回路1A、1A’の第1のノードN1、N1’の容量が、1組のみの場合の半分値になるので、動作の高速化が可能である。
(実施形態2)
次に、本発明の実施形態2を説明する。本実施形態は、図5に示すように、図1に示した出力回路1Eを変形したものである。
即ち、図5に示した出力回路1Gは、差動回路70により構成される。具体的に説明すると、差動回路70は、1対の差動入力端子70a、70bと、1対の差動出力端子70c、70dとを有し、交差結合された2個のp型MOSトランジスタTr30、Tr31及び2個のn型MOSトランジスタTr32、Tr33と、ゲートに前記1対の差動入力端子70a、70bが接続された差動信号入力用の2個のn型MOSトランジスタTr34、Tr35とを有する。一方のp型トランジスタTr30とn型トランジスタTr32との接続点、及び他方のp型トランジスタTr31とn型トランジスタTr33との接続点に前記1対の差動出力端子70c、70dが接続される。この1対の差動出力端子70c、70dは、図1での半導体集積回路の出力端子Qと、その反転出力端子NQとなる。
前記一方の差動入力端子70aには、図1に示した第2のダイナミック回路1Bの第2の出力ノードN2の信号が入力される。一方、他方の差動入力端子70bには、OR回路71が接続される。このOR回路71には、前記第2のダイナミック回路1Bの第2の出力ノードN2の信号をインバータ72で反転した信号と、前記第1のダイナミック回路1Aの第1の出力ノードN1の信号とが入力される。
更に、前記差動信号入力用の2個のn型MOSトランジスタTr34、Tr35のソースである第9のノードN9には、n型MOSトランジスタから成る制御トランジスタTr36が接続される。この制御トランジスタTr36は、そのソースが接地され、そのドレインが前記第9のノードN9に接続され、そのゲートには、制御信号として、図6に示すクロック生成回路1Hで生成される第5のクロック信号CLK5が入力される。
前記クロック生成回路1Hの内部構成を説明する。図6において、クロック生成回路(信号生成回路)1Hは、第1のクロックCLK1と同周期で短パルス信号を生成する短パルス生成回路75と、NAND回路NAND11とを備える。前記短パルス生成回路75は、第1のクロックCLK1を反転するインバータIN10と、前記第1のクロックCLK1及び前記インバータIN10の出力を受けるNAND回路NAND10と、このNAND回路の出力を反転するインバータIN11とを有する。また、前記NAND回路NAND11は、前記インバータIN11の出力と、前記図1に示した第4のダイナミック回路1Dの第4の出力ノードN4の信号とが入力され、このNAND回路NAND11の出力が第5のクロックCLK5となり、このクロックCLK5が制御信号として、図5に示した差動回路70の一方の差動信号入力用のn型トランジスタTr36に入力される。
図6に示したクロック生成回路1Hは、図7に示すように、第1のクロックCLK1の第1周期において、例えば選択信号S1がHighとなってデータD1が選択されている場合に、その期間の当初では第4のダイナミック回路1Dの第4の出力ノードN4の信号がHighであるので、その後に短パルス生成回路75から短パルスが生成されると、この時点で第5のクロックCLK5がHighからLowに遷移し、その後、前記短パルスの終了に伴い第5のクロックCLK5はLowからHighに遷移する。この際、制御トランジスタTr36は、前記第5のクロックCLK5がLowからHighに遷移する途中でオンすることにより、差動入力信号を増幅して出力する。その他の状態では、制御トランジスタTr36はオフ状態を維持する。従って、第5のクロックCLK5がHighの状態では、出力回路70は出力データを保持するラッチとして機能する。この構成により、図5に示した出力回路1Gを有する場合には、その後段には、図1に示した保持回路1Fは不要となる。
図5において、出力回路1Gには、前記制御トランジスタTr36とは並列にn型MOSトランジスタTr37が配置される。このn型トランジスタ(抵抗素子)Tr37は、ソースが接地され、ゲート及びドレインが前記差動回路70の第9のノードN9に接続される。前記第9のノードN9は、第5のクロックCLK5がLow状態ではリーク電流によって電位が上がる可能性があるが、前記n型トランジスタTr37が抵抗素子として機能して、前記の電位上昇を抑制、防止するので、第9のノードN9を最適な電位状態に保持する。その結果、差動入力用の1対のn型トランジスタTr34、Tr35のソース−ドレイン間の電位が、適切ゲインを得る最適な電位差に保持されるので、出力回路1Gの所期の高速動作が良好に維持される。
本実施形態では、差動回路70は入力差動信号間の電位差が小さい状況でこれを素早く増幅して出力するので、前記実施形態1の出力回路1Eによるデータ保持と比べて、高速である。尚、図28の差動増幅回路28Aに置換しても良い。その場合、差動増幅回路28AのP型トランジスタ28L、28Mのゲートは、クロックCLK5に接続される。
(実施形態3)
図8は、本発明の実施形態3の半導体集積回路を示す。
本実施形態は、図1に示した半導体集積回路と比べて、NOR型の第1ダイナミック回路2AとNOR型の第3ダイナミック回路2Cの構成が異なり、第2及び第4ダイナミック回路1B、1D、出力回路1E及び保持回路1Fについては、実施形態1と同様である。
前記第1ダイナミック回路2Aでは、p型トランジスタTr1とn型トランジスタTr2とが直列に接続されると共に、その直列回路には、ゲートにデータDを受けるn型MOSトランジスタTr80と、ゲートに出力信号Qの反転信号NQを受ける他のn型MOSトランジスタTr81とが直列に接続される。従って、この第1ダイナミック回路2Aでは、基本的にデータDの値に応じて第1の出力ノードN1の電位が決定され、そのデータDが出力端子Qから出力されると、その反転出力NQによって次のデータDの値の変化に備えられる。
また、第3ダイナミック回路(一致検出回路)2Cでは、EXNOR回路EXNOR1が備えられる。このEXNOR回路は、データD、出力信号Q及びそれ等の反転信号ND、NQが入力されて、第3クロックCLK3の立上り後にデータDと出力信号Qとが一致する場合に限り、第3の出力ノードN3を電源電位Vddに設定する。従って、データDと出力信号Qとが一致する場合には、第4のダイナミック回路2Dでは、n型トランジスタTr13がオンして、第4の出力ノードN4の電荷が放電され、その結果、第2のダイナミック回路2Bでは、n型トランジスタTr6がオフする。
以上の構成により、ダイナミックNAND回路2Dでは、データDの値と出力信号Qの値とが同じ場合には、その出力ノードN4がLowに遷移して、第2ダイナミック回路2Bのn型トランジスタTr6を強制的にオフするので、以後の第2ダイナミック回路2B、出力回路1E及び保持回路1Fの動作を停止することが可能となる。従って、これ等回路2B、1E及び1Fの無駄な動作を防止して、半導体集積回路の電力を削減することができる。
尚、実施形態1に示したように、各ダイナミック回路の物理配置、各トランジスタのサイズや閾値電圧特性、これ等回路への供給電圧などは、本実施形態3においても、実施形態1と同様な構成を採ることが可能であるのは、言うまでもない。また、出力回路1Eについても、前記実施形態2に示したような差動型の出力回路1Gを採用可能であり、この場合にはより高速性が実現できるのは勿論である。
尚、本実施形態では、フリップフロップの例を示したが、例えば、ノードN2の電位を出力信号とすることにより、ラッチ回路とすることも可能である。この場合、保持回路1Fは信号を出力する必要はなく、また設ける必要もない。
(実施形態4)
図12は、本発明の別の多入力フリップフロップの回路図である。図1、図9と比較すると、単一のクロック信号CLK1で動作する点が異なっている。更に、図1、図9に記載された回路と異なる点は、p型MOSトランジスタ12B、p型MOSトランジスタ12Cを備えた点である。
図1、図9においては、ソースを電源に接続され、ノードN2、N4を充電するp型MOSトランジスタ(図1でのトランジスタTr4、Tr12)であったが、図12の回路では、ノードN1、N2間、及びノードN1、N4間に、各々、ソース、ドレインを接続したp型MOSトランジスタ12B、12Cを挿入している。p型MOSトランジスタ12Bのゲートは、ノードA1_2に接続され、p型MOSトランジスタ12Cのゲートは、ノードA2_3に接続されている。この回路は、クロック信号を1系統しか用いていないので、消費電力を低くすることができ、また、クロック信号を1系統しか用いていなくても、誤動作を生じないという特徴がある。
図13及び図14は、前記図12で示した回路における端子SI、D[1]〜D[N−1]と端子D[N]、又は端子SE、S[1]〜S[N−1]と端子S[N]との信号入力パターンが異なる場合の、各ノードの電圧と時間との関係を示したものである。更に、図13及び図14では、図1、図9の回路でトランジスタバランスが悪いケースで且つ単一クロック信号で駆動したことにより誤動作が生じる波形も合わせて記載しており、一点鎖線が図12の回路を用いた場合、実線が図1、図9の回路を用いた場合を示している。
図12と対比させて説明を行う。図13において、端子D[1]〜D[N−1]、SI、S[1]〜S[N]、SEの信号入力が全て、クロック信号CLK1がHiに遷移するタイミングで、所望のセットアップとホールド時間を満たしており、Loである。また、端子DNのみ所望のセットアップとホールド時間を満たしてHiである。その後、クロック信号CLK1がHiの期間に、端子S[N]のみがLoからHiに遷移する。すると、ノードA1−1とノードN1とはLoに遷移し、ノードN6はHiになる。p型MOSトランジスタ12Cを図1、図9と同様に構成すると、その後にクロック信号CLK1がHiからLoに遷移する際、p型MOSトランジスタ12Cを介してノードN4に電源電圧Vddが供給され、ノードN4がHiになる。その結果、ノードN4とノードN6とのHi期間がオーバーラップする可能性がある。ノードN4とノードN6とのHi期間がオーバーラップすると、トランジスタTr21、Tr22の双方が導通状態となり、ノードN7から電荷が引き抜かれ、ノードN7が本来は、Hiをキープしなければならないのが、逆にLoに遷移してしまい、出力端子Qが誤動作する可能性がある。これは、特に、ノードN4の充電とノードN1の充電とを制御する回路に工夫がされていないため、ノードN4、N1を各々充電するp型MOSトランジスタ素子のばらつきによっては、ノードN4の方が早く充電されてしまい、誤動作を引き起こしてしまうことに起因する。
しかしながら、図12の回路では、p型MOSトランジスタ12Cのドレインとソースとの間の電流特性は、p型MOSトランジスタ12Cのドレインとソースとの間の電圧が閾値Vtp近傍まで、ドレインとソースとの間の電圧に対して線形特性を示す。また、p型MOSトランジスタ12Cの基板電圧とソース電圧とを比較した場合、基板電圧の方が高いために、あたかも非常に高い抵抗素子であるかのように振舞う。つまり、ノードN1が先に充電され、その後、ノードN4が充電され易くなるので、ノードN4がHiになるタイミングが遅くなり、ノードN4、N6が同時にHiになる可能性は低くなる。
更に、図12と対比させて説明を行う。図14においては、クロック信号CLK1がHiに遷移するタイミングで、端子S[N]が所望のセットアップとホールド時間を満たしてHiであり、端子S[1]〜S[N−1]、SE、D[1]〜D[N])、SIの信号入力が、所望のセットアップとホールド時間を満たして、Loである。その後、クロック信号CLK1がHiの期間に、端子D[N]のみがLoからHiに遷移する。すると、ノードN1がHiからLoに遷移する。p型MOSトランジスタ12Bを図1、図9と同様に構成すると、その後にクロック信号CLK1がHiからLoに遷移する際に、ノードN1、N2が充電されるが、ノードN1の方がノードN2よりも後に充電されてしまうと、ノードN2がHi、ノードN1がLoになるので、ノードN6がHiとなり、ノードN7にGlitchが生じる。それが出力端子Qに伝播されると、誤動作が起きる可能性がある。
しかしながら、図12の回路では、p型MOSトランジスタ12Bにより、p型MOSトランジスタ12Bのドレインとソースとの間の電流特性は、p型MOSトランジスタ12Bのドレインとソースとの間の電圧が閾値Vtp近傍まで、ドレインとソースとの間の電圧に対し、線形特性を示す。またp型MOSトランジスタ12Bの基板電圧とソース電圧とを比較した場合、基板電圧の方が高いので、あたかも非常に高い抵抗素子であるかのように振舞う。つまり、ノードN1がHiになった後でないと、ノードN2はHiにならないので、ノードN6がHiになることはなく、誤動作が防止される。
以上説明したように、p型MOSトランジスタ12Bのソース、ドレインを各々ノードN1、N2に接続し、p型MOSトランジスタ12Cのソース、ドレインを各々ノードN1、N4に接続することにより、ノードN1、N2間の充電の順序、及びノードN1、N4間の充電の順序が、p型MOSトランジスタのデバイスサイズの製造上のばらつきに左右されずに、一意に決定するので、より一層に頑強な回路構成が実現できる。
更に、図12は、ダイナミック回路A1において、MOSトランジスタAN、A3〜AN−1(図9では電源、グランドに直接接続されているMOSトランジスタ)のゲートが回路12Aの2つの出力に接続されている点が特徴的である。
前記回路12Aでは、n型MOSトランジスタ12A−1と、p型MOSトランジスタ12A−2と、他のn型MOSトランジスタ12A−3とが備えられる。前記p型MOSトランジスタ(電位設定トランジスタ)12A−2は、そのドレインが前記第2のn型トランジスタ群A3〜ANのうち1つのn型トランジスタANのゲートに接続されて、このn型トランジスタANのゲート電位を電源電位に設定する。また、n型MOSトランジスタ12A−3は、そのソースが接地され、そのゲート及びドレインが前記電位設定トランジスタ12A−2のゲートに接続される。
微細化プロセスになると、ゲート酸化膜厚が薄くなり、ゲートのESD耐性は弱くなる。従って、図9のような回路では、電源やグランドに過電圧が加わると、インピーダンスが低いために、ゲート電極がパンチスルーを引き起こす可能性が高く、MOSトランジスタが破壊され易い。しかし、図12のように、回路12Aを設けることにより、MOSトランジスタのソース、ドレイン間の抵抗を介してゲートが接続されているので、電源、グランドからのインピーダンスは高くなり、MOSトランジスタは破壊され難くなる。
また、この回路12Aは、この回路12Aの出力がゲートに入力されて動作する第2のn型トランジスタ群A3〜Anと同一のスタンダードセル内に、多入力フリップフロップの一部として配置することが望ましい。なぜならば、このような多入力フリップフロップでは、入力端子が多く、スタンダードセル間での配線の引き回しが複雑になるからである。仮に、回路12Aがセル内に存在しないとすると、どこかに回路12Aのようなセルを置き、多入力フリップフロップと配線で接続する必要が生じ、スタンダードセル間の配線混雑度がより複雑になるからである。更に、通常、スタンダードセル間の配線は自動配置配線で行われることが多く、そのため、意図せずに回路12Aの出力がクロストークの影響を受けるように配線される可能性がある。回路12Aの出力にクロストークノイズが乗ると、多入力選択機能のフリップフロップ回路が誤動作を起こす可能性もあるため、できるだけそのスタンダードセル内に、クロストークの影響を考慮して、配置することが望ましい。
尚、本回路12Aでは、素子削減のため、N型MOSトランジスタ12A−1のゲートに接続されるノードは、P型MOSトランジスタ12A−2のドレインとしたが、MOSトランジスタ12A−2、12A−3の構成と同様に、もう1つp型MOSトランジスタを用意し、そのp型MOSトランジスタのドレインとゲートとを共通に接続し、その信号線とn型MOSトランジスタ12A−1のゲートとを接続しても良い。
また、図10の下部にある左右のn型MOSトランジスタの更に下端に前記回路12Aを配置すれば、図12における回路A1やノードN1の配線を長くすることなく後段に接続でき、仮に図12の回路がスタンダードセルならば、下端にNWELL、PWELLが再び配置されるので、下側のセル間隣接境界の異なるウェル境界の距離制約を気にせずに、配置可能となる。
(実施形態5)
図15は、本発明の別の多入力フリップフロップの回路図を示す。
図1、図9とは単一のクロック信号CLK1で動作する点が異なっている。更に、図1、図9に記載された回路と異なるのは、第1のダイナミック回路1E内の回路部13B、ダイナミック回路1D内の回路部13C、及びダイナミック回路1A内の回路部13Aである。図1においては、ソースを電源に接続され、且つノードN2、N4のダイナミックノード部を充電する1個のp型MOSトランジスタ素子(図1においてトランジスタTr4、Tr12)であったが、図15の回路では、更に充電するためのp型MOSトランジスタのドレインに別のp型MOSトランジスタ(p型MOSトランジスタ13B1、p型MOSトランジスタ13C1)を挿入し、そのソース、ドレインを介して各々ノードN2、N4を接続している。p型MOSトランジスタ13B1のゲート、p型MOSトランジスタ13C1のゲートは、ノードN1の反転回路INV13の出力に接続されている。更に、p型MOSトランジスタ13Aのソースを、図11では電源に接続していたが、図15では、ノードA1−1に接続している。これによって、この回路は、クロック信号を1系統しか用いていないので、消費電力を低くすることができ、またクロック信号を1系統して用いていなくとも、誤動作を生じないという特徴がある。
また、図15において、第3のダイナミック回路A1内には、n型トランジスタ(第1のn型トランジスタ)Tr40が備えられる。このn型トランジスタTr40は、そのゲートにクロック信号CLK1が入力され、そのドレインには、複数個のn型トランジスタ(第2のn型トランジスタ群)A3〜ANのソースが共通に接続される。更に、前記第2のn型トランジスタ群A3〜ANの共通ドレインには、複数のn型トランジスタ(第3のn型トランジスタ群)A20〜AKの共通ソースが接続されている。前記第2のn型トランジスタ群A3〜ANのうち、1個のn型トランジスタANのゲートには所定の電源が接続されて、そのゲート電位が電源電位に設定される。また、他のn型トランジスタA3〜A5のゲートは全て接地されて、そのゲート電位は接地電位に設定される。前記第3のn型トランジスタ群A20〜AKのゲートには、各々、前記複数の選択信号S[1]〜S[N]が入力され、前記第3のn型トランジスタ群A20〜AKのドレインは共通に第3の出力ノードN3に接続されている。
第2ダイナミック回路1Eには、前記第3ダイナミック回路A1の前記第3の出力ノードN3(=A1−1)の反転ノードA1−2が接続され、第4ダイナミック回路1Dには、前記第3の出力ノードN3に加え、前記第2のn型トランジスタ群A3〜ANの共通ドレインのノードA2−1の反転ノードA2−2が接続されている。
図16及び図17は、この図15で記載した回路の端子D[1]〜D[N−1]と端子D[N]との間、及び端子S[1]〜S[N−1]と端子S[N]との間で信号入力パターンが異なる場合の各ノードの電圧と時間との関係を示したものである。更に、図16及び図17では、図9の回路でトランジスタバランスが悪いケースで単一クロック信号で駆動した場合に、誤動作が生じる波形も合わせて記載しており、一点鎖線が図15の回路を用いた場合、実線が図9の回路を用いた場合である。
図15と対比させながら説明を行う。図16は、端子S[1]〜S[N]の入力信号が全て、クロック信号CLK1がHiに遷移するタイミングで、所望のセットアップとホールド時間を満たしており、Loである。その後、クロック信号CLK1がHiの期間に、端子S[N]のみがLoからHiに遷移する。すると、ノードA1−1とノードN1とはLoに遷移し、ノードN6はHiになる。回路13Cを図1や図9と同様に構成すると、その後にクロック信号CLK1がHiからLoに遷移する際、p型MOSトランジスタ13C1、13C2を介してノードN4に電源電圧Vddが供給され、ノードN4がHiになる。その結果、ノードN4とノードN6とのHi期間がオーバーラップする可能性がある。ノードN4とノードN6とのHi期間がオーバーラップすると、トランジスタTr21、Tr22の双方が導通状態となり、ノードN7から電荷が引き抜かれ、ノードN7が本来は、Hiをキープしなければならないのが、Loに遷移してしまい、出力端子Qが誤動作する可能性がある。これは、ノードN4の充電とノードN1の充電とを制御する回路に特に工夫がされていないので、ノードN4、N1を各々充電するp型MOSトランジスタ素子のばらつきによっては、ノードN4の方が早く充電されてしまい、誤動作を引き起こしてしまうことに起因する。
しかしながら、図15の回路では、ノードN1の反転回路INV13の出力の電位が電源電圧VDDから回路13C中のp型MOSトランジスタ13C1の閾値電圧を引いた差以下にならないと、回路13CはONしないので、ノードN1が先に充電され、ノードN4が後に充電され易くなる。従って、ノードN4とN6とが同時にHiになる可能性は低くなる。
更に、図15と対比させて説明を行う。図17においては、クロック信号CLK1がHiに遷移するタイミングで、端子S[N]が所望のセットアップとホールド時間を満たして、Hiであり、端子S[1]〜S[N−1]、SE、D[1]〜D[N])、SIの入力信号が、所望のセットアップとホールド時間を満たして、Loである。その後、クロック信号CLK1がHi期間に、端子D[N]のみがLoからHiに遷移する。すると、ノードN1がHiからLoに遷移する。その後、クロック信号CLK1がHiからLoに遷移する際、図1の回路では、ノードN1とノードN2とが充電されるが、その順番がノードN1の方がノードN2よりも後に充電されると、ノードN2がHiでノードN1がLoになる。従って、ノードN6がHiとなり、ノードN7にGlitchが生じる。それが出力端子Qに伝播されると、誤動作が起きる。
しかしながら、図15の回路では、ノードN1の反転回路INV13の出力の電位が電源電圧VDDから回路13B中の第1のp型MOSトランジスタ13B1の閾値電圧を引いた差以下にならないと、ノードN2は充電されないので、ノードN1がHiになってからでないと、ノードN2はHiにならない。つまり、ノードN6がHiになることはないので、誤動作が防止される。
更に、図18では、クロック信号CLK1がHiに遷移する場合、端子D[N]、S[N]が所望のセットアップとホールド時間を満たして、Hiであり、端子S[1]〜S[N−1]、SE、D[1]〜D[N−1]、SIの入力信号が、所望のセットアップとホールド時間を満たして、Loである。その後、クロック信号CLK1がHiの期間に、端子D[N]がHiからLoに遷移する。その後、クロック信号CLK1はHiからLoに遷移する。その際、ノードA1−1とノードN1とが充電されるが、そのp型MOSトランジスタのトランジスタばらつきによっては、ノードN1の方が先にn型MOSトランジスタの閾値電圧Vtnに達してしまう。このとき、ノードN2に貫通電流が流れてしまい、ノードN2にGlitchが生じ、ノードN7にそのGlitchが伝播し、出力端子Qが誤動作してしまう。
しかしながら、図15の回路では、p型MOSトランジスタ13AのソースをノードA1−1に接続する構成としているので、p型MOSトランジスタ13Aのドレインとソースとの間の電流特性は、p型MOSトランジスタ13Aのドレインとソースとの間の電圧が閾値電圧Vtp近傍まで、ドレインとソースとの間の電圧に対し、線形特性を示す。また、p型MOSトランジスタ13Aの基板電圧とソース電圧とを比較した場合、基板電圧の方が高いので、非常に高い抵抗素子としてあたかも振舞う。このため、ノードA1−1が最初に充電され、その後、ノードN1が充電され始める。このため、n型MOSトランジスタ1E−1のゲート電圧がそのn型MOSトランジスタの閾値電圧以下になった後に、n型MOSトランジスタ1E−2のゲート電圧が閾値電圧以上になり易いので、ノードN2の貫通電流は流れ難くなり、ノードN7のGlitchは起こらない。更に、図15では、p型MOSトランジスタ13B2のゲート、p型MOSトランジスタ13C2のゲートは、クロック信号CLK1に接続されている。
このため、図12の回路では、ノードN2の放電が、ノードA1−2が電圧(VDD−Vtp)以上にならないと、開始されなかったが、図15では、クロック信号CLK1が電圧(VDD−Vtp)以上になると、ノードN2が放電される状態になるので、図12よりも高速にノードN2の動作が可能な利点がある。
以上説明したように、p型MOSトランジスタ13B2のソースを電源、p型MOSトランジスタ13B2のドレインをp型MOSトランジスタ13B1のソースに接続し、第1のp型MOSトランジスタ13B1のドレインをノードN2に接続し、第2のp型MOSトランジスタ13B2のゲートをクロック信号CLK1に、p型MOSトランジスタ13B1のゲートをノードN1の反転回路INV13の出力に各々接続し、更に、p型MOSトランジスタ13C2のソースを電源に、p型MOSトランジスタ13C1のドレインをp型MOSトランジスタ13C1のソースに接続し、p型MOSトランジスタ13C1のドレインをノードN4に接続し、p型MOSトランジスタ13C2のゲートをクロック信号CLK1、p型MOSトランジスタ13C1のゲートをノードN1の反転回路INV13の出力に接続し、更に、p型MOSトランジスタ13AのソースをノードA1−1に接続することにより、ノードA1−1とノードN1との充電の順序、ノードN1、N2間の充電の順序、ノードN1、N4間の充電の順序が、p型MOSトランジスタのデバイスサイズの製造上のばらつきに左右されずに一意に決定するので、より頑強な回路構成が実現できる。
尚、p型MOSトランジスタ13AのソースをノードA1−1に接続する形を説明したが、p型MOSトランジスタ13Aのソースに、更に別のp型MOSトランジスタのドレインを接続し、そのソースを電源に接続し、そのゲートをノードA1−1の反転回路の出力に接続する構成でも、同様な効果を発揮する。つまり、本発明の意図するところは、ノードA1−1とノードN1との充電の順序、ノードN1、N2間の充電の順序、ノードN1、N4間の充電の順序が、p型MOSトランジスタのデバイスサイズの製造上のばらつきに左右されずに一意に決定する回路構成であれば良い。その回路構成は、様々な回路の組み合わせによって可能であるが、それらは本発明を逸脱するものではない。
(実施形態6)
図19では、図1の多入力フリップフロップにおけるダイナミック回路1C、1Dの別の回路図を示す。
図19において、図1のダイナミック回路1C、1Dと異なる点は、ノードN3を充電するp型MOSトランジスタTr9の代わりに、第1及び第2のp型MOSトランジスタA13、N14Aを配置し、前記一方のp型MOSトランジスタN14Aでは、そのゲートにクロック信号CLK3を入力し、そのソースを電源に接続し、そのドレインをノードA2−2(即ち、第3のn型トランジスタ群A20〜AKの共通ソース)に接続し、更に他方のp型MOSトランジスタA13のソース、ドレインを、ノードN3とノードA2−2と(即ち、第3のn型トランジスタ群A20〜AKの共通ドレインと共通ソースと)に各々接続している点である。更に、ダイナミック回路1DのトランジスタTr14のゲート端子に、図1ではクロック信号CLK4を接続していたが、図19では、トランジスタTr14のゲート端子に、反転回路IN14の出力が接続されている。
このような回路構成の利点としては、クロック信号CLK4にクロック信号CLK3と同位相が入力された場合、即ち、図19のようにクロック信号CLK3のみで駆動された場合に、更に低電圧の電源電圧で動作できる点である。なぜならば、図1の回路構成では、クロック信号CLK4とクロック信号CLK3とが同位相で入力されると、電源電圧がn型MOSトランジスタの閾値電圧近傍の低電圧(例えば、n型MOSトランジスタの閾値電圧が0.3Vで、電源電圧値が0.5V)では、クロック信号CLK3がLoからHiになると、トランジスタTr14のゲート端子よりもノードN3の方が放電する時間が圧倒的に遅くなり、本来はトランジスタTr13がカットオフされ、ノードN4がHiになる動作(つまり、端子S[1]〜S[N]と端子SEの何れかがHi)を行わなければならないにも関わらず、ノードN4はHiにならずに、Loになってしまう。
しかしながら、図19の構成では、クロック信号CLK3がLoからHiに遷移する際、ノードN3、A2−2は同時に放電を開始し、ノードN14Aが反転回路IN14のスイッチングレベル以下になると、トランジスタTr14のゲートの電圧は上がる。つまり、トランジスタTr14のゲートがHiになる前にノードN3がn型MOSトランジスタTr13の閾値電圧以下となるので、ノードN4には、トランジスタTr13、Tr14経由の貫通電流が起き難くなるので、図1の回路構成よりも低電圧動作が安定する。
更に、クロック信号CLK3がHiからLoに遷移する際、p型MOSトランジスタA13のドレインとソースとの間の電流特性は、p型MOSトランジスタA13のドレインとソースとの間の電圧が閾値Vtp近傍まで、ドレインとソースとの間の電圧に対し、線形特性を示す。また、p型MOSトランジスタA13の基板電圧とソース電圧とを比較した場合、基板電圧の方が高いので、非常に高い抵抗素子としてあたかも振舞う。ノードA2−2の電位がp型MOSトランジスタA13の閾値電圧以上にならないと、ノードN3が充電されない。つまり、トランジスタTr14のゲートがある程度下がってからでないと、トランジスタTr13はONしない。また、ノードN4はクロック信号CLK3で充電されるので、ノードN4の電位には、トランジスタTr13がONすることによって生じるグリッチが起こり難くなり、結果として、ダイナミック回路A1、1Dに関連する誤動作が起こり難くなる。
(実施形態7)
図20は、図11の応用例を示す。
図11では、入力データを2組に区分した多入力選択付フリップフロップであったが、図20では、各々の出力回路1Eのトランジスタを組み合わせて、ダイナミック回路1A〜1D、A1から成る多入力選択機能と、ダイナミック回路1A´〜1D´、A1´から成る多入力選択機能の出力に対するNANDロジックを構成している。
具体的には、一方のp型MOSトランジスタTr20とソース、ドレインを共通にして他方のP型MOSトランジスタTr20を配置し、一方のn型MOSトランジスタTr21と直列に他方のn型MOSトランジスタTr21を配置している。更に、p型MOSトランジスタTr20のドレインに接続された第1のインバータ回路INV15と、そのインバータINV15の出力を入力とする第2のインバータINV16とで構成される保持回路50において、第2のインバータINV16を構成するP型MOSトランジスタとTr60とN型MOSトランジスタTr61との間に、ダイナミック回路1A〜1D、A1における第2の出力ノードN2がゲートに接続されるn型MOSトランジスタ16Aを一段配置している(この構成は図11でも同様である)のに加えて、図20では、更に、ダイナミック回路1A’〜1D’、A1’の第2の出力ノードN2’がゲートに接続されるn型MOSトランジスタ16Bを一段直列に配置している。これによって、保持回路50の高速性を維持している。尚、これら2段のn型MOSトランジスタは、接地と第2のインバータ回路INV16を構成するn型MOSトランジスタTr61との間に配置しても良い。
尚、本実施形態では、NANDロジックの例を示したが、これに限らず、様々な複合ロジックが生成できることは言うまでもない。更に、ダイナミック回路1Aや1A’に関わるダイナミック論理部を様々なロジックに置き換えることにより、更に様々な複合ロジック機能を持ち備えたフリップフロップ回路が構成可能である。更に、図1のTr5とノードN2の間にN型トランジスタを直列に接続し、そのN型トランジスタのゲートに別の論理を有するダイナミック回路1Aの出力を接続することにより、より多機能な論理を構成することもできる。また、トランジスタTr20やトランジスタTr21に更にMOSトランジスタを付加し、そのゲート端子を更に別の多入力ダイナミック回路の出力に接続することも、本発明を逸脱するものではない。
図21は、図11の他の応用例であり、各々の出力回路におけるトランジスタTr21のソースとドレインとを共通に接続している。
(実施形態8)
図22は図11の別の応用例であり、スキャン入力回路のみをダイナミック回路1A´〜1D´、A1´に置いたものである。
ダイナミック回路1A´〜1D´、A1´、17B、17Cは、保持回路部17Eと出力端子Qの出力部とを、ダイナミック回路1A〜1D、A1から成る多入力選択機能のフリップフロップと共用しているスタティックタイプのフリップフロップである。更に、図11と異なる点は、n型MOSトランジスタ17Dのゲートをスキャンイネーブル信号SEの反転出力に接続している点である。スタティックタイプのフリップフロップは、図23や図24のような回路であっても良い。
このような回路構成を採用することにより、スキャンイネーブル信号が活性化されている時は、トランジスタTr22、Tr20はカットオフされ、回路素子17B、17Cのみが動作する。この回路の利点は、ノードN1の容量を削減でき、通常パスでは、ダイナミックタイプのフリップフロップを用いることにより高速化が達成され、スキャンパスにおいては、スタティックタイプのフリップフロップを用いることにより、スキャン入力時のホールド時間が短縮され、スキャンシフト動作のマージン確保に有効な点である。
尚、ダイナミック回路の出力回路部とスタティック回路の出力部とを出力回路部17Fに組み合わせることにより、更に様々な論理機能をもつフリップフロップ回路が構成可能であることは言うまでもない。本発明では、上述したように、ダイナミック回路とスタティック回路との長所を入力信号の機能やスペックの要望に併せて使い分けることができる。
以上、8つの実施形態について説明したが、そのうち1つの実施形態での半導体集積回路の回路構成の一部を、他の7つの実施形態の何れかの回路構成の一部と入れ替えることは、当業者にとって容易である。例えば、図8のダイナミック回路1Bを図9のダイナミック回路1Bと入れ替えても良い。
以下、以上で説明した半導体集積回路を所定回路適用した具体例を説明する。その具体例を以下の実施形態9〜11に示す。
(実施形態9)
図25は、実施形態1や実施形態8でのフリップフロップを、所定回路としてのプロセッシングユニットのデータパスに適応した実施形態を示す。
図25では、データパス25A、メモリ25J、レジスタファイル25Kがある。データパス25Aは、3段のパイプライン構成となっており、1段目は、データ1ビット当たりデータ入力が14入力であるところの以上の実施形態で示した多入力フリップフロップ25Zが10個ある。多入力フリップフロップ25Zの出力は、ALU25B1〜25B3、バイパスユニット25C1、畳み込みこみ演算(コンボルーション)25E1、除算器25F1、乗算器25G1に入力される。2段目は、フォワーディング25D1〜D3、バイパスユニット25C2、畳み込みこみ演算(コンボルーション)25E2、除算器25F2、乗算器25G2からなる。3段目は、フォワーディング25D4〜D6、乗算器25G3からなる。通常は、レジスタファイル25Kからのデータ出力がフリップフロップ25Zで選択されるが、パイプライン処理にデータハザードが生じた場合、フォワーディングパスによって回避することによりパイプライン処理を乱さない。そのフォワーディングパスの1ビット当たりのデータ本数は、各パイプラインの段からの出力データとメモリからのデータ出力線25Lとの13本である。ALUなどで演算処理が終わったデータをフリップフロップのデータ入力にしないといけないので、高速にパイプラインを処理するためには、フリップフロップのフォワーディングパスからのデータ入力セットアップ時間は、短ければ短いほど良い。以上の実施形態で説明したフリップフロップでは、データ信号のセットアップ時間は、ほぼ0である(インバータの遅延がファンアウト4で例えば45psec.の時、従来例で示したスタティックロジックのセレクター制御回路付のフリップフロップでは、例えば300psecのセットアップ時間を要する。以上の実施形態で説明したフリップフロップでは、データのセットアップ時間が例えば10psec.であり、制御信号のセットアップ時間は例えば30psec.である。)ので、従来のスタティックなロジックでの構成よりも高速となり、パイプラインの処理速度が高速化できる。
また、データパスのパイプラインでストールが起きた際にも、本発明のフリップフロップは有用である。データパスを制御するロジックは、データパスのパイプラインでストールが起きた際、ロードしたデータを有効に使用できるかどうかを決定するため、各データのアドレス比較を行い、次サイクルでどのデータを選択するかの制御回路が必要がある。しかし、本発明のフリップフロップでは、制御信号のセットアップ時間も、ほぼ0であるので、従来のスタティックなロジックでの構成よりも高速となり、パイプラインの処理速度が高速化できる。更に、従来のスタティックロジックで選択信号を構成した場合よりも少ないトランジスタサイズでデータ制御が可能であるので、小面積でデータパスが構成可能となる。加えて、スタティックロジックでは、各入力のデータ遷移遅延時間が配線抵抗などでばらつき、各スタティックロジックの出力にグリッチが生じ、データが確定するまで無駄な電力が生じるが、本発明のフリップフロップの構成では、各データ及びその制御線は、スタティックロジックパスを介すことなくフリップフロップのデータ入力ポート及び制御入力ポートに直結されるので、無駄な電力が生じない効果がある。
(実施形態10)
図26は、システムオンチップなどで使用されるクロスバーバススイッチに対して、以上の実施形態で説明したフリップフロップを用いた実施形態を示す。
同図において、26Aはプロセッサコアであり、26BはDMAである。26CはSDRAMインターフェイスブロックであり、チップ外部のSDRAMとインターフェイスするものである。26Dはシステムバスインターフェイスブロックであって、チップ外部のROMやメモリなどとインターフェイスするものである。26Eは、オンチップメモリやコプロセッサとインターフェイスを制御するオンチップメモリインターフェイスブロックである。26Fは、オンチップI/Oとインターフェイスを制御するオンチップI/Oインターフェイスブロックである。このクロスバーバススイッチは、3つのマスター(図示せず)があり、プロセッサコア26Aに2つ、DMA26Bに1つある。また、4つのスレーブ(図示せず)があり、SDRAMインターフェイスブロック26C、システムバスインターフェイスブロック26D、オンチップメモリインターフェイスブロック26E、オンチップI/Oインターフェイスブロック26Fからなる。4本のスレーブバス26Gから各マスターへは、4入力のデータ選択制御回路26Jと、その出力信号を入力とするフリップフロップ26Iとが存在するが、この4入力のデータ選択制御回路26Jに本多入力フリップフロップを使用する。これにより、本多入力フリップフロップでは、データ及び制御信号のセットアップ時間が短いので、その時間分、バスの転送率の向上が可能となる。更に、どの制御信号も選択されない時は、フリップフロップの値を保持できるので、各マスター内でのデータバスの調停を行う制御は必要なく、小面積で構成可能となる。
尚、スレーブ側への入力についても、本発明のフリップフロップを利用することにより、上述したマスター入力と同様の効果を発揮するのは勿論である。
(実施形態11)
図27は、リコンフィギュアラブルプロセッサに本発明のフリップフロップを適応した実施形態を示す。
同図において、27Aはリコンフィギュアラブルプロセッサの1つのプロセッサエレメントである。プロセッサエレメント27Aは、以上の実施形態で説明したフリップフロップで構成される多入力フリップフロップ27C、演算器27D、レジスタファイル27Eなどを含む。28Aはリコンフィギュアラブルプロセッサのバスであり、1つのプロセッサエレメント27Aから出力されたデータは、4つのデータバスに直結されている。また、プロセッサエレメント27A内の多入力フリップフロップ27Cのデータ入力は、各4つのデータバスに接続されている。リコンフィギュアラブルプロセッサは、あるアプリケーションの処理性能が高性能になるように各プロセッサエレメント27Aを幾つかまとめて演算処理を行う。例えば、プロセッサエレメント群27Fが、他のプロセッサエレメント群27G、27H、27Iと分離された場合、それ等の各群内でのプロセッサエレメント同士でデータのやりとりを行う。この場合、4つの群に分かれているので、各群で完結したバスインターフェイスを築くことができる。本発明の多入力フリップフロップを用いることにより、従来のようなスタティック選択制御ロジックが不要であるので、群内のバスインターフェイスが高速に行え、各プロセッサエレメントの面積を小さくできる。更に、各エレメント群27G、27H、27Iのクロックは、エレメント群中の各エレメント27Aを並列接続し、並列演算する際は、同じ位相のクロックを用い、直列接続し、シリアル処理をする場合は、位相の異なるクロックを用いる。例えば、エレメント群27Iは2直列のシリアル処理を行う場合は、第1段目のエレメント27Aのクロックは、位相差が0度のクロックを用い、第2段目のエレメントのクロックは、位相差が180度のクロックを用いれば良い。これにより、第2段目のエレメント27Aでクロックを停止させ、フリップフロップをバイパスするスタティック型データ選択回路を設けるより、小面積化及び高速化が図れる効果がある。また、前記の構成により、あるアプリケーションから異なるアプリケーションに切り替えられて、プロセッサエレメントの群構成に変化が必要な場合でも、従来のスタティック選択制御ロジックを用いないので、どのバス線の切り替え制御時間も高速に切り替えられる。従って、切り替え時のレイテンシーが少ないので、より高性能なリコンフィギュアラブルプロセッサが実現可能となる。
(実施形態12)
図28は、本発明の実施形態12の半導体集積回路を示す。
本実施形態は、図3(a)に示した半導体集積回路と比べて、第1及び第2のダイナミック回路28A1A、28A1Bの出力ノードN1、N2と保持回路90との間に差動増幅回路28Aが挿入されたところが異なる。
差動増幅回路28Aの活性化信号28A0は、図3(a)のクロックCLKを半導体デバイスで構成される抵抗素子や容量素子よりも少し遅延を付加させた信号を用いる。活性化信号28A0は、本実施形態では、ダイナミック回路28A1の出力信号ノード28A11を経由し、インバータ28A01を介して、差動増幅回路28Aの活N型トランジスタ28A1のゲートに接続される。
差動増幅回路28Aは、N型トランジスタ28A1と、N型トランジスタ28A1のドレインに各々のソースが接続されたN型トランジスタ28B、28Cのゲートを入力端子とする差動ペアトランジスタと、N型トランジスタ28B、28Cのドレイン電圧差を増幅させるラッチ回路28Dから構成される。前記ラッチ回路28Dは、5つのトランジスタから構成され、N型トランジスタ28EとP型トランジスタ28Fとで構成されるインバータ28Gと、N型トランジスタ28HとP型トランジスタ28Iとで構成されるインバータ28Jとが交差接続されている。また、N型トランジスタ28B、28Cのドレイン同士を高抵抗素子(ここでは、NMOSトランジスタ28K)で接続している。インバータ28Gの出力はノードOUTであり、インバータ28Jの出力は、ノードOUTBである。また、活性化信号が非活性になると、ノードOUT及びOUTBは、各々、P型トランジスタ28L、28Mにより、ほぼ電源電圧値に充電される。
ノードN1がN型トランジスタ28Bのゲートに接続され、ノードN2が28CN型トランジスタのゲートに接続される。
保持回路90は、ノードOUTがゲートに接続されたP型トランジスタ28Nと、ノードOUTBがインバータ28Pを介してゲートに接続されたN型トランジスタ28Qとを備え、P型トランジスタ28NのドレインとN型トランジスタ28Qのドレインとが接続され、その接続ノードNQがインバータ28Rを介して出力ピンQに接続されている。
以上の構成を採ることにより、出力ノードN1の電圧と出力ノードN2の電圧との電圧差分が小さい段階において、その電圧差が差動増幅回路28Aにより高速に増幅されて、その電圧差を保持回路のスイッチングレベルにまで短時間で大きくできる効果がある。入力データD0〜DNとその選択信号S0〜SNの本数が多いほど、図3(a)で示したようなダイナミック回路28A1と保持回路90とを直接接続する形態よりも、高速動作の効果はより発揮される。それは、本数が多いほど、ノードN1の負荷容量は増えるからであり、出力ノードN1及び出力ノードN2の電圧遷移時間が通常の保持回路(例えば、図1に示した保持回路)に接続すると、保持回路の出力信号の電圧遷移時間は、ノードN1及びN2の電圧遷移時間に比例するので、遅くなるからである。
尚、活性化信号28A0は、本実施形態では、ダイナミック回路28A1を経由した構造を採用しており、クロックCLKをバッファ数段で遅延をつけるよりも、ダイナミック回路28A1のノードの容量が反映されるので、より出力ノードN1及び出力ノードN2の適正な電圧差を得る最適な遅延値を実現し且つトランジスタ数を削減しており、小面積及び低消費電力化の効果もある。
尚、ダイナミック回路28A1の入力データ信号数が少ない場合は、クロックCLKを差動増幅回路28Aの活性化信号に直接使用しても良い。
また、本実施形態では、図3(a)の複数のデータ信号の何れかを選択する機能を持つダイナミック回路28A1を用いたが、1つのデータ信号のみを伝播する機能を持つダイナミック回路など、他の機能の論理機能を有するダイナミック回路であっても同様な効果を発揮する。
更に、保持回路90は、図29に示したように、差動増幅回路28Aの片方の出力のみを入力とし、N型トランジスタ28QとP型トランジスタ28Nのゲートに接続し、差動増幅回路28Aの活性化信号28A0をゲート入力とするN型トランジスタ28Q1をN型トランジスタ28Qと接地との間に直列接続してもよい。
加えて、本実施形態では、図1に示した第3ダイナミック回路(非選択状態検出回路)1Cを備えない回路に対して差動増幅回路28Aを配置したが、図1などに示した第3ダイナミック回路(非選択状態検出回路)1Cを備えた回路に対しても同様に差動増幅回路28Aを配置しても良いのは勿論である。
(実施形態13)
図30は、本発明の実施形態13の半導体集積回路を示す。本実施形態は、図28に示した半導体集積回路と比べて、選択信号S0〜SNが何れもデータ信号D0〜DNを選択しないとき、保持回路90のデータ内容を保持する機能を付加した点が異なる。
ダイナミック回路28A1Cは、第3のダイナミック回路28A1CA及び第4のダイナミック回路28A1CBから構成されている。第3のダイナミック回路28A1CAには、選択信号S0〜SNのみが入力されている。第3のダイナミック回路28A1CAの出力ノードA1C−2は、第4のダイナミック回路28A1CBに入力され、第4のダイナミック回路28A1CBの出力ノードは、ノードN4である。選択信号S0〜SNのうち一つ以上が選択されたとき、ノードN4は、クロックがLowからHighに遷移した後、Highを保持する。また、ノードA1C−2は、HighからLowへ遷移する。選択信号S0〜SNのうち何れも選択されない場合には、ノードN4は、クロックがLowからHighに遷移後、HighからLowに遷移し、ノードA1C−2はHighレベルを保持する。選択信号S0が所望のホールド値を超えた後に、Highになった場合、ノードA1C−2は、HighからLowへ遷移するが、ノードN4は、そのままLowを保持する。ノードAC1−2とノードN4とは、差動増幅回路28Aの2つの直列に接続されたN型トランジスタ28A1、28AAのゲートに伝達される。従って、選択信号が活性化されない場合には、差動増幅回路28Aは、活性化されず、ノードOUT、OUTBは、Highのままであり、保持回路90のノードNQは変化しない。
以上、説明したように、選択信号が何れも活性化しないとき、保持回路90のデータ内容を保持する機能が実現できる。これにより、複数のデータの内データが選択されない場合に、クロックが遷移した後でも、保持回路90のデータ情報を前値に保持することが可能となり、従来に比べてデータ及び選択信号のセットアップ時間が短縮できる。
また、ダイナミック回路28A1とダイナミック回路28AC1とでは、負荷容量は、ダイナミック回路28AC1の方が少ないので、この両ダイナミック回路の出力ノードの電圧遷移は、ダイナミック回路28AC1の方が早い。従って、ダイナミック回路28A1の出力ノードN1、N2が遷移している途中で差動増幅回路28Aは動作し始めるので、ノードN1、N2間の電圧差分が小さい場合でも、その電圧差が増幅回路28Aにより高速に増幅される効果がある。また、図10のような上下対称のレイアウトをわざわざ形成しなくて良い長所もある。
尚、本実施形態でも、図1に示した第3ダイナミック回路(非選択状態検出回路)1Cを備えない回路に対して差動増幅回路28Aを配置したが、図1などに示した第3ダイナミック回路(非選択状態検出回路)1Cを備えた回路に対しても同様に差動増幅回路28Aを配置しても良いのは勿論である。
(実施形態14)
図31は、本発明の実施形態14の半導体集積回路を示す。本実施形態は、図11に示した半導体集積回路の形態を前提とし、更に、半導体集積回路を物理設計する際、図10のような上下対称のレイアウトを物理設計(レイアウト設計)する際のセルの高さの仕様により実現できない場合に有用な形態である。
図31において、ダイナミック回路28A1は、第1のダイナミック回路28A1Aと第2のダイナミック回路28A1Bとを有し、データ信号D0〜DN及び選択信号S0〜SNが入力され、ノードN2及びN1が出力される。一方、ダイナミック回路28A1Cは、第3のダイナミック回路(非選択状態検出回路)28A1CAと第4のダイナミック回路28A1CBとを有し、選択信号S0〜SNのみが入力され、ノードN4、A1C−2が信号が出力される。第1のダイナミック回路28A1Aでは、複数のデータのうち何れかを選択するためのNチャンネルトランジスタ、すなわち、データD、選択信号S及びクロックCLK入力用のトランジスタの直列段数が3段であるのに対し、第3のダイナミック回路(非選択状態検出回路)28A1CAでは、複数の選択信号の全てがデータを選択しない状態を検出するためのトランジスタ、すなわち、選択信号S及びクロックCLK入力用のトランジスタの直列段数が2段であって、第1のダイナミック回路28A1Aでの前記直列段数(3段)よりも1段少ない構成となっている。
図31においては、出力ノードN2の反転データと出力ノードN1とがノア回路30Dに入力され、そのノードOUT30Aは保持回路90のN型トランジスタ28Qのゲートに接続され、出力ノードN2は、P型トランジスタ28Nのゲートに接続される。また、出力ノードN4の反転データと出力ノードA1C−2とがノア回路30Cに入力され、そのノードOUT30BはN型トランジスタ28Q1のゲートに接続され、その反転信号OUT30CはP型トランジスタ28N1のゲートに接続される。N型トランジスタ28Q1、28Qは直列接続され、P型トランジスタ28N、28N1も直列接続され、N型トランジスタ28QとP型トランジスタ28Nとのドレインが共通に接続され、そのノードがNQである。
前記構成において動作を説明する。クロックCLKがLowの際、ダイナミック回路28A1のノードN2及びダイナミック回路28A1のノードN4はHighであり、ノードOUT30A及びOUT30BはLowである。
ダイナミック回路28A1は、データ信号D0〜DN及び選択信号S0〜SNが入力されている。選択信号S0〜SNのうち一つ以上が選択され、データ信号D0〜DNがHighのとき、ノードN2は、クロックがLowからHighに遷移後、Highを保持する。また、ノードN1は、HighからLowへ遷移する。OUT30Aは、LowからHighに遷移する。
選択信号S0〜SNのうち何れも選択されない場合には、ノードN2は、クロックがLowからHighに遷移した後、HighからLowに遷移し、ノードN1は、Highを保持する。ノードOUT30Aは、Lowを保持する。データ信号及び選択信号が所望のホールド値を超えた後、選択信号S0〜SNの何れかがHighになった場合、ノードN1はHighからLowへ遷移するが、ノードN2は、そのままLowを保持する。すなわち、ノードOUT30Aは、Highのままである。
ダイナミック回路28A1Cは、選択信号S0〜SNのみが入力されている。選択信号S0〜SNのうち一つ以上が選択されたとき、ノードN4は、クロックがLowからHighに遷移した後、Highを保持する。また、ノードA1C−2は、HighからLowへ遷移する。ノードOUT30Bは、LowからHighに遷移する。
選択信号S0〜SNのうち何れも選択されない場合には、ノードN4は、クロックがLowからHighに遷移した後、ノードA1C−2はHighを保持するので、HighからLowに遷移する。ノードOUT30Bは、Lowを保持する。選択信号S0が所望のホールド値を超えた後、例えばHighになった場合、ノードA1C−2はHighからLowへ遷移するが、ノードN4はそのままLowを保持する。すなわち、ノードOUT30Bは、Lowのままである。従って、保持回路90は、選択信号S0〜SNが何れも活性化されない場合には、データを保持し、選択信号S0〜SNの何れかが活性化された場合には、データ信号D0〜DNのうち選択されたデータを出力Qとして出力する。
ダイナミック回路28A1とダイナミック回路28A1Cとでは、負荷容量は、ダイナミック回路28A1Cのほうが少ないので、この両ダイナミック回路の出力ノードの電圧遷移は、ダイナミック回路28A1よりもダイナミック回路28A1Cのほうが早い。従って、ダイナミック回路28A1の出力ノードN2及びOUT30Aが遷移する前にノードOUT30B及びOUT30Cが遷移又は電位保持するので、選択信号S0〜SNの何れもが活性化されない場合、確実に保持回路90中のデータを保持することが可能となる。
前記説明したように、ダイナミック回路28A1Cには、データ入力のトランジスタのダミーを必要する図10のような上下対称の物理設計(レイアウト設計)をしなくて良いので(ダイナミック回路28AC1には、データ入力のトランジスタのダミーを必要としない)、トランジスタ数も削減され、小面積化が可能となるし、低電力が実現可能となる。また、ダイナミック回路28A1Cは、出力ノードN4及びノードA1C−2の充電時間もダイナミック回路28A1の出力ノードN1、N2より早いので、クロックCLKがHighからLowへ遷移する際も保持回路90中のノードNQにGlitchは起き難く、半導体集積回路の誤動作が起き難い効果もある。
尚、P型トランジスタ28N1のゲートに入力される信号は、ダイナミック回路28A1Cが選択されない場合は、Highであり、選択されればLowである論理構成の出力であれば良く、ノードN4とノードA1C−2とを用いて様々な論理構成で生成できる。
(実施形態15)
図32は、本発明の実施形態15の半導体集積回路を示す。図3(a)と異なる点は、第1のダイナミック回路28A1AのノードN1及び第2のダイナミック回路28A1BのノードN2と保持回路90との間にセットアップ吸収回路31Aが挿入されている点である。
前記セットアップ吸収回路31Aは、スイッチ回路31Bと、ノードN21を充電及びHighの電位レベルに保持する回路31Cと、N型トランジスタ31Dとからなる。N型トランジスタ31Dのゲートは、ノードN1に接続され、N型トランジスタ31Dのソースは、ノードN2に接続され、N型トランジスタ31Dのドレインは、ノードN21に接続されている。また、スイッチ回路31Bは、トランスファーゲートで構成されており、ノードN2がLowになるとノードN21の電位は、2個のインバータ31E1、31E2より成るバッファ31E及びスイッチ回路31Bを介してノードN2に伝達される。ノードN21は、ノードN2がHighになると、充電される。
図33のタイミングチャートを用いて、セットアップ吸収回路31Aの動作を説明する。横軸は時間であり、縦軸は各信号、データD、クロックCLK、ノードN1、ノードN2、ノードN21、ノードN22の電圧値である。
図33(a)では、クロックCLKがLowのとき、データDは、Lowであり、クロックCLKがLowからHighに遷移したのち、データDが規定のセットアップ時間より少し遅れてLowからHighに遷移した場合を考える。出力ノードN1は、データのセットアップ時間が守れていないので、緩やかにHighからLowに遷移する。このため、出力ノードN2は、HighからLowに遷移する。規定のセットアップ時間内にデータが到達したときは、本来、出力ノードN2は、Highを保持しなければならない。その後、ノードN22は反転する。このタイミングチャートでは、ノードN22は、反転する間に出力ノードN1は、Lowになっているので、ノードN21はHighに保持される。それゆえ、出力ノードN2は、スイッチ回路31Bを介してLowからHighに遷移し、保持回路90の出力Qは、Highが出力される。同図の破線は、データDが規定のセットアップより大幅に遅れた場合であり、出力ノードN2は、Lowのまま保持され、保持回路90の出力Qは、Lowが出力され、誤ったデータが出力される。
図33(b)では、クロックCLKがLowのとき、データDはHighであり、クロックCLKがLowからHighに遷移したのち、データDが規定のセットアップ時間より少し遅れて、HighからLowに遷移した場合を考える。ノードN1は、データDのセットアップ時間が守れていないので、緩やかにHighからLowに遷移する。本来、出力ノードN1は、Highを保持しなければならない。このため、ノードN2は、HighからLowに緩やかに遷移する。本来、出力ノードN2は、急峻にLowに遷移しなければならない。このタイミングチャートでは、出力ノードN1がHighからLowに緩やかに遷移する間に、データDはLowに遷移するので、出力ノードN1のキーパー回路により、ノードN1は中間電位から徐々にHighに遷移する。その後、ノードN22は反転する。ノードN22は、反転する間に出力ノードN1はHighになっているので、ノードN21はHighからLowに遷移する。それゆえ、出力ノードN2は、スイッチ回路31Bを介してLowのまま保持し、保持回路90の出力はLowが出力される。同図の破線は、データDが規定のセットアップより大幅に遅れた場合であり、この場合は、出力ノードN2はHighのまま保持され、保持回路90の出力QはHighが出力され、誤ったデータが出力される。
前記説明したように、データDが僅かなセットアップ違反を起こしても、セットアップ吸収回路31Aにより、出力Qは、正常な値を示すので、プロセスばらつき、電源電圧変動などに強い回路が実現される。
尚、図34に示したように、本セットアップ吸収回路31AのN型トランジスタ31Dのソースを出力ノードN2に接続したが、ソースが接地に接続されたN型トランジスタ33Eのドレインに接続しても良い。また、クロックCLKを更にインバータ33C、33Bにより遅延させた信号線をN型トランジスタ33Eのゲートに接続しても良い。その場合、ダイナミックノードN21は、クロックを遅延させた信号線により制御されるスイッチ素子のみを介して、出力ノードN2に接続される。これにより、データDが規定のセットアップより少し遅れてLowからHighに遷移した場合、急速にノードN2が充電され、出力Qの電圧遷移も高速となる。また、前記N型トランジスタ33Eのゲートに出力ノードN2の反転出力が接続された構成でも良い。
また、N型トランジスタ33Eのゲートには、より高精度にデータのホールド時間制約を守ったクロックと、位相が異なるクロックとが利用されても良い。これにより、データDのホールド時間ぎりぎりまで、データDのセットアップ時間の違反を吸収できる効果がある。そのような位相を異なるクロックは、クロックCLKのデューティー比(High期間とLow期間の比率)を歪ませ、そのクロックの反転出力を用いることにより生成させても良い。
尚、本実施形態では、図3(a)の複数のデータ信号の何れかを複数の選択信号により選択する機能を持つダイナミック回路28A1を用いたが、1つのデータ信号のみを伝播する機能を持つダイナミック回路など、他の機能の論理機能を有するダイナミック回路であっても同様な効果を発揮する。
また、本実施形態では、図1に示した第3ダイナミック回路(非選択状態検出回路)1Cを備えない回路に対してセットアップ吸収回路31Aを配置したが、図1などに示した第3ダイナミック回路(非選択状態検出回路)1Cを備えた回路に対しても同様にセットアップ吸収回路31Aを配置しても良いのは勿論である。