(57)【要約】 【課題】  到来デジタルデータの速度で動作可能なシーケンサを提供する。【解決手段】それぞれ、リソースを受け付け、前記リソースに基づいて、個々の可能な次の状態を提供し、この場合に、それぞれの可能な次の状態は、前記シーケンシング要素の異なる以前の状態に関連付けられている、複数のルックアップテーブルと、前記可能な次の状態を受け付け、実際の以前の状態に基づいて、実際の次の状態として、前記可能な次の状態の中の１つをシーケンシングマルチプレクサ出力に供するシーケンサマルチプレクサと、を備えた縦続接続で組み合わせられた少なくとも２つのシーケンシング要素を備え、１つの前記シーケンシング要素の前記実際の次の状態が、他方の前記シーケンシング要素の前記実際の以前の状態となるよう構成されたシーケンサ。   【選択図】図３
2006178970.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ、リソースを受け付け、前記リソースに基づいて、個々の可能な次の状態を提供し、この場合に、それぞれの可能な次の状態は、前記シーケンシング要素の異なる以前の状態に関連付けられている、複数のルックアップテーブルと、前記可能な次の状態を受け付け、実際の以前の状態に基づいて、実際の次の状態として、前記可能な次の状態の中の１つをシーケンシングマルチプレクサ出力に供するシーケンサマルチプレクサと、を備えた縦続接続で組み合わせられた少なくとも２つのシーケンシング要素を備え、
１つの前記シーケンシング要素の前記実際の次の状態が、他方の前記シーケンシング要素の前記実際の以前の状態となるよう構成されたシーケンサ。
【請求項２】
前記リソースは、逆多重化された到来デジタルデータを有していることを特徴とする請求項１記載のシーケンサ。
【請求項３】
Ｎ個のシーケンサが存在しており、Ｎは、２よりも大きく、前記Ｎ番目のシーケンサの前記実際の次の状態が、前記１番目のシーケンサに対して前記実際の以前の状態を提供することを特徴とする請求項１記載のシーケンサ。
【請求項４】
前記ルックアップテーブルの数は、前記シーケンサの可能な状態の数に等しいことを特徴とする請求項１記載のシーケンサ。
【請求項５】
それぞれの前記シーケンシング要素は、前記ルックアップテーブルの並列の第１の組と第２の組を有しており、前記ルックアップテーブルの第１の組は、第１の可能な条件におけるＭ個の前記可能な次の状態を判定し、前記ルックアップテーブルの第２の組は、第２の可能な条件におけるＭ個の前記可能な状態を判定し、実際の状況の状態に基づいて、第１又は第２シーケンサ出力を選択する条件マルチプレクサを更に有することを特徴とする請求項１記載のシーケンサ。
【請求項６】
前記シーケンスマルチプレクサ出力は、前記ロジックアナライザの機能のための少なくとも１つの制御信号を更に有することを特徴とする請求項１記載のシーケンサ。
【請求項７】
前記到来データに基づいて、それぞれの可能な次の状態ごとの条件命令を判定するべく、前記シーケンサと並行して稼働する補助ルックアップテーブルを更に有することを特徴とする請求項１記載のシーケンサ。
【請求項８】
前記シーケンシング要素は、プライマリシーケンシング要素とセカンダリシーケンシング要素を有しており、前記シーケンシング要素の別のものの前記実際の以前の状態に基づいたストア及びトリガの最終的な判定のために、前記プライマリシーケンシング要素内の前記ルックアップテーブルの出力からの可能なストア及びトリガビットが、前記セカンダリシーケンシング要素に送信されることを特徴とする請求項１記載のシーケンサ。
【請求項９】
前記最終的な判定は、最終的カウント条件に更に基づいていることを特徴とする請求項８記載のシーケンサ。
【請求項１０】
前記ストア及びトリガの前記最終的な判定は、前記プライマリシーケンシング要素の個々のものの前記実際の次の状態と並行して実行されることを特徴とする請求項８記載のシーケンサ。
【請求項１１】
リソースに基づいて、個々の可能な以前の状態の可能な次の状態を判定する段階と、
実際の以前の状態に基づいて、実際の次の状態として前記可能な次の状態の中の１つを選択する段階と、
前記実際の次の状態を前記実際の以前の状態として伝達する段階と、
前記判定、選択、及び伝達段階を反復する段階と、
を有するシーケンシングの方法。
【請求項１２】
少なくとも第１及び第２シーケンシング要素が存在しており、それぞれのシーケンシング要素が、前記判定、前記選択、及び前記伝達段階を実行する請求項１１記載のシーケンシングの方法。
【請求項１３】
Ｎ個のシーケンシング要素が存在しており、Ｎは、２よりも大きく、前記Ｎ番目のシーケンシング要素の前記実際の次の状態が、前記１番目のシーケンシング要素の前記実際の以前の状態を提供する請求項１２記載のシーケンシングの方法。
【請求項１４】
少なくとも第１及び第２シーケンサが存在しており、それぞれのシーケンサは、前記判定及び前記選択段階を実行し、前記第１シーケンサは、第１条件におけるＭ個の前記可能な次の状態を判定し、前記第２シーケンサは、第２条件におけるＭ個の前記可能な状態を判定し、状況の状態に基づいて、前記第１及び第２シーケンサからの出力を選択する段階を更に有する請求項１１記載のシーケンシングの方法。
【請求項１５】
前記判定段階は、少なくとも１つの制御信号を判定する段階を更に有する請求項１１記載のシーケンシングの方法。
【請求項１６】
プライマリシーケンシング要素内において可能なストア及びトリガビットを判定する段階と、セカンダリシーケンシング要素内においてストア及びトリガを判定する段階と、を更に有する請求項１１記載のシーケンシングの方法。
【請求項１７】
前記可能なストア及びトリガビットと前記実際の以前の状態を前記セカンダリシーケンシング要素に伝達する段階を更に有する請求項１６記載のシーケンシングの方法。
【請求項１８】
前記判定段階は、最終的カウント偽条件及び最終的カウント真条件における前記シーケンサのすべての状態についてプライマリシーケンシング要素内において前記可能なストア及びトリガを判定する段階を更に有する請求項１６記載のシーケンシングの方法。
【請求項１９】
前記可能なストア及びトリガビット、前記実際の以前の状態、及び最終的カウント状態を前記セカンダリシーケンシング要素に伝達する段階と、前記セカンダリシーケンシング要素が、前記実際の以前の状態と前記最終的カウントに基づいて、ストア及びトリガを判定する段階と、を更に有する請求項１８記載のシーケンシングの方法。
【発明の詳細な説明】
【背景技術】
【０００１】
現在使用されているロジックアナライザは、複数チャネルの到来デジタルデータを観察し、到来データ内に識別されたビットパターンに基づいてデータ保存機能を実行することにより、機能している。ロジックアナライザの知能は、到来データ信号を観察し、到来データパターンに基づいてシグナリングを生成するそのシーケンサにある。このシグナリングは、通常、ロジックアナライザのその他の部分を制御して各種機能を実行させる出力信号の組である。ユーザーは、実行する機能と、それらの指定した機能を実行させる入力パターンを指定することができる。ロジックアナライザのシーケンサは、到来データ内のパターンに基づいて意思決定を行うプログラム可能な状態機械である。状態機械を実装する１つの方法は、ルックアップテーブル（以下、これを「ＬＵＴ」と呼ぶ）を提供する方法である。この結果、ＬＵＴは、シーケンサの新しい状態を示す出力と、指定機能の実行を起動するためのシグナリングと、を提供する入力として、シーケンサの現在の状態と、到来データと、を受け付ける。理想的には、シーケンサは、到来データの速度で動作する。但し、データ速度とチャネルの数が増大するに伴って、到来データに対応可能な十分な速度を有するシーケンサを提供することが困難になる。
【０００２】
このデータ速度の問題に対処する１つの方法は、到来データを逆多重化することにより、速度をＬＵＴが管理可能なものにする方法である。しかしながら、それぞれの逆多重化係数ごとに、シーケンサの実装のためのメモリ要件が幾何学的に増大し、この解決策の費用は、あっという間に法外なものになってしまう。又、逆多重化されたデータをシーケンサで処理するには、更なる時間を要することになり、ある時点において、この処理時間の増大により、逆多重化によって得られる利益が帳消しとなる。別の方法は、ＬＵＴを縦続接続することにより、メモリ要件を低減する方法である。しかしながら、この場合には、不都合なことに、それぞれのＬＵＴと相互接続ロジックは、依然として到来データの速度で動作しなければならない。到来デジタルデータの速度は、現在、２ＧＨｚであり、更に上昇を続けている。現在の技術を使用した場合に、縦続接続されたＬＵＴは、この速度で動作することはできない。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従って、技術の進展に伴う速度改善の機会を有すると共に、到来デジタルデータの速度で動作可能なシーケンサを提供するニーズが存在している。
【課題を解決するための手段】
【０００４】
この発明に係るシーケンサは、それぞれ、リソースを受け付け、前記リソースに基づいて、個々の可能な次の状態を提供し、この場合に、それぞれの可能な次の状態は、前記シーケンシング要素の異なる以前の状態に関連付けられている、複数のルックアップテーブルと、前記可能な次の状態を受け付け、実際の以前の状態に基づいて、実際の次の状態として、前記可能な次の状態の中の１つをシーケンシングマルチプレクサ出力に供するシーケンサマルチプレクサと、を備えた縦続接続で組み合わせられた少なくとも２つのシーケンシング要素を備える。１つの前記シーケンシング要素の前記実際の次の状態が、他方の前記シーケンシング要素の前記実際の以前の状態となるよう構成されている。
【発明を実施するための最良の形態】
【０００５】
添付図面との関連で、以下の詳細な説明を参照することにより、本開示内容を理解することができよう。
【０００６】
まず、図１を参照すれば、本発明の開示内容によるシーケンサ１０２を含むロジックアナライザの基本構成ブロックが示されている。このロジックアナライザは、ＤＵＴ１０８から到来デジタルデータ１０６を受け付ける。このデータは、ＤＵＴクロック１１０によって状態キャプチャレジスタ１０４内にラッチされる。デマルチプレクサ１２２が、このキャプチャレジスタの出力１０７を受け付け、これを８対１に逆多重化し、この逆多重化されたデータ１２６をリソース生成器１２３及びレイテンシーマッチングレジスタ１１２に対して同時に提示する。リソース生成器１２３は、逆多重化されたデータ１２６を受け付け、これを、ユーザーが設定したパターン１２５と比較する。そして、このリソース生成器１２３内におけるパターンマッチングの結果、リソース１２４が生成されることになる。このリソース１２４は、逆多重化されているため、到来データレートと比べて低い速度で、更なるデータ処理を進めることができる。シーケンサ１０２が、このリソース１２４を受け付け、データ保存用の１つ又は複数の制御信号１１４、１１６を生成する。このシーケンサ１０２からの制御信号１１４、１１６（これらは、トリガ（ｔｒｉｇｇｅｒ）１１４及びストア（ｓｔｏｒｅ）１１６と呼ばれる）は、トレースフォーマッタ１１８に接続されている。このトレースフォーマッタ１１８は、レイテンシーマッチングレジスタ１１２の出力１２８を受け付け、ロジックアナライザのユーザーに対して最終的に提示するべく、到来デジタルデータパターン１３０の１つ又は複数のサイクルをメモリ１２０内に選択的に保存する。尚、特定の実施例においては、トリガ制御信号１１４は、ロジックアナライザによる計測を時間軸上において固定している。そして、ストア制御信号１１６は、デジタルデータのいずれか１つのサイクルをメモリ１２０内に保存するかどうかを制御している。
【０００７】
次に、添付図面中の図２を参照すれば、複数のシーケンシング要素２００を有する本開示内容によるシーケンサ１０２の第１実施例が示されている。特定の実施例においては、デマルチプレクサ１２２は、状態キャプチャレジスタ１０４の出力を８対１に逆多重化している。その他の実施例においては、別の逆多重化倍数を採用可能である。この特定の実施例においては、８対１の多重化により、到来データ１０６のそれぞれの８サイクルごとに、１つのリソースサイクルが存在している。この８対１の逆多重化を使用する特定の実施例においては、８個のシーケンシング要素２００が存在しており、１つのシーケンシング要素が、それぞれのデータサイクルを処理している。これらのシーケンシング要素２００は、「実際の次の状態」信号２１８と「実際の以前の状態」信号２１９によって相互接続された縦続接続の組み合わせとして接続されている。即ち、シーケンシング要素の第１のもの２００ａから出力される実際の次の状態２１８が、シーケンシング要素の第２のもの２００ｂに入力される実際の以前の状態２１９になっている。同様に、すべてのシーケンシング要素２００が相互接続されており、第８のシーケンシング要素２００ｈの実際の次の状態２１８が、状態ラッチ３０２内にラッチされ、この状態ラッチ３０４の出力が、第１のシーケンシング要素２００ａに入力される実際の以前の状態２１９に接続されている。従って、このシーケンシング要素の最後のもの２００ｈの実際の次の状態２１８は、次のリソースサイクルにおけるシーケンシング要素の第１のもの２００ａに連絡していることになる。この結果、このシーケンシング要素２００は、到来データの８つのサイクルを具備することにより、次のリソースサイクルを受信する前に、現在のリソースサイクルを正しく処理することになる。それぞれのシーケンシング要素２００は、トレースフォーマッタ１１８に提示するためのストア及びトリガ制御信号１１４、１１６を生成する。又、同様に、レイテンシーマッチングレジスタ１１２とトレースフォーマッタ１１８を通じたデータ経路も逆多重化されており、こちらの処理も、シーケンサ１０２内において進行する処理と並行して進行している。タイミングの観点からは、第１シーケンシング要素２００ａからの制御信号１１４、１１６は、到来データ１０６のそれぞれの８つのサイクルの第１サイクルの制御に関係しており、第２シーケンシング要素２００ｂからの制御信号１１４、１１６は、到来データ１０６のそれぞれの８つのサイクルの第２のサイクルの制御に関係しており、第８のシーケンシング要素２００ｈからの制御信号１１４、１１６は、到来データ１０６のそれぞれの８つのサイクルの最後のサイクルの制御に関係している。従って、特定の実施例においては、トレースフォーマッタ１１８が受信するストア制御信号１１４とトリガ制御信号１１６には、それぞれ８つのものが存在している。
【０００８】
次に、添付図面中の図３を参照すれば、本開示内容による第１シーケンシング要素２００ａの一実施例が示されており、この場合には、個別の第１、第２、第３、及び第４ルックアップテーブル２０１〜２０４として機能する４つのメモリがそれぞれ存在している。それぞれのルックアップテーブル２０１〜２０４は、その入力１２４ａに基づいて、４つの可能な以前の状態の個々のものの次の可能な状態２０５〜２０８を判定するべく構成されている。第１のルックアップテーブル２０１は、以前の実際の状態が状態０であるものと仮定して、入力１２４ａに基づいて次の可能な状態２０５を判定し、第２ルックアップテーブル２０２は、以前の実際の状態が状態１であるものと仮定して、同一の入力１２４ａに基づいて次の可能な状態２０６を判定し、第３ルックアップテーブル２０３は、以前の実際の状態が状態２であるものと仮定して、同一の入力１２４ａに基づいて次の可能な状態２０７を判定し、第４ルックアップテーブル２０４は、以前の実際の状態が状態３であるものと仮定して、同一の入力１２４ａに基づいて次の可能な状態２０８を判定している。尚、この説明用の例においては、４状態の状態機械を示しているが、４つを上回る数の状態を有する状態機械用のシーケンシング要素の代替実施例においては、更なるルックアップテーブルを具備することにより、更なる数の状態に対応することが可能である。それぞれのルックアップテーブル２０１〜２０４は、リソース１２４のサブセットを、その入力１２４ａとして受け付けている。そして、このリソースサブセット１２４ａがルックアップテーブル２０１〜２０４に提示されると、ルックアップテーブル２０１〜２０４の出力に、個々の可能な次の状態２０５〜２０８が提示されることになる。本開示内容のシーケンサは、状態機械であるため、実際の次の状態は、到来データ１０６と実際の以前の状態に基づいたものになっている。次の状態を複数判定することにより、以前の状態のすべての可能性について、条件付きの次の状態が提供されており、ルックアップテーブルの処理段階において、これらの判定は、実際の以前の状態２１９に依存してはいない。そして、これらの可能な次の状態２０５〜２０８が、第１、第２、第３、及び第４シーケンサレジスタ２０９〜２１２内にラッチされている。この第１〜第４シーケンシングレジスタ２０９〜２１２用のシーケンシング要素クロッキング信号２２０は、ＤＵＴクロック１１０から導出されたものである。８対１の逆多重化を有する実施例においては、このクロッキング信号２２０は、ＤＵＴクロック１１０の周波数と同期しており、この１／８になっている。このそれぞれのシーケンサレジスタ２０９〜２１２の出力２１３〜２１６は、次の可能な状態２０５〜２０８のそれぞれのものを反映しており、これらは、シーケンサマルチプレクサ２１７に提示されている。この結果、すべての可能な次の状態が提供されているこのシーケンサマルチプレクサ２１７が、実際の以前の状態２１９に基づいて、次の可能な状態２０５〜２０８の中から実際の次の状態２１８を選択することになる。好都合なことに、この可能な次の状態２０５〜２０８の判定は、実際の以前の状態２１９の判定の前に（又は、これと並行して）実行可能である。従って、この実際の次の状態２１８の最終的な判定は、マルチプレクサによる選択の問題であり、これは、ルックアップテーブルの動作と比べて、高速のプロセスである。又、このルックアップテーブル２０５〜２０８の出力には、処理対象のリソースのサブセット１２４ａに関係するトリガ制御信号１１４及びストア制御信号１１６の値も含まれている。ここで、図２を再度参照すれば、図２のそれぞれのシーケンシング要素２００は、この図３に示されているシーケンシング要素の構造を具備している。実際の次の状態２１８が、第１シーケンシング要素２００ａにより、第１リソースサブセット１２４ａから判定されると、これが、実際の以前の状態として、第２のシーケンシング要素２００ｂに対して提示されることになる。次いで、第２シーケンシング要素２００ｂのシーケンサマルチプレクサ２１７は、第２リソースサブセット１２４ｂから実際の次の状態２１８を選択し、これを第３シーケンシング要素２００ｃに提示可能である。この結果、実際の次の状態２１８が、シーケンシング要素２００ａ〜２００ｈを通じて波状に進行することになる。シーケンサマルチプレクサ２１７に対して、すべての可能な次の状態が既に提供済みであるため、実際の次の状態２１８の判定が、非常に高速で波状に進行可能である。そして、第８のシーケンシング要素２００ｈが、その判定を実行すると、この現在のリソースサイクルのすべてのリソース１２４が処理されることになる。そして、最後のリソースサイクルにおける第８のシーケンシング要素２００ｈの実際の次の状態２１９が、状態ラッチ３０２内に保存される。この結果、次のリソースサイクルのための準備作業として、次のシーケンシングサイクルの実際の以前の状態２１９が、状態ラッチの出力３０４に維持されることになる。尚、当業者であれば、この図２及び図３を参照することにより、それぞれのリソースサブセット１２４ａ〜１２４ｈのルックアップテーブル処理が、並行して行われると共に、個々の入力２１３〜２１６において、シーケンサマルチプレクサ２１７のそれぞれに対して、すべての可能な次の状態が提供されることを理解するであろう。
【０００９】
次に添付図面中の図４を参照すれば、本開示内容によるプロセスのフローチャートが示されている。本開示内容によるシーケンサを使用するロジックアナライザの特定の実施例においては、ＤＵＴ１０８からのＮビットの到来データ１０６と、ＤＵＴクロック１１０と、６つのユーザー指定パターンマッチが存在している。リソース生成器１２３は、８つの逆多重化されたデータ状態のそれぞれを、この６つのパターンマッチと比較し、データサイクルごとに、６つの比較結果ビットを生成する。従って、８対１の逆多重化の場合には（４０２）、リソース生成器１２２は、シーケンサ１０２に提示するべく、６ｘ８＝４８ビットのリソース１２４を生成することになる。そして、８つのシーケンシング要素２００のそれぞれが、この６ビットのリソースサブセット１２４ａ〜１２４ｈをそれぞれ受信する。尚、これらのリソースサブセット１２４ａ〜１２４ｈは、それぞれのシーケンシング要素２００ａ〜２００ｈに対して同時に提示される（４０４）。そして、それぞれのシーケンシング要素２００ａ〜２００ｈ内のルックアップテーブル２０１〜２０４が、それぞれの個々のリソースサブセット１２４ａ〜１２４ｈごとに、すべての可能な次の状態２０５〜２０８を判定する（４０６）。そして、このそれぞれの可能な次の状態２０５〜２０８が、それぞれのシーケンシング要素２００ａ〜２００ｈ内のシーケンシングレジスタ２０９〜２１２内にラッチされ、この結果、シーケンサマルチプレクサ２１７の入力に提供されることになる。以前のシーケンシング要素から、実際の以前の状態２１９が提供されているため、シーケンサマルチプレクサ２１７が、その入力に提供されている可能な次の状態の中の１つを、実際の次の状態２１８として選択する（４０８）。そして、以前のシーケンシング要素２００からのそれぞれの実際の次の状態２１８が、次のシーケンシング要素２００に伝達されることに伴い（４１０）、シーケンシングマルチプレクサ２１７が、適切な次の状態を選択し、この実際の次の状態２１８を、実際の以前の状態２１９として、シーケンサ１０２内を波状に進行させる。そして、第８のシーケンシング要素２００ｈの実際の次の状態２１８が、状態ラッチ３０２内にラッチされ、次のリソースサイクルにおいて使用するべく、実際の以前の状態２１９として、第１のシーケンシング要素２００ａに提示されることになる。尚、このすべての可能な次の状態を判定し、実際の次の状態を選択した後に、この実際の次の状態２１８を実際の以前の状態２１９として次のシーケンシング要素２００に伝達するプロセスは、反復されている（４１２）。
【００１０】
シーケンサの処理の一部として、なんらかのプログラム可能な値において、ロジックアナライザのカウンタを起動し、リソースサブセット１２４ａ〜１２４ｈの値に基づいて、いずれかのシーケンシング要素２００ａ〜２００ｈにより、このカウンタを減分することができる。一例として、特定のパターン又はレンジに対して特定回数だけマッチングした後にトリガするべく、ロジックアナライザをプログラム可能である。このような機能を実行するには、カウンタに値を読み込んでおき、このカウンタが、プログラムされた機能を実行する最終的カウントに到達するまで、それぞれのマッチングごとに、この値を減分する。この結果、カウンタが最終的カウントに到達すると、シーケンサ１０２は、その最終的カウント条件についてプログラムされた内容に応じた動作を実行する。本開示内容によるシーケンサの実施例において、このカウンタを実装するには、それぞれのシーケンシング要素２００が、それぞれの個々のリソースサブセットごとにこのカウンタを処理することになる。尚、ロジックアナライザのカウンタは、十分な幅を有していることが望ましい。但し、カウンタの幅が広いほど、カウンタの処理に要する時間が増大することになる。特定の実施例においては、カウンタは、２４ビット素子である。そして、回路の数とカウンタ処理のための処理時間を低減するべく、この２４ビットカウンタを４ビットカウンタプロキシに圧縮し、シーケンシング要素２００の個々のものの内部で使用している。このカウンタプロキシは、カウンタの上位２１ビットをＯＲ演算によって４番目のビットとして圧縮すると共に、カウンタの下位３ビットをそのまま使用することにより、設定されている。特定の実施例のシーケンサ１０２においては、単一のリソースサイクルにおいて、データの８つのサイクルについて動作しているため、この４ビットのカウンタプロキシは、カウンタが８つのデータサイクル内において最終的カウントに到達したかどうかを判定し、且つ、カウンタの一貫性を失うことなしに、すべてのシーケンシング要素２００の処理を実行するのに、十分な情報である。
【００１１】
次に、添付図面中の図５を参照すれば、このカウンタ及びカウンタプロキシを処理するための回路を含むシーケンサ１０２の別の実施例が示されている。カウンタプロキシは、単純な４ビットカウンタとして、それぞれのシーケンシング要素２００ａ〜２００ｈによって処理されている。そして、すべての８つのシーケンシング要素２００がリソース１２４とカウンタプロキシを処理した後に、カウンタクリーンアップ回路５５０が、次のリソースサイクルの処理のための準備作業として、完全な２４ビットカウンタの一貫性を回復している。リソース処理においては、シーケンシング要素２００がカウンタをリセットするための特定の条件が存在している。一例として、カウンタは、データ内においてマッチングしたパターン又はレンジをカウントすることが可能であり、別のパターンが検出された際にリセットするべくプログラムすることも可能である。リセットの際には、カウンタに、リセット値が読み込まれることになる。特定のロジックアナライザの実装においては、それぞれのシーケンシング要素２００が受領する第１、第２、第３、及び第４の２４ビットカウンタリセット値５１０、５１１、５１２、及び５１３が存在している。リセット条件が発生した際には、シーケンシング要素２００は、シーケンサ１０２の現在の状態に応じて、カウンタリセット値５１０〜５１３の中の１つを選択する。それぞれのシーケンシング要素（例：２００ｂ）が、４ビットの以前のカウンタプロキシ５０１を、以前のシーケンシング要素（例：２００ａ）から受領する。そして、それぞれのシーケンシング要素２００は、それぞれのリソースサブセット１２４と以前のカウンタプロキシ値５０１に基づいて、次のカウンタプロキシ５０３を算出する。この次のカウンタプロキシ５０３が、以前のカウンタプロキシ５０１として、次のシーケンシング要素２００に提示されることになる。そして、カウンタレジスタ５０５が、次のリソースサイクルにおいて、第１のシーケンシング要素２００ａに提示するべく、現在のカウンタ値を保存する。尚、シーケンシング要素２００がカウンタプロキシを処理しているため、カウンタレジスタ５０５内に維持されている２４ビット値の一貫性を回復するべく、第８のシーケンシング要素２００の出力には、カウンタクリーンアップ回路が配設されている。この結果、カウンタレジスタ５０５は、それぞれのリソースサイクルごとに、正しいカウンタ値を維持することになる。
【００１２】
リソース１２４に基づいたシーケンサ１０２のリセットにより、カウンタがリセットされる。カウンタは、シーケンサ１０２の現在の状態に応じて、異なるリセット値にリセット可能である。従って、４状態シーケンサにおいては、４つの個別のカウンタリセット値５１０〜５１３が存在している。１ビットリセット及び２ビットリセット状態が、８つのシーケンシング要素２００を波状に進行することにより、リソースサイクルにわたってカウンタクリーンアップ回路５５０のリセット情報が維持される。尚、リソースサイクルの開始時点においては、リセットが存在しないため、第１リセットイン（ｒｅｓｅｔ＿ｉｎ）５１４ａ及びリセット状態イン（ｒｅｓｅｔ＿ｓｔａｔｅ＿ｉｎ）５１５ａとして、論理「０」が設定される。そして、これらの信号がそれぞれのシーケンシング要素２００を波状に進行するに伴って、それぞれのシーケンシング要素２００は、リセットイン信号５１４及びリセット状態イン信号５１５を以前のシーケンシング要素２００から受領することになる。又、シーケンシング要素２００内においてリセットが発生しない場合には、リセットイン５１４及び状態リセットイン５１５は、リセットアウト（ｒｅｓｅｔ＿ｏｕｔ）５１６及び状態リセットアウト（ｓｔａｔｅ＿ｒｅｓｅｔ＿ｏｕｔ）５１７として、変更されることなく、次のシーケンシング要素２００に伝達されることになる。現在のリソースサイクルにおいて、以前のカウンタ値５０１が、リソース１２４ａに応じて、減分され（又は、減分されることなしに）、次のカウンタ値５０３として、次のシーケンシング要素２００に伝達される。そして、次のシーケンシング要素２００が、以前のカウンタ値５０１として、これを受信することになる。尚、個々のリソースサブセット１２４ａ〜１２４ｈの結果として、リセットが発生した場合には、シーケンシング要素２００は、次のシーケンシング要素２００に対してリセットイン５１４として提示するべく、リセットアウト５１６を設定し、現在のリソースサイクル内においてリセットが発生したことを通知する。又、リセットの際には、シーケンシング要素２００は、リセットが発生した状態を通知するリセット状態アウト５１７をも設定する。そして、このリセット状態アウト５１７は、リセット状態イン５１５として、次のシーケンシング要素２００に提示される。又、シーケンシング要素２００は、更に、シーケンシング要素の次の状態によって判定されるカウンタリセット値５１０〜５１３の中の１つに基づいて、カウンタプロキシアウト５０３を適切なカウンタプロキシリセット値にリセットする。そして、すべてのシーケンシング要素２００によるリセット状態５１７及びリセット信号５１４の処理が完了した後に、カウンタクリーンアップ回路５５０が、次のリソースサイクルのために、カウンタ値の一貫性を回復する。シーケンシング要素２００が、４ビットカウンタプロキシを単純なカウンタとして取り扱っているため、最後のシーケンシング要素２００ｈからの４ビットカウンタプロキシアウト５０３の最上位ビットは、最上位の４番目のビットがプロキシであるカウンタの上位２１ビットに対して、最後のリソースサイクル内において、借り（ｂｏｒｒｏｗ）が発生したかどうかの標識である。具体的には、最後のシーケンシング要素のカウントプロキシアウト５０３の４番目のビットが「０」である場合には、４ビットのカウンタプロキシの最上位ビットにおいて借りが発生している。従って、この最後のシーケンシング要素のカウントプロキシアウト５０３の４番目のビットのゼロ値は、次のリソースサイクルのための準備作業におけるカウンタの上位２１ビットの減分を示している。一方、４ビットカウンタプロキシアウト５０３の最上位ビットにおいて借りが発生していない場合には（即ち、カウントプロキシアウトの４番目のビットの値が「１」である場合には）、カウンタの上位２１ビットにおける減分は示されていない。カウンタクリーンアップ回路は、それぞれのカウンタリセット値５１０〜５１３のこの上位２１ビットを受領して、それぞれの値を１だけ減分５４９し、この減分された値を４対１の第１状態カウンタマルチプレクサ５５１に提示することにより、リセットの際のカウンタの上位２１ビットの正しい値を算出する。又、それぞれのカウンタリセット値の同一の上位２１ビットは、減分されることなしに、４対１の第２状態カウンタマルチプレクサ５５２にも提示されている。この減分リセットカウンタマルチプレクサ５５１とリセットカウンタマルチプレクサ５５２に対する４つの可能な入力のいずれかの選択は、状態リセットアウト５１７を使用して実行される。従って、リセットと、プロキシによって通知された借りと、が存在する場合と、リセットは存在するが、プロキシによって通知されたリセットは存在していない場合のカウンタの上位２１ビットを表す（第１及び第２状態カウンタマルチプレクサ５５１、５５２の出力に提供される）カウンタの２つの可能な上位２１ビットが存在している。又、現在のカウンタの減分済みの及び減分されていない値も、カウンタクリーンアップ回路内において予め算出されている。この現在のカウンタの減分済みの及び減分されていない値は、個々の第１及び第２リセットマルチプレクサ５５３、５５４への入力として提示される。第１及び第２リセットマルチプレクサ５５３、５５４に対するもう１つの入力は、個々の第１及び第２状態カウンタマルチプレクサ５５１、５５２の出力である。第１及び第２リセットマルチプレクサ５５３、５５４の出力にどの値を提示するかの選択は、最後のシーケンシング要素２００ｈのリセットアウト５１４に基づいて実行される。従って、第１及び第２リセットマルチプレクサの出力は、既にリセット状態を処理済の減分された又は減分されていない状態のカウンタの正しい上位２１ビットを提供している。この第１及び第２リセットマルチプレクサ５５３、５５４の出力は、借り選択マルチプレクサ５５５に提示されている。そして、最後のシーケンシング要素２００ｈからのカウンタプロキシアウト５０３のプロキシビット５５６が、借り選択マルチプレクサ５５５に提示された入力のいずれをその出力に提示するかの選択を行っている。即ち、プロキシビット５５６が０値を具備している場合には、最後のリソースサイクル内のいずれかの時点において、借りが発生しており、カウンタの正しい上位２１ビットの減分された選択が実行されることになる。一方、ブロキシビット５５６が１値を具備している場合には、借りは、発生しておらず、カウンタの正しい上位２１ビットの減分されていない選択が実行されることになる。従って、この借り選択マルチプレクサ５５の出力は、リセット及び借り処理後のカウンタの正しい上位２１ビットを表している。そして、この借り選択マルチプレクサ５５５の出力は、カウンタレジスタ５０５内に保存するべく、カウントアウト５０３の下位３ビットと再結合され、これが、次のクロックエッジにおいてラッチされることになる。従って、カウンタレジスタ５０５内の値は、正しいカウンタ値を反映している。次いで、このカウンタレジスタ５０５の下位３ビットは、次のリソースサイクルにおける第１シーケンシング要素２００ａ用の以前のカウンタプロキシ値５０１の下位３ビットとして戻される。一方、カウンタレジスタ５０５の上位２１ビットは、次のリソースサイクルにおける第１シーケンシング要素２００ａ用の以前のカウンタプロキシ値５０１のカウンタプロキシビットとしてＯＲ演算によって圧縮される。そして、この上位２１ビットも、次のリソースサイクルにおけるカウンタ処理に使用するべく、クリーンアップ回路５５０に提示される。
【００１３】
次に、添付図面中の図６を参照すれば、本開示内容によるシーケンシング要素２００の一実施例が示されている。この図６の実施例は、添付図面中の図３に示されているものと同一の４状態の状態機械を実装すると共に、図５に関連して説明したカウンタ処理を実行するべく構成されている。この図６の実施例においては、それぞれのシーケンシング要素２００内に４つのルックアップテーブルの第１及び第２の組が存在している。ルックアップテーブルの第１の組２０１ａ〜２０４ａは、最終的カウント条件が偽である場合に、リソースサブセット１２４ａに基づいて４つの可能な次の状態２１３ａ〜２１６ａを判定する。一方、４つのルックアップテーブルの第２の組２０１ｂ〜２０４ｂは、最終的カウント条件が真である場合に、リソースサブセット１２４ａに基づいて、４つの可能な次の状態２１３ｂ〜２１６ｂを判定する。そして、このルックアップテーブルのそれぞれの組２０１ａ〜２０４ａ及び２０１ｂ〜２０４ｂは、それぞれ関連する個別のシーケンサマルチプレクサ２１７ａ及び２１７ｂを具備している。それぞれのシーケンサマルチプレクサ２１７ａ、２１７ｂは、実際の以前の状態２１９を受信して、それぞれのシーケンサマルチプレクサ出力の選択を制御している。又、この図６の実施例においては、ルックアップテーブル２０１ａ〜２０４ａ及び２０１ｂ〜２０４ｂに提示されるものと同一のリソースサブセット１２４ａを受け付けるカウンタルックアップテーブル６２２をも具備している。このカウンタルックアップテーブル６２２は、それぞれの可能な状態ごとに、リソースサブセット１２４ａに基づいて、カウンタを減分するかどうかを通知する４つの可能な１ビット減分信号６２３を判定する。そして、この４つの可能な減分信号６２３は、４ビットの減分ラッチ６２４内に保存される。カウンタマルチプレクサ６２６は、この４つの可能な減分信号６２３を受け付け、実際の以前の状態２１９に基づいて、実際の減分信号６２８の選択を実行する。シーケンシング要素２００は、以前のシーケンシング要素２００から、以前のカウンタプロキシ５０１を受信する。この以前のカウンタプロキシ５０１は、カウンタ比較６３６において、１の値に照らしてチェックされる。そして、以前のカウンタプロキシ５０１が１に等しい場合には、カウンタ比較６３６は、カウンタ比較出力６３８に１を提示する。一方、以前のカウンタプロキシ値が、１と等しくない場合には、カウンタ比較６３６は、その出力６３８に「０」を提示することになる。このカウンタ比較出力６３８と実際の減分制御信号６２８は、２入力ＡＮＤ最終的カウントゲート６４３に入力されている。この最終的カウントゲート６４０の出力は、カウンタがその最終的カウントにあるかどうかを示す最終的カウント状態６４５を提供している。そして、カウンタがその最終的カウントにある場合には、最終的カウントマルチプレクサ６４２は、真の最終的カウント状態に関連するシーケンサマルチプレクサ２１７ｂの出力を選択する。一方、そうでない場合には、最終的カウントマルチプレクサ６４２は、偽の最終的カウント状態に関連したシーケンサマルチプレクサ２１７ａの出力を選択することになる。
【００１４】
シーケンシング要素２００内のカウンタ処理の一部として、シーケンシング要素２００は、第１〜第４カウンタリセットプロキシ６１０〜６１３として、上位２１ビットのＯＲ演算圧縮された結果を含むそれぞれのカウンタリセット値５１０〜５１３の下位３ビットを受け付ける。それぞれのルックアップテーブル２０１〜２０４が、これを、個々のカウンタリセットプロキシマルチプレクサ６１４ａ〜６１７ａ及び６１４ｂ〜６１７ｂと関連付けている。それぞれの可能な状態ごとの適切な可能なカウンタリセットプロキシ６１９の選択は、それぞれのルックアップテーブル２０１ａ〜２０４ａ及び２０１ｂ〜２０４ｂの次の状態出力６１８によって実行される。そして、この可能なカウンタリセットプロキシ値６１９は、個々のルックアップテーブル２０１ａ〜２０４ａ及び２０１ｂ〜２０４ｂの出力と組み合わせられ、これには、２ビットの次の状態情報、ストア、トリガ、及びリセットを含む合計９ビットの情報が含まれている。従って、最終的カウント偽条件及び最終的カウント真条件の適切なカウンタリセットプロキシ６１９ａ及び６１９ｂの選択は、実際の次の状態２１８、ストア１１４、トリガ１１６、及びリセット判定の一部として、シーケンシングマルチプレクサ２１７ａ、２１７ｂによって実行される。この２つの可能なカウンタリセットプロキシ６１９ａ、６１９ｂと、ルックアップテーブル２０１ａ〜２０４ａ及び２０１ｂ〜２０４ｂによって算出される２つの可能な次の状態は、第１及び第２プロキシ／リセットマルチプレクサ６２０、６２１に提示される。この第１及び第２プロキシ／リセットマルチプレクサ６２０、６２１に対するもう１つの入力は、実際のカウンタプロキシ５０３である。この実際のカウンタプロキシ５０３は、以前のカウンタプロキシ値５０１を受け付け、参照符号６３２においてこれを１だけ減分し、次いで、この減分された値を減分マルチプレクサ６３４に提示することにより、シーケンシング要素２００によって処理される。又、減分マルチプレクサ６３４には、減分されていないカウンタプロキシ５０１も提示される。参照符号６３２からの減分されたカウンタプロキシ値と減分されていないカウンタプロキシ値間における選択は、実際の減分信号６２８によって実行される。前述のように、真及び偽の最終的カウント条件の減分された／減分されていないカウンタプロキシ及びカウンタリセットプロキシ６１９ａ、６１９ｂ間における選択は、第１及び第２プロキシ／リセットマルチプレクサ６２０、６２１における現在のリセット６４０ａ、６４０ｂによって実行される。この第１及び第２プロキシ／リセットマルチプレクサ６２０、６２１の出力は、真及び偽の最終的カウント条件の２つの可能なカウンタプロキシ、ストア、トリガ、次の状態、リセットを提供している。そして、最終的カウントマルチプレクサ６４２を使用し、この２つの可能なグルーピングを選択することにより、実際のカウンタプロキシ５０３、ストア１１４、トリガ１１６、実際の次の状態２１８、及び現在のリセット６４４を判定する。この現在のリセット６４４は、リセットアウト５１６として提示される前に、リセットＡＮＤゲート６５０において結合される。
【００１５】
次に、添付図面中の図７を参照すれば、本開示内容によるシーケンサ１０２の別の実施例が示されており、この場合には、ストア及びトリガ１１４、１１６の判定が、次の状態、カウント、及びリセット判定から除去され、パラレル機能ブロック内に配置されている。この図７の実施例においては、シーケンシング要素インターフェイス７０２によって通信するプライマリ及びセカンダリシーケンシング要素２００、７００が存在している。８対１データ／リソース逆多重化を使用する一実施例においては、８つのプライマリシーケンシング要素２００ａ〜２００ｈが存在しており、個々のシーケンシング要素インターフェイス７０２ａ〜７０２ｈを介して８つのセカンダリシーケンシング要素７００ａ〜７００ｈと通信状態にある。それぞれのシーケンシング要素インターフェイス７０２は、実際の以前の状態２１９のラッチされた値である状態オン（ｓｔａｔｅ＿ｏｎ）７１９と、最終的カウント真条件におけるそれぞれの可能な次の状態のストア信号と最終的カウント偽条件におけるそれぞれの可能な状態のストア信号を有するストアアレイ７０３と、最終的カウント真条件におけるそれぞれの可能な次の状態のトリガ信号と最終的カウント偽条件におけるそれぞれの可能な状態のトリガ信号を有するトリガアレイ７０４と、最終的カウント状態６４５と、を有している。このストア及びトリガアレイ７０３、７０４は、それぞれ８ビットである。セカンダリシーケンシング要素７００ａは、状態オン７１９、ストア及びトリガアレイ７０３、７０４、及び最終的カウント６４５を受け付け、それぞれのシーケンシング要素２００／７００ごとのストア１１４及びトリガを判定する。尚、それぞれのシーケンシング要素及びカウンタクリーンアップ回路に対する入力は、図５及び図６に図示及び説明されているものと同一である。
【００１６】
次に、添付図面中の図８を参照すれば、本開示内容によるプライマリシーケンシング要素２００の一実施例が示されており、この場合には、それぞれのルックアップテーブル出力から可能なストア及びトリガ７０３、７０４を取り出し、これをストア／トリガメモリ要素７０５内にラッチするという適合を図６のシーケンシング要素に加えている。それぞれのルックアップテーブルは、ストア／トリガメモリ要素７０３、７０４の個々のものと関連付けられている。真及び偽の最終的カウント条件用のルックアップテーブルの２つの別個の組が存在している特定の実施例においては、両方の最終的カウント条件用の可能なストア及びトリガ７０３、７０４も存在している。従って、この図示の実施例においては、ルックアップテーブル２０１ａは、可能なストアビット７０３ａ及び可能なトリガビット７０４ａに関連付けられており、ルックアップテーブル２０２ａは、可能なストアビット７０３ｂ及び可能なトリガビット７０４ｂに関連付けられており、ルックアップテーブル２０４ｂは、可能なストアビット７０３ｈ及び可能なトリガビット７０４ｈに関連付けられている。
【００１７】
次に、添付図面中の図９を参照すれば、セカンダリシーケンシング要素７００が、それぞれのプライマリシーケンシング要素／セカンダリシーケンシング要素２００／７００の組み合わせ用のストア１１４及びトリガ１１６の最終的な判定を実行している。それぞれのセカンダリシーケンシング要素７００は、シーケンシング要素インターフェイス７０２によってストア７０３及びトリガ７０４を受け付ける。偽の最終的カウント条件における可能なストア及びトリガビットが、第１のセカンダリシーケンシング要素マルチプレクサ９０１に対して提示される。同様に、真の最終的カウント条件における可能なストア及びトリガビットが、第２のセカンダリシーケンシング要素マルチプレクサ９０２に対して提示される。そして、可能なストア及びトリガビットの適切なものの選択は、最終的カウントの偽及び真条件用の状態オン７１９信号を使用して実行される。最終的なストア１１４及びトリガ１１６の判定は、偽及び真の最終的カウント条件用の適切なストア及びトリガビットを第３セカンダリシーケンシングマルチプレクサ９０３に対して提示することによって行われ、選択は、最終的カウント６４５を使用して実行される。この第３セカンダリシーケンシングマルチプレクサ９０３の出力が、プライマリ及びセカンダリシーケンシング要素２００／７００の組み合わせ用のストア／トリガ１１４、１１６である。
【００１８】
以上、本開示内容による実施例について、本明細書において一例として説明したが、当業者には、具体的に開示されていない（添付の請求項の範囲内に属する）その他の実施例についても、本開示内容の利益と共に、明らかであろう。例えば、本明細書で前述のように、本開示内容は、多くの異なる逆多重化係数に対して適用可能である。８対１を上回る逆多重化係数の場合には、回路を実装するための回路面積が結果的に増大するが、動作速度を向上させることができる。但し、逆多重化係数が増大するに伴い、結局、回路は、過剰なレイアウト寄生インピーダンスを被り動作速度が落ちることになる。現在の技術水準に鑑み、現時点においては、８対１の逆多重化が好ましいことが判明している。代替実施例の別の例においては、以前の及び次の状態は、開示した２ビット２値エンコーディングではなく、４ビットワンホットエンコーディングによって表現することができる。それぞれのシーケンシング要素２００内のロジックにより、以前の状態情報を処理する２値入力マルチプレクサ２１７を置換可能であるため、４ビットワンホットエンコーディングにより、速度を向上させることができる。
【図面の簡単な説明】
【００１９】
【図１】ロジックアナライザのブロックダイアグラムである。
【図２】本開示内容によるシーケンサの回路図である。
【図３】本開示内容によるシーケンシング要素の回路図である。
【図４】本開示内容によるプロセスのフローチャートである。
【図５】本開示内容によるそれぞれシーケンサ及びシーケンシング要素の別の実施例を示している。
【図６】本開示内容によるそれぞれシーケンサ及びシーケンシング要素の別の実施例を示している。
【図７】本開示内容によるシーケンサ及びシーケンシング要素の別の実施例を示している。
【図８】本開示内容によるシーケンサ及びシーケンシング要素の別の実施例を示している。
【図９】本開示内容によるシーケンサ及びシーケンシング要素の別の実施例を示している。
【符号の説明】
【００２０】
１０２  シーケンサ
１１４、１１６  ストア及びトリガ制御信号
１２４  リソース
２００、７００  シーケンシング要素
２０１〜２０４  ルックアップテーブル
２０５〜２０８  可能な次の状態
２１７  シーケンサマルチプレクサ
２１８  実際の次の状態
２１９、７１９  実際の以前の状態
６２２  補助ルックアップテーブル
６２３  条件命令
６４５  最終的カウント状態
【図１】
2006178970.tif 000003
【図２】
2006178970.tif 000004
【図３】
2006178970.tif 000005
【図４】
2006178970.tif 000006
【図５】
2006178970.tif 000007
【図６】
2006178970.tif 000008
【図７】
2006178970.tif 000009
【図８】
2006178970.tif 000010
【図９】
2006178970.tif 000011