(57)【要約】【課題】マスタ・スレーブ・ラッチを動作させる方法および装置を提供すること。【解決手段】第１の態様では、マスタ・ラッチおよびマスタ・ラッチに結合されたスレーブ・ラッチを動作させる方法が提供される。本方法は、（１）マスタ・ラッチが開状態に保持され、（２）スレーブ・ラッチが開マスタ・ラッチを通過したデータをラッチするようにパルス化される第１のモードでマスタ・ラッチおよびスレーブ・ラッチを動作させようと試みるステップを含む。マスタ・ラッチおよびスレーブ・ラッチが第１のモードで動作しない場合、（１）マスタ・ラッチでデータをラッチするために第１のクロック信号が使用され、（２）スレーブ・ラッチでマスタ・ラッチによってラッチされたデータをラッチするために第２のクロック信号が使用される第２のモードでマスタ・ラッチおよびスレーブ・ラッチを動作させる。多数の他の態様が提供される。【選択図】図３
2005080295.tif 000002
【特許請求の範囲】
【請求項１】
マスタ・ラッチおよびスレーブ・ラッチに結合するように適合され、
クロック生成回路が、前記マスタ・ラッチでデータをラッチするための第１のクロック信号、および
前記スレーブ・ラッチで前記マスタ・ラッチによってラッチされたデータをラッチするための第２のクロック信号を生成する第１の状態、および
前記クロック生成回路が、前記マスタ・ラッチを開状態に保持するための保持信号、および
前記マスタ・ラッチが前記保持信号によって開状態に保持されている間に前記マスタ・ラッチを通過したデータをラッチするよう前記スレーブ・ラッチに指示するためのパルス信号を生成する第２の状態
で動作するように適合された前記クロック生成回路と、
前記クロック生成回路に結合され、前記クロック生成回路を前記第１の状態と前記第２の状態の間でスイッチングするように適合されたスイッチング回路と
を備える装置。
【請求項２】
前記第１のクロック信号と前記第２のクロック信号がほぼ相補形のクロック信号である請求項１に記載の装置。
【請求項３】
前記クロック生成回路が前記マスタ・ラッチでデータをラッチするための複数のクロック信号を生成するように適合される請求項１に記載の装置。
【請求項４】
前記クロック生成回路が、
少なくとも第１の出力および第２の出力と、
グローバル・クロック信号を入力し、
前記グローバル・クロック信号に基づいて前記クロック生成回路の第１の出力で前記第１のクロック信号を生成し、
前記グローバル・クロック信号に基づいて前記クロック生成回路の第２の出力で前記第２のクロック信号を生成する、ように適合されたクロック生成論理（logic）と、
前記クロック生成回路の第１の信号を、前記マスタ・ラッチを開状態に維持する論理状態にさせるように適合されたフィードフォワード論理（logic）と、
前記パルス信号を生成するように前記クロック生成回路の第２の出力を前記クロック生成論理にフィードバックするように適合されたフィードバック論理（logic）と
を備える請求項１に記載の装置。
【請求項５】
前記スイッチング回路が、前記フィードフォワード論理および前記フィードバック論理をディスエーブルにすることによって前記クロック生成回路を前記第１の状態に入れるように適合される請求項４に記載の装置。
【請求項６】
前記スイッチング回路が、前記フィードフォワード論理および前記フィードバック論理をイネーブルにすることによって前記クロック生成回路を前記第２の状態に入れるように適合される請求項４に記載の装置。
【請求項７】
前記フィードフォワード論理および前記フィードバック論理が複数のＮＯＲ動作を実行するように適合される請求項４に記載の装置。
【請求項８】
クロック生成回路を有する装置であって、前記クロック生成回路が、
マスタ・ラッチに結合するように適合された第１の出力と、
スレーブ・ラッチに結合するように適合された第２の出力と、
グローバル・クロック信号を入力し、
前記グローバル・クロック信号に基づいて前記クロック生成回路の第１の出力で、前記マスタ・ラッチでデータをラッチするための第１のクロック信号を生成し、
前記グローバル・クロック信号に基づいて前記クロック生成回路の第２の出力で、前記スレーブ・ラッチで前記マスタ・ラッチによってラッチされたデータをラッチするための第２のクロック信号を生成する
ように適合されたクロック生成論理（logic）と、
前記クロック生成回路の第１の出力を、前記マスタ・ラッチを開状態に維持する所定の論理状態にさせるように適合されたフィードフォワード論理（logic）と、
前記マスタ・ラッチが前記開状態にある間に前記マスタ・ラッチを通過したデータをラッチするよう前記スレーブ・ラッチに指示するためのパルス信号を生成するように前記クロック生成回路の第２の出力を前記クロック生成論理にフィードバックするように適合されたフィードバック論理（logic）と、
前記クロック生成論理が前記マスタ・ラッチでデータをラッチするための前記第１のクロック信号、および前記スレーブ・ラッチで前記マスタ・ラッチによってラッチされたデータをラッチするための前記第２のクロック信号を生成する第１の状態に前記クロック生成回路を入れるように前記フィードフォワード論理および前記フィードバック論理をディスエーブルにし、
前記フィードフォワード論理が前記第１の出力を、前記マスタ・ラッチを開状態に保持するための前記所定の論理状態にさせ、前記フィードバック論理が前記クロック生成論理に、前記マスタ・ラッチが前記開状態にある間に前記マスタ・ラッチを通過したデータをラッチするよう前記スレーブ・ラッチに指示するための前記パルス信号を生成する前記第２の状態に前記クロック生成回路を入れるように前記フィードフォワード論理および前記フィードバック論理をイネーブルにする
ように適合されたスイッチング回路と
を備える装置。
【請求項９】
マスタ・ラッチおよび前記マスタ・ラッチに結合されたスレーブ・ラッチを動作させる方法であって、
クロック生成回路が、前記マスタ・ラッチでデータをラッチするための第１のクロック信号、および
前記スレーブ・ラッチで前記マスタ・ラッチによってラッチされたデータをラッチするための第２のクロック信号を生成する第１の状態、および
前記クロック生成回路が、前記マスタ・ラッチを開状態に保持するための保持信号、および
前記マスタ・ラッチが前記開状態にある間に前記マスタ・ラッチを通過したデータをラッチするよう前記スレーブ・ラッチに指示するためのパルス信号を生成する第２の状態
で動作するように適合された前記クロック生成回路を設けるステップと、
前記クロック生成回路が前記第２の状態にある間に前記マスタ・ラッチおよび前記スレーブ・ラッチを動作させようと試みるステップと、
前記クロック生成回路が前記第２の状態にある間に前記マスタ・ラッチおよび前記スレーブ・ラッチが動作しない場合、前記クロック生成回路を前記第１の状態にスイッチングするステップと
を備える方法。
【請求項１０】
前記クロック生成回路を前記第１の状態にスイッチングする前記ステップが、
前記クロック生成回路を前記第１の状態と前記第２の状態の間でスイッチングするように適合されたスイッチング回路を設けるステップと、
前記スイッチング回路を使用して前記クロック生成回路を前記第２の状態から前記第１の状態にスイッチングするステップと
を備える請求項９に記載の方法。
【請求項１１】
前記クロック生成回路が前記第２のモードにある間に前記マスタ・ラッチおよび前記スレーブ・ラッチを動作させようと試みるステップが、
前記マスタ・ラッチを開状態に維持する論理状態を生成するステップと、
前記論理状態を使用して前記マスタ・ラッチを開状態に維持するステップと、
前記パルス信号を生成するステップと、
前記パルス信号を使用して、前記マスタ・ラッチが前記開状態にある間に前記マスタ・ラッチを通過したデータをラッチするよう前記スレーブ・ラッチに指示するステップと
を備える請求項９に記載の方法。
【請求項１２】
前記論理状態を生成するステップが、フィードフォワード論理を使用して、  前記クロック生成回路の第１の出力を前記論理状態にさせるステップを備え、
前記パルス信号を生成するステップが、フィードバック論理を使用して、前記パルス信号を生成するように前記クロック生成回路の第２の出力をクロック生成論理にフィードバックするステップを備える請求項１１に記載の方法。
【請求項１３】
前記クロック生成回路を前記第１の状態にスイッチングする前記ステップが、前記フィードフォワード論理および前記フィードバック論理をディスエーブルにするステップを備える請求項１２に記載の方法。
【請求項１４】
前記クロック生成回路が前記第１の状態にある間に前記マスタ・ラッチおよび前記スレーブ・ラッチを動作させるステップをさらに備える請求項９に記載の方法。
【請求項１５】
前記クロック生成回路が前記第１の状態にある間に前記マスタ・ラッチおよび前記スレーブ・ラッチを動作させる前記ステップが、
グローバル・クロック信号を入力するステップと、
前記グローバル・クロック信号に基づいて前記第１のクロック信号を生成するステップと、
前記第１のクロック信号を前記マスタ・ラッチに与えるステップと、
前記グローバル・クロック信号に基づいて前記第２のクロック信号を生成するステップと、
前記第２のクロック信号を前記スレーブ・ラッチに与えるステップと
を備える請求項９に記載の方法。
【請求項１６】
前記第１のクロック信号と前記第２のクロック信号がほぼ相補形のクロック信号である請求項１５に記載の方法。
【請求項１７】
マスタ・ラッチおよび前記マスタ・ラッチに結合されたスレーブ・ラッチを動作させる方法であって、
前記マスタ・ラッチが開状態に保持され、
前記スレーブ・ラッチが前記開マスタ・ラッチを通過したデータをラッチするようにパルス化される
第１のモードで前記マスタ・ラッチおよび前記スレーブ・ラッチを動作させようと試みるステップと、
前記マスタ・ラッチおよび前記スレーブ・ラッチが前記第１のモードで動作しない場合、
前記マスタ・ラッチでデータをラッチするために第１のクロック信号が使用され、
前記スレーブ・ラッチで前記マスタ・ラッチによってラッチされたデータをラッチするために第２のクロック信号が使用される
第２のモードで前記マスタ・ラッチおよび前記スレーブ・ラッチを動作させようと試みるステップと
を備える方法。
【請求項１８】
スイッチング回路を使用して前記第１のモードと前記第２のモードの間でスイッチングするステップをさらに備える請求項１７に記載の方法。
【請求項１９】
前記第１のクロック信号と前記第２のクロック信号がほぼ相補形のクロック信号である請求項１７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に集積回路設計に関し、より詳細には、マスタ・スレーブ・ラッチを動作させる方法および装置に関する。
【背景技術】
【０００２】
マスタ・スレーブ・ラッチは集積回路設計で一般に使用される。マスタ・スレーブ・ラッチでは、マスタ・ラッチが第１のクロック信号に応答してデータをラッチし、マスタ・ラッチに結合されたスレーブ・ラッチが第２のクロック信号に応答して（マスタ・ラッチによってラッチされた）データをラッチする。一般に第１のクロック信号と第２のクロック信号はほぼ相補形（たとえば、１８０度位相はずれ）である。
【０００３】
電力を節約するために、マスタ・ラッチが開に保持され、マスタ・ラッチが開に保持されている間にマスタ・ラッチを通過するデータをラッチするためにスレーブ・ラッチがパルス化されるパルス・モードで、マスタ・スレーブ・ラッチを動作させることが知られている。マスタ・ラッチは決してスイッチングしないので、パルス動作モードは電力消費を著しく低減する。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
パルス動作モードは電力消費を著しく低減するが、そのような動作モードはいくつかの問題を起こしやすい。データをスレーブ・ラッチにラッチするために使用されるパルスが広すぎる場合、（たとえば、マスタ・ラッチとスレーブ・ラッチの両方がスレーブ・ラッチング・パルスの持続期間中に同時にアクティブになると）マスタ・スレーブ・ラッチはレース・スルー（race through）などの初期モード問題を起こしやすいことがある。同様に、データをスレーブ・ラッチにラッチするために使用されるパルスが狭すぎる場合、データがスレーブ・ラッチによって確実にラッチされないことがある。したがって、マスタ・スレーブ・ラッチ用にパルス動作モードを設計および実装することは困難であり、しばしば多数の設計およびテスト反復を必要とする。したがって、マスタ・スレーブ・ラッチを動作させる改善された方法および装置が望ましいであろう。
【課題を解決するための手段】
【０００５】
本発明の第１の態様によれば、マスタ・ラッチおよびマスタ・ラッチに結合されたスレーブ・ラッチを動作させる方法が提供される。本方法は、（１）マスタ・ラッチが開状態に保持され、（２）スレーブ・ラッチが開マスタ・ラッチを通過したデータをラッチするようにパルス化される第１のモードでマスタ・ラッチおよびスレーブ・ラッチを動作させようと試みるステップを含む。マスタ・ラッチおよびスレーブ・ラッチが第１のモードで動作しない場合、（１）マスタ・ラッチでデータをラッチするために第１のクロック信号が使用され、（２）スレーブ・ラッチでマスタ・ラッチによってラッチされたデータをラッチするために第２のクロック信号が使用される第２のモードでマスタ・ラッチおよびスレーブ・ラッチを動作させる。
【０００６】
本発明の第２の態様によれば、マスタ・ラッチおよびスレーブ・ラッチに結合する（たとえば、駆動する）ように適合されたクロック生成回路を含む装置が提供される。クロック生成回路は、クロック生成回路が、（１）マスタ・ラッチでデータをラッチするために使用される第１のクロック信号、および（２）スレーブ・ラッチでマスタ・ラッチによってラッチされたデータをラッチするために使用される第２のクロック信号を生成する第１の状態で動作するように適合される。クロック生成回路はまた、クロック生成回路が、（１）マスタ・ラッチを開状態に保持するための保持信号、および（２）マスタ・ラッチが保持信号によって開状態に保持されている間にマスタ・ラッチを通過したデータをラッチするようスレーブ・ラッチに指示するためのパルス信号を生成する第２の状態で動作するように適合される。本装置はさらに、クロック生成回路に結合され、クロック生成回路を第１の状態と第２の状態の間でスイッチングするように適合されるスイッチング回路を含む。多数の他の様態が提供される。
【０００７】
本発明の他の特徴および様態は以下の詳細な説明、首記の特許請求の範囲および添付の図面からより十分に明らかになろう。
【発明を実施するための最良の形態】
【０００８】
図１は、本発明を使用することができる従来のマスタ・スレーブ・ラッチ１００の例示的な実施形態を示す図である。図１を参照すると、マスタ・スレーブ・ラッチ１００は、スレーブ・ラッチ部分１０４に結合されたマスタ・ラッチ部分１０２を含む。
【０００９】
マスタ・ラッチ部分１０２は、データ（ｄ）入力１０８と第１のノード１１０の間に結合された第１の伝送ゲート１０６、およびｓｃａｎ−ｉｎ入力１１４と第１のノード１１０の間に結合された第２の伝送ゲート１１２を含む。マスタ・ラッチ部分１０２はまた、第１のノード１１０に結合された第１のラッチング回路１１６を含む。マスタ・ラッチ部分１０２の一部であることもあり、そうでないこともある第１の出力インバータ１１８は、第１のノード１１０に結合された入力と、スレーブ・ラッチ部分１０４に結合された出力とを有する。
【００１０】
第１のラッチング回路１１６は、第１のノード１１０に結合された入力と、第１のゲート・インバータ１２２の入力に結合された出力とを有する第１のインバータ１２０を含む。第１のゲート・インバータ１２２の出力は第１のノード１１０に結合される。図１に示すように、第１のゲート・インバータ１２２は、接地と第１のゲート・インバータ１２２の間に結合された第１のｎチャネル金属酸化物半導体電界効果トランジスタ（ＮＦＥＴ）１２４、第２のＮＦＥＴ１２６および第３のＮＦＥＴ１２８、供給電圧と第１のゲート・インバータ１２２の出力の間に結合された第１のｐチャネル金属酸化物半導体電界効果トランジスタ（ＰＦＥＴ）１３０、第２のＰＦＥＴ１３２および第３のＰＦＥＴ１３４を含む。第１のＮＦＥＴ１２４のゲートおよび第１のＰＦＥＴ１３０のゲートは第１のインバータ１２０の出力に結合される。
【００１１】
スレーブ・ラッチ部分１０４は、第１の出力インバータ１１８の出力と第２のノード１３８の間に結合された第３の伝送ゲート１３６を含む。スレーブ・ラッチ部分１０４はまた、第２のノード１３８に結合された第２のラッチング回路１４０を含む。第２の出力インバータ１４２は、第２のノード１３８に結合された入力と、スレーブ・ラッチ部分１０４用のデータ出力（ｑ）として働く出力とを有する。
【００１２】
スレーブ・ラッチ部分１０４は、第２のノード１３８に結合された入力および第３のノード１４６に結合された出力を有する第２のインバータ１４４と、第３のノード１４６に結合された入力を有する第２のゲート・インバータ１４８とを含む。第２のゲート・インバータ１４８の出力は第２のノード１３８に結合される。第３の出力インバータ１５０は、第３のノード１４６に結合された入力と、スレーブ・ラッチ部分１０４用の反転データ出力（ｓｃａｎ−ｏｕｔ＿ｂ）として働く出力とを有する。
【００１３】
動作は、第１のクロック信号を使用して、マスタ・ラッチ部分１０２にデータをラッチし、第２のクロック信号を使用して、スレーブ・ラッチ部分１０４に（マスタ・ラッチ部分１０２によってラッチされた）データをラッチする。図示の実施形態では、マスタ・ラッチ部分１０２にデータをラッチするための第１のクロック信号は第１のデータ・クロック信号（ｄ１ｃｌｋまたはその逆ｄ１ｃｌｋ＿ｂ）か第２のデータ・クロック信号（ｄ２ｃｌｋまたはその逆ｄ２ｃｌｋ＿ｂ）のいずれかとすることができる。すなわち、ｄ１ｃｌｋまたはｄ２ｃｌｋの一方または他方のみを使用する。
【００１４】
ｄ１ｃｌｋを使用した場合は、ｄ１ｃｌｋ上の高（high）論理状態（またはｄ１ｃｌｋ＿ｂ上の低（low）論理状態）により第１の伝送ゲート１０６がデータｄ入力１０８上に存在するデータを第１の伝送ゲート１０６に通過させて第１のノード１１０に至らしめる。ｄ１ｃｌｋ上の低論理状態はそのようなデータ伝送を妨げる。代替的に、ｄ２ｃｌｋを使用した場合は、ｄ２ｃｌｋ上の高論理状態（またはｄ２ｃｌｋ＿ｂ上の低論理状態）により第２の伝送ゲート１１２がｓｃａｎ−ｉｎ入力１１４上に存在するデータを第２の伝送ゲート１１２に通過させて第１のノード１１０に至らしめる。ｄ２ｃｌｋ上の低論理状態はそのようなデータ伝送を妨げる。
【００１５】
第１のラッチング回路１１６は、スレーブ・ラッチ部分１０４がそのようなデータをラッチすることができるように第１または第２の伝送ゲート１０６、１１２が閉のときに、それぞれの伝送ゲート１０６、１１２によって第１のノード１１０に与えられた論理状態を維持する。たとえば、ｄ１ｃｌｋおよびｄ２ｃｌｋが低論理状態（およびｄ１ｃｌｋ＿ｂおよびｄ２ｃｌｋ＿ｂが高論理状態）、第１または第２の伝送ゲート１０６、１１２が閉であると、第２および第３のＮＦＥＴ１２６、１２８および第２および第３のＰＦＥＴ１３２、１３４はすべてオンである。低電圧が第１または第２の伝送ゲート１０６、１１２によって第１のノード１１０に与えられた場合、第１のＮＦＥＴ１２４はオンになり、第１のＰＦＥＴ１３０はオフになる。第１、第２および第３のＮＦＥＴ１２４〜１２８がオンであると、第１のノード１１０はＮＦＥＴ１２４〜１２８によって接地に結合される。第１のノード１１０の低電圧はそれによって維持される。代替で、高電圧が第１または第２の伝送ゲート１０６、１１２によって第１のノード１１０に与えられた場合、第１のＮＦＥＴ１２４はオフになり、第１のＰＦＥＴ１３０はオンになる。第１、第２および第３のＰＦＥＴ１３０〜１３４がオンであると、第１のノード１１０はＰＦＥＴ１３０〜１３４によって供給電圧に結合される。第１のノード１１０の高電圧はそれによって維持される。
【００１６】
第１または第２の伝送ゲート１０６、１１２によって第１のノード１１０に与えられた電圧は反転され、第１の出力インバータ１１８を介してスレーブ・ラッチ部分１０４に与えられる。上述のように、第２のクロック信号（１ｃｌｋまたはその逆１ｃｌｋ＿ｂ）を使用して、スレーブ・ラッチ部分１０４に（マスタ・ラッチ部分１０２によってラッチされた）データをラッチする。詳細には、１ｃｌｋ上の高論理状態（または１ｃｌｋ＿ｂ上の低論理状態）により第３の伝送ゲート１３６が第１の出力インバータ１１８によって出力されたデータを第３の伝送ゲート１３６を通過させて第２のノード１３８に至らしめる。１ｃｌｋ上の低論理状態はそのようなデータ伝送を防ぐ。
【００１７】
第２のラッチング回路１４０は、スレーブ・ラッチ部分１０４が（たとえば、他のラッチ、論理などの後続の回路に）そのようなデータを出力することができるように第３の伝送ゲート１３６が閉のときに伝送ゲート１３６によって第２のノード１３８に与えられた論理状態を維持するように第１のラッチング回路１１６と同様に動作する。たとえば、１ｃｌｋが低論理状態（および１ｃｌｋ＿ｂが高論理状態）であると、第１のノード１１０に対して第１のゲート・インバータ１２２によって使用されるものと同様にして第２のノード１３８で第２のゲート・インバータ１４８は低または高の電圧レベルを維持するように適合される。すなわち、低電圧が第３の伝送ゲート１３６によって第２のノード１３８に与えられた場合、第２のノード１３８は低電圧を維持するために接地に結合される。代替で、高電圧が第３の伝送ゲート１３６によって第２のノード１３８に与えられた場合、第２のノード１３８は高電圧を維持するために供給電圧に結合される。
【００１８】
第２のノード１３８での電圧は第２の出力インバータ１４２によって反転され、（データｑとして）出力される。さらに、第２のノード１３８での電圧はインバータ１４４、１５０を介して２回反転され、（データｓｃａｎ−ｏｕｔ＿ｂとして）出力される。
【００１９】
図２は、図１のマスタ・スレーブ・ラッチ１００のマスタおよびスレーブ・ラッチ部分１０２、１０４にデータをラッチするために使用されるクロック信号ｄ１ｃｌｋ、ｄ２ｃｌｋおよび１ｃｌｋを生成するための従来のクロック生成回路２００の概略図である。図２を参照すると、クロック生成回路２００は、グローバル・クロック信号を受け取るように適合された入力と第１のノード２０４に結合された出力とを有する第１の相補形金属酸化物半導体（ＣＭＯＳ）インバータ２０２を含む。ＣＭＯＳインバータ２０２は、図示のように並列に結合されたＰＦＥＴ（たとえば、第２のＰＦＥＴ２１０および第３のＰＦＥＴ２１２）を介して接地と供給電圧の間に結合された第１のＮＦＥＴ２０６と第１のＰＦＥＴ２０８とを含む。
【００２０】
クロック生成回路２００はまた、第３のＮＦＥＴ２１６を介して第１のノード２０４と接地の間に結合された第２のＮＦＥＴ２１４を含む。第２のＰＦＥＴ２１０のゲートおよび第３のＮＦＥＴ２１６のゲートは以下でさらに説明するようにクロック生成回路２００に入力されるＳＴＯＰとして働く。
【００２１】
第１のフィードバック・インバータ２１８は、第１のノード２０４に結合された入力と、第３のＰＦＥＴ２１２のゲートと第２のＮＦＥＴ２１４のゲートの両方に結合された出力とを有する。第２のインバータ２２０は、第１のノード２０４に結合された入力と、クロック出力回路２２２に結合された出力とを有する。
【００２２】
クロック出力回路２２２は、第２のインバータ２２０の出力に結合された入力と、クロック生成回路２００の１ｃｌｋ出力として働く出力とを有する第１の出力インバータ２２４を含む。クロック出力回路２２２はまた、第２のインバータ２２０の出力に結合された第１の入力と、以下で説明するｄ１ｃｌｋ／ｄ２ｃｌｋ選択信号（ｓｇ＿ｂ）を受け取るように適合された第２の入力と、第２の出力インバータ２２８の入力に結合された出力とを有する第１のＮＡＮＤゲート２２６を含む。第２の出力インバータ２２８の出力はクロック生成回路２００のｄ１ｃｌｋ出力として働く。最後に、クロック出力回路２２２は、第２のインバータ２２０の出力に結合された第１の入力と、第３のインバータ２３２の出力に結合された第２の入力と、第３の出力インバータ２３４の入力に結合された出力とを含む。第３の出力インバータ２３４の出力はクロック生成回路２００のｄ２ｃｌｋ出力として働く。第３のインバータ２３２の入力はまた、ｄ１ｃｌｋ／ｄ２ｃｌｋ選択信号（ｓｇ＿ｂ）を受け取るように適合される。
【００２３】
動作は、高論理状態のグローバル・クロック信号が第１のＮＦＥＴ２０６をオンにし、第１のノード２０４を低にプルする。第１のノード２０４が低である場合、１ｃｌｋ出力も低である。ｓｇ＿ｂが高である場合、クロック生成回路２００のｄ１ｃｌｋ出力はアクティブになり（たとえば、第１のＮＡＮＤゲート２２６は第２のインバータ２２０の出力に対してインバータとして挙動し）、クロック生成回路２００のｄ２ｃｌｋ出力は非アクティブになる（たとえば、第２のＮＡＮＤゲート２３０は高論理状態を出力し、ｄ２ｃｌｋ信号は第２のインバータ２２０の出力にかかわらず低である）。同様に、ｓｇ＿ｂが低である場合、クロック生成回路２００のｄ２ｃｌｋ出力はアクティブになり（たとえば、第２のＮＡＮＤゲート２３０は第２のインバータ２２０の出力に対してインバータとして挙動し）、クロック生成回路２００のｄ１ｃｌｋ出力は非アクティブになる（たとえば、第１のＮＡＮＤゲート２２６は高論理状態を出力し、ｄ１ｃｌｋ信号は第２のインバータ２２０の出力にかかわらず低である）。したがって、ｄ１ｃｌｋおよびｄ２ｃｌｋ出力のただ１つが一度にアクティブになる。さらに、第１および第２のＮＡＮＤゲート２２６、２３０が存在するので、ｄ１ｃｌｋおよびｄ２ｃｌｋ出力はクロック生成回路２００のｄ１ｃｌｋ出力とほぼ相補形（たとえば、ほぼ１８０位相はずれ）になる。すなわち、ｄ１ｃｌｋ出力が低である間、ｄ１ｃｌｋ出力またはｄ２ｃｌｋ出力のアクティブな１つは高になる。
【００２４】
グローバル・クロック信号が低にスイッチングすると、第１のＮＦＥＴ２０６はオフになり、第１のＰＦＥＴ２０８はオンになる。ＳＴＯＰ入力が低である場合（たとえば、クロック生成回路２００のアクティブ状態）、第２のＰＦＥＴ２１０はオンになり、第１のノード２０４は（第１および第２のＰＦＥＴ２０８、２１０を介して）高にプルされる。低のＳＴＯＰ入力はまた第３のＮＦＥＴ２１６をオフになる。高のＳＴＯＰ入力は第２のＰＦＥＴ２１０をオフにし、第３のＰＦＥＴ２１６をオンにし、クロック生成回路２００は第１のノード２０４を高にプルすることができなくなることに留意されたい。ＳＴＯＰ入力が低であり、第１のノード２０４が第１および第２のＰＦＥＴ２０８、２１０を介して高にプルされていると仮定すると、第１のインバータ２１８の出力は低になり、第３のＰＦＥＴ２１２はオンになり（第１のノード２０４を高に保持するためのさらなる駆動電流を与え）、第２のＮＦＥＴ２１４はオフになる。概して、ＳＴＯＰ入力は（たとえば、ひとたび第３のＰＦＥＴ２１２がオンになると）グローバル・クロック信号の立下り後に（図示しない回路を介して）自動的に高論理状態にリセットされる。ＳＴＯＰ入力は一般に（たとえば、ほぼ中間サイクルで）グローバル・クロック信号の立ち上り後に低になる。
【００２５】
第１のノード２０４が高であると、クロック生成回路２００のｄ１ｃｌｋ出力も高になり、（たとえば、ｓｇ＿ｂ入力の状態に応じて）アクティブなｄ１ｃｌｋまたはｄ２ｃｌｋは低になる。したがって、グローバル・クロック信号が高と低の論理状態の間でスイッチングすると、クロック生成回路２００の１ｃｌｋ出力は低と高の論理状態の間で変化する。ｄ１ｃｌｋまたはｄ２ｃｌｋ出力のただ１つが一度にアクティブになり、アクティブなｄ１ｃｌｋまたはｄ２ｃｌｋ出力は１ｃｌｋ出力に対してほぼ１８０位相はずれ、ほぼグローバル・クロック信号と同相でスイッチングする。その場合、ｄ１ｃｌｋ出力またはｄ２ｃｌｋ出力を使用して、前述のようにそれぞれマスタ・スレーブ・ラッチ１００のマスタ・ラッチ部分１０２およびスレーブ・ラッチ部分１０４を介してデータをラッチすることができる。
【００２６】
前述のように、電力を節約するために、マスタ・ラッチが開に保持され、マスタ・ラッチが開に保持されている間にマスタ・ラッチを通過するデータをラッチするためにスレーブ・ラッチがパルス化されるパルス・モードで図１のマスタ・スレーブ・ラッチ１００などのマスタ・スレーブ・ラッチを動作させることが知られている。マスタ・ラッチ・クロックは決してスイッチングしないので、パルス動作モードは電力消費を著しく低減する。しかしながら、適切なパルス幅の選択は困難である（たとえば、データをスレーブ・ラッチにラッチするために使用されるパルスが広すぎる場合、マスタ・スレーブ・ラッチはレース・スルーなどの初期モード問題を起こしやすいことがあり、データをスレーブ・ラッチにラッチするために使用されるパルスが狭すぎる場合、データをスレーブ・ラッチによって確実にラッチすることができないことがある）。したがって、マスタ・スレーブ・ラッチ用にパルス動作モードを設計および実装することは困難であり、しばしば多数の設計およびテスト反復を必要とする。
【００２７】
上記の難点に対処するために、パルス動作モードか、マスタ・ラッチとスレーブ・ラッチの両方がクロックされるより一般的なデュアル・クロック動作モードのいずれかでマスタ・スレーブ・ラッチを動作させるために必要な信号を生成することができる新規のクロック生成回路が提供される。そのようなデュアル・クロック動作モードは回路設計中に特に有利である。たとえば、回路設計のハードウェア・バージョンを得るのに数ヶ月かかることがある。従来のパルス動作モード・マスタ・スレーブ・ラッチ設計では、マスタ・スレーブ・ラッチのパルス動作モードがテスト中に故障した場合、回路設計の残部はテストすることが不可能になることがある。しかしながら、本発明を使用することによって、マスタ・スレーブ・ラッチを故障するパルス動作モードから完全に機能的なデュアル・クロック動作モードにスイッチングすることができる。このようにして、回路設計によって使用されるマスタ・スレーブ・ラッチがパルス・モードで動作することができない場合でも、回路設計のテストおよび／または動作が可能である。
【００２８】
図３は、マスタ・スレーブ・ラッチをパルス・モードかデュアル・クロック動作モードのいずれかで動作させる本発明のクロック生成回路３００の概略図である。図３に示すように、本発明のクロック生成回路３００は図２のクロック生成回路２００と同様であり、いくつかの同様の構成要素を含む。便宜のために、機能的に同様の構成要素は図２および図３で同じ参照番号で呼ぶ。
【００２９】
図２および図３を参照すると、従来のクロック生成回路２００と本発明のクロック生成回路３００の間の主要な差異は、本発明のクロック生成回路３００では、
（１）第１のＮＡＮＤゲート２２６の第１の入力は第２のインバータ２２０の出力に結合されるのではなく、（第１のノード２０４に結合された第１の入力および以下でさらに説明するＳＡＦＥＴＹ入力として働く第２の入力を有する）フィードフォワードＮＡＮＤゲート３０２の出力に結合されること、
（２）第１のインバータ２１８は、第３のＰＦＥＴ２１２および第２のＮＦＥＴ２１４のゲートに結合された出力および第１のノード２０４に結合された第１の入力を有する第１のフィードバックＮＡＮＤゲート３０４と交換されること、および
（３）第１のフィードバックＮＡＮＤゲート３０４の第２の入力に結合された出力と、第１の出力インバータ２２４の出力に結合された第１の入力と、インバータ３０８を介してＳＡＦＥＴＹ入力に結合された第２の入力とを有する第２のフィードバックＮＡＮＤゲート３０６が設けられること
である。
【００３０】
上述のように、本発明のクロック生成回路３００は、（マスタ・ラッチとスレーブ・ラッチの両方がクロックされる）デュアル・クロック動作モードか、（スレーブ・ラッチがパルス化されている間にマスタ・ラッチが開に保持される）パルス動作モードのいずれかでマスタ・スレーブ・ラッチを動作させるために必要な信号を生成することができる。スイッチング回路（たとえば、フィードフォワードＮＡＮＤゲート３０２、第１および第２のフィードバックＮＡＮＤゲート３０４、３０６またはインバータ３０８あるいはその両方の１つまたは複数）を使用して２つの動作モード間でスイッチングすることができる。
【００３１】
（たとえば、マスタ・ラッチをクロックするための第１のクロックおよびスレーブ・ラッチをクロックするための第２のクロックを必要とする）デュアル・クロック動作モード用の信号を生成するために、ＳＡＦＥＴＹ入力は高論理時に保持される。ＳＡＦＥＴＹ入力が高になると、フィードフォワードＮＡＮＤゲート３０２は第１のノード２０４と第１のＮＡＮＤゲート２２６の第１の入力の間でインバータとして効果的に動作する。同様に、ＳＡＦＥＴＹ入力が高になると、インバータ３０８の出力は低になり、第２のフィードバックＮＡＮＤゲート３０６の出力は高になり、第１のフィードバックＮＡＮＤゲート３０４は第１のノード２０４と第３のＰＦＥＴ２１２および第２のＮＦＥＴ２１４のゲートとの間でインバータとして効果的に動作する。したがって、フィードフォワードＮＡＮＤゲート３０２および第１のフィードバックＮＡＮＤゲート３０４がインバータとして効果的に動作するので、本発明のクロック生成回路３００は図２の従来のクロック生成回路２００と同様に動作する。すなわち、クロック生成回路３００は（ｓｇ＿ｂ入力の論理状態に応じて）１ｃｌｋ信号およびｄ１ｃｌｋかｄ２ｃｌｋ信号のいずれかを生成する。１ｃｌｋ信号およびｄ１ｃｌｋまたはｄ２ｃｌｋ信号はほぼ相補形である。そのようなデュアル・クロック動作モードでは、フィードバック論理（たとえば、第２のフィードバックＮＡＮＤゲート３０６または第１のフィードバックＮＡＮＤゲート３０４あるいはその両方）およびフィードフォワード論理（たとえば、フィードフォワードＮＡＮＤゲート３０２）は（以下で説明する）パルス動作モードに必要なフィードバックおよびフィードフォワード信号を与えることが不可能になる。
【００３２】
図１のマスタ・スレーブ・ラッチ１００などのマスタ・スレーブ・ラッチのパルス動作モード用の信号（たとえば、マスタ・ラッチを開に保持する論理状態／信号およびマスタ・ラッチを通過したデータをスレーブ・ラッチにラッチするパルス信号）を生成するために、ＳＡＦＥＴＹ入力は低（たとえば、０ボルト）に保持される。ＳＡＦＥＴＹ入力が低になると、フィードフォワードＮＡＮＤゲート３０２の出力は高にされる。したがって、第１のＮＡＮＤゲート２２６に入力されたｓｇ＿ｂが高である場合、第１のＮＡＮＤゲート２２６の出力は低に駆動され、第２の出力インバータ２２８の出力（たとえば、ｄ１ｃｌｋ）は高にされる。その後高ｄ１ｃｌｋ信号を使用してマスタ・ラッチを開状態に維持することができる。たとえば、高ｄ１ｃｌｋ信号を使用して図１のマスタ・ラッチ部分１０２の第１の伝送ゲート１０６を開状態に維持することができる。そのような状態では、マスタ・ラッチ部分１０２に入力されたデータｄは第１の伝送ゲート１０６を通過してスレーブ・ラッチ部分１０４に至ることになる。
【００３３】
代替で、第１のＮＡＮＤゲート２２６に入力されたｓｇ＿ｂが低である場合、第１のＮＡＮＤゲート２２６の出力は高に駆動され、第２の出力インバータ２２８の出力は低に保持される（たとえば、ｄ１ｃｌｋがディスエーブルにされる）。さらに、ｓｇ＿ｂが低であると、本発明のクロック生成回路３００のｄ２ｃｌｋ出力はイネーブルになり、これを使用して、図２を参照しながら上述したように（たとえば、図１の第２の伝送ゲート１１２のｓｃａｎ−ｉｎ入力などを介して）データをマスタ・ラッチにラッチすることができる。
【００３４】
クロック生成回路３００のフィードバック論理を参照すると、インバータ３０８のＳＡＦＥＴＹ入力が低に保持されていると、第２のフィードバックＮＡＮＤゲート３０６の第１の入力は高になり、第２のフィードバックＮＡＮＤゲート３０６はインバータとして動作する。それによって（以下で説明するように）パルス化信号がクロック生成回路３００のｄ１ｃｌｋ出力で与えられる。たとえば、グローバル・クロック信号が高にスイッチングすると、第１のノード２０４の電圧は低にプルされ、第１の出力インバータ２２４の出力は低に駆動される（たとえば、１ｃｌｋ出力が低になる）。１ｃｌｋ出力が低になり、第２のフィードバックＮＡＮＤゲート３０６がインバータとして動作すると、第２のフィードバックＮＡＮＤゲート３０６の出力は高になり、第１のフィードバックＮＡＮＤゲート３０４がインバータとして動作することになる。第１のノード２０４が低であると、ＮＦＥＴ２１４はオンになり、ＳＴＯＰ入力が高であると仮定すると、ＮＦＥＴ２１６はオンになり、第１のノード２０４は低に保持される。
【００３５】
その後、グローバル・クロック信号が低電圧にスイッチングした（ＳＴＯＰ入力が低になった）場合、第１のノード２０４の電圧は高にプルされ、第１の出力インバータ２２４の出力は高に駆動される（たとえば、１ｃｌｋ出力が高になる）。１ｃｌｋ出力が高になり、第２のフィードバックＮＡＮＤゲート３０６がインバータとして動作すると、第２のフィードバックＮＡＮＤゲート３０６の出力は低に駆動され、第１のフィードバックＮＡＮＤゲート３０４の出力は高に駆動される。第１のフィードバックＮＡＮＤゲート３０４の出力での高論理状態は第３のＰＦＥＴ２１２をオフにし、第２のＮＦＥＴ２１４をオンにする。したがって、（前述のように）ＳＴＯＰ入力が高にリセットされていると仮定すると、第２のＰＦＥＴ２１０はオフになり、第３のＰＦＥＴ２１６はオンになり、第１のノード２０４は低にプルされる。第１のノード２０４の低電圧は第１の出力インバータ２２４の出力を低にスイッチングする（たとえば、１ｃｌｋ出力を低にスイッチングする）。ひとたび低になると、１ｃｌｋ出力は（グローバル・クロックが再び高から低にスイッチングするまで）低のままである。
【００３６】
このようにして、クロック生成回路３００の１ｃｌｋ出力はグローバル・クロック信号の高から低への遷移に応答して高になり、次いで１ｃｌｋ出力とクロック生成回路３００のクロック生成論理の間のフィードバック経路の結果として（グローバル・クロック信号またはその動作周波数とは無関係に）自動的に低に戻る。それによってグローバル・クロック信号の高論理状態から低論理状態への各遷移でパルス信号がクロック生成回路３００の１ｃｌｋ出力に生成される。パルス信号のパルス幅は
（１）第２のフィードバックＮＡＮＤゲート３０６、第１のフィードバックＮＡＮＤゲート３０４、第２のインバータ２２０および第１の出力インバータ２２４を通る伝搬遅延、および
（２）（たとえば、ＮＦＥＴ２１４、２１６の電流駆動またはスイッチング速度あるいはその両方などによって設定される）第１のノードを高論理状態から低論理状態にプルするために必要な時間
によって設定される。
【００３７】
したがって、上記の論理ゲートの速度またはＮＦＥＴ２１４あるいはその両方、２１６の電流駆動またはスイッチング速度パルス幅あるいはその両方を調節することができる。たとえば、図２の従来のクロック生成回路２００の対応する構成要素と比較した場合、ＮＦＥＴ２１４、２１６のサイズを増大させる（たとえば、ＮＦＥＴがより多くの電流を駆動し、より速くスイッチングする）ことができ、（たとえば、インバータの利得を低に、インバータのスイッチング速度を高に保つために）インバータ２２０および２２４のサイズを増大させることができる。本発明の少なくとも１つの実施形態では、約６５ピコ秒のパルス幅を使用するが、他のパルス幅を使用することができる。
【００３８】
本発明を使用することによって、マスタ・スレーブ・ラッチをパルス動作モードか、デュアル・クロック動作モードのいずれかで動作させることができる。そのような多重動作モードは、パルス・モードで動作すべきマスタ・スレーブ・ラッチの故障が他の回路のテストを妨げない点で回路設計中に著しい利点を与える。たとえば、本発明を使用することによって、マスタ・ラッチおよびマスタ・ラッチに結合されたスレーブ・ラッチを動作させる新規の方法を提供することができる。本方法は、
（Ａ）（１）マスタ・ラッチが開状態に保持され、（２）スレーブ・ラッチが開マスタ・ラッチを通過したデータをラッチするようにパルス化される第１のモード（たとえば、パルス・モード）でマスタ・ラッチおよびスレーブ・ラッチを動作させようと試みるステップと、
（Ｂ）マスタ・ラッチおよびスレーブ・ラッチが第１のモードで動作しない場合、（１）マスタ・ラッチでデータをラッチするために第１のクロック信号が使用され、（２）スレーブ・ラッチでマスタ・ラッチによってラッチされたデータをラッチするために第２のクロック信号が使用される第２のモード（たとえば、デュアル・クロック・モード）でマスタ・ラッチおよびスレーブ・ラッチを動作させるステップと
を含むことができる。他の方法を同様に使用することができる。
【００３９】
マスタ・スレーブ・ラッチをパルス動作モードかデュアル・クロック動作モードのいずれかで動作させることに加えて、本発明は多数の他の利点を与える。たとえば、本発明のクロック発生回路３００によって使用されるクロッキング・スキームは従来のマスタ・スレーブ・ラッチに使用されるクロッキング・スキームに適合できる（たとえば、クロック発生回路は既存のチップ・クロッキングに適合できるので、設計者は適合性問題を心配せずにパルス動作モードとデュアル・クロック動作モードの間でスイッチングすることができる）。したがって、パルス動作モードとデュアル・クロック動作モードの間でスイッチングするためのＳＡＦＥＴＹ信号を除いて、同じタイミング要件と同じ制御信号を同様の発射クロック待ち時間で使用することができる。さらに、パルス動作モードとデュアル・クロック動作モードの間のスイッチングを可能にするために使用されるスイッチング論理は安価である。
【００４０】
前述のように、パルス・モードで動作する（たとえば、ＳＡＦＥＴＹ入力が低である）とき、ｓｇ＿ｂ入力が低（たとえば、０ボルト）である場合、ｄ１ｃｌｋは非アクティブになり（たとえば、低にされ）、ｄ２ｃｌｋ出力はアクティブになり、１ｃｌｋ出力にほぼ相補形になる。したがって、パルス・モードで動作するときでも、マスタ・スレーブ・ラッチをスキャンして、１ｃｌｋがアクティブであるときにｄ２ｃｌｋがオフになり、ラッチを介したスキャン・データのレーシングを防ぐ（たとえば、ラッチ間のスキャン経路をパディングする必要を回避する）ことができる。
【００４１】
上記の説明では本発明の例示的な実施形態のみを開示した。本発明の範囲内に入る上記で開示した装置および方法の改変は当業者ならすぐに分かるであろう。たとえば、本発明のクロック生成回路３００については図１のマスタ・スレーブ・ラッチ１００に関して説明したが、本発明のクロック生成回路を他のマスタ・スレーブ・ラッチとともに使用することができることが理解されよう。追加のドライブが必要な場合、１ｃｌｋ、ｄ１ｃｌｋまたはｄ２ｃｌｋ出力あるいはその両方のいずれかをバッファすることができる。
【００４２】
以上、本発明についてその例示的な実施形態に関して開示したが、他の実施形態は首記の特許請求の範囲によって規定される本発明の趣旨および範囲内に入ることを理解されたい。
【図面の簡単な説明】
【００４３】
【図１】本発明を使用することができる従来のマスタ・スレーブ・ラッチの例示的な実施形態を示す図である。
【図２】図１のマスタ・スレーブ・ラッチのマスタおよびスレーブ・ラッチ部分にデータをラッチするために使用されるクロック信号を生成する従来のクロック生成回路の概略図である。
【図３】マスタ・スレーブ・ラッチをパルス・モードかデュアル・クロック動作モードのいずれかで動作させる本発明のクロック生成回路の概略図である。
【符号の説明】
【００４４】
２０２  ＣＭＯＳインバータ
２０４  第１のノード
２０６  第１のＮＦＥＴ
２０８  第１のＰＦＥＴ
２１０  第２のＰＦＥＴ
２１２  第３のＰＦＥＴ
２１４  第２のＮＦＥＴ
２１６    第３のＮＦＥＴ
２１８  第１のフィードバック・インバータ
２２０  第２のインバータ
２２２  クロック出力回路
２２４  第１の出力インバータ
２２６  第１のＮＡＮＤゲート
２２８  第２の出力インバータ
３００  クロック生成回路
３０２  フィードフォワードＮＡＮＤゲート
３０４  第１のフィードバックＮＡＮＤゲート
３０６  第２のフィードバックＮＡＮＤゲート
３０８  インバータ
【図１】
2005080295.tif 000003
【図２】
2005080295.tif 000004
【図３】
2005080295.tif 000005