JP2011117967A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2011117967A5 JP2011117967A5 JP2010271992A JP2010271992A JP2011117967A5 JP 2011117967 A5 JP2011117967 A5 JP 2011117967A5 JP 2010271992 A JP2010271992 A JP 2010271992A JP 2010271992 A JP2010271992 A JP 2010271992A JP 2011117967 A5 JP2011117967 A5 JP 2011117967A5
- Authority
- JP
- Japan
- Prior art keywords
- regular expression
- serial bit
- bit string
- alignment
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Description
本発明は、試験測定機器及び方法に関し、特に、正規表現を用いて直列ビット列を処理する試験測定機器及び方法に関する。
文字列の分析に正規表現を用いることができる。例えば、Perl及びAWKなどのプログラムは、正規表現パターン・マッチングに基づいている。正規表現を用いて、文字の列のマッチングを定義できる。
「8b/10b」の記事、Wikipedia(英語版)、[オンライン]、[2014年7月7日検索]、インターネット<http://en.wikipedia.org/wiki/8b/10b_encoding>
「8b/10b」の記事、Wikipedia(日本版)、[オンライン]、[2014年7月7日検索]、インターネット<http://ja.wikipedia.org/wiki/8b/10b>
しかし、こうした正規表現マッチングは、バイト、ワード、又は他の多ビット・フォーマットに既に変換されたデータに対して実行される。その一方、直列ビット列は、かかる多ビット・フォーマットにグループ化されない。
本発明の概念は、次の通りである。
(1)ユーザ・インタフェースと;直列ビット列を受け、正規表現を上記直列ビット列に適用し、上記直列ビット列への上記正規表現の適用に応答して上記ユーザ・インタフェースを介して取り込んだデータを表すように構成された制御器とを具えた試験測定機器。
(2)上記制御器は、上記正規表現のアライメント正規表現を用いて上記直列ビット列を検索し、上記直列ビット列での上記アライメント正規表現に対するマッチングに応答して上記正規表現の残部を適用するように構成された概念1の試験測定機器。
(3)上記制御器は、上記正規表現が定義した幅に応答して上記正規表現を上記直列ビット列に適用したときに、上記直列ビット列を参照するインデックスを増分するように更に構成された概念1の試験測定機器。
(4)上記制御器は、上記正規表現の幅に等しい上記直列ビット列を参照する複数のインデックスを用いて上記正規表現を上記直列ビット列に適用し、複数の上記インデックスからを選択するように更に構成された概念1の試験測定機器。
(5)トリガ信号を発生するように構成されたトリガ・システムを更に具え;上記制御器は、上記トリガ信号に関連した上記直列ビット列を参照するインデックスを用いて上記正規表現を上記直列ビット列に適用するように更に構成された概念1の試験測定機器。
(6)上記制御器は、上記ユーザ・インタフェースに応答して上記直列ビット列を参照するインデックスを発生し、上記インデックスを用いて上記正規表現を上記直列ビット列に適用するように更に構成された概念1の試験測定機器。
(7)上記制御器は、上記正規表現のデータを上記正規表現のマッチングに関連するように更に構成された概念1の試験測定機器。
(8)上記ユーザ・インタフェースは、予め定義した正規表現のデータを提示するように構成され;上記制御器は、上記予め定義した正規表現の上記提示したデータに関連したユーザ入力に応答して上記正規表現を形成するように構成された概念1の試験測定機器。
(9)上記直列ビット列への上記正規表現のマッチングに応答して取込みをトリガするように構成されたトリガ・システムを更に具える概要1の試験測定機器。
(10)直列ビット列を受け;正規表現を上記直列ビット列に適用し;上記直列ビット列への上記正規表現の適用に応答しユーザ・インタフェースを介して取込みデータを提示する方法。
(11)更に、上記正規表現のアライメント正規表現を用いて上記直列ビット列を検索し;上記アライメント正規表現への上記直列ビット列でのマッチングに応答して上記正規表現の残部を適用する概念10の方法。
(12)更に、上記正規表現が定義した幅に応答して上記正規表現を上記直列ビット列に適用したときに、上記直列ビット列を参照するインデックスを増分する概念10の方法。
(13)更に、上記正規表現の幅に等しい上記直列ビット列を参照する多数のインデックスを用いて上記正規表現を上記直列ビット列に適用し;複数の上記インデックスから上記正規表現への最大数のマッチングを有する1個のインデックスを選択する概念10の方法。
(14)更に、トリガ信号に関連した上記直列ビット列を参照するインデックスを用いて上記正規表現を上記直列ビット列に適用する概念10の方法。
(15)更に、上記ユーザ・インタフェースに応答して上記直列ビット列を参照するインデックスを発生し;上記インデックスを用いて、上記正規表現を上記直列ビット列に適用する概念10の方法。
(16)更に、上記正規表現のデータを上記直列ビット列における上記正規表現のマッチングに関連させる概念10の方法。
(17)更に、予め定義した正規表現のデータを提示し;上記予め定義した正規表現の上記提示したデータに関連したユーザ入力に応答して上記正規表現を形成する概念10の方法。
(18)更に、上記直列ビット列への上記正規表現のマッチングに応答して取込みをトリガする概念10の方法。
(19)ユーザ・インタフェースと;上記ユーザ・インタフェースを介して予め定義した正規表現のデータを提示し、上記予め定義した正規表現の上記提示したデータに関連したユーザ入力に応答して上記正規表現を形成するように構成された制御器とを具える試験測定機器。
(20)上記制御器は、上記ユーザ・インタフェースを介した上記予め定義された正規表現に関連した少なくとも1個のマッチング値を受け、上記少なくとも1個のマッチング値を上記正規表現に加えるように構成された概念19の試験測定機器。
(21)上記制御器は、上記予め定義された正規表現から上記正規表現を形成し、上記予め定義された正規表現の要素に関連した値を受け、上記値に応答して上記正規表現を変更するように構成された概念19の試験測定機器。
(1)ユーザ・インタフェースと;直列ビット列を受け、正規表現を上記直列ビット列に適用し、上記直列ビット列への上記正規表現の適用に応答して上記ユーザ・インタフェースを介して取り込んだデータを表すように構成された制御器とを具えた試験測定機器。
(2)上記制御器は、上記正規表現のアライメント正規表現を用いて上記直列ビット列を検索し、上記直列ビット列での上記アライメント正規表現に対するマッチングに応答して上記正規表現の残部を適用するように構成された概念1の試験測定機器。
(3)上記制御器は、上記正規表現が定義した幅に応答して上記正規表現を上記直列ビット列に適用したときに、上記直列ビット列を参照するインデックスを増分するように更に構成された概念1の試験測定機器。
(4)上記制御器は、上記正規表現の幅に等しい上記直列ビット列を参照する複数のインデックスを用いて上記正規表現を上記直列ビット列に適用し、複数の上記インデックスからを選択するように更に構成された概念1の試験測定機器。
(5)トリガ信号を発生するように構成されたトリガ・システムを更に具え;上記制御器は、上記トリガ信号に関連した上記直列ビット列を参照するインデックスを用いて上記正規表現を上記直列ビット列に適用するように更に構成された概念1の試験測定機器。
(6)上記制御器は、上記ユーザ・インタフェースに応答して上記直列ビット列を参照するインデックスを発生し、上記インデックスを用いて上記正規表現を上記直列ビット列に適用するように更に構成された概念1の試験測定機器。
(7)上記制御器は、上記正規表現のデータを上記正規表現のマッチングに関連するように更に構成された概念1の試験測定機器。
(8)上記ユーザ・インタフェースは、予め定義した正規表現のデータを提示するように構成され;上記制御器は、上記予め定義した正規表現の上記提示したデータに関連したユーザ入力に応答して上記正規表現を形成するように構成された概念1の試験測定機器。
(9)上記直列ビット列への上記正規表現のマッチングに応答して取込みをトリガするように構成されたトリガ・システムを更に具える概要1の試験測定機器。
(10)直列ビット列を受け;正規表現を上記直列ビット列に適用し;上記直列ビット列への上記正規表現の適用に応答しユーザ・インタフェースを介して取込みデータを提示する方法。
(11)更に、上記正規表現のアライメント正規表現を用いて上記直列ビット列を検索し;上記アライメント正規表現への上記直列ビット列でのマッチングに応答して上記正規表現の残部を適用する概念10の方法。
(12)更に、上記正規表現が定義した幅に応答して上記正規表現を上記直列ビット列に適用したときに、上記直列ビット列を参照するインデックスを増分する概念10の方法。
(13)更に、上記正規表現の幅に等しい上記直列ビット列を参照する多数のインデックスを用いて上記正規表現を上記直列ビット列に適用し;複数の上記インデックスから上記正規表現への最大数のマッチングを有する1個のインデックスを選択する概念10の方法。
(14)更に、トリガ信号に関連した上記直列ビット列を参照するインデックスを用いて上記正規表現を上記直列ビット列に適用する概念10の方法。
(15)更に、上記ユーザ・インタフェースに応答して上記直列ビット列を参照するインデックスを発生し;上記インデックスを用いて、上記正規表現を上記直列ビット列に適用する概念10の方法。
(16)更に、上記正規表現のデータを上記直列ビット列における上記正規表現のマッチングに関連させる概念10の方法。
(17)更に、予め定義した正規表現のデータを提示し;上記予め定義した正規表現の上記提示したデータに関連したユーザ入力に応答して上記正規表現を形成する概念10の方法。
(18)更に、上記直列ビット列への上記正規表現のマッチングに応答して取込みをトリガする概念10の方法。
(19)ユーザ・インタフェースと;上記ユーザ・インタフェースを介して予め定義した正規表現のデータを提示し、上記予め定義した正規表現の上記提示したデータに関連したユーザ入力に応答して上記正規表現を形成するように構成された制御器とを具える試験測定機器。
(20)上記制御器は、上記ユーザ・インタフェースを介した上記予め定義された正規表現に関連した少なくとも1個のマッチング値を受け、上記少なくとも1個のマッチング値を上記正規表現に加えるように構成された概念19の試験測定機器。
(21)上記制御器は、上記予め定義された正規表現から上記正規表現を形成し、上記予め定義された正規表現の要素に関連した値を受け、上記値に応答して上記正規表現を変更するように構成された概念19の試験測定機器。
本開示では、直列ビット列用の正規表現エンジンを有する試験測定機器の実施例を説明する。
図1は、本発明の実施例による正規表現エンジンを有する試験測定機器のブロック図である。この機器は、直列ビット列10を受けるように構成された制御器12を含む。直列ビット列10は、種々の方法で発生できる。例えば、機器は、入力信号をデジタル化するように構成されたオシロスコープにできる。デジタル化アナログ信号として表すことができるデジタル化入力信号がデジタル・データを表すことができる。すなわち、デジタル化入力信号は、データ・ストリームの一連のビットを表すことができる。直列ビット列10は、デジタル化入力信号から抽出されたかかる一連のビットにできる。
他の実施例において、機器は、ロジック・アナライザにできる。ロジック・アナライザは、入力信号をしきい値と比較して、チャネル用の直列ビット列を発生するように構成できる。直列ビット列10は、ロジック・アナライザのチャネルからのかかるビデオ・ストリームでもよい。直列ビット列を発生できる機器は、ここで説明する如く正規表現エンジンを含むことができる。
実施例において、直列ビット列10は、制御器12が処理する直前に取り込まれる必要がない。例えば、直列ビット列10をメモリに蓄積することができる。かかるメモリは、取込みメモリにできる。他の実施例において、直列ビット列10は、ディスク・ドライブ又は他の大容量蓄積装置の如き不揮発性メモリに蓄積できる。
直列ビット列10のソースに関係なく、制御器12は、直列ビット列10を受けるように構成できる。制御器12は、任意の種々の回路にできる。例えば、所望に応じて、デジタル信号プロセッサ(DSP)、マイクロプロセッサ、プログラマブル・ロジック装置、汎用プロセッサ、又は、適切な周辺装置を有する他の処理システムを制御器12として用いて、正規表現エンジン13の機能を実現できる。制御器12を実現するのには、完全に集積したものと完全にディスクリートな部品との間の、あらゆるバリエーションを利用できる。正規表現エンジン13は、正規表現を直列ビット列10に適用する制御器12の機能を表す。
制御器12は、ユーザ・インタフェース14に結合される。ユーザ・インタフェース14は、任意の種々のインタフェースを含むことができる。例えば、ユーザ・インタフェース14は、ボタン、ノブ、スライダ、キーボード、ポインティング・デバイスなどの入力インタフェースを含むことができる。ユーザ・インタフェース14は、表示器、光、スピーカなどの出力インタフェースを含むことができる。ユーザ・インタフェース14は、コミュニケーション・インタフェース、タッチ・スクリーンなどの入出力インタフェースを含むことができる。任意の種々のユーザ・インタフェース又はかかるユーザ・インタフェースの組合せをユーザ・インタフェースとして用いることができる。
制御器12は、直列ビット列10への正規表現の適用に応答して、ユーザ・インタフェースにより取込みデータを表すように構成できる。実施例において、取込みデータは、直列ビット列10自体にできる。しかし、他の実施例において、取込みデータ及び直列ビット列10を違えることができる。例えば、更に詳細に後述するように、正規表現の直列ビット列でのマッチングを用いて、取込みデータとして取り込む他のデータをトリガできる。
正規表現エンジン13を用いて、直列ビット列10の種々の表現に影響できる。例えば、更に詳細に後述するように、データを正規表現に関連づけることができる。このデータは、マッチング・ビット・シーケンスにてエンコードされたシンボルを表すことができる。オーバーレイとしてのシンボル、シンボル自体などにより、直列ビット列10を表すことができる。
他の例において、正規表現エンジン13を用いて、直列ビット列10、関連したデータなどにて、パターンを検索、マーク付け、又はそうでなければ識別をできる。例えば、オシロスコープにて、特定のビット・シーケンスに対して取込み信号を表すデジタル化波形を検索できる。ユーザ・インタフェースにより、デジタル化波形の関連シーケンスを表すことができる。代わりに、関連シーケンスにマークを付けることができる。
他の例において、正規表現エンジン13を用いて、取込みデータを濾波できる。例えば、更に詳細に後述するように、正規表現は、特定のデバイスからのパケットのみにマッチングするマッチング値及びパケット構造を定義できる。データの取込みを濾波できるので、マッチングした取込みのみを蓄積する。
他の実施例において、正規表現エンジン13の出力は、単なるマッチング以上にできる。例えば、直列ビット列10は、取込みデジタル化波形に関連できる。値対時間としてデジタル波形を表すことができる。マッチングが出力されると、関連したデジタル化波形内の時間の如き追加データを出力に追加できる。
図2は、本発明の実施例によるデジタイザ・フロント・エンドを有する図1の試験測定機器のブロック図である。デジタイザ20は、入力信号22をデジタル化して、直列データ列10を発生するように構成できる。
図示しないが、各デジタイザ20は、必要に応じてアナログ・チャネル内に前置増幅器、減衰器、フィルタ及び/又は他のアナログ回路を有することができる。よって、デジタイザ20への入力信号を、デジタル化の前に、増幅し、減衰し、又はそうでなければ濾波できる。さらに、デジタイザ20は、信号をデジタル化できる任意の種々の回路にできる。例えば、デジタイザ20は、必要に応じて関連入力信号をサンプリングするためにトラック及びホールド回路、A/D変換器、デマルチプレクサ回路の如き回路を含むことができる。
図3は、本発明の実施例による正規表現エンジンからのビット・シーケンスに対応する波形とマッチング・ビット・シーケンスとを示す。実施例において、正規表現文法は、次のように定義できる。
<RegExpr> := 1 | 0 | X
| <RegExpr> <RegExpr>
| <RegExpr> | <RegExpr>
| <RegExpr> +
| <RegExpr> *
| <RegExpr> ?
| <RegExpr> * INTEGER
| (<RegExpr>)
;
| <RegExpr> <RegExpr>
| <RegExpr> | <RegExpr>
| <RegExpr> +
| <RegExpr> *
| <RegExpr> ?
| <RegExpr> * INTEGER
| (<RegExpr>)
;
この例において、マッチング・ビットは、1、0又はドントケアXとして定義できる。正規表現に、正規表現が続くことができる。代わりの正規表現は、OR「|」演算子で定義できる。1個以上の「+」又は0個以上の「*」の演算子を用いて、繰り返し正規表現を潜在的に定義できる。「?」演算子は、0又は1個の前の正規表現を意味できる。「*」演算子に続く整数は、正規表現の繰り返し数を意味できる。括弧を用いて、正規表現又は一連の正規表現をグループ分けできる。特定の文法について上述したが、実施例は、他の文法も使用できる。特に、他の文法による更なる例を以下に示す。さらに、正規表現エンジン13が用いる文法は、上述の文法又は以下の文法の全ての概念を実現するのにただ必要なだけではない。
例として上述の文法を用いたが、正規表現を用いてマッチングを定義できる。例えば、「1010000110」を正規表現として定義できる。波形44及び対応デジタル値46を図3に示す。ビット・シーケンス40がビット「1010000110」なので、これをマッチングとして識別できる。しかし、ビット・シーケンス42は、このシーケンスにマッチングしない。
別の正規表現を「1010XX0110」と定義できる。上述の例とは対照的に、この正規表現には、2個のドントケア「X」値が含まれる。よって、シーケンス40及び42の両方が、正規表現「1010XX0110」にマッチングする。
図4は、本発明の実施例による正規表現エンジンからの波形、対応するビット・シーケンス、マッチング・ビット・シーケンス、そしてアライメント・シーケンスとを示す。実施例において、正規表現エンジン13は、直列ビット列10内の演算がアライメントするように構成できる。例えば、8b/10bの如きエンコード技術は、アライメントに使用できるビットの特定の単一シーケンス又は複数シーケンスを定義できる。8b/10bエンコード内のシーケンス「1100000」又は「0011111」は、直列ビット列内の10ビットのアライメントを指示できる。周知のように、8b/10bエンコードにおける「1100000」は、ランニング・ディスパリティ(RD)がプラスの制御シンボルK.28.1、K.28.5、K.28.7に共通の上位7桁であり、「0011111」はランニング・ディスパリティ(RD)がマイナスの制御シンボルK.28.1、K.28.5、K.28.7の共通の上位7桁である。これら制御シンボルK.28.1、K.28.5、K.28.7は、コンマ・シンボルと呼ばれ、直列ビット列内の10ビット毎に区切られる各シンボルと同期(アライメント)を取るために利用されている(非特許文献1のControl Symbols参照)。
正規表現文法を定義してかかるアライメント・シーケンスの表現を可能にする。例えば、アライメント表現を伴う正規表現は、次のように定義できる。
<RegExprWithAlignment>: <RegExpr> <Alignment>
;
;
<Alignment>: width <Expr>
|alignment <RegExpr>
|<Alignment> width <Expr>
| <Alignment> alignment <RegExpr>
;
|alignment <RegExpr>
|<Alignment> width <Expr>
| <Alignment> alignment <RegExpr>
;
ここでは、演算子「alignment」は、次の正規表現が直列ビット列10内のアライメント・シーケンス用のマッチングを定義することを示せる。例えば、上述のシーケンスを用いることにより、「alignment (1100000 | 0011111)」を用いて、「1100000」又は「0011111」のいずれかをアライメント・シーケンスとして定義できる。
アライメント・シーケンスに加えて、幅を特定できる。この例の文法において、幅演算は、直列ビット列10内の「ワード」の幅のビット数を示すことができる。例えば、8b/10bエンコード内で、幅が10ビットにできる。よって、8b/10bエンコードの正規表現を「alignment (1100000 | 0011111) width 10」にできる。
特に、幅の定義は、上述の如く、与えた幅よりも狭いか又は広いアライメント正規表現を可能にする。上述の例において、アライメント正規表現は、10ビット幅で2個の7ビット・マッチング・シーケンスを定義する。よって、正規表現エンジン13が直列ビット・シーケンス10へのインデックスを増分するとき、幅だけの増分にできる。すなわち、実施例において、正規表現は、各ビットには適用しなくても良く、アライメント正規表現に応じてアライメントされた直列ビット列10内の複数のビットにて開始してもよい。
図4を参照し、正規表現「1010000110 alignment (1100000 | 0011111) width 10」を考察する。図3と同様に、波形60及び対応デジタル値68を示す。ビット・シーケンス62は、アライメント正規表現「(1100000 | 0011111)」とマッチングする。定義した幅により、識別されたビット・シーケンス62及び定義された幅に応じて、波形60への正規表現の適用をアライメントすることを実行できる。
点線70は、波形60内の「ワード」の境界を線引きする。この例において、ビット・シーケンス64及び66の両方は、正規表現「1010000110」にマッチングする。しかし、ビット・シーケンス64のみが境界70にアライメントする。よって、ビット・シーケンス64のみがマッチングし、ビット・シーケンス66はマッチングしない。
図4において、マッチング・ビット・シーケンス64をアライメント・ビット・シーケンス62の近傍として示したが、かかる近接は必要ない。例えば、実施例において、アライメント正規表現を用いて直列ビット列を検索するように制御器を構成できる。見つかると、アライメント正規表現のマッチングに応答して正規表現の残部を適用するように正規表現エンジン13を構成できる。すなわち、直列ビット列10内でアライメントさせつつ、かつ、定義幅に従って残部を適用しても良い。
アライメント・シーケンスのかなり後まで、正規表現の残部のマッチングが見つからないかもしれない。例えば、正規表現の残部へのマッチングが見つかる時点までに、アライメント・ビット・シーケンスが取込みメモリから捨てられているかもしれない。しかし、正規表現エンジン13は、直列ビット列10にアライメントするように依然動作できる。
他の実施例において、アライメント・シーケンスにより、幅を暗に定義できる。例えば、「alignment (1100000XXX | 0011111XXX)」のアライメント正規表現は、「alignment (1100000 | 0011111) width 10」とほぼ類似に動作できる。すなわち、アライメント正規表現の幅を直列ビット・ストリーム10内の「ワード」の幅に決定するように正規表現エンジン13を構成できる。
実施例において、アライメント・ビット・シーケンスが既知でないかもしれないし存在しないかもしれないが、幅は既知かもしれない。例えば、アライメント正規表現は、「width 10」とできる。かかる環境において、幅に応じて直列ビット列10を参照するインデックスを増分できるが、アライメントを決定する必要があるかもしれない。
種々の技術を用いて、直列ビット列10内のアライメントを決定できる。例えば、正規表現の幅に等しい直列ビット列10を参照する多くのインデックスを用いて、正規表現を直列ビット・ストリーム10に適用するように正規表現エンジン13を構成できる。すなわち、早めの類似アライメントと重複しない所定幅に対して、直列ビット列10内の可能性のある各インデックスに対して正規表現を適用できる。例えば、幅が10ならば、0のインデックスは、10のインデックスにほぼ類似にできる。幅により定義された細分性のレベルにて可能性のある各アライメントに対して正規表現を適用できる。正規表現への最大数のマッチングを有するインデックスを使用インデックスとして選択できる。
他の実施例において、アライメントを指示できる他の技術を用いて、直列ビット列10により用いるアライメント・インデックスを決定できる。例えば、8b/10bエンコードを用いる場合、シンボルの最後のランニング・ディスパリティを特定のレンジに制限できる。ランニング・ディスパリティが所望レンジ内である直列ビット列10内のオフセット・インデックスを識別済みインデックスとして用いることができる。直列ビット列10へのオフセット・インデックスの特定に利用できる直列ビット列10の特性の特定の例ではあるが、適切なインデックスを定めるために、アライメントを示せる直列ビット列10の任意の特性、その期待されフォーマットなどが、幅内のインデックスの各々に渡って検索される。
実施例において、直列ビット列10は、ダイナミックな幅にできる。ダイナミックな幅に合わせるため、有効パターンを求めて直列ビット列10を検索するように制御器12を構成できる。有効パターンが識別されると、有効パターンの位置を用いて、正規表現を直列ビット列10にアライメントすることができる。
他の実施例において、直列ビット列10をデコードし、エラー・チェックをできる。エラーが存在するか、しきい値を超えるかなどすると、直列ビット列10のデコードを他のオフセットで実行できる。最小のエラーのオフセットが見つかると、そのオフセットを用いて、正規表現を直列ビット列10にアライメントできる。
直列ビット列10のアライメント及び/又は幅を決定する種々の方法を説明したが、他の技術を用いてかかる情報を得ることができる。実施例において、ユーザ・インタフェース14を介して直列ビット列10を参照するインデックスを受けるように制御器12を構成することもできる。このインデックスは、種々の方法で発生できる。例えば、ユーザは、オフセット、幅又はこれらの両方を提供することができる。かかる提供情報は、ユーザ・インタフェース14、制御器12などにより、直列ビット列10を参照するインデックスに変換できる。このインデックスを用いて、制御器は、正規表現を直列ビット列10に適用できる。
他の例において、ユーザは、カーソル位置を用いて、直列ビット列10用のオフセット・インデックスを定義できる。ユーザ・インタフェース14により、直列ビット列10を提示すことができる。ユーザは、手動や、ある自動機能によるなどして、提示した直列ビット列10内の位置を指示できる。これに応答して、制御器12は、直列ビット列10を参照するビット・インデックスを決定できる。アライメント・シーケンスが利用できないか、定義されていないなどの環境において、ユーザは、データを依然試験でき、直列ビット列10内のアライメントを指示できる。
図5は、本発明の実施例により正規表現エンジンを有するトリガ・システムによる試験測定機器のブロック図である。トリガ入力92に応答してトリガ信号94を発生するようにトリガ・システム90を構成できる。実施例において、トリガ信号94に応答して正規表現エンジン13により正規表現を直列ビット列に適用するように制御器12を構成できる。
例えば、トリガ信号94に関連する直列ビット列10を参照するインデックスを使用するように制御器12を構成できる。トリガ・システム90からのトリガ信号94を受けるように制御器12を構成できる。トリガ信号94に時間的に関連した直列ビット列10のビット、トリガ信号94からの特定オフセットでのビットなどを、正規表現を処理するためのアライメント指示として用いることができる。アライメントが確立すると、正規表現を上述の如く適用できる。
他の実施例において、トリガ・システム90は、正規表現エンジン91を有することができる。正規表現をトリガ入力92に適用するように正規表現エンジン91を構成できる。この例において、トリガ入力92を直列ビット列にできる。上述の例を用いて、正規表現を「(1100000|0011111)」にできる。マッチングに対して、正規表現エンジンにより、トリガ入力92を分析できる。かかるマッチングに応答して、トリガ信号94を発生できる。実施例において、トリガ信号94は、識別した時点又はサンプル位置、マッチング表現、トリガ入力92における直列ビット列内のアライメント情報、直列ビット列自体、かかる情報の組合せなどを含むことができる。かかる情報を制御器12に供給でき、正規表現エンジン13用に用いることができ、取込みデータにて又はそうでなければ所望に用いることができる。
上述の如く、正規表現エンジン13は、トリガ信号94に応答して、アライメントした直列データ列10に関連正規表現を適用できる。しかし、この実施例において、正規表現エンジン91に応答して、トリガ信号94を発生できる。上述の如く、トリガ・システム90の正規表現エンジン91が供給した正規表現をアライメント正規表現にできる。よって、トリガ・システム90は、アライメントを決定する処理を実行でき、制御器12の正規表現エンジン13は、他の正規表現を適用してマッチングを決定できる。
図6は、本発明の実施例によりトリガ・システム内に正規表現エンジンを有する試験測定機器のブロック図である。正規表現エンジンは、種々の方法で機能的に分散できる。上述の如く、正規表現は、制御器12及びトリガ・システム90にわたって機能的に分散できる。この実施例において、制御器93は、正規表現エンジンを有する必要がない。正規表現エンジン91は、トリガ・システム90の一部である。トリガ信号92の直列ビット列への正規表現のマッチングに応答して、取込みをトリガするようにトリガ・システム90を構成できる。
実施例において、かかるトリガを用いて、マッチングが生じたときのみにデータを取り込める。例えば、機器は、共用媒体からデータを取り込むことができる。特定のデバイス、パケット、ソース・アドレスなどを指示する正規表現を定義できる。よって、マッチング・ソースから信号を受けると、対応するデータのみを使用できる。例えば、かかるデータから実時間データ・アイを発生できる。正規表現を用いることにより、所望ソースからの信号のみがデータ・アイに貢献できる。
図7は、本発明の実施例による正規表現エンジンからの関連データ、マッチング・ビット・シーケンス及びビット・シーケンスに対応する波形を示す。実施例において、データを正規表現で表すことができる。例えば、次の文法によりデータを表現できる。
<RegExprWithData>: <RegExpr> : <Data>
明瞭にするため、正規表現文法の残部をリストしないが、正規表現「<RegExprWithData>」を、ここで述べた任意の正規表現「<RegExpr>」として使用できる。
一例において、正規表現「(1010000110 : "D15.6+")」は、ビット・シーケンス「1010000110」をデータ「D15.6+」に関連づけることができる。波形110及び対応ビット・シーケンス92を図7に示す。ビット・シーケンス112は、「1010000110」にマッチングする。よって、ユーザ・インタフェース14を介して、関連データ「D15.6+」をボックス116内に表すことができる。同様に、正規表現「(1000111101 : "D17.4-")」に対し、ビット・シーケンス114がその正規表現にマッチングするので、ボックス118は、ユーザ・インタフェース114を介して関連データ「D17.4-」を表すことができる。
実施例において、かかるデータ関連を用いて、デコードを導入できる。例えば、上述の如く、2個のビット・シーケンス112及び114は、シンボル「D15.6+」及び「D17.4-」に関連した。「D15.6+」及び「D17.4-」は、8b/10bエンコード技術のシンボルの一部である。デコーダを定義する正規表現は、「((1000111100 : "D17.3-") | (1000111101 : "D17.4-") … (1010000110 : "D15.6+")) alignment (1100000 | 0011111) width 10」として定義できる。この例において、上述の3個の他に、シンボルに対するビット・シーケンスの関係は多数あるが、例として3個を用いる。よって、シンボルに対するビット・シーケンスの関係の全てを定義すると、正規表現を用いて直列ビット列10をデコードできる。上述の如く、ソース波形及び/又はビット・ストリームを表す必要がない。
実施例において、機器のその後の動作において、かかる関連データを用いることができる。例えば、データに基づく検索を実行できるように制御器を構成できる。上述の例を用いて、「D15.6+」シンボルに対する検索を実行できる。実施例において、基本的な正規表現は、必須ではないが、ユーザから隠すことができる。例えば、種々の正規表現を、特定のシンボルに対して予め定義し、テスト設定によりロードしたりするなどができる。基本的な正規表現における情報を必要とすることなく、ユーザは、正規表現に関連したデータを選択できる。
正規表現に関連できるデータの例としてテキストを用いたが、他の形式の情報をデータとして用いることができる。例えば、数、表現、機能などを関連データの一部にできる。
図8は、本発明の実施例により正規表現エンジンを有する試験測定機器のユーザ・インタフェースの例である。実施例において、正規表現を表すようにユーザ・インタフェース14を構成できる。一例において、予め定義した正規表現のデータを表すようにユーザ・インタフェースを構成できる。
予め定義された正規表現をブロック132及び134はユーザ・インタフェース130に表す。例えば、ブロック132は、正規表現「(1010000110 : "D15.6+") alignment (1100000 | 0011111) width 10”を表すことができる一方、ブロック134は、“(1000111101 : "D17.4-") alignment (1100000 | 0011111) width 10」を表すことができる。
ポインティング・デバイスのドラグ入力の如きユーザ入力を矢印138で表す。この入力により、正規表現を形成する入力ボックス136を、ブロック132に関連した正規表現により埋めることができることをユーザが指示できる。例えば、最初に、ボックス136を空にできた。矢印138のユーザ入力に応答して、ブロック132に関連した正規表現をボックス136に入れる。
しかし、ボックス136内の正規表現を拡張する必要がない。すなわち、ボックス136内の正規表現は、ソース正規表現に関連したデータが表すのを残せる。この例において、データは、「D15.6+」だろう。さらに、1個以上の予め定義した正規表現をボックス136に追加できる。例えば、ユーザは、ブロック134をボックス136に追加して、関連正規表現を追加し、演算子を加えるなどができる。
実施例において、表した正規表現は、任意の正規表現にできる。上述の如く、ブロック132は、アライメント及び幅の項目を有した。しかし、関連正規表現は、1個以上のアライメント及び幅の項目なしに「(1010000110 : "D15.6+")」としても良い。
他の例において、予め定義した正規表現は、「((1100000101 | 1010000110) : “K28.5”)」にしても良い。この正規表現は、「K28.5」として表しても良い。ユーザ入力に応答して、正規表現を、拡張した「((1100000101 | 1010000110) : “K28.5”)」という形を有するようにしても良い。すなわち、追加した正規表現を単なる文字列に限定する必要はなく、任意の有効な正規表現を含むことができる。
正規表現を任意の有効な正規表現にでき、これら正規表現を比較的複雑にできるので、より一層複雑な正規表現を形成でき、その複雑さをユーザから隠す可能性がある。例えば、上述の如く、8b/10bデコーダを正規表現として記述できる。同様に、64b/66bなどの他のエンコード技術を定義できる。8b/10bをブロック132に表現でき、「64b/66b」をブロック134内に表すことができる。ユーザは、8b/10b及び64b/66bエンコードの両方に対する組合せデコーダを形成しても良い。すなわち、ユーザが「8b/10b」をボックス136にドラッグし、OR演算子「|」を入力し、「64b/66b」をボックス136にドラッグすることにより正規表現を形成しても良い。
さらに、追加した正規表現が任意の正規表現にできるので、かかる複雑な組合を各要素に対して完全にする必要がない。例えば、「8b/10b」正規表現は、8b/10bビット・ストリームを完全にデコードできるかもしれないが、「64b/66b」正規表現は、関連エンコード技術の一部を定義できるのみかもしれない。例えば、「64b/66b」用の正規表現は、「(10 | 01)X*64 width 66」にできる。
正規表現の構造用のユーザ・インタフェースの例としてテキスト・ボックスを用いたが、ユーザがリテラル、演算子、予め定義した正規表現などを入力できるようにする任意のインタフェースを、ボックス136の代わり、又は、ボックス136に加えて用いることができる。
図9は、本発明の実施例により正規表現エンジンを有する試験測定機器のユーザ・インタフェースの他の例である。ユーザ・インタフェースの表示150は、フィールド記述158及び入力フィールド160で示される。この例において、IPパケット用の正規表現を述べるが、他のフォーマットも利用できる。正規表現を用いたパケットを定義する文法は、次のようにしても良い。
<Packet>: <BasePacket>
| <BasePacket> <Alignment>
;
| <BasePacket> <Alignment>
;
<BasePacket>: <Field>
| <Packet> ',' <Field>
;
| <Packet> ',' <Field>
;
<Field>: '[' <RegExpr> ']' ':' ID
;
;
この例において、予め定義した正規表現は、「[0000100000000000], [X*4]:Version, [X*4]:HeaderLength, [X*8]:TOS, [X*16]:TotalLength, [X*16]:ID, [X*3]:Flags, [X*13]:FragmentOffset, [X*8]:TTL, [X*8]:Protocol, [X*16]:Checksum, [X*32]:SourceIPAddr, [X*32]:DestIPAddr, [X*(TotalLength-20)*8]:Data」とできる。ここで、TotalLength ID は、バイト単位で長さを表すとしても良い。よって、データ・フィールドのビットの量は、1バイト当たり、TotalLength(バイト単位)−20ヘッダ・バイトの8倍のビットである。
実施例において、正規表現の「フィールド」部分に対して、ユーザ・インタフェース14を介して、対応ラベル及び入力フィールドを表すことができる。この例において、ユーザは、フィールド152及び154を空白のままとし、フィールド156を16進法でC0A80105により埋めた。これは、192.168.1.5のソースIPアドレスに対応する。よって、かかる入力を用いて、「[0000100000000000 X*16], [X*16]:TotalLength, [X*54 11000000101010000000000100000101 X*32 X*(TotalLength-20)*8]」の如き正規表現を発生することができる。すなわち、フィールドが埋まっていないとフィールド152及び152を圧縮でき、要素に関連した値を加えて正規表現を変更でき、値をビットに拡張できるなどする。
実施例において、「フィールド」のIDパラメータを正規表現の他の場所にて参照できる。この例において、TotalLengthをデータ・フィールドに用いる。特に、データ・フィールドにおけるマッチング・ビットの数の長さは、TotalLenghtフィールドの値に応じる。一例において、TotalLengthフィールドを、ソースIPアドレスに類似の定義済み値にできる。他の例において、分析する特定のビット・シーケンスからTotalLengthを決定できる。すなわち、正規表現のTotalLengthフィールドへのマッチングを開始するビットが「120」の値を参照すると、データ・フィールドにおけるマッチング・ビットの数を(120−20)*8、即ち800ビットにできる。かかる値は、正規表現の各適用に対して、異なるビット・シーケンスに変化でき、ビット・シーケンスでの位置設定を開始するなどする。
実施例において、正規表現を逆に適用できるように正規表現エンジンを構成できる。例えば、正規表現にマッチングするビット・シーケンスの後に、直列データ列10における特定のアライメント・シーケンスが生じてもよい。よって、アライメント・シーケンスが見つかると、正規表現エンジンをアライメント・シーケンスから逆に適用できる。
他の実施例は、実行の際にコンピュータが任意の上述の動作を行なえるようにするコンピュータ読み出し可能な媒体上に具現化されたコンピュータ読み出し可能なコードを含む。ここで用いる如く、コンピュータは、コードを実行できる任意の装置である。マイクロプロセッサ、プログラマブル・ロジック装置、マルチプロセッサ・システム、デジタル信号プロセッサ、パーソナル・コンピュータなどがかかるコンピュータの全ての例である。実施例において、コンピュータ読み出し可能な媒体は、コンピュータ読み出し可能なコードを非一時的方法にて蓄積するように構成された具体的なコンピュータ読み出し可能媒体にできる。
特定実施例について説明したが、本発明の原理がこれら実施例に限定されないことは明らかであろう。本発明の原理を逸脱することなく、変形及び変更が可能であろう。
12 制御器
13 正規表現エンジン
14 ユーザ・インタフェース
20 デジタイザ
90 トリガ・システム
91 正規表現エンジン
93 制御器
13 正規表現エンジン
14 ユーザ・インタフェース
20 デジタイザ
90 トリガ・システム
91 正規表現エンジン
93 制御器
Claims (5)
- ユーザ・インタフェースと、
直列ビット列を受け、所定の文法に従って上記直列ビット列中の特定ビット・シーケンスを特定可能な正規表現を定義し、該正規表現を上記直列ビット列に適用し、上記直列ビット列における上記正規表現のマッチングに応答して上記直列ビット列から取り込んだデータを上記ユーザ・インタフェースを介して提示するように構成された制御器と
を具えた試験測定機器。 - 上記制御器が、
上記正規表現のアライメント正規表現を用いて上記直列ビット列を検索し、上記直列ビット列での上記アライメント正規表現に対するマッチングに応じて、上記正規表現の残部を上記直列ビット列に適用するように構成された請求項1記載の試験測定機器。 - 上記制御器が、上記ユーザ・インタフェースを介して予め定義した正規表現のデータを提示し、上記予め定義した正規表現の上記提示したデータに関連したユーザ入力に応答して上記正規表現を形成するように構成されることを特徴とする請求項1又は2記載の試験測定機器。
- 直列ビット列を受ける処理と、
所定の文法に従って上記直列ビット列中の特定ビット・シーケンスを特定可能な正規表現を定義する処理と、
上記正規表現を上記直列ビット列に適用する処理と、
上記直列ビット列における上記正規表現のマッチングに応答して上記直列ビット列から取り込んだデータをユーザ・インタフェースを介して提示する試験測定方法。 - 上記正規表現のアライメント正規表現を用いて上記直列ビット列を検索する処理と、
上記直列ビット列での上記アライメント正規表現に対するマッチングに応じて、上記正規表現の残部を上記直列ビット列に適用する処理と
を更に具える請求項4記載の試験測定方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US26696609P | 2009-12-04 | 2009-12-04 | |
US61/266,966 | 2009-12-04 | ||
US12/949,703 US9069017B2 (en) | 2009-12-04 | 2010-11-18 | Serial bit stream regular expression engine |
US12/949,703 | 2010-11-18 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2011117967A JP2011117967A (ja) | 2011-06-16 |
JP2011117967A5 true JP2011117967A5 (ja) | 2014-08-21 |
JP5605842B2 JP5605842B2 (ja) | 2014-10-15 |
Family
ID=43711657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010271992A Active JP5605842B2 (ja) | 2009-12-04 | 2010-12-06 | 試験測定機器及び方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9069017B2 (ja) |
EP (1) | EP2336790B1 (ja) |
JP (1) | JP5605842B2 (ja) |
CN (1) | CN102130689B (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9989559B2 (en) * | 2009-12-04 | 2018-06-05 | Tektronix, Inc. | Serial bit stream regular expression with states |
US10235339B2 (en) * | 2013-02-19 | 2019-03-19 | Keysight Technologies, Inc. | Digital measurement instrument triggered by signal pattern |
EP2985611B1 (en) | 2014-08-04 | 2021-04-21 | Tektronix, Inc. an Oregon US Corporation | Serial bit stream regular expression with states |
US9338076B1 (en) | 2014-10-24 | 2016-05-10 | Tektronix, Inc. | Deriving hardware acceleration of decoding from a declarative protocol description |
US10148547B2 (en) * | 2014-10-24 | 2018-12-04 | Tektronix, Inc. | Hardware trigger generation from a declarative protocol description |
US20190113542A1 (en) * | 2014-12-17 | 2019-04-18 | Tektronix, Inc. | Hardware trigger generation from a declarative protocol description |
US20160179073A1 (en) * | 2014-12-19 | 2016-06-23 | Keysight Technologies, Inc. | Real Time Trigger Using A Finite State Machine Having A Counting State |
US10481573B2 (en) | 2015-07-31 | 2019-11-19 | Keysight Technologies, Inc. | Multi-channel digital trigger with combined feature matching and associated methods |
JP6741417B2 (ja) * | 2015-12-04 | 2020-08-19 | テクトロニクス・インコーポレイテッドTektronix,Inc. | 試験測定装置及びトリガ方法 |
US10365300B2 (en) * | 2016-02-05 | 2019-07-30 | Tektronix, Inc. | Trigger on final occurrence |
CN107423037B (zh) * | 2016-03-09 | 2021-04-02 | 阿里巴巴集团控股有限公司 | 应用程序接口定位方法及设备 |
US20230084574A1 (en) * | 2021-09-16 | 2023-03-16 | UncommonX Inc. | Bit sequence storage method and system |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5930139A (ja) * | 1982-08-10 | 1984-02-17 | Mitsubishi Electric Corp | ビツトパタ−ン比較装置 |
JPS61273632A (ja) * | 1985-05-30 | 1986-12-03 | Ando Electric Co Ltd | デ−タの比較方法 |
US6518744B1 (en) | 2000-03-23 | 2003-02-11 | Tektronix, Inc. | General purpose oscilloscope having digital television signal display capability |
DE50213742D1 (de) * | 2001-02-01 | 2009-09-17 | Siemens Ag | Verfahren zur verbesserung der funktionalität der binären repräsentation von mpeg-7 und anderen xml-basierten inhaltsbeschreibungen |
US7272528B2 (en) * | 2001-10-01 | 2007-09-18 | Tektronix, Inc. | Reloadable word recognizer for logic analyzer |
US7801206B2 (en) * | 2005-04-29 | 2010-09-21 | Tektronix, Inc. | Encoded serial data bit error detector |
US7486673B2 (en) * | 2005-08-29 | 2009-02-03 | Connect Technologies Corporation | Method and system for reassembling packets prior to searching |
US7539032B2 (en) * | 2006-09-19 | 2009-05-26 | Netlogic Microsystems, Inc. | Regular expression searching of packet contents using dedicated search circuits |
US20080303443A1 (en) * | 2007-06-08 | 2008-12-11 | Tektronix, Inc. | Position lock trigger |
-
2010
- 2010-11-18 US US12/949,703 patent/US9069017B2/en active Active
- 2010-12-06 EP EP10252061.6A patent/EP2336790B1/en active Active
- 2010-12-06 CN CN201010625023.3A patent/CN102130689B/zh active Active
- 2010-12-06 JP JP2010271992A patent/JP5605842B2/ja active Active
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5605842B2 (ja) | 試験測定機器及び方法 | |
JP2011117967A5 (ja) | ||
US9733901B2 (en) | Domain specific language design | |
US8972936B2 (en) | Version labeling in a version control system | |
CN111225236B (zh) | 生成视频封面的方法、装置、电子设备以及计算机可读存储介质 | |
JP6770506B2 (ja) | 適応率圧縮ハッシュ処理デバイス | |
US10343072B2 (en) | Apparatus and method of producing rhythm game, and non-transitory computer readable medium | |
CN111935502A (zh) | 视频处理方法、装置、电子设备以及存储介质 | |
JP2015084256A5 (ja) | ||
US8542137B2 (en) | Decoding encoded data | |
CN111611767B (zh) | 验证方法和装置 | |
US9989559B2 (en) | Serial bit stream regular expression with states | |
US9335987B2 (en) | Data object with common statement series | |
US20090327466A1 (en) | Internal uniform resource locator formulation and testing | |
JP6677983B2 (ja) | 試験測定装置及びデータ生成方法 | |
CN108376146A (zh) | 基于域的影响评分 | |
JP7116562B2 (ja) | 追跡データ表現 | |
US20160301658A1 (en) | Method, apparatus, and computer-readable medium for efficient subnet identification | |
CN106843714B (zh) | 触控笔笔迹的优化方法及系统 | |
JP6671877B2 (ja) | 高速データ・リンク等化処理最適化システム及び方法 | |
KR20160002111A (ko) | Musicxml에서 전통악기 기호를 기술하는 방법 | |
US8666925B1 (en) | Method for parallel computation of a finite state machine | |
CN110415045A (zh) | 一种向浏览器推送广告的方法、装置、设备和介质 | |
CN114330308A (zh) | 多模态违禁词检测方法、装置、计算机设备及存储介质 | |
US10657180B2 (en) | Building and reusing solution cache for constraint satisfaction problems |