(57)【要約】【課題】フリップフロップ回路を有する装置全体の回路規模を低減する。【解決手段】対象入力データ（Ｄ）に基づくマスタ入力データ（ＤＭ）を受けるマスタラッチ回路（１３０）と、マスタラッチ回路からのマスタ出力データ（ＱＭ）の取り込み及び保持が可能なスレーブラッチ回路（１４０）と、データ出力部と、を備え、対象入力データに基づく対象出力データ（Ｑ）をデータ出力部（１０２）から出力するフリップフリップ回路であって、スレーブラッチ回路として、マスタラッチ回路に対して並列に第１〜第Ｎスレーブラッチ回路（１４０＿１、１４０＿２）が設けられ（Ｎは２以上の整数）、第１〜第Ｎスレーブラッチ回路から出力されるデータ（ＱＳ＿１、ＱＳ＿２）の何れか１つを選択する出力選択回路（１５０）を更に備え、出力選択回路による選択データを対象出力データとしてデータ出力部から出力する。【選択図】図３
2020167511.tif 000002
【特許請求の範囲】
【請求項１】
対象入力データに基づくマスタ入力データを受けるマスタラッチ回路と、前記マスタラッチ回路からのマスタ出力データの取り込み及び保持が可能なスレーブラッチ回路と、データ出力部と、を備え、前記対象入力データに基づく対象出力データを前記データ出力部から出力するフリップフリップ回路であって、
前記スレーブラッチ回路として、前記マスタラッチ回路に対して並列に第１〜第Ｎスレーブラッチ回路が設けられ（Ｎは２以上の整数）、
前記第１〜第Ｎスレーブラッチ回路から出力されるデータの何れか１つを選択する出力選択回路を更に備え、
前記出力選択回路による選択データを前記対象出力データとして前記データ出力部から出力する
ことを特徴とするフリップフロップ回路。
【請求項２】
矩形波信号であるクロック信号の入力を受けるクロック信号入力部と、
クロック選択信号の入力を受けるクロック選択信号入力部と、
出力選択信号の入力を受ける出力選択信号入力部と、
前記クロック信号及び前記クロック選択信号に基づき第１〜第Ｎ制御信号を生成する制御信号生成回路と、を備え、
前記マスタラッチ回路は、前記クロック信号に同期して動作し、
第ｉスレーブラッチ回路は、第ｉ制御信号に同期して動作し（ｉは１以上Ｎ以下の整数）、
前記出力選択回路は、前記出力選択信号に基づき、前記第１〜第Ｎスレーブラッチ回路の出力データの何れかを選択する
ことを特徴とする請求項１に記載のフリップフロップ回路。
【請求項３】
前記制御信号生成回路は、前記クロック選択信号に基づき、前記第１〜第Ｎ制御信号の内の何れか１つを前記クロック信号と同期して信号レベルが変化する特定制御信号とし且つ他の制御信号である非特定制御信号のレベルを所定レベルで固定する
ことを特徴とする請求項２に記載のフリップフロップ回路。
【請求項４】
前記マスタラッチ回路は、前記クロック信号における所定のレベル変化に応じて前記マスタ入力データを取り込んで保持し、その保持データを前記マスタ出力データとして各スレーブラッチ回路に出力し、
前記第１〜第Ｎスレーブラッチ回路の内、前記特定制御信号に対応する特定スレーブラッチ回路は、前記特定制御信号における所定のレベル変化に応じて前記マスタ出力データを取り込んで保持し、
前記第１〜第Ｎスレーブラッチ回路の内、前記非特定制御信号に対応する非特定スレーブラッチ回路は、自身の保持データを非変化とし、
各スレーブラッチ回路は自身の保持データを前記出力選択回路に出力する
ことを特徴とする請求項３に記載のフリップフロップ回路。
【請求項５】
前記マスタラッチ回路は、前記マスタ入力データに応じた前記マスタ出力データを出力可能なマスタ出力回路、及び、前記マスタ出力データを前記マスタ出力回路の入力側に帰還可能なマスタ帰還回路を有して、前記マスタ帰還回路による帰還を行うことなく前記マスタ入力データに基づき前記マスタ出力データを生成するマスタスルー状態、及び、前記マスタ入力データに関係無く前記マスタ帰還回路による帰還データに基づき前記マスタ出力データを生成するマスタホールド状態の何れかをとり、
各スレーブラッチ回路は、前記マスタ出力データに基づくスレーブ入力データを受けて前記スレーブ入力データに応じたスレーブ出力データを出力可能なスレーブ出力回路、及び、前記スレーブ出力データを前記スレーブ出力回路の入力側に帰還可能なスレーブ帰還回路を有して、前記スレーブ帰還回路による帰還を行うことなく前記スレーブ入力データに基づき前記スレーブ出力データを生成するスレーブスルー状態、及び、前記スレーブ入力データに関係無く前記スレーブ帰還回路による帰還データに基づき前記スレーブ出力データを生成するスレーブホールド状態の何れかをとり、
前記マスタラッチ回路の状態は、前記クロック信号のレベルに応じ、前記マスタスルー状態及び前記マスタホールド状態間で切り替えられ、
前記特定スレーブラッチ回路の状態は、前記特定制御信号のレベルに応じ、前記スレーブスルー状態及び前記スレーブホールド状態間で切り替えられ、
前記非特定スレーブラッチ回路の状態は、前記非特定制御信号に基づき、前記スレーブホールド状態で固定される
ことを特徴とする請求項４に記載のフリップフロップ回路。
【請求項６】
第１〜第Ｎセット信号の入力を受けるセット信号入力部を更に備え、
前記第ｉスレーブラッチ回路は、前記スレーブホールド状態において、第ｉセット信号をも参照して前記第ｉスレーブラッチ回路の前記スレーブ出力データを生成し、
前記マスタラッチ回路は、前記マスタスルー状態及び前記マスタホールド状態の夫々において、前記第１〜第Ｎセット信号をも参照して前記マスタ出力データを生成する
ことを特徴とする請求項５に記載のフリップフロップ回路。
【請求項７】
第１〜第Ｎリセット信号の入力を受けるリセット信号入力部を更に備え、
前記第ｉスレーブラッチ回路は、前記スレーブスルー状態及び前記スレーブホールド状態の夫々において、第ｉリセット信号をも参照して前記第ｉスレーブラッチ回路の前記スレーブ出力データを生成し、
前記マスタラッチ回路は、前記マスタホールド状態において、前記第１〜第Ｎリセット信号をも参照して前記マスタ出力データを生成する
ことを特徴とする請求項５又は６に記載のフリップフロップ回路。
【請求項８】
前記対象入力データは第１及び第２対象入力データを含み、
前記第１及び第２対象入力データの内の一方を前記マスタ入力データとして前記マスタラッチ回路に供給する入力選択回路を更に備えた
ことを特徴とする請求項１〜７の何れかに記載のフリップフロップ回路。
【請求項９】
請求項１〜８の何れかに記載のフリップフロップ回路と、
前記フリップフロップ回路に対して前記対象入力データを供給するデータ入力回路と、
前記フリップフロップ回路の前記データ出力部から出力される前記対象出力データに基づいて動作するロジック回路と、を備えた
ことを特徴とするデータ処理装置。
【請求項１０】
請求項２〜７に記載のフリップフロップ回路と、
前記フリップフロップ回路に対して前記対象入力データを供給するデータ入力回路と、
前記クロック選択信号及び前記出力選択信号を前記フリップフロップ回路に供給する制御回路と、
前記フリップフロップ回路の前記データ出力部から出力される前記対象出力データに基づいて動作するロジック回路と、を備えた
ことを特徴とするデータ処理装置。
【請求項１１】
互いに異なる第１〜第Ｎタイミングでの前記マスタ入力データが、夫々、前記第１〜第Ｎスレーブラッチ回路に取り込まれて保持され、且つ、前記第１〜第Ｎスレーブラッチ回路の保持データが別々のタイミングで前記データ出力部から出力されるよう、前記制御回路は、前記クロック選択信号及び前記出力選択信号を前記フリップフロップ回路に供給する
ことを特徴とする請求項１０に記載のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フリップフロップ回路及びデータ処理装置に関する。
【背景技術】
【０００２】
データを扱う様々な装置において、或る機能（例えばＩ２Ｃ通信の機能）を複数同時に実現したいこともある。この場合には、互いに同じ構成を有する回路を複数設けて、複数の回路を並列に動作させるといったことが、一般的に行われる。
【０００３】
図７に、互いに同じ構成を有する回路が２つ設けられた参考装置９００の構成図を示す。参考装置９００は、互いに同じ構成を有する第１及び第２デジタル処理回路９１０を備えている。各デジタル処理回路９１０は、組み合わせ回路を含むロジック回路９１２と、ロジック回路９１２に対してデータを入力する複数のＤ型フリップフロップ回路（以下、ＤＦＦと称する）から成るフリップフロップ群９１１と、ロジック回路９１２の出力データを受けて保持する複数のＤＦＦから成るフリップフロップ群９１３と、を備える。フリップフロップ群９１１及び９１３を構成する各ＤＦＦはクロック信号ＣＬＫ’に同期して動作する。
【０００４】
参考装置９００では、第１処理用データに基づく第１信号処理と第２処理用データに基づく第２信号処理とを並列して実行する必要がある（換言すれば同時に実行する必要がある）。第１及び第２信号処理における処理の内容自体は、第１及び第２信号処理間で共通であるが、並列実行の必要性から、２つのデジタル処理回路９１０が用意される。そして、第１デジタル処理回路９１０に対して第１処理用データを入力することで第１デジタル処理回路９１０にて第１信号処理を実行させ、第２デジタル処理回路９１０に対して第２処理用データを入力することで第２デジタル処理回路９１０にて第２信号処理を実行させる。尚、ＤＦＦとしては、マスタラッチ回路とスレーブラッチ回路を備えたマスタスレーブ型のものが一般的である（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２１９４９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
図７の参考装置９００では、共通の構成を有するロジック回路９１２を２つ設ける必要があり、その分、回路面積が大型化する。共通の構成を有するロジック回路９１２が３つ以上設けられる場合は尚更である。回路面積の小型化が有益であることは言うまでもない。
【０００７】
本発明は、フリップフロップ回路を有する装置全体における回路面積の小型化に寄与するフリップフロップ回路、及び、回路面積の小型化に寄与するデータ処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係るフリップフロップ回路は、対象入力データに基づくマスタ入力データを受けるマスタラッチ回路と、前記マスタラッチ回路からのマスタ出力データの取り込み及び保持が可能なスレーブラッチ回路と、データ出力部と、を備え、前記対象入力データに基づく対象出力データを前記データ出力部から出力するフリップフリップ回路であって、前記スレーブラッチ回路として、前記マスタラッチ回路に対して並列に第１〜第Ｎスレーブラッチ回路が設けられ（Ｎは２以上の整数）、前記第１〜第Ｎスレーブラッチ回路から出力されるデータの何れか１つを選択する出力選択回路を更に備え、前記出力選択回路による選択データを前記対象出力データとして前記データ出力部から出力する構成（第１の構成）である。
【０００９】
上記第１の構成に係るフリップフロップ回路において、矩形波信号であるクロック信号の入力を受けるクロック信号入力部と、クロック選択信号の入力を受けるクロック選択信号入力部と、出力選択信号の入力を受ける出力選択信号入力部と、前記クロック信号及び前記クロック選択信号に基づき第１〜第Ｎ制御信号を生成する制御信号生成回路と、が備えられ、前記マスタラッチ回路は、前記クロック信号に同期して動作し、第ｉスレーブラッチ回路は、第ｉ制御信号に同期して動作し（ｉは１以上Ｎ以下の整数）、前記出力選択回路は、前記出力選択信号に基づき、前記第１〜第Ｎスレーブラッチ回路の出力データの何れかを選択する構成（第２の構成）であっても良い。
【００１０】
上記第２の構成に係るフリップフロップ回路において、前記制御信号生成回路は、前記クロック選択信号に基づき、前記第１〜第Ｎ制御信号の内の何れか１つを前記クロック信号と同期して信号レベルが変化する特定制御信号とし且つ他の制御信号である非特定制御信号のレベルを所定レベルで固定する構成（第３の構成）であっても良い。
【００１１】
上記第３の構成に係るフリップフロップ回路において、前記マスタラッチ回路は、前記クロック信号における所定のレベル変化に応じて前記マスタ入力データを取り込んで保持し、その保持データを前記マスタ出力データとして各スレーブラッチ回路に出力し、前記第１〜第Ｎスレーブラッチ回路の内、前記特定制御信号に対応する特定スレーブラッチ回路は、前記特定制御信号における所定のレベル変化に応じて前記マスタ出力データを取り込んで保持し、前記第１〜第Ｎスレーブラッチ回路の内、前記非特定制御信号に対応する非特定スレーブラッチ回路は、自身の保持データを非変化とし、各スレーブラッチ回路は自身の保持データを前記出力選択回路に出力する構成（第４の構成）であっても良い。
【００１２】
上記第４の構成に係るフリップフロップ回路において、前記マスタラッチ回路は、前記マスタ入力データに応じた前記マスタ出力データを出力可能なマスタ出力回路、及び、前記マスタ出力データを前記マスタ出力回路の入力側に帰還可能なマスタ帰還回路を有して、前記マスタ帰還回路による帰還を行うことなく前記マスタ入力データに基づき前記マスタ出力データを生成するマスタスルー状態、及び、前記マスタ入力データに関係無く前記マスタ帰還回路による帰還データに基づき前記マスタ出力データを生成するマスタホールド状態の何れかをとり、各スレーブラッチ回路は、前記マスタ出力データに基づくスレーブ入力データを受けて前記スレーブ入力データに応じたスレーブ出力データを出力可能なスレーブ出力回路、及び、前記スレーブ出力データを前記スレーブ出力回路の入力側に帰還可能なスレーブ帰還回路を有して、前記スレーブ帰還回路による帰還を行うことなく前記スレーブ入力データに基づき前記スレーブ出力データを生成するスレーブスルー状態、及び、前記スレーブ入力データに関係無く前記スレーブ帰還回路による帰還データに基づき前記スレーブ出力データを生成するスレーブホールド状態の何れかをとり、前記マスタラッチ回路の状態は、前記クロック信号のレベルに応じ、前記マスタスルー状態及び前記マスタホールド状態間で切り替えられ、前記特定スレーブラッチ回路の状態は、前記特定制御信号のレベルに応じ、前記スレーブスルー状態及び前記スレーブホールド状態間で切り替えられ、前記非特定スレーブラッチ回路の状態は、前記非特定制御信号に基づき、前記スレーブホールド状態で固定される構成（第５の構成）であっても良い。
【００１３】
上記第５の構成に係るフリップフロップ回路において、第１〜第Ｎセット信号の入力を受けるセット信号入力部が更に備えられ、前記第ｉスレーブラッチ回路は、前記スレーブホールド状態において、第ｉセット信号をも参照して前記第ｉスレーブラッチ回路の前記スレーブ出力データを生成し、前記マスタラッチ回路は、前記マスタスルー状態及び前記マスタホールド状態の夫々において、前記第１〜第Ｎセット信号をも参照して前記マスタ出力データを生成する構成（第６の構成）であっても良い。
【００１４】
上記第５又は第６の構成に係るフリップフロップ回路において、第１〜第Ｎリセット信号の入力を受けるリセット信号入力部が更に備えられ、前記第ｉスレーブラッチ回路は、前記スレーブスルー状態及び前記スレーブホールド状態の夫々において、第ｉリセット信号をも参照して前記第ｉスレーブラッチ回路の前記スレーブ出力データを生成し、前記マスタラッチ回路は、前記マスタホールド状態において、前記第１〜第Ｎリセット信号をも参照して前記マスタ出力データを生成する構成（第７の構成）であっても良い。
【００１５】
上記第１〜第７の構成の何れかに係るフリップフロップ回路において、前記対象入力データは第１及び第２対象入力データを含み、前記第１及び第２対象入力データの内の一方を前記マスタ入力データとして前記マスタラッチ回路に供給する入力選択回路を更に備えた構成（第８の構成）であっても良い。
【００１６】
本発明に係るデータ処理装置は、上記第１〜第８の構成の何れかに係るフリップフロップ回路と、前記フリップフロップ回路に対して前記対象入力データを供給するデータ入力回路と、前記フリップフロップ回路の前記データ出力部から出力される前記対象出力データに基づいて動作するロジック回路と、を備えた構成（第９の構成）である。
【００１７】
本発明に係るデータ処理装置は、上記第２〜第７の構成の何れかに係るフリップフロップ回路と、前記フリップフロップ回路に対して前記対象入力データを供給するデータ入力回路と、前記クロック選択信号及び前記出力選択信号を前記フリップフロップ回路に供給する制御回路と、前記フリップフロップ回路の前記データ出力部から出力される前記対象出力データに基づいて動作するロジック回路と、を備えた構成（第１０の構成）であっても良い。
【００１８】
上記第１０の構成に係るデータ処理装置において、互いに異なる第１〜第Ｎタイミングでの前記マスタ入力データが、夫々、前記第１〜第Ｎスレーブラッチ回路に取り込まれて保持され、且つ、前記第１〜第Ｎスレーブラッチ回路の保持データが別々のタイミングで前記データ出力部から出力されるよう、前記制御回路は、前記クロック選択信号及び前記出力選択信号を前記フリップフロップ回路に供給する構成（第１１の構成）であっても良い。
【発明の効果】
【００１９】
本発明によれば、フリップフロップ回路を有する装置全体における回路面積の小型化に寄与するフリップフロップ回路、及び、回路面積の小型化に寄与するデータ処理装置を提供することが可能となる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１実施形態に係るデータ処理装置の構成図である。
【図２】本発明の第１実施形態に係り、マルチスレーブ型のフリップフロップ回路についてのデータ及び信号の入出力に関わる構成図である。
【図３】本発明の第１実施形態に属する実施例ＥＸ１＿１に係り、マルチスレーブ型のフリップフロップ回路の構成図である。
【図４】図３のマスタラッチ回路におけるスルー状態及びホールド状態の概念図である。
【図５】図３のスレーブラッチ回路におけるスルー状態及びホールド状態の概念図である。
【図６】本発明の第１実施形態に属する実施例ＥＸ１＿１に係り、マルチスレーブ型のフリップフロップ回路のタイミングチャートである。
【図７】参考装置の構成図である。
【図８】参考装置と、本発明の第１実施形態に係る装置と、を対比するための図である。
【図９】本発明の第１実施形態に属する実施例ＥＸ１＿２に係り、マルチスレーブ型のフリップフロップ回路の構成図である。
【図１０】本発明の第１実施形態に属する実施例ＥＸ１＿３に係り、マルチスレーブ型のフリップフロップ回路の構成図である。
【図１１】図１０に示される４つのスレーブラッチ回路の構成図である。
【図１２】本発明の第２実施形態に係るデータ処理装置の構成図である。
【図１３】本発明の第２実施形態に係り、マルチスレーブ型のフリップフロップ回路についてのデータ及び信号の入出力に関わる構成図である。
【図１４】本発明の第２実施形態に係り、マルチスレーブ型のフリップフロップ回路の構成図である。
【発明を実施するための形態】
【００２１】
以下、本発明の実施形態の例を、図面を参照して具体的に説明する。参照される各図において、同一の部分には同一の符号を付し、同一の部分に関する重複する説明を原則として省略する。尚、本明細書では、記述の簡略化上、情報、信号、物理量、素子又は部位等を参照する記号又は符号を記すことによって、該記号又は符号に対応する情報、信号、物理量、素子又は部位等の名称を省略又は略記することがある。例えば、後述の“ＳＥＬ”によって参照される出力選択信号は（図２参照）、出力選択信号ＳＥＬと表記されることもあるし、信号ＳＥＬと略記されることもあり得るが、それらは全て同じものを指す。
【００２２】
まず、本発明の実施形態の記述にて用いられる幾つかの用語について説明を設ける。本発明の実施形態において、ＩＣとは集積回路（Integrated Circuit）の略称である。レベルとは電位のレベルを指し、任意の信号又は電圧についてハイレベルはローレベルよりも高い電位を有する。或る任意の注目した信号について、注目した信号がハイレベルであるとき、当該注目した信号の反転信号はローレベルをとり、注目した信号がローレベルであるとき、当該注目した信号の反転信号はハイレベルをとる。任意の信号又は電圧において、ローレベルからハイレベルへの切り替わりをアップエッジと称し、ハイレベルからローレベルへの切り替わりをダウンエッジと称する。
【００２３】
＜＜第１実施形態＞＞
本発明の第１実施形態を説明する。図１は、本発明の第１実施形態に係るデータ処理装置１の構成図である。データ処理装置１は半導体集積回路として構成される。データ処理装置１は、デジタル処理回路２、ステート制御回路３、前段回路４、後段回路５、タイミング制御回路６及びクロック信号生成回路７を備える。尚、ここでは、データ処理装置１の構成要素の内、本発明に関連する要部のみに注目しており、符号２〜７によって参照される構成要素とは異なる他の構成要素もデータ処理装置１には含まれうるが、他の構成要素の図示及び説明は省略する。
【００２４】
クロック信号生成回路７はクロック信号ＣＬＫを生成及び出力する。クロック信号ＣＬＫは所定の周波数（例えば２ＭＨｚ）を有する矩形波信号であり、故にクロック信号ＣＬＫの信号レベルは周期的にローレベル及びハイレベル間で切り替わる。デジタル処理回路２及びステート制御回路３はクロック信号ＣＬＫに同期して動作する。前段回路４、後段回路５及びタイミング制御回路６は、クロック信号ＣＬＫに同期して動作して良いし、クロック信号ＣＬＫとは別のクロック信号に同期して動作しても良い。
【００２５】
前段回路４は、データＤＡ［１］〜ＤＡ［ＭＡ］をデジタル処理回路２に供給する。ここで、ＭＡは２以上の任意の整数である。データＤＡ［１］〜ＤＡ［ＭＡ］は、前段回路４及びデジタル処理回路２間に設けられたＭＡ本の配線を介して同時にデジタル処理回路２に入力される。
【００２６】
デジタル処理回路２はフリップフロップ回路を複数個備える。デジタル処理回路２に設けられた各フリップフロップ回路は、マスタラッチ回路及びスレーブラッチ回路を備えたマスタスレーブ型のフリップフロップ回路である。但し、デジタル処理回路２に設けられた各フリップフロップ回路にはスレーブラッチ回路が複数個備えられている。スレーブラッチ回路が複数個設けられたフリップフロップ回路を、特にマルチスレーブ型のフリップフロップ回路と称し、以下、“ＭＳＦＦ”と表記する。“ＭＳＦＦ”は “Multi-Slave Flip-Flop”の略称である。
【００２７】
具体的には、デジタル処理回路２は、ロジック回路２０と、ロジック回路２０の前段側に配置された計ＭＡ個のＭＳＦＦ１０と、ロジック回路２０の後段側に配置された計ＭＢ個のＭＳＦＦ３０と、を備える。ＭＢは２以上の任意の整数である。ＭＡ及びＭＢは互いに一致する値を有していても良いし、互いに異なる値を有していても良い。ＭＡ個のＭＳＦＦ１０を互いに区別する必要がある場合、ＭＡ個のＭＳＦＦ１０を符号“１０［１］〜１０［ＭＡ］”によって参照する。ＭＢ個のＭＳＦＦ３０を互いに区別する必要がある場合、ＭＢ個のＭＳＦＦ３０を符号“３０［１］〜３０［ＭＢ］”によって参照する。ＭＳＦＦ１０［１］〜１０［ＭＡ］及びＭＳＦＦ３０［１］〜３０［ＭＢ］は、互いに同じ構成を有する。
【００２８】
デジタル処理回路２は、入力されたデータＤＡ［１］〜ＤＡ［ＭＡ］に対し所定の信号処理（論理演算）を行い、その信号処理の結果を示すデータを出力する。
【００２９】
ステート制御回路３は、タイミング制御回路６によるタイミング制御の下、デジタル処理回路２内の全てのＭＳＦＦ１０及び３０に対して出力選択信号ＳＥＬ及びクロック選択信号ＳＥＬＣを供給する。
【００３０】
図２に、１つのＭＳＦＦ１００における、データ及び信号の入出力に関わる構成を示す。ＭＳＦＦ１００を、ＭＳＦＦ１０［１］〜１０［ＭＡ］及びＭＳＦＦ３０［１］〜３０［ＭＢ］の夫々として用いることができる。
【００３１】
ＭＳＦＦ１００は、ＭＳＦＦ１００の外部からの入力データＤを受けるデータ入力部１０１と、ＭＳＦＦ１００の出力データＱが現れるデータ出力部１０２と、クロック信号ＣＬＫの入力を受けるクロック信号入力部１０３と、クロック選択信号ＳＥＬＣの入力を受けるクロック選択信号入力部１０４と、出力選択信号ＳＥＬの入力を受ける出力選択信号入力部１０５と、を備える。更に、ＭＳＦＦ１００には、セット信号ＳＥＴの入力を受けるセット信号入力部１０６及びリセット信号ＲＳＴの入力を受けるリセット信号入力部１０７が設けられ得る。ＭＳＦＦ１００に入力部１０６及び１０７が設けられる場合、セット信号ＳＥＴ及びリセット信号ＲＳＴは、ステート制御回路３又はそれ以外の回路からＭＳＦＦ１００に供給される。ＭＳＦＦ１００に入力部１０６及び１０７が設けられないこともある。
【００３２】
図１のデータ処理装置１において、ＭＳＦＦ１０［１］〜１０［ＭＡ］にとっての入力データＤは夫々データＤＡ［１］〜ＤＡ［ＭＡ］であり、ＭＳＦＦ１０［１］〜１０［ＭＡ］にとっての出力データＱは夫々データＱＡ［１］〜ＱＡ［ＭＡ］である。図１のデータ処理装置１において、ＭＳＦＦ３０［１］〜３０［ＭＢ］にとっての入力データＤは夫々データＤＢ［１］〜ＤＢ［ＭＢ］であり、ＭＳＦＦ３０［１］〜３０［ＭＢ］にとっての出力データＱは夫々データＱＢ［１］〜ＱＢ［ＭＢ］である。データＤＡ［１］〜ＤＡ［ＭＡ］、ＱＡ［１］〜ＱＡ［ＭＡ］、ＤＢ［１］〜ＤＢ［ＭＢ］及びＱＢ［１］〜ＱＢ［ＭＢ］の夫々は１ビットのデジタルデータである。
【００３３】
ロジック回路２０に対してＭＳＦＦ１０［１］〜１０［ＭＡ］の出力データＱＡ［１］〜ＱＡ［ＭＡ］が入力される。ロジック回路２０は、組み合わせ回路を含み、出力データＱＡ［１］〜ＱＡ［ＭＡ］に基づく所定の信号処理（論理演算）を行って、その信号処理の結果をデータＤＢ［１］〜ＤＢ［ＭＢ］として出力する。ロジック回路２０からのデータＤＢ［１］〜ＤＢ［ＭＢ］が夫々ＭＳＦＦ３０［１］〜３０［ＭＢ］に入力される。
【００３４】
ＭＳＦＦ３０［１］〜３０［ＭＢ］の出力データＱＢ［１］〜ＱＢ［ＭＢ］は後段回路５に供給される。後段回路５は、自身に供給されたデータに基づいて所定の処理を実行する。尚、デジタル処理回路２においてＭＳＦＦ３０［１］〜３０［ＭＢ］の出力データＱＢ［１］〜ＱＢ［ＭＢ］に対し更に他の信号処理を施し、これによって得られるデータを後段回路５に供給するようにしても良い。
【００３５】
第１実施形態は、以下の実施例ＥＸ１＿１〜ＥＸ１＿３を含む。実施例ＥＸ１＿１〜ＥＸ１＿３にて、データ処理装置１（特にＭＳＦＦ１０及び３０）の具体的な構成例や動作例を説明する。尚、実施例ＥＸ１＿１〜ＥＸ１＿３の内、任意の実施例に記載した事項を、他の任意の実施例に適用することもできる（即ち複数の実施例の内の任意の２以上の実施例を組み合わせることも可能である）。
【００３６】
―――実施例ＥＸ１＿１―――
実施例ＥＸ１＿１を説明する。実施例ＥＸ１＿１では、図２の入力部１０６及び１０７がＭＳＦＦ１００に設けられていないことを想定する。
【００３７】
図３は、実施例ＥＸ１＿１に係るＭＳＦＦ１００であるＭＳＦＦ１００ａの内部構成図である。ＭＳＦＦ１００ａは、制御信号生成回路１１０、インバータ回路１２０、マスタラッチ回路１３０、２つのスレーブラッチ回路１４０、出力選択回路１５０、及び、インバータ回路１６０を備える。ＭＳＦＦ１００ａは、所謂マスタスレーブ型のフリップフロップ回路として構成されているが、マスタラッチ回路１３０の後段側に、マスタラッチ回路１３０に対して並列に２つのスレーブラッチ回路１４０が設けられている。２つのスレーブラッチ回路１４０を互いに区別する必要がある場合、２つのスレーブラッチ回路１４０の内の一方を符号“１４０＿１”によって参照し、他方を符号“１４０＿２”によって参照する。
【００３８】
制御信号生成回路１１０に対し、クロック信号ＣＰ及びクロック選択信号ＳＥＬＣが入力される。クロック信号ＣＰはＭＳＦＦ１００の内部で参照される内部クロック信号である。クロック信号ＣＰはクロック信号ＣＬＫと等価なものであり、クロック信号ＣＬＫと同じものを指すと考えて良い。実施例ＥＸ１＿１において、クロック選択信号ＳＥＬＣは１ビットのデジタル信号であり、ハイレベル又はローレベルの信号レベルをとる。
【００３９】
制御信号生成回路１１０は、信号ＣＰ及びＳＥＬＣに基づき制御信号ＣＰ１及びＣＰ２を生成する。具体的には、回路１１０はＡＮＤ回路１１１及び１１２を備える。ＡＮＤ回路１１１は信号ＣＰと信号ＳＥＬＣの反転信号との論理積信号を制御信号ＣＰ１として出力する。ＡＮＤ回路１１２は信号ＣＰと信号ＳＥＬＣとの論理積信号を制御信号ＣＰ２として出力する。故に、クロック選択信号ＳＥＬＣがローレベルであるときには、制御信号ＣＰ１がクロック信号ＣＰと等価な信号となって、制御信号ＣＰ１の信号レベルがクロック信号ＣＰに同期してローレベル及びハイレベル間で変化する一方で、制御信号ＣＰ２の信号レベルはローレベルで固定される。逆に、クロック選択信号ＳＥＬＣがハイレベルであるときには、制御信号ＣＰ２がクロック信号ＣＰと等価な信号となって、制御信号ＣＰ２の信号レベルがクロック信号ＣＰに同期してローレベル及びハイレベル間で変化する一方で、制御信号ＣＰ１の信号レベルはローレベルで固定される。
【００４０】
このように、制御信号ＣＰ１及びＣＰ２の内、何れか一方がクロック信号ＣＰと等価となる。そして、制御信号ＣＰ１、ＣＰ２は、夫々、スレーブラッチ回路１４０＿１、１４０＿２に供給される。故に、クロック選択信号ＳＥＬＣは、スレーブラッチ回路１４０＿１及び１４０＿２のどちらに対してクロック信号ＣＰを供給するのかを選択する信号として機能する。制御信号ＣＰ１及びＣＰ２を第１及び第２クロック信号と読み替えても良く、この場合、クロック信号ＣＬＫ及びＣＰは基準クロック信号と称され得る。
【００４１】
インバータ回路１２０の入力端には入力データＤを示す信号が供給され、インバータ回路１２０の出力端からは入力データＤを示す信号の反転信号が出力される。インバータ回路１２０の出力信号（即ち入力データＤを示す信号の反転信号）は、マスタ入力データＤＭを示す信号として機能する。マスタ入力データＤＭを示す信号はマスタラッチ回路１３０の入力端に供給され、マスタ入力データＤＭに応じたマスタ出力データＱＭを示す信号がマスタラッチ回路１３０の出力端から出力される。マスタ出力データＱＭを示す信号はスレーブ入力データＤＳを示す信号として各スレーブラッチ回路１４０の入力端に供給される。各スレーブラッチ回路１４０は、スレーブ入力データＤＳに応じたスレーブ出力データＱＳを生成してスレーブ出力データＱＳを示す信号を自身の出力端から出力する。出力選択回路１５０は、出力選択信号ＳＥＬに基づき、２つのスレーブラッチ回路１４０からの２つのスレーブ出力データＱＳの何れか一方を選択し、選択したスレーブ出力データＱＳを示す信号を出力する。インバータ回路１６０は、出力選択回路１５０にて選択及び出力されたスレーブ出力データＱＳを示す信号の反転信号を、出力データＱを示す信号として生成する。出力データＱを示す信号はデータ出力部１０２から出力される。
【００４２】
入力データＤを示す信号、マスタ入力データＤＭを示す信号、マスタ出力データＱＭを示す信号、スレーブ入力データＤＳを示す信号、スレーブ出力データＱＳを示す信号、及び、出力データＱを示す信号は、夫々に、ローレベル又はハイレベルの信号レベルをとる１ビットのデジタル信号である。
【００４３】
ここでは、入力データＤ、マスタ出力データＱＭ、スレーブ入力データＤＳ及び出力データＱは正論理にて定義され、マスタ入力データＤＭ及びスレーブ出力データＱＳは負論理にて定義されるものとする。即ち、データＤ、ＱＭ、ＤＳ又はＱである注目データを示す信号の信号レベルがハイレベル、ローレベルであるとき、当該注目データは、夫々、“１”、“０”の論理値を有するものとする。逆に、データＤＭ又はＱＳである注目データを示す信号の信号レベルがハイレベル、ローレベルであるとき、当該注目データは、夫々、“０”、“１”の論理値を有するものとする。
【００４４】
任意のラッチ回路又は選択回路について、或るデータを示す信号の当該回路への入力は、或るデータの当該回路への入力と同義であり、或るデータを示す信号の当該回路からの出力は、或るデータの当該回路からの出力と同義である。故に、以下では例えば、マスタラッチ回路１３０に対してマスタ入力データＤＭを示す信号が入力されることを、マスタラッチ回路１３０に対するマスタ入力データＤＭの入力と表現したり、マスタラッチ回路１３０からマスタ出力データＱＭを示す信号が出力されることを、マスタラッチ回路１３０からのマスタ出力データＱＭの出力と表現したりすることがある（後述の他の実施例及び後述の他の実施形態においても同様）。
【００４５】
マスタラッチ回路１３０は、クロック信号ＣＰに同期して動作し、クロック信号ＣＰにおける所定のレベル変化に応答してデータＤＭの取り込み及び保持（ラッチ）を行う。マスタラッチ回路１３０の保持データがマスタ出力データＱＭとなる。スレーブラッチ回路１４０＿１は、制御信号ＣＰ１に同期して動作し、制御信号ＣＰ１における所定のレベル変化に応答してデータＱＭと一致するデータＤＳの取り込み及び保持（ラッチ）を行う。スレーブラッチ回路１４０＿２は、制御信号ＣＰ２に同期して動作し、制御信号ＣＰ２における所定のレベル変化に応答してデータＱＭと一致するデータＤＳの取り込み及び保持（ラッチ）を行う。
【００４６】
マスタラッチ回路１３０、スレーブラッチ回路１４０及び出力選択回路１５０の構成及び動作について詳説する。
【００４７】
マスタラッチ回路１３０は、スイッチ１３１及び１３２と、インバータ回路１３３及び１３４と、を備える。スイッチ１３１及び１３２を含む任意のスイッチは、双方向スイッチとしてのアナログスイッチであり、例えば、ＣＭＯＳ（Complementary Metal-Oxide-Semiconductor）の電界効果トランジスタを用いて構成されたトランスミッションゲートであって良い。スイッチ１３１及び１３２を含む任意のスイッチは、第１端、第２端及び制御端を有し、制御端に供給される信号のレベルに応じて、第１端及び第２端が導通状態又は非導通状態（遮断状態）となる。第１端及び第２端が導通状態となることをオン状態と称し、第１端及び第２端が非導通状態（遮断状態）となることをオフ状態と称する。ここでは、スイッチ１３１及び１３２を含む任意のスイッチについて、制御端への信号のレベルがハイレベルであるときに当該スイッチはオン状態となり、制御端への信号のレベルがローレベルであるときに当該スイッチはオフ状態となるものとする。
【００４８】
スイッチ１３１の第１端にはインバータ回路１２０からマスタ入力データＤＭを示す信号が入力され、スイッチ１３１の第２端はノード１３５に接続される。インバータ回路１３３の入力端はノード１３５に接続される。インバータ回路１３３は自身の入力端に加わる信号の反転信号を自身の出力端から出力する。インバータ回路１３３の出力信号がマスタ出力データＱＭを示す信号となる。インバータ回路１３３の出力端はインバータ回路１３４の入力端に接続される。インバータ回路１３４は自身の入力端に加わる信号の反転信号を自身の出力端から出力する。故に、マスタ出力データＱＭを示す信号の反転信号がインバータ回路１３４の出力端から出力される。スイッチ１３２の第１端はインバータ回路１３４の出力端に接続され、スイッチ１３２の第２端はノード１３５に接続される。
【００４９】
スイッチ１３２の制御端にはクロック信号ＣＰが入力され、スイッチ１３１の制御端にはクロック信号ＣＰの反転信号ＣＰＢが入力される。このため、クロック信号ＣＰがローレベルであるときには、スイッチ１３１がオン状態且つスイッチ１３２がオフ状態となることでマスタラッチ回路１３０はスルー状態（マスタスルー状態）となり、クロック信号ＣＰがハイレベルであるときには、スイッチ１３１がオフ状態且つスイッチ１３２がオン状態となることでマスタラッチ回路１３０はホールド状態（マスタホールド状態）となる。図４（ａ）、（ｂ）に、マスタラッチ回路１３０のスルー状態、ホールド状態を模式的に示す。
【００５０】
マスタラッチ回路１３０は、マスタ入力データＤＭに応じたマスタ出力データＱＭを出力可能なマスタ出力回路、及び、マスタ出力データＱＭをマスタ出力回路の入力側に帰還可能なマスタ帰還回路を備えている、と考えることができる。図３のマスタラッチ回路１３０において、マスタ出力回路は、インバータ回路１３３により或いはスイッチ１３１及びインバータ回路１３３により構成され、マスタ帰還回路は、インバータ回路１３４により或いはスイッチ１３２及びインバータ回路１３４により構成される。マスタ帰還回路による帰還とは、マスタ出力データＱＭに基づくインバータ回路１３４の出力信号をノード１３５に供給することを意味する。
【００５１】
マスタラッチ回路１３０において、スルー状態（マスタスルー状態）では、マスタ帰還回路による帰還が行われることなく現在のマスタ入力データＤＭに基づき現在のマスタ出力データＱＭ（インバータ回路１３３の出力データ）が生成される。即ち、マスタラッチ回路１３０において、スルー状態（マスタスルー状態）では、マスタ入力データＤＭそのものがマスタ出力データＱＭとなる。
【００５２】
マスタラッチ回路１３０において、ホールド状態（マスタホールド状態）では、現在のマスタ入力データＤＭに関係なくマスタ帰還回路による帰還データ（インバータ回路１３４の出力データ）に基づき現在のマスタ出力データＱＭが生成される。即ち、マスタラッチ回路１３０において、ホールド状態（マスタホールド状態）では、マスタ帰還回路によりラッチされた過去のマスタ出力データＱＭに基づき現在のマスタ出力データＱＭが生成される。
【００５３】
２つのスレーブラッチ回路１４０であるスレーブラッチ回路１４０＿１及び１４０＿２は互いに同じ構成を有し、各スレーブラッチ回路１４０は、スイッチ１４１及び１４２と、インバータ回路１４３及び１４４と、を備える。スレーブラッチ回路１４０＿１及び１４０＿２の夫々において、スイッチ１４１の第１端には、マスタラッチ回路１３０からのマスタ出力データＱＭを示す信号がスレーブ入力データＤＳを示す信号として入力される。
【００５４】
各スレーブラッチ回路１４０において、スイッチ１４１の第２端はノード１４５に接続され、インバータ回路１４３の入力端はノード１４５に接続される。インバータ回路１４３は自身の入力端に加わる信号の反転信号を自身の出力端から出力する。インバータ回路１４３の出力信号がスレーブ出力データＱＳを示す信号となる。各スレーブラッチ回路１４０において、インバータ回路１４３の出力端はインバータ回路１４４の入力端に接続される。インバータ回路１４４は自身の入力端に加わる信号の反転信号を自身の出力端から出力する。故に、各スレーブラッチ回路１４０において、スレーブ出力データＱＳを示す信号の反転信号がインバータ回路１４４の出力端から出力される。各スレーブラッチ回路１４０において、スイッチ１４２の第１端はインバータ回路１４４の出力端に接続され、スイッチ１４２の第２端はノード１４５に接続される。
【００５５】
各スレーブラッチ回路１４０において、スイッチ１４１の制御端には制御信号が入力され、スイッチ１４２の制御端には制御信号の反転信号が入力される。ここで、スレーブラッチ回路１４０＿１における制御信号は制御信号ＣＰ１であり、スレーブラッチ回路１４０＿２における制御信号は制御信号ＣＰ２である。故に、スレーブラッチ回路１４０＿１において、スイッチ１４１の制御端には制御信号ＣＰ１が入力される一方でスイッチ１４２の制御端には制御信号ＣＰ１の反転信号ＣＰ１Ｂが入力される。スレーブラッチ回路１４０＿２において、スイッチ１４１の制御端には制御信号ＣＰ２が入力される一方でスイッチ１４２の制御端には制御信号ＣＰ２の反転信号ＣＰ２Ｂが入力される。
【００５６】
このため、制御信号ＣＰ１がハイレベルであるときには、スレーブラッチ回路１４０＿１においてスイッチ１４１がオン状態且つスイッチ１４２がオフ状態となることでスレーブラッチ回路１４０＿１はスルー状態（スレーブスルー状態）となる。制御信号ＣＰ１がローレベルであるときには、スレーブラッチ回路１４０＿１においてスイッチ１４１がオフ状態且つスイッチ１４２がオン状態となることでスレーブラッチ回路１４０＿１はホールド状態（スレーブホールド状態）となる。
これに類似し、制御信号ＣＰ２がハイレベルであるときには、スレーブラッチ回路１４０＿２においてスイッチ１４１がオン状態且つスイッチ１４２がオフ状態となることでスレーブラッチ回路１４０＿２はスルー状態（スレーブスルー状態）となる。制御信号ＣＰ２がローレベルであるときには、スレーブラッチ回路１４０＿２においてスイッチ１４１がオフ状態且つスイッチ１４２がオン状態となることでスレーブラッチ回路１４０＿２はホールド状態（スレーブホールド状態）となる。
図５（ａ）、（ｂ）に、１つのスレーブラッチ回路１４０のスルー状態、ホールド状態を模式的に示す。
【００５７】
スレーブラッチ回路１４０＿１及び１４０＿２の夫々は、スレーブ入力データＤＳに応じたスレーブ出力データＱＳを出力可能なスレーブ出力回路、及び、スレーブ出力データＱＳをスレーブ出力回路の入力側に帰還可能なスレーブ帰還回路を備えている、と考えることができる。図３の各スレーブラッチ回路１４０において、スレーブ出力回路は、インバータ回路１４３により或いはスイッチ１４１及びインバータ回路１４３により構成され、スレーブ帰還回路は、インバータ回路１４４により或いはスイッチ１４２及びインバータ回路１４４により構成される。スレーブ帰還回路による帰還とは、スレーブ出力データＱＳに基づくインバータ回路１４４の出力信号をノード１４５に供給することを意味する。
【００５８】
各スレーブラッチ回路１４０において、スルー状態（スレーブスルー状態）では、スレーブ帰還回路による帰還が行われることなく現在のスレーブ入力データＤＳに基づき現在のスレーブ出力データＱＳ（インバータ回路１４３の出力データ）が生成される。即ち、各スレーブラッチ回路１４０において、スルー状態（スレーブスルー状態）では、スレーブ入力データＤＳそのものがスレーブ出力データＱＳとなる。
【００５９】
各スレーブラッチ回路１４０において、ホールド状態（スレーブホールド状態）では、現在のスレーブ入力データＤＳに関係なくスレーブ帰還回路による帰還データ（インバータ回路１４４の出力データ）に基づき現在のスレーブ出力データＱＳが生成される。即ち、各スレーブラッチ回路１４０において、ホールド状態（スレーブホールド状態）では、スレーブ帰還回路によりラッチされた過去のスレーブ出力データＱＳに基づき現在のスレーブ出力データＱＳが生成される。
【００６０】
制御信号ＣＰ１及びＣＰ２の内、クロック信号ＣＰと同期して信号レベルが変化する制御信号を特定制御信号と称することができ、信号レベルが所定レベル（ここではローレベル）で固定される制御信号を非特定制御信号と称することができる。制御信号生成回路１１０は、クロック選択信号ＳＥＬＣに基づき、制御信号ＣＰ１及びＣＰ２の何れか一方を特定制御信号とし、他方を非特定制御信号とする回路であると考えることができる。
【００６１】
マスタラッチ回路１３０の状態は、クロック信号ＣＰのレベルに応じ、スルー状態及びホールド状態間で切り替えられる。クロック信号ＣＰがローレベルであるときにマスタ入力データＤＭがマスタラッチ回路１３０に取り込まれ、取り込まれたデータがクロック信号ＣＰのアップエッジに同期してマスタラッチ回路１３０にラッチ（保持）される。
これと同様に、特定制御信号に対応するスレーブラッチ回路１４０（以下、特定スレーブラッチ回路と称する）の状態は、特定制御信号のレベルに応じ、スルー状態及びホールド状態間で切り替えられる。特定制御信号がハイレベルであるときにマスタ出力データＱＭがスレーブ入力データＤＳとして特定スレーブラッチ回路に取り込まれ、取り込まれたデータが特定制御信号のダウンエッジに同期して特定スレーブラッチ回路にラッチ（保持）される。
これに対し、非特定制御信号に対応するスレーブラッチ回路１４０（以下、非特定スレーブラッチ回路と称する）の状態は、非特定制御信号に基づき、ホールド状態で固定されることになる。非特定スレーブラッチ回路ではマスタ出力データＱＭが取り込まれず、非特定スレーブラッチ回路でラッチ（保持）されるデータに変化は生じない。
【００６２】
以下、必要に応じ、スレーブラッチ回路１４０＿１、１４０＿２により保持及び出力されるスレーブ出力データＱＳを、夫々、符号“ＱＳ＿１”、“ＱＳ＿２”により参照する。
【００６３】
出力選択回路１５０は、スイッチ１５１及び１５２を備える。スイッチ１５１の第１端はスレーブラッチ回路１４０＿１の出力端に接続される一方で、スイッチ１５２の第１端はスレーブラッチ回路１４０＿２の出力端に接続される。故に、スイッチ１５１の第１端にはスレーブラッチ回路１４０＿１からのスレーブ出力データＱＳ＿１を示す信号が入力され、スイッチ１５２の第１端にはスレーブラッチ回路１４０＿２からのスレーブ出力データＱＳ＿２を示す信号が入力される。スイッチ１５１及び１５２の各第２端は出力選択回路１５０の出力端に相当するノード１５３にて共通接続される。出力選択回路１５０の出力端（即ちノード１５３）はインバータ回路１６０の入力端に接続される。
【００６４】
実施例ＥＸ１＿１において、出力選択信号ＳＥＬは１ビットのデジタル信号であり、ハイレベル又はローレベルの信号レベルをとる。出力選択回路１５０は、出力選択信号ＳＥＬに基づき、スレーブ出力データＱＳ＿１及びＱＳ＿２の何れか一方を選択する。選択されたデータはインバータ回路１６０を通じ、出力データＱとしてデータ出力部１０２から出力される。
【００６５】
スイッチ１５２の制御端には出力選択信号ＳＥＬが入力され、スイッチ１５１の制御端には出力選択信号ＳＥＬの反転信号ＳＥＬＢが入力される。このため、出力選択信号ＳＥＬがローレベルであるときには、スイッチ１５１がオン状態且つスイッチ１５２がオフ状態となってスレーブ出力データＱＳ＿１が出力選択回路１５０にて選択されることになり、結果、スレーブ出力データＱＳ＿１を示す信号の反転信号がインバータ回路１６０の出力端から出力される（つまり、スレーブ出力データＱＳ＿１が出力データＱとなる）。一方、出力選択信号ＳＥＬがハイレベルであるときには、スイッチ１５１がオフ状態且つスイッチ１５２がオン状態となってスレーブ出力データＱＳ＿２が出力選択回路１５０にて選択されることになり、結果、スレーブ出力データＱＳ＿２を示す信号の反転信号がインバータ回路１６０の出力端から出力される（つまり、スレーブ出力データＱＳ＿２が出力データＱとなる）。
【００６６】
図６に、ＭＳＦＦ１００ａの動作例を示すタイミングチャートを示す。図６において、上方から下方に向けて並ぶ領域７１１〜７２３には、夫々、当該動作例に係る、クロック信号ＣＰ、入力データＤ（換言すればマスタ入力データＤＭ）、マスタラッチ回路１３０の状態に相当するマスタ状態、マスタ出力データＱＭ、出力選択信号ＳＥＬ、クロック選択信号ＳＥＬＣ、制御信号ＣＰ１、スレーブラッチ回路１４０＿１の状態に相当する第１スレーブ状態、スレーブ出力データＱＳ＿１、制御信号ＣＰ２、スレーブラッチ回路１４０＿２の状態に相当する第２スレーブ状態、スレーブ出力データＱＳ＿２、及び、出力データＱの時系列変化が示されている。
【００６７】
尚、図６では、マスタ状態、第１スレーブ状態又は第２スレーブ状態におけるスルー状態は、記号“Ｔ”にて表現され、マスタ状態、第１スレーブ状態又は第２スレーブ状態におけるホールド状態は、記号“Ｈ”にて表現されている。図６において、Ａ１〜Ａ４及びＢ１〜Ｂ４の夫々は、ＭＳＦＦ１００ａの入出力データ又は内部データを表している。個の内、データＡ１〜Ａ４はスレーブラッチ回路１４０＿１にて順次ラッチされるべきデータを表しており、データＢ１〜Ｂ４はスレーブラッチ回路１４０＿２にて順次ラッチされるべきデータを表している。
【００６８】
説明の具体化のため区間Ｐ１〜Ｐ１６に注目して図６のタイミングチャートを説明する。区間Ｐ１〜Ｐ１６の夫々は、クロック信号ＣＰの周期の１／２の長さを有する。任意の整数ｉに関し、区間Ｐｉ＋１は、区間Ｐｉよりも、クロック信号ＣＰの周期の１／２だけ後の区間である。整数ｉが奇数であるときの区間Ｐｉにおいて、当該区間Ｐｉの開始タイミング直後にクロック信号ＣＰのアップエッジが生じ、その後のクロック信号ＣＰの信号レベルはハイレベルとなる。故に、整数ｉが奇数であるときの区間Ｐｉにおいて、マスタ状態はホールド状態である。整数ｉが偶数であるときの区間Ｐｉにおいて、当該区間Ｐｉの開始タイミング直後にクロック信号ＣＰのダウンエッジが生じ、その後のクロック信号ＣＰの信号レベルはローレベルとなる。故に、整数ｉが偶数であるときの区間Ｐｉにおいて、マスタ状態はスルー状態である。
【００６９】
区間Ｐ１及びＰ２における入力データＤ、区間Ｐ３及びＰ４における入力データＤ、区間Ｐ５及びＰ６における入力データＤ、区間Ｐ７及びＰ８における入力データＤ、区間Ｐ９及びＰ１０における入力データＤ、区間Ｐ１１及びＰ１２における入力データＤ、区間Ｐ１３及びＰ１４における入力データＤ、区間Ｐ１５及びＰ１６における入力データＤは、夫々、データＡ１、Ｂ１、Ａ２、Ｂ２、Ａ３、Ｂ３、Ａ４、Ｂ４である。そうすると、クロック信号ＣＰのアップエッジから始まるクロック信号ＣＰの１周期中において、前半区間（例えばＰ１）にマスタ状態がホールド状態となり、後半区間（例えばＰ２）にマスタ状態がスルー状態となる。故に、マスタ出力データＱＭは、区間Ｐ２及びＰ３にてデータＡ１となり、区間Ｐ４及びＰ５にてデータＢ１となり、区間Ｐ６及びＰ７にてデータＡ２となり、区間Ｐ８及びＰ９にてデータＢ２となり、区間Ｐ１０及びＰ１１にてデータＡ３となり、区間Ｐ１２及びＰ１３にてデータＢ３となり、区間Ｐ１４及びＰ１５にてデータＡ４となり、区間Ｐ１６にてデータＢ４となる。
【００７０】
図６の動作例において、クロック選択信号ＳＥＬＣはクロック信号ＣＰの２倍の周期を有する矩形波信号である。また、区間Ｐ２の開始タイミングにてクロック選択信号ＳＥＬＣにダウンエッジが生じる。故に、クロック選択信号ＳＥＬＣの信号レベルは、マスタ出力データＱＭがデータＡ１、Ａ２、Ａ３又はＡ４となる区間（即ち、区間Ｐ２、Ｐ３、Ｐ６、Ｐ７、Ｐ１０、Ｐ１１、Ｐ１４及びＰ１５）においてローレベルとなり、マスタ出力データＱＭがデータＢ１、Ｂ２、Ｂ３又はＢ４となる区間（即ち、区間Ｐ４、Ｐ５、Ｐ８、Ｐ９、Ｐ１２、Ｐ１３及びＰ１６）においてハイレベルとなる。
【００７１】
図６の動作例において、区間Ｐ１〜Ｐ１６にのみ注目した場合、制御信号ＣＰ１は、クロック信号ＣＰ及びクロック選択信号ＳＥＬＣに基づき、区間Ｐ３、Ｐ７、Ｐ１１及びＰ１５においてのみハイレベルとなり、他の区間ではローレベルとなる。故に、区間Ｐ１〜Ｐ１６にのみ注目した場合、第１スレーブ状態は、区間Ｐ３、Ｐ７、Ｐ１１及びＰ１５においてのみスルー状態となり、他の区間ではホールド状態となる。結果、区間Ｐ３において、マスタ出力データＱＭであるデータＡ１がスレーブラッチ回路１４０＿１に伝達されてラッチされ、区間Ｐ３〜Ｐ６におけるスレーブ出力データＱＳ＿１はデータＡ１となる。同様に、区間Ｐ７において、マスタ出力データＱＭであるデータＡ２がスレーブラッチ回路１４０＿１に伝達されてラッチされ、区間Ｐ７〜Ｐ１０におけるスレーブ出力データＱＳ＿１はデータＡ２となる。同様に、区間Ｐ１１〜Ｐ１４におけるスレーブ出力データＱＳ＿１はデータＡ３となり、区間Ｐ１５から始まるクロック信号ＣＰの２周期分の区間ではスレーブ出力データＱＳ＿１はデータＡ４となる。
【００７２】
図６の動作例において、区間Ｐ１〜Ｐ１６にのみ注目した場合、制御信号ＣＰ２は、クロック信号ＣＰ及びクロック選択信号ＳＥＬＣに基づき、区間Ｐ１、Ｐ５、Ｐ９及びＰ１３においてのみハイレベルとなり、他の区間ではローレベルとなる。故に、区間Ｐ１〜Ｐ１６にのみ注目した場合、第２スレーブ状態は、区間Ｐ１、Ｐ５、Ｐ９及びＰ１３においてのみスルー状態となり、他の区間ではホールド状態となる。結果、区間Ｐ５において、マスタ出力データＱＭであるデータＢ１がスレーブラッチ回路１４０＿２に伝達されてラッチされ、区間Ｐ５〜Ｐ８におけるスレーブ出力データＱＳ＿２はデータＢ１となる。同様に、区間Ｐ９において、マスタ出力データＱＭであるデータＢ２がスレーブラッチ回路１４０＿２に伝達されてラッチされ、区間Ｐ９〜Ｐ１２におけるスレーブ出力データＱＳ＿２はデータＢ２となる。同様に、区間Ｐ１３〜Ｐ１６におけるスレーブ出力データＱＳ＿２はデータＢ３となる。図６には示されていないが、区間Ｐ１６の終了直後から始まるクロック信号ＣＰの２周期分の区間において、スレーブ出力データＱＳ＿２はデータＢ４となる。
【００７３】
図６の動作例において、出力選択信号ＳＥＬも、クロック選択信号ＳＥＬＣと同様に、クロック信号ＣＰの２倍の周期を有する矩形波信号である。但し、区間Ｐ１の開始タイミングにて出力選択信号ＳＥＬにダウンエッジが生じる。故に、出力選択信号ＳＥＬは、区間Ｐ１、Ｐ２、Ｐ５、Ｐ６、Ｐ９、Ｐ１０、Ｐ１３及びＰ１４においてローレベルとなり、区間Ｐ３、Ｐ４、Ｐ７、Ｐ８、Ｐ１１、Ｐ１２、Ｐ１５及びＰ１６においてハイレベルとなる。
【００７４】
出力選択回路１５０において、出力選択信号ＳＥＬがローレベルであるときにはスレーブ出力データＱＳ＿１が選択され、出力選択信号ＳＥＬがハイレベルであるときにはスレーブ出力データＱＳ＿２が選択されるので（図３参照）、出力データＱは、区間Ｐ５及びＰ６にてデータＡ１となり、区間Ｐ７及びＰ８にてデータＢ１となり、区間Ｐ９及びＰ１０にてデータＡ２となり、区間Ｐ１１及びＰ１２にてデータＢ２となり、区間Ｐ１３及びＰ１４にてデータＡ３となり、区間Ｐ１５及びＰ１６にてデータＢ３となる。
【００７５】
このように、ＭＳＦＦ１００ａにおいて、第１タイミングでのマスタ入力データＤＭ（ここでは入力データＤと一致）はスレーブラッチ回路１４０＿１にて取り込まれて保持され、第２タイミングでのマスタ入力データＤＭ（ここでは入力データＤと一致）はスレーブラッチ回路１４０＿２に取り込まれて保持される。これが実現されるよう、ステート制御回路３はクロック選択信号ＳＥＬＣをＭＳＦＦ１００ａに供給する。第１及び第２タイミングは互いに異なるタイミングである。詳細には、第１タイミングは、マスタ入力データＤＭがデータＡ１、Ａ２、Ａ３又はＡ４となるタイミングに相当し、第２タイミングは、マスタ入力データＤＭがデータＢ１、Ｂ２、Ｂ３又はＢ４となるタイミングに相当する。そして、ステート制御回路３は、ＭＳＦＦ１００ａに対する出力選択信号ＳＥＬのレベルを制御することで、スレーブラッチ回路１４０＿１の保持データ及びスレーブラッチ回路１４０＿２の保持データ（例えばデータＡ１とデータＢ１）を、別々のタイミングにデータ出力部１０２から出力データＱとして出力させる。
【００７６】
上述の説明から理解されるよう、ＭＳＦＦ１００ａでは、２つのスレーブラッチ回路１４０に対して単一のマスタラッチ回路１３０が兼用されている。或る区間では、マスタラッチ回路１３０をスレーブラッチ回路１４０＿１に対するマスタラッチ回路として機能させる。これにより、マスタラッチ回路１３０及びスレーブラッチ回路１４０＿１から成るマスタスレーブ型の第１フリップフロップ回路としてＭＳＦＦ１００ａを動作させる。別の区間では、マスタラッチ回路１３０をスレーブラッチ回路１４０＿２に対するマスタラッチ回路として機能させる。これにより、マスタラッチ回路１３０及びスレーブラッチ回路１４０＿２から成るマスタスレーブ型の第２フリップフロップ回路としてＭＳＦＦ１００ａを動作させる。
【００７７】
このようなＭＳＦＦ１００ａを用いれば、図１のロジック回路２０にて、第１処理用データに基づく第１信号処理と、第２処理用データに基づく第２信号処理と、を並列実行させることができる。第１処理用データは、データＡ１〜Ａ４の何れかを指す又はデータＡ１〜Ａ４の総称である。第２処理用データは、データＢ１〜Ｂ４の何れかを指す又はデータＢ１〜Ｂ４の総称である。第１処理用データ（Ａ１〜Ａ４）と第２処理用データ（Ｂ１〜Ｂ４）は互いに異なるデータである。但し、偶然、それらの値が一致することもありえる。
【００７８】
ＭＳＦＦ１００ａとして構成される図１の各ＭＳＦＦ１０に対して図６の動作例を当てはめた場合、データＡ１〜Ａ４及びＢ１〜Ｂ４は各ＭＳＦＦ１０の入出力データあって、この内、データＡ１〜Ａ４は各ＭＳＦＦ１０の入出力データの一部である第１処理用データに相当し、データＢ１〜Ｂ４は各ＭＳＦＦ１０の入出力データの他の一部である第２処理用データに相当する。
【００７９】
ロジック回路２０は、各ＭＳＦＦ１０から自身に対し第１処理用データ（Ａ１〜Ａ４）が入力されている区間では、第１処理用データに基づく第１信号処理を行って第１信号処理の結果を示すデータ（以下、第１処理結果データと称する）を各ＭＳＦＦ３０に出力する。ロジック回路２０は、各ＭＳＦＦ１０から自身に対し第２処理用データ（Ｂ１〜Ｂ４）が入力されている区間では、第２処理用データに基づく第２信号処理を行って第２信号処理の結果を示すデータ（以下、第２処理結果データと称する）を各ＭＳＦＦ３０に出力する。
【００８０】
ＭＳＦＦ１００ａとして構成される図１の各ＭＳＦＦ３０に対して図６の動作例を当てはめた場合、データＡ１〜Ａ４及びＢ１〜Ｂ４は各ＭＳＦＦ３０の入出力データあって、この内、データＡ１〜Ａ４は各ＭＳＦＦ３０の入出力データの一部である第１処理結果データに相当し、データＢ１〜Ｂ４は各ＭＳＦＦ３０の入出力データの他の一部である第２処理結果データに相当する。各ＭＳＦＦ３０から第１処理結果データが後段回路５０に供給されている区間において、後段回路５０は第１処理結果データに基づく所定の処理を実行できる。各ＭＳＦＦ３０から第２処理結果データが後段回路５０に供給されている区間において、後段回路５０は第２処理結果データに基づく所定の処理を実行できる。
【００８１】
本実施例に係る技術的な有益性について、図７を再度参照しつつ説明する。上述したように、参考装置９００では、第１処理用データに基づく第１信号処理と第２処理用データに基づく第２信号処理とを並列して実行する必要がある（換言すれば同時に実行する必要がある）。第１及び第２信号処理における処理の内容自体は、第１及び第２信号処理間で共通であるが、並列実行の必要性から、２つのデジタル処理回路９１０が用意される。そして、第１デジタル処理回路９１０に対して第１処理用データを入力することで第１デジタル処理回路９１０にて第１信号処理を実行させ、第２デジタル処理回路９１０に対して第２処理用データを入力することで第２デジタル処理回路９１０にて第２信号処理を実行させる。このように、図７の参考装置９００では、共通の構成を有するロジック回路９１２を２つ設ける必要があり、その分、回路面積が大型化する。
【００８２】
これに対し、実施例ＥＸ１＿１に係るＭＳＦＦ１００ａを利用してデータ処理装置１（図１参照）を構成すれば、第１処理用データに基づく第１信号処理と第２処理用データに基づく第２信号処理を単一のロジック回路２０に行わせることが可能であり、夫々の信号処理の結果を各ＭＳＦＦ３０を通じて取得することができる。このため、参考装置９００との比較において、回路面積を削減することが可能となる。
【００８３】
但し、実施例ＥＸ１＿１に係るＭＳＦＦ１００ａを用いたデータ処理装置１では、参考装置９００との比較において、クロック信号の周波数を２倍にする必要がある。例えば、図７の参考装置９００において各デジタル処理回路９１０へのクロック信号ＣＬＫ’の周波数が１００ｋＨｚである場合を考える。この場合、ＭＳＦＦ１００ａを用いたデータ処理装置１において参考装置９００と同様の速度にて第１及び第２信号処理を行って第１及び第２処理結果データを得るためには、データ処理装置１のクロック信号ＣＬＫの周波数を２００ｋＨｚにする必要がある。データ処理装置１のクロック信号ＣＬＫの周波数を２００ｋＨｚにすることで、データＡ１〜Ａ４が１００ｋＨｚの逆数の間隔で出力データＱとして得られると共にデータＢ１〜Ｂ４が１００ｋＨｚの逆数の間隔で出力データＱとして得られるからである。
【００８４】
参考装置９００での各信号処理及びデータ処理装置１での各信号処理が、通信（例えばＩ２Ｃ通信）を行うために必要な処理（通信処理）である場合を考える。この場合、第１信号処理及び第２信号処理を第１通信処理及び第２通信処理と読み替えることができる。参考装置９００においてもデータ処理装置１においても、各通信処理による通信速度を１００ｋＨｚ相当にする必要があるとする。そして、第１及び第２通信処理は並列実行される必要があるとする。第１通信処理及び第２通信処理の夫々は、必要な時間（例えば１０ミリ秒）だけ１００ｋＨｚ相当の通信速度で継続実行される必要があるとする。
【００８５】
そうすると、参考装置９００では、図８の上段に示す如く、通信区間において第１通信処理及び第２通信処理が２つのデジタル処理回路９１０を用いてクロック信号ＣＬＫ’に基づき１００ｋＨｚ相当の速度で並列実行される。これに対し、データ処理装置１では、図８の下段に示す如く、通信区間において第１通信処理及び第２通信処理が１つのデジタル処理回路２を用いて並列実行される。この際、デジタル処理回路２では、第１通信処理を構成する１クロック分の処理と第２通信処理を構成する１クロック分の処理とがクロック信号ＣＬＫに基づき２００ｋＨｚの逆数の間隔で交互に実行され、全体として、第１通信処理が１００ｋＨｚ相当の速度で実行されると共に第２通信処理が１００ｋＨｚ相当の速度で実行されることになり、必要とされる通信は実現される。
【００８６】
このように、実施例ＥＸ１＿１に係る構成は、使用されるクロック信号の周波数が２倍となることから、速度要求の高くない回路に対して特に好適である。例えば、２０ＭＨｚの原クロック信号にて動作するＣＰＵ（Central Processing Unit）と、ＣＰＵに対し１００ｋＨｚの逆数の間隔で第１割り込み要求を発生させる第１タイマと、ＣＰＵに対し２００ｋＨｚの逆数の間隔で第２割り込み要求を発生させる第２タイマと、が必要とされる装置を考える（全て図示せず）。当該装置では、例えば、原クロック信号を１／１０分周して２ＭＨｚの分周クロック信号を生成し、分周クロック信号をカウントする機能を第１及び第２タイマに持たせることで、所望の第１及び第２割り込み要求を発生させることができる。
【００８７】
この際、第１及び第２タイマによるカウントを並列実行させる必要があるが、このような装置に対して実施例ＥＸ１＿１に係る構成を適用すれば、単一の統合タイマにて、第１及び第２タイマの機能（即ち、１００ｋＨｚの逆数の間隔で第１割り込み要求を発生させる機能と、２００ｋＨｚの逆数の間隔で第２割り込み要求を発生させる機能）を実現することができる。この場合であっても、上記の統合タイマに対して２ＭＨｚの分周クロック信号を与えれば足る。つまり、第１及び第２タイマを別々に設ける場合と、統合タイマを１つだけ設ける場合とで、割り込み要求の発生のトリガとなるカウント値が相違するだけであって、それらのタイマに必要なクロック周波数は２ＭＨｚで十分であり、本発明の適用に当たって弊害は生じない。尚、各タイマは、例えば、分周クロック信号のクロック数（例えば分周クロック信号でのアップエッジの発生数）をカウントする加算器をロジック回路として持つ。
【００８８】
―――実施例ＥＸ１＿２―――
実施例ＥＸ１＿２を説明する。実施例ＥＸ１＿２では、図２の入力部１０６及び１０７がＭＳＦＦ１００に設けられていることを想定する。
【００８９】
図９は、実施例ＥＸ１＿２に係るＭＳＦＦ１００であるＭＳＦＦ１００ｂの内部構成図である。ＭＳＦＦ１００ｂは、制御信号生成回路１１０、インバータ回路１２０、マスタラッチ回路１３０ｂ、２つのスレーブラッチ回路１４０ｂ、出力選択回路１５０、及び、インバータ回路１６０を備える。即ち、図３のＭＳＦＦ１００ａを基準に、マスタラッチ回路１３０及び２つのスレーブラッチ回路１４０をマスタラッチ回路１３０ｂ及び２つのスレーブラッチ回路１４０ｂに置換することで、ＭＳＦＦ１００ｂが得られる。２つのスレーブラッチ回路１４０ｂを互いに区別する必要がある場合、２つのスレーブラッチ回路１４０ｂの内の一方を符号“１４０ｂ＿１”によって参照し、他方を符号“１４０ｂ＿２”によって参照する。
【００９０】
上記の置換を除き、図９のＭＳＦＦ１００ｂは図３のＭＳＦＦ１００ａと同様である。以下、ＭＳＦＦ１００ａから見たＭＳＦＦ１００ｂの相違点に注目し、特に記述無き事項については、実施例ＥＸ１＿１の記載が実施例ＥＸ１＿２にも適用されて良い。但し、この適用の際、実施例ＥＸ１＿１の記載における符号“１００ａ”、“１３０”、“１４０”、“１４０＿１”、“１４０＿２”は、実施例ＥＸ１＿２において、夫々、符号“１００ｂ”、“１３０ｂ”、“１４０ｂ”、“１４０ｂ＿１”、“１４０ｂ＿２”に読み替えられる。
【００９１】
マスタ入力データＤＭを示す信号はマスタラッチ回路１３０ｂの入力端に供給され、マスタ入力データＤＭに応じたマスタ出力データＱＭを示す信号がマスタラッチ回路１３０ｂの出力端から出力される。マスタ出力データＱＭを示す信号はスレーブ入力データＤＳを示す信号として各スレーブラッチ回路１４０ｂの入力端に供給される。各スレーブラッチ回路１４０ｂは、スレーブ入力データＤＳに応じたスレーブ出力データＱＳを生成してスレーブ出力データＱＳを示す信号を自身の出力端から出力する。出力選択回路１５０は、出力選択信号ＳＥＬに基づき、２つのスレーブラッチ回路１４０ｂからの２つのスレーブ出力データＱＳの何れか一方を選択し、選択したスレーブ出力データＱＳを示す信号を出力する。
【００９２】
ＭＳＦＦ１００ｂに対するセット信号ＳＥＴ（図２参照）はセット信号ＳＮ１及びＳＮ２から成り、ＭＳＦＦ１００ｂに対するリセット信号ＲＳＴ（図２参照）はリセット信号ＲＮ１及びＲＮ２から成る。セット信号ＳＮ１及びＳＮ２並びにＲＮ１及びＲＮ２は、夫々に、ローレベル又はハイレベルの信号レベルをとる１ビットのデジタル信号である。
【００９３】
マスタラッチ回路１３０ｂは、スイッチ１３１及び１３２と、ＮＡＮＤ回路１３３ｂ及び１３４ｂと、を備える。即ち、図３のマスタラッチ回路１３０を基準として、インバータ回路１３３及び１３４をＮＡＮＤ回路１３３ｂ及び１３４ｂに置換することで、図９のマスタラッチ回路１３０ｂが得られる。ＮＡＮＤ回路１３３ｂ及び１３４ｂの夫々は、第１〜第３入力端と出力端を備え、第１〜第３入力端に加わる３つの信号の否定論理積信号を出力端から出力する。
【００９４】
スイッチ１３１の第１端にはインバータ回路１２０からマスタ入力データＤＭを示す信号が入力され、スイッチ１３１の第２端はノード１３５に接続される。ＮＡＮＤ回路１３３ｂの第１及び第２入力端には夫々セット信号ＳＮ１及びＳＮ２が入力され、ＮＡＮＤ回路１３３ｂの第３入力端はノード１３５に接続される。故に、ＮＡＮＤ回路１３３ｂは、セット信号ＳＮ１及びＳＮ２とノード１３５の信号が全てハイレベルであるときに限り、自身の出力端からローレベルの信号を出力し、そうでない場合、ハイレベルの信号を出力する。ＮＡＮＤ回路１３３ｂの出力信号がマスタ出力データＱＭを示す信号となる。
【００９５】
ＮＡＮＤ回路１３３ｂの出力端はＮＡＮＤ回路１３４ｂの第１入力端に接続される。ＮＡＮＤ回路１３４ｂの第２及び第３入力端には夫々リセット信号ＲＮ１及びＲＮ２が入力される。故に、ＮＡＮＤ回路１３４ｂは、ＮＡＮＤ回路１３３ｂの出力信号とリセット信号ＲＮ１及びＲＮ２とが全てハイレベルであるときに限り、自身の出力端からローレベルの信号を出力し、そうでない場合、ハイレベルの信号を出力する。スイッチ１３２の第１端はＮＡＮＤ回路１３４ｂの出力端に接続され、スイッチ１３２の第２端はノード１３５に接続される。
【００９６】
スイッチ１３２の制御端にクロック信号ＣＰが入力され且つスイッチ１３１の制御端にクロック信号ＣＰの反転信号ＣＰＢが入力される点は、実施例ＥＸ１＿１と同様である。故に、クロック信号ＣＰがローレベルであるときにはマスタラッチ回路１３０ｂはスルー状態（マスタスルー状態）となり、クロック信号ＣＰがハイレベルであるときにはマスタラッチ回路１３０ｂはホールド状態（マスタホールド状態）となる。
【００９７】
マスタラッチ回路１３０ｂは、マスタ入力データＤＭに応じたマスタ出力データＱＭを出力可能なマスタ出力回路、及び、マスタ出力データＱＭをマスタ出力回路の入力側に帰還可能なマスタ帰還回路を備えている、と考えることができる。図９のマスタラッチ回路１３０ｂにおいて、マスタ出力回路は、ＮＡＮＤ回路１３３ｂにより或いはスイッチ１３１及びＮＡＮＤ回路１３３ｂにより構成され、マスタ帰還回路は、ＮＡＮＤ回路１３４ｂにより或いはスイッチ１３２及びＮＡＮＤ回路１３４ｂにより構成される。マスタ帰還回路による帰還とは、マスタ出力データＱＭに基づくＮＡＮＤ回路１３４ｂの出力信号をノード１３５に供給することを意味する。
【００９８】
マスタラッチ回路１３０ｂにおいて、スルー状態（マスタスルー状態）では、マスタ帰還回路による帰還が行われることなく現在のマスタ入力データＤＭに基づき現在のマスタ出力データＱＭ（ＮＡＮＤ回路１３３ｂの出力データ）が生成され、ホールド状態（マスタホールド状態）では、現在のマスタ入力データＤＭに関係なくマスタ帰還回路による帰還データ（ＮＡＮＤ回路１３４ｂの出力データ）に基づき現在のマスタ出力データＱＭが生成される。
【００９９】
但し、マスタラッチ回路１３０ｂでは、スルー状態及びホールド状態の夫々において、セット信号ＳＮ１及びＳＮ２をも参照してマスタ出力データＱＭが生成されることになり、ホールド状態において、リセット信号ＲＮ１及びＲＮ２をも参照してマスタ出力データＱＭが生成されることになる。
【０１００】
２つのスレーブラッチ回路１４０ｂであるスレーブラッチ回路１４０ｂ＿１及び１４０ｂ＿２は互いに同じ構成を有し、各スレーブラッチ回路１４０ｂは、スイッチ１４１及び１４２と、ＮＡＮＤ回路１４３ｂ及び１４４ｂと、を備える。即ち、図３の各スレーブラッチ回路１４０を基準として、インバータ回路１４３及び１４４をＮＡＮＤ回路１４３ｂ及び１４４ｂに置換することで、図９の各スレーブラッチ回路１４０ｂが得られる。ＮＡＮＤ回路１４３ｂ及び１４４ｂの夫々は、第１及び第２入力端と出力端を備え、第１及び第２入力端に加わる２つの信号の否定論理積信号を出力端から出力する。スレーブラッチ回路１４０ｂ＿１及び１４０ｂ＿２の夫々において、スイッチ１４１の第１端には、マスタラッチ回路１３０ｂからのマスタ出力データＱＭを示す信号がスレーブ入力データＤＳを示す信号として入力される。
【０１０１】
各スレーブラッチ回路１４０ｂにおいて、スイッチ１４１の第２端はノード１４５に接続される。ＮＡＮＤ回路１４３ｂの第１入力端にはリセット信号が入力され、ＮＡＮＤ回路１４３ｂの第２入力端はノード１４５に接続される。但し、スレーブラッチ回路１４０ｂ＿１、１４０ｂ＿２に対するリセット信号は、夫々、リセット信号ＲＮ１、ＲＮ２である。故に、スレーブラッチ回路１４０ｂ＿１において、ＮＡＮＤ回路１４３ｂは、リセット信号ＲＮ１とノード１４５の信号が全てハイレベルであるときに限り、自身の出力端からローレベルの信号を出力し、そうでない場合、ハイレベルの信号を出力する。スレーブラッチ回路１４０ｂ＿２において、ＮＡＮＤ回路１４３ｂは、リセット信号ＲＮ２とノード１４５の信号が全てハイレベルであるときに限り、自身の出力端からローレベルの信号を出力し、そうでない場合、ハイレベルの信号を出力する。各スレーブラッチ回路１４０ｂにおいて、ＮＡＮＤ回路１４３ｂの出力信号がスレーブ出力データＱＳを示す信号となる。スレーブラッチ回路１４０ｂ＿１、１４０ｂ＿２により生成及び出力されるスレーブ出力データＱＳは、夫々、符号“ＱＳ＿１”、“ＱＳ＿２”にて参照され得る。
【０１０２】
各スレーブラッチ回路１４０ｂにおいて、ＮＡＮＤ回路１４３ｂの出力端はＮＡＮＤ回路１４４ｂの第１入力端に接続され、ＮＡＮＤ回路１４４ｂの第２入力端にセット信号が入力される。但し、スレーブラッチ回路１４０ｂ＿１、１４０ｂ＿２に対するセット信号は、夫々、セット信号ＳＮ１、ＳＮ２である。故に、スレーブラッチ回路１４０ｂ＿１において、ＮＡＮＤ回路１４４ｂは、セット信号ＳＮ１とＮＡＮＤ回路１４３ｂの出力信号（ＱＳ＿１）の双方がハイレベルであるときに限り、自身の出力端からローレベルの信号を出力し、そうでない場合、ハイレベルの信号を出力する。スレーブラッチ回路１４０ｂ＿２において、ＮＡＮＤ回路１４４ｂは、セット信号ＳＮ２とＮＡＮＤ回路１４３ｂの出力信号（ＱＳ＿２）の双方がハイレベルであるときに限り、自身の出力端からローレベルの信号を出力し、そうでない場合、ハイレベルの信号を出力する。各スレーブラッチ回路１４０ｂにおいて、スイッチ１４２の第１端はＮＡＮＤ回路１４４ｂの出力端に接続され、スイッチ１４２の第２端はノード１４５に接続される。
【０１０３】
実施例ＥＸ１＿１と同様に、スレーブラッチ回路１４０ｂ＿１において、スイッチ１４１の制御端には制御信号ＣＰ１が入力される一方でスイッチ１４２の制御端には制御信号ＣＰ１の反転信号ＣＰ１Ｂが入力され、且つ、スレーブラッチ回路１４０ｂ＿２において、スイッチ１４１の制御端には制御信号ＣＰ２が入力される一方でスイッチ１４２の制御端には制御信号ＣＰ２の反転信号ＣＰ２Ｂが入力される。
【０１０４】
このため、スレーブラッチ回路１４０ｂ＿１は、制御信号ＣＰ１がハイレベルであるときにスルー状態（スレーブスルー状態）となり、制御信号ＣＰ１がローレベルであるときにホールド状態（スレーブホールド状態）となる。これに対し、スレーブラッチ回路１４０ｂ＿２は、制御信号ＣＰ２がハイレベルであるときにスルー状態（スレーブスルー状態）となり、制御信号ＣＰ２がローレベルであるときにホールド状態（スレーブホールド状態）となる。
【０１０５】
スレーブラッチ回路１４０ｂ＿１及び１４０ｂ＿２の夫々は、スレーブ入力データＤＳに応じたスレーブ出力データＱＳを出力可能なスレーブ出力回路、及び、スレーブ出力データＱＳをスレーブ出力回路の入力側に帰還可能なスレーブ帰還回路を備えている、と考えることができる。図９の各スレーブラッチ回路１４０ｂにおいて、スレーブ出力回路は、ＮＡＮＤ回路１４３ｂにより或いはスイッチ１４１及びＮＡＮＤ回路１４３ｂにより構成され、スレーブ帰還回路は、ＮＡＮＤ回路１４４ｂにより或いはスイッチ１４２及びＮＡＮＤ回路１４４ｂにより構成される。スレーブ帰還回路による帰還とは、スレーブ出力データＱＳに基づくＮＡＮＤ回路１４４ｂの出力信号をノード１４５に供給することを意味する。
【０１０６】
各スレーブラッチ回路１４０ｂにおいて、スルー状態（スレーブスルー状態）では、スレーブ帰還回路による帰還が行われることなく現在のスレーブ入力データＤＳに基づき現在のスレーブ出力データＱＳ（ＮＡＮＤ回路１４３ｂの出力データ）が生成され、ホールド状態（スレーブホールド状態）では、現在のスレーブ入力データＤＳに関係なくスレーブ帰還回路による帰還データ（ＮＡＮＤ回路１４４ｂの出力データ）に基づき現在のスレーブ出力データＱＳが生成される。
【０１０７】
但し、スレーブラッチ回路１４０ｂ＿１では、ホールド状態において、セット信号ＳＮ１をも参照してスレーブ出力データＱＳ（ＱＳ＿１）が生成されることになり、スルー状態及びホールド状態の夫々において、リセット信号ＲＮ１をも参照してスレーブ出力データＱＳ（ＱＳ＿１）が生成されることになる。同様に、スレーブラッチ回路１４０ｂ＿２では、ホールド状態において、セット信号ＳＮ２をも参照してスレーブ出力データＱＳ（ＱＳ＿２）が生成されることになり、スルー状態及びホールド状態の夫々において、リセット信号ＲＮ２をも参照してスレーブ出力データＱＳ（ＱＳ＿２）が生成されることになる。
【０１０８】
セット信号（ＳＮ１、ＳＮ２）は負論理の信号であって、ローレベルのセット信号（ＳＮ１、ＳＮ２）は、出力データＱを示す信号をハイレベルとするための信号（即ち出力データＱに“１”を設定するための信号）として機能する。リセット信号（ＲＮ１、ＲＮ２）は負論理の信号であって、ローレベルのリセット信号（ＲＮ１、ＲＮ２）は、出力データＱを示す信号をローレベルとするための信号（即ち出力データＱに“０”を設定するための信号）として機能する。
【０１０９】
―――実施例ＥＸ１＿３―――
実施例ＥＸ１＿３を説明する。実施例ＥＸ１＿１及びＥＸ１＿２では、１つのマスタラッチ回路に対して２つのスレーブラッチ回路を並列に設ける構成を説明したが、１つのマスタラッチ回路に対してＮ個のスレーブラッチ回路を並列に設けることができ、Ｎを２以上の任意の整数とすることができる。
【０１１０】
“Ｎ＝４”とする場合のＭＳＦＦの構成例を図１０に示す。図１０は、実施例ＥＸ１＿３に係るＭＳＦＦ１００であるＭＳＦＦ１００ｃの内部構成図である。ＭＳＦＦ１００ｃは、制御信号生成回路１１０ｃ、インバータ回路１２０、マスタラッチ回路１３０ｃ、４つのスレーブラッチ回路１４０ｃ、出力選択回路１５０ｃ、及び、インバータ回路１６０を備える。４つのスレーブラッチ回路１４０ｃを互いに区別する必要がある場合、４つのスレーブラッチ回路１４０ｃを、符号“１４０ｃ＿１”、“１４０ｃ＿２”、“１４０ｃ＿３”、“１４０ｃ＿４”によって参照する。
【０１１１】
以下、実施例ＥＸ１＿１に係るＭＳＦＦ１００ａ又は実施例ＥＸ１＿２に係るＭＳＦＦ１００ｂから見たＭＳＦＦ１００ｃの相違点に注目し、特に記述無き事項については、実施例ＥＸ１＿１又はＥＸ１＿２の記載が実施例ＥＸ１＿３にも適用されて良い。但し、この適用の際、実施例ＥＸ１＿１の記載における符号“１００ａ”、“１３０”、“１４０”、又は、実施例ＥＸ１＿２の記載における符号“１００ｂ”、 “１３０ｂ”、“１４０ｂ”は、実施例ＥＸ１＿３において、夫々、符号“１００ｃ”、“１３０ｃ”、“１４０ｃ”に読み替えられる。尚、実施例ＥＸ１＿３では、図２の入力部１０６及び１０７がＭＳＦＦ１００ｃに設けられていることを想定する。
【０１１２】
実施例ＥＸ１＿３において、クロック選択信号ＳＥＬＣはクロック選択信号ＳＥＬＣ１及びＳＥＬＣ２から成る。クロック選択信号ＳＥＬＣ１及びＳＥＬＣ２の夫々は、１ビットのデジタル信号であり、ハイレベル又はローレベルの信号レベルをとる。制御信号生成回路１１０ｃに対し、クロック信号ＣＰ及びクロック選択信号ＳＥＬＣ１及びＳＥＬＣ２が入力される。
【０１１３】
制御信号生成回路１１０ｃは、信号ＳＥＬＣ１、ＳＥＬＣ２及びＣＰに基づき制御信号ＣＰ１〜ＣＰ４を生成する。具体的には、回路１１０ｃはＡＮＤ回路１１３〜１１６を備える。ＡＮＤ回路１１３は、信号ＳＥＬＣ１の反転信号と信号ＳＥＬＣ２の反転信号と信号ＣＰとの論理積信号を、制御信号ＣＰ１として出力する。ＡＮＤ回路１１４は、信号ＳＥＬＣ１の反転信号と信号ＳＥＬＣ２と信号ＣＰとの論理積信号を、制御信号ＣＰ２として出力する。ＡＮＤ回路１１５は、信号ＳＥＬＣ１と信号ＳＥＬＣ２の反転信号と信号ＣＰとの論理積信号を、制御信号ＣＰ３として出力する。ＡＮＤ回路１１６は、信号ＳＥＬＣ１と信号ＳＥＬＣ２と信号ＣＰとの論理積信号を、制御信号ＣＰ４として出力する。
【０１１４】
故に、クロック選択信号ＳＥＬＣ１及びＳＥＬＣ２が共にローレベルであるときには、制御信号ＣＰ１が特定制御信号となり且つ制御信号ＣＰ２〜ＣＰ４が非特定制御信号となる。クロック選択信号ＳＥＬＣ１、ＳＥＬＣ２が夫々ローレベル、ハイレベルであるときには、制御信号ＣＰ２が特定制御信号となり且つ制御信号ＣＰ１、ＣＰ３及びＣＰ４が非特定制御信号となる。クロック選択信号ＳＥＬＣ１、ＳＥＬＣ２が夫々ハイレベル、ローレベルであるときには、制御信号ＣＰ３が特定制御信号となり且つ制御信号ＣＰ１、ＣＰ２及びＣＰ４が非特定制御信号となる。クロック選択信号ＳＥＬＣ１及びＳＥＬＣ２が共にハイレベルであるときには、制御信号ＣＰ４が特定制御信号となり且つ制御信号ＣＰ１〜ＣＰ３が非特定制御信号となる。上述したように、特定制御信号はクロック信号ＣＰと同期して信号レベルが変化する制御信号を意味し、非特定制御信号は信号レベルが所定レベル（ここではローレベル）で固定される制御信号を意味する。制御信号生成回路１１０ｃは、クロック選択信号ＳＥＬＣ１及びＳＥＬＣ２に基づき、制御信号ＣＰ１〜ＣＰ４の何れか１つを特定制御信号とし、残りの３つを非特定制御信号とする回路であると言える。
【０１１５】
このように、制御信号ＣＰ１〜ＣＰ４の内、何れか１つがクロック信号ＣＰと等価となる。そして、制御信号ＣＰ１、ＣＰ２、ＣＰ３、ＣＰ４は、夫々、スレーブラッチ回路１４０ｃ＿１、１４０ｃ＿２、１４０ｃ＿３、１４０ｃ＿４に供給される。故に、クロック選択信号ＳＥＬＣ１及びＳＥＬＣ２は、４つのスレーブラッチ回路１４０ｃの何れに対してクロック信号ＣＰを供給するのかを選択する信号として機能する。制御信号ＣＰ１〜ＣＰ４を第１〜第４クロック信号と読み替えても良く、この場合、クロック信号ＣＬＫ及びＣＰは基準クロック信号と称され得る。
【０１１６】
インバータ回路１２０の入力端には入力データＤを示す信号が供給され、インバータ回路１２０の出力端からは入力データＤを示す信号の反転信号が出力される。インバータ回路１２０の出力信号（即ち入力データＤを示す信号の反転信号）は、マスタ入力データＤＭを示す信号として機能する。マスタ入力データＤＭを示す信号はマスタラッチ回路１３０ｃの入力端に供給され、マスタ入力データＤＭに応じたマスタ出力データＱＭを示す信号がマスタラッチ回路１３０ｃの出力端から出力される。マスタ出力データＱＭを示す信号はスレーブ入力データＤＳを示す信号として各スレーブラッチ回路１４０ｃの入力端に供給される。各スレーブラッチ回路１４０ｃは、スレーブ入力データＤＳに応じたスレーブ出力データＱＳを生成してスレーブ出力データＱＳを示す信号を自身の出力端から出力する。出力選択回路１５０ｃは、出力選択信号ＳＥＬに基づき、４つのスレーブラッチ回路１４０ｃからの４つのスレーブ出力データＱＳの何れか１つを選択し、選択したスレーブ出力データＱＳを示す信号を出力する。インバータ回路１６０は、出力選択回路１５０ｃにて選択及び出力されたスレーブ出力データＱＳを示す信号の反転信号を、出力データＱを示す信号として生成する。出力データＱを示す信号はデータ出力部１０２から出力される。
【０１１７】
マスタラッチ回路１３０ｃは、クロック信号ＣＰに同期して動作し、クロック信号ＣＰにおける所定のレベル変化に応答してデータＤＭの取り込み及び保持（ラッチ）を行う。マスタラッチ回路１３０ｃの保持データがマスタ出力データＱＭとなる。スレーブラッチ回路１４０ｃ＿ｉは、制御信号ＣＰｉに同期して動作し、制御信号ＣＰｉにおける所定のレベル変化に応答してデータＱＭと一致するデータＤＳの取り込み及び保持（ラッチ）を行う（ここにおける“ｉ”は１、２、３又は４）。
【０１１８】
ＭＳＦＦ１００ｃに対するセット信号ＳＥＴ（図２参照）はセット信号ＳＮ１〜ＳＮ４から成り、ＭＳＦＦ１００ｃに対するリセット信号ＲＳＴ（図２参照）はリセット信号ＲＮ１〜ＲＮ４から成る。セット信号ＳＮ１〜ＳＮ４並びにＲＮ１〜ＲＮ４は、夫々に、ローレベル又はハイレベルの信号レベルをとる１ビットのデジタル信号である。
【０１１９】
マスタラッチ回路１３０ｃは、スイッチ１３１及び１３２と、ＮＡＮＤ回路１３３ｃ及び１３４ｃと、を備える。即ち、図３のマスタラッチ回路１３０を基準として、インバータ回路１３３及び１３４をＮＡＮＤ回路１３３ｃ及び１３４ｃに置換することで、図１０のマスタラッチ回路１３０ｃが得られる。ＮＡＮＤ回路１３３ｃ及び１３４ｃの夫々は、第１〜第５入力端と出力端を備え、第１〜第５入力端に加わる５つの信号の否定論理積信号を出力端から出力する。
【０１２０】
スイッチ１３１の第１端にはインバータ回路１２０からマスタ入力データＤＭを示す信号が入力され、スイッチ１３１の第２端はノード１３５に接続される。ＮＡＮＤ回路１３３ｃの第１〜第４入力端には夫々セット信号ＳＮ１〜ＳＮ４が入力され、ＮＡＮＤ回路１３３ｃの第５入力端はノード１３５に接続される。故に、ＮＡＮＤ回路１３３ｃは、セット信号ＳＮ１〜ＳＮ４とノード１３５の信号が全てハイレベルであるときに限り、自身の出力端からローレベルの信号を出力し、そうでない場合、ハイレベルの信号を出力する。ＮＡＮＤ回路１３３ｃの出力信号がマスタ出力データＱＭを示す信号となる。
【０１２１】
ＮＡＮＤ回路１３３ｃの出力端はＮＡＮＤ回路１３４ｃの第１入力端に接続される。ＮＡＮＤ回路１３４ｃの第２〜第５入力端には夫々リセット信号ＲＮ１〜ＲＮ４が入力される。故に、ＮＡＮＤ回路１３４ｃは、ＮＡＮＤ回路１３３ｃの出力信号とリセット信号ＲＮ１〜ＲＮ４とが全てハイレベルであるときに限り、自身の出力端からローレベルの信号を出力し、そうでない場合、ハイレベルの信号を出力する。スイッチ１３２の第１端はＮＡＮＤ回路１３４ｃの出力端に接続され、スイッチ１３２の第２端はノード１３５に接続される。
【０１２２】
スイッチ１３２の制御端にクロック信号ＣＰが入力され且つスイッチ１３１の制御端にクロック信号ＣＰの反転信号ＣＰＢが入力される点は、実施例ＥＸ１＿１と同様である。故に、クロック信号ＣＰがローレベルであるときにはマスタラッチ回路１３０ｃはスルー状態（マスタスルー状態）となり、クロック信号ＣＰがハイレベルであるときにはマスタラッチ回路１３０ｃはホールド状態（マスタホールド状態）となる。
【０１２３】
マスタラッチ回路１３０ｃは、マスタ入力データＤＭに応じたマスタ出力データＱＭを出力可能なマスタ出力回路、及び、マスタ出力データＱＭをマスタ出力回路の入力側に帰還可能なマスタ帰還回路を備えている、と考えることができる。図１０のマスタラッチ回路１３０ｃにおいて、マスタ出力回路は、ＮＡＮＤ回路１３３ｃにより或いはスイッチ１３１及びＮＡＮＤ回路１３３ｃにより構成され、マスタ帰還回路は、ＮＡＮＤ回路１３４ｃにより或いはスイッチ１３２及びＮＡＮＤ回路１３４ｃにより構成される。マスタ帰還回路による帰還とは、マスタ出力データＱＭに基づくＮＡＮＤ回路１３４ｃの出力信号をノード１３５に供給することを意味する。
【０１２４】
マスタラッチ回路１３０ｃにおいて、スルー状態（マスタスルー状態）では、マスタ帰還回路による帰還が行われることなく現在のマスタ入力データＤＭに基づき現在のマスタ出力データＱＭ（ＮＡＮＤ回路１３３ｃの出力データ）が生成され、ホールド状態（マスタホールド状態）では、現在のマスタ入力データＤＭに関係なくマスタ帰還回路による帰還データ（ＮＡＮＤ回路１３４ｃの出力データ）に基づき現在のマスタ出力データＱＭが生成される。
【０１２５】
但し、マスタラッチ回路１３０ｃでは、スルー状態及びホールド状態の夫々において、セット信号ＳＮ１〜ＳＮ４をも参照してマスタ出力データＱＭが生成されることになり、ホールド状態において、リセット信号ＲＮ１〜ＲＮ４をも参照してマスタ出力データＱＭが生成されることになる。
【０１２６】
図１１に、ＭＳＦＦ１００ｃに設けられたスレーブラッチ回路１４０ｃ＿１〜１４０ｃ＿４の構成を示す。スレーブラッチ回路１４０ｃ＿１〜１４０ｃ＿４は互いに同じ構成を有し、各スレーブラッチ回路１４０ｃは、スイッチ１４１及び１４２と、ＮＡＮＤ回路１４３ｃ及び１４４と、を備える。即ち、図３の各スレーブラッチ回路１４０を基準として、インバータ回路１４３及び１４４をＮＡＮＤ回路１４３ｃ及び１４４ｃに置換することで、図１１の各スレーブラッチ回路１４０ｃが得られる。ＮＡＮＤ回路１４３ｃ及び１４４ｃの夫々は、第１及び第２入力端と出力端を備え、第１及び第２入力端に加わる２つの信号の否定論理積信号を出力端から出力する。スレーブラッチ回路１４０ｃ＿１〜１４０ｃ＿４の夫々において、スイッチ１４１の第１端には、マスタラッチ回路１３０ｃからのマスタ出力データＱＭを示す信号がスレーブ入力データＤＳを示す信号として入力される。
【０１２７】
各スレーブラッチ回路１４０ｃにおいて、スイッチ１４１の第２端はノード１４５に接続される。ＮＡＮＤ回路１４３ｃの第１入力端にはリセット信号が入力され、ＮＡＮＤ回路１４３ｃの第２入力端はノード１４５に接続される。但し、スレーブラッチ回路１４０ｃ＿１、１４０ｃ＿２、１４０ｃ＿３、１４０ｃ＿４に対するリセット信号は、夫々、リセット信号ＲＮ１、ＲＮ２、ＲＮ３、ＲＮ４である。故に、スレーブラッチ回路１４０ｃ＿１において、ＮＡＮＤ回路１４３ｃは、リセット信号ＲＮ１とノード１４５の信号が共にハイレベルであるときに限り、自身の出力端からローレベルの信号を出力し、そうでない場合、ハイレベルの信号を出力する。同様に、スレーブラッチ回路１４０ｃ＿２において、ＮＡＮＤ回路１４３ｃは、リセット信号ＲＮ２とノード１４５の信号が共にハイレベルであるときに限り、自身の出力端からローレベルの信号を出力し、そうでない場合、ハイレベルの信号を出力する。スレーブラッチ回路１４０ｃ＿３及び１４０ｃ＿４についても同様である。各スレーブラッチ回路１４０ｃにおいて、ＮＡＮＤ回路１４３ｃの出力信号がスレーブ出力データＱＳを示す信号となる。スレーブラッチ回路１４０ｃ＿１、１４０ｃ＿２、１４０ｃ＿３、１４０ｃ＿４により生成及び出力されるスレーブ出力データＱＳは、夫々、符号“ＱＳ＿１”、“ＱＳ＿２”、“ＱＳ＿３”、“ＱＳ＿４”にて参照され得る。
【０１２８】
各スレーブラッチ回路１４０ｃにおいて、ＮＡＮＤ回路１４３ｃの出力端はＮＡＮＤ回路１４４ｃの第１入力端に接続され、ＮＡＮＤ回路１４４ｃの第２入力端にセット信号が入力される。但し、スレーブラッチ回路１４０ｃ＿１、１４０ｃ＿２、１４０ｃ＿３、１４０ｃ＿４に対するセット信号は、夫々、セット信号ＳＮ１、ＳＮ２、ＳＮ３、ＳＮ４である。故に、スレーブラッチ回路１４０ｃ＿１において、ＮＡＮＤ回路１４４ｃは、セット信号ＳＮ１とＮＡＮＤ回路１４３ｃの出力信号（ＱＳ＿１）の双方がハイレベルであるときに限り、自身の出力端からローレベルの信号を出力し、そうでない場合、ハイレベルの信号を出力する。スレーブラッチ回路１４０ｃ＿２において、ＮＡＮＤ回路１４４ｃは、セット信号ＳＮ２とＮＡＮＤ回路１４３ｃの出力信号（ＱＳ＿２）の双方がハイレベルであるときに限り、自身の出力端からローレベルの信号を出力し、そうでない場合、ハイレベルの信号を出力する。スレーブラッチ回路１４０ｃ＿３及び１４０ｃ＿４についても同様である。各スレーブラッチ回路１４０ｃにおいて、スイッチ１４２の第１端はＮＡＮＤ回路１４４ｃの出力端に接続され、スイッチ１４２の第２端はノード１４５に接続される。
【０１２９】
実施例ＥＸ１＿１と同様に、スレーブラッチ回路１４０ｃ＿１において、スイッチ１４１の制御端には制御信号ＣＰ１が入力される一方でスイッチ１４２の制御端には制御信号ＣＰ１の反転信号ＣＰ１Ｂが入力され、且つ、スレーブラッチ回路１４０ｃ＿２において、スイッチ１４１の制御端には制御信号ＣＰ２が入力される一方でスイッチ１４２の制御端には制御信号ＣＰ２の反転信号ＣＰ２Ｂが入力される。更に、スレーブラッチ回路１４０ｃ＿３において、スイッチ１４１の制御端には制御信号ＣＰ３が入力される一方でスイッチ１４２の制御端には制御信号ＣＰ３の反転信号ＣＰ３Ｂが入力され、且つ、スレーブラッチ回路１４０ｃ＿４において、スイッチ１４１の制御端には制御信号ＣＰ４が入力される一方でスイッチ１４２の制御端には制御信号ＣＰ４の反転信号ＣＰ４Ｂが入力される。このため、
スレーブラッチ回路１４０ｃ＿１は、制御信号ＣＰ１がハイレベルであるときにスルー状態（スレーブスルー状態）となり、制御信号ＣＰ１がローレベルであるときにホールド状態（スレーブホールド状態）となる。
スレーブラッチ回路１４０ｃ＿２は、制御信号ＣＰ２がハイレベルであるときにスルー状態（スレーブスルー状態）となり、制御信号ＣＰ２がローレベルであるときにホールド状態（スレーブホールド状態）となる。  
スレーブラッチ回路１４０ｃ＿３は、制御信号ＣＰ３がハイレベルであるときにスルー状態（スレーブスルー状態）となり、制御信号ＣＰ３がローレベルであるときにホールド状態（スレーブホールド状態）となる。
スレーブラッチ回路１４０ｃ＿４は、制御信号ＣＰ４がハイレベルであるときにスルー状態（スレーブスルー状態）となり、制御信号ＣＰ４がローレベルであるときにホールド状態（スレーブホールド状態）となる。
【０１３０】
スレーブラッチ回路１４０ｃ＿１〜１４０ｃ＿４の夫々は、スレーブ入力データＤＳに応じたスレーブ出力データＱＳを出力可能なスレーブ出力回路、及び、スレーブ出力データＱＳをスレーブ出力回路の入力側に帰還可能なスレーブ帰還回路を備えている、と考えることができる。図１１の各スレーブラッチ回路１４０ｃにおいて、スレーブ出力回路は、ＮＡＮＤ回路１４３ｃにより或いはスイッチ１４１及びＮＡＮＤ回路１４３ｃにより構成され、スレーブ帰還回路は、ＮＡＮＤ回路１４４ｃにより或いはスイッチ１４２及びＮＡＮＤ回路１４４ｃにより構成される。スレーブ帰還回路による帰還とは、スレーブ出力データＱＳに基づくＮＡＮＤ回路１４４ｃの出力信号をノード１４５に供給することを意味する。
【０１３１】
各スレーブラッチ回路１４０ｃにおいて、スルー状態（スレーブスルー状態）では、スレーブ帰還回路による帰還が行われることなく現在のスレーブ入力データＤＳに基づき現在のスレーブ出力データＱＳ（ＮＡＮＤ回路１４３ｃの出力データ）が生成され、ホールド状態（スレーブホールド状態）では、現在のスレーブ入力データＤＳに関係なくスレーブ帰還回路による帰還データ（ＮＡＮＤ回路１４４ｃの出力データ）に基づき現在のスレーブ出力データＱＳが生成される。
【０１３２】
但し、スレーブラッチ回路１４０ｃ＿１では、ホールド状態において、セット信号ＳＮ１をも参照してスレーブ出力データＱＳ（ＱＳ＿１）が生成されることになり、スルー状態及びホールド状態の夫々において、リセット信号ＲＮ１をも参照してスレーブ出力データＱＳ（ＱＳ＿１）が生成されることになる。
同様に、スレーブラッチ回路１４０ｃ＿２では、ホールド状態において、セット信号ＳＮ２をも参照してスレーブ出力データＱＳ（ＱＳ＿２）が生成されることになり、スルー状態及びホールド状態の夫々において、リセット信号ＲＮ２をも参照してスレーブ出力データＱＳ（ＱＳ＿２）が生成されることになる。
スレーブラッチ回路１４０ｃ＿３及び１４０ｃ＿４についても同様である。
【０１３３】
セット信号（ＳＮ１〜ＳＮ４）は負論理の信号であって、ローレベルのセット信号（ＳＮ１〜ＳＮ４）は、出力データＱを示す信号をハイレベルとするための信号（即ち出力データＱに“１”を設定するための信号）として機能する。リセット信号（ＲＮ１〜ＲＮ４）は負論理の信号であって、ローレベルのリセット信号（ＲＮ１〜ＲＮ４）は、出力データＱを示す信号をローレベルとするための信号（即ち出力データＱに“０”を設定するための信号）として機能する。
【０１３４】
図１０を再度参照する。出力選択回路１５０ｃは、出力選択信号ＳＥＬに基づき、スレーブラッチ回路１４０ｃ＿１〜１４０ｃ＿４からのスレーブ出力データＱＳ＿１〜ＱＳ＿４の内の１つを選択し、選択したデータをインバータ回路１６０に対して出力する。実施例ＥＸ１＿３において、出力選択信号ＳＥＬは出力選択信号ＳＥＬ１及びＳＥＬ２から成る。出力選択信号ＳＥＬ１及びＳＥＬ２の夫々は、１ビットのデジタル信号であり、ハイレベル又はローレベルの信号レベルをとる。
【０１３５】
具体的には、出力選択回路１５０ｃはスイッチ１５３〜１５８を備える。スイッチ１５３〜１５６の第１端には、夫々、スレーブ出力データＱＳ＿１〜ＱＳ＿４を示す信号が加わる。スイッチ１５３及び１５４の各第２端とスイッチ１５７の第１端は互いに共通接続され、スイッチ１５５及び１５６の各第２端とスイッチ１５８の第１端は互いに共通接続される。更に、スイッチ１５７及び１５８の各第２端は出力選択回路１５０ｃの出力端にて互いに共通接続される。出力選択回路１５０ｃの出力端はインバータ回路１６０の入力端に接続される。
【０１３６】
スイッチ１５４及び１５６の各制御端には信号ＳＥＬ１が入力され、スイッチ１５３及び１５５の各制御端には信号ＳＥＬ１の反転信号ＳＥＬ１Ｂが入力される。スイッチ１５８の制御端には信号ＳＥＬ２が入力され、スイッチ１５７の制御端には信号ＳＥＬ２の反転信号ＳＥＬ２Ｂが入力される。このため、信号ＳＥＬ１及びＳＥＬ２におけるローレベル及びハイレベルの組み合わせに応じて、スレーブ出力データＱＳ＿１〜ＱＳ＿４の何れか１つが選択され、選択されたデータを示す信号が出力選択回路１５０ｃから出力される。選択されたデータはインバータ回路１６０を通じ、出力データＱとしてデータ出力部１０２から出力される。
【０１３７】
ＭＳＦＦ１００ｃに対しても、図６の動作例と同様の動作を適用できる。但し、ＭＳＦＦ１００ｃには４つのスレーブラッチ回路１４０ｃが設けられているので、クロック信号ＣＬＫ（＝ＣＰ）の１周期が経過するごとに、順次、データＡ１、Ｂ１、Ｃ１、Ｄ１、Ａ２、Ｂ２、Ｃ２、Ｄ２、Ａ３、Ｂ３、Ｃ３、Ｄ３、Ａ４、Ｂ４、Ｃ４、Ｄ４・・・を、この順番で、入力データＤとして、ＭＳＦＦ１００ｃに供給すれば良い。
【０１３８】
この際、データＡ１〜Ａ４がスレーブラッチ回路１４０ｃ＿１にて順次ラッチされ、且つ、データＢ１〜Ｂ４がスレーブラッチ回路１４０ｃ＿２にて順次ラッチされ、且つ、データＣ１〜Ｃ４がスレーブラッチ回路１４０ｃ＿３にて順次ラッチされ、且つ、データＤ１〜Ｄ４がスレーブラッチ回路１４０ｃ＿４にて順次ラッチされるように、クロック選択信号ＳＥＬＣ１及びＳＥＬＣ２をＭＳＦＦ１００ｃに供給すれば良く、加えて、データＡ１、Ｂ１、Ｃ１、Ｄ１、Ａ２、Ｂ２、Ｃ２、Ｄ２、Ａ３、Ｂ３、Ｃ３、Ｄ３、Ａ４、Ｂ４、Ｃ４、Ｄ４・・・が、この順番でＭＳＦＦ１００ｃから出力データＱとして出力されるよう、出力選択信号ＳＥＬ１及びＳＥＬ２をＭＳＦＦ１００ｃに供給すれば良い。
【０１３９】
つまり、ＭＳＦＦ１００ｃにおいて、第１、第２、第３、第４タイミングでのマスタ入力データＤＭ（ここでは入力データＤと一致）が、夫々、スレーブラッチ回路１４０ｃ＿１、１４０ｃ＿２、１４０ｃ＿３、１４０ｃ＿４にて取り込まれて保持されるよう、ステート制御回路３はクロック選択信号ＳＥＬＣ（ＳＥＬＣ１、ＳＥＬＣ２）をＭＳＦＦ１００ｃに供給すると良い。第１〜第４タイミングは互いに異なるタイミングである。詳細には、第１タイミングは、マスタ入力データＤＭがデータＡ１、Ａ２、Ａ３又はＡ４となるタイミングに相当し、第２タイミングは、マスタ入力データＤＭがデータＢ１、Ｂ２、Ｂ３又はＢ４となるタイミングに相当し、第３タイミングは、マスタ入力データＤＭがデータＣ１、Ｃ２、Ｃ３又はＣ４となるタイミングに相当し、第４タイミングは、マスタ入力データＤＭがデータＤ１、Ｄ２、Ｄ３又はＤ４となるタイミングに相当する。そして、ステート制御回路３は、ＭＳＦＦ１００ｃに対する出力選択信号ＳＥＬ（ＳＥＬ１、ＳＥＬ２）のレベルを制御することで、スレーブラッチ回路１４０ｃ＿１、１４０ｃ＿２、１４０ｃ＿３、１４０ｃ＿４の保持データ（例えばデータＡ１、Ｂ１、Ｃ１、Ｄ１）を、別々のタイミングにデータ出力部１０２から出力データＱとして出力させると良い。
【０１４０】
ＭＳＦＦ１００ｃを用いれば、図１のロジック回路２０にて、第１処理用データに基づく第１信号処理と、第２処理用データに基づく第２信号処理と、第３処理用データに基づく第３信号処理と、第４処理用データに基づく第４信号処理と、を並列実行させることができる。第１処理用データは、データＡ１〜Ａ４の何れかを指す又はデータＡ１〜Ａ４の総称である。第２処理用データは、データＢ１〜Ｂ４の何れかを指す又はデータＢ１〜Ｂ４の総称である。第３処理用データは、データＣ１〜Ｃ４の何れかを指す又はデータＣ１〜Ｃ４の総称である。第４処理用データは、データＤ１〜Ｄ４の何れかを指す又はデータＤ１〜Ｄ４の総称である。第１処理用データ（Ａ１〜Ａ４）と第２処理用データ（Ｂ１〜Ｂ４）と第３処理用データ（Ｃ１〜Ｃ４）と第４処理用データ（Ｄ１〜Ｄ４）とは互いに異なるデータである。但し、偶然、それらの値が一致することもありえる。
【０１４１】
図１の各ＭＳＦＦ１０がＭＳＦＦ１００ｃとして構成される場合、データＡ１〜Ａ４、Ｂ１〜Ｂ４、Ｃ１〜Ｃ４及びＤ１〜Ｄ４は各ＭＳＦＦ１０の入出力データあって、この内、データＡ１〜Ａ４は各ＭＳＦＦ１０の入出力データの一部である第１処理用データに相当し、データＢ１〜Ｂ４は各ＭＳＦＦ１０の入出力データの他の一部である第２処理用データに相当し、データＣ１〜Ｃ４は各ＭＳＦＦ１０の入出力データの更に他の一部である第３処理用データに相当し、データＤ１〜Ｄ４は各ＭＳＦＦ１０の入出力データの更に他の一部である第４処理用データに相当する。
【０１４２】
ロジック回路２０は、各ＭＳＦＦ１０から自身に対し第１処理用データ（Ａ１〜Ａ４）が入力されている区間では、第１処理用データに基づく第１信号処理を行って第１信号処理の結果を示すデータを第１処理結果データとして各ＭＳＦＦ３０に出力する。ロジック回路２０は、各ＭＳＦＦ１０から自身に対し第２処理用データ（Ｂ１〜Ｂ４）が入力されている区間では、第２処理用データに基づく第２信号処理を行って第２信号処理の結果を示すデータを第２処理結果データとして各ＭＳＦＦ３０に出力する。ロジック回路２０は、各ＭＳＦＦ１０から自身に対し第３処理用データ（Ｃ１〜Ｃ４）が入力されている区間では、第３処理用データに基づく第３信号処理を行って第３信号処理の結果を示すデータを第３処理結果データとして各ＭＳＦＦ３０に出力する。ロジック回路２０は、各ＭＳＦＦ１０から自身に対し第４処理用データ（Ｄ１〜Ｄ４）が入力されている区間では、第４処理用データに基づく第４信号処理を行って第４信号処理の結果を示すデータを第４処理結果データとして各ＭＳＦＦ３０に出力する。
【０１４３】
図１の各ＭＳＦＦ３０がＭＳＦＦ１００ｃとして構成される場合、データＡ１〜Ａ４、Ｂ１〜Ｂ４、Ｃ１〜Ｃ４及びＤ１〜Ｄ４は各ＭＳＦＦ３０の入出力データあって、この内、データＡ１〜Ａ４は各ＭＳＦＦ３０の入出力データの一部である第１処理結果データに相当し、データＢ１〜Ｂ４は各ＭＳＦＦ３０の入出力データの他の一部である第２処理結果データに相当し、データＣ１〜Ｃ４は各ＭＳＦＦ３０の入出力データの更に他の一部である第３処理結果データに相当し、データＤ１〜Ｄ４は各ＭＳＦＦ３０の入出力データの更に他の一部である第４処理結果データに相当する。各ＭＳＦＦ３０から後段回路５０に対し、第１、第２、第３、第４処理結果データが供給されている区間において、後段回路５０は、夫々、第１、第２、第３、第４処理結果データに基づく所定の処理を実行できる。
【０１４４】
＜＜第２実施形態＞＞
本発明の第２実施形態を説明する。第２実施形態及び後述の第３実施形態は第１実施形態を基礎とする実施形態であり、第２及び第３実施形態において特に述べない事項に関しては、矛盾の無い限り、第１実施形態の記載が第２及び第３実施形態にも適用される。第２実施形態の記載を解釈するにあたり、第１及び第２実施形態間で矛盾する事項については第２実施形態の記載が優先されて良い（後述の第３実施形態についても同様）。矛盾の無い限り、第１〜第３実施形態の内、任意の複数の実施形態を組み合わせても良い。
【０１４５】
第２実施形態では、第１実施形態に示したＭＳＦＦの構造をスキャンテストに利用する技術を説明する。図１２は、第２実施形態に係るデータ処理装置１ａの構成図である。図１のデータ処理装置１を基準として、デジタル処理回路２をデジタル処理回路２ａに置換すると共にデータ処理装置１に対してテスト結果評価回路８を追加することで、データ処理装置１ａが形成される。テスト結果評価回路８は応答圧縮回路８ａ及び結果比較回路８ｂから成る。デジタル処理回路２ａには、図１のデジタル処理回路２と同様、ＭＳＦＦ１０［１］〜ＭＳＦＦ１０［ＭＡ］、ロジック回路２０及びＭＳＦＦ３０［１］〜ＭＳＦＦ３０［ＭＢ］が設けられており、以下に示す事項を除き、デジタル処理回路２ａはデジタル処理回路２と同様のものである。第１実施形態の記載を第２実施形態に適用する際、第１実施形態の記載における符号“１”、“２”は、第２実施形態において“１ａ”、“２ａ”に読み替えられる。
【０１４６】
第２実施形態に係るステート制御回路３は、デジタル処理回路２ａ内の各ＭＳＦＦに対し、上述の出力選択信号ＳＥＬ及びクロック選択信号ＳＥＬＣに加えて入力選択信号ＳＣも供給する。図１２では、図示の煩雑化のため、信号ＳＥＬ、ＳＥＬＣ及びＳＣを伝達する配線が１本の線にて示されているが、それらの信号は別々の配線で伝達される。
【０１４７】
図１３に、１つのＭＳＦＦ２００における、データ及び信号の入出力に関わる構成を示す。第２実施形態では、ＭＳＦＦ２００が、図１２のＭＳＦＦ１０［１］〜１０［ＭＡ］及びＭＳＦＦ３０［１］〜３０［ＭＢ］の夫々として用いられるものとする。
【０１４８】
ＭＳＦＦ２００は、図２のＭＳＦＦ１００にも備えられた入力部１０１及び１０３〜１０７並びに出力部１０２に加えて、スキャン入力部１０８及び入力選択信号入力部１０９を更に備える。尚、ＭＳＦＦ２００に入力部１０６及び１０７が設けられないこともある。図１２のデータ処理装置１ａにおいて、ＭＳＦＦ１０［１］〜１０［ＭＡ］にとっての入力データＤは夫々データＤＡ［１］〜ＤＡ［ＭＡ］であり、ＭＳＦＦ１０［１］〜１０［ＭＡ］にとっての出力データＱは夫々データＱＡ［１］〜ＱＡ［ＭＡ］である。図１２のデータ処理装置１ａにおいて、ＭＳＦＦ３０［１］〜３０［ＭＢ］にとっての入力データＤは夫々データＤＢ［１］〜ＤＢ［ＭＢ］であり、ＭＳＦＦ３０［１］〜３０［ＭＢ］にとっての出力データＱは夫々データＱＢ［１］〜ＱＢ［ＭＢ］である。
【０１４９】
ＭＳＦＦ２００において、スキャン入力部１０８にはスキャン入力データＳＤが入力され、入力選択信号入力部１０９には入力選択信号ＳＣが入力される。ＭＳＦＦ２００のデータ出力部１０２からは、図２のＭＳＦＦ１００と同様に、ＭＳＦＦ２００の出力データＱが出力されるが、当該出力データＱはスキャン出力データＳＯとしても出力される。
【０１５０】
第２実施形態に係るステート制御回路３はテストパターン生成回路を含み、テストモードにおいて、ＭＳＦＦ１０［１］及びＭＳＦＦ３０［１］に対してスキャン入力データＳＤを供給できる。
“１≦ｉ≦ＭＡ−１”を満たす任意の整数ｉについて、ＭＳＦＦ１０［ｉ］のデータ出力部１０２はＭＳＦＦ１０［ｉ＋１］のスキャン入力部１０８に接続され、故に、ＭＳＦＦ１０［ｉ］からのスキャン出力データＳＯはＭＳＦＦ１０［ｉ＋１］へのスキャン入力データＳＤとなる。ＭＳＦＦ１０［ＭＡ］からのスキャン出力データＳＯは応答圧縮回路８ａに与えられる。
“１≦ｉ≦ＭＢ−１”を満たす任意の整数ｉについて、ＭＳＦＦ３０［ｉ］のデータ出力部１０２はＭＳＦＦ３０［ｉ＋１］のスキャン入力部１０８に接続され、故に、ＭＳＦＦ３０［ｉ］からのスキャン出力データＳＯはＭＳＦＦ３０［ｉ＋１］へのスキャン入力データＳＤとなる。ＭＳＦＦ３０［ＭＢ］からのスキャン出力データＳＯは応答圧縮回路８ａに与えられる。
【０１５１】
タイミング制御回路６は、ステート制御回路３を制御することを通じて、ステート制御回路３及びデジタル処理回路２ａを、通常モード又はテストモードで動作させる。
【０１５２】
通常モードでは、前段回路４からのデータＤＡ［１］〜ＤＡ［ＭＡ］に基づきデータＱＡ［１］〜ＱＡ［ＭＡ］を生成する動作と、その動作によるデータＱＡ［１］〜ＱＡ［ＭＡ］がロジック回路２０に与えられたときのロジック回路２０の出力データＤＢ［１］〜ＤＢ［ＭＢ］に基づきデータＱＢ［１］〜ＱＢ［ＭＢ］を生成する動作と、が行われる。
【０１５３】
テストモードでは、必要なタイミングにおいて、ＭＳＦＦ１０［１］〜１０［ＭＡ］がシリアル接続されることでＭＳＦＦ１０［１］〜１０［ＭＡ］にて第１シフトレジスタとして機能する第１スキャンチェーンが形成され、ＭＳＦＦ３０［１］〜３０［ＭＢ］がシリアル接続されることでＭＳＦＦ３０［１］〜３０［ＭＢ］にて第２シフトレジスタとして機能する第２スキャンチェーンが形成され、第１及び第２スキャンチェーンを用いて所謂スキャンテストが行われる。
【０１５４】
図１４に、ＭＳＦＦ２００の例であるＭＳＦＦ２００ａの内部構成図を示す。第２実施形態において、以下では、各ＭＳＦＦ１０及び各ＭＳＦＦ３０がＭＳＦＦ２００ａにて構成されていると考える。ＭＳＦＦ２００ａは、図９のＭＳＦＦ１００ｂを基準にしてインバータ回路１２０を入力選択回路１７０に置換したものであり、当該置換を除き、図１４のＭＳＦＦ２００ａは図９のＭＳＦＦ１００ｂと同様である。以下、当該置換による相違点のみを説明し、同様の部分の説明を省略する。
【０１５５】
入力選択回路１７０は、データ入力部１０１及びスキャン入力部１０８に接続され、入力選択信号ＳＣに基づき、データ入力部１０１及びスキャン入力部１０８の何れか一方をマスタラッチ回路１３０ｂの入力端に接続する。入力選択信号ＳＣは１ビットのデジタル信号であり、ハイレベル又はローレベルの信号レベルをとる。具体的には、入力選択回路１７０は、インバータタイプのトライステートバッファ１７１及び１７２を備える。トライステートバッファ１７１の状態は入力選択信号ＳＣの反転信号ＳＣＢに基づいて制御され、トライステートバッファ１７２の状態は入力選択信号ＳＣに基づいて制御される。そして、入力選択信号ＳＣがハイレベルであるとき、入力選択回路１７０は、入力部１０８に加わるスキャン入力データＳＤを示す信号の反転信号を、トライステートバッファ１７２を通じマスタ入力データＤＭを示す信号としてマスタラッチ回路１３０ｂに供給する。一方、入力選択信号ＳＣがローレベルであるとき、入力選択回路１７０は、入力部１０１に加わる入力データＤを示す信号の反転信号を、トライステートバッファ１７１を通じマスタ入力データＤＭを示す信号としてマスタラッチ回路１３０ｂに供給する。
【０１５６】
ＭＳＦＦ２００ａにおいて、制御信号制回路１１０、マスタラッチ回路１３０ｂ及びマスタラッチ回路１３０ｂの後段回路の構成及び動作は、図９のＭＳＦＦ１００ｂのそれらと同様である。但し、ＭＳＦＦ２００ａにおいて、インバータ回路１６０の出力信号は出力データＱを示す信号として機能すると共にスキャン出力データＳＯを示す信号としても機能する。インバータ回路１６０は２つのインバータ回路から構成されていても良く、この場合、２つのインバータ回路から出力データＱを示す信号及びスキャン出力データＳＯを示す信号が別々に出力されても良い。
【０１５７】
テストモードにおいて、ステート制御回路３（図１２参照）は、テスト制御回路とも称されるべきタイミング制御回路６の制御の下、ＭＳＦＦ２００ａとして構成された各ＭＳＦＦ１０又は３０に対し、ハイレベルのクロック選択信号ＳＥＬＣ、入力選択信号ＳＣ及び出力選択信号ＳＥＬを供給することができる。これにより上述の第１及び第２スキャンチェーンが形成され、ハイレベルの信号ＳＥＬＣ、ＳＣ及びＳＥＬを受けた各ＭＳＦＦ１０又は３０では、順次供給されるスキャン入力データＳＤが順次スレーブラッチ回路１４０ｂ＿２にてラッチされ、スキャン入力データＳＤに基づくスレーブ出力データＱＳ＿２が出力選択回路１５０及びインバータ回路１６０を通じ順次スキャン出力データＳＯとして出力される。
【０１５８】
テストモードにおける動作について説明を加える。テストモードにおいて、ステート制御回路３は、デジタル処理回路２ａと協働して、スキャンイン動作、キャプチャ動作及びスキャンアウト動作から成る一連のテスト動作を実行する。テスト動作では、スキャンイン動作、キャプチャ動作及びスキャンアウト動作が、この順番で実行される。まず、テスト動作が継続的に実行されることを想定して、スキャンイン動作、キャプチャ動作及びスキャンアウト動作を説明する。
【０１５９】
スキャンイン動作は、ＭＳＦＦ１０［１］〜１０［ＭＡ］に所定のテストパターンデータをラッチさせるための動作（第１シフト動作）である。テストパターンデータは、ロジック回路２０の故障の有無の診断に有効なデータであり、テストパターン生成回路を含むステート制御回路３にて生成される。スキャンイン動作が実行される区間では、ＭＳＦＦ１０［１］〜１０［ＭＡ］及び３０［１］〜３０［ＭＢ］の内、少なくともＭＳＦＦ１０［１］〜１０［ＭＡ］に対してハイレベルの信号ＳＥＬＣ、ＳＣ及びＳＥＬが供給される。ＭＳＦＦ１０［１］〜１０［ＭＡ］に対するハイレベルの信号ＳＣ及びＳＥＬの供給により、ＭＳＦＦ１０［１］〜１０［ＭＡ］がシリアル接続されて第１スキャンチェーンが形成される。
【０１６０】
その上で、スキャンイン動作において、テストパターンデータを構成するデータを１ビットずつスキャン入力データＳＤとしてステート制御回路３からＭＳＦＦ１０［１］に供給する動作を繰り返す。このとき、クロック選択信号ＳＥＬＣがハイレベルとされていることで、第１スキャンチェーン（即ちＭＳＦＦ１０［１］〜１０［ＭＡ］における計ＭＡ個のスレーブラッチ回路１４０ｂ＿２）にてデータのシフト動作が行われる。結果、スキャンイン動作の完了段階において、テストパターンデータは、ＭＳＦＦ１０［１］〜１０［ＭＡ］における計ＭＡ個のスレーブラッチ回路１４０ｂ＿２にラッチされることになる。
【０１６１】
キャプチャ動作では、ＭＳＦＦ１０［１］〜１０［ＭＡ］のスレーブラッチ回路１４０ｂ＿２にラッチされたテストパターンデータを出力データＱＡ［１］〜ＱＡ［ＭＡ］としてロジック回路２０に供給し、これによってロジック回路２０から出力されるデータＤＢ［１］〜ＤＢ［ＭＢ］をＭＳＦＦ３０［１］〜３０［ＭＢ］のスレーブラッチ回路１４０ｂ＿２にラッチさせる。
【０１６２】
これが実現されるよう、キャプチャ動作において、ステート制御回路３は、ＭＳＦＦ３０［１］〜３０［ＭＢ］に対する信号ＳＥＬＣ及びＳＣのレベルを制御する。即ち、テストパターンデータに基づくデータＤＢ［１］〜ＤＢ［ＭＢ］がロジック回路２０から出力されるタイミングにおいてＭＳＦＦ３０［１］〜３０［ＭＢ］への信号ＳＣをローレベルとし、これによってテストパターンデータに基づくデータＤＢ［１］〜ＤＢ［ＭＢ］をＭＳＦＦ３０［１］〜３０［ＭＢ］へのマスタ入力データＤＭとする。キャプチャ動作時において信号ＳＥＬＣはハイレベルとされる。少なくとも、テストパターンデータに基づくデータＤＢ［１］〜ＤＢ［ＭＢ］がＭＳＦＦ３０［１］〜３０［ＭＢ］のマスタ出力データＱＭとなるタイミングにおいてＭＳＦＦ３０［１］〜３０［ＭＢ］への信号ＳＥＬＣがハイレベルとされる。これにより、信号ＳＥＬＣがハイレベルとされた状態でのクロック信号ＣＰのアップエッジに同期して制御信号ＣＰ２にアップエッジが生じ、結果、テストパターンデータに基づくデータＤＢ［１］〜ＤＢ［ＭＢ］がＭＳＦＦ３０［１］〜３０［ＭＢ］のスレーブラッチ回路１４０ｂ＿２にラッチされる。キャプチャ動作時においてＭＳＦＦ３０［１］〜３０［ＭＢ］への出力選択信号ＳＥＬはハイレベルでも良いし、ローレベルでも構わない。
【０１６３】
スキャンアウト動作は、ＭＳＦＦ３０［１］〜３０［ＭＢ］のスレーブラッチ回路１４０ｂ＿２にラッチされた、テストパターンデータに基づくデータＤＢ［１］〜ＤＢ［ＭＢ］を応答圧縮回路８ａに引き出すための動作（第２シフト動作）である。スキャンアウト動作が実行される区間では、ＭＳＦＦ１０［１］〜１０［ＭＡ］及び３０［１］〜３０［ＭＢ］の内、少なくともＭＳＦＦ３０［１］〜３０［ＭＢ］に対してハイレベルの信号ＳＥＬＣ、ＳＣ及びＳＥＬが供給される。ＭＳＦＦ３０［１］〜３０［ＭＢ］に対するハイレベルの信号ＳＣ及びＳＥＬの供給により、ＭＳＦＦ３０［１］〜３０［ＭＢ］がシリアル接続されて第２スキャンチェーンが形成される。そして、信号ＳＥＬＣがハイレベルとされていることから、スキャンアウト動作において、ＭＳＦＦ３０［１］〜３０［ＭＢ］のスレーブラッチ回路１４０ｂ＿２にラッチされた、テストパターンデータに基づくデータＤＢ［１］〜ＤＢ［ＭＢ］が、ＭＳＦＦ３０［ＭＢ］から１ビットずつ応答圧縮回路８ａに出力される。
【０１６４】
以下、テストパターンデータに基づくデータＤＢ［１］〜ＤＢ［ＭＢ］を、ＭＢビットのテスト結果データと称する。応答圧縮回路８ａは、スキャンアウト動作により得られたＭＢビットのテスト結果データを所定の圧縮処理により圧縮することで、ＭＢ’ビットのテスト結果データに変換する。ＭＢ’はＭＢの値よりも小さな所定値を持つ。結果比較回路８ｂは、応答圧縮回路８ａにて得られたＭＢ’ビットのテスト結果データを、所定の期待データと比較することで、ロジック回路２０の故障の有無を判断する。
【０１６５】
また、スキャンアウト動作が実行される区間では、ＭＳＦＦ１０［１］〜１０［ＭＡ］に対してもハイレベルの信号ＳＥＬＣ、ＳＣ及びＳＥＬが供給されて良い。これにより、スキャンイン動作の実行区間にてＭＳＦＦ１０［１］〜１０［ＭＡ］のスレーブラッチ回路１４０ｂ＿２にラッチされたデータ（理想的にはテストパターンデータと一致）が、スキャンアウト動作の実行区間においてＭＳＦＦ１０［ＭＡ］から応答圧縮回路８ａに供給される。ここで供給されたデータ（即ち、スキャンイン動作の実行区間にてＭＳＦＦ１０［１］〜１０［ＭＡ］のスレーブラッチ回路１４０ｂ＿２にラッチされたデータ）も応答圧縮回路８ａにて圧縮され、当該圧縮後のデータに基づき、結果比較回路８ｂは、ＭＳＦＦ１０［１］〜１０［ＭＡ］の故障の有無を判断することができる。尚、タイミング制御回路６からステート制御回路３及び応答圧縮回路８ａに対して、テストモードにおける動作のタイミングを指定するテスト制御信号が供給されており、応答圧縮回路８ａはテスト制御信号を参照することで圧縮すべきデータを認識する。
【０１６６】
通常モードにおける動作を説明する。通常モードにおいて、ステート制御回路３（図１２参照）は、タイミング制御回路６の制御の下、ＭＳＦＦ２００ａとして構成された各ＭＳＦＦ１０及び３０に対し、ローレベルのクロック選択信号ＳＥＬＣを供給すると共にローレベルの入力選択信号ＳＣ及び出力選択信号ＳＥＬを供給する。これにより、通常モードにおける各ＭＳＦＦ１０及び３０では、順次供給される入力データＤが順次スレーブラッチ回路１４０ｂ＿１にてラッチされて、入力データＤに基づくスレーブ出力データＱＳ＿１が順次出力データＱとして出力される。通常モードでは、上記第１及び第２スキャンチェーンは形成されず、各ＭＳＦＦは独立したフリップフロップ回路として動作する。
【０１６７】
デジタル処理回路において、回路内のフリップフロップ回路をスキャン機能付きのフリップフロップ回路に置き換えることで、スキャンテストを実現可能にする方法は周知である。スキャンテストが可能に構成された一般的なデジタル処理回路では、一旦、テストモードの動作が開始されると、テストモードの一連の動作が完了するまで通常モードでの動作（以下、通常動作と称する）を行うことができない。このため、故障診断に必要な時間分だけ通常動作を停止できないアプリケーション（例えば通信制御系のアプリケーション）には、スキャンテストを適用できないといった事情（以下、第１事情と称する）がある。また、テストモードの動作を行うことで、回路内におけるそれまでのラッチデータが破棄されることになるため、テストモードでの動作完了後には、通常動作を初期状態から開始する必要がある。つまり、スキャンテストが可能に構成された一般的なデジタル処理回路では、テストモードの動作を行うたびに、通常動作がリセットされるといった事情（以下、第２事情と称する）がある。
【０１６８】
これに対し、本実施形態に係るデータ処理装置１ａでは、図１４のＭＳＦＦ２００ａを利用することで、第１及び第２事情に関わる問題を解消することができる。スキャン機能付きのフリップフロップ回路として機能するＭＳＦＦ２００ａに、通常モードでのデータをラッチするためのスレーブラッチ回路１４０ｂ＿１と、テストモードでのデータをラッチするためのスレーブラッチ回路１４０ｂ＿２と、が別個に設けられているからである。
【０１６９】
例えば、通常動作（通常モードでの動作）を時間Ｔ１だけ継続実行する通常動作区間と、通常動作が時間Ｔ２だけ不要となる休止区間とが交互に繰り返し訪れるというケースを考える。この場合、テスト動作（テストモードでの一連の動作）をＱ分割し、Ｑ回分の休止区間に亘ってテスト動作の全体を行うようにするといったことが可能となるため、上記の第１事情に関わる問題は解消される。休止区間のタイミングを示す情報はタイミング制御回路６により認識又は管理され、当該情報に基づくタイミング制御回路６による制御の下、ステート制御回路３は信号ＳＥＬＣ、ＳＣ、ＳＥＬのレベル制御及びデータＳＤの出力制御を行う。この際、通常動作を実現するためのデータＤＡ［１］〜ＤＡ［ＭＡ］はＭＳＦＦ１０［１］〜１０［ＭＡ］のスレーブラッチ回路１４０ｂ＿１にラッチ（保持）されると共に、データＤＡ［１］〜ＤＡ［ＭＡ］に基づくデータＤＢ［１］〜ＤＢ［ＭＢ］はＭＳＦＦ３０［１］〜３０［ＭＢ］のスレーブラッチ回路１４０ｂ＿１にラッチ（保持）され、これらラッチされたデータは、スキャンモードでの動作の実行時にも、各スレーブラッチ回路１４０ｂ＿１にてラッチされ続けるため、上記の第２事情に関わる問題も解消される。
【０１７０】
通常動作とテスト動作とをクロック信号ＣＬＫの周期ごとに切り替えて実行するといったことも可能である。この場合における動作例は図６に示したものと同様となり、この際、区間Ｐ３、Ｐ４、Ｐ７、Ｐ８、Ｐ１１、Ｐ１２、Ｐ１５及びＰ１６にて信号ＳＣをハイレベルとし、区間Ｐ１、Ｐ２、Ｐ５、Ｐ６、Ｐ９、Ｐ１０、Ｐ１３及びＰ１４にて信号ＳＣをローレベルとすれば良い。この場合、データＡ１〜Ａ４はデータ入力部１０１に供給される入力データＤに相当し、データＢ１〜Ｂ４はスキャン入力部１０８に供給されるスキャン入力データＳＤに相当することになる。
【０１７１】
尚、図１４では、セット信号（ＳＮ１、ＳＮ２）及びリセット信号（ＲＮ１、ＲＮ２）の入力が可能な構成が示されているが、ＭＳＦＦ２００ａにおいて、それらの信号の入力は不能であっても良い（この場合、信号ＳＮ１、ＳＮ２、ＲＮ１及びＲＮ２が全てハイレベルに固定されていると考えれば足る）。
【０１７２】
また、ＭＳＦＦ１０［ＭＡ］のデータ出力部１０２をＭＳＦＦ３０［１］のスキャン入力部１０８に接続する変形も可能であり、この場合、ＭＳＦＦ１０［１］〜１０［ＭＡ］及び３０［１］〜３０［ＭＢ］から成る単一のスキャンチェーン（単一のシフトレジスタ）を構成してテスト動作を行うことができる。
【０１７３】
また、ＭＳＦＦ２００ａは３以上のスレーブラッチ回路１４０ｂを備えるものであっても良い。この場合、３以上のスレーブラッチ回路１４０ｂの内、１つのスレーブラッチ回路１４０ｂをテストモードでのデータをラッチするための回路として用い、残りの２以上のスレーブラッチ回路１４０ｂを通常モードでのデータをラッチするための回路として用いることができる。
【０１７４】
＜＜第３実施形態＞＞
本発明の第３実施形態を説明する。第３実施形態では、第１又第２実施形態に対する補足事項、応用技術、変形技術等を説明する。
【０１７５】
制御信号生成回路１１０又は１１０ｃ（図３及び図１０参照）により例示された制御信号生成回路は、１つ１つのＭＳＦＦに内蔵されるものではなく、複数のＭＳＦＦに共用されるものであっても良い。
【０１７６】
即ち例えば、デジタル処理回路２又は２ａ（図１又は図１２参照）において、第１及び第２共用制御信号生成回路を設けておくようにしても良い。
第１及び第２共用制御信号生成回路の夫々は、図３の制御信号生成回路１１０と同じものである。そして、第１共用制御信号生成回路にて信号ＳＥＬＣ及びＣＰに基づき生成された制御信号ＣＰ１及びＣＰ２を、ＭＳＦＦ１００ａ、１００ｂ又は２００ａ（図３、図９又は図１４参照）として各々構成されたＭＳＦＦ１０［１］〜１０［ＭＡ］に共通して与えると共に、第２共用制御信号生成回路にて信号ＳＥＬＣ及びＣＰに基づき生成された制御信号ＣＰ１及びＣＰ２を、ＭＳＦＦ１００ａ、１００ｂ又は２００ａ（図３、図９又は図１４参照）として各々構成されたＭＳＦＦ３０［１］〜３０［ＭＢ］に共通して与えるようにしても良い。
或いは、第１及び第２共用制御信号生成回路の夫々は、図１０の制御信号生成回路１１０ｃと同じものであっても良い。この場合、第１共用制御信号生成回路にて信号ＳＥＬＣ１、ＳＥＬＣ２及びＣＰに基づき生成された制御信号ＣＰ１〜ＣＰ４を、ＭＳＦＦ１００ｃ（図１０参照）として各々構成されたＭＳＦＦ１０［１］〜１０［ＭＡ］に共通して与えると共に、第２共用制御信号生成回路にて信号ＳＥＬＣ１、ＳＥＬＣ２及びＣＰに基づき生成された制御信号ＣＰ１〜ＣＰ４を、ＭＳＦＦ１００ｃ（図１０参照）として各々構成されたＭＳＦＦ３０［１］〜３０［ＭＢ］に共通して与えるようにしても良い。
【０１７７】
また例えば、デジタル処理回路２又は２ａ（図１又は図１２参照）において、単一の共用制御信号生成回路を設けておくようにしても良い。
この際、単一の共用制御信号生成回路は、図３の制御信号生成回路１１０と同じものであって良い。そして、単一の共用制御信号生成回路にて信号ＳＥＬＣ及びＣＰに基づき生成された制御信号ＣＰ１及びＣＰ２を、ＭＳＦＦ１００ａ、１００ｂ又は２００ａ（図３、図９又は図１４参照）として各々構成されたＭＳＦＦ１０［１］〜１０［ＭＡ］及び３０［１］〜３０［ＭＢ］に共通して与えるようにしても良い。
或いは、単一の共用制御信号生成回路は、図１０の制御信号生成回路１１０ｃと同じものであっても良い。この場合、単一の共用制御信号生成回路にて信号ＳＥＬＣ１、ＳＥＬＣ２及びＣＰに基づき生成された制御信号ＣＰ１〜ＣＰ４を、ＭＳＦＦ１００ｃ（図１０参照）として各々構成されたＭＳＦＦ１０［１］〜１０［ＭＡ］及び３０［１］〜３０［ＭＢ］に共通して与えるようにしても良い。
【０１７８】
ＭＡ及びＭＢの値が２以上であることを想定したが、ＭＡ及びＭＢの何れか一方の値は“１”であっても良いし、“ＭＡ＝ＭＢ＝１”で有り得ても良い。
【０１７９】
説明の簡単化のため、デジタル処理回路２又は２ａ内の１つのロジック回路２０に注目したが、デジタル処理回路２又は２ａ内には、組み合わせ回路を含むロジック回路が複数設けられていて良く、各ロジック回路の前段及び後段の夫々に複数のフリップフロップ回路が設けられていて良い。各フリップフロップ回路をＭＳＦＦとして構成することができる。複数のロジック回路に第１及び第２ロジック回路が含まれていて、第１ロジック回路がロジック回路２０に相当する場合、第２ロジック回路はＭＳＦＦ３０［１］〜３０［ＭＢ］の出力データＱＢ［１］〜ＱＢ［ＭＢ］に基づく信号処理を行い、第２ロジック回路の出力データを受けて保持するための複数のＭＳＦＦが第２ロジック回路の後段に配置される。
【０１８０】
データ処理装置１又は１ａは半導体集積回路の形態で形成され、当該半導体集積回路を、樹脂にて構成された筐体（パッケージ）内に封入することで半導体装置を構成して良い。半導体装置は、例えば、ＣＰＵ（Central Processing Unit）であっても良いし、電源回路を構成するための電源ＩＣ、モータを駆動するためのモータドライバＩＣ、又は、ＬＥＤ（発光ダイオード）を駆動するためのＬＥＤドライバＩＣであっても良い。
【０１８１】
データ処理装置１又は１ａを含む半導体装置は、任意の機器に搭載可能であり、任意の用途に利用される。例えば、自動車等の車両に当該半導体装置を搭載することができる。車載用途では、故障診断のリアルタイム性が要求されることが多く、この点において、第２実施形態に示した技術は有益である。
【０１８２】
本発明の一側面に係るフリップフロップ回路Ｗ（例えば図３参照）は、対象入力データに基づくマスタ入力データ（ＤＭ）を受けるマスタラッチ回路（例えば１３０）と、前記マスタラッチ回路からのマスタ出力データ（ＱＭ）の取り込み及び保持が可能なスレーブラッチ回路（例えば１４０）と、データ出力部（１０２）と、を備え、前記対象入力データに基づく対象出力データを前記データ出力部から出力するフリップフリップ回路であって、前記スレーブラッチ回路として、前記マスタラッチ回路に対して並列に第１〜第Ｎスレーブラッチ回路（例えば１４０＿１及び１４０＿２）が設けられ、前記第１〜第Ｎスレーブラッチ回路から出力されるデータの何れか１つを選択する出力選択回路（例えば１５０）を更に備え、前記出力選択回路による選択データを前記対象出力データとして前記データ出力部から出力することを特徴とする。
【０１８３】
フリップフロップ回路Ｗによれば、例えば、第１〜第Ｎ信号処理用のデータを第１〜第Ｎスレーブラッチ回路にラッチ（保持）させることが可能となる。そして、第１〜第Ｎ信号処理を担うロジック回路を１つだけ設けておき、第１信号処理を行う際には、第１スレーブラッチ回路を利用して、第１信号処理用のデータをロジック回路に入力する又は第１信号処理用のデータをロジック回路から受けてラッチする、といったことが可能となる。同様に、第２信号処理を行う際には、第２スレーブラッチ回路を利用して、第２信号処理用のデータをロジック回路に入力する又は第２信号処理用のデータをロジック回路から受けてラッチする、といったことが可能となる（第３〜第Ｎ信号処理についても同様）。つまり、第１〜第Ｎ信号処理を実現するために共通の構成を有するロジック回路をＮ個用意する必要が無くなり、結果、装置の回路面積の削減が図られる。
【０１８４】
ここで、Ｎは２以上の整数である。例えば、図３のＭＳＦＦ１００ａでは“Ｎ＝２”であり、図１０のＭＳＦＦ１００ｃでは“Ｎ＝４”であるが、Ｎは２以上の整数であれば任意である。フリップフロップ回路Ｗは上述の何れかのＭＳＦＦに対応する。
【０１８５】
第１実施形態において（図１及び図３等参照）、対象入力データは入力データＤに相当し、対象出力データは出力データＱに相当する。一方、第２実施形態において（図１２〜図１４等参照）、対象入力データは入力データＤ又はスキャン入力データＳＤに相当し、対象出力データは出力データＱ又はスキャン出力データＳＯに相当する。
【０１８６】
前記フリップフロップ回路Ｗ（例えば図２及び図３参照）において、矩形波信号であるクロック信号（ＣＬＫ＝ＣＰ）の入力を受けるクロック信号入力部（１０３）と、クロック選択信号（ＳＥＬＣ）の入力を受けるクロック選択信号入力部（１０４）と、出力選択信号（ＳＥＬ）の入力を受ける出力選択信号入力部（１０５）と、前記クロック信号及び前記クロック選択信号に基づき第１〜第Ｎ制御信号を生成する制御信号生成回路（例えば１１０）と、が備えられ、前記マスタラッチ回路は、前記クロック信号に同期して動作し、第ｉスレーブラッチ回路は、第ｉ制御信号に同期して動作し（ｉは１以上Ｎ以下の整数）、前記出力選択回路は、前記出力選択信号（ＳＥＬ）に基づき、前記第１〜第Ｎスレーブラッチ回路（例えば１４０＿１及び１４０＿２）の出力データの何れかを選択すると良い。
【０１８７】
例えば、図３の例において第１〜第Ｎ制御信号は制御信号ＣＰ１及びＣＰ２であり、図１０の例において第１〜第Ｎ制御信号は制御信号ＣＰ１〜ＣＰ４である。
【０１８８】
前記フリップフロップ回路Ｗにおいて（図１４参照）、例えば、前記対象入力データは第１及び第２対象入力データ（Ｄ及びＳＤ）を含み、前記第１及び第２対象入力データの内の一方を前記マスタ入力データとしてマスタラッチ回路に供給する入力選択回路（１７０）を更に設けておくこともできる。
【０１８９】
本発明の実施形態は、特許請求の範囲に示された技術的思想の範囲内において、適宜、種々の変更が可能である。以上の実施形態は、あくまでも、本発明の実施形態の例であって、本発明ないし各構成要件の用語の意義は、以上の実施形態に記載されたものに制限されるものではない。上述の説明文中に示した具体的な数値は、単なる例示であって、当然の如く、それらを様々な数値に変更することができる。
【符号の説明】
【０１９０】
１、１ａ  データ処理装置
２、２ａ  デジタル処理回路
１０、３０、１００、１００ａ〜１００ｃ、２００、２００ａ  ＭＳＦＦ
２０  ロジック回路
１０１  データ入力部
１０２  データ出力部
１０３  クロック信号入力部
１０４  クロック選択信号入力部
１０５  出力選択信号入力部
１０６  セット信号入力部
１０７  リセット信号入力部
１０８  スキャン入力部
１３０、１３０ｂ、１３０ｃ  マスタラッチ回路
１４０、１４０ｂ、１４０ｃ  スレーブラッチ回路
１５０、１５０ｃ  出力選択回路
１７０  入力選択回路
【図１】
2020167511.tif 000003
【図２】
2020167511.tif 000004
【図３】
2020167511.tif 000005
【図４】
2020167511.tif 000006
【図５】
2020167511.tif 000007
【図６】
2020167511.tif 000008
【図７】
2020167511.tif 000009
【図８】
2020167511.tif 000010
【図９】
2020167511.tif 000011
【図１０】
2020167511.tif 000012
【図１１】
2020167511.tif 000013
【図１２】
2020167511.tif 000014
【図１３】
2020167511.tif 000015
【図１４】
2020167511.tif 000016