(57)【特許請求の範囲】
【請求項１】
第１信号および第２信号の入力を受け，第１動作時には第１信号を通過させ，第２動作時には第２信号を通過させるスキャンフリップフロップ回路を複数備えるスキャンフリップフロップ回路列において，
各スキャンフリップフロップ回路は，
第１信号の入力を受ける第１入力端子と，第２信号の入力を受ける第２入力端子と，第１動作と第２動作とのいずれの動作を行うかを指示するコントロール信号の入力を受ける第３入力端子とを有し，コントロール信号が第１動作を指示する信号である場合に第１信号に基づく信号を出力するとともに，コントロール信号が第２動作を指示する信号である場合に第２信号に基づく信号を出力する選択部と，
前記選択部からの出力信号に基づく信号をクロックに従い取り込んでラッチ出力するラッチ部と，
前記ラッチ部の出力信号を出力する第１出力端子と，
前記第１出力端子とは別に設けられ，第１動作時には出力が固定されるとともに，第２動作時には第２信号に基づく信号を出力する第２出力端子とを有し，
前記選択部が，前記第１入力端子への入力信号と前記第３入力端子への入力信号との論理和と前記第２入力端子への入力信号との論理積の反転を出力する２−１のＯＲ−ＡＮＤ−ＩＮＶＥＲＴＥＲ構成を有するものである第１種のスキャンフリップフロップ回路であり，
前段の第１種のスキャンフリップフロップ回路の第２出力端子の信号が次段の第１種のスキャンフリップフロップ回路の第２入力端子に入力され、
第２種のスキャンフリップフロップ回路をさらに含み，
第２種のスキャンフリップフロップ回路は，
第１信号の入力を受ける第１入力端子と，第２信号の入力を受ける第２入力端子と，第１動作と第２動作とのいずれの動作を行うかを指示するコントロール信号の入力を受ける第３入力端子とを有し，コントロール信号が第１動作を指示する信号である場合に第１信号に基づく信号を出力するとともに，コントロール信号が第２動作を指示する信号である場合に第２信号に基づく信号を出力する選択部と，
前記選択部からの出力信号に基づく信号をクロックに従い取り込んでラッチ出力するラッチ部と，
前記ラッチ部の出力信号を出力する出力端子とを有し，
第２種のスキャンフリップフロップ回路に続いて第１種のスキャンフリップフロップ回路が配置されている箇所では，
第２種のスキャンフリップフロップ回路の出力端子の信号が論理演算器を介して第１種のスキャンフリップフロップ回路の第２入力端子に入力され，
前記論理演算器は，コントロール信号が第１動作を指示する信号である場合には出力値を固定し，コントロール信号が第２動作を指示する信号である場合には第２種のスキャンフリップフロップ回路の出力端子の信号に基づく信号を出力するものであることを特徴とするスキャンフリップフロップ回路列。
【請求項２】
第１信号および第２信号の入力を受け，第１動作時には第１信号を通過させ，第２動作時には第２信号を通過させるスキャンフリップフロップ回路を複数備えるスキャンフリップフロップ回路列において，
各スキャンフリップフロップ回路は，
第１信号の入力を受ける第１入力端子と，第２信号の入力を受ける第２入力端子と，第１動作と第２動作とのいずれの動作を行うかを指示するコントロール信号の入力を受ける第３入力端子とを有し，コントロール信号が第１動作を指示する信号である場合に第１信号に基づく信号を出力するとともに，コントロール信号が第２動作を指示する信号である場合に第２信号に基づく信号を出力する選択部と，
前記選択部からの出力信号に基づく信号をクロックに従い取り込んでラッチ出力するラッチ部と，
前記ラッチ部の出力信号を出力する第１出力端子と，
前記第１出力端子とは別に設けられ，第１動作時には出力が固定されるとともに，第２動作時には第２信号に基づく信号を出力する第２出力端子とを有し，
前記選択部が，前記第１入力端子への入力信号と前記第３入力端子への入力信号との論理積と前記第２入力端子への入力信号との論理和の反転を出力する２−１のＡＮＤ−ＯＲ−ＩＮＶＥＲＴＥＲ構成を有するものである第１種のスキャンフリップフロップ回路であり，
前段の第１種のスキャンフリップフロップ回路の第２出力端子の信号が次段の第１種のスキャンフリップフロップ回路の第２入力端子に入力され、
第２種のスキャンフリップフロップ回路をさらに含み，
第２種のスキャンフリップフロップ回路は，
第１信号の入力を受ける第１入力端子と，第２信号の入力を受ける第２入力端子と，第１動作と第２動作とのいずれの動作を行うかを指示するコントロール信号の入力を受ける第３入力端子とを有し，コントロール信号が第１動作を指示する信号である場合に第１信号に基づく信号を出力するとともに，コントロール信号が第２動作を指示する信号である場合に第２信号に基づく信号を出力する選択部と，
前記選択部からの出力信号に基づく信号をクロックに従い取り込んでラッチ出力するラッチ部と，
前記ラッチ部の出力信号を出力する出力端子とを有し，
第２種のスキャンフリップフロップ回路に続いて第１種のスキャンフリップフロップ回路が配置されている箇所では，
第２種のスキャンフリップフロップ回路の出力端子の信号が論理演算器を介して第１種のスキャンフリップフロップ回路の第２入力端子に入力され，
前記論理演算器は，コントロール信号が第１動作を指示する信号である場合には出力値を固定し，コントロール信号が第２動作を指示する信号である場合には第２種のスキャンフリップフロップ回路の出力端子の信号に基づく信号を出力するものであることを特徴とするスキャンフリップフロップ回路列。
【請求項３】
第１信号および第２信号の入力を受け，第１動作時には第１信号を通過させ，第２動作時には第２信号を通過させるスキャンフリップフロップ回路を複数備えるスキャンフリップフロップ回路列と，
前記スキャンフリップフロップ回路列から第１信号もしくは第２信号の入力を受ける主動作回路とを有する集積回路装置において，
前記スキャンフリップフロップ回路列の各スキャンフリップフロップ回路は，
第１信号の入力を受ける第１入力端子と，第２信号の入力を受ける第２入力端子と，第１動作と第２動作とのいずれの動作を行うかを指示するコントロール信号の入力を受ける第３入力端子とを有し，コントロール信号が第１動作を指示する信号である場合に第１信号に基づく信号を出力するとともに，コントロール信号が第２動作を指示する信号である場合に第２信号に基づく信号を出力する選択部と，
前記選択部からの出力信号に基づく信号をクロックに従い取り込んでラッチ出力するラッチ部と，
前記ラッチ部の出力信号を出力する第１出力端子と，
前記第１出力端子とは別に設けられ，第１動作時には出力が固定されるとともに，第２動作時には第２信号に基づく信号を出力する第２端子とを有し，
前記選択部が，前記第１入力端子への入力信号と前記第３入力端子への入力信号との論理和と前記第２入力端子への入力信号との論理積の反転を出力する２−１のＯＲ−ＡＮＤ−ＩＮＶＥＲＴＥＲ構成を有するものである第１種のスキャンフリップフロップ回路であり，
前記スキャンフリップフロップ回路列では，前段の第１種のスキャンフリップフロップ回路の第２出力端子の信号が次段の第１種のスキャンフリップフロップ回路の第２入力端子に入力され、
前記スキャンフリップフロップ回路列は、第２種のスキャンフリップフロップ回路をさらに含み，
第２種のスキャンフリップフロップ回路は，
第１信号の入力を受ける第１入力端子と，第２信号の入力を受ける第２入力端子と，第１動作と第２動作とのいずれの動作を行うかを指示するコントロール信号の入力を受ける第３入力端子とを有し，コントロール信号が第１動作を指示する信号である場合に第１信号に基づく信号を出力するとともに，コントロール信号が第２動作を指示する信号である場合に第２信号に基づく信号を出力する選択部と，
前記選択部からの出力信号に基づく信号をクロックに従い取り込んでラッチ出力するラッチ部と，
前記ラッチ部の出力信号を出力する出力端子とを有し，
前記スキャンフリップフロップ回路列において，第２種のスキャンフリップフロップ回路に続いて第１種のスキャンフリップフロップ回路が配置されている箇所では，
第２種のスキャンフリップフロップ回路の出力端子の信号が論理演算器を介して第１種のスキャンフリップフロップ回路の第２入力端子に入力され，
前記論理演算器は，コントロール信号が第１動作を指示する信号である場合には出力値を固定し，コントロール信号が第２動作を指示する信号である場合には第２種のスキャンフリップフロップ回路の出力端子の信号に基づく信号を出力するものであることを特徴とする集積回路装置。
【請求項４】
第１信号および第２信号の入力を受け，第１動作時には第１信号を通過させ，第２動作時には第２信号を通過させるスキャンフリップフロップ回路を複数備えるスキャンフリップフロップ回路列と，
前記スキャンフリップフロップ回路列から第１信号もしくは第２信号の入力を受ける主動作回路とを有する集積回路装置において，
前記スキャンフリップフロップ回路列の各スキャンフリップフロップ回路は，
第１信号の入力を受ける第１入力端子と，第２信号の入力を受ける第２入力端子と，第１動作と第２動作とのいずれの動作を行うかを指示するコントロール信号の入力を受ける第３入力端子とを有し，コントロール信号が第１動作を指示する信号である場合に第１信号に基づく信号を出力するとともに，コントロール信号が第２動作を指示する信号である場合に第２信号に基づく信号を出力する選択部と，
前記選択部からの出力信号に基づく信号をクロックに従い取り込んでラッチ出力するラッチ部と，
前記ラッチ部の出力信号を前記主動作回路へ出力する第１出力端子と，
前記第１出力端子とは別に設けられ，第１動作時には出力が固定されるとともに，第２動作時には第２信号に基づく信号を出力する第２出力端子とを有し，
前記選択部が，前記第１入力端子への入力信号と前記第３入力端子への入力信号との論理積と前記第２入力端子への入力信号との論理和の反転を出力する２−１のＡＮＤ−ＯＲ−ＩＮＶＥＲＴＥＲ構成を有するものである第１種のスキャンフリップフロップ回路であり，
前記スキャンフリップフロップ回路列では，前段の第１種のスキャンフリップフロップ回路の第２出力端子の信号が次段の第１種のスキャンフリップフロップ回路の第２入力端子に入力され、
前記スキャンフリップフロップ回路列は、第２種のスキャンフリップフロップ回路をさらに含み，
第２種のスキャンフリップフロップ回路は，
第１信号の入力を受ける第１入力端子と，第２信号の入力を受ける第２入力端子と，第１動作と第２動作とのいずれの動作を行うかを指示するコントロール信号の入力を受ける第３入力端子とを有し，コントロール信号が第１動作を指示する信号である場合に第１信号に基づく信号を出力するとともに，コントロール信号が第２動作を指示する信号である場合に第２信号に基づく信号を出力する選択部と，
前記選択部からの出力信号に基づく信号をクロックに従い取り込んでラッチ出力するラッチ部と，
前記ラッチ部の出力信号を出力する出力端子とを有し，
前記スキャンフリップフロップ回路列において，第２種のスキャンフリップフロップ回路に続いて第１種のスキャンフリップフロップ回路が配置されている箇所では，
第２種のスキャンフリップフロップ回路の出力端子の信号が論理演算器を介して第１種のスキャンフリップフロップ回路の第２入力端子に入力され，
前記論理演算器は，コントロール信号が第１動作を指示する信号である場合には出力値を固定し，コントロール信号が第２動作を指示する信号である場合には第２種のスキャンフリップフロップ回路の出力端子の信号に基づく信号を出力するものであることを特徴とする集積回路装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は，出荷検査として行うスキャンテストおよび通常使用時の通常動作のような２通りの動作を集積回路装置に行わせるスキャンフリップフロップ回路に関する。さらに詳細には，高速動作化および低消費電力化と，セレクタ部分の簡素化とを図ったスキャンフリップフロップ回路，およびその列，およびその列を内蔵する集積回路装置に関するものである。
【０００２】
【従来の技術】
従来のスキャンフリップフロップ回路は，例えば図９に示すように構成されている。図９に示すスキャンフリップフロップ回路８０は，2-to-1セレクタ８２と，マスターラッチ８３と，スレーブラッチ８４とを有している。2-to-1セレクタ８２は，スキャンイン信号を受ける入力端子ＳＩと，データ信号を受ける入力端子Ｄと，スキャンコントロール信号を受ける入力端子ＳＣとを有している。これにより，スキャンコントロール信号ＳＣにより通常動作を指示されている場合にはデータ信号Ｄを通過させ，スキャンテストを指示されている場合にはスキャンイン信号ＳＩを通過させるものである。また，マスターラッチ８３およびスレーブラッチ８４には，クロック信号ＣＬＫが入力されるようになっている。上記の構成によりスキャンフリップフロップ回路８０は，クロック信号ＣＬＫに従い，2-to-1セレクタ８２の出力信号d_int を取り込んで出力端子Ｑにラッチ出力するのである。スキャンフリップフロップ回路８０の真理値表を表１に示す。
【０００３】
【表１】
0004108374.tif 000002
【０００４】
集積回路装置におけるスキャンフリップフロップ回路８０の使用例を図１０に示す。図１０の使用例では，スキャンフリップフロップ回路８０から論理回路９０への出力と，前段のスキャンフリップフロップ回路８０から次段のスキャンフリップフロップ回路８０への出力とを，出力端子Ｑが兼ねている。このため，出力端子Ｑからのネットは，途中で分岐して一方が論理回路９０への通常動作ネット８５となり，他方が次段のスキャンフリップフロップ回路８０の入力端子ＳＩへのスキャンネット８６となっている。
【０００５】
従来のスキャンフリップフロップ回路の他の例として，図１１に示すものもある。図１１に示すスキャンフリップフロップ回路８１のスキャンフリップフロップ回路８０との相違点は，出力端子Ｑとは別に出力端子ＳＯを設けたことである。出力端子ＳＯは，出力端子Ｑと同一の信号を出力するものであるが，次段のスキャンフリップフロップ回路への接続のために用いられるものである。したがって，スキャンフリップフロップ回路８１を用いると，図１２の使用例に示すように，通常動作ネット８５とスキャンネット８６とが分離される。
【０００６】
スキャンフリップフロップ回路８０もしくはスキャンフリップフロップ回路８１における2-to-1セレクタ８２の構成例を図１３に示す。図１３の2-to-1セレクタ８２は，ＰＭＯＳ（以下，「ＭＰ」と記す）１１〜１５と，ＮＭＯＳ（以下，「ＭＮ」と記す）１１〜１５との計１０個のトランジスタにより構成されている。そのうちのＭＰ１１とＭＮ１１とは，ともにスキャンコントロール信号ＳＣによりスイッチングされ，電源線ＶＤＤと接地線ＧＮＤとの間に直列に接続されている。この２つのトランジスタは，スキャンコントロール信号ＳＣの反転信号ＳＮを出力するインバータを構成している。
【０００７】
そして，電源線ＶＤＤと出力線d_int との間には，入力端子Ｄの信号によりスイッチングされるＭＰ１２とスキャンコントロール信号ＳＣによりスイッチングされるＭＰ１３との直列結合と，入力端子ＳＩの信号によりスイッチングされるＭＰ１４と反転信号ＳＮによりスイッチングされるＭＰ１５との直列結合とが並列に設けられている。また，出力線d_int と接地線ＧＮＤとの間には，入力端子Ｄの信号によりスイッチングされるＭＮ１２と反転信号ＳＮによりスイッチングされるＭＮ１３との直列結合と，入力端子ＳＩの信号によりスイッチングされるＭＮ１４とスキャンコントロール信号ＳＣによりスイッチングされるＭＮ１５との直列結合とが並列に設けられている。これにより，スキャンコントロール信号ＳＣが０である場合（通常動作）には，入力端子ＳＩの信号とは無関係にデータ信号Ｄにより出力信号d_int が定まるのである。また，スキャンコントロール信号ＳＣが１である場合（スキャンテスト）には，入力端子Ｄの信号とは無関係にスキャンイン信号ＳＩにより出力信号d_intが定まるのである。
【０００８】
【発明が解決しようとする課題】
しかしながら，前記した従来のスキャンフリップフロップ回路には，次のような問題点があった。まず図９および図１０のものについては，伝搬遅延時間が大きいという問題があった。例えば通常動作時に，出力端子Ｑから論理回路９０へデータ信号を伝送しようとすると，途中から分岐しているスキャンネット８６の分も配線負荷となるからである。このため，集積回路装置の動作速度が遅いのである。また，消費電力も多い。図１１および図１２のものであれば，通常動作時にスキャンネット８６が配線負荷となることはない。しかし，出力端子Ｑと出力端子ＳＯとにそれぞれ駆動回路が必要である。また，通常動作時にも出力端子ＳＯが出力端子Ｑと同じ動作をするので，消費電力はやはり多い。
【０００９】
また，図９および図１０のもの，図１１および図１２のもののいずれの場合でも，2-to-1セレクタ８２として，図１３に示したような複雑な構成のものを用いる必要がある。図１３の2-to-1セレクタ８２は，スキャンコントロール信号ＳＣもしくはその反転信号ＳＮによりスイッチングされるトランジスタを３対も含んでおり，冗長性が高いのである。このように複雑なものを用いなければならない理由は，次の点にある。すなわち，通常動作中（スキャンコントロール信号ＳＣが０）であっても，入力端子ＳＩに入力される信号が不定であるためである。したがって，通常動作中の出力信号d_int が入力端子ＳＩの信号に影響されないようにするためには，図１３のような複雑な構成が必要なのである。
【００１０】
本発明は，前記した従来のスキャンフリップフロップ回路が有する問題点を解決するためになされたものである。すなわちその課題とするところは，動作を高速化しまた低消費電力化し，さらに，セレクタ部分を簡素化したスキャンフリップフロップ回路，およびその列，およびその列を内蔵する集積回路装置を提供することにある。
【００１１】
【課題を解決するための手段】
【００１２】
【００１３】
【００１４】
【００１５】
【００１６】
本発明のスキャンフリップフロップ回路列は，本発明のスキャンフリップフロップ回路を複数備え，前段のスキャンフリップフロップ回路の第２出力端子の信号が次段のスキャンフリップフロップ回路の第２入力端子に入力されるものである。また，本発明の集積回路装置は，そのスキャンフリップフロップ回路列とスキャンフリップフロップ回路列から第１信号もしくは第２信号の入力を受ける主動作回路とを有するものである。
【００１７】
本発明のスキャンフリップフロップ回路列は，更に、前述の第１種のスキャンフリップフロップ回路の他に，第１動作時に出力端子の出力が固定されない第２種のスキャンフリップフロップ回路を含んでいる。ただしその場合，第２種のスキャンフリップフロップ回路に続いて第１種のスキャンフリップフロップ回路が配置されている箇所では，第２種のスキャンフリップフロップ回路の出力端子の信号が論理演算器を介して第１種のスキャンフリップフロップ回路の第２入力端子に入力されるようにする。その論理演算器は，コントロール信号が第１動作を指示する信号である場合には出力値を固定し，コントロール信号が第２動作を指示する信号である場合には第２種のスキャンフリップフロップ回路の出力端子の信号に基づく信号を出力するものである。これにより，第２種のスキャンフリップフロップ回路の次段に配置された第１種のスキャンフリップフロップ回路においても，ＯＲ−ＡＮＤ−ＩＮＶＥＲＴＥＲ構成もしくはＡＮＤ−ＯＲ−ＩＮＶＥＲＴＥＲ構成の選択部が適切に機能する。
【００１８】
本発明における，第１信号，第２信号，第１動作，および第２動作の典型例は次の通りである。すなわち，第１信号が通常データ信号であり，第２信号がスキャンイン信号であり，第１動作が集積回路装置としての通常動作であり，第２動作がスキャンテストである。この場合，コントロール信号はスキャンコントロール信号であり，第１入力端子はデータ入力端子であり，第２入力端子はスキャンイン端子であり，第３入力端子はスキャンコントロール端子であり，第１出力端子はデータ出力端子であり，第２出力端子はスキャンアウト端子である。
【００１９】
【発明の実施の形態】
以下，本発明を具体化した実施の形態について，添付図面を参照しつつ詳細に説明する。本実施の形態は，実動作回路としての論理回路と，出荷検査としてのスキャンテストを行うためのスキャンフリップフロップ回路列とを備えた集積回路装置に本発明を適用したものである。
【００２０】
［第１の形態］
本形態に係るスキャンフリップフロップ回路１は，図１のブロック図に示すように構成されている。すなわちスキャンフリップフロップ回路１は，セレクタ部１１と，マスターラッチ８３と，スレーブラッチ８４とを有している。また，スキャンフリップフロップ回路１には，外部端子として，入力端子ＳＣ，入力端子Ｄ，入力端子ＳＩ，クロック端子ＣＬＫ，出力端子Ｑ，そして出力端子ＳＯが設けられている。入力端子ＳＣは，スキャンコントロール信号を受ける端子である。入力端子Ｄは，データ信号を受ける端子である。入力端子ＳＩは，スキャンイン信号を受ける端子である。クロック端子ＣＬＫは，クロック信号を受ける端子である。出力端子Ｑは，集積回路装置の実動作回路である論理回路へ向けて信号を出力する端子である。出力端子ＳＯは，スキャンフリップフロップ回路列において次段のスキャンフリップフロップ回路１へ向けてスキャンイン信号を出力する端子である。
【００２１】
集積回路装置においてスキャンフリップフロップ回路１を用いた場合のネット接続構成を図２に示す。図２のネット接続構成では，多数のスキャンフリップフロップ回路１がチェーン状に接続されて，スキャンフリップフロップ回路列をなしている。スキャンフリップフロップ回路列においては，前段のスキャンフリップフロップ回路１の出力端子ＳＯと次段のスキャンフリップフロップ回路１の入力端子ＳＩとが，スキャンネット８６により接続されている。また，各スキャンフリップフロップ回路１の入力端子ＳＣに対して，共通のスキャンコントロール信号ＳＣが入力されるようになっている。また，各スキャンフリップフロップ回路１の入力端子Ｄ，クロック端子ＣＬＫに対しては，それぞれ個別にデータ信号，クロック信号が入力されるようになっている。ただしクロック信号は，各スキャンフリップフロップ回路１に共通である場合もある。さらに，各スキャンフリップフロップ回路１の出力端子Ｑと論理回路９０とが，駆動ネット８５により接続されている。
【００２２】
スキャンフリップフロップ回路１のセレクタ部１１について説明する。セレクタ部１１は，入力端子ＳＣ，入力端子Ｄ，そして入力端子ＳＩの３つの入力端子から信号の入力を受ける論理回路である。そして，これら３つの信号に基づく出力信号d_int をマスターラッチ８３へ向けて出力するようになっている。セレクタ部１１は基本的に，スキャンコントロール信号ＳＣと入力端子Ｄの信号との論理和と，入力端子ＳＩの信号との論理積の反転を出力する２−１のＯＲ−ＡＮＤ−ＩＮＶＥＲＴＥＲ構成を有している。
【００２３】
セレクタ部１１は，図３の回路図に示すように構成されている。すなわちセレクタ部１１は，ＭＰ２１〜２３の３個のＰＭＯＳと，ＭＮ２１〜２３の３個のＮＭＯＳとの計６個のトランジスタにより構成されている。このうち，ＭＰ２３とＭＮ２３とは，スキャンコントロール信号ＳＣによりスイッチングされる。ＭＰ２１とＭＮ２１とは，入力端子Ｄの信号によりスイッチングされる。ＭＰ２２とＭＮ２２とは，入力端子ＳＩの信号によりスイッチングされる。そして，ＭＰ２１とＭＰ２３との直列結合とＭＰ２２とが，電源線ＶＤＤと出力線d_int との間に並列に配置されている。また，ＭＮ２１とＭＮ２３との並列結合とＭＮ２２とが，出力線d_int と接地線ＧＮＤとの間に直列に配置されている。かかる構成により，ＯＲ−ＡＮＤ−ＩＮＶＥＲＴＥＲとして作用するようになっている。
【００２４】
マスターラッチ８３およびスレーブラッチ８４について説明する。マスターラッチ８３およびスレーブラッチ８４には，クロック端子ＣＬＫからクロック信号が供給されるようになっている。また，マスターラッチ８３には，セレクタ部１１の出力信号d_int が入力される。そして，スレーブラッチ８４には，出力端子Ｑおよび出力端子ＳＯが接続されている。マスターラッチ８３およびスレーブラッチ８４は，クロック信号ＣＬＫに従い，セレクタ部１１の出力信号d_int を取り込んでは出力端子Ｑおよび出力端子ＳＯへ向けて出力するものである。そのラッチ動作そのものは周知技術であるため，その説明は割愛する。
【００２５】
出力端子Ｑは，スレーブラッチ８４の出力信号を反転して出力する端子である。その出力先は，集積回路装置の実動作回路である論理回路９０である。出力端子ＳＯは，スレーブラッチ８４の出力信号とスキャンコントロール信号ＳＣとの論理積の反転を出力する端子である。このため，スレーブラッチ８４と出力端子ＳＯとの間には，ＮＡＮＤゲート１３が設けられている。ＮＡＮＤゲート１３には，スレーブラッチ８４の出力信号およびスキャンコントロール信号ＳＣが入力されるようになっている。出力端子ＳＯの出力先は，スキャンフリップフロップ回路列において次段のスキャンフリップフロップ回路１の入力端子ＳＩである。
【００２６】
スキャンフリップフロップ回路１の動作を説明する。まず，セレクタ部１１の動作を説明する。セレクタ部１１の動作は，スキャンコントロール信号ＳＣにより異なる。そこで，スキャンコントロール信号ＳＣがローである場合とハイである場合とに分けて説明する。
【００２７】
まず，スキャンコントロール信号ＳＣがローである場合について説明する。この場合には，入力端子ＳＩの信号は，後述する理由によりハイに固定されている。スキャンコントロール信号ＳＣがローであると，図３の回路図において，ＭＰ２３がオンとなり，ＭＮ２３がオフとなる。また，入力端子ＳＩの信号がハイであるため，ＭＰ２２がオフとなり，ＭＮ２２がオンとなる。すると，ＭＰ２３がオンでありＭＰ２２がオフであるため，電源線ＶＤＤと出力線d_int とがつながるか否かは，ＭＰ２１の状態如何による。また，ＭＮ２３がオフでありＭＮ２２がオンであるため，出力線d_int と接地線ＧＮＤとがつながるか否かは，ＭＮ２１の状態如何による。このため，出力線d_int の状態は，入力端子Ｄの信号により定まることとなる。すなわち，入力端子Ｄの信号がハイであれば，出力線d_int の信号はローとなる。ＭＰ２１がオフでＭＮ２１がオンだからである。一方，入力端子Ｄの信号がローであれば，出力線d_int の信号はハイとなる。ＭＰ２１がオンでＭＮ２１がオフだからである。すなわちセレクタ部１１は，スキャンコントロール信号ＳＣがローである場合には，入力端子Ｄの信号の反転を出力するのである。
【００２８】
次に，スキャンコントロール信号ＳＣがハイである場合について説明する。この場合には，入力端子ＳＩの信号に前述のような制約はない。スキャンコントロール信号ＳＣがハイであると，ＭＰ２３がオフとなり，ＭＮ２３がオンとなる。すると，ＭＰ２３がオフであるため，電源線ＶＤＤと出力線d_int とがつながるか否かは，ＭＰ２１の状態とは無関係に，ＭＰ２２の状態如何による。また，ＭＮ２３がオンであるため，出力線d_int と接地線ＧＮＤとがつながるか否かは，ＭＮ２１の状態とは無関係に，ＭＮ２２の状態如何による。このため，出力線d_int の状態は，入力端子ＳＩの信号により定まることとなる。すなわち，入力端子ＳＩの信号がハイであれば，入力端子Ｄの信号とは無関係に，出力線d_int の信号はローとなる。ＭＰ２２がオフでＭＮ２２がオンだからである。一方，入力端子ＳＩの信号がローであれば，入力端子Ｄの信号とは無関係に，出力線d_int の信号はハイとなる。ＭＰ２２がオンでＭＮ２２がオフだからである。すなわちセレクタ部１１は，スキャンコントロール信号ＳＣがハイである場合には，入力端子ＳＩの信号の反転を出力するのである。
【００２９】
セレクタ部１１のかかる動作は，次に述べるようにＯＲ−ＡＮＤ−ＩＮＶＥＲＴＥＲと等価である。なぜなら，図１中のＯＲ−ＡＮＤ−ＩＮＶＥＲＴＥＲでは，スキャンコントロール信号ＳＣがローであると，１段めのＯＲゲートは入力端子Ｄの信号をそのまま通過させることとなる。このとき，入力端子ＳＩの信号がハイに固定されているため，２段めのＡＮＤゲートは，ＯＲゲートの出力信号，すなわち入力端子Ｄの信号をそのまま通過させることとなる。そしてその反転信号が出力線d_int に出力されるのである。一方，スキャンコントロール信号ＳＣがハイであると，１段めのＯＲゲートの出力は，ハイに固定されることとなる。このため２段めのＡＮＤゲートは，入力端子ＳＩの信号をそのまま通過させることとなる。そしてその反転信号が出力線d_intに出力されるのである。
【００３０】
上記の動作によるセレクタ部１１の出力は，クロック信号ＣＬＫに従い，マスターラッチ８３およびスレーブラッチ８４に取り込まれそしてラッチ出力される。そして，スレーブラッチ８４の出力の反転信号が，出力端子Ｑから出力される。したがって出力端子Ｑには，スキャンコントロール信号ＳＣがローである場合には，入力端子Ｄの信号が通過してくることとなる。そして，スキャンコントロール信号ＳＣがハイである場合には，入力端子ＳＩの信号が通過してくることとなる。かかる信号が，出力端子Ｑから論理回路９０へ向けて出力される。
【００３１】
スレーブラッチ８４の出力信号は，ＮＡＮＤゲート１３にも入力される。ＮＡＮＤゲート１３には，スレーブラッチ８４の出力信号の他にスキャンコントロール信号ＳＣも入力される。このため，スキャンコントロール信号ＳＣがローである場合には，ＮＡＮＤゲート１３の出力はハイに固定される。スキャンコントロール信号ＳＣがハイである場合には，ＮＡＮＤゲート１３の出力は，出力端子Ｑと同じく，スレーブラッチ８４の出力の反転信号である。ＮＡＮＤゲート１３の出力が，出力端子ＳＯの出力信号となる。したがって出力端子ＳＯには，スキャンコントロール信号ＳＣがハイである場合には，入力端子ＳＩの信号が通過してくることとなる。しかしスキャンコントロール信号ＳＣがローである場合には，出力端子ＳＯの出力はハイに固定されるのである。かかる出力が，出力端子ＳＯから次段のスキャンフリップフロップ回路１の入力端子ＳＩへ向けて出力される。セレクタ部１１の動作説明において，スキャンコントロール信号ＳＣがローである場合には入力端子ＳＩの信号がハイに固定されると述べたのはこのためである。
【００３２】
ここまでで説明した各部分の信号の真理値を表２にまとめる。ここで，スキャンコントロール信号ＳＣがハイである場合に入力端子Ｄの信号が「Ｘ」とされているのは，ハイであってもローであっても結果に影響しないことを意味している。
【００３３】
【表２】
0004108374.tif 000003
【００３４】
スキャンフリップフロップ回路１において，スキャンコントロール信号ＳＣがローである状態とは，集積回路の論理回路９０に通常動作を行わせる状態である。この状態では，入力端子Ｄに入力されたデータ信号Ｄの反転信号が，セレクタ部１１から出力される（d_int ）。これがマスターラッチ８３およびスレーブラッチ８４を経て，その後再び反転されて出力端子Ｑから論理回路９０へ向けて出力される。すなわち，データ信号Ｄが論理回路９０に入力される。これにより通常動作が行われる。かかる通常動作において，スキャンネット８６は，データ信号Ｄを論理回路９０に送出する際の配線負荷とならない。出力端子Ｑとは別に出力端子ＳＯが設けられることにより，スキャンネット８６と駆動ネット８５とが完全に分離させられているからである。このためスキャンネット８６は，通常動作の動作速度を低下させる要因とはならない。
【００３５】
また，通常動作中は，スキャンネット８６のレベルが，データ信号Ｄの変動如何にかかわらず一定（ハイ）に維持される。このため，余計な電力を消費することがない。また，セレクタ部１１の動作に支障を来すこともない。スキャンイン端子ＳＩへの入力信号がハイに固定されているからである。もし，スキャンイン端子ＳＩの信号がデータ信号Ｄに応じて変動するようなことがあると，セレクタ部１１は所期の動作をしないのである。すなわち，スキャンイン端子ＳＩの信号がローになってしまうと，セレクタ部１１の出力信号d_int は，ハイに固定されてしまう。これでは，データ信号Ｄを論理回路９０へ送ることができず，通常動作ができないこととなる。従来は，このような状況でも正しく動作させるため，図１３に示したような複雑な構成の2-to-1セレクタが不可欠だったのである。本形態のスキャンフリップフロップ回路１では，通常動作中における出力端子ＳＯの出力が固定されるようにしたので，図３に示した比較的簡単な構成のセレクタ部１１を採用できるのである。
【００３６】
一方，スキャンコントロール信号ＳＣがハイである状態とは，集積回路のスキャンテストを行う状態である。この状態では，入力端子ＳＩに入力されたスキャンイン信号ＳＩの反転信号が，セレクタ部１１から出力される（d_int ）。これがマスターラッチ８３およびスレーブラッチ８４を経て，その後再び反転されて出力端子Ｑから論理回路９０へ向けて出力される。すなわち，スキャンイン信号ＳＩが論理回路９０に入力される。また，スキャンテスト中は，ＮＡＮＤゲート１３の一方の入力端子にハイであるスキャンコントロール信号ＳＣが入力される。このためＮＡＮＤゲート１３は，スレーブラッチ８４の出力信号の反転信号を出力する。これは，出力端子Ｑの信号と同じくスキャンイン信号ＳＩである。この信号が出力端子ＳＯから次段のスキャンフリップフロップ回路１へ送られる。これによりスキャンテストが行われる。
【００３７】
スキャンフリップフロップ回路１は，集積回路装置において，従来型のスキャンフリップフロップ回路とともにスキャンフリップフロップ回路列を形成することも可能である。図４および図５にその例を示す。図４は，従来型のものとして，図９に示したスキャンフリップフロップ回路８０を用いた例である。図５は，従来型のものとして，図１１に示したスキャンフリップフロップ回路８１を用いた例である。これらのような使用例でも，スキャンフリップフロップ回路１が連続して配置されている箇所については，前述の説明と何も変わるところはない。
【００３８】
しかしながら，スキャンフリップフロップ回路８０，８１の直後にスキャンフリップフロップ回路１が配置されている箇所については，ＮＡＮＤゲート１５を介在させる必要がある。すなわち，ＮＡＮＤゲート１５には，前段のスキャンフリップフロップ回路８０，８１の出力端子ＱまたはＳＯの出力の反転信号と，スキャンコントロール信号ＳＣとを入力させる。そして，ＮＡＮＤゲート１５の出力を次段のスキャンフリップフロップ回路１の入力端子ＳＩに入力させるのである。このようにＮＡＮＤゲート１５を介在させるのは，スキャンフリップフロップ回路８０，８１の出力端子ＱまたはＳＯの出力が，通常動作時に固定されないからである。このため，スキャンフリップフロップ回路８０，８１の出力端子ＱまたはＳＯの出力を直接に次段のスキャンフリップフロップ回路１の入力端子ＳＩに入力させると，次段のスキャンフリップフロップ回路１が，通常動作時に正しい動作をしないのである。図４，図５の例では，ＮＡＮＤゲート１５を設けることにより，次段のスキャンフリップフロップ回路１の入力端子ＳＩへの入力信号が，通常動作時にはハイに固定されるようにしている。これにより，次段のスキャンフリップフロップ回路１が通常動作時でも正しく動作するようにしているのである。
【００３９】
なお，図４および図５に示してはいないが，スキャンフリップフロップ回路１の直後にスキャンフリップフロップ回路８０または８１が配置されている箇所については，このような工夫は不要である。すなわち，前段の，スキャンフリップフロップ回路１の出力端子ＳＯ（出力端子Ｑでもよい）を直接に次段のスキャンフリップフロップ回路８０または８１の入力端子ＳＩにつなげばよい。
【００４０】
以上詳細に説明したように，本形態では，スキャンフリップフロップ回路１において，出力端子Ｑとは別に出力端子ＳＯを設け，論理回路９０向けと次段のスキャンフリップフロップ回路１向けとで別々の出力端子を使用することにしている。そして，次段のスキャンフリップフロップ回路１向けの出力端子ＳＯにおいては，通常動作時に出力が固定されるようにしている。これにより，通常動作時の高速動作および低消費電力化を達成している。そして，セレクタ部１１として比較的簡単なＯＲ−ＡＮＤ−ＩＮＶＥＲＴＥＲ構造のものの採用を可能としている。また，従来型のスキャンフリップフロップ回路８０，８１との併用も，間にＮＡＮＤゲート１５を介在させるだけで可能である。
【００４１】
［第２の形態］
第２の形態は第１の形態と逆に，スキャンコントロール信号ＳＣがハイである場合に通常動作を行い，ローである場合にスキャンテストを行う集積回路装置に本発明を適用したものである。
【００４２】
本形態に係るスキャンフリップフロップ回路２は，図６のブロック図に示すように構成されている。すなわちスキャンフリップフロップ回路２は，セレクタ部１２と，マスターラッチ８３と，スレーブラッチ８４とを有している。また，スキャンフリップフロップ回路２には，外部端子として，入力端子ＳＣ，入力端子Ｄ，入力端子ＳＩ，クロック端子ＣＬＫ，出力端子Ｑ，そして出力端子ＳＯが設けられている。入力端子ＳＣは，スキャンコントロール信号を受ける端子である。入力端子Ｄは，データ信号を受ける端子である。入力端子ＳＩは，スキャンイン信号を受ける端子である。クロック端子ＣＬＫは，クロック信号を受ける端子である。出力端子Ｑは，集積回路装置の実動作回路である論理回路へ向けて信号を出力する端子である。出力端子ＳＯは，スキャンフリップフロップ回路列において次段のスキャンフリップフロップ回路２へ向けてスキャンイン信号を出力する端子である。
【００４３】
スキャンフリップフロップ回路２のセレクタ部１２について説明する。セレクタ部１２は，入力端子ＳＣ，入力端子Ｄ，そして入力端子ＳＩの３つの入力端子から信号の入力を受ける論理回路である。そして，これら３つの信号に基づく出力信号d_int をマスターラッチ８３へ向けて出力するようになっている。セレクタ部１２は基本的に，スキャンコントロール信号ＳＣと入力端子Ｄの信号との論理積と，入力端子ＳＩの信号との論理和の反転を出力する２−１のＡＮＤ−ＯＲ−ＩＮＶＥＲＴＥＲ構成を有している。
【００４４】
セレクタ部１２は，図７の回路図に示すように構成されている。すなわちセレクタ部１２は，ＭＰ３１〜３３の３個のＰＭＯＳと，ＭＮ３１〜３３の３個のＮＭＯＳとの計６個のトランジスタにより構成されている。このうち，ＭＰ３３とＭＮ３３とは，スキャンコントロール信号ＳＣによりスイッチングされる。ＭＰ３１とＭＮ３１とは，入力端子Ｄの信号によりスイッチングされる。ＭＰ３２とＭＮ３２とは，入力端子ＳＩの信号によりスイッチングされる。そして，ＭＰ３１とＭＰ３３との並列結合とＭＰ３２とが，電源線ＶＤＤと出力線d_int との間に直列に配置されている。また，ＭＮ３１とＭＮ３３との直列結合とＭＮ３２とが，出力線d_int と接地線ＧＮＤとの間に並列に配置されている。かかる構成により，ＡＮＤ−ＯＲ−ＩＮＶＥＲＴＥＲとして作用するようになっている。
【００４５】
出力端子Ｑは，スレーブラッチ８４の出力信号を反転して出力する端子である。その出力先は，集積回路装置の実動作回路である論理回路９０である。出力端子ＳＯは，スレーブラッチ８４の出力信号とスキャンコントロール信号ＳＣとの論理和の反転を出力する端子である。このため，スレーブラッチ８４と出力端子ＳＯとの間には，ＮＯＲゲート１４が設けられている。ＮＯＲゲート１４には，スレーブラッチ８４の出力信号およびスキャンコントロール信号ＳＣが入力されるようになっている。出力端子ＳＯの出力先は，スキャンフリップフロップ回路列において次段のスキャンフリップフロップ回路の入力端子ＳＩである。なお，マスターラッチ８３およびスレーブラッチ８４については，第１の形態に係るものと同様であるため，その説明は省略する。
【００４６】
スキャンフリップフロップ回路２の動作を説明する。まず，セレクタ部１２の動作を説明する。セレクタ部１２の動作も第１の形態に係るセレクタ部１１と同様に，スキャンコントロール信号ＳＣにより異なる。そこで，スキャンコントロール信号ＳＣがハイである場合とローである場合とに分けて説明する。
【００４７】
まず，スキャンコントロール信号ＳＣがハイである場合について説明する。この場合には，入力端子ＳＩの信号は，後述する理由によりローに固定されている。スキャンコントロール信号ＳＣがハイであると，図７の回路図において，ＭＰ３３がオフとなり，ＭＮ３３がオンとなる。また，入力端子ＳＩの信号がローであるため，ＭＮ３２がオフとなり，ＭＰ３２がオンとなる。すると，ＭＰ３２がオンでありＭＰ３３がオフであるため，電源線ＶＤＤと出力線d_int とがつながるか否かは，ＭＰ３１の状態如何による。また，ＭＮ３２がオフでありＭＮ３３がオンであるため，出力線d_int と接地線ＧＮＤとがつながるか否かは，ＭＮ３１の状態如何による。このため，出力線d_int の状態は，入力端子Ｄの信号により定まることとなる。すなわち，入力端子Ｄの信号がハイであれば，出力線d_int の信号はローとなる。ＭＰ３１がオフでＭＮ３１がオンだからである。一方，入力端子Ｄの信号がローであれば，出力線d_int の信号はハイとなる。ＭＰ３１がオンでＭＮ３１がオフだからである。すなわちセレクタ部１２は，スキャンコントロール信号ＳＣがハイである場合には，入力端子Ｄの信号の反転を出力するのである。
【００４８】
次に，スキャンコントロール信号ＳＣがローである場合について説明する。この場合には，入力端子ＳＩの信号に前述のような制約はない。スキャンコントロール信号ＳＣがローであると，ＭＰ３３がオンとなり，ＭＮ３３がオフとなる。すると，ＭＰ３３がオンであるため，電源線ＶＤＤと出力線d_int とがつながるか否かは，ＭＰ３１の状態とは無関係に，ＭＰ３２の状態如何による。また，ＭＮ３３がオフであるため，出力線d_int と接地線ＧＮＤとがつながるか否かは，ＭＮ３１の状態とは無関係に，ＭＮ３２の状態如何による。このため，出力線d_int の状態は，入力端子ＳＩの信号により定まることとなる。すなわち，入力端子ＳＩの信号がハイであれば，入力端子Ｄの信号とは無関係に，出力線d_int の信号はローとなる。ＭＰ３２がオフでＭＮ３２がオンだからである。一方，入力端子ＳＩの信号がローであれば，入力端子Ｄの信号とは無関係に，出力線d_int の信号はハイとなる。ＭＰ３２がオンでＭＮ３２がオフだからである。すなわちセレクタ部１２は，スキャンコントロール信号ＳＣがハイである場合には，入力端子ＳＩの信号の反転を出力するのである。
【００４９】
セレクタ部１２のかかる動作は，次に述べるようにＡＮＤ−ＯＲ−ＩＮＶＥＲＴＥＲと等価である。なぜなら，図６中のＡＮＤ−ＯＲ−ＩＮＶＥＲＴＥＲでは，スキャンコントロール信号ＳＣがハイであると，１段めのＡＮＤゲートは入力端子Ｄの信号をそのまま通過させることとなる。このとき，入力端子ＳＩの信号がローに固定されているため，２段めのＯＲゲートは，ＡＮＤゲートの出力信号，すなわち入力端子Ｄの信号をそのまま通過させることとなる。そしてその反転信号が出力線d_int に出力されるのである。一方，スキャンコントロール信号ＳＣがローであると，１段めのＡＮＤゲートの出力は，ローに固定されることとなる。このため２段めのＯＲゲートは，入力端子ＳＩの信号をそのまま通過させることとなる。そしてその反転信号が出力線d_intに出力されるのである。
【００５０】
上記の動作によるセレクタ部１２の出力は，クロック信号ＣＬＫに従い，マスターラッチ８３およびスレーブラッチ８４に取り込まれそしてラッチ出力される。そして，スレーブラッチ８４の出力の反転信号が，出力端子Ｑから出力される。したがって出力端子Ｑには，スキャンコントロール信号ＳＣがハイである場合には，入力端子Ｄの信号が通過してくることとなる。そして，スキャンコントロール信号ＳＣがローである場合には，入力端子ＳＩの信号が通過してくることとなる。かかる信号が，出力端子Ｑから論理回路９０へ向けて出力される。
【００５１】
スレーブラッチ８４の出力信号は，ＮＯＲゲート１４にも入力される。ＮＯＲゲート１４には，スレーブラッチ８４の出力信号の他にスキャンコントロール信号ＳＣも入力される。このため，スキャンコントロール信号ＳＣがハイである場合には，ＮＯＲゲート１４の出力はローに固定される。スキャンコントロール信号ＳＣがローである場合には，ＮＯＲゲート１４の出力は，出力端子Ｑと同じく，スレーブラッチ８４の出力の反転信号である。ＮＯＲゲート１４の出力が，出力端子ＳＯの出力信号となる。したがって出力端子ＳＯには，スキャンコントロール信号ＳＣがローである場合には，入力端子ＳＩの信号が通過してくることとなる。しかしスキャンコントロール信号ＳＣがハイである場合には，出力端子ＳＯの出力はローに固定されるのである。かかる出力が，出力端子ＳＯから次段のスキャンフリップフロップ回路１の入力端子ＳＩへ向けて出力される。セレクタ部１２の動作説明において，スキャンコントロール信号ＳＣがハイである場合には入力端子ＳＩの信号がローに固定されると述べたのはこのためである。
【００５２】
ここまでで説明した各部分の信号の真理値を表３にまとめる。ここで，スキャンコントロール信号ＳＣがローである場合に入力端子Ｄの信号が「Ｘ」とされているのは，ハイであってもローであっても結果に影響しないことを意味している。
【００５３】
【表３】
0004108374.tif 000004
【００５４】
スキャンフリップフロップ回路２において，スキャンコントロール信号ＳＣがハイである状態とは，集積回路の論理回路９０に通常動作を行わせる状態である。この状態では，入力端子Ｄに入力されたデータ信号Ｄの反転信号が，セレクタ部１２から出力される（d_int ）。これがマスターラッチ８３およびスレーブラッチ８４を経て，その後再び反転されて出力端子Ｑから論理回路９０へ向けて出力される。すなわち，データ信号Ｄが論理回路９０に入力される。これにより通常動作が行われる。かかる通常動作において，スキャンネット８６は，データ信号Ｄを論理回路９０に送出する際の配線負荷とならない。出力端子Ｑとは別に出力端子ＳＯが設けられることにより，スキャンネット８６と駆動ネット８５とが完全に分離させられているからである。このためスキャンネット８６は，通常動作の動作速度を低下させる要因とはならない。
【００５５】
また，通常動作中は，スキャンネット８６のレベルが，データ信号Ｄの変動如何にかかわらず一定（ロー）に維持される。このため，余計な電力を消費することがない。また，セレクタ部１２の動作に支障を来すこともない。スキャンイン端子ＳＩへの入力信号がローに固定されているからである。もし，スキャンイン端子ＳＩの信号がデータ信号Ｄに応じて変動するようなことがあると，セレクタ部１２は所期の動作をしないのである。すなわち，スキャンイン端子ＳＩの信号がハイになってしまうと，セレクタ部１２の出力信号d_int は，ローに固定されてしまう。これでは，データ信号Ｄを論理回路９０へ送ることができず，通常動作ができないこととなる。従来は，このような状況でも正しく動作させるため，図１３に示したもののような複雑な構成の2-to-1セレクタが不可欠だったのである。本形態のスキャンフリップフロップ回路２では，通常動作中における出力端子ＳＯの出力が固定されるようにしたので，図７に示した比較的簡単な構成のセレクタ部１２を採用できるのである。
【００５６】
一方，スキャンコントロール信号ＳＣがローである状態とは，集積回路のスキャンテストを行う状態である。この状態では，入力端子ＳＩに入力されたスキャンイン信号ＳＩの反転信号が，セレクタ部１２から出力される（d_int ）。これがマスターラッチ８３およびスレーブラッチ８４を経て，その後再び反転されて出力端子Ｑから論理回路９０へ向けて出力される。すなわち，スキャンイン信号ＳＩが論理回路９０に入力される。また，スキャンテスト中は，ＮＯＲゲート１４の一方の入力端子にローであるスキャンコントロール信号ＳＣが入力される。このためＮＯＲゲート１４は，スレーブラッチ８４の出力信号の反転信号を出力する。これは，出力端子Ｑの信号と同じくスキャンイン信号ＳＩである。この信号が出力端子ＳＯから次段のスキャンフリップフロップ回路２へ送られる。これによりスキャンテストが行われる。
【００５７】
スキャンフリップフロップ回路２は，集積回路装置において，従来型のスキャンフリップフロップ回路とともにスキャンフリップフロップ回路列を形成することも可能である。図８にその例を示す。図８は，従来型のものとして，図１１に示したスキャンフリップフロップ回路８１を，通常動作時のスキャンコントロール信号ＳＣをローとし，スキャンテスト時のスキャンコントロール信号ＳＣをハイとした場合に適用できるように組み換えたスキャンフリップフロップ回路８１’を用いた例である。なお，スキャンフリップフロップ回路８１’では，出力端子ＱとＳＯとは別々であるが兼用であっても良い。これらのような使用例でも，スキャンフリップフロップ回路２が連続して配置されている箇所については，前述の説明と何も変わるところはない。
【００５８】
しかしながら，スキャンフリップフロップ回路８１’の直後にスキャンフリップフロップ回路２が配置されている箇所については，ＮＯＲゲート１６を介在させる必要がある。すなわち，ＮＯＲゲート１６には，前段のスキャンフリップフロップ回路８１’の出力端子ＳＯまたはＱの出力の反転信号と，スキャンコントロール信号ＳＣとを入力させる。そして，ＮＯＲゲート１６の出力を次段のスキャンフリップフロップ回路２の入力端子ＳＩに入力させるのである。このようにＮＯＲゲート１６を介在させるのは，スキャンフリップフロップ回路８１’の出力端子ＳＯまたはＱの出力が，通常動作時に固定されないからである。このため，スキャンフリップフロップ回路８１’の出力端子ＳＯまたはＱの出力を直接に次段のスキャンフリップフロップ回路２の入力端子ＳＩに入力させると，次段のスキャンフリップフロップ回路２が，通常動作時に正しい動作をしないのである。図８の例では，ＮＯＲゲート１６を設けることにより，次段のスキャンフリップフロップ回路２の入力端子ＳＩへの入力信号が，通常動作時にはローに固定されるようにしている。これにより，次段のスキャンフリップフロップ回路２が通常動作時でも正しく動作するようにしているのである。
【００５９】
以上詳細に説明したように，本形態では，スキャンフリップフロップ回路２において，出力端子Ｑとは別に出力端子ＳＯを設け，論理回路９０向けと次段のスキャンフリップフロップ回路２向けとで別々の出力端子を使用することにしている。そして，次段のスキャンフリップフロップ回路２向けの出力端子ＳＯにおいては，通常動作時に出力が固定されるようにしている。これにより，通常動作時の高速動作および低消費電力化を達成している。そして，セレクタ部１２として比較的簡単なＡＮＤ−ＯＲ−ＩＮＶＥＲＴＥＲ構造のものの採用を可能としている。また，従来型のスキャンフリップフロップ回路８１’との併用も，間にＮＯＲゲート１６を介在させるだけで可能である。
【００６０】
なお，本実施の形態は単なる例示にすぎず，本発明を何ら限定するものではない。したがって本発明は当然に，その要旨を逸脱しない範囲内で種々の改良，変形が可能である。例えば，実施の形態のようなロジックＩＣに限らずメモリＩＣにも適用可能である。また，２種類の動作は，スキャンテストと通常動作とに限られない。
【００６１】
（付記１）  第１信号および第２信号の入力を受け，第１動作時には第１信号を通過させ，第２動作時には第２信号を通過させるスキャンフリップフロップ回路において，
第１信号の入力を受ける第１入力端子と，第２信号の入力を受ける第２入力端子と，第１動作と第２動作とのいずれの動作を行うかを指示するコントロール信号の入力を受ける第３入力端子とを有し，コントロール信号が第１動作を指示する信号である場合に第１信号に基づく信号を出力するとともに，コントロール信号が第２動作を指示する信号である場合に第２信号に基づく信号を出力する選択部と，
前記選択部からの出力信号に基づく信号をクロックに従い取り込んでラッチ出力するラッチ部と，
前記ラッチ部の出力信号を出力する第１出力端子と，
前記第１出力端子とは別に設けられ，第１動作時には出力が固定されるとともに，第２動作時には第２信号に基づく信号を出力する第２出力端子とを有し，
前記選択部は，前記第１入力端子への入力信号と前記第３入力端子への入力信号との論理和と前記第２入力端子への入力信号との論理積の反転を出力する２−１のＯＲ−ＡＮＤ−ＩＮＶＥＲＴＥＲ構成を有するものであることを特徴とするスキャンフリップフロップ回路。
（付記２）  付記１に記載するスキャンフリップフロップ回路において，
前記選択部は，
前記第１入力端子への入力信号がハイである場合にオフしローである場合にオンする第１素子と，
前記第２入力端子への入力信号がハイである場合にオフしローである場合にオンする第２素子と，
前記第３入力端子への入力信号がハイである場合にオフしローである場合にオンする第３素子と，
前記第１入力端子への入力信号がハイである場合にオンしローである場合にオフする第４素子と，
前記第２入力端子への入力信号がハイである場合にオンしローである場合にオフする第５素子と，
前記第３入力端子への入力信号がハイである場合にオンしローである場合にオフする第６素子とを有し，
前記第１素子と前記第３素子との直列結合と前記第２素子とが，ハイ側と出力側との間に並列に配置され，
前記第４素子と前記第６素子との並列結合と前記第５素子とが，出力側とロー側との間に直列に配置されているものであることを特徴とするスキャンフリップフロップ回路。
（付記３）  第１信号および第２信号の入力を受け，第１動作時には第１信号を通過させ，第２動作時には第２信号を通過させるスキャンフリップフロップ回路において，
第１信号の入力を受ける第１入力端子と，第２信号の入力を受ける第２入力端子と，第１動作と第２動作とのいずれの動作を行うかを指示するコントロール信号の入力を受ける第３入力端子とを有し，コントロール信号が第１動作を指示する信号である場合に第１信号に基づく信号を出力するとともに，コントロール信号が第２動作を指示する信号である場合に第２信号に基づく信号を出力する選択部と，
前記選択部からの出力信号に基づく信号をクロックに従い取り込んでラッチ出力するラッチ部と，
前記ラッチ部の出力信号を出力する第１出力端子と，
前記第１出力端子とは別に設けられ，第１動作時には出力が固定されるとともに，第２動作時には第２信号に基づく信号を出力する第２出力端子とを有し，
前記選択部は，前記第１入力端子への入力信号と前記第３入力端子への入力信号との論理積と前記第２入力端子への入力信号との論理和の反転を出力する２−１のＡＮＤ−ＯＲ−ＩＮＶＥＲＴＥＲ構成を有するものであることを特徴とするスキャンフリップフロップ回路。
（付記４）  付記３に記載するスキャンフリップフロップ回路において，
前記選択部は，
前記第１入力端子への入力信号がハイである場合にオフしローである場合にオンする第１素子と，
前記第２入力端子への入力信号がハイである場合にオフしローである場合にオンする第２素子と，
前記第３入力端子への入力信号がハイである場合にオフしローである場合にオンする第３素子と，
前記第１入力端子への入力信号がハイである場合にオンしローである場合にオフする第４素子と，
前記第２入力端子への入力信号がハイである場合にオンしローである場合にオフする第５素子と，
前記第３入力端子への入力信号がハイである場合にオンしローである場合にオフする第６素子とを有し，
前記第１素子と前記第３素子との並列結合と前記第２素子とが，ハイ側と出力側との間に直列に配置され，
前記第４素子と前記第６素子との直列結合と前記第５素子とが，出力側とロー側との間に並列に配置されているものであることを特徴とするスキャンフリップフロップ回路。
（付記５）  付記１から付記４までのいずれか１つに記載するスキャンフリップフロップ回路において，
第１信号が通常データ信号であり，第２信号がスキャンイン信号であり，第１動作が通常動作であり，第２動作がスキャンテストであることを特徴とするスキャンフリップフロップ回路。
（付記６）  第１信号および第２信号の入力を受け，第１動作時には第１信号を通過させ，第２動作時には第２信号を通過させるスキャンフリップフロップ回路を複数備えるスキャンフリップフロップ回路列において，
各スキャンフリップフロップ回路は，
第１信号の入力を受ける第１入力端子と，第２信号の入力を受ける第２入力端子と，第１動作と第２動作とのいずれの動作を行うかを指示するコントロール信号の入力を受ける第３入力端子とを有し，コントロール信号が第１動作を指示する信号である場合に第１信号に基づく信号を出力するとともに，コントロール信号が第２動作を指示する信号である場合に第２信号に基づく信号を出力する選択部と，
前記選択部からの出力信号に基づく信号をクロックに従い取り込んでラッチ出力するラッチ部と，
前記ラッチ部の出力信号を出力する第１出力端子と，
前記第１出力端子とは別に設けられ，第１動作時には出力が固定されるとともに，第２動作時には第２信号に基づく信号を出力する第２出力端子とを有し，
前記選択部が，前記第１入力端子への入力信号と前記第３入力端子への入力信号との論理和と前記第２入力端子への入力信号との論理積の反転を出力する２−１のＯＲ−ＡＮＤ−ＩＮＶＥＲＴＥＲ構成を有するものである第１種のスキャンフリップフロップ回路であり，
前段の第１種のスキャンフリップフロップ回路の第２出力端子の信号が次段の第１種のスキャンフリップフロップ回路の第２入力端子に入力されることを特徴とするスキャンフリップフロップ回路列。
（付記７）  第１信号および第２信号の入力を受け，第１動作時には第１信号を通過させ，第２動作時には第２信号を通過させるスキャンフリップフロップ回路を複数備えるスキャンフリップフロップ回路列において，
各スキャンフリップフロップ回路は，
第１信号の入力を受ける第１入力端子と，第２信号の入力を受ける第２入力端子と，第１動作と第２動作とのいずれの動作を行うかを指示するコントロール信号の入力を受ける第３入力端子とを有し，コントロール信号が第１動作を指示する信号である場合に第１信号に基づく信号を出力するとともに，コントロール信号が第２動作を指示する信号である場合に第２信号に基づく信号を出力する選択部と，
前記選択部からの出力信号に基づく信号をクロックに従い取り込んでラッチ出力するラッチ部と，
前記ラッチ部の出力信号を出力する第１出力端子と，
前記第１出力端子とは別に設けられ，第１動作時には出力が固定されるとともに，第２動作時には第２信号に基づく信号を出力する第２出力端子とを有し，
前記選択部が，前記第１入力端子への入力信号と前記第３入力端子への入力信号との論理積と前記第２入力端子への入力信号との論理和の反転を出力する２−１のＡＮＤ−ＯＲ−ＩＮＶＥＲＴＥＲ構成を有するものである第１種のスキャンフリップフロップ回路であり，
前段の第１種のスキャンフリップフロップ回路の第２出力端子の信号が次段の第１種のスキャンフリップフロップ回路の第２入力端子に入力されることを特徴とするスキャンフリップフロップ回路列。
（付記８）  付記６または付記７に記載するスキャンフリップフロップ回路列において，
第２種のスキャンフリップフロップ回路をさらに含み，
第２種のスキャンフリップフロップ回路は，
第１信号の入力を受ける第１入力端子と，第２信号の入力を受ける第２入力端子と，第１動作と第２動作とのいずれの動作を行うかを指示するコントロール信号の入力を受ける第３入力端子とを有し，コントロール信号が第１動作を指示する信号である場合に第１信号に基づく信号を出力するとともに，コントロール信号が第２動作を指示する信号である場合に第２信号に基づく信号を出力する選択部と，
前記選択部からの出力信号に基づく信号をクロックに従い取り込んでラッチ出力するラッチ部と，
前記ラッチ部の出力信号を出力する出力端子とを有し，
第２種のスキャンフリップフロップ回路に続いて第１種のスキャンフリップフロップ回路が配置されている箇所では，
第２種のスキャンフリップフロップ回路の出力端子の信号が論理演算器を介して第１種のスキャンフリップフロップ回路の第２入力端子に入力され，
前記論理演算器は，コントロール信号が第１動作を指示する信号である場合には出力値を固定し，コントロール信号が第２動作を指示する信号である場合には第２種のスキャンフリップフロップ回路の出力端子の信号に基づく信号を出力するものであることを特徴とするスキャンフリップフロップ回路列。
（付記９）  付記６から付記８までのいずれか１つに記載するスキャンフリップフロップ回路列において，
第１信号が通常データ信号であり，第２信号がスキャンイン信号であり，第１動作が通常動作であり，第２動作がスキャンテストであることを特徴とするスキャンフリップフロップ回路列。
（付記１０）  第１信号および第２信号の入力を受け，第１動作時には第１信号を通過させ，第２動作時には第２信号を通過させるスキャンフリップフロップ回路を複数備えるスキャンフリップフロップ回路列と，
前記スキャンフリップフロップ回路列から第１信号もしくは第２信号の入力を受ける主動作回路とを有する集積回路装置において，
前記スキャンフリップフロップ回路列の各スキャンフリップフロップ回路は，
第１信号の入力を受ける第１入力端子と，第２信号の入力を受ける第２入力端子と，第１動作と第２動作とのいずれの動作を行うかを指示するコントロール信号の入力を受ける第３入力端子とを有し，コントロール信号が第１動作を指示する信号である場合に第１信号に基づく信号を出力するとともに，コントロール信号が第２動作を指示する信号である場合に第２信号に基づく信号を出力する選択部と，
前記選択部からの出力信号に基づく信号をクロックに従い取り込んでラッチ出力するラッチ部と，
前記ラッチ部の出力信号を出力する第１出力端子と，
前記第１出力端子とは別に設けられ，第１動作時には出力が固定されるとともに，第２動作時には第２信号に基づく信号を出力する第２端子とを有し，
前記選択部が，前記第１入力端子への入力信号と前記第３入力端子への入力信号との論理和と前記第２入力端子への入力信号との論理積の反転を出力する２−１のＯＲ−ＡＮＤ−ＩＮＶＥＲＴＥＲ構成を有するものである第１種のスキャンフリップフロップ回路であり，
前記スキャンフリップフロップ回路列では，前段の第１種のスキャンフリップフロップ回路の第２出力端子の信号が次段の第１種のスキャンフリップフロップ回路の第２入力端子に入力されることを特徴とする集積回路装置。
（付記１１）  第１信号および第２信号の入力を受け，第１動作時には第１信号を通過させ，第２動作時には第２信号を通過させるスキャンフリップフロップ回路を複数備えるスキャンフリップフロップ回路列と，
前記スキャンフリップフロップ回路列から第１信号もしくは第２信号の入力を受ける主動作回路とを有する集積回路装置において，
前記スキャンフリップフロップ回路列の各スキャンフリップフロップ回路は，
第１信号の入力を受ける第１入力端子と，第２信号の入力を受ける第２入力端子と，第１動作と第２動作とのいずれの動作を行うかを指示するコントロール信号の入力を受ける第３入力端子とを有し，コントロール信号が第１動作を指示する信号である場合に第１信号に基づく信号を出力するとともに，コントロール信号が第２動作を指示する信号である場合に第２信号に基づく信号を出力する選択部と，
前記選択部からの出力信号に基づく信号をクロックに従い取り込んでラッチ出力するラッチ部と，
前記ラッチ部の出力信号を前記主動作回路へ出力する第１出力端子と，
前記第１出力端子とは別に設けられ，第１動作時には出力が固定されるとともに，第２動作時には第２信号に基づく信号を出力する第２出力端子とを有し，
前記選択部が，前記第１入力端子への入力信号と前記第３入力端子への入力信号との論理積と前記第２入力端子への入力信号との論理和の反転を出力する２−１のＡＮＤ−ＯＲ−ＩＮＶＥＲＴＥＲ構成を有するものである第１種のスキャンフリップフロップ回路であり，
前記スキャンフリップフロップ回路列では，前段の第１種のスキャンフリップフロップ回路の第２出力端子の信号が次段の第１種のスキャンフリップフロップ回路の第２入力端子に入力されることを特徴とする集積回路装置。
（付記１２）  付記１０または付記１１に記載する集積回路装置において，
前記スキャンフリップフロップ回路列に第２種のスキャンフリップフロップ回路をさらに含み，
第２種のスキャンフリップフロップ回路は，
第１信号の入力を受ける第１入力端子と，第２信号の入力を受ける第２入力端子と，第１動作と第２動作とのいずれの動作を行うかを指示するコントロール信号の入力を受ける第３入力端子とを有し，コントロール信号が第１動作を指示する信号である場合に第１信号に基づく信号を出力するとともに，コントロール信号が第２動作を指示する信号である場合に第２信号に基づく信号を出力する選択部と，
前記選択部からの出力信号に基づく信号をクロックに従い取り込んでラッチ出力するラッチ部と，
前記ラッチ部の出力信号を出力する出力端子とを有し，
第２種のスキャンフリップフロップ回路に続いて第１種のスキャンフリップフロップ回路が配置されている箇所では，
第２種のスキャンフリップフロップ回路の出力端子の信号が論理演算器を介して第１種のスキャンフリップフロップ回路の第２入力端子に入力され，
前記論理演算器は，コントロール信号が第１動作を指示する信号である場合には出力値を固定し，コントロール信号が第２動作を指示する信号である場合には第２種のスキャンフリップフロップ回路の出力端子の信号に基づく信号を出力するものであることを特徴とする集積回路装置。
（付記１３）  付記１０から付記１２までのいずれか１つに記載する集積回路装置において，
第１信号が通常データ信号であり，第２信号がスキャンイン信号であり，第１動作が通常動作であり，第２動作がスキャンテストであることを特徴とする集積回路装置。
【００６２】
【発明の効果】
以上の説明から明らかなように本発明によれば，動作を高速化しまた低消費電力化し，さらに，セレクタ部分を簡素化したスキャンフリップフロップ回路，およびその列，およびその列を内蔵する集積回路装置が提供されている。また，従来型のスキャンフリップフロップ回路との併用も可能である。
【図面の簡単な説明】
【図１】  第１の実施の形態に係るスキャンフリップフロップ回路を示すブロック図である。
【図２】  集積回路装置における図１のスキャンフリップフロップ回路の利用例を示すブロック図である。
【図３】  図１のスキャンフリップフロップ回路におけるセレクタ部の構成を示す回路図である。
【図４】  集積回路装置において図１のスキャンフリップフロップ回路と従来型のスキャンフリップフロップ回路とをともに利用した例（その１）を示すブロック図である。
【図５】  集積回路装置において図１のスキャンフリップフロップ回路と従来型のスキャンフリップフロップ回路とをともに利用した例（その２）を示すブロック図である。
【図６】  第２の実施の形態に係るスキャンフリップフロップ回路を示すブロック図である。
【図７】  図６のスキャンフリップフロップ回路におけるセレクタ部の構成を示す回路図である。
【図８】  集積回路装置において図６のスキャンフリップフロップ回路と従来型のスキャンフリップフロップ回路とをともに利用した例を示すブロック図である。
【図９】  従来のスキャンフリップフロップ回路の一例を示すブロック図である。
【図１０】  図９のスキャンフリップフロップ回路の使用例を示すブロック図である。
【図１１】  従来のスキャンフリップフロップ回路の他の例を示すブロック図である。
【図１２】  図１１のスキャンフリップフロップ回路の使用例を示すブロック図である。
【図１３】  図９または図１１のスキャンフリップフロップ回路における2-to-1セレクタの構成例を示す回路図である。
【符号の説明】
１，２      スキャンフリップフロップ回路
１１，１２  セレクタ部
１３        ＮＡＮＤゲート
１４        ＮＯＲゲート
８３        マスターラッチ
８４        スレーブラッチ
９０        論理回路
【図１】
0004108374.tif 000005
【図２】
0004108374.tif 000006
【図３】
0004108374.tif 000007
【図４】
0004108374.tif 000008
【図５】
0004108374.tif 000009
【図６】
0004108374.tif 000010
【図７】
0004108374.tif 000011
【図８】
0004108374.tif 000012
【図９】
0004108374.tif 000013
【図１０】
0004108374.tif 000014
【図１１】
0004108374.tif 000015
【図１２】
0004108374.tif 000016
【図１３】
0004108374.tif 000017