IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ テキサス インスツルメンツ インコーポレイテッドの特許一覧

特開2023-88881細粒度のテスト電力制御のための分散されたメカニズム
<>
  • 特開-細粒度のテスト電力制御のための分散されたメカニズム 図1
  • 特開-細粒度のテスト電力制御のための分散されたメカニズム 図2
  • 特開-細粒度のテスト電力制御のための分散されたメカニズム 図3
  • 特開-細粒度のテスト電力制御のための分散されたメカニズム 図4
  • 特開-細粒度のテスト電力制御のための分散されたメカニズム 図5
  • 特開-細粒度のテスト電力制御のための分散されたメカニズム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023088881
(43)【公開日】2023-06-27
(54)【発明の名称】細粒度のテスト電力制御のための分散されたメカニズム
(51)【国際特許分類】
   G06F 11/22 20060101AFI20230620BHJP
   G11C 29/12 20060101ALI20230620BHJP
【FI】
G06F11/22 607Z
G11C29/12
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022199042
(22)【出願日】2022-12-14
(31)【優先権主張番号】17/551,011
(32)【優先日】2021-12-14
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】507107291
【氏名又は名称】テキサス インスツルメンツ インコーポレイテッド
(74)【代理人】
【識別番号】230129078
【弁護士】
【氏名又は名称】佐藤 仁
(72)【発明者】
【氏名】デヴァナサン ヴァラダラヤン
(72)【発明者】
【氏名】ヴァラン シンハ
(72)【発明者】
【氏名】ホセ ルイス フローレス
(72)【発明者】
【氏名】ラジサ ネイル
(72)【発明者】
【氏名】デヴィッド マシュー トンプソン
(57)【要約】      (修正有)
【課題】集積回路のBISTメモリテストを実行する方法を提供する。
【解決手段】方法は、BISRコントローラによって安全コントローラから複数のテスト電力制御シナリオを受け取ることであって、BISRコントローラによって、一つ又は複数のテスト電力制御シナリオを階層的順序に従ってプロセッサコアのセットに動的に適用することと、プロセッサコアのセットのプロセッサコアによって、プロセッサコアのセットの各々に関連するメモリブロックのBISTメモリテストを実施することと、BISRコントローラによって、メモリブロックのBISTメモリテストの結果をプロセッサコアから受け取ることと、BISRコントローラによって、BISTメモリテストの結果を安全コントローラに送信することと、を含む。
【選択図】図3
【特許請求の範囲】
【請求項1】
集積回路であって、
プロセッサコアのセットと、複数の電力制御回路要素と、複数の絶縁回路要素と、内蔵自己修復(BISR)コントローラと、安全コントローラとを含み、
前記プロセッサコアのセットの各プロセッサコアが、
内蔵自己テスト(BIST)論理回路要素と、
前記BIST論理回路要素に結合された複数のメモリブロックと、
を含み、
前記複数の電力制御回路要素の各電力制御回路要素が、前記プロセッサコアのセットのそれぞれのプロセッサコアに結合され、
前記複数の絶縁回路要素の各絶縁回路要素が、前記プロセッサコアのセットのそれぞれのプロセッサコアに結合され、
前記BISRコントローラが、前記プロセッサコアのセットの前記各プロセッサコアと、前記複数の電力制御回路要素の各々と、前記複数の絶縁回路要素の各々とに結合され、
前記安全コントローラが、前記BISRコントローラと、前記複数の電力制御回路要素と、前記複数の絶縁回路要素とに結合される、
集積回路。
【請求項2】
請求項1に記載の集積回路であって、
前記BISRコントローラが、前記プロセッサコアのセットのBISTメモリテストに関連する複数のテスト電力制御シナリオを前記安全コントローラから受け取るように構成され、前記複数のテスト電力制御シナリオが、一つ又は複数のテスト電力制御シナリオを前記プロセッサコアのセットに適用する階層的順序を含み、
前記BISRコントローラが、前記階層的順序に従って、前記一つ又は複数のテスト電力制御シナリオを前記プロセッサコアのセットに対して動的に適用するように構成され、
前記BISRコントローラが、前記プロセッサコアのセットの各々に関連するメモリブロックのBISTメモリテストを実施するように構成され、
前記BISRコントローラが、前記プロセッサコアのセットの各々に関連する前記メモリブロックの前記BISTメモリテストの結果を受信するように構成され、
前記BISRコントローラが、前記BISTメモリテストの前記結果を前記安全コントローラに送信するように構成される、
集積回路。
【請求項3】
請求項2に記載の集積回路であって、
前記BISRコントローラが、前記複数のテスト電力制御シナリオのうちの第1のテスト電力制御シナリオを前記安全コントローラから受け取るように構成され、前記第1のテスト電力制御シナリオが、前記一つ又は複数のテスト電力制御シナリオを適用する前記階層的順序に従って、前記プロセッサコアのセットのうちの第1のプロセッサコアのBISTメモリテストに関連し、
前記BISRコントローラが、前記第1のテスト電力制御シナリオに従って、クロックゲーティング信号を前記プロセッサコアのセットのうちの第2のプロセッサコアに印加するように構成され、
前記BISRコントローラが、前記第1のテスト電力制御シナリオに従って、絶縁制御信号を前記プロセッサコアのセットのうちの第3のプロセッサコアに印加させるように構成され、
前記BISRコントローラが、前記第1のテスト電力制御シナリオに従って、電力ゲーティング信号を前記第3のプロセッサコアに印加させるように構成され、
前記BISRコントローラが、前記第1のテスト電力制御シナリオに従って、前記クロックゲーティング信号を前記第1のプロセッサコアに動的に印加するように構成される、
集積回路。
【請求項4】
請求項2に記載の集積回路であって、前記BISRコントローラが、プログラムされた命令に基づいて前記複数のテスト電力制御シナリオを前記安全コントローラから受け取るように構成され、前記プログラムされた命令が、前記安全コントローラに格納されているか、又は前記安全コントローラに結合されたユーザインタフェースから前記安全コントローラによって取得される、集積回路。
【請求項5】
請求項2に記載の集積回路であって、前記BISRコントローラが、
クロック信号を、前記プロセッサコアのセットのうちの第1のプロセッサコアの複数のメモリブロックのうちの第1のメモリブロックに印加し、
前記複数のメモリブロックの他のメモリブロックに対するクロック信号を除去し、
前記第1のメモリブロックの前記BISTメモリテストを実施するための命令を送信し、
前記第1のメモリブロックの前記BISTメモリテストに従って、及び、前記第1のメモリブロックの前記BISTメモリテストを実施した後に、前記他のメモリブロックの前記BISTテストを実施するための命令を送信する、
ように構成される、
集積回路。
【請求項6】
請求項3に記載の集積回路であって、
前記BISRコントローラが、前記複数のテスト電力制御シナリオを適用する前記階層的順序に従って、前記複数のテスト電力制御シナリオのうちの第2のテスト電力制御シナリオを前記安全コントローラから受け取るように構成され、前記第2のテスト電力制御シナリオが、前記プロセッサコアのセットのうちの第2のプロセッサコアの前記BISTメモリテストに基づき、
前記BISRコントローラが、前記一つ又は複数のテスト電力制御シナリオを適用する前記階層的順序に従って、前記第2のテスト電力制御シナリオを適用するように構成され、
前記BISRコントローラが、前記第2のプロセッサコアの前記一つ又は複数のメモリブロックを前記BISTメモリテストに従ってテストさせるように構成される、
集積回路。
【請求項7】
請求項6に記載の集積回路であって、前記BISRコントローラが、
前記第2のテスト電力制御シナリオに従って、絶縁制御信号を前記第2のプロセッサコアに印加し、
前記第2のテスト電力制御シナリオに従って、電力ゲーティング信号を前記第2のプロセッサコアに印加し、
前記第2のテスト電力制御シナリオに従って、第2の絶縁制御信号を前記プロセッサコアのセットの第3のプロセッサコアに送信し、
前記第2のテスト電力制御シナリオに従って、第2の電力ゲーティング信号を前記第3のプロセッサコアに印加する、
ように構成される、
集積回路。
【請求項8】
請求項7に記載の集積回路であって、前記BISRコントローラが、前記集積回路をリブートする際に、前記第1のプロセッサコアの前記一つ又は複数のメモリブロックの前記BISTメモリテストを実施するための命令を受け取るように構成される、集積回路。
【請求項9】
請求項2に記載の集積回路であって、前記BISRコントローラが、前記一つ又は複数のテスト電力制御シナリオを適用する前記階層的順序に従って、前記プロセッサコアのセットの他のプロセッサコアの一つ又は複数のメモリブロックの前記BISTテストを実施するための命令を受け取るように構成される、集積回路。
【請求項10】
請求項2に記載の集積回路であって、前記BISRコントローラが、前記安全コントローラから受信したトリガ信号に応答して前記BISTテストを実施するように構成される、集積回路。
【請求項11】
集積回路の内蔵自己テスト(BIST)メモリテストを実行する方法であって、
内蔵自己修復(BISR)コントローラによって、複数のテスト電力制御シナリオを安全コントローラから受け取ることであって、前記複数のテスト電力制御シナリオが、プロセッサコアのセットの前記BISTメモリテストに関連しており、一つ又は複数のテスト電力制御シナリオを前記プロセッサコアのセットに適用する階層的順序を含む、前記複数のテスト電力制御シナリオを受け取ることと、
前記BISRコントローラによって、前記階層的順序に従って前記一つ又は複数のテスト電力制御シナリオを前記プロセッサコアのセットに対して動的に適用することと、
前記複数のプロセッサコアのうちの或るプロセッサコアによって、前記プロセッサコアのセットの各々に関連するメモリブロックの前記BISTメモリテストを実施することと、
前記BISRコントローラによって、前記メモリブロックの前記BISTメモリテストの結果を前記プロセッサコアから受け取ることと、
前記BISRコントローラによって、前記BISTメモリテストの前記結果を前記安全コントローラに送信することと、
を含む、方法。
【請求項12】
請求項11に記載の方法であって、更に、
前記BISRコントローラによって、前記複数のテスト電力制御シナリオのうちの第1のテスト電力制御シナリオを前記安全コントローラから受け取ることであって、前記第1のテスト電力制御シナリオが、前記一つ又は複数のテスト電力制御シナリオを適用する前記階層的順序に従った前記プロセッサコアのセットのうちの第1のプロセッサコアの前記BISTメモリテストに関連する、前記テスト電力制御シナリオを受け取ることと、
前記BISRコントローラによって、前記第1のテスト電力制御シナリオに基づいてクロックゲーティング信号を前記プロセッサコアのセットのうちの第2のプロセッサコアに印加することと、
前記BISRコントローラによって、前記第1のテスト電力制御シナリオに従って絶縁制御信号を前記プロセッサコアのセットのうちの第3のプロセッサコアに印加させることと、
前記BISRコントローラによって、前記第1のテスト電力制御シナリオに従って電力ゲーティング信号を前記第3のプロセッサコアに印加させることと、
前記BISRコントローラによって、前記第1のテスト電力制御シナリオに従って前記クロックゲーティング信号を前記第1のプロセッサコアに動的に印加することと、
を含む、方法。
【請求項13】
請求項12に記載の方法であって、プログラムされた命令に基づいて、前記複数のテスト電力制御シナリオを前記安全コントローラから前記BISRコントローラによって受け取ることであって、前記プログラムされた命令が、前記安全コントローラに格納されているか、又は前記安全コントローラに結合されたユーザインタフェースから前記安全コントローラによって取得される、前記複数のテスト電力制御シナリオを受け取ることを更に含む、方法。
【請求項14】
請求項11に記載の方法であって、更に、
前記BISRコントローラによって、前記プロセッサコアのセットのうちの第1のプロセッサコアの複数のメモリブロックの第1のメモリブロックにクロック信号を印加することと、
前記BISRコントローラによって、前記複数のメモリブロックの他のメモリブロックに対するクロック信号を除去することと、
前記BISRコントローラによって、前記第1のメモリブロックの前記BISTメモリテストを実施するための命令を送信することと、
前記BISRコントローラによって、前記第1のメモリブロックの前記BISTメモリテストに従って、及び、前記第1のメモリブロックの前記BISTメモリテストを実施した後、前記他のメモリブロックの前記BISTメモリテストを実施するための命令を送信することと、
を含む、方法。
【請求項15】
請求項11に記載の方法であって、更に、
前記BISRコントローラによって、前記一つ又は複数のテスト電力制御シナリオを適用する前記階層的順序に従って、前記複数のテスト電力制御シナリオのうちの第2のテスト電力制御シナリオを前記安全コントローラから受け取ることであって、前記第2のテスト電力制御シナリオが、前記プロセッサコアのセットのうちの第2のプロセッサコアの前記BISTメモリテストに基づく、前記第2のテスト電力制御シナリオを受け取ることと、
前記BISRコントローラによって、前記第2のテスト電力制御シナリオに基づいて、前記第2のプロセッサコアの前記BISTメモリテストを適用することと、
前記第2のプロセッサコアの一つ又は複数のメモリブロックを前記BISTテストに従ってテストすることと、
を含む、方法。
【請求項16】
請求項15に記載の方法であって、更に、
前記BISRコントローラによって、前記第2のテスト電力制御シナリオに従って、前記プロセッサコアのセットの前記第2のプロセッサコアに絶縁制御信号を印加することと、
前記BISRコントローラによって、前記第2のテスト電力制御シナリオに基づいて、前記第2のプロセッサコアに電力ゲーティング信号を印加することと、
前記BISRコントローラによって、前記第2のテスト電力制御シナリオに基づいて、前記プロセッサコアのセットのうちの第3のプロセッサコアに第2の絶縁制御信号を送信することと、
前記BISRコントローラによって、前記第2のテスト電力制御シナリオに基づいて、前記第3のプロセッサコアに第2の電力ゲーティング信号を印加することと、
を含む、方法。
【請求項17】
請求項16に記載の方法であって、前記BISRコントローラによって、前記集積回路をリブートする際に前記プロセッサコアのセットの前記メモリブロックの前記BISTメモリテストを実施するための命令を受け取ることを更に含む、方法。
【請求項18】
請求項11に記載の方法であって、前記BISRコントローラによって、前記複数のテスト電力制御シナリオを前記適用する前記階層的順序に従って、前記プロセッサコアのセットの他のプロセッサコアの一つ又は複数のメモリブロックの前記BISTメモリテストを実施するための命令を受け取ることを更に含む、方法。
【請求項19】
請求項11に記載の方法であって、前記BISRコントローラによって、前記安全コントローラからトリガ信号を受信することに応答して前記BISTメモリテストを実施するための命令を受け取ることを更に含む、方法。
【請求項20】
請求項11に記載の方法であって、前記BISRコントローラによって、テスト装置からトリガ信号を受信することに応答して前記BISTメモリテストを実施するための命令を受け取ることを更に含む、方法。
【発明の詳細な説明】
【技術分野】
【0001】
最近の電子集積回路は、汎用又は特定の最終用途向け配置に拘わらず、コンピュータシステムの機能的構成要素を単一のシリコン半導体上に統合する。幅広い機能及び有用なアプリケーションを制御及び管理するための計算能力を含むこれらの大規模集積回路は、しばしば「システムオンチップ」又は「SoC」デバイスと呼ばれる。典型的に、最近のSoCアーキテクチャは、埋め込みメモリブロックと、一つ又は複数のプロセッサコアとを含み、一つ又は複数のプロセッサコアは、実行可能な命令をメモリから検索し、メモリから検索されたデジタルデータに対し算術演算及び論理演算を実施し、これらの演算の結果をメモリに格納するデジタルコンピュータ機能を実行する。プロセッサコアによって処理されるデータを取得及び出力するために、他のデジタル信号、アナログ信号、又はミックスドシグナル、或いはRF機能さえもSoCに統合され得る。これらの最近のデバイスの複雑な機能の実施に関与する大量のデジタルデータを考慮して、揮発性メモリ及び不揮発性メモリの両方を含む有意なソリッドステートメモリ機能がこれらのSoCデバイスに実装されている。
【0002】
性能を最適化するために、メモリリソースが最近のSoCデバイス全体に分散され得る。SoCアーキテクチャにおけるこの分散メモリにより、メモリリソースは、処理機能がアクセスするべき処理機能に物理的(又は論理的)に近くなる。例えば、プロセッサコア内にローカルメモリリソース(埋め込みメモリリソース)を配置することによりアクセス時間とメモリ管理負荷が削減される。幾つかの事例において、埋め込みメモリリソースは、システムバスを介してアクセス可能でなく、実現されたプロセッサコアでのみ利用可能であるため、論理回路を用いてこれらのメモリリソースをテストする。例えば、これらのSoCデバイスは、埋め込みメモリリソースをテストするための論理インタフェースを含む内部テスト回路要素(例えば、「内蔵自己テスト」(BIST)回路要素)を含み得る。
【発明の概要】
【0003】
本開示の少なくとも一つの例に従って、集積回路がプロセッサコアのセットを含み、プロセッサコアのセットの各プロセッサコアは、BIST論理回路要素と、BIST論理回路要素に結合された複数のメモリブロックとを含む。各プロセッサコアは、各電力制御回路要素がプロセッサコアのセットのそれぞれのプロセッサコアに結合される、複数の電力制御回路要素と、各絶縁回路要素がプロセッサコアのセットのそれぞれのプロセッサコアに結合される、複数の絶縁回路要素と、プロセッサコアのセットの各々、複数の電力制御回路要素の各々、及び複数の絶縁回路要素の各々に結合される、内蔵自己修復(BISR)コントローラと、BISRコントローラ、複数の電力制御回路要素、及び複数の絶縁回路要素に結合される、安全コントローラとを更に含む。
【0004】
本開示の少なくとも一つの例に従って、集積回路のBISTメモリテストを実行する方法が、BISRコントローラによって安全コントローラから複数のテスト電力制御シナリオを受け取ることであって、複数のテスト電力制御シナリオが、プロセッサコアのセットのBISTメモリテストに関連し、一つ又は複数のテスト電力制御シナリオをプロセッサコアのセットに適用する階層的順序を含むことと、BISRコントローラによって、一つ又は複数のテスト電力制御シナリオを階層的順序に従ってプロセッサコアのセットに動的に適用することと、プロセッサコアのセットのプロセッサコアによって、プロセッサコアのセットの各々に関連するメモリブロックのBISTメモリテストを実施することと、BISRコントローラによって、メモリブロックのBISTメモリテストの結果をプロセッサコアから受け取ることと、BISRコントローラによって、BISTメモリテストの結果を安全コントローラに送信することとを含む。
【図面の簡単な説明】
【0005】
種々の例の詳細な説明について、ここで添付図面を参照する。
【0006】
図1】種々の例に従った集積回路のブロック図である。
【0007】
図2】種々の例に従った集積回路のシステムテストのためのアーキテクチャの一部のブロック図である。
【0008】
図3】種々の例に従った集積回路のシステムテストを示すフローチャートである。
【0009】
図4】種々の例に従った集積回路の製造テストのためのアーキテクチャの一部のブロック図である。
【0010】
図5】種々の例に従った集積回路の製造テストを示すフローチャートである。
【0011】
図6】種々の例に従ったコンピューティングデバイスのブロック図である。
【発明を実施するための形態】
【0012】
多くの最近のSoCデバイスにおいて、埋め込みメモリリソース(例えば、埋め込みメモリブロック)は、SoCデバイスのチップ面積の大部分を占め、幾つかの例において総チップ面積の70%も占有する。製造技術の継続的改善により、多数の様々な機能ユニットの単一のSoCへの実装が可能になっている。これらの機能ユニットは、しばしば、プログラマブル又はカスタム論理回路要素のブロックと埋め込みメモリブロックの形式であり、一般に、プロセッサコア又は「知的財産コア」(又は短縮形の「IP」)と呼ばれる。
【0013】
SoCは、プロセッサコアの種々の内部及び埋め込み機能に対するBISTテストを実装し、これらの機能の応答をBISTテストから受け取り記録するように命令のセットによってプログラムされた汎用テストコントローラを含み得る。幾つかのBISTテスト技法は、メモリテストアルゴリズム(「BISTプログラム/テストルーチン」)が埋め込みメモリブロックに対して実装される汎用テストコントローラ等の、ハードワイヤード論理をSoCに配置することを含む。テストコントローラは、製造時及びリセット/リブート中の電源投入時にSoCのためのBIST動作又はプログラムルーチンを実行する。テストコントローラは、分析用にBISTデータを送るために用いられるBIST論理回路要素であるBISTデータパスを用いて、BIST動作から取得したデータをエクスポートする。BISTテスト技法は、所望のデータパターンを埋め込みメモリに書き込み、その後、メモリにアドレスして格納されたデータを検索し期待されるデータと比較することを含む、BISTプログラムルーチンの実施を含む。
【0014】
埋め込みメモリの文脈において、内蔵自己修復(BISR)コントローラ(例えば、本明細書に説明される汎用テストコントローラ)等のBISR回路要素が、大規模集積回路において一般的であり、BISTデータパスと冗長論理(ヒューズ等)との間のインタフェースを構成する。BISRコントローラは、メモリブロックに対して実装されたBISTプログラムルーチンの結果に基づいて、埋め込みメモリブロックが修復されるべきであるか否かを判定し、そうであれば、ヒューズを用いて故障したセルの代わりに修復エンティティのマッピングを判定する。BISTデータパスは、SoCの機能であり、テスト対象の埋め込みメモリブロックからのデータをテスト及び検索するための個別の独立したデータパスであり、SoCの通常の動作(プログラムされたアルゴリズムに基づいてSoCにより機能的動作が実施されたとき等)で埋め込みメモリブロックにアクセスするデータパスとは異なる。この点に関して、BISR回路要素は内蔵修復分析(BIRA)論理を含み、内蔵修復分析(BIRA)論理は、修復可能な各メモリに対する障害情報をBIST回路要素から受け取り、冗長分析に従ってそれらの埋め込みメモリブロックに修復エンティティを割り当てる。
【0015】
BISTメモリテストは、製造中又はシステムテスト中(自動車内のSoCの電源オン時又はリブート時等)に、プロセッサコアの埋め込みメモリブロックに対して実施され得るテストである。SoCが現場において自動車に実装されている場合、システムテストは、キーオン時(例えば、SoCの電源オン時のテストモード)に実施されるBISTメモリテストである。製造環境内では、BISTテストは、現場で実装されるメモリテストを複製するように意図されている。例えば、BISTテストにおいて、信号がSoCにおける種々のプロセッサコアに印加され、BISTプログラムルーチンが実装されて障害メモリブロックを識別する。これらの障害ブロックは自動車内の構成要素に関連し得る。より多くのメモリブロックがSoCに付加されるにつれて、製造テスト中のテスト時間の短縮が一つのファクタとなる。テスト時間を短縮するために、SoCに付加的な論理インタフェースが付加されると、それによって、メモリテスト論理を利用するSoCのシリコン面積が大きくなり、同様にBISTテスト中にSoCによって消費される電力が増大する。上述のように、埋め込みメモリブロックはSoCにおけるチップ面積の大部分を占有し、BISTテストの実施の間に消費される電力は、通常の動作の間にSoCの機能が実施/実装された場合の実際の電力よりも高くなり得る。テスト時間の短縮は、BISTテストのために付加的な論理ゲート(例えば、複数のBISTデータパス及びBISRコントローラ)をSoCに付加し得る埋め込みメモリブロックの並列テストを実装することによって実現され得る。しかしながら、並列テストを実装すると、BISTテスト中のテスト電力が増大し得、BISTテストのための付加的な論理ゲートを収容するためにSoCのサイズが増大する可能性がある。また、BISTテストは、テストモードに入るときに瞬時電流(又は高いピーク電力)を引き起こし得、製造中のシリコン損失が大きくなり得る。
【0016】
本明細書に開示されるのは、BISTテスト中にSoCのプロセッサコアのセット内のメモリブロックのテスト電力を測定するためのBISRコントローラを備えて配置されるSoCのためのBISTアーキテクチャの例である。一例において、SoCは、プロセッサコアのセットの各々が独立した電力制御回路要素及び絶縁制御回路要素に結合される分散アーキテクチャを用いて構成される。BISTテストは、一つ又は複数のテスト電力制御シナリオを用いて実装され、各テスト電力制御シナリオは異なるテスト条件を含む。一例において、各テスト電力制御シナリオは、プロセッサコアの期待されるテスト電力測定値を取得するためのテスト条件を用いてプログラムされる。一例において、SoCは、BISTテスト中にテスト電力制御シナリオが実装されている間、安全コントローラからコマンド/信号を受け取り得る、電力制御回路要素及び絶縁制御回路要素を含む。一例において、電力ゲーティング及びクロックゲーティング信号が一つ又は複数のプロセッサコアのメモリブロックに印加されて、プロセッサコアのメモリブロックに対するテスト条件を設定する。一例において、BISTテスト中のテスト条件の粗粒度の調整又は細粒度の調整を実装するために、電力ゲーティング信号及びクロックゲーティング信号が選択的に制御される。幾つかの例において、各テスト電力制御シナリオは、テストされているメモリブロックのアドレス範囲を、(1)電力供給され(例えば、電力を印加する)、クロックされ(例えば、クロック信号を受信する)、メモリブロックがテストされているプロセッサコアを含む、プロセッサコアの第1のサブセットに、(2)電力供給されるがクロックされない(例えば、クロック信号を受信しない)プロセッサコアの第2のサブセットに、及び(3)電源供給されない又はクロックされないプロセッサコアの第3のサブセットにマッピングする。幾つかの例において、テスト電力制御シナリオを適用するためのコマンド/信号が、SoC上の安全コントローラによって送信され得るか又は安全コントローラに結合された外部テスト装置によって安全コントローラに送信され得る。一例において、各テスト電力制御シナリオは、安全コントローラ又はテスト装置にプログラムされ得る。一例において、SoCの分散アーキテクチャは、BISTテスト中に取得されたプロセッサコアの各々からのBISTデータを受け取り分析するために、プロセッサコアのセットの各々がBISRコントローラに結合されている、中央BISTインフラストラクチャに整合されている。BISTテストのために各プロセッサコアに結合された共通BISRコントローラを実装することによって、BISTテストに用いられる付加的なテスト回路要素(例えば、各メモリブロックに対する専用のBISRコントローラ)が不要になるので、SoCのサイズを縮小し得る。また、テスト電力制御シナリオの間及びBISTテストの前にプロセッサコアを選択的に制御することは、SoCのサイズを増加させることなく、SoCの測定テスト電力を低減する。
【0017】
図1は、種々の例に従ったSoC100として構成される集積回路のブロック図である。一例において、SoC100はBISTテストのためのBISTアーキテクチャを含み、複数のプロセッサコア102、104、106、フラッシュ電気的消去可能プログラマブルリードオンリーメモリ(EEPROM)112、113等の不揮発性メモリアレイ、ランダムアクセスメモリ(RAM)114、システムバス116、ダイレクトメモリアクセス(DMA)バス118、BISRコントローラ120、ヒューズリードオンリーメモリ(ROM)コントローラ121、ヒューズROM122、安全コントローラ123、BIST回路要素124、アナログデジタルコンバータ(ADC)コア126、タイマ128、汎用入力/出力(GPIO)インタフェース130、及び外部メモリインタフェース(I/F)132を含む。
【0018】
SoC100は任意の所望の機能のために設計され得、複数のプロセッサコア102~106はその機能を実装し得る。一例において、フラッシュEEPROM112、113、RAM114、BISRコントローラ120、ヒューズROM122、BIST回路要素124、ADCコア126、タイマ128、GPIOインタフェース130、及び外部メモリI/F132は、プロセッサコア102~106に対して及び互いに対してアクセス可能になるように、システムバス116及びDMAバス118を介してプロセッサコア110~106に結合される。一例において、SoC100は、安全コントローラ123、外部自動テスト装置(ATE)、及び/又はBISRコントローラ120から受信される信号/命令を用いてプロセッサコア102~106に対するシステムテスト及び/又は製造テストを実装するように構成される。一例において、安全コントローラ123は、一つ又は複数のテスト電力制御シナリオ/モードの間、一つ又は複数のBISTプログラムルーチンをBISTテストの一部として実装するための命令を送信する。一例において、電力ゲーティング信号及びクロックゲーティング信号は、事前定義された階層的順序でプロセッサコア102~106の埋め込みメモリブロックに印加され、プロセッサコア102~106のメモリブロックに印加される電力及びメモリブロックに印加されるクロックを独立して選択的に制御し、それによって、BISTテスト中にSoC100によって消費されるテスト電力を低減する。
【0019】
一例において、プロセッサコア102~106は、SoC100の最終用途に適した種々のプログラム可能な算術的及び論理的機能を実施する。種々のプロセッサコア102~106の例には、中央処理装置(CPU)、デジタル信号プロセッサ(DSP)、グラフィック処理ユニット(GPU)のような特定のプログラマブルプロセッサ、又は他の特定用途向けの又はカスタマイズされた論理、固定されたシーケンス生成器等が含まれる。この説明の目的として、これらのプロセッサコア102~106の各々が、埋め込みメモリリソース(例えば、埋め込みメモリブロック)M~Mとの組み合わせにおいてプログラマブル又はカスタム論理回路要素のブロックを構成する。この例に従って、プロセッサコア102~106のメモリブロックM~Mは、データ格納のためのRAM、データ又はプログラムされた命令の格納のためのフラッシュ又は他の不揮発性メモリ、又はこれらのメモリタイプの組み合わせとして実現され得る。
【0020】
一例において、BISRコントローラ120は、各プロセッサコア102~106内の論理インタフェースに結合される。一例において、BISRコントローラ120は、それぞれのBISTデータパスBISTa、BISTb、BISTcを介して、プロセッサコア102~106に結合される。一例において、メモリブロックM~Mは、システムバス116又はDMAバス118を介して直接アクセスできるとは限らないが、埋め込みBIST回路要素(例えば、埋め込みBISTデータパス)によってのみテスト可能であり得、対応するBISTデータパスを介してのみ通信し得る。幾つかの例において、埋め込みBISTデータパスは、プロセッサコア102のBISTa、プロセッサコア104のBISTb、及びプロセッサコア106のBISTcを含む。これらのBISTデータパスBISTa、BISTb、及びBISTcは、それを介してBISTデータがBISRコントローラ120又は別のテスト装置/回路要素にエクスポートされる、BISTインタフェースに対応する。一例において、BISTデータは、メモリブロックM~Mに対してそれぞれのプロセッサコア102~106によって実行されるプログラムルーチンに基づいて取得される。一例において、BISTデータパスBISTa、BISTb、BISTcはDMAバス118及びシステムバス116から物理的に分離されており、BISTテスト中にBISTデータをBISRコントローラ120に通信するように構成される。別の例において、BISTデータパスBISTa、BISTb、BISTcは、BISTテスト中(例えば、機能的動作を実行するためにプロセッサコアがアクセス可能ではないとき)にシステムバス116及び/又はDMAバス118の時分割アクセスに基づいて、システムバス116及び/又はDMAバス118を介してBISTデータを通信するように構成される。
【0021】
一例において、BISRコントローラ120は、電力ゲーティング信号及びクロックゲーティング信号が安全コントローラ123又は自動テスト装置に格納された一つ又は複数のテスト電力制御シナリオに従って、安全コントローラ123又は自動テスト装置(図示されない)によって印加されている間、BISTプログラムルーチンを適用する。一例において、各テスト電力制御シナリオは、例えば、階層的順序でのシステムテスト又は製造テストのための、BISTプログラムルーチンとしてBISTテストをプロセッサコア102~106のメモリブロックに適用する前に、プロセッサコアに実装される埋め込みメモリブロックM~Mのためのプログラムされたテスト条件を含む。一例において、各テスト電力制御シナリオは、プロセッサコアを階層的順序でテストする前に適用される異なるテスト条件を含む。一例において、BISRコントローラ120は、それぞれのプロセッサコア102~106内の埋め込みメモリブロックM~Mに対して実行されるBISTプログラムルーチン及び自己テストルーチンの実行から生じるBISTデータをBISTa、BISTb、及びBISTcを介して受け取る。一例において、BISTa、BISTb、及びBISTcの各々は、プロセッサコア102~106内のメモリブロックM~Mの各々の合格/不合格判定のためのBISTプログラムルーチンに基づいてBISTデータを取得し、それを修復分析のためにBISRコントローラ120にエクスポートする。一例において、合格/不合格判定は、メモリブロックの期待される出力に基づいて、メモリブロック内のメモリセルのパラメトリック障害及び/又はランダム欠陥を判定することを含む。BISRコントローラ120は、BISTプログラムルーチンで障害があるビット位置があればそれを示す不合格署名を生成する、プロセッサコア102~106の埋め込みメモリブロックM~Mのための回路要素を含む。BISRコントローラ120は、自己テストプログラムルーチンの結果に基づいて修復が必要か否かを判定し、必要な場合、不合格であったセルの代わりに修復エンティティのマッピングを判定する。一例において、SoC100のBISRコントローラ120は、内蔵修復分析(BIRA)論理を含み得、BIRA論理は、BISTa、BISTb、及びBISTcを介して、修復可能な各メモリに対する障害情報を受け取り、冗長分析アルゴリズムに従ってこれらのメモリブロックのための修復エンティティを割り当てる。冗長割り当ては、その後、その割り当てに従って、ヒューズROM122内の「ヒューズ」を構成するために、ヒューズROMコントローラ121に転送される。
【0022】
一例において、プロセッサコア102~106は、プロセッサコア102~106が、全体として、特定の所望の機能を提供するための集積回路レイアウトに配置され得るという意味において「ポータブル」であり、同じプロセッサコアが異なる全体的なSoCアーキテクチャにおいて用いられ得るという意味において「再利用可能」である。所与のプロセッサコア102、104、106が定義される特定の形式もまた変化し得る。「ソフト」コアは、ハードウェア記述言語又はゲートレベルの「ネットリスト」に従って合成可能なデータの形式であり、「ハード」コアは、低レベルの物理的記述又は実際の集積回路レイアウトとして定義される。一例において、プロセッサコア102~106(例えば、IPコア)は、異なるベンダから提供され得、異なる機能及びBISTアーキテクチャのものであり得、同じ大規模集積回路内にあり得る。
【0023】
他のメモリリソースも、例えば、フラッシュEEPROM112、113、及びRAM114によって示されるように、SoC100内にあり得る。フラッシュEEPROM112、113、及びRAM114の各々は、システムバス116又はDMAバス118を介してアクセス可能である。フラッシュEEPROM112、113、及びRAM114は一体型ブロックとして示されるが、これらのメモリリソースは、一例において、複数のメモリブロックとして実現され得る。種々のメモリセルタイプ及び配置が、フラッシュEEPROM112、113、及びRAM114を実装するために用いられ得る。例えば、RAM114は、スタティックRAM(SRAM)、ダイナミックRAM(DRAM)等によって実現され得る。一例において、フラッシュEEPROM112、113、及びRAM114は、フラッシュメモリ、非フラッシュEEPROMメモリ、マスクプログラマブルROM、ワンタイムプログラマブル(OTP)ROM等として実現され得る。また、メモリリソースの個々の事例が、RAM114に対する単一ポート又は複数ポートを含む、多数のアクセスアーキテクチャの任意の一つを有し得る。
【0024】
一例において、他のBIST回路要素124がSoC100内に提供され得る。一例において、BIST絶縁回路要素124は、プロセッサコア102~106をBISTデータパスBISTa、BISTb、及びBISTcに結合する。一例において、BIST回路要素124は、例えばSoC100の電力投入時に、それら自体の埋め込みBISTデータパス(例えば、プロセッサコア102~106のBISTa、BISTb、及びBISTc以外)を含むそれらの機能の外の回路要素に対する自己テストルーチンを開始及び評価し得る。BISRコントローラ120はまた、フラッシュEEPROM112、113、及び114のコンテンツに対応するデータ、例えば、BIST回路要素124によって実施されるルーチンの結果又は外部の自動テスト装置によって適用されるテストアルゴリズムを含むデータも受け取り得る。付加的に又は代替的に、BISRコントローラ120は、自動テスト装置(図示せず)からコマンド及び期待されるデータを受け取り、それに応答してテスト結果を通信するように、外部インタフェースを有し得る。幾つかの例に従って、BISRコントローラ120は、プロセッサコア102~106内の埋め込みメモリブロック、及びSoC100内の非埋め込みメモリブロックに対して、修復分析を実施するための統一された修復アーキテクチャを含むように構成される。
【0025】
種々の周辺機能もSoC100に提供され得る。一例において、これらの周辺機器には、ADCコア126、タイマ128、及びGPIOインタフェース130が含まれ、各々が、プロセッサコア102~106に対して及び互いに対してアクセス可能になるように、システムバス116及びDMAバス118に結合される。シリアルインタフェース、ネットワークインタフェース、種々の信号処理機能等の他の周辺機器もSoC100に含まれ得る。SoC100はまた、外部メモリI/F132、電力回路要素、及びクロック回路要素及びその他のサポート機能等の他の機能も含む。より一般的な意味において、SoC100のアーキテクチャにおける種々のメモリブロック及び他の機能は、図1に示される配置において物理的に実現されるとは限らないが、代わりに、集積回路内の種々の位置に配置され得る。この点に関して、これらのメモリブロック及び他の機能の複数の事例は、実際には、SoC100全体に物理的及び論理的に分散され得る。SoC100の配置におけるこれら及び他の変形例は、本開示の範囲に含まれる。一例において、SoC100は、各プロセッサコアに結合される単一のBISRコントローラ120を含み、それは、BISTテストを実装するためのSoC100のサイズを縮小し得る。また、BISTテスト中にテスト電力制御シナリオを実装することは、SoCのサイズを増大することなく、SoCの測定テスト電力を低減する。
【0026】
図2は、種々の例に従った複数のプロセッサコアを備えるSoCの分散されたBISTアーキテクチャ200の一部のブロック図である。一例において、BISTアーキテクチャ200は図1のSoC100の一例であるSoC201を含む。一例において、BISTアーキテクチャ200は、一つ又は複数のテスト電力制御シナリオに従ってSoC201に対するシステムテストを実装する。
【0027】
図2に示されるように、SoC201は、CPU202、BISTデータパス203、DSP204、BISTデータパス205、GPU206、BISTデータパス207、グローバルBISTデータパス208、BISRコントローラ210、安全コントローラ212、CPU絶縁回路要素214、DSP絶縁回路要素216、GPU絶縁回路要素218、及びCPU電力制御回路要素220、DSP電力制御回路要素222、GPU電力制御回路要素224、及びユーザインタフェース226を含む。CPU202、DSP204、GPU206は、グローバルBISTデータパス208に結合される。BISRコントローラ210は、CPU202、DSP204、及びGPU206に対して共通であり、グローバルBISTデータパス208を介してCPU202、DSP204、及びGPU206に結合され、安全コントローラ212に結合される。一例において、SoC201は、多様化されたアーキテクチャを用いて構成され、それによって各CPU202、DSP204、GPU206に対する独立した電力制御回路要素及び絶縁制御回路要素がそれぞれのプロセッサコア(例えば、CPU、DSP、GPU等)に結合される。また、多様化されたアーキテクチャは、中央BISTインフラストラクチャに整合され、それによって、CPU202、DSP204、及びGPU206の各々が単一のBISRコントローラ210に結合され、それによってBISRコントローラ210は、BISRコントローラ210がBISTテストを実装する前に安全コントローラ212によって実装されたテスト電力制御シナリオに従って、CPU202、DSP204、GPU206上のBISTデータパスから受け取るBISTデータを受け取り分析する。SoC201はCPU202、DSP204、GPU206を備えて示されているが、設計選択の問題として、付加的なプロセッサコアが提供され得る。
【0028】
一例において、SoC201のプロセッサコアは、各々、埋め込みメモリブロックM~Mと、そのそれぞれのプロセッサコアの埋め込みメモリブロックM~M専用の埋め込みBISTデータパスとを含み得る。一例において、CPU202はBISTデータパス203及び埋め込みメモリブロックM1_CPU~MN_CPUを含み、DSP204はBISTデータパス205及び埋め込みメモリブロックM1_DSP~MN_DSPを含み、GPU206はBISTデータパス207及び埋め込みメモリブロックM1_GPU~MN_GPUを含む。CPU202、DSP204、及びGPU206の埋め込みメモリブロックM~Mの各々は、SoC201に対するシステムテストが実装されるときパラメトリック障害又はランダム欠陥に基づいて障害のあるアドレス可能メモリ位置を交換するために利用可能な冗長メモリ位置/冗長メモリセル(例えば、図1のヒューズROM122)にマッピングされる、複数のアドレス可能メモリ位置を含む。一例において、BISTデータパス203、205、207は、BISTデータが、それぞれ、CPU202、DSP204、GPU206から、BISTデータパス208を介してBISRコントローラ210にエクスポートされるBISTインタフェースに対応する。一例において、CPU202、DSP204、GPU206は、一つ又は複数のテスト電力制御シナリオがBISRコントローラ210によって実行されると、BISTデータをBISRコントローラ210にエクスポートする。
【0029】
一例において、各プロセッサコアは,SoC201を介して分散される絶縁回路要素及び電力制御回路要素に結合される。例えば、CPU202はCPU絶縁回路要素214及びCPU電力制御回路要素220に結合され、DSP204はDSP絶縁回路要素216及びBIST電力制御回路要素222に結合され、GPU206はGPU絶縁回路要素218及びGPU電力制御回路要素224に結合される。一例において、安全コントローラ212は、BISRコントローラ210、CPU絶縁回路要素214、CPU電力制御回路要素220、DSP絶縁回路要素216、DSP電力制御回路要素222、GPU絶縁回路要素218、及びGPU電力制御回路要素224に結合され、BISTメモリテストが安全コントローラ212によって開始されるときに、CPU202、DSP204、及びGPU206に対してテスト条件を設定するためにコマンド/命令をそれぞれの絶縁回路要素及び電力制御回路要素に送信し得る。一例において、ユーザが、BISTメモリテストがユーザインタフェース226によって開始されるときに、テスト電力制御シナリオの一部として、CPU202、DSP204、及びGPU206に対してテスト条件を設定するための命令/信号を、ユーザインタフェース226を介して安全コントローラ212に送信し得る。別の例において、安全コントローラ212が、SoC201の最終用途に応じて、CPU202、DSP204、GPU206に対して機能的動作を実施することに関連する動作ルーチンを実行し得る。
【0030】
一例において、CPU電力制御回路要素220、DSP電力制御回路要素222、及びGPU電力制御回路要素224はSoC201内に分散され、そのそれぞれのプロセッサコア(例えば、CPU202、DSP204、GPU206)の近くに配置される。一例において、安全コントローラ212は細粒度の電力ゲーティング又は粗粒度の電力ゲーティングに対して構成され得る。一例において、CPU電力制御回路要素220、DSP電力制御回路要素222、及びGPU電力制御回路要素224は、BISTテスト中に一つ又は複数のテスト電力制御シナリオに従って、プロセッサコアのメモリブロックに対する電力を印加又は除去するために、制御信号を安全コントローラ212からBISRコントローラ210を介して受信し得る。例えば、安全コントローラ212は、電力ゲーティング信号をCPU電力制御回路要素220、DSP電力制御回路要素222、及びGPU電力制御回路要素224に印加し、それによってCPU電力制御回路要素220、DSP電力制御回路要素222、及びGPU電力制御回路要素224内の電源スイッチをオフにするようにBISRコントローラ210に指示し得る。一例において、安全コントローラ212は、BISTテスト中に粗粒度の電力ゲーティング、又は細粒度の電力ゲーティング、又は細粒度の電力ゲーティング又は粗粒度の電力ゲーティングの組み合わせを実施するようにBISRコントローラ210に指示し得る。一例において、電力ゲーティング信号は、CPU202、DSP204、又はGPU206のメモリブロックに印加される電流を遮断するために、電源スイッチをオフにし得る。一例において、BISTテスト中に、他のメモリブロックが電力ゲーティングされてない間に、プロセッサ内の或るメモリブロックに電力ゲーティング信号が印加され得(例えば、細粒度の電力ゲーティングを実施するために)、その結果、電力ゲーティングされたメモリブロックが電流を受け取らず、電力ゲーティングされていない他のメモリブロックが電流を受け取るようにされ、これによって測定テスト電力(例えば、測定漏れ電力)が減少する。また、一例において、プロセッサコアが、全てのメモリブロックが電流を受け取らないように電力ゲーティングオフにされ、(例えば、粗粒度の電力ゲーティングを実施するために)、別のプロセッサコア内のメモリブロックは電力ゲーティングオフにされない。一例において、粗粒度の電力ゲーティングを適用することは、プロセッサコアの全てのメモリブロックへの電流をオフにし、BISTテスト中のSoC201の測定テスト電力を更に減少させる。
【0031】
動作において、SoC201は、SoC201のプロセッサコアの測定テスト電力(例えば、測定漏れ電力及び測定動的電力)を低減するための一つ又は複数のテスト電力制御シナリオを適用するように構成される。一例において、安全コントローラ212が、CPU202、DSP204、及びGPU206に対する動的電力及び漏れ電力のためのカスタマイズされたテスト電力プロファイルを含む一つ又は複数のプログラムされたテスト電力制御シナリオを格納し得る。一例において、各テスト電力制御シナリオが、安全コントローラ212内にプログラムされ得、BISTテスト中に適用されて、CPU202、DSP204、及びGPU206に対するテスト条件を設定し得る。一例において、各テスト電力制御シナリオは、SoC201内のプロセッサコアの期待されるテスト電力測定値を得るためのテスト条件でプログラムされる。一例において、各テスト電力制御シナリオは、システムテスト又は製造テストがCPU202、DSP204、及びGPU206に対して開始されるとき、又はCPU202、DSP204、及びGPU206の個々のメモリブロックに対して開始されるときに、安全コントローラによって実行され得るソフトウェア命令として格納又はプログラムされ得る。
【0032】
一例において、安全コントローラ212は、CPU202、DSP204、及びGPU206の動的クロックゲーティングを可能にし得、それによって、BISTテスト中に粗粒度のクロックゲーティング、又は細粒度のクロックゲーティング、又は細粒度のクロックゲーティング又は粗粒度のクロックゲーティングの組み合わせが実施され得る。例えば、安全コントローラ212は、クロックゲーティング信号をCPU202、DSP204、及び/又はGPU206に送信し、CPU202、DSP204、及びGPU206に印加されるクロックをオフにするようにBISRコントローラ210に指示し得る。一例において、安全コントローラ212は、各CPU202、DSP204、及びGPU206のBISTデータパス203、205、及び207にクロックゲーティング信号を送信するようにBISRコントローラ210に指示し得る。それによって、それぞれのBISTデータパス203、205、及び207が、プロセッサコア(例えば、CPU202、DSP204、及びGPU206の一つ)のテストされない埋め込みメモリブロックに対するクロック信号をオフにし、一方で、プロセッサコア内の一つ又は複数のテストされるメモリブロックがクロック信号を受け取り得る(例えば、細粒度のクロックゲーティングを実施する)。別の例において、安全コントローラ212は、BISTテスト中に、プロセッサコアの全てのメモリブロックへのクロック信号をオフにするようにBISRコントローラに指示し得る(例えば、粗粒度のクロックゲーティングを実施する)。一例において、細粒度のクロックゲーティングの間、テスト対象の他のメモリブロックは、BISTテスト中にクロック信号を受信し続ける。一例において、安全コントローラ212はテスト対象のメモリブロックの動的クロックゲーティングを可能にし得、それにより、BISRコントローラ210は、テストされるメモリブロックがクロック信号を受信する間、テストされないメモリブロックに、メモリブロックをクロックゲーティングオフする信号を動的に送信するようにBISRコントローラ210に指示し得る。一例において、安全コントローラ212は、プロセッサコアの動的クロックゲーティングを可能にし得、それによって安全コントローラ212は、印加されたクロック信号をオフにするように、埋め込みデータパスをクロックゲーティングすることによって、テスト非対象のプロセッサコアの埋め込みデータパスをオフにするように、BISRコントローラ210に指示し得る。
【0033】
一例において、安全コントローラ212は、細粒度の絶縁又は粗粒度の絶縁に対して構成され得る。一例において、安全コントローラ212は、絶縁制御信号をCPU絶縁回路要素214、DSP絶縁回路要素216、及びGPU絶縁回路要素218に印加し、それによって、絶縁信号を受信するCPU202、DSP204、又はGPU206のメモリブロック内の論理ゲートの出力値/状態を、安全値である論理出力値にするようにBISRコントローラ210に指示する(例えば、BISR絶縁をオンにする)ことによって、プロセッサコア内の他のメモリブロックからメモリブロックを絶縁する(例えば、細粒度の絶縁)か、又は他のプロセッサコアからプロセッサコアを絶縁する(例えば、粗粒度の絶縁)ように構成され得る。一例において、細粒度の絶縁制御の間、安全コントローラ212は、絶縁制御信号をCPU絶縁回路要素214、DSP絶縁回路要素216、又はGPU絶縁回路要素218に送信して、CPU202、DSP204、又はGPU206のテストされないメモリブロックにおける論理ゲートの出力値/状態を、論理出力値(例えば、論理ゼロ値)にするように、BISRコントローラ210に指示し得る。これによって、テストされないメモリブロックはテストされるメモリブロック内の機能挙動をオーバライドしない(例えば、論理ゲートの出力状態に干渉しない)(例えば、「安全値」における出力状態)。一例において、粗粒度の絶縁制御の間、安全コントローラ212は、CPU絶縁回路要素214、DSP絶縁回路要素216、又はGPU絶縁回路要素218に絶縁制御信号を送信するように、BISRコントローラ210に指示し得る。これによって、CPU202、DSP204、又はGPU206の全てのメモリブロック内の論理ゲートの出力値/状態を論理出力値(例えば、論理ゼロ値)にし、これによって、CPU202、DSP204、又はGPU206は、テストされるプロセッサコア(例えば、CPU202、DSP204、又はGPU206)内の論理ゲートの機能挙動をオーバライドしない。一例において、安全コントローラ212は、BISTルーチンを実行するCPU202、DSP204、及びGPU206内のメモリブロックの機能挙動をオーバライドしないように、メモリブロック内の論理ゲートの出力状態が安全値(例えば、論理ゼロ値)であることを確実にするために、テスト非対象の一つ又は複数のプロセッサコア内のメモリブロックのクロックゲーティング及び/又は電力ゲーティングを制御するように、BISRコントローラ210に選択的に指示し得るBISTプログラムルーチンを選択的に実行し得る。また、一例において、各CPU電力制御回路要素220、DSP電力制御回路要素222、及びGPU電力制御回路要素224は、BISTデータパスからプロセッサコア全体を絶縁するために、テストされないプロセッサコア内の埋め込みデータパスにクロックゲーティング信号を印加するために、安全コントローラ212を介してBISRコントローラ210によって選択的に制御され得る。本明細書に開示される例において、SoC201は、各プロセッサコアに結合され、BISTテストを実装するためのSoC100のサイズを縮小し得る、共通のBISRコントローラ210を含む。また、BISTテスト中にテスト電力制御シナリオを実装することは、SoCのサイズを増加させることなくSoCの測定テスト電力を減少させる。
【0034】
図3は、種々の例に従った集積回路に対するテスト方法300を示すフローチャートである。一例において、テスト方法300は、BISTアーキテクチャを用いて集積回路に対するシステムテストを実装し、一例において、図2に示され説明されたSoC201のCPU202、DSP204、及び/又はGPU206を含むBISTアーキテクチャ200である。一例において、テスト方法300は、SoC201のBISTテスト中に一つ又は複数のテスト電力制御シナリオに対応する、SoC201に対してテスト条件を設定する一つ又は複数のテスト電力制御シナリオを用いたSoC201に対するシステムテストを実装する。
【0035】
引き続き図2を参照すると、工程302において、安全コントローラ212は、プロセッサコアに対するBISTテストに従ってシステムテストを実施することを判定し得る。一例において、安全コントローラ212は、安全コントローラ212に格納又はプログラムされたプログラムされた命令に従って、CPU202に対するシステムテストを実施することを判定し得る。一例において、安全コントローラ212は、ユーザインタフェース226を介してプログラムされた命令をユーザから受け取り得る。プログラムされた命令は、安全コントローラ212に、CPU202、DSP204、及びGPU206に対するBISTテストを実施させる一つ又は複数のテスト電力制御シナリオを含み得る。一例において、テスト電力制御シナリオは、CPU202、DSP204、及びGPU206をテストするための階層的順序を識別し得、それによって、安全コントローラは、電力信号、クロック信号、及び絶縁制御信号をプロセッサコアに印加するためにBISRコントローラ210に信号/命令を送信し、その後、BISRコントローラ210はBISTテストに従ってBISTプログラムルーチンを実行して、CPU202の埋め込みメモリブロックをテストする。
【0036】
一例において、安全コントローラ212は、CPU202に対するシステムテストを実施するための命令が受け取られている間、SoC201の機能に関連する動作を実施する機能的命令を実行し得る。一例において、安全コントローラ212は、CPU202、DSP204、及び/又はGPU206に制御信号を送信することによってシステムテストを開始して、CPU202に対するシステムテストを実装し、これによって、クロックゲーティング信号及び電力ゲーティング信号がテストされないプロセッサコア(例えば、DSP204及びGPU206)に印加され、その後、一つ又は複数のBISTプログラムルーチンが実行されて、CPU202のメモリブロック(例えば、テストされるプロセッサコア)をテストする。
【0037】
工程304において、安全コントローラ212は、SoC201に対する第1のテスト電力制御シナリオを設定する。一例において、第1のテスト電力制御シナリオは複数のテスト電力制御シナリオの一つであり得る。一例において、安全コントローラ212は、第1のテスト電力制御シナリオによって特定されるように、電力ゲーティング信号及びクロックゲーティング信号をCPU202、DSP204、及びGPU206に印加し、一つ又は複数のテスト条件をCPU202、DSP204、及びGPU206に設定するようにBISRコントローラ210に指示することによって、CPU202に対する第1のテスト電力制御シナリオを設定し得る。一例において、複数のテストシナリオにおける各テスト電力制御シナリオは、CPU202、DSP204、及びGPU206に対する別のテスト電力制御シナリオとは異なるCPU202、DSP204、及びGPU206に対するテスト条件を含む。一例において、プロセッサコアに印加される電力ゲーティング信号及びクロックゲーティング信号はテストされないプロセッサコア又はテストされないプロセッサコアのメモリブロックへのクロックをオフにし、テストされないプロセッサコア又はテストされないプロセッサコアのメモリブロックのBISR絶縁をオンにし、及び/又はテストされないプロセッサコア又はテストされないプロセッサコアのメモリブロックへの電力をオフにする。
【0038】
一例において、安全コントローラ212は、DSP204のメモリブロック内の論理ゲートが、論理ゲートを出力状態に切り替え得るクロック信号を受信するのを防止するために、DSP204へのクロック信号をオフにする(例えば、DSP204をクロックゲーティングする)クロックゲーティング信号を、グローバルBISTデータパス208を介してBISTデータパス205に送信するように、BISRコントローラ210に指示する。
【0039】
一例において、安全コントローラ212は、GPU206の絶縁をオンにする(例えば、GPU BISR絶縁をオンにする)ために絶縁制御信号をBISTデータパス208を介してGPU絶縁回路要素218に送信するようにBISRコントローラ210に指示し、それにより、GPU206内のメモリブロックM1_GPU~MN_GPUの出力状態/値が安全値になる。
【0040】
一例において、安全コントローラ212は、GPU BISR絶縁をオンにした後に、GPU206への電力をオフにする(例えば、GPU206を電力ゲーティングすることによるGPU206を電力遮断)電力ゲーティング信号をGPU電力制御回路要素224に送信するように、BISRコントローラ210に指示する。一例において、GPU BISR絶縁をオンにした後に、GPU206を電力ゲーティングすることは、GPU206内のメモリブロックの論理ゲートが、過度の漏れ電流(例えば、高い出力値を備える論理ゲートをオフにすることから起こる短絡に起因し得る)を起こすことを防止する。
【0041】
一例において、GPU206を電力ゲーティングした後、安全コントローラ212は、システムテスト中にメモリブロックM1_CPU~MN_CPUの動的クロックゲーティングを実施して、BISTテスト中のテスト電力を低減するように、BISRコントローラ210に指示することによって、CPU202のメモリブロックM1_CPU~MN_CPUのうちの各メモリブロックの細粒度のクロックゲーティングを可能にし得る。
【0042】
工程306において、安全コントローラ212はSoC201上のプロセッサコアのシステムテストをトリガする。一例において、安全コントローラ212は、一つ又は複数のBISTプログラムルーチンに従ってCPU202によって実施されるシステムテストを実行するために、制御コマンド/信号をCPU202に送信するように、BISRコントローラ210をトリガし得る。
【0043】
工程308において、BISRコントローラ210は、プロセッサコア上のメモリブロックに対するメモリテストを実施する。一例において、BISRコントローラ210は、CPU202に格納されCPU202によって実行されるBISTプログラムルーチンに基づいて、CPU202内のメモリブロックM1_CPU~MN_CPUに対する細粒度のシステムテストを実施する。一例において、細粒度のシステムテストの場合、BISRコントローラ210は、テスト対象のメモリブロックがテストされている間、テストされないメモリブロックへのクロック信号をオフにするように、テスト非対象のメモリブロックを動的にクロックゲーティングし得る。BISTプログラムルーチンは、メモリブロックM1_CPU~MN_CPUの期待される出力に基づいて、一つ又は複数のメモリブロックM1_CPU~MN_CPUがパラメトリック障害又はランダム欠陥を有しているか否かを判定するため、メモリブロックM1_CPU~MN_CPUを順次テストするために種々の動作(例えば、書き込み及び読み出し)を実施することを含む。
【0044】
工程310において、BISRコントローラ210は合格/不合格判定を安全コントローラ212に送信する。一例において、BISRコントローラ210は、BISTデータパス203を介して受け取るBISTデータに基づいてCPU202の各メモリブロックM1_CPU~MN_CPU内の一つ又は複数のセルの合格/不合格判定を含む、BISTテストの結果を取得する。一例において、BISRコントローラ210は、合格/不合格判定をBISTデータパス208を介して安全コントローラ212に送信する。
【0045】
工程312において、安全コントローラ212はSoC201の機能的動作を実施する準備ができている。一例において、安全コントローラ212は、CPU202からBISTデータが受け取られた後、BISTデータパス(例えば、BISTデータパス208及びBISTデータパス203)内の論理ゲートをリセット/クリアするためにコマンド/信号をBISRコントローラ210に送信する。一例において、BISTデータパス203及び208をリセットした後、安全コントローラ212は、SoC201の機能に関連する任意の所望の動作のための機能的命令を実行する準備ができている。
【0046】
工程314において、安全コントローラ212は、例えばDSP204等の、SoC201の別のプロセッサコアに対するシステムテストを実施することを判定し得る。一例において、安全コントローラ212は、ユーザインタフェース226を介してプログラムされた命令をユーザから受け取り得る。一例において、安全コントローラ212が、CPU202のメモリブロックに対するシステムテストが完了した後に命令/信号をBISRコントローラ210に送信し得るか、又は、ユーザが、安全コントローラ212にDSP204に対するシステムテストを開始させる命令/信号をユーザインタフェース226を介して安全コントローラ212に送信し得る。一例において、安全コントローラ212、又はユーザインタフェース226を介してユーザが、安全コントローラ212内に格納又はプログラムされた又はユーザによって送信されたプログラムされた命令に従って、DSP204に対するシステムテストを実施することを判定し得る。プログラムされた命令は、安全コントローラ212にDSP204に対するBISTテストを実施させる、一つ又は複数のテスト電力制御シナリオを含み得る。一例において、テスト電力制御シナリオは階層的順序を識別し得、それにより、電力信号、クロック信号、及び絶縁制御信号がBISRコントローラ210によってプロセッサコアに印加され、その後、BISRコントローラ210が、DSP204の埋め込みメモリブロックをテストするためのBISTテストに従って、BISTプログラムルーチンを実行する。一例において、SoC201がオンにされている(例えば、電力及びクロック信号を受信している)間、及びCPU202、DSP204、及びGPU206が、SoC201の機能に関連する機能的動作を実施するための機能的命令を実行している間、安全コントローラ212は、テスト実行信号をBISRコントローラ210に送信し得る。
【0047】
工程316において、安全コントローラ212は、SoC201のDSP204に対する第2のテスト電力制御シナリオを設定する。一例において、安全コントローラ212は、CPU202に対する第1のテスト電力制御シナリオとは異なる一つ又は複数のテスト条件をCPU202、DSP204、及びGPU206に対して設定する電力ゲーティング信号及びクロックゲーティング信号をCPU202、DSP204、及びGPU206に印加するようにBISRコントローラ210に指示することによって、DSP204に対するテスト電力制御シナリオを設定し得る。一例において、安全コントローラ212は、テストされないプロセッサコアに対する又はテストされないプロセッサコアのメモリブロックに対するクロックをオフにするクロックゲーティング信号と、テストされないプロセッサコアの又はテストされないプロセッサコアのメモリブロックのBISR絶縁をオンにする絶縁制御信号と、テストされないプロセッサコア又はテストされないプロセッサコアのメモリブロックに対する電力をオフにする電力ゲーティング信号とをBISTデータパス208を介してプロセッサコアに送信するように、BISRコントローラ210に指示し得る。
【0048】
一例において、安全コントローラ212は、CPU202のメモリブロック内の論理ゲートが出力状態を切り替えることを防止するために、CPU202へのクロック信号をオフにする(例えば、CPU202をクロックゲーティングする)クロックゲーティング信号を、BISTデータパス208を介してBISTデータパス203に送信するように、BISRコントローラ210に指示し得る。
【0049】
一例において、安全コントローラ212は、GPU206のBISR絶縁をオンにする(例えば、GPU BISR絶縁をオンにする)絶縁制御信号を、BISTデータパス208を介してGPU絶縁回路要素218に送るように、BISRコントローラ210に指示し得る。
【0050】
一例において、安全コントローラ212は、GPU BISR絶縁をオンにした後、GPU206への電力をオフにする電力ゲーティング信号をGPU電力制御回路要素224(例えば、GPU206の電力遮断)に送信するように、BISRコントローラ210に指示し得る。一例において、GPU BISR絶縁をオンにした後にGPU206を電力ゲーティングすることは、過度の漏れ電流に起因する短絡を防止する。
【0051】
一例において、GPU206を電力ゲーティングした後、安全コントローラ212は、システムテスト中に、メモリブロックM1_DSP~MN_DSPの動的クロックゲーティングを実施するようにBISRコントローラ210に指示することによって、DSP204のメモリブロックに対する細粒度のクロックゲーティングを可能にし得る。
【0052】
工程318において、安全コントローラ212はSoC201上のプロセッサコアのシステムテストをトリガする。一例において、安全コントローラ212は、コマンド/信号をBISRコントローラ210に送ることによって一つ又は複数のBISTプログラムルーチンに従ってDSP204に対するシステムテストを実行するように、DSP204にコマンドを送信するためにBISRコントローラ210をトリガし得る。
【0053】
工程320において、BISRコントローラ210は、プロセッサコア上のメモリブロックに対するメモリテストを実施する。一例において、BISRコントローラ210は、DSP204に格納されDSP204によって実行されるBISTプログラムルーチンに基づいて、DSP204内のメモリブロックM1_DSP~MN_DSPに対する細粒度のシステムテストを実施する。一例において、細粒度のシステムテストの場合、BISRコントローラ210は、テスト対象のメモリブロックがテストされている間、テストされないメモリブロックに対するクロック信号をオフにするように、テスト非対象のメモリブロックを動的にクロックゲーティングし得る。BISTプログラムルーチンは、メモリブロックM1_DSP~MN_DSPの期待される出力に基づいて、一つ又は複数のメモリブロックM1_DSP~MN_DSPがパラメトリック障害及び/又はランダム欠陥を有するか否かを判定するため、メモリブロックM1_DSP~MN_DSPを順次テストするために種々の動作(例えば、書き込み及び読み出し)を実施することを含む。
【0054】
工程322において、BISRコントローラ210は合格/不合格判定を安全コントローラ212に送信する。一例において、BISRコントローラ210は、BISTデータパス205を介して受け取られたBISTデータに基づいて、DSP204内のメモリブロックM1_DSP~MN_DSPの各々に対する合格/不合格判定を取得する。一例において、BISRコントローラ210は、合格/不合格判定をBISTデータパス208を介して安全コントローラ212に送信する。
【0055】
工程324において、安全コントローラ212はSoC201の機能的動作を実施する準備ができている。一例において、安全コントローラ212は、DSP204からBISTデータが受け取られた後、BISTデータパス(例えば、BISTデータパス208及びBISTデータパス205)内の論理ゲートをリセット/クリアするために、コマンド/信号をBISRコントローラ210に送信する。一例において、BISTデータパス205及び208をリセットした後、安全コントローラ212はSoC201の機能に関連する任意の所望の機能に対する機能的命令を実行する準備ができている。
【0056】
図4は、別の例に従った複数のプロセッサコアを備えるSoCの分散BISTアーキテクチャ400の一部のブロック図である。一例において、BISTアーキテクチャ400は、BISTアーキテクチャ200と実質的に同じ構成要素を備えるSoC402を含むが、安全コントローラ212の代わりにテスト装置426を含む。動作において、テスト装置426は、BISRコントローラ210に結合されており、BISTメモリテストがテスト装置426によって開始され、BISRコントローラ210によって実施されるときに、CPU202、DSP204、及びGPU206に対するテスト条件を設定するための事前定義された階層的な方式で、BISRコントローラ210を介して命令/信号をそれぞれのプロセッサコア(例えば、CPU202、DSP204、及びGPU206)に送信し得る。一例において、テスト装置426は、BISTメモリテストがテスト装置426によって開始されたときに、それぞれのプロセッサコアCPU202、DSP204、及びGPU206のメモリブロックに印加される電力を独立して制御するために、電力ゲーティング信号をCPU電力制御回路要素220、DSP電力制御回路要素222、及びGPU電力制御回路要素224に送信し得る。また、別の例において、テスト装置426は、BISTメモリテストがテスト装置426によって開始されたときに各プロセッサコアCPU202、DSP204、及びGPU206のメモリブロックに印加されるクロック信号を独立して制御するために、独立したクロックゲーティング信号をBISTデータパス203、205、207に送信し得る。一例において、SoC402は、各プロセッサコアに結合され、BISTテストを実装するためのSoC402のサイズを縮小し得る、共通のBISRコントローラ210を含む。また、テスト装置はBISTテスト中にテスト電力制御シナリオを適用し得、それにより、SoC402のサイズを増大させることなくSoC402の測定テスト電力が低減される。
【0057】
図5は、種々の例に従った集積回路に対するテスト方法500を示すフローチャートである。一例において、テスト方法500は、BISTアーキテクチャを用いた集積回路に対する製造テストの実施を示し、BISTアーキテクチャは、一例において、図4に示されたSoC402のCPU202、DSP204、及びGPU206を含むBISTアーキテクチャ400である。一例において、テスト方法500は、SoC402のBISTテスト中に、BISRコントローラ210によって、SoC402に対するテスト条件を設定する一つ又は複数のテスト電力制御シナリオを用いて実装される。
【0058】
図4を引き続き参照すると、工程502において、SoC402は、デフォルトコアがアクティブで電力オンにされる。デフォルトコアは、一例においてCPU202であるが、他のプロセッサコアがデフォルトコアであるとして構成されてもよい。一例において、DSP204及びGPU206がアクティブでない(例えば、機能的動作を実施していない)間、CPU202が機能的動作を実施する命令を実行する状態でSoC402が電力オンにされる。
【0059】
工程504において、テスト装置426はデフォルトプロセッサコアに対する製造テストを開始する。一例において、テスト装置426は、CPU202に対する製造テストを実施し、それによって、テスト装置426はSoC402に対するBISTテストを実装するためのテスト条件を設定するための命令を実行する。
【0060】
工程506において、テスト装置426は、SoC402のデフォルトプロセッサコアに対する第1のテスト電力制御シナリオを設定する。一例において、テスト装置426は、電力ゲーティング信号及びクロックゲーティング信号を、BISRコントローラ210を介してCPU202、DSP204、及びGPU206のメモリブロックに印加することによって、CPU202(例えば、デフォルトプロセッサコア)に対してテスト電力制御シナリオを設定し、それによって一つ又は複数のテスト条件をCPU202、DSP204、及びGPU206のメモリブロックに対して設定する。
【0061】
一例において、テスト装置426は、絶縁信号を受信するDSP204のメモリブロック内の論理ゲートの出力値/状態を、安全値である論理出力値にする(例えば、DSP BISR絶縁をオンにする)絶縁制御信号をDSP絶縁回路要素216に送信するように、及び、電力がDSP204に印加されるときに、DSP204のメモリブロック内の論理ゲートが出力状態を切り替えることを防止するように、BISRコントローラ210に指示する。
【0062】
一例において、テスト装置426は、DSP BISR絶縁をオンにした後、DSP204のメモリブロックへ印加される電力をオフにするために電力ゲーティング信号をDSP電力制御回路要素222に送信するように、BISRコントローラ210に指示する。
【0063】
一例において、テスト装置426は、GPU206のBISR絶縁をオンにする(例えば、GPU BISR絶縁をオンにする)ために、絶縁制御信号をBISTデータパス208を介してGPU絶縁回路要素218に送信するように、BISRコントローラ210に指示する。これによって、GPU206のメモリブロック内の論理ゲートの出力状態は安全値になり、GPU BISR絶縁の後、DSP204から電力が除去されるときに、漏れ電流が増加しない。
【0064】
一例において、テスト装置426は、GPU BISR絶縁をオンにした後、GPU206のメモリブロックに印加される電力をオフにするために、電力ゲーティング信号をGPU電力制御回路要素224に送信するようにBISRコントローラ210に指示する。
【0065】
工程508において、テスト装置426は、テスト電力制御シナリオにおいてSoC402を再開する。一例において、テスト装置426は、テスト電力制御シナリオを用いてプロセッサコアを再開させるために、コマンド/信号をCPU202、DSP204、及びGPU206に送信する。
【0066】
工程510において、テスト装置426は、SoC402上のデフォルトプロセッサコアの製造テストをトリガする命令を送る。一例において、安全コントローラ212は、コマンド/信号をBISRコントローラ210に送信することによって、一つ又は複数のBISTプログラムルーチンに従って製造テストを実行するために、制御コマンドをCPU202に送信するようにBISRコントローラ210に指示し得る。
【0067】
工程512において、BISRコントローラ210は、デフォルトプロセッサコアのメモリブロックに対する製造テストを実施する。一例において、BISRコントローラ210は、CPU202に格納されCPU202によって実行されるBISTプログラムルーチンに基づいて、CPU202内のメモリブロックM1_CPU~MN_CPUに対する細粒度の製造テストを実施する。一例において、細粒度のシステムテストの場合、BISRコントローラ210は、テスト対象のメモリブロックが一つ又は複数のBISTプログラムルーチンを介してテストされている間、テストされないメモリブロックへのクロック信号をオフにするように、テスト非対象のメモリブロックを動的にクロックゲーティングし得る。BISTプログラムルーチンは、メモリブロックM1_CPU~MN_CPUの期待される出力に基づいて一つ又は複数のメモリブロックM1_CPU~MN_CPUがパラメトリック障害又はランダム欠陥を有するか否かを判定するため、メモリブロックM1_CPU~MN_CPUを順次テストするために種々の動作(例えば、書き込み及び読み出し)を実施することを含む。
【0068】
工程514において、BISRコントローラ210は、合格/不合格判定をテスト装置426に送信する。一例において、BISRコントローラ210は、メモリブロックM1_CPU~MN_CPUに対するBISTデータに基づいて、CPU202の各メモリブロックM1_CPU~MN_CPUに対する合格/不合格判定を、BISTデータパス203及び208を介して取得する。一例において、BISRコントローラ210は、合格/不合格判定をBISTデータパス208を介してテスト装置426に送信する。
【0069】
工程516において、テスト装置426は第2のプロセッサコアに対する製造テストを開始する。一例において、テスト装置426は、DSP204のBISTテストを実装するための命令を送信することによって、DSP204に対する製造テストを実施する。
【0070】
工程518において、テスト装置426は、SoC402のDSP204に対する第2のテスト電力制御シナリオを設定する。
【0071】
一例において、テスト装置426は、CPU202のメモリブロック内の論理ゲートが出力状態を切り替えることを防止するために、CPU202へのクロック信号をオフにする(例えば、CPU202をクロックゲーティングする)クロックゲーティング信号をBISTデータパス208を介してBISTデータパス203に印加するようにBISRコントローラ210に指示することによって、DSP204に対する第2のテスト電力制御シナリオを設定し得る。
【0072】
一例において、テスト装置426は、DSP204へのBISR絶縁をオフにする(例えば、DSP BISR絶縁をオフにする)絶縁制御信号をBISTデータパス208を介してDSP絶縁回路要素216に送信するようにBISRコントローラ210に指示し、これによって、DSP204上の論理ゲートは任意の出力値/状態になり得る。
【0073】
一例において、テスト装置426は、DSP BISR絶縁をオフにした後、DSP204へ印加される電力をオンにする電力制御信号をDSP電力制御回路要素222に送信するようにBISRコントローラ210に指示する。
【0074】
一例において、テスト装置426は、絶縁信号を受信するGPU206のメモリブロック内の論理ゲートの出力値/状態を安全値である論理出力値にする(例えば、GPU BISR絶縁をオンにする)ように、BISTデータパス208を介してGPU絶縁回路要素218に絶縁制御信号を送信するようにBISRコントローラ210に指示する。
【0075】
一例において、テスト装置426は、GPU BISR絶縁をオンにした後、GPU206のメモリブロックに印加される電力をオフにするために、電力ゲーティング信号をGPU電力制御回路要素224に送信するようにBISRコントローラ210に指示する。
【0076】
一例において、GPU206を電力ゲーティングした後、テスト装置426は、製造テストが実施されるときに各メモリブロック内の一つ又は複数のメモリセルの合格/不合格判定を取得するために、メモリブロックM1_DSP~MN_DSP内の各メモリブロックの動的クロックゲーティングを実施するようにBISRコントローラ210に指示することによって、DSP204のメモリブロックM1_DSP~MN_DSPに対する細粒度のクロックゲーティングを可能にし得る。
【0077】
工程520において、テスト装置426はSoC201の第2のプロセッサコアの製造テストをトリガする。一例において、テスト装置426は、BISRコントローラ210にコマンド/信号を送信することによって一つ又は複数のBISTプログラムルーチンに従った細粒度の調整を用いてDSP204のメモリブロックに対する製造テストを実行するためにDSP204に制御コマンドを送信するように、BISRコントローラ210をトリガし得る。
【0078】
工程522において、BISRコントローラ210は第2のプロセッサコアのメモリブロックに対する製造テストを実施する。一例において、BISRコントローラ210は、DSP204に格納されDSP204によって実行されるBISTプログラムルーチンに基づいて、DSP204内のメモリブロックM1_DSP~MN_DSPに対する細粒度の製造テストを実施する。一例において、細粒度のシステムテストの場合、テスト装置426は、テスト対象のメモリブロックが一つ又は複数のBISTプログラムルーチンを介してテストされている間、テストされないメモリブロックへのクロック信号をオフにするように、テスト非対象のメモリブロックを動的にクロックゲーティングし得る。BISTプログラムルーチンは、メモリブロックM1_DSP~MN_DSPの期待される出力に基づいて、一つ又は複数のメモリブロックM1_DSP~MN_DSPがパラメトリック障害又はランダム欠陥を有するか否かを判定するため、メモリブロックM1_DSP~MN_DSPを順次テストするために種々の動作(例えば、書き込み及び読み出し)を実施することを含む。
【0079】
工程524において、BISRコントローラ210は合格/不合格判定をテスト装置426に送信する。一例において、BISRコントローラ210は、メモリブロックM1_DSP~MN_DSPに対するBISTデータに基づいてDSP204の各メモリブロックM1_DSP~MN_DSPに対する合格/不合格判定をBISTデータパス203及び208を介して取得し、合格/不合格判定をテスト装置426に送信する。
【0080】
工程526において、テスト装置426は第3のプロセッサコアに対する製造テストを開始する。一例において、テスト装置426は、GPU206に対する製造テストを実施し、それによって、テスト装置426はGPU206のBISTテストを実装するための命令を実行する。
【0081】
工程528において、テスト装置426は、SoC402のGPU206に対する第3のテスト電力制御シナリオを設定する。一例において、テスト装置は、GPU BISR絶縁をオフにする絶縁制御信号をBISTデータパス208を介してGPU絶縁回路要素218に印加するようにBISRコントローラ210に指示することによって、GPU206に対する第3のテスト電力制御シナリオを設定し得る。
【0082】
一例において、テスト装置426は、GPU BISR絶縁をオフにした後、GPU206に印加される電力をオンにする電力制御信号をGPU電力制御回路要素224に送信するようにBISRコントローラ210に指示する。
【0083】
一例において、テスト装置426は、CPU202に印加されるクロック信号をオフにする(例えば、CPU202をクロックゲーティングする)クロックゲーティング信号をBISTデータパス208を介してBISTデータパス203に送信するようにBISRコントローラ210に指示する。
【0084】
一例において、テスト装置426は、DSP BISR絶縁をオンにする絶縁制御信号をDSP絶縁回路要素216に送信するようにBISRコントローラ210に指示する。
【0085】
一例において、テスト装置426は、DSP BISR絶縁をオンにした後、DSP204のメモリブロックに印加される電力をオフにする電力ゲーティング信号をDSP電力制御回路要素222に送信するようにBISRコントローラ210に指示する。
【0086】
一例において、DSP204を電力ゲーティングした後、テスト装置426は、メモリブロックM1_GPU~MN_GPU内の各メモリブロックの動的クロックゲーティングを実施し、システムテスト中に各メモリブロックの合格/不合格判定を取得するようにBISRコントローラ210に指示することによって、GPU206のメモリブロックM1_GPU-MN_GPUに対する細粒度のクロックゲーティングを可能にし得、それにより、BISTテスト中のテスト電力が低減される。
【0087】
工程530において、テスト装置426はSoC402の第3のプロセッサコアの製造テストをトリガする。一例において、テスト装置426は、コマンド/信号をBISRコントローラ210に送信することによって一つ又は複数のBISTプログラムルーチンに従って製造テストを実行するために制御コマンドをGPU206に送信するように、BISRコントローラ210をトリガし得る。
【0088】
工程532において、BISRコントローラ210は、第3のプロセッサコアのメモリブロックに対する製造テストを実施する。一例において、BISRコントローラ210は、GPU206に格納されGPU206によって実行されるBISTプログラムルーチンに基づいて、GPU206内のメモリブロックM1_GPU~MN_GPUに対する細粒度の製造テストを実施する。一例において、細粒度のシステムテストの場合、テスト装置426は、M1_GPU~MN_GPU内のテスト対象のメモリブロックが一つ又は複数のBISTプログラムルーチンを介してテストされている間、テストされないメモリブロックへのクロック信号をオフにするように、M1_GPU~MN_GPU内のテスト非対象のメモリブロックを動的にクロックゲーティングし得る。BISTプログラムルーチンは、メモリブロックM1_GPU~MN_GPUの期待される出力に基づいて、一つ又は複数のメモリブロックM1_GPU~MN_GPUがパラメトリック障害又はランダム欠陥を有するか否かを判定するため、メモリブロックM1_DSP~MN_DSPを順次テストするために種々の動作(例えば、書き込み及び読み出し)を実施することを含む。
【0089】
工程534において、BISRコントローラ210は合格/不合格判定をテスト装置426に送信する。一例において、BISRコントローラ210は、GPU206の各メモリブロックM1_GPU~MN_GPUに対するBISTデータをBISTデータパス203及び208を介して受け取り、BISTデータを用いてメモリブロックM1_GPU~MN_GPUに対する合格/不合格判定を取得する。一例において、BISRコントローラ210は合格/不合格判定をテスト装置426に送信する。
【0090】
図6は、種々の例に従ったコンピューティングデバイス600のブロック図である。例えば、コンピューティングデバイス600は、自動車602等のシステム、又は情報を処理するように動作可能な任意のタイプの電子システムであるか又はそのようなシステムに組み込まれるか又は結合される(例えば、接続される)。幾つかの例において、コンピューティングデバイス600は、SoC610、中央処理装置(CPU)612、ストレージ614(例えば、ランダムアクセスメモリ(RAM))、電源616、入出力(I/O)ポート618、ユーザインタフェース(UI)620、ディスプレイ622、及びネットワークデバイス624を含む。
【0091】
幾つかの例において、SoC610は、図1において説明されたSoC100であり、SoC610の埋め込みメモリブロックに対するテスト電力制御シナリオを実装するようにプログラムされ得る。
【0092】
幾つかの例において、CPU612は、CISC型(複合命令セットコンピュータ)CPU、RISC型(縮小命令セットコンピュータ)CPU、MCU型(マイクロコントローラユニット)、又はデジタル信号プロセッサ(DSP)である。CPU612は一つ又は複数のプロセッサコアを含む。一つ又は複数のプロセッサコアは、一つ又は複数のプロセッサを特別な目的の機械に変換するため又はコンピューティングデバイス600内の他の構成要素の機能を改善するためのコードを実行して、一つ又は複数の他のプロセッサコアに対して同様の動作を実施することなく所望の出力を提供するように配置される。CPU612は、ストレージ614から頻繁にアクセスされる情報を格納するメモリ及び論理を含む。
【0093】
幾つかの例において、ストレージ614は、オンプロセッサキャッシュ、オフプロセッサキャッシュ、RAM、フラッシュメモリ、又はディスクストレージ等のメモリであり、CPU612によって実行されると、コンピューティングデバイス600に関連する本明細書で説明される機能を実施する一つ又は複数のソフトウェアアプリケーション626(例えば、埋め込みアプリケーション)を格納するためのものである。
【0094】
一例において、ユーザがUI620を用いてコンピューティングデバイス600を制御する。一例において、ソフトウェアアプリケーション626を実行する間、ユーザが、UI620を介してコンピューティングデバイス600に入力を提供し、コンピューティングデバイス600から出力を受け取る。幾つかの例において、出力は、ディスプレイ622、インジケータライト、スピーカ、振動等を介して提供される。入力は、オーディオ及び/又はビデオ入力(例えば、音声又は画像認識を用いて)、及びキーパッド、スイッチ、近接検出器、ジャイロ、加速度計等の電子的及び/又は機械的デバイスを用いて受け取られる。
【0095】
CPU612及び電源616はI/Oポート618に結合される。一例において、I/Oポート618は、ネットワークデバイス624から入力を受け取る(及び/又は、ネットワークデバイス624に出力を提供する)ように構成されるインタフェースを提供する。ネットワークデバイス624は、コンピューティングデバイス600とのポイントツーポイント通信及び/又はネットワーク通信が可能な任意のデバイス(テスト装置を含む)を含み得る。コンピューティングデバイス600は、しばしば、有形の非一時的媒体(フラッシュメモリ等)及び/又は有線又は無線媒体を含む、周辺機器及び/又はコンピューティングデバイスに結合される。これら及び他の入出力デバイスは、無線又は有線接続を用いて外部デバイスによってコンピューティングデバイス600に選択的に結合される。ストレージ614は、例えば、ネットワークデバイス624によってアクセス可能である。CPU612、ストレージ614、及び電源616はまた、電力源(バッテリ、太陽電池、「ライブ」電力コード、誘導電界、燃料電池、キャパシタ、等)から電力を受け取るように構成された外部電源(図示せず)に任意選択的に結合される。
【0096】
一例において、電源616は、コンピューティングデバイス600と同じ物理アセンブリ内にあるか又はコンピューティングデバイス600に結合される。図6には示されていないが、電源616は電力生成構成要素を含む。電力生成構成要素は一つ又は複数の電力スイッチを含む。スイッチの各々は、電力を種々の節電モードで供給するように電力を生成するために独立して制御され、それによって、選択された節電モード、及び特定の電力ドメイン内に配置された種々の構成要素に従って、これらの電力スイッチによって個々の電圧が供給される(及び/又はオフにされる)。
【0097】
用語「結合する」が本明細書全体を通して用いられている。この用語は、本明細書の説明と一貫する機能的関係を可能にする接続、通信、又は信号経路を網羅し得る。例えば、デバイスAが、或る行為を実施するよう制御デバイスBを制御するための信号を生成する場合、第1の例では、デバイスAがデバイスBに結合され、第2の例では、デバイスAが、介在構成要素Cを介してデバイスBに結合され、ただし、その場合、デバイスAによって生成された制御信号を介してデバイスBがデバイスAによって制御されるように、介在構成要素Cが、デバイスAとデバイスBとの間の機能的関係を実質的に変更しない。
【0098】
或るタスク又は機能を実施するように「構成された」デバイスは、製造時に製造者によってその機能を実施するように構成され得(例えば、プログラミング及び/又はハードワイヤされる)、或いは、製造後にユーザによりそういった機能及び/又は他の付加的な又は代替的な機能を実施するように構成可能(又は再構成可能)であり得る。こういった構成は、デバイスのファームウェア及び/又はソフトウェアプログラミングを介してもよく、又はハードウェア構成要素の構成及び/又はレイアウトを介してもよく、デバイスの相互接続を介してもよく、又はそれらの組み合わせを介してもよい。
【0099】
或る構成要素を含むと説明される回路又はデバイスは、代わりに、それらの構成要素に結合されるように適合されて、説明された回路要素又はデバイスを形成してもよい。例えば、一つ又は複数の半導体要素(トランジスタ等)、一つ又は複数の受動要素(抵抗器、キャパシタ、及び/又はインダクタ等)、及び/又は一つ又は複数の供給源(電圧及び/又は電流電源等)を含むとして説明される構造が、代わりに、単一の物理デバイス(例えば、半導体ダイ及び/又は集積回路(IC)パッケージ)内に半導体要素のみを含んでもよく、受動要素及び/又は供給源の少なくとも幾つかに結合されるように適合されてもよく、そのため、製造時又は製造時以降の時点のいずれかで、例えば、エンドユーザ及び/又は第三者によって、説明された構造を形成する。或る構成要素は、本明細書において、特定のプロセス技術のものであるとして説明されているが、これらの構成要素は、他のプロセス技術の構成要素と交換可能であり得る。本明細書で説明される回路は、交換された構成要素を含むように再構成可能であり、構成要素の交換の前に利用可能であった機能性と少なくとも部分的に類似した機能性を提供し得る。
図1
図2
図3
図4
図5
図6
【外国語明細書】