説明

半導体集積回路及び電子機器

【課題】外部端子を削減しつつ、半導体集積回路の全経路の故障を検出する半導体集積回路及び電子機器を提供すること。
【解決手段】第3FF回路13は、第1FF回路11のスキャンイン端子SIから入力されるテストパターンに応じて、Lレベル又はHレベルの第3保持データDm3を出力端子Qから出力する。選択回路23は、第3FF回路13の出力端子Qから入力される第3保持データDm3に応じて、経路Aを通過する第1処理データDp1又は経路Bを通過する第2保持データDm2を選択データDeとして第2論理回路21に出力する。

【発明の詳細な説明】
【技術分野】
【0001】
半導体集積回路及び電子機器に関するものである。
【背景技術】
【0002】
半導体集積回路の製造後、半導体集積回路は故障検出を行う必要がある。このため、半導体集積回路は、通常動作を行う通常モードと故障検出を行うテストモードを有している。従来、半導体集積回路には、テストの容易性を高め、テストパターンの作成期間やテストパターンサイズ、テスト時間、故障検出率を最適化するためテスト回路が設けられている。このような設計手法は、テスト容易化設計(Design For Testability:DFT)と呼ばれている。テスト容易化設計の一手法として、「スキャン設計」が知られている(例えば、特許文献1を参照)。
【0003】
スキャン設計は、設計回路内のフリップフロップの全て又は一部が、スキャンフリップフロップに置き換えられる。テストモードにおいて、それらスキャンフリップフロップをシリアルに接続することでシフトレジスタを形成してスキャンチェーンを構成する。そのスキャンチェーンを通してテストパターンを入力及び出力することにより、スキャンテストが行なわれる。なお、テストパターンは、ATPG(Automatic Test Pattern Generator)ツールによって自動的に生成される。
【0004】
ところで、図3に示すように、半導体集積回路30において、スキャンフリップフロップとしての第1及び第2フリップフロップ回路(以下、FF回路という)31,32の間に接続される第1及び第2論理回路33,34の中の論理段数が増加すると、後段の第2論理回路34の故障検出率が低下してしまう。
【0005】
つまり、第1及び第2論理回路33,34の中の論理段数が増加すると、第1及び第2論理回路33,34の動作を検証するテストパターンも増加する。これにより、第1及び第2論理回路33,34の全ての故障を検出するためのテストパターンをATPGツールで生成することが困難になってしまう。
【0006】
そこで、従来、図4に示すように、半導体集積回路30aは、第1論理回路33と第2論理回路34の間に第3FF回路35を設け、第1及び第2論理回路33,34の故障検出率を高くしていた(例えば、特許文献2、特許文献3を参照)。
【0007】
すなわち、半導体集積回路30aは、第1論理回路33と第2論理回路34の間に第3FF回路35を設けることで、第1及び第2論理回路33,34の故障検出を別のテストパターンにて行う。従って、第1及び第2論理回路33,34の全ての故障を検出するためのテストパターンが減少し、そのテストパターンをATPGツールで生成可能になる。
【0008】
この場合、半導体集積回路30aは、1段の第3FF回路35を設けた分、通常動作時において、信号を入力してから出力されるまでの時間であるレイテンシーが1サイクル遅くなってしまう。このため、半導体集積回路30aは、選択回路36を設けていた。選択回路36は、モード選択信号Ssに応じて、経路A又は経路Bのいずれかを通過したデータを選択して第2論理回路34に出力する。
【0009】
具体的には、選択回路36は、モード選択信号Ssが通常動作モードの信号の場合には、経路Aを通過したデータを第2論理回路34に出力し、一方、選択回路36は、モード選択信号Ssがテストモードの信号の場合には、経路Bを通過したデータを第2論理回路34に出力する。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開平6−186294公報
【特許文献2】特開平7−113847公報
【特許文献3】特開平10−267994公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかしながら、上記の場合、半導体集積回路30aは、テストモードにおいて、データが経路Aを通過しないため、経路Aにて発生する故障を検出することができない。また、半導体集積回路30aは、選択回路36にモード選択信号Ssを入力するための外部端子が必要になってしまう。
【0012】
この半導体集積回路及び電子機器は、外部端子を削減しつつ、半導体集積回路の全経路の故障を検出することを目的とする。
【課題を解決するための手段】
【0013】
本発明の一側面によれば、第1論理回路と、第1論理回路から出力される第1出力データを入力し、該第1出力データを論理処理して第2出力データとして出力する第2論理回路とを有するとともに、保持している第1保持データを前記第1論理回路に出力する前段スキャンフリップフロップ、及び、前記第2論理回路から前記第2出力データを入力する後段スキャンフリップフロップを含む複数のスキャンフリップフロップが多段に接続されたスキャンチェーンを有する半導体集積回路であって、前記第1論理回路と、前記第2論理回路との間に設けられ、前記第1論理回路から出力される前記第1出力データと、前記前段スキャンフリップフロップが保持する前記第1保持データとを入力し、第2保持データを保持するとともに出力する中間スキャンフリップフロップと、前記前段スキャンフリップフロップに入力されるシリアルデータに応じて、前記第1論理回路から出力される前記第1出力データと、前記中間スキャンフリップフロップが出力する第2保持データとのいずれかを選択し、該選択したデータを前記第2論理回路に出力する選択回路を備える。
【発明の効果】
【0014】
本発明の一側面によれば、半導体集積回路及び電子機器は、外部端子を削減しつつ、半導体集積回路の全経路の故障を検出することができる。
【図面の簡単な説明】
【0015】
【図1】半導体集積回路のブロック図である。
【図2】(a),(b)は半導体集積回路の動作説明図である。
【図3】従来の半導体集積回路のブロック図である。
【図4】従来の半導体集積回路のブロック図である。
【発明を実施するための形態】
【0016】
以下、実施形態を図1及び図2に従って説明する。
図1に示すように、半導体集積回路10は、スキャンフリップフロップとしての第1〜第4FF回路11〜14、第1及び第2論理回路21,22、選択回路23を有している。
【0017】
半導体集積回路10は、故障検出を行うテストモードにおいて、テスタ装置(図示せず)からシリアルデータであるテストパターンを入力する(スキャンイン)。そして、半導体集積回路10は、入力されたテストパターンを論理処理してシリアルデータである出力データDoをテスタ装置(図示せず)に出力する(スキャンアウト)。
【0018】
テスタ装置は、半導体集積回路10から入力されたシリアルデータである出力データDoと、テストパターンに対する予め設定された期待値とを比較して故障検出を行う。具体的には、テスタ装置は、入力した出力データDoと、テストパターンに対する予め設定された期待値が一致すると、半導体集積回路10に故障がないと判断する。反対に、テスタ装置は、入力した出力データDoと、テストパターンに対する予め設定された期待値が一致しないと、半導体集積回路10に故障があると判断する。
【0019】
第1FF回路11は、スキャンイン端子SI、データ入力端子Dを有している。そして、第1FF回路11のスキャンイン端子SIは、テスタ装置を使ったテストモードの時には、テスタ装置からシリアルデータDsが入力されるようになっている。また、第1FF回路11のデータ入力端子Dは、テスタ装置を使ったテストモードの時には、テスタ装置から通常データDnが入力されるようになっている。
【0020】
また、第1FF回路は、選択入力端子S、クロック端子を有している。そして、第1FF回路11の選択入力端子Sは、テスタ装置を使ったテストモードの時には、テスタ装置から入力選択信号Smが入力されるようになっている。第1FF回路11のクロック端子は、テスタ装置を使ったテストモードの時には、テスタ装置からクロック信号CLKが入力されるようになっている。
【0021】
ここで、第1FF回路11は、その選択入力端子SにLレベルの入力選択信号Smが入力されると、データ入力端子Dが入力する通常データDnを保持する。反対に、第1FF回路11は、その選択入力端子SにHレベルの入力選択信号Smが入力されると、スキャンイン端子SIが入力するシリアルデータDsを保持する。
【0022】
従って、第2〜第4FF回路12〜14も同様に、その選択入力端子SにLレベルの入力選択信号Smが入力されると、データ入力端子Dが入力するデータを保持する。反対に、その選択入力端子SにHレベルの入力選択信号Smが入力されると、スキャンイン端子SIが入力するデータを保持するようになっている。
【0023】
そして、第1FF回路11は、入力選択信号Smに応じて、クロック信号CLKがLレベルからHレベルに立ち上がる毎に、シリアルデータDs又は通常データDnを第1保持データDm1として保持するとともに、その第1保持データDm1を出力端子Qから第1論理回路21及び第2FF回路12のスキャンイン端子SIに出力する。
【0024】
具体的には、第1FF回路11は、Lレベルの入力選択信号Smを入力する場合、クロック信号CLKがLレベルからHレベルに立ち上がる毎に、通常データDnを第1保持データDm1として保持するとともに出力する。反対に、第1FF回路11は、Hレベルの入力選択信号Smを入力する場合、クロック信号CLKがLレベルからHレベルに立ち上がる毎に、シリアルデータDsを第1保持データDm1として保持するとともに出力する。
【0025】
なお、第2〜第4FF回路12〜14も同様に、その選択入力端子SにLレベルの入力選択信号Smが入力されると、クロック信号CLKがLレベルからHレベルに立ち上がる毎に、データ入力端子Dが入力するデータを保持するとともに出力端子Qから出力するようになっている。また、第2〜第4FF回路12〜14は、その選択入力端子SにHレベルの入力選択信号Smが入力されると、クロック信号CLKがLレベルからHレベルに立ち上がる毎に、スキャンイン端子SIが入力するデータを保持するとともに出力端子Qから出力するようになっている。
【0026】
第1論理回路21は、第1FF回路11から第1保持データDm1が入力される。第1論理回路21は、入力された第1保持データDm1を論理処理して第1処理データDp1として第2FF回路12のデータ入力端子Dに出力するとともに、経路Aを介して選択回路23に出力する。
【0027】
第2FF回路12は、第1FF回路11と同様なFF回路であって、スキャンイン端子SI、データ入力端子D、選択入力端子S、クロック端子、出力端子Qを有している。
第2FF回路12は、そのデータ入力端子Dに第1論理回路21からの第1処理データDp1が入力される。また、第2FF回路12は、そのスキャンイン端子SIに第1FF回路11から第1保持データDm1が入力される。
【0028】
さらに、第2FF回路12は、その選択入力端子Sにテスタ装置から入力選択信号Smが入力され、そのクロック端子にテスタ装置からクロック信号CLKが入力される。
そして、第2FF回路12は、入力選択信号Smに応じて、クロック信号CLKがLレベルからHレベルに立ち上がる毎に、第1保持データDm1又は第1処理データDp1を第2保持データDm2として保持し、その第2保持データDm2を出力端子Qから第3FF回路13のスキャンイン端子SIに出力するとともに、経路Bを介して選択回路23に出力する。
【0029】
具体的には、第2FF回路12は、Lレベルの入力選択信号Smを入力する場合、クロック信号CLKがLレベルからHレベルに立ち上がる毎に、第1処理データDp1を第2保持データDm2として保持するとともに出力する。反対に、第2FF回路12は、Hレベルの入力選択信号Smを入力する場合、クロック信号CLKがLレベルからHレベルに立ち上がる毎に、第1保持データDm1を第2保持データDm2として保持するとともに出力する。
【0030】
第3FF回路13は、第1FF回路11と同様なFF回路であって、スキャンイン端子SI、データ入力端子D、選択入力端子S、クロック端子、リセット端子R、出力端子Qを有している。
【0031】
第3FF回路13は、そのスキャンイン端子SIに第2FF回路12から第2保持データDm2が入力されている。また、第3FF回路13は、そのデータ入力端子Dに自身の出力端子Qが互いに接続されている。第3FF回路13は、その選択入力端子Sにテスタ装置から入力選択信号Smが入力され、そのクロック端子にテスタ装置からクロック信号CLKが入力される。
【0032】
そして、第3FF回路13は、入力選択信号Smに応じて、クロック信号CLKがLレベルからHレベルに立ち上がる毎に、第2FF回路12からの第2保持データDm2、又は、自身の出力端子Qから出力される第3保持データDm3を第3保持データDm3として保持するとともに出力する。ただし、第3FF回路13は、リセット端子RにLレベルのリセット信号Rsが入力される場合、出力端子Qから出力される第3保持データDm3はLレベルに固定される。
【0033】
具体的には、第3FF回路13は、Lレベルの入力選択信号Smを入力する場合、クロック信号CLKがLレベルからHレベルに立ち上がる毎に、自身の出力端子Qから出力される第3保持データDm3を第3保持データDm3として保持するとともに出力する。つまり、第3FF回路13は、Lレベルの入力選択信号Smを入力するとき、そのとき保持している第3保持データDm3の保持を維持する。反対に、第3FF回路13は、Hレベルの入力選択信号Smを入力する場合、クロック信号CLKがLレベルからHレベルに立ち上がる毎に、第2保持データDm2を第3保持データDm3として保持するとともに出力する。第3FF回路13は、通常動作を行う通常モードにおいて、初期リセットとしてリセット端子RにLレベルのリセット信号Rsが入力されると第3保持データDm3はLレベルに固定される。
【0034】
選択回路23は、第1論理回路21から経路Aを介して第1処理データDp1、第2FF回路12から経路Bを介して第2保持データDm2、第3FF回路13から第3保持データDm3がそれぞれ入力される。選択回路23は、入力された第3保持データDm3に応じて、第1処理データDp1又は第2保持データDm2を選択し、その選択したデータを選択データDeとして第2論理回路22に出力する。
【0035】
詳しくは、選択回路23は、Lレベルの第3保持データDm3を入力すると、第1処理データDp1を選択データDeとして出力する。反対に、選択回路23は、Hレベルの第3保持データDm3を入力すると、第2保持データDm2を選択データDeとして出力する。
【0036】
第2論理回路22は、選択回路23から選択データDeが入力される。第2論理回路22は、入力された選択データDeを論理処理して第2処理データDp2として第4FF回路14に出力する。
【0037】
第4FF回路14は、第1FF回路11と同様なFF回路であって、スキャンイン端子SI、データ入力端子D、選択入力端子S、クロック端子、出力端子Qを有している。
第4FF回路14は、そのスキャンイン端子SIに第3FF回路13から第3保持データDm3が入力され、そのデータ入力端子Dに第2論理回路22から第2処理データDp2が入力される。第4FF回路14は、その選択入力端子Sにテスタ装置から入力選択信号Smが入力され、そのクロック端子にテスタ装置からクロック信号CLKが入力される。
【0038】
そして、第4FF回路14は、入力選択信号Smに応じて、クロック信号CLKがLレベルからHレベルに立ち上がる毎に、第3保持データDm3又は第2処理データDp2を出力データDoとして保持するとともにテスタ装置に出力する。
【0039】
具体的には、第4FF回路14は、Lレベルの入力選択信号Smを入力する場合、クロック信号CLKがLレベルからHレベルに立ち上がる毎に、第2処理データDp2を出力データDoとして保持するとともに出力する。反対に、第4FF回路14は、Hレベルの入力選択信号Smを入力する場合、クロック信号CLKがLレベルからHレベルに立ち上がる毎に、第3保持データDm3を第4保持データDm4(出力データDo)として保持するとともに出力する。
【0040】
上記の回路構成により、第1〜第4FF回路11〜14は、Hレベルの入力選択信号Smを入力すると、シフトレジスタを形成してスキャンチェーンを構成する。従って、第1〜第4FF回路11〜14は、テストモードにおいて、Hレベルの入力選択信号Smを入力すると、クロック信号CLKがLレベルからHレベルに立ち上がる毎に、第1FF回路11のスキャンイン端子SIに入力されるテストパターンとしてのシリアルデータDsを順次入力して保持していく。
【0041】
このテストパターンとして入力されるシリアルデータDsに応じて、第3FF回路13は、Lレベル又はHレベルの第3保持データDm3を出力する。これに伴い、選択回路23は、経路Aを通過する第1処理データDp1又は経路Bを通過する第2保持データDm2を選択し、その選択したデータを選択データDeとして第2論理回路22に出力する。
【0042】
例えば、第1FF回路11のスキャンイン端子SIに「1011」のテストパターンがシリアルデータDsとして入力されると、第3FF回路13は、出力端子QからLレベルの第3保持データDm3を出力する。選択回路23は、第3FF回路13の出力端子QからLレベルの第3保持データDm3が入力されるため、経路Aを通過する第1処理データDp1の選択データDeを出力する。
【0043】
一方、第1FF回路11のスキャンイン端子SIに「1100」のテストパターンがシリアルデータDsとして入力されると、第3FF回路13は、出力端子QからHレベルの第3保持データDm3を出力する。選択回路23は、第3FF回路13の出力端子QからHレベルの第3保持データDm3を入力するため、経路Bを通過する第2保持データDm2の選択データDeを出力する。
【0044】
以下、半導体集積回路10に「1011」、「1100」のテストパターンが入力される場合について図2(a),(b)に従って説明する。
最初に、図2(a)に示すように半導体集積回路10が「1011」のテストパターンを入力する場合、まず、時刻t1において、テスタ装置からの入力選択信号SmがLレベルからHレベルに立ち上がると、第1〜第4FF回路11〜14は、シフトレジスタを形成してスキャンチェーンを構成する。
【0045】
そして、時刻t2のクロック信号CLKのLレベルからHレベルへの立ち上りから、第1〜第4FF回路11〜14は、第1FF回路11のスキャンイン端子SIにテスタ装置から入力される「1011」のテストパターンであるシリアルデータDsを、クロック信号CLKの立ち上がりに応答して、順番に第1〜第4保持データDm1〜Dm4として保持していく。
【0046】
以下、クロック信号CLKのLレベルからHレベルへの立ち上がりを、単にクロック信号CLKの立ち上がりという。また、クロック信号CLKのHレベルからLレベルへの立ち下がりを、単にクロック信号CLKの立ち下がりという。
【0047】
そして、時刻t3において、すなわち、時刻t2から数えてクロック信号CLKが3回立ち上がると、第3FF回路13は、シリアルデータDsの先頭のビットデータである「1」を第3保持データDm3として保持するとともに出力端子Qから第4FF回路14に出力する。
【0048】
また、第3FF回路13は、その自身の出力端子Qから出力される「1」の第3保持データDm3が自身のデータ入力端子Dに入力される。さらに、第3FF回路13は、そのスキャンイン端子SIに第2FF回路12からシリアルデータDsの2番目のビットデータである「0」の第2保持データDm2が入力される。
【0049】
換言すると、時刻t3において、すなわち、時刻t2から数えてクロック信号CLKが3回立ち上がると、第3FF回路13は、入力されたシリアルデータDsの「1011」のテストパターンの最上位ビットである「1」の第3保持データDm3を保持するとともに出力する。
【0050】
この状態から、時刻t4において、すなわち、時刻t2から数えてクロック信号CLKが4回立ち上がると、第3FF回路13は、シリアルデータDsの2番目のビットデータである「0」の第3保持データDm3を保持するとともに出力端子Qから第4FF回路14に出力する。
【0051】
この時、第3FF回路13は、そのデータ入力端子Dに自身の出力端子QからシリアルデータDsの2番目のビットデータである「0」の第3保持データDm3が入力される。また、選択回路23は、第3FF回路13の出力端子Qから同じく「0」の第3保持データDm3が入力され、経路Aを選択する。
【0052】
つまり、時刻t4において、すなわち、時刻t2から数えてクロック信号CLKが4回立ち上がると、第1〜第4FF回路11〜14は、「1011」のテストパターンを第1〜第4保持データDm1〜Dm4としてそれぞれ保持するとともに出力する。
【0053】
因みに、第1FF回路11は、入力された「1011」のテストパターンの最下位ビットである「1」を第1保持データDm1として保持するとともに出力している。また、第2FF回路12は、入力された「1011」のテストパターンの最下位ビットから2ビット目である「1」を第2保持データDm2として保持するとともに出力している。
【0054】
さらに、第3FF回路13は、入力された「1011」のテストパターンの最上位ビットから2ビット目である「0」を第3保持データDm3として保持するとともに出力している。第4FF回路14は、入力された「1011」のテストパターンの最上位ビットである「1」を第4保持データDm4として保持するとともに出力している。
【0055】
また、時刻t4において、入力選択信号SmがHレベルからLレベルに立ち下がると、第1〜第4FF回路11〜14は、時刻t5のクロック信号CLKの立ち上がりでデータ入力端子Dから入力されるデータを保持するとともに出力するようになる。
【0056】
そして、時刻t5において、クロック信号CLKが立ち上がると、第4FF回路14は、第1及び第2論理回路21,22が「1011」のテストパターンの最下位ビット「1」の第1保持データDm1を論理処理した第2処理データDp2をデータ入力端子Dから入力し出力データDoとして保持するとともに出力する。
【0057】
即ち、テスタ装置は、時刻t5において、半導体集積回路10が第1及び第2論理回路21,22を介して論理処理して得た前記第1保持データDm1に対する第2処理データDp2を、出力データDoとして同半導体集積回路10から入力することになる。
【0058】
また、時刻t5において、第2FF回路12は、「1011」のテストパターンの最下位ビット「1」の第1保持データDm1を第1論理回路21にて論理処理した第1処理データDp1をデータ入力端子Dから入力し第2保持データDm2として保持するとともに出力する。
【0059】
一方、第3FF回路13は、自身の出力端子Qからの「0」の第3保持データDm3を保持する。すなわち、第3FF回路13は、入力選択信号SmがLレベルからHレベルに立ち上がるまで、「0」の第3保持データDm3を保持する。これに伴い、選択回路23は、第3FF回路13から「0」の第3保持データDm3が入力されるため、入力選択信号SmがLレベルからHレベルに立ち上がるまで経路Aを通過する第1論理回路21からの第1処理データDp1の選択を継続する。
【0060】
さらに、時刻t5において、入力選択信号SmがLレベルからHレベルに立ち上がり、第1〜第4FF回路11〜14は、シフトレジスタを形成してスキャンチェーンを構成する。
【0061】
そして、時刻t6のクロック信号CLKの立ち上りから、第1〜第4FF回路11〜14は、第4FF回路14の出力端子Qからテスタ装置に対して、第1〜第4保持データDm1〜Dm4を、クロック信号CLKの立ち上がりに応答して、順番に出力データDoとして出力していく。
【0062】
つまり、半導体集積回路10は、時刻t7において、すなわち、時刻t5から数えて3個目のクロック信号CLKが立ち上がった時、「1011」のテストパターンの最下位ビット「1」の第1保持データDm1を、第1論理回路21を介して論理処理して得た第1処理データDp1を、出力データDoとしてテスタ装置に対して出力する。
【0063】
換言すると、テスタ装置は、時刻t7において、すなわち、時刻t5から数えて3個目のクロック信号CLKが立ち上がった時、半導体集積回路10の第1論理回路21が出力する前記第1保持データDm1に対する第1処理データDp1を、出力データDoとして同半導体集積回路10から入力することになる。
【0064】
そして、テスタ装置は、時刻t5において半導体集積回路10からの出力データDo(即ち、半導体集積回路10の第1及び第2論理回路21,22を介して得られた出力信号)と、時刻t7において半導体集積回路10からの出力データDo(即ち、半導体集積回路10の第1論理回路21のみを介して得られた出力信号)とを入力し、これら入力された出力データDoと予め設定された期待値とを比較する。そして、テスタ装置は、第1論理回路21の検査及び経路Aを含む第1及び第2論理回路21,22の検査を行う。
【0065】
次に、図2(b)に示すように半導体集積回路10が「1100」のテストパターンを入力する場合、まず、時刻t11において、テスタ装置からの入力選択信号SmがLレベルからHレベルに立ち上がると、第1〜第4FF回路11〜14は、シフトレジスタを形成してスキャンチェーンを構成する。
【0066】
そして、時刻t12のクロック信号CLKの立ち上りから、第1〜第4FF回路11〜14は、第1FF回路11のスキャンイン端子SIにテスタ装置から入力される「1100」のテストパターンであるシリアルデータDsを、クロック信号CLKの立ち上がりに応答して、順番に第1〜第4保持データDm1〜Dm4として保持していく。
【0067】
そして、時刻t13において、すなわち、時刻t12から数えてクロック信号CLKが3回立ち上がると、第3FF回路13は、シリアルデータDsの先頭のビットデータである「1」を第3保持データDm3として保持するとともに出力端子Qから第4FF回路14に出力する。
【0068】
また、第3FF回路13は、その自身の出力端子Qから出力される「1」の第3保持データDm3が自身のデータ入力端子Dに入力される。さらに、第3FF回路13は、そのスキャンイン端子SIに第2FF回路12からシリアルデータDsの2番目のビットデータである「1」の第2保持データDm2が入力される。
【0069】
換言すると、時刻t13において、すなわち、時刻t12から数えてクロック信号CLKが3回立ち上がると、第3FF回路13は、入力されたシリアルデータDsの「1100」のテストパターンの最上位ビットである「1」の第3保持データDm3を保持するとともに出力する。
【0070】
この状態から、時刻t14において、すなわち、時刻t12から数えてクロック信号CLKが4回立ち上がると、第3FF回路13は、シリアルデータDsの2番目のビットデータである「1」の第3保持データDm3を保持するとともに出力端子Qから第4FF回路14に出力する。
【0071】
この時、第3FF回路13は、そのデータ入力端子Dに自身の出力端子QからシリアルデータDsの2番目のビットデータである「1」の第3保持データDm3が入力される。また、選択回路23は、第3FF回路13の出力端子Qから同じく「1」の第3保持データDm3が入力され、経路Bを選択する。
【0072】
つまり、時刻t14において、すなわち、時刻t12から数えてクロック信号CLKが4回立ち上がると、第1〜第4FF回路11〜14は、「1100」のテストパターンを第1〜第4保持データDm1〜Dm4としてそれぞれ保持するとともに出力する。
【0073】
因みに、第1FF回路11は、入力された「1100」のテストパターンの最下位ビットである「0」を第1保持データDm1として保持するとともに出力している。また、第2FF回路12は、入力された「1100」のテストパターンの最下位ビットから2ビット目である「0」を第2保持データDm2として保持するとともに出力している。
【0074】
さらに、第3FF回路13は、入力された「1100」のテストパターンの最上位ビットから2ビット目である「1」を第3保持データDm3として保持するとともに出力している。第4FF回路14は、入力された「1100」のテストパターンの最上位ビットである「1」を第4保持データDm4として保持するとともに出力している。
【0075】
また、時刻t14において、入力選択信号SmがHレベルからLレベルに立ち下がると、第1〜第4FF回路11〜14は、時刻t15のクロック信号CLKの立ち上がりでデータ入力端子Dから入力されるデータを保持するとともに出力するようになる。
【0076】
そして、時刻t15において、クロック信号CLKが立ち上がると、第4FF回路14は、第2論理回路22が「1100」のテストパターンの最下位ビットから2ビット目である「0」の第2保持データDm2を論理処理した第2処理データDp2をデータ入力端子Dから入力し出力データDoとして保持するとともに出力する。
【0077】
即ち、テスタ装置は、時刻t15において、半導体集積回路10が第2論理回路22を介して論理処理して得た前記第2保持データDm2に対する第2処理データDp2を、出力データDoとして同半導体集積回路10から入力することになる。
【0078】
また、時刻t15において、第2FF回路12は、「1100」のテストパターンの最下位ビット「0」の第1保持データDm1を第1論理回路21にて論理処理した第1処理データDp1をデータ入力端子Dから入力し第2保持データDm2として保持するとともに出力する。
【0079】
一方、第3FF回路13は、自身の出力端子Qからの「1」の第3保持データDm3を保持する。すなわち、第3FF回路13は、入力選択信号SmがLレベルからHレベルに立ち上がるまで、「1」の第3保持データDm3を保持する。これに伴い、選択回路23は、第3FF回路13から「1」の第3保持データDm3が入力されるため、入力選択信号SmがLレベルからHレベルに立ち上がるまで経路Bを通過する第1論理回路21からの第1処理データDp1の選択を継続する。
【0080】
さらに、時刻t15において、入力選択信号SmがLレベルからHレベルに立ち上がり、第1〜第4FF回路11〜14は、シフトレジスタを形成してスキャンチェーンを構成する。そして、時刻t16のクロック信号CLKの立ち上りから、第1〜第4FF回路11〜14は、第4FF回路14の出力端子Qからテスタ装置に第1〜第4保持データDm1〜Dm4を、クロック信号CLKの立ち上がりに応答して、順番に出力データDoとして出力していく。
【0081】
つまり、半導体集積回路10は、時刻t17において、すなわち、時刻t15から数えて3個目のクロック信号CLKが立ち上がった時、「1100」のテストパターンの最下位ビット「0」の第1保持データDm1を、第1論理回路21を介して論理処理して得た第1処理データDp1を、出力データDoとしてテスタ装置に対して出力する。
【0082】
換言すると、テスタ装置は、時刻t17において、すなわち、時刻t15から数えて3個目のクロック信号CLKが立ち上がった時、半導体集積回路10の第1論理回路21が出力する前記第1保持データDm1に対する第1処理データDp1を、出力データDoとして同半導体集積回路10から入力することになる。
【0083】
そして、テスタ装置は、時刻t15において半導体集積回路10からの出力データDo(即ち、半導体集積回路10の第2論理回路22を介して得られた出力信号)と、時刻t17において半導体集積回路10からの出力データDo(即ち、半導体集積回路10の第1論理回路21を介して得られた出力信号)とを入力し、これら入力された出力データDoと予め設定された期待値とを比較する。そして、テスタ装置は、第1論理回路21の検査及び経路Bを含む第2論理回路22の検査を行う。
【0084】
以上記述したように、本実施の形態によれば、以下の効果を奏する。
(1)スキャンチェーンを構成する第2FF回路12と第4FF回路14との間に、第3FF回路13を設けた。選択回路23は、スキャンチェーンを構成する第3FF回路13からの第3保持データDm3に応じて経路Aを通過する第1処理データDp1又は経路Bを通過する第2保持データDm2を選択するようにした。
【0085】
従って、選択回路23は、第1FF回路11のスキャンイン端子SIに入力されるテストパターンとしてのシリアルデータDsに基づいて、経路Aを通過する第1処理データDp1又は経路Bを通過する第2保持データDm2を選択する。
【0086】
この結果、半導体集積回路10は、従来のスキャンチェーンに含まれる経路Bを通過するテストパターンの故障検出に加え、通常動作にて用いられる経路Aを通過するテストパターンの故障検出を行うことができる。さらに、半導体集積回路10は、従来の選択回路23が経路Aを通過する第1処理データDp1又は経路Bを通過する第2保持データDm2を選択する制御信号を入力するための外部端子が必要なく、外部端子を削減することができる。
【0087】
尚、上記実施の形態は、以下の態様で実施してもよい。
・本実施形態では、スキャンチェーンを第1〜第4FF回路11〜14にて構成していたが、スキャンチェーンの段数は特に制限されない。
【0088】
・本実施形態では、第1及び第2論理回路21,22は、対応する第1保持データDm1及び選択データDeが入力され、第1及び第2処理データDp1,Dp2を出力していた。これに限らず、第1及び第2論理回路21,22の入出力数は特に制限されない。この変更に伴い、第1及び第2論理回路21,22の入出力数に対応したFF回路を設けることになる。
【0089】
・本実施形態では、駆動能力不足による回路動作の遅延を改善するために回路を複数の経路に分ける、つまり、冗長にする場合、各経路に対して上記の第3FF回路13及び選択回路23の構成をそれぞれ設けてもよい。このとき、論理合成では、上記の第3FF回路13及び選択回路23の構成が1つの経路のみ設けられてしまうが、ネットリストに上記の第3FF回路13及び選択回路23の構成を直接記述することで対処可能になる。
【符号の説明】
【0090】
11〜14 スキャンフリップフロップ(第1〜第4フリップフロップ)
11 前段スキャンフリップフロップ(第1フリップフロップ)
12 中間スキャンフリップフロップ(第2フリップフロップ)
13 制御スキャンフリップフロップ(第3フリップフロップ)
14 後段スキャンフリップフロップ(第4フリップフロップ)
10 半導体集積回路
21 第1論理回路
22 第2論理回路
23 選択回路
D データ入力端子
Dm1 第1保持データ
Dm2 第2保持データ
Dm3 第3保持データ
Dp1 第1出力データ(第1処理データ)
Dp2 第2出力データ(第2処理データ)
SI スキャンイン端子
R リセット端子
Q 出力端子

【特許請求の範囲】
【請求項1】
第1論理回路と、
第1論理回路から出力される第1出力データを入力し、該第1出力データを論理処理して第2出力データとして出力する第2論理回路とを有するとともに、
保持している第1保持データを前記第1論理回路に出力する前段スキャンフリップフロップ、及び、前記第2論理回路から前記第2出力データを入力する後段スキャンフリップフロップを含む複数のスキャンフリップフロップが多段に接続されたスキャンチェーンを有する半導体集積回路であって、
前記第1論理回路と、前記第2論理回路との間に設けられ、前記第1論理回路から出力される前記第1出力データと、前記前段スキャンフリップフロップが保持する前記第1保持データとを入力し、第2保持データを保持するとともに出力する中間スキャンフリップフロップと、
前記前段スキャンフリップフロップに入力されるシリアルデータに応じて、前記第1論理回路から出力される前記第1出力データと、前記中間スキャンフリップフロップが出力する第2保持データとのいずれかを選択し、該選択したデータを前記第2論理回路に出力する選択回路とを備えることを特徴とする半導体集積回路。
【請求項2】
請求項1に記載の半導体集積回路であって、
前記中間スキャンフリップフロップの後段に制御スキャンフリップフロップを設け、
前記選択回路は、
前記制御スキャンフリップフロップが保持する第3保持データに応じて、前記第1論理回路から出力される前記第1出力データと、前記中間スキャンフリップフロップが保持する前記第2保持データとのいずれかを選択し、該選択したデータを前記第2論理回路に出力することを特徴とする半導体集積回路。
【請求項3】
請求項2に記載の半導体集積回路であって、
前記制御スキャンフリップフロップは、
スキャンイン端子、データ入力端子、リセット端子と、出力端子を有し、
前記中間スキャンフリップフロップが保持する前記第2保持データが前記スキャンイン端子に入力され、
前記出力端子及びデータ入力端子が接続され、前記出力端子から前記第3保持データを前記選択回路に出力することを特徴とする半導体集積回路。
【請求項4】
請求項3に記載の半導体集積回路であって、
前記スキャンチェーンを構成するスキャンフリップフロップは、
Dフリップフロップであることを特徴とする半導体集積回路。
【請求項5】
請求項1〜4のいずれか1つに記載の半導体集積回路を備えたことを特徴とする電子機器。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2011−7566(P2011−7566A)
【公開日】平成23年1月13日(2011.1.13)
【国際特許分類】
【出願番号】特願2009−149961(P2009−149961)
【出願日】平成21年6月24日(2009.6.24)
【出願人】(308014341)富士通セミコンダクター株式会社 (2,507)
【Fターム(参考)】