具有状态的串行比特流正则表达式.pdf

上传人:b*** 文档编号:6257200 上传时间:2019-05-26 格式:PDF 页数:31 大小:1.72MB
返回 下载 相关 举报
摘要
申请专利号:

CN201510470604.7

申请日:

2015.08.04

公开号:

CN105334364A

公开日:

2016.02.17

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G01R 13/02申请日:20150804|||公开

IPC分类号:

G01R13/02

主分类号:

G01R13/02

申请人:

特克特朗尼克公司

发明人:

K.D.鲁尔; E.F.塔诺斯; J.费斯特

地址:

美国俄勒冈州

优先权:

62/033036 2014.08.04 US; 14/501750 2014.09.30 US

专利代理机构:

中国专利代理(香港)有限公司72001

代理人:

周学斌; 陈岚

PDF下载: PDF下载
内容摘要

本发明涉及具有状态的串行比特流正则表达式。一种测试和测量仪器包括用户接口(1020)以及控制器(1005)。控制器被配置成接收串行比特流并且将逻辑(1010)应用于串行比特流以标识串行比特流内的状态。将逻辑应用于串行比特流的结果是组合状态/比特流。可以将正则表达式(1015)应用于组合状态/比特流:正则表达式可以包括状态信息(1025)。控制器还被配置成响应于正则表达式对组合状态/比特流的应用而通过用户接口呈现输出数据。

权利要求书

1.一种测试和测量仪器,包括:用户接口(1020),以及控制器(1005),其被配置成:  接收串行比特流;  应用逻辑(1010)以标识串行比特流内的状态并且产生组合状态/比特流;  将第一正则表达式(1015)应用于组合状态/比特流,从而产生输出数据,其中第一正则表达式包括状态信息(1025);以及  响应于第一正则表达式对组合状态/比特流的应用而通过用户接口呈现输出数据。2.根据权利要求1的测试和测量仪器,其中标识串行比特流内的状态的逻辑包括逻辑表达式(1105)。3.根据权利要求1的测试和测量仪器,其中标识串行比特流内的状态的逻辑包括外部函数(1205)。4.根据权利要求1的测试和测量仪器,其中组合状态/比特流是有时间次序的。5.根据权利要求1的测试和测量仪器,其中控制器还被配置成将第一正则表达式(1305)应用于串行比特流以产生临时结果(1310),并且将第二正则表达式(1315)应用于临时结果以产生输出数据,其中第一正则表达式包括状态信息。6.根据权利要求1的测试和测量仪器,其中控制器还被配置成如果串行比特流未能匹配第一正则表达式则将第二正则表达式应用于串行比特流,其中第二正则表达式包括状态信息。7.根据权利要求6的测试和测量仪器,其中第一正则表达式定义第一分组类型并且第三正则表达式定义第二分组类型。8.一种方法,包括:接收串行比特流(1610);应用逻辑以标识串行比特流内的状态(1615)并且产生组合状态/比特流;将第一正则表达式应用于组合状态/比特流(1620),从而产生输出数据,其中第一正则表达式包括状态信息;以及响应于第一正则表达式对串行比特流的应用而通过用户接口呈现输出数据(1650)。9.根据权利要求8的方法,其中应用逻辑以标识串行比特流内的状态包括应用逻辑表达式以标识串行比特流内的状态。10.根据权利要求8的方法,其中应用逻辑以标识串行比特流内的状态包括应用外部函数以标识串行比特流内的状态。11.根据权利要求8的方法,其中应用逻辑以标识串行比特流内的状态包括应用逻辑以标识串行比特流内的状态并且产生组合状态/比特流,其中组合状态/比特流是有时间次序的。12.根据权利要求8的方法,其中将第一正则表达式应用于组合状态/比特流包括:产生临时结果(1625);以及将第二正则表达式应用于临时结果以产生输出数据(1630)。13.根据权利要求8的方法,还包括如果串行比特流未能匹配第一正则表达式则将第二正则表达式应用于串行比特流,第二正则表达式(1640)包括状态信息。14.根据权利要求13的方法,其中将第一正则表达式应用于组合状态/比特流包括将定义第一分组类型的第一正则表达式应用于串行比特流;以及将第三正则表达式应用于组合状态/比特流包括将定义第二分组类型的第三正则表达式应用于串行比特流。

说明书

具有状态的串行比特流正则表达式

相关申请数据

本申请要求享有2014年8月4日提交的序列号为62/033,036的美国临时专利申请的权益,所述专利申请以其全部内容通过引用并入于此。

技术领域

本发明涉及测试和测量仪器,并且更具体地涉及具有对串行比特流的正则表达式处理的测试和测量仪器。

背景技术

正则表达式可以被使用在分析字符流中。例如,诸如Perl和AWK之类的程序基于正则表达式模式匹配。正则表达式可以被用于定义字符的匹配序列。然而,对已经被转换成字节、字或其他多比特格式的数据执行这样的正则表达式匹配。相反地,串行比特流未被分组成这样的多比特格式。

申请人的2010年11月18日提交的题为“SERIALBITSTREAMREGULAREXPRESSIONENGINE”的序列号为12/949,703的在先美国专利申请描述了可以如何将正则表达式应用于串行比特流。并且通过使用2010年11月18日提交的题为“SERIALBITSTREAMREGULAREXPRESSIONENGINE”的序列号为12/949,703的专利美国专利申请中描述的机制,一般可能实现任何期望的正则表达式。但是以此方式完整描述正则表达式可能是复杂的。为了比较,在计算机科学中任何程序可以以机器语言来编写(使用比特0和1)。但是以机器语言的复杂计算机程序的实现方式在最好的情况下是非常冗长的:在最差的情况下,保持正确实际上是不可能的。通过以汇编语言或更高阶的编程语言(例如COBOL、Fortran或C)编写程序,实现方式和调试被简化。

注意的是,更高阶的编程语言并未向编程者给出实现机器语言不能支持的任何程序的能力。如果有任何的话,相反情况为真:可能存在可以以机器语言实现的指令序列,其在更高阶的编程语言中没有等同物。但是简化的实现方式使更高阶的编程语言的用户在以机器语言进行编程期间更有利。

发明内容

测试和测量仪器包括用户接口和控制器。控制器可以接收串行比特流并且将正则表达式应用于串行比特流。正则表达式可以包括使用第二正则表达式所定义的状态信息。控制器然后可以通过用户接口呈现将正则表达式应用于串行比特流的结果。

附图说明

图1是根据本发明的实施例的具有正则表达式引擎的测试和测量仪器的框图。

图2是根据本发明的实施例的具有数字化器前端的图1的测试和测量仪器的框图。

图3图示了根据本发明的实施例的来自正则表达式引擎的波形、对应的比特序列以及匹配比特序列。

图4图示了根据本发明的实施例的来自正则表达式引擎的波形、对应的比特序列、匹配比特序列以及对齐序列。

图5是根据本发明的实施例的具有触发系统的测试和测量仪器的框图,所述触发系统具有正则表达式引擎。

图6是根据本发明的实施例的在触发系统中具有正则表达式引擎的测试和测量仪器的框图。

图7图示了根据本发明的实施例的来自正则表达式引擎的波形、对应的比特序列、匹配比特序列以及相关联的数据。

图8是根据本发明的实施例的具有正则表达式引擎的测试和测量仪器的用户接口的示例。

图9是根据本发明的实施例的具有正则表达式引擎的测试和测量仪器的用户接口的另一示例。

图10示出了根据本发明的实施例的具有正则表达式引擎和状态信息的测试和测量仪器的框图。

图11示出了将状态定义为逻辑表达式的图10的状态标识逻辑。

图12示出了将状态定义为外部函数的图10的状态标识逻辑。

图13示出了将第二正则表达式应用于第一正则表达式的输出的图10的正则表达式引擎。

图14示出了将多于一个正则表达式应用于串行比特流的图10的正则表达式引擎。

图15示出了取得具有状态信息的正则表达式并且将其编译到用于使用在图10的测试和测量仪器中的正则表达式引擎中的编译器。

图16A-16B示出了根据本发明的实施例的用于使用具有状态信息的正则表达式的过程的流程图。

图17示出了根据本发明的实施例的用于将正则表达式编译到用于使用在正则表达式引擎中的设计中的过程的流程图。

具体实施方式

本公开描述了具有用于串行比特流的正则表达式引擎的测试和测量仪器的实施例。

图1是根据本发明的实施例的具有正则表达式引擎的测试和测量仪器的框图。该仪器包括配置成接收串行比特流10的控制器12。可以以各种方式生成串行比特流10。例如,仪器可以是配置成将输入信号数字化的示波器。数字化输入信号(其可以被表示为数字化模拟信号)可以表示数字数据。也就是说,数字化输入信号可以表示数据流的一系列比特。串行比特流10可以是从数字化输入信号中提取的这样的一系列比特。

在另一实施例中,该仪器可以是逻辑分析器。该逻辑分析器可以配置成比较输入信号与阈值以便为通道生成串行比特流。串行比特流10可以是来自逻辑分析器的通道的这样的比特流。可以生成串行比特流的任何仪器可以包括如本文所描述的正则表达式引擎。

在实施例中,串行比特流10可以但不需要紧接在通过控制器12的处理之前被获取。例如,串行比特流10可以存储在存储器中。这样的存储器可以是获取存储器。在另一示例中,串行比特流10可以存储在非易失性存储器中,该非易失性存储器诸如是磁盘驱动器或其他大容量存储设备。

不管串行比特流10的源如何,控制器12都可以配置成接收串行比特流10。控制器12可以是任何种类的电路。例如,数字信号处理器(DSP)、微处理器、可编程逻辑器件、通用处理器、或具有如所期望的适当外围设备的其他处理系统,可以用作控制器12来实现正则表达式引擎13的功能。在完整集成与完全分立的组件之间的任何变型可以用于实现控制器12。正则表达式引擎13表示控制器12的功能,其将正则表达式应用于串行比特流10。

控制器12被耦合到用户接口14。用户接口14可以包括任何种类的接口。例如,用户接口14可以包括输入接口,诸如按钮、旋钮、滑块、键盘、指示设备等等。用户接口14可以包括输出接口,诸如显示器、灯、扬声器等等。用户接口14可以包括输入/输出接口,诸如通信接口、触摸屏等等。任何种类的用户接口或这样的接口的组合都可以被用作用户接口。

控制器12可以配置成响应于将正则表达式应用于串行比特流10而通过用户接口呈现所获取的数据(其也可以被称为“输出数据”,因为“所获取的数据”是从测试和测量仪器输出的)。在实施例中,所获取的数据可以是串行比特流10本身。然而,在其他实施例中,所获取的数据和串行比特流10可以是不同的。例如,如在下文将进一步详细描述的那样,正则表达式的串行比特流中的匹配可以被用于触发将其他数据作为所获取的数据而被获取。

正则表达式引擎13可以被用于影响串行比特流10的各种呈现。例如,如在下文将进一步详细描述的那样,数据可以与正则表达式相关联。数据可以表示在匹配比特序列中编码的符号。可以利用符号来将串行比特流10呈现为覆盖图、单独的符号等等。

在另一示例中,正则表达式引擎13可以被用于搜索、标记或以其他方式标识串行比特流10、相关联的数据中的模式,等等。例如,在示波器上,可以针对特定比特序列来搜索表示所获取的信号的数字化波形。数字化波形的相关联的序列可以通过用户接口来呈现。可替换地,可以标记相关联的序列。

在另一示例中,正则表达式引擎13可以被用于过滤所获取的数据。例如,如在下文将进一步详细描述的那样,正则表达式可以定义分组结构和仅匹配于来自特定设备的分组的匹配值。数据的获取可以被过滤为使得仅存储匹配的获取。

在另一实施例中,正则表达式引擎13的输出可以不仅仅是匹配。例如,串行比特流10可以与所获取的数字化波形相关联。数字化波形可以被表示为值相对时间的关系。当匹配被输出时,可以将附加的数据(诸如相关联的数字化波形内的时间)添加到输出。因此,可以调节用户接口14以反映时间。

图2是根据本发明的实施例的具有数字化器前端的图1的测试和测量仪器的框图。数字化器20可以配置成将输入信号22数字化以生成串行数据流10。

尽管未图示,但是每个数字化器26具有前置放大器、衰减器、滤波器和/或模拟通道中所需要的其他模拟电路。因此,对数字化器26的输入信号可以在数字化之前被放大、衰减或以其他方式滤波。此外,数字化器26可以是能够将信号数字化的任何种类的电路。例如,数字化器26可以包括电路,诸如对相关联的输入信号进行采样所需要的追踪和保持电路、A/D转换器、解复用器电路。

图3图示了根据本发明的实施例的来自正则表达式引擎的波形、对应的比特序列和匹配比特序列。在实施例中,正则表达式语法可以被定义为:

在该示例中,匹配比特可以被定义为1、0或无所谓(do-not-care)的X。正则表达式可以继之以正则表达式。可替换的正则表达式可以由OR“|”操作符来定义。一个或多个“+”或零或多个“*”操作符可以被用于潜在地定义重复的正则表达式。“?”操作符可以意指零或一个在先的正则表达式。“*”操作符后面的整数可以意指正则表达式的重复数目。括号可以被用于对正则表达式或正则表达式系列进行分组。尽管以上已经描述了特定的语法,但是实施例可以使用其他语法。特别地,下文将给出利用其他语法的另外的示例。此外,正则表达式引擎13所使用的语法可以但不需要实现以上语法或以下语法的所有方面。

使用以上语法作为示例,可以定义用于匹配的正则表达式。例如,“1010000110”可以被定义为正则表达式。波形44和对应的数字值46在图3中被图示。可以将比特序列40标识为匹配,因为其具有比特“1010000110”。然而,比特序列42将不匹配该序列。

可替换的正则表达式可以被定义为“1010XX0110”。与以上示例相反,两个无所谓的“X”值被包括在该正则表达式中。因此,序列40和42二者匹配正则表达式“1010XX0110”。

图4图示了根据本发明的实施例的来自正则表达式引擎的波形、对应的比特序列、匹配比特序列以及对齐序列。在实施例中,正则表达式引擎13可以被配置成对齐串行比特流10内的操作。例如,诸如8b/10b之类的编码技术可以定义可被用于对齐的特定一个或多个比特序列。8b/10b编码内的序列“1100000”或“0011111”可以指示串行比特流内的10比特对齐。

正则表达式语法可以被定义为允许这样的对齐序列的表达式。例如,具有对齐表达式的正则表达式可以被定义为:

此处,操作符“alignment”可以指示:随后的正则表达式定义用于串行比特流10内的对齐序列的匹配。例如,使用以上序列,正则表达式“alignment(1100000|0011111)”可以被用于将“1100000”或“0011111”定义为对齐序列。

除对齐序列之外,可以指定宽度。在该示例语法中,宽度(width)操作可以指示串行比特流10内的多个比特宽的“字(word)”。例如,在8b/10b编码内宽度可以是10比特。因此,用于8b/10b编码的对齐表达式可以是“alignment(1100000|0011111)width10”。

特别地,宽度的定义允许对齐正则表达式,诸如以上的那些,其比所提供的宽度更窄或更宽。在以上示例中,对齐正则表达式定义具有10比特宽度的两个7比特匹配序列。因此,当正则表达式引擎13向串行比特序列10中递增索引时,增量可以是按照宽度的。也就是说,在实施例中,正则表达式可以不被应用于每个比特,而是开始于根据对齐正则表达式对齐的串行比特流10中的比特。

参照图4,考虑正则表达式“1010000110alignment(1100000|0011111)width10”。与图3类似,图示了波形60和对应的数字值68。比特序列62匹配对齐正则表达式“(1100000|0011111)”。利用所定义的宽度,根据所标识的对齐比特序列62和所定义的宽度可以对齐执行正则表达式到波形60的应用。

虚线70描绘了波形60内的“字(word)”的边界。在该示例中,比特序列64和66二者匹配正则表达式“1010000110”。然而,只有比特序列64对齐到边界70。因此,仅比特序列64而不是比特序列66将是匹配。

在图4中,图示了如与对齐比特序列62相邻的匹配比特序列64;然而,这样的接近性不是必要的。例如,在实施例中,控制器可以被配置成使用对齐正则表达式搜索串行比特流。一旦找到,正则表达式引擎13可以被配置成响应于对齐正则表达式的匹配而应用正则表达式的余项。也就是说,可以在串行比特流10内并且根据所定义的宽度对齐应用该余项。

与正则表达式的余项的匹配可能直到显著地在对齐序列之后才被找到。例如,直到找到与正则表达式的余项的匹配时,可能已经从获取存储器中丢弃对齐比特序列。然而,正则表达式引擎13依然可以操作对齐到串行比特流10。

在其他实施例中,宽度可以由对齐序列隐含地定义。例如,对齐正则表达式“alignment(1100000XXX|0011111XXX)”可以与“alignment(1100000|0011111)width10”基本类似地操作。也就是说,正则表达式引擎13可以被配置成确定对齐正则表达式的宽度是串行比特流10内“字(word)”的宽度。

在实施例中,对齐比特序列可能不是已知的,或者甚至是不存在的;然而宽度可以是已知的。例如,对齐正则表达式可以是“width10”。在这样的情况下,引用串行比特流10的索引可以响应于宽度而递增;然而,可能需要确定对齐。

各种技术可以被用于确定串行比特流10内的对齐。例如,正则表达式引擎13可以被配置成使用等于正则表达式宽度的引用串行比特流10的数个索引来将正则表达式应用于串行比特流10。也就是说,对于不会复制早前类似对齐的给定宽度的串行比特流10内的每个潜在索引可以应用正则表达式。例如,如果宽度是10,0的索引可以基本上类似于10的索引。在宽度所定义的粒度水平下可以为每个潜在对齐应用正则表达式。可以选择具有与正则表达式最大匹配数目的索引作为要使用的索引。

在另一实施例中,可以指示对齐的其他技术可以被用于确定与串行比特流10一起使用的对齐索引。例如,利用8b/10b编码,符号末尾处的运行不一致性可以被限于特定范围。在运行不一致性处于期望范围内的情况下串行比特流10内的偏移索引可以被用作所标识的索引。尽管特定示例是串行比特流10的特性可以被用于将偏移索引标识到串行比特流10中,但是可以指示对齐的串行比特流10的任何特性、所期望的格式等等可以在宽度内的每个索引之上被搜索以确定合适的索引。

在实施例中,串行比特流10可以具有动态宽度。为了适应动态宽度,控制器12可以被配置成搜索串行比特流10以得到有效模式。一旦标识有效模式,有效模式的位置可以被用于将正则表达式与串行比特流10对齐。

在另一个示例中,可以解码串行比特流10并对其检查错误。如果错误存在、超出阈值等等,可以利用另一偏移执行串行比特流10的解码。一旦发现偏移具有最小错误,可以使用该偏移来将正则表达式与串行比特流10对齐。

尽管已经描述了确定对齐和/或串行比特流10的字的宽度的各种方式,但是其他技术可以用于获得这样的信息。在实施例中,控制器12可以被配置成通过用户接口14接收引用串行比特流10的索引。索引可以以各种方式来生成。例如,用户可以提供偏移、宽度或二者。这样的所提供的信息可以通过用户接口14、控制器12等等来变换成引用串行比特流10的索引。使用该索引,控制器可以将正则表达式应用到串行比特流10。

在另一示例中,用户可以使用光标位置来定义用于串行比特流10的偏移索引。可以通过用户接口14呈现串行比特流10。用户可以操纵光标,不管是手动的还是通过某种自动化功能等等,以指示所呈现的串行比特流10内的位置。作为响应,控制器12可以确定引用串行比特流10的比特索引。因此,在其中对齐序列不可用、尚未被定义等等的情况下,用户依然可以检验数据并且指示串行比特流10内的对齐。

图5是根据本发明的实施例的具有触发系统的测试和测量仪器的框图,该触发系统具有正则表达式引擎。触发系统90可以被配置成响应于触发输入92而生成触发信号94。在实施例中,控制器12可以被配置成响应于触发信号94而利用正则表达式引擎13将正则表达式应用于串行比特流。

例如,控制器12可以被配置成使用引用了与触发信号94相关联的串行比特流10的索引。控制器12可以被配置成从触发系统90接收触发信号94。可以将时间上与触发信号94相关联的串行比特流10的比特、位于离触发信号94特定偏移处的比特,等等用作对齐指示符,以用于正则表达式的处理。一旦建立对齐,可以如以上所描述的那样应用正则表达式。

在另一实施例中,触发系统90可以具有正则表达式引擎91。正则表达式引擎91可以被配置成将正则表达式应用于触发输入92。在该示例中,触发输入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的一部分。触发系统90可以被配置成响应于正则表达式对触发信号92的串行比特流的匹配而触发获取。

在实施例中,这样的触发可以被用于仅在匹配发生时获取数据。例如,仪器可以从共享介质获取数据。正则表达式可以被定义为指示特定设备、分组、源地址等等。因此,当从匹配源接收信号时,只可以使用对应数据。例如,可以从这样的数据生成实时的数据眼(dataeye)。通过使用正则表达式,只有来自期望源的信号可以贡献于数据眼。

图7图示了根据本发明的实施例的来自正则表达式引擎的波形、对应的比特序列、匹配比特序列和相关联的数据。在实施例中,数据可以存在于正则表达式中。例如,以下语法允许描述数据:

<RegExprWithData>:=<RegExpr>:<Data>

为了清楚起见,正则表达式语法的余项没有被列出;然而,正则表达式“<RegExprWithData>”可以被用作本文所描述的任何正则表达式“<RegExpr>”。

在一个示例中,正则表达式“(1010000110:“D15.6+”)”可以将比特序列“1010000110”与数据“D15.6+”相关联。在图7中图示了波形110和对应的比特序列92。比特序列112匹配“1010000110”。因此,相关联的数据“D15.6+”可以通过用户接口14在框116中来呈现。类似地,对于正则表达式“(1000111101:“D17.4-”)”,由于比特序列114匹配该正则表达式,因此通过用户接口14,框118可以呈现相关联的数据“D17.4-”。

在实施例中,使用这样的数据关联性,可以实现解码器。例如,如以上所描述的,两个比特序列112和114与符号“D15.6+”和“D17.4-”相关联。“D15.6+”和“D17.4-”是作为8b/10b解码方案的一部分的符号。定义解码器的正则表达式可以被定义为“((1000111100:“D17.3”)|(1000111101:“D17.4-”)...(1010000110:“D15.6+”))alignment(1100000|0011111)width10”。在该示例中,存在所描述的三个以外的许多其他比特序列与符号的关系;然而,将这三个用作示例。因此,如果定义了所有比特序列与符号的关系,则正则表达式可以被用于解码串行比特流10。如以上所描述的,源波形和/或比特流不需要被呈现。

在实施例中,这样的相关联的数据可以在仪器的后续操作中被使用。例如,控制器可以被配置成基于数据执行搜索。使用上述示例,可以针对“D15.6+”符号执行搜索。在实施例中,底层的正则表达式可以但不需要对用户隐藏。例如,可以针对特定符号(与测试设置一起加载等等)来预定义各种正则表达式。用户可以选择与正则表达式相关联的数据,而无需底层正则表达式中的信息。

尽管文本已经被用作可以与正则表达式相关联的数据的示例,但是其他类型的信息可以被用作该数据。例如,数字、表达式、函数等等可以是相关联的数据的一部分。

图8是根据本发明的实施例的具有正则表达式引擎的测试和测量仪器的用户接口的示例。在实施例中,用户接口14可以被配置成呈现正则表达式。在一个示例中,用户接口可以被配置成呈现先前定义的正则表达式的数据。

块132和134表示在用户接口130中呈现的先前定义的正则表达式。例如,块132可以表示正则表达式“(1010000110:“D15.6+”)alignment(1100000|0011111)width10”,而块134可以表示“(1000111101:“D17.4-”)alignment(1100000|0011111)width10”。

诸如指示设备的拖动输入之类的用户输入由箭头138来图示。通过该输入,用户可以指示:用于形成正则表达式的输入框136可以由与块132相关联的正则表达式来填入。例如,最初,框136可以是空的。响应于箭头138的用户输入,用与块132相关联的正则表达式来填充框136。

然而,框136中的正则表达式不需要被扩展。也就是说,框136中的正则表达式可以保持由与源正则表达式相关联的数据所表示。在该示例中,数据将是“D15.6+”。另外,多于一个的先前定义的正则表达式可以被添加到框136中。例如,用户可以将块134添加到框136以添加相关联的正则表达式、添加进操作符等等。

在实施例中,所呈现的正则表达式可以是任何正则表达式。如以上所描述的,块132具有关联的对齐和宽度项。然而,相关联的正则表达式可以已经是“(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*64width66”。

尽管已经使用文本框作为用于形成正则表达式的用户接口的示例,但是可以允许用户录入文字、操作符、先前定义的正则表达式等等的任何接口都可以代替或附加于框136而被使用。

图9是根据本发明的实施例的具有正则表达式引擎的测试和测量仪器的用户接口的另一示例。图示了用户接口的呈现150,其具有字段描述158和条目字段160。在该示例中,描述了用于IP分组的正则表达式;然而,可以使用其他格式。用于使用正则表达式来定义分组的语法可以是:

在该示例中,先前定义的正则表达式可以是“[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”。此处,TotalLengthID可以表示以字节计的长度。因此,Data字段的比特量将是以字节计的TotalLength-20个报头字节乘以每字节8比特。

在实施例中,对于正则表达式的<Field>部分,通过用户接口14可以呈现对应的标签和条目字段。在该示例中,用户已经使字段152和154留空,并且利用以十六进制的值C0A80105(其表示源IP地址192.168.1.5)来填入字段156。因此,这样的用户输入可以被用于生成正则表达式,诸如“[0000100000000000X*16],[X*16]:TotalLength,[X*5411000000101010000000000100000101X*32X*(TotalLength-20)*8]”。也就是说,如果字段152和154没有填入,则这些字段可以被压缩,可以添加进与元素相关联的值以修改正则表达式,可以将值扩展成比特,等等。

在实施例中,在正则表达式的其他位置中可以引用<Field>的ID参数。在该示例中,在Data字段中使用TotalLength。特别地,Data字段中的匹配比特的数目的长度取决于TotalLength字段的值。在一个示例中,TotalLength字段可以是定义的值,类似于源IP地址。在另一示例中,TotalLength字段可以从被分析的特定比特序列来确定。也就是说,如果开始匹配正则表达式的TotalLength字段的比特引用值“120”,则Data字段中匹配比特的数目可以是(120-20)*8或800比特。对于正则表达式对不同的比特序列的每个应用、比特序列中的开始位置等等,这样的值可以改变。

在实施例中,正则表达式引擎可以被配置成反向应用正则表达式。例如,串行数据流10中的特定对齐序列可以出现于匹配正则表达式的比特序列之后。因此,当找到对齐序列时,可以从对齐序列反向应用正则表达式引擎。

另一实施例包括在计算机可读介质上所体现的计算机可读代码,所述计算机可读代码在被执行时,使计算机实行以上所描述的操作中的任意。如此处所使用的,计算机是可以执行代码的任何设备。微处理器、可编程逻辑器件、多处理器系统、数字信号处理器、个人计算机等等全都是这样的计算机的示例。在实施例中,计算机可读介质可以是有形计算机可读介质,其被配置成以非暂时性方式存储计算机可读代码。

如以上所描述的,测试和测量仪器可以使用正则表达式来针对串行比特流进行匹配。但是以上所描述的正在表达式语法不包括状态信息。因此,可以描述包括状态信息的另一实施例。

图10是根据本发明的实施例的具有包括状态信息的正则表达式引擎的测试和测量仪器的框图。该仪器包括被配置成接收串行比特流的控制器1005。串行比特流可以以各种方式来生成。例如,该仪器可以是配置成将输入信号数字化的示波器。数字化输入信号(其可以被表示为数字化模拟信号)可以表示数字数据。也就是说,数字化输入信号可以表示数据流的一系列比特。串行比特流可以是从数字化输入信号中提取的这样的一系列比特。

在另一实施例中,该仪器可以是逻辑分析器。逻辑分析器可以被配置成比较输入信号与阈值以便为通道生成串行比特流。串行比特流可以是来自逻辑分析器的通道的这样的比特流。可以生成串行比特流的任何仪器可以包括如本文所描述的正则表达式引擎。

控制器1005可以包括状态标识逻辑1010。状态标识逻辑1010可以是标识串行比特流中的状态的逻辑。状态标识逻辑1010还可以通过改变将状态标识成可以由正则表达式识别的状态符号的串行比特流中的比特来修改串行比特流。以此方式,状态标识逻辑1010可以创建包括状态符号以及比特(0和1)的组合状态/比特流。以下参照图11-12进一步讨论状态标识逻辑1010。

还值得指出的是,串行比特流和在串行比特流中标识的状态信息是有时间次序的:也就是说,该信息具有关于时间的序列。因此,组合状态/比特流也是有时间次序的。

在实施例中,串行比特流可以但不需要紧接在通过控制器1005的处理之前被获取。例如,串行比特流可以被存储在存储器中。这样的存储器可以是获取存储器。在另一示例中,串行比特流可以被存储在非易失性存储器中,该非易失性存储器例如是磁盘驱动器或其他大容量存储设备。因此,串行比特流可以是任何期望的数据,包括实况数据、由测试和测量仪器获取的数据、模拟数据或预记录的数据。

不管串行比特流的源如何,控制器1005都可以被配置成接收串行比特流。控制器1005可以是任何种类的电路。例如,数字信号处理器(DSP)、微处理器、可编程逻辑器件、通用处理器、或具有如所期望的适当外围设备的其他处理系统,可以被用作控制器1005来实现正则表达式引擎1015的功能。在完整集成到完全分立的组件之间的任何变型可以被用于实现控制器1005。正则表达式引擎1015表示控制器1005的功能,其用于将正则表达式应用于组合状态/比特流。

控制器1005被耦合到用户接口1020。用户接口1020可以包括任何种类的接口。例如,用户接口1020可以包括输入接口,诸如按钮、旋钮、滑块、键盘、指示设备等等。用户接口1020可以包括输出接口,诸如显示器、灯、扬声器等等。用户接口1020可以包括输入/输出接口,诸如通信接口、触摸屏等等。任何种类的用户接口或这样的接口的组合都可以被用作用户接口。

控制器1005可以被配置成响应于将正则表达式应用于组合状态/比特流而通过用户接口呈现输出数据。在实施例中,输出数据可以是串行比特流本身,或者组合状态/比特流。然而,在其他实施例中,输出数据和串行比特流或组合状态/比特流可以是不同的。例如,如在下文将进一步详细描述的那样,正则表达式的组合状态/比特流中的匹配可以被用于触发其他数据被用作输出数据。

正则表达式引擎1015可以被用于影响串行比特流或组合状态/比特流的各种表示。例如,如以下描述的,数据可以与正则表达式相关联。数据可以表示在匹配比特序列中编码的符号。串行比特流或组合状态/比特流可以利用符号呈现为覆盖图、单独的符号等等。正则表达式引擎1015还可以包括状态信息1025。状态信息1025可以被用于定义正则表达式引擎1015何时以及如何操作。例如,可以针对分组定义正则表达式,并且正则表达式可以具有定义分组的开始和结尾的状态信息。在没有该状态信息的情况下,组合状态/比特流内的相同比特序列将不匹配正则表达式,并且因此不被识别为输出数据。

在另一示例中,正则表达式引擎1015可以被用于搜索、标记或以其他方式标识组合状态/比特流、相关联的数据等等中的模式。例如,在示波器上,可以针对特定比特序列来搜索表示所获取的信号的数字化波形。数字化波形的相关联的序列可以通过用户接口来呈现。可替换地,可以标记相关联的序列。

在另一示例中,正则表达式引擎1015可以被用于过滤所获取的数据。例如,如在下文将进一步详细描述的那样,正则表达式可以定义分组结构和仅匹配于来自特定设备的分组的匹配值。数据的获取可以被过滤为使得仅存储匹配的获取。

在另一实施例中,正则表达式引擎1015的输出可以不止是仅匹配。例如,串行比特流可以与所获取的数字化波形相关联。数字化波形可以被表示为值相对时间的关系。当匹配被输出时,可以将附加的数据(诸如相关联的数字化波形内的时间)添加到输出。因此,可以调节用户接口1020以反映时间。

所描述的图10类似于图1,但是被修改为包括状态信息。图2-9中所示的实施例可以被类似地修改以支持状态信息,尽管这样的实施例在本文中未被明确示出。

与2010年11月18日提交的题为“SERIALBITSTREAMREGULAREXPRESSIONENGINE”的序列号为12/949,703的母案美国专利申请中描述的正则表达式语法相对比,正则表达式语法可以被增强以添加附加语义。正则表达式语法现在可以描述为如下:

除正则表达式中的状态元素的包括之外,该正则表达式语法还更靠近在规范文档中如何典型地定义总线。通过以更类似于总线规范的方式定义正则表达式语法,对于用户而言,将具体正则表达式定义为在组合状态/比特流内进行标识是更加容易的,因为用户一般对于总线规范是熟悉的。

如在2010年11月18日提交的题为“SERIALBITSTREAMREGULAREXPRESSIONENGINE”的序列号为12/949,703的母案美国专利申请中的那样,匹配比特可以被定义为1、0或无所谓的X。正则表达式可以是整数值,具有或没有指定宽度。正则表达式可以是名为State的项。正则表达式可以是开始状态(“^”)或停止状态(“$”)。正则表达式可以是字段名称,具有或没有指定宽度并且按最高有效位到最低有效位的次序或最低有效位到最高有效位的次序。正则表达式可以继之以正则表达式。可替换的正则表达式可以由OR“|”操作符来定义。一个或多个“+”或零或多个“*”操作符可以被用于潜在地定义重复的正则表达式。“?”操作符可以意指零或一个在先的正则表达式。“*”操作符后面的整数可以意指正则表达式的重复数目。括号可以被用于对正则表达式或正则表达式系列进行分组。尽管以上已经描述了特定的语法,但是实施例可以使用其他语法。特别地,下文将给出利用其他语法的另外的示例。另外,由正则表达式引擎13所使用的语法可以但不需要实现以上语法或以下语法的所有方面。

虽然分组的内容可以如在2010年11月18日提交的题为“SERIALBITSTREAMREGULAREXPRESSIONENGINE”的序列号为12/949,703的母案美国专利申请中描述的那样来定义,但是这不一定给出足够的信息以正确地解码串行比特流。例如,知晓分组在哪里开始和停止是必要的。否则,串行比特流可能仅仅包括随机噪声,而不是实际数据。

图11示出了图10的状态标识逻辑可以将状态标识为逻辑表达式。例如,当使用I2C总线时,分组的开始可以被标识为逻辑表达式1105,其中数据信号正下降并且时钟信号为高。类似地,分组的结尾可以被定义为事件,其中数据信号正上升并且时钟信号为高。作为软件,这些事件可以被描述为:

事件S=fall(sda)&&scl==1;

事件P=rise(sda)&&scl==1;

这些事件可以被用于扫描串行比特流并且标识状态,将串行比特流中的那些信息段改变成表示开始和结束状态的令牌(从而产生组合状态/比特流)。这些状态然后可以被用作用于分组的正则表达式的部分。例如,然后可以将分组定义为:

分组P7{S,Addr:7,RW,A,(Data:8,A)*,P};

以上针对分组P7的描述的仔细回顾将揭示出分组P7使用与在2010年11月18日提交的题为“SERIALBITSTREAMREGULAREXPRESSIONENGINE”的序列号为12/949,703的母案美国专利申请中描述的那个句法相比不同的句法:具体地,Addr和Data字段使用不同的句法。但是本领域技术人员将认识到,不同的句法描述相同的概念:以上句法中的Addr:7在功能上等同于早前的句法中的[X*7]:Addr。

虽然图11示出仅一个逻辑表达式1105,但是本领域技术人员将认识到可以存在被定义为事件的任何数目的状态。

与图11相对比,图12示出了使用外部表达式1205定义的图10的状态标识逻辑。例如,当串行比特流匹配特定比特模式时可以标识分组的开始和结束。同样,虽然图12仅示出一个外部函数1205,但是本领域技术人员将认识到可以存在被定义为正则表达式的任何数目的正则状态。

此外,图11和12中所示的可替换的实施例不相互排斥。也就是说,一些状态可以被定义为逻辑表达式并且一些状态可以被定义为外部函数。此外,状态可以以其他方式被潜在地定义,并且这些其他定义可以如所期望的那样与逻辑表达式和外部函数混合。

图13示出将第二正则表达式应用于第一正则表达式的输出的图10的正则表达式引擎。在图13中,正则表达式引擎1015包括正则表达式1305,其可以被应用于如在2010年11月18日提交的题为“SERIALBITSTREAMREGULAREXPRESSIONENGINE”的序列号为12/949,703的母案美国专利申请中描述的组合状态/比特流。正则表达式1305的应用可以产生临时结果1310,其然后可以被用作对正则表达式1315的输入。以此方式,可以使用多个正则表达式来顺序地处理组合状态/比特流。通过按顺序使用多个正则表达式,可以实现各种编码:例如,曼彻斯特编码。曼彻斯特编码使用两个“比特”(实际上,信号水平转变以表示信息的单个比特)。因此,第一正则表达式可以将组合状态/比特流转换成如曼彻斯特编码内的比特模式,并且第二正则表达式然后可以从曼彻斯特比特流中解码信息。在AndrewS.Tanenbaum编著的计算机网络第三版第279-80页可以找到更多信息(?1996,由Prentice-Hall,Inc.出版),其出于全部目的而通过引用并入本文。

作为如何解码曼彻斯特编码的示例,系统接收串行比特流,诸如:

1001010110010110101010

两比特值10可以与一比特值1匹配并且由其替代。两比特值01可以与一比特值0匹配并且由其替代。这创建经二进制编码的新的比特流。

除对齐问题之外,以下代码将曼彻斯特转换成仅将使用曼彻斯特的比特流的部分编码成二进制比特流的协议。

在以上示例中,“D”指代数据状态(DataState),“[(1:2(0:1)|2:2(1:1))+]”创建新的二进制流,“{Data:16}”将新的比特流划分成16比特字,并且“+”重复匹配一次或多次。字段定义“01b:2(0:1)”告知匹配两比特1并且返回一比特0。字段定义“10b:2(1:1)”告知匹配两比特2并且返回一比特1。1或2是匹配:任何其他情况导致匹配失败。这被重复一次或多次(直至匹配失败)并且创建馈送至后续字段匹配定义的新的二进制流。

图13示出两个正则表达式1305和1315的应用。但是本领域技术人员将认识到,可以如所期望的那样存在任何数目的串行应用的正则表达式。因此,可以存在三个、四个或甚至更多的正则表达式,每一个被应用于先前的正则表达式的输出,其中最终的正则表达式的输出为输出数据。

与图13相对比,其中顺序地将正则表达式应用于来自先前的正则表达式的数据,还可能建立不同的正则表达式,其可以匹配组合状态/比特流内的不同信息。也就是说,不保证测试和测量仪器内的任何特定正则表达式可能必然匹配组合状态/比特流中的任何(更不必说全部)数据。例如,如果测试和测量仪器与以不同方式编码的数据一起使用,则这可以发生。为了解决该情形,测试和测量仪器可以包括多于一个正则表达式,其中的任一个可以被用于匹配来自组合状态/比特流的信息。图14示范了该情形。

在图14中,图10的正则表达式引擎可以将多于一个正则表达式应用于组合状态/比特流。具体地,正则表达式引擎1015可以包括正则表达式1405和1410,其中的每一个可以潜在地匹配组合状态/比特流内的数据。在一个实施例中,正则表达式引擎1015可以依次应用正则表达式1405和1410中的每一个,直至组合状态/比特流匹配正则表达式之一。应用正则表达式1405和1410的次序可以以任何期望的方式来定义:例如,按它们的定义次序。在另一实施例中,正则表达式引擎1015可以同时应用所有正则表达式1405和1410,从而寻找匹配。在又一实施例中,组合状态/比特流的不同部分可以匹配不同的正则表达式。

虽然图14示出两个正则表达式1405和1410,但是本领域技术人员将认识到,可以存在正则表达式引擎1015内的任何数目的正则表达式。

本领域普通技术人员将认识到,以上描述的正则表达式引擎本质上是图灵机(Turingmachine)的形式。图灵机是使用在计算机科学中的抽象概念。图灵机包括划分成单元的带:该带一般被假定为在长度上是无限的。图灵机还具有可以被用于从带上的单个单元读取和/或写入符号的头部。在读取或写入符号之后,头部然后可以在带上从左或从右移动一个单元。图灵机还具有表示图灵机的当前状态的状态寄存器。最后,图灵机具有如何进行的指令表。典型地,表中的每一个指令可以被认为是元组,该元组包括当前状态和从带读取的当前符号,并且标识要使用的下一状态、写入到带的符号和使带前进所沿的方向(左或右)。

计算机科学理论示范了单个图灵机可以模拟多个图灵机的操作。也就是说,给定两个或更多图灵机的定义,有可能定义执行所有这些单独的图灵机的操作的单个图灵机。因此,有可能设计可以分析与多个图灵机可能单独地进行的相同数据的单个图灵机。

计算机科学理论还示范了单个图灵机可以模拟按顺序的两个图灵机的操作。也就是说,给定对输入数据进行操作的一个图灵机和可以取得第一图灵机的输出并且以不同的方式对其进行处理的第二图灵机,有可能定义实现相同结果的单个图灵机。

另一有用的类推是软件的编码。软件可以被实现在单个子例程中。但是这使得实现方式、调试和维护是困难的。模块化软件使得实现方式、调试和维护更简单。

以类似方式,有可能定义实现正则表达式或多个独立正则表达式的串行应用的结果的正则表达式,如图13-14中所示。但是这些正则表达式的定义可能是非常复杂的。定义各个正则表达式并且可替换地或顺序地应用它们比定义实现更复杂的总体结果的单个正则表达式更容易。因此,所要求保护的发明提供了相比2010年11月18日提交的题为“SERIALBITSTREAMREGULAREXPRESSIONENGINE”的序列号为12/949,703的母案美国专利申请的优点。

图15示出了取得具有状态信息的正则表达式并且将其编译到用于使用在图10的测试和测量仪器中的正则表达式引擎中的编译器。在图15中,编译器1505接收具有状态信息1025的正则表达式1305、1405。编译器1505然后使用该信息来生成正则表达式引擎1015。编译器1505可以完成这一点,因为正则表达式1305、1405有效地描述了用于识别匹配正则表达式1305、1405的组合状态/比特流的状态机。编译器1505可以使用该状态机来定义构成正则表达式引擎1015的状态和转变。

由于编译器1305、1405可以取得正则表达式1305、1405并且从其生成正则表达式引擎1015,因此本领域技术人员将认识到仅正则表达式1305、1405与正则表达式引擎1015之间的差异是以下实现:它们二者描述将串行比特流或组合状态/比特流与特定表达式匹配的方式。因此,虽然正则表达式1305、1405和正则表达式引擎1015实际上是不同的构造,但是这些术语表示相同的基本底层概念。因此,术语“正则表达式引擎”和“正则表达式”可以可互换地有效使用,并且所意图的特定术语可以根据上下文来理解。

图16A-16B示出了根据本发明的实施例的用于使用具有状态信息的正则表达式的过程的流程图。在图16A中,在块1605处,定义状态信息。在块1610处,接收串行比特流。在块1615处,将用于标识状态的逻辑应用于串行比特流,从而产生组合状态/比特流。在块1620处,将正则表达式应用于组合状态/比特流。

在块1625处(在图16B中),从正则表达式产生临时结果。然后在块1630中将该临时结果输入到第二正则表达式引擎。如果要应用附加的正则表达式的话,块1625和1630可以重复附加的次数,如虚线箭头1635所示。

在可替换方案中,不是如块1625和1630中所示的那样顺序地应用多个正则表达式,而是在块1640处,如果组合状态/比特流不匹配第一正则表达式则可以应用第二正则表达式。如果在匹配的后续失败之后要尝试附加的正则表达式的话,块1640可以重复附加的次数,如虚线箭头1645所示。

最后,在块1605处,可以将(多个)正则表达式的结果作为输出数据呈现给用户。

图17示出了根据本发明的实施例的用于将正则表达式编译到用于使用在正则表达式引擎中的设计中的过程的流程图。在图17中,在块1705处,将状态信息定义为事件。在块1710处,接收正则表达式。在块1715处,可以接收可以被顺序应用的第二正则表达式。如虚线箭头1720所示,块1715可以重复多次,这取决于要接收多少正则表达式。

在可替换方案中,不是如在块1715中所示的那样顺序应用多个正则表达式,而是在块1725处,如果组合状态/比特流不匹配第一正则表达式,则可以接收要使用的第二正则表达式。如虚线箭头1730所示,块1725可以重复多次,这取决于要接收多少正则表达式。

最后,在块1735处,可以将所接收的正则表达式编译到硬件设计中。

以上描述的图16A-16B和17表示本发明的各种可能的实施例。本发明的实施例不限于在流程图中示出的那些。可以省略各种块,并且可以重布置块的次序,而不丧失对本发明的实施例的一般性。因此,例如,图16A中的虚线1655、图16B中的虚线1660以及图17中的虚线1740和1745表示其中可以跳过块的一些方式。如何修改流程图的这些示例仅仅是说明性的,并且不意图描述可以修改流程图的仅有方式。

以下讨论意图提供其中可以实现本发明的某些方面的合适机器的概要性一般描述。典型地,机器包括处理器所附接到的系统总线、存储器(例如随机存取存储器(RAM)、只读存储器(ROM)或其他状态存留介质)、存储设备、视频接口和输入/输出接口端口。机器可以至少部分地由来自诸如键盘、鼠标等之类的常规输入设备的输入以及由从另一机器、与虚拟现实(VR)环境的交互、生物计量反馈接收的指令或其他输入信号来控制。如本文所使用的,术语“机器”意图宽泛地涵盖单个机器或通信耦合的机器或一起操作的设备的系统。示例性机器包括计算设备,诸如个人计算机、工作站、服务器、便携式计算机、手持设备、电话、平板等,以及运输设备,诸如私人或公共运输,例如汽车、火车、出租车等。

机器可以包括嵌入式控制器,诸如可编程或不可编程逻辑器件或阵列、专用集成电路、嵌入式计算机、智能卡等等。机器可以利用与一个或多个远程机器的一个或多个连接,诸如通过网络接口、调制解调器或其他通信耦合。机器可以通过物理和/或逻辑网络(诸如内联网、因特网、局域网、广域网等)的方式来互连。本领域技术人员将领会到,网络通信可以利用各种有线和/或无线短程或长程载体和协议,包括射频(RF)、卫星、微波、电气与电子工程师协会(IEEE)810.11、蓝牙、光学、红外、线缆、激光等。

可以参考或结合包括函数、过程、数据结构、应用程序等的相关联的数据来描述本发明,所述相关联的数据当被机器访问时导致机器执行任务或定义抽象数据类型或低级硬件关联(hardwarecontext)。相关联的数据可以被存储在例如易失性和/或非易失性存储器中,例如RAM、ROM等,或者存储在其他存储设备及其相关联的存储介质中,包括硬盘驱动器、软盘、光学储存装置、磁带、闪速存储器、存储器棒、数字视频盘、生物储存装置等。相关联的数据可以在包括物理和/或逻辑网络的传输环境之上以分组、串行数据、并行数据、传播信号等的形式来递送,并且可以以经压缩或解密的格式来使用。相关联的数据可以被用在分布式环境中,并且被本地和/或远程存储以供机器访问。

已经参考所说明的实施例描述和说明了本发明的原理,将认识到的是,所说明的实施例可以在布置和细节方面进行修改而不脱离于这样的原理。并且,虽然前述讨论已聚焦于特定实施例,但是其他配置是预料到的。特别地,即使在本文中使用诸如“在一个实施例”等等之类的表达,但是这些短语一般意指参考实施例可能性,并且不意图将本发明限制于特定实施例配置。如本文所使用的,这些术语可以引用组合成其他实施例的相同或不同实施例。

具有状态的串行比特流正则表达式.pdf_第1页
第1页 / 共31页
具有状态的串行比特流正则表达式.pdf_第2页
第2页 / 共31页
具有状态的串行比特流正则表达式.pdf_第3页
第3页 / 共31页
点击查看更多>>
资源描述

《具有状态的串行比特流正则表达式.pdf》由会员分享,可在线阅读,更多相关《具有状态的串行比特流正则表达式.pdf(31页珍藏版)》请在专利查询网上搜索。

本发明涉及具有状态的串行比特流正则表达式。一种测试和测量仪器包括用户接口(1020)以及控制器(1005)。控制器被配置成接收串行比特流并且将逻辑(1010)应用于串行比特流以标识串行比特流内的状态。将逻辑应用于串行比特流的结果是组合状态/比特流。可以将正则表达式(1015)应用于组合状态/比特流:正则表达式可以包括状态信息(1025)。控制器还被配置成响应于正则表达式对组合状态/比特流的应用而通。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 测量;测试


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1