IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ シナプティクス インコーポレイテッドの特許一覧

特許7169044半導体集積回路、その設計方法、プログラム及び記憶媒体
<>
  • 特許-半導体集積回路、その設計方法、プログラム及び記憶媒体 図1
  • 特許-半導体集積回路、その設計方法、プログラム及び記憶媒体 図2
  • 特許-半導体集積回路、その設計方法、プログラム及び記憶媒体 図3
  • 特許-半導体集積回路、その設計方法、プログラム及び記憶媒体 図4
  • 特許-半導体集積回路、その設計方法、プログラム及び記憶媒体 図5
  • 特許-半導体集積回路、その設計方法、プログラム及び記憶媒体 図6
  • 特許-半導体集積回路、その設計方法、プログラム及び記憶媒体 図7
  • 特許-半導体集積回路、その設計方法、プログラム及び記憶媒体 図8
  • 特許-半導体集積回路、その設計方法、プログラム及び記憶媒体 図9
  • 特許-半導体集積回路、その設計方法、プログラム及び記憶媒体 図10
  • 特許-半導体集積回路、その設計方法、プログラム及び記憶媒体 図11
  • 特許-半導体集積回路、その設計方法、プログラム及び記憶媒体 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-01
(45)【発行日】2022-11-10
(54)【発明の名称】半導体集積回路、その設計方法、プログラム及び記憶媒体
(51)【国際特許分類】
   G06F 30/333 20200101AFI20221102BHJP
   G01R 31/28 20060101ALI20221102BHJP
【FI】
G06F30/333
G01R31/28 G
G01R31/28 V
【請求項の数】 14
(21)【出願番号】P 2018031360
(22)【出願日】2018-02-23
(65)【公開番号】P2019145048
(43)【公開日】2019-08-29
【審査請求日】2021-02-16
(73)【特許権者】
【識別番号】502161508
【氏名又は名称】シナプティクス インコーポレイテッド
(74)【代理人】
【識別番号】100205350
【弁理士】
【氏名又は名称】狩野 芳正
(74)【代理人】
【識別番号】100117617
【弁理士】
【氏名又は名称】中尾 圭策
(72)【発明者】
【氏名】中湖 貴久
【審査官】松浦 功
(56)【参考文献】
【文献】米国特許第08700962(US,B1)
【文献】特開2013-224917(JP,A)
【文献】特開2014-224725(JP,A)
【文献】特開2017-062222(JP,A)
【文献】特開2008-224238(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/30 -30/398
G01R 31/28 -31/3193
(57)【特許請求の範囲】
【請求項1】
第1スキャン入力と第1データ入力と第1選択入力と第1出力とを有し、前記第1選択入力で第1信号が受信されたことに応じて前記第1スキャン入力に対応する値を前記第1出力に出力し、前記第1選択入力で第2信号が受信されたことに応じて前記第1データ入力に対応する値を前記第1出力に出力するように構成された第1スキャンフリップフロップと、
第2スキャン入力と第2データ入力と第2選択入力と第2出力とを有し、前記第2スキャン入力が前記第1出力に接続され、前記第2データ入力が不定値を受け取るように構成され第2スキャンフリップフロップと、
第1の種類のスキャンテストについては前記第1信号が前記第2選択入力で受信され、第2の種類のスキャンテストについては前記第2信号が前記第2選択入力で受信されるように構成されたセレクタ
とを備え、
前記第2スキャンフリップフロップが、前記第1信号が前記第2選択入力で受信されたことに応じて前記第2スキャン入力に対応する値を前記第2出力に出力するように構成され、
前記第2出力に出力される値が前記第1出力に出力される値に対応している
半導体集積回路。
【請求項2】
更に、
複数のスキャンフリップフロップをそれぞれ含む複数のスキャンチェーンと、
圧縮テストデータを展開して前記複数のスキャンチェーンに供給するテストデータを生成する展開回路部と、
前記複数のスキャンチェーンから出力される出力応答に基づいて圧縮テスト結果データを生成する圧縮回路部
とを備え、
前記第1及び前記第2スキャンフリップフロップが、前記複数のスキャンチェーンのうちの一つの一部分である
請求項1に記載の半導体集積回路。
【請求項3】
スキャンテストの種類に対応する値を出力するように構成されたフリップフロップを更に備え、
前記セレクタが、更に、前記スキャンテストの種類に対応する、前記出力された値を受け取るように構成された
請求項に記載の半導体集積回路。
【請求項4】
前記第1の種類のスキャンテストがACスキャンに対応し、前記第2の種類のスキャンテストがDCスキャンに対応するか、
前記第1の種類のスキャンテストがDCスキャンに対応し、前記第2の種類のスキャンテストがACスキャンに対応する
請求項に記載の半導体集積回路。
【請求項5】
第3スキャン入力、第3データ入力、第3選択入力及び第3出力を備え、前記第3データ入力が、不定である確率が0%より大きく100%より小さい値を受け取るように構成され、前記第3選択入力で前記第1信号が受信されたことに応じて前記第3スキャン入力に対応する値を前記第3出力に出力し、前記第3選択入力で前記第2信号が受信されたことに応じて前記第3データ入力に対応する値を前記第3出力に出力するように構成された第3スキャンフリップフロップと、
前記第1信号又は前記第2信号が前記第3選択入力で選択的に受信されるようにするセレクタと、
を備える請求項1に記載の半導体集積回路。
【請求項6】
スキャン入力とデータ入力とスキャンイネーブル端子とを有するスキャンフリップフロップと、
キャプチャモードにおいて、前記スキャンフリップフロップが前記スキャン入力に入力された値をキャプチャするように前記スキャンフリップフロップを制御するように構成されたスキャン制御回路部
とを備え、
前記スキャンフリップフロップを制御することは、前記スキャンフリップフロップの前記スキャンイネーブル端子にスキャンテストの種類に応じて第1信号又は第2信号を選択的に供給することを含む、
半導体集積回路。
【請求項7】
コンピュータが導体集積回路のネットリストを生成することと、
前記ネットリストに基づいて前記半導体集積回路を製造することと
を含み、
前記ネットリストを生成することが、
少なくとも一のスキャンフリップフロップを、前記少なくとも一のスキャンフリップフロップがデータ入力を介して不定値をキャプチャする確率に基づいて抽出することと、
前記抽出した少なくとも一のスキャンフリップフロップがキャプチャモードにおいてスキャン入力に入力された値をキャプチャ可能とするようにスキャン制御回路を前記ネットリストに挿入することと、
を含み、
前記スキャン制御回路が、前記抽出した少なくとも一のスキャンフリップフロップのスキャンイネーブル端子にスキャンテストの種類に応じて第1信号又は第2信号を選択的に供給するように構成された
半導体集積回路の設計方法。
【請求項8】
前記ネットリストを生成することが、スキャンテストが行われるときにアサートされる制御信号を前記抽出した少なくとも一のスキャンフリップフロップのスキャンイネーブル端子に供給するように前記ネットリストを生成することを含む
請求項7に記載の半導体集積回路の設計方法。
【請求項9】
前記ネットリストを生成することが、前記抽出した少なくとも一のスキャンフリップフロップのスキャンイネーブル端子に、前記半導体集積回路の外部から供給される御信号に応じて前記第1信号又は第2信号を選択的に供給するように前記ネットリストを生成することを含む
請求項に記載の半導体集積回路の設計方法。
【請求項10】
前記ネットリストを生成することは、
前記抽出した少なくとも一のスキャンフリップフロップを含むスキャンチェーンを含む複数のスキャンチェーンと、圧縮テストデータを展開して前記複数のスキャンチェーンに供給するテストデータを生成する展開回路部と、前記複数のスキャンチェーンから出力される出力応答に基づいて圧縮テスト結果データを生成する圧縮回路部とを挿入すること
を含む
請求項7に記載の半導体集積回路の設計方法。
【請求項11】
コンピュータが半導体集積回路のネットリストを生成することと、
前記ネットリストに基づいて前記半導体集積回路を製造することと
を含み、
前記ネットリストを生成することが、
データ入力を介して不定値をキャプチャするように構成された少なくとも一のスキャンフリップフロップを抽出することと、
前記抽出した少なくとも一のスキャンフリップフロップがキャプチャモードにおいてスキャン入力に入力された値をキャプチャ可能とするようにスキャン制御回路を前記ネットリストに挿入することと、
を含み、
前記スキャン制御回路が、前記抽出した少なくとも一のスキャンフリップフロップのスキャンイネーブル端子にスキャンテストの種類に応じて第1信号又は第2信号を選択的に供給するように構成された
半導体集積回路の設計方法。
【請求項12】
導体集積回路のネットリストを生成することと、
前記半導体集積回路を製造するためのデータを出力することと、
を、コンピュータに実行させ、
前記ネットリストを生成することが、
少なくとも一のスキャンフリップフロップを、前記少なくとも一のスキャンフリップフロップがデータ入力を介して不定値をキャプチャする確率に基づいて抽出することと、
前記抽出した少なくとも一のスキャンフリップフロップがキャプチャモードにおいてスキャン入力に入力された値をキャプチャ可能とするようにスキャン制御回路を前記ネットリストに挿入することと、
を含み、
前記スキャン制御回路が、前記抽出した少なくとも一のスキャンフリップフロップのスキャンイネーブル端子にスキャンテストの種類に応じて第1信号又は第2信号を選択的に供給するように構成された
プログラム。
【請求項13】
前記ネットリストを生成することは、前記ネットリストを、スキャンテストが行われるときにアサートされる制御信号を前記抽出した少なくとも一のスキャンフリップフロップのスキャンイネーブル端子に供給するように前記ネットリストを生成することを含む
請求項12に記載のプログラム。
【請求項14】
半導体集積回路のネットリストを生成することと、
前記半導体集積回路を製造するためのデータを出力することと、
を、コンピュータに実行させ、
前記ネットリストを生成することが、
データ入力を介して不定値をキャプチャするように構成された少なくとも一のスキャンフリップフロップを抽出することと、
前記抽出した少なくとも一のスキャンフリップフロップがキャプチャモードにおいてスキャン入力に入力された値をキャプチャ可能とするようにスキャン制御回路を前記ネットリストに挿入することと、
を含み、
前記スキャン制御回路が、前記抽出した少なくとも一のスキャンフリップフロップのスキャンイネーブル端子にスキャンテストの種類に応じて第1信号又は第2信号を選択的に供給するように構成された
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体集積回路、及びその設計技術に関する。
【背景技術】
【0002】
スキャンテストは、テスト容易化設計技術の一つとして用いられる。スキャンテストに対応した半導体集積回路には、スキャンフリップフロップが直列に接続されたスキャンチェーンが集積化される。テストが行われる場合、テストデータがテスト対象の回路の入力に接続されたスキャンフリップフロップに設定され、テスト対象の回路が動作される。更に、テスト対象の回路の出力に接続されたスキャンフリップフロップから出力応答が取り出され、取り出された出力応答に基づいて半導体集積回路の故障検出が行われる。
【0003】
回路の大規模化に伴うテスト時間の増加に対応するために、圧縮スキャンと呼ばれる手法が導入され得る。圧縮スキャンとは、圧縮テストデータを展開回路で展開して複数のスキャンチェーンのそれぞれにテストデータを供給すると共に、該複数のスキャンチェーンから出力される出力応答を圧縮して半導体集積回路の外部に出力する技術である。テスタでは、圧縮された出力応答に基づいて半導体集積回路の故障検出が行われる。圧縮スキャンによれば、各スキャンチェーンの長さを短くすることができるので、テスト時間を短縮することができる。
【0004】
スキャンフリップフロップが不定値をキャプチャする場合には、該スキャンフリップフロップから得られる出力応答に基づく故障検出ができなくなり、故障検出率の低下及び/又はテストパタン数の増加を招くことがある。
【発明の概要】
【0005】
一の実施形態では、半導体集積回路が、回路の出力に接続されたデータ入力を有するスキャンフリップフロップと、キャプチャモードにおいて、該スキャンフリップフロップがスキャン入力に入力されたデータをキャプチャするように該スキャンフリップフロップを制御可能に構成されたスキャン制御回路部とを備えている。
【0006】
他の実施形態では、半導体集積回路の設計方法が、コンピュータが、少なくとも一のスキャンフリップフロップが、キャプチャモードにおいて、スキャン入力に入力された値をキャプチャ可能であるように、前記スキャンフリップフロップを含む半導体集積回路のネットリストを生成することを含む。
【0007】
他の実施形態では、プログラムが、少なくとも一のスキャンフリップフロップが、キャプチャモードにおいて、スキャン入力に入力された値をキャプチャ可能であるように、前記スキャンフリップフロップを含む半導体集積回路のネットリストを生成するステップをコンピュータに実行させる。
【図面の簡単な説明】
【0008】
図1】一実施形態の半導体集積回路の構成を示すブロック図である。
図2】一実施形態の半導体集積回路の構成を示す回路図である。
図3】参考例の半導体集積回路の構成を示す回路図である。
図4】一実施形態において行われるACスキャンを示す回路図である。
図5】参考例において行われるACスキャンを示す回路図である。
図6】一実施形態の半導体集積回路の構成を示す回路図である。
図7】一実施形態の半導体集積回路の構成を示す回路図である。
図8】一実施形態の半導体集積回路の構成を示す回路図である。
図9】一実施形態の半導体集積回路の構成を示す回路図である。
図10】一実施形態の半導体集積回路の構成を示す回路図である。
図11】一実施形態における集積回路設計装置の構成を示すブロック図である。
図12】一実施形態における半導体集積回路の設計手順を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、添付図面を参照しながら、本開示の実施形態を説明する。
【0010】
図1に示す一実施形態では、半導体集積回路100が、展開回路11と、スキャンチェーン12~12と、圧縮回路13とを備えている。
【0011】
展開回路11は、スキャンイン端子14に供給された圧縮テストデータを展開してテストデータを生成し、生成したテストデータをスキャンチェーン12~12のそれぞれに供給する。
【0012】
スキャンチェーン12~12は、それぞれ、直列に接続されたスキャンフリップフロップSFFを備えている。本実施形態では、スキャンチェーン12がスキャンフリップフロップSFF11~SFF14を備えており、スキャンチェーン12がスキャンフリップフロップSFF21~SFF24を備えている。同様に、スキャンチェーン12がスキャンフリップフロップSFF31~SFF34を備えており、スキャンチェーン12がスキャンフリップフロップSFF41~SFF44を備えている。なお、スキャンチェーン12の数及び各スキャンチェーン12に含まれるスキャンフリップフロップの数は、半導体集積回路100の構成に合わせて適宜に変更され得る。
【0013】
圧縮回路13は、スキャンチェーン12~12から出力される出力応答を圧縮して圧縮テスト結果データを生成し、圧縮テスト結果データをスキャンアウト端子15から出力する。圧縮テスト結果データは、例えば、半導体集積回路100の外部のテスタに供給され、該テスタにより半導体集積回路100の故障検出が行われる。
【0014】
本実施形態では、圧縮回路13は、XOR回路13a~13cを備えており、スキャンチェーン12~12のそれぞれから出力される出力応答の排他的論理和を圧縮テスト結果データとして出力する。例えば、スキャンフリップフロップSFF14、SFF24、SFF34、SFF44に格納された出力応答が、それぞれ、“1”、“0”、“0”、“1”である場合、圧縮回路13から出力される圧縮テスト結果データの該出力応答に対応するビットは、“0”である。同様に、スキャンフリップフロップSFF13、SFF23、SFF33、SFF43に格納された出力応答が、それぞれ、“1”、“1”、“0”、“1”である場合、圧縮回路13から出力される圧縮テスト結果データの該出力応答に対応するビットは、“1”である。
【0015】
図2に示すように、各スキャンフリップフロップSFFは、データ入力DATA、スキャン入力SIN、スキャンイネーブル端子SE、クロック端子CLK及びデータ出力Qを有している。図2には、スキャンチェーン12のスキャンフリップフロップSFF21~24のみが図示されているが、他のスキャンフリップフロップSFFも同様に構成されている。
【0016】
各スキャンフリップフロップSFFのデータ入力DATAは、スキャンテストにおいて出力値をキャプチャすべき回路の出力に接続される。図2の構成では、スキャンフリップフロップSFF21、SFF22、SFF23及びSFF24が、それぞれ、テスト対象の回路#1、回路#2、回路#3及び回路#4に接続されている。
【0017】
スキャン入力SINは、スキャンチェーンの他のスキャンフリップフロップのデータ出力Q又は展開回路に接続される。図2の構成では、スキャンフリップフロップSFF21のスキャン入力SINが、展開回路11に接続され、スキャンフリップフロップSFF22、SFF23及びSFF24のスキャン入力SINが、それぞれ、スキャンフリップフロップSFF21、SFF22及びSFF23のデータ出力Qに接続されている。
【0018】
クロック端子CLKには、クロック信号(図示されない)が供給される。各スキャンフリップフロップSFFは、クロック端子CLKに入力されたクロック信号に同期してデータ入力DATA又はスキャン入力SINの入力値をキャプチャするように構成される。
【0019】
各スキャンフリップフロップSFFは、スキャンイネーブル端子SEの値に応じて、データ入力DATAとスキャン入力SINを選択し、選択した入力に入力された値をキャプチャするように構成される。スキャンイネーブル端子SEがディスイネーブルにされると(一実施形態では、“0”に設定されると)、各スキャンフリップフロップSFFは、データ入力DATAの入力値をキャプチャする。一方、スキャンイネーブル端子SEがイネーブルにされると(一実施形態では“1”に設定されると)、各スキャンフリップフロップSFFは、スキャン入力SINの入力値をキャプチャする。各スキャンフリップフロップSFFがキャプチャした値は、データ出力Qから出力される。
【0020】
本実施形態では、半導体集積回路100が、スキャンテストにおいて設定される動作モードとして、シフトモードとキャプチャモードとを有している。シフトモードとは、スキャンチェーンをシフトレジスタとして動作させ、シフト動作によって各スキャンフリップフロップSFFへの所望の値の設定、及び、キャプチャモードでキャプチャした値の読み出しを行う動作モードである。キャプチャモードとは、スキャンチェーンがそのスキャンフリップフロップSFFのデータ入力に接続された回路から値をキャプチャする動作モードである。ただし、後述されるように、本実施形態では、全てのスキャンフリップフロップSFFがデータ入力に接続された回路から値をキャプチャするとは限らない。本実施形態では、少なくとも一のスキャンフリップフロップSFFが、キャプチャモードにおいてスキャン入力SINから値をキャプチャ可能であるように構成される。
【0021】
本実施形態の半導体集積回路100は、キャプチャモードに設定されたときに、スキャンフリップフロップSFFの少なくとも一つがスキャン入力SINを選択可能であるように構成されている。他のスキャンフリップフロップSFFは、半導体集積回路100がキャプチャモードに設定されたときに、データ入力を選択する。
【0022】
詳細には、本実施形態では、各スキャンフリップフロップSFFのスキャンイネーブル端子SEに、スキャンイネーブル信号SCAN_EN又はスキャンモード信号SCAN_MODEのいずれかがスキャン制御回路部16から供給される。ここで、スキャンイネーブル信号SCAN_ENは、スキャンテストにおいて半導体集積回路100がシフトモードに設定されたときにアサートされ(一実施形態では、“1”に設定され)、キャプチャモードに設定されたときにディアサートされる(一実施形態では、“0”に設定される)信号である。また、スキャンモード信号SCAN_MODEは、半導体集積回路100をスキャンモードに設定するための信号であり、半導体集積回路100のスキャンテストが行われる間、常にアサートされる。
【0023】
スキャンイネーブル端子SEにスキャンイネーブル信号SCAN_ENが供給されるスキャンフリップフロップSFFは、半導体集積回路100がキャプチャモードに設定された場合に、データ入力DATAを選択する。このようなスキャンフリップフロップSFFは、キャプチャモードにおいて、データ入力DATAへの入力値をキャプチャすることになる。
【0024】
一方、スキャンイネーブル端子SEにスキャンモード信号SCAN_MODEが供給されるスキャンフリップフロップSFFは、半導体集積回路100がキャプチャモードに設定された場合でも、スキャン入力SINを選択する。このようなスキャンフリップフロップSFFは、キャプチャモードにおいて、スキャン入力SINへの入力値をキャプチャすることになる。
【0025】
スキャン制御回路部16は、所望のスキャンフリップフロップSFFにスキャンモード信号SCAN_MODEを供給すると共に、残りのスキャンフリップフロップSFFにスキャンイネーブル信号SCAN_ENを供給するように構成されている。本実施形態では、スキャン制御回路部16は、スキャンイネーブル信号線16aとスキャンモード信号線16bとを備えている。スキャンイネーブル信号線16aは、スキャンイネーブル信号SCAN_ENの供給に用いられ、スキャンモード信号線16bは、スキャンモード信号SCAN_MODEの供給に用いられる。一実施形態では、スキャンモード信号SCAN_MODEは、半導体集積回路100に集積化されたレジスタ(図示されない)によって生成され、スキャンモード信号線16bに供給される。
【0026】
各スキャンフリップフロップSFFのスキャンイネーブル端子SEにスキャンイネーブル信号SCAN_EN又はスキャンモード信号SCAN_MODEのいずれが供給されるかは、データ入力DATAに接続される回路の特性に応じて選択される。
【0027】
具体的には、半導体集積回路100のスキャンテストにおいて、データ入力DATAに接続された回路から確定した値(“1”又は“0”)をキャプチャするスキャンフリップフロップSFFについては、スキャンイネーブル端子SEにスキャンイネーブル信号SCAN_ENが供給される。
【0028】
一方、一の設定について、データ入力DATAに接続された回路から不定値(X)をキャプチャするスキャンフリップフロップSFFについては、スキャンイネーブル端子SEにスキャンイネーブル信号SCAN_ENが供給される。スキャンフリップフロップSFFがデータ入力DATAに接続された回路から不定値をキャプチャする例としては、例えば、下記が挙げられる。
【0029】
第1の例は、データ入力DATAに接続された回路が、ブラックボックスとして扱われるマクロである場合である。
【0030】
第2の例は、スキャンテストにおける設定により、キャプチャモード時に当該スキャンフリップフロップSFFが不定値をキャプチャするように設定される場合である。
【0031】
第3の例は、スキャンフリップフロップSFFのデータ入力DATAが、スキャンチェーンに属していないフリップフロップのデータ出力に接続されている場合である。ただし、テストパタンが、順序回路のテストが可能であるように生成される場合、例えば、テストパタンの生成にシーケンシャルATPG(automatic test pattern generation)が用いられる場合には、データ入力DATAにスキャンチェーンに属していないフリップフロップが接続されていても、キャプチャする値が確定できる場合もある。
【0032】
第4の例は、データ入力DATAへのパスが、フォールスパス又はマルチサイクルパスとして指定されている場合である。
【0033】
図2の構成では、スキャンテスト時に、スキャンフリップフロップSFF23が、特定の設定について回路#3から不定値をキャプチャする。これに対応して、スキャンフリップフロップSFF23のスキャンイネーブル端子SEにスキャンモード信号SCAN_MODEが入力される。以下において、あるスキャンフリップフロップSFFが不定値をキャプチャする場合、該不定値を“X”と表記することがある。図2の回路#3に付された記号“X”は、一の設定についてスキャンフリップフロップSFF23が回路#3から不定値をキャプチャすることを示している。一方、スキャンフリップフロップSFF21、SFF22、SFF24のスキャンイネーブル端子SEにはスキャンイネーブル信号SCAN_ENが入力される。
【0034】
一実施形態では、図1図2に示された構成の半導体集積回路100のスキャンテストが、下記のようにして行われる。まず、DCスキャンを行う場合の半導体集積回路100の動作を説明する。DCスキャンとは、縮退故障を検出するために行われる低速のスキャンテストである。
【0035】
スキャンモード信号SCAN_MODEをアサートすることにより半導体集積回路100がスキャンモードに設定される。
【0036】
更に、スキャンイネーブル信号SCAN_ENをアサートすることにより半導体集積回路100がシフトモードに設定され、スキャンシフト動作が行われる。これにより、各スキャンフリップフロップSFFはスキャン入力SINを選択する状態に設定され、スキャン入力SINを介して各スキャンフリップフロップSFFにテストデータが設定される。ただし、図2には、テスト対象の回路#1~#4の入力に接続されて回路#1~#4にテストデータを供給するスキャンフリップフロップや外部入力端子は図示されていない。
【0037】
続いて、スキャンイネーブル信号SCAN_ENをディアサートすることにより半導体集積回路100がキャプチャモードに設定される。この状態では、スキャンフリップフロップSFF21、SFF22、SFF24は、スキャンイネーブル端子SEにスキャンイネーブル信号SCAN_ENが入力されているので、データ入力DATAを選択する。一方で、スキャンフリップフロップSFF23は、スキャンイネーブル端子SEにスキャンモード信号SCAN_MODEが供給されているので、スキャン入力SINを選択する。
【0038】
続いて、各スキャンフリップフロップSFFのクロック端子CLKにクロックパルスが供給され、各スキャンフリップフロップSFFは、キャプチャ動作を行う。スキャンフリップフロップSFF21、SFF22、SFF24は、それぞれ、回路#1、#2、#4の出力値をキャプチャする。一方、スキャンフリップフロップSFF23は、スキャンフリップフロップSFF22の出力値をキャプチャする。
【0039】
このような動作によれば、回路#3が不定値を出力する場合でも、圧縮回路13から出力される圧縮テスト結果データの値の期待値が確定できる。
【0040】
図3に示すように、スキャンフリップフロップSFF23のスキャンイネーブル端子SEにスキャンイネーブル信号SCAN_ENが供給される構成では、スキャンフリップフロップSFF23が不定値をキャプチャすることになる。このため、スキャンフリップフロップSFF13、SFF23、SFF33、SFF43から出力される出力応答を圧縮して得られる圧縮テスト結果データの値の期待値が確定できない。よって、スキャンフリップフロップSFF23のデータ入力DATAに接続されている回路#3の故障検出ができない上に、スキャンフリップフロップSFF13、SFF33、SFF43のデータ入力に接続されている回路の故障検出もできない。これは、故障検出率を低下させ、及び/又はテストパタン数を増加させ得る。
【0041】
一方、図2に示す本実施形態の構成では、キャプチャモードにおいて、スキャンフリップフロップSFF23がスキャンフリップフロップSFF22から既知の値(“1”又は“0”)をキャプチャする。このような動作では、スキャンフリップフロップSFF13、SFF23、SFF33、SFF43に格納された出力応答を圧縮して生成される圧縮テスト結果データの値の期待値が確定できる。よって、スキャンフリップフロップSFF13、SFF33、SFF43のデータ入力に接続されている回路の故障検出を行うことができる。これは、故障検出率の向上とテストパタン数の低減に有効である。
【0042】
本実施形態の半導体集積回路100の構成は、2クロック以上のキャプチャクロックを印加するスキャンテストにおける、スキャンフリップフロップSFF22のデータ出力Qに接続された回路の故障検出にも有効である。このようなスキャンテストの例としては、シーケンシャルATPGを用いたDCスキャン及びACスキャンが挙げられる。ここで、ACスキャンとは、遅延故障の検出を行うための実速度のスキャンテストである。
【0043】
例えば、本実施形態の半導体集積回路100の構成は、図4に示すように、スキャンフリップフロップSFF23のデータ出力Qに接続されている回路17の遅延故障を、ACスキャンによって検出可能にするために有効である。回路17の出力にはスキャンフリップフロップSFF51が接続され、回路17の遅延故障は、スキャンフリップフロップSFF51がキャプチャした値に基づいて検出される。
【0044】
回路17が、全体として、入力信号を反転した出力信号を出力するように構成されており、且つ、回路17の出力の立ち下がりが遅れる故障を検出する場合、シフトモードにおけるシフト動作により、スキャンフリップフロップSFF23に値“0”が設定され、スキャンフリップフロップSFF22に値“1”が設定される。
【0045】
その後、スキャンイネーブル信号SCAN_ENがディアサートされ、半導体集積回路100がキャプチャモードに設定される。このとき、スキャンフリップフロップSFF23のスキャンイネーブル端子SEにはスキャンモード信号SCAN_MODEが供給されているから、スキャンフリップフロップSFF23は、スキャン入力SINを選択する。
【0046】
更に、各スキャンフリップフロップSFFのクロック端子CLKに2つのクロックパルスが供給され、各スキャンフリップフロップSFFは、キャプチャ動作を行う。スキャンフリップフロップSFF23は、第1のクロックパルスに同期してスキャンフリップフロップSFF22の出力値をキャプチャし、キャプチャした値を回路17に出力する。その後、第2のクロックパルスに同期して、スキャンフリップフロップSFF51が、回路17の出力値をキャプチャする。このような動作によれば、スキャンフリップフロップSFF23の出力値は、確定的に“0”から“1”に遷移する。よって、スキャンフリップフロップSFF51がキャプチャする値に基づいて、回路17の出力の立ち下がりが遅れる故障を検出することができる。例えば、スキャンフリップフロップSFF51がキャプチャする値が“1”のままで変化しなければ、回路17は、出力の立ち下がりが遅れる故障を有しているものと判断できる。
【0047】
本実施形態の半導体集積回路100の構成の有用性は、図5に示した構成との対比からも理解され得る。図5に示すように、スキャンフリップフロップSFF23のスキャンイネーブル端子SEにスキャンイネーブル信号SCAN_ENが供給されている場合には、スキャンフリップフロップSFF23が回路#3から不定値をキャプチャする。よって、スキャンフリップフロップSFF23の出力値が不定となる。よって、回路17の遅延故障をACスキャンによって検出することができない。
【0048】
なお、不定値を出力する回路がデータ入力DATAに接続されたスキャンフリップフロップSFFのスキャンイネーブル端子SEに供給される信号は、半導体集積回路100がスキャンモードに設定されるときにアサートされる信号であればよく、スキャンモード信号SCAN_MODEに限られない。例えば、図6に示すように、スキャンモードにおいて値“1”に設定されるフリップフロップFF11がスキャン制御回路部16に用意され、フリップフロップFF11のデータ出力Qから出力される出力信号が、スキャンフリップフロップSFFのスキャンイネーブル端子SEに供給されてもよい。
【0049】
図7に示す一実施形態では、スキャンモードにおいて複数の種類のスキャンテストが行われ、半導体集積回路100Aが、スキャンテストの種類に応じて、各スキャンフリップフロップSFFのスキャンイネーブル端子SEに供給される信号が、スキャンイネーブル信号SCAN_ENとスキャンモード信号SCAN_MODEから選択されるように構成される。具体的には、本実施形態では、スキャンモードにおいてDCスキャンとACスキャンとが行われる。データ入力に接続される回路の特性に加え、DCスキャンとACスキャンのいずれが行われるかに応じて各スキャンフリップフロップSFFのスキャンイネーブル端子SEに供給される信号が選択される。
【0050】
本実施形態では、半導体集積回路100Aが、各スキャンフリップフロップSFFのスキャンイネーブル端子SEに、スキャンイネーブル信号SCAN_EN又はスキャンモード信号SCAN_MODEのいずれかを供給するスキャン制御回路部26を備えている。
【0051】
スキャン制御回路部26は、スキャンイネーブル信号線26aとスキャンモード信号線26bとセレクタ26cとを備えている。スキャンイネーブル信号線26aは、スキャンイネーブル信号SCAN_ENを供給し、スキャンモード信号線26bは、スキャンモード信号SCAN_MODEを供給する。セレクタ26cは、スキャンイネーブル信号SCAN_EN、スキャンモード信号SCAN_MODEのいずれかを選択し、選択した信号を出力する。
【0052】
本実施形態では、セレクタ26cにACスキャンモード信号AC_SCANが供給され、セレクタ26cは、ACスキャンモード信号AC_SCANに応じてスキャンイネーブル信号SCAN_EN、スキャンモード信号SCAN_MODEのいずれかを選択する。ACスキャンモード信号AC_SCANは、ACスキャン、DCスキャンのいずれが行われるかを指定する信号であり、ACスキャンが行われる場合にアサートされ、DCスキャンが行われる場合にディアサートされる。
【0053】
本実施形態では、回路#2は、その出力値が、DCスキャンとACスキャンのいずれが行われる場合についても不定値であるように構成されている。これに対応して、スキャン制御回路部26は、回路#2にデータ入力DATAが接続されているスキャンフリップフロップSFF22のスキャンイネーブル端子SEにスキャンモード信号SCAN_MODEを供給する。
【0054】
また、回路#3は、その出力値が、ACスキャンが行われる場合に不定値であるように構成されている。DCスキャンの際には、出力値が“0”又は“1”のいずれかに確定する。これに対応して、スキャン制御回路部26は、回路#3にデータ入力DATAが接続されているスキャンフリップフロップSFF23のスキャンイネーブル端子SEに、セレクタ26cによりACスキャンモード信号AC_SCANに応じて選択された信号を供給する。ACスキャンが行われる場合、ACスキャンモード信号AC_SCANがアサートされ、セレクタ26cは、スキャンモード信号SCAN_MODEをスキャンフリップフロップSFF23のスキャンイネーブル端子SEに供給する。DCスキャンが行われる場合、ACスキャンモード信号AC_SCANがディアサートされ、セレクタ26cは、スキャンイネーブル信号SCAN_ENをスキャンフリップフロップSFF23のスキャンイネーブル端子SEに供給する。
【0055】
回路#1、#4にデータ入力DATAが接続されているスキャンフリップフロップSFF21、SFF24のスキャンイネーブル端子SEには、スキャンイネーブル信号SCAN_ENが供給される。
【0056】
図7の半導体集積回路100Aの構成では、スキャンテストの種類に応じて、各スキャンフリップフロップSFFのスキャンイネーブル端子SEに供給される信号を適切に選択可能である。
【0057】
なお、スキャンフリップフロップSFF23のスキャンイネーブル端子SEに供給される信号の選択に用いられる信号は、ACスキャンモード信号AC_SCANに限られない。スキャンテストの種類に応じて任意の選択信号が生成され、スキャンフリップフロップSFF23のスキャンイネーブル端子SEに供給される信号が、当該選択信号に応じてスキャンイネーブル信号SCAN_ENとスキャンモード信号SCAN_MODEとのうちから選択されてもよい。この場合、当該選択信号がセレクタ26cに供給され、セレクタ26cが、当該選択信号に応じてスキャンフリップフロップSFF23のスキャンイネーブル端子SEに供給される信号を、スキャンイネーブル信号SCAN_ENとスキャンモード信号SCAN_MODEとのうちから選択してもよい。
【0058】
例えば、図8に示すように、スキャンテストの種類に応じた値に設定されるフリップフロップFF12がスキャン制御回路部26に用意され、フリップフロップFF12のデータ出力Qから出力される出力信号が、セレクタ26cに供給されてもよい。この場合、セレクタ26cは、フリップフロップFF12から受け取った該出力信号に応じてスキャンイネーブル信号SCAN_ENとスキャンモード信号SCAN_MODEのいずれかを選択し、選択した信号をスキャンフリップフロップSFF23のスキャンイネーブル端子SEに供給する。一実施形態では、ACスキャンが行われる場合にフリップフロップFF12に値“1”が設定され、フリップフロップFF12のデータ出力Qから出力される出力信号がアサートされる。セレクタ26cは、スキャンモード信号SCAN_MODEをスキャンフリップフロップSFF23のスキャンイネーブル端子SEに供給する。一方、DCスキャンが行われる場合にはフリップフロップFF12に値“0”が設定され、フリップフロップFF12のデータ出力Qから出力される出力信号がディアサートされる。セレクタ26cは、スキャンイネーブル信号SCAN_ENをスキャンフリップフロップSFF23のスキャンイネーブル端子SEに供給する。
【0059】
図9に示す一実施形態では、少なくとも一のスキャンフリップフロップSFFのスキャンイネーブル端子SEに供給される信号を制御するSE制御信号SE_CTRLが半導体集積回路100Bの外部から供給される。該スキャンフリップフロップSFFのスキャンイネーブル端子SEには、スキャンイネーブル信号SCAN_ENとスキャンモード信号SCAN_MODEのうちからSE制御信号SE_CTRLに応じて選択された信号が供給される。
【0060】
このような構成は、データ入力DATAからキャプチャする値が不定値であり得るが不定値である確率が100%未満であるようなスキャンフリップフロップSFFが存在する場合に有用である。半導体集積回路100Bの構成や動作によっては、あるスキャンフリップフロップSFFがデータ入力DATAからキャプチャする値が不定値であり得るが、100%の確率で不定値であるとは特定できない場合がある。データ入力DATAからキャプチャする値が不定値である確率が100%未満であるスキャンフリップフロップSFFのスキャンイネーブル端子SEに、スキャンイネーブル信号SCAN_ENとスキャンモード信号SCAN_MODEのうちからSE制御信号SE_CTRLに応じて選択された信号を供給する構成は、故障検出率の向上及びテストパタン数の低減に有効である。
【0061】
例えば、図9の構成では、スキャンフリップフロップSFF22が回路#2からキャプチャする値が100%の確率で不定値である一方で、スキャンフリップフロップSFF23が回路#3からキャプチャする値が不定値である確率は、0%より大きいが、100%未満である。スキャンフリップフロップSFF22のスキャンイネーブル端子SEには、スキャンモード信号SCAN_MODEが供給される。一方、スキャンフリップフロップSFF23のスキャンイネーブル端子SEには、スキャンイネーブル信号SCAN_ENとスキャンモード信号SCAN_MODEのうちからSE制御信号SE_CTRLに応じて選択された信号が供給される。本実施形態では、スキャン制御回路部26のセレクタ26cにSE制御信号SE_CTRLが供給される。セレクタ26cは、SE制御信号SE_CTRLに応じてスキャンイネーブル信号SCAN_EN、スキャンモード信号SCAN_MODEのいずれかを選択し、選択した信号をスキャンフリップフロップSFF23のスキャンイネーブル端子SEに供給する。
【0062】
SE制御信号SE_CTRLのアサート/ディアサートは、故障検出率が向上するように適宜に選択される。一実施形態では、SE制御信号SE_CTRLのアサート/ディアサートが半導体集積回路100Bのテストに用いられるATPGツールによって判断されてもよい。他の実施形態では、SE制御信号SE_CTRLがアサートされるテストパタンとディアサートされるテストパタンの両方が作成され、作成された両テストパタンがスキャンテストに用いられてもよい。
【0063】
図10に示すように、SE制御信号SE_CTRLを半導体集積回路100Bの外部から供給する代わりに、外部から値を設定可能なスキャンフリップフロップSFF61がスキャン制御回路部26に設けられ、スキャンフリップフロップSFF61のデータ出力Qから出力される出力信号がSE制御信号SE_CTRLとしてセレクタ26cに供給されてもよい。スキャンフリップフロップSFF61は、適宜のスキャンチェーンに組み込まれる。スキャンテストが行われる場合、シフトモードにおけるシフト動作により、所望の値がスキャンフリップフロップSFF61に設定される。
【0064】
スキャンテストにおいては、スキャンフリップフロップSFF61に設定された値に応じてSE制御信号SE_CTRLがアサート又はディアサートされる。セレクタ26cは、SE制御信号SE_CTRLに応じてスキャンイネーブル信号SCAN_ENとスキャンモード信号SCAN_MODEのいずれかを選択する。
【0065】
一実施形態では、半導体集積回路100、100A、100Bは、図11に図示されている集積回路設計装置40によって設計されてもよい。集積回路設計装置40は、記憶装置41と、プロセッサ42と、入出力装置43とを備えるコンピュータとして構成される。
【0066】
記憶装置41には、圧縮スキャン挿入ツール41a及びパタン生成ツール41bがインストールされる。記憶装置41は、圧縮スキャン挿入ツール41a及びパタン生成ツール41bを記憶する非一時的記憶媒体(non-transitory tangible storage medium)として用いられる。圧縮スキャン挿入ツール41a及びパタン生成ツール41bは、いずれも、半導体集積回路100、100A、100Bの設計に用いられるソフトウェアプログラムである。圧縮スキャン挿入ツール41a及びパタン生成ツール41bは、コンピュータプログラム製品(computer program product)として、適宜のコンピュータ読み取り可能記憶媒体(computer-readable storage medium)44に記憶されて、又は、サーバからダウンロードされて提供されてもよい。加えて、記憶装置41には、半導体集積回路100、100A、100Bの設計において使用され、又は生成されるデータが格納される。
【0067】
プロセッサ42は、圧縮スキャン挿入ツール41a及びパタン生成ツール41bを実行する。一実施形態では、CPU(central processing unit)がプロセッサ42として使用され得る。
【0068】
入出力装置43は、半導体集積回路100、100A、100Bの設計に用いられるデータを外部から受け取り、又は、集積回路設計装置40によって生成された設計データ、例えば、ネットリスト及びパタンデータを外部に出力する。
【0069】
一実施形態では、半導体集積回路100、100A、100Bが、集積回路設計装置40を用いて、図12に示す設計手順で設計されてもよい。
【0070】
この設計手順では、まず、半導体集積回路100、100A、100Bのネットリスト31が用意される。ネットリスト31は、半導体集積回路100、100A、100Bに含まれる回路素子及びその接続関係を記述している。一実施形態では、ネットリスト31の生成の際にスキャンフリップフロップへのマッピングが行われてもよい。この場合、ネットリスト31にスキャンフリップフロップが記述されている。ただし、ネットリスト31に記述されている半導体集積回路100、100A、100Bの構成では、展開回路11、スキャンチェーン12、圧縮回路13及びスキャン制御回路部16、26が含まれていない。ネットリスト31は、記憶装置41に格納されてもよい。
【0071】
ステップS01では、ネットリスト31に対して、展開回路11、スキャンチェーン12及び圧縮回路13を挿入する処理が行われる。ステップS01の挿入処理は、プロセッサ42が圧縮スキャン挿入ツール41aを実行することによって行われ、展開回路11、スキャンチェーン12及び圧縮回路13を挿入されたネットリストは、記憶装置41に格納される。
【0072】
詳細には、ステップS01の挿入処理では、まず、ネットリスト31、ライブラリ33及びスキャン設定ファイル34が読み込まれる。ネットリスト31、ライブラリ33及びスキャン設定ファイル34は、記憶装置41に格納されてもよい。スキャン設定ファイル34は、半導体集積回路100、100A、100Bに対して行われるスキャンテストの設定を記述している。
【0073】
更に、ライブラリ33及びスキャン設定ファイル34を参照しながら、スキャンチェーン12、展開回路11及び圧縮回路13が挿入される。ネットリスト31に(スキャンフリップフロップフロップではなく)通常のフリップフロップが記述されている場合、スキャンチェーン12の挿入において、ネットリスト31に記述されているフリップフロップの少なくとも一部が、スキャンフリップフロップに置換されるようにネットリスト31が修正されてもよい。更に、該スキャンフリップフロップが直列に接続されてスキャンチェーン12が構成されるようにネットリスト31の記述が修正される。図1の半導体集積回路100の例では、スキャンフリップフロップSFF11~SFF14が直列に接続されてスキャンチェーン12が構成され、スキャンフリップフロップSFF21~SFF24が直列に接続されてスキャンチェーン12が構成され、スキャンフリップフロップSFF31~SFF34が直列に接続されてスキャンチェーン12が構成され、スキャンフリップフロップSFF41~SFF44が直列に接続されてスキャンチェーン12が構成されるようにネットリスト31が修正される。加えて、展開回路11及び圧縮回路13が挿入されるようにネットリスト31が修正される。
【0074】
ステップS02では、一の設定についてデータ入力に接続されている回路から不定値をキャプチャするスキャンフリップフロップが抽出される。上記のように、スキャンフリップフロップSFFがデータ入力DATAから不定値をキャプチャする例としては、該回路がブラックボックスとして扱われるマクロである場合、該回路の出力値が不定値であるように設定される場合、データ入力DATAがスキャンチェーンに属していないフリップフロップのデータ出力に接続されている場合、データ入力DATAへのパスが設定によりフォールスパス又はマルチサイクルパスとして指定される場合が挙げられる。
【0075】
ステップS02において、一の設定について、データ入力に接続されている回路から不定値をキャプチャする可能性があるスキャンフリップフロップが抽出されてもよい。一実施形態では、一の設定について100%の確率でデータ入力に接続されている回路から不定値をキャプチャするスキャンフリップフロップに加え、一の設定についてデータ入力に接続されている回路から不定値をキャプチャする確率が0%ではないが100%未満であるスキャンフリップフロップを抽出してもよい。図1図2図6図7図8に示す半導体集積回路100、100Aを設計する場合には、100%の確率でデータ入力に接続されている回路から不定値をキャプチャするスキャンフリップフロップを抽出してもよい。図9図10に図示されているような半導体集積回路100Bが設計される場合には、100%の確率でデータ入力に接続されている回路から不定値をキャプチャするスキャンフリップフロップに加え、データ入力に接続されている回路から不定値をキャプチャする確率が0%ではないが100%未満であるスキャンフリップフロップを抽出してもよい。
【0076】
ステップS03では、展開回路11、スキャンチェーン12及び圧縮回路13が挿入されたネットリスト31に対してスキャン制御回路部16、26を挿入する処理が行われ、圧縮スキャン回路付きネットリスト32が生成される。スキャン制御回路部16、26の挿入は、ステップS02で抽出されたスキャンフリップフロップSFFを、キャプチャモードにおいて、スキャン入力に入力された値をキャプチャするように制御することができるように行われる。ステップS03において得られる圧縮スキャン回路付きネットリスト32は、図1図2図6図7図8に示す半導体集積回路100、100A、又は、図9図10に示す半導体集積回路100Bに含まれる回路素子及びその接続関係を記述している。
【0077】
一実施形態では、ネットリスト31の記述が、ステップS02で抽出されたスキャンフリップフロップSFFのスキャンイネーブル端子SEにスキャンモード信号SCAN_MODEが供給されるように、圧縮スキャン回路付きネットリスト32が生成される。
【0078】
他の実施形態では、ステップS02で抽出されたスキャンフリップフロップSFFのスキャンイネーブル端子SEに、セレクタによってスキャンモード信号SCAN_MODEとスキャンイネーブル信号SCAN_ENのうちから選択された信号が供給されるように圧縮スキャン回路付きネットリスト32が生成される。例えば図7の半導体集積回路100Aの例では、スキャンフリップフロップSFF22のスキャンイネーブル端子SEにスキャンモード信号SCAN_MODEが供給され、スキャンフリップフロップSFF23のスキャンイネーブル端子SEにセレクタ26cの出力が接続されるように圧縮スキャン回路付きネットリスト32が生成される。
【0079】
更に他の実施形態では、100%の確率でデータ入力に接続されている回路から不定値をキャプチャするスキャンフリップフロップのスキャンイネーブル端子SEにスキャンモード信号SCAN_MODEが供給され、データ入力に接続されている回路から不定値をキャプチャする確率が0%ではないが100%未満であるスキャンフリップフロップのスキャンイネーブル端子SEに、セレクタによってスキャンモード信号SCAN_MODEとスキャンイネーブル信号SCAN_ENのうちから選択された信号が供給されるように圧縮スキャン回路付きネットリスト32が生成される。例えば、図9の半導体集積回路100Bの例では、スキャンフリップフロップSFF22のスキャンイネーブル端子SEにスキャンモード信号SCAN_MODEが供給され、スキャンフリップフロップSFF23のスキャンイネーブル端子SEにセレクタ26cの出力が接続されるように圧縮スキャン回路付きネットリスト32が生成される。
【0080】
このようにして生成された圧縮スキャン回路付きネットリスト32は、記憶装置41に格納される。
【0081】
ステップS04では、圧縮スキャン回路付きネットリスト32に基づいて、半導体集積回路100、100A、100Bのテストに用いられるテストパタン35が生成される。テストパタン35の生成においては、ライブラリ36とパタン設定ファイル37とが参照される。テストパタン35の生成は、プロセッサ42がパタン生成ツール41bを実行することによって行われ、生成されたテストパタン35は、記憶装置41に格納される。
【0082】
半導体集積回路100、100A、100Bは、ステップS01、S02、S03で作成された圧縮スキャン回路付きネットリスト32から生成されたレイアウトデータに基づいて製造される。この製造工程において行われるスキャンテストにおいて、ステップS04で作成されたテストパタン35が用いられる。
【0083】
なお、ステップS01の処理(即ち、展開回路11、スキャンチェーン12及び圧縮回路13を挿入する処理)を行う前に、ステップS02の処理(即ち、データ入力に接続された回路から不定値をキャプチャするスキャンフリップフロップ、又は、不定値をキャプチャする可能性があるスキャンフリップフロップを抽出する処理)を行ってもよい。
【0084】
以上には、本開示の様々な実施形態が具体的に記載されているが、本開示に記載された技術は、様々な変更と共に実施され得る。
【符号の説明】
【0085】
100、100A、100B:半導体集積回路
11 :展開回路
12~12:スキャンチェーン
13 :圧縮回路
13a、13b、13c:XOR回路
14 :スキャンイン端子
15 :スキャンアウト端子
16 :スキャン制御回路部
16a :スキャンイネーブル信号線
16b :スキャンモード信号線
17 :回路
26 :スキャン制御回路部
26a :スキャンイネーブル信号線
26b :スキャンモード信号線
26c :セレクタ
31 :ネットリスト
32 :圧縮スキャン回路付きネットリスト
33 :ライブラリ
34 :スキャン設定ファイル
35 :テストパタン
36 :ライブラリ
37 :パタン設定ファイル
40 :集積回路設計装置
41 :記憶装置
41a :圧縮スキャン挿入ツール
41b :パタン生成ツール
42 :プロセッサ
43 :入出力装置
44 :コンピュータ読み取り可能記憶媒体
SFF11~SFF14、SFF21~SFF24、SFF31~SFF34、SFF41~SFF44、SFF51、SFF61:スキャンフリップフロップ
FF11、FF12:フリップフロップ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12