(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-29
(45)【発行日】2023-09-06
(54)【発明の名称】チップをテストするための方法、電子デバイス、コンピュータ可読記憶媒体、対応するチップ及びコンピュータプログラム
(51)【国際特許分類】
G01R 31/28 20060101AFI20230830BHJP
G01R 31/3177 20060101ALI20230830BHJP
G01R 31/3183 20060101ALI20230830BHJP
G06F 11/22 20060101ALI20230830BHJP
【FI】
G01R31/28 A
G01R31/28 B
G01R31/3177
G01R31/3183
G06F11/22 673A
【外国語出願】
(21)【出願番号】P 2021051719
(22)【出願日】2021-03-25
【審査請求日】2021-09-24
(31)【優先権主張番号】202010725015.X
(32)【優先日】2020-07-24
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】521457387
【氏名又は名称】クンルンシン テクノロジー (ベイジン) カンパニー リミテッド
【氏名又は名称原語表記】Kunlunxin Technology (Beijing) Company Limited
【住所又は居所原語表記】CW Section, F/4, Building 1, No.10, Shangdi 10th Street, Haidian District, 100101, Beijing, China
(74)【代理人】
【識別番号】110000796
【氏名又は名称】弁理士法人三枝国際特許事務所
(72)【発明者】
【氏名】郭子瑜
【審査官】島田 保
(56)【参考文献】
【文献】特開2001-235524(JP,A)
【文献】特開2005-332555(JP,A)
【文献】特開2004-022014(JP,A)
【文献】特開2012-234605(JP,A)
【文献】特開2009-283108(JP,A)
【文献】特開2000-057002(JP,A)
【文献】特開平09-091996(JP,A)
【文献】特開平06-300814(JP,A)
【文献】特開平11-223658(JP,A)
【文献】特開2010-204004(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01R 31/28
G06F 11/22
(57)【特許請求の範囲】
【請求項1】
演算モジュールと、コントローラとを備えるチップをテストするための方法であって、
前記コントローラは、前記チップの第1ピンを介して、前記演算モジュールのテストタイプを示すテスト制御信号を受信する
受信ステップと、
前記コントローラは、前記テスト制御信号に示された前記テストタイプに基づいて、
第1テストベクトル
および第1クロック信号を使用して前記演算モジュールに対して第1テストを行うか、または
第2テストベクトル
および第2クロック信号を使用して前記演算モジュールに対して第2テストを行う
テスト実行ステップと、を含み、
前記第1テストは前記演算モジュールのメモリに対して行われるテストであり、前記第2テストは前記演算モジュールの機能ロジックに対して行われるテストであり、
前記第1テストベクトルおよび前記第2テストベクトルは、前記コントローラが前記チップの第2ピンを介して前記チップの外部から受信したものであ
り、
前記コントローラは、テスト制御ロジックと、外部クロック信号を受信するかまたは内部クロック信号を生成するように構成されるクロック制御モジュールとを備え、
前記クロック制御モジュールは、オンチップクロックと、マルチプレクサと、ORゲートと、第1クロックスイッチと、第2クロックスイッチとを備え、
前記オンチップクロックの出力端は前記マルチプレクサの第1入力端にカップリングされるように構成され、
前記マルチプレクサの出力端は前記第2クロックスイッチの第1入力端にカップリングされるように構成され、
前記ORゲートの第1入力端は前記テスト制御ロジックからのメモリテスト信号を受信するように構成され、前記ORゲートの第2入力端は前記テスト制御ロジックからの機能ロジックテスト信号を受信するように構成され、
前記ORゲートの出力端は前記第2クロックスイッチの第2入力端にカップリングされるように構成され、
前記第1クロックスイッチおよび前記第2クロックスイッチの出力端はそれぞれ前記演算モジュールに接続されるように構成され、
前記テスト実行ステップは、
前記オンチップクロックは、前記内部クロック信号を生成し、前記内部クロック信号を前記マルチプレクサの第1入力端および前記第1クロックスイッチの第1入力端に出力することと、
前記マルチプレクサの第1入力端は、前記オンチップクロックの出力端から前記オンチップクロックからの前記内部クロック信号を受信し、前記マルチプレクサの第2入力端は、前記チップの第2ピンを介して前記外部クロック信号を受信し、前記マルチプレクサは前記テスト制御ロジックからのクロック選択信号に基づいて、前記内部クロック信号または前記外部クロック信号を選択して出力することと、
前記第1クロックスイッチの第1入力端は前記オンチップクロックの出力端から、前記オンチップクロックからの前記内部クロック信号を受信し、前記第1クロックスイッチの第2入力端は前記テスト制御ロジックからの前記メモリテスト信号の逆信号を受信し、前記第1クロックスイッチの出力端から前記演算モジュールに前記第2テストを実行するための前記第2クロック信号を出力することと、
前記第2クロックスイッチの出力端から前記演算モジュールに前記第1テストを実行するための前記第1クロック信号を出力することと、を含む
チップをテストするための方法。
【請求項2】
前記テスト制御信号に基づいて、前記テストタイプが第1テストであることを示し、第1クロック信号を前記演算モジュールに入力することと、
前記第1クロック信号を使用して、前記演算モジュールに対して前記第1テストを実行すること、
または
前記テスト制御信号に基づいて、前記テストタイプが第2テストであることを示し、第2クロック信号を前記演算モジュールに入力することと、
前記第2クロック信号を使用して、前記演算モジュールに対して前記第2テストを実行することと、をさらに含む請求項1に記載の方法。
【請求項3】
前記チップは複数の演算モジュールを備え、
前記方法は、
基準に従って、前記複数の演算モジュールにおける2つ以上の演算モジュールを1つまたは複数の演算モジュールグループに分けることをさらに含み、
前記演算モジュールに対して前記第1テストを実行することは、前記演算モジュールグループにおける各演算モジュールの前記メモリをテストすることを含み、
または
前記演算モジュールに対して前記第2テストを実行することは、前記演算モジュールグループにおける各演算モジュールの前記機能ロジックをテストすることを含む請求項1に記載の方法。
【請求項4】
前記基準は、前記演算モジュールグループにおける各演算モジュールが同じ属性または機能ロジックを有することである請求項
3に記載の方法。
【請求項5】
リセットタイプを示すリセット制御信号を受信することと、
前記リセット制御信号で示される前記リセットタイプに基づいて、
前記第1テストを実行する前に、前記演算モジュールに第1リセット信号を入力して、前記演算モジュールの前記メモリをリセットするようにすることと、
または
前記第2テストを実行する前に、前記演算モジュールに第2リセット信号を入力して、前記演算モジュールの前記機能ロジックをリセットするようにすることと、をさらに含む請求項1に記載の方法。
【請求項6】
前記チップは複数の演算モジュールを備え、
前記方法は、
前記複数の演算モジュールにおけるテストする必要のない演算モジュールを決定することと、
決定した前記演算モジュールのクロックを閉めることと、をさらに含む請求項1に記載の方法。
【請求項7】
チップであって、
演算モジュールと、
前記演算モジュールにカップリングされ、前記演算モジュールのテストタイプを示すテスト制御信号を受信するように構成される第1ピンと、
前記第1ピンと前記演算モジュールにカップリングされ、前記テスト制御信号に示された前記テストタイプに基づいて、第1テストベクトル
および第1クロック信号を使用して前記演算モジュールに対して第1テストを実行するかまたは第2テストベクトル
および第2クロック信号を使用して前記演算モジュールに対して第2テストを実行するように構成されるコントローラと、
前記第1テストのための前記第1テストベクトルまたは前記第2テストのための前記第2テストベクトルを、前記チップの外部から受信するように構成される第2ピンと、を備え、
前記第1テストは前記演算モジュールのメモリに対して行われるテストであり、前記第2テストは前記演算モジュールの機能ロジックに対して行われるテストであ
り、
前記コントローラは、テスト制御ロジックと、外部クロック信号を受信するかまたは内部クロック信号を生成するように構成されるクロック制御モジュールとを備え、
前記クロック制御モジュールは、オンチップクロックと、マルチプレクサと、ORゲートと、第1クロックスイッチと、第2クロックスイッチとを備え、
前記オンチップクロックは、前記内部クロック信号を生成し、前記内部クロック信号を前記マルチプレクサの第1入力端および前記第1クロックスイッチの第1入力端に出力し、前記オンチップクロックの出力端が前記マルチプレクサの第1入力端にカップリングされるように構成され、
前記マルチプレクサは、前記マルチプレクサの第1入力端が前記オンチップクロックからの前記内部クロック信号を受信するように前記オンチップクロックの出力端にカップリングされ、前記マルチプレクサの第2入力端が前記外部クロック信号を受信し、前記マルチプレクサの出力端が前記第2クロックスイッチの第1入力端にカップリングされ、前記テスト制御ロジックからのクロック選択信号に基づいて前記内部クロック信号または前記外部クロック信号を選択して出力するように構成され、
前記ORゲートは、前記ORゲートの第1入力端が前記テスト制御ロジックからのメモリテスト信号を受信し、前記ORゲートの第2入力端が前記テスト制御ロジックからの機能ロジックテスト信号を受信し、前記ORゲートの出力端が前記第2クロックスイッチの第2入力端にカップリングされるように構成され、
前記第1クロックスイッチは、前記第1クロックスイッチの第1入力端が前記オンチップクロックからの前記内部クロック信号を受信するように前記オンチップクロックの出力端にカップリングされ、前記第1クロックスイッチの第2入力端が前記テスト制御ロジックからの前記メモリテスト信号の逆信号を受信し、前記第1クロックスイッチの出力端が前記演算モジュールに前記第2テストを実行するための前記第2クロック信号を出力するように構成され、
前記第2クロックスイッチは、前記第2クロックスイッチの第1入力端が前記マルチプレクサの出力端にカップリングされ、前記第2クロックスイッチの第2入力端が前記ORゲートの出力端にカップリングされ、前記第2クロックスイッチの出力端が前記演算モジュールに前記第1テストを実行するための前記第1クロック信号を出力するように構成されるチップ。
【請求項8】
前記
テスト制御ロジックは、
前記テストタイプが前記第1テストであるのに応答して、メモリテスト信号をクロック制御モジュールに出力し、
前記テストタイプが前記第2テストであるのに応答して、機能ロジックテスト信号を前記クロック制御モジュールに出力するように構成され
、
前記クロック制御モジュールは、
前記テスト制御ロジックから前記機能ロジックテスト信号を受信したことに応答して、第1クロック信号を前記演算モジュールに入力し、
前記テスト制御ロジックから前記メモリテスト信号を受信したことに応答して、第2クロック信号を前記演算モジュールに入力するように構成され
る請求項
7に記載のチップ。
【請求項9】
前記テスト制御ロジックはさらに、
クロック選択信号を生成し、前記クロック選択信号を前記クロック制御モジュールに出力するように構成され、前記クロック選択信号は、前記クロック制御モジュールが前記内部クロック信号または前記外部クロック信号を選択することを示すものである請求項
8に記載のチップ。
【請求項10】
前記演算モジュールは複数の演算モジュールを備え、前記コントローラは、基準に基づいて、前記複数の演算モジュールにおける2つ以上の演算モジュールを1つまたは複数の演算モジュールグループに分けるように構成され、
前記演算モジュールに対して前記第1テストを実行することは、前記演算モジュールグループにおける各演算モジュールの前記メモリをテストすることを含み、
または
前記演算モジュールに対して前記第2テストを実行することは、前記演算モジュールグループにおける各演算モジュールの前記機能ロジックをテストすることを含む請求項
7に記載のチップ。
【請求項11】
前記基準は、前記演算モジュールグループにおける各演算モジュールが同じ属性または機能ロジックを有することである請求項
10に記載のチップ。
【請求項12】
電子デバイスであって、
1つまたは複数のプロセッサと、1つまたは複数のプログラムを記憶するためのメモリとを備え、
前記1つまたは複数のプロセッサによって実行されると、前記電子デバイスに請求項1~
6のいずれかに記載の方法を実現させる電子デバイス。
【請求項13】
コンピュータ可読記憶媒体であって、コンピュータプログラムが記憶され、前記プログラムがプロセッサによって実行されると、請求項1~
6のいずれかに記載の方法を実現させるコンピュータ可読記憶媒体。
【請求項14】
コンピュータプログラムであって、 前記コンピュータプログラムがプロセッサによって実行されると、請求項1~
6のいずれか一項に記載の方法を実現させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は主にチップ分野に関し、より具体的に、チップをテストするための方法及び対応するチップに関する。本開示は、チップをテストするための電子デバイス、コンピュータ可読記憶媒体及びコンピュータプログラムに関する。
【背景技術】
【0002】
人工知能(AI)チップ分野では、チップの内部構造が正常であるかどうかを判断するために、チップをテストする必要がある。テスト期間には、チップのピンを介して外部からテストベクトルを入力する必要があり、返されたテスト結果を通じて上記の判断を行う。チップのピンは貴重なリソースであるため、チップテストによるチップのピンの数の増加を如何に回避することは、設計者が実現を期待する目標である。
【発明の概要】
【0003】
本開示は、チップをテストするための方法、電子デバイス及びコンピュータ可読記憶媒体及び対応するチップを提供する。
【0004】
本開示の第1態様において、演算モジュールを備えるチップをテストするための方法を提供する。該方法は、チップの第1ピンを介して、演算モジュールのテストタイプを示すテスト制御信号を受信することと、テスト制御信号に示されたテストタイプに基づいて、第1テストベクトルを使用して演算モジュールに対して第1テストを実行することと、または、第2テストベクトルを使用して演算モジュールに対して第2テストを実行することとを含み、第1テストは、演算モジュールのメモリに対して行われるテストであり、第2テストは、演算モジュールの機能ロジックに対して行われるテストである。
【0005】
本開示の第2態様において、演算モジュールと、第1ピンと、コントローラとを備えるチップを提供する。該第1ピンは、演算モジュールにカップリングされ、演算モジュールのテストタイプを示すテスト制御信号を受信するように構成される。該コントローラは、第1ピンと演算モジュールにカップリングされ、テスト制御信号に示されたテストタイプに基づいて、第1テストベクトルを使用して演算モジュールに対して演算モジュールのメモリをテストする第1テストを行われるか、或いは第2テストベクトルを使用して演算モジュールに対して演算モジュールの機能ロジックをテストする第2テストを行われるように構成される。
【0006】
本開示の第3態様において、電子デバイスを提供し、該電子デバイスは、1つまたは複数のプロセッサと、1つまたは複数のプログラムを記憶するためのメモリとを備え、1つまたは複数のプロセッサによって実行されると、該電子デバイスに本開示の第1態様による方法を実現させる。
【0007】
本開示の第4態様において、コンピュータ可読記憶媒体を提供し、該コンピュータ可読記憶媒体にコンピュータプログラムが格納され、該プログラムはプロセッサによって実行されると、本開示の第1態様による方法を実現させる。
本開示の第5態様において、コンピュータプログラムを提供し、該コンピュータプログラムがプロセッサによって実行されると、本開示の第1態様による方法を実現させる。
【0008】
本願に係る技術は、ピンの数によって制限される従来のチップテストの問題を解決した。本開示によれば、改善されたチップをテストするための手段を提供し、該手段はテストによるチップのピンの数の増加を回避することができ、且つチップテストを加速させ、テストコストを削減させることができる。
【0009】
なお、この部分で説明する内容は、本開示の実施例の肝心なまたは重要な特徴をマークすることを意図するものでもなく、本開示の範囲を限定することを意図するものでもないことを理解すべきである。本開示の他の特徴は以下の明細書を通じて理解が容易になる。
【図面の簡単な説明】
【0010】
図面を組み合わせて以下の詳しい説明を参照し、本開示の上記及びその他の特徴、利点及び態様をより明らかにする。図面は、本手段をより良く理解するためのものであり、本願を限定するものではないことを理解すべきものである。図面において、同じまたは類似な図面符号は同じまたは類似な構成を示す。
【
図1】本開示の複数の実施例によるチップをテストするための手段が実現される例示的な環境を示す模式図である。
【
図2】本開示の複数の実施例によるチップをテストするためのプロセスを示すフローチャートである。
【
図3】本開示の実施例によるコントローラを示す模式図である。
【
図4】本開示の複数の実施例によるチップ用のクロック制御回路構造を示す模式図である。
【
図5】本開示の複数の実施例によるチップ用のクロック制御回路構造を示す模式図である。
【
図6】本開示の複数の実施例による電子デバイスを実施できる模式的なブロック図である。
【発明を実施するための形態】
【0011】
以下、図面を参照して、本願の例示的な実施例の様々な細部を含む説明をするが、これらは理解を助けるためのものであり、単なる例示的なものである。従って、当業者は、本願の範囲と精神から逸脱しない限り、ここで説明する実施例に様々な変更と修正を加えることができることを認識すべきである。同様に、明確かつ簡潔に説明するために、以下の説明では、既知の機能と構造の説明を省略する。
【0012】
本開示の実施例の説明では、「含む」という用語及びその類似の用語は、オープン型の包含で、即ち「含むが、これに限定されない」と理解すべきである。「に基づく」という用語は、「少なくとも一部的に基づく」と理解すべきである。「一実施例」または「該実施例」という用語は、「少なくとも1つの実施例」と理解すべきである。「第1」、「第2」という用語などは、異なるまたは同じ対象を示すのに用いることができる。以下には、他の明示的および暗黙的な定義も含まれる場合がある。
【0013】
本明細書で使用されるように、「チップ」という用語は、既存のまたは将来開発される任意のソフトウェアまたはハードウェア、ならびにそれらの組み合わせによって実現される物理的キャリアを指す。一部の応用場面では、「SoC」、「結晶」、「エピスター」、「ダイ」、「集積回路」、「モノリシックデバイス」、「半導体デバイス」、「マイクロエレクトロニクデバイス」などを含むが、これらに限定されない。
【0014】
本明細書で使用されるように、「演算モジュール」という用語は、チップ内で特定の機能または演算を実現するためのモジュールを指し、既存または将来開発される任意のソフトウェアまたはハードウェア、ならびにそれらの組み合わせによって実現されることができる。演算モジュールは、複数の演算ユニットを備えてもよく、例えば、演算モジュールはマトリックスの形で複数の演算ユニットを含んでもよい。演算モジュールは、複雑で繰り返す演算を迅速に行うことができ、演算能力に対するAIアルゴリズムのニーズに応えることができる。
【0015】
上記に言及されたように、従来の手段において、チップをテストする場合テストベクトルを導入することによって、チップにおける演算モジュールをテストする。チップのテストには、チップにおける演算モジュール内のメモリのテストと演算モジュールの機能ロジックのテストを含むことができる。従来の手段において2種のテストタイプを区別していなかった。例えば、チップの受信したテストベクトルがチップの演算モジュールのメモリをテストするためのテストベクトルである場合、テストベクトルが演算モジュールに出力され、メモリテストを完了させる。チップの受信したテストベクトルがチップの演算モジュールの機能ロジックをテストするためのテストベクトルである場合、テストベクトルは機能ロジックテストを行うために演算モジュールに出力される。従来の技術はテストタイプを区別することができないため、あるピンから入力されるテストベクトルのタイプが相対的に単一である。
【0016】
発明者は、AIチップの場合、その構造は比較的規則的であることに気付いた。一方、AIチップの階層構造は明確であり、1つのAIチップは複数の演算モジュールを含み得、演算モジュールごとにメモリを含む。他方、AIチップにおける各演算ユニットは高い再現性を有する。単なる例示として、画像処理用のAIチップは、同じ構造と機能を有する複数の(例えば、6個)の畳み込み演算モジュールを含むことができる。さらに、各演算モジュールは、同じ構造と機能を有する複数の演算ユニットを含むことができ、単なる例示として、畳み込み演算モジュールは、サイズが1024×512の畳み込み演算ユニットのマトリックスであってもよい。
【0017】
従来の技術的問題を解決するために、本開示はチップをテストするための改善手段を提供する。本開示の実施例によれば、テストのタイプを選択するために、入力された演算モジュールのテストタイプを示すテスト制御信号がチップに入力される。テストタイプの判断に基づいて、メモリのテスト或いは機能ロジックのテストを実行する。このようにすると、実行するテストに限らず、テストベクトルのタイプをより多様化することができるようになる。したがって、本開示は効率的でかつテストコストを削減することができるチップテスト手段を提供する。
【0018】
以下、図面を参照して本開示の実施例を具体的に説明する。
図1は、本開示の複数の実施例を実現することができる例示的な環境10を示す模式図である。該例示的な環境10はチップ100を備える。図に示されるように、チップ100は、本開示の手段を実行することができるコントローラ110、及び複数の演算モジュール120-1-1、120-1-2、120-2-1、……を備える。第1演算モジュール120-1-1、第2演算モジュール120-1-2、第3演算モジュール120-2-1は、チップ100におけるテスト実行対象演算モジュールである。例えば、これらの演算モジュールは、畳み込み演算モジュール、変位演算モジュールなどであってよく、上記演算モジュールは互いに独立して設計されることができる。
【0019】
これらの演算モジュールは、特定の基準に従ってグループ化されることができ、これらの基準はユーザの需要とチップ100によって具体的実現される機能によって決定されることができる。例えば、同じまたは類似の機能(例えば、畳み込み演算動作を完了する)をするいくつかの演算モジュール120-1-1と120-1-2は1グループに分けられてもよい。いくつかの実施例において、同じまたは類似の構造を有する演算モジュールも1グループに分けられてもよい。なお、ここで言及したグループ化基準は例示的なものであり、限定的なものではなく、具体的なグループ化基準はこれに限定されない。図では、符号120-m-nでチップ100における各演算モジュールを示す。数字mは、該演算モジュールがm番目のグループに分けられていることを示し、数字nは、該演算モジュールが所属するグループ内のn番目の演算モジュールであることを示す。図に示されるように、演算モジュール120-1-1と120-1-2は同じグループに分けられ、演算モジュール120-2-1とは異なるグループにある。なお、
図1に示すようなコントローラ110と演算モジュール120の数は例示的なものにすぎず、限定的なものではなく、他の実施例において、コントローラ110と演算モジュール120の数は他の任意の数値であり、本開示はこの点で制限がない。さらに、理解すべきものとして、ここで示された各グループ内の演算モジュールの数も例示的なものにすぎず、具体的なグループ化状況は、示すような実施例によって制限されることはない。説明の便宜上、複数の演算モジュール120-1-1、120-1-2、120-2-1をまとめて演算モジュール120と呼ぶことができる。
【0020】
図1に示されるように、演算モジュール120-1-1を例として、演算モジュール120-1-1には、メモリ124-1-1と機能ロジック122-1-1が含まれる。チップ100をテストする場合、演算モジュール120-1-1におけるメモリ124-1-1と機能ロジック122-1-1の両方をテストする必要がある。図に示されるように、他の演算モジュールにおけるメモリ124-m-nと機能ロジック122-m-nの番号の付け方は演算モジュール120-m-nと同様であり、ここで繰り返し説明はしない。
【0021】
一般的に、チップ100のテストを実行する場合、チップ100を試験機(図示せず)に置き、該試験機によりテストベクトル130を出力してテストを完了させる。また演算モジュール120-1-1を例として、テストベクトル130はチップ100のピンを介して入力され、コントローラ110を介して演算モジュール120-1-1に入力される。演算モジュール120-1-1はテスト結果190-1-1をコントローラ110に返し、コントローラ110は複数の演算モジュールのテスト結果のテスト出力140を試験機に伝送し返す。このように、受信した実際のテスト結果と所望のテスト結果とを比較することにより、演算モジュール120-1-1における有効性テスト結果を得ることができ、それにより、演算モジュール120-1-1が設計要件を満たすかどうかを判断する。
【0022】
以下、
図2を参照して本開示によるチップ100をテストするためのプロセスをより詳細に説明する。
図2は、本開示の複数の例示的な実施例によるチップ100をテストするためのプロセス200を示すフローチャートである。プロセス200は
図1のコントローラ110により実現できる。検討の便宜上、
図1を参照して主にチップ100における演算モジュール120-1-1を組み合わせてプロセス200を説明する。
【0023】
ブロック202で、
図1を組み合わせて、コントローラ110はチップ100の第1ピン150-1からテスト制御信号160を受信し、テスト制御信号160は、演算モジュール120-1-1のテストタイプを示すために使用される。具体的に、ここで言及した「テストタイプ」は、該テストが演算モジュール120-1-1におけるメモリ124-1-1のテストを示すか、それとも演算モジュール120-1-1における機能ロジック122-1-1のテストを示すかをテストする。以下の説明では、演算モジュール120-1-1におけるメモリ124-1-1に対するテストを「第1テスト」と呼び、演算モジュール120-1-1における機能ロジック122-1-1に対するテストを「第2テスト」と呼ぶ。
【0024】
戻って
図2を参照すると、ブロック204で、テスト制御信号160で示されるテストタイプに基づいて、テストを実行する。該テストタイプに基づいて、演算モジュール120-1-1のメモリ124-1-1をテストする第1テストが必要になると、対応するメモリテストベクトル、即ち第1テストベクトルを使用してメモリに対するテストを実行する。対応して、該テストタイプに基づいて、演算モジュール120-1-1の機能ロジック122-1-1をテストする第2テストが必要になると、対応する機能ロジックテストベクトル、即ち第2ベクトルを使用して機能ロジックに対するテストを実行する。
【0025】
本開示の実施例によれば、チップ100の第1ピン150-1から受信したテスト制御信号160を使用して、テストベクトル130を選択する。テスト制御信号160に示されたテストタイプに基づいて、演算モジュール120-1-1においてメモリ124-1-1に対する第1テスト或いは機能ロジック122-1-1に対する第2テストを行うように、テストベクトル130を対応する演算モジュール120-1-1に伝送することができる。本発明においてテスト制御信号160の選択が実現できたので、入力されるテストベクトル130のタイプはより多くすることができ、ある特定のテストタイプに限定されることはない。この方法によって、異なるテストモードの柔軟な切り換えが実現できる。
【0026】
また
図1を参照すると、チップ100における演算モジュール120-1-1のメモリ124-1-1と機能ロジック122-1-1をテストするためのテストベクトル130は第2ピン150-2を共有して入力される。つまり、チップ100の第2ピン150-2から入力されるテストベクトル130は、チップ100における演算モジュール120-1-1のメモリ124-1-1に対して第1テストを実行するベクトルであってもよいし、チップ100における演算モジュール120-1-1の機能ロジック122-1-1に対して第2テストを実行するベクトルであってもよい。言い換えると、演算モジュール120-1-1におけるメモリ124-1-1或いは機能ロジック122-1-1は1つのピン150-2を共有してテストを完了させることができる。
【0027】
以上のように、従来の手段においては、専用のメモリテストピンを設けてメモリのテストを実行する必要があると同時に、専用の機能ロジックテストピンを設けて機能ロジックのテストを実行する必要もある。なお、本開示による実施例において、同じピン150-2から入力されたテストベクトル130さえ受信すれば、選択の後、演算モジュール120-1-1にメモリ124-1-1に対するテスト或いは機能ロジック122-1-1に対するテストを対応して完了させることができる。従来の方法と比べて、このような設置は、テストによるピンの数の増加を削減することに役に立ち、それにより、チップのサイズが大きすぎることを回避することができる。
【0028】
戻って
図1を参照すると、テストベクトル130は演算モジュール120-1-1に入力され、対応するテストを実行する。なお、このテストベクトル130は、演算モジュール120-1-1におけるメモリ124-1-1に対する第1テスト用であってもよいし、演算モジュール120-1-1における機能ロジック122-1-1に対する第2テスト用であってもよい。ここでさらなる細分はしない。
【0029】
いくつかの実施例において、テスト制御信号160を受信するための第1ピン150-1とテストベクトル130を受信するための第2ピン150-2はチップ100での同じピンであってもよい。このような設置は、チップ100のピンの数をさらに削減することに役に立つ。
【0030】
いくつかの実施例において、テスト制御信号160で示されるテストタイプが第1テストである場合、第1クロック信号170-1を演算モジュール120-1-1に入力し、該第1クロック信号170-1を使用して演算モジュール120-1-1におけるメモリ124-1-1に対して第1テストを実行する。
図1を参照すると、図では、実線でこのプロセスを示す。それに対応して、該テスト制御信号160で示されるテストタイプが第2テストである場合、第2クロック信号180-1を演算モジュール120-1-1に入力し、該第2クロック信号180-1を使用して演算モジュール120-1-1における機能ロジック122-1-1に対して第2テストを実行する。以上のように、
図1にテストベクトル130によって第1テストを実行する形態のみが示されているため、図では破線で演算モジュール120-1-1における機能ロジック122-1-1に対してテストを実行するプロセスを示す。
【0031】
戻って
図1を参照すると、上記に言及したように、チップ100は複数の演算モジュール120-1-1、120-1-2、120-2-1を含み得、各演算モジュールには対応するメモリと機能ロジックが含まれている。特定の基準に基づいて、これらの演算モジュールを1つまたは複数の演算モジュールグループに分ける。図に示されるように、演算モジュール120-1-1、120-1-2は1つの演算モジュールグループG1に分けられている。同様に、他の演算モジュールグループG2を形成できる。
【0032】
いくつかの実施例において、該基準は、演算モジュールグループG1における各演算モジュール120-1-1、120-1-2が備える同じまたは類似の属性または機能ロジックであってもよい。なお、ここで言及する「同じ」は、完全に同じ或いは厳密に同じであることを必要としない。いくつかの実施例において、これらの基準は、演算モジュール120-1-1、120-1-2の位置、タイプ、サイズ、クロック周波数などの属性であってもよい。代替実施例において、これらの基準は、演算モジュール120-1-1、120-1-2のテスト要件などの機能ロジックであってもよい。例えば、基準が演算モジュール120-1-1、120-1-2の機能ロジックである場合、あるタスクを共同して完了させる(例えば畳み込み演算を完了させる)機能ロジックが同じまたは類似のいくつかの演算モジュールを1グループとして選択することができる。この基準に基づいて演算モジュールを選択してテストを並行して実行し、チップ100における配線の簡素化に役に立ち、それにより、チップ100のコストが削減され、故障率が低減される。したがって、同じまたは類似のテスト要件を選択基準とすることで、テストベクトル130の設計を簡素化することができる。
【0033】
演算モジュールをグループ化することによって、演算モジュール間で属性と機能が同じまたは類似の特性を充分に使用することができる。これにより、チップ100のテスト効率を最適化することができる。ここで、いくつかの例示的な基準が挙げられる。なお、ユーザのニーズとチップ100の具体的な構成に応じて対応する基準を選択することができ、このような実施例は本発明の範囲に属する。
【0034】
簡潔にするために、演算モジュールグループG1が2つの演算モジュール120-1-1、120-1-2を含む形態のみを示し、且つ2つの演算モジュールグループG1、G2のみを示す。勿論、各演算モジュールグループG1、G2はより多くの演算モジュールを備えてもよく、チップ100はより多くの演算モジュールグループを含むことができる。以下、主に演算モジュールグループG1を参照して本開示の実施例によるより多くの例示的な実現形態を説明する。
【0035】
演算モジュールグループG1における演算モジュール120-1-1、120-1-2は同じまたは類似の特性を有するため、そのテストベクトル130が同じである。したがって、これらの演算モジュール120-1-1、120-1-2を1グループに分けることは、チップ100のピンを共有するのに有利で、それにより、テストによるピン数の増加を更に削減させるのに有利である。
【0036】
図1に示されるように、テストベクトル130がチップ100のコントローラ110に入力される場合、コントローラ110はテスト制御信号160に基づいて第1クロック信号170-1或いは第2クロック信号180-1を出力する。第1クロック信号170-1は、演算モジュールグループG1における各演算モジュール120-1-1、120-1-2に対してメモリの第1テストを実行することに適用され、第2クロック信号180-1は、演算モジュールグループG1における各演算モジュール120-1-1、120-1-2に対して機能ロジックの第2テストを実行することに適用される。テストベクトル130は演算モジュール120-1-2におけるメモリ124-1-2と機能ロジック122-1-2に入力されることができる。
図1では、破線で演算モジュール120-1-2におけるメモリ124-1-2と機能ロジック122-1-2に対してテストを実行するプロセスを示し、対応するテスト結果190-1-2がコントローラ110に返して出力されることができ、それを演算モジュール120-1-2が設計要件を満たすかどうかを判断するために使用される。
【0037】
チップ100における他の演算モジュールグループG2に対して類似の動作を実行することができる。
図1を参照すると、第1クロック信号170-2は演算モジュールグループG2の対応する演算モジュール120-2-1に入力されることができ、メモリ124-2-1の第1テストを実行するために使用される。第2クロック信号180-2も演算モジュールグループG2の対応する演算モジュール120-2-1に入力されることができ、機能ロジック122-2-1の第2テストを実行するために使用される。
【0038】
以下、
図3を参照して本開示の実施例によるコントローラ110のいくつかの実現形態を説明する。図に示されるように、コントローラ110はテスト制御ロジック310とクロック制御モジュール330とを備える。
【0039】
テスト制御ロジック310は、テストタイプが第1テストであることに応答して、メモリテスト信号326をクロック制御モジュール330に出力し、テストタイプが第2テストであることに応答し、機能ロジックテスト信号328をクロック制御モジュール330に出力するように構成される。
【0040】
クロック制御モジュール330は、テスト制御ロジック310から機能ロジックテスト信号328を受信したことに応答して、第1クロック信号170-1を演算モジュール120-1-1に入力し、及びテスト制御ロジック310からメモリテスト信号326を受信したことに応答して、第2クロック信号180-1を演算モジュール120-1-1に入力するように構成される。
【0041】
いくつかの実施例において、クロック制御モジュール330はさらに、外部クロック信号322を受信するか或いは内部クロック信号を生成するように構成される。第1クロック信号170-1は外部クロック信号322或いはチップ100の内部クロック信号であってもよく、第2クロック信号180-1はチップ100の内部クロック信号であってもよい。
【0042】
いくつかの実施例において、テスト制御ロジック310はさらに、クロック選択信号324を生成し、クロック選択信号324をクロック制御モジュール330に出力するように構成される。クロック選択信号324は、クロック制御モジュール330が内部クロック信号または外部クロック信号322を選択することを示す。
【0043】
図4は、本開示のいくつかの実現形態によるクロック制御回路構造400を示す模式図であり、
図5は、本開示のいくつかの実現形態によるクロック制御回路構造500を示す模式図である。クロック制御回路構造400、500はコントローラ110のクロック制御モジュール330の内部回路構造であってもよい。
【0044】
図4に示されるように、クロック制御回路構造400は、内部クロック信号を生成し、内部クロック信号をマルチプレクサ440の第1入力端及び第1クロックスイッチ420の第1入力端に出力するためのオンチップクロック410を備える。クロック制御回路構造400は、マルチプレクサ440の第1入力端がオンチップクロック410の出力端にカップリングされ、オンチップクロック410からの内部クロック信号を受信し、マルチプレクサ440の第2入力端が外部クロック信号322を受信するように構成されるマルチプレクサ440をさらに備え、マルチプレクサ440は、テスト制御ロジック310からのクロック選択信号324に基づいて、内部クロック信号または外部クロック信号322を出力することを選択するように構成され、マルチプレクサ440の出力端は第2クロックスイッチ430の第1入力端にカップリングされる。
【0045】
クロック制御回路構造400はORゲート450をさらに備え、ORゲート450の第1入力端はテスト制御ロジック310からのメモリテスト信号326を受信するように構成され、ORゲート450の第2入力端はテスト制御ロジック310からの機能ロジックテスト信号328を受信するように構成され、ORゲート450出力端は第2クロックスイッチ430の第2入力端にカップリングされる。
【0046】
クロック制御回路構造400は第1クロックスイッチ420をさらに備え、第1クロックスイッチ420の第1入力端はオンチップクロック410の出力端にカップリングされて、オンチップクロック410からの内部クロック信号を受信し、第1クロックスイッチ420の第2入力端はテスト制御ロジック310からのメモリテスト信号326の逆信号を受信するように構成され、第1クロックスイッチ420の出力端は第2クロック信号180-1を出力して、第2テストを実行するために使用されるように構成される。
【0047】
クロック制御回路構造400は第2クロックスイッチ430をさらに備え、第2クロックスイッチ430の第1入力端はマルチプレクサ440の出力端にカップリングされ、第2クロックスイッチ430の第2入力端がORゲート450の出力端にカップリングされ、第2クロックスイッチ430の出力端は第1クロック信号170-1を出力して、第1テストを実行するために使用されるように構成される。
【0048】
図5に示されるように、クロック制御回路構造500はオンチップクロック510を備えてもよく、オンチップクロック510は内部クロック信号を生成し、内部クロック信号を第1クロックスイッチ520の第1入力端及び第2クロックスイッチ530の第1入力端に出力するのに用いられる。
【0049】
クロック制御回路構造500は第1ORゲート550をさらに備え、第1ORゲート550の第1入力端がテスト制御ロジック310からのメモリテスト信号326を受信するように構成され、第1ORゲート550の第2入力端がテスト制御ロジック310からの機能ロジックテスト信号328を受信するように構成され、第1ORゲート550の出力端は第1ANDゲート560の第2入力端及び第2ANDゲート570の第1入力端にカップリングされる。
【0050】
クロック制御回路構造500は第1ANDゲート560をさらに備え、第1ANDゲート560の第1入力端がテスト制御ロジック310からのクロック選択信号324の逆信号を受信するように構成され、第1ANDゲート560の出力端は第2クロックスイッチ530の第2入力端にカップリングされる。
【0051】
クロック制御回路構造500は第2ANDゲート570をさらに備え、第2ANDゲート570の第2入力端はテスト制御ロジック310からのクロック選択信号324を受信するように構成され、第2ANDゲート570の出力端は第3クロックスイッチ580の第2入力端にカップリングされる。
【0052】
クロック制御回路構造500は第1クロックスイッチ520をさらに備え、第1クロックスイッチ520の第2入力端はテスト制御ロジック310からのメモリテスト信号326の逆信号を受信するように構成され、第1クロックスイッチ520の出力端は第2クロック信号180-1を出力して、第2テストを実行するために使用されるように構成される。
【0053】
クロック制御回路構造500は第2クロックスイッチ530と第3クロックスイッチ580とをさらに備え、第2クロックスイッチ530の出力端が第2ORゲート540の第1入力端にカップリングされ、第3クロックスイッチ580の第1入力端がテスト制御ロジック310からの外部クロック信号322を受信するように構成され、第3クロックスイッチ580の出力端が第2ORゲート540の第2入力端にカップリングされる。
【0054】
クロック制御回路構造500は第2ORゲート540をさらに備え、第2ORゲート540の出力端は第1クロック信号170-1を出力して、第1テストを実行するために使用されるように構成される。
【0055】
なお、ここで示されるクロック制御回路構造400、500は、例示的なものにすぎず、限定的なものではなく、他の実施例において、他の形態の制御回路構造を使用して信号の制御を実現することができ、本開示はこの点で制限されることはない。
【0056】
いくつかの実施例において、コントローラ110は、演算モジュール120におけるテストする必要のない演算モジュールを決定することもできる。これらのテストする必要のない演算モジュールのクロックをオフにすることにより、チップ100のテスト電力消費を効果的に削減することができ、それにより、テストのコストを削減することができる。
【0057】
いくつかの実施例において、演算モジュール120-1-1におけるメモリ124-1-1または機能ロジック122-1-1をテストする前に、演算モジュール120-1-1に対応するリセット信号を入力し、両者をリセットすることができる。メモリ124-1-1または機能ロジック122-1-1を個別にリセットすることができる。具体的に、コントローラ110は、リセットタイプを示すリセット制御信号を受信することができる。ここで言及した「リセットタイプ」とは、該リセットが演算モジュール120-1-1におけるメモリ124-1-1をリセットするか、または演算モジュール120-1-1における機能ロジック122-1-1をリセットするかを指す。いくつかの実施例において、該リセットタイプが演算モジュール120-1-1におけるメモリ124-1-1をリセットすることを示すものが決定されたことに応答して、第1テストを実行する前に、演算モジュール120-1-1に第1リセット信号を入力し、演算モジュール120-1-1のメモリ124-1-1をリセットするようにする。代替的な実施例において、該リセットタイプが演算モジュール120-1-1における機能ロジック122-1-1をリセットすることを示すものを決定したことに応答して、第2テストを実行する前に、演算モジュール120-1-1に第2リセット信号を入力し、演算モジュール120-1-1の機能ロジック122-1-1をリセットするようにする。このようにすることによって、チップ100におけるメモリ124-1-1と機能ロジック122-1-1を柔軟にリセット制御することを容易に実現することができる。
【0058】
なお、ここで演算モジュール120-1-1を参照して説明したが、これらの説明は同様にチップ100における他の演算モジュール120-1-2、120-2-1などに適用される。
【0059】
図1に戻って、テストベクトル130はチップ100のピン150-2を介して入力されることができる。いくつかの実施例において、テストベクトル130とテスト出力140は有線通信または無線通信の方法によってコントローラ110と演算モジュール120との間にやりとりをすることができる。さらに、理解すべきものとして、具体的な応用場面により、テストベクトル130とテスト出力140は1つまたは複数回のやりとりを介してコントローラ110と演算モジュール120との間に伝送されることができ、本開示は、この点でも制限はしない。
【0060】
なお、具体的なテストベクトル130を設計する場合、既存または将来のテストベクトル130を設計するための任意の方法を使用することができることを理解すべきである。さらに、ものとして、チップ100をテストする配線を実行する場合、既存または将来の任意の配線方法を使用することができることを理解すべきであり、本開示はこの点で制限がない。
【0061】
本開示の実施例によって、従来のチップテスト方法と異なり、本発明は、チップ100におけるテストタイプを選択することにより、テストベクトルをチップの同じピンから入力させ、このようにして、チップ100のピン数の削減に有利で、それにより、チップ100のサイズが大きすぎることを回避する。なお、同じまたは類似の特性を有する演算モジュールをグループ化してグループ内の演算モジュールを並行してテストし、このような構成によって、チップ100のテスト速度を向上させることができる。また、本願の手段によれば、アイドル状態の演算モジュールをオフにすることで、チップ100テストのコストを効果的に削減することもできる。
【0062】
本願の実施例によれば、本願は、電子デバイスと可読記憶媒体をさらに提供する。
図6は、本開示の複数の実施例による電子デバイス600を実施できる模式的なブロック図である。
【0063】
図に示されるように、電子デバイス600は中央処理ユニット(CPU)601を含み、読み取り専用メモリ(ROM)602に記憶されるコンピュータプログラム指令或いは記憶ユニット608からランダムアクセスメモリ(RAM)603にロードされるコンピュータプログラム指令に従って、様々な適切な動作と処理を実行する。RAM603には、電子デバイス600の動作に必要な様々なプログラムとデータが記憶されることもできる。CPU601、ROM602及びRAM603はバス604によって互いに接続される。入力/出力(I/O)インターフェース605もバス604に接続される。
【0064】
電子デバイス600における複数の部材、例えば、キーボード、マウスなどの入力ユニット606、様々なタイプのモニター、スピーカーなどの出力ユニット607、ディスク、CDなどの記憶ユニット608、ネットワークカード、モデム、無線通信トランシーバーなどの通信ユニット609はI/Oインターフェース605に接続される。通信ユニット609は、電子デバイス600がインターネットなどのコンピューターネットワークおよび/または様々な電気通信ネットワークを介して他のデバイスと情報/データを交換することを許容する。
【0065】
以上説明した各プロセス及び処理、例えば方法200は、処理ユニット601により実行されることができる。例えば、いくつかの実施例において、方法200はコンピューターソフトウェアプログラムとして実現されることができ、有形なものとして機械可読媒体、例えば記憶ユニット608に含まれる。いくつかの実施例において、コンピュータプログラムの一部或いは全部はROM602および/または通信ユニット609を介して電子デバイス600にロードおよび/またはインストールされる。コンピュータプログラムはRAM603にロードされてCPU601により実行される場合、上記説明した方法200の1つまたは複数の動作が実行されることができる。
【0066】
本開示は、方法、装置、システムおよび/またはコンピュータプログラム製品であってもよい。コンピュータプログラム製品は、本開示の各態様を実行するためのコンピュータ可読プログラム指令が記憶されるコンピュータ可読記憶媒体を含み得る。
【0067】
コンピュータ可読記憶媒体は、指令実行デバイスにより使用される指令を保持と記憶することができる有形デバイスであってもよい。コンピュータ可読記憶媒体は、例えば電気記憶デバイス、磁気記憶デバイス、光記憶デバイス、電磁気記憶デバイス、半導体記憶デバイス或いは上記の任意の適切な組み合わせであってもよいが、これらに制限されない。コンピュータ可読記憶媒体のより具体的な例(網羅的ではないリスト)は、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能なプログラム可能な読み取り専用メモリ(EPROMまたはフラッシュメモリ)、静的ランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピーディスク、機械的エンコードデバイス、例えばその上に指令が記憶されるパンチカードまたは溝内の突起構造、及び上記の任意の適切な組み合わせを含む。ここで使用されるコンピュータ可読記憶媒体は、電波または他の自由に伝播される電磁波、導波路または他の伝達媒体を通って伝播される電磁波(例えば、光ファイバーケーブルを介した光パルス)、またはワイヤを通して伝送される電気信号などの瞬時信号自体には解釈されない。
【0068】
ここで説明するコンピュータ可読プログラム指令は、コンピュータ可読記憶媒体から各演算/処理デバイスにダウンロードし、或いはネットワーク、例えばインターネット、ローカルエリアネットワーク、ワイドエリアネットワークおよび/またはワイヤレスネットワークを介して外部コンピュータまたは外部記憶デバイスにダウンロードされることができる。ネットワークは、銅製伝送ケーブル、光ファイバー伝送、ワイヤレス伝送、ルーター、ファイアウォール、スイッチ、ゲートウェイコンピュータ、および/またはエッジサーバーを含み得る。各演算/処理デバイスにおけるネットワークアダプターカード或いはネットワークインターフェースはネットワークからコンピュータ可読プログラム指令を受信し、且つ該コンピュータ可読プログラム指令を転送し、各演算/処理デバイスにおけるコンピュータ可読記憶媒体に記憶される。
【0069】
本開示の操作を実行するためのコンピュータプログラム指令は、アセンブリ指令、指令セットアーキテクチャ(ISA)指令、機械指令、機械関連指令、マイクロコード、ファームウェア指令、状態設定データ、または1つ以上のプログラミング言語の任意の組み合わせで記述されたソースコード、またはオブジェクトコードであってよく、前記プログラミング言語は、Smalltalk、C++などのオブジェクト指向のプログラミング言語と、C言語または同様のプログラミング言語などの従来の手続き型プログラミング言語を含む。コンピュータ可読プログラム指令は、完全にユーザコンピュータで、部分的にユーザコンピュータで、スタンドアロンのソフトウェアパッケージとして、部分的にユーザコンピュータで部分的にリモートコンピュータで、或いは完全にリモートコンピュータまたはサーバーで実行できる。リモートコンピュータに関する場合、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)などの任意の種類のネットワークを介してユーザコンピューターに接続でき、或いは、外部コンピュータ(例えばインターネットサービスプロバイダーを使用してインターネットを介して接続する)に接続できる。いくつかの実施例において、コンピュータ可読プログラム指令のステータス情報を使用して、プログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)またはプログラマブルロジック配列(PLA)などの電子回路をパーソナライズし、該電子回路はコンピュータ可読プログラム指を実行することができ、それにより、本開示の各態様を実現する。
【0070】
ここで、本開示の実施例による方法、装置(システム)及びコンピュータプログラム製品のフローチャートおよび/またはブロック図を参照して本開示の各態様を説明した。理解すべきなのは、フローチャートおよび/またはブロック図の各ブロック及びフローチャートおよび/またはブロック図の各ブロックの組み合わせは、コンピュータ可読プログラム指令により実現されることができる。
【0071】
これらのコンピュータ可読プログラム指令は、汎用コンピュータ、専用コンピュータまたは他のプログラマブルデータ処理装置の処理ユニットに提供されることができ、それにより、これらの指令がコンピュータまたは他のプログラマブルデータ処理装置の処理ユニットによって実行されると、フローチャートおよび/またはブロック図の1つまたは複数のブロックに規定している機能/動作を実現する装置を生成するようにする機器を製造する。これらのコンピュータ可読プログラム指令はコンピュータ可読記憶媒体に記憶されてもよく、これらの指令によってコンピュータ、プログラマブルデータ処理装置および/または他のデバイスが特定の方法で作動させ、それにより、指令を記憶したコンピュータ可読媒体は、フローチャートおよび/またはブロック図の1つまたは複数のブロックに規定している機能/動作の各態様を実現する指令を含む製造物を含む。
【0072】
コンピュータ可読プログラム指令をコンピュータ、他のプログラマブルデータ処理装置、または他のデバイスにロードすることもでき、コンピュータ、他のプログラマブルデータ処理装置または他のデバイスで一連の操作ステップを実行させ、コンピュータによって実現されるプロセスを生成し、それにより、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイスで実行される指令にフローチャートおよび/またはブロック図の1つまたは複数のブロックに規定されている機能/動作を実現させる。
【0073】
図面におけるフローチャートとブロック図は、本開示の複数の実施例によるシステム、方法及びコンピュータプログラム製品の実現可能なシステムアーキテクチャ、機能及び操作を示す。この点で、フローチャートまたはブロック図の各ブロックは1つのモジュール、プログラムセグメントまたは指令の一部を示し、前記モジュール、プログラムセグメントまたは指令の一部は規定しているロジック機能を実現するための1つまたは複数の実行可能な指令を含む。代替としていくかの実現において、ブロックで付記される機能は図面に付記される順序と異なる順序で発生する場合がある。例えば、2つの連続するブロックは、実際には基本的に並行して実行することができ、関連する機能に応じて、逆の順序で実行することもできる。さらに、注意すべきものとして、ブロック図および/またはフローチャートの各ブロック、及びブロック図および/またはフローチャートのブロックの組み合わせは、規定している機能または動作を実行するハードウェアに基づく専用のシステムを使用して実現することも、専用のハードウェアとコンピュータ指令との組み合わせを使用して実現することもできる。
【0074】
なお、上記に示される様々な形態のプロセスを使用してソートし、ステップを追加し、削除できることを理解すべきである。例えば、本願に記載された各ステップは、本願に開示される技術的解決手段の所望の結果を達成できる限り、並行、順次、または異なる順序で実行されてもよく、ここでは制限しない。
【0075】
上記の具体的な実施形態は、本願の特許の保護範囲を限定するものではない。当業者は、設計上の必要性及び他の要因に応じて、様々な修正、組み合わせ、サブ組み合わせ、及び置換を行うことができることを理解すべきである。本願の精神及び原則を逸脱せずに行われた補正、均等な置換、改良などはすべて本願の保護範囲に含まれるとすべきである。