(57)【特許請求の範囲】
【請求項１】
第１乃至第３入力信号が入力され、そのうちのいずれかの入力信号を選択してラッチするフリップフロップ回路であって、
前記第１乃至第３入力信号の内で、前記選択時の優先順位の最も高い前記第１入力信号と、前記第２入力信号との論理演算を行う第１論理ゲートと、
前記第１入力信号と、第３入力信号との論理演算を行う第２論理ゲートと、
前記第１、第２論理ゲートの出力のいずれかを選択する第１選択回路と、
前記第１選択回路で選択された第１選択信号を少なくとも含むいずれかの信号をラッチするラッチ回路と
を具備し、前記第１入力信号をアサートすることで、前記第１、第２論理ゲートの出力信号を強制的に共に等しく一定とすることによって、前記第１入力信号によって行われる動作を、前記第２、第３入力信号によって行われる動作に優先して行う
ことを特徴とするフリップフロップ回路。
【請求項２】
前記第１選択回路は、動作させるべき前記第１、第２論理ゲートのいずれかを選択して、該第１、第２論理ゲートのうち選択したいずれかの論理演算結果を前記第１選択信号として出力する回路であって、
前記第２入力信号によって行われる動作をイネーブルにする際に、前記第１論理ゲートを動作状態、第２論理ゲートを非動作状態とし、
前記第２入力信号によって行われる動作をディセーブルにする際に、前記第１論理ゲートを非動作状態、第２論理ゲートを動作状態とする
ことを特徴とする請求項１記載のフリップフロップ回路。
【請求項３】
前記第１入力信号は負論理であり、
前記第１、第２論理ゲートは各々否定論理積演算を行う
ことを特徴とする請求項１または２記載のフリップフロップ回路。
【請求項４】
前記第１入力信号よりも、前記選択時の優先順位の更に高い第４入力信号を更に入力され、
前記第４入力信号と、前記第１選択回路で選択された前記第１選択信号のいずれかを選択する第２選択回路を更に備える
ことを特徴とする請求項１乃至３いずれか１項記載のフリップフロップ回路。
【請求項５】
前記第４入力信号を反転させて、この反転された該第４入力信号を前記第２選択回路に入力するインバータを更に備える
ことを特徴とする請求項４記載のフリップフロップ回路。
【請求項６】
第５乃至第７入力信号を更に入力され、
前記第５乃至第７入力信号の内で、前記選択時の優先順位の最も高い前記第５入力信号と、前記第６入力信号との論理演算を行う第３論理ゲートと、
前記第５入力信号と、第７入力信号との論理演算を行う第４論理ゲートと、
前記第３、第４論理ゲートの出力のいずれかを選択する第３選択回路と
を具備し、前記第１乃至第３入力信号の内の少なくともいずれか１つの信号は、前記第３選択回路で選択された第３選択信号である
ことを特徴とする請求項１乃至３いずれか１項記載のフリップフロップ回路。
【請求項７】
第１乃至第４入力信号が入力され、そのうちのいずれかの入力信号を選択してラッチするフリップフロップ回路であって、
前記第１乃至第４入力信号の内で、前記選択時の優先順位の最も高い前記第１入力信号が入力される入力ノードに設けられた第１論理ゲートと、
前記第１乃至第４入力信号の内で、前記選択時の優先順位の２番目に高い前記第２入力信号と、前記第３入力信号との論理演算を行う第２論理ゲートと、
前記第２入力信号と、前記第４入力信号との論理演算を行う第３論理ゲートと、
前記第１乃至第３論理ゲートの出力ノードが共通に接続された接続ノードの信号をラッチするラッチ回路と
を具備し、前記第１入力信号により行われる動作をイネーブルにする第１制御信号がアサートされた場合には、前記第１論理ゲートが動作、前記第２、第３論理ゲートが非動作を無条件で選択されることにより、該第１入力信号によって行われる動作が、前記第２乃至第４入力信号によって行われる動作に優先して行われ、
前記第２、第３論理ゲートは動作、非動作は、前記第３または第４入力信号により行われる動作をイネーブルにする第２制御信号によって、前記第１制御信号がネゲートされている時に、互いに排他的に動作するよう選択され、且つ、
前記第２入力信号をアサートすることで、前記第２、第３論理ゲートの出力を共に等しく一定となるように強制的に決定することにより、前記第２入力信号によって行われる動作を、前記第３、第４入力信号によって行われる動作に優先して行う
ことを特徴とするフリップフロップ回路。
【請求項８】
通常のデータ入力動作に、テスト動作、クリア動作、及び出力フィードバック動作の３つの動作が付加されたフリップフロップ回路であって、
前記出力フィードバック動作を行うためにフィードバックされる出力信号と、前記クリア動作を行う際に入力される負論理のリセット信号との否定論理積演算を行う第１論理ゲートと、
前記リセット信号と、前記データ入力動作時に入力されるデータ信号との否定論理積演算を行う第２論理ゲートと、
前記第１、第２論理ゲートの出力のいずれかを選択する第１選択回路と、
前記テスト動作時に入力されるテスト信号を反転させる第１インバータと、
前記第１選択回路で選択された第１選択信号と、前記第１インバータにて反転された前記テスト信号とを選択する第２選択回路と、
前記第２選択回路で選択された第２選択信号をラッチするラッチ回路と
を具備し、
前記テスト動作を行う際にアサートされるテストイネーブル信号に応答して、前記第２選択回路は前記テスト信号を選択することにより、前記テスト動作を前記データ入力動作、クリア動作、及び出力フィードバック動作に優先して行い、
前記クリア動作を行う際にアサートされる前記リセット信号が、前記第１、第２論理ゲートの出力を共に一定となるように強制的に決定することにより、前記クリア動作を前記データ入力動作及び出力フィードバック動作に優先して行う
ことを特徴とするフリップフロップ回路。
【請求項９】
前記第１選択回路は、前記データ入力動作を行う際にアサートされるイネーブル信号によって、動作させるべき前記第１、第２論理ゲートのいずれかを選択し、該第１、第２論理ゲートのうち選択したいずれかの否定論理積演算結果を前記第１選択信号として出力する回路であって、
前記イネーブル信号がアサートされた場合には、前記第２論理ゲートを動作状態、前記第１論理ゲートを非動作状態とし、
前記イネーブル信号がネゲートされた場合には、前記第２論理ゲートを非動作状態、前記第１論理ゲートを動作状態とする
ことを特徴とする請求項８記載のフリップフロップ回路。
【請求項１０】
前記第１選択回路は、各々の入力ノードが前記第１、第２論理ゲートの出力ノードに接続され、出力ノードが共通接続され、前記データ入力動作を行う際にアサートされるイネーブル信号によって、オープン／クローズを制御される第１、第２トランスファーゲートを備える
ことを特徴とする請求項８記載のフリップフロップ回路。
【請求項１１】
前記第２選択回路は、各々の入力ノードが前記第１インバータ及び前記第１選択回路の出力ノードに接続され、出力ノードが共通接続され、前記テスト動作を行う際にアサートされるテストイネーブル信号によって、動作、非動作を制御される第１、第２クロックドインバータを備える
ことを特徴とする請求項８乃至１０いずれか１項記載のフリップフロップ回路。
【請求項１２】
前記第２選択回路は、各々の入力ノードが前記第１インバータ及び前記第１選択回路の出力ノードに接続され、出力ノードが共通接続され、前記テスト動作を行う際にアサートされるテストイネーブル信号によって、オープン／クローズを制御される第３、第４トランスファーゲートを備える
ことを特徴とする請求項８乃至１０いずれか１項記載のフリップフロップ回路。
【請求項１３】
通常のデータ入力動作に、テスト動作、クリア動作、及び出力フィードバック動作の３つの動作が付加されたフリップフロップ回路であって、
前記テスト信号を反転させる第１論理ゲートと、
前記出力フィードバック動作を行うためにフィードバックされる出力信号と、前記クリア動作を行う際に入力される負論理のリセット信号との否定論理積演算を行う第２論理ゲートと、
前記リセット信号と、前記データ入力動作時に入力されるデータ信号との否定論理積演算を行う第３論理ゲートと、
前記第１乃至第３論理ゲートの出力ノードが共通接続された接続ノードの信号をラッチするラッチ回路と
を具備し、前記テスト動作をイネーブルにするテストイネーブル信号がアサートされた場合には、前記第１論理ゲートが動作、前記第２、第３論理ゲートが非動作を無条件で選択することにより、該テスト動作を前記データ入力動作、クリア動作、及び出力フィードバック動作に優先して行い、
前記第２、第３論理ゲートの動作、非動作は、前記テストイネーブル信号と、前記データ入力動作をイネーブルにするイネーブル信号との論理演算によって生成された制御信号によって、該テストイネーブル信号がネゲートされている時に、互いに排他的に動作するように選択され、且つ、
前記クリア動作を行う際にアサートされた前記リセット信号が、前記第２、第３論理ゲートの出力を共に等しく一定となるように強制的に決定することにより、前記クリア動作を前記データ入力動作及び出力フィードバック動作に優先して行う
ことを特徴とするフリップフロップ回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、フリップフロップ回路に関するもので、特にデータ信号の入力パスに存する論理回路の段数を減らすことにより、データ信号の伝搬遅延を防止するための技術に関するものである。
【０００２】
【従来の技術】
従来より、半導体集積回路にはテスト動作、クリア動作、及び出力フィードバック動作の３つの機能が付加されたＣＭＯＳフリップフロップ回路が広く用いられている。
【０００３】
従来の、テスト動作、クリア動作、及び出力フィードバック動作の付加されたＣＭＯＳフリップフロップ回路について、図１５を用いて説明する。図１５はＣＭＯＳフリップフロップの回路図である。
【０００４】
図示するようにＣＭＯＳフリップフロップ１００は、大まかには入力信号選択部２００と、ラッチ回路３００とを有している。
【０００５】
上記入力信号選択部２００は、ＣＭＯＳフリップフロップの反転出力信号ＱＮと、入力データ信号ＤＩとを選択する選択回路２１０（例えばマルチプレクサ）と、選択回路２１０によって選択された信号とリセット信号ＲＮとを選択する選択回路２２０（例えばＮＡＮＤゲート）と、選択回路２２０で選択された信号と、テスト信号ＴＩとを選択する選択回路２３０（例えばマルチプレクサ）とを備えている。
【０００６】
上記ラッチ回路３００は、例えばマスタースレーブ型のラッチ回路が用いられ、上記選択回路２３０で選択された信号をラッチする。
【０００７】
上記ＣＭＯＳフリップフロップ回路は、入力データ信号ＤＩをラッチ回路３００でラッチして出力するデータ入力動作を通常動作としている。この場合には、選択回路２１０を制御するイネーブル信号Ｅｎｂがアサートされて、選択回路２１０は、インバータ２４０で反転された入力データ信号ＤＩを選択する。そして、この入力データ信号ＤＩは選択回路２２０、２３０を介してラッチ回路３００にラッチされる。
【０００８】
クリア動作時には、リセット信号ＲＮがアサートされることによりインバータ２５０で反転されたリセット信号ＲＮが選択回路２２０に入力される。その結果、選択回路２２０の出力は強制的に一定に定まり、その出力信号が選択回路２３０を介してラッチ回路３００でラッチされる。このようにして、ラッチ回路のラッチするデータがリセットされる。
【０００９】
テスト動作時には、選択回路２３０に入力されるテストイネーブル信号ＴＥがアサートされることにより、テスト信号ＴＩがラッチ回路３００にラッチされる。
【００１０】
また、上記３つの動作以外の動作として、入力信号が無い場合でも出力状態を確定しておくための出力フィードバック動作を行う。この場合には、ラッチ回路３００の反転出力信号ＱＮが選択回路２１０で選択されて、この信号が選択回路２２０、２３０を介して再びラッチ回路３００でラッチされる。
【００１１】
これら４つの動作は、テスト動作、クリア動作、そしてイネーブル及びデータ入力動作の順に優先順位が決められている。すなわち、リセット信号ＲＮや入力データ信号ＤＩが入力されている場合であっても、テストイネーブル信号がアサートされている場合には、無条件でテスト信号が入力されてテスト動作を行う。また、テストイネーブル信号がアサートされていない場合には、リセット動作が出力フィードバック動作及びデータ入力動作に優先される。
【００１２】
すなわち、図１６のフリップフロップの回路図に示すように、複数の信号が入力されるフリップフロップ回路において、その入力信号に優先順位を設けたい場合には、最も優先順位の低い２つの信号ＩＮ（１）、ＩＮ（２）のいずれかを選択回路ＭＵＸ１で選択し、この出力信号と次に優先順位の高い信号ＩＮ（３）のいずれかを選択回路ＭＵＸ２で選択する。以降、選択回路ＭＵＸ２〜ＭＵＸ（ｎ）で信号の選択を行い、最終段の選択回路ＭＵＸ（ｎ−１）で、最も優先順位の高い信号ＩＮ（ｎ）と選択回路ＭＵＸ（ｎ）のいずれかの選択を行えば良い。このような構成によれば、選択回路ＭＵＸ１〜ＭＵＸ（ｎ）の状態に関わらず、最終段の選択回路ＭＵＸ（ｎ−１）における制御信号Ｃｎｔ（ｎ−１）によって、最優先順位の信号ＩＮ（ｎ）を選択するか否かを決定できる。
【００１３】
しかしながら上記構成のフリップフリップであると、次のような問題がある。
【００１４】
（１）セットアップタイムが長くなる。
【００１５】
（２）テスト動作時に、クロックスキューによる突き抜けが起きる。
【００１６】
まず上記（１）の問題点について、図１７を用いて説明する。図１７は、クロックＣＰと入力データ信号ＤＩの信号波形のタイムチャートである。
【００１７】
図示するように、データ信号ＤＩがクロックＣＰの立ち上がりで取り込まれる場合、そのクロックの立ち上がりよりも前に、データ信号を入力しておく必要がある。このデータ信号の入力からクロックの立ち上がりまでの時間がセットアップタイムである。これは、データ信号を入力してから実際にデータ信号が取り込まれるまでに相当の時間が必要だからであり、入力パスが長くなればなるほど、長い時間を設定する必要がある。
【００１８】
図１５のような回路では、下位の選択回路で選択される信号の入力パスが非常に長くなる。すなわち、入力データ信号ＤＩがラッチ回路まで到達するには、選択回路２２０、２３０を通らねばならず、入力パスが長くなる。そのため、セットアップタイムが長くなる。このことは、動作速度向上を妨げる原因となるばかりでなく、動作のマージンを大きく取らなければならないが故に、回路設計を複雑化させる原因となる。
【００１９】
次に上記（２）の問題点について図１８を用いて説明する。図１８は半導体集積回路の一部を抽出して示す概略ブロック図である。
【００２０】
図示するように、半導体集積回路は複数のフリップフロップ回路１００−１〜１００−４と、フリップフリップ回路の出力によって動作を制御される複数のロジック回路４００−１、４００−２を有している。テスト動作時には、各フリップフロップ１００−１〜１００−４にはテスト信号ＴＩが入力されて、クロックＣＰに同期してテスト動作を行う。
【００２１】
しかし、テスト信号ＴＩはテスト専用の金属配線手法で別に配線されたテスト信号ＴＩパスを伝搬するために、伝搬速度が非常に速い。他方、クロックＣＰはスキュー（skew）を持っており、このクロックＣＰのスキューがフリップフロップの動作上、問題となる場合がある。すなわち、クロックＣＰよりもテスト信号ＴＩの方が早くフリップフロップに到達する場合がある。例えば図１８の例であると、クロックＣＰがフリップフロップ１００−１〜１００−４に到達するよりも先に、テスト信号ＴＩがフリップフロップ１００−１〜１００−４に到達する。そのため、テスト動作の信頼性が大幅に損なわれるという問題があった。
【００２２】
このクロックスキューの問題については、テスト信号のパスにのみディレイセルを入れることによって対応することは可能である。しかし、そのような場合には回路規模が大きくなるだけでなく、ディレイセルを入れることによってフリップフロップ全体の設計の見直しを迫られるため、好ましい解決方法ではなかった。
【００２３】
【発明が解決しようとする課題】
上記従来のＣＭＯＳフリップフロップでは、入力データ信号の入力パスが長くなるためにセットアップタイムが長くなる。そのため、動作速度の向上を妨げられるだけでなく、動作のマージンを大きく取らなければならないが故に、回路設計を複雑化するという問題があった。
【００２４】
また、テスト動作時にクロックスキューによる突き抜けが起きるため、テスト動作の信頼性が大幅に損なわれるという問題があった。
【００２５】
更に上記クロックスキューの問題を解決するためには、テスト信号のパスにディレイセルを設ける必要があり、回路規模が大きくなると共に、フリップフロップの設計が複雑化するという問題があった。
【００２６】
この発明は、上記事情に鑑みてなされたもので、その目的は、設計の複雑化、煩雑化を招くことなく、セットアップタイムの短縮及びクロックスキューによる突き抜けの防止を実現出来るフリップフロップを提供することにある。
【００２７】
【課題を解決するための手段】
上記目的を達成するために、この発明に係るフリップフロップ回路は、第１乃至第３入力信号が入力され、そのうちのいずれかの入力信号を選択してラッチするフリップフロップ回路であって、前記第１乃至第３入力信号の内で、前記選択時の優先順位の最も高い前記第１入力信号と、前記第２入力信号との論理演算を行う第１論理ゲートと、前記第１入力信号と、第３入力信号との論理演算を行う第２論理ゲートと、前記第１、第２論理ゲートの出力のいずれかを選択する第１選択回路と、前記第１選択回路で選択された第１選択信号を少なくとも含むいずれかの信号をラッチするラッチ回路とを具備し、前記第１入力信号をアサートすることで、前記第１、第２論理ゲートの出力信号を強制的に共に等しく一定とすることによって、前記第１入力信号によって行われる動作を、前記第２、第３入力信号によって行われる動作に優先して行うことを特徴としている。
【００２８】
なお、上記フリップフロップ回路において、前記第１入力信号よりも、前記選択時の優先順位の更に高い第４入力信号を更に入力され、前記第４入力信号と、前記第１選択回路で選択された前記第１選択信号のいずれかを選択する第２選択回路を更に備えていても良い。
【００２９】
また、この発明に係るフリップフロップ回路は、第１乃至第４入力信号が入力され、そのうちのいずれかの入力信号を選択してラッチするフリップフロップ回路であって、前記第１乃至第４入力信号の内で、前記選択時の優先順位の最も高い前記第１入力信号が入力される入力ノードに設けられた第１論理ゲートと、前記第１乃至第４入力信号の内で、前記選択時の優先順位の２番目に高い前記第２入力信号と、前記第３入力信号との論理演算を行う第２論理ゲートと、前記第２入力信号と、前記第４入力信号との論理演算を行う第３論理ゲートと、前記第１乃至第３論理ゲートの出力ノードが共通に接続された接続ノードの信号をラッチするラッチ回路とを具備し、前記第１入力信号により行われる動作をイネーブルにする第１制御信号がアサートされた場合には、前記第１論理ゲートが動作、前記第２、第３論理ゲートが非動作を無条件で選択されることにより、該第１入力信号によって行われる動作が、前記第２乃至第４入力信号によって行われる動作に優先して行われ、前記第２、第３論理ゲートは動作、非動作は、前記第３または第４入力信号により行われる動作をイネーブルにする第２制御信号によって、前記第１制御信号がネゲートされている時に、互いに排他的に動作するよう選択され、且つ、前記第２入力信号をアサートすることで、前記第２、第３論理ゲートの出力を共に等しく一定となるように強制的に決定することにより、前記第２入力信号によって行われる動作を、前記第３、第４入力信号によって行われる動作に優先して行うことを特徴としている。
【００３０】
更にこの発明に係るフリップフロップ回路は、通常のデータ入力動作に、テスト動作、クリア動作、及び出力フィードバック動作の３つの動作が付加されたフリップフロップ回路であって、前記出力フィードバック動作を行うためにフィードバックされる出力信号と、前記クリア動作を行う際に入力される負論理のリセット信号との否定論理積演算を行う第１論理ゲートと、前記リセット信号と、前記データ入力動作時に入力されるデータ信号との否定論理積演算を行う第２論理ゲートと、前記第１、第２論理ゲートの出力のいずれかを選択する第１選択回路と、前記テスト動作時に入力されるテスト信号を反転させる第１インバータと、前記第１選択回路で選択された第１選択信号と、前記第１インバータにて反転された前記テスト信号とを選択する第２選択回路と、前記第２選択回路で選択された第２選択信号をラッチするラッチ回路とを具備し、前記テスト動作を行う際にアサートされるテストイネーブル信号に応答して、前記第２選択回路は前記テスト信号を選択することにより、前記テスト動作を前記データ入力動作、クリア動作、及び出力フィードバック動作に優先して行い、前記クリア動作を行う際にアサートされる前記リセット信号が、前記第１、第２論理ゲートの出力を共に一定となるように強制的に決定することにより、前記クリア動作を前記データ入力動作及び出力フィードバック動作に優先して行うことを特徴としている。
【００３１】
更にこの発明に係るフリップフロップ回路は、通常のデータ入力動作に、テスト動作、クリア動作、及び出力フィードバック動作の３つの動作が付加されたフリップフロップ回路であって、前記テスト信号を反転させる第１論理ゲートと、前記出力フィードバック動作を行うためにフィードバックされる出力信号と、前記クリア動作を行う際に入力される負論理のリセット信号との否定論理積演算を行う第２論理ゲートと、前記リセット信号と、前記データ入力動作時に入力されるデータ信号との否定論理積演算を行う第３論理ゲートと、前記第１乃至第３論理ゲートの出力ノードが共通接続された接続ノードの信号をラッチするラッチ回路とを具備し、前記テスト動作をイネーブルにするテストイネーブル信号がアサートされた場合には、前記第１論理ゲートが動作、前記第２、第３論理ゲートが非動作を無条件で選択することにより、該テスト動作を前記データ入力動作、クリア動作、及び出力フィードバック動作に優先して行い、前記第２、第３論理ゲートの動作、非動作は、前記テストイネーブル信号と、前記データ入力動作をイネーブルにするイネーブル信号との論理演算によって生成された制御信号によって、該テストイネーブル信号がネゲートされている時に、互いに排他的に動作するように選択され、且つ、前記クリア動作を行う際にアサートされた前記リセット信号が、前記第２、第３論理ゲートの出力を共に等しく一定となるように強制的に決定することにより、前記クリア動作を前記データ入力動作及び出力フィードバック動作に優先して行うことを特徴としている。
【００３２】
上記構成を有するフリップフロップ回路であると、入力される３種の入力信号について、最も優先順位の最も高い第１入力信号と、優先順位の低い他の２つの信号との論理演算を各々行い、その論理演算結果を選択回路によって選択している。そのため、選択回路の段数を減らすことが出来るため、入力パスを短縮できる。その結果、セットアップタイムを短くすることが出来、動作速度の向上及び回路設計の簡単化を実現できる。
【００３３】
また、４種の入力信号が入力される場合には、最も優先順位の高い入力信号と、上記選択回路によって選択された選択信号とを、別の選択回路で選択すればよい。この際、論理演算が行われる３種の信号の当該論理演算をＮＡＮＤ演算とすることで、最も優先順位の高い入力信号のパスに、インバータを設ける必要が生じる。このインバータはテスト信号を遅延させる効果があるため、フリップフロップの設計を複雑化させることなく、クロックスキューによる突き抜けを防止することが出来る。そして、最も優先順位の高い入力信号をテスト信号とすれば、テスト動作の信頼性を向上できる。
【００３４】
【発明の実施の形態】
以下、この発明の実施形態を図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【００３５】
この発明の第１の実施形態に係るフリップフロップ回路について、図１を用いて説明する。図１はテスト動作、クリア動作、及び出力フィードバック動作の付加されたＣＭＯＳフリップフロップ回路の概念図である。
【００３６】
図示するようにＣＭＯＳフリップフロップ１０は、大まかには入力信号選択部２０と、ラッチ回路３０とを有している。
【００３７】
上記入力信号選択部２０は、ＣＭＯＳフリップフロップ１０の反転出力信号ＱＮ、リセット信号ＲＮ、及び入力データ信号ＤＩのいずれかを選択する選択部４０と、選択部４０によって選択された信号及びテスト信号ＴＩのいずれかを選択する選択部５０とを備えており、ラッチ回路３０は、選択部５０によって選択された信号をラッチする。
【００３８】
上記フリップフロップ回路のより具体的な構成例について、図２を用いて説明する。図２はテスト動作、クリア動作、及び出力フィードバック動作の付加されたＣＭＯＳフリップフロップ回路の回路図である。
【００３９】
図示するように、上記選択部４０は、リセット信号ＲＮ（第１入力信号）と、フリップフロップ１０の反転出力信号ＱＮ（第２入力信号）とのＮＡＮＤ演算を行うＮＡＮＤゲート４１（第１論理ゲート）と、リセット信号ＲＮと、入力データ信号ＤＩ（第３入力信号）とのＮＡＮＤ演算を行うＮＡＮＤゲート４２（第２論理ゲート）と、ＮＡＮＤゲート４１、４２の出力信号のいずれかを選択するマルチプレクサ４３（第１選択回路）とを備えている。
【００４０】
また、上記選択部５０は、インバータ５２（第１インバータ）によって反転されたテスト信号ＴＩ（第４入力信号）と、マルチプレクサ４３で選択された信号（第１選択信号）のいずれかを選択するマルチプレクサ５１（第２選択回路）とを備えている。
【００４１】
更に、上記ラッチ回路３０はマスターラッチ回路６０とスレーブラッチ回路７０とを有するマスタースレーブ型のラッチ回路である。マスターラッチ回路６０は、マルチプレクサ５１で選択された信号（第２選択信号）が入力されるトランスファーゲート６１と、入力ノードがトランスファーゲート６１の出力ノードに接続されたインバータ６２と、入力ノードがインバータ６２の出力ノードに接続され、出力ノードがインバータ６２の入力ノードに接続されたクロックドインバータ６３とを備えている。
【００４２】
スレーブラッチ回路７０は、入力ノードがインバータ６２の出力ノードに接続されたトランスファーゲート７１と、入力ノードがトランスファーゲート７１の出力ノードに接続されたインバータ７２と、入力ノードがインバータ７２の出力ノードに接続され、出力ノードがインバータ７２の入力ノードに接続されたクロックドインバータ７３とを備えている。
【００４３】
そして、インバータ１１で反転されたインバータ７２の入力ノードの信号が、ＣＭＯＳフリップフロップ１０の反転出力信号ＱＮとなり、インバータ１２で反転されたインバータ７２の出力信号が、ＣＭＯＳフリップフロップ１０の正転出力信号Ｑとなる。
【００４４】
ここで、上記トランスファーゲート６１、７１及びクロックドインバータ６３、７３の構成例について、図３、図４を用いて説明する。
【００４５】
図３に示すように、トランスファーゲートは、ソースとドレインとが互いに共通接続されたｐＭＯＳトランジスタ１４とｎＭＯＳトランジスタ１５との組み合わせから構成されている。そして、ゲートには各々クロックＣＰ、反転クロックＣＰＮが入力される。図３は、クロックＣＰが“Ｌ”レベルの際にオープンとなる構成について示しており、この場合には、ｐＭＯＳトランジスタ１４のゲートにはクロックＣＰが、ｎＭＯＳトランジスタ１５のゲートには反転クロックＣＰＮが入力される。逆に、クロックＣＰが“Ｈ”レベルの際にオープンとなる構成の場合には、ｐＭＯＳトランジスタ１４のゲートには反転クロックＣＰＮが、ｎＭＯＳトランジスタ１５のゲートにはクロックＣＰＮが入力される。
【００４６】
クロックドインバータは、図４に示すように、ソースが電源電位ＶＤＤに接続され、ゲートが入力端子ＩＮに接続されたｐＭＯＳトランジスタ１６と、ソースがｐＭＯＳトランジスタ１６のドレインに接続され、ゲートに反転クロックＣＰＮが入力されるｐＭＯＳトランジスタ１７と、ドレインがｐＭＯＳトランジスタ１７のドレインに接続され、ゲートにクロックＣＰが入力されるｎＭＯＳトランジスタ１８と、ドレインがｎＭＯＳトランジスタ１８のソースに接続され、ソースが接地され、ゲートが入力端子ＩＮに接続されたｎＭＯＳトランジスタ１９とを備えている。そして、ｐＭＯＳトランジスタ１７及びｎＭＯＳトランジスタ１８の各々のドレインの接続ノードが出力端子ＯＵＴとなる。本構成は、クロックＣＰが“Ｈ”レベルの際に動作するものであり、“Ｌ”レベルで動作させる場合には、ｐＭＯＳトランジスタ１７及びｎＭＯＳトランジスタ１８のゲートに入力するクロックＣＰ、ＣＰＮを逆にすればよい。
【００４７】
また、図２における各種信号について、図５を用いて説明する。図５（ａ）に示すように、信号ＴＥＮは、フリップフロップにテスト動作を行わせるために入力されるテストイネーブル信号ＴＥ（第１制御信号）の反転信号である反転テストイネーブル信号である。
【００４８】
また、図５（ｂ）に示すように、信号ＥｎｂＮは、フリップフロップにデータ入力動作を行わせるために入力されるイネーブル信号Ｅｎｂ（第２制御信号）の反転信号である反転イネーブル信号である。
【００４９】
更に図５（ｃ）に示すように、クロックＣＰＮはクロックＣＰの反転信号である。
【００５０】
なお、本実施形態の説明に使用する図面において、各素子に付記されている信号名は、当該信号によって当該素子が動作、または制御されることを意味する。
【００５１】
次に、上記構成のＣＭＯＳフリップフロップ１０の動作について説明する。前述のように、本フリップフロップ１０は、入力データ信号ＤＩをラッチ回路３００でラッチして出力するデータ入力動作を通常動作としつつ、付加機能としてテスト動作、クリア動作、及び出力フィードバック動作を行うことが出来る。これらの動作には優先順位が設けられており、テスト動作が最優先とされ、次にクリア動作が優先されるようになっている。
【００５２】
データ入力動作を行うには、マルチプレクサ４３を制御するイネーブル信号Ｅｎｂをアサートすると共に、データ信号ＤＩを入力する。マルチプレクサ４３は、イネーブル信号Ｅｎｂがアサートされた状態ではＮＡＮＤゲート４２の出力を選択し、ネゲートされた状態ではＮＡＮＤゲート４１の出力を選択する。なお、“データ入力動作”とは、いわゆるフリップフロップの通常動作である。
【００５３】
テスト動作を行うには、マルチプレクサ５１を制御するテストイネーブル信号ＴＥをアサートすると共に、テスト信号ＴＩを入力する。マルチプレクサ５１は、テストイネーブル信号ＴＥがアサートされた状態ではテスト信号ＴＩを選択し、ネゲートされた状態ではマルチプレクサ４３の出力を選択する。
【００５４】
リセット動作を行うには、リセット信号ＲＮをアサート（“Ｌ”レベル）する。
【００５５】
上記以外の場合に、フリップフロップは出力フィードバック動作を行う。
【００５６】
それでは個々の動作について、詳細に説明する。
【００５７】
［データ入力動作］
データ入力動作時には、マルチプレクサ４３を制御するイネーブル信号Ｅｎｂをアサートすると共に、データ信号ＤＩを入力する。また、リセット信号ＲＮをネゲート（“Ｈ”レベル固定）し、且つマルチプレクサ５１を制御するテストイネーブル信号ＴＥをネゲートしておくことが必要である。
【００５８】
リセット信号ＲＮ＝“Ｈ”であるから、ＮＡＮＤゲート４２におけるＮＡＮＤ演算結果はデータ信号ＤＩによって一義的に決まる。すなわち、データ信号ＤＩ＝“Ｈ”であればＮＡＮＤ出力＝“Ｌ”、データ信号ＤＩ＝“Ｌ”であればＮＡＮＤ出力＝“Ｈ”となる。このことはＮＡＮＤゲート４１でも同様であり、ＮＡＮＤゲート４１の出力はフリップフロップの正転出力信号Ｎによって一義的に決まる。
【００５９】
この２つのＮＡＮＤゲート４２、４１の出力信号はマルチプレクサ４３に入力される。そして、データ入力動作時にはイネーブル信号Ｅｎｂがアサートされているため、マルチプレクサ４３はデータ信号ＤＩによって演算結果が決まるＮＡＮＤゲート４２の出力信号を選択する。
【００６０】
マルチプレクサ４３で選択されたＮＡＮＤゲート４２の出力信号は、次にマルチプレクサ５１に入力される。マルチプレクサ５１は、マルチプレクサ４３から入力される信号とテスト信号ＴＩのいずれか一方を選択するが、データ入力動作時にはテストイネーブル信号ＴＥがネゲートされているため、テスト信号ではなく、マルチプレクサ４３の出力信号を選択する。
【００６１】
このようにして、データ信号ＤＩによって演算結果が決まるＮＡＮＤゲート４２の出力信号が、ラッチ回路３０でラッチされる。
【００６２】
ラッチ回路３０は前述のようにマスターラッチ回路６０とスレーブラッチ回路７０により構成されている。マスターラッチ回路６０は、クロックＣＰが“Ｌ”レベルの時にトランスファーゲート６１がオープンすることによって、ＮＡＮＤゲート４２の出力信号を内部に取り込み、インバータ６２及びクロックドインバータ６３でラッチする。
【００６３】
スレーブラッチ回路７０は、クロックＣＰが“Ｈ”レベルの際にトランスファーゲート７１がオープンすることによって、マスターラッチ回路６０でラッチされたＮＡＮＤゲート４２の出力信号を内部に取り込み、インバータ７２及びクロックドインバータ７３でラッチする。
【００６４】
そして、インバータ１１で反転させたインバータ７２の入力信号を、フリップフロップ１０の反転出力信号ＱＮ、インバータ１２で反転させたインバータ７２の出力信号を正転出力信号Ｎとして出力する。
【００６５】
［テスト動作］
テスト動作時には、マルチプレクサ５１を制御するテストイネーブル信号ＴＥをアサートすると共に、テスト信号ＴＩを入力するだけで良い。すると、マルチプレクサ４３の出力信号に関わらず、マルチプレクサ５１はインバータ５２で反転されたテスト信号ＴＩを選択する。これによってフリップフロップはテスト動作が行う。
【００６６】
［クリア動作］
クリア動作時には、リセット信号ＲＮをアサート（“Ｌ”レベル）する。また、テストイネーブル信号ＴＥをネゲートしておく必要がある。
【００６７】
リセット信号ＲＮが“Ｌ”レベルに設定されると、出力信号Ｑ及びデータ信号ＤＩの状態に関わらず、ＮＡＮＤゲート４１、４２の出力は“Ｈ”レベルとなる。そして、マルチプレクサ４３によって、ＮＡＮＤゲート４１、４２のいずれかの出力信号が必ず選択される。この“Ｈ”レベルの出力信号が、マルチプレクサ５１で選択されてラッチ回路３０にラッチされる。
【００６８】
このように、リセット信号ＲＮをアサートすることによって、出力信号Ｑを強制的に一定とするクリア動作が行われる。
【００６９】
［出力フィードバック動作］
出力フィードバック動作は、上記３つの動作以外の状態で行われる動作である。すなわち、テスト信号ＴＩもデータ信号ＤＩもリセット信号ＲＮも入力されないような状態は、フリップフロップとしては不安定な状態であるということが出来る。このような場合に、出力状態を不変として確定させておくために為される動作が出力フィードバック動作である。従って、出力フィードバック動作はテストイネーブル信号ＴＥがネゲートされ、イネーブル信号Ｅｎｂがネゲートされ、且つリセット信号がネゲートされている状態で行われる。
【００７０】
ここで、出力フィードバック動作が行われる直前までのフリップフロップ１０の出力信号が“Ｌ”レベルであったとする。すると、ＮＡＮＤゲート４１の一方の入力端子に入力される正転出力信号Ｑは“Ｌ”レベルである。また他方の入力端子に入力されるリセット信号ＲＮは“Ｈ”レベルである。従ってＮＡＮＤゲート４１は“Ｈ”レベルを出力する。マルチプレクサ４３、５１は共にＮＡＮＤゲート４１の出力信号を選択するから、ラッチ回路３０には“Ｈ”レベルがラッチされる。その結果、正転出力信号Ｑは“Ｌ”レベル、反転出力信号ＱＮは“Ｈ”レベルとなり、前の状態を維持することになる。
【００７１】
上記のような回路構成及び動作のフリップフロップであると、データ信号ＤＩが入力端子からラッチ回路３０に到達するまでの入力パスを短縮できる。これは、データ信号がラッチまで到達するのに必要な、実質的なマルチプレクサの段数を、従来の３段から２段に減らすことによって実現されたものである。そのため、データ信号のセットアップタイムを短縮化出来、ひいては半導体集積回路の動作速度の向上及び回路設計の簡単化を図ることが出来る。
【００７２】
また、実質的な３入力選択回路４０を、ＮＡＮＤゲート４１、４２とマルチプレクサ４３によって構成している。このように当該３入力選択回路で使用する論理ゲートをＮＡＮＤゲートとした結果、テスト信号ＴＩの入力パスにインバータ５２を設ける必要が生じる。このインバータ５２はテスト信号ＴＩを遅延させるディレイセルとして機能する。従来技術で説明したように、テスト時のクロックスキューによる突き抜けは、クロックよりもテスト信号の方が早くフリップフロップに到達してしまうことが原因であった。しかし本実施形態の回路構成であると、テスト信号のパスにディレイセルとしても機能するインバータ５２が設けられるため、クロックスキューによる突き抜けを防止できる。そのため、テスト動作の信頼性を向上できる。
【００７３】
更に本実施形態では、各動作の優先順位を損なうことなく、上記従来の問題点を解決している。まずテスト動作については、２段目のマルチプレクサ５１に直接テスト信号ＴＩを入力し、且つテストイネーブル信号ＴＥにより当該マルチプレクサ５１を制御することで、テスト動作を最優先される動作としている。
【００７４】
次に優先すべきクリア動作については、リセット信号と、他の動作時に使用するデータ信号ＤＩ及び正転出力信号ＱとをＮＡＮＤ演算し、各々の出力をマルチプレクサ４３で選択することによって、他の２つの動作よりも優先順位を高めている。クリア動作時には、リセット信号ＲＮがアサートされた結果、ＮＡＮＤゲート４１、４２には“Ｌ”レベルが入力されるため、ＮＡＮＤゲート４１、４２は共に強制的に“Ｈ”レベルに決まる。且つ、マルチプレクサ４３はイネーブル信号Ｅｎｂに基づいて信号を選択するが、どちらにしろ、ＮＡＮＤゲート４１、４２の出力信号のいずれかは必ず選択されている。そのため、データ入力動作または出力フィードバック動作時であっても、リセット信号をアサートすることによって、クリア動作を割り込み実行させることが出来る。
【００７５】
このようにして、最優先順位としてのテスト動作、次の優先順位としてのクリア動作を実現できる。
【００７６】
次にこの発明の第２の実施形態に係るフリップフロップについて図６を用いて説明する。図６はテスト動作、クリア動作、及び出力フィードバック動作の付加されたＣＭＯＳフリップフロップ回路の回路図である。
【００７７】
本実施形態は、上記第１の実施形態における選択部４０、５０を別の回路構成によって実現するものである。
【００７８】
図示するように、選択部４０は、反転イネーブル信号ＥｎｂＮがアサートされた時（イネーブル信号Ｅｎｂがネゲート）に、リセット信号ＲＮと、フリップフロップ１０の正転出力信号ＱとのＮＡＮＤ演算結果を出力するクロックドＮＡＮＤゲート４４と、イネーブル信号Ｅｎｂがアサートされた時に、リセット信号ＲＮと、入力データ信号ＤＩとのＮＡＮＤ演算結果を出力するクロックドＮＡＮＤゲート４５とを備えており、両クロックドＮＡＮＤゲート４４、４５の出力ノードは共通に接続されている。
【００７９】
また、選択部５０は、インバータ５２によって反転されたテスト信号ＴＩが入力され、テストイネーブル信号ＴＥがアサートされた時に動作するクロックドインバータ５３（第１クロックドインバータ）と、クロックドＮＡＮＤゲート４４、４５の出力ノードの接続ノードにおける信号が入力され、反転テストイネーブル信号ＴＥＮがアサートされた時（テストイネーブル信号ＴＥがネゲート）に動作するクロックドインバータ５４（第２クロックドインバータ）とを備えており、両クロックドインバータ５３、５４の出力ノードは共通に接続されている。
【００８０】
次に上記構成の入力信号選択部２０の動作について説明する。
【００８１】
［データ入力動作］
データ入力動作時には、イネーブル信号Ｅｎｂをアサートすると共に、データ信号ＤＩを入力する。また、リセット信号ＲＮをネゲート（“Ｈ”レベル固定）し、且つテストイネーブル信号ＴＥをネゲートしておくことが必要である。
【００８２】
すると、イネーブル信号Ｅｎｂがアサートされているため、クロックドＮＡＮＤゲート４５が動作し、クロックドＮＡＮＤゲート４４は非動作となる。その結果、クロックドＮＡＮＤゲート４４、４５の出力ノードの接続ノードには、ＮＡＮＤゲート４５の演算結果が現れる。
【００８３】
また、リセット信号ＲＮ＝“Ｈ”であるから、クロックドＮＡＮＤゲート４５におけるＮＡＮＤ演算結果はデータ信号ＤＩによって一義的に決まる。すなわち、データ信号ＤＩ＝“Ｈ”であればＮＡＮＤ出力＝“Ｌ”、データ信号ＤＩ＝“Ｌ”であればＮＡＮＤ出力＝“Ｈ”となる。
【００８４】
そして、テストイネーブル信号ＴＥがネゲートされている（反転テストイネーブル信号ＴＥＮがアサート）ので、クロックドインバータ５３が非動作、クロックドインバータ５４が動作して、クロックドインバータ５３、５４の出力ノードの接続ノードに、クロックドＮＡＮＤゲート４５の演算結果の反転信号が出力され、ラッチ回路３０にラッチされる。
【００８５】
［テスト動作］
テスト動作時には、テストイネーブル信号ＴＥがアサートされるので、クロックドインバータ５３が動作、クロックドインバータ５４が非動作となるので、ラッチ回路３０には無条件でテスト信号ＴＩがラッチされる。
【００８６】
［クリア動作］
クリア動作時には、リセット信号ＲＮをアサート（“Ｌ”レベル）し、テストイネーブル信号ＴＥをネゲートする。
【００８７】
すると、イネーブル信号Ｅｎｂの状態に関わらず、リセット信号ＲＮによって一義的に決まるＮＡＮＤ演算結果が、クロックドＮＡＮＤゲート４４、またはクロックドＮＡＮＤゲート４５のいずれかより出力される。
【００８８】
そして、テストイネーブル信号ＴＥがネゲートされている（反転テストイネーブル信号ＴＥＮがアサート）ので、クロックドインバータ５３が非動作、クロックドインバータ５４が動作して、クロックドインバータ５３、５４の出力ノードの接続ノードに、クロックドＮＡＮＤゲート４４または４５の演算結果の反転信号が出力され、フリップフロップの出力状態はリセットされる。
【００８９】
［出力フィードバック動作］
出力フィードバック動作時には、出力フィードバック動作はテストイネーブル信号ＴＥがネゲートされ、イネーブル信号Ｅｎｂがネゲートされ、且つリセット信号ＲＮがネゲートされる。
【００９０】
従って、クロックドＮＡＮＤゲート４５が非動作、クロックドＮＡＮＤゲート４４が動作状態となる。そしてリセット信号ＲＮがネゲートされているから、出力信号Ｑによって出力が一義的に決まるクロックドＮＡＮＤゲート４４のＮＡＮＤ演算結果の反転信号が、動作状態のクロックドインバータ５４を介してラッチ回路３０にラッチされる。
【００９１】
このように、図６のような回路構成であっても第１の実施形態で述べた効果を得ることが出来る。
【００９２】
次にこの発明の第３の実施形態に係るフリップフロップについて図７を用いて説明する。図７はテスト動作、クリア動作、及び出力フィードバック動作の付加されたＣＭＯＳフリップフロップ回路の回路図である。
【００９３】
本実施形態は、上記第１の実施形態における選択部４０、５０を第２の実施形態とは別の回路構成によって実現するものである。
【００９４】
図示するように、選択部４０は、リセット信号ＲＮと、フリップフロップ１０の正転出力信号ＱとのＮＡＮＤ演算を行うＮＡＮＤゲート４１と、リセット信号ＲＮと、入力データ信号ＤＩとのＮＡＮＤ演算を行うＮＡＮＤゲート４２と、ＮＡＮＤゲート４１の出力ノードに入力ノードが接続され、イネーブル信号Ｅｎｂがネゲートされている時（反転イネーブル信号ＥｎｂＮがアサート）にオープンとなるトランスファーゲート４６（第１トランスファーゲート）と、ＮＡＮＤゲート４２の出力ノードに入力ノードが接続され、イネーブル信号Ｅｎｂがアサートされている時にオープンとなるトランスファーゲート４７（第２トランスファーゲート）とを備えており、両トランスファーゲート４６、４７の出力ノードは共通接続されている。
【００９５】
また、選択部５０は、インバータ５２によって反転されたテスト信号ＴＩが入力ノードに接続され、テストイネーブル信号ＴＥがアサートされた時にオープンとなるトランスファーゲート５５（第３トランスファーゲート）と、トランスファーゲート４６、４７の出力ノードの接続ノードに入力ノードが接続され、テストイネーブル信号ＴＥがネゲートされた時（反転テストイネーブル信号ＴＥがアサート）にオープンとなるトランスファーゲート５６（第４トランスファーゲート）とを備えており、両トランスファーゲート５５、５６の出力ノードは共通に接続されている。
【００９６】
次に上記構成の入力信号選択部２０の動作について説明する。
【００９７】
［データ入力動作］
データ入力動作時には、イネーブル信号Ｅｎｂがアサート、リセット信号ＲＮがネゲート（“Ｈ”レベル固定）、且つテストイネーブル信号ＴＥがネゲートされる。そのため、トランスファーゲート４７、５６がオープンし、トランスファーゲート４６、５５がクローズする。
【００９８】
従って、ＮＡＮＤゲート４２からラッチ回路３０までのパスが有効となり、且つリセット信号ＲＮがネゲートされているため、データ信号ＤＩによって決まるＮＡＮＤ演算結果がラッチ回路３０にラッチされる。
【００９９】
［テスト動作］
テスト動作時には、テストイネーブル信号ＴＥがアサートされるので、トランスファーゲート５５がオープンとなり、他のトランスファーゲート４６、４７、５６がクローズする。よって、ラッチ回路３０には無条件でテスト信号ＴＩの反転信号がラッチされる。
【０１００】
［クリア動作］
クリア動作時には、リセット信号ＲＮがアサート（“Ｌ”レベル）され、テストイネーブル信号ＴＥがネゲートされる。
【０１０１】
すると、トランスファーゲート５５がクローズ、トランスファーゲート５６がオープンとなる。また、イネーブル信号Ｅｎｂによって、トランスファーゲート４６、４７のいずれか一方がオープンとなる。
【０１０２】
よって、リセット信号ＲＮによって一義的に決まるＮＡＮＤ演算結果が、オープンとなるトランスファーゲート４６、４７のいずれかを介してラッチ回路３０に入力され、フリップフロップの出力状態はリセットされる。
【０１０３】
［出力フィードバック動作］
出力フィードバック動作時には、出力フィードバック動作はテストイネーブル信号ＴＥがネゲートされ、イネーブル信号Ｅｎｂがネゲートされ、且つリセット信号ＲＮがネゲートされる。
【０１０４】
すると、トランスファーゲート４６、５６がオープンし、トランスファーゲート４７、５５がクローズする。
【０１０５】
従って、出力信号Ｑによって出力が一義的に決まるＮＡＮＤゲート４１のＮＡＮＤ演算結果が、トランスファーゲート４６、５６を介してラッチ回路３０にラッチされる。
【０１０６】
このように、図７のような回路構成であっても第１の実施形態で述べた効果を得ることが出来る。
【０１０７】
次にこの発明の第４の実施形態に係るフリップフロップについて図８、図９を用いて説明する。図８、図９はテスト動作、クリア動作、及び出力フィードバック動作の付加されたＣＭＯＳフリップフロップ回路の回路図である。
【０１０８】
本実施形態は、上記第２、第３の実施形態で説明したフリップフロップにおいて、選択部４０と選択部５０の回路構成を互いに組み合わせたものである。
【０１０９】
図８は、選択部４０を第２の実施形態で説明したクロックドＮＡＮＤゲート４４、４５を用いた構成とし、選択部５０を第４の実施形態で説明したトランスファーゲート５５、５６を用いた構成としている。
【０１１０】
また図９は、選択部４０を第３の実施形態で説明したＮＡＮＤゲート４１、４２とトランスファーゲート４６、４７を用いた構成とし、選択部５０を第２の実施形態で説明したクロックドインバータ５３、５４を用いた構成としたものである。
【０１１１】
上記のような構成によっても、第１の実施形態で説明したような効果を得ることが出来る。
【０１１２】
次にこの発明の第５の実施形態に係るフリップフロップについて図１０を用いて説明する。図１０は、テスト動作、クリア動作、及び出力フィードバック動作の付加されたＣＭＯＳフリップフロップ回路の概念図である。
【０１１３】
図示するようにＣＭＯＳフリップフロップ１０は、大まかには４入力の入力信号選択部８０と、ラッチ回路３０とを有している。
【０１１４】
上記フリップフロップ回路のより具体的な構成例について、図１１を用いて説明する。図１１はテスト動作、クリア動作、及び出力フィードバック動作の付加されたＣＭＯＳフリップフロップ回路の回路図である。なお、ラッチ回路３０の構成は、上記第１乃至第４の実施形態と同様であるので説明を省略する。
【０１１５】
図示するように、選択部８０は、テストイネーブル信号ＴＥ、制御信号ＥＴ、及び制御信号ＥＮＴによって制御される。
【０１１６】
ここで、制御信号ＥＴ、ＥＮＴについて図１２を用いて説明する。図１２（ａ）に示すように、制御信号ＥＴは、反転テストイネーブル信号ＴＥＮとイネーブル信号ＥｎｂとのＮＡＮＤ演算結果の反転信号であり、制御信号ＥＴＢは制御信号ＥＴの反転信号である。また図１２（ｂ）に示すように、制御信号ＥＮＴは、反転テストイネーブル信号ＴＥＮと反転イネーブル信号ＥｎｂＮとのＮＡＮＤ演算の反転信号であり、制御信号ＥＮＴＢは制御信号ＥＮＴの反転信号である。
【０１１７】
さて、選択部８０は、制御信号ＥＮＴがアサートされた時に、リセット信号ＲＮ（第２入力信号）と、フリップフロップ１３で反転されたフリップフロップ１０の反転出力信号ＱＮ（第３入力信号）とのＮＡＮＤ演算結果を出力するクロックドＮＡＮＤゲート８１（第２論理ゲート）と、制御信号ＥＴがアサートされた時に、リセット信号ＲＮと、入力データ信号ＤＩ（第４入力信号）とのＮＡＮＤ演算結果を出力するクロックドＮＡＮＤゲート８２（第３論理ゲート）と、テスト信号ＴＩ（第１入力信号）のパス上に設けられ、テストイネーブル信号ＴＥがアサートされている時に動作するクロックドインバータ８３（第１論理ゲート）とを備えており、両クロックドＮＡＮＤゲート８１、８２及びクロックドインバータ８３の出力ノードは共通に接続されている。この接続ノードがラッチ回路３０のマスターラッチ回路６０の入力ノードに接続されている。
【０１１８】
次に上記構成の入力信号選択部８０の動作について説明する。
【０１１９】
まずクロックドＮＡＮＤゲート８１は、制御信号ＥＮＴがアサートされている際に動作する。制御信号ＥＮＴは図１２に示すように反転テストイネーブル信号ＴＥＮと反転イネーブル信号ＥｎｂＮとのＮＡＮＤ演算の反転信号である。従って、テストイネーブル信号ＴＥがネゲートされ、且つイネーブル信号Ｅｎｂがネゲートされている時にのみ、制御信号ＥＮＴがアサートされる。
【０１２０】
次にクロックドＮＡＮＤゲート８２は、制御信号ＥＴがアサートされている際に動作する。制御信号ＥＴは図１２に示すように反転テストイネーブル信号ＴＥＮとイネーブル信号ＥｎｂとのＮＡＮＤ演算の反転信号である。従って、テストイネーブル信号ＴＥがネゲートされ、且つイネーブル信号Ｅｎｂがアサートされている時にのみ、制御信号ＥＴがアサートされる。
【０１２１】
クロックドインバータ８３は、テストイネーブル信号ＴＥがアサートされている際に動作する。
【０１２２】
すなわち、上記３つの論理ゲート８１〜８３において、テストイネーブル信号ＴＥがアサートされると、無条件でクロックドインバータ８３のみが動作し、クロックドＮＡＮＤゲート８１、８２が非動作となる。そして、テストイネーブル信号ＴＥがネゲートされている状態で、イネーブル信号Ｅｎｂがアサートされている時にはクロックドＮＡＮＤゲート８２が動作し、クロックドＮＡＮＤゲート８１が非動作となる。また、テストイネーブル信号ＴＥがネゲートされている状態で、イネーブル信号Ｅｎｂがネゲートされている時には、クロックドＮＡＮＤゲート８１が動作し、クロックドＮＡＮＤゲート８２が非動作となる。言い換えれば、テストイネーブル信号ＴＥによって、クロックドインバータ８３の動作、非動作が最優先に決定される。そして、クロックドインバータ８３が非動作の場合に、イネーブル信号Ｅｎｂによって動作、非動作が互いに排他的になるよう、クロックドＮＡＮＤゲート８１、８２の状態が決定される。
【０１２３】
従って、テストイネーブル信号ＴＥがアサートされた場合には、クロックドＮＡＮＤゲート８１、８２が非動作とされ、クロックドインバータ８３のみが動作状態となる。よって、テスト信号ＴＩがラッチ回路３０でラッチされ、フリップフロップはテスト動作を行う。
【０１２４】
テストイネーブル信号ＴＥがネゲートされている場合には、クロックドインバータ８３が非動作状態、クロックドＮＡＮＤゲート８１、８２のいずれかが排他的に動作状態となる。よって、リセット信号ＲＮがアサートされると、いずれかのクロックドＮＡＮＤゲートより、リセット信号ＲＮが取り込まれる。よって、フリップフロップはクリア動作を行う。
【０１２５】
テストイネーブル信号ＴＥがネゲートされ、イネーブル信号Ｅｎｂがアサートされ、且つリセット信号ＲＮがネゲートされている場合には、クロックドＮＡＮＤゲート８２のみが動作状態となる。よって、フリップフロップは、データ信号ＤＩをラッチ回路３０でラッチするデータ入力動作を行う。
【０１２６】
テストイネーブル信号ＴＥ、イネーブル信号Ｅｎｂ、及びリセット信号ＲＮの全てがネゲートされている場合には、クロックドＮＡＮＤゲート８１のみが動作状態となり、フリップフロップは出力フィードバック動作を行う。
【０１２７】
このように、図１１のような回路であっても第１の実施形態と同様の効果が得られる。また、本実施形態であると、データ信号が入力端子からラッチ回路に達するまでのパスに存する論理ゲートは１段のみである。よって更にデータ信号の入力パスを短縮でき、セットアップタイムの改善を更に図ることが出来る。
【０１２８】
上記のように、この発明の第１乃至第５の実施形態に係るフリップフロップであると、データ信号の入力パスに存する論理回路の段数を減らすことが出来る。そのため、入力パスが短縮され、その結果セットアップタイムを短くすることが出来、動作速度の向上及び回路設計の簡単化を実現できる。
【０１２９】
また、最も優先順位の高いテスト信号のパスに、ディレイセルとしての効果を有するインバータを設けているため、テスト信号を遅延させることができる。これにより、フリップフロップの設計を複雑化させることなく、クロックスキューによる突き抜けを防止出来、テスト動作の信頼性を向上できる。
【０１３０】
なお上記実施形態では、優先順位をテスト動作、クリア動作、そして出力フィードバック動作及びデータ入力動作の順に決められたフリップフロップについて説明してきたが、当然、この順序に限定されるものではない。この点について図１３を用いて説明する。図１３は４入力のフリップフロップの回路図である。
【０１３１】
図示するように、入力端子ＩＮ（１）〜ＩＮ（４）より入力される４種の入力信号のいずれかが入力信号選択部２０で選択され、選択されたいずれかの入力信号がラッチ回路３０にてラッチされる。
【０１３２】
本発明の主旨は、そのような構成のフリップフロップにおいて、入力端子ＩＮ（１）とＩＮ（２）とから入力される入力信号のＮＡＮＤ演算をＮＡＮＤゲート９１で行う。またＩＮ（２）とＩＮ（３）とから入力される入力信号のＮＡＮＤ演算をＮＡＮＤゲート９２で行う。そして、ＮＡＮＤゲート９１、９２の出力信号のいずれかをマルチプレクサＭＵＸ１で選択する。更に、入力端子（４）からの入力信号をインバータ９３で反転させ、その反転信号とマルチプレクサＭＵＸ１で選択された信号のいずれかをマルチプレクサＭＵＸ２で選択する。そして、最優先される入力信号については入力端子ＩＮ（４）から入力し、次に優先順位の高い信号については入力端子ＩＮ（２）から入力するところにある。
【０１３３】
従って、クリア動作を最優先したい場合には、リセット信号ＲＮを入力端子ＩＮ（４）から入力すればよいし、テスト動作を２番目に優先したい場合には、テスト信号を入力端子ＩＮ（２）から入力すればよい。
【０１３４】
また、本発明は４入力のフリップフロップにのみ限定して適用されるものではない。例えば３入力であれば、図１３における入力端子ＩＮ（４）とマルチプレクサＭＵＸ２を削除することで応用できる。また、５入力の場合には図１４のような回路構成を取ることで本発明が応用できる。図１４は５入力フリップフロップの回路図である。
【０１３５】
図示するように本フリップフロップ１０は、図１３のフリップフロップにおいて、入力端子ＩＮ（５）、入力端子ＩＮ（４）からの入力信号とマルチプレクサＭＵＸ１の出力信号とのＮＡＮＤ演算を行うＮＡＮＤゲート９４、入力端子ＩＮ（４）、ＩＮ（５）より入力される入力信号のＮＡＮＤ演算を行うＮＡＮＤゲート９５、及びＮＡＮＤゲート９４、９５の出力信号のいずれかを選択するマルチプレクサＭＵＸ２を追加したものである。このような回路構成において、最優先される入力信号を入力端子ＩＮ（４）より入力し、次に優先される入力信号を入力端子ＩＮ（５）より入力し、更に次に優先される入力信号を入力端子ＩＮ（２）から入力すればよい。
【０１３６】
勿論、５入力以上のフリップフロップであっても同じようにして対応可能である。
【０１３７】
なお、本願発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。
【０１３８】
【発明の効果】
以上説明したように、この発明によれば、設計の複雑化、煩雑化を招くことなく、セットアップタイムの短縮及びクロックスキューによる突き抜けの防止を実現出来るフリップフロップを提供できる。
【図面の簡単な説明】
【図１】この発明の第１の実施形態に係るフリップフロップのブロック図。
【図２】この発明の第１の実施形態に係るフリップフロップの回路図。
【図３】トランスファーゲートのトランジスタレベルの回路図。
【図４】クロックドインバータのトランジスタレベルの回路図。
【図５】各制御信号の関係を示す回路図であり、（ａ）図はテストイネーブル信号、（ｂ）図はイネーブル信号、（ｃ）図はクロック信号に関する回路図。
【図６】この発明の第２の実施形態に係るフリップフロップの回路図。
【図７】この発明の第３の実施形態に係るフリップフロップの回路図。
【図８】この発明の第４の実施形態に係る第１のフリップフロップの回路図。
【図９】この発明の第４の実施形態に係る第２のフリップフロップの回路図。
【図１０】この発明の第５の実施形態に係るフリップフロップのブロック図。
【図１１】この発明の第５の実施形態に係るフリップフロップの回路図。
【図１２】各制御信号の関係を示す回路図であり、（ａ）図は制御信号ＥＴ、（ｂ）図は制御信号ＥＮＴに関する回路図。
【図１３】この発明の第１乃至第５の実施形態の第１の変形例に係るフリップフロップの回路図。
【図１４】この発明の第１乃至第５の実施形態の第２の変形例に係るフリップフロップの回路図。
【図１５】従来のフリップフロップの回路図。
【図１６】従来のフリップフロップのブロック図。
【図１７】クロックと入力信号との関係を示すタイムチャート。
【図１８】従来の半導体集積回路の一部を抽出して示すブロック図。
【符号の説明】
１０、１００、１００−１〜１００−４…フリップフロップ
１１〜１３、５２、６２、７２、９３、２４０、２５０…インバータ
１４、１６、１７…ｐＭＯＳトランジスタ
１５、１８、１９…ｎＭＯＳトランジスタ
２０、８０、２００…入力信号選択部
３０、３００…ラッチ回路
４０、５０、２１０〜２３０…選択部
４１、４２、９１、９２、９４、９５…ＮＡＮＤゲート
４３、５１…マルチプレクサ
４４、４５、８１、８２…クロックドＮＡＮＤゲート
４６、４７、５５、５６、６１、７１…トランスファーゲート
５３、５４、６３、７３、８３…クロックドインバータ
６０…マスターラッチ回路
７０…スレーブラッチ回路
４００−１、４００−２…ロジック回路
【図１】
0003842571.tif 000002
【図２】
0003842571.tif 000003
【図３】
0003842571.tif 000004
【図４】
0003842571.tif 000005
【図５】
0003842571.tif 000006
【図６】
0003842571.tif 000007
【図７】
0003842571.tif 000008
【図８】
0003842571.tif 000009
【図９】
0003842571.tif 000010
【図１０】
0003842571.tif 000011
【図１１】
0003842571.tif 000012
【図１２】
0003842571.tif 000013
【図１３】
0003842571.tif 000014
【図１４】
0003842571.tif 000015
【図１５】
0003842571.tif 000016
【図１６】
0003842571.tif 000017
【図１７】
0003842571.tif 000018
【図１８】
0003842571.tif 000019