JP2013156073A - 半導体装置 - Google Patents
半導体装置 Download PDFInfo
- Publication number
- JP2013156073A JP2013156073A JP2012015465A JP2012015465A JP2013156073A JP 2013156073 A JP2013156073 A JP 2013156073A JP 2012015465 A JP2012015465 A JP 2012015465A JP 2012015465 A JP2012015465 A JP 2012015465A JP 2013156073 A JP2013156073 A JP 2013156073A
- Authority
- JP
- Japan
- Prior art keywords
- clock
- signal
- capture
- control signal
- circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
【課題】機能ブロックを構成するクロックドメイン間の遅延故障解析を行う際、データ送信側のクロックドメインにおけるクロックのエッジとデータ受信側のクロックドメインにおけるクロックのエッジのタイミング調整は、機能ブロックの回路規模が増大すると困難となる。
【解決手段】クロック生成回路(TCTL)は、2つのクロックパルスを有するACスキャンテストクロック(CLK)を、機能ブロック(IP)を構成する各クロックドメイン(CD_N、N=0〜n−1)に供給する。各クロックドメインが備えるクロック制御回路(LCSC)は、テスト制御レジスタ(TDR)で設定したリリースクロック制御信号S0_CD_Nおよびキャプチャクロック制御信号S1_CD_Nとその2つのクロックパルスとに基づき、ドメインテストクロック(GCLK)におけるリリースクロックおよびキャプチャクロックの生成有無を制御する。
【選択図】図1
【解決手段】クロック生成回路(TCTL)は、2つのクロックパルスを有するACスキャンテストクロック(CLK)を、機能ブロック(IP)を構成する各クロックドメイン(CD_N、N=0〜n−1)に供給する。各クロックドメインが備えるクロック制御回路(LCSC)は、テスト制御レジスタ(TDR)で設定したリリースクロック制御信号S0_CD_Nおよびキャプチャクロック制御信号S1_CD_Nとその2つのクロックパルスとに基づき、ドメインテストクロック(GCLK)におけるリリースクロックおよびキャプチャクロックの生成有無を制御する。
【選択図】図1
Description
本発明は機能ブロックのスキャンテスト機能を有する半導体装置に関し、例えば、遅延故障検出用のスキャンクロック生成機能を有する半導体装置に関する。
複数のクロックドメインを有する機能ブロックを搭載した半導体装置において、クロックドメインの遅延故障を検出する技術が重要となっている。クロックドメイン間に非同期転送パスが存在する場合、非同期転送パスからデータを受け取るクロックドメインにおいて、そのデータを遮断するマスク回路を設けることが知られている。
非同期転送パスで接続されている各クロックドメインに対し、分離したクロック生成回路からタイミング調整したクロックを各クロックドメインへ各々供給し、非同期転送の発生を防止する技術が知られている。
特開2007−248236号公報(特許文献1)は、動作クロックの速度が異なる複数のクロックドメインに対し、動作クロックのラウンチエッジとキャプチャエッジを振り分ける構成を開示する。データ転送元のクロックドメインにはラウンチエッジのみ与えられ、そのデータ転送先のクロックドメインにはキャプチャエッジのみ与えられる。
特開平8−75826号公報(特許文献2)は、システムクロックを走査クロックと機能クロックに分離するトライステートバッファで構成されるローカルクロック発生器を開示する。
特許文献1が開示する遅延故障試験回路は、一方のクロックドメインに対してはラウンチエッジのみ与え、他方のクロックドメインに対してはそのデータを取り込むキャプチャエッジのみ与える構成となっている。この構成により、動作クロック速度が異なるクロックドメイン間の遅延故障解析を実行する場合、ラウンチエッジとキャプチャエッジを1対1で対応付けている。
この構成は、ラウンチエッジとキャプチャエッジとを対応づけてクロックドメイン間のタイミング調整をするものである。しかし、クロックドメインの回路規模が増大すると、ラウンチエッジとキャプチャエッジを選択するタイミング設計が困難となる。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
一実施の形態によれば、第1クロックを生成するテスト制御回路と、第1クロックに基づき第2クロックを生成するクロック制御回路と、第2クロックに同期してデータのリリースおよびキャプチャを行うフリップフロップを含む複数のクロックドメインと、を備え、クロック制御回路は、リリースクロック制御信号およびキャプチャクロック制御信号に基づき第2クロックのリリースクロックおよびキャプチャクロックの生成を制御し、フリップフロップは、生成されたリリースクロックおよびキャプチャクロックに同期して、各々、データのリリースおよびキャプチャを行う、半導体装置である。
前記一実施の形態によれば、クロックドメイン間の非同期転送パスのデータ転送を容易に無効化でき、非同期転送パスの影響を受けずにクロックドメインの遅延故障検出が可能となる。
以下、図面を参照しつつ、本発明の実施の形態について説明する。実施の形態の説明において、個数、量などに言及する場合、特に記載ある場合を除き、本発明の範囲は必ずしもその個数、量などに限定されない。実施の形態の図面において、同一の参照符号や参照番号は、同一部分または相当部分を表わすものとする。また、実施の形態の説明において、同一の参照符号等を付した部分等に対しては、重複する説明は繰り返さない場合がある。
<実施の形態1>
図1を参照して、実施の形態1に係る半導体装置LSIの構成を説明する。
図1を参照して、実施の形態1に係る半導体装置LSIの構成を説明する。
半導体装置LSIは、テスト制御回路TCTL、テスト制御レジスタTDR、および機能ブロックIPを備える。
テスト制御回路TCTLは、ACスキャンテストクロックCLKを生成するクロック生成回路TCGを有する。クロック生成回路TCGは端子T0、T1、およびT2を有し、端子T0からACスキャンテストクロックCLKを出力する。ACスキャンテストクロックCLKは連続する2つのクロックパルスを有する。
テスト制御回路TCTLは、さらに、ACスキャンテストモード信号AC_SCANおよびスキャンイネーブル信号SCAN_ENABLEを出力する。
テスト制御レジスタTDRは、D型フリップフロップFFR00からD型フリップフロップFFR1n−1の計2n個(nは2以上の整数)のフリップフロップを有する。2n(2とnとの積算値)個の各フリップフロップは、クロック端子に共通に印加されるクロックに同期して、図示しない各データ入力端子に印加されたデータを取り込む。
フリップフロップFFR00は、クロックに同期して格納データをリリースクロック制御信号S0_CD_0として出力する。フリップフロップFFR10は、クロックに同期して格納データをキャプチャクロック制御信号S1_CD_0として出力する。つまり、フリップフロップFFR0N(N=0〜n−1。以下、同じ。)はリリースクロック制御信号S0_CD_Nを出力し、フリップフロップFFR1Nはキャプチャクロック制御信号S1_CD_Nを出力する。
機能ブロックIPは、クロックドメインCD_0からクロックドメインCD_n−1の計n個のクロックドメインを有する。各クロックドメインは、ある特定のクロック入力により駆動される回路領域で構成される。さらに、各クロックドメインのクロック入力は互いに非同期であり、クロックドメイン間では非同期にデータ転送が行われる場合もある。図1において、クロックドメインCD_0とクロックドメインCD_1とは非同期に動作する。
クロックドメインCD_0は、クロック制御回路LCSCおよび故障検出フリップフロップFF13を有する。クロック制御回路LCSCは、ACスキャンテストクロックCLKからドメインテストクロックGCLKを生成し、故障検出フリップフロップFF13のクロック端子へ出力する。
クロックドメインCD_Nは、遅延故障検出対象パスの両端に配置される故障検出フリップフロップを有する。各故障検出フリップフロップは、遅延故障検出対象パスに対する入力値の設定や遅延故障検出対象パスの出力値の読出しを行う。各々の故障検出フリップフロップはシリアルに接続されてスキャンパスを形成しており、入力値の設定や出力値の読出しを順次行うことができる。故障検出フリップフロップFF13は、その故障検出フリップフロップの1つを例示するものである。
なお、図1において、ドメインテストクロックGCLKのクロック配線と斜めに交差する線は、そのドメインテストクロックGCLKのクロック配線および故障検出フリップフロップが分岐して複数あることを示す。
クロック制御回路LCSCの構成を説明する。
フリップフロップFF11は、データ入力端子に印加されたスキャンイネーブル信号SCAN_ENABLEの値を、ACスキャンテストクロックCLKの立上りエッジに同期してデータ出力端子に信号aとして出力する。フリップフロップF12は、データ入力端子に印加された信号aの値を、ACスキャンテストクロックCLKの立下りエッジに同期して信号bとして出力する。なお、フリップフロップFF11およびFF12はD型フリップフロップである。
フリップフロップFF11は、データ入力端子に印加されたスキャンイネーブル信号SCAN_ENABLEの値を、ACスキャンテストクロックCLKの立上りエッジに同期してデータ出力端子に信号aとして出力する。フリップフロップF12は、データ入力端子に印加された信号aの値を、ACスキャンテストクロックCLKの立下りエッジに同期して信号bとして出力する。なお、フリップフロップFF11およびFF12はD型フリップフロップである。
アンド回路AND11は、ACスキャンテストモード信号AC_SCANおよびスキャンイネーブル信号SCAN_ENABLEの反転論理値のアンド処理結果を信号cとして出力する。ナンド回路NAND11は、信号bおよびリリースクロック制御信号S0_CD_0のナンド処理結果を信号dとして出力する。ナンド回路NAND12は、信号bの反転論理値およびキャプチャクロック制御信号S1_CD_0のナンド処理結果を信号eとして出力する。
ナンド回路NAND13は、信号c、信号d、および信号eのナンド処理結果を信号fとして出力する。アンド回路AND12は、信号fおよびACスキャンテストクロックCLKのアンド処理結果をドメインテストクロックGCLKとして出力する。
他のクロックドメインCD_1〜クロックドメインCD_n−1が有するクロック制御回路LCSCの構成は、以下の点を除いてクロックドメインCD_0と同一である。クロックドメインCD_Nに入力されるリリースクロック制御信号S0_CD_Nおよびキャプチャクロック制御信号S1_CD_Nは、各クロックドメインCD_N毎に設定された値がテスト制御レジスタTDRから出力される。
図2を参照して、実施の形態1に係るクロック制御回路LCSCの機能を説明する。
TDR設定とは、例えば、クロックドメインCD_0のクロック制御回路LCSCへ出力するリリースクロック制御信号S0_CD_0およびキャプチャクロック制御信号S1_CD_0の値の組み合わせである。
TDR設定とは、例えば、クロックドメインCD_0のクロック制御回路LCSCへ出力するリリースクロック制御信号S0_CD_0およびキャプチャクロック制御信号S1_CD_0の値の組み合わせである。
リリースクロックとは、ACスキャンテストクロックCLKの最初のクロックパルスに対応して生成されるドメインテストクロックGCLKにおける最初のクロックパルスである。キャプチャクロックとは、ACスキャンテストクロックCLKの2番目のクロックパルスに対応して生成されるドメインテストクロックGCLKにおける2番目のクロックパルスである。”Enable”とは、対応するクロックパルスがドメインテストクロックGCLKにおいて生成され、”Disable”とは、対応するクロックパルスが生成されないことを示す。
リリースクロック制御信号S0_CD_0の値がハイレベル”1”の場合は、ドメインテストクロックGCLKにおいて最初のクロックパルスが生成される。リリースクロック制御信号S0_CD_0の値がロウレベル”0”の場合は、ドメインテストクロックGCLKにおいて最初のクロックパルスは生成されない。
キャプチャクロック制御信号S1_CD_0の値がハイレベル”1”の場合は、ドメインテストクロックGCLKにおいて2番目のクロックパルスが生成される。キャプチャクロック制御信号S1_CD_0の値がロウレベル”0”の場合は、ドメインテストクロックGCLKにおいて2番目のクロックパルスは生成されない。なお、図2はクロックドメインCD_0のクロック制御回路LCSCの機能を示すが、他のクロックドメインも同様である。
図3を参照して、実施の形態1に係るクロック制御回路LCSCの動作を説明する。
図3は、テスト制御レジスタTDRをリリースクロック制御信号S0_CD_0=1、キャプチャクロック制御信号S1_CD_0=1と設定した場合の、クロックドメインCD_0におけるクロック制御回路LCSCのタイミング図である。
図3は、テスト制御レジスタTDRをリリースクロック制御信号S0_CD_0=1、キャプチャクロック制御信号S1_CD_0=1と設定した場合の、クロックドメインCD_0におけるクロック制御回路LCSCのタイミング図である。
ACスキャンテストモード信号AC_SCANをハイレベル”1”に設定すると、半導体装置LSIはACスキャンテストを実行する状態に設定される。ここで、ACスキャンテストとは、半導体装置LSIの実動作時のクロック速度相当の速度を有するACスキャンテストクロックCLKを機能ブロックIPに供給し、その機能ブロックIPの遅延故障解析を行うことである。ACスキャンテストモード信号AC_SCANをロウレベル”0”に設定すると、半導体装置LSIは通常動作状態、又は、その他の動作状態となる。
時刻t0から時刻t5の期間に亘り、スキャンイネーブル信号SCAN_ENABLEをロウレベル”0”に設定する。スキャンイネーブル信号SCAN_ENABLEがロウレベル”0”の期間はキャプチャ期間、ハイレベル”1”の期間はシフト期間に設定される。
時刻t0以前のシフト期間1では、クロックドメインCD_0に複数ある故障検出フリップフロップFF13をシリアルに接続してシフト動作させ、順次、各故障検出フリップフロップFF13に対してテストパターンの設定を行う。時刻t5以降のシフト期間2では、ACスキャンテストの結果を各故障検出フリップフロップFF13から読み出す。各シフト期間におけるドメインテストクロックGCLKのクロック速度は実動作時のクロック速度より遅く設定される。
シフト期間1では、ACスキャンテストモード信号AC_SCAN=1、スキャンイネーブル信号SCAN_ENABLE=1と設定され、図1のクロック制御回路LCSCにおいて、信号fはハイレベル”1”となる。その結果、2つのクロックパルスを有するACスキャンテストクロックCLKは、そのままドメインテストクロックGCLKとして出力される。
シフト期間1におけるドメインテストクロックGCLKの生成は、各クロックドメインCD_Nに対して個別に設定されるリリースクロック制御信号S0_CD_Nおよびキャプチャクロック制御信号S1_CD_Nの値に依存しない。従って、シフト期間1における故障検出フリップフロップFF13のシフト動作は、各クロックドメインCD_Nにおいて同時に行われる。
シフト期間1の前に、テスト制御レジスタTDRのフリップフロップFFR00からフリップフロップFFR1n−1に所望の値を設定する。各クロックドメインCD_N別に設定されるリリースクロック制御信号S0_CD_Nおよびキャプチャクロック制御信号S1_CD_Nの値に応じて、各々、テスト制御レジスタTDRのフリップフロップFFR0NおよびフリップフロップFFR1Nの値を事前に設定する。
時刻t0から時刻t5のキャプチャ期間1において、クロック生成回路TCGが出力するACスキャンテストクロックCLKの速度は実動作時のクロック速度相当である。クロック制御回路LCSCは、リリースクロック制御信号S0_CD_0およびキャプチャクロック制御信号S1_CD_0の値に基づき、ドメインテストクロックGCLKのリリースクロックおよびキャプチャクロックの生成または消滅を行う。
以下、図3および図1を参照して、キャプチャ期間1におけるクロック制御回路LCSCの動作を説明する。
時刻t0にスキャンイネーブル信号SCAN_ENABLEがハイレベル”1”からロウレベル”0”に変化すると、アンド回路AND11の出力信号cはロウレベル”0”からハイレベル”1”に変化する。
時刻t1にACスキャンテストクロックCLKの最初のクロックパルスの立上りエッジに同期して、フリップフロップFF11はスキャンイネーブル信号SCAN_ENABLEのロウレベル”0”を出力する(信号a)。時刻t1において、フリップフロップFF12はシフト期間1におけるハイレベル”1”を保持して出力(信号b)しているため、ナンド回路NAND11の出力(信号d)はリリースクロック制御信号S0_CD_0の値で決定される。一方、ナンド回路NAND12はキャプチャクロック制御信号S1_CD_0の値によらずハイレベル”1”を出力する(信号e)。
リリースクロック制御信号S0_CD_0=1であるから、信号dはロウレベル”0”を維持する。その結果、アンド回路AND12はACスキャンテストクロックCLKの最初のクロックパルスをドメインテストクロックGCLKのリリースクロックとして生成する。
時刻t2にACスキャンテストクロックCLKの最初のクロックパルスの立下りエッジに同期して、フリップフロップFF12は信号aのロウレベル”0”を出力する(信号b)。信号bがロウレベル”0”に変化すると、ナンド回路NAND12の出力(信号e)はキャプチャクロック制御信号S1_CD_0の値で決定される。一方、ナンド回路NAND11はリリースクロック制御信号S0_CD_0の値によらずハイレベル”1”に変化する(信号d)。
キャプチャクロック制御信号S1_CD_0=1であるから、信号eはロウレベル”0”に変化する。
時刻t3にACスキャンテストクロックCLKの2番目のクロックパルスの立上りエッジがフリップフロップFF11およびフリップフロップFF12に入力されても信号bの値はロウレベル”0”であるため、ナンド回路NAND12の出力(信号e)はキャプチャクロック制御信号S1_CD_0の値で決定される。キャプチャクロック制御信号S1_CD_0=1であるから、アンド回路AND12はACスキャンテストクロックCLKの2番目のクロックパルスをドメインテストクロックGCLKのキャプチャクロックとして生成する。
時刻t5にスキャンイネーブル信号SCAN_ENABLEがハイレベル”1”に変化すると、以降はシフト期間2が設定される。
図3に示す通り、リリースクロック制御信号S0_CD_Nおよびキャプチャクロック制御信号S1_CD_Nをハイレベル”1”に設定することにより、クロックドメインCD_Nにおいて、ドメインテストクロックGCLKにリリースクロックおよびキャプチャクロックが生成される。
図4を参照して、実施の形態1に係るクロック制御回路LCSCの動作を説明する。
図4は、テスト制御レジスタTDRをリリースクロック制御信号S0_CD_0=0、キャプチャクロック制御信号S1_CD_0=0と設定した場合の、クロックドメインCD_0におけるクロック制御回路LCSCのタイミング図である。図3と同様に、時刻t0から時刻t5の期間に亘り、スキャンイネーブル信号SCAN_ENABLEをロウレベル”0”に設定する。
図4は、テスト制御レジスタTDRをリリースクロック制御信号S0_CD_0=0、キャプチャクロック制御信号S1_CD_0=0と設定した場合の、クロックドメインCD_0におけるクロック制御回路LCSCのタイミング図である。図3と同様に、時刻t0から時刻t5の期間に亘り、スキャンイネーブル信号SCAN_ENABLEをロウレベル”0”に設定する。
時刻t1において信号bがハイレベル”1”であるため、キャプチャクロック制御信号S1_CD_0の値によらず、信号eはハイレベル”1”を維持する。一方、リリースクロック制御信号S0_CD_0がロウレベル”0”であるため、信号dはハイレベル”1”を維持する。その結果、信号fはロウレベル”0”を維持し、ドメインテストクロックGCLKにリリースクロックは生成されない。
時刻t3において信号bがロウレベル”0”であるため、リリースクロック制御信号S0_CD_0の値によらず、信号dはハイレベル”1”を維持する。一方、キャプチャクロック制御信号S1_CD_0がロウレベル”0”であるため、信号eはハイレベル”1”を維持する。その結果、信号fはロウレベル”0”を維持し、ドメインテストクロックGCLKにキャプチャクロックは生成されない。
図5を参照して、実施の形態1に係るクロック制御回路LCSCの動作を説明する。
図5は、テスト制御レジスタTDRをリリースクロック制御信号S0_CD_0=1、キャプチャクロック制御信号S1_CD_0=0と設定した場合の、クロックドメインCD_0におけるクロック制御回路LCSCのタイミング図である。図3と同様に、時刻t0から時刻t5の期間に亘り、スキャンイネーブル信号SCAN_ENABLEをロウレベル”0”に設定する。
図5は、テスト制御レジスタTDRをリリースクロック制御信号S0_CD_0=1、キャプチャクロック制御信号S1_CD_0=0と設定した場合の、クロックドメインCD_0におけるクロック制御回路LCSCのタイミング図である。図3と同様に、時刻t0から時刻t5の期間に亘り、スキャンイネーブル信号SCAN_ENABLEをロウレベル”0”に設定する。
時刻t1において信号bがハイレベル”1”であるため、キャプチャクロック制御信号S1_CD_0の値によらず、信号eはハイレベル”1”を維持する。一方、リリースクロック制御信号S0_CD_0がハイレベル”1”であるため、信号dはロウレベル”0”を維持する。その結果、信号fはハイレベル”1”を維持し、ドメインテストクロックGCLKにリリースクロックが生成される。
時刻t3において信号bがロウレベル”0”であるため、リリースクロック制御信号S0_CD_0の値によらず、信号dはハイレベル”1”を維持する。一方、キャプチャクロック制御信号S1_CD_0がロウレベル”0”であるため、信号eはハイレベル”1”を維持する。その結果、信号fはロウレベル”0”を維持し、ドメインテストクロックGCLKにキャプチャクロックは生成されない。
図6を参照して、実施の形態1に係るクロック制御回路LCSCの動作を説明する。
図6は、テスト制御レジスタTDRをリリースクロック制御信号S0_CD_0=0、キャプチャクロック制御信号S1_CD_0=1と設定した場合の、クロックドメインCD_0におけるクロック制御回路LCSCのタイミング図である。図3と同様に、時刻t0から時刻t5の期間に亘り、スキャンイネーブル信号SCAN_ENABLEをロウレベル”0”に設定する。
図6は、テスト制御レジスタTDRをリリースクロック制御信号S0_CD_0=0、キャプチャクロック制御信号S1_CD_0=1と設定した場合の、クロックドメインCD_0におけるクロック制御回路LCSCのタイミング図である。図3と同様に、時刻t0から時刻t5の期間に亘り、スキャンイネーブル信号SCAN_ENABLEをロウレベル”0”に設定する。
時刻t1において信号bがハイレベル”1”であるため、キャプチャクロック制御信号S1_CD_0の値によらず、信号eはハイレベル”1”を維持する。一方、リリースクロック制御信号S0_CD_0がロウレベル”0”であるため、信号dはハイレベル”1”を維持する。その結果、信号fはロウレベル”0”を維持し、ドメインテストクロックGCLKにリリースクロックは生成されない。
時刻t3において信号bがロウレベル”0”であるため、リリースクロック制御信号S0_CD_0の値によらず、信号dはハイレベル”1”を維持する。一方、キャプチャクロック制御信号S1_CD_0がハイレベル”1”であるため、信号eはロウレベル”0”を維持する。その結果、信号fはハイレベル”1”を維持し、ドメインテストクロックGCLKにキャプチャクロックが生成される。
図7を参照して、実施の形態1に係るクロック制御回路LCSCによる機能ブロックIPのACスキャンテスト方法を説明する。
クロック生成回路TCGは、各クロックドメインCD_NへACスキャンテストクロックCLKを供給する。このうち、クロックドメインCD_0、クロックドメインCD_1、およびクロックドメインCD_n−1に関するテスト制御レジスタTDRは以下の通り設定されている場合を想定する。
リリースクロック制御信号S0_CD_0=1
キャプチャクロック制御信号S1_CD_0=1
リリースクロック制御信号S0_CD_1=1
キャプチャクロック制御信号S1_CD_=0
リリースクロック制御信号S0_CD_n−1=0
キャプチャクロック制御信号S1_CD_n−1=0
クロックドメインCD_0のフリップフロップFF13は故障検出フリップフロップである。クロック制御回路LCSCは、ドメインテストクロックGCLKのリリースクロックRおよびキャプチャクロックCを故障検出フリップフロップFF13のクロック端子に出力する。故障検出フリップフロップFF13にはデータD1が入力される。データD1は、例えば、ある遅延故障検出対象パスの終端から出力されるデータである。故障検出フリップフロップFF13はデータQ1を出力する。この出力は、例えば、別の遅延故障検出対象パスの始端へ出力される。
リリースクロック制御信号S0_CD_0=1
キャプチャクロック制御信号S1_CD_0=1
リリースクロック制御信号S0_CD_1=1
キャプチャクロック制御信号S1_CD_=0
リリースクロック制御信号S0_CD_n−1=0
キャプチャクロック制御信号S1_CD_n−1=0
クロックドメインCD_0のフリップフロップFF13は故障検出フリップフロップである。クロック制御回路LCSCは、ドメインテストクロックGCLKのリリースクロックRおよびキャプチャクロックCを故障検出フリップフロップFF13のクロック端子に出力する。故障検出フリップフロップFF13にはデータD1が入力される。データD1は、例えば、ある遅延故障検出対象パスの終端から出力されるデータである。故障検出フリップフロップFF13はデータQ1を出力する。この出力は、例えば、別の遅延故障検出対象パスの始端へ出力される。
クロックドメインCD_1の故障検出フリップフロップFF13のクロック端子には、ドメインテストクロックGCLKのリリースクロックRは入力されるがキャプチャクロックCは入力されない。従って、故障検出フリップフロップFF13は、入力端子に印加されたデータD2を取り込むことはない。一方、故障検出フリップフロップFF13は、リリースクロックRに同期してデータQ2を出力する。このデータ2は、既に故障検出フリップフロップFF13に格納済みのデータである。
クロックドメインCD_1は非同期回路ASPを有する。非同期回路ASPは、クロックドメインCD_0で生成されたデータQ1を受け、クロックドメインCD_1の故障検出フリップフロップFF13の入力端子にその出力データ(データD2)を印加する。即ち、クロックドメインCD_0とクロックドメインCD_1は、非同期転送パスである非同期回路ASPで接続されている。
クロックドメインCD_n−1の故障検出フリップフロップFF13のクロック端子には、ドメインテストクロックGCLKのリリースクロックRおよびキャプチャクロックCのいずれも入力されない。従って、半導体装置LSIの機能ブロックIPのACスキャンテスト時のキャプチャ期間は、遅延故障検出対象のパスや故障検出フリップフロップFF13は動作することが無い。
図7において、クロックドメインCD_1のドメインテストクロックGCLKにリリースクロックRのみ生成させキャプチャクロックCを生成させない効果を説明する。
クロックドメインCD_1とクロックドメインCD_0との間には、非同期転送パス(非同期回路ASP)が形成されている。クロックドメインCD_0の故障検出フリップフロップFF13には、ドメインテストクロックGCLKのリリースクロックRおよびキャプチャクロックCが印加される。従って、リリースクロックRに同期してクロックドメインCD_0の故障検出フリップフロップFF13は、非同期回路ASPを経由して、クロックドメインCD_1の故障検出フリップフロップFF13の入力端子へデータD2を出力する。
非同期回路ASPの出力をクロックドメインCD_1のACスキャンテスト用データとすることは不適切である。従来は、クロックドメインCD_1において、非同期転送マスク回路を介して故障検出フリップフロップFF13のデータ入力端子に非同期回路ASPの出力を入力していた。
ACスキャンテスト時、非同期転送マスク回路で非同期回路ASPの出力データをマスクすることで、非同期転送パスを遮断していた。しかしながら、全ての非同期転送パスに非同期転送マスク回路を挿入することは回路設計時間の増大を招き、さらに半導体装置の面積増大を招く。
それに対し、図7に示す通り、クロックドメインCD_1におけるドメインテストクロックGCLKにキャプチャクロックCを生成しなければ、非同期回路ASPの出力を故障検出フリップフロップFF13がデータとして取り込むことはない。従来のように追加の非同期転送マスク回路を設けることなく、クロック制御回路LCSCの動作をテスト制御レジスタTDRで制御することにより、非同期転送パスからのデータを遮断できる。
図7において、クロックドメインCD_n−1のドメインテストクロックGCLKにリリースクロックおよびキャプチャクロックを生成させない場合の効果を説明する。
近年、機能ブロックの大規模化やACスキャンテスト時のクロック速度の高速化に伴い、ACスキャンテスト時の消費電力が増大している。ACスキャンテストは機能ブロックを同時に動作させるため、リリース期間およびキャプチャ期間の機能ブロックを構成する論理回路のトグル率が上昇する。この結果、通常動作時より機能ブロックの消費電流が増大するため、ACスキャンテスト時の動作電圧範囲の悪化が問題となる。この問題は、ACスキャンテスト時のクロック速度の高速化に加え、機能ブロックの規模増大も原因となっている。
この問題を解決するため、実施例1に係るクロック制御回路LCSCは、半導体装置LSIをACスキャンテストモードに設定した場合において、機能ブロックIPを構成する一部のクロックドメインに対してリリースクロックまたはキャプチャクロックの供給を停止する。テスト制御レジスタTDRはリリースクロック制御信号S0_CD_n−1およびキャプチャクロック制御信号S1_CD_n−1の値をロウレベル”0”となるように設定される。この結果、クロックドメインCD_n−1のクロック制御回路LCSCは、ACスキャンテスト時にドメインテストクロックGCLKにリリースクロックRおよびキャプチャクロックCのいずれも生成しない。
<実施の形態2>
図8を参照して、実施の形態2に係る半導体装置LSIの構成を説明する。
図8を参照して、実施の形態2に係る半導体装置LSIの構成を説明する。
半導体装置LSIは、テスト制御回路TCTL、テスト制御レジスタTDR、および機能ブロックIPを備える。
テスト制御回路TCTLは、ACスキャンテストクロックCLKを生成するクロック生成回路TCGおよびキャプチャイネーブル回路CAPT_ENBを有する。クロック生成回路TCGは端子T0からACスキャンテストクロックCLKを出力する。キャプチャイネーブル回路CAPT_ENBは、スキャンイネーブル信号SCAN_ENABLEおよびキャプチャイネーブル信号ac_capt_lcscを出力する。
テスト制御レジスタTDRはD型フリップフロップFFR0NおよびD型フリップフロップFFR1Nを有し、各々のフリップフロップからリリースクロック制御信号S0_CD_Nおよびキャプチャクロック制御信号S1_CD_Nを出力する。テスト制御レジスタTDRは、さらに、クロック制御キャンセル信号cancel_lcscを出力するD型フリップフロップFFclを有する。
実施の形態2に係る半導体装置LSIにおけるキャプチャイネーブル回路CAPT_ENBは、このクロック制御キャンセル信号cancel_lcscに応答してキャプチャイネーブル信号ac_capt_lcscを生成する。
キャプチャイネーブル回路CAPT_ENBは、入力されたスキャンイネーブル信号SCAN_ENABLEの反転論理値およびACスキャンテストモード信号AC_SCANのアンド処理を行うアンド回路AND22と、アンド回路AND22の出力とクロック制御キャンセル信号cancel_lcscの反転論理値のアンド処理を行いキャプチャイネーブル信号ac_capt_lcscを出力するアンド回路AND23とを有する。
機能ブロックIPは、非同期パスで互いに接続されているものも含むクロックドメインCD_Nを有する。各クロックドメインCD_Nはクロック制御回路LCSC、クロックゲーティング回路GCK、および故障検出フリップフロップFF23を有する。
クロック制御回路LCSCは、ACスキャンテストクロックCLKの2つのクロックパルスに対応させて、ドメインテストクロックGCLKにクロックパルスを生成するか否かを決定し出力する。
フリップフロップFF21のデータ入力端子にはスキャンイネーブル信号SCAN_ENABLEが入力され、ACスキャンテストクロックCLKの立上りエッジに同期して信号aを出力する。なお、フリップフロップFF21はD型フリップフロップである。ナンド回路NAND21は、信号aおよびリリースクロック制御信号S0_CD_0のナンド処理結果を信号cとして出力する。
ナンド回路NAND22は、信号aの反転論理値およびキャプチャクロック制御信号S1_CD_0のナンド処理結果を信号dとして出力する。ナンド回路NAND23は、信号b(キャプチャイネーブル信号ac_capt_lcsc)、信号c、および信号dのナンド処理結果を信号stp_nとして出力する。
クロックゲーティング回路GCKは、ACスキャンテストモード時に、クロック制御回路LCSCの出力信号stp_nに基づきドメインテストクロックGCLKの生成を制御する。
オア回路OR21は、ロウレベル”0”に設定された一方の入力と信号stp_nのオア処理を行い、ラッチ回路Latch21へ出力する。ラッチ回路Latch21はACスキャンテストクロックCLKのロウレベルにてオア回路OR21の出力を取り込み、信号eとして出力する。アンド回路AND21は、信号eおよびACスキャンテストクロックCLKのアンド処理結果をドメインテストクロックGCLKとして出力する。
なお、ACスキャンテストモード信号AC_SCANをロウレベルに設定することにより半導体装置LSIがACスキャンテストモード以外のモードに設定されている場合、クロックゲーティング回路GCKのオア回路OR21へ入力する信号stp_nはハイレベル”1”に設定される。この設定により、ACスキャンテストモード以外のモード時には故障検出フリップフロップFF23へのドメインテストクロックGCLKが常に供給される。
図9を参照して、実施の形態2に係るクロック制御回路LCSCおよびクロックゲーティング回路GCKの機能を説明する。
TDR設定とは、例えば、クロックドメインCD_0のクロック制御回路LCSCへ出力するリリースクロック制御信号S0_CD_0、キャプチャクロック制御信号S1_CD_0、およびクロック制御キャンセル信号cancel_lcscの値の組み合わせである。
図9において、TDR設定がクロック制御キャンセル信号cancel_lcsc=0の場合、リリースクロックおよびキャプチャクロックの生成は図2と同様となる。それに対し、クロック制御キャンセル信号cancel_lcsc=1の場合、リリースクロック制御信号S0_CD_0およびキャプチャクロック制御信号S1_CD_0の値によらず、ドメインテストクロックGCLKにリリースクロックおよびキャプチャクロックが生成される。
図10を参照して、実施の形態2に係るクロック制御回路LCSCおよびクロックゲーティング回路GCKの動作を説明する。
図10は、クロックドメインCD_0に対するテスト制御レジスタTDRをリリースクロック制御信号S0_CD_0=1、キャプチャクロック制御信号S1_CD_0=1と設定した場合のタイミング図である。
ACスキャンテストモード信号AC_SCANをハイレベル”1”に設定し半導体装置LSIをACスキャンテストモードに設定する。半導体装置LSIは、スキャンイネーブル信号SCAN_ENABLEがロウレベル”0”の期間はキャプチャ期間、ハイレベル”1”の期間はシフト期間に設定される。シフト期間1およびシフト期間2における故障検出フリップフロップFF23の動作は実施の形態1と同様である。
シフト期間1では、ACスキャンテストモード信号AC_SCAN=1、スキャンイネーブル信号SCAN_ENABLE=1と設定され、図8のクロック制御回路LCSCにおいて、キャプチャイネーブル信号ac_capt_lcscはロウレベル”0”、信号stp_nはハイレベル”1”となる。その結果、2つのクロックパルスを有するACスキャンテストクロックCLKは、そのままドメインテストクロックGCLKとして出力される。
シフト期間1におけるドメインテストクロックGCLKの生成は、各クロックドメインCD_Nに対して個別に設定されるリリースクロック制御信号S0_CD_Nおよびキャプチャクロック制御信号S1_CD_Nの値に依存しない。従って、シフト期間1における故障検出フリップフロップFF23に対するシフト動作(テストパターンの設定、テスト結果の読出し)は、各クロックドメインCD_Nにおいて同時に行われる。シフト期間1の前に、テスト制御レジスタTDRに含まれるフリップフロップFFR00からフリップフロップFFRn−1へ所望の値を事前に設定しておく。
以下、図8および図10を参照して、キャプチャ期間1におけるクロック制御回路LCSCおよびクロックゲーティング回路GCKの動作を説明する。
時刻t0にスキャンイネーブル信号SCAN_ENABLEがハイレベル”1”からロウレベル”0”に変化すると、フリップフロップFF21にはロウレベル”0”が入力される。
時刻t1のACスキャンテストクロックCLKの最初のクロックパルスの立上りエッジに同期して、フリップフロップFF21の出力信号aはハイレベル”1”からロウレベル”0”に変化する。リリースクロック制御信号S0_CD_0=1であるから、信号aの変化に応答してナンド回路NAND21の出力信号cはハイレベル”1”に変化する。一方、キャプチャクロック制御信号S1_CD_0=1であるから、信号aの変化に応答してナンド回路NAND22の出力信号dはロウレベル”0”に変化する。
信号b、信号c、および信号dのうち、信号dがロウレベル”0”のため、ナンド回路NAND23の出力信号stp_nはハイレベル”1”を維持する。
クロックゲーティング回路GCKのラッチ回路Latch21は、キャプチャ期間1において信号stp_nのハイレベル”1”を保持し、アンド回路AND21の一方の入力にハイレベル”1”の信号eを印加する。この結果、アンド回路AND21の他方の入力に印加されるACスキャンテストクロックCLKはドメインテストクロックGCLKとして出力される。つまり、ACスキャンテストクロックCLKの2つのクロックパルスに対応して、ドメインテストクロックGCLKにリリースクロックおよびキャプチャクロックが生成される。
図11を参照して、実施の形態2に係るクロック制御回路LCSCおよびクロックゲーティング回路GCKの動作を説明する。
図11は、クロックドメインCD_0に対するテスト制御レジスタTDRをリリースクロック制御信号S0_CD_0=0、キャプチャクロック制御信号S1_CD_0=0と設定した場合のタイミング図である。
時刻t0にスキャンイネーブル信号SCAN_ENABLEがハイレベル”1”からロウレベル”0”に変化すると、フリップフロップFF21にはロウレベル”0”が入力される。
時刻t1のACスキャンテストクロックCLKの最初のクロックパルス立上りエッジに同期して、フリップフロップFF21の出力信号aはハイレベル”1”からロウレベル”0”に変化する。リリースクロック制御信号S0_CD_0=0であるから、信号aの変化によらずナンド回路NAND21の出力信号cはハイレベル”1”を維持する。同様に、キャプチャクロック制御信号S1_CD_0=0であるから、信号aの変化によらずナンド回路NAND22の出力信号dもハイレベル”1”を維持する。
信号b、信号c、および信号dのいずれもハイレベル”1”のため、ナンド回路NAND23の出力信号stp_nはロウレベル”0”を維持する。
クロックゲーティング回路GCKのラッチ回路Latch21は、キャプチャ期間1において信号stp_nのロウレベル”0”を保持し、アンド回路AND21の一方の入力にロウレベル”0”の信号eを印加する。この結果、アンド回路AND21の他方の入力に印加されるACスキャンテストクロックCLKは信号eでマスクされ、ドメインテストクロックGCLKにはリリースクロックおよびキャプチャクロックは生成されない。
図12を参照して、実施の形態2に係るクロック制御回路LCSCおよびクロックゲーティング回路GCKの動作を説明する。
図12は、クロックドメインCD_0に対するテスト制御レジスタTDRをリリースクロック制御信号S0_CD_0=1、キャプチャクロック制御信号S1_CD_0=0と設定した場合のタイミング図である。
時刻t0にスキャンイネーブル信号SCAN_ENABLEがハイレベル”1”からロウレベル”0”に変化すると、フリップフロップFF21にはロウレベル”0”が入力される。
時刻t1のACスキャンテストクロックCLKの最初のクロックパルスの立上りエッジに同期して、フリップフロップFF21の出力信号aはハイレベル”1”からロウレベル”0”に変化する。リリースクロック制御信号S0_CD_0=1であるから、信号aの変化に応答してナンド回路NAND21の出力信号cはロウレベル”0”からハイレベル”1”に変化する。一方、キャプチャクロック制御信号S1_CD_0=0であるから、信号aの変化によらずナンド回路NAND22の出力信号dはハイレベル”1”を維持する。
信号cがハイレベル”1”に変化するため、ナンド回路NAND23の出力信号stp_nはロウレベル”0”に変化する。
クロックゲーティング回路GCKのラッチ回路Latch21は、時刻t1から時刻t2のACスキャンテストクロックCLKの最初の立下りエッジの期間、出力信号eのハイレベル”1”を保持する。その結果、時刻t1から時刻t2の期間、ドメインテストクロックGCLKにリリースクロックが生成される。
時刻t2にACスキャンテストクロックCLKがロウレベル”0”に変化すると、ラッチ回路Latch21は信号stp_nのロウレベル”0”を取り込み、出力信号eをロウレベル”0”に変化させる。その結果、時刻t3から時刻t4の期間、ドメインテストクロックGCLKにキャプチャクロックは生成されない。
図13を参照して、実施の形態2に係るクロック制御回路LCSCおよびクロックゲーティング回路GCKの動作を説明する。
図13は、クロックドメインCD_0に対するテスト制御レジスタTDRをリリースクロック制御信号S0_CD_0=0、キャプチャクロック制御信号S1_CD_0=1と設定した場合のタイミング図である。
時刻t0にスキャンイネーブル信号SCAN_ENABLEがハイレベル”1”からロウレベル”0”に変化すると、フリップフロップFF21にはロウレベル”0”が入力される。
時刻t1のACスキャンテストクロックCLKの最初のクロックパルスの立上りエッジに同期して、フリップフロップFF21の出力信号aはハイレベル”1”からロウレベル”0”に変化する。リリースクロック制御信号S0_CD_0=0であるから、信号aの変化によらずナンド回路NAND21の出力信号cはハイレベル”1”を維持する。一方、キャプチャクロック制御信号S1_CD_0=1であるから、信号aの変化に応答してナンド回路NAND22の出力信号dはハイレベル”1”からロウレベル”0”に変化する。
信号dがロウレベル”0”に変化するため、ナンド回路NAND23の出力信号stp_nはハイレベル”1”に変化する。
時刻t1から時刻t2の期間、クロックゲーティング回路GCKのラッチ回路Latch21はロウレベル”0”を保持し、信号eはロウレベル”0”となる。その結果、時刻t1から時刻t2の期間、ドメインテストクロックGCLKにリリースクロックは生成されない。
時刻t2にACスキャンテストクロックCLKがロウレベル”0”に変化すると、ラッチ回路Latch21は信号stp_nのハイレベル”1”を取り込み、出力信号eをハイレベル”1”に変化させる。その結果、時刻t3から時刻t4の期間、ドメインテストクロックGCLKにキャプチャクロックが生成される。
図14を参照して、実施の形態2に係るクロック制御回路LCSCおよびクロックゲーティング回路GCKの動作を説明する。
図10から図13のタイミング図は、クロック制御キャンセル信号cancel_lcsc=0と設定していた場合におけるクロック制御回路LCSCおよびクロックゲーティング回路GCKの動作を示すものである。
これに対し、図14は、クロック制御キャンセル信号cancel_lcsc=1と設定した場合のタイミング図である。クロック制御キャンセル信号cancel_lcsc=1と設定することにより、全てのクロックドメインCD_Nにおいて、リリースクロック制御信号S0_CD_Nおよびキャプチャクロック制御信号S1_CD_Nの値によらず、ドメインテストクロックGCLKにリリースクロックおよびキャプチャクロックを生成することが可能となる。
図14および図8を参照して、クロック制御回路LCSCおよびクロックゲーティング回路GCKの動作を説明する。
図8のキャプチャイネーブル回路CAPT_ENBは、ACスキャンテストモード信号AC_SCAN=1に設定されている場合、スキャンイネーブル信号SCAN_ENABLE、及び、クロック制御キャンセル信号cancel_lcscの設定値に基づきキャプチャイネーブル信号ac_capt_lcscの値が決定される。
クロック制御キャンセル信号cancel_lcsc=1と設定すると、キャプチャイネーブル信号ac_capt_lcsc(信号b)はロウレベル”0”となる。この結果、ACスキャンテストモードの期間、クロック制御回路LCSCの信号stp_nはハイレベル”1”を維持し、クロックゲーティング回路GCKはドメインテストクロックGCLKにリリースクロックおよびキャプチャクロックを生成する。
クロック制御キャンセル信号cancel_lcsc=1と設定すると、ドメインテストクロックGCLKのリリースクロックおよびキャプチャクロックは、全クロックドメインCD_Nにおいて生成される。
図14は、リリースクロック制御信号S0_CD_0およびキャプチャクロック制御信号S1_CD_0の値によらず、ACスキャンテストクロックCLKと同じ波形のドメインテストクロックGCLKが生成されることを示す。
<実施の形態3>
図15を参照して、実施の形態3に係る半導体装置LSIの構成を説明する。
図15を参照して、実施の形態3に係る半導体装置LSIの構成を説明する。
半導体装置LSIはテスト制御回路TCTL、テスト制御レジスタTDR、および機能ブロックIPを有する。
テスト制御回路TCTLは、ACスキャンテストクロックCLKを生成するクロック生成回路TCGおよびクロック停止制御信号cstop_Nを生成するキャプチャ停止回路CAPT_DISを有する。
テスト制御レジスタTDRは、フリップフロップFFR0〜フリップフロップFFRn−1を有する。各フリップフロップFFRN(N=0〜n−1)はクロック停止コア選択信号csel_Nを出力する。
キャプチャ停止回路CAPT_DISは、スキャンイネーブル信号SCAN_ENABLEの反転論理値とACスキャンテストモード信号AC_SCANとのアンド処理結果を出力するアンド回路AND34、およびアンド回路AND34の出力とクロック停止コア選択信号csel_Nとのナンド処理結果をクロック停止制御信号cstop_Nとして出力するn個のナンド回路NAND32を有する。
機能ブロックIPは、クロックドメインCD_0〜クロックドメインCD_n−1を有する。
各クロックドメインCD_Nは、スキャンクロック制御信号Original SMCとクロック停止制御信号cstop_Nとのアンド処理結果をスキャンクロックイネーブル信号SMCとして出力するアンド回路AND31、およびユーザクロック制御信号Original CENとクロック停止制御信号cstop_Nとのアンド処理結果をクロックイネーブル信号CENとして出力するアンド回路AND32を有するクロック制御回路LCSCを備える。
ここで、ユーザクロック制御信号Original CENは、ユーザ論理機能のクロック制御信号であり、スキャンクロック制御信号Original SMCは、スキャンテスト時のクロック制御信号である。ユーザクロック制御信号Original CENおよびスキャンクロック制御信号Original SMCは、各クロックドメインCD_Nへ共通に供給される場合と、各クロックドメインで異なる信号の場合がある。
スキャンクロックイネーブル信号SMCおよびクロックイネーブル信号CENは、ともにクロックゲーティング回路GCKの動作を制御する信号であるが、前者(SMC)はスキャンテスト用途、後者(CEN)はユーザ機能用途に用意されている。
各クロックドメインCD_Nは、さらに、スキャンクロックイネーブル信号SMCとクロックイネーブル信号CENとのオア処理を行うオア回路OR31、オア回路OR31の出力をACスキャンテストクロックCLKのロウレベル”0”で取り込み保持するラッチ回路Latch31、およびラッチ回路Latch31の出力信号aとACスキャンテストクロックCLKとのアンド処理結果をドメインテストクロックGCLKとして出力するアンド回路AND33を有するクロックゲーティング回路GCKを備える。
クロックゲーティング回路GCKは、スキャンクロックイネーブル信号SMCおよびクロックイネーブル信号CENに基づき、ドメインテストクロックGCLKのリリースクロックおよびキャプチャクロックの生成を制御する。
各クロックドメインCD_Nは、さらに、ドメインテストクロックGCLKに同期してデータのリリースやキャプチャを行う故障検出フリップフロップFF31を有する。
図16を参照して、実施の形態3に係るクロック制御回路LCSCおよびクロックゲーティング回路GCKの機能を説明する。
クロック停止コア選択信号csel_Nがロウレベル”0”の場合、ドメインテストクロックGCLKにおけるリリースクロックおよびキャプチャクロックの生成は、スキャンクロック制御信号Original SMCおよびユーザクロック制御信号Original CENの値に基づき決定される。一方、クロック停止コア選択信号csel_Nがハイレベル”1”の場合、そのクロックドメインCD_NのドメインテストクロックGCLKにおけるリリースクロックおよびキャプチャクロックは生成されない。
図17を参照して、実施の形態3に係るクロック制御回路LCSCおよびクロックゲーティング回路GCKの動作を説明する。図17は、クロック停止コア選択信号csel_Nをハイレベル”1”に設定した場合の各回路の動作を示す。
ACスキャンテストモード信号AC_SCANをハイレベル”1”、スキャンイネーブル信号SCAN_ENABLEをロウレベル”0”と設定されるキャプチャ期間1(時刻t0から時刻t5)において、キャプチャ停止回路CAPT_DISは、クロック停止コア選択信号csel_Nのハイレベル”1”を反転させたロウレベル”0”を有するクロック停止制御信号cstop_Nを出力する。
この結果、クロック制御回路LCSCは、スキャンクロック制御信号Original SMCおよびユーザクロック制御信号Original CENの値によらず、スキャンクロックイネーブル信号SMCおよびクロックイネーブル信号CENをロウレベル”0”とする。
時刻t1および時刻t3において、ラッチ回路Latch31の出力信号aはロウレベル”0”を維持するため、アンド回路AND33はACスキャンテストクロックCLKの2つのクロックパルスをマスクしたドメインテストクロックGCLKを生成する。つまり、ドメインテストクロックGCLKにはリリースクロックおよびキャプチャクロックは生成されない。
図18を参照して、実施の形態3に係るクロック制御回路LCSCおよびクロックゲーティング回路GCKの動作を説明する。図18は、クロック停止コア選択信号csel_Nをロウレベル”0”に設定した場合の各回路の動作を示す。
時刻t0から時刻t5のキャプチャ期間1において、キャプチャ停止回路CAPT_DISは、クロック停止コア選択信号csel_Nのロウレベル”0”を反転させたハイレベル”1”を有するクロック停止制御信号cstop_Nを出力する。
この結果、クロック制御回路LCSCは、スキャンクロック制御信号Original SMCおよびユーザクロック制御信号Original CENと同じ論理レベルを有するスキャンクロックイネーブル信号SMCおよびクロックイネーブル信号CENを出力する。
時刻t1および時刻t3において、スキャンクロックイネーブル信号SMCおよびクロックイネーブル信号CENの論理レベルが所望の値の組み合わせとなるようにスキャンクロック制御信号Original SMCおよびユーザクロック制御信号Original CENを制御することで、クロックゲーティング回路GCKはドメインテストクロックGCLKのリリースクロックおよびキャプチャクロックの生成を制御する。
実施の形態3の構成によれば、ロウレベル”0”のクロック停止コア選択信号csel_Nを設定された各クロックドメインCD_Nにおいて、ドメインテストクロックGCLKのリリースクロックおよびキャプチャクロックの生成は、スキャンクロック制御信号Original SMCおよびユーザクロック制御信号Original CENにより制御される。一方、クロック停止コア選択信号csel_Nをハイレベル”1”と設定したクロックドメインでは、リリースクロックおよびキャプチャクロックの生成は禁止される。
従って、クロックドメイン間に非同期転送パスが形成されている場合、データ送出側のクロックドメインのクロック停止コア選択信号csel_Nの値をハイレベル”1”と設定することにより、データ受信側のクロックドメインは非同期転送パスからのデータをマスクすることが出来る。
また、ACスキャンテスト時における半導体装置LSIの消費電力が問題となる場合、クロック停止コア選択信号csel_Nで選択したクロックドメインにおけるリリースクロックおよびキャプチャクロックの生成を禁止することにより、動作電圧範囲の悪化を抑制することが出来る。
<実施の形態3の変形例>
図19を参照して、実施の形態3の変形例に係る半導体装置LSIの構成を説明する。
図19を参照して、実施の形態3の変形例に係る半導体装置LSIの構成を説明する。
図19に示す半導体装置LSIの構成は、図15に示す実施の形態3に係る半導体装置LSIにおいて、クロックゲーティング回路GCKにアンド回路AND34を追加し、ドメインテストクロックGCLKの停止をクロックゲーティング回路GCKへ入力される信号cstop_Nで制御する構成に変更したものである。テスト制御回路TCTLおよびテスト制御レジスタTDRの構成は、図15の対応する構成と同一である。
スキャンテスト用途のスキャンクロックイネーブル信号SMCおよびユーザ機能用途のクロックイネーブル信号CENは、各クロックドメインCD_Nへ共通に供給される場合と、各クロックドメインで異なる信号の場合がある。
クロックゲーティング回路GCKは、スキャンクロックイネーブル信号SMCおよびクロックイネーブル信号CENのオア処理を行うオア回路OR31、オア回路OR31の出力とクロック停止制御信号cstop_Nのアンド処理を行うアンド回路AND34、アンド回路AND34の出力をACスキャンテストクロックCLKのロウレベル”0”で取り込み信号aを出力するラッチ回路Latch31、および信号aとACスキャンテストクロックCLKとのアンド処理を行うアンド回路AND33とを有する。
クロック停止コア選択信号csel_Nに基づきクロック停止制御信号cstop_Nを生成する構成は図15の対応する構成と同一であり、説明は省略する。
図20を参照して、実施の形態3の変形例に係るクロックゲーティング回路GCKの機能を説明する
クロック停止コア選択信号csel_Nがロウレベル”0”の場合、ドメインテストクロックGCLKにおけるリリースクロックおよびキャプチャクロックの生成は、スキャンクロックイネーブル信号SMCおよびクロックイネーブル信号CENの値に基づき決定される。一方、クロック停止コア選択信号csel_Nがハイレベル”1”の場合、そのクロックドメインCD_NのドメインテストクロックGCLKにおけるリリースクロックおよびキャプチャクロックは生成されない。
クロック停止コア選択信号csel_Nがロウレベル”0”の場合、ドメインテストクロックGCLKにおけるリリースクロックおよびキャプチャクロックの生成は、スキャンクロックイネーブル信号SMCおよびクロックイネーブル信号CENの値に基づき決定される。一方、クロック停止コア選択信号csel_Nがハイレベル”1”の場合、そのクロックドメインCD_NのドメインテストクロックGCLKにおけるリリースクロックおよびキャプチャクロックは生成されない。
図21を参照して、実施の形態3の変形例に係るクロックゲーティング回路GCKの動作を説明する。図21は、クロック停止コア選択信号csel_Nをハイレベル”1”に設定した場合の各回路の動作を示す。
ACスキャンテストモード信号AC_SCANをハイレベル”1”、スキャンイネーブル信号SCAN_ENABLEをロウレベル”0”と設定されるキャプチャ期間1(時刻t0から時刻t5)において、キャプチャ停止回路CAPT_DISは、クロック停止コア選択信号csel_Nのハイレベル”1”を反転させたロウレベル”0”を有するクロック停止制御信号cstop_Nを出力する。
この結果、クロックゲーティング回路GCKのアンド回路AND34は、スキャンクロックイネーブル信号SMCおよびクロックイネーブル信号CENの値によらずロウレベル”0”を出力する。
時刻t0から時刻t5のキャプチャ期間1に亘り、ラッチ回路Latch31は出力信号aをロウレベル”0”を維持するため、アンド回路AND33はドメインテストクロックGCLKにリリースクロックおよびキャプチャクロックを生成しない。
図22を参照して、実施の形態3の変形例に係るクロック停止コア選択信号csel_Nをロウレベル”0”に設定した場合のクロックゲーティング回路GCKの動作を説明する。
時刻t0から時刻t5のキャプチャ期間1において、キャプチャ停止回路CAPT_DISは、クロック停止コア選択信号csel_Nのロウレベル”0”を反転させたハイレベル”1”を有するクロック停止制御信号cstop_Nを出力する。この結果、アンド回路AND34の出力は、オア回路OR31に入力されるスキャンクロックイネーブル信号SMCおよびクロックイネーブル信号CENの値により決定される。
時刻t1および時刻t3において、スキャンクロックイネーブル信号SMCおよびクロックイネーブル信号CENの論理レベルを所望の値の組み合わせとなるように制御することで、クロックゲーティング回路GCKはドメインテストクロックGCLKのリリースクロックおよびキャプチャクロックの生成を制御する。
実施の形態3の変形例の構成によれば、ロウレベル”0”のクロック停止コア選択信号csel_Nを設定された各クロックドメインCD_Nにおいて、ドメインテストクロックGCLKのリリースクロックおよびキャプチャクロックの生成は、スキャンクロックイネーブル信号SMCおよびクロックイネーブル信号CENにより制御される。一方、クロック停止コア選択信号csel_Nをハイレベル”1”と設定したクロックドメインでは、リリースクロックおよびキャプチャクロックの生成は禁止される。
従って、クロックドメイン間に非同期転送パスが形成されている場合、データ送出側のクロックドメインのクロック停止コア選択信号csel_Nの値をハイレベル”1”と設定することにより、データ受信側のクロックドメインは非同期転送パスからのデータをマスクすることが出来る。
また、ACスキャンテスト時における半導体装置LSIの消費電力が問題となる場合、クロック停止コア選択信号csel_Nで選択したクロックドメインにおけるリリースクロックおよびキャプチャクロックの生成を禁止することにより、動作電圧範囲の悪化を抑制することが出来る。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなく特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
LSI 半導体装置、IP 機能ブロック、TCTL テスト制御回路、TCG クロック生成回路、CLK ACスキャンテストクロック、AC_SCAN ACスキャンテストモード信号、SCAN_ENABLE スキャンイネーブル信号、TDR テスト制御レジスタ、FFR00,FFR10 フリップフロップ、CD_0,CD_1,CD_n−1 クロックドメイン、LCSC クロック制御回路、GCLK ドメインテストクロック、GCK クロックゲーティング回路、S0_CD_0 リリースクロック制御信号、S1_CD_0 キャプチャクロック制御信号、CAPT_ENB キャプチャイネーブル回路、FFcl フリップフロップ、ac_capt_lcsc キャプチャイネーブル信号、cancel_lcsc クロック制御キャンセル信号、CAPT_DIS キャプチャ停止回路、FFR0,FFRn−1 フリップフロップ、csel_N クロック停止コア選択信号、cstop_0,cstop_1 クロック停止制御信号、Original SMC スキャンクロック制御信号、Original CEN ユーザクロック制御信号、SMC スキャンクロックイネーブル信号、CEN クロックイネーブル信号、csel_0,csel_n−1 クロック停止コア選択信号、ASP 非同期回路、FF11,FF12,FF13,FF21,FF23,FF31 フリップフロップ、a,b,c,d,e,f,stp_n 信号。
Claims (8)
- 第1クロックを生成するテスト制御回路と、
前記第1クロックに基づき第2クロックを生成するクロック制御回路と、
前記第2クロックに同期してデータのリリースおよびキャプチャを行うフリップフロップを含む複数のクロックドメインと、を備え、
前記クロック制御回路は、リリースクロック制御信号およびキャプチャクロック制御信号に基づき前記第2クロックのリリースクロックおよびキャプチャクロックの生成を制御し、
前記フリップフロップは、生成された前記リリースクロックおよび前記キャプチャクロックに同期して、各々、前記データのリリースおよびキャプチャを行う、半導体装置。 - 前記第1クロックは第1のクロックパルスおよび第2のクロックパルスを有し、
前記クロック制御回路は、前記リリースクロック制御信号および前記キャプチャクロック制御信号に基づき、前記第1のクロックパルスおよび前記第2のクロックパルスに対応する前記リリースクロックおよび前記キャプチャクロックの生成を制御する、請求項1記載の半導体装置。 - 前記リリースクロック制御信号および前記キャプチャクロック制御信号の値を設定するテスト制御レジスタをさらに有する、請求項2記載の半導体装置。
- 前記テスト制御レジスタは、前記クロックドメイン毎の前記リリースクロック制御信号および前記キャプチャクロック制御信号の値を設定するデータ保持回路を有する、請求項3記載の半導体装置。
- 前記クロック制御回路は、前記リリースクロック制御信号および前記キャプチャクロック制御信号によらず、クロック制御キャンセル信号に基づき前記リリースクロックおよび前記キャプチャクロックを生成する、請求項1ないし請求項4いずれか1項記載の半導体装置。
- 第1クロックを生成するテスト制御回路と、
前記第1クロックに基づき第2クロックを生成するクロック制御回路と、
前記第2クロックに同期してデータのリリースおよびキャプチャを行うフリップフロップを含む複数のクロックドメインと、を備え、
前記クロック制御回路は、第1のクロック制御信号および第2のクロック制御信号に基づき前記第2クロックのリリースクロックおよびキャプチャクロックの生成を制御し、
前記クロック制御回路は、前記第1のクロック制御信号および前記第2のクロック制御信号によらず、クロック停止制御信号に基づき前記リリースクロックおよび前記キャプチャクロックを生成しない、半導体装置。 - 前記第1のクロック制御信号および前記第2のクロック制御信号は、前記各クロックドメインの前記クロック制御回路へ供給される、請求項6記載の半導体装置。
- 前記クロック停止制御信号の値を設定するテスト制御レジスタをさらに有する、請求項6または請求項7記載の半導体装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012015465A JP2013156073A (ja) | 2012-01-27 | 2012-01-27 | 半導体装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012015465A JP2013156073A (ja) | 2012-01-27 | 2012-01-27 | 半導体装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013156073A true JP2013156073A (ja) | 2013-08-15 |
Family
ID=49051418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012015465A Pending JP2013156073A (ja) | 2012-01-27 | 2012-01-27 | 半導体装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013156073A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015099146A (ja) * | 2013-11-19 | 2015-05-28 | インフィネオン テクノロジーズ アーゲーInfineon Technologies Ag | 遅延故障構造テストのための網羅率向上およびパワーアウェアクロックシステム |
CN109901049A (zh) * | 2019-01-29 | 2019-06-18 | 厦门码灵半导体技术有限公司 | 检测集成电路用时序路径中异步路径的方法、装置 |
-
2012
- 2012-01-27 JP JP2012015465A patent/JP2013156073A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015099146A (ja) * | 2013-11-19 | 2015-05-28 | インフィネオン テクノロジーズ アーゲーInfineon Technologies Ag | 遅延故障構造テストのための網羅率向上およびパワーアウェアクロックシステム |
US9377511B2 (en) | 2013-11-19 | 2016-06-28 | Infineon Technologies Ag | Coverage enhancement and power aware clock system for structural delay-fault test |
CN109901049A (zh) * | 2019-01-29 | 2019-06-18 | 厦门码灵半导体技术有限公司 | 检测集成电路用时序路径中异步路径的方法、装置 |
CN109901049B (zh) * | 2019-01-29 | 2021-05-04 | 厦门码灵半导体技术有限公司 | 检测集成电路用时序路径中异步路径的方法、装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8013637B2 (en) | Clock signal selection circuit | |
US7650549B2 (en) | Digital design component with scan clock generation | |
JP5256840B2 (ja) | 論理回路 | |
JP2553292B2 (ja) | 論理回路テスト装置及び方法 | |
US8775857B2 (en) | Sequential on-chip clock controller with dynamic bypass for multi-clock domain testing | |
EP2707955B1 (en) | Synchronized output of multiple ring oscillators | |
JP2008275479A (ja) | スキャンテスト回路、及びスキャンテスト制御方法 | |
JP2013224917A (ja) | スキャンテスト回路、テストパタン生成制御回路及びスキャンテスト制御方法 | |
KR20110117589A (ko) | 스캔 시프트 동작 동안 ivd를 감소시키는 시스템 및 장치 | |
JP2010276479A (ja) | 半導体集積回路、及びそのテスト方法 | |
JP4699927B2 (ja) | 入出力共用端子制御回路 | |
JP2009177659A (ja) | パルスラッチ回路 | |
JP2013156073A (ja) | 半導体装置 | |
JP5136043B2 (ja) | 論理回路および記録媒体 | |
JP5148615B2 (ja) | 電子デバイスおよび診断装置 | |
JP2008292368A (ja) | スキャンテストポイント回路、及び集積回路 | |
JP2007263756A (ja) | スキャンテスト用フリップフロップ | |
JP6534592B2 (ja) | スキャンテスト回路及びスキャンテスト装置 | |
JP2008509389A (ja) | 論理回路、及びその試験方法 | |
JP2009210544A (ja) | 半導体集積回路 | |
JP2013036960A (ja) | 遅延スキャンテスト方法、半導体装置及び半導体装置の設計方法 | |
JP2011089914A (ja) | 半導体集積回路の試験装置及びその試験方法 | |
JP2006003249A (ja) | 論理回路 | |
JP4725563B2 (ja) | ノイズ発生回路、半導体集積回路、及び、ノイズ耐性評価方法 | |
JP2005062081A (ja) | 半導体回路装置及びそのテスト方法 |