マルチサイクルパスを含む半導体集積回路をテストするスキャンテスト回路の設計方法であって、実動作モードでテスト対象の論理回路のタイミング解析を行うステップと、前記タイミング解析に基づいて、前記論理回路内のマルチサイクルパスを抽出するステップと、前記論理回路内の異なるサイクル数のパスに分岐する分岐点と、前記論理回路内の異なるサイクル数のパスが合流する合流点を抽出するステップと、前記分岐点を含むマルチサイクルパスの前記分岐点より出力側の経路上と、前記合流点を含むマルチサイクルパスの前記合流点より入力側の経路上に、マルチサイクルテスト時には入力データをそのまま出力し、シングルサイクルテスト時には任意の一定値を出力する出力固定回路を挿入するステップと、を含むことを特徴とする半導体集積回路のスキャンテスト回路の設計方法。前記出力固定回路を挿入するステップは、前記分岐点と前記分岐点を含むマルチサイクルパスに接続した終点スキャンフリップフロップ間の経路上と、前記合流点と前記合流点を含むマルチサイクルパスに接続した始点スキャンフリップフロップ間の経路上と、に前記出力固定回路を挿入することを特徴とする請求項1に記載の半導体集積回路のスキャンテスト回路の設計方法。前記分岐点毎に、前記分岐点を含むマルチサイクルパスに接続した終点スキャンフリップフロップの情報を格納した分岐点と終点スキャンフリップフロップの対応テーブルを生成し、前記合流点毎に、前記合流点を含むマルチサイクルパスに接続した始点スキャンフリップフロップの情報を格納した合流点と始点スキャンフリップフロップの対応テーブルを生成し、前記分岐点と終点スキャンフリップフロップの対応テーブル、及び、前記合流点と始点スキャンフリップフロップの対応テーブルに基づいて、前記出力固定回路を挿入するステップを行うことを特徴とする請求項2に記載の半導体集積回路のスキャンテスト回路の設計方法。前記出力固定回路が複数存在する経路を抽出するステップと、前記抽出された複数の出力固定回路のうち、冗長な前記出力固定回路を削除するステップと、をさらに含むことを特徴とする請求項1乃至3のいずれか1項に記載の半導体集積回路のスキャンテスト回路の設計方法。挿入した前記出力固定回路を通る経路がシングルサイクルで動作可能か否かのタイミング解析を行うステップと、前記タイミング解析により、タイミングエラーのない経路の前記出力固定回路を削除するステップと、をさらに含むことを特徴とする請求項1乃至4のいずれか1項に記載の半導体集積回路のスキャンテスト回路の設計方法。マルチサイクルパスを含む半導体集積回路をテストするスキャンテスト回路であって、テスト対象の論理回路に対して、テストデータを供給する始点スキャンフリップフロップと、前記始点スキャンフリップフロップの出力から、前記論理回路内の経路を通ったデータを受け取る終点スキャンフリップフロップと、前記論理回路内の異なるサイクル数のパスに分岐する分岐点と前記分岐点を含むマルチサイクルパスの終点スキャンフリップフロップ間の経路上、及び、前記論理回路内の異なるサイクル数のパスが合流する合流点と前記合流点を含むマルチサイクルパスの始点スキャンフリップフロップ間の経路上に挿入された出力固定回路と、マルチサイクルテストモードと、シングルサイクルテストモードのいずれかを選択するモード選択部と、を備え、前記モード選択部が前記マルチサイクルテストモードを選択している場合には、前記出力固定回路は入力データをそのまま出力し、前記モード選択部が前記シングルサイクルテストモードを選択している場合には、前記出力固定回路は任意の一定値を出力することを特徴とする半導体集積回路のスキャンテスト回路。前記始点及び終点スキャンフリップフロップに対し、スキャン動作、キャプチャ動作のいずれかを設定するスキャンイネーブル信号を供給することを特徴とする請求項6に記載の半導体集積回路のスキャンテスト回路。前記始点及び終点スキャンフリップフロップと前記論理回路に供給されるクロック信号を、前記モード選択部が前記マルチサイクルテストモードを選択している場合には、前記シングルサイクルテストモードを選択している場合の1/Nの周波数ここで、Nはマルチサイクル数に設定することを特徴とする請求項6または7に記載の半導体集積回路のスキャンテスト回路。マルチサイクルパスを含む半導体集積回路のテスト方法であって、実動作モードでテスト対象の論理回路のタイミング解析を行うステップと、前記タイミング解析に基づいて、前記論理回路内のマルチサイクルパスを抽出するステップと、前記論理回路内の異なるサイクル数のパスに分岐する分岐点と、前記論理回路内の異なるサイクル数のパスが合流する合流点を抽出するステップと、前記分岐点を含むマルチサイクルパスの前記分岐点より出力側の経路上と、前記合流点を含むマルチサイクルパスの前記合流点より入力側の経路上に、マルチサイクルテスト時には入力データをそのまま出力し、シングルサイクルテスト時には任意の一定値を出力する出力固定回路を挿入するステップと、シングルサイクルテストモードと、マルチサイクルテストモードのいずれかを選択するステップと、前記シングルサイクルテストモードが選択された場合に実施されるシングルサイクルテストステップと、前記マルチサイクルテストモードが選択された場合に実施されるマルチサイクルテストステップと、を含み、前記シングルサイクルテストステップは、始点スキャンフリップフロップによりスキャンチェーンを構成し、テストデータをシフト入力するシングルサイクルスキャンステップと、終点スキャンフリップフロップのデータ入力を前記論理回路に接続し、実動作と同じクロック周波数で、前記論理回路による前記テストデータの応答をキャプチャするシングルサイクルキャプチャステップと、前記終点スキャンフリップフロップによりスキャンチェーンを構成し、前記キャプチャしたデータを取り出すシングルサイクルシフトアウトステップと、を含み、前記マルチサイクルテストステップは、始点スキャンフリップフロップによりスキャンチェーンを構成し、テストデータをシフト入力するマルチサイクルスキャンステップと、終点スキャンフリップフロップのデータ入力を前記論理回路に接続し、実動作のクロック周波数の1/Nのクロック周波数ここで、Nはマルチサイクル数で、前記論理回路による前記テストデータの応答をキャプチャするマルチサイクルキャプチャステップと、前記終点スキャンフリップフロップによりスキャンチェーンを構成し、前記キャプチャしたデータを取り出すマルチサイクルシフトアウトステップと、を含むことを特徴とする半導体集積回路のスキャンテスト方法。以下の分析は、本発明により与えられる。特許文献1に記載されたテスト方法は、図21の論理回路40のマルチサイクルパス及びシングルサイクルパスに対しては、各々、実動作速度でのテストが可能である。しかしながら、このテスト方法を、図23に示す論理回路211に適用した場合、以下に示す問題が生ずる。図23において、SFF2201の出力qから分岐点221を通ってSFF2203の入力dまでの経路はシングルサイクルパスシングルサイクルパス91とするである。また、SFF2201の出力qから分岐点221、合流点231を通ってSFF2204の入力dまでの経路はマルチサイクルパスマルチサイクルパス92とするである。もし、論理回路211が上記のシングルサイクルパス91及びマルチサイクルパス92のみを有しているとした場合には、論理回路211は、図21の論理回路40と同じ構成になるので、特許文献1に記載された方法により、実動作速度でのシングルサイクルパス、及びマルチサイクルパスのテストが可能である。次に、図23の論理回路211において、シングルサイクルパス91、マルチサイクルパス92の他に、さらに、SFF2202の出力qから分岐点222、合流点231を通ってSFF2204の入力dまでを経路とするシングルサイクルパスシングルサイクルパス93とするが追加された場合を考えてみる。ここで、特許文献1に記載されたテスト方法を適用した場合、まず、マルチサイクルテストステップでは、SFF2203は実動作よりも遅い2サイクルでデータを取り込み、SFF2204は実動作と同じ2サイクルでデータを取り込む。一方、シングルサイクルテストステップでは、SFF2203は実動作と同じ1サイクルでデータを取り込むが、SFF2204は、ホールド状態となり、データを取り込まない。このように、シングルサイクルパス93は、マルチサイクルテストモード時には実動作よりも遅い2サイクルでのテストとなり、シングルサイクルテストモード時にはデータの取り込みが行われない。従って、シングルサイクルパス93は、実動作速度でのテストを行うことができないという問題が生じる。また、図23には、SFF2202の出力qから分岐点222を通ってSFF2205の入力dまでを経路とするマルチサイクルパスマルチサイクルパス94とするを含んでいるが、このマルチサイクルパス94に対しては、特許文献1に記載されたテスト方法で、マルチサイクルパスの動作速度でのテストが可能である。以上説明したように、特許文献1に記載された方法では、一般に、受ける側のSFFがシングルサイクルパスとマルチサイクルパスの両方を含んでいる場合図23のSFF2204の場合には、シングルサイクルパスの実動作速度でのテストができないという問題がある。従って、シングルサイクルパスとマルチサイクルパスが混在している論理回路において、上記した問題を解消し、実動作速度でのシングルサイクルテストを可能にする方法が望まれている。本発明の第1の視点による半導体集積回路のスキャンテスト回路の設計方法は、マルチサイクルパスを含む半導体集積回路をテストするスキャンテスト回路の設計方法であって、実動作モードでテスト対象の論理回路のタイミング解析を行うステップと、前記タイミング解析に基づいて、前記論理回路内のマルチサイクルパスを抽出するステップと、前記論理回路内の異なるサイクル数のパスに分岐する分岐点と、前記論理回路内の異なるサイクル数のパスが合流する合流点を抽出するステップと、前記分岐点を含むマルチサイクルパスの前記分岐点より出力側の経路上と、前記合流点を含むマルチサイクルパスの前記合流点より入力側の経路上に、マルチサイクルテスト時には入力データをそのまま出力し、シングルサイクルテスト時には任意の一定値を出力する出力固定回路を挿入するステップと、を含む。本発明の第2の視点による半導体集積回路のスキャンテスト回路は、マルチサイクルパスを含む半導体集積回路をテストするスキャンテスト回路であって、テスト対象の論理回路に対して、テストデータを供給する始点スキャンフリップフロップと、前記始点スキャンフリップフロップの出力から、前記論理回路内の経路を通ったデータを受け取る終点スキャンフリップフロップと、前記論理回路内の異なるサイクル数のパスに分岐する分岐点と前記分岐点を含むマルチサイクルパスの終点スキャンフリップフロップ間の経路上、及び、前記論理回路内の異なるサイクル数のパスが合流する合流点と前記合流点を含むマルチサイクルパスの始点スキャンフリップフロップ間の経路上に挿入された出力固定回路と、マルチサイクルテストモードと、シングルサイクルテストモードのいずれかを選択するモード選択部と、を備え、前記モード選択部が前記マルチサイクルテストモードを選択している場合には、前記出力固定回路は入力データをそのまま出力し、前記モード選択部が前記シングルサイクルテストモードを選択している場合には、前記出力固定回路は任意の一定値を出力する。本発明の第3の視点による半導体集積回路のスキャンテスト方法は、マルチサイクルパスを含む半導体集積回路のテスト方法であって、実動作モードでテスト対象の論理回路のタイミング解析を行うステップと、前記タイミング解析に基づいて、前記論理回路内のマルチサイクルパスを抽出するステップと、前記論理回路内の異なるサイクル数のパスに分岐する分岐点と、前記論理回路内の異なるサイクル数のパスが合流する合流点を抽出するステップと、前記分岐点を含むマルチサイクルパスの前記分岐点より出力側の経路上と、前記合流点を含むマルチサイクルパスの前記合流点より入力側の経路上に、マルチサイクルテスト時には入力データをそのまま出力し、シングルサイクルテスト時には任意の一定値を出力する出力固定回路を挿入するステップと、シングルサイクルテストモードと、マルチサイクルテストモードのいずれかを選択するステップと、前記シングルサイクルテストモードが選択された場合に実施されるシングルサイクルテストステップと、前記マルチサイクルテストモードが選択された場合に実施されるマルチサイクルテストステップと、を含み、前記シングルサイクルテストステップは、始点スキャンフリップフロップによりスキャンチェーンを構成し、テストデータをシフト入力するシングルサイクルスキャンステップと、終点スキャンフリップフロップのデータ入力を前記論理回路に接続し、実動作と同じクロック周波数で、前記論理回路による前記テストデータの応答をキャプチャするシングルサイクルキャプチャステップと、前記終点スキャンフリップフロップによりスキャンチェーンを構成し、前記キャプチャしたデータを取り出すシングルサイクルシフトアウトステップと、を含み、前記マルチサイクルテストステップは、始点スキャンフリップフロップによりスキャンチェーンを構成し、テストデータをシフト入力するマルチサイクルスキャンステップと、終点スキャンフリップフロップのデータ入力を前記論理回路に接続し、実動作のクロック周波数の1/Nのクロック周波数ここで、Nはマルチサイクル数で、前記論理回路による前記テストデータの応答をキャプチャするマルチサイクルキャプチャステップと、前記終点スキャンフリップフロップによりスキャンチェーンを構成し、前記キャプチャしたデータを取り出すマルチサイクルシフトアウトステップと、を含む。本発明の半導体集積回路のスキャンテスト回路の設計方法によれば、シングルサイクルパスとマルチサイクルパスが混在している論理回路において、実動作速度でのシングルサイクルテストが可能なスキャンテスト回路の設計方法を提供することができる。本発明の半導体集積回路のスキャンテスト回路によれば、シングルサイクルパスとマルチサイクルパスが混在している論理回路において、実動作速度でのシングルサイクルテストが可能なスキャンテスト回路を提供することができる。本発明の半導体集積回路のスキャンテスト方法によれば、シングルサイクルパスとマルチサイクルパスが混在している論理回路において、実動作速度でのシングルサイクルテストが可能なスキャンテスト方法を提供することができる。本発明の実施形態について、必要に応じて図面を参照して説明する。なお、実施形態の説明において引用する図面及び図面の符号は実施形態の一例として示すものであり、それにより本発明による実施形態のバリエーションを制限するものではない。本発明による第1の実施形態の半導体集積回路のスキャンテスト回路の設計方法は、図4に示すように、マルチサイクルパスを含む半導体集積回路をテストするスキャンテスト回路の設計方法であって、実動作モードでテスト対象の論理回路のタイミング解析を行うステップS11と、タイミング解析に基づいて、論理回路内のマルチサイクルパスを抽出するステップS12と、論理回路内の異なるサイクル数のパスに分岐する分岐点と、論理回路内の異なるサイクル数のパスが合流する合流点を抽出するステップS13と、分岐点を含むマルチサイクルパスの分岐点より出力側の経路上と、合流点を含むマルチサイクルパスの合流点より入力側の経路上に、マルチサイクルテスト時には入力データをそのまま出力し、シングルサイクルテスト時には任意の一定値を出力する出力固定回路を挿入するステップS15と、を含む。本発明による第2の実施形態の半導体集積回路のスキャンテスト回路は、図1に示すように、マルチサイクルパスを含む半導体集積回路をテストするスキャンテスト回路であって、テスト対象の論理回路211に対して、テストデータを供給する始点スキャンフリップフロップ201、202と、始点スキャンフリップフロップ201、202の出力から、論理回路211内の経路を通ったデータを受け取る終点スキャンフリップフロップ203、204、205と、論理回路211内の異なるサイクル数のパスに分岐する分岐点221、222と分岐点221、222を含むマルチサイクルパスの終点スキャンフリップフロップ間の経路上、及び、論理回路内211の異なるサイクル数のパスが合流する合流点231と合流点231を含むマルチサイクルパスの始点スキャンフリップフロップ間の経路上に挿入された出力固定回路271、272と、マルチサイクルテストモードと、シングルサイクルテストモードのいずれかを選択するモード選択部280と、を備え、モード選択部280がマルチサイクルテストモードを選択している場合には、出力固定回路271、272は入力データをそのまま出力し、モード選択部280がシングルサイクルテストモードを選択している場合には、出力固定回路271、272は任意の一定値を出力する。本発明による第3の実施形態の半導体集積回路のスキャンテスト方法は、図4に示すように、マルチサイクルパスを含む半導体集積回路のテスト方法であって、実動作モードでテスト対象の論理回路のタイミング解析を行うステップS11と、タイミング解析に基づいて、論理回路内のマルチサイクルパスを抽出するステップS12と、論理回路内の異なるサイクル数のパスに分岐する分岐点と、論理回路内の異なるサイクル数のパスが合流する合流点を抽出するステップS13と、分岐点を含むマルチサイクルパスの分岐点より出力側の経路上と、合流点を含むマルチサイクルパスの合流点より入力側の経路上に、マルチサイクルテスト時には入力データをそのまま出力し、シングルサイクルテスト時には任意の一定値を出力する出力固定回路を挿入するステップS15と、シングルサイクルテストモードと、マルチサイクルテストモードのいずれかを選択するステップと、シングルサイクルテストモードが選択された場合に実施されるシングルサイクルテストステップと、マルチサイクルテストモードが選択された場合に実施されるマルチサイクルテストステップと、を含み、シングルサイクルテストステップは、始点スキャンフリップフロップによりスキャンチェーンを構成し、テストデータをシフト入力するシングルサイクルスキャンステップと、終点スキャンフリップフロップのデータ入力を論理回路に接続し、実動作と同じクロック周波数で、論理回路によるテストデータの応答をキャプチャするシングルサイクルキャプチャステップと、終点スキャンフリップフロップによりスキャンチェーンを構成し、キャプチャしたデータを取り出すシングルサイクルシフトアウトステップと、を含み、マルチサイクルテストステップは、始点スキャンフリップフロップによりスキャンチェーンを構成し、テストデータをシフト入力するマルチサイクルスキャンステップと、終点スキャンフリップフロップのデータ入力を論理回路に接続し、実動作のクロック周波数の1/Nのクロック周波数ここで、Nはマルチサイクル数で、論理回路による前記テストデータの応答をキャプチャするマルチサイクルキャプチャステップと、終点スキャンフリップフロップによりスキャンチェーンを構成し、キャプチャしたデータを取り出すマルチサイクルシフトアウトステップと、を含む。以下、実施例について、図面を参照して詳しく説明する。[実施例1の構成]図1は、本発明の実施例1に係るスキャンテスト回路の回路図であり、論理回路211に対して、実動作速度でのシングルサイクルパスのテストを可能にする対策を施した回路を示している。また、図2は、図1に示すスキャンテスト回路において対策を適用する前のスキャンテスト回路であり、論理回路211、始点SFF201、202、終点SFF203、204、205のみを示したものである。ここで、SFF201、202は、論理回路211に対してテストデータをシフト入力する始点スキャンフリップフロップ以降、始点SFFというである。一方、SFF203、204、205は、論理回路211によるテストデータの応答をキャプチャし、キャプチャした結果をシフトアウトする終点スキャンフリップフロップ以降、終点SFFというである。実施例1において、全ての始点SFF、終点SFFは、図22eに記載された回路が用いられる。図2に示す論理回路211内において、始点SFF201のデータ出力qから論理回路211内の分岐点221を通って終点SFF203のデータ入力dに到達する経路は、そのデータ転送に、システムクロックの1サイクル分必要なシングルサイクルパス以降、シングルサイクルパス1というである。また、始点SFF201のデータ出力qから論理回路211内の分岐点221、合流点231を通って終点SFF204のデータ入力dに到達する経路は、そのデータ転送に、システムクロックの2サイクル分必要なマルチサイクルパス以降、マルチサイクルパス2というである。また、始点SFF202のデータ出力qから論理回路211内の分岐点222、合流点231を通って終点SFF204のデータ入力dに到達する経路は、そのデータ転送に、システムクロックの1サイクル分必要なシングルサイクルパス以降、シングルサイクルパス3というである。また、始点SFF202のデータ出力qから論理回路211内の分岐点222を通って終点SFF205のデータ入力dに到達する経路は、そのデータ転送に、システムクロックの2サイクル分必要なマルチサイクルパス以降、マルチサイクルパス4というである。次に、図3は、実施例1において、図2の論理回路211内に挿入する出力固定回路330を示している。図3において、mは選択信号であり、選択信号mが0の場合は、入力端子dに入力されたデータがそのまま出力端子qから出力され、選択信号mが1の場合は、入力端子dに入力されるデータの値によらず、0または1の任意の固定値334が出力端子qから出力される。図3の右側に示した表は、上記した入出力関係を示している。ここで、固定値334を0、1のいずれにするかは、出力固定回路330を挿入するときに設定すればよい。また、図3は出力固定回路の一例であり、選択信号mが1の場合に、データパスの値を保持するフリップフロップで構成することも可能である。次に、図1は、図2に示す論理回路211内に、実動作速度でのシングルサイクルパスのテストを可能にする対策を施した回路を示している。2つの出力固定回路271、272を、各々、マルチサイクルパス2、マルチサイクルパス4の経路に挿入している。これらの出力固定回路の挿入の詳細については、後に詳述する。また、出力固定回路271、272の各々のm端子には、モード選択部280の出力信号であるマルチサイクルテストイネーブル信号mcte273が供給される。図1において、複数の始点SFF201、202に対して1つのスキャンチェーンが構成される。具体的には、テストデータは、ランダムパターン生成部PRPG286からsi1信号として始点SFF201のsi端子に供給される。また、始点SFF201のq端子は始点SFF202のsi端子と接続される。このようにして、テストデータが始点SFF201、202にシフト入力されるように構成されている。また、始点SFF202のq端子は、圧縮器MISR282に接続される。始点SFF201、202の出力データはシフトアウトされながら、SO1信号としてMISR282に取り込まれる。また、図1において、複数の終点SFF203、204、205に対してもう1つのスキャンチェーンが構成される。具体的には、テストデータは、ランダムパターン生成部PRPG286からsi2信号として終点SFF203のsi端子に供給される。終点SFF203のq端子は終点SFF204のsi端子と接続される。また、終点SFF204のq端子は終点SFF205のsi端子と接続される。このようにしてテストデータが終点SFF203、204、205にシフト入力されるように構成される。また、終点SFF205のq端子は、圧縮器MISR282に接続される。複数の終点SFF203、204、205の出力データはシフトアウトされながら、SO2信号としてMISR282に取り込まれる。また、図1のモード選択部280は、従来技術のスキャンテスト回路を示す図21のマルチサイクルテストイネーブル生成部107と同様の機能を有している。モード選択部280は、マルチサイクルでのテストを行うマルチサイクルテストモードと、シングルサイクルでのテストを行うシングルサイクルテストモードを選択し、選択信号としてマルチサイクルテストイネーブル信号mcte273を出力する。mcte273は、マルチサイクルテストモードの場合には0が出力され、シングルサイクルテストモードの場合には1が出力される。また、図1のクロック周波数変換部288は、mcte=0の場合すなわち、マルチサイクルテストモードの場合、システムクロックck0の周波数を1/Nに落としたクロック信号ckを出力する。但し、Nはマルチサイクルパスのマルチサイクル数である。図1の論理回路211では、2つのマルチサイクルパスマルチサイクルパス2、マルチサイクルパス4のマルチサイクル数は、2であり、N=2となる。一方、mcte=1の場合すなわち、シングルサイクルテストモードの場合、クロック周波数変換部288は、システムクロックck0をそのままクロック信号ckとして出力する。クロック信号ckは、始点SFF201、202、及び終点SFF203、204、205のck端子と、論理回路211内の不図示のck端子に供給される。以上の構成により、論理回路211、始点SFF201、202、及び終点SFF203、204、205は、シングルサイクルテストモードの場合、実動作と同じクロック周波数で動作し、マルチサイクルテストモードの場合、実動作のクロック周波数の1/N図1の回路では、1/2のクロック周波数で動作する。また、スキャンイネーブル生成部284は、スキャンイネーブル信号seを出力する。スキャンイネーブル信号seは、始点SFF201、202、終点SFF203、204、205のse端子に供給される。始点SFF及び終点SFFは、スキャンイネーブル信号seが0の場合、キャプチャ動作を行い、スキャンイネーブル信号seが1の場合、シフト動作を行う。また、本発明の実施例1では、SFFのホールド動作は行わないため、図21の従来のスキャンテスト回路におけるクロックイネーブル生成部104は不要である。[実施例1の動作]図4は、本発明の実施例1に係るスキャンテスト回路の設計方法を示すフローチャートである。以下、図4を参照しながら実施例1のスキャンテスト回路の設計方法を詳細に説明する。まず、図2の論理回路211の論理合成を行うステップS10。ここで、論理合成は、一般的なCAD設計ツールで行われる。次に、CAD設計ツールで、実動作モードでのタイミング解析を実行するステップS11。次に、実動作モードにおけるタイミング解析結果から、論理回路211内のマルチサイクルパスを抽出するステップS12。図5は、ステップS12で抽出したマルチサイクルパスと、シングルサイクルパスを示している。図5に示すように、論理回路211内のパスは、始点SFFと終点SFFの組み合わせに対応付けされて、始点SFF、終点SFF、サイクル数からなる対応テーブルとして生成される。図5において、抽出された論理回路211内のパスは、以下のように表されている。始点SFF201から終点SFF203のパスは、サイクル数1のシングルサイクルパスシングルサイクルパス1である。また、始点SFF201から終点SFF204のパスは、サイクル数2のマルチサイクルパスマルチサイクルパス2である。また、始点SFF202から終点SFF204のパスは、サイクル数1のシングルサイクルパスシングルサイクルパス3である。また、始点SFF202から終点SFF205のパスは、サイクル数2のマルチサイクルパスマルチサイクルパス4である。次に、図4において、異なるサイクル数のパスに分岐する分岐点、及び、異なるサイクル数のパスが合流する合流点を抽出するステップS13。次に、抽出した分岐点、合流点の情報に基づいて、分岐点と終点SFFの対応テーブルの生成と、合流点と始点SFFの対応テーブルの生成を行うステップS18。ここで、上記した異なるサイクル数のパスに分岐する分岐点は、シングルサイクルパスとマルチサイクル数がM1のマルチサイクルパスに分岐する分岐点、或いは、マルチサイクル数がM1のマルチサイクルパスとマルチサイクル数がM2のマルチサイクルパスに分岐する分岐点が考えられる但し、M1、M2は2以上の整数で、M1≠M2。図2の論理回路211の場合は、マルチサイクルパスのマルチサイクル数は2のみであるため、シングルサイクルパスとマルチサイクル数が2のマルチサイクルパスに分岐する分岐点を抽出する。また、上記した異なるサイクル数のパスが合流する合流点は、シングルサイクルパスとマルチサイクル数がM1のマルチサイクルパスが合流する合流点、或いは、マルチサイクル数がM1のマルチサイクルパスとマルチサイクル数がM2のマルチサイクルパスが合流する合流点が考えられる但し、M1、M2は2以上の整数で、M1≠M2。図2の論理回路211の場合は、マルチサイクルパスのマルチサイクル数は2のみであるため、シングルサイクルパスとマルチサイクル数が2のマルチサイクルパスが合流する合流点を抽出する。図6Aは、ステップS18で生成された分岐点と終点SFFの対応テーブルを示す。図6Aは、論理回路211において、2つの分岐点221、222が抽出されたことを示している。まず、分岐点221は、分岐数が2である。分岐点221の入力側の始点SFFは201であり、分岐点221の出力側の終点SFFは203、204である。分岐点221から終点SFF203のパスは、サイクル数1のシングルサイクルパスシングルサイクルパス1であり、分岐点221から終点SFF204のパスは、サイクル数2のマルチサイクルパスマルチサイクルパス2である。次に、分岐点222は、分岐数が2である。分岐点222の入力側の始点SFFは202であり、分岐点222の出力側の終点SFFは204、205である。分岐点222から終点SFF204のパスは、サイクル数1のシングルサイクルパスシングルサイクルパス3であり、分岐点222から終点SFF205のパスは、サイクル数2のマルチサイクルパスマルチサイクルパス4である。そして、分岐点を含むマルチサイクルパスの分岐点より出力側に、出力固定回路を挿入する挿入候補位置が、設定される。図6Aでは、出力側を終点SFFの情報で表しており、実際には、分岐点と分岐点を含むマルチサイクルパスに接続した終点SFF間の経路が、挿入候補位置として設定される。論理回路211では、分岐点221と終点SFF204間の経路が、出力固定回路の第1の挿入候補となる。また、分岐点222と終点SFF205間の経路が、出力固定回路の第2の挿入候補となる。図6Aに示すように、分岐点と終点SFFの対応テーブルの最右列に、出力固定回路挿入フラグを設けておき、挿入候補として判別された経路を、0に初期化する。図7Aは、ステップS18で生成された合流点と始点SFFの対応テーブルを示す。図7Aは、論理回路211において、1つの合流点231が抽出されたことを示している。合流点231は、合流数が2である。合流点231の入力側の始点SFFは201、202であり、合流点の出力側の終点SFFは204である。始点SFF201から合流点231のパスは、サイクル数2のマルチサイクルパスマルチサイクルパス2であり、始点SFF202から合流点231のパスは、サイクル数1のシングルサイクルパスシングルサイクルパス3である。そして、合流点を含むマルチサイクルパスの分岐点より入力側に、出力固定回路を挿入する挿入候補位置が設定される。図7Aでは、入力側を始点SFFの情報で表しており、実際には、合流点と合流点を含むマルチサイクルパスに接続した始点SFF間の経路が、挿入候補位置として設定される。論理回路211では、合流点231と始点SFF201間の経路が、出力固定回路の第3の挿入候補となる。図7Aに示すように、合流点と始点SFFの対応テーブルの最右列に、出力固定回路挿入フラグを設けておき、挿入候補として判別された経路を、0に初期化する。次に、図4に戻って、フローチャートの説明を続ける。ステップS18で生成した分岐点と終点SFFの対応テーブル、及び合流点と始点SFFの対応テーブルを参照し、第1の挿入候補の出力固定回路が未挿入か否かを判定するステップS14。具体的には、まず、分岐点と終点SFFの対応テーブルを参照し、第1の挿入候補の出力固定回路挿入フラグが0であることを検出する。ここで、出力固定回路挿入フラグが0は、初期化された状態のままであり、未挿入であることを意味している。そこで、ステップS14で、YESと判定され、ステップS15に進む。第1の挿入候補位置すなわち、分岐点221と終点SFF204間の経路上に、出力固定回路271を挿入するステップS15。上記の挿入は、自動的に行われるようにしてもよいし、CAD設計ツールを使用するユーザが、例えば、出力固定回路挿入コマンドを操作画面で指示することによって挿入するようにしてもよい。次に、出力固定回路挿入フラグを更新するステップS17。具体的には、図6Bに示すように、第1の挿入候補が、挿入済みであることを示す1に書き換える。次に、挿入候補は全て処理済みか否かを判定するステップS16。未だ、第2、第3の挿入候補が未処理であるため、ステップS16ではNOと判定され、ステップS14に戻る。次に、第2の挿入候補の出力固定回路が未挿入か否かを判定するステップS14。具体的には、まず、分岐点と終点SFFの対応テーブルを参照し、第2の挿入候補の出力固定回路挿入フラグが0であることを検出する。そこで、ステップS14で、YESと判定され、ステップS15に進む。第2の挿入候補位置すなわち、分岐点222と終点SFF205間の経路上に、出力固定回路272を挿入するステップS15。次に、出力固定回路挿入フラグを更新するステップS17。具体的には、図6Cに示すように、第2の挿入候補が、挿入済みであることを示す1に書き換える。次に、挿入候補は全て処理済みか否かを判定するステップS16。未だ、第3の挿入候補が未処理であるため、ステップS16ではNOと判定され、ステップS14に戻る。次に、第3の挿入候補の出力固定回路が未挿入か否かを判定するステップS14。具体的には、まず、合流点と始点SFFの対応テーブルを参照し、第3の挿入候補の出力固定回路挿入フラグが0であることを検出する。しかしながら、第3の挿入候補位置すなわち、合流点231と始点SFF201間の経路上には、既に、第1の挿入候補の処理で出力固定回路271が挿入されていることが検知され、ステップS14は、NOと判定される。そして、出力固定回路の挿入は行わず、ステップS17に進む。そして、出力固定回路挿入フラグを更新するステップS17。具体的には、図7Bに示すように、第3の挿入候補における出力固定回路挿入フラグを2に書き換える。2は、挿入候補の処理は済んでおり、挿入されなかったことを示す値である。次に、挿入候補は全て処理済みか否かを判定するステップS16。全ての挿入候補の処理が終了しているため、ステップS16ではYESと判定され、処理を終了する。以上、図4のフローチャートで説明したスキャンテスト回路の設計方法によって、図2の論理回路211は、図1で示すように、出力固定回路271、272が挿入された状態となる。次に、図1に示すスキャンテスト回路によるスキャンテスト方法について、図8を参照しながら説明する。図8は、図1に示したスキャンテスト回路の波形図である。図8の右側は、モード選択部280がシングルサイクルテストモードを選択した場合で、マルチサイクルテストイネーブル信号mcte273は1である。図8の左側は、モード選択部280がマルチサイクルテストを選択した場合で、マルチサイクルテストイネーブル信号mcte273は、0である。図8において、上から、クロック周波数変換部288の出力であるクロック信号ck、スキャンイネーブル信号se、マルチサイクルテストイネーブル信号mcteの3つの制御信号を示す。次に、図1の始点SFF201、202、終点SFF203、204の動作状態を示す。次に、始点SFF201、202、終点SFF203、204における各々のq出力の波形を示す。尚、図1の終点SFF205の動作状態とq出力については、図8では省略している。図8に示すように、図1のスキャンテスト回路による半導体集積回路のスキャンテスト方法では、シングルサイクルテストモード、マルチサイクルテストモードのいずれかが選択される。まず、マルチサイクルテストモードの動作について以下に説明する。システムクロックck0は、クロック周波数変換部288で、周波数を1/Nに落としたクロック信号ckに変換される。ここで、Nは、マルチサイクル数であり、図8では、マルチサイクル数が2であるため、N=2に設定される。すなわち、マルチサイクルテストモードでは、実動作のクロック周波数の1/2のクロック周波数が、マルチサイクルテストモードのクロック周波数となる。マルチサイクルテストモードでは、マルチサイクルテストイネーブル信号mcte273は、0に設定される。マルチサイクルテストモードでは、クロック信号ckの立ち上がりエッジのタイミング図8のtm0、tm1、tm2、tm3で、SFFは状態を更新する。まず、tm0、tm1のタイミングで、マルチサイクルスキャンが行われる。スキャンイネーブル信号seは1であり、始点SFF201、202はシフト状態図8ではSと表示となる。シフト状態Sでは、始点SFF201、202でスキャンチェーンが構成され、図1のランダムパターン発生器PRPG286から、si1信号としてテストデータが、シフト入力される。次に、tm2のタイミングで、マルチサイクルキャプチャが行われる。tm2において、スキャンイネーブル信号seは0に切り替わっており、全ての始点SFF、終点SFFは、キャプチャ状態図8ではCと表示となる。キャプチャ状態Cでは、終点SFFの内部では、si端子とd端子のうち、d端子が選択入力される。従って、論理回路211によるテストデータの応答が、論理回路211に接続された終点SFFのd端子から、マルチサイクルテストモードのクロック周波数で、キャプチャされることになる。次に、tm3のタイミングで、マルチサイクルシフトアウトが行われる。tm3において、スキャンイネーブル信号seは1に切り替わっており、全ての始点SFF、終点SFFは、シフト状態Sになる。シフト状態Sでは、終点SFF203、204、205でスキャンチェーンが構成され、キャプチャされたデータが、シフトアウトされ、SFF205のデータ出力qから、SO2信号として圧縮器MISR282に取り込まれる。尚、図8に示した波形図において、マルチサイクルスキャン、マルチサイクルキャプチャ、及びマルチサイクルシフトアウトは、いずれも、実動作のクロック周波数の1/N図8では、N=2のクロック周波数で駆動した場合について例示している。しかしながら、実動作のクロック周波数の1/N、すなわち、実動作と同じ動作速度でマルチサイクルテストを行う必要があるのは、マルチサイクルキャプチャの動作だけである。すなわち、図8に示した全SFFのキャプチャポイント~全SFFの最終シフトの時間のみが、実動作のクロック周波数の1/Nの周波数のクロック信号の1周期になっていればよく、他のシフト動作Sは、テストデータの入出力をしているだけであるため、動作速度は任意でよい。ここで、マルチサイクルスキャンのタイミングと、マルチサイクルキャプチャのタイミングについて、図8を参照しながら、以下に考察する。図8に示すように、tm1のタイミングで、キャプチャ動作前の全SFFの最終シフトが行われている。すなわち、始点SFF201、202の出力qは、tm1のタイミングで、キャプチャ前に更新されている。論理回路211内のマルチサイクルパス2は、始点SFF201のデータ出力qが更新されてから、システムクロックの2サイクル後マルチサイクルテストモードのクロックでは、1クロック後に、終点SFF204のデータ入力dが確定する。また、マルチサイクルパス4は、始点SFF202のデータ出力qが更新されてから、システムクロックの2サイクル後マルチサイクルテストモードのクロックでは、1クロック後に、終点SFF205のデータ入力dが確定する。図8に示すように、全SFFのキャプチャポイントは、全SFFのキャプチャ前の最終シフトに対して、システムクロックの2サイクル後のタイミングになっているから、マルチサイクルパス2、4共に終点SFFのデータ入力dが確定しているため、論理回路211によるテストデータの応答を、正しくキャプチャすることができる。また、論理回路211のシングルサイクルパス1においては、始点SFF201のデータ出力qが更新されてから、システムクロックの1サイクルで終点SFF203のデータ入力dが確定するので、明らかに、マルチサイクルキャプチャで、論理回路211によるテストデータの応答を、正しくキャプチャすることができる。また、シングルサイクルパス3始点SFF202から終点SFF204においては、合流点231にマルチサイクルパス2のデータが合流するため、終点SFF204のデータ入力dが確定するまでにシステムクロックの2サイクルを要するが、tm2のタイミングまでには確定しているので、正しくキャプチャすることができる。上記のマルチサイクルテストモードのテストは、マルチサイクルパス2、4に対しては、実動作と同じタイミングでのテストが行われている。しかしながら、シングルサイクルパス1、3に対しては、実動作より遅いタイミングでのテストとなっている。次に、シングルサイクルテストモードの動作について以下に説明する。シングルサイクルテストモードでは、実動作のクロック周波数が、そのまま、シングルサイクルテストモードのクロック周波数となる。また、シングルサイクルテストモードでは、マルチサイクルテストイネーブル信号mcte273は、1に設定される。シングルサイクルテストモードでは、クロック信号ckの立ち上がりエッジのタイミング図8のts0、ts1、ts2、ts3で、SFFは状態を更新する。まず、ts0、ts1のタイミングで、シングルサイクルスキャンが行われる。スキャンイネーブル信号seは1であり、始点SFF201、202はシフト状態となる。シフト状態Sでは、始点SFF201、202でスキャンチェーンが構成され、図1のランダムパターン発生器PRPG286から、si1信号としてテストデータが、シフト入力される。次に、ts2のタイミングで、シングルサイクルキャプチャが行われる。ts2において、スキャンイネーブル信号seは0に切り替わっており、全ての始点SFF、終点SFFは、キャプチャ状態となる。キャプチャ状態Cでは、終点SFFの内部では、si端子とd端子のうち、d端子が選択入力される。従って、論理回路211によるテストデータの応答が、論理回路211に接続された終点SFFのd端子から、シングルサイクルテストモードのクロック周波数で、キャプチャされることになる。次に、ts3のタイミングで、シングルサイクルシフトアウトが行われる。ts3において、スキャンイネーブル信号seは1に切り替わっており、全ての始点SFF、終点SFFは、シフト状態Sになる。シフト状態Sでは、終点SFF203、204、205でスキャンチェーンが構成され、キャプチャされたデータが、シフトアウトされ、SFF205のデータ出力qから、SO2信号として圧縮器MISR282に取り込まれる。尚、図8に示した波形図において、シングルサイクルスキャン、シングルサイクルキャプチャ、及びシングルサイクルシフトアウトは、いずれも、実動作のクロック周波数で駆動した場合について例示している。しかしながら、実動作のクロック周波数、すなわち、実動作と同じ動作速度でシングルサイクルテストを行う必要があるのは、シングルサイクルキャプチャの動作だけである。すなわち、図8に示した全SFFのキャプチャポイント~全SFFの最終シフトの時間のみが、実動作のクロック周波数の1周期になっていればよく、他のシフト動作Sは、テストデータの入出力をしているだけであるため、動作速度は任意でよい。ここで、シングルサイクルテストモードにおいて、シングルサイクルスキャンのタイミングと、シングルサイクルキャプチャのタイミングについて、図8を参照しながら、以下に考察する。図8に示すように、ts1のタイミングで、キャプチャ動作前の全SFFの最終シフトが行われている。すなわち、始点SFF201の出力qは、ts1のタイミングで、キャプチャ前に更新されている。論理回路211内のシングルサイクルパス1は、始点SFF201データ出力qが更新されてから、システムクロックレートの1サイクル後に、終点SFF203のデータ入力dが確定する。図8に示すように、全SFFのキャプチャポイントは、全SFFのキャプチャ前の最終シフトに対して、システムクロックレートの1サイクル後のタイミングには、シングルサイクルパス1の終点SFF203のデータ入力dが確定しているため、論理回路211によるテストデータの応答を、正しくキャプチャすることができる。また、シングルサイクルパス3始点SFF202から終点SFF204においては、始点SFF202の出力qは、ts1のタイミングで更新されると、システムクロックレートの1サイクル後に、終点SFF204のデータ入力dが確定する。しかしながら、合流点231からマルチサイクルパス2のデータが合流するため、マルチサイクルパス2から合流点231へ入ってくる信号は、終点SFF204のデータ入力dが確定するまでにシステムクロックの2サイクルを要することになる。そのため、シングルサイクルパス3においては、図2に示す出力固定回路を挿入していない状態では、ts2のタイミングにおいて、不確定なデータをキャプチャしてしまう。そこで、図1に示すように出力固定回路271が挿入された場合には、シングルサイクルテストモード時には、出力固定回路271は固定値を出力する。従って、マルチサイクルパス2から合流点231に入ってくる信号は、出力固定回路271による固定値になるので、マルチパス2から合流されるデータが、ts2のタイミングで確定しないという問題を解消することができる。また、論理回路211内のマルチサイクルパス2、マルチサイクルパス4は共に、始点SFFのデータ出力qが更新されてから、終点SFFのデータ入力dが確定するまで、システムクロックで2サイクル必要である。図8に示すキャプチャポイントts2の時点では、始点SFFの最終シフトが行われてから1サイクルしか経っておらず、出力固定回路271、272を挿入していない状態では、不確定なデータをキャプチャしてしまう。そこで、図1に示すように、出力固定回路271、272を挿入した状態では、出力固定回路271、272は、シングルサイクルテストモード時には、mcte273が1となり、固定値を出力する。従って、出力固定回路271から終点SFF204の経路と、出力固定回路272から終点SFF205の経路は、どちらも固定値を出力し続ける。従って、図8のts2のタイミングで終点SFF204、205のデータ入力dが不確定になる問題を解消することができる。以下に、実施例1の効果について纏める。実施例1によるスキャンテスト回路を用いたスキャンテスト方法によれば、シングルサイクルテストモードにおいて、シングルサイクルパスを実動作速度でテストすることが可能であるという効果が得られる。特に、図21に示した従来のスキャンテスト回路では、図2のシングルサイクルパス3始点SFF202から終点SFF204をテストする場合、実動作速度でのテストができないという問題があったが、実施例1では、上記したように、実動作速度でのテストが可能である。また、マルチサイクルパスに対しては固定値をキャプチャすることで不確定なデータをキャプチャする問題を回避している。以上により、実施例1によるスキャンテスト回路を用いたスキャンテスト方法によれば、マルチサイクルパスに対しては、マルチサイクルテストモードで実動作速度でのテストが可能であり、シングルサイクルパスに対しは、シングルサイクルテストモードで実動作速度でのテストが可能であるという効果が得られる。また、図21に示す従来のスキャンテスト回路では、第1の記憶素子11は図22aの回路、第2の記憶素子21は図22bの回路、第3の記憶素子31は図22eの回路が使用されており、場所によりタイプの異なるSFFを使用せざるを得ず、複雑な構成になっている。一方、実施例1のスキャンテスト回路は、全てのSFFに対し、図22eの回路を使用しており、図21に示す従来のスキャンテスト回路に比べて、簡素な構成にできるという効果が得られる。また、実施例1によるスキャンテスト回路に使用している出力固定回路は、簡単な構成の回路であり、チップサイズの増大につながることはない。また、出力固定回路の挿入は、図4のフローチャートで示した設計方法により、自動的に実行することが可能であり、スキャンテスト回路を設計するユーザの負荷にはならない。次に、本発明の実施例2に係るスキャンテスト回路について、必要に応じて図面を参照しながら説明を行う。図9は、本発明の実施例2に係るスキャンテスト回路であり、冗長な出力固定回路の削除を行った後のスキャンテスト回路を示している。図9において、モード選択部980、圧縮器MISR982、スキャンイネーブル生成部984、ランダムパターン発生器PRPG986、クロック周波数変換部988については、実施例1と同様の機能であるため、説明は省略する。また、始点SFF、終点SFFについては、始点SFFが2つから3つに増えた点を除けば実施例2では始点SFFは901、902、906の3つで構成されている、それ以外は同じであるため、説明は省略する。図10は、図9のスキャンテスト回路において、論理回路941、始点SFF901、902、906、及び終点SFF903、904、905のみを示している。また、図10は、実施例1に係るスキャンテスト回路の設計方法で、論理回路941内に出力固定回路931、932、933を挿入した状態を示している。実施例2に係るスキャンテスト回路の設計方法は、実施例1に係るスキャンテスト回路の設計方法に対して、冗長な出力固定回路を削除する機能を追加している。図10に示す論理回路941内において、始点SFF901のデータ出力qから論理回路941内の分岐点911を通って終点SFF903のデータ入力dに到達する経路は、そのデータ転送に、システムクロックの1サイクル分必要なシングルサイクルパス以降、シングルサイクルパス5というである。また、始点SFF901のデータ出力qから論理回路941内の分岐点911、合流点921、922を通って終点SFF904のデータ入力dに到達する経路は、そのデータ転送に、システムクロックの2サイクル分必要なマルチサイクルパス以降、マルチサイクルパス6というである。また、始点SFF902のデータ出力qから論理回路941内の合流点921、922を通って終点SFF904のデータ入力dに到達する経路は、そのデータ転送に、システムクロックの1サイクル分必要なシングルサイクルパス以降、シングルサイクルパス7というである。また、始点SFF906のデータ出力qから論理回路941内の分岐点912、合流点922を通って終点SFF904のデータ入力dに到達する経路は、そのデータ転送に、システムクロックの1サイクル分必要なシングルサイクルパス以降、シングルサイクルパス8というである。また、始点SFF906のデータ出力qから論理回路941内の分岐点912を通って終点SFF905のデータ入力dに到達する経路は、そのデータ転送に、システムクロックの2サイクル分必要なマルチサイクルパス以降、マルチサイクルパス9というである。図11は、実施例2に係るスキャンテスト回路の設計方法を示すフローチャートである。図11において、ステップS16までは、図4に示すフローチャートと同じであり、説明は省略する。ステップS16までにより、図10に示すように、出力固定回路931、932が挿入された状態になっている。ステップS16の次に、ステップS21に進む。ここで、論理回路941内の出力固定回路を抽出するステップS21。具体的には、ステップS15で挿入した出力固定回路は分かっているので、それにより、図12に示す出力固定回路を抽出した情報を得ることができる。図12は、ステップS15で挿入した3つの出力固定回路931、932、933を、始点SFF、終点SFF、及びサイクル数の情報で対応付けた表になっている。図12に示す表は、始点SFF901から終点SFF904の経路に、出力固定回路931、932があり、始点SFF902から終点SFF904の経路に、出力固定回路932があり、始点SFF906から終点SFF905の経路に、出力固定回路933があることを示している。図11のフローチャートに戻り、説明を続ける。ステップS21で抽出した出力固定回路に対して、冗長出力固定回路を削除するステップS22。具体的には、図12に示す表において、同一経路上に、複数の出力固定回路が存在していないかどうかを調べる。図12の表を参照すると、始点SFF901から終点SFF904の経路に2つの出力固定回路931、932が存在していることを検出する。上記2つの出力固定回路のうち、出力固定回路932は、別の経路始点SFF902から終点SFF904の経路にも存在するので、削除することができない。一方、出力固定回路931は、始点SFF901から終点SFF904の経路にのみ存在するので、削除することができると判定される。そして、出力固定回路931は削除される。図9は、冗長出力固定回路931が削除された回路図である。実施例2に係るスキャンテスト回路の設計方法によれば、出力固定回路が複数存在する経路を抽出し、冗長な出力固定回路を削除することにより、無駄な回路規模の増加を回避することができるという効果が得られる。次に、本発明の実施例3に係るスキャンテスト回路について、必要に応じて図面を参照しながら説明を行う。図13は、実施例3に係るスキャンテスト回路の回路図である。実施例3による図13のスキャンテスト回路が、実施例1による図1のスキャンテスト回路と違う点は、論理回路211内に挿入する出力固定回路のみである。尚、図13において、図1と実質的に同じ機能を有する構成要素に対しては、同じ参照符号を付与している。図14は、実施例3に係るスキャンテスト回路の設計方法を示すフローチャートである。図14において、ステップS16までは、実施例1と同じである。ステップS16までにより、実施例1と同様に、図1に示す回路が得られた状態になっている。そして、ステップS16の後、ステップS31に進む。図1の論理回路211に対して、タイミング解析を行うステップS31。次に、タイミングMETパスの出力固定回路を削除するステップS32。ここで、ステップS32について、以下に、より詳細に説明する。図1の回路において、マルチテストイネーブル信号mcte273を1にしてタイミング解析を行い、出力固定回路を挿入したマルチサイクルパスが、シングルサイクルテストモードのレートでデータを受け渡す場合のタイミングエラーの有無を抽出する。その抽出した結果を図15に示す。図15において、出力固定回路271が挿入された始点SFF201から終点SFF204の経路は、シングルサイクルテストモードのレートで、タイミングエラーが有ることを示している。また、出力固定回路272が挿入された始点SFF202から終点SFF205の経路は、シングルサイクルテストモードのレートで、タイミングエラーが無いことを示している。上記のタイミングエラーの解析により、始点SFF202から終点SFF205の経路は、シングルサイクルでタイミングを満たすすなわち、タイミングMETパスであるため、出力固定回路272を削除することができると判定され、出力固定回路272は削除される。図13は、出力固定回路272が削除された回路を示している。実施例3に係るスキャンテスト回路の設計方法によれば、マルチサイクルパス中に挿入した出力固定回路を通る経路がシングルサイクルで動作することが可能であれば、出力固定回路を削除することにより、無駄な回路規模の増加を回避することができるという効果が得られる。次に、本発明の実施例4に係るスキャンテスト回路について、必要に応じて図面を参照しながら説明を行う。図16は、実施例4に係るスキャンテスト回路の回路図である。図16において、モード選択部1580、圧縮器MISR1582、スキャンイネーブル生成部1584、ランダムパターン発生器PRPG1586、クロック周期変換部1588については、実施例1と同様の機能を有しているため、説明は省略する。図17は、図16のスキャンテスト回路において、論理回路1511、始点SFF1501、及び終点SFF1502のみを示している。図17において、論理回路1511内において、始点SFF1501のデータ出力qから論理回路1511内の分岐点1521、経路1531、合流点1541を通って終点SFF1502のデータ入力dに到達する経路は、そのデータ転送に、システムクロックの1サイクル分必要なシングルサイクルパス以降、シングルサイクルパス10というである。また、始点SFF1501のデータ出力qから論理回路1511内の分岐点1521、経路1532、合流点1541を通って終点SFF1502のデータ入力dに到達する経路は、そのデータ転送に、システムクロックレートの2サイクル分必要なマルチサイクルパス以降、マルチサイクルパス11というである。上記した論理回路1511に対して、実施例1で示したスキャンテスト回路の設計方法を、以下に示すように適用する。図4のフローチャートのステップS12により、論理回路1511内のマルチサイクルパスを抽出する。図18は、抽出したマルチサイクルパス及びシングルサイクルパスを示している。始点SFF1501から終点SFF1502には、シングルサイクルパスシングルサイクルパス10と、マルチサイクルパスマルチサイクルパス11が存在していることを示している。次に図4のフローチャートのステップS13により、異なるサイクル数のパスに分岐する分岐点、及び異なるサイクル数のパスが合流する合流点を抽出する。ここで、図17の論理回路1511において、マルチサイクルパスのマルチサイクル数は2のみであるため、シングルサイクルパスとマルチサイクル数が2のマルチサイクルパスに分岐する分岐点、及び、シングルサイクルパスとマルチサイクル数が2のマルチサイクルパスが合流する合流点を抽出する。その結果、分岐点1521、合流点1541が抽出される。次に図4のフローチャートのステップS14により、図19Aに示す分岐点と終点SFFの対応テーブルと、図20Aに示す合流点と始点SFFの対応テーブルが生成される。図19Aは、論理回路1511において、1つの分岐点1521が抽出されたことを示している。まず、分岐点1521は、分岐数が2である。分岐点1521の入力側の始点SFFは1501であり、分岐点1521の出力側の2つの終点SFFは、どちらも1502である。また、始点SFF1501から終点SFF1502の1つのパスは、サイクル数1のシングルサイクルパスシングルサイクルパス10であり、始点SFF1501から終点SFF1502のもう1つのパスは、サイクル数2のマルチサイクルパスマルチサイクルパス11であることを示している。分岐点1521と分岐点1521を含むマルチサイクルパスに接続した終点SFF1502間の経路が、出力固定回路の第1の挿入候補であり、その出力固定回路挿入フラグは0に初期化される。また、図20Aは、論理回路1511において、1つの合流点1541が抽出されたことを示している。合流点1541は、合流数が2である。合流点1541における2つの入力側の始点SFFは、どちらも1501であり、合流点の出力側の終点SFFは1502である。また、始点SFF1501から終点SFF1502の1つのパスは、サイクル数1のシングルサイクルパスシングルサイクルパス10であり、始点SFF1501から終点SFF1502のもう1つのパスは、サイクル数2のマルチサイクルパスマルチサイクルパス11であることを示している。合流点1541と合流点1541を含むマルチサイクルパスに接続した始点SFF1501間の経路が、出力固定回路の第2の挿入候補であり、その出力固定回路挿入フラグは0に初期化される。次に、図4のステップS14、S15、S17、S16により、第1の挿入候補の位置に、出力固定回路1533が挿入される。出力固定回路1533が挿入された後、分岐点と終点SFFの対応テーブルは、図19Bに示すように、第1の挿入候補の出力固定回路挿入フラグは、挿入が行われたことを示す1に書き換わる。また、第2の挿入候補は、図20Bに示すように、第2の挿入候補の経路上に、既に出力固定回路1533が挿入されているので、新たな挿入は行われない。そして、第2の挿入候補の出力固定回路挿入フラグは、挿入は行われずに、処理済みであることを示す2に書き換わる。図16は、出力固定回路1533が挿入されたスキャンテスト回路を示している。図16に示すスキャンテスト回路において、テストを行う場合のテスト方法について以下に説明する。まず、モード選択部1580で、マルチサイクルテストモードが選択された場合、マルチサイクルテストイネーブル信号mcte1573は0が出力される。この場合、クロック周波数変換部1588により、実動作のクロック周波数の1/2のクロック周波数で、全てのSFF1501、1502及び論理回路1511は動作する。出力固定回路1533の入力端子dに入力されたデータは、出力端子qからそのまま出力される。終点SFF1502は、経路1531シングルサイクルパス10を通ったデータを、実動作より遅いシステムクロックの2サイクルでデータをキャプチャする。また、終点SFF1502は、経路1532マルチサイクルパス11を通ったデータを、実動作と同じシステムクロックの2サイクルでデータをキャプチャする。次に、モード選択部1580で、シングルサイクルテストモードが選択された場合、マルチサイクルテストイネーブル信号mcte1573は1が出力される。この場合、クロック周波数変換部1588により、実動作のクロック周波数と同じクロック周波数で、全てのSFF1501、1502及び論理回路1511は動作する。終点SFF1502は、経路1531シングルサイクルパス10を通ったデータを、実動作と同じシステムクロックの1サイクルでキャプチャする。また、終点SFF1502は、経路1532マルチサイクルパス11を通ったデータに対して、出力固定回路1533によって固定されたデータをキャプチャする。ここで、図21に示す従来技術のスキャンテスト回路では、経路1531シングルサイクルパス10を通ったデータを、実動作と同じシステムクロックの1サイクルでキャプチャすることはできない。以上説明したように、本発明のスキャンテスト回路によるスキャンテスト方法によれば、同一の始点SFFと同一の終点SFFに複数の経路がある場合において、経路毎にサイクル数を抽出して、出力固定回路を挿入することによって、マルチサイクルパスに対しては、マルチサイクルテストモードで実動作速度でのテストが可能であり、シングルサイクルパスに対しては、シングルサイクルテストモードで実動作速度でのテストが可能であるという効果が得られる。[比較例]ここで、比較例として、特許文献1に記載された半導体集積回路のスキャンテスト方法について、以下に詳細に説明する。図21は従来のマルチサイクルパスを含む半導体集積回路であり、図22a~cに示すSFFを用いてキャプチャ、ホールド、及びシフトの動作を実現している。例えば、図22aのSFF700は、ディレイフリップフロップDFF710のデータ入力に接続されるセレクタ720と、このセレクタ720に接続されたセレクタ730とを有している。また、DFF710は、クロック入力CKと、データ出力Qを有している。セレクタ720は、入力データd又はセレクタ730の出力信号733をスキャンイネーブル信号seに応じて選択する。セレクタ730は、スキャン入力信号si又はDFF710の出力信号713をクロックイネーブル信号ceに応じて選択する。従って、クロックイネーブル信号ceの値によって、SFF700がシフトされるかホールドされるかが決められる。クロックイネーブル信号ceを用いてSFFの値をホールドさせることで、テスト時のSFFの動作を実動作でのクロックレートよりも落とすことができる。また、図22b、cに示すSFF740、750を用いることによっても、図22aに示すSFF700と同様の動作を実現することができる。尚、図22dは、図22a~cのSFFを表すのに用いられる。また、図22eは、クロックイネーブル信号を持たないSFFを表す。以下、特許文献1に記載された従来技術の半導体集積回路の動作及びそのテスト方法について説明する。従来技術による半導体集積回路は、マルチサイクルパスを含む半導体集積回路であって、この半導体集積回路は、クロック信号のエッジで動作し、データ入力とデータ出力を有するスキャン可能な第1の記憶素子と、その第1の記憶素子のデータから、システムクロックレートの1サイクルより長いマルチサイクルで動作する論理回路中のパスを通ったデータをデータ入力として受け入れ、クロック信号のエッジで動作し、データ出力からデータを出力する少なくとも1個以上のスキャン可能な第2の記憶素子と、第1の記憶素子の出力から、システムクロックレートの1サイクルで動作する論理回路中のシングルサイクルパスを通ったデータをデータ入力として受け取り、クロック信号のエッジで動作し、データ出力からデータを出力する少なくとも1個以上のスキャン可能な第3の記憶素子と、を備える。そのテスト方法には、マルチサイクルテストステップと、シングルサイクルテストステップが含まれる。マルチサイクルテストステップは、第1、第2、第3の記憶素子のデータ入力と、他のスキャン可能な記憶素子のデータ出力を接続してスキャンチェーンを構成し、スキャンチェーン可能な記憶素子に対して、テストクロックレートで検査パターンをシリアルにシフトするスキャンステップと、第1の記憶素子に対して、第1の記憶素子のデータ出力から、第2の記憶素子のデータ入力までのマルチサイクル数と同一又はそれ以上のサイクル数の間、キャプチャ動作の前又はスキャンステップ中にデータをホールドするマルチサイクルホールドステップと、第1、第2、第3の記憶素子のデータ入力を、論理回路に接続し、その論理回路に対する検査パターンの応答を、記憶素子のデータ入力から取り込むマルチサイクルキャプチャステップと、第1、第2、第3の記憶素子のデータ入力と、他のスキャン可能な記憶素子のデータ出力を接続してスキャンチェーンを構成し、記憶素子からデータをシフトアウトするシフトアウトステップと、を含む。一方、シングルサイクルテストステップは、スキャンステップと、第1、第2、第3の記憶素子のデータ入力を、論理回路に接続し、第2の記憶素子については、データをホールドし、第2の記憶素子を除く記憶素子については、論理回路に対する検査パターンの応答を、記憶素子のデータ入力から取り込むシングルサイクルキャプチャステップと、シフトアウトステップと、を含む。次に、図21の従来のスキャンテスト回路の動作について、図24に示す波形図を参照しながら説明する。図24の左側に示すマルチサイクルテストモードについて説明する。時刻tm0では、信号se1、se2が1で、ce1が1であるため、第1の記憶素子11はシフト状態、第2の記憶素子21はシフト状態、第3の記憶素子31はシフト状態となり、スキャン入力からの値がスキャン入力データとしてシフトされる。時刻tm1では、信号se1、se2が1で、ce1が0であるため、第1の記憶素子11はホールド状態、第2の記憶素子21はシフト状態、第3の記憶素子31はシフト状態となり、時刻tm0でシフトされた第1の記憶素子11の値がホールドされ、記憶素子21および31は、スキャン入力からの値がスキャン入力データとしてシフトされる。時刻tm2では、信号se1、se2が0で、信号ce1が1であるため、第1の記憶素子11はキャプチャ状態、第2の記憶素子21はキャプチャ状態、第3の記憶素子はキャプチャ状態となり、データ入力からの値を取り込む。第2のスキャン可能な記憶素子21では、時刻tm0で値が確定した第1の記憶素子11の値を、その2クロック後の時刻tm2で取り込むため、実動作での2サイクルのマルチサイクルと同一のタイミングで、データを取り込むことができる。第3の記憶素子31では、時刻tm0で値が確定した第1の記憶素子11の値を、その2クロック後のtm2で取り込むため、実動作での1サイクルのシングルサイクルとは異なるタイミングでデータを取り込むことになる。時刻tm3では、信号se1、se2が1で、信号ce1が0であるため、第1の記憶素子11はホールド状態、第2の記憶素子21はシフト状態、第3の記憶素子31はシフト状態となり、時刻tm2でキャプチャされた第1の記憶素子11の値はホールドされ、記憶素子21および31は時刻tm2でキャプチャした値をシフトアウトする。図24の右側に示すシングルサイクルテストモードについて説明する。時刻ts0では、信号se1、se2が1で、信号ce1が1であるため、第1の記憶素子11はシフト状態、第2の記憶素子21はシフト状態、第3の記憶素子31はシフト状態となり、スキャン入力からの値がスキャン入力データとしてシフトされる。時刻ts1では、信号se1、se2が1で、信号ce1が0であるが、信号mcteが1のために第1の記憶素子11のce入力には1が入力される。そのため、第1の記憶素子11はシフト状態、第2の記憶素子21はシフト状態、第3の記憶素子31はシフト状態となり、スキャン入力からの値がスキャン入力データとしてシフトされる。時刻ts2では、信号se1、se2が0で、信号ce1が1であるが、信号mcteが1のために第2の記憶素子21のce入力には0が入力される。そのため、第1の記憶素子11はキャプチャ状態、第2の記憶素子21はホールド状態、第3の記憶素子31はキャプチャ状態となり、第1および第3の記憶素子11および31は、そのデータ入力から値を取り込み、第2の記憶素子21はデータをホールドする。第2の記憶素子21では、時刻ts1で値が確定した第1の記憶素子11の値を、その1クロック後の時刻ts2で取り込むと、実動作では2サイクルのマルチサイクルのために、正しくデータが取り込めないが、データをホールドすることで、第1の記憶素子11の値を取り込まないようにする。第3の記憶素子31では、時刻ts1で値が確定した第1の記憶素子11の値を、その1クロック後の時刻ts2で取り込むため、実動作での1サイクルのシングルサイクルと同一のタイミングでデータを取り込むことができる。時刻ts3では、信号se1、se2が1で、信号ce1が0であるため、第1の記憶素子11はシフト状態、第2の記憶素子21はシフト状態、第3の記憶素子31はシフト状態であり、時刻ts2でキャプチャした値をシフトアウトする。以上説明したように、図21に示す論理回路40をテストする場合には、第1の記憶素子11から第2の記憶素子21までのマルチサイクルパスに対しては、実動作速度と同じマルチサイクルテストモードでテストを行い、第1の記憶素子11から第3の記憶素子31までのシングルサイクルパスに対しては、実動作速度と同じシングルサイクルテストモードでテストを行い、シングルサイクルテストモードで第2の記憶素子21はキャプチャしないようにすることで、問題なくテストを行うことが可能である。次に、図23は、従来技術の回路構成の一例である。図23に示す論理回路211は、前述したように、もし、シングルサイクルパス91始点SFF2201から終点SFF2203、マルチサイクルパス92始点SFF2201から終点SFF2204の2つのパスのみであった場合には、図21の論理回路40と同様になり、問題は生じない。しかしながら、シングルサイクルパス93始点SFF2202から終点SFF2204が加わると、シングルサイクルパス93をシングルサイクルテストモードでテストしようとした場合、終点SFF2204は、キャプチャされない。従来技術で、このようにキャプチャしないようにしたのは、合流点231にマルチサイクルパス92からデータが入ってきて、終点SFF2204の入力dで確定するまでに、システムクロックの2サイクル必要であり、1サイクルでは、不確定なためである。このように、図23に示す論理回路211のような構成の場合、従来技術では、シングルサイクルパスに対し、実動作速度でのテストができないという問題がある。一方、本発明の実施例1~4によるスキャンテスト回路の設計方法で、スキャンテスト回路を設計し、各々の実施例で開示したスキャンテスト方法でテストを行うことにより、シングルマルチサイクルパスとマルチサイクルパスが混在している論理回路において、実動作速度でのシングルサイクルテストが可能となる効果が得られる。