CN105553606B - 用于导出硬件解码加速的方法和系统 - Google Patents
用于导出硬件解码加速的方法和系统 Download PDFInfo
- Publication number
- CN105553606B CN105553606B CN201510695380.XA CN201510695380A CN105553606B CN 105553606 B CN105553606 B CN 105553606B CN 201510695380 A CN201510695380 A CN 201510695380A CN 105553606 B CN105553606 B CN 105553606B
- Authority
- CN
- China
- Prior art keywords
- state machine
- state
- breadcrumbs
- test
- measurement instrument
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0002—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/319—Tester hardware, i.e. output processing circuits
- G01R31/31903—Tester hardware, i.e. output processing circuits tester configuration
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R13/00—Arrangements for displaying electric variables or waveforms
- G01R13/02—Arrangements for displaying electric variables or waveforms for displaying measured electric variables in digital form
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/12—Network monitoring probes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- Complex Calculations (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种从声明协议描述导出硬件解码加速。描述了测试和测量仪器。测试和测量仪器可以存储状态机。当状态机用于分析比特流时,可以在状态机的存储器中保存来自状态的面包屑。面包屑然后可以用于分析状态机的操作。
Description
相关申请数据
本申请要求出于全部目的并入本文的2014年10月24日提交的美国临时专利申请序列号62/068,384的利益。
背景技术
本发明涉及测试和测量仪器,并且更具体地涉及在测试和测量仪器中重创建比特流的分析的方式。
信号的实时分析占有一席之地。但是有时,其对事后并且较为缓慢地重创建测试测量仪器对数据的操作是有用的,使得可以检查细节。当前,不存在当分析比特流中的数据时进行该分析重创建的方式。
本发明的实施例解决就现有技术而言的这个和其它问题。
附图说明
图1A示出用于匹配特定分组的协议的示例。
图1B示出可以匹配图1A的分组的状态机。
图1C示出在涉及图1A的分组的数据的条件下可以触发的状态机。
图2A示出用于匹配若干分组的协议的第二示例。
图2B示出匹配图2A的分组的未经优化的状态机。
图2C示出匹配图2A的分组的经优化的状态机。
图2D示出在涉及图2A的分组的数据的条件下可以触发的状态机。
图3A-3B示出经修改以反映复合触发条件的图1B的状态机。
图4示出根据本发明的实施例的可以创建和使用图1B-1C和2B-2D的状态机以在满足各种触发条件时触发测试和测量仪器并且将反映图1B-1C和2B-2D的状态机的操作的面包屑(breadcrumb)保存到存储器中的测试和测量仪器。
图5示出关于图4的状态机修改器的更多细节。
图6示出关于图4的面包屑的更多细节。
图7A-7B示出根据本发明的实施例的用于使用图4的测试和测量仪器从协议和用户配置创建触发状态机的过程的流程图。
图8示出根据本发明的实施例的用于使用图4的测试和测量仪器从协议和复合触发条件创建触发状态机的过程的流程图。
图9示出根据本发明的实施例的用于使用图4的测试和测量仪器优化状态机的过程的流程图。
图10示出根据本发明的实施例的用于使用图4的测试和测量仪器来使用创建可以保存面包屑的状态机的过程的流程图。
具体实施方式
在解释本发明如何工作之前,理解正则表达式与状态机之间的关系是有用的。给定正则表达式,可以构造表示该正则表达式的状态机。状态机然后可以用于确定特定输入是否匹配正则表达式。如果状态机进行到可接受的结束状态,则输入匹配正则表达式;否则,输入不匹配正则表达式。
图1A示出表述为正则表达式的用于名为“dataPacket(数据分组)”的数据分组的协议的示例。协议105描述数据分组。当比特流与该正则表达式比较时,系统可以确定是否在比特流内发现分组。
图1B示出对应于图1A的正则表达式的状态机。状态机110包括状态115,120,125,130,135,140和145,在这些状态之间进行转换。每一个状态(其还可以称为节点或顶点)描述需要匹配什么数据以进入状态(接受准则)。每一个箭头是倘若满足针对状态的目标接受准则,则可以遍历的路径。除了开始状态115和成功状态145之外,这些状态顺序对应于分组所预期的数据。因此,状态120匹配比特流内的状态S,状态125匹配对照标记为“begin(开始)”的字段的数据的三个比特,状态130匹配对照标记为“addr(地址)”字段的数据的四个比特等等。假定所有数据都可以由状态机110的状态匹配,当到达成功状态145时,系统可以声明分组“dataPacket”已经被成功地匹配。
状态机110表示实际状态机的简化版本。例如,状态机110不标记各种状态之间的转换,状态机110也不示出当数据不匹配预期时所使用的错误状态或转换。本领域技术人员甚至在没有这些细节的情况下也将理解状态机110如何运行。
正式地,以数学术语,状态机可以表示为五元组(Σ, S, s 0 , δ, F),其中Σ为字母表(状态机所识别的符号集合),S为状态机中的状态集合,s 0 为初始状态,δ是转换函数,其从S中的每一个状态和Σ中的每一个符号映射到S中的状态(其可以是与输入状态相同的状态),并且F为S中的最终状态的集合。因此,状态机110可以更正式地表示为(Σ, S, s 0 ,δ, F),其中:
Σ = {S, 0, 1, …}(可以潜在地存在比仅仅状态S和二进制值0和1更多的所识别的符号,即使这些是仅有的由状态机所识别的符号)
S = {110, 115, 120, 125, 130, 135, 140, 145}
s 0 = 110
δ(δ在此并未更加详细地表述,因为表述完整的转换函数将会非常棘手并且具有极少价值)
F = {145}
事实上,状态机110的这种表述不一定是完整的。转换典型地发生在各个符号上,而不是符号组。因此,从状态120到125的转换可以实际上涉及三个转换(以及因此的一些中间状态):针对标记为“begin”的字段所识别的每一个比特一个。但是作为简化,本领域技术人员将理解状态机110如何运行。
如果针对状态机110中的给定状态读取到特定值,用户可能想要触发某个过程。例如,如果地址字段存储值10(以二进制,1010;以十六进制,A),用户可能想要触发过程。图1C示出状态机110可以如何进行修改以实现该触发的示例。在图1C中,取代于对照针对地址字段的任何可能值进行匹配,状态机150比较比特流与特定值1010(在状态155中)。如果找到该值,则在状态160处,触发被视为满足,并且触发导致过程开始(无论过程可能是什么)。
要指出的是,状态115和120在状态机150中与在状态机110中相同:状态115是其中状态机开始的状态,以及状态120匹配来自比特流的状态S。但是状态165不同于状态125,因为状态165不关心正在读取的特定字段。换言之,在状态165中重要的是从比特流读取三个比特。状态155也不同于状态130,因为状态155仅涉及匹配特定比特模式1010,而不是匹配地址字段(如在状态130中那样)。最后,一旦匹配了用户条件,不需要进行另外的匹配,因此状态机150不包括状态135和140的类似物:触发可以在条件满足之后立即发布。
图1A-1C示出正则表达式、匹配正则表达式的状态机和触发状态机的相当简单的示例。(触发状态机有时简单地称为“状态机”,但是从上下文本领域技术人员可以确定特定状态机是触发状态机还是匹配正则表达式的状态机)。图2A-2D示出更复杂的示例。在图2A中,示出用于三个不同分组的正则表达式。这些正则表达式可以转变成状态机,如图2B中所示。要指出的是,图2B中的状态机205使用单个起始状态来覆盖所有三个可能的协议。
状态机205可以如所示那样使用。但是使用如所示的状态机205将要求前瞻或回溯,这要求附加的存储器并且可能减慢比特流的处理。例如,假定其中给定特定输入可以到达多个状态,最左(如图2B将被人员读取,而不是处理器可能如何使用状态机205)。例如,要指出的是,状态210, 215和220全部匹配Begin状态,并且状态225, 230和235全部匹配作为slaveAddress(从地址)字段的4个比特。使用最左第一方案,在读取Begin状态和作为slaveAddress字段的4个比特之后,系统将处于状态225。但是如果下一比特读数将会为0,则系统将会追踪状态机205的错误分支,并且将必须展开状态机205的处理以试图找到正确的分支。这是回溯的示例。应当明显的是,必须使状态机205反向并且处理不同的分支可能减慢比特流的处理。避免使用状态机205进行回溯将要求前瞻处理:系统将必须以某种方式查看尚未进入比特流中的比特。前瞻也是复杂且昂贵的。
为了避免回溯和前瞻二者,状态机205可以进行优化。图2C中的状态机240示出优化的状态机的示例。利用状态机240,不存在前瞻的需要,并且不涉及回溯。给定任何分组的任何前缀(直至并且包括整个分组),仅存在匹配该前缀的通过状态机240的一个可能路径。因此,不存在执行前瞻的需要,并且不需要担心回溯:给定状态机240中的特定状态和特定输入符号,仅存在要转换到的一个可能的状态(该状态可能是错误状态,但是为了简化而在图2C中未示出)。
优化可以使用以下过程完成。开始从起始状态遍历树并且组合等同且具有相同父节点的节点(也就是说,将节点合并成单个节点)。该过程可以重复直到不再存在要组合的相似节点。然后找到等同Success(成功)状态,组合它们,并且然后组合等同并且具有相同子节点的节点(再次,重复过程直到不再存在要组合的相似节点)。
图2D示出由用户定制的特定触发的示例。在图2D中,用户已选择在正则表达式中的分组的地址字段(而不是slaveAddress字段)被设置成值0时进行触发。由于该字段不出现在分组Register0Write(寄存器0写入)中,因此状态机的这整个分支可以从触发状态机245排除。可以对照slaveAddress字段匹配任何值,此后比特0和1必须匹配。任何比特可以在此后出现(尽管实际比特将取决于读取的特定分组,触发状态机245不关心接收到哪个值),此后接收用于地址字段的比特,并且可以将其与值0比较。如果值0匹配地址字段,则触发状态机245成功,并且可以发起触发。
以上示例使用表述为相等的单个触发准则。但是不存在将触发条件限制到相等的理由。除了相等(==)之外,其他触发条件的示例可以是不相等(!=),小于(<),小于或等于(<=),大于(>),或者大于或等于(>=)。此外,触发条件可能仅取决于来自正则表达式中的字段的信息的子集。例如,在图2D中,用户可能仅对地址字段的中间三个比特是否等于001感兴趣:地址字段(其具有总共五个比特)中的第一和最后一个比特可以匹配任何值。还可能的是设置仅仅取决于到达特定状态的触发条件。例如,用户可能对知晓何时到达地址字段感兴趣,而不管其实际值。
此外,触发条件不必限于单个准则(其可以称为简单触发条件)。用户可以指定多个准则(复合触发条件),多个准则使用“与”以及“或”运算符组合在任何期望的组合中。因此,状态机可能针对多个条件进行测试,其中的任一个可能涉及子条件的集合等等。本领域技术人员将会知晓如何如所期望的那样将用户所提供的条件简化成析取范式或合取范式,这可能简化状态机的设计。(析取范式是指表述为合取从句的析取的逻辑公式:也就是说,“与”的“或”。合取范式类似地描述“或”的“与”)。
图3A-3B示出具有复合触发条件的状态机的示例。在图3A中,用户已指定(addr(地址)== 0xA && parity(奇偶校验)== 1)的触发条件。这样的触发条件是两个条件的合取。由于触发条件要求两个状态二者具有指定值,因此状态机中的两个状态被设置成特定值(如用户所指定的那样);针对其它状态的值一般不重要,并且可以组合成单个状态。
在图3B中,用户已指定(addr == 0xA || parity == 1)的触发条件:析取触发条件。由于触发条件要求两个状态之一具有指定值,因此可以建立具有单独条件的两个状态机并且使用早前描述的优化技术合并。要指出的是,即使触发条件应用于单个状态机,由于析取也存在到成功触发的两个可能路径。
图3A-3B给出涉及组合两个可能触发值的单个“与”或“或”的示例。但是应当显然的是,可以针对更加复杂的触发条件一般化过程。例如,如果触发条件涉及通过“与”运算结合的两个值,或者另一个值(形式((X与Y)或Z)的表达式),则可以拷贝状态机。一个副本可以修改成反映“与”运算的第一值;第二副本可以修改成反映“与”运算的第二值;并且第三副本可以修改成反映“或”运算的其它值。前两个状态机然后可以组合并且如以上所描述的那样优化以表示“与”运算,并且该状态机然后可以与第三状态机组合和优化以表示复合触发条件。
现在已经描述了触发状态机,可以描述可以使用触发状态机的系统。图4示出根据本发明的实施例的可以创建和使用图1B-1C和2B-2D的状态机以在满足各种触发条件时触发测试和测量仪器的测试和测量仪器。系统可以包括测试和测量仪器405。测试和测量仪器可以是任何所期望的测试和测量仪器,除其它可能性之外诸如是示波器。
测试和测量仪器405可以包括存储器410。存储器410可以存储信息,诸如状态机415。状态机415可以是用于匹配正则表达式的状态机:换言之,诸如图1B, 2B和2C的状态机110, 205和240之类的状态机。状态机415还可以是触发状态机,诸如图1C和2D的状态机150和245。
测试和测量仪器405还可以包括接收器420,其可以接收进入测试和测量仪器405中的输入。输入可以以任何数目的方式接收。例如,接收器420可以包括用于用户输入诸如触发条件425之类的信息的用户接口,该信息自身可以包括例如用户针对特定比特字段所选择的值430。或者,接收器420可以包括接收包括要分析的比特流(诸如比特流435)的信号。接收器420还可以接收正则表达式440(例如,通过集成开发环境(IDE),其可以标识系统应当预期在比特流435中接收的数据,并且可以用于构造状态机415(其作为识别正则表达式440的状态机或触发状态机)。
测试和测量仪器405还可以包括各种其它单元。状态机修改器445可以取得现有状态机(例如将数据匹配到正则表达式440的一个)并且将其修改成作为触发状态机运行。如以上所讨论的,除其它可能性之外,这可以包括排除在满足触发条件之后发生的状态,并且组合其值未被视为触发条件的部分的状态。
处理引擎450可以使用各种状态机(包括例如使用正则表达式440生成的状态机或使用状态机修改器445产生的触发状态机)处理比特流435。该处理可以包括当从比特流435读取比特时,更新针对每一个各种状态机的当前状态。
触发系统455可以在满足触发条件时(也就是说,在满足触发状态机时)发送触发。触发系统455可以向测试和测量仪器405的任何期望组件发送触发以执行作为触发结果的任何动作,如本领域普通技术人员将会理解的那样。
状态机生成器460可以从正则表达式440生成状态机。如以上所讨论的,这可以包括创建以正则表达式中所呈现的顺序匹配字段的状态的顺序系列。这还可以包括将匹配不同正则表达式的各种状态机组合成单个状态机,以及优化状态机以避免前瞻和回溯问题。
除了生成和使用触发状态机之外,测试和测量仪器405还可以用于生成面包屑。面包屑让用户重创建状态机的操作,以查看如何处理数据。诸如面包屑465之类的面包屑是可以存储在存储器410中的数据比特。本质上,无论何时进入状态机中的状态,都可以保存面包屑。面包屑可以包括数据,诸如状态的类型(例如错误状态、分组开始、分组结束或字段)、用于状态的ID(其可以标识字段或分组)以及时间(诸如导致进入状态的数据的开始和/或停止时间)。本领域技术人员将认识到,“时间”不必是指时间的文字概念(如自从信号开始以来的秒数或其分数(fraction)),而是可以是指对信号的索引(除其它可能性之外)。面包屑还可以包括关于分析的附加数据,如适当的那样。因此,包括在面包屑中的数据的标识可以是用户定制的。
面包屑通常使用触发状态机生成。但是本领域技术人员将认识到,不存在为何任何其它状态机不能用于生成面包屑的理由,并且因此面包屑可以使用任何状态机生成。
为了支持面包屑生成,测试和测量仪器405可以包括分析器470。分析器470可以使用状态机来分析比特流435。在操作中,分析器470类似于处理引擎450,但是其目的不同。分析器470涉及确定何时将面包屑保存到存储器410,而处理引擎450涉及匹配来自比特流435的比特以试图识别正则表达式。分析器470和处理引擎450还典型地运行在不同的状态机上:分析器470通常使用(但不必使用)触发状态机,而处理器450使用全状态机以匹配正则表达式。
测试和测量仪器405还可以包括面包屑生成器475。当是时候生成面包屑时(例如当进入如分析器470所确定的新状态时),面包屑生成器475可以将面包屑保存到存储器410。
最后,测试和测量仪器405可以包括重创建器480。重创建器480准许用户在比特流435上重创建状态机的操作(如分析器470所处理的那样)。该重创建使得用户能够追踪发生了什么。
如所描述的测试和测量仪器405可以处理触发状态机或面包屑生成或这二者。一些测试和测量仪器包括必要的硬件和/或软件以处理多个状态机。如果测试和测量仪器能够处理多个状态机,则测试和测量仪器405可以执行用于触发条件和面包屑的处理二者。
图5示出关于图4的状态机修改器的更多细节。在图5中,状态机修改器445被示出为包括状态机优化器505。状态机优化器505可以优化状态机,如所描述的那样。这样的优化可以是针对设计成匹配正则表达式的状态机或者针对触发状态机。
图6示出关于图4的面包屑的更多细节。在图6中,面包屑465被示出为包括类型605、ID 610和时间615。如以上所讨论的,类型605可以指定生成面包屑465的状态类型。ID610可以指定生成面包屑465的状态机中的特定状态。并且时间615可以指定状态生成面包屑465时的信号中的时间(或索引)。
图7A-7B示出根据本发明的实施例的用于使用图4的测试和测量仪器从协议和用户配置创建触发状态机的过程的流程图。在图7A中,在块705处,系统可以接收正则表达式。在块710处,系统可以生成对应于正则表达式的状态机。在块715处,系统可以优化状态机。
在块720处,系统可以标识对应于正则表达式的状态机(其可以是与在块705-715中生成的相同的状态机)。在块725处,系统可以从用户接收触发条件。除其它可能性之外,这可以包括例如针对正则表达式中的特定字段的用户指定值(或值的部分)、多个这样的用户指定值,或者甚至仅要到达的字段。在块730处,系统可以标识可以修改成实现触发条件的状态机中的状态(或多于一个状态)。
在块735处(图7B),系统可以修改(多个)所标识的状态以与用户所选值比较。在块740处,系统可以存储经修改的状态机。在块745处,系统可以接收比特流。在块750处,系统可以使用经修改的状态机处理比特流。在块710处,系统可以确定是否满足触发条件。如果是这样,则在块755处系统可以应用触发系统。
如以上所讨论的,触发条件可以是复合触发条件。在该情况中,过程的流程图可以修改成反映触发条件的复合性质。图8反映该改变。图8修改图7A-7B中的块730和735:图7A-7B中的其它块未被修改并且因此在图8中未示出。
在图8中,在块805处,系统标识由复合触发条件牵涉的状态。所牵涉的状态的数目可能小于包括在复合触发条件中的简单条件的数目。例如,针对图1B中所示的状态机的复合触发条件可能是(addr == 0xA || addr == 0xF)。要指出的是,相同的状态使用在复合触发条件的两侧。在块810处,系统针对复合触发条件中的每一个简单触发条件复制状态机一次。继续以上示例,复合触发条件包括两个简单触发条件(addr == 0xA和addr == 0xF),因此系统将会生成状态机的两个复制品。在块815处,在每一个复制状态机内,所标识的状态被修改成反映与用户指定值的比较。最后,在块820处,经修改的复制状态机可以组合以产生反映复合触发条件的单个状态机。在该点处,处理可以以图7B的块740继续。
图9示出根据本发明的实施例的用于使用图4的测试和测量仪器优化状态机的过程的流程图。在图9中,在块905处,系统可以去除在满足触发条件之后出现的状态。在块910处,系统可以将可以通过任何值满足的相邻状态合并成单个状态。
图10示出根据本发明的实施例的用于使用图4的测试和测量仪器使用创建可以保存面包屑的状态机的过程的流程图。在块1005处,系统可以接收正则表达式。在块1010处,系统可以从正则表达式生成状态机。在块1015处,系统可以优化状态机。在块1020处,系统可以将状态机应用于比特流。在块1025处,系统可以在无论何时进入状态机中的状态时保存面包屑。在块1030处,系统可以使用所保存的面包屑来重创建状态机到比特流的应用。
以上流程图示出本发明的一些可能的实施例。但是本发明的其它实施例可以以不同布置组织所述块,并且可以如所期望的那样包括或省略不同的块,或者如所需要的那样重复块(或多个块)。本发明的实施例意图包括流程图上的所有这样的变型。
本发明的实施例可以扩展到以下陈述而没有限制:
本发明的实施例包括一种系统,包括:测试和测量仪器;测试和测量仪器上的存储器;运行以接收正则表达式和比特流的测试和测量仪器上的接收器;从正则表达式生成状态机的状态机生成器;运行以使用状态机分析比特流的分析器;以及运行以无论何时进入状态机中的状态则生成面包屑并且将其保存在存储器中的面包屑生成器。
本发明的实施例包括一种系统,包括:测试和测量仪器;测试和测量仪器上的存储器;运行以接收正则表达式和比特流的测试和测量仪器上的接收器;从正则表达式生成状态机的状态机生成器;运行以使用状态机分析比特流的分析器;以及运行以无论何时进入状态机中的状态则生成面包屑并且将其保存在存储器中的面包屑生成器,其中面包屑生成器运行以生成包括类型、ID和时间中的至少一个的面包屑。
本发明的实施例包括一种系统,包括:测试和测量仪器;测试和测量仪器上的存储器;运行以接收正则表达式和比特流的测试和测量仪器上的接收器;从正则表达式生成状态机的状态机生成器;运行以使用状态机分析比特流的分析器;以及运行以无论何时进入状态机中的状态则生成面包屑并且将其保存在存储器中的面包屑生成器,其中面包屑生成器运行以当在非预期输入的情况下进入错误状态时生成面包屑并且将其保存在存储器中,面包屑包括类型、ID和时间中的至少一个。
本发明的实施例包括一种系统,包括:测试和测量仪器;测试和测量仪器上的存储器;运行以接收正则表达式和比特流的测试和测量仪器上的接收器;从正则表达式生成状态机的状态机生成器;运行以优化状态机的状态机优化器;运行以使用经优化的状态机分析比特流的分析器;以及运行以无论何时进入经优化的状态机中的状态则生成面包屑并且将其保存在存储器中的面包屑生成器。
本发明的实施例包括一种系统,包括:测试和测量仪器;测试和测量仪器上的存储器;运行以接收正则表达式和比特流的测试和测量仪器上的接收器;从正则表达式生成状态机的状态机生成器;运行以使用状态机分析比特流的分析器;运行以无论何时进入状态机中的状态则生成面包屑并且将其保存在存储器中的面包屑生成器;以及使用所保存的面包屑重创建状态机的操作的重创建器。
本发明的实施例包括一种方法,包括:在测试和测量仪器处接收正则表达式;从正则表达式生成状态机;将状态机应用于比特流;以及针对状态机中的至少一个状态,当进入至少一个状态时将面包屑保存在测试和测量仪器的存储器中。
本发明的实施例包括一种方法,包括:在测试和测量仪器处接收正则表达式;从正则表达式生成状态机;将状态机应用于比特流;以及针对状态机中的至少一个状态,当进入至少一个状态时将面包屑保存在测试和测量仪器的存储器中,包括当进入状态机中的每一个状态时将面包屑保存在测试和测量仪器的存储器中。
本发明的实施例包括一种方法,包括:在测试和测量仪器处接收正则表达式;从正则表达式生成状态机;将状态机应用于比特流;以及针对状态机中的至少一个状态,当进入至少一个状态时将面包屑保存在测试和测量仪器的存储器中,包括当进入至少一个状态时将面包屑保存在测试和测量仪器的存储器中,面包屑包括类型、ID和时间中的至少一个。
本发明的实施例包括一种方法,包括:在测试和测量仪器处接收正则表达式;从正则表达式生成状态机;将状态机应用于比特流;以及针对状态机中的至少一个状态,当进入至少一个状态时将面包屑保存在测试和测量仪器的存储器中,包括当在非预期输入的情况下进入错误状态时将错误面包屑保存在测试和测量仪器的存储器中,面包屑包括类型、ID和时间中的至少一个。
本发明的实施例包括一种方法,包括:在测试和测量仪器处接收正则表达式;从正则表达式生成状态机;优化状态机;将经优化的状态机应用于比特流;以及针对经优化的状态机中的至少一个状态,当进入至少一个状态时将面包屑保存在测试和测量仪器的存储器中。
本发明的实施例包括一种方法,包括:在测试和测量仪器处接收正则表达式;从正则表达式生成状态机;将状态机应用于比特流;针对状态机中的至少一个状态,当进入至少一个状态时将面包屑保存在测试和测量仪器的存储器中;以及使用所保存的面包屑来追踪比特流到状态机的应用。
以下讨论意图提供其中可以实现本发明的某些方面的合适机器的简要、一般的描述。典型地,机器包括系统总线,与该系统总线附接的是处理器、存储器(例如随机存取存储器(RAM)、只读存储器(ROM)或其它状态保持介质)、存储设备、视频接口和输入/输出接口端口。机器可以至少部分地通过以下各项来控制:通过来自诸如键盘、鼠标等之类的常规输入设备的输入、以及通过从另一机器接收的指示、与虚拟现实(VR)环境的交互、生物计量反馈或其它输入信号。如本文所使用的,术语“机器”意图宽泛地涵盖单个机器或者一起运行的通信耦合的机器或设备的系统。示例性机器包括诸如个人计算机、工作站、服务器、便携式计算机、手持设备、电话、平板设备等之类的计算设备,以及诸如私有或公共交通(例如汽车、火车、出租车等)之类的交通设备。
机器可以包括嵌入式控制器,诸如可编程或不可编程逻辑器件或阵列、专用集成电路、嵌入式计算机、智能卡等。机器可以利用与一个或多个远程机器的一个或多个连接,诸如通过网络接口、调制解调器或其它通信耦合。可以通过诸如内联网、互联网、局域网、广域网等之类的物理和/或逻辑网络的方式来互连机器。本领域技术人员将领会到,网络通信可以利用各种有线和/或无线短程或长程载波和协议,包括射频(RF)、卫星、微波、电气和电子工程师协会(IEEE)810.11、蓝牙、光学、红外、线缆、激光等。
本发明可以通过引用或结合相关联的数据加以描述,所述相关联的数据包括函数、过程、数据结构、应用程序等,其在被机器访问时导致机器执行任务或者定义抽象数据类型或低级硬件上下文。相关联的数据可以作为非暂时性计算机可执行指令存储在有形计算机可读介质上。例如,相关联的数据可以被存储在例如RAM、ROM等的易失性和/或非易失性存储器中,或被存储在其它存储设备及其相关联的存储介质(包括硬盘驱动器、软盘、光学存储装置、磁带、闪存、存储棒、数字视频盘、生物存储装置等)中。相关联的数据可以通过包括物理和/或逻辑网络的传输环境以分组、串行数据、并行数据、传播信号等的形式被递送,并且可以以压缩或加密格式被使用。相关联的数据可以被用在分布式环境中,并且被本地和/或远程地存储以用于机器访问。
已经参照所说明的实施例描述和说明了本发明的原理,将认识到的是,可以在不脱离这样的原理的情况下在布置和细节方面修改所说明的实施例。并且,尽管前述讨论已聚焦于特定实施例,但是设想到其它配置。特别地,即使本文使用了诸如“在一个实施例中”等之类的表述,但是这些短语意欲一般地提及实施例可能性,而不意图将本发明限制于特定的实施例配置。如本文所使用的,这些术语可以提及可组合到其它实施例中的相同或不同的实施例。
Claims (11)
1.一种用于导出硬件解码加速的系统,包括:
测试和测量仪器;
测试和测量仪器上的存储器;
运行以接收正则表达式和比特流的测试和测量仪器上的接收器;
从正则表达式生成状态机的状态机生成器;
运行以使用状态机分析比特流的分析器;以及
运行以无论何时进入状态机中的状态则生成面包屑并且将其保存在存储器中的面包屑生成器。
2.根据权利要求1的系统,其中面包屑生成器运行以生成包括类型、ID和时间中的至少一个的面包屑。
3.根据权利要求1的系统,其中面包屑生成器运行以当在非预期输入的情况下进入错误状态时生成面包屑并且将其保存在存储器中,面包屑包括类型、ID和时间中的至少一个。
4.根据权利要求1的系统,还包括运行以优化状态机的状态机优化器。
5.根据权利要求1的系统,还包括使用所保存的面包屑重创建状态机的操作的重创建器。
6.一种用于导出硬件解码加速的方法,包括:
在测试和测量仪器处接收正则表达式;
从正则表达式生成状态机;
将状态机应用于比特流;以及
针对状态机中的至少一个状态,当进入至少一个状态时将面包屑保存在测试和测量仪器的存储器中。
7.根据权利要求6的方法,其中当进入至少一个状态时将面包屑保存在测试和测量仪器的存储器中包括当进入状态机中的每一个状态时将面包屑保存在测试和测量仪器的存储器中。
8.根据权利要求6的方法,其中当进入至少一个状态时将面包屑保存在测试和测量仪器的存储器中包括当进入至少一个状态时将面包屑保存在测试和测量仪器的存储器中,面包屑包括类型、ID和时间中的至少一个。
9.根据权利要求6的方法,其中当进入至少一个状态时将面包屑保存在测试和测量仪器的存储器中包括当在非预期输入的情况下进入错误状态时将错误面包屑保存在测试和测量仪器的存储器中,面包屑包括类型、ID和时间中的至少一个。
10.根据权利要求6的方法,其中从正则表达式生成状态机包括优化状态机。
11.根据权利要求6的方法,还包括使用所保存的面包屑来追踪比特流到状态机的应用。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462068384P | 2014-10-24 | 2014-10-24 | |
US62/068384 | 2014-10-24 | ||
US14/574,137 US9338076B1 (en) | 2014-10-24 | 2014-12-17 | Deriving hardware acceleration of decoding from a declarative protocol description |
US14/574137 | 2014-12-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105553606A CN105553606A (zh) | 2016-05-04 |
CN105553606B true CN105553606B (zh) | 2021-02-05 |
Family
ID=54364104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510695380.XA Active CN105553606B (zh) | 2014-10-24 | 2015-10-23 | 用于导出硬件解码加速的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9338076B1 (zh) |
EP (1) | EP3012648B1 (zh) |
JP (1) | JP6596300B2 (zh) |
CN (1) | CN105553606B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190113542A1 (en) * | 2014-12-17 | 2019-04-18 | Tektronix, Inc. | Hardware trigger generation from a declarative protocol description |
JP6741417B2 (ja) * | 2015-12-04 | 2020-08-19 | テクトロニクス・インコーポレイテッドTektronix,Inc. | 試験測定装置及びトリガ方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1828325A (zh) * | 2005-03-01 | 2006-09-06 | 松下电器产业株式会社 | 用于半导体的测试设备 |
CN102130689A (zh) * | 2009-12-04 | 2011-07-20 | 特克特朗尼克公司 | 串行比特流正则表达式引擎 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5121342A (en) * | 1989-08-28 | 1992-06-09 | Network Communications Corporation | Apparatus for analyzing communication networks |
US6681354B2 (en) * | 2001-01-31 | 2004-01-20 | Stmicroelectronics, Inc. | Embedded field programmable gate array for performing built-in self test functions in a system on a chip and method of operation |
US7512634B2 (en) * | 2006-06-05 | 2009-03-31 | Tarari, Inc. | Systems and methods for processing regular expressions |
GB2443277B (en) | 2006-10-24 | 2011-05-18 | Advanced Risc Mach Ltd | Performing diagnostics operations upon an asymmetric multiprocessor apparatus |
US8127113B1 (en) | 2006-12-01 | 2012-02-28 | Synopsys, Inc. | Generating hardware accelerators and processor offloads |
WO2009039462A1 (en) | 2007-09-19 | 2009-03-26 | Tabula, Inc. | Method and system for reporting on a primary circuit structure of an integrated circuit (ic) using a secondary circuit structure of the ic |
US8525548B2 (en) | 2008-08-04 | 2013-09-03 | Tabula, Inc. | Trigger circuits and event counters for an IC |
US8838406B2 (en) * | 2008-11-11 | 2014-09-16 | Advantest (Singapore) Pte Ltd | Re-configurable test circuit, method for operating an automated test equipment, apparatus, method and computer program for setting up an automated test equipment |
US8281395B2 (en) * | 2009-01-07 | 2012-10-02 | Micron Technology, Inc. | Pattern-recognition processor with matching-data reporting module |
-
2014
- 2014-12-17 US US14/574,137 patent/US9338076B1/en active Active
-
2015
- 2015-10-23 JP JP2015209141A patent/JP6596300B2/ja active Active
- 2015-10-23 EP EP15191296.1A patent/EP3012648B1/en active Active
- 2015-10-23 CN CN201510695380.XA patent/CN105553606B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1828325A (zh) * | 2005-03-01 | 2006-09-06 | 松下电器产业株式会社 | 用于半导体的测试设备 |
CN102130689A (zh) * | 2009-12-04 | 2011-07-20 | 特克特朗尼克公司 | 串行比特流正则表达式引擎 |
Also Published As
Publication number | Publication date |
---|---|
JP6596300B2 (ja) | 2019-10-23 |
EP3012648A1 (en) | 2016-04-27 |
CN105553606A (zh) | 2016-05-04 |
JP2016085745A (ja) | 2016-05-19 |
US20160119218A1 (en) | 2016-04-28 |
EP3012648B1 (en) | 2018-12-19 |
US9338076B1 (en) | 2016-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180307978A1 (en) | Multi-Modal Construction of Deep Learning Networks | |
Korman et al. | Toward more localized local algorithms: removing assumptions concerning global knowledge | |
US20190129785A1 (en) | Method and device for identifying problematic component in storage system | |
CN110166276A (zh) | 一种帧同步异常的定位方法、装置、终端设备和介质 | |
CN105549728B (zh) | 根据声明协议描述的硬件触发生成 | |
US10073938B2 (en) | Integrated circuit design verification | |
CN105553606B (zh) | 用于导出硬件解码加速的方法和系统 | |
CN107113199B (zh) | 用于分析和处理通信序列的分析装置 | |
US20150120682A1 (en) | Automated recognition of patterns in a log file having unknown grammar | |
US20150100671A1 (en) | Identifying Compatible System Configurations | |
US8418119B2 (en) | Logical circuit netlist reduction and model simplification using simulation results containing symbolic values | |
US20220391529A1 (en) | Searching, matching, and masking of composite formats | |
US20120290282A1 (en) | Reachability analysis by logical circuit simulation for providing output sets containing symbolic values | |
US20210325432A1 (en) | Hardware trigger generation from a declarative protocol description | |
US8935144B2 (en) | System and method for examining concurrent system states | |
US10229223B2 (en) | Mining relevant approximate subgraphs from multigraphs | |
Abdulla et al. | Verification of dynamic register automata | |
Abdulla et al. | Data communicating processes with unreliable channels | |
JP6741417B2 (ja) | 試験測定装置及びトリガ方法 | |
CN110114769B (zh) | 语义比较产品配置模型的系统和方法 | |
CN105334364B (zh) | 具有状态的串行比特流正则表达式 | |
JP2019153047A (ja) | 生成装置、生成方法及びプログラム | |
KR20230166289A (ko) | 어플리케이션의 테스트 시나리오를 생성하는 방법, 컴퓨터 장치, 및 컴퓨터 프로그램 | |
JP5523525B2 (ja) | テストパス中に更新アクセスを持つテスト用のデータ生成装置及び方法及びプログラム | |
KR20220022752A (ko) | 시드 파일 생성 장치 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |