(57)【要約】  一般にシステム・オン・チップ（２００）に関する機器が開示される。この機器では、システム・オン・チップ（２００）は、少なくとも１つのアナログブロック（２０１）と、入力／出力インターフェイス（２２１）と、データテストブロック（２０９）と、処理部（２３０）とを有する。処理部（２３０）は、少なくとも１つのアナログブロック（２０１）へのアクセスを制御するために入力／出力インターフェイス（２２１）に結合される。データテストブロック（２０９）は、入力／出力インターフェイス（２２１）を通して少なくとも１つのアナログブロック（２０１）に結合される。処理部（２３０）はデータテストブロック（２０９）に結合され、少なくとも１つのテストパターンを有するテストコードを実行するように構成されている。処理部（２３０）によって実行されるテストコードの制御下にあるデータテストブロック（２０９）は、テストパターンを用いて少なくとも１つのアナログブロック（２０１）をテストするように構成されている。
2016519358.tif 000002
【特許請求の範囲】
【請求項１】
機器であって、
少なくとも１つのアナログブロックと、入力／出力インターフェイスと、データテストブロックと、処理部とを有するシステム・オン・チップを含み、
処理部は、少なくとも１つのアナログブロックへのアクセスを制御するために入力／出力インターフェイスに結合され、
データテストブロックは、入力／出力インターフェイスを通して少なくとも１つのアナログブロックに結合され、
処理部はデータテストブロックに結合され、少なくとも１つのテストパターンを有するテストコードを実行するように構成されており、
処理部によって実行されるテストコードの制御下にあるデータテストブロックは、テストパターンを用いて少なくとも１つのアナログブロックをテストするように構成されている、機器。
【請求項２】
データテストブロックは、入力制御レジスタと、出力取込レジスタと、テストパターン生成器と、テストパターンチェッカーとを含む、請求項１に記載の機器。
【請求項３】
テストパターン生成器は、線形フィードバックシフトレジスタ兼疑似乱数ビットシーケンス生成器を含む、請求項２に記載の機器。
【請求項４】
テストパターンチェッカーは、線形フィードバックシフトレジスタ兼疑似乱数ビットシーケンスチェッカーを含む、請求項２に記載の機器。
【請求項５】
入力制御レジスタおよび出力取込レジスタは、テストコードの制御下で処理部を介してアクセス可能である、請求項２〜４のいずれかに記載の機器。
【請求項６】
入力制御レジスタは、テストパターンに応答して、テストパターン生成器によるテストパターン生成を制御するためのものであり、
出力取込レジスタは、テストパターンに応答して、テストパターンチェッカーによって判断されたデータシーケンスおよびデータエラーを取込むためのものであり、
テストパターンは、テストパターンチェッカーへのループバックのために、テストパターン生成器の制御下で少なくとも１つのアナログブロックに提供され、
少なくとも１つのアナログブロックは、少なくとも１つの並直列変換器／直並列変換器である、請求項２〜５のいずれかに記載の機器。
【請求項７】
入力／出力インターフェイスを通して少なくとも１つのアナログブロックに結合されたリンクテストブロックをさらに含み、
リンクテストブロックは、構成コントローラと、ステータスモニターと、ビットエラーレートテスターと、アイスキャンコントローラと、テストインターフェイスとを含む、請求項１〜６のいずれかに記載の機器。
【請求項８】
リンクテストブロックは、少なくとも１つのアナログブロックの動作パラメータをその動作中に調節するために、テストインタフェースを介して別個に制御可能であり、
少なくとも１つのアナログブロックは、少なくとも１つの並直列変換器／直並列変換器である、請求項７に記載の機器。
【請求項９】
ビットエラーレートテスターは、テストパターンを使用してビットエラーレートを判断するように構成され、
テストインターフェイスは、テストパターンをビットエラーレートテスターに提供するために結合されている、請求項７または請求項８に記載の機器。
【請求項１０】
処理部は、入力／出力インターフェイスおよび処理部に結合されたアクセスコントローラを介して少なくとも１つのアナログブロックに提供されるアプリケーションデータを伴うアプリケーションを実行するために結合され、
アイスキャンコントローラは、アプリケーションの実行中に、アプリケーションデータについてデータアイを判断するように構成され、
少なくとも１つのアナログブロックは、少なくとも１つの並直列変換器／直並列変換器である、請求項７に記載の機器。
【請求項１１】
方法であって、
データシーケンスをループバックするために、アナログブロックをテストすることと、
リンクテストブロックの構成コントローラに構成情報を提供することと、
構成情報に応答して、構成コントローラの制御下でアナログブロックを構成することと、
アナログブロックから、リンクテストブロックのビットエラーレートテスターによって、データシーケンスを受信することとを含み、
ビットエラーレートテスターは、テストパターン情報を用いて構成され、
データシーケンスは、テストパターン情報に関連付けられたテストパターンに応答し、前記方法はさらに、
データシーケンスについて、ビットエラーレートテスターによってビットエラーレートを判断することと、
ビットエラーレートを出力することとを含む、方法。
【請求項１２】
アナログブロックは、並直列変換器／直並列変換器であり、
テストすることは、処理部によってテストコードを実行することを含み、
テストコードはテストパターン情報を含み、
テストコードは、以下のステップによって並直列変換器／直並列変換器の入力および出力を切替えるように構成され、前記以下のステップは、
テストデータブロックの周辺バスブロックに、テストパターンの生成のためのテストパターン情報をロードするステップを含み、ロードするステップは、処理部によって実行されるテストコードによって制御され、前記以下のステップはさらに、
データテストブロックのテストパターン生成器によるテストパターンに応答してデータシーケンスを生成するステップと、
並直列変換器／直並列変換器の入力を切替えるために、データシーケンスを並直列変換器／直並列変換器に送信するステップと、
並直列変換器／直並列変換器の出力を切替えるために、送信されたデータシーケンスをループバックするステップと、
データテストブロックのテストパターンチェッカーによって、ループバックされたデータシーケンスを受信するステップと、
並直列変換器／直並列変換器のためのテストデータを生成するために、テストパターンチェッカーによって受信されたデータシーケンスをチェックするステップと、
チェックするステップに応答して、テストパターンチェッカーからテストデータを取込むステップと、
テストデータを処理部に出力するステップとを含む、請求項１１に記載の方法。
【請求項１３】
テストすることはさらに、
テストコードから、並直列変換器／直並列変換器の動作の状態についての読出しを発行することと、
テストコードの読出しの実行に応答して、処理部からマイクロコントローラ・バス・トランザクションを提供することと、
マイクロコントローラ・バス・トランザクションを周辺バストランザクションに変換することとを含み、
ロードするステップは、周辺バスブロックにテストパターン情報をロードするために、データテストブロックの周辺バスブロックによって周辺バストランザクションを登録することを含む、請求項１２に記載の方法。
【請求項１４】
並直列変換器／直並列変換器から、リンクテストブロックのステータスモニターによって、ステータス情報を受信することをさらに含み、
ステータス情報は、並直列変換器／直並列変換器の状態機械からのものであり、
ステータス情報は、ループバックされたデータシーケンスに関して、並直列変換器／直並列変換器から独立してバス伝送され、前記方法はさらに、
ステータス情報を出力することを含む、請求項１３に記載の方法。
【請求項１５】
リンクテストブロックは、処理部によるテストコードの実行に対して独立した、構成情報の提供、ステータス情報の出力、およびビットエラーレートの出力のためのテストインターフェイスを含む、請求項１４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の分野
以下の説明は、集積回路デバイス（integrated circuit device：ＩＣ）に関する。より特定的には、以下の説明は、ＩＣ用のアナログブロックおよびそれをテストするためのテストブロックに関する。
【背景技術】
【０００２】
背景
プログラマブルロジックデバイス（programmable logic device：ＰＬＤ）などのプログラマブルデバイスは、多くのコンポーネントを有し得る。昔は、プログラマブルリソース（たとえばファブリック）において構成ビットストリームを介して提供された組込み自己テスト（built-in self-test：ＢＩＳＴ）システムのためにそのようなファブリックをプログラミングすることによって、ＰＬＤの概してかなりのコンポーネントをテストすることができた。しかしながら、ＰＬＤはシステム・オン・チップ（system-on-chip：ＳｏＣ）へと進歩したため、テストされるべきかなりのコンポーネントのすべてが、そのようなＢＩＳＴシステムによりインスタンス化されるテストのためにファブリックを介してアクセスされるとは限らない。これに沿って、１つ以上のアナログブロックが、そのようなファブリックから切り離されるかもしれず、そのため、そのようなＢＩＳＴシステムテストのためにファブリックを介してアクセスできないかもしれない。
【０００３】
よって、アナログブロックがテストされ得るＳｏＣを提供することが、有用であろう。
【発明の概要】
【課題を解決するための手段】
【０００４】
概要
ある機器は一般に、システム・オン・チップに関する。そのような機器では、システム・オン・チップは、少なくとも１つのアナログブロックと、入力／出力インターフェイスと、データテストブロックと、処理部とを有する。処理部は、少なくとも１つのアナログブロックへのアクセスを制御するために入力／出力インターフェイスに結合される。データテストブロックは、入力／出力インターフェイスを通して少なくとも１つのアナログブロックに結合される。処理部はデータテストブロックに結合され、少なくとも１つのテストパターンを有するテストコードを実行するように構成されている。処理部によって実行されるテストコードの制御下にあるデータテストブロックは、テストパターンを用いて少なくとも１つのアナログブロックをテストするように構成されている。
【０００５】
ある方法は一般に、アナログブロックをテストすることに関する。そのような方法では、アナログブロックは、データシーケンスをループバックすることを含む。構成情報が、リンクテストブロックの構成コントローラに提供される。構成情報に応答して、アナログブロックが、構成コントローラの制御下で構成される。アナログブロックから、データシーケンスが、リンクテストブロックのビットエラーレートテスターによって受信される。ビットエラーレートテスターは、テストパターン情報を用いて構成される。データシーケンスは、テストパターン情報に関連付けられたテストパターンに応答する。データシーケンスについて、ビットエラーレートテスターによってビットエラーレートが判断される。ビットエラーレートが出力される。
【０００６】
ある方法は一般に、データアイ（data eye）を生成することに関する。構成情報が、リンクテストブロックの構成コントローラに提供される。構成情報に応答して、構成コントローラの制御下にあるアナログブロックが構成される。アナログブロックから第１の入力／出力バスを介して、アプリケーションデータが、リンクテストブロックのアイスキャンコントローラによって受信される。アプリケーションデータに応答して、データアイがアイスキャンコントローラによって生成される。データアイは、構成情報に応答したアナログブロックの設定のためのものである。データアイは出力される。
【０００７】
図面の簡単な説明
添付図面は、例示的な機器および／または方法を示す。しかしながら、添付図面は請求の範囲を限定すると解釈されるべきではなく、単に説明および理解のためのものである。
【図面の簡単な説明】
【０００８】
【図１】例示的な柱状フィールドプログラマブルゲートアレイ（Field Programmable Gate Array：ＦＰＧＡ）アーキテクチャを示す、簡略化されたブロック図である。
【図２】例示的なシステム・オン・チップ（ＳｏＣ）を示すブロック図である。
【図３】例示的なアナログブロックテストフローを示すフロー図である。
【図４】図３のテストフローのための例示的なループバックテストフローを示すフロー図である。
【図５】例示的なデータアイ生成フローを示すフロー図である。
【発明を実施するための形態】
【０００９】
詳細な説明
以下の説明では、ここに説明される具体例のより完全な説明を提供するために、多くの具体的詳細が述べられる。しかしながら、１つ以上の他の例、および／またはこれらの例の変形が、以下に与えられる具体的詳細がすべてなくても実践され得る、ということが、当業者には明らかであるはずである。他の場合では、ここでの例の説明を不明瞭にしないよう、周知の特徴は詳細には説明されていない。例示しやすくするために、異なる図において、同じ項目に言及するために、同じ番号が使用される。しかしながら、代替例では、項目は異なるかもしれない。
【００１０】
いくつかの図で例示的に示された例を説明する前に、概略紹介が、さらなる理解のために提供される。プログラマブルロジックデバイス（ＰＬＤ）などのプログラマブルデバイスは、多くのコンポーネントを有し得る。昔は、プログラマブルリソース（たとえばファブリック）において構成ビットストリームを介して提供された組込み自己テスト（built-in self-test：ＢＩＳＴ）システムのためにそのようなファブリックをプログラミングすることによって、ＰＬＤの概してかなりのコンポーネントをテストすることができた。しかしながら、ＰＬＤはシステム・オン・チップ（system-on-chip：ＳｏＣ）へと進歩したため、テストされるべきコンポーネントのすべてが、ファブリックにおいてインスタンス化されるそのようなＢＩＳＴシステムのためにファブリックに結合されるとは限らない。これに沿って、アナログブロックが、そのようなファブリックから切り離されるかもしれない。
【００１１】
以下により詳細に説明されるように、ＳｏＣの１つ以上のアナログブロックをテストするための埋込まれたテストブロックを説明する。特に、アナログベースのＳＥＲＤＥＳのテストを説明する。以下の説明はＳｏＣに関するものであるが、そのようなＳｏＣは、モノリシックダイ上またはマルチダイパッケージ上の、たとえば、ダイを積層するためのインターポーザを有する、または有さない積層化ダイパッケージなどでの、多くのＳｏＣのうちの１つであってもよい。
【００１２】
以上の一般的な理解を念頭に置いて、ＳｏＣについてのさまざまな実施形態を以下に概して説明する。
【００１３】
上述の例の１つ以上が、ある特定のタイプのＩＣを使用してここに説明されるため、そのようなＩＣの詳細な説明を以下に提供する。しかしながら、他のタイプのＩＣが、ここに説明される手法の１つ以上から利益を得てもよい、ということが理解されるはずである。たとえば、埋込まれたブロックを有する他のＩＣが、以下に述べるものと同様の手法および回路を使用してテストされてもよい。
【００１４】
プログラマブルロジックデバイス（ＰＬＤ）は、特定されたロジック機能を行なうようにプログラミングされ得る周知のタイプの集積回路である。１つのタイプのＰＬＤであるフィールドプログラマブルゲートアレイ（ＦＰＧＡ）は典型的には、プログラマブルタイルのアレイを含む。これらのプログラマブルタイルは、たとえば、入力／出力ブロック（input/output block：ＩＯＢ）、構成可能ロジックブロック（configurable logic block：ＣＬＢ）、専用ランダムアクセスメモリブロック（random access memory block：ＢＲＡＭ）、マルチプライヤ、デジタル信号処理ブロック（digital signal processing block：ＤＳＰ）、プロセッサ、クロックマネージャ、遅延ロックループ（delay lock loop：ＤＬＬ）などを含み得る。ここに使用されるように、「含む」および「含んで」とは、限定なしで含むことを意味する。
【００１５】
各プログラマブルタイルは典型的には、プログラマブル相互接続およびプログラマブルロジックの双方を含む。プログラマブル相互接続は典型的には、プログラマブル相互接続点（programmable interconnect point：ＰＩＰ）によって相互接続された、さまざまな長さの多数の相互接続線を含む。プログラマブルロジックは、たとえば関数発生器、レジスタ、演算ロジックなどを含み得るプログラマブル素子を使用して、ユーザ設計のロジックを実現する。
【００１６】
プログラマブル相互接続およびプログラマブルロジックは典型的には、プログラマブル素子がどのように構成されるかを規定する内部構成メモリセルに構成データのストリームをロードすることによってプログラミングされる。構成データは、メモリから（たとえば外部ＰＲＯＭから）読出され、または、外部装置によってＦＰＧＡに書込まれ得る。次に、個々のメモリセルの集合的な状態が、ＦＰＧＡの機能を決定する。
【００１７】
別のタイプのＰＬＤは、複合プログラマブルロジックデバイス（Complex Programmable Logic Device）、すなわちＣＰＬＤである。ＣＰＬＤは、ともに接続され、かつ相互接続スイッチマトリックスによって入力／出力（Ｉ／Ｏ）リソースに接続された、２つ以上の「機能ブロック」を含む。ＣＰＬＤの各機能ブロックは、プログラマブルロジックアレイ（Programmable Logic Array：ＰＬＡ）およびプログラマブルアレイロジック（Programmable Array Logic：ＰＡＬ）デバイスで使用されるものと同様の２レベルＡＮＤ／ＯＲ構造を含む。ＣＰＬＤでは、構成データは典型的には、不揮発性メモリにおいてチップ上に格納される。いくつかのＣＰＬＤでは、構成データは不揮発性メモリにおいてチップ上に格納され、次に、初期構成（プログラミング）シーケンスの一環として揮発性メモリにダウンロードされる。
【００１８】
これらのプログラマブルロジックデバイス（ＰＬＤ）のすべてについて、デバイスの機能性は、その目的のためにデバイスに提供されるデータビットによって制御される。データビットは、揮発性メモリ（たとえば、ＦＰＧＡおよびいくつかのＣＰＬＤでのようなスタティックメモリセル）、不揮発性メモリ（たとえば、いくつかのＣＰＬＤでのようなＦＬＡＳＨメモリ）、または任意の他のタイプのメモリセルに格納可能である。
【００１９】
他のＰＬＤは、デバイス上のさまざまな素子をプログラマブルに相互接続する、金属層などの処理層を適用することによって、プログラミングされる。これらのＰＬＤは、マスクプログラマブルデバイスとして公知である。ＰＬＤはまた、他のやり方で、たとえばヒューズまたはアンチヒューズ技術を使用して実現することもできる。「ＰＬＤ」および「プログラマブルロジックデバイス」という用語は、これらの例示的なデバイスを含むが、これらに限定されず、部分的にのみプログラマブルなデバイスも包含する。たとえば、１つのタイプのＰＬＤは、ハードコード化されたトランジスタロジックと、ハードコード化されたトランジスタロジックをプログラマブルに相互接続するプログラマブルスイッチファブリックとの組合せを含む。
【００２０】
上述のように、高度なＦＰＧＡは、いくつかの異なるタイプのプログラマブルロジックブロックを、アレイに含み得る。たとえば、図１は、マルチギガビット・トランシーバ（multi-gigabit transceiver：ＭＧＴ）１０１と、構成可能ロジックブロック（ＣＬＢ）１０２と、ランダムアクセスメモリブロック（ＢＲＡＭ）１０３と、入力／出力ブロック（ＩＯＢ）１０４と、構成およびクロッキングロジック（configuration and clocking logic：ＣＯＮＦＩＧ／ＣＬＯＣＫ）１０５と、デジタル信号処理ブロック（ＤＳＰ）１０６と、特殊入力／出力ブロック（Ｉ／Ｏ）１０７（たとえば、構成ポートおよびクロックポート）と、デジタルクロックマネージャ、アナログ・デジタル変換器、システムモニタリングロジックなどといった他のプログラマブルロジック１０８とを含む多数の異なるプログラマブルタイルを含む、ＦＰＧＡアーキテクチャ１００を示す。いくつかのＦＰＧＡは、専用プロセッサブロック（processor block：ＰＲＯＣ）１１０も含む。
【００２１】
いくつかのＦＰＧＡでは、各プログラマブルタイルはプログラマブル相互接続素子（interconnect element：ＩＮＴ）１１１を含み、それは、隣接する各タイルにおける対応する相互接続素子への、およびそれからの標準化された接続を有する。したがって、ともにまとめられたプログラマブル相互接続素子は、図示されたＦＰＧＡのためのプログラマブル相互接続構造を実現する。プログラマブル相互接続素子１１１はまた、図１の上部に含まれる例によって示されるように、同じタイル内のプログラマブルロジック素子への、およびそれからの接続も含む。
【００２２】
たとえば、ＣＬＢ１０２は、ユーザロジックを実現するようにプログラミングされ得る構成可能ロジック素子（configurable logic element：ＣＬＥ）１１２と、単一のプログラマブル相互接続素子（ＩＮＴ）１１１とを含み得る。ＢＲＡＭ１０３は、１つ以上のプログラマブル相互接続素子に加えて、ＢＲＡＭロジック素子（BRAM logic element：ＢＲＬ）１１３を含み得る。典型的には、１つのタイルに含まれる相互接続素子の数は、タイルの高さに依存する。図示された実施形態では、ＢＲＡＭタイルは５つのＣＬＢと同じ高さを有するが、他の数（たとえば４つ）も使用可能である。ＤＳＰタイル１０６は、適切な数のプログラマブル相互接続素子に加えて、ＤＳＰロジック素子（DSP logic element：ＤＳＰＬ）１１４を含み得る。ＩＯＢ１０４は、たとえば、プログラマブル相互接続素子１１１の１つのインスタンスに加えて、入力／出力ロジック素子（input/output logic element：ＩＯＬ）１１５の２つのインスタンスを含み得る。当業者には明らかであるように、たとえばＩ／Ｏロジック素子１１５に接続された実際のＩ／Ｏパッドは典型的には、入力／出力ロジック素子１１５のエリアに制限されない。
【００２３】
図示された実施形態では、（図１に示す）ダイの中央近くの水平エリアは、構成、クロックおよび他の制御ロジックのために使用される。この水平のエリアまたは列から延在している垂直の列１０９は、ＦＰＧＡの幅にわたってクロックおよび構成信号を分散させるために使用される。
【００２４】
図１に示すアーキテクチャを利用するいくつかのＦＰＧＡは、ＦＰＧＡの大部分を構築する通常の柱状構造を分断する追加のロジックブロックを含む。追加のロジックブロックは、プログラマブルブロックおよび／または専用ロジックであり得る。たとえば、プロセッサブロック１１０は、ＣＬＢおよびＢＲＡＭのいくつかの列にまたがっている。
【００２５】
なお、図１は、単に例示的なＦＰＧＡアーキテクチャを例示するよう意図されている。たとえば、１行におけるロジックブロックの数、行の相対的な幅、行の数および順序、行に含まれるロジックブロックのタイプ、ロジックブロックの相対的なサイズ、ならびに、図１の上部に含まれる相互接続／ロジック実現化例は、単に例示的なものである。たとえば、実際のＦＰＧＡでは、ＣＬＢが現われる場所であればどこでも、ＣＬＢの２つ以上の隣接する行が典型的には含まれて、ユーザロジックの効率的な実現を容易にするが、隣接するＣＬＢ行の数は、ＦＰＧＡの全体サイズとともに変化する。
【００２６】
図２は、例示的なシステム・オン・チップ（ＳｏＣ）２００を示すブロック図である。図１のＦＰＧＡ１００はそのようなＳｏＣ２００であってもよく、それは、積層化シリコン相互接続技術（stacked silicon interconnect technology：ＳＳＩＴ）を限定なしで含む、前述のようなモノリシックダイ、もしくはマルチダイスタックまたはパッケージであってもよい。
【００２７】
ＳｏＣ２００は、１つ以上の並直列変換器／直並列変換器ブロック（serializer-deserializer block：ＳＥＲＤＥＳ）２０１と、入力／出力インターフェイス２２１と、データテストブロック２０９と、処理部２３０と、リンクテストブロック２０３と、１つ以上の媒体アクセスコントローラ（media access controller：ＭＡＣ）２０２とを含む。これに沿って、ＳｏＣ２００は、専用のまたは埋込まれたハードウェアブロックを使用して、全体的に形成されてもよい。したがって、ＳＥＲＤＥＳ２０１は、プログラマブルファブリックリソースに直接結合されないかもしれず、このため、以下により詳細に説明されるように、専用のブロック２０３および２０９が、ＳＥＲＤＥＳ２０１をテストするために使用されてもよい。
【００２８】
この例では、入力／出力インターフェイス２２１は、双方向マルチプレクサとして例示的に図示されている。しかしながら、入力／出力インターフェイスの他の構成では、他の回路系、すなわち双方向マルチプレクサ以外が使用されてもよい。マルチプレクサ２２１は、制御選択信号２２２を介したプロセッサ２３１の制御下で、データテストブロック２０９のための任意の１つのＳＥＲＤＥＳ２０１を、データテストブロックインターフェイス２２９を介して選択するために使用されてもよい。
【００２９】
加えて、この例では、ＳＥＲＤＥＳ２０１は８ｂ／１０ｂコード化を行なうように構成されると仮定されるであろう。言い換えれば、８、１６、２４個などのデータビットまたは他の情報ビットがＳＥＲＤＥＳ２０１に入力される場合、ＳＥＲＤＥＳ２０１は、そのようなデータビットまたは他の情報ビットとコード化ビットとを含む、対応する１０、２０、３０個などのビットを出力してもよい。しかしながら、ＳＥＲＤＥＳの他の構成では、他のコード化、すなわち８ｂ／１０ｂコード化以外が使用されてもよい。
【００３０】
処理部２３０は、入力／出力インターフェイス２２１に結合されて、制御選択バス／信号２２２をそれに提供し、ＳＥＲＤＥＳ２０１への、およびＳＥＲＤＥＳ２０１からのアクセスを制御してもよい。データテストブロック２０９は、入力／出力インターフェイス２２１を通してＳＥＲＤＥＳ２０１に結合されてもよい。処理部２３０は、双方向バス／シグナリング２２３を介してデータテストブロック２０９に結合されてもよい。データテストブロック２０９がＳＥＲＤＥＳ２０１を制御することを可能にするために、テストコードまたは他のソフトウェアが、入力／出力インターフェイス２２１を介したＳＥＲＤＥＳ２０１へのアクセスを制御するために使用される入力制御レジスタ２３４におけるあるレジスタに書込んでもよい。
【００３１】
処理部２３０は、プロセッサ２３１と、読出し専用メモリ（read only memory：ＲＯＭ）２３２と、ランダムアクセスメモリ（random access memory：ＲＡＭ）２３３と、制御レジスタ２３４と、マイクロコントローラインターフェイス／バスから周辺バスへのブリッジ（「ブリッジ」）２３５と、マイクロコントローラインターフェイス／バススイッチ（「スイッチ」）２３６とを含んでいてもよい。プロセッサ２３１は１つ以上のコアを含んでいてもよく、中央処理装置であってもよい。処理部２３０はＡＲＭ処理部であるとして説明されているが、あらゆる処理部が、ここでの説明に従って使用されてもよい、ということが理解されるはずである。これに沿って、ブリッジ２３５はＡＸＩからＡＰＢへのブリッジであること、および、スイッチ２３６はＡＸＩスイッチであることが仮定されるであろう。しかしながら、ＡＸＩおよび／またはＡＰＢはＡＲＭに特有のものであり、他のタイプの処理部インフラストラクチャが使用されてもよい。
【００３２】
プロセッサ２３１はＲＯＭ２３２に結合されて、そこに格納されたブートコードを実行し、ＳｏＣ２００をブートしてもよい。プロセッサ２３１はさらにＲＡＭ２３３に結合されて、テストコード２３７を実行してもよく、テストコード２３７は、以下により詳細に説明されるように、ＳＥＲＤＥＳ２０１をテストするために、ＲＡＭ２３３にロードされ、プロセッサ２３１の制御下で実行される。プロセッサ２３１は、スイッチ２３６のＡＸＩスレーブ２３９と通信するために結合されたＡＸＩマスター２３８を含んでいてもよい。スイッチ２３６は、ブリッジ２３５のＡＸＩスレーブ２４１と通信するために結合されたＡＸＩマスター２４０を含んでいてもよい。ブリッジ２３５は、ＡＰＢマスター２４２、２４３および２４４を含んでいてもよい。ＡＰＢマスター２４２は、制御レジスタ２３４のＡＰＢスレーブ２４５と通信するために結合されてもよい。これに沿って、プロセッサ２３１の制御下で、テストコード２３７は制御レジスタ２３４に書込んで、制御レジスタ２３４が制御シグナリングを制御バス／信号２２２を介して入力／出力インターフェイス２２１に提供するようにしてもよい。ＡＰＢマスター２４３は、媒体バス／信号２２５を介してＭＡＣ２０２と通信するために結合されてもよい。ＡＰＢマスター２４４は、データテストブロック２０９の周辺バスブロック２１２と通信するために結合されてもよく、それは、この例ではＡＰＢスレーブブロックであってもよい。周辺バスブロック２１２は、入力制御レジスタ２１３と、出力取込レジスタ２１４とを含んでいてもよい。入力制御レジスタ２１３および出力取込レジスタ２１４は、以下により詳細に説明されるように、テストコード２３７の制御下で処理部２３０を介してアクセス可能であってもよい。
【００３３】
プロセッサ２３１は、テストコード２３７を制御可能に実行してもよく、そのようなテストコード２３７は、ＳＥＲＤＥＳ２０１をテストするための少なくとも１つのテストパターンのためのコード化を含む。入力制御レジスタ２１３は、そのようなテストコード２３７の制御下で、そのような少なくとも１つのテストパターンがＳＥＲＤＥＳ２０１に提供されるようにするために、書込まれてもよい。テストコード２３７または他のソフトウェアが製品テストパターンを実現することを可能にすることにより、そのようなソフトウェアにより実現可能な製品テストパターンは、従来のハードコード化されたテストパターンよりも簡単にアップグレードされ得る。
【００３４】
データテストブロック２０９はさらに、テストパターン生成器２１０と、テストパターンチェッカー２１１とを含んでいてもよい。入力制御レジスタ２１３への書込みに応答して、そのような入力制御レジスタ２１３に結合されたそのようなテストパターン生成器２１０は、入力／出力インターフェイス２２１を介してデータをＳＥＲＤＥＳ２０１に提供するための少なくとも１つのそのようなテストパターンを生成してもよい。この例では、テストパターン生成器２１０は、線形フィードバックシフトレジスタ（linear feedback shift register：ＬＦＳＲ）兼疑似乱数ビットシーケンス（pseudo-random bit sequence：ＰＲＢＳ）生成器であり、テストパターンチェッカー２１１は、ＬＦＳＲ兼ＰＲＢＳチェッカーである。たとえば、テストコード２３７は、さまざまなＰＲＢＳパターンおよびＬＦＳＲシードから選択して、テストデータを生成してチェックするようにＬＦＳＲ／ＰＲＢＳ生成器２１０およびチェッカー２１１を構成してもよい。入力制御レジスタ２１３は、テストコード２３７で特定されたテストパターンに応答して、テストパターン生成器２１０によるテストパターン生成を制御するために使用されてもよい。しかしながら、他のタイプのテストパターン生成器およびチェッカーが使用されてもよい。
【００３５】
テストパターンは、テストパターンチェッカー２１１へのループバックのために、テストパターン生成器２１０の制御下でＳＥＲＤＥＳ２０１に提供されてもよい。そのようなループバックは、内部のみのループバック、すなわち完全にＳｏＣ２００内でのものであってもよく、または、ループバックのための外部デバイスを含んでいてもよい。ＳＥＲＤＥＳ２０１は、そのようなテストパターンデータを、テストパターンチェッカー２１１による受信のためにループバックしてもよい。テストパターンチェッカー２１１に結合された出力取込レジスタ２１４は、テストパターンチェッカー２１１から出力されたデータまたは他の情報を取込んでもよい。そのような取込データは、その後の分析などのために処理部２３０に戻されてもよい。たとえば、出力取込レジスタ２１４は、テストコード２３７によって特定されたテストパターンに応答して、テストパターンチェッカー２１１によって判断されたデータシーケンスおよびデータエラーを取込むために使用されてもよい。これに沿って、テストパターンチェッカー２１１は、使用すべきテストパターンについての知識を有するために、入力制御レジスタ２１３に結合されてもよい。疑似乱数ビットシーケンスについては、クロック信号の多数のクロックサイクル（明確にするために図示せず）の後で、そのような疑似乱数ビットシーケンスが繰り返されてもよい、ということが理解されるはずである。このため、テストパターンチェッカー２１１は、何を予想すべきかについての知識を有していてもよい。
【００３６】
ＳｏＣ２００はさらに、リンクテストブロック２０３を含む。リンクテストブロック２０３は、構成コントローラ２０４と、ステータスモニター２０５と、ビットエラーレートテスター２０６と、アイスキャンコントローラ２０７と、テスト入力出力インターフェイス（「テストインターフェイス」）２０８とを含む。この例では、テストインタフェース２０８はＪＴＡＧインターフェイスである。テストインターフェイス２０８に結合されたテストバス／信号２２４は、テストインターフェイス２０８との双方向通信のために使用されてもよい。テストバス／信号２２４は、テストソフトウェアを実行する、ワークステーションまたは他のコンピュータシステムなどのコンピュータシステムとの通信のためのものであってもよい。リンクテストブロック２０３はこのため、リンク調整および／または特徴付けを容易にすることを担当していてもよい。ＪＴＡＧインターフェイス２０８は、プロセッサシステムのＪＴＡＧチェーンに結合するために使用されてもよい。これに沿って、リンクテストブロック２０３は、たとえばＰＣまたは他のワークステーション上で実行されるソフトウエアを介してユーザ制御を可能にするために、ＪＴＡＧを介して制御されてもよい。これに沿って、ＳＥＲＤＥＳ２０１のアナログ構成パラメータは、そのようなＳＥＲＤＥＳ２０１を通してデータパターンを実行しながら、および、ビット、エラーまたは他のパラメータをカウントしながら、制御および／または調節されてもよい。
【００３７】
バス２２４は、処理部２３０の動作に対して非侵入性の態様でリンクテストブロック２０３と通信するために使用されてもよい。言い換えれば、リンクテストブロックはテストコード２３７によって、またはより一般的には処理部２３０によって動作または駆動されないため、リンクテストブロック２０３の動作は、処理部２３０に干渉したり、または他の態様で処理部２３０に負担を負わせる必要がない。さらに、リンクテストブロック２０３は、以下により詳細に説明されるように、ＳｏＣ２００をテストするためのテストコード２３７の実行と並行して動作されてもよい。
【００３８】
ＭＡＣ２０２は、入力／出力バス２２６を介して入力／出力インターフェイス２２１に結合されてもよい。データテストブロック２０９は、入力／出力バス２２９を介して入力／出力インターフェイス２２１に結合されてもよい。入力／出力インターフェイス２２１は、入力／出力バス２２８を介してＳＥＲＤＥＳ２０１に結合される。しかしながら、ＳＥＲＤＥＳ２０１は、処理部２３０を通過する必要がないように、入力／出力バス２２７を介してリンクテストブロック２０３に直接結合されてもよい。オプションで、入力／出力バス２２７は、ＳＥＲＤＥＳ２０１とリンクテストブロック２０３との通信のために、入力／出力インターフェイス２２１を介して入力／出力バス２２８に結合されてもよい。入力／出力バス２２６〜２２９は、信号の中でも、データ、制御およびアドレスシグナリングのためのものであってもよく、それらは、明確にするために、および限定しないために、ここでは区別されない。
【００３９】
リンクテストブロック２０３は、たとえばデータアイを最適化するなどのために、少なくとも１つのＳＥＲＤＥＳ２０１の動作パラメータをその動作中に調節するために、テストインターフェイス２０８を介して別個に制御可能であってもよい。これに沿って、そのような少なくとも１つのＳＥＲＤＥＳ２０１は、アナログ設計のものであってもよく、そのため、そのような動作パラメータは、少なくとも１つのアナログパラメータを含んでいてもよい。そのような少なくとも１つのＳＥＲＤＥＳ２０１は、制御レジスタ２４６と、１つ以上の有限状態機械２４７とを含んでいてもよい。構成コントローラ２０４が構成されており、少なくとも１つのＳＥＲＤＥＳ２０１に結合されて、そのような少なくとも１つのＳＥＲＤＥＳ２０１の動作中にそのような動作パラメータの少なくとも１つを調節するために、制御レジスタ２４６に書込み、読出し、設定、およびリセットなどの制御を行なってもよい。制御レジスタ２４６のそのような制御は、処理部２３０とは独立していてもよい。少なくとも１つのＳＥＲＤＥＳのステータスをモニタリングするために、および、クロックサイクル粒度についてそのような少なくとも１つのＳＥＲＤＥＳから出力された各エラーを取込むために、ステータスモニター２０５が結合されてもよい。状態機械２４７は、関連付けられたクロックサイクルに基づく、コード化エラーおよび／またはランニングディスパリティ（running disparity）エラーの場合のＳＥＲＤＥＳ状態などのステータスを示すために使用されてもよく、どのステータスが状態機械２４７によって示されたかは、ステータスモニター２０５によってモニタリングされてもよい。ＳＥＲＤＥＳ２０１にテストパターンを提供し、ＳＥＲＤＥＳ２０１からテストパターンおよび他の情報を読出し、およびＳＥＲＤＥＳ２０１のステータスをモニタリングするためのそのようなクロックサイクル依存のために、ＳＥＲＤＥＳ２０１のＳｏＣ側の部分と、テストパターン生成器２１０と、テストパターンチェッカー２１１と、ステータスモニター２０５とは、同じクロックドメイン２４８で動作してもよい。ステータスモニター２０５は、クロックドメイン２４８に関連付けられているようなバッファに情報をクロック入力するための先入れ先出しバッファを含んでいてもよい。しかしながら、ステータス情報は、クロックドメイン２４８のクロックレートでそのようなステータスモニターからクロック出力される必要はないが、クロック出力されてもよい。クロックドメイン２４８は、異なるデータレートを提供するために、上下に調節されてもよい。これに沿って、クロックドメイン２４８は、テストクロックドメインであってもよい。
【００４０】
ビットエラーレート（Bit error rate：ＢＥＲ）テスター２０６は、テストパターンを使用してビットエラーレートを判断するように構成されてもよい。たとえば、ＢＥＲテスター２０６は、クロックドメイン２４８の各クロックサイクルを、１クロックサイクルについて８ビットずつ、またはそれ以外の数のビットずつ、連続追跡してもよい。しかしながら、ＢＥＲテスター２０６は、はるかにより大きい時間間隔にわたってＢＥＲを判断してもよい。このため、複数のリンクレートの各々について、ＢＥＲが特定されてもよい。テストインターフェイス２０８は、テストパターンまたは少なくとも十分な量のテストパターン情報をＢＥＲテスター２０６に提供して、そのようなＢＥＲを提供するようにＢＥＲテスター２０６を構成するために使用されてもよい。
【００４１】
一般に、ＢＥＲは、出た後のビットにより関連しており、もちろん、何らかの形でＳｏＣ２００ダイに戻される。これに沿って、ＳｏＣ２００は、ブランク基板上にテストトレースを有するテストＰＣＢか何かを有していてもよく、テストＰＢＣを介してテスト部分に、および／またはテスト機器に結合されてもよい。このため、たとえば、ＢＥＲは、あるデータレートでの、何らかの移動距離についての、何らかのＦＲ４または他の回路基板材料に関するものであってもよい。
【００４２】
処理部２３０は、入力／出力インターフェイス２２１および処理部２３０に結合された１つ以上のＭＡＣ２０２を介して少なくとも１つのＳＥＲＤＥＳ２０１に提供されるアプリケーションデータを伴うアプリケーション２５０の実行のために、アプリケーション２５０をＲＡＭ２３３内で受信するように結合されてもよい。埋込まれたＭＡＣ２０２は、ＳｏＣ２００によってサポートされる、イーサネット（登録商標）を限定なしで含む、さまざまな産業プロトコル用のものであってもよい。ＭＡＣ２０２は、たとえばユーザアプリケーションなどのアプリケーションをＳｏＣ２００上で実行するために使用されてもよい。
【００４３】
アイスキャンコントローラ２０７は、処理部２３０などによるそのようなアプリケーションの実行中に、そのようなアプリケーションデータについてデータアイを判断するように構成されてもよい。ここでも、入力／出力バス２２７は、プロセッサ２３１によって実行されるアプリケーションの同時動作のために別個の経路を提供しながら、そのアプリケーションデータをアイスキャンコントローラによって収集してもよい。言い換えれば、入力／出力バス２２６を介するアプリケーションデータフローは、入力／出力バス２２７を介するそのようなアプリケーションデータのフローとは別々であってもよい。これは、ユーザがデータアイをモニタリングし、同時に、そのようなデータアイを調節するために構成コントローラ２０４を介してＳＥＲＤＥＳ２０１の動作を調節することを容易にする。構成コントローラ２０４は、ＳＥＲＤＥＳ２０１のデータアイに応答して、レジスタ２４６がどこでサンプリングするかを調節するために使用されてもよい。言い換えれば、構成コントローラ２０４は、しきい値の上および下を限定なしで含む、データアイ内の異なる時点で、レジスタ２４６がどこでサンプリングするかを制御するために使用されてもよい。アイスキャンコントローラ２０７のアイスキャンレジスタは、そのようなサンプルを格納するために使用されてもよく、アイスキャンコントローラ２０７は、どこでサンプルを読出すべきかについてＳＥＲＤＥＳ２０１のレジスタ２４６に示すように、構成コントローラ２０４に結合されてもよい。レジスタ２４６のアイスキャンレジスタはこのため、個々のサンプルのみを保持してもよく、アイスキャンコントローラ２０７は、いつどこでサンプルを採るべきかを示し、レジスタ２４６によって採られたそのようなサンプルを格納するために使用されてもよい。
【００４４】
要約すると、データテストブロック２０９は概して、ループバックされるテストパターン生成データを使用して、ＳＥＲＤＥＳ２０１が明確に規定された構成で作動するかどうかを判断するために使用され得る。一方、リンクテストブロック２０３は概して、結果の品質、すなわちＳＥＲＤＥＳ２０１の動作の品質を判断するために使用可能である。
【００４５】
図３は、例示的なアナログブロックテストフロー３００を示すフロー図である。図２および図３を同時に参照して、テストフロー３００をさらに説明する。
【００４６】
３０１で、データのシーケンス（「データシーケンス」）をループバックするために、ＳＥＲＤＥＳ２０１がテストされる。３０２で、構成情報が、テストインターフェイス２０８などを介して、リンクテストブロック２０３の構成コントローラ２０４に提供され得る。３０３で、そのような構成情報に応答して、構成コントローラ２０４の制御下でＳＥＲＤＥＳ２０１が構成される。３０４で、ＳＥＲＤＥＳ２０１から、リンクテストブロック２０３のＢＥＲテスター２０６によって、そのようなデータシーケンスが受信され得る。ＢＥＲテスター２０６は、３０３で、テストパターン情報を用いて構成され得る。シーケンスデータはこのため、そのようなテストパターン情報に関連付けられたテストパターンに応答し得る。３０５で、そのようなデータシーケンスについて、ビットエラーレートがＢＥＲテスター２０６によって判断され得る。３０６で、そのようなビットエラーレートが３０６で出力され得る。
【００４７】
ＢＥＲのためにそのようなデータシーケンスを受信することと並行して、またはそれとは別に、３１４で、ステータス情報が、リンクテストブロック２０３のステータスモニター２０５によって受信され得る。そのようなステータス情報は、ＳＥＲＤＥＳ２０１の１つ以上の状態機械２４７からのものであり得る。そのようなステータス情報は、ループバックされたそのようなデータシーケンスに関して、ＳＥＲＤＥＳ２０１から独立してバス伝送され得る。３１６で、そのようなステータス情報が出力され得る。
【００４８】
図４は、テストフロー３００のための例示的なループバックテストフロー３０１を示すフロー図である。図２〜４を同時に参照して、テストフロー３０１をさらに説明する。テストフロー３０１は、リンクテストブロック２０３の使用と並行してデータテストブロック２０９を使用してもよい。
【００４９】
４０１で、テストコード２３７は、処理部２３０によって実行され得る。テストコード２３７はテストパターン情報を含み、それは以下のように伝えられ得る。テストコード２３７は、ＳＥＲＤＥＳ２０１の入力および出力を切替えるように構成され得る。４０２で、ＳＥＲＤＥＳ２０１の動作の状態についての読出しが、テストコード２３７から発行され得る。４０３で、テストコード２３７のそのような読出しの実行に応答して、スイッチ２３６などのためのマイクロコントローラ・バス・トランザクションが、処理部２３０から提供され得る。４０４で、そのようなマイクロコントローラ・バス・トランザクションは、周辺バストランザクションを提供するために、ブリッジ２３５などによって変換され得る。ＳＥＲＤＥＳ２０１の入力および出力のそのような切替えは、テストデータブロック２０９の周辺バスブロック２１２に、テストパターンの生成のためのそのようなテストパターン情報をロードすることを伴い得る。このロードはこのため、処理部２３０によって実行されるテストコード２３７によって制御され得る。これに沿って、４０５での動作は、周辺バスブロック２１２にテストパターン情報をロードするために、４１５で、データテストブロック２０９の周辺バスブロック２１２によって、そのような周辺バストランザクションを、入力制御レジスタ２１３などに登録することを含み得る。
【００５０】
４０６で、そのようなデータシーケンスは、データテストブロック２０９のテストパターン生成器２１０によるそのようなテストパターンに応答して生成され得る。４０７で、そのようなデータシーケンスは、ＳＥＲＤＥＳ２０１の入力を切替えるためにＳＥＲＤＥＳ２０１に送信され得る。４０８で、そのようなデータシーケンス、またはデータシーケンスの少なくとも或るバージョンが、ＳＥＲＤＥＳ２０１の出力を切替えるためにループバックされ、または他の態様で送信され得る。４０９で、そのようなループバックされたデータシーケンスは、データテストブロック２０９のテストパターンチェッカー２１１によって受信され得る。４１０で、テストパターンチェッカー２１１によって受信されたそのようなデータシーケンスは、ＳＥＲＤＥＳ２０１のためのテストデータを生成するためにチェックされ得る。４１１で、そのようなチェックに応答して、そのようなテストデータが、テストパターンチェッカー２１１から、出力取込レジスタ２１４などによって取込まれ得る。４１２で、そのようなテストデータは、入力／出力バス２２３などを介して処理部２３０に出力され得る。テストインターフェイス２０８は、たとえば４０１での処理部２３０によるテストコード２３７の実行に対して独立した、３０２での構成情報の提供、３１６でのステータス情報の出力、および３０６でのＢＥＲの出力のために使用されてもよい。
【００５１】
図５は、例示的なデータアイ生成フロー５００を示すフロー図である。図２〜５を同時に参照して、テストフロー５００をさらに説明する。
【００５２】
５０１で、構成情報が、リンクテストブロック２０３の構成コントローラ２０４に提供され得る。５０２で、そのような構成情報に応答して、構成コントローラ２０４の制御下で、ＳＥＲＤＥＳ２０１が構成され得る。
【００５３】
５１１で、アプリケーションデータを生成するために、アプリケーションコード２５０が処理部２３０によって実行され得る。５１２で、そのようなアプリケーションデータが、処理部２３０からＭＡＣ２０２に提供され得る。５１３で、そのようなアプリケーションデータは、入力出力バス２２７から独立した入力／出力バス２２６を介して、そのようなＭＡＣ２０２からＳＥＲＤＥＳ２０１に送信され得る。そのようなアプリケーションデータはこのため、以下により詳細に説明されるように、５０５でのデータアイの出力と並行して生成され得る。
【００５４】
５０３で、前述したようにＳＥＲＤＥＳ２０１からＭＡＣ２０２を介したアプリケーションデータは、ＳＥＲＤＥＳ２０１から入力／出力バス２２７を介して、リンクテストブロック２０３のアイスキャンコントローラ２０７によって受信され得る。５０４で、アプリケーションデータに応答して、データアイが、アイスキャンコントローラ２０７によって生成され得る。そのような構成情報に応答したＳＥＲＤＥＳ２０１の設定のためのものであり得る、そのようなデータアイは、５０５で出力され得る。
【００５５】
上述の説明はアナログベースのＳＥＲＤＥＳを制御することに関するものであったが、上述の説明は同様に、たとえばアナログ・デジタル変換器などの、データアイに影響を与えるアナログパラメータを有する他のブロックにも当てはまる。要するに、それらの調整および／または特徴付けが有用であり得るアナログコンポーネントを有するあらゆるブロックに当てはまる。このため、アナログブロックのための、ＢＥＲテスター、およびソフトウェアにより実現可能な製品テスト構成が、ＳｏＣのために提供される。
【００５６】
前述の事項は例示的な実施形態を説明しているが、１つ以上の局面に従った他のおよびさらなる実施形態が、請求項およびそれらの均等物によって定められるその範囲から逸脱することなく考案され得る。ステップを列挙する請求項は、それらのステップのいかなる順序も暗示しない。商標は、それらのそれぞれの所有者の所有物である。
【図１】
2016519358.tif 000003
【図２】
2016519358.tif 000004
【図３】
2016519358.tif 000005
【図４】
2016519358.tif 000006
【図５】
2016519358.tif 000007
【手続補正書】
【提出日】平成27年4月7日(2015.4.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
機器であって、
少なくとも１つのアナログブロックと、入力／出力インターフェイスと、処理部とを有するシステム・オン・チップと、
入力／出力インターフェイスに結合されたデータテストブロックとを含み、入力／出力インターフェイスは少なくとも１つのアナログブロックに結合され、前記機器はさらに、
少なくとも１つのアナログブロックに結合されたリンクテストブロックと、
リンクテストブロックに結合されたテストインターフェイスとを含み、
処理部は、少なくとも１つのアナログブロックへのアクセスを制御するために入力／出力インターフェイスに結合され、
処理部はデータテストブロックに結合され、少なくとも１つのテストパターンを有するテストコードを実行するように構成されており、
処理部によって実行されるテストコードの制御下にあるデータテストブロックは、テストパターンを用いて少なくとも１つのアナログブロックをテストするように構成されており、
リンクテストブロックは、少なくとも１つのアナログブロックの動作パラメータを調節するために、テストインターフェイスを介して別個に制御可能である、機器。
【請求項２】
データテストブロックは、入力制御レジスタと、出力取込レジスタと、テストパターン生成器と、テストパターンチェッカーとを含む、請求項１に記載の機器。
【請求項３】
テストパターン生成器は、線形フィードバックシフトレジスタ兼疑似乱数ビットシーケンス生成器を含む、請求項２に記載の機器。
【請求項４】
テストパターンチェッカーは、線形フィードバックシフトレジスタ兼疑似乱数ビットシーケンスチェッカーを含む、請求項２に記載の機器。
【請求項５】
入力制御レジスタおよび出力取込レジスタは、テストコードの制御下で処理部を介してアクセス可能である、請求項２〜４のいずれかに記載の機器。
【請求項６】
入力制御レジスタは、テストパターンに応答して、テストパターン生成器によるテストパターン生成を制御するためのものであり、
出力取込レジスタは、テストパターンに応答して、テストパターンチェッカーによって判断されたデータシーケンスおよびデータエラーを取込むためのものであり、
テストパターンは、テストパターンチェッカーへのループバックのために、テストパターン生成器の制御下で少なくとも１つのアナログブロックに提供され、
少なくとも１つのアナログブロックは、少なくとも１つの並直列変換器／直並列変換器である、請求項２〜５のいずれかに記載の機器。
【請求項７】
リンクテストブロックは、入力／出力インターフェイスを通して少なくとも１つのアナログブロックに結合され、
リンクテストブロックは、構成コントローラと、ステータスモニターと、ビットエラーレートテスターと、アイスキャンコントローラと、テストインターフェイスとを含む、請求項１〜６のいずれかに記載の機器。
【請求項８】
リンクテストブロックは、少なくとも１つのアナログブロックの動作パラメータをその動作中に調節するために、テストインタフェースを介して別個に制御可能であり、
少なくとも１つのアナログブロックは、少なくとも１つの並直列変換器／直並列変換器である、請求項７に記載の機器。
【請求項９】
ビットエラーレートテスターは、テストパターンを使用してビットエラーレートを判断するように構成され、
テストインターフェイスは、テストパターンをビットエラーレートテスターに提供するために結合されている、請求項７または請求項８に記載の機器。
【請求項１０】
処理部は、入力／出力インターフェイスおよび処理部に結合されたアクセスコントローラを介して少なくとも１つのアナログブロックに提供されるアプリケーションデータを伴うアプリケーションを実行するために結合され、
アイスキャンコントローラは、アプリケーションの実行中に、アプリケーションデータについてデータアイを判断するように構成され、
少なくとも１つのアナログブロックは、少なくとも１つの並直列変換器／直並列変換器である、請求項７に記載の機器。
【請求項１１】
方法であって、
データテストブロックを入力／出力インターフェイスに結合することと、
入力／出力インターフェイスをアナログブロックに結合することと、
リンクテストブロックに結合されたテストインターフェイスを実現することとを含み、リンクテストブロックはテストインターフェイスを介して別個に制御可能であり、前記方法はさらに、
データテストブロックを使用して、データシーケンスをループバックするために、アナログブロックをテストすることと、
リンクテストブロックの構成コントローラに構成情報を提供することと、
構成情報に応答して、構成コントローラの制御下でアナログブロックを構成することと、
アナログブロックから、リンクテストブロックのビットエラーレートテスターによって、データシーケンスを受信することとを含み、
ビットエラーレートテスターは、テストパターン情報を用いて構成され、
データシーケンスは、テストパターン情報に関連付けられたテストパターンに応答し、前記方法はさらに、
データシーケンスについて、ビットエラーレートテスターによってビットエラーレートを判断することと、
ビットエラーレートを出力することと、
リンクテストブロックの構成コントローラによって、テストインターフェイスを介して、アナログブロックの動作パラメータを調節することとを含む、方法。
【請求項１２】
アナログブロックは、並直列変換器／直並列変換器であり、
テストすることは、処理部によってテストコードを実行することを含み、
テストコードはテストパターン情報を含み、
テストコードは、以下のステップによって並直列変換器／直並列変換器の入力および出力を切替えるように構成され、前記以下のステップは、
データテストブロックの周辺バスブロックに、テストパターンの生成のためのテストパターン情報をロードするステップを含み、ロードするステップは、処理部によって実行されるテストコードによって制御され、前記以下のステップはさらに、
データテストブロックのテストパターン生成器によるテストパターンに応答してデータシーケンスを生成するステップと、
並直列変換器／直並列変換器の入力を切替えるために、データシーケンスを並直列変換器／直並列変換器に送信するステップと、
並直列変換器／直並列変換器の出力を切替えるために、送信されたデータシーケンスをループバックするステップと、
データテストブロックのテストパターンチェッカーによって、ループバックされたデータシーケンスを受信するステップと、
並直列変換器／直並列変換器のためのテストデータを生成するために、テストパターンチェッカーによって受信されたデータシーケンスをチェックするステップと、
チェックするステップに応答して、テストパターンチェッカーからテストデータを取込むステップと、
テストデータを処理部に出力するステップとを含む、請求項１１に記載の方法。
【請求項１３】
テストすることはさらに、
テストコードから、並直列変換器／直並列変換器の動作の状態についての読出しを発行することと、
テストコードの読出しの実行に応答して、処理部からマイクロコントローラ・バス・トランザクションを提供することと、
マイクロコントローラ・バス・トランザクションを周辺バストランザクションに変換することとを含み、
ロードするステップは、周辺バスブロックにテストパターン情報をロードするために、データテストブロックの周辺バスブロックによって周辺バストランザクションを登録することを含む、請求項１２に記載の方法。
【請求項１４】
並直列変換器／直並列変換器から、リンクテストブロックのステータスモニターによって、ステータス情報を受信することをさらに含み、
ステータス情報は、並直列変換器／直並列変換器の状態機械からのものであり、
ステータス情報は、ループバックされたデータシーケンスに関して、並直列変換器／直並列変換器から独立してバス伝送され、前記方法はさらに、
ステータス情報を出力することを含む、請求項１３に記載の方法。
【請求項１５】
リンクテストブロックは、処理部によるテストコードの実行に対して独立した、構成情報の提供、ステータス情報の出力、およびビットエラーレートの出力のためのテストインターフェイスを含む、請求項１４に記載の方法。
【国際調査報告】
2016519358.tif 000008
2016519358.tif 000009