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

文档序号:9578396阅读:380来源:国知局
具有状态的串行比特流正则表达式的制作方法
【专利说明】
[0001] 相关申请数据 本申请要求享有2014年8月4日提交的序列号为62/033, 036的美国临时专利申请的 权益,所述专利申请以其全部内容通过引用并入于此。
技术领域
[0002] 本发明涉及测试和测量仪器,并且更具体地涉及具有对串行比特流的正则表达式 处理的测试和测量仪器。
【背景技术】
[0003] 正则表达式可以被使用在分析字符流中。例如,诸如Perl和AWK之类的程序基于 正则表达式模式匹配。正则表达式可以被用于定义字符的匹配序列。然而,对已经被转换 成字节、字或其他多比特格式的数据执行这样的正则表达式匹配。相反地,串行比特流未被 分组成这样的多比特格式。
[0004] 申请人的2010年11月18日提交的题为"SERIALBITSTREAMRE⑶LAR EXPRESSIONENGINE"的序列号为12/949, 703的在先美国专利申请描述了可以如何将正 则表达式应用于串行比特流。并且通过使用2010年11月18日提交的题为"SERIALBIT STREAMREGULAREXPRESSIONENGINE"的序列号为12/949, 703的专利美国专利申请中描 述的机制,一般可能实现任何期望的正则表达式。但是以此方式完整描述正则表达式可能 是复杂的。为了比较,在计算机科学中任何程序可以以机器语言来编写(使用比特〇和1)。 但是以机器语言的复杂计算机程序的实现方式在最好的情况下是非常冗长的:在最差的 情况下,保持正确实际上是不可能的。通过以汇编语言或更高阶的编程语言(例如COBOL、 Fortran或C)编写程序,实现方式和调试被简化。
[0005] 注意的是,更高阶的编程语言并未向编程者给出实现机器语言不能支持的任何程 序的能力。如果有任何的话,相反情况为真:可能存在可以以机器语言实现的指令序列,其 在更高阶的编程语言中没有等同物。但是简化的实现方式使更高阶的编程语言的用户在以 机器语言进行编程期间更有利。

【发明内容】

[0006] 测试和测量仪器包括用户接口和控制器。控制器可以接收串行比特流并且将正则 表达式应用于串行比特流。正则表达式可以包括使用第二正则表达式所定义的状态信息。 控制器然后可以通过用户接口呈现将正则表达式应用于串行比特流的结果。
【附图说明】
[0007] 图1是根据本发明的实施例的具有正则表达式引擎的测试和测量仪器的框图。
[0008] 图2是根据本发明的实施例的具有数字化器前端的图1的测试和测量仪器的框 图。
[0009] 图3图示了根据本发明的实施例的来自正则表达式引擎的波形、对应的比特序列 以及匹配比特序列。
[0010] 图4图示了根据本发明的实施例的来自正则表达式引擎的波形、对应的比特序 列、匹配比特序列以及对齐序列。
[0011] 图5是根据本发明的实施例的具有触发系统的测试和测量仪器的框图,所述触发 系统具有正则表达式引擎。
[0012] 图6是根据本发明的实施例的在触发系统中具有正则表达式引擎的测试和测量 仪器的框图。
[0013] 图7图示了根据本发明的实施例的来自正则表达式引擎的波形、对应的比特序 列、匹配比特序列以及相关联的数据。
[0014] 图8是根据本发明的实施例的具有正则表达式引擎的测试和测量仪器的用户接 口的示例。
[0015] 图9是根据本发明的实施例的具有正则表达式引擎的测试和测量仪器的用户接 口的另一不例。
[0016] 图10示出了根据本发明的实施例的具有正则表达式引擎和状态信息的测试和测 量仪器的框图。
[0017] 图11示出了将状态定义为逻辑表达式的图10的状态标识逻辑。
[0018] 图12示出了将状态定义为外部函数的图10的状态标识逻辑。
[0019] 图13示出了将第二正则表达式应用于第一正则表达式的输出的图10的正则表达 式引擎。
[0020] 图14示出了将多于一个正则表达式应用于串行比特流的图10的正则表达式引 擎。
[0021] 图15示出了取得具有状态信息的正则表达式并且将其编译到用于使用在图10的 测试和测量仪器中的正则表达式引擎中的编译器。
[0022] 图16A-16B示出了根据本发明的实施例的用于使用具有状态信息的正则表达式 的过程的流程图。
[0023] 图17示出了根据本发明的实施例的用于将正则表达式编译到用于使用在正则表 达式引擎中的设计中的过程的流程图。
【具体实施方式】
[0024] 本公开描述了具有用于串行比特流的正则表达式引擎的测试和测量仪器的实施 例。
[0025] 图1是根据本发明的实施例的具有正则表达式引擎的测试和测量仪器的框图。该 仪器包括配置成接收串行比特流10的控制器12。可以以各种方式生成串行比特流10。例 如,仪器可以是配置成将输入信号数字化的示波器。数字化输入信号(其可以被表示为数字 化模拟信号)可以表示数字数据。也就是说,数字化输入信号可以表示数据流的一系列比 特。串行比特流10可以是从数字化输入信号中提取的这样的一系列比特。
[0026] 在另一实施例中,该仪器可以是逻辑分析器。该逻辑分析器可以配置成比较输入 信号与阈值以便为通道生成串行比特流。串行比特流10可以是来自逻辑分析器的通道的 这样的比特流。可以生成串行比特流的任何仪器可以包括如本文所描述的正则表达式引 擎。
[0027] 在实施例中,串行比特流10可以但不需要紧接在通过控制器12的处理之前被获 取。例如,串行比特流10可以存储在存储器中。这样的存储器可以是获取存储器。在另一 示例中,串行比特流10可以存储在非易失性存储器中,该非易失性存储器诸如是磁盘驱动 器或其他大容量存储设备。
[0028] 不管串行比特流10的源如何,控制器12都可以配置成接收串行比特流10。控制 器12可以是任何种类的电路。例如,数字信号处理器(DSP)、微处理器、可编程逻辑器件、 通用处理器、或具有如所期望的适当外围设备的其他处理系统,可以用作控制器12来实现 正则表达式引擎13的功能。在完整集成与完全分立的组件之间的任何变型可以用于实现 控制器12。正则表达式引擎13表示控制器12的功能,其将正则表达式应用于串行比特流 10。
[0029] 控制器12被耦合到用户接口 14。用户接口 14可以包括任何种类的接口。例如, 用户接口 14可以包括输入接口,诸如按钮、旋钮、滑块、键盘、指示设备等等。用户接口 14 可以包括输出接口,诸如显示器、灯、扬声器等等。用户接口 14可以包括输入/输出接口, 诸如通信接口、触摸屏等等。任何种类的用户接口或这样的接口的组合都可以被用作用户 接口。
[0030] 控制器12可以配置成响应于将正则表达式应用于串行比特流10而通过用户接 口呈现所获取的数据(其也可以被称为"输出数据",因为"所获取的数据"是从测试和测量 仪器输出的)。在实施例中,所获取的数据可以是串行比特流10本身。然而,在其他实施例 中,所获取的数据和串行比特流10可以是不同的。例如,如在下文将进一步详细描述的那 样,正则表达式的串行比特流中的匹配可以被用于触发将其他数据作为所获取的数据而被 获取。
[0031] 正则表达式引擎13可以被用于影响串行比特流10的各种呈现。例如,如在下文 将进一步详细描述的那样,数据可以与正则表达式相关联。数据可以表示在匹配比特序列 中编码的符号。可以利用符号来将串行比特流10呈现为覆盖图、单独的符号等等。
[0032] 在另一示例中,正则表达式引擎13可以被用于搜索、标记或以其他方式标识串行 比特流10、相关联的数据中的模式,等等。例如,在示波器上,可以针对特定比特序列来搜索 表示所获取的信号的数字化波形。数字化波形的相关联的序列可以通过用户接口来呈现。 可替换地,可以标记相关联的序列。
[0033] 在另一示例中,正则表达式引擎13可以被用于过滤所获取的数据。例如,如在下 文将进一步详细描述的那样,正则表达式可以定义分组结构和仅匹配于来自特定设备的分 组的匹配值。数据的获取可以被过滤为使得仅存储匹配的获取。
[0034] 在另一实施例中,正则表达式引擎13的输出可以不仅仅是匹配。例如,串行比特 流10可以与所获取的数字化波形相关联。数字化波形可以被表示为值相对时间的关系。当 匹配被输出时,可以将附加的数据(诸如相关联的数字化波形内的时间)添加到输出。因此, 可以调节用户接口 14以反映时间。
[0035] 图2是根据本发明的实施例的具有数字化器前端的图1的测试和测量仪器的框 图。数字化器20可以配置成将输入信号22数字化以生成串行数据流10。
[0036] 尽管未图示,但是每个数字化器26具有前置放大器、衰减器、滤波器和/或模拟通 道中所需要的其他模拟电路。因此,对数字化器26的输入信号可以在数字化之前被放大、 衰减或以其他方式滤波。此外,数字化器26可以是能够将信号数字化的任何种类的电路。 例如,数字化器26可以包括电路,诸如对相关联的输入信号进行采样所需要的追踪和保持 电路、A/D转换器、解复用器电路。
[0037] 图3图示了根据本发明的实施例的来自正则表达式引擎的波形、对应的比特序列 和匹配比特序列。在实施例中,正则表达式语法可以被定义为:
在该示例中,匹配比特可以被定义为1、〇或无所谓(do-not-care)的X。正则表达式可 以继之以正则表达式。可替换的正则表达式可以由OR"I"操作符来定义。一个或多个" + " 或零或多个操作符可以被用于潜在地定义重复的正则表达式。"? "操作符可以意指零 或一个在先的正则表达式。操作符后面的整数可以意指正则表达式的重复数目。括号 可以被用于对正则表达式或正则表达式系列进行分组。尽管以上已经描述了特定的语法, 但是实施例可以使用其他语法。特别地,下文将给出利用其他语法的另外的示例。此外,正 则表达式引擎13所使用的语法可以但不需要实现以上语法或以下语法的所有方面。
[0038] 使用以上语法作为示例,可以定义用于匹配的正则表达式。例如,"1010000110" 可以被定义为正则表达式。波形44和对应的数字值46在图3中被图示。可以将比特序列 40标识为匹配,因为其具有比特"1010000110"。然而,比特序列42将不匹配该序列。
[0039] 可替换的正则表达式可以被定义为"1010XX0110"。与以上示例相反,两个 无所谓的"X"值被包括在该正则表达式中。因此,序列40和42二者匹配正则表达式 "1010XX0110"。
[0040] 图4图示了根据本发明的实施例的来自正则表达式引擎的波形、对应的比特序 列、匹配比特序列以及对齐序列。在实施例中,正则表达式引擎13可以被配置成对齐串行 比特流10内的操作。例如,诸如8b/10b之类的编码技术可以定义可被用于对齐的特定一 个或多个比特序列。8b/10b编码内的序列"1100000"或"0011111"可以指示串行比特流内 的10比特对齐。
[
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1