第1クロック信号に応答して動作する第1クロックドメインに含まれ、スキャンテスト時に形成されるスキャンチェーンに組み込まれる第1スキャンフリップフロップと、前記第1クロック信号と周波数の異なる第2クロック信号に応答して動作する第2クロックドメインに属し、前記スキャンチェーンにテスト結果を取り込むキャプチャ期間に前記第1スキャンフリップフロップに出力するデータを固定するホールド対応回路とを具備し、前記スキャンテスト時に前記第1クロックドメインおよび前記第2クロックドメインに同一周波数のクロック信号が供給されるスキャンテスト回路。前記ホールド対応回路は、前記スキャンテスト時に前記スキャンチェーンにテスト結果を取り込む前記キャプチャ期間を示すホールド制御信号に応答して、前記第1スキャンフリップフロップに出力するデータを固定する請求項1に記載のスキャンテスト回路。前記ホールド対応回路は、前記第2クロック信号に応答して入力データを取り込むスキャンフリップフロップと、前記ホールド制御信号が前記スキャンチェーン内のデータをシフトさせるスキャンシフト期間を示すときに前記スキャンフリップフロップの出力の変化を反映して出力し、前記ホールド制御信号が前記キャプチャ期間を示すときに固定して出力するラッチ回路とを備える請求項2に記載のスキャンテスト回路。前記第1クロック信号と前記第2クロック信号とを入力し、前記スキャンテスト時に使用されるクロック信号を選択して前記第1または前記第2クロックドメインに供給する選択回路をさらに具備する請求項1から請求項3のいずれかに記載のスキャンテスト回路。請求項1から請求項4のいずれかに記載のスキャンテスト回路を具備する半導体集積回路装置。第1クロック信号に応答して動作する第1クロックドメインに含まれ、スキャンテスト時に形成されるスキャンチェーンに組み込まれる第1スキャンフリップフロップと、第2クロック信号に応答して動作する第2クロックドメインに含まれ、前記スキャンチェーンに組み込まれ、前記第1スキャンフリップフロップにデータを出力する第2スキャンフリップフロップと、前記第2スキャンフリップフロップと前記第1スキャンフリップフロップとの間に配置され、テスト結果を取り込むキャプチャ期間に前記第1スキャンフリップフロップに出力するデータを固定するラッチ回路とを具備し、前記スキャンテスト時に前記第1クロックドメインおよび前記第2クロックドメインに同一周波数のクロック信号が供給されるスキャンテスト回路。第1クロック信号に応答して動作する第1スキャンフリップフロップを備える第1クロックドメインと、前記第1クロック信号と周波数が異なる第2クロック信号に応答して動作する第2スキャンフリップフロップを備える第2クロックドメインとを含む半導体集積回路のスキャンテスト回路生成方法であって、通常動作時に前記第2スキャンフリップフロップから前記第1スキャンフリップフロップにデータが出力されるユーザロジックパスを抽出するステップと、前記ユーザロジックパスの起点となる前記第2スキャンフリップフロップを抽出するステップと、前記第1スキャンフリップフロップに出力するデータをスキャンテスト時に固定するホールド対応回路に前記第2スキャンフリップフロップを置換するステップと、前記ホールド対応回路に置換した後にテスト設計するステップとを具備するスキャンテスト回路生成方法。前記ホールド対応回路が前記スキャンテスト時にスキャンチェーンにテスト結果を取り込む前記キャプチャ期間を示すホールド制御信号に応答して前記第1スキャンフリップフロップに出力するデータを固定するように、前記ホールド対応回路に前記ホールド制御信号を接続するステップをさらに具備する請求項7に記載のスキャンテスト回路生成方法。前記ホールド対応回路を予めライブラリに登録するステップをさらに具備する請求項7または請求項8に記載のスキャンテスト回路生成方法。第1クロック信号に応答して動作する第1スキャンフリップフロップを備える第1クロックドメインと、前記第1クロック信号と周波数が異なる第2クロック信号に応答して動作する第2スキャンフリップフロップを備える第2クロックドメインとを含む半導体集積回路のスキャンテスト回路生成方法であって、通常動作時に前記第2スキャンフリップフロップから前記第1スキャンフリップフロップにデータが出力されるユーザロジックパスを抽出するステップと、前記ユーザロジックパスの起点となる前記第2スキャンフリップフロップを抽出するステップと、前記第2スキャンフリップフロップと前記第1スキャンフリップフロップとの間に、前記第1スキャンフリップフロップに出力するデータをスキャンテスト時に固定するラッチ回路を挿入するステップと、前記ラッチ回路を挿入した後にテスト設計するステップとを具備するスキャンテスト回路生成方法。第1クロック信号に応答して動作する第1スキャンフリップフロップを備える第1クロックドメインと、前記第1クロック信号と周波数が異なる第2クロック信号に応答して動作する第2スキャンフリップフロップを備える第2クロックドメインとを含む半導体集積回路のスキャンテスト回路生成方法であって、スキャンテストのキャプチャサイクル動作時のタイミング検証を行うステップと、前記第1クロックドメインと前記第2クロックドメインとの間のユーザ論理に使用される信号経路であるユーザロジックパスにホールドタイミング違反があるか否かを判定するステップと、前記ホールドタイミング違反が検出された前記ユーザロジックパスの起点となる前記第2スキャンフリップフロップを抽出するステップと、前記抽出した前記第2スキャンフリップフロップを、前記第1スキャンフリップフロップに出力するデータを前記スキャンテスト時に固定するホールド対応回路に置換するステップとを具備するスキャンテスト回路生成方法。前記ホールド対応回路を予めライブラリに登録するステップをさらに具備する請求項7から請求項11のいずれかに記載のスキャンテスト回路生成方法。請求項7から請求項12のいずれかに記載のスキャンテスト回路生成方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。本発明は、スキャンテストにおいて、異クロックドメイン間のユーザロジックパスに対するホールド違反を起こさないスキャンテスト回路およびスキャンテスト回路の生成方法を提供する。以下に、[発明を実施するための形態]で使用される番号符号を用いて、課題を解決するための手段を説明する。これらの番号符号は、[特許請求の範囲]の記載と[発明を実施するための形態]との対応関係を明らかにするために付加されたものである。ただし、それらの番号符号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。本発明の観点では、スキャンテスト回路は、第1スキャンフリップフロップ111/112と、ホールド対応回路202/201とを具備する。第1スキャンフリップフロップ111/112は、第1クロック信号CLK1/CLK2に応答して動作する第1クロックドメイン101/102に含まれ、スキャンテスト時に形成されるスキャンチェーンに組み込まれる。ホールド対応回路202/201は、第1クロック信号CLK1/CLK2と周波数の異なる第2クロック信号CLK2/CLK1に応答して動作する第2クロックドメイン102/101に属し、スキャンチェーンにテスト結果を取り込むキャプチャ期間に第1スキャンフリップフロップ111/112に出力するデータを固定する。スキャンテスト時には、第1クロックドメインおよび第2クロックドメイン101、102に同一周波数のクロック信号が供給される。本発明の他の観点では、スキャンテスト回路生成方法は、第1クロック信号CLK1/CLK2に応答して動作する第1スキャンフリップフロップ111/112を備える第1クロックドメイン101/102と、第1クロック信号CLK1/CLK2と周波数が異なる第2クロック信号CLK2/CLK1に応答して動作する第2スキャンフリップフロップ602/601を備える第2クロックドメイン102/101とを含む半導体集積回路のスキャンテスト回路生成方法であって、通常動作時に第2スキャンフリップフロップ602/601から第1スキャンフリップフロップ111/112にデータが出力されるユーザロジックパスを抽出するステップと、ユーザロジックパスの起点となる第2スキャンフリップフロップ602/601を抽出するステップと、第2スキャンフリップフロップ602/601から第1スキャンフリップフロップに出力するデータをスキャンテスト時に固定するホールド対応回路202/201に第2スキャンフリップフロップ602/601を置換するステップと、ホールド対応回路202/201に置換した後にテスト設計するステップとを具備する。また、スキャンテスト回路生成方法は、スキャンテストのキャプチャサイクル動作時のタイミング検証を行うステップと、第1クロックドメイン101/102と第2クロックドメイン102/101との間のユーザ論理に使用される信号の経路であるユーザロジックパスにホールドタイミング違反があるか否かを判定するステップと、ホールドタイミング違反が検出されたユーザロジックパスの起点となる第2スキャンフリップフロップ602/601を抽出するステップと、抽出した第2スキャンフリップフロップ602/601を、第1スキャンフリップフロップ111/112に出力するデータをスキャンテスト時に固定するホールド対応回路202/201に置換するステップとを具備してもよい。本発明によれば、スキャンテストにおいて、異クロックドメイン間のユーザロジックパスに対するホールド違反を起こさないスキャンテスト回路およびスキャンテスト回路生成方法を提供することができる。図面を参照して本発明の実施の形態を説明する。図3は、本発明の実施の形態に係るスキャンテスト回路を備える半導体集積回路の構成を示す図である。半導体集積回路は、スキャンフリップフロップ111、112と、ホールド対応回路201、202と、セレクタ130と、組み合わせ回路121、122、123と、クロック入力端子141、142と、テストモード制御端子143と、ホールド制御端子144と、スキャン制御端子145とを具備する。ホールド対応回路201のデータ出力ノードDOUTは、組み合わせ回路121を介してスキャンフリップフロップ111のデータ入力ノードDに接続され、組み合わせ回路123を介してスキャンフリップフロップ112のデータ入力ノードDに接続される。スキャンフリップフロップ112のデータ出力ノードQは、組み合わせ回路122を介してホールド対応回路202のデータ入力ノードDINに接続される。ホールド対応回路202のデータ出力ノードDOUTは、組み合わせ回路121を介してスキャンフリップフロップ111のデータ入力ノードDに接続される。クロック入力端子141からクロック信号CLK1が入力される。クロック信号CLK1は、ホールド対応回路201、スキャンフリップフロップ111、セレクタ130に供給される。クロック入力端子142からクロック信号CLK2が入力される。クロック信号CLK2は、セレクタ130に供給される。セレクタ130は、テストモード制御端子143から入力されるテストモード制御信号TMODEに基づいて、クロック信号CLK1、CLK2の一方を選択してスキャンフリップフロップ112、ホールド対応回路202に供給する。ホールド制御端子144から入力されるホールド制御信号HOLDは、ホールド対応回路201、202に供給される。スキャン制御端子145から入力されるスキャンイネーブル信号SEは、スキャンフリップフロップ111、112、ホールド対応回路201、202に供給される接続の図示は省略。ホールド制御信号HOLDは、ホールド対応回路201、202のデータ出力ノードDOUTから出力されるデータ信号を制御する信号であり、詳細は後述する。ここで、ホールド対応回路201およびスキャンフリップフロップ111は、第1のクロックドメイン101に属し、スキャンフリップフロップ112およびホールド対応回路202は、第2のクロックドメイン102に属する。クロックドメイン101には、クロック入力端子141に印加されるクロック信号CLK1が供給される。また、クロックドメイン102には、通常動作時、クロック入力端子142に印加されるクロック信号CLK2が供給される。セレクタ130は、テストモード制御信号TMODEに基づいてクロック信号CLK1、クロック信号CLK2のいずれかを選択して、クロックドメイン102へ供給する。すなわち、セレクタ130は、テストモード制御信号TMODEが通常動作を示すときクロック信号CLK2を、スキャンテスト動作を示すときクロック信号CLK1を選択して出力し、クロックドメイン102へ供給する。ホールド対応回路201は、前段例えば、組み合わせ回路など:図示せずから出力されるデータをデータ入力ノードDINから取り込む。ホールド対応回路201のデータ出力ノードDOUTから出力されるデータは、組み合わせ回路121を介してスキャンフリップフロップ111のデータ入力ノードDへ供給されるとともに、組み合わせ回路123を介してスキャンフリップフロップ112のデータ入力ノードDへ供給される。スキャンフリップフロップ111のデータ出力ノードQは、内部に保持するデータを後段例えば、組み合わせ回路など:図示せずへ出力する。このとき、クロックドメイン101のホールド対応回路201からクロックドメイン102のスキャンフリップフロップ112へのパス第1パスは、異クロックドメイン間のユーザロジックパスである。スキャンフリップフロップ112のデータ出力ノードQから出力されるデータは、組み合わせ回路122を介してホールド対応回路202のデータ入力ノードDINに供給される。ホールド対応回路202のデータ出力ノードDOUTから出力されるデータは、後段例えば、組み合わせ回路など:図示せずへ供給されるとともに、組み合わせ回路121を介してスキャンフリップフロップ111のデータ入力ノードDに供給される。このとき、第2クロックドメインのホールド対応回路202からクロックドメイン101のスキャンフリップフロップ111へのパス第2パスは、上記第1パスとは逆方向の異クロックドメイン間のユーザロジックパスである。つまり、このスキャンテスト回路は、異クロックドメイン間のユーザロジックパス第1パス、第2パスの供給元に必ずホールド対応回路が配置されるように構成されている。なお、図3において、スキャンフリップフロップ111、112およびホールド対応回路201、202は、スキャンチェーンとして接続されているものとし、その接続の詳細は図示を省略する。図4に、本発明の実施の形態に係るホールド対応回路200の回路構成が示される。ホールド対応回路200は、図3に示されるスキャンテスト回路におけるホールド対応回路201、202に相当する。ホールド対応回路200は、図4に示されるように、スキャンフリップフロップ210と、ラッチ220とを具備し、入力ノードとしてデータ入力ノードDINと、スキャン入力ノードSINと、スキャンイネーブル入力ノードSEと、クロック入力ノードCLKと、ホールド制御入力ノードHLDとを備え、出力ノードとしてスキャン出力ノードSOUTと、データ出力ノードDOUTとを備える。ホールド対応回路200のデータ入力ノードDIN、スキャン入力ノードSIN、スキャンイネーブル入力ノードSE、クロック入力ノードCLKは、それぞれスキャンフリップフロップ210のデータ入力ノードD、スキャン入力ノードSIN、スキャンイネーブル入力ノードSE、クロック入力ノードCLKと共通である。スキャンフリップフロップ210のデータ出力ノードQは、ホールド対応回路200のスキャン出力ノードSOUTとなる。ラッチ220のデータ入力ノードDIは、スキャンフリップフロップ210のデータ出力ノードQに接続される。また、ラッチ220のラッチイネーブル入力ノードGは、ホールド対応回路200のホールド制御入力ノードHLDとなる。ラッチ220のデータ出力ノードDOは、ホールド対応回路200のデータ出力ノードDOUTとなる。スキャンフリップフロップ210は、データ出力ノードQから保持するデータをラッチ220へ供給するとともに、ホールド対応回路200のスキャン出力ノードSOUTから出力する。ラッチ220は、ホールド制御入力ノードHLDに印加されるラッチ信号に基づいて、保持データあるいは入力データをホールド対応回路200のデータ出力ノードDOUTから出力する。このとき、ホールド制御入力ノードHLDは、ホールド制御端子144から入力されるホールド制御信号HOLDにより駆動される。ホールド制御信号HOLDを制御することにより、ラッチ220は、データ入力ノードDIに印加される信号をデータ出力ノードDOに出力するスルー動作、または、データ入力ノードDIに印加される信号に依存せずにデータ出力値を保持する動作に切り替えることができる。次に、本発明の実施の形態に係るスキャンテスト回路の動作を説明する。通常動作時では、テストモード制御信号TMODEは、値0に設定される。セレクタ130は、入力されるクロック信号のうち、ノード0に入力されるクロック信号CLK2を選択して出力する。したがって、クロックドメイン101には、クロック入力端子141に印加されるクロック信号CLK1が供給される。また、クロックドメイン102には、クロック入力端子142に印加されるクロック信号CLK2が供給される。また、ホールド制御信号HOLDは、値0に設定され、ホールド対応回路201、202内では、ラッチ220がスキャンフリップフロップ210のデータ出力ノードQにあらわれる信号をそのまま出力する動作を行う。つまり、このときのホールド対応回路201、202は、スキャンフリップフロップ210とほぼ同じ動作を行う。スキャンテスト動作時では、テストモード制御信号TMODEは、値1に設定される。セレクタ130は、入力されるクロック信号のうち、ノード1に入力されるクロック信号CLK1を選択して出力する。したがって、クロックドメイン101とクロックドメイン102とに、共にクロック入力端子141から入力されるクロック信号CLK1が供給される。図5は、本発明の実施の形態に係るスキャンテスト回路の動作を示すタイミングチャートである。図3、図4を参照しながら、図5を用いてスキャンテスト動作の詳細について説明する。図5には、クロック入力端子141に印加されるクロックCLK1がクロックライン上の遅延の影響によって、スキャンフリップフロップ112に到達するよりも早くホールド対応回路201に到達する場合のタイムチャートが示される。ホールド対応回路201とスキャンフリップフロップ112との間のパス第1パスは、異クロックドメイン間のユーザロジックパスである。図5では、第1パスに対するスキャンテスト回路の動作が示される。第2パスのホールド対応回路202、および、スキャンフリップフロップ111の動作は同様であり、その説明は省略する。図5に示されるタイミングチャートは、aホールド対応回路201のスキャンイネーブル入力ノードSE、bクロック入力ノードCLK、cスキャン出力ノードSOUTスキャンフリップフロップ210のデータ出力ノードQ、dホールド制御入力ノードHLD、eデータ出力ノードDOUT、fスキャンフリップフロップ112のクロック入力ノードCLK、gスキャンフリップフロップ112のデータ出力ノードQにおける各信号の波形を示す。また、時刻T1までの期間はスキャンシフトサイクルであり、時刻T1から時刻T2までの期間はスキャンキャプチャサイクルであり、時刻T2以降の期間はスキャンシフトサイクルである。時刻T1までのスキャンシフトサイクルにおいて、データがスキャンチェーン内をシフトされて各スキャンフリップフロップに初期値が設定される。ホールド対応回路201内のスキャンフリップフロップ210には、データData1が設定され、スキャン出力ノードSOUTから出力される図5c。このとき、ホールド対応回路201のスキャンイネーブル入力ノードSEは、値1を示し図5a、ホールド制御入力ノードHLDは、値0を示している図5d。ホールド制御入力ノードHLDが値0に設定されているため、ホールド対応回路201内のラッチ220は、スキャンフリップフロップ210の出力データをそのまま出力する動作を行う。そのため、ホールド対応回路は、スキャンフリップフロップと同じ動作となる。その後、時刻T1から時刻T2までのスキャンテストのキャプチャサイクルに移行する。このとき、ホールド対応回路201のスキャンイネーブル入力ノードSEに印加される信号は、値1から値0に変化する図5a。また、ホールド制御入力ノードHLDに印加される信号は、値0から値1へ変化する図5d。キャプチャサイクルでは、ホールド制御入力ノードHLDが値1に設定されることにより、ホールド対応回路201内のラッチ220は、スキャンシフトサイクルの最後である時刻T1におけるスキャンフリップフロップ210の出力データをラッチして保持する。そのため、スキャンキャプチャサイクル期間中T1~T2、ホールド対応回路201のデータ出力ノードDOUTは、データData1に固定される図5e。また、ホールド対応回路201内のスキャンフリップフロップ210は、クロック入力ノードCLKに印加されるクロック信号の立ち上りに応答して、データData2をキャプチャする図5bc。したがって、スキャン出力ノードSOUTデータ出力ノードQから出力される信号は、データData1からデータData2へ変化する図5c。ホールド対応回路201内のラッチ220は、ホールド制御入力ノードHLDに値1が入力されているため図5d、データ出力ノードDOUTを変化させず、データData1の出力を継続する図5e。その後、スキャンフリップフロップ112は、遅れてクロック入力ノードCLKに印加されるクロック信号の立ち上がりに応答して、ホールド対応回路201から出力されるデータData1をキャプチャする図5fg。時刻T2において、スキャンフリップフロップへのキャプチャが完了し、スキャンシフトサイクル時刻T2以降に移行する。このとき、ホールド対応回路201のスキャンイネーブル入力ノードSEに印加される信号は、値0から値1に変化する図5a。ホールド制御入力ノードHLDに印加される信号は、値1から値0へ変化する図5d。ここで、スキャンテスト回路において、ホールド対応回路201が、例えばスキャンフリップフロップ111と同じ一般的なスキャンフリップフロップである場合、データ出力ノードDOUTに対応するデータ出力ノードQは、データData1を維持しない。すなわち、データ出力ノードDOUTに対応するデータ出力ノードQは、スキャンフリップフロップ210のデータ出力ノードQの変化と同様に変化してデータData2がキャプチャされることになり、誤動作するホールド違反。つまり、本実施の形態では、ホールド対応回路200201、202が異クロックドメイン間のユーザロジックパスの起点となっているため、誤動作ホールド違反することなくスキャンテストを行うことが可能となる。第1パスとは逆方向に信号が伝達する異クロックドメイン間のユーザロジックパス第2パスについても、パスの先頭がホールド対応回路であるため、第1パスと同様、ホールド違反が発生することはない。次に、本発明の実施の形態に係るスキャンテスト回路生成方法を説明する。図6は、本発明の実施の形態に係るスキャンテスト回路生成方法を示すフローチャートである。図8は、スキャンテスト回路生成の入力となる半導体集積回路の例を示す図であり、図6に示されるスキャンテスト回路生成方法により、図3に示されるスキャンテスト回路が生成される。図8に示されるように、元の半導体集積回路は、スキャンフリップフロップ111、112、601、602と、セレクタ130と、組み合わせ回路121、122、123と、クロック入力端子141、142と、テストモード制御端子143と、スキャン制御端子145とを具備する。スキャンフリップフロップ601は、図3に示されるホールド対応回路201に相当し、スキャンフリップフロップ602は、ホールド対応回路202に相当する。スキャンフリップフロップ601は、クロックドメイン101に属し、クロック入力端子141からクロック信号CLK1が供給される。また、スキャンフリップフロップ602は、クロックドメイン102に属し、クロック入力端子142からクロック信号CLK2が供給される。スキャンフリップフロップ601は、前段例えば、組み合わせ回路など:図示せずから出力されるデータをデータ入力ノードDから取り込んで保持する。スキャンフリップフロップ601のデータ出力ノードQから出力されるデータは、組み合わせ回路121を介してスキャンフリップフロップ111のデータ入力ノードDへ供給され、組み合わせ回路123を介してスキャンフリップフロップ112のデータ入力ノードDへ供給される。スキャンフリップフロップ602は、組み合わせ回路122から出力されるデータをデータ入力ノードDから取り込んで保持する。スキャンフリップフロップ602のデータ出力ノードQから出力されるデータは、組み合わせ回路121を介してスキャンフリップフロップ111のデータ入力ノードDへ供給される。スキャンフリップフロップ601、602に関する接続以外は、図3に示される回路と同じである。本発明のスキャンテスト回路生成方法では、まず、クロックドメインの抽出が行われるステップS402。図8に示される半導体集積回路では、クロックドメイン101とクロックドメイン102とが抽出される。クロックドメインが抽出されると、異クロックドメイン間のユーザロジックパスが抽出される。次に、スキャンフリップフロップ601Qから組み合わせ回路123を経由してスキャンフリップフロップ112Dに至るパス第1パスと、スキャンフリップフロップ602Qから組み合わせ回路121を経由してスキャンフリップフロップ111Dに至るパス第2パスが抽出される。それぞれの異クロックドメイン間のユーザロジックパスの起点となるスキャンフリップフロップのインスタンス名が抽出される。図8では、スキャンフリップフロップ601とスキャンフリップフロップ602とが抽出される。このような抽出処理は、市販のタイミング解析ツールなどを用いることにより実施できる。異クロックドメイン間ユーザロジックパスの起点となるスキャンフリップフロップが抽出されると、それらのスキャンフリップフロップは、ホールド対応回路に置き換えられるステップS404。図8では、スキャンフリップフロップ601がホールド対応回路201へ、スキャンフリップフロップ602がホールド対応回路202へ置換される。更に、ホールド制御端子144が作成され、ホールド対応回路201、202のホールド制御入力ノードHLDは、ホールド制御端子144に接続される。ホールド対応回路への置換が完了すると、回路上のスキャンフリップフロップをシリアル接続してシフトレジスタ構成のスキャンチェーンを構築するテスト設計が行われるステップS406。続いて、チップ上の回路の配置、配線、タイミング調整などを行うレイアウト処理が実行されステップS408、スキャンテスト回路生成は終了する。これらの処理は、通常のテスト設計ツール、レイアウトツールを用いて実施できる。このように、本実施の形態に係る半導体集積回路では、異クロックドメイン間ユーザロジックパスの起点となるスキャンフリップフロップは、ホールド対応回路に置き換えられる。そのため、スキャンテスト時、異クロックドメイン間ユーザロジックパスに対して、ホールドタイミング違反は発生しない。したがって、レイアウト処理ステップS408実施後に、スキャンテストにおける異クロックドメイン間ユーザロジックパスに起因するホールドタイミング違反を修正するためのレイアウト処理の繰り返しは、発生しない。本実施の形態では、ステップS402、ステップS404、ステップS406、ステップS408の順としているが、ステップS402とステップS404は、ステップS408の前であれば、どこで実施してもよい。また、ホールド対応回路200は、図4に示されるように構成されるとして説明されたが、これは一例であり、スキャンテストのキャプチャサイクル期間に、データ出力信号が保持できる回路構成であればよい。本実施の形態に係るスキャンテスト回路生成方法は、コンピュータシステムによって実現可能である。例えば、図9に示されるように、サーバ装置300と複数のコンピュータ装置306とを有するコンピュータシステムにおいて、上述のスキャンテスト回路生成方法を実施することができる。本発明の実施の形態に係るスキャンテスト回路生成方法を実施するためのコンピュータシステムは、例えば、サーバ装置300と、ネットワーク305と、コンピュータ装置306とを備える。サーバ装置300は、通信部301と、CPUCentralProcessingUnitを含む処理部302と、記憶部303と、入出力インターフェースである入出力部304とを具備する。コンピュータ装置306は、通信部307と、記憶部308と、CPUを含む処理部309と、入出力インターフェースである入出力部310とを具備する。ネットワーク305は、コンピュータ装置306とサーバ装置300とを接続する。ネットワーク305は、移動体通信網や、専用線網や、LANLocalAreaNetworkといった有線通信や無線通信を含めた各種のネットワーク、あるいはこれらのネットワークが相互に接続されたネットワークを適用可能である。また、ネットワークによる接続なしに、単独のコンピュータ装置で実現することも可能である。記憶部303は、本実施の形態におけるスキャンテスト回路生成方法を実現するための実行プログラムや、ネットリストデータ、セルライブラリ、スキャンインアウト端子情報、スキャンフリップフロップ情報といったデータを記憶する。記憶部303は、ハードディスクやRAMRandomAccessMemoryやROMReadOnlyMemory等の記憶装置を含む。処理部302は、記憶部303に記憶される実行プログラムを読み込んで実行し、サーバ装置300の機能を実現する。なお、各実行プログラムやデータは、サーバ装置300の管理者により、キーボードやマウス等の入力機器、LCDLiquidCrystalDisplay等の出力機器を含む入出力部304を介して外部から記憶部303へ格納されたり、表示されたりする。また、サーバ装置300は、通信部301によってネットワーク305を介して、コンピュータ装置306へ実行プログラムやデータを提供することが可能である。コンピュータ装置306は、本実施の形態におけるスキャンテスト回路生成方法を実現するための回路生成システムを実行する。コンピュータ装置306は、例えば、パーソナルコンピュータに例示される一般的な汎用コンピュータである。コンピュータ装置306は、通信部307を備え、ネットワーク305を介してサーバ装置300と通信が可能である。コンピュータ装置306は、ネットワーク305を介してサーバ装置300に接続し、スキャンテスト回路設計を実現するための実行プログラムやデータを取得し、記憶部308に記憶する。処理部309は、記憶部308に記憶される実行プログラムを読み込んで実行し、コンピュータ装置306の所定の機能を実現する。なお、コンピュータ装置306は、コンピュータ装置306の使用者との入出力インターフェースである入出力部310を備える。入出力部310は、キーボードやマウス等の入力機器、LCD等の出力機器を含む。コンピュータ装置306は、上述の構成により、サーバ装置300から実行プログラムを取得して実行し、スキャンテスト回路生成方法を実現する。ここで、本実施の形態におけるスキャンテスト回路設計の実行プログラムは、サーバ装置300の記憶部303に記憶される形態には限定されない。実行プログラムは、例えば、CDCompactDiskやフラッシュメモリを搭載したUSBUniversalSerialBusメモリといった持ち運び可能な記憶媒体に記録されてもよい。この場合、実行プログラムは、これらの持ち運び可能な記憶媒体から、コンピュータ装置306が備えるCDドライブやUSBポート等を介して導入される。本実施の形態では、異クロックドメイン間ユーザロジックパス第1パス、第2パスの起点となるスキャンフリップフロップ601、602は、レイアウト前の段階で、ホールド対応回路201、202に置き換えられる。ホールド対応回路201、202は、スキャンテストにおけるキャプチャサイクル期間中、データ出力信号を保持する動作を行う。そのため、スキャンテストの際に、異クロックドメイン間ユーザロジックパス第1パス、第2パスにおいて、ホールド違反は発生しない。そのため、異クロックドメイン間ユーザロジックパスのホールドタイミング違反により、適切なテストが出来ないという問題を解決することができる。このように、本発明によれば、スキャンテスト動作時、異クロックドメイン間のユーザロジックパスに対するホールド違反がなくなり、レイアウト処理を繰り返して実施することがなくなる。図7に、本発明の実施の形態に係るスキャンテスト回路生成方法の変形例を説明するためのフローチャートが示される。図6に示されるスキャンテスト回路生成方法に比べて、ステップS402、S404が削除され、代りにステップS502、S504が追加される。ステップS408の後に追加される判定するステップS509によって、ホールド違反を検出したときのみステップS502、S504が実行される。図6、図7に示されるスキャンテスト回路生成方法の差分を以下に説明する。テスト設計ステップS406、レイアウト処理ステップS408の後、レイアウト処理ステップS408で生成されるネットリストに対して、タイミング解析が実施される。スキャンテスト動作の異クロックドメイン間ユーザロジックパスにおいて、ホールド違反が検出されない場合ステップS509-YES、スキャンテスト回路生成を終了する。ホールド違反が検出される場合ステップS509-NO、ステップS502へ進む。タイミング解析処理は、市販のタイミング解析ツールを用いることで容易に実施できる。ここでは、例として、図8に示される第1パスにホールド違反が検出され、第2パスにはホールド違反が検出されていないものとする。スキャンテスト動作時のタイミング解析によって、ホールド違反が検出されるスキャンフリップフロップが抽出されるステップS502。本処理では、ホールド違反が検出されるパスの起点であるスキャンフリップフロップ601が抽出される。更に、半導体集積回路内のクロックドメインが抽出される。ここでは、半導体集積回路に2つのクロックドメイン、クロックドメイン101とクロックドメイン102とが抽出される。更に、異クロックドメイン間のユーザロジックパスが抽出される。ここでは、第1パスおよび第2パスが抽出される。更に、その異クロックドメイン間ユーザロジックパスの起点となるスキャンフリップフロップのインスタンス名が抽出される。ここでは、スキャンフリップフロップ601およびスキャンフリップフロップ602が抽出される。更に、これらの情報に基づいて、ホールド違反が検出される異クロックドメイン間ユーザロジックパスが抽出され、その起点となるスキャンフリップフロップのインスタンス名が抽出される。ここでは、スキャンフリップフロップ601が起点となるスキャンフリップフロップとして抽出される。抽出されたホールド違反が検出される異クロックドメイン間ユーザロジックパスの起点となるスキャンフリップフロップは、ホールド対応回路200に置き換えられるステップS504。ここでは、スキャンフリップフロップ601がホールド対応回路201に置き換えられる。更に、ホールド対応回路201のホールド制御入力ノードHLDは、ホールド制御端子144に接続される。このように、図6に示されるスキャンテスト回路生成方法では、異クロックドメイン間ユーザロジックパスの起点となるスキャンフリップフロップを抽出する工程ステップS402、および、パス起点のスキャンフリップフロップをホールド対応回路200に置き換える工程ステップS404は、レイアウト処理ステップS408の前に実施される。一方、図7に示されるスキャンテスト回路生成方法では、レイアウト処理ステップS408後に、スキャンテスト動作において異クロックドメイン間ユーザロジックパスのホールド違反があるか否かの確認工程ステップS509を備え、本工程でホールド違反が存在する場合に、ホールド違反が検出される異クロックドメイン間ユーザロジックパスの起点のスキャンフリップフロップの抽出を行いステップS502、抽出されるスキャンフリップフロップはホールド対応回路200に置き換えられるステップS504。すなわち、図7に示されるスキャンテスト回路生成方法では、ホールド違反がある異クロックドメイン間パスの起点のフロップフロップのみホールド対応回路200に置き換えられる。ホールド違反が検出されない異クロックドメイン間ユーザロジックパスの起点のフロップフロップはホールド対応回路200へ置き換えられないため、ホールド対応回路200の置き換えによる面積オーバーヘッドを削減することができる。以上、実施の形態を参照して本願発明を説明したが、上記実施の形態は、矛盾のない限り組み合わせて実施可能である。また、本願発明は上記実施の形態に限定されるものではなく、本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。