クロック信号を受信するとともに、スキャンイネーブル信号に応じてデータ信号またはスキャンテスト信号のいずれかを受信し、該データ信号または該スキャンテスト信号を該クロック信号に同期して保持または非保持とするとともに出力するマスターラッチと、前記マスターラッチから受信した信号を、前記スキャンイネーブル信号および前記クロック信号に同期して保持または非保持とするとともに出力するスレーブラッチと、を備え、前記スキャンイネーブル信号は、前記クロック信号に含まれるパルス波の立ち上がりエッジの前に第1のレベルから第2のレベルへ変化するとともに該立ち上がりエッジの後に第2のレベルから第1のレベルへ変化し、該パルス波の立ち下がりエッジの前に第1のレベルから第2のレベルへ変化するとともに該立ち下がりエッジの後に第2のレベルから第1のレベルへ変化することを特徴とするスキャンフリップフロップ。前記マスターラッチは、前記クロック信号が第3のレベルである場合には、信号を受信するとともに、受信した信号を保持することなく、前記スレーブラッチに出力し、前記クロック信号が第4のレベルである場合には、前記クロック信号が第3のレベルである期間に受信した信号を保持するとともに、保持した信号を前記スレーブラッチに出力することを特徴とする、請求項1に記載のスキャンフリップフロップ。前記スレーブラッチは、前記スキャンイネーブル信号が第1のレベルであり、かつ、前記クロック信号が第4のレベルである場合には、前記マスターラッチが保持する信号を受信するとともに、受信した信号を保持することなく出力端子から出力し、それ以外の場合には、前記スキャンイネーブル信号が第1のレベルであり、かつ、前記クロック信号が第4のレベルである期間に前記マスターラッチから受信した信号を保持するとともに、保持した信号を該出力端子から出力することを特徴とする、請求項2に記載のスキャンフリップフロップ。前記マスターラッチは、前記データ信号または前記スキャンテスト信号を受信する入力端子と、前記入力端子と第1のノードとの間に接続され、前記クロック信号が第3のレベルである場合に導通状態となる第1のトランスファゲートと、前記第1のノードから受信した信号を反転して、前記マスターラッチの出力端子へ出力する第1のインバータと、前記第1のインバータから出力された信号を受信し、反転して出力する第2のインバータと、前記第2のインバータの出力端子と前記第1のノードとの間に接続され、前記クロック信号が第4のレベルである場合に導通状態となる第2のトランスファゲートと、を備えることを特徴とする、請求項1ないし3のいずれか1項に記載のスキャンフリップフロップ。前記スレーブラッチは、前記マスターラッチから出力された信号を受信する入力端子と、前記入力端子と第2のノードとの間に接続された第3のトランスファゲートと、前記第2のノードと第3のノードとの間に接続された第4のトランスファゲートと、前記第3のノードから受信した信号を反転して、前記スレーブラッチの第1の出力端子へ出力する第3のインバータと、前記第3のインバータから出力された信号を受信し、反転して第4のノードへ出力する第4のインバータと、前記第4のノードと前記第3のノードとの間に接続された第5のトランスファゲートと、前記第4のノードから受信した信号を反転して、前記スレーブラッチの第2の出力端子へ出力する第5のインバータと、前記第4のノードと前記第2のノードとの間に接続された第6のトランスファゲートと、を備えることを特徴とする、請求項4に記載のスキャンフリップフロップ。前記第3のトランスファゲートは、前記クロック信号が第4のレベルである場合に導通状態となり、前記第4のトランスファゲートは、前記スキャンイネーブル信号が第1のレベルである場合に導通状態となり、前記第5のトランスファゲートは、前記スキャンイネーブル信号が第2のレベルである場合に導通状態となり、前記第6のトランスファゲートは、前記クロック信号が第3のレベルである場合に導通状態となることを特徴とする、請求項5に記載のスキャンフリップフロップ。前記第3のトランスファゲートは、前記スキャンイネーブル信号が第1のレベルである場合に導通状態となり、前記第4のトランスファゲートは、前記クロック信号が第4のレベルである場合に導通状態となり、前記第5のトランスファゲートは、前記クロック信号が第3のレベルである場合に導通状態となり、前記第6のトランスファゲートは、前記スキャンイネーブル信号が第2のレベルである場合に導通状態となることを特徴とする、請求項5に記載のスキャンフリップフロップ。前記スキャンイネーブル信号は、さらに、前記クロック信号が一定のレベルである期間に、少なくとも1回、第1のレベルから第2のレベルへ変化するとともに、第2のレベルから第1のレベルへと変化することを特徴とする、請求項1ないし7のいずれか1項に記載のスキャンフリップフロップ。請求項6に記載のスキャンフリップフロップと、請求項7に記載のスキャンフリップフロップと、を備え、前記両フリップフロップに対して、共通のクロック信号および共通のスキャンイネーブル信号が供給されることを特徴とする半導体集積回路装置。以下の分析は、本発明者によってなされたものである。特許文献1に記載されたスキャン記憶装置を、クロック信号のネガティブエッジNegエッジで動作させた場合には、クロック信号が立ち下がる際にスキャンイネーブルが0となるため、スキャンテスト信号の入力端子側ではなく、データ信号の入力端子側の値を取り込んでしまい、スキャンシフト論理が破壊される。すなわち、かかるスキャン記憶装置をクロック信号のNegエッジで動作するスキャンフリップフロップとして用いた場合には、スキャンシフト動作ができず、誤シフトが生じる。したがって、ポジティブエッジPosエッジで動作するスキャンフリップフロップと、Negエッジで動作するスキャンフリップフロップが混在するLSIにおいて、特許文献1に記載されたスキャン記憶装置をスキャンフリップフロップとして採用した場合には、スキャンテストを実施することができない。そこで、半導体集積回路装置のスキャンテストにおいて、クロック信号のポジティブエッジおよびネガティブエッジのいずれにおいても正常にスキャンシフト動作を行うスキャンフリップフロップを提供することが課題となる。本発明の一視点に係るスキャンフリップフロップは、クロック信号を受信するとともに、スキャンイネーブル信号に応じてデータ信号またはスキャンテスト信号のいずれかを受信し、該データ信号または該スキャンテスト信号を該クロック信号に同期して保持または非保持とするとともに出力するマスターラッチと、前記マスターラッチから受信した信号を、前記スキャンイネーブル信号および前記クロック信号に同期して保持または非保持とするとともに出力するスレーブラッチと、を備え、前記スキャンイネーブル信号は、前記クロック信号に含まれるパルス波の立ち上がりエッジの前に第1のレベルから第2のレベルへ変化するとともに該立ち上がりエッジの後に第2のレベルから第1のレベルへ変化し、該パルス波の立ち下がりエッジの前に第1のレベルから第2のレベルへ変化するとともに該立ち下がりエッジの後に第2のレベルから第1のレベルへ変化する。本発明に係るスキャンフリップフロップによると、半導体集積回路装置のスキャンテストにおいて、クロック信号のポジティブエッジおよびネガティブエッジのいずれにおいても、正常にスキャンシフト動作を行うことが可能となる。はじめに、本発明の概要について説明する。なお、この概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。図1および図4を参照すると、本発明のスキャンフリップフロップは、クロック信号を受信するとともに、スキャンイネーブル信号に応じてデータ信号またはスキャンテスト信号のいずれかを受信し、データ信号またはスキャンテスト信号をクロック信号に同期して保持または非保持とするとともに出力するマスターラッチL1と、マスターラッチL1から受信した信号を、スキャンイネーブル信号およびクロック信号に同期して保持または非保持とするとともに出力するスレーブラッチL2と、を備え、スキャンイネーブル信号SMCは、クロック信号Cに含まれるパルス波の立ち上がりエッジの前に第1のレベル例えば、図4においてはロウレベルから第2のレベルハイレベルへ変化するとともに該立ち上がりエッジの後に第2のレベルハイレベルから第1のレベルロウレベルへ変化し、該パルス波の立ち下がりエッジの前に第1のレベルロウレベルから第2のレベルハイレベルへ変化するとともに該立ち下がりエッジの後に第2のレベルハイレベルから第1のレベルロウレベルへ変化する。本発明に係るスキャンフリップフロップを用いた場合には、半導体集積回路装置のスキャンテストにおいて、ホールドタイムを保証するために遅延素子が不要になると同時に、クロック信号のポジティブエッジおよびネガティブエッジのいずれにおいても、正常にスキャンシフト動作を行うことが可能となる。また、本発明のスキャンフリップフロップによると、スキャンチェーンのリチェーンすなわち、スキャンチェーンの接続構成の好適化を行う際のホールドタイムの考慮遅延素子の挿入も不要となり、リチェーンが容易となる。さらに、本発明のスキャンフリップフロップの回路構成およびスキャンイネーブル信号の波形によると、スキャンフリップフロップはクロック信号のNegエッジでも正しくスキャンシフト動作を行う。したがって、本発明のスキャンフリップフロップによると、クロック信号のNegエッジで動作するスキャンフリップフロップ以下Neg用スキャンフリップフロップという。とPosエッジで動作するスキャンフリップフロップ以下Pos用スキャンフリップフロップという。が混在する半導体集積回路のスキャンチェーンにおいても、正常にスキャンシフト動作を行うことが可能となる。図2aを参照すると、Pos用スキャンフリップフロップにおいて、マスターラッチL1pは、クロック信号Cが第3のレベルロウレベルである場合には、信号を受信するとともに、受信した信号を保持することなく、スレーブラッチ図3aのスレーブラッチL2pに出力し、クロック信号Cが第4のレベルハイレベルである場合には、クロック信号が第3のレベルである期間に受信した信号を保持するとともに、保持した信号をスレーブラッチL2pに出力するようにしてもよい。一方、図2bを参照すると、Neg用スキャンフリップフロップにおいて、マスターラッチL1nは、クロック信号Cが第3のレベルハイレベルである場合には、信号を受信するとともに、受信した信号を保持することなく、スレーブラッチ図3bのスレーブラッチL2nに出力し、クロック信号Cが第4のレベルロウレベルである場合には、クロック信号が第3のレベルである期間に受信した信号を保持するとともに、保持した信号をスレーブラッチL2nに出力するようにしてもよい。図3aを参照すると、Pos用スキャンフリップフロップにおいて、スレーブラッチL2pは、スキャンイネーブル信号SMCが第1のレベルロウレベルであり、かつ、クロック信号Cが第4のレベルハイレベルである場合には、マスターラッチ図2aのマスターラッチL1pが保持する信号を受信するとともに、受信した信号を保持することなく出力端子OT2p、OT3pから出力し、それ以外の場合には、スキャンイネーブル信号SMCが第1のレベルであり、かつ、クロック信号Cが第4のレベルである期間にマスターラッチL1pから受信した信号を保持するとともに、保持した信号を該出力端子から出力するようにしてもよい。一方、図3bを参照すると、Neg用スキャンフリップフロップにおいて、スレーブラッチL2nは、スキャンイネーブル信号SMCが第1のレベルロウレベルであり、かつ、クロック信号Cが第4のレベルロウレベルである場合には、マスターラッチ図2bのマスターラッチL1nが保持する信号を受信するとともに、受信した信号を保持することなく出力端子OT2n、OT3nから出力し、それ以外の場合には、スキャンイネーブル信号SMCが第1のレベルであり、かつ、クロック信号Cが第4のレベルである期間にマスターラッチL1nから受信した信号を保持するとともに、保持した信号を該出力端子から出力するようにしてもよい。図2aを参照すると、Pos用スキャンフリップフロップにおいて、マスターラッチL1pは、データ信号またはスキャンテスト信号を受信する入力端子IN1pと、入力端子と第1のノードN1pとの間に接続され、クロック信号Cが第3のレベルロウレベルである場合に導通状態となる第1のトランスファゲートT1pと、第1のノードから受信した信号を反転して、マスターラッチの出力端子へ出力する第1のインバータIV1pと、第1のインバータから出力された信号を受信し、反転して出力する第2のインバータIV2pと、第2のインバータの出力端子と第1のノードとの間に接続され、クロック信号Cが第4のレベルハイレベルである場合に導通状態となる第2のトランスファゲートT2pと、を備えていてもよい。一方、図2bを参照すると、Neg用スキャンフリップフロップにおいて、マスターラッチL1nは、データ信号またはスキャンテスト信号を受信する入力端子IN1nと、入力端子と第1のノードN1nとの間に接続され、クロック信号Cが第3のレベルハイレベルである場合に導通状態となる第1のトランスファゲートT1nと、第1のノードから受信した信号を反転して、マスターラッチの出力端子へ出力する第1のインバータIV1nと、第1のインバータから出力された信号を受信し、反転して出力する第2のインバータIV2nと、第2のインバータの出力端子と第1のノードとの間に接続され、クロック信号Cが第4のレベルロウレベルである場合に導通状態となる第2のトランスファゲートT2nと、を備えていてもよい。図3aを参照すると、Pos用スキャンフリップフロップにおいて、スレーブラッチL2pは、マスターラッチL1pから出力された信号を受信する入力端子IN2pと、入力端子と第2のノードN2pとの間に接続された第3のトランスファゲートT3pと、第2のノードと第3のノードN3pとの間に接続された第4のトランスファゲートT4pと、第3のノードから受信した信号を反転して、スレーブラッチの第1の出力端子OT2pへ出力する第3のインバータIV3pと、第3のインバータから出力された信号を受信し、反転して第4のノードN4pへ出力する第4のインバータIV4pと、第4のノードと第3のノードとの間に接続された第5のトランスファゲートT5pと、第4のノードから受信した信号を反転して、スレーブラッチの第2の出力端子OT3pへ出力する第5のインバータIV5pと、第4のノードと第2のノードとの間に接続された第6のトランスファゲートT6pと、を備えていてもよい。一方、図3bを参照すると、Neg用スキャンフリップフロップにおいて、スレーブラッチL2nは、マスターラッチL1nから出力された信号を受信する入力端子IN2nと、入力端子と第2のノードN2nとの間に接続された第3のトランスファゲートT3nと、第2のノードと第3のノードN3nとの間に接続された第4のトランスファゲートT4nと、第3のノードから受信した信号を反転して、スレーブラッチの第1の出力端子OT2nへ出力する第3のインバータIV3nと、第3のインバータから出力された信号を受信し、反転して第4のノードN4nへ出力する第4のインバータIV4nと、第4のノードと第3のノードとの間に接続された第5のトランスファゲートT5nと、第4のノードから受信した信号を反転して、スレーブラッチの第2の出力端子OT3nへ出力する第5のインバータIV5nと、第4のノードと第2のノードとの間に接続された第6のトランスファゲートT6nと、を備えていてもよい。図3aを参照すると、Pos用スキャンフリップフロップのスレーブラッチL2pにおいて、第3のトランスファゲートT3pは、クロック信号Cが第4のレベルハイレベルである場合に導通状態となり、第4のトランスファゲートT4pは、スキャンイネーブル信号SMCが第1のレベルロウレベルである場合に導通状態となり、第5のトランスファゲートT5pは、スキャンイネーブル信号SMCが第2のレベルハイレベルである場合に導通状態となり、第6のトランスファゲートT6pは、クロック信号Cが第3のレベルロウレベルである場合に導通状態となるようにしてもよい。図3bを参照すると、Neg用スキャンフリップフロップのスレーブラッチL2nにおいて第3のトランスファゲートT3nは、スキャンイネーブル信号SMCが第1のレベルロウレベルである場合に導通状態となり、第4のトランスファゲートT4nは、クロック信号Cが第4のレベルロウレベルである場合に導通状態となり、第5のトランスファゲートT5nは、クロック信号Cが第3のレベルハイレベルである場合に導通状態となり、第6のトランスファゲートT6nは、スキャンイネーブル信号SMCが第2のレベルハイレベルである場合に導通状態となるようにしてもよい。また、スキャンイネーブル信号SMCは、さらに、クロック信号Cが一定のレベルである期間に、少なくとも1回、第1のレベルロウレベルから第2のレベルハイレベルへ変化するとともに、第2のレベルハイレベルから第1のレベルロウレベルへと変化するようにしてもよい。さらに、半導体集積回路装置は、Pos用スキャンフリップフロップ図2a、図3aと、Neg用スキャンフリップフロップ図2b、図3bとを備え、これらの両フリップフロップに対して、共通のクロック信号Cおよび共通のスキャンイネーブル信号SMCが供給されるようにしてもよい。図1ないし図3を参照すると、本発明に係るスキャンフリップフロップは、テスト容易化技術のスキャンテスト用のスキャンフリップフロップであって、スキャンイネーブル信号と、マスターラッチと、2重ループのスレーブラッチとを有していてもよい。ここで、スキャンシフト動作時にスキャンイネーブル信号を用いて、Pos用スキャンフリップフロップとNeg用スキャンフリップフロップのそれぞれのマスターラッチL1p、L1nと2重ループ構造を有するスレーブラッチL2p、L2nとを個別に制御する。実施形態実施形態に係るスキャンフリップフロップについて、図面を参照して説明する。図1は、本実施形態のスキャンフリップフロップの構成を一例として示す回路図である。図1を参照すると本実施形態のスキャンフリップフロップは、データ信号入力端子D、データ信号出力端子Q、スキャンテスト信号入力端子SIN、スキャンテスト信号出力端子SOT、クロック信号端子C、スキャンイネーブル信号端子SMC、マスターラッチL1、スレーブラッチL2、トランスファゲートT1、T2、および、インバータIV1~IV4を備える。クロック信号端子Cは、インバータIV1の入力に接続され、インバータIV1の出力は、インバータIV2の入力に接続される。インバータIV1の出力は、クロック信号端子Cの反転信号CLBとする。インバータIV2の出力は、クロック信号端子Cの同相信号CLとする。スキャンイネーブル信号端子SMCは、インバータIV3の入力に接続され、インバータIV3の出力は、インバータIV4の入力に接続される。インバータIV3の出力は、スキャンイネーブル信号端子SMCの反転信号SLBとする。インバータIV4の出力は、スキャンイネーブル信号端子SMCの同相信号SLとする。トランスファゲートT1は、スキャンイネーブル信号端子SMCがLowスキャンイネーブル信号端子SMCの反転信号SLBがHighで導通状態となる。トランスファゲートT2は、スキャンイネーブル信号端子SMCがHighスキャンイネーブル信号端子SMCの同相信号SLがHighで導通状態となる。データ信号入力端子Dは、トランスファゲートT1の入力に接続され、トランスファゲートT1の出力はノードN1を介して、マスターラッチL1の入力端子IN1に接続される。スキャンテスト信号入力端子SINは、トランスファゲートT2の入力に接続され、トランスファゲートT2の出力はノードN1を介して、マスターラッチL1の入力端子IN1に接続される。マスターラッチL1の出力端子OT1は、スレーブラッチL2の入力端子IN2に接続される。スレーブラッチL2の出力端子OT2は、データ信号出力端子Qに接続される。スレーブラッチL2の出力端子OT3は、スキャンテスト信号出力端子SOTに接続される。図2は、本実施形態に係るマスターラッチの構成を示す回路図である。図2aは、Pos用のマスターラッチの構成を示す回路図である。Pos用のマスターラッチL1pは、マスターラッチL1pの入力端子IN1p、トランスファゲートT1p、ノードN1p、インバータIV1p、インバータIV2p、トランスファゲートT2p、および、マスターラッチL1pの出力端子OT1pを備える。トランスファゲートT1pは、クロック信号端子CがLowクロック信号端子Cの反転信号CLBがHighで導通状態となる。トランスファゲートT2pは、クロック信号端子CがHighクロック信号端子Cの同相信号CLがHighで導通状態となる。マスターラッチの入力端子IN1pは、トランスファゲートT1pの入力に接続され、トランスファゲートT1pの出力は、ノードN1pを介してインバータIV1pの入力に接続される。インバータIV1pの出力は、マスターラッチの出力端子OT1pと、インバータIV2pの入力に接続される。インバータIV2pの出力は、トランスファゲートT2pの入力に接続され、トランスファゲートT2pの出力は、ノードN1pに接続される。図2bは、Neg用のマスターラッチの構成を示す回路図である。Neg用のマスターラッチL1nは、マスターラッチL1nの入力端子IN1n、トランスファゲートT2n、ノードN1n、インバータIV1n、インバータIV2n、トランスファゲートT1n、および、マスターラッチL1nの出力端子OT1nを備える。トランスファゲートT1nは、クロック信号端子CがHighクロック信号端子Cの同相信号CLがHighで導通状態となる。トランスファゲートT2nは、クロック信号端子CがLowクロック信号端子Cの反転信号CLBがHighで導通状態となる。マスターラッチの入力端子IN1nは、トランスファゲートT1nの入力に接続され、トランスファゲートT1nの出力は、ノードN1nを介してインバータIV1nの入力に接続される。インバータIV1nの出力は、マスターラッチの出力端子OT1nと、インバータIV2nの入力に接続される。インバータIV2nの出力は、トランスファゲートT2nの入力に接続され、トランスファゲートT2nの出力は、ノードN1nに接続される。図3は、本実施形態に係るスレーブラッチの構成を示す回路図である。図3aは、Pos用のスレーブラッチの構成を示す回路図である。Pos用のスレーブラッチL2pは、スレーブラッチL2pの入力端子IN2p、トランスファゲートT3p、ノードN2p、トランスファゲートT4p、ノードN3p、インバータIV3p、インバータIV4p、トランスファゲートT5p、インバータIV5p、トランスファゲートT6p、スレーブラッチL2pの出力端子OT2p、および、スレーブラッチL2pの出力端子OT3pを備える。トランスファゲートT3pは、クロック信号端子CがHighクロック信号端子Cの同相信号CLがHighで導通状態となる。トランスファゲートT4pは、スキャンイネーブル信号端子SMCがLowスキャンイネーブル信号端子SMCの反転信号SLBがHighで導通状態となる。トランスファゲートT5pは、スキャンイネーブル信号端子SMCがHighスキャンイネーブル信号端子SMCの同相信号SLがHighで導通状態となる。トランスファゲートT6pは、クロック信号端子CがLowクロック信号端子Cの反転信号CLBがHighで導通状態となる。スレーブラッチの入力端子IN2pは、トランスファゲートT3pの入力に接続され、トランスファゲートT3pの出力は、ノードN2pを介して、トランスファゲートT4pの入力に接続される。トランスファゲートT4pの出力は、ノードN3pを介して、インバータIV3pの入力に接続され、インバータIV3pの出力は、スレーブラッチの出力端子OT2pとインバータIV4pの入力に接続される。インバータIV4pの出力は、トランスファゲートT5pの入力と、トランスファゲートT6pの入力と、インバータIV5pの入力に接続される。トランスファゲートT6pの出力は、ノードN2pに接続される。トランスファゲートT5pの出力は、ノードN3pに接続される。インバータIV5pの出力は、スレーブラッチの出力端子OT3pに接続される。図3bは、Neg用のスレーブラッチの構成を示す回路図である。Neg用のスレーブラッチL2nは、スレーブラッチL2nの入力端子IN2n、トランスファゲートT5n、ノードN2n、トランスファゲートT3n、ノードN3n、インバータIV3n、インバータIV4n、トランスファゲートT6n、インバータIV5n、トランスファゲートT4n、スレーブラッチL2nの出力端子OT2n、および、スレーブラッチL2nの出力端子OT3nを備える。トランスファゲートT3nは、スキャンイネーブル信号端子SMCがLowスキャンイネーブル信号端子SMCの反転信号SLBがHighで導通状態となる。トランスファゲートT4nは、クロック信号端子CがLowクロック信号端子Cの反転信号CLBがHighで導通状態となる。トランスファゲートT5nは、クロック信号端子CがHighクロック信号端子Cの同相信号CLがHighで導通状態となる。トランスファゲートT6nは、スキャンイネーブル信号端子SMCがHighスキャンイネーブル信号端子SMCの同相信号SLがHighで導通状態となる。スレーブラッチの入力端子IN2nは、トランスファゲートT3nの入力に接続され、トランスファゲートT3nの出力は、ノードN2nを介して、トランスファゲートT4nの入力に接続される。トランスファゲートT4nの出力は、ノードN3nを介して、インバータIV3nの入力に接続され、インバータIV3nの出力は、スレーブラッチの出力端子OT2nとインバータIV4nの入力に接続される。インバータIV4nの出力は、トランスファゲートT5nの入力と、トランスファゲートT6nの入力と、インバータIV5nの入力に接続される。トランスファゲートT6nの出力は、ノードN2nに接続される。トランスファゲートT5nの出力は、ノードN3nに接続される。インバータIV5nの出力は、スレーブラッチの出力端子OT3nに接続される。図4は、本実施形態に係るスキャンフリップフロップのタイミングチャートである。図4aは、Pos用スキャンフリップフロップのタイミングチャートである。動作タイミングt1は、スキャンシフト動作の開始を示し、動作タイミングt1から動作タイミングt9までが、1シフト分のスキャンシフト動作であることを示している。動作タイミングt1では、スキャンイネーブル信号端子SMCがLowとなり、クロック信号端子CがLowとなる。トランスファゲートT1と、トランスファゲートT1pが、導通状態となり、データ信号入力端子Dの値Xが、マスターラッチL1pに伝播する。しかし、トランスファゲートT2pは非導通状態のため、データ信号入力端子Dの値Xは、マスターラッチL1pに保持されない。また、トランスファゲートT3pは非導通状態となるため、データ信号入力端子Dからの値Xの反転値は、スレーブラッチL2pに伝播しない。このとき、Pos用スキャンフリップフロップは、スレーブラッチL2pで保持している値Xを、データ信号出力端子Qとスキャンテスト信号出力端子SOTより出力する。動作タイミングt2では、スキャンイネーブル信号端子SMCが立ち上がりHighとなり、クロック信号端子CがLowとなる。トランスファゲートT2が導通状態となり、スキャンテスト信号入力端子SINの値0が、マスターラッチL1pに伝播するが、トランスファゲートT2pは非導通状態のため、スキャンテスト信号入力端子SINの値0は、マスターラッチL1pに保持されない。また、トランスファゲートT3pは非導通状態となるため、スキャンテスト信号入力端子SINからの値0の反転値1は、スレーブラッチL2pに伝播しない。したがって、Pos用スキャンフリップフロップは、スレーブラッチL2pで保持している値Xを、データ信号出力端子Qとスキャンテスト信号出力端子SOTから出力する。動作タイミングt3では、スキャンイネーブル信号端子SMCがHighとなり、クロック信号端子Cが、立ち上がりHighとなる。トランスファゲートT2pが導通状態となるため、マスターラッチL1pは、スキャンテスト信号入力端子SINから伝播した値0を保持する。また、トランスファゲートT3pが導通状態となるため、スキャンテスト信号入力端子SINの値0の反転値1が、スレーブラッチL2pのトランスファゲートT4pまで伝播するが、トランスファゲートT4pは非導通状態のため、スキャンテスト信号入力端子SINの値0は、データ信号出力端子Qとスキャンテスト信号出力端子SOTに伝播しない。したがって、Pos用スキャンフリップフロップは、データ信号出力端子Qとスキャンテスト信号出力端子SOTから、スレーブラッチL2pが保持している値Xを出力する。動作タイミングt4では、スキャンイネーブル信号端子SMCが立下りLowとなり、クロック信号端子CがHighとなる。トランスファゲートT1が導通状態となり、データ信号入力端子Dの値Xが、マスターラッチL1pの入力端子IN1pまで伝播するが、トランスファゲートT1pが非導通状態のため、データ信号入力端子Dの値Xは、マスターラッチL1pで保持をせず、マスターラッチL1pの出力端子OT1pからは、動作タイミングt3において保持したスキャンテスト信号入力端子SINの値0の反転値1を出力する。スレーブラッチL2pでは、トランスファゲートT4pが導通状態となるため、マスターラッチL1pの出力端子OT1pから出力された値1がスレーブラッチL2pに伝播する。スレーブラッチL2pは、マスターラッチL1pから伝播した値1を保持することなく、その反転値0をデータ信号出力端子Qとスキャンテスト信号出力端子SOTに出力する。Pos用スキャンフリップフロップは、動作タイミングt5以降、値の保持と、保持した値をデータ信号出力端子Qとスキャンテスト信号出力端子SOTから出力する動作のみを行う。動作タイミングt5では、スキャンイネーブル信号端子SMCがLowとなり、クロック信号端子CがHighとなる。トランスファゲートT1が導通状態となり、データ信号入力端子Dの値XがマスターラッチL1pの入力端子IN1pに伝播するが、トランスファゲートT1pが非導通状態のため、データ信号入力端子Dの値XはマスターラッチL1pには伝播せず、マスターラッチL1pは動作タイミングt3で保持した値0の反転値1を出力する。マスターラッチL1pが出力した値1は、スレーブラッチL2pに伝播し、スレーブラッチL2pは伝播してきた値1を保持することなく、当該値の反転値0を、データ信号出力端子Qとスキャンテスト信号出力端子SOTから出力する。動作タイミングt6では、スキャンイネーブル信号端子SMCが立ち上がりHighとなり、クロック信号端子CがHighとなる。トランスファゲートT2が導通状態となり、スキャンテスト信号入力端子SINの値1が、マスターラッチL1pの入力端子IN1pに伝播するが、トランスファゲートT1pが非導通状態のため、スキャンテスト信号入力端子SINの値1はマスターラッチL1pには伝播せず、マスターラッチL1pは動作タイミングt3で保持した値0の反転値1を出力する。スレーブラッチL2pのトランスファゲートT4pは非導通状態であることから、スレーブラッチL2pは、マスターラッチL1pが出力した値1を保持しない。一方、トランスファゲートT5pが導通状態となることから、スレーブラッチL2pは動作タイミングt5においてマスターラッチL1pから出力された値1を保持するとともに、保持した値の反転値0をデータ信号出力端子Q、スキャンテスト信号出力端子SOTから出力する。動作タイミングt7では、スキャンイネーブル信号端子SMCがHighとなり、クロック信号端子Cが立下りLowとなる。トランスファゲートT2と、トランスファゲートT1pが導通状態となり、スキャンテスト信号入力端子SINの値1がマスターラッチL1pに伝播するが、スレーブラッチL2pのトランスファゲートT3pは非導通状態であり、スキャンテスト信号入力端子SINの値1の反転値0はスレーブラッチL2pには伝播しない。このとき、スレーブラッチL2pは、保持している値1の反転値0をデータ信号出力端子Qとスキャンテスト信号出力端子SOTから出力する。動作タイミングt8では、スキャンイネーブル信号端子SMCが立下りLowとなり、クロック信号端子CがLowとなる。トランスファゲートT1とトランスファゲートT1pが導通状態となり、データ信号入力端子Dの値Xが、マスターラッチL1pに伝播するが、スレーブラッチL2pのトランスファゲートT3pが非導通状態のため、スレーブラッチL2pにはデータ信号入力端子Dの値Xは伝播しない。スレーブラッチL2pは、保持している値1の反転値0をデータ信号出力端子Q、スキャンテスト信号出力端子SOTから出力する。動作タイミングt9では、スキャンイネーブル信号端子SMCがLowとなり、クロック信号端子CがLowとなるため、動作タイミングt9は、動作タイミングt1と同じ状態となり、スキャンシフトの1シフト分の動作が終了となる。引き続きスキャンシフト動作を行う場合は、動作タイミングt1からの動作を繰り返す。スキャンシフトが完了した場合は、キャプチャcapture動作に移行する。図4bは、Neg用スキャンフリップフロップのタイミングチャートである。動作タイミングt1は、スキャンシフト動作の開始を示し、動作タイミングt1から動作タイミングt9までが、1シフト分のスキャンシフト動作であることを示している。動作タイミングt1から動作タイミングt5まで、Neg用スキャンフリップフロップは、値の保持と、保持した値をデータ信号出力端子Qとスキャンテスト信号出力端子SOTに出力する動作のみを行う。動作タイミングt1では、スキャンイネーブル信号端子SMCはLowとなり、クロック信号端子CがLowとなる。トランスファゲートT1が導通状態となり、データ信号入力端子Dの値Xが、マスターラッチL1nの入力端子IN1nまで伝播するが、トランスファゲートT1nは非導通状態であり、マスターラッチL1nの内部には伝播しないため、マスターラッチL1nは保持している値の反転値をスレーブラッチL2nに伝播する。スレーブラッチL2nでは、トランスファゲートT3nと、トランスファゲートT4nが導通状態となるため、マスターラッチL1nから伝播した値Xの反転値を、データ信号出力端子Q、スキャンテスト信号出力端子SOTから出力する。動作タイミングt2では、スキャンイネーブル信号端子SMCが立ち上がりHighとなり、クロック信号端子CはLowとなる。トランスファゲートT2が導通状態となり、スキャンテスト信号入力端子SINの値0が、マスターラッチL1nの入力端子IN1nまで伝播するが、トランスファゲートT1nは非導通状態であり、マスターラッチL1nの内部には伝播しないため、マスターラッチL1nは保持している値の反転値をスレーブラッチL2nの入力端子IN2nに伝播する。スレーブラッチL2nでは、トランスファゲートT3nが非導通状態となるため、マスターラッチL1nからの値はスレーブラッチL2nの内部には伝播しない。スレーブラッチL2nは、トランスファゲートT6nが導通状態となるため、動作タイミングt1で伝播した値Xを保持し、保持した値の反転値をデータ信号出力端子Q、スキャンテスト信号出力端子SOTに出力する。動作タイミングt3では、スキャンイネーブル信号端子SMCはHighとなり、クロック信号端子Cが立ち上がりHighとなる。トランスファゲートT2、トランスファゲートT1nが導通状態となり、スキャンテスト信号入力端子SINの値0が、マスターラッチL1nの内部に伝播する。マスターラッチL1nに伝播した値0の反転値1は、マスターラッチL1nの出力端子OT1nから出力され、スレーブラッチL2nの入力端子IN2nに伝播するが、トランスファゲートT3nが非導通状態のため、スレーブラッチL2nの内部には伝播しない。スレーブラッチL2nでは、トランスファゲートT5nが導通状態となり、動作タイミングt2で保持した値Xを保持し、保持した値の反転値をデータ信号出力端子Q、スキャンテスト信号出力端子SOTから出力する。動作タイミングt4では、スキャンイネーブル信号端子SMCは立下りLowとなり、クロック信号端子CはHighとなる。トランスファゲートT1、トランスファゲートT1nが導通状態となるため、データ信号入力端子Dの値XがマスターラッチL1nの内部に伝播する。マスターラッチL1nに伝播した値Xの反転値は、マスターラッチL1nの出力端子OT1nから出力され、スレーブラッチL2nに伝播するが、トランスファゲートT4nが非導通状態のため、マスターラッチL1nから伝播した値は、スレーブラッチL2nの出力まで伝播しない。スレーブラッチL2nは、動作タイミングt3で保持した値Xを保持し、保持した値の反転値をデータ信号出力端子Q、スキャンテスト信号出力端子SOTから出力する。動作タイミングt5では、スキャンイネーブル信号端子SMCはLowとなり、クロック信号端子CはHighとなる。トランスファゲートT1、トランスファゲートT1nが導通状態となるため、データ信号入力端子Dの値XがマスターラッチL1nの内部に伝播する。マスターラッチL1nに伝播した値Xの反転値は、マスターラッチL1nの出力端子OT1nから出力され、スレーブラッチL2nに伝播するが、トランスファゲートT4nが非導通状態のため、マスターラッチL1nから伝播した値は、スレーブラッチL2nの出力まで伝播しない。スレーブラッチL2nは、動作タイミングt4で保持した値Xを保持し、保持した値の反転値をデータ信号出力端子Q、スキャンテスト信号出力端子SOTから出力する。動作タイミングt6では、スキャンイネーブル信号端子SMCは立ち上がりHighとなり、クロック信号端子CはHighとなる。トランスファゲートT2、トランスファゲートT1nが導通状態となり、スキャンテスト信号入力端子SIN0の値が、マスターラッチL1nの内部に伝播する。マスターラッチL1nに伝播した値0の反転値1は、マスターラッチL1nの出力端子OT1nから出力され、スレーブラッチL2nの入力端子IN2nまで伝播するが、トランスファゲートT3nが非導通状態のため、スレーブラッチL2nの内部には伝播しない。スレーブラッチL2nは、動作タイミングt5で保持した値Xを保持し、保持した値の反転値をデータ信号出力端子Q、スキャンテスト信号出力端子SOTに出力する。動作タイミングt7では、スキャンイネーブル信号端子SMCはHighとなり、クロック信号端子Cは立下りLowとなる。トランスファゲートT2が導通状態のため、スキャンテスト信号入力端子SINの値0がマスターラッチL1nの入力端子IN1nに伝播する。トランスファゲートT1nが非導通状態のため、スキャンテスト信号入力端子SINの値0は、マスターラッチL1nの内部まで伝播しないが、トランスファゲートT2nが導通状態となるため、マスターラッチL1nは、動作タイミングt6でマスターラッチL1nに伝播した値0を保持し、マスターラッチL1nの出力端子OT1nから、反転値1を出力する。トランスファゲートT3nが非導通状態のため、マスターラッチL1nが出力した値1は、スレーブラッチL2nの内部には伝播せず、スレーブラッチL2nは、動作タイミングt6で保持した値Xを保持し、保持した値の反転値をデータ信号出力端子Q、スキャンテスト信号出力端子SOTから出力する。動作タイミングt8では、スキャンイネーブル信号端子SMCは立下りLowとなり、クロック信号端子CはLowとなる。トランスファゲートT1が導通状態となり、データ信号入力端子Dの値XがマスターラッチL1nの入力端子IN1nに伝播するが、トランスファゲートT1nが非導通状態のため、データ信号入力端子Dの値Xは、マスターラッチL1nの内部まで伝播しない。マスターラッチL1nは、動作タイミングt7で保持した値0を保持し、マスターラッチL1nの出力端子OT1nから、保持した値の反転値1を出力する。トランスファゲートT3nと、トランスファゲートT4nが導通状態となるため、マスターラッチL1nが出力した値1は、スレーブラッチL2nの内部に伝播し、スレーブラッチL2nは、マスターラッチL1nから出力された値1の反転値0をデータ信号出力端子Q、スキャンテスト信号出力端子SOTから出力する。このとき、トランスファゲートT5n、T6nのいずれも非導通状態であるから、スレーブラッチL2nに伝播した値1は、スレーブラッチL2nでは保持されない。動作タイミングt9では、スキャンイネーブル信号端子SMCはLowとなり、クロック信号端子CはLowとなるため、動作タイミングt1と同じ状態となり、スキャンシフトの1シフト分の動作が終了となる。引き続きスキャンシフト動作を行う場合は、動作タイミングt1からの動作を繰り返す。スキャンシフトが完了した場合は、キャプチャ動作に移行する。図5は、本実施形態に係るスキャンフリップフロップの真理値表である。図5aは、Pos用スキャンフリップフロップの真理値表である。一方、図5bは、Neg用スキャンフリップフロップの真理値表である。図5aを参照すると、Normalモードにおいて、Pos用スキャンフリップフロップのデータ信号出力端子Qとスキャンテスト信号出力端子SOTは、クロック信号端子Cの立ち上がりによって、データ信号入力端子Dの値を出力する。一方、クロック信号端子CがLow0では、データ信号出力端子Qとスキャンテスト信号出力端子SOTは、値を保持holdする。図5aを参照すると、スキャンシフトモードにおいて、Pos用スキャンフリップフロップのデータ信号出力端子Qとスキャンテスト信号出力端子SOTは、クロック信号端子Cの立ち上がりとスキャンイネーブル信号端子SMCの立下りによって、スキャンテスト信号入力端子SINの値を出力する。一方、スキャンイネーブル信号端子SMCがHigh1のとき、データ信号出力端子Qとスキャンテスト信号出力端子SOTは、値を保持holdする。図5bを参照すると、Normalモードにおいて、Neg用スキャンフリップフロップのデータ信号出力端子Qとスキャンテスト信号出力端子SOTは、クロック信号端子Cの立下りによって、データ信号入力端子Dの値を出力する。一方、クロック信号端子CがLow0のとき、データ信号出力端子Qとスキャンテスト信号出力端子SOTは、値を保持holdする。図5bを参照すると、スキャンシフトモードにおいて、Neg用スキャンフリップフロップデータ信号出力端子Qとスキャンテスト信号出力端子SOTは、クロック信号端子Cの立下りとスキャンイネーブル信号端子SMCの立下りによって、スキャンテスト信号入力端子SINの値を出力する。一方、スキャンイネーブル信号SMCがHigh1のとき、データ信号出力端子Qとスキャンテスト信号出力端子SOTは、値を保持holdする。本実施形態に係るPos用スキャンフリップフロップは、クロック信号端子Cの立ち上がりで値を取り込み、スキャンイネーブル信号端子SMCの立下りで値を出力するように構成される。したがって、クロック信号端子Cとスキャンイネーブル信号端子SMCを制御して、クロック信号端子Cの立ち上がりからスキャンイネーブル信号端子SMCの立下りまでの時間を十分確保することによって、制御端子を増やすことなく、誤シフトを防止することが可能となる。また、本実施形態に係るPos用スキャンフリップフロップでは、誤シフトを防止するための遅延素子が不要となるため、チップサイズの増加を防止することが可能になる。本実施形態に係るNeg用スキャンフリップフロップは、クロック信号端子Cの立ち下がりで値を取り込み、スキャンイネーブル信号端子SMCの立下りで値を出力するように構成される。したがって、クロック信号端子Cとスキャンイネーブル信号端子SMCを制御して、クロック信号端子Cの立ち下がりからスキャンイネーブル信号端子SMCの立下りまでの時間を十分確保することによって、制御端子を増やすことなく、誤シフトを防止することが可能となる。また、本実施形態に係るNeg用スキャンフリップフロップでは、誤シフトを防止するための遅延素子が不要となるため、チップサイズの増加を防止することが可能になる。本発明では、Pos用スキャンフリップフロップが値を取り込む際は、Neg用スキャンフリップフロップは値を保持する動作をし、Neg用スキャンフリップフロップが値を取り込む際は、Pos用スキャンフリップフロップは値を保持する動作をするため、Pos用スキャンフリップフロップとNeg用スキャンフリップフロップが混在したスキャンテストに対応することが可能となる。なお、Pos用スキャンフリップフロップとNeg用スキャンフリップフロップとの間にクロックスキューを調整するためのロックアップセルを挿入することで、Pos用スキャンフリップフロップとNeg用スキャンフリップフロップとが同一のスキャンチェーン上に混在する場合にも、正常にスキャンシフト動作させることが可能となる。なお、上記の特許文献等の先行技術文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示請求の範囲を含むの枠内において、さらにその基本的技術思想に基づいて、実施形態の変更調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素各請求項の各要素、各実施形態の各要素、各図面の各要素等を含むの多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。