作業者の作業負担の軽減化および作業時間の短縮化を図るためには、予めマイコン内部に複数の動作条件を保持しておくことで、動作試験における動作条件の設定を自動化することも考えられる。しかしながら、従来技術では、動作条件を切り替える際に、複数の動作条件の中からリセット信号の種別に応じた適切な動作条件を選択するための技術が必要となる。以下に添付図面を参照して、この発明にかかる半導体集積回路および動作試験方法の好適な実施の形態を詳細に説明する。
(実施の形態1)
まず、実施の形態1にかかる半導体集積回路100の一実施例について説明する。図1は、実施の形態1にかかる半導体集積回路の一実施例を示す説明図である。図1において、半導体集積回路100は、CPU(Central Processing Unit)101と、試験対象回路102と、第1の記憶部103と、第2の記憶部104と、パワーオンリセット回路105と、リセット制御回路106と、を含む構成である。
ここで、CPU101は、半導体集積回路100の全体を制御する。試験対象回路102は、半導体集積回路100に含まれる動作試験の対象回路である。試験対象回路102としては、たとえば、半導体集積回路100のクロックの周波数を制御する制御回路や、半導体集積回路100に接続される周辺リソースを制御する制御回路などがある。
第1の記憶部103は、試験対象回路102を動作させるための複数の動作条件を記憶する記憶装置である。動作条件としては、たとえば、通常モード、スタンバイモード、スリープモードなどの各種モードで動作させるためのものや、PLLの逓倍率、分周率を指定して特定の周波数のクロックで動作させるためのものがある。なお、第1の記憶部103は、電源からの電力の供給が遮断されても記憶内容が消去されない特性を有する不揮発性記憶装置である。不揮発性記憶装置としては、たとえばEPROM(Erasable Programmable)、EEPROM(Electrically Erasable and Programmable)、FERAM(Ferroelectric Random Access Memory)、FLASHメモリなどが挙げられる。
第2の記憶部104は、電源からの電力の供給が遮断されると記憶内容が消去される特性を有する揮発性記憶装置である。揮発性記憶装置としては、たとえばSRAM(Static RAM)、DRAM(Dynamic RAM)などが挙がられる。パワーオンリセット回路105は、電源の投入を検出してパワーオンリセット信号PRSTをリセット制御回路106に出力する回路である。
リセット制御回路106は、パワーオンリセット信号PRSTまたは外部リセット信号ERSTが入力されると、試験対象回路102を初期化するためのリセット信号RSTをCPU101に出力する回路である。外部リセット信号ERSTは、半導体集積回路100の外部からリセット制御回路106に入力される信号である。
半導体集積回路100の動作試験では、試験対象回路102に動作条件を設定して動作させ、試験対象回路102の動作を評価する。具体的には、CPU101が、リセット制御回路106からのリセット信号RSTを受け付けると、第1の記憶部103に記憶されている複数の動作条件の中から動作条件を選択して試験対象回路102に設定する。そして、CPU101が、設定した動作条件で試験対象回路102を動作させる。
ただし、複数の動作条件の中には、たとえば、電源投入直後の試験対象回路102の動作を評価するためのものがある。このため、CPU101は、リセット信号RSTの種別に応じて、複数の動作条件の中から適切な動作条件を選択して試験対象回路102に設定する。以下、実施の形態1にかかる半導体集積回路100の処理手順(1)〜(4)について説明する。
(1)半導体集積回路100のCPU101は、リセット制御回路106からリセット信号RSTを受け付ける。ここで、リセット信号RSTは、パワーオンリセット信号PRSTまたは外部リセット信号ERSTのいずれか一方が、リセット制御回路106に入力されるとCPU101に出力される信号である。
(2)CPU101は、第2の記憶部104の記憶内容に基づいて、リセット信号RSTがパワーオンリセット信号PRSTか否かを判定する。ここで、パワーオンリセット信号PRSTは、パワーオンリセット回路105が電源の投入を検出して出力する信号である。すなわち、パワーオンリセット信号PRSTの発生は、電力の供給が遮断された状態からの復帰を意味しており、第2の記憶部104の記憶内容は消去されている。
そこで、第2の記憶部104に書き込まれたデータが消去されている場合は、CPU101が、リセット信号RSTがパワーオンリセット信号PRSTであると判定する。一方で、第2の記憶部104に書き込まれたデータが消去されていない場合は、CPU101が、リセット信号RSTがパワーオンリセット信号PRSTではないと判定する。
(3)CPU101は、判定された判定結果に基づいて、第1の記憶部103に記憶されている複数の動作条件の中から、試験対象回路102を動作させるための動作条件を選択する。具体的には、リセット信号RSTがパワーオンリセット信号PRSTであると判定された場合、CPU101が、複数の動作条件の中から特定の動作条件を選択する。
ここで、特定の動作条件とは、たとえば、電源投入直後の試験対象回路102の動作を評価するための動作条件である。一方、リセット信号RSTがパワーオンリセット信号PRSTではないと判定された場合、CPU101が、複数の動作条件の中から特定の動作条件とは異なる他の動作条件を選択する。
(4)CPU101は、選択された動作条件で試験対象回路102を動作させる。この際、作業者は、たとえば、デジタルマルチメータ(不図示)やオシロスコープ(不図示)などの測定値を確認することにより、試験対象回路102の動作を評価する。
このように、実施の形態1にかかる半導体集積回路100によれば、第2の記憶部104の特性を利用して、リセット信号RSTの種別を判別することができる。具体的には、CPU101が受け付けるリセット信号RSTを、パワーオンリセット信号PRSTまたは外部リセット信号ERSTに区別することができ、複数の動作条件の中から適切な動作条件を選択することができる。
これにより、動作試験における人手による煩わしい作業が不要となり、動作試験における作業者の作業負担の軽減化にともない作業時間の短縮化を図ることができる。また、複数の動作条件の中から選択された動作条件は試験対象回路102に自動設定されるため、ディップスイッチなどを操作して動作条件を手動で入力する場合に比べて人的ミスを防ぐことができ、動作試験の品質を向上させることができる。
(実施の形態2)
つぎに、実施の形態2にかかる半導体集積回路201の動作を評価するための試験システム200の一実施例について説明する。なお、実施の形態1で説明した箇所と同様の箇所については説明を省略する。
図2は、実施の形態2にかかる半導体集積回路の動作を評価するための試験システムのシステム構成図である。図2において、試験システム200は、半導体集積回路201と、評価ボード202と、電源装置203と、デジタルマルチメータ204と、オシロスコープ205と、を含む構成である。
試験システム200において、評価ボード202のVCC(正電源電圧)端子は、デジタルマルチメータ204を介して、電源装置203のVCC端子と接続されている。また、評価ボード202のGND(グランド)端子は、電源装置203のGND端子と直接接続されている。また、オシロスコープ205は、評価ボード202の任意の出力端子と電源装置203のGND端子と接続されている。
半導体集積回路201は、たとえば、動作試験対象となるマイコンである。評価ボード202は、半導体集積回路201を組み込むための評価用の基板である。評価ボード202上には、半導体集積回路201に接続して一定振動数(周波数:4[MHZ])の発振を起こすための水晶振動子206が実装されている。
電源装置203は、評価ボード202に電力を供給する電源である。デジタルマルチメータ204は、半導体集積回路201の電流、電圧、抵抗などを測定する測定器である。デジタルマルチメータ204は、たとえば、半導体集積回路201の電源電流を評価するために用いられる。オシロスコープ205は、半導体集積回路201の電圧の時間的変化をグラフとして表示する測定器である。オシロスコープ205は、たとえば、半導体集積回路201のクロックの周波数を評価するために用いられる。
ポートP1〜ポートP5は、半導体集積回路201と評価ボード202との間でデータの入出力を行うためのインターフェースである。具体的には、ポートP1〜ポートP4は、それぞれ8個の端子群p1〜p8,p9〜p16,p17〜p24,p25〜p32を有している。
ここで、ポートP1の端子p1〜p8には、LED(Light Emitting Diode)ライトL1〜L8が接続されている。各LEDライトL1〜L8は、各端子p1〜p8からの出力信号がH(High)レベルの場合は点灯し、L(Low)レベルの場合は非点灯となる。ここでは、各LEDライトL1〜L8の点灯、非点灯の組み合わせ(256通り)によって、作業者が、半導体集積回路201に設定される動作条件を識別することができる。
また、ポートP5には、ディップスイッチDが実装されている。ディップスイッチDは、半導体集積回路201の動作条件の設定を自動化するためのオート機能を有効にするためのスイッチである。ここでは、作業者が、ディップスイッチDをオン(Hレベル)に設定することで、オート機能を有効にすることができる。なお、オート機能が有効になると、ポートP1が、入力ポートから出力ポートに切り替わる構成となっている。
また、評価ボード202上には、半導体集積回路201を初期化するためのリセットボタンRBが設けられている。ここでは、作業者が、リセットボタンRBを押下することで、外部リセット信号ERST(図3参照)が半導体集積回路201に入力され、半導体集積回路201が初期化される。
(半導体集積回路201のハードウェア構成)
図3は、実施の形態2にかかる半導体集積回路のハードウェア構成の一例を示すブロック図である。図3において、半導体集積回路201は、CPU301と、ROM302と、RAM303と、クロック制御部304と、周辺リソースマクロA制御部305と、周辺リソースマクロB制御部306と、I/O(Input/Output)ポート制御部307と、パワーオンリセット回路308と、リセット制御回路309と、を備えている。また、各構成部301〜307はバス300によってそれぞれ接続されている。
ここで、CPU301は、半導体集積回路201の全体を制御する。ROM302は、動作試験プログラム320などのプログラムを記憶している。動作試験プログラム320は、様々な動作条件で試験対象回路を動作させるための評価用プログラムである。試験対象回路は、半導体集積回路201の構成部301〜309のうち一部または全部の構成部である。また、ROM302には、試験対象回路を動作させるための複数の動作条件が記憶されている(後述する図4、図5参照)。
ROM302は、電源装置203(図2参照)からの電力の供給が遮断されても記憶内容を保持することができる不揮発性の特性を有する。ROM302として、たとえば、高温環境下での各種試験を行うためのプログラムを格納するBIROM(Burn in ROM)やFLASH−ROMを用いることにしてもよい。
RAM303は、CPU301のワークエリアとして使用される。RAM303は、電源装置203からの電力の供給が遮断されると記憶内容が消去される揮発性の特性を有する。RAM303として、たとえば、SRAMを用いることにしてもよい。
クロック制御部304は、クロック発振回路310とPLL逓倍制御部311と分周制御部312を備え、半導体集積回路201のクロック信号の周波数を制御する。クロック発振回路310は、水晶振動子206の発振出力からクロック信号を生成する。PLL逓倍制御部311は、クロック発振回路310からのクロック信号の周波数をN逓倍する。分周制御部312は、クロック発振回路310またはPLL逓倍制御部311からのクロック信号の周波数をM分周する。なお、クロック制御部304から出力されたクロック信号は、半導体集積回路201の各構成部(たとえば、構成部301〜303,305〜307)に供給される。
周辺リソースマクロA制御部305および周辺リソースマクロB制御部306は、半導体集積回路201に接続される周辺リソースを制御する。たとえば、周辺リソースマクロA制御部305および周辺リソースマクロB制御部306は、プロセッサや割込コントローラ、DMA(Direct Memory Access)コントローラなどのコントローラである。
I/Oポート制御部307は、外部装置との間のデータの入出力を制御する。たとえば、I/Oポート制御部307は、I/O入出力制御部313により、ポートP1〜P5を介して、評価ボード202(図2参照)との間のデータの入出力を制御する。
パワーオンリセット回路308は、電源装置203の電源の投入を検出して、パワーオンリセット信号PRSTを出力する。リセット制御回路309は、パワーオンリセット信号PRSTまたは外部リセット信号ERSTが入力されると、試験対象回路を初期化するためのリセット信号RSTをCPU301に出力する。
ここで、パワーオンリセット信号PRSTは、パワーオンリセット回路308からリセット制御回路309に入力される信号である。外部リセット信号ERSTは、たとえば、評価ボード202上のリセットボタンRB(図2参照)が押下されると、評価ボード202からリセット制御回路309に入力される信号(Lレベル)である。
(各種テーブル400,500の記憶内容)
つぎに、半導体集積回路201のROM302により実現される各種テーブル400,500の記憶内容について説明する。ただし、以下の説明では、半導体集積回路201のROM302に記憶されている複数の動作条件を「動作条件C1〜Cn」と表記する。また、複数の動作条件C1〜Cnのうち任意の動作条件を「動作条件Ci」と表記する(i=1,2,…,n)。
図4は、動作順序テーブルの記憶内容の一例を示す説明図である。図4において、動作順序テーブル400は、動作順序およびコードIDのフィールドを有する。各フィールドに情報を設定することで、動作条件C1〜Cnの動作順序がレコードとして記憶されている。ここで、動作順序とは、試験対象回路に設定して動作させる動作条件Ciの実行順序である。コードIDとは、動作条件Ciを識別するための識別子である。なお、ここでは、動作条件C1〜Cnの動作順序を、コードIDが昇順となるように設定したが、各動作条件C1〜Cnの動作順序は任意に設定可能である。
図5は、動作条件テーブルの記憶内容の一例を示す説明図である。図5において、動作条件テーブル500は、コードID、設定条件1、設定条件2、設定条件3および設定条件4のフィールドを有する。各フィールドに情報を設定することで、複数の動作条件C1〜Cnがレコードとして記憶されている。
ここで、コードIDとは、動作条件Ciを識別する識別子である。設定条件1〜設定条件4は、動作条件Ciで試験対象回路を動作させるための設定条件である。すなわち、設定条件1〜設定条件4を集約したものが、一つの動作条件Ciとなる。ここでは、各設定条件1〜設定条件4は、それぞれ1バイトの情報である。
動作条件C1を例に挙げると、設定条件1は「11100000」であり、設定条件2は「01000000」であり、設定条件3は「01010001」であり、設定条件4は「00000001」である。なお、設定条件1〜設定条件4は、たとえば、評価ボード202上の端子p1〜p32に実装されるディップスイッチを、作業者が手動で操作して動作条件を設定する場合の各スイッチのオン・オフの組み合わせに相当する。
(半導体集積回路201の機能的構成)
つぎに、実施の形態2にかかる半導体集積回路201の機能的構成について説明する。図6は、実施の形態2にかかる半導体集積回路の機能的構成を示すブロック図である。図6において、半導体集積回路201は、受付部601と、判断部602と、書込部603と、判定部604と、選択部605と、制御部606と、出力部607と、を含む構成である。各機能部(受付部601〜出力部607)は、たとえば、図3に示したROM302に記憶された動作試験プログラム320をCPU301に実行させることにより、または、I/Oポート制御部307により、その機能を実現する。
受付部601は、試験対象回路を初期化するためのリセット信号RSTを受け付ける機能を有する。具体的には、たとえば、受付部601は、図3に示したリセット制御回路309からのリセット信号RSTを受け付ける。
判断部602は、RAM303の記憶内容に基づいて、受け付けたリセット信号RSTが、電源の投入動作に起因して発生したものか否かを判断する機能を有する。ここで、電源の投入動作に起因して発生するリセット信号RSTとは、たとえば、電源装置203の電源投入時にパワーオンリセット回路105から出力されるパワーオンリセット信号PRSTである。
すなわち、判断部602は、リセット信号RSTがパワーオンリセット信号PRSTか否かを判断する。また、RAM303は、電源装置203からの電力の供給が遮断されると記憶内容が消去される特性を有する。また、パワーオンリセット信号PRSTの発生時は、RAM303への電力の供給が遮断された状態から復帰する。ここでは、RAM303の特性を利用して、判断部602が、リセット信号RSTがパワーオンリセット信号PRSTか否かを判断する。判断部602の具体的な処理内容は後述する。
書込部603は、RAM303に任意のデータを書き込む機能を有する。ここで、任意のデータとは、たとえば、任意の数字や文字を含むデータを表すビット列(以下、「特定パターン」という)である。具体的には、たとえば、書込部603は、リセット信号RSTがパワーオンリセット信号PRSTであると判断された場合、RAM303に特定パターンを書き込む。
判定部604は、RAM303に特定パターンが記憶されているか否かを判定する機能を有する。具体的には、たとえば、判定部604は、RAM303からデータを読み出して、読み出されたデータと特定パターンとが一致した場合に、特定パターンが記憶されていると判定してもよい。
また、判定部604は、RAM303から何らかのデータを読み出せた場合に、特定パターンが記憶されていると判定してもよい。すなわち、RAM303への電力の供給が遮断されると全データが必ず消去されているという前提において、何らかのデータをRAM303から読み出せた場合は、判定部604が、特定パターンが記憶されていると判定する。
そして、判断部602は、RAM303に特定パターンが記憶されていないと判定された場合、リセット信号RSTがパワーオンリセット信号PRSTであると判断する。一方、判断部602は、RAM303に特定パターンが記憶されていると判定された場合、リセット信号RSTがパワーオンリセット信号PRSTではないと判断する。すなわち、判断部602は、RAM303に特定パターンが記憶されている場合は、リセット信号RSTが外部リセット信号ERSTであると判断する。
ただし、電源装置203の電源がオフ状態となった場合であっても、RAM303への電力の供給が完全に遮断されないなどの不具合により、特定パターンが消去されない可能性がある。また、瞬時電圧低下などにより、パワーオンリセット信号PRSTが発生していない場合であっても、特定パターンが消去される可能性がある。
そこで、書込部603は、RAM303が有する複数の記憶領域に特定パターンを書き込むことにしてもよい。この際、書込部603は、複数の記憶領域に同一の特定パターンを書き込むことにしてもよく、また、複数の記憶領域にそれぞれ異なる特定パターンを書き込むことにしてもよい。すなわち、何らかの不具合により判定部604による判定処理を適切に行うことができない場合を想定して、判定対象となる記憶領域を複数設ける。なお、複数の記憶領域に特定パターンを書き込む場合の判断部602の具体的な処理内容については、図8を用いて後述する。
選択部605は、判断された判断結果に基づいて、ROM302に記憶されている複数の動作条件C1〜Cnの中から、試験対象回路を動作させるための動作条件Ciを選択する機能を有する。具体的には、たとえば、選択部605は、リセット信号RSTがパワーオンリセット信号PRSTの場合、予め規定された動作条件C1〜Cnの動作順序にしたがって、動作条件C1〜Cnの中から先頭の動作条件Ciを選択する。
より具体的には、たとえば、まず、選択部605が、図4に示した動作順序テーブル400を参照して、動作順序「1」のコードID「C1」を特定する。そして、選択部605が、図5に示した動作条件テーブル500の中から、特定されたコードID「C1」の設定条件1〜設定条件4を読み出す。
また、選択部605は、リセット信号RSTが外部リセット信号ERSTの場合、リセット信号RSTを受け付ける前に選択された前回の動作条件の動作順序に基づいて、動作条件C1〜Cnの中から動作条件Ciを選択する。前回の動作条件の動作順序は、たとえば、実行カウンタXを参照することにより特定される。
ここで、実行カウンタXは、リセット信号RSTが外部リセット信号ERSTであると判断されると、その都度、値がインクリメントされるカウンタである。また、実行カウンタXは、リセット信号RSTがパワーオンリセット信号PRSTであると判断されると、値が「X=1」で初期化される。実行カウンタXは、たとえば、RAM303により実現される。
より具体的には、たとえば、まず、選択部605が、実行カウンタXを参照して、前回の動作条件の動作順序Xを特定する。つぎに、選択部605が、動作順序テーブル400を参照して、特定された動作順序Xのつぎの動作順序(X+1)のコードIDを特定する。そして、選択部605が、動作条件テーブル500の中から、特定されたコードIDの設定条件1〜設定条件4を読み出す。
ただし、特定された動作順序Xが「X=n」の場合、動作順序Xのつぎの動作順序のコードIDは存在しない。「n」は、動作順序テーブル400に記憶されているコードIDのトータルコード数である。「n」は、トータルコード数としてROM302に予め記憶されていてもよく、また、動作順序テーブル400内のコードIDのトータルコード数を選択部605が計数することで特定してもよい。
この場合、選択部605が、動作順序Xと同一の動作順序XのコードIDの設定条件1〜設定条件4を繰り返し読み出すことにしてもよい。また、先頭の動作条件C1が、電源投入直後にのみ設定されるような動作条件ではない場合は、選択部605が、実行カウンタXを「X=1」で初期化して、先頭のコードID「C1」の設定条件1〜設定条件4を読み出すことにしてもよい。
制御部606は、選択された動作条件Ciで試験対象回路を動作させる機能を有する。具体的には、たとえば、制御部606が、読み出された設定条件1〜設定条件4で試験対象回路を動作させる。試験対象回路となる半導体集積回路201内の各構成部(たとえば、各構成部302〜307)は、読み出された設定条件1〜設定条件4に応じて変化する。
一例として、選択された動作条件Ciが『PLL12逓倍、48[MHZ]動作、内部クロック2分周』を表す場合について説明する。この場合、制御部606が、クロック制御部304のPLL逓倍制御部311に「逓倍率:N=12」を設定し、分周制御部312に「分周率:1/M=1/2」を設定する。この結果、選択された動作条件Ciで試験対象回路が動作することになる。また、作業者は、たとえば、図2に示したオシロスコープ205の測定値を確認するなどして、半導体集積回路201内部の所望の箇所のクロック信号の周波数を評価する。
また、つぎの例として、選択された動作条件Ciが『周辺リソースマクロA,Bの起動設定』を表す場合について説明する。この場合、制御部606が、周辺リソースマクロA制御部305および周辺リソースマクロB制御部306を制御して、周辺リソースマクロA,Bの起動設定を行う。この結果、選択された動作条件Ciで試験対象回路が動作することになる。
また、判断部602は、リセット信号RSTを受け付けた場合、動作条件Ciの設定を自動化するためのオート機能が有効となっているか否かを判断することにしてもよい。具体的には、たとえば、判断部602が、I/Oポート制御部307からポートP5の入力信号を読み込む。そして、判断部602が、ポートP5の入力信号がHレベルの場合、オート機能が有効となっていると判断する。一方、判断部606が、ポートP5の入力信号がLレベルの場合、オート機能が無効となっていると判断する。
なお、オート機能が無効となっている場合、ポートP1〜P4にディップスイッチを実装するなどして、任意の動作条件の設定条件1〜設定条件4を手動で設定することができる。この場合、たとえば、選択部605が、バス300を介して、ポートP1〜P4から設定条件1〜設定条件4を読み込む。そして、制御部602が、読み込まれた設定条件1〜設定条件4を試験対象回路に設定して動作させる。これにより、ROM302に予め保持されていない任意の動作条件を試験対象回路に設定して動作試験を行うことができる。
出力部607は、選択された動作条件Ciを識別する識別情報を出力する機能を有する。具体的には、たとえば、IO入出力制御部313が、ポートP1の各端子p1〜p8にHレベルまたはLレベルの信号を出力することで、LEDライトL1〜L8を用いて動作条件CiのコードIDを提示することにしてもよい。
また、出力部607によるコードIDの出力は、一定時間Tが経過すると停止することにしてもよい。この場合、制御部606は、一定時間T経過後に、選択された動作条件Ciで試験対象回路を動作させることにしてもよい。これにより、コードIDを出力する動作が、半導体集積回路201の電源電流などに影響を与えることを防ぐことができる。
ここで、一定時間Tは、たとえば、予め任意に設定されてROM302に記憶されている。また、一定時間Tの経過は、たとえば、選択部605が、動作条件Ciが選択されてからの経過時間を計時して一定時間Tが経過すると、制御部606および出力部607に報知することにしてもよい。出力部607の他の出力形式としては、たとえば、ディスプレイ(不図示)への表示やプリンタ(不図示)への印刷出力がある。ここで、図2に示したLEDライトL1〜L8を用いたコードIDの出力例について説明する。
図7は、コードIDの出力例を示す説明図である。図7において(i)は、コードIDが「1」の場合の出力例710である。出力例710では、LEDライトL1〜L8のうち、LEDライトL1のみが点灯している。この場合、作業者は、LEDライトL1〜L8の点灯、非点灯の組み合わせから、コードID「1」を識別することができる。
図7において(ii)は、コードIDが「90」の場合の出力例720である。出力例720では、LEDライトL1〜L8のうち、LEDライトL2,L4,L5,L7が点灯している。この場合、作業者は、LEDライトL1〜L8の点灯、非点灯の組み合わせから、コードID「90」を識別することができる。
図7において(iii)は、コードIDが「256」の場合の出力例730である。出力例730では、すべてのLEDライトL1〜L8が点灯している。この場合、作業者は、LEDライトL1〜L8の点灯、非点灯の組み合わせから、コードID「256」を識別することができる。
(判断部602の具体的な処理内容)
つぎに、複数の記憶領域に特定パターンを書き込む場合の判断部602の具体的な処理内容の一例について説明する。まず、書込部603は、たとえば、図8に示すパターンテーブル800を参照して、RAM303が有する複数の記憶領域を特定する。パターンテーブル800は、たとえば、ROM302により実現される。
ここで、パターンテーブル800の記憶内容について説明する。ただし、以下の説明では、特定パターンの書込先となるRAM303上の複数の記憶領域を「複数の記憶領域A1〜Am」と表記する。また、複数の記憶領域A1〜Amのうち任意の記憶領域を「記憶領域Aj」と表記する(j=1,2,…,m)。
図8は、パターンテーブルの記憶内容の一例を示す説明図である。図8において、パターンテーブル800は、領域ID、特定パターンおよびチェックフラグのフィールドを有する。各フィールドに情報を設定することで、記憶領域A1〜Amごとの特定パターンがレコードとして記憶されている。
ここで、領域IDとは、記憶領域Ajを識別するための識別子である。たとえば、領域IDは、RAM303上の記憶領域Ajのアドレスである。特定パターンとは、RAM303上の記憶領域Ajに書き込まれるデータである。ここでは、特定パターンは、1バイトのビット列である。領域A1を例に挙げると、特定パターンは、16進数の「F7」を表す「11110111」である。
チェックフラグとは、判定部604によって判定された判定結果を示すフラグである。ここでは、チェックフラグが「0」の場合は、記憶領域Ajに特定パターンが記憶されていないことを示す。一方、チェックフラグが「1」の場合、記憶領域Ajに特定パターンが記憶されていることを示す。チェックフラグは初期状態では「0」である。
判定部604は、記憶領域Ajごとに、特定パターンが記憶されているか否かを判定する。具体的には、たとえば、まず、判定部604が、記憶領域A1からデータを読み出す。つぎに、判定部604が、パターンテーブル800を参照して、記憶領域A1の特定パターン「11110111」を特定する。
そして、判定部604が、読み出されたデータと記憶領域A1の特定パターン「11110111」とを比較して一致した場合に、記憶領域A1に特定パターンが記憶されていると判定する。この場合、判定部604が、パターンテーブル800内の記憶領域A1のチェックフラグを「0」から「1」に変更する。判定部604は、たとえば、記憶領域A1〜Amのすべてについて、読み出されたデータと特定パターンとの一致判定を行う。
判断部602は、判定された記憶領域Ajごとの判定結果に基づいて、リセット信号RSTがパワーオンリセット信号PRSTか否かを判断する。具体的には、たとえば、判断部602が、パターンテーブル800内の記憶領域A1〜Amのチェックフラグを参照する。そして、記憶領域A1〜Amのうち少なくともいずれかの記憶領域Ajのチェックフラグが「0」の場合、判断部602が、リセット信号RSTがパワーオンリセット信号PRSTであると判断することにしてもよい。
また、瞬時電圧低下などを考慮して、記憶領域A1〜Amのうちチェックフラグが「0」の記憶領域Ajの数が所定数αを超えた場合に、判断部602が、リセット信号RSTがパワーオンリセット信号PRSTであると判断してもよい。なお、所定数αは、たとえば、領域数:m[個]に応じて予め任意に設定されてROM302に記憶されている。たとえば、領域数が10[個]の場合、所定数αは「α=6」に設定される。
また、上記判定部604による判定処理が複数回実行された結果、複数の記憶領域A1〜Amのうち、特定パターンと不一致となる回数が、他の記憶領域に比べて相対的に多くなる記憶領域Ajは故障している可能性がある。すなわち、特定パターンと不一致となる回数が相対的に多くなる記憶領域Ajは、電力の供給が遮断されて記憶内容が消去されたのではなく、故障のため最初から特定パターンを記憶できていない可能性が高い。このため、半導体集積回路201により、特定パターンと不一致となる回数が他の記憶領域に比べて相対的に多くなる記憶領域Ajのアドレスなどをアラーム情報として出力することにしてもよい。
(半導体集積回路201の動作試験処理手順)
つぎに、実施の形態2にかかる半導体集積回路201の動作試験処理手順について説明する。図9は、実施の形態2にかかる半導体集積回路の動作試験処理手順の一例を示すフローチャートである。
図9のフローチャートにおいて、まず、受付部601により、試験対象回路を初期化するためのリセット信号RSTを受け付けたか否かを判断する(ステップS901)。ここで、受付部601により、リセット信号RSTを受け付けるのを待つ(ステップS901:No)。そして、受付部601により、リセット信号RSTを受け付けた場合(ステップS901:Yes)、判断部602により、動作条件Ciの設定を自動化するためのオート機能が有効となっているか否かを判断する(ステップS902)。
ここで、オート機能が有効の場合(ステップS902:Yes)、判断部602により、受け付けたリセット信号RSTがパワーオンリセット信号PRSTか否かを判断する判断処理を実行する(ステップS903)。このあと、選択部605により、判断結果がパワーオンリセット信号PRSTか否かを判断する(ステップS904)。
ここで、判断結果がパワーオンリセット信号PRSTの場合(ステップS904:Yes)、書込部603により、パターンテーブル800を参照して、RAM303の記憶領域A1〜Amに特定パターンを書き込む(ステップS905)。そして、選択部605により、実行カウンタXを「X=1」で初期化する(ステップS906)。
つぎに、選択部605により、動作順序テーブル400を参照して、動作順序XのコードIDを特定する(ステップS907)。そして、選択部605により、動作条件テーブル500の中から、特定されたコードIDの設定条件1〜設定条件4を読み出す(ステップS908)。
このあと、出力部607により、特定されたコードIDをポートP1から出力する(ステップS909)。そして、制御部606により、一定時間T経過後、読み出された設定条件1〜設定条件4で試験対象回路を動作させて(ステップS910)、ステップS901に戻る。
また、ステップS904において、判断結果が外部リセット信号ERSTの場合(ステップS904:No)、選択部605により、実行カウンタXの値が「n」となるか否かを判断する(ステップS911)。なお、「n」は、動作順序テーブル400に記憶されているコードIDのトータルコード数である。
ここで、実行カウンタXの値が「n」とならない場合(ステップS911:No)、選択部605により、実行カウンタXの値をインクリメントして(ステップS912)、ステップS907に移行する。一方、実行カウンタXの値が「n」となる場合(ステップS911:Yes)、ステップS907に移行する。
また、ステップS902において、オート機能が無効の場合(ステップS902:No)、選択部605により、ポートP1〜P4から設定条件1〜設定条件4を読み出す(ステップS913)。そして、制御部606により、読み出された設定条件1〜設定条件4で試験対象回路を動作させて(ステップS910)、ステップS901に戻る。
これにより、ROM302に記憶されている複数の動作条件C1〜Cnの中から、受け付けたリセット信号RSTの種別に応じた適切な動作条件を選択して試験対象回路の動作試験を行うことができる。
つぎに、図9に示したステップS903の判断処理の具体的処理手順について説明する。図10は、ステップS903の判断処理の具体的処理手順の一例を示すフローチャートである。
図10のフローチャートにおいて、まず、判定部604により、領域ID「j」を「j=1」で初期化する(ステップS1001)。そして、判定部604により、パターンテーブル800を参照して、RAM303の記憶領域Ajからデータを読み出す(ステップS1002)。つぎに、判定部604により、パターンテーブル800を参照して、読み出されたデータと記憶領域Ajの特定パターンとが一致するか否かを判定する(ステップS1003)。
ここで、特定パターンと一致しない場合(ステップS1003:No)、ステップS1005に移行する。一方、特定パターンと一致する場合(ステップS1003:Yes)、判定部604により、パターンテーブル800内の記憶領域Ajのチェックフラグを「0」から「1」に変更する(ステップS1004)。
そして、判定部604により、領域ID「j」をインクリメントして(ステップS1005)、領域ID「j」が「m」より大きいか否かを判断する(ステップS1006)。ここで、領域ID「j」が「m」以下の場合(ステップS1006:No)、ステップS1002に戻る。
一方、領域ID「j」が「m」より大きい場合(ステップS1006:Yes)、判断部602により、パターンテーブル800を参照して、記憶領域A1〜Amのすべてのチェックフラグが「1」となるか否かを判断する(ステップS1007)。
ここで、すべてのチェックフラグが「1」ではない場合(ステップS1007:No)、判断部602により、リセット信号RSTがパワーオンリセット信号PRSTであると判断して(ステップS1008)、図9に示したステップS904に移行する。
一方、すべてのチェックフラグが「1」の場合(ステップS1007:Yes)、判断部602により、リセット信号RSTが外部リセット信号ERSTであると判断して(ステップS1009)、図9に示したステップS904に移行する。
これにより、受け付けたリセット信号RSTを、パワーオンリセット信号PRSTまたは外部リセット信号ERSTに区別することができる。
また、図9に示したステップS911において、実行カウンタXの値が「n」となる場合(ステップS911:Yes)、ステップS906に移行して、実行カウンタXの値を「X=1」で初期化することにしてもよい。これにより、つぎのパワーオンリセット信号PRSTが発生するまで、動作条件C1〜Cnを繰り返し実行させることができる。
以上説明したように、実施の形態2にかかる半導体集積回路201によれば、RAM303の特性を利用して、動作条件Ciの切り替え契機となるリセット信号RSTの種別を判別することができる。具体的には、半導体集積回路201によれば、RAM303に書き込まれた特定パターンが消去されている場合は、リセット信号RSTがパワーオンリセット信号PRSTであると判別することができる。また、半導体集積回路201によれば、RAM303に書き込まれた特定パターンが消去されていない場合は、リセット信号RSTが外部リセット信号ERSTであると判別することができる。また、半導体集積回路201によれば、複数の動作条件C1〜Cnの中から、リセット信号RSTの種別に応じた適切な動作条件Ciを選択して試験対象回路の動作試験を行うことができる。
これにより、動作試験における人手による煩わしい作業が不要となり、動作試験における作業者の作業負担の軽減化にともない作業時間の短縮化を図ることができる。また、選択された動作条件は試験対象回路に自動設定されるため、動作条件を手動で入力する場合に比べて人的ミスを防ぐことができ、動作試験の品質を向上させることができる。また、オート機能を有効にして評価ボード202を使用する場合、動作条件の設定用のディップスイッチなどが不要となるため、評価ボード202上のディップスイッチや抵抗などの部品点数を削減することができる。
また、半導体集積回路201によれば、RAM303上の複数の記憶領域A1〜Amに特定パターンを書き込むことで、何らかの不具合が発生しても、少なくともいずれかの記憶領域Ajが正常に動作していればリセット信号RSTの種別を判別することができる。
また、半導体集積回路201によれば、リセット信号RSTがパワーオンリセット信号PRSTの場合は、複数の動作条件C1〜Cnの中から先頭の動作条件C1を選択することができる。これにより、たとえば、先頭の動作条件C1を電源投入直後の動作を評価するための動作条件とすることで、パワーオンリセット信号PRSTの発生時に動作条件C1を確実に設定することができる。また、半導体集積回路201によれば、リセット信号RSTが外部リセット信号ERSTの場合は、予め規定された複数の動作条件C1〜Cnの動作順序にしたがって動作条件Ciを選択することができる。
また、半導体集積回路201によれば、LEDライトL1〜L8などを利用して、選択された動作条件CiのコードIDを出力することができる。これにより、現在選択中の動作条件を作業者が識別することができる。
なお、上述した説明では、RAM303の特性を利用して、リセット信号RSTの種別を判別することにしたが、半導体集積回路201内部にリセット信号RSTの種別を識別する専用回路を設けることも考えられる。たとえば、リセット制御回路309が、パワーオンリセット信号PRSTと外部リセット信号ERSTとを識別する機能を有し、識別結果をリセット信号RSTとともにCPU301に出力する。また、パワーオンリセット信号PRSTと外部リセット信号ERSTをCPU301に直接入力するための個別のリセット端子をCPU301に設けることも考えられる。しかし、リセット制御回路309に新たな機能を追加したり、CPU301のリセット端子を増やすなどの回路変更を行うと、半導体集積回路201の部品点数が増加し回路規模の増大化が想定される。
(実施の形態3)
つぎに、実施の形態3にかかる半導体集積回路1101について説明する。実施の形態3では、複数の動作条件C1〜Cnの中から、動作試験を省略したい動作条件Ciを指定することで、以降において動作条件Ciをスキップする手法について説明する。なお、実施の形態1,2で説明した箇所と同様の箇所については、図示および説明を省略する。
図11は、実施の形態3にかかる半導体集積回路の動作を評価するための試験システムのシステム構成図である。図11において、試験システム1100は、半導体集積回路1101と、評価ボード202と、電源装置203と、デジタルマルチメータ204と、オシロスコープ205と、パーソナル・コンピュータ(以下、「パソコン」という)1102と、温度環境試験装置1103と、を含む構成である。
試験システム1100において、パソコン1102は、評価ボード202のポートP1およびリセットボタンRBと接続されている。また、パソコン1102は、電源装置203と、デジタルマルチメータ204と、オシロスコープ205と、温度環境試験装置1103と接続されている。
パソコン1102は、ディスプレイ1110とキーボード1111とマウス1112とを有する。パソコン1102は、温度環境試験装置1103の設定温度を制御する機能を有する。温度環境試験装置1103は、所定の温度範囲(たとえば、−40[℃]〜125[℃])のエアーを半導体集積回路1101に吹き付けて、動作試験を行う際の温度環境を調節するための装置である。
また、パソコン1102は、評価ボード202上のリセットボタンRBを制御して、半導体集積回路1101に外部リセット信号ERSTを入力する機能を有する。また、パソコン1102は、電源装置203の電源のオン/オフを制御する機能を有する。
試験システム1100では、パソコン1102を利用して電源装置203およびリセットボタンRBを制御することで、任意の時間間隔でパワーオンリセット信号PRSTまたは外部リセット信号ERSTを連続的に発生させることにしてもよい。具体的には、たとえば、パソコン1102が、パワーオンリセット信号PRSTまたは外部リセット信号ERSTの入力を任意の時間間隔でタイマ制御する。これにより、作業者がリセットボタンRBや電源装置203の電源を操作して、半導体集積回路1101内部にリセット信号RSTを発生させる手間を省略することができる。
さらに、試験システム1100では、パソコン1102を利用して温度環境試験装置1103によって半導体集積回路1101の温度環境が整った場合に、パワーオンリセット信号PRSTまたは外部リセット信号ERSTを発生させることにしてもよい。これにより、作業者が温度環境の状態を監視することなく、所望の温度環境下での動作試験を行うことができる。なお、パソコン1102は、デジタルマルチメータ204およびオシロスコープ205の測定値を取得してディスプレイ1110に表示することにしてもよい。
(半導体集積回路1101の機能的構成)
つぎに、実施の形態3にかかる半導体集積回路1101の機能的構成について説明する。図12は、実施の形態3にかかる半導体集積回路の機能的構成を示すブロック図である。図12において、半導体集積回路1101は、受付部601と、判断部602と、選択部605と、制御部606と、書込部603と、判定部604と、出力部607と、受付判定部1201と、を含む構成である。各機能部(受付部601〜受付判定部1201)は、たとえば、図3に示したROM302に記憶された動作試験プログラム320をCPU301に実行させることにより、または、I/Oポート制御部307により、その機能を実現する。
まず、出力部607は、選択された動作条件Ciでの試験対象回路の動作に先立って、動作条件Ciを識別するための識別情報を出力する。具体的には、たとえば、I/Oポート制御部307が、ポートP1を介して、パソコン1102のディスプレイ1110に動作条件CiのコードIDを表示する。ここで、ディスプレイ1110の画面例について説明する。
図13は、パソコンのディスプレイの画面例を示す説明図である。図13において、表示画面1300は、ディスプレイ1110に表示されるコードIDの画面例である。具体的には、表示画面1300には、現在選択されている動作条件C3のコードIDおよび実行回数が表示されている。実行回数は、動作条件C3で試験対象回路を動作させた回数(25[回])である。なお、実行回数は、たとえば、パソコン1102において、コードIDの出力回数をカウントすることで計測することができる。
ここで、作業者は、動作条件C3での動作試験を省略したい場合、パソコン1102のキーボード1111やマウス1112を操作して、スキップボタンSBをクリックする。この結果、たとえば、パソコン1102によりリセットボタンRBが制御され、外部リセット信号ERSTが半導体集積回路1101に入力される。
なお、スキップボタンSBをクリックする代わりに、評価ボード202上のリセットボタンRBを作業者が押下することで、半導体集積回路1101に外部リセット信号ERSTを入力することにしてもよい。また、表示画面1300は、たとえば、出力部607によるコードIDの出力中のみ表示される。
図12の説明に戻り、受付判定部1201は、動作条件CiのコードIDの出力中に、受付部601によってリセット信号RSTを受け付けたか否かを判定する機能を有する。具体的には、たとえば、図13に示した表示画面1300の表示中にスキップボタンSBがクリックされると、受付部601が、リセット信号RSTを受け付けることになる。
受付判定部1201によって判定された判定結果は、たとえば、図14に示すスキップコードテーブル1400を用いて管理される。ここで、スキップコードテーブル1400の記憶内容について説明する。スキップコードテーブル1400は、たとえば、図3に示したROM302(書き換え可能な不揮発性メモリのFLASH−ROMなど)により実現される。
図14は、スキップコードテーブルの記憶内容の一例を示す説明図である。図14において、スキップコードテーブル1400は、コードIDごとのスキップフラグを記憶している。コードIDは、動作条件Ciを識別するための識別子である。スキップフラグは、動作試験を行うか否かを示すフラグである。ここでは、スキップフラグが「1」の場合、動作試験を行うことを示す。一方、スキップフラグが「0」の場合、動作試験を行わないことを示す。スキップフラグは初期状態では「1」である。
また、制御部606は、受付判定部1201によってリセット信号RSTを受け付けていないと判定された場合、動作条件Ciで試験対象回路を動作させる。一方、制御部606は、リセット信号RSTを受け付けたと判定された場合、動作条件Ciで試験対象回路を動作させない。
また、選択部605は、受付判定部1201によって判定された判定結果に基づいて、複数の動作条件C1〜Cnの中から動作条件Ciを選択することにしてもよい。具体的には、たとえば、選択部605が、スキップコードテーブル1400を参照して、動作条件Ciのスキップフラグが「1」の場合、動作条件Ciを選択する。一方、動作条件Ciのスキップフラグが「0」の場合は、選択部605が、動作条件Ciを選択しない。
(半導体集積回路1101の動作試験処理手順)
つぎに、実施の形態3にかかる半導体集積回路1101の動作試験処理手順について説明する。図15および図16は、実施の形態3にかかる半導体集積回路の動作試験処理手順の一例を示すフローチャートである。
図15のフローチャートにおいて、まず、受付部601により、試験対象回路を初期化するためのリセット信号RSTを受け付けたか否かを判断する(ステップS1501)。ここで、受付部601により、リセット信号RSTを受け付けるのを待つ(ステップS1501:No)。
そして、受付部601により、リセット信号RSTを受け付けた場合(ステップS1501:Yes)、判断部602により、動作条件Ciの設定を自動化するためのオート機能が有効となっているか否かを判断する(ステップS1502)。つぎに、オート機能が有効の場合(ステップS1502:Yes)、受付判定部1201により、オート機能の初回(初期化)か否かを判定する(ステップS1503)。
ここで、ステップS1502およびステップS1503のオート機能の判定例について説明する。図16は、オート機能の判定例を示す説明図である。図16において、ケース1〜3ごとに、図11に示したポートP5からの入力信号の信号レベルが示されている。図16中、点線の区間は、ステップS1501でリセット信号RSTを受け付けてからの一定期間Zの時間の経過を表している。
ケース1では、ステップS1501でリセット信号RSTを受け付けてからの一定期間Z中、ポートP5からの入力信号の信号レベルはLレベルのままである。この場合、ステップS1502において、判断部602は、動作条件Ciの設定を自動化するためのオート機能が無効となっていると判断する。なお、一定期間Zは、たとえば、予め任意に設定されてROM302に記憶されている。
ケース2では、リセット信号RSTを受け付けてから一定期間Z中に、ポートP5からの入力信号の信号レベルがLレベルからHレベルに変化している。この場合、ステップS1502において、判断部602は、動作条件Ciの設定を自動化するためのオート機能が有効となっていると判断する。また、ステップS1503において、受付判定部1201は、オート機能の初回(初期化)であると判定する。すなわち、受付判定部1201は、一定期間Z中に信号レベルがLレベルからHレベルに変化したため、一定期間Zの途中に作業者がディップスイッチDをオンにしてオート機能を有効にしたと判定する。
ケース3では、リセット信号RSTを受け付けてからの一定期間Z中、ポートP5からの入力信号の信号レベルはHレベルのままである。この場合、ステップS1502において、判断部602は、動作条件Ciの設定を自動化するためのオート機能が有効となっていると判断する。また、ステップS1503において、受付判定部1201は、オート機能の初回(初期化)ではないと判定する。すなわち、受付判定部1201は、一定期間Z中は常に信号レベルがHレベルのため、オート機能を有効にする作業は以前に行われており、オート機能の2回目以降であると判定する。
図15の説明に戻り、ステップS1503において、オート機能の初回(初期化)ではない場合(ステップS1503:No)、ステップS1505に移行する。一方、オート機能の初回(初期化)の場合(ステップS1503:Yes)、受付判定部1201により、スキップコードテーブル1400を初期化する(ステップS1504)。
このあと、判断部602により、受け付けたリセット信号RSTがパワーオンリセット信号PRSTか否かを判断する判断処理を実行する(ステップS1505)。そして、選択部605により、判断結果がパワーオンリセット信号PRSTか否かを判断する(ステップS1506)。
ここで、判断結果がパワーオンリセット信号PRSTの場合(ステップS1506:Yes)、書込部603により、パターンテーブル800を参照して、RAM303の記憶領域A1〜Amに特定パターンを書き込む(ステップS1507)。そして、選択部605により、実行カウンタXを「X=1」で初期化する(ステップS1508)。
つぎに、選択部605により、動作順序テーブル400を参照して、動作順序XのコードIDを特定する(ステップS1509)。そして、選択部605により、スキップコードテーブル1400を参照して、特定されたコードIDのスキップフラグが「0」となっているか否かを判断する(ステップS1510)。
ここで、特定されたコードIDのスキップフラグが「0」の場合(ステップS1510:Yes)、ステップS1511に移行する。一方、特定されたコードIDのスキップフラグが「1」の場合(ステップS1510:No)、図17に示すステップS1701に移行する。
また、ステップS1507において、判断結果が外部リセット信号ERSTの場合(ステップS1506:No)、選択部605により、実行カウンタXの値が「n」となるか否かを判断する(ステップS1511)。なお、「n」は、動作順序テーブル400に記憶されているコードIDのトータルコード数である。
ここで、実行カウンタXの値が「n」とならない場合(ステップS1511:No)、選択部605により、実行カウンタXの値をインクリメントして(ステップS1512)、ステップS1509に移行する。一方、実行カウンタXの値が「n」となる場合(ステップS1511:Yes)、ステップS1508に移行する。また、ステップS1502において、オート機能が無効の場合(ステップS1502:No)、図17に示すステップS1708に移行する。
図17のフローチャートにおいて、まず、選択部605により、動作条件テーブル500の中から、ステップS1510において特定されたコードIDの設定条件1〜設定条件4を読み出す(ステップS1701)。そして、受付判定部1201により、スキップコードテーブル1400内の特定されたコードIDのスキップフラグを「1」から「0」に変更する(ステップS1702)。
このあと、出力部607により、特定されたコードIDをポートP1から出力する(ステップS1703)。この結果、たとえば、パソコン1102のディスプレイ1110に特定されたコードIDが表示される(たとえば、表示画面1300)。つぎに、受付判定部1201により、コードIDの出力中にリセット信号RSTを受け付けたか否かを判定する(ステップS1704)。
ここで、リセット信号RSTを受け付けた場合(ステップS1704:Yes)、図15に示したステップS1502に戻る。一方、リセット信号RSTを受け付けていない場合(ステップS1704:No)、受付判定部1201により、コードIDを出力してから一定時間T経過したか否かを判断する(ステップS1705)。
ここで、一定時間T経過していない場合(ステップS1705:No)、ステップS1704に戻る。一方、一定時間T経過した場合(ステップS1705:Yes)、受付判定部1201により、スキップコードテーブル1400内の特定されたコードIDのスキップフラグを「0」から「1」に変更する(ステップS1706)。
そして、制御部606により、読み出された設定条件1〜設定条件4で試験対象回路を動作させて(ステップS1707)、図15に示したステップS1501に戻る。また、ステップS1708において、選択部605により、ポートP1〜P4から設定条件1〜設定条件4を読み出す(ステップS1708)。そして、制御部606により、読み出された設定条件1〜設定条件4で試験対象回路を動作させて(ステップS1707)、ステップS1501に戻る。
これにより、選択された動作条件CiのコードIDの出力中にリセット信号RSTを受け付けた場合、動作条件Ciの動作試験をスキップすることができる。なお、ステップS1505の判断処理は、図10に示した判断処理の具体的処理手順と同様のため、ここでは説明を省略する。
以上説明したように、実施の形態3にかかる半導体集積回路1101によれば、選択された動作条件Ciでの試験対象回路の動作に先立って、動作条件CiのコードIDをパソコン1102のディスプレイ1110などに出力することができる。また、半導体集積回路1101によれば、動作条件CiのコードIDの出力中にリセット信号RSTを受け付けた場合、動作条件Ciの動作試験をスキップすることができる。これにより、評価が終了した動作条件Ciなどの動作試験を省略することができ、半導体集積回路1101の動作試験の効率化を図ることができる。
また、半導体集積回路1101によれば、動作条件CiのコードIDの出力中にリセット信号RSTを受け付けたコードIDをスキップ対象の動作条件として管理しておくことで、以降において、動作条件Ciの動作試験を継続してスキップすることができる。
なお、本実施の形態で説明した動作試験方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本動作試験プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本動作試験プログラムは、インターネット等のネットワークを介して配布してもよい。
また、本実施の形態で説明した半導体集積回路100,201,1101は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けIC(以下、単に「ASIC」という)やFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。具体的には、たとえば、上述した半導体集積回路100,201,1101の機能をHDL記述によって機能定義し、そのHDL記述を論理合成してASICやPLDに与えることにより、半導体集積回路100,201,1101を製造することができる。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)試験対象回路と、
前記試験対象回路を動作させるための複数の動作条件を記憶する第1の記憶手段と、
電源からの電力の供給が遮断されると記憶内容が消去される特性を有する第2の記憶手段と、
前記試験対象回路を初期化するためのリセット信号を受け付ける受付手段と、
前記第2の記憶手段の記憶内容に基づいて、前記受付手段によって受け付けた前記リセット信号が、前記電源の投入動作に起因して発生したものか否かを判断する判断手段と、
前記判断手段の判断結果に基づいて、前記第1の記憶手段に記憶されている前記複数の動作条件の中から、前記試験対象回路を動作させるための第1動作条件を選択する選択手段と、
前記選択手段によって選択された前記第1動作条件で前記試験対象回路を動作させる制御手段と、
を備えることを特徴とする半導体集積回路。
(付記2)前記第2の記憶手段にデータを書き込む書込手段と、
前記書込手段によって書き込まれた前記データが、前記第2の記憶手段に記憶されているか否かを判定する判定手段と、をさらに備え、
前記判断手段は、
前記判定手段によって、前記データが前記第2の記憶手段に記憶されていないと判定された場合、前記リセット信号が前記電源の投入動作に起因して発生したと判断し、
前記選択手段は、
前記判断手段によって、前記リセット信号が前記電源の投入動作に起因して発生したと判断された場合、前記複数の動作条件の中から前記第1動作条件を選択し、
前記書込手段は、
前記判断手段によって、前記リセット信号が前記電源の投入動作に起因して発生したと判断された場合、前記第2の記憶手段に前記データを書き込むことを特徴とする付記1に記載の半導体集積回路。
(付記3)前記判断手段は、
前記判定手段によって、前記データが前記第2の記憶手段に記憶されていると判定された場合、前記リセット信号が前記電源の投入動作に起因して発生したものではないと判断し、
前記選択手段は、
前記判断手段によって、前記リセット信号が前記電源の投入動作に起因して発生したものではないと判断された場合、前記複数の動作条件の中から前記第1動作条件とは異なる第2動作条件を選択することを特徴とする付記1または2に記載の半導体集積回路。
(付記4)前記書込手段は、
前記第2の記憶手段が有する複数の記憶領域に前記データを書き込み、
前記判定手段は、
前記第2の記憶手段が有する記憶領域ごとに、当該記憶領域に前記データが記憶されているか否かを判定し、
前記判断手段は、
前記判定手段によって判定された前記記憶領域ごとの判定結果に基づいて、前記リセット信号が前記電源の投入動作に起因して発生したものか否かを判断することを特徴とする付記2または3に記載の半導体集積回路。
(付記5)前記判断手段は、
前記判定手段によって前記複数の記憶領域のうち少なくともいずれかの記憶領域に前記データが記憶されていないと判定された場合、前記リセット信号が前記電源の投入動作に起因して発生したと判断することを特徴とする付記4に記載の半導体集積回路。
(付記6)前記選択手段は、
前記判断手段によって、前記リセット信号が前記電源の投入動作に起因して発生したと判断された場合、前記複数の動作条件の所定の動作順序に基づいて、前記複数の動作条件の中から先頭の動作条件を選択することを特徴とする付記2〜5のいずれか一つに記載の半導体集積回路。
(付記7)前記選択手段は、
前記判断手段によって、前記リセット信号が前記電源の投入動作に起因して発生したものではないと判断された場合、前記リセット信号を前記受付手段が受け付ける前に選択された前回の動作条件の動作順序に基づいて、前記複数の動作条件の中から前記試験対象回路を動作させるための動作条件を選択することを特徴とする付記6に記載の半導体集積回路。
(付記8)前記選択手段によって選択された動作条件を識別するための識別情報を出力する出力手段をさらに備えることを特徴とする付記1〜7のいずれか一つに記載の半導体集積回路。
(付記9)前記出力手段は、
前記選択手段によって選択された動作条件での前記試験対象回路の動作に先立って、当該動作条件を識別するための識別情報を出力することを特徴とする付記8に記載の半導体集積回路。
(付記10)前記出力手段によって前記動作条件を識別するための識別情報の出力中に、前記受付手段によって前記リセット信号を受け付けたか否かを判定する受付判定手段をさらに備え、
前記制御手段は、
前記受付判定手段によって前記リセット信号を受け付けていないと判定された場合、前記動作条件で前記試験対象回路を動作させることを特徴とする付記9に記載の半導体集積回路。
(付記11)前記選択手段は、
前記受付判定手段によって判定された判定結果に基づいて、前記複数の動作条件の中から、前記試験対象回路を動作させるための動作条件を選択することを特徴とする付記10に記載の半導体集積回路。
(付記12)第1の記憶手段と、電源からの電力の供給が遮断されると記憶内容が消去される特性を有する第2の記憶手段を備えるコンピュータが、
試験対象回路を初期化するためのリセット信号を受け付ける受付工程と、
前記第2の記憶手段の記憶内容に基づいて、前記受付工程によって受け付けた前記リセット信号が、前記電源の投入動作に起因して発生したものか否かを判断する判断工程と、
前記判断工程での判断結果に基づいて、前記第1の記憶手段に記憶されている前記試験対象回路を動作させるための複数の動作条件の中から、前記試験対象回路を動作させるための第1動作条件を選択する選択工程と、
前記選択工程によって選択された前記第1動作条件で前記試験対象回路を動作させる制御工程と、
を実行することを特徴とする動作試験方法。
(付記13)第1の記憶手段と、電源からの電力の供給が遮断されると記憶内容が消去される特性を有する第2の記憶手段を備えるコンピュータを、
試験対象回路を初期化するためのリセット信号を受け付ける受付手段、
前記第2の記憶手段の記憶内容に基づいて、前記受付手段によって受け付けた前記リセット信号が、前記電源の投入動作に起因して発生したものか否かを判断する判断手段、
前記判断手段での判断結果に基づいて、前記第1の記憶手段に記憶されている前記試験対象回路を動作させるための複数の動作条件の中から、前記試験対象回路を動作させるための第1動作条件を選択する選択手段、
前記選択手段によって選択された前記第1動作条件で前記試験対象回路を動作させる制御手段、
として機能させることを特徴とする動作試験プログラム。
(付記14)半導体集積回路と、当該半導体集積回路を実装する基板と、前記基板に電力を供給する電源装置と、を備える動作試験システムであって、
前記半導体集積回路は、
試験対象回路を動作させるための複数の動作条件を記憶する第1の記憶手段と、
前記電源装置からの電力の供給が遮断されると記憶内容が消去される特性を有する第2の記憶手段と、
前記試験対象回路を初期化するためのリセット信号を受け付ける受付手段と、
前記第2の記憶手段の記憶内容に基づいて、前記受付手段によって受け付けたリセット信号が、前記電源の投入動作に起因して発生したものか否かを判断する判断手段と、
前記判断手段によって判断された判断結果に基づいて、前記第1の記憶手段に記憶されている複数の動作条件の中から、前記試験対象回路を動作させるための第1動作条件を選択する選択手段と、
前記選択手段によって選択された前記第1動作条件で前記試験対象回路を動作させる制御手段と、
を備えることを特徴とする動作試験システム。