(57)【要約】【課題】通常モードでの動作及びスキャンテストモードでの動作のいずれにおいても適切なタイミングで動作する半導体集積回路を提供する。【解決手段】フリップフロップの基本回路３０と、実働クロックの入力とスキャンテスト用クロックの入力とを排他的に出力端子に接続するセレクタ回路３２とを含み、基本回路３０のクロック端子ＣＫｉｎにセレクタ回路３２の出力端子が接続されている回路を分割できない回路ブロック１０２として、回路ブロック１０２を組み合わせることによって半導体集積回路を構成する。【選択図】図１
2010027694.tif 000002
【特許請求の範囲】
【請求項１】
スキャンテストが可能な複数のフリップフロップを組み込んだ半導体集積回路であって、
フリップフロップの基本回路と、実働クロックの入力とスキャンテスト用クロックの入力とを排他的に出力端子に接続するセレクタ回路と、を含み、
前記基本回路のクロック端子に前記セレクタ回路の出力端子が接続されている回路を分割できない回路ブロックとして、前記回路ブロックを組み合わせることによって構成されていることを特徴とする半導体集積回路。
【請求項２】
請求項１に記載の半導体集積回路であって、
前記回路ブロックにおいて、前記基本回路のクロック端子と前記セレクタ回路の出力端子とが直接接続されていることを特徴とする半導体集積回路。
【請求項３】
半導体集積回路の設計装置であって、
スキャンテストが可能な複数のフリップフロップを組み込んだ設計対象回路を設計する際に、
フリップフロップの基本回路と、実働クロックの入力とスキャンテスト用クロックの入力とを排他的に出力端子に接続するセレクタ回路と、を含み、
前記基本回路のクロック端子に前記セレクタ回路の出力端子が接続されている回路を分割できない回路ブロックとして、前記回路ブロックを組み合わせることによって前記設計対象回路を構成することを特徴とする設計装置。
【請求項４】
半導体集積回路の設計プログラムであって、
スキャンテストが可能な複数のフリップフロップを組み込んだ設計対象回路を設計する際に、
フリップフロップの基本回路と、実働クロックの入力とスキャンテスト用クロックの入力とを排他的に出力端子に接続するセレクタ回路と、を含み、前記基本回路のクロック端子に前記セレクタ回路の出力端子が接続されている回路を分割できない回路ブロックとして、
前記回路ブロックを含む前記設計対象回路の配置の情報に応じて、前記回路ブロックを組み合わせることによって前記設計対象回路を構成する、
処理をコンピュータに実行させることを特徴とする設計プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路等の電気回路の動作テストとしてスキャンテストを行うことが可能な半導体集積回路並びにその設計装置及び設計プログラムに関する。
【背景技術】
【０００２】
半導体集積回路の動作テスト技術の１つとして、組合せ回路の中のパス上に複数のフリップフロップ（ＦＦ）を組み込んだ回路を用いるスキャンテストの技術が知られている。スキャンテストにおけるテストモードは、シフトモードとキャプチャモードとに分けられる。
【０００３】
具体的には、図３に示すように、半導体集積回路を構成する単位回路１０（例えば、加算器、減算器等の電気回路の構成単位の回路）間にＦＦ１２を挿入する。このとき、図３に示すように、入力側のＦＦ１２の非反転出力が単位回路１０の入力端子へ入力され、単位回路１０の出力が出力側のＦＦ１２の入力端子へ入力されるように接続するキャプチャモードと、入力側のＦＦ１２の非反転出力が出力側のＦＦ１２の入力端子へ直接入力されるように接続するシフトモードとが切り替えられるように回路を構成する。各ＦＦは、通常モードでは組合せ回路の中の対応する信号をラッチするために用いられる。
【０００４】
キャプチャモードでは、各単位回路１０の出力が出力側のＦＦ１２にラッチされる。シフトモードでは、複数のＦＦが１つのスキャンチェーン（シフトレジスタ）を構成するように互いに縦続接続される。シフトモードでは、キャプチャモードにおいて各ＦＦ１２に取り込まれた出力が半導体集積回路の外部から供給されるクロックによって次段のＦＦ１２へ順次転送され、１ビットずつシリアルにスキャンチェーンから出力される。この出力を半導体集積回路の外部で測定することによって、各単位回路１０の出力が正しいか否かを判定する。つまり、各単位回路１０の動作が正しいか否かを判定することができる。
【０００５】
また、特許文献１には、クロック信号が伝達される方向と反対の方向にスキャンデータが流れるようにスキャンチェーンを接続することにより、スキャンテストデータに対してクロック信号の遷移速度を速くし、折り返し部の抵抗をクロック信号伝達経路における抵抗よりも大きくすることで折り返し部のデータ伝送を遅延させてホールド違反を回避する技術が開示されている。
【０００６】
【特許文献１】特開２００４−３０１６６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、このようなスキャンテストが可能な半導体集積回路を設計する際に、図４に示すフリップフロップの基本回路１４のクロック端子ＣＫｉｎに、通常モードにおいて半導体集積回路を動作させるためのシステムクロックＣＫと、スキャンテストにおいてスキャンチェーンを動作させるためのテスト用クロックＴＣＫと、を切り替えて入力する必要がある。そこで、切り替え信号Ｓに応じてシステムクロックＣＫとテスト用クロックＴＣＫとを排他的に切り替えて出力するセレクタ回路１６をクロック端子ＣＫｉｎに接続した構成を組み合わせて半導体集積回路を設計する。
【０００８】
また、スキャンテストの際に、スキャンチェーンを構成するフリップフロップの基本回路１４のクロック端子ＣＫｉｎに対して同一の位相でクロックが供給されるように、テスト用クロックＴＣＫの生成回路（図示しない）から各フリップフロップの基本回路１４のクロック端子ＣＫｉｎまでの配線長に応じた遅延回路を挿入しておく必要がある。従来の半導体集積回路の設計装置には、スキャンチェーンを構成した場合にクロック端子ＣＫｉｎに対して同一の位相でクロックが供給されるように遅延回路の挿入を自動的に行う自動レイアウト機能が設けられている。
【０００９】
しかしながら、自動レイアウト機能を用いて遅延回路の挿入を行った場合、図５に示すように、フリップフロップの基本回路１４のクロック端子ＣＫｉｎとセレクタ回路１６との間に遅延回路１８が自動挿入されてしまう場合がある。その結果、通常モードにおいてフリップフロップの基本回路１４にシステムクロックＣＫを入力する際にも遅延回路１８を介してシステムクロックＣＫがクロック端子ＣＫｉｎに入力されることになり、通常モードにおいて動作のタイミングに影響が及び、半導体集積回路全体として誤動作を生ずる可能性がある。
【課題を解決するための手段】
【００１０】
本発明の１つの態様は、スキャンテストが可能な複数のフリップフロップを組み込んだ半導体集積回路であって、フリップフロップの基本回路と、実働クロックの入力とスキャンテスト用クロックの入力とを排他的に出力端子に接続するセレクタ回路と、を含み、前記基本回路のクロック端子に前記セレクタ回路の出力端子が接続されている回路を分割できない回路ブロックとして、前記回路ブロックを組み合わせることによって構成されていることを特徴とする。
【００１１】
このような半導体集積回路は、半導体集積回路の設計装置であって、スキャンテストが可能な複数のフリップフロップを組み込んだ設計対象回路を設計する際に、フリップフロップの基本回路と、実働クロックの入力とスキャンテスト用クロックの入力とを排他的に出力端子に接続するセレクタ回路と、を含み、前記基本回路のクロック端子に前記セレクタ回路の出力端子が接続されている回路を分割できない回路ブロックとして、前記回路ブロックを組み合わせることによって前記設計対象回路を構成することを特徴とする設計装置により設計することができる。
【００１２】
また、このような設計装置は、半導体集積回路の設計プログラムであって、スキャンテストが可能な複数のフリップフロップを組み込んだ設計対象回路を設計する際に、フリップフロップの基本回路と、実働クロックの入力とスキャンテスト用クロックの入力とを排他的に出力端子に接続するセレクタ回路と、を含み、前記基本回路のクロック端子に前記セレクタ回路の出力端子が接続されている回路を分割できない回路ブロックとして、前記回路ブロックを含む前記設計対象回路の配置の情報に応じて、前記回路ブロックを組み合わせることによって前記設計対象回路を構成する、処理をコンピュータに実行させることを特徴とする設計プログラムにより実現することができる。
【００１３】
ここで、前記回路ブロックにおいて、前記基本回路のクロック端子と前記セレクタ回路の出力端子とが直接接続されていることが好適である。
【００１４】
例えば、前記設計対象回路の自動レイアウト処理を行う際に、前記回路ブロックに含まれる前記基本回路のクロック端子と前記セレクタ回路の出力端子との間への素子の挿入を禁止することが好適である。
【発明の効果】
【００１５】
本発明によれば、通常モードでの動作及びスキャンテストモードでの動作のいずれにおいても適切なタイミングで動作する半導体集積回路を自動レイアウト機能を用いて実現できる。
【発明を実施するための最良の形態】
【００１６】
本発明の実施の形態における半導体集積回路は、図１に示すように、フリップフロップの基本回路３０と、実働クロックＳｃｋの入力とスキャンテスト用クロックＳｔｃｋの入力とを排他的に出力端子に接続するセレクタ回路３２と、を含み、基本回路３０のクロック端子ＣＫｉｎにセレクタ回路３２の出力端子が接続されている回路を分割できない回路ブロック１０２として、回路ブロック１０２を組み合わせることによって構成される。
【００１７】
回路ブロック１０２に含まれる基本回路３０は、データ入力端子Ｄ、テスト入力端子ＴＩ、テストイネーブル端子ＴＥ、出力端子Ｑ、スキャン出力端子ＳＱ及びクロック端子ＣＫｉｎを備えるＤ型フリップフロップである。基本回路３０は、テストイネーブル端子ＴＥがローレベルの場合、クロック端子ＣＫｉｎに入力されるクロックがローレベルからハイレベルになるタイミングでデータ入力端子Ｄに入力されている信号をラッチして出力端子Ｑに出力する。一方、基本回路３０は、テストイネーブル端子ＴＥがハイレベルの場合、クロック端子ＣＫｉｎに入力されるクロックがローレベルからハイレベルになるタイミングでテスト入力端子ＴＩに入力されている信号をラッチしてスキャン出力端子ＳＱから出力する。
【００１８】
また、回路ブロック１０２に含まれるセレクタ回路３２は、切替端子Ｓに入力される切り替え信号Ｓｓがハイレベルの場合にはクロック入力端子ＣＫに入力される実働クロックＳｃｋの入力を選択して出力端子ＯＵＴに出力し、切り替え信号Ｓｓがローレベルの場合にはスキャンテスト用クロック入力端子ＴＣＫに入力されるスキャンテスト用クロックＳｔｃｋの入力を選択して出力端子ＯＵＴに出力する。セレクタ回路３２の出力端子ＯＵＴは、基本回路３０のクロック端子ＣＫｉｎに直接接続される。
【００１９】
なお、本実施の形態では基本回路３０をＤ型フリップフロップとした例に説明したがこれに限定されるものではなく、他のタイプのフリップフロップで構成してもよい。
【００２０】
スキャンモードで動作・故障診断が可能な半導体集積回路１００は、図２に示すように、複数の回路ブロック１０２を含んで構成される。半導体集積回路１００は、図２の例に限定されるものではないが、８つの回路ブロック１０２ａ〜１０２ｈ、所定の論理演算機能を含む組み合わせ回路１０４、ＪＴＡＧ（Ｊｏｉｎｔ  Ｔｅｓｔ  Ａｃｔｉｏｎ  Ｇｒｏｕｐ）回路３４及びクロックバッファ３６，３８を含んで構成される。
【００２１】
組み合わせ回路１０４は、単独で機能する回路であってもよいし、前段の回路から入力信号を受けて、内部回路により入力信号に所定の処理を施し、後段の回路へと出力する回路であってもよい。
【００２２】
ＪＴＡＧ（Ｊｏｉｎｔ  Ｔｅｓｔ  Ａｃｔｉｏｎ  Ｇｒｏｕｐ）回路３４は、実働クロック入力端子ＣＫｉｎ、実働クロック出力端子ＣＫｏｕｔ、テストクロック入力端子ＴＣＫｉｎ、テストクロック出力端子ＴＣＫｏｕｔ、テストモードセレクト入力端子ＴＥｉｎ、テストモードセレクト出力端子ＴＥｏｕｔ、テストデータ入力端子ＴＤ、テストデータ出力端子ＴＩｏｕｔ、テストデータ回収端子ＴＩｉｎ及び切替信号出力端子Ｓｏｕｔを備える。ＪＴＡＧ回路３４は、半導体集積回路１００の通常モードでの動作及びスキャンテストモードでの動作を制御する。ＪＴＡＧ回路３４は、各種入力信号を受けて、実働クロック出力端子ＣＫｏｕｔから通常動作時の実働クロックＳｃｋ、テストクロック出力端子ＴＣＫｏｕｔからテストクロック信号Ｓｔｃｋ、テストデータ出力端子ＴＩｏｕｔからテストデータＳｔｉ、テストモードセレクト出力端子ＴＥｏｕｔからテストイネーブル信号Ｓｔｅ、切替信号出力端子Ｓｏｕｔから切り替え信号Ｓｓを出力する。
【００２３】
回路ブロック１０２ａ〜１０２ｄは、組み合わせ回路１０４の入力端子側に配置される。回路ブロック１０２ａ〜１０２ｄのデータ入力端子Ｄは、それぞれ入力端子ＩＮａ，ＩＮｂ，ＩＮｃ，ＩＮｄに接続される。また、回路ブロック１０２ａ〜１０２ｄの出力端子Ｑは、それぞれ組み合わせ回路１０４の入力端子１０４ａ〜１０４ｄに接続される。
【００２４】
一方、回路ブロック１０２ｅ〜１０２ｈは、組み合わせ回路１０４の出力端子側に配置される。回路ブロック１０２ｅ〜１０２ｈのデータ入力端子Ｄは、それぞれ組み合わせ回路１０４の出力端子１０４ｅ〜１０４ｈに接続される。また、回路ブロック１０２ａ〜１０２ｄの出力端子Ｑは、それぞれ出力端子ＯＵＴａ，ＯＵＴｂ，ＯＵＴｃ，ＯＵＴｄに接続される。
【００２５】
また、回路ブロック１０２ａのテスト入力端子ＴＩはＪＴＡＧ回路３４のテストデータ出力端子ＴＩｏｕｔに接続される。また、回路ブロック１０２ｂのテスト入力端子ＴＩは回路ブロック１０２ａのスキャン出力端子ＳＱに接続される。同様に、回路ブロック１０２ｃのテスト入力端子ＴＩは回路ブロック１０２ｂのスキャン出力端子ＳＱに接続され、以下、回路ブロック１０２ｄ〜１０２ｈが順に直列に接続され、スキャンモードにおいてスキャンチェーンが構成可能とされる。回路ブロック１０２ｈのスキャン出力端子ＳＱはＪＴＡＧ回路３４のテストデータ回収端子ＴＩｉｎに接続される。
【００２６】
また、回路ブロック１０２ａ〜１０２ｈのテストイネーブル端子ＴＥには、ＪＴＡＧ回路３４のテストモードセレクト出力端子ＴＥｏｕｔに接続される。ＪＴＡＧ回路３４のテストモードセレクト出力端子ＴＥｏｕｔには、ＪＴＡＧ回路３４のテストモードセレクト入力端子ＴＥｉｎから入力されたモード選択信号に応じて、半導体集積回路１００を通常動作モード又はスキャンモードに切り替えるテストイネーブル信号Ｓｔｅが出力される。
【００２７】
ＪＴＡＧ回路３４の実働クロック出力端子ＣＫｏｕｔには、実働クロック入力端子ＣＫｉｎに入力された実働クロックＳｃｋが出力される。また、ＪＴＡＧ回路３４のテストクロック出力端子ＴＣＫｏｕｔには、テストクロック入力端子ＴＣＫｉｎに入力されたスキャンテスト用クロックＳｔｃｋが出力される。ただし、スキャンテスト用クロックＳｔｃｋは、ＪＴＡＧ回路３４の内部に分周回路等を設けて実働クロックＳｃｋから生成するものとしてもよい。
【００２８】
回路ブロック１０２ａ〜１０２ｈのクロック入力端子ＣＫには実働クロックＳｃｋが入力される。実働クロックＳｃｋは、タイミングを図るために適宜クロックバッファ３６を介して入力してもよい。また、回路ブロック１０２ａ〜１０２ｈのスキャンテスト用クロック入力端子ＴＣＫにはスキャンテスト用クロックＳｔｃｋが入力される。スキャンテスト用クロックＳｔｃｋは、タイミングを図るために適宜クロックバッファ３８を介して入力してもよい。
【００２９】
また、ＪＴＡＧ回路３４のテストモードセレクト入力端子ＴＥｉｎから入力されたモード選択信号に応じて、半導体集積回路１００を通常動作モードで使用する場合とスキャンモードで使用する場合に応じて切替信号出力端子Ｓｏｕｔから出力される切り替え信号Ｓｓが制御され、回路ブロック１０２ａ〜１０２ｈのセレクタ回路３２において実働クロックＳｃｋ又はスキャンテスト用クロックＳｔｃｋが排他的に選択される。
【００３０】
＜通常動作モード＞
以下、半導体集積回路１００を通常の動作モードで動作させる場合について説明する。ＪＴＡＧ回路３４のテストモードセレクト入力端子ＴＥｉｎに通常動作モードとする信号が入力された場合、回路ブロック１０２ａ〜１０２ｈのテストイネーブル端子ＴＥにはローレベルのテストイネーブル信号Ｓｔｅを入力する。これにより、回路ブロック１０２ａ〜１０２ｈのデータ入力端子Ｄがアクティブとなり、組み合わせ回路１０４の入力端子１０４ａ〜１０４ｄは、それぞれ回路ブロック１０２ａ〜１０２ｄを介して入力端子ＩＮａ〜ＩＮｄに接続される。また、組み合わせ回路１０４の出力端子１０４ｅ〜１０４ｈは、それぞれ回路ブロック１０２ｅ〜１０２ｈを介して出力端子ＯＵＴａ〜ＯＵＴｄに接続される。
【００３１】
さらに、回路ブロック１０２ａ〜１０２ｈのセレクタ回路３２の切替端子Ｓにはハイレベルの切り替え信号Ｓｓが入力される。これにより、回路ブロック１０２ａ〜１０２ｈのセレクタ回路３２では実働クロックＳｃｋが選択され、実働クロックＳｃｋにより回路ブロック１０２ａ〜１０２ｈの基本回路３０が駆動されることになる。
【００３２】
すなわち、実働クロックＳｃｋがローレベルからハイレベルに変化するタイミングに応じて、入力端子ＩＮａ〜ＩＮｄに入力されているデータが、それぞれ回路ブロック１０２ａ〜１０２ｄの基本回路３０にラッチされ、組み合わせ回路１０４の入力端子１０４ａ〜１０４ｄに入力される。組み合わせ回路１０４は、実働クロックＳｃｋが次にローレベルからハイレベルに変化するタイミングに応じて、入力端子１０４ａ〜１０４ｄから入力されている信号に対して所定の処理を施し、出力端子１０４ｅ〜１０４ｈから出力する。回路ブロック１０２ｅ〜１０２ｈは、実働クロックＳｃｋが次にローレベルからハイレベルに変化するタイミングに応じて、出力端子１０４ｅ〜１０４ｈから出力された信号を基本回路３０にラッチし、出力端子ＯＵＴａ〜ＯＵＴｄに出力する。
【００３３】
このようにして、通常動作モードにおける半導体集積回路１００による処理が行われる。
【００３４】
＜スキャンテストモード＞
次に、半導体集積回路１００をスキャンテストモードで動作させる場合について説明する。
【００３５】
ＪＴＡＧ回路３４のテストモードセレクト入力端子ＴＥｉｎに通常動作モードとする信号が入力された場合、まず、回路ブロック１０２ａ〜１０２ｈのテストイネーブル端子ＴＥに対してハイレベルのテストイネーブル信号Ｓｔｅを入力する。これにより、回路ブロック１０２ａ〜１０２ｈのテスト入力端子ＴＩがアクティブとなり、回路ブロック１０２ａ〜１０２ｄが直列に接続されたスキャンチェーンが形成される。
【００３６】
さらに、回路ブロック１０２ａ〜１０２ｈのセレクタ回路３２の切替端子Ｓにはローレベルの切り替え信号Ｓｓが入力される。これにより、回路ブロック１０２ａ〜１０２ｈのセレクタ回路３２ではスキャンテスト用クロックＳｔｃｋが選択され、スキャンテスト用クロックＳｔｃｋにより回路ブロック１０２ａ〜１０２ｈの基本回路３０が駆動される。
【００３７】
回路ブロック１０２ａのテスト入力端子ＴＩには、ＪＴＡＧ回路３４のテストデータ出力端子ＴＩｏｕｔからテスト用データが入力される。回路ブロック１０２ａは、スキャンテスト用クロックＳｔｃｋがローレベルからハイレベルに立ち上がるタイミングに応じて、テストデータ出力端子ＴＩｏｕｔから入力されるデータをラッチし、回路ブロック１０２ａのスキャン出力端子ＳＱから回路ブロック１０２ｂのテスト入力端子ＴＩへ出力する。回路ブロック１０２ｂは、スキャンテスト用クロックＳｔｃｋがローレベルからハイレベルに立ち上がるタイミングに応じて、回路ブロック１０２ａのスキャン出力端子ＳＱから入力されるデータをラッチし、回路ブロック１０２ｂのスキャン出力端子ＳＱから回路ブロック１０２ｃのテスト入力端子ＴＩへ出力する。同様に、スキャンテスト用クロックＳｔｃｋがローレベルからハイレベルに立ち上がるタイミングで、回路ブロック１０２ａから回路ブロック１０２ｄへ向けてデータが順にシフトされる。
【００３８】
このように回路ブロック１０２ａ〜１０２ｄの基本回路３０にスキャンテスト用のデータをセットする。次に、回路ブロック１０２ａ〜１０２ｈのテストイネーブル端子ＴＥにローレベルのテストイネーブル信号Ｓｔｅを入力する。これにより、回路ブロック１０２ａ〜１０２ｈのデータ入力端子Ｄがアクティブとなり、組み合わせ回路１０４の出力端子１０４ｅ〜１０４ｈは、それぞれ回路ブロック１０２ｅ〜１０２ｈを介して出力端子ＯＵＴａ〜ＯＵＴｄに接続される。
【００３９】
このとき、回路ブロック１０２ａ〜１０２ｄの出力端子Ｑからは、セットしたスキャン用のデータが出力される。組み合わせ回路１０４は、出力端子Ｑから出力されているデータを入力端子１０４ａ〜１０４ｄから受けて、それらのデータに対して所定の処理を施して出力端子１０４ｅ〜１０４ｈから出力する。回路ブロック１０２ｅ〜１０２ｈは、スキャンテスト用クロックＳｔｃｋがローレベルからハイレベルに変化するタイミングに応じて、出力端子１０４ｅ〜１０４ｈから出力された信号を基本回路３０にラッチし、出力端子ＯＵＴａ〜ＯＵＴｄに出力する。
【００４０】
次に、回路ブロック１０２ａ〜１０２ｈのテストイネーブル端子ＴＥにハイレベルのテストイネーブル信号Ｓｔｅを入力する。これにより、回路ブロック１０２ａ〜１０２ｈのテスト入力端子ＴＩがアクティブとなり、回路ブロック１０２ａ〜１０２ｈが直列に接続されたスキャンチェーンが再び形成される。
【００４１】
回路ブロック１０２ａ〜１０２ｈは、スキャンテスト用クロックＳｔｃｋがローレベルからハイレベルに立ち上がるタイミングに応じて、回路ブロック１０２ａから回路ブロック１０２ｈへ向けてデータを順にシフトする。回路ブロック１０２ｈのスキャン出力端子ＳＱから出力されたデータは、ＪＴＡＧ回路３４のテストデータ回収端子ＴＩｉｎに入力される。
【００４２】
ＪＴＡＧ回路３４は、回路ブロック１０２ｈのスキャン出力端子ＳＱから出力されるデータを順に受けて、回路ブロック１０２ａ〜１０２ｄにセットしたデータに対して正しい処理結果が得られているか否かを判定する。このようにして、半導体集積回路１００の動作が正しく行われているか否かをテストすることができる。
【００４３】
このような半導体集積回路１００を構成する場合、スキャンテストの際に、スキャンチェーンを構成する回路ブロック１０２ａ〜１０２ｈの基本回路３０のクロック端子ＣＫｉｎに対して同じタイミングでスキャンテスト用クロックＳｔｃｋが供給されるように、各回路ブロック１０２ａ〜１０２ｈの基本回路３０のクロック端子ＣＫｉｎまでの配線長に応じた遅延回路を挿入する必要がある場合がある。
【００４４】
本実施の形態のように、フリップフロップの基本回路３０とセレクタ回路３２とを分割できない回路ブロック１０２として扱うことによって、自動レイアウト機能を用いて遅延回路の挿入を行った場合であっても、基本回路３０のクロック端子ＣＫｉｎとセレクタ回路３２との間に遅延回路が自動挿入されてしまうことがなくなり、スキャンチェーンを構成する際に挿入した遅延回路によって実働クロックＳｃｋが影響を受けることを回避することができ、通常の動作モードにおける動作のタイミングに影響を及ぼすことがなくなる。したがって、通常モードでの動作及びスキャンテストモードでの動作のいずれにおいても適切なタイミングで動作する半導体集積回路を実現できる。
【００４５】
なお、本発明の適用範囲は本実施の形態の態様に限定されるものでなく、フリップフロップの基本回路３０とセレクタ回路３２とを分割できない回路ブロック１０２として扱うことによって他の半導体集積回路に対しても同様に適用することができる。
【図面の簡単な説明】
【００４６】
【図１】本発明の実施の形態における回路ブロックの構成を示す図である。
【図２】本発明の実施の形態における半導体集積回路の構成例を示す図である。
【図３】従来の半導体集積回路の構成例を示す図である。
【図４】従来のフリップフロップとセレクタ回路との接続を示す図である。
【図５】従来のフリップフロップとセレクタ回路との接続を示す図である。
【符号の説明】
【００４７】
１０  単位回路、１４  基本回路、１６  セレクタ回路、１８  遅延回路、３０  基本回路、３２  セレクタ回路、３４  ＪＴＡＧ回路、３６，３８  クロックバッファ、１００  半導体集積回路、１０２（１０２ａ〜１０２ｈ）  回路ブロック、１０４  組み合わせ回路。
【図１】
2010027694.tif 000003
【図２】
2010027694.tif 000004
【図３】
2010027694.tif 000005
【図４】
2010027694.tif 000006
【図５】
2010027694.tif 000007