具有状态的串行比特流正则表达式的制作方法_3

文档序号:9578396阅读:来源:国知局
(与测试设 置一起加载等等)来预定义各种正则表达式。用户可以选择与正则表达式相关联的数据,而 无需底层正则表达式中的信息。
[0066] 尽管文本已经被用作可以与正则表达式相关联的数据的示例,但是其他类型的信 息可以被用作该数据。例如,数字、表达式、函数等等可以是相关联的数据的一部分。
[0067] 图8是根据本发明的实施例的具有正则表达式引擎的测试和测量仪器的用户接 口的示例。在实施例中,用户接口 14可以被配置成呈现正则表达式。在一个示例中,用户 接口可以被配置成呈现先前定义的正则表达式的数据。
[0068] 块132和134表示在用户接口 130中呈现的先前定义的正则表达式。例如,块132 可以表示正则表达式"(1010000110 :"D15. 6+")alignment(1100000|0011111)width10", 而块 134 可以表示"(1000111101 :"D17. 4-")alignment(1100000|0011111)width10"。
[0069] 诸如指示设备的拖动输入之类的用户输入由箭头138来图示。通过该输入,用户 可以指示:用于形成正则表达式的输入框136可以由与块132相关联的正则表达式来填入。 例如,最初,框136可以是空的。响应于箭头138的用户输入,用与块132相关联的正则表 达式来填充框136。
[0070] 然而,框136中的正则表达式不需要被扩展。也就是说,框136中的正则表达式可 以保持由与源正则表达式相关联的数据所表示。在该示例中,数据将是"D15.6+"。另外,多 于一个的先前定义的正则表达式可以被添加到框136中。例如,用户可以将块134添加到 框136以添加相关联的正则表达式、添加进操作符等等。
[0071] 在实施例中,所呈现的正则表达式可以是任何正则表达式。如以上所描述的, 块132具有关联的对齐和宽度项。然而,相关联的正则表达式可以已经是"(1010000110 : "D15. 6+")",而没有对齐和宽度项中的一个或多个。
[0072] 在另一示例中,先前定义的正则表达式可以是"((110000010111010000110): "K28. 5")"。该正则表达式可以被呈现为"K28. 5"。响应于用户输入,所形成的正则表达式 可以具有扩展的"((110000010111010000110) :"K28. 5")"。也就是说,添加进的正则表达 式不需要被限于仅文字的序列,而是可以包括任何有效的正则表达式。
[0073] 由于正则表达式可以是任何有效的正则表达式,并且这些正则表达式可以相对复 杂,因此可以形成甚至更加复杂的正则表达式,其对用户潜在地隐藏复杂性。例如,如以上 所描述的,8b/10b解码器可以被描述为正则表达式。类似地,可以定义其他编码方案,例如 64b/66b。"8b/10b"可以在块132中被呈现,并且"64b/66b"可以在块134中被呈现。用户 可以形成用于8b/10b和64b/66b编码二者的组合解码器。也就是说,通过用户将"8b/10b" 拖动到框136中,录入OR操作符" | "以及将"64b/66b"拖动到框136中,可以形成正则表 达式。
[0074] 而且,由于添加进的正则表达式可以是任何正则表达式,因此这样的复杂组合不 需要对每个元素都是完整的。例如,"8b/10b"正则表达式可以完全解码8b/10b的比特流; 然而"64b/66b"正则表达式仅可以定义相关联的编码方案的一部分。例如,用于"64b/66b" 的正则表达式可以是"(l〇|〇l)X*64width66"。
[0075] 尽管已经使用文本框作为用于形成正则表达式的用户接口的示例,但是可以允许 用户录入文字、操作符、先前定义的正则表达式等等的任何接口都可以代替或附加于框136 而被使用。
[0076] 图9是根据本发明的实施例的具有正则表达式引擎的测试和测量仪器的用户接 口的另一示例。图示了用户接口的呈现150,其具有字段描述158和条目字段160。在该示 例中,描述了用于IP分组的正则表达式;然而,可以使用其他格式。用于使用正则表达式来 定义分组的语法可以是:
在该示例中,先前足乂的止则表迖式η」以是"L〇〇〇〇l〇〇〇〇〇〇〇〇〇〇〇」,LX*4」:Version, [X*4] :HeaderLength, [X*8] :T0S, [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可以表示以字节计的长度。因此,Data字段的比特量将是以字节计的TotalLength-20 个报头字节乘以每字节8比特。
[0077] 在实施例中,对于正则表达式的〈Field〉部分,通过用户接口 14可以呈现对应的 标签和条目字段。在该示例中,用户已经使字段152和154留空,并且利用以十六进制的值 C0A80105 (其表示源IP地址192. 168. 1. 5)来填入字段156。因此,这样的用户输入可以被 用于生成正则表达式,诸如"[000010000000000(^*16],[乂*16] :1'(^311^1^让,[乂*5411000 000101010000000000100000101X*32X* (TotalLength-20) *8] "。也就是说,如果字段 152 和 154没有填入,则这些字段可以被压缩,可以添加进与元素相关联的值以修改正则表达式, 可以将值扩展成比特,等等。
[0078] 在实施例中,在正则表达式的其他位置中可以引用〈Field〉的ID参数。在该示例 中,在Data字段中使用TotalLength。特别地,Data字段中的匹配比特的数目的长度取决 于TotalLength字段的值。在一个示例中,TotalLength字段可以是定义的值,类似于源IP 地址。在另一示例中,TotalLength字段可以从被分析的特定比特序列来确定。也就是说, 如果开始匹配正则表达式的TotalLength字段的比特引用值"120",则Data字段中匹配比 特的数目可以是(120_20)*8或800比特。对于正则表达式对不同的比特序列的每个应用、 比特序列中的开始位置等等,这样的值可以改变。
[0079] 在实施例中,正则表达式引擎可以被配置成反向应用正则表达式。例如,串行数据 流10中的特定对齐序列可以出现于匹配正则表达式的比特序列之后。因此,当找到对齐序 列时,可以从对齐序列反向应用正则表达式引擎。
[0080] 另一实施例包括在计算机可读介质上所体现的计算机可读代码,所述计算机可读 代码在被执行时,使计算机实行以上所描述的操作中的任意。如此处所使用的,计算机是可 以执行代码的任何设备。微处理器、可编程逻辑器件、多处理器系统、数字信号处理器、个人 计算机等等全都是这样的计算机的示例。在实施例中,计算机可读介质可以是有形计算机 可读介质,其被配置成以非暂时性方式存储计算机可读代码。
[0081] 如以上所描述的,测试和测量仪器可以使用正则表达式来针对串行比特流进行匹 配。但是以上所描述的正在表达式语法不包括状态信息。因此,可以描述包括状态信息的 另一实施例。
[0082] 图10是根据本发明的实施例的具有包括状态信息的正则表达式引擎的测试和测 量仪器的框图。该仪器包括被配置成接收串行比特流的控制器1005。串行比特流可以以 各种方式来生成。例如,该仪器可以是配置成将输入信号数字化的示波器。数字化输入信 号(其可以被表示为数字化模拟信号)可以表示数字数据。也就是说,数字化输入信号可以 表示数据流的一系列比特。串行比特流可以是从数字化输入信号中提取的这样的一系列比 特。
[0083] 在另一实施例中,该仪器可以是逻辑分析器。逻辑分析器可以被配置成比较输入 信号与阈值以便为通道生成串行比特流。串行比特流可以是来自逻辑分析器的通道的这样 的比特流。可以生成串行比特流的任何仪器可以包括如本文所描述的正则表达式引擎。
[0084] 控制器1005可以包括状态标识逻辑1010。状态标识逻辑1010可以是标识串行 比特流中的状态的逻辑。状态标识逻辑1010还可以通过改变将状态标识成可以由正则表 达式识别的状态符号的串行比特流中的比特来修改串行比特流。以此方式,状态标识逻辑 1010可以创建包括状态符号以及比特(0和1)的组合状态/比特流。以下参照图11-12进 一步讨论状态标识逻辑1010。
[0085] 还值得指出的是,串行比特流和在串行比特流中标识的状态?目息是有时间次序 的:也就是说,该信息具有关于时间的序列。因此,组合状态/比特流也是有时间次序的。
[0086] 在实施例中,串行比特流可以但不需要紧接在通过控制器1005的处理之前被获 取。例如,串行比特流可以被存储在存储器中。这样的存储器可以是获取存储器。在另一 示例中,串行比特流可以被存储在非易失性存储器中,该非易失性存储器例如是磁盘驱动 器或其他大容量存储设备。因此,串行比特流可以是任何期望的数据,包括实况数据、由测 试和测量仪器获取的数据、模拟数据或预记录的数据。
[0087] 不管串行比特流的源如何,控制器1005都可以被配置成接收串行比特流。控制器 1005可以是任何种类的电路。例如,数字信号处理器(DSP)、微处理器、可编程逻辑器件、通 用处理器、或具有如所期望的适当外围设备的其他处理系统,可以被用作控制器1005来实 现正则表达式引擎1015的功能。在完整集成到完全分立的组件之间的任何变型可以被用 于实现控制器1005。正则表达式引擎1015表示控制器1005的功能,其用于将正则表达式 应用于组合状态/比特流。
[0088] 控制器1005被耦合到用户接口 1020。用户接口 1020可以包括任何种类的接口。 例如,用户接口 1020可以包括输入接口,诸如按钮、旋钮、滑块、键盘、指示设备等等。用户 接口 1020可以包括输出接口,诸如显示器、灯、扬声器等等。用户接口 1020可以包括输入 /输出接口,诸如通信接口、触摸屏等等。任何种类的用户接口或这样的接口的组合都可以 被用作用户接口。
[0089] 控制器1005可以被配置成响应于将正则表达式应用于组合状态/比特流而通过 用户接口呈现输出数据。在实施例中,输出数据可以是串行比特流本身,或者组合状态/比 特流。然而,在其他实施例中,输出数据和串行比特流或组合状态/比特流可以是不同的。 例如,如在下文将进一步详细描述的那样,正则表达式的组合状态/比特流中的匹配可以 被用于触发其他数据被用作输出数据。
[0090] 正则表达式引擎1015可以被用于影响串行比特流或组合状态/比特流的各种表 示。例如,如以下描述的,数据可以与正则表达式相关联。数据可以表示在匹配比特序列中 编码的符号。串行比特流或组合状态/比特流
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1