JP2005077259A - 集積回路とその検査システム、検査装置、ならびに検査方法 - Google Patents

集積回路とその検査システム、検査装置、ならびに検査方法 Download PDF

Info

Publication number
JP2005077259A
JP2005077259A JP2003308504A JP2003308504A JP2005077259A JP 2005077259 A JP2005077259 A JP 2005077259A JP 2003308504 A JP2003308504 A JP 2003308504A JP 2003308504 A JP2003308504 A JP 2003308504A JP 2005077259 A JP2005077259 A JP 2005077259A
Authority
JP
Japan
Prior art keywords
inspection
program
integrated circuit
processor
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.)
Granted
Application number
JP2003308504A
Other languages
English (en)
Other versions
JP4207722B2 (ja
Inventor
Akiyoshi Fukada
章敬 深田
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2003308504A priority Critical patent/JP4207722B2/ja
Publication of JP2005077259A publication Critical patent/JP2005077259A/ja
Application granted granted Critical
Publication of JP4207722B2 publication Critical patent/JP4207722B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

【課題】検査対象の集積回路の規模を増大させることなく、高速で、検査内容の変更にも柔軟に対応することができる検査システムとその方法ならびに検査装置を提供する。
【解決手段】検査モードにおいて、制御部20から集積回路10に対して検査プログラムが供給され、この検査プログラムが集積回路10のプロセッサ11において実行される。そして、制御部20からプロセッサ11に対して所望の検査手順に応じた制御信号が出力されると、プロセッサ11では、供給された検査プログラムに基づいてこの制御信号に応じた処理が行われる。これにより、回路ブロックに検査信号を入力してその処理動作を開始させる処理や、回路ブロックの出力結果を出力結果取得部60に出力する処理が実行される。
【選択図】 図1

Description

本発明は、プログラムに基づいて処理を実行するプロセッサを備えた集積回路とその検査システム、検査装置、および検査方法に関するものである。
半導体集積回路の検査手法として、例えば、BIST(built-in self test)と称される内部組み込み型の検査手法や、一般にJTAG(joint test action group)と称される国際規格(IEEE1149.1)において標準化された検査手法がある。
図6は、BIST型の検査を説明するための図である。
BIST型の検査では、集積回路の内部に検査用の回路と検査対象の回路とが組み込まれる。図6の例では、集積回路1の内部に、検査対象の回路ブロック1−3と共に、検査用の回路として、検査信号発生器1−1、セレクタ1−2および判定器1−4が組み込まれている。
検査信号発生器1−1は、回路ブロック1−3に与える検査用の信号Dtを発生する。
セレクタ1−2は、回路ブロック1−3に入力する信号の選択を行なう。通常動作時において外部より集積回路1に入力される信号Dinを選択し、検査時において検査信号Dtを選択する。
判定器1−4は、回路ブロック1−3に入力される検査信号Dtに対し、その出力信号Doutが所定の条件を満たしているか否かを判定する。
BIST型の検査では、例えば上記のような構成により、被検査回路に対する検査信号の供給と検査結果の判定とが集積回路の内部において自動的に行なわれる。このため、比較的高速な検査が可能であり、また、検査装置の構成を簡易化することができる。
図7は、JTAG型の検査を説明するための図である。
図7に示すように、JTAG型の検査では、集積回路2の外部端子T3〜T10と内部回路2−1とをつなぐ配線上に、検査用のレジスタ2−3〜2−10がそれぞれ挿入される。これらのレジスタ2−3〜2−10は縦続に接続されており、1本のシフトレジスタを構成している。また、集積回路2の内部には、これらのレジスタを制御するためのTAP(test access port)と称される制御回路2−2が設けられている。制御回路2−2は、例えば、レジスタ2−3〜2−10に保持される検査データを内部回路2−1へ入力させたり、内部回路2−1の出力信号をレジスタ2−3〜2−10に保持させたり、更には、上述したシフトレジスタのシフト動作によって集積回路2にデータを入出力させるなどの制御を行なう。
このような検査用の回路を集積回路2の内部に設けることにより、外部の検査信号発生器3において発生させた検査信号をレジスタ2−3〜2−10に転送して内部回路2−1に入力し、これに応じた内部回路2−1の出力信号を集積回路2の外部に取り出して判定器4により判定することが可能になる。
JTAG型の検査では、BIST型のように集積回路内部に検査用の回路を設けずに済むため、チップ面積を小型化することができる。
特許文献1は、このようなJTAG型の検査手法に係わる半導体製品の試験回路についての発明が記載されている。
特開2003−66102号公報
しかしながら、上述したBIST型の検査およびJTAG型の検査には、次に述べるような不利益がある。
BIST型の検査において、集積回路2の内部に組み込まれる検査用の回路は、集積回路2の通常の機能を果たすためには使用できないため、出荷後の製品においては無駄な回路となり、コストを上昇させる要因となる。このため、検査用の回路は極力コンパクトであることが要求されるが、回路をコンパクトにするためには、検査内容を簡易化せざるを得ないため、詳細な検査結果を得ることができないという不利益が生じる。また、集積回路の詳細な設計が完了した後で検査項目を追加することが非常に困難であり、そのような柔軟性に欠けるという不利益もある。
JTAG型の検査では、集積回路の内部の被検査回路に検査信号を入力する場合、検査信号をシフトレジスタ上でシフトさせて目的の入力端子に伝送する必要があり、また、被検査回路からの出力信号を取得する場合にも、シフトレジスタ上でデータをシフトさせて外部に出力させる必要がある。そのため、例えば画像データを符号化する回路のように、大量のデータが入出力される回路では、このような検査専用のインターフェース回路を通じて被検査回路にデータを入出力させようとすると、検査時間が膨大になってしまうという不利益がある。
また、上述の検査用インターフェース回路では、被検査回路の状態を外部の検査装置においてリアルタイムで監視することが困難である。例えば、被検査回路に対する信号の入力や、被検査回路からの処理結果の出力が現在可能であるか否かといった情報を、検査装置で把握することが困難である。したがって、検査装置では、検査信号の供給や処理結果の収集を行なう際に時間的な余裕を持つ必要が生じ、そのため検査時間が遅くなるという不利益が存在する。
本発明はかかる事情に鑑みてなされたものであり、その目的は、検査対象の集積回路の規模を増大させることなく、高速で、検査内容の変更にも柔軟に対応することができる検査システムとその方法ならびに検査装置を提供することにある。
また、本発明の他の目的は、回路規模を増大させることなく、高速で、検査内容の変更にも柔軟に対応することができる検査を可能にする集積回路を提供することにある。
上記の目的を達成するため、本発明の第1の観点の検査システムは、入力される制御信号に応じて、上記集積回路に供給する検査信号を生成する検査信号生成手段と、上記制御信号に応じて、上記集積回路の出力結果を取得する出力結果取得手段と、上記集積回路へ検査プログラムを供給してその起動を指示し、所定の検査手順に応じて、上記検査信号生成手段、出力結果取得手段、および上記集積回路を制御するための上記制御信号を生成する制御手段とを有する。上記集積回路は、プログラムに基づいた処理を実行するプロセッサと、1つまたは複数の回路ブロックと、上記制御手段からの起動指示に応じて、上記制御手段より供給される上記検査プログラムを上記プロセッサに実行させるプログラム起動手段とを含む。また、上記プロセッサは、上記制御信号に応じて、少なくとも、上記回路ブロックに上記検査信号を入力してその動作を開始させる処理、または、上記回路ブロックの出力結果を上記出力結果取得手段に出力する処理を、上記検査プログラムに基づき実行する。
本発明の第1の観点によれば、上記制御手段から上記集積回路へ検査プログラムが供給されその起動が指示されると、上記プログラム起動手段の制御によって、上記制御手段より供給される上記検査プログラムが上記プロセッサにおいて実行される。また、上記制御手段では、所定の検査手順に基づいて、上記検査信号生成手段、出力結果取得手段、および上記集積回路を制御するための制御信号が生成される。上記プロセッサでは、この制御信号に応じて、少なくとも、上記回路ブロックに上記検査信号生成手段の検査信号を入力してその処理動作を開始させる処理、または、上記回路ブロックの出力結果を上記出力結果取得手段に出力する処理が、上記検査プログラムに基づき実行される。
また、上記した第1の観点において、上記プロセッサは、上記回路ブロックの出力信号が所定の条件を満たすか否かを判定し、当該判定結果を上記出力結果取得手段に出力する処理を、上記検査プログラムに基づき実行しても良い。
本発明の第2の観点の集積回路は、プログラムに基づいた処理を実行するプロセッサと、1つまたは複数の回路ブロックと、所定のプログラムを格納する第1の記憶手段と、動作モードが検査モードの場合、プログラムの起動指示に応じて、供給される検査プログラムを上記プロセッサに実行させ、動作モードが通常モードの場合、プログラムの起動指示に応じて、上記第1の記憶手段に格納されるプログラムを上記プロセッサに実行させるプログラム起動手段とを有する。また、上記プロセッサは、上記検査モードにおいて、入力される制御信号に応じて、少なくとも、入力される検査信号を上記回路ブロックに与えてその動作を開始させる処理、または、上記回路ブロックの出力結果を集積回路の外部に出力する処理を、上記検査プログラムに基づき実行する。
本発明の第3の観点の検査装置は、プログラムに基づいた処理を実行するプロセッサと、1つまたは複数の回路ブロックとを有する集積回路の検査装置であって、入力される制御信号に応じて、上記集積回路に供給する検査信号を生成する検査信号生成手段と、上記制御信号に応じて、上記集積回路の出力結果を取得する出力結果取得手段と、上記制御信号に応じて、少なくとも、上記回路ブロックに上記検査信号を入力してその動作を開始させる処理、または、上記回路ブロックの出力結果を上記出力結果取得手段に出力する処理を上記プロセッサに実行させる検査プログラムを上記集積回路に供給し、上記供給した検査プログラムを上記集積回路において起動させ、所定の検査手順に応じて、上記検査信号生成手段、出力結果取得手段、および上記集積回路を制御するための上記制御信号を生成する制御手段とを有する。
本発明の第4の観点の検査方法は、プログラムに基づいた処理を実行するプロセッサと、1つまたは複数の回路ブロックとを有した集積回路の検査方法であって、上記集積回路に検査プログラムを供給する第1の工程と、供給した上記検査プログラムを上記プロセッサにおいて起動させる第2の工程と、上記回路ブロックに検査信号を入力してその動作を開始させる処理を、上記検査プログラムに基づいて上記プロセッサに実行させる第3の工程と、上記回路ブロックの出力結果を上記集積回路の外部に出力させる処理を、上記検査プログラムに基づいて上記プロセッサに実行させる第4の工程とを有する。
本発明によれば、検査対象の集積回路の規模を増大させることなく、高速で、検査内容の変更にも柔軟に対応することができる検査システムとその方法ならびに検査装置を提供することができる。
また、回路規模を増大させることなく、高速で、検査内容の変更にも柔軟に対応することができる検査を可能にする集積回路を提供することができる。
以下、本発明の実施形態について、図面を参照して説明する。
図1は、本発明の実施形態に係る集積回路の検査システムの構成の一例を示すブロック図である。
図1に示す検査システムは、検査装置200として、制御部20と、検査信号生成部30と、入力部50と、出力結果取得部60と、映像・音声出力部80と、記憶部40,70,90と、インターフェース部100とを有するとともに、検査対象の集積回路10を有する。
図1の例において、この集積回路10は、プロセッサ11と、プロセッサ起動部12と、ROM13と、フラッシュROM14と、RAM15と、回路ブロック16−1,…,16−n(nは自然数を示す)とを有する。
また、図1の例において、集積回路10には外部RAM110が接続されている。
なお、制御部20は、本発明の制御手段の一実施形態であるとともに、本発明の判定手段の一実施形態である。。
検査信号生成部30は、本発明の検査信号生成手段の一実施形態である。
出力結果取得部60は、本発明の出力結果取得手段の一実施形態である。
プロセッサ11は、本発明のプロセッサの一実施形態である。
プロセッサ起動部12は、本発明のプロセッサ起動手段の一実施形態である。
ROM13は、本発明の第1の記憶手段の一実施形態である。
RAM15は、本発明の第2の記憶手段の一実施形態である。
[制御部20]
制御部20は、検査システムの全体の動作に係わる制御を行う。
例えば、集積回路10の動作モードを通常モードまたは検査モードに設定し、それぞれのモードを開始するときに、集積回路10へプログラムの起動を指示する信号を出力する。ただし、検査モードに設定した場合は、集積回路10へ後述する検査プログラムを供給した上で、その検査プログラムの起動を指示する信号を集積回路10へ出力する。
また、集積回路10において検査プログラムが起動されて検査が実行される場合、制御部20は、所定の検査手順に基づいて、検査信号生成部30や、出力結果取得部60、集積回路10を制御するための制御信号を生成する。
例えば、(1)回路ブロック16−1に画像データAを入力してその処理結果を判定し、続いて、(2)回路ブロック16−1に画像データBを入力してその処理結果を判定する、といった検査手順を指示する情報が、制御部20に対してあらかじめ与えられている。
制御部20は、この検査手順の情報に基づいて、検査を遂行するために必要な制御信号を順次生成する。
例えば(1)の検査の場合、制御部20は、まず回路ブロック16−1の状態を制御部20に問い合わせる制御信号を生成する。この問い合わせに応じて、回路ブロック16−1に信号の入力が可能になったことを通知する信号が集積回路10から出力された場合、制御部20は、検査信号生成部30に対して画像データAの準備を指示する制御信号を生成する。この指示に応じて、検査信号生成部30から画像データAの準備が完了したことを通知する信号が出力されると、制御部20は、検査信号生成部30に対して検査信号の生成開始を指示するとともに、集積回路10に対して処理の開始を指示する制御信号を生成する。その後、集積回路10から処理結果のデータが出力可能になったことを通知する信号が出力された場合、制御部20は、集積回路10に対して処理結果の出力を指示するとともに、処理結果取得部60に対して処理結果の取得を指示する制御信号を生成する。
このように、制御部20は、検査信号生成部30や出力結果取得部60とともに、検査対象の集積回路10とも協調しながら、与えられた検査手順を実行するために必要な制御信号を生成する。
また、制御部20は、出力結果取得部60において取得された集積回路10の出力結果が所定の条件を満たすか否かを判定する処理も行う。すなわち、出力結果取得部60において取得され、記憶部70に格納されたデータと、記憶部90に格納された期待値のデータとを比較し、この比較結果に応じて、集積回路10の出力結果が所定の条件を満たすか否かを判定する。
なお、図1の例において、制御部20、検査信号生成部30、出力結果取得部60、記憶部90、およびインターフェース部100は、共通のバスB1に接続されている。制御部20において生成される制御信号や、他の機器から制御部20へ出力される信号は、このバスB1を介して伝送される。
バスB1は、例えばPCI(peripheral component interconnect)バスなどの汎用的なバスを用いることができる。
[検査信号生成部30]
検査信号生成部30は、バスB1を介して入力される制御部20からの制御信号に応じて、集積回路10に供給する検査信号を生成する。検査信号を生成するために必要なデータは、記憶部40から読み出すか、あるいは、入力部50を介して他の機器から入力する。
[記憶部40]
記憶部40は、検査信号生成部30において検査信号を生成するために必要なデータ、例えば画像データや音声データなどを格納する。
[入力部50]
入力部50は、検査信号生成部30において検査信号を生成するために必要なデータを外部の機器から入力するための処理を行う。例えば、ネットワークを介して他の記憶装置にアクセスする処理や、CD−ROMなどの記録媒体からデータを読み出す処理、信号発生装置から信号を入力する処理などを行なう。
[出力結果取得部60]
出力結果取得部60は、バスB1を介して入力される制御部20からの制御信号に応じて、集積回路10の出力結果を取得する。取得したデータは、記憶部70に格納するか、または映像・音声出力部80に供給する。
[記憶部70]
記憶部70は、出力結果取得部60において取得される集積回路10の出力結果のデータを格納する。
[映像・音声出力部80]
映像・音声出力部80は、出力結果取得部60において取得されるデータが画像データや音声データの場合において、これを画像や音声に再生して出力する。
[インターフェース部100]
インターフェース部100は、検査装置200のバスB1と集積回路10の内部バスB2との間でデータを受け渡すためのインターフェース処理を行う。
[プロセッサ11]
プロセッサ11は、プロセッサ起動部12によって指定されたメモリに格納されるプログラムを読み出して、これに応じた処理を実行する。
なお、図1の例において、プロセッサ11、プロセッサ起動部12、ROM13、フラッシュROM14、RAM15、回路ブロック16−1〜16−nは、何れも集積回路10の内部バスB2に接続されている。
プロセッサ11は、この内部バスB2を介して、集積回路10の各ユニットにアクセスする。
[プロセッサ起動部12]
プロセッサ起動部12は、制御部20からバスB1、B2を介して入力されるプロセッサの起動指示に応じて、動作モードに応じたプログラムをプロセッサ11に実行させる。
すなわち、動作モードが通常モードの場合、プロセッサ起動部12は、制御部20からの起動指示に応じて、ROM13に格納される通常モード用のプログラムをプロセッサに実行させる。
動作モードが検査モードの場合は、制御部20より供給される検査プログラムを例えばRAM15にロードし、制御部20からの起動指示に応じて、RAM15にロードされた検査プログラムをプロセッサに実行させる。
これにより、プロセッサ11においては、通常モードの場合、ROM13に格納される通常モード用のプログラムが起動し、検査モードの場合、制御部20より供給される検査プログラムが起動する。
なお、検査プログラムの実行に必要なプログラム以外の記憶領域がRAM15だけでは得られない場合は、図1に示すように、外部RAM110を設けてこれをプログラム以外の記憶領域に割り当てても良い。あるいは、検査プログラムの一部をフラッシュROM14とRAM15に分けて格納しても良い。
[ROM13]
ROM13は、通常モードにおけるプロセッサ11のプログラムを格納する。
[フラッシュROM14]
フラッシュROM14は、プロセッサ11の処理に用いられるデータを格納するための不揮発性のメモリである。上述のように、このフラッシュROM14に検査プログラムの一部を格納させる構成としても良い。
[RAM15]
RAM15は、検査モードにおいて、バスB1、B2を介し制御部20より供給される検査プログラムを格納する。検査プログラムを格納した残りの記憶領域は、検査プログラムの処理過程において一時的に記憶が必要なデータを格納するために用いられる。
また、通常モードにおいても、プロセッサ11からアクセス可能であり、通常モード用プログラムの処理過程において一時的に記憶が必要なデータを格納するために用いられる。
[外部RAM110]
外部RAM110は、プロセッサ11から読み書きアクセスが可能な記憶領域を拡張するためのメモリである。検査プログラムの処理過程において一時的に記憶が必要なデータを格納するために用いられる。
[回路ブロック16−1〜16−n]
集積回路10において、検査の対象となる回路ブロックである。図1の例では、何れの回路ブロックも内部バスB2を介してプロセッサ11からアクセス可能であり、それぞれの回路ブロックにおける動作条件の設定や、動作状況の監視、信号の入出力などが、プロセッサ11によって制御される。
次に、上述した構成を有する図1に示す検査システムの動作を説明する。
図2は、検査装置200と集積回路10との間でやり取りされる主な信号の例を示した図である。
検査入力信号S1は、主として検査信号生成部30より供給される信号であり、検査出力信号S2は、検査入力信号S1を処理した結果として検査対象の回路ブロックから出力される信号である。例えば、画像データの符号化処理を行う回路ブロックでは、入力のテスト用画像データが検査入力信号S1に相当し、出力の符号化画像データが検査出力信号S2に相当する。
検査プログラムS3は、検査モードが開始されるときに、制御部20から集積回路10に対して与えられるプログラムである。
レスポンス信号S4は、検査の実行に伴って集積回路10から出力される信号である。例えば、検査入力信号S1が画像データである場合、この画像データに異常な部分が含まれているか否かを示すエラー信号が、レスポンス信号S4に相当する。
制御信号S5は、検査の進行を制御するための信号であり、検査装置200と集積回路10との間で相互にやり取りされる。制御信号S5には、制御部20において生成され、検査信号生成部30や出力検査取得部60、集積回路10などに与えられる上述した制御信号のほか、制御部20やプロセッサ11において割り込み処理などを行わせる信号も含む。
例えば、プロセッサ11においては、回路ブロックの出力信号の状態を制御部20に対して通知する信号を出力した後、検査プログラムの進行を停止し、この状態通知信号に応答した制御信号が制御部20より出力される場合に検査プログラムの進行を再開する割り込み待ちの処理が可能である。このような割り込み待ちの処理おいて、プロセッサ11から制御部20へ出力される状態通知信号や、制御部20からプロセッサ11へ出力される信号は、ここで言う制御信号S5に相当する。
図3は、図1に示す検査システムにおける検査の流れの一例を示すフローチャートである。
ステップST101:
検査を開始する場合、まず制御部20から通常モードのプロセッサ11に対して、その動作を停止させるための制御信号が出力される。これにより、プロセッサ11の動作が停止される。
ステップST102:
プロセッサ11の停止が制御部20において確認された後、続けて、制御部20からプロセッサ起動部12に対して、通常モードから検査モードへのモード切り換えを指示する制御信号が出力される。これにより、プログラム起動部12における起動プログラムの格納メモリの設定が、ROM13からRAM15へ変更される。
ステップST103:
次いで、制御部20から集積回路10に対して検査プログラムが供給されると、この検査プログラムは、プロセッサ起動部12の制御によってRAM20にロードされる。
ステップST104:
検査プログラムのRAM20へのロードが終了すると、制御部20からプロセッサ起動部12に対してプログラムの起動を指示する信号が与えられる。これを受けて、RAM15に格納される検査プログラムの実行指示がプロセッサ起動部12からプロセッサ11に対して与えられ、プロセッサ11において検査プログラムが起動する。
ステップST105:
制御部20において、所定の検査手順に応じた制御信号が生成され、これに応じた種々の検査処理が実行される。検査処理の詳細については、後に図4を参照して述べる。
また、この検査処理と並行して、制御部20では、出力結果取得部60において取得された集積回路10の出力結果が所定の条件を満たすか否かを判定する処理が行なわれる。例えば、制御部20から集積回路10に検査信号を入力し、その出力結果が得られるまでの待ち時間において、制御部20では以前に行なわれた検査の出力結果に対する判定処理が行われる。
ステップST106:
制御部20において、予定された検査手順が終了したか否かの判定がなされ、まだ終了していないと判定された場合には、続けて検査・判定処理が行われる。予定された検査手順が終了したと判定された場合には、次のステップST107へ処理が移る。
ステップST107:
検査モードを終了するにあたり、制御部20からプロセッサ11に対して、その動作を停止させるための制御信号が出力される。これにより、プロセッサ11の動作が停止される。
ステップST108:
プロセッサ11の停止が制御部20において確認された後、続けて、制御部20からプロセッサ起動部12に対して、検査モードから通常モードへのモード切り換えを指示する制御信号が出力される。これにより、プログラム起動部12における起動プログラムの格納メモリの設定が、RAM15からROM13へ変更される。
ステップST109:
制御部20からプロセッサ起動部12に対してプログラムの起動を指示する信号が与えられる。これを受けて、ROM13に格納される通常モード用のプログラムの実行指示がプロセッサ起動部12からプロセッサ11に対して与えられ、プロセッサ11において通常モード用のプログラムが起動する。
図4は、上述したステップST105における検査処理の一例を示すフローチャートである。
ステップST201:
制御部20からプロセッサ11に対して、ある条件の元に回路ブロックの検査を行なうことを指示する制御信号が与えられる。これを受けて、プロセッサ11では、制御信号において指定された回路ブロックに対し、指定された条件の動作を行なわせるための設定を行なう。例えば、回路ブロックが有する制御用のレジスタに、制御信号において指定された値のデータを設定する。
ステップST202:
回路ブロックの設定が終了すると、プロセッサ11から制御部20に対して検査信号の入力が可能であることを示す制御信号が出力される。この制御信号の出力後、プロセッサ11では検査プログラムの進行が停止され、検査信号の入力待ちの状態となる。
プロセッサ11からこの制御信号を受けた制御部20では、検査信号生成部30に対して検査信号を準備するように指示する制御信号が生成される。これに応じて検査信号生成部30から検査信号の準備が完了したことを示す制御信号が出力されると、制御部20から検査信号生成部30に対して検査信号の出力を指示する制御信号が出力されるとともに、制御部20からプロセッサ11に対して検査信号の出力開始を知らせる制御信号が出力される。これにより、プロセッサ11では検査プログラムの進行が再開され、検査信号生成部30より出力される検査信号を検査対象の回路ブロックに供給する処理が実行される。
次いで、制御部20では、回路ブロックにおいて出力結果が得られたことを通知する割り込み信号が受信可能な状態となり、プロセッサ11では、検査対象の回路ブロックの出力を監視する状態となる。プロセッサ11において検査信号に応じた出力信号の生成が可能になると、プロセッサ11はそのことを通知する割り込み信号を制御部20へ出力する。これを受けて、制御部20では、出力結果の取得を指示する制御信号を出力結果取得部60に出力する。これにより、回路ブロックの出力結果は出力結果取得部60によって取得される。
なお、検査信号の供給と出力結果の取得とを並行して実行することも可能である。
また、後述する内部判定によって判定結果が得られる場合には、その出力結果を出力結果取得部60に取得させなくても良い。
ステップST203、204、205:
比較的データ量が少量であり、プロセッサ11においても判定処理が可能な場合には、制御部20に代わり、プロセッサ11において判定処理が実行される(ステップST204)。すなわち、回路ブロックの出力信号が所定の条件を満たすか否かの判定が行なわれる。そして、その判定結果が出力結果取得部60へ出力される(ステップST205)。これにより、検査結果の高速な判定が可能になる。
なお、この内部判定処理を行うか否かは、制御部20からの制御信号に応じて決定される。
また、内部判定処理で得られる処理結果に基づいて、制御部20における検査手順の流れを変更する分岐処理を実現することも可能である。
以上説明したように、図1に示す検査システムによれば、検査モードにおいて、制御部20から集積回路10に対して検査プログラムが供給され、この検査プログラムが集積回路10のプロセッサ11において実行される。そして、制御部20からプロセッサ11に対して所望の検査手順に応じた制御信号が出力されると、プロセッサ11では、供給された検査プログラムに基づいてこの制御信号に応じた処理が行われる。これにより、回路ブロックに検査信号を入力してその処理動作を開始させる処理や、回路ブロックの出力結果を出力結果取得部60に出力する処理が実行される。このように、通常モードにおいて使用されるプロセッサが回路ブロックの検査にも利用可能となるため、図7に示すJTAG型の検査のように、検査用の低速なインターフェース回路によって検査信号を伝送する方法に比べて、回路ブロックへのアクセス、信号の入出力を高速化することができ、その結果、検査速度を大幅に高速化することができる。
また、図1に示す検査システムでは、検査対象の回路ブロックの状態をプロセッサ11によりリアルタイムで監視することが可能であるため、この状態を制御部20に通知することにより、割り込み処理を容易に実現することが可能である。これにより、回路ブロックの動作状態に応じて、検査信号の供給や出力結果の取得といった処理を、余計な待ち時間を挿入することなく、高速に実行することが可能になり、割り込み処理が困難な図7のJTAG型の検査に比べて、検査処理を高速化することができる。
しかも、図1に示す集積回路10によれば、検査モードにおいて利用されるプロセッサ11やRAM15が、通常モードでも利用されるため、検査のみに利用される回路が存在しない。したがって、検査用の回路を内蔵する必要がある検査手法に比べて、チップ面積を小型化することができる。
さらに、検査項目が非常に多い場合でも、チップ面積を増大させることがないため、より詳細な検査が可能となり、開発効率の向上や不良率の低減を図ることが可能である。
加えて、制御部20における処理はコンピュータとプログラムによって実現可能であり、集積回路10の内部における処理も検査プログラムに基づいているため、図6に示すような集積回路内部に検査用回路を組み込む検査手法に比べて、検査手順を容易に変更することができる。
図5は、図1に示す検査システムのプログラム・スタック構造の一例を示す図である。
プログラム・スタックPS1は、ユーザによりディスプレイ画面上で入力または操作されるコマンド・インターフェースを有したGUI(graphical user interface)層である。
プログラム・スタックPS2は、プログラム・スタックPS1のGUI層から渡されるコマンドを分析してテストプロシジャを選択する、コマンド分析層である。
プログラム・スタックPS3は、検査の実行に係わる情報を記述したテストプロシジャの集まりであり、検査の内容に応じて、複数のテストプロシジャが存在する。
プログラム・スタックPS4は、テストプロシジャによって呼び出される、より基本的なサブルーチンの集まりである。
プログラム・スタックPS5は、上位層のコマンドを、集積回路10の内部におけるコマンドに変換するためのインターフェース層である。
プログラム・スタックPS6は、バスB1と集積回路の内部バスとの間でアドレス変換を行なったり、ファイル操作等を行なうための共通ライブラリである。
このプログラム・スタック構造によると、プログラム・スタックPS1より入力されたコマンドは、このインターフェース層を介してコマンド分析層であるプログラム・スタックPS2に移る。そこで、コマンドの構文が分析され、コマンドに対応したテストプロシジャ(PS4)が選択される。このテストプロシジャからサブルーチン(PS5)が呼び出され、更にサブルーチンのコマンドが集積回路10内部のコマンドに変換され(PS5)、これにより、ユーザの要求に応じた所望の処理が集積回路10において実行される。
このようなプログラム・スタック構造を有するソフトウェアによって検査システムの処理を実現することにより、検査項目の追加や変更に対してより柔軟に対応することが可能になる。
なお、上述のプログラム・スタック構造では、制御部20とプロセッサ11との間に特別な区別を設ける必要はない。
また、プログラム・スタックPS1のインターフェースとしては、ディスプレイ画面上のグラフィカルなインターフェースを必ずしも用意する必要はなく、たとえば単純にコマンドを入力するだけのインターフェースでも良い。
また、GUI層のコマンドとテストプロシジャとが一対一に対応するように関数を設計し、テストプロシジャを関数ポインタによって表現しても良い。これにより、コマンドの増加にも柔軟に対応することが可能になる。
なお、本発明は上述した実施形態に限定されない。
たとえば、図1の例ではバスB1とバスB2との間にインターフェース部100が設けられているが、集積回路内部に同様なインターフェース回路が存在する場合には、インターフェース部100を省略しても良い。バスB1とバスB2とが同一の場合にも省略可能である。
本発明の実施形態に係る集積回路の検査システムの構成の一例を示すブロック図である。 検査装置と集積回路との間でやり取りされる主な信号の例を示した図である。 図1に示す検査システムにおける検査の流れの一例を示すフローチャートである。 検査処理の一例を示すフローチャートである。 図1に示す検査システムのプログラム・スタック構造の一例を示す図である。 BIST型の検査を説明するための図である。 JTAG型の検査を説明するための図である。
符号の説明
10…集積回路、11…プロセッサ、12…プロセッサ起動部、13…ROM、14…フラッシュROM、15…RAM、16−1,…,16−n…回路ブロック、20…制御部、30…検査信号生成部、50…入力部、60…出力結果取得部、80…映像・音声出力部、40,70,90…記憶部、100…インターフェース部、110…外部RAM、200…検査装置

Claims (12)

  1. プログラムに基づいた処理を実行するプロセッサを有した集積回路の検査システムであって、
    入力される制御信号に応じて、上記集積回路に供給する検査信号を生成する検査信号生成手段と、
    上記制御信号に応じて、上記集積回路の出力結果を取得する出力結果取得手段と、
    上記集積回路へ検査プログラムを供給してその起動を指示し、所定の検査手順に応じて、上記検査信号生成手段、出力結果取得手段、および上記集積回路を制御するための上記制御信号を生成する制御手段と、
    を有し、
    上記集積回路は、
    1つまたは複数の回路ブロックと、
    上記制御手段からの起動指示に応じて、上記制御手段より供給される上記検査プログラムを上記プロセッサに実行させるプログラム起動手段と、
    を含み、
    上記プロセッサは、上記制御信号に応じて、少なくとも、上記回路ブロックに上記検査信号を入力してその動作を開始させる処理、または、上記回路ブロックの出力結果を上記出力結果取得手段に出力する処理を、上記検査プログラムに基づき実行する、
    検査システム。
  2. 上記プロセッサは、上記回路ブロックの出力信号が所定の条件を満たすか否かを判定し、当該判定結果を上記出力結果取得手段に出力する処理を、上記検査プログラムに基づき実行する、
    請求項1に記載の検査システム。
  3. 上記出力結果取得手段において取得された上記集積回路の出力結果が所定の条件を満たすか否かを判定する判定手段を有する、
    請求項2に記載の検査システム。
  4. 上記制御手段は、上記集積回路の動作モードを通常モードまたは検査モードに設定し、それぞれのモードを開始するときに、上記集積回路へプログラムの起動を指示し、
    上記集積回路は、
    所定のプログラムを格納する第1の記憶手段と、
    第2の記憶手段とを含み、
    上記プログラム起動手段は、動作モードが上記通常モードの場合、上記制御手段からの起動指示に応じて、上記第1の記憶手段に格納されるプログラムを上記プロセッサに実行させ、動作モードが上記検査モードの場合、上記制御手段より供給される上記検査プログラムを上記第2の記憶手段にロードし、上記制御手段からの起動指示に応じて、上記第2の記憶手段にロードされた上記検査プログラムを上記プロセッサに実行させる、
    請求項1に記載の検査システム。
  5. 上記第2の記憶手段は、上記通常モードにおいて、上記プロセッサからのアクセスが可能である、
    請求項4に記載の検査システム。
  6. プログラムに基づいた処理を実行するプロセッサを有した集積回路であって、
    1つまたは複数の回路ブロックと、
    所定のプログラムを格納する第1の記憶手段と、
    動作モードが検査モードの場合、プログラムの起動指示に応じて、供給される検査プログラムを上記プロセッサに実行させ、動作モードが通常モードの場合、プログラムの起動指示に応じて、上記第1の記憶手段に格納されるプログラムを上記プロセッサに実行させるプログラム起動手段と、
    を有し、
    上記プロセッサは、上記検査モードにおいて、入力される制御信号に応じて、少なくとも、入力される検査信号を上記回路ブロックに与えてその動作を開始させる処理、または、上記回路ブロックの出力結果を集積回路の外部に出力する処理を、上記検査プログラムに基づき実行する、
    集積回路。
  7. 上記プロセッサは、上記検査モードにおいて、上記回路ブロックの出力信号が所定の条件を満たすか否かを判定し、当該判定結果を集積回路の外部に出力する処理を、上記検査プログラムに基づき実行する、
    請求項6に記載の集積回路。
  8. 第2の記憶手段を含み、
    上記プログラム起動手段は、動作モードが上記検査モードの場合、供給される上記検査プログラムを上記第2の記憶手段にロードし、プログラムの起動指示に応じて、上記第2の記憶手段にロードされた上記検査プログラムを上記プロセッサに実行させる、
    請求項6に記載の集積回路。
  9. プログラムに基づいた処理を実行するプロセッサと、1つまたは複数の回路ブロックとを有する集積回路の検査装置であって、
    入力される制御信号に応じて、上記集積回路に供給する検査信号を生成する検査信号生成手段と、
    上記制御信号に応じて、上記集積回路の出力結果を取得する出力結果取得手段と、
    上記制御信号に応じて、少なくとも、上記回路ブロックに上記検査信号を入力してその動作を開始させる処理、または、上記回路ブロックの出力結果を上記出力結果取得手段に出力する処理を上記プロセッサに実行させる検査プログラムを上記集積回路に供給し、上記供給した検査プログラムを上記集積回路において起動させ、所定の検査手順に応じて、上記検査信号生成手段、出力結果取得手段、および上記集積回路を制御するための上記制御信号を生成する制御手段と、
    を有する検査装置。
  10. 上記出力結果取得手段において取得された上記集積回路の出力結果が所定の条件を満たすか否かを判定する判定手段を有する、
    請求項9に記載の検査装置。
  11. プログラムに基づいた処理を実行するプロセッサと、1つまたは複数の回路ブロックとを有した集積回路の検査方法であって、
    上記集積回路に検査プログラムを供給する第1の工程と、
    供給した上記検査プログラムを上記プロセッサにおいて起動させる第2の工程と、
    上記回路ブロックに検査信号を入力してその動作を開始させる処理を、上記検査プログラムに基づいて上記プロセッサに実行させる第3の工程と、
    上記回路ブロックの出力結果を上記集積回路の外部に出力させる処理を、上記検査プログラムに基づいて上記プロセッサに実行させる第4の工程と、
    を有する検査方法。
  12. 上記回路ブロックの出力信号が所定の条件を満たすか否かを判定し、当該判定結果を上記集積回路の外部に出力させる処理を、上記検査プログラムに基づいて上記プロセッサに実行させる第5の工程を有する、
    検査方法。
JP2003308504A 2003-09-01 2003-09-01 集積回路とその検査システム、検査装置、ならびに検査方法 Expired - Fee Related JP4207722B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003308504A JP4207722B2 (ja) 2003-09-01 2003-09-01 集積回路とその検査システム、検査装置、ならびに検査方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003308504A JP4207722B2 (ja) 2003-09-01 2003-09-01 集積回路とその検査システム、検査装置、ならびに検査方法

Publications (2)

Publication Number Publication Date
JP2005077259A true JP2005077259A (ja) 2005-03-24
JP4207722B2 JP4207722B2 (ja) 2009-01-14

Family

ID=34410956

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003308504A Expired - Fee Related JP4207722B2 (ja) 2003-09-01 2003-09-01 集積回路とその検査システム、検査装置、ならびに検査方法

Country Status (1)

Country Link
JP (1) JP4207722B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010198612A (ja) * 2009-02-20 2010-09-09 Internatl Business Mach Corp <Ibm> 複数の処理要素を含む階層的並列環境内で分散ランタイム診断を実行するためのコンピュータ実装方法、コンピュータ可読ストレージ媒体及びシステム
JP2013529321A (ja) * 2010-12-23 2013-07-18 インテル・コーポレーション テスト、検証及びデバッグアーキテクチャ
JP2014170576A (ja) * 2014-04-28 2014-09-18 Intel Corp テスト、検証及びデバッグアーキテクチャのプログラム及び方法
JP2017076412A (ja) * 2016-11-21 2017-04-20 インテル・コーポレーション テスト、検証及びデバッグアーキテクチャのプログラム及び方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010198612A (ja) * 2009-02-20 2010-09-09 Internatl Business Mach Corp <Ibm> 複数の処理要素を含む階層的並列環境内で分散ランタイム診断を実行するためのコンピュータ実装方法、コンピュータ可読ストレージ媒体及びシステム
JP2013529321A (ja) * 2010-12-23 2013-07-18 インテル・コーポレーション テスト、検証及びデバッグアーキテクチャ
KR20130128424A (ko) * 2010-12-23 2013-11-26 인텔 코포레이션 테스트, 검증, 및 디버그 아키텍처
KR101581702B1 (ko) 2010-12-23 2016-01-11 인텔 코포레이션 테스트, 검증, 및 디버그 아키텍처
US10198333B2 (en) 2010-12-23 2019-02-05 Intel Corporation Test, validation, and debug architecture
JP2014170576A (ja) * 2014-04-28 2014-09-18 Intel Corp テスト、検証及びデバッグアーキテクチャのプログラム及び方法
JP2017076412A (ja) * 2016-11-21 2017-04-20 インテル・コーポレーション テスト、検証及びデバッグアーキテクチャのプログラム及び方法

Also Published As

Publication number Publication date
JP4207722B2 (ja) 2009-01-14

Similar Documents

Publication Publication Date Title
JP2009059434A (ja) 半導体集積回路
JP2006024006A (ja) テストケース生成装置、テストケース生成プログラム、モデルベース開発プログラム、ソースコード生成妥当性診断装置、ソースコード生成妥当性診断プログラム、およびモデルベース開発方法。
JP5102823B2 (ja) 総テスト時間を最小にするようにテストシナリオを最適化するテスト支援装置、テスト装置、テスト支援方法及びコンピュータプログラム
JP2010092127A (ja) コンピュータ装置、プロセッサ診断方法、及びプロセッサ診断制御プログラム
JP2005266861A (ja) マイクロコンピュータ及びそのテスト方法
JP2010123159A (ja) 半導体集積回路
JP5151996B2 (ja) 半導体集積回路及びデバッグ・トレース回路
JP4207722B2 (ja) 集積回路とその検査システム、検査装置、ならびに検査方法
US8042173B2 (en) Semiconductor device with high security having JTAG ports
JP2007206933A (ja) 情報処理装置、情報処理装置におけるブートローダ生成方法およびプログラム転送方法
JP5279818B2 (ja) 試験モジュール、試験装置および試験方法
JP2006058252A (ja) 試験装置及び試験方法
WO2012008319A1 (ja) エミュレータ検証システム、エミュレータ検証方法
JP5279816B2 (ja) 試験モジュール、試験装置および試験方法
WO2018225461A1 (ja) 処理装置及びコンピュータプログラム
WO2010029682A1 (ja) 情報処理装置
WO2009122700A1 (ja) 試験装置および試験方法
JP6692510B1 (ja) 解析装置、方法、及びプログラム
JPH09160802A (ja) テスト装置
JP2002365337A (ja) テスト回路およびデジタル回路
JP2004127169A (ja) 半導体装置
JP2007080183A (ja) データ処理装置、及びその制御方法
JP2006202034A (ja) 半導体集積回路装置
JP2008097246A (ja) 情報処理装置、情報処理装置の動作方法およびプログラム
TWI269231B (en) Method for reducing boot time under extendable firmware interface structure

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060706

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080729

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080910

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080930

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081013

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111031

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121031

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131031

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees