JP2013145135A - 半導体集積回路及びそのテスト方法 - Google Patents

半導体集積回路及びそのテスト方法 Download PDF

Info

Publication number
JP2013145135A
JP2013145135A JP2012004934A JP2012004934A JP2013145135A JP 2013145135 A JP2013145135 A JP 2013145135A JP 2012004934 A JP2012004934 A JP 2012004934A JP 2012004934 A JP2012004934 A JP 2012004934A JP 2013145135 A JP2013145135 A JP 2013145135A
Authority
JP
Japan
Prior art keywords
circuit
test
clock
clock signal
signal
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
Application number
JP2012004934A
Other languages
English (en)
Inventor
Makoto Abe
信 阿部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2012004934A priority Critical patent/JP2013145135A/ja
Publication of JP2013145135A publication Critical patent/JP2013145135A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】回路規模の増大を抑制することが可能な半導体集積回路を提供すること。
【解決手段】本発明にかかる半導体集積回路は、高速のクロック信号CLKA,CLKBと、低速のテストクロック信号TCLKと、を生成するクロック生成回路11と、機能ブロック13と、を備える。機能ブロック13は、クロック信号CLKA及びテストクロック信号TCLKの何れかを動作モードに応じて選択的に出力する選択回路SEL11と、選択回路SEL11から出力されたクロック信号に同期して動作するフリップフロップ回路FF11を有する論理回路131と、クロック信号CLKB及びテストクロック信号TCLKの何れかを動作モードに応じて選択的に出力する選択回路SEL12と、選択回路SEL12から出力されたクロック信号に同期して動作するフリップフロップ回路FF12,FF13を有する論理回路132と、を有する。
【選択図】図3

Description

本発明は、半導体集積回路及びそのテスト方法に関する。
半導体集積回路内に設けられた論理回路の規模の増大、及び、半導体プロセスの微細化に伴い、製造ばらつきや局所的特性変動等に起因して生じる信号伝達速度の変動が無視できないほど大きくなってきている。このような条件下でホールドタイミング制約を満たす設計(マージン設計)を行うには、フリップフロップ回路間のデータライン上に多くの遅延バッファを挿入する必要があるため、回路規模が増大してしまう可能性がある。
ところで、近年の半導体集積回路には、通常動作時に、異なる系統の複数のクロック信号に同期して動作するものが多く存在する。さらに、近年の半導体集積回路には、スキャンテスト等のテスト時に、上記した複数のクロック信号からテスト専用の一つのクロック信号(テストクロック信号)に切り替えて一括して動作するもの(いわゆる、チップ一括スキャン方式の半導体集積回路)が存在する。
関連する技術が特許文献1に開示されている。図22は、特許文献1に開示されたクロック生成回路を含むマイクロプロセッサの構成を示す図である。図22に示すクロック生成回路は、通常動作時には、クロック発生源が発生する源クロックと同一周期の第1のクロック信号と、第1クロック信号と異なる周期の1又は複数の第2のクロック信号と、を生成し、スキャンテスト時には、外部入力から生成されるスキャンクロックを供給する。このクロック生成回路は、源クロックとスキャンテストクロックとを選択的に出力する選択回路と、位相調整用の等価遅延回路及びフリップフロップ回路と、を少なくとも備える。それにより、このクロック生成回路は、スキャンテストのためのクロックも含めたクロックの位相調整を容易に行っている。
特開2003−270301号公報
上記したように、図22に示すクロック生成回路は、通常動作時に、異なる系統の複数のクロックを生成し、スキャンテスト時に、これら複数のクロックに代えて一つのスキャンテストクロックを生成する。つまり、このクロック生成回路は、通常動作時とスキャンテスト時とでクロックラインを共用している。換言すると、このクロック生成回路とクロック供給先との間には、通常動作用のクロックと、スキャンテスト用のスキャンテストクロックと、が選択的に伝搬する共通のクロックラインが設けられている。
ここで、この従来技術のスキャンテストでは、複数のクロック供給先に供給されるスキャンテストクロックの位相がすべて揃っている必要がある。そのため、この従来技術では、通常動作時に用いられるクロックライン上に、スキャンテストクロックの位相を調整するための余分な遅延素子(等価遅延回路及びフリップフロップ回路)が付加されることとなる。それにより、製造ばらつきや局所的特性変動などに起因して生じるクロックライン上の信号伝達速度の変動が一層大きくなってしまう。
このような条件下でホールドタイミング制約を満たす設計(マージン設計)を行うには、フリップフロップ回路間のデータライン上に非常に多くの遅延素子を挿入する必要があるため、回路規模が増大してしまうという問題があった。
本発明にかかる半導体集積回路は、第1及び第2クロック信号と、前記第1及び前記第2クロック信号より低速のテストクロック信号と、を生成するクロック生成回路と、機能ブロックと、を備え、前記機能ブロックは、前記第1クロック信号及び前記テストクロック信号の何れかを動作モードに応じて選択的に出力する第1選択回路と、前記第1選択回路から出力されたクロック信号に同期して動作する第1フリップフロップを有する第1論理回路と、前記第2クロック信号及び前記テストクロック信号の何れかを前記動作モードに応じて選択的に出力する第2選択回路と、前記第2選択回路から出力されたクロック信号に同期して動作する第2フリップフロップを有する第2論理回路と、を有する。
本発明にかかる半導体集積回路のテスト方法は、第1及び第2クロック信号と、前記第1及び前記第2クロック信号より低速のテストクロック信号と、を生成するクロック生成回路と、前記第1クロック信号及び前記テストクロック信号の何れかを動作モードに応じて選択的に出力する第1選択回路と、前記第1選択回路から出力されたクロック信号に同期して動作する第1フリップフロップを有する第1論理回路と、前記第2クロック信号及び前記テストクロック信号の何れかを前記動作モードに応じて選択的に出力する第2選択回路と、前記第2選択回路から出力されたクロック信号に同期して動作する第2フリップフロップを有する第2論理回路と、を有する機能ブロックと、を備えた半導体集積回路のテスト方法であって、第1テストモードの場合に、前記第1及び前記第2選択回路からそれぞれ前記テストクロック信号を選択的に出力させ、第2テストモードの場合に、前記第1及び前記第2選択回路からそれぞれ前記第1及び前記第2クロック信号を選択的に出力させる。
上述のような回路構成により、フリップフロップ回路間のデータライン上に挿入する遅延素子の数を低減して、回路規模の増大を抑制することができる。
本発明により、フリップフロップ回路間のデータライン上に挿入する遅延素子の数を低減して、回路規模の増大を抑制することが可能な半導体集積回路及びその制御方法を提供することができる。
本発明の実施の形態1にかかる半導体集積回路の構成例を示す図である。 本発明の実施の形態1にかかる半導体集積回路のテストシステムを示す図である。 本発明の実施の形態1にかかる機能ブロックの具体的構成例を示す図である。 本発明の実施の形態1にかかる機能ブロックの具体的構成例を示す図である。 本発明に至る前の構想にかかる半導体集積回路の構成例を示す図である。 本発明の実施の形態1にかかる制御回路の具体的構成例を示す図である。 本発明の実施の形態1にかかる半導体集積回路の動作を示すタイミングチャートである。 本発明の実施の形態1にかかる制御回路の具体的構成例を示す図である。 本発明の実施の形態1にかかる半導体集積回路の動作を示すタイミングチャートである。 本発明の実施の形態2にかかる半導体集積回路の構成例を示す図である。 本発明の実施の形態2にかかる機能ブロックの具体的構成例を示す図である。 本発明の実施の形態2にかかる機能ブロックの具体的構成例を示す図である。 本発明の実施の形態2にかかる制御回路の具体的構成例を示す図である。 本発明の実施の形態2にかかる半導体集積回路の動作を示すタイミングチャートである。 本発明の実施の形態2にかかる制御回路の具体的構成例を示す図である。 本発明の実施の形態2にかかる半導体集積回路の動作を示すタイミングチャートである。 本発明の実施の形態3にかかる制御回路の具体的構成例を示す図である。 本発明の実施の形態3にかかる半導体集積回路の動作を示すタイミングチャートである。 本発明の実施の形態3にかかる半導体集積回路の動作を示すタイミングチャートである。 本発明の実施の形態3にかかる半導体集積回路の動作を示すタイミングチャートである。 本発明の実施の形態3にかかる半導体集積回路の動作を示すタイミングチャートである。 関連する技術のマイクロプロセッサの構成を示す図である。
以下、図面を参照しつつ、本発明の実施の形態について説明する。なお、図面は簡略的なものであるから、この図面の記載を根拠として本発明の技術的範囲を狭く解釈してはならない。また、同一の要素には、同一の符号を付し、重複する説明は省略する。
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部または全部の変形例、応用例、詳細説明、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
さらに、以下の実施の形態において、その構成要素(動作ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数等(個数、数値、量、範囲等を含む)についても同様である。
実施の形態1
図1は、本発明の実施の形態1にかかる半導体集積回路1の構成例を示す図である。本実施の形態にかかる半導体集積回路1は、機能ブロック(IPモジュール)内に、通常動作用の高速クロック信号とテスト用の低速クロック信号とを動作モードに応じて選択的に出力する選択回路を複数設けている。それにより、本実施の形態にかかる半導体集積回路1は、フリップフロップ回路間のデータライン上に挿入する遅延素子の数を低減して、回路規模の増大を抑制することができる。以下、具体的に説明する。
図1に示す半導体集積回路1は、クロック生成回路11と、制御回路12と、機能ブロック13と、機能ブロック14と、複数の遅延素子(バッファ)D11,D12と、を備える。
なお、この半導体集積回路1は、通常動作時に、異なる系統の複数のクロック信号(第1及び第2クロック信号)CLKA,CLKBに同期して動作する。さらに、この半導体集積回路1は、テスト時に、上記した複数のクロック信号CLKA,CLKBに代えてテスト専用の一つのクロック信号(テストクロック信号)TCLKに同期して動作する。それにより、この半導体集積回路1のテストでは、テストパタンの本数を低減して、テストコストの増大を抑制している。
図2は、図1に示す半導体集積回路1のテストシステムを示す図である。被テスト回路である半導体集積回路1は、テストボード100上に設けられる。テスト装置200は、電源、テストクロック、テストデータ、モード信号、イネーブル信号等を生成し、半導体集積回路1に供給する。また、テスト装置200は、半導体集積回路1から出力されたテスト結果を取り込み、期待値と比較する。
図1に戻り、外部端子TCKには、外部(テスト装置200)からテストクロック(以下、テストクロックTCK)が供給される。外部端子MODEには、外部(テスト装置200)からモード信号(以下、モード信号MODEと称す)が供給される。外部端子ENには、外部(テスト装置200)からイネーブル信号(以下、イネーブル信号ENと称す)が供給される。なお、図示しないが、当然ながら、外部端子として、データ入力端子やデータ出力端子等も存在する。
クロック生成回路11は、異なる系統の2つのクロック信号CLKA,CLKBを生成する。例えば、クロック生成回路11は、高速のクロック信号CLKAを生成するPLL回路と、クロック信号CLKAを分周してクロック信号CLKBを生成する分周回路と、を有する。あるいは、クロック生成回路11は、高速のクロック信号CLKAを生成するPLL回路と、クロック信号CLKAとは異なる位相の高速のクロック信号CLKBを生成するPLL回路と、を有する。あるいは、クロック生成回路11は、外部から供給されるクロック信号に基づいて2つのクロック信号CLKA,CLKBを生成する内部クロック生成部を有する。
さらに、クロック生成回路11は、テストクロックTCKに基づいてテストクロック信号TCLKを生成する。
そして、クロック生成回路11は、モード信号MODEに基づき、クロック信号CLKA,CLKB及びテストクロック信号TCLKを出力する。例えば、クロック生成回路11は、通常動作(通常動作モード)時に、クロック信号CLKA,CLKBをそれぞれ専用のクロックラインLA、LBに向けて出力する。このとき、クロック生成回路11は、テストクロック信号TCLKを専用のクロックラインLTに向けて出力する必要はない。また、クロック生成回路11は、テスト(テストモード)時に、テストクロック信号TCLKを専用のクロックラインLTに向けて出力する。このとき、クロック生成回路11は、クロック信号CLKA,CLKBをそれぞれ専用のクロックラインLA,LBに向けて出力する必要はない。
制御回路12は、イネーブル信号ENがアクティブの場合、モード信号MODEに応じた制御信号を出力する。また、制御回路12は、イネーブル信号ENがインアクティブの場合、モード信号MODEに関わらず、所定の論理値(例えばLレベル)の制御信号を出力する。以下では、特に断りがない限り、イネーブル信号ENはアクティブであるものとする。
機能ブロック13は、半導体集積回路1の部分的な回路情報を有するブロックであり、半導体集積回路1の中の一つの機能を実現するブロックである。例えば、機能ブロック13は、IP(Intellectual Property)モジュールとも称する。
具体的には、機能ブロック13は、選択回路(第1選択回路)SEL11と、選択回路(第2選択回路)SEL12と、論理回路(第1論理回路)131と、論理回路(第2論理回路)132と、を少なくとも有する。論理回路131は、複数の組み合わせ回路及び複数の順序回路によって構成される。なお、論理回路131に設けられた複数の順序回路は、通常動作時において、クロック信号CLKAに同期して動作する。論理回路132は、論理回路131と同じく、複数の組み合わせ回路及び複数の順序回路によって構成される。なお、論理回路132に設けられた複数の順序回路は、通常動作時において、クロック信号CLKBに同期して動作する。つまり、論理回路131と論理回路132とは、通常動作時に、それぞれ異なるクロック信号CLKA,CLKBに同期して動作する。
選択回路SEL11では、一方の入力端子がクロックラインLAに接続され、他方の入力端子がクロックラインLTに接続され、切替制御端子に制御回路12からの制御信号が供給される。そして、選択回路SEL11は、クロック生成回路11からクロックラインLAを介して供給されたクロック信号CLKAと、クロック生成回路11からクロックラインLTを介して供給されたテストクロック信号TCLKと、を制御信号に基づき選択的に出力する。
例えば、通常動作モードの場合(制御信号がLレベルの場合)、選択回路SEL11は、クロック信号CLKAを選択して出力する。一方、テストモードの場合(制御信号がHレベルの場合)、選択回路SEL11は、テストクロック信号TCLKを選択して出力する。選択回路SEL11から出力されたクロック信号は、後段の論理回路131に供給される。したがって、論理回路131は、通常動作時に、クロック信号CLKAに同期して動作し、テスト時に、テストクロック信号TCLKに同期して動作する。
選択回路SEL12では、一方の入力端子がクロックラインLBに接続され、他方の入力端子がクロックラインLTに接続され、切替制御端子に制御回路12からの制御信号が供給される。そして、選択回路SEL12は、クロック生成回路11からクロックラインLBを介して供給されたクロック信号CLKBと、クロック生成回路11からクロックラインLTを介して供給されたテストクロック信号TCLKと、を制御信号に基づき選択的に出力する。
例えば、通常動作モードの場合、具体的には制御信号がLレベルの場合、選択回路SEL12は、クロック信号CLKBを選択して出力する。一方、テストモードの場合、具タ的には制御信号がHレベルの場合、選択回路SEL12は、テストクロック信号TCLKを選択して出力する。選択回路SEL12から出力されたクロック信号は、後段の論理回路132に供給される。したがって、論理回路132は、通常動作時に、クロック信号CLKBに同期して動作し、テスト時に、テストクロック信号TCLKに同期して動作する。
機能ブロック14は、半導体集積回路1の部分的な回路情報を有するブロックであり、半導体集積回路1の中の一つの機能を実現するブロックである。例えば、機能ブロック14は、IP(Intellectual Property)モジュールとも称する。
具体的には、機能ブロック14は、選択回路SEL13と、論理回路141と、を少なくとも有する。論理回路141は、複数の組み合わせ回路及び複数の順序回路によって構成される。なお、論理回路141に設けられた複数の順序回路は、通常動作時において、クロック信号CLKAに同期して動作する。
選択回路SEL13では、一方の入力端子がクロックラインLAに接続され、他方の入力端子がクロックラインLTに接続され、切替制御端子に制御回路12からの制御信号が供給される。そして、選択回路SEL13は、クロック生成回路11からクロックラインLAを介して供給されたクロック信号CLKAと、クロック生成回路11からクロックラインLTを介して供給されたテストクロック信号TCLKと、を制御信号に基づき選択的に出力する。
例えば、通常動作モードの場合(制御信号がLレベルの場合)、選択回路SEL13は、クロック信号CLKAを選択して出力する。一方、テストモードの場合(制御信号がHレベルの場合)、選択回路SEL13は、テストクロック信号TCLKを選択して出力する。選択回路SEL13から出力されたクロック信号は、後段の論理回路141に供給される。したがって、論理回路141は、通常動作時に、クロック信号CLKAに同期して動作し、テスト時に、テストクロック信号TCLKに同期して動作する。
また、クロック信号CLKAが伝搬するクロックラインLA上には、複数の遅延素子(バッファ)D11が設けられている。これら遅延素子D11は、通常動作時において、論理回路131,141内の複数の順序回路に供給されるクロック信号CLKAの位相を調整するために設けられたものである。また、クロック信号CLKBが伝搬するクロックラインLB上には、複数の遅延素子(バッファ)D12が設けられている。これら遅延素子D12は、通常動作時において、論理回路131内の複数の順序回路に供給されるクロック信号CLKBの位相を調整するために設けられたものである。
上記したように、クロック生成回路11と機能ブロック13,14との間には、テストクロック信号TCLKが伝搬するクロックラインLTと、クロック信号CLKA,CLKBがそれぞれ伝搬するクロックラインLA,LBと、が個別に存在する。したがって、クロックラインLA,LB上には、それぞれクロック信号CLKA,CLKBの位相を調整するための遅延素子D11,D12が設けられるのみであり、テストクロック信号TCLKの位相を調整するための遅延素子は設けられていない。つまり、クロックラインLA,LB上には、テストクロック信号TCLKの位相を調整するための余分な遅延素子が付加されていない。そのため、製造ばらつきや局所的特性変動等に起因して生じるクロックラインLA,LB上の信号伝達速度の変動は増大しない。
図3は、機能ブロック13のより詳細な構成例を示す図である。図3では、説明の簡略化のため、機能ブロック13,14のうち機能ブロック13の詳細のみを示している。また、図3では、論理回路131に設けられた複数の回路のうち、順序回路(第1フリップフロップ回路)FF11のみを示している。また、図3では、論理回路132に設けられた複数の回路のうち、順序回路(第2フリップフロップ回路)FF12,FF13、組み合わせ回路C12及び遅延素子(バッファ)D16のみを示している。なお、組み合わせ回路C11及び遅延素子(バッファ)D15は、論理回路131,132の何れに設けられていても良い。
選択回路SEL11から出力されたクロック信号は、論理回路131に設けられたフリップフロップ回路FF11に供給される。選択回路SEL12から出力されたクロック信号は、論理回路132に設けられたフリップフロップ回路FF12,FF13に供給される。
なお、選択回路SEL11とフリップフロップ回路FF11との間のクロックライン上には、複数の遅延素子(バッファ)D13が設けられている。これら遅延素子D13は、通常動作時及びテスト時において、論理回路131内の複数の順序回路(フリップフロップ回路FF11を含む)に供給されるクロック信号の位相を調整するために設けられたものである。また、選択回路SEL12とフリップフロップ回路FF12,FF13との間のクロックライン上には、複数の遅延素子(バッファ)D14が設けられている。これら遅延素子D14は、通常動作時及びテスト時において、論理回路132内の複数の順序回路(フリップフロップ回路FF12,FF13を含む)に供給されるクロック信号の位相を調整するために設けられたものである。なお、テストクロック信号TCLKの位相のみを調整したい場合には、クロックラインLT上に遅延素子をさらに追加すればよい。
例えば、通常動作モードでは、フリップフロップ回路FF11は、外部からのデータ或いは前段のフリップフロップ回路からのデータを、クロック信号CLKAに同期して取り込んで出力する。フリップフロップ回路FF11から出力されたデータは、組み合わせ回路C11及び遅延素子(バッファ)D15を介して、フリップフロップ回路FF12に供給される。そして、フリップフロップ回路FF12は、供給されたデータを、クロック信号CLKBに同期して取り込んで出力する。フリップフロップ回路FF12から出力されたデータは、組み合わせ回路C12及び遅延素子(バッファ)D16を介して、フリップフロップ回路FF13に供給される。そして、フリップフロップ回路FF13は、供給されたデータを、クロック信号CLKBに同期して取り込んで出力する。
つまり、機能ブロック13では、異なるクロック信号CLKA,CLKBに同期して動作するフリップフロップ回路FF11,FF12間でデータの受け渡しが行われている。また、機能ブロック13では、同一のクロック信号CLKBに同期して動作するフリップフロップ回路FF11,FF13間でデータの受け渡しが行われている。
一方、テストモードでは、フリップフロップ回路FF11は、外部からのデータ或いは前段のフリップフロップ回路からのデータを、テストクロック信号TCLKに同期して取り込んで出力する。フリップフロップ回路FF11から出力されたデータは、組み合わせ回路C11及び遅延素子(バッファ)D15を介して、フリップフロップ回路FF12に供給される。そして、フリップフロップ回路FF12は、供給されたデータを、テストクロック信号TCLKに同期して取り込んで出力する。フリップフロップ回路FF12から出力されたデータは、組み合わせ回路C12及び遅延素子(バッファ)D16を介して、フリップフロップ回路FF13に供給される。そして、フリップフロップ回路FF13は、供給されたデータを、テストクロック信号TCLKに同期して取り込んで出力する。
このように、本実施の形態にかかる半導体集積回路1では、通常動作用のクロック信号(クロック信号CLKA,CLKB)と、テスト用のクロック信号(テストクロック信号TCLK)と、を選択する選択回路(SEL11,SEL12)が、クロック生成回路11ではなく、機能ブロック13内に設けられている。それにより、クロック生成回路11と機能ブロック13との間には、テストクロック信号TCLKが伝搬するクロックラインLTと、クロック信号CLKA,CLKBがそれぞれ伝搬するクロックラインLA,LBと、が個別に存在することとなる。したがって、クロックラインLA,LB上には、それぞれクロック信号CLKA,CLKBの位相を調整するための遅延素子D11,D12が設けられるのみであり、テストクロック信号TCLKの位相を調整するための余分な遅延素子は設けられない。そのため、製造ばらつきや局所的特性変動などに起因して生じるクロックラインLA,LB上の信号伝達速度の変動は増大しない。
このような条件下でフリップフロップ回路が確実にデータを取り込むためのクロックエッジに対するデータ保持時間を確保するためのホールドタイミング制約を満たす設計(マージン設計)が行われた場合、半導体集積回路1は、フリップフロップ回路間のデータライン上に挿入する遅延素子(D15,D16)の数を低減することができるため、回路規模の増大を抑制することができる。
なお、図3に示すように、クロック信号CLKA,CLKBが何れも同一の機能ブロック13に供給されている場合でも、機能ブロック13に設けられたフリップフロップ間のデータライン上に挿入する遅延素子(D15,D16)の数を低減することができる。
続いて、図4は、機能ブロック14のより詳細な構成例を示す図である。図4では、説明の簡略化のため、機能ブロック13,14のうち機能ブロック14の詳細のみを示している。また、図4では、論理回路141に設けられた複数の回路のうち、順序回路(フリップフロップ回路)FF14,FF15、組み合わせ回路C13及び遅延素子(バッファ)D18のみを示している。
選択回路SEL13から出力されたクロック信号は、論理回路141に設けられたフリップフロップ回路FF14,FF15に供給される。なお、選択回路SEL13とフリップフロップ回路FF14,FF15との間のクロックライン上には、複数の遅延素子(バッファ)D17が設けられている。これら遅延素子D17は、通常動作時及びテスト時において、論理回路141内の複数の順序回路(フリップフロップ回路FF14,FF15を含む)に供給されるクロック信号CLKAの位相を調整するために設けられたものである。なお、テストクロック信号TCLKの位相のみを調整したい場合には、クロックラインLT上に遅延素子をさらに追加すればよい。
例えば、通常動作モードでは、フリップフロップ回路FF14は、外部からのデータ或いは前段のフリップフロップ回路からのデータを、クロック信号CLKAに同期して取り込んで出力する。フリップフロップ回路FF14から出力されたデータは、組み合わせ回路C13及び遅延素子(バッファ)D18を介して、フリップフロップ回路FF15に供給される。そして、フリップフロップ回路FF15は、供給されたデータを、クロック信号CLKAに同期して取り込んで出力する。つまり、機能ブロック14では、同一のクロック信号CLKAに同期して動作するフリップフロップ回路FF14,FF15間でデータの受け渡しが行われている。
一方、テストモードでは、フリップフロップ回路FF14は、外部からのデータ或いは前段のフリップフロップ回路からのデータを、テストクロック信号TCLKに同期して取り込んで出力する。フリップフロップ回路FF14から出力されたデータは、組み合わせ回路C13及び遅延素子(バッファ)D18を介して、フリップフロップ回路FF15に供給される。そして、フリップフロップ回路FF15は、供給されたデータを、テストクロック信号TCLKに同期して取り込んで出力する。
このように、本実施の形態にかかる半導体集積回路1では、通常動作用のクロック信号(クロック信号CLKA)と、テスト用のクロック信号(テストクロック信号TCLK)と、を選択する選択回路(SEL13)が、クロック生成回路11ではなく、機能ブロック14内に設けられている。それにより、クロック生成回路11と機能ブロック14との間には、テストクロック信号TCLKが伝搬するクロックラインLTと、クロック信号CLKAがそれぞれ伝搬するクロックラインLA,LBと、が個別に存在することとなる。したがって、クロックラインLA上には、クロック信号CLKAの位相を調整するための遅延素子D11が設けられるのみであり、テストクロック信号TCLKの位相を調整するための余分な遅延素子は設けられない。そのため、製造ばらつきや局所的特性変動などに起因して生じるクロックラインLA上の信号伝達速度の変動は増大しない。
このような条件下でホールドタイミング制約を満たす設計(マージン設計)が行われた場合、半導体集積回路1は、フリップフロップ回路間のデータライン上に挿入する遅延素子(D18)の数を低減することができるため、回路規模の増大を抑制することができる。
なお、図4に示すように、クロック信号CLKA,CLKBがそれぞれ異なる機能ブロック14,13に供給されている場合でも、各機能ブロック13,14に設けられたフリップフロップ間のデータライン上に挿入する遅延素子の数を低減することができる。
さらに、半導体集積回路1は、フリップフロップ回路間のデータライン上に挿入する遅延素子(D15,D16,D18)の数を低減することができるため、消費電力の増大を抑制することができる。
さらに、半導体集積回路1は、フリップフロップ回路間のデータライン上に挿入する遅延素子(D15,D16,D18)の数を低減することができるため、クロック信号CLKA,CLKBがさらに高速化された場合でも、セットアップ制約を満たす設計の困難化を抑制することができる。
(本願発明と従来技術との比較)
次に、本実施の形態にかかる半導体集積回路1と、本発明に至る前の構想にかかる半導体集積回路5と、の違いを図3及び図5を用いて説明する。図5は、本発明に至る前の構想にかかる半導体集積回路5の構成を示す図である。
図5に示す半導体集積回路5では、図3に示す半導体集積回路1と比較して、選択回路の配置が異なる。具体的には、選択回路SEL51,SEL52が、機能ブロック53ではなく、クロック生成回路51内に設けられている。また、図5では、同一のクロック信号(例えば、クロック信号CLKA)に対して、一つ或いは複数の選択回路が例えば機能ブロックごとに設けられている。図5に示す半導体集積回路5のその他の回路構成及び基本的な動作については、図3に示す半導体集積回路1と同様であるため、その説明を省略する。
なお、クロック生成回路51は、図3におけるクロック生成回路11に対応する。機能ブロック53は、図3における機能ブロック13に対応する。選択回路SEL51,SEL52は、それぞれ図3における選択回路SEL11,SEL12に対応する。フリップフロップ回路FF51〜FF53は、それぞれ図3におけるフリップフロップ回路FF11〜FF13に対応する。遅延素子D51〜D56は、それぞれ図3における遅延素子D11〜D16に対応する。組み合わせ回路C51,C52は、それぞれ図3における組み合わせ回路C11,C12に対応する。
上記したように、図3に示す半導体集積回路5では、通常動作用のクロック信号(クロック信号CLKA,CLKB)と、テスト用のクロック信号(テストクロック信号TCLK)と、を選択する選択回路(SEL51,SEL52)が、機能ブロック53ではなく、クロック生成回路51内に設けられている。それにより、クロック生成回路51と機能ブロック53との間には、テストクロック信号TCLKと、クロック信号CLKA,CLKBと、が選択的に伝搬する共通のクロックラインが存在することとなる。したがって、クロックラインLA,LB上には、それぞれ、クロック信号CLKA,CLKBの位相を調整するための遅延素子D51,D52に加え、テストクロック信号TCLKの位相を調整するための余分な遅延素子D57,D58が付加される。そのため、製造ばらつきや局所的特性変動などに起因して生じるクロックラインLA,LB上の信号伝達速度が増大してしまう。
このような条件下でホールドタイミング制約を満たす設計(マージン設計)が行われた場合、フリップフロップ回路間のデータライン上に挿入する遅延素子(D55,D56)の数が増大してしまうため、回路規模の増大が増大してしまう。また、消費電力も増大してしまう。さらには、クロック信号CLKA,CLKBが高速化された場合、セットアップ制約を満たす設計が困難になってしまう。
一方、図5に示す半導体集積回路1では、選択回路(SEL11,SEL12)が、クロック生成回路11ではなく、機能ブロック13内に設けられているため、このような問題は生じない。
(制御回路12の具体的構成例(その1))
図6は、制御回路12の具体的な構成の一例を制御回路12aとして示す図である。ここでは、テストの一例として、低速のスキャンテスト(圧縮スキャンテストを含む)が行われる場合を例に説明する。また、ここでは、モード信号MODEをスキャンテスト選択信号SCに読み替えて説明する。なお、圧縮スキャンテストが行われる場合、半導体集積回路1には、テストデータを展開する回路と、テスト結果を圧縮する回路とが、設けられている必要がある。
制御回路12aは、論理積回路(以下、単にAND回路と称す)121を有する。AND回路121は、イネーブル信号ENとスキャンテスト選択信号SCとの論理積を制御信号として出力する。
続いて、制御回路12aの構成が採用された半導体集積回路1のテスト動作を、図7を用いて説明する。図7は、半導体集積回路1のテスト動作を示すタイミングチャートである。
スキャンテストでは、主として、初期化及び構造解析フェーズ(第3テストモード)、テストデータ供給及びテスト結果の取り込みフェーズ(シフトモード、第3テストモード)、及び、キャプチャ動作フェーズ(キャプチャモード、第4テストモード)、の3つフェーズが存在する。スキャンテストでは、まず、初期化及び構造解析が実施される。次に、被テスト回路である半導体集積回路1にテストデータが供給される。シフト動作により、全てのフリップフロップにテストデータが供給されると、キャプチャ動作が実施される。その後、キャプチャ動作にて全てのフリップフロップに取り込まれたデータは、再度のシフト動作によりテスト結果として出力される。
この低速のスキャンテストでは、イネーブル信号ENが常にアクティブ(Hレベル)になり、スキャンテスト選択信号SCも常にアクティブ(Hレベル)になる。したがって、制御回路12aは、常にHレベルの制御信号を出力する。それにより、選択回路(例えば、選択回路SEL11)は、常に低速のテストクロック信号TCLKを選択して出力する。
なお、スキャンテスト中、上記したように、選択回路(例えば、選択回路SEL11)は、テストクロック信号TCLKを選択して出力し続ける。したがって、クロック生成回路11は、低速のテストクロック信号TCLKを出力する必要はあるが、高速クロック信号(例えば、クロック信号CLKA,CLKB)を出力する必要はない。図7の例では、高速クロック信号は、Lレベルに固定されている。
(制御回路12の具体的構成例(その2))
図8は、制御回路12の具体的な構成の一例を制御回路12bとして示す図である。ここでは、テストの一例として低速のロジックBISTが行われる場合を例に説明する。また、ここでは、モード信号MODEを高速モード選択信号MCに読み替えて説明する。なお、ロジックBISTが行われる場合、半導体集積回路1には、テストデータを発生させる回路と、テスト結果を期待値と比較する回路とが、設けられている必要がある。この場合、高速モード選択信号MCは、例えば、テストデータを発生させる回路から出力される。
制御回路12bは、AND回路122と、否定回路(以下、単にINV回路と称す)123と、を有する。AND回路122は、イネーブル信号ENと、高速モード選択信号MCをINV回路123で反転させた信号と、の論理積を制御信号として出力する。
続いて、制御回路12bの構成が採用された半導体集積回路1のテスト動作を、図9を用いて説明する。図9は、半導体集積回路1のテスト動作を示すタイミングチャートである。
ロジックBISTでは、一例として、初期化及び構造解析、初期スキャン動作、キャプチャ動作、テストデータ供給、リピートキャプチャ動作、キャプチャ動作、テスト結果の取り込み、リピートキャプチャ動作、リピートテスト動作、終了動作、が順に実施される。
この低速のロジックBISTでは、イネーブル信号ENが常にアクティブ(Hレベル)になり、高速モード選択信号MCが常にインアクティブ(Lレベル)になる。したがって、制御回路12bは、常にHレベルの制御信号を出力する。それにより、選択回路(例えば、選択回路SEL11)は、常に低速のテストクロック信号TCLKを選択して出力する。
なお、ロジックBISTのテスト中、上記したように、選択回路(例えば、選択回路SEL11)は、テストクロック信号TCLKを選択して出力し続ける。したがって、クロック生成回路11は、低速のテストクロック信号TCLKを出力する必要はあるが、高速クロック信号(例えば、クロック信号CLKA,CLKB)を出力する必要はない。図9の例では、高速クロック信号は、Lレベルに固定されている。
実施の形態2
図10は、本発明の実施の形態2にかかる半導体集積回路2の構成例を示す図である。図10に示す半導体集積回路2では、図1に示す半導体集積回路1と比較して、主として、制御回路の構成が異なる。図10に示す制御回路22は、高速なクロック信号によるテストを可能にするために、選択回路によるクロック信号の選択を動的に切り替えることを特徴とする。図10に示す半導体集積回路2のその他の回路構成については、図1に示す半導体集積回路1と同様であるため、その説明を省略する。
なお、クロック生成回路21は、図1におけるクロック生成回路11に対応する。制御回路22は、図1における制御回路12に対応する。機能ブロック23は、図1における機能ブロック13に対応する。機能ブロック24は、図1における機能ブロック14に対応する。選択回路SEL21〜SEL23は、それぞれ図1における選択回路SEL11〜SEL13に対応する。論理回路231,232,241は、それぞれ図1における論理回路131,132,141に対応する。
図11は、機能ブロック23のより詳細な構成例を示す図である。図12は、機能ブロック24のより詳細な構成例を示す図である。機能ブロック23,24の回路構成については、それぞれ、図3に示す機能ブロック13及び図4に示す機能ブロック14と同様であるため、その説明を省略する。
なお、フリップフロップ回路FF21〜FF25は、それぞれフリップフロップ回路FF11〜FF15に対応する。遅延素子D21〜D28は、それぞれ遅延素子D11〜D18に対応する。組み合わせ回路C21〜C23は、それぞれ組み合わせ回路C11〜C13に対応する。
制御回路22は、例えば、テストデータ供給及びテスト結果の取り込み(シフトモード、第1テストモード)時に、選択回路(例えば、選択回路SEL21,SEL22)に低速のテストクロック信号TCLKを選択させる。また、制御回路22は、例えば、キャプチャ動作(キャプチャモード、第2テストモード)時に、選択回路(例えば、選択回路SEL21,SEL22)に高速のクロック信号(例えば、クロック信号CLKA,CLKB)を選択させる。つまり、制御回路22は、選択回路によるクロック信号の選択を動的に切り替える。それにより、半導体集積回路2は、半導体集積回路1と同等の効果を奏することができるとともに、高速のテストを実施することが可能になる。
(制御回路22の具体的構成例(その1))
図13は、制御回路22の具体的な構成の一例を制御回路22aとして示す図である。ここでは、テストの一例として、高速のスキャンテスト(圧縮スキャンテストを含む)が行われる場合を例に説明する。また、ここでは、モード信号MODEをスキャンテスト選択信号SCに読み替えて説明する。また、制御回路22aには、高速スキャンテスト用イネーブル信号SENBRがさらに供給される。この高速スキャンテスト用イネーブル信号SENBRは、例えば、キャプチャモードと、シフトモードを含むそれ以外のモードと、を切り替えるために用いられている信号である。なお、圧縮スキャンテストが行われる場合、半導体集積回路2には、テストデータを展開する回路と、テスト結果を圧縮する回路とが、設けられている必要がある。
制御回路22aは、AND回路221,222を有する。AND回路222は、高速スキャンテスト用イネーブル信号SENBRとスキャンテスト選択信号SCとの論理積を出力する。AND回路221は、イネーブル信号ENとAND回路222の出力との論理積を制御信号として出力する。つまり、制御回路22aは、高速スキャンテスト用イネーブル信号SENBR、イネーブル信号EN、及び、スキャンテスト選択信号SCの論理積を制御信号として出力する。
続いて、制御回路22aの構成が採用された半導体集積回路2のテスト動作を、図14を用いて説明する。図14は、半導体集積回路2のテスト動作を示すタイミングチャートである。
この高速のスキャンテストでは、イネーブル信号ENが常にアクティブ(Hレベル)になり、スキャンテスト選択信号SCも常にアクティブ(Hレベル)になる。一方、高速スキャンテスト用イネーブル信号SENBRは、例えば、シフトモード(第1テストモード)の場合にHレベルになり、キャプチャモード(第2テストモード)の場合にLレベルになる。また、高速スキャンテスト用イネーブル信号SENBRは、初期化及び構造解析時(第1テストモード)にもHレベルになる。したがって、制御回路22aは、初期化及び構造解析時、及び、シフトモードでは、Hレベルの制御信号を出力し、キャプチャモードでは、Lレベルの制御信号を出力する。それにより、選択回路(例えば、選択回路SEL21,SEL22)は、初期化及び構造解析時、及び、シフトモードでは、低速のテストクロック信号TCLKを選択して出力し、キャプチャモードでは、高速のクロック信号(例えば、CLKA,CLKB)を選択して出力する。
なお、初期化及び構造解析時、及び、シフトモードでは、上記したように、選択回路(例えば、選択回路SEL21,SEL22)は、テストクロック信号TCLKを選択して出力する。したがって、クロック生成回路21は、低速のテストクロック信号TCLKを出力するが、高速クロック信号(例えば、クロック信号CLKA,CLKB)を出力しない。一方、キャプチャモードでは、上記したように、選択回路は、高速クロック信号を選択して出力する。したがって、クロック生成回路21は、高速クロック信号を出力するが、低速のテストクロック信号TCLKを出力しない。例えば、クロック生成回路21は、モードがシフトモードからキャプチャモードに切り替わってから所定期間経過後に、2つのパルスの高速クロック信号を出力する。
このように、制御回路22aは、動的かつハザードフリーに制御信号を切り替える。それにより、半導体集積回路2は、半導体集積回路1の場合と同様に回路規模の増大を抑制し、さらに、高速のテストを実施することが可能となる。
(制御回路22の具体的構成例(その2))
図15は、制御回路22の具体的な構成の一例を制御回路22bとして示す図である。ここでは、テストの一例として、高速のロジックBISTが行われる場合を例に説明する。また、ここでは、モード信号MODEを高速モード選択信号MCに読み替えて説明する。また、制御回路22bには、高速ロジックBIST用イネーブル信号CTRLCA及び制御回路用クロック信号TT_TRが供給される。この高速ロジックBIST用イネーブル信号CTRLCAは、例えば、キャプチャモードと、シフトモードを含むそれ以外のモードと、を切り替えるために用いられている信号である。また、制御回路用クロック信号TT_TRは、例えば、テストクロック信号TCLKと同じ周波数のクロック信号である。
なお、ロジックBISTが行われる場合、半導体集積回路2には、テストデータを発生させる回路と、テスト結果を期待値と比較する回路とが、設けられている必要がある。この場合、高速モード選択信号MCは、例えば、テストデータを発生させる回路から出力される。
制御回路22bは、AND回路223と、論理和回路(以下、単にOR回路と称す)224と、INV回路225〜227と、フリップフロップ回路228と、を有する。フリップフロップ回路228は、制御回路用クロック信号TT_TRの立ち下がりに同期して、高速ロジックBIST用イネーブル信号CTRLCAを取り込み出力する。OR回路224は、高速モード選択信号MCの反転信号と、フリップフロップ回路228の出力の反転信号と、の論理和を出力する。AND回路223は、イネーブル信号ENと、OR回路224の出力と、の論理積を制御信号として出力する。
続いて、制御回路22bの構成が採用された半導体集積回路2のテスト動作を、図16を用いて説明する。図16は、半導体集積回路2のテスト動作を示すタイミングチャートである。
この高速のロジックBISTでは、イネーブル信号ENが常にアクティブ(Hレベル)になり、高速モード選択信号MCも常にアクティブ(Hレベル)になる。一方、高速ロジックBIST用イネーブル信号CTRLCAは、例えば、キャプチャモード(第2テストモード)の場合にHレベルになり、それ以外のモード(第1テストモード)の場合にLレベルになる。(より詳細には、高速ロジックBIST用イネーブル信号CTRLCAは、例えば、キャプチャモードの1テストクロックサイクル前からHレベルになり、それ以外のモードの1テストクロックサイクル前からLレベルになる。)したがって、制御回路22bは、キャプチャモードでは、制御回路用クロック信号TT_TRの立ち下がりに同期してLレベルの制御信号を出力し続け、それ以外のモードでは、制御回路用クロック信号TT_TRの立ち下がりに同期してHレベルの制御信号を出力し続ける。それにより、選択回路(例えば、選択回路SEL21,SEL22)は、キャプチャモードでは、高速のクロック信号(例えば、クロック信号CLKA,CLKB)を選択して出力し、それ以外のモードでは、低速のテストクロック信号TCLKを選択して出力する。
なお、キャプチャモード以外のモードでは、上記したように、選択回路(例えば、選択回路SEL21,SEL22)は、テストクロック信号TCLKを選択して出力する。したがって、クロック生成回路21は、低速のテストクロック信号TCLKを出力するが、高速クロック信号(例えば、クロック信号CLKA,CLKB)を出力しない。一方、キャプチャモードでは、上記したように、選択回路は、高速クロック信号を選択して出力する。したがって、クロック生成回路21は、高速クロック信号を出力するが、低速のテストクロック信号TCLKを出力する必要はない。例えば、クロック生成回路21は、モードがキャプチャモードに切り替わってから所定期間経過後に、2つのパルスの高速クロック信号を出力する。
このように、制御回路22aは、動的かつハザードフリーに制御信号を切り替える。それにより、半導体集積回路2は、半導体集積回路1の場合と同様に回路規模の増大を抑制しつつ、さらに、高速のテストを実施することが可能となる。
実施の形態3
本実施の形態では、制御回路の他の構成例について説明する。
図17は、制御回路32の具体的な構成の一例を示す図である。制御回路32は、図6、図8、図13、及び図15に示す制御回路12a,12b,22a,22bの機能を全て備えている。つまり、制御回路32は、低速のスキャンテスト、低速のロジックBIST、高速のスキャンテスト、及び、高速のロジックBISTにおいて、選択回路(例えば、図1における選択回路SEL11等)によるクロック信号の選択を制御することができる。以下、具体的に説明する。
制御回路32には、イネーブル信号EN、高速モード選択信号MC、高速スキャンテスト用イネーブル信号SENBR、高速ロジックBIST用イネーブル信号CTRLCA、制御回路用クロック信号TT_TR、スキャンテスト選択信号SCが供給される。これらの信号は、制御回路12a,12b,22a,22bで使用された場合と同様の目的で使用される。
つまり、イネーブル信号ENは、テスト自体を行うか否かを制御するための信号である。高速モード選択信号MCは、高速テストか低速テストかを選択するための信号である。高速スキャンテスト用イネーブル信号SENBRは、高速スキャンテストを行うか否かを制御するための信号である。高速ロジックBIST用イネーブル信号CTRLCAは、高速ロジックBISTを行うか制御するための信号である。スキャンテスト選択信号SCは、高速のスキャンテストか高速のロジックBISTかを選択するための信号である。
さらに、制御回路32には、メモリBISTモード選択信号及びメモリBIST用イネーブル信号が供給される。
制御回路32は、AND回路321と、OR回路322と、セレクタ323,324と、INV回路325〜327と、フリップフロップ回路328と、を有する。
フリップフロップ回路328は、制御回路用クロック信号TT_TRの立ち下がりに同期して、高速ロジックBIST用イネーブル信号CTRLCAを取り込み出力する。セレクタ324は、高速スキャンテスト用イネーブル信号SENBRと、フリップフロップ回路328の出力の反転信号と、の何れかをスキャンテスト選択信号SCに基づいて選択的に出力する。例えば、スキャンテスト選択信号SCがLレベルの場合、セレクタ324は、フリップフロップ回路328の出力の反転信号を選択して出力する。一方、スキャンテスト選択信号SCがHレベルの場合、セレクタ324は、高速スキャンテスト用イネーブル信号SENBRを選択して出力する。OR回路322は、高速モード選択信号MCの反転信号と、セレクタ324の出力と、の論理和を出力する。
セレクタ323は、メモリBIST用イネーブル信号と、イネーブル信号ENと、の何れかをメモリBISTモード選択信号に基づいて選択的に出力する。例えば、メモリBISTモード選択信号がインアクティブ(Lレベル)の場合、セレクタ323は、イネーブル信号ENを選択して出力する。一方、メモリBISTモード選択信号がアクティブ(Hレベル)の場合、セレクタ323は、メモリBIST用イネーブル信号を選択して出力する。AND回路321は、セレクタ323の出力と、OR回路322の出力と、の論理積を制御信号として出力する。
なお、メモリBISTを実施する場合、メモリBISTモード選択信号をアクティブ(Hレベル)にする。したがって、制御回路32は、他に供給されている信号に関わらず、メモリBIST用イネーブル信号(例えば、Lレベル)に基づいて、Lレベルの制御信号を出力する。それにより、選択回路(例えば、図1における選択回路SEL11等)は、高速のクロック信号(例えば、クロック信号CLKA,CLKB)を出力する。それにより、前記他に供給されている信号の影響を受けることなく、メモリBISTを実施することが可能になる。
続いて、制御回路32の構成が採用された半導体集積回路(例えば、図1における半導体集積回路1)のテスト動作を、図18〜図21を用いて説明する。なお、以下の説明では、メモリBISTモード選択信号は常にインアクティブ(Lレベル)であり、イネーブル信号ENは常にアクティブ(Hレベル)であるものとする。したがって、セレクタ323は、Hレベルのイネーブル信号ENを選択して出力し続けている。
図18は、低速のスキャンテスト動作を示すタイミングチャートである。基本的な動作は、図7のタイミングチャートで説明した内容と同様である。なお、このとき、高速モード選択信号MCが常にインアクティブ(Lレベル)であるため、制御回路32は、高速スキャンテスト用イネーブル信号SENBR等に関わらず、Hレベルの制御信号を出力し続ける。それにより、選択回路(例えば、図1における選択回路SEL11等)は、低速のテストクロック信号TCLKを出力し続ける。
図19は、低速のロジックBIST動作を示すタイミングチャートである。基本的な動作は、図9のタイミングチャートで説明した内容と同様である。なお、このとき、高速モード選択信号MCが常にインアクティブ(Lレベル)であるため、制御回路32は、高速ロジックBIST用イネーブル信号CTRLCA等に関わらず、Hレベルの制御信号を出力し続ける。それにより、選択回路(例えば、図1における選択回路SEL11等)は、低速のテストクロック信号TCLKを出力し続ける。
図20は、高速のスキャンテスト動作を示すタイミングチャートである。基本的な動作は、図14のタイミングチャートで説明した内容と同様である。なお、このとき、高速モード選択信号MCが常にアクティブ(Hレベル)であり、スキャンテスト選択信号SCが常にアクティブ(Hレベル)であるため、制御回路32は、高速スキャンテスト用イネーブル信号SENBRをそのまま制御信号として出力する。それにより、選択回路(例えば、図1における選択回路SEL11等)は、初期化及び構造解析時、及び、シフトモードでは、低速のテストクロック信号TCLKを出力し、キャプチャモードでは、高速のクロック信号(例えば、クロック信号CLKA,CLKB)を出力する。
図21は、高速のスキャンテスト動作を示すタイミングチャートである。基本的な動作は、図16のタイミングチャートで説明した内容と同様である。なお、このとき、高速モード選択信号MCが常にアクティブ(Hレベル)であり、スキャンテスト選択信号SCが常にインアクティブ(Lレベル)である。そのため、制御回路32は、高速ロジックBIST用イネーブル信号CTRLCAを制御回路用クロック信号TT_TRの立ち下がりに同期して取り込み、その反転信号を制御信号として出力する。それにより、選択回路(例えば、図1における選択回路SEL11等)は、キャプチャモードでは、高速のクロック信号(例えば、クロック信号CLKA,CLKB)を出力し、それ以外のモードでは、低速のテストクロック信号TCLKを出力する。
このように、制御回路32は、複数の種類のテストに対応して制御信号を出力することができる。
以上のように、上記実施の形態にかかる半導体集積回路は、機能ブロック(IPモジュール)内に、通常動作用の高速クロック信号とテスト用の低速クロック信号とを動作モードに応じて選択的に出力する選択回路を複数設けている。それにより、上記実施の形態にかかる半導体集積回路1は、フリップフロップ回路間のデータライン上に挿入する遅延素子の数を低減して、回路規模の増大を抑制することができる。また、消費電力の増大を抑制することができる。さらには、高速クロック信号がさらに高速化された場合でも、セットアップ制約を満たす設計の困難化を抑制することができる。
さらに、実施の形態2、3にかかる半導体集積回路は、当該選択回路によるクロック信号の選択を動的に切り替える。それにより、実施の形態2、3にかかる半導体集積回路は、回路規模の増大を抑制等しつつ、さらに、高速のテストを実施することが可能となる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、制御回路12a,12b,22a,22b,32の構成は一例に過ぎず、同様の機能を有する他の構成に適宜変更可能である。
また、上記実施の形態では、半導体集積回路が2つの機能ブロック(例えば、図1における機能ブロック13,14)を備えた場合を例に説明したが、これに限られない。半導体集積回路は、任意の数の機能ブロックを備えた構成に適宜変更可能である。
また、上記実施の形態では、クロック生成回路が通常動作用の高速クロック信号としてクロック信号CLKA,CLKBを生成する場合を例に説明したが、これに限られない。クロック生成回路は、機能ブロックの仕様に応じて、任意の数のクロック信号を生成する構成に適宜変更可能である。
1,2 半導体集積回路
11,21 クロック生成回路
12,12a,12b,22,22a,22b,32 制御回路
13,14,23,24 機能ブロック
100 テストボード
121,122,221,222,223,321 AND回路
123,225〜227,325〜327 INV回路
131,132,141,231,232,241 論理回路
200 テスト装置
224,322 OR回路
228,328 フリップフロップ回路
323,324 セレクタ
C11〜C13,C21〜C23 組み合わせ回路
D11〜D18,D21〜D28 遅延素子
FF11〜FF15,FF21〜FF25 フリップフロップ回路
LA,LB,LT クロックライン
SEL11〜SEL13,SEL21〜SEL23 選択回路

Claims (12)

  1. 第1及び第2クロック信号と、前記第1及び前記第2クロック信号より低速のテストクロック信号と、を生成するクロック生成回路と、
    機能ブロックと、を備え、
    前記機能ブロックは、
    前記第1クロック信号及び前記テストクロック信号の何れかを動作モードに応じて選択的に出力する第1選択回路と、
    前記第1選択回路から出力されたクロック信号に同期して動作する第1フリップフロップを有する第1論理回路と、
    前記第2クロック信号及び前記テストクロック信号の何れかを前記動作モードに応じて選択的に出力する第2選択回路と、
    前記第2選択回路から出力されたクロック信号に同期して動作する第2フリップフロップを有する第2論理回路と、を有する半導体集積回路。
  2. 外部から供給されるモード信号に応じた制御信号を出力する制御回路をさらに備え、
    前記第1選択回路は、前記制御信号に応じて前記第1クロック信号及び前記テストクロック信号の何れかを選択的に出力し、
    前記第2選択回路は、前記制御信号に応じて前記第2クロック信号及び前記テストクロック信号の何れかを選択的に出力することを特徴とする請求項1に記載の半導体集積回路。
  3. 前記制御回路は、第1テストモードの場合に、前記第1及び前記第2選択回路がそれぞれ前記テストクロック信号を選択する論理値の前記制御信号を出力し、第2テストモードの場合に、前記第1及び前記第2選択回路がそれぞれ前記第1及び前記第2クロック信号を選択する論理値の前記制御信号を出力することを特徴とする請求項2に記載の半導体集積回路。
  4. 前記クロック生成回路は、第1テストモードの場合に、所定の論理値に固定された前記第1及び第2クロック信号を生成し、第1テストモードから第2テストモードへの切り替わりに同期して、所定パルス数に限定された前記第1及び前記第2クロック信号を生成することを特徴とする請求項3に記載の半導体集積回路。
  5. 前記制御回路は、第3及び第4テストモードの何れの場合も、前記第1及び前記第2選択回路がそれぞれ前記テストクロック信号を選択する論理値の前記制御信号を出力することを特徴とする請求項2〜4のいずれか一項に記載の半導体集積回路。
  6. 前記クロック生成回路は、第3テストモードの場合に、所定周波数の前記テストクロック信号を生成し、第3テストモードから第4テストモードへの切り替わりに同期して、所定パルス数に限定された前記テストクロック信号を生成することを特徴とする請求項5に記載の半導体集積回路。
  7. 前記制御回路は、通常動作モードの場合に、前記第1及び前記第2選択回路がそれぞれ前記第1及び前記第2クロック信号を選択する論理値の前記制御信号を出力することを特徴とする請求項2〜6のいずれか一項に記載の半導体集積回路。
  8. 前記クロック生成回路は、通常動作モードの場合に、前記テストクロック信号よりも高い所定周波数の前記第1及び前記第2クロック信号を生成することを特徴とする請求項7に記載の半導体集積回路。
  9. 前記機能ブロックは、第1及び第2機能ブロックによって構成され、
    前記第1機能ブロックは、
    前記第1選択回路及び前記第1論理回路を有し、
    前記第2機能ブロックは、
    前記第2選択回路及び前記第2論理回路を有する、請求項1〜8のいずれか一項に記載の半導体集積回路。
  10. 第1及び第2クロック信号と、前記第1及び前記第2クロック信号より低速のテストクロック信号と、を生成するクロック生成回路と、
    前記第1クロック信号及び前記テストクロック信号の何れかを動作モードに応じて選択的に出力する第1選択回路と、前記第1選択回路から出力されたクロック信号に同期して動作する第1フリップフロップを有する第1論理回路と、前記第2クロック信号及び前記テストクロック信号の何れかを前記動作モードに応じて選択的に出力する第2選択回路と、前記第2選択回路から出力されたクロック信号に同期して動作する第2フリップフロップを有する第2論理回路と、を有する機能ブロックと、を備えた半導体集積回路のテスト方法であって、
    第1テストモードの場合に、前記第1及び前記第2選択回路からそれぞれ前記テストクロック信号を選択的に出力させ、
    第2テストモードの場合に、前記第1及び前記第2選択回路からそれぞれ前記第1及び前記第2クロック信号を選択的に出力させる、半導体集積回路のテスト方法。
  11. 第1テストモードの場合に、前記クロック生成回路から所定の論理値に固定された前記第1及び前記第2クロック信号を出力させ、
    第1テストモードから第2テストモードへの切り替わりに同期して、前記クロック生成回路から所定パルス数に限定された前記第1及び前記第2クロック信号を出力させる、請求項10に記載の半導体集積回路のテスト方法。
  12. 通常動作モードの場合、前記クロック生成回路から所定周波数の前記第1及び前記第2クロック信号を出力させることを特徴とする請求項10又は11に記載の半導体集積回路のテスト方法。
JP2012004934A 2012-01-13 2012-01-13 半導体集積回路及びそのテスト方法 Pending JP2013145135A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012004934A JP2013145135A (ja) 2012-01-13 2012-01-13 半導体集積回路及びそのテスト方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012004934A JP2013145135A (ja) 2012-01-13 2012-01-13 半導体集積回路及びそのテスト方法

Publications (1)

Publication Number Publication Date
JP2013145135A true JP2013145135A (ja) 2013-07-25

Family

ID=49040999

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012004934A Pending JP2013145135A (ja) 2012-01-13 2012-01-13 半導体集積回路及びそのテスト方法

Country Status (1)

Country Link
JP (1) JP2013145135A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104345261A (zh) * 2013-08-07 2015-02-11 瑞昱半导体股份有限公司 电路使用期计量装置与方法
JP2015050285A (ja) * 2013-08-30 2015-03-16 株式会社東芝 半導体装置
JP2021139742A (ja) * 2020-03-05 2021-09-16 株式会社東芝 半導体集積回路、その回路設計装置、回路設計方法、及び回路設計プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104345261A (zh) * 2013-08-07 2015-02-11 瑞昱半导体股份有限公司 电路使用期计量装置与方法
JP2015050285A (ja) * 2013-08-30 2015-03-16 株式会社東芝 半導体装置
JP2021139742A (ja) * 2020-03-05 2021-09-16 株式会社東芝 半導体集積回路、その回路設計装置、回路設計方法、及び回路設計プログラム
JP7305583B2 (ja) 2020-03-05 2023-07-10 株式会社東芝 半導体集積回路

Similar Documents

Publication Publication Date Title
US8301932B2 (en) Synchronising between clock domains
JP5317356B2 (ja) クロック制御信号生成回路、クロックセレクタ、及び情報処理装置
JP4790060B2 (ja) クロック信号選択回路
US7586337B2 (en) Circuit for switching between two clock signals independently of the frequency of the clock signals
JP2008122159A (ja) 半導体集積回路
JP4711915B2 (ja) 電子回路
US6943595B2 (en) Synchronization circuit
KR100835807B1 (ko) 클럭 절환 회로
JP4192228B2 (ja) データ発生装置
JP2002289776A (ja) 半導体装置
JP4769431B2 (ja) ドットクロック同期生成回路
JP2013145135A (ja) 半導体集積回路及びそのテスト方法
US7774666B2 (en) Analyzer
JP2008227936A (ja) クロック生成回路、クロック選択回路、及び半導体集積回路
JP2003316566A (ja) パイプラインプロセッサ
JP2007024884A (ja) 半導体装置、テスト基板、半導体装置のテストシステム及び半導体装置のテスト方法
KR100410632B1 (ko) 소비전류와 레이아웃 면적의 감소를 위한 지연고정루프
JP6512640B1 (ja) 非同期fifo回路
US7555083B2 (en) Synchronizing circuit for stably generating an output signal
JP2011158440A (ja) クロック生成回路、半導体集積回路およびその試験システム
JP2005109955A (ja) 非同期通信回路
JP2009210544A (ja) 半導体集積回路
JP2010003039A (ja) Cpu動作クロック同調式plcバスシステム
CN115561612A (zh) 半导体装置与测试脉冲信号产生方法
JP4646710B2 (ja) 半導体集積回路