CN105717851B - 使用具有计数状态的有限状态机的实时触发 - Google Patents

使用具有计数状态的有限状态机的实时触发 Download PDF

Info

Publication number
CN105717851B
CN105717851B CN201510959333.1A CN201510959333A CN105717851B CN 105717851 B CN105717851 B CN 105717851B CN 201510959333 A CN201510959333 A CN 201510959333A CN 105717851 B CN105717851 B CN 105717851B
Authority
CN
China
Prior art keywords
fsm
symbols
symbol
state
count
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
Application number
CN201510959333.1A
Other languages
English (en)
Other versions
CN105717851A (zh
Inventor
A·R·勒汉
A·J·A·柯卡姆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Keysight Technologies Inc
Original Assignee
Keysight Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Keysight Technologies Inc filed Critical Keysight Technologies Inc
Publication of CN105717851A publication Critical patent/CN105717851A/zh
Application granted granted Critical
Publication of CN105717851B publication Critical patent/CN105717851B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/045Programme control other than numerical control, i.e. in sequence controllers or logic controllers using logic state machines, consisting only of a memory or a programmable logic device containing the logic for the controlled machine and in which the state of its outputs is dependent on the state of its inputs or part of its own output states, e.g. binary decision controllers, finite state controllers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R13/00Arrangements for displaying electric variables or waveforms
    • G01R13/02Arrangements for displaying electric variables or waveforms for displaying measured electric variables in digital form
    • G01R13/0218Circuits therefor
    • G01R13/0254Circuits therefor for triggering, synchronisation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13009State machine instructions
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23289State logic control, finite state, tasks, machine, fsm
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P80/00Climate change mitigation technologies for sector-wide applications
    • Y02P80/10Efficient use of energy, e.g. using compressed air or pressurized fluid as energy carrier
    • Y02P80/15On-site combined power, heat or cool generation or distribution, e.g. combined heat and power [CHP] supply

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

公开了检索信号中的式样的装置。该装置可以在诸如高速示波器之类的仪器中实现实时触发。该装置包括符号生成器和有限状态机(FSM)。该符号生成器接收有序的信号值序列,并且将有序的信号值序列转换为有序的符号序列,每个符号具有多个状态。FSM接收有序的符号序列,并且如果有序的符号序列包括正则表达式所指定的、包含关于符号状态中的一个的计数限制的目标序列,则生成匹配信号。FSM包括计数状态,所述计数状态包括对所述符号状态中的一个符号状态的事件进行计数的计数器。

Description

使用具有计数状态的有限状态机的实时触发
背景技术
测量、记录、处理信号并且显示处理的结果的测量仪器对于本领域而言是已知的。例如,数字示波器测量作为时间函数的信号的幅度,并且将所观测到的信号的一部分显示为作为时间函数的信号幅度的曲线图。现代的数字示波器可以在多个测量通道的每一个中按接近100G采样/秒的速率测量信号。为了以此速率生成数据,通常使用在连续时隙中对信号进行采样的采样保持电路组将信号进行数字化。每个采样保持电路提供高速模数转换器(ADC),其在分配给该ADC的高速存储器组中存储其输出。
这种数据的仅仅一小部分通常是令人感兴趣的。因此,利用某种形式的“触发”以定义信号中感兴趣区域的开始。当检测到触发时,仪器记录从触发到取决于存储器组的存储容量的某时间点的信号。可以实时地用硬件实现简单触发(例如,检测信号的上升沿)。可以如ADC组可生成采样那样快地消耗采样的触发系统称为实时触发系统。然而,更复杂的触发必须依赖于存储数据序列并且然后使用太慢而无法实时工作的硬件检查该序列。在这些方案中,使用实时触发定义某种初步触发事件。仪器然后记录从触发点到某预定数目的采样的数据。所记录的数据然后经更复杂的触发系统检查,以确定是否出现更复杂的触发。这些次级的触发系统称为后获取触发(PAT)。如果发现复杂触发,则仪器显示以该触发为开始的数据。如果未发现复杂触发式样,则重复处理。在PAT正将所存储的数据进行操作的时间期间,仪器不获取任何新数据,因此,仪器在该时间段内是“盲”的。盲时间通常是总操作时间的一大部分,因此,感兴趣的信号可能会丢失。
在共同审理中的美国专利申请US序列号14/313,884中,公开了使用有限状态机(FSM)实现复杂触发准则的触发系统的方案。在该发明中,数字化的信号值首先转换为相比数字化的信号值具有远远更少状态的符号序列。例如,通过将此信号值与三个范围的值进行比较,12比特ADC生成的值可以缩减为三个符号L、M、H。触发定义为符号序列中满足预定正则表达式的序列。FSM实现的触发系统将所得符号序列进行操作。很多感兴趣的触发可以表示为关于这些符号的式样。由于状态的数目很小,因此对于所得FSM的存储器要求显著地减小。为了实现实时处理速度,使用对在每个字中具有多个符号的字进行操作的FSM,使得每个时钟周期中所消耗的符号的数目匹配ADC生成符号的速率。即使在消耗速率小于实时处理所需的速率的系统中,也可以从与PAT关联的时间减小处理时间,因此,盲时间显著减少。实现在符号重复的时间方面指定触发式样的触发的触发系统提出了显著的挑战。本发明致力于用以实现这种触发的系统。
发明内容
本发明包括一种检索信号中的式样的装置。该装置包括符号生成器和FSM。符号生成器接收有序的信号值序列,并且将有序的信号值序列转换为有序的符号序列,每个符号具有多个状态。FSM接收有序的符号序列,并且如果有序的符号序列包括正则表达式所指定的、包含关于符号状态中的一个的计数限制的目标序列,则生成匹配信号。FSM包括计数状态,其包括对符号状态中的一个的事件进行计数的计数器。
在本发明的一方面中,FSM特征在于输入字和FSM时钟周期。FSM在每个FSM时钟周期期间处理一个输入字,输入字包括多个符号。
在本发明另一方面中,计数限制包括符号状态中的一个的精确数目的事件出现在目标序列中的要求。在本发明又一方面中,计数限制包括大于符号状态中的一个的指定数目的事件出现在目标序列中的要求。在本发明再一方面中,计数限制包括符号状态中的一个的大于第一指定数目的事件并且符号中的一个的小于第二指定数目的事件出现在目标序列中的要求。
在本发明另一方面中,FSM具有存储器,其存储基于FSM的当前状态和FSM当前处理的输入字以指定FSM的下一状态的状态表。当FSM处于计数状态时,状态表指定用于FSM的第一和第二下一状态。FSM基于是否已经符合计数限制选取第一和第二下一状态中的一个。在本发明另一方面中,如果计数器具有小于第一值或大于第二值的值,则不符合计数限制,FSM选取的第一和第二状态中的一个还取决于计数器小于第一值还是大于第二值。
在本发明又一方面中,装置还包括信号数字化器和信号存储器,信号生成器接收信号并且据此生成有序的信号值序列。有序的信号值序列存储在信号存储器中。在本发明一方面中,信号数字化器在每个FSM时钟周期期间生成第一数目的信号值,第一数目的信号值中的每一个在一个FSM时钟周期期间转换为对应符号。FSM在一个FSM时钟周期期间将第一数目的符号处理为单个输入字。
在本发明再一方面中,装置包括显示器控制器和显示器,显示器控制器响应于FSM生成匹配信号在显示器上显示信号值的一部分。
在本发明又一方面中,FSM是Mealy型FSM。
附图说明
图1示出利用基于FSM的触发系统以实现实时触发的数字示波器系统。
图2示出检索正则表达式[^L]*L+M*H{3,4}M*L的FSM。
图3A示出用于检测毛刺序列[^L]*L+M*H{m}M*L的计数器扩展型FSM的状态图。
图3B示出用于检测毛刺序列[^L]*L+M*H{m,}M*L的计数器扩展型FSM的状态图。
图3C示出用于毛刺序列[^L]*L+M*H{m,n}M*L的计数器扩展型FSM。
图4示出用于检索图3A所示的序列的双符号输入字的基本FSM。
图5示出实现根据本发明的FSM的硬件的部分。
图6示出用于对奇数数目的H进行计数的双符号输入字FSM的基本FSM。
具体实施方式
关于利用触发系统的示例性系统,可以基于上述符号系统更容易地理解本发明提供其优点的方式。现在参照图1,其示出利用基于FSM的触发系统以实现实时触发(RTT)的数字示波器系统。ADC组12将数字示波器的输入进行数字化。为了提供足够的时间分辨率,每个ADC包括具有非常窄的采样窗口的采样保持电路。该窗口远短于将捕获的采样值进行数字化所需的时间。因此,利用这样的ADC组:组中相继的ADC捕获在时间上彼此偏移的信号值,以提供在时间上以采样窗口的宽度分离的连续系列的采样。
来自每个ADC的输出存储在存储器14中的对应存储器组中。存储器中的ADC和组的分组的细节已经从附图中予以省略,以简化附图和以下讨论。ADC输出受符号生成器15监控,所述符号生成器15根据每个ADC测量值生成符号。符号然后输入到触发生成器16。如果触发生成器16发现与触发序列匹配,则显示器控制器19从触发序列定义的点开始在显示器20上显示对应的ADC测量值。
为了简化以下讨论,假设每个输入信号值转换为仅具有三个状态L、M、H的符号集合。符号L分配给小于第一阈值的信号值;符号M分配给处于第一阈值与小于等于第二阈值之间的信号值;符号H分配给大于第二阈值的信号值。
本发明可以定义的触发式样限于可用正则表达式定义的式样。为了当前讨论的目的,正则表达式定义为定义检索式样的字符序列。考虑正则表达式,存在执行如此定义的检索的FSM,并且存在自动生成该FSM的过程。还应注意,存在多于一个的能够对任何给定正则表达式执行检索的FSM。
FSM是具有以“有向沿”连接的多个状态的状态机。在每个处理周期,当FSM接收到新的输入字时,FSM从其当前状态移到下一状态。因此,每个沿具有与该沿关联的一个或多个输入值。当FSM接收到值等于沿所对应的值的输入字并且FSM处于与沿的输入侧关联的状态时,FSM改变为与沿的输出侧关联的状态。FSM然后进入处理下一输入字。某些转变引起FSM报告包括与转变关联的信息的匹配。转变可以是进入特定状态或通过指定的沿进入该状态。为了当前讨论的目的,当FSM已经移到其新状态并且做出任何所需的报告时,处理周期完成。
如上所述,正则表达式定义为定义检索式样的字符序列。表达式中的每个字符是具有其字面意义的正则字符,或是预定数目的具有特殊意义的元字符之一。例如,元字符“|”表示或者。a或b符合正则表达式“a|b”。元字符“?”、“*”和“+”限定前面的要素。如果前面的要素出现零次或一次,则满足元字符“?”,如果前面的要素出现零次或多次,则满足“*”,如果前面的要素出现一次或多次,则满足“+”。很多感兴趣的式样需某个串的重复。如果表达式中存在多于一个的字符或多于一个的字符范围,则用()包围(分组)待重复的表达式。元字符“[“and”]”用于形成字符分类(例如[LMH]),“^”用于表示否定,即[^L],除了“L”之外的一切。为了指定表达式要重复m次,在表达式之后使用{m}。为了指定待重复至少m次的表达式,在表达式之后使用{m,}。为了指定n与m之间的范围,表达式后接{m,n}。
关于这种注记,用于上升沿的正则表达式是“L+M*H”,即一个或多个L,后接零个或多个M,后接H。类似地,用于下降沿的正则表达式是“H+M*L”。用于上升沿或下降沿的正则表达式是(H+M*L)|(L+M*H)。定义触发序列的感兴趣的额外特征是状态转变、毛刺、矮波脉冲。当已经在各逻辑状态中的一个逻辑状态下建立的波形切换到另一状态并且在此变得建立时,出现状态转变。当已经在一个逻辑状态下建立的波形切换到另一状态,但并非长得足以认为建立时,出现毛刺。当已经在一个逻辑状态下建立的波形移到中间区域但然后返回到第一逻辑状态而从未穿过另一逻辑状态阈值时,出现矮波脉冲。
使用FSM提供实际触发所必须克服的一个挑战是形成空间高效的计数器供触发中使用。例如,毛刺触发必须仅在脉冲的宽度小于特定时间时触发。类似地,后接第二沿的沿应仅在沿之间的时间大于预定时间时触发。在数字示波器或基于ADC的其它类似仪器中,各个感兴趣的事件之间经过的时间的量等同于采样的数目。例如,在1G采样/秒时,每隔一纳秒生成样本,因此,时间的经过等同于将采样的数目进行计数。
例如,毛刺触发可以用正则表达式[^L]*L+M*H{3,4}M*L加以定义。也就是说,不为L的零个或多个符号(即M或H),后接一个或多个L,后接零个或多个M,后接三个与四个之间的H,后接零个或多个M和L。现在参照图2,其示出检索该正则表达式的FSM。状态周围的双圆圈指示最终的报告状态。在该示例中,通过将额外的状态插入到FSM(即状态S3-S5)实现计数特征。这对于小的计数器值是一种可行的方法。在1G采样/秒时,该FSM将在具有3ns与4ns之间的宽度的毛刺上触发。然而,当计数显著更大时,该方法并非是高效的。例如,定义为处于高状态下达1微秒的毛刺将会需要成千个状态。
第二个问题涉及需要将触发生成器的处理速率与正在对输入信号采样和数字化的速率进行匹配。考虑以6.4G采样/秒的速率将采样进行数字化的系统。用可编程门阵列实现的FSM限于以400MHz的时钟速率运行。因此,FSM必须在16个采样宽度的输入字上操作,以跟上ADC组。当FSM处理的字大小很大时,对符号进行计数提出显著挑战。宽字FSM必须能够识别到来数据中的任何调准时的数据改变。为了简化,考虑在每个FSM时钟沿到来四个符号的四字系统。考虑以上对于对H个符号进行计数所需的毛刺所讨论的正则表达式。FSM必须能够独立于四符号输入字中的符号的调准来检测H的序列。也就是说,开始H的串的输入字可能是“LMMH”,后接“HHHH”的四个字,后接“HMML”(即18个“H”符号)。然而,同一序列可到达不同的字边界(例如“LMHH”,然后再四个“HHHH”,然后“MMML”)。这也是18个“H”符号,但在不同的调准上。因此,用于对符号进行计数的任何机制必须应对多符号输入字内的符号序列的所有可能调准。
必须克服的伴随着多符号输入字的第三个问题是需要对采样而非FSM时钟周期进行计数。如果字大小为1并且FSM每时钟周期消耗一个符号,则对FSM的时钟周期进行计数等同于对采样进行计数。当每FSM时钟周期的符号的数目大于1时,对FSM时钟周期进行计数等同于对多个采样进行计数。
必须克服的第四个问题是FSM需要每隔FSM时钟周期消耗多符号字。因此,硬件无法花费两个或更多个时钟周期以进行转变。FSM必须能够在单个FSM时钟周期中并且在每一个随后的FSMFSM时钟周期上计算下一状态。
最后,计数硬件必须支持不同样式的计数器。正则表达式中存在三种基本上不同样式的计数。
1.{m}精确匹配m次
2.{m,}匹配至少m次
3.{m,n}匹配至少m次但不多于n次
通过使用包括与一个或多个状态关联的计数函数的扩展型FSM,可以解决第一个问题。这些状态在该讨论中称为计数状态。每个计数状态具有与该状态关联的计数器。当FSM进入该计数状态时,计数器复位为特定值。当FSM处于该计数状态时,每当特定输入字输入到FSM,计数就递增或递减。当FSM处于计数状态时FSM在一旦接收到特定输入字时所执行的下一状态的选择取决于接收到输入字时计数器中的计数。通常,如果计数符合预定条件,则存在离开计数状态的一个沿集合,并且存在对应于计数不符合该条件的情况的另一沿集合。在以下讨论中,该预定条件称为计数符合条件。
为了简化以下讨论,将参照在每个FSM时钟周期仅处理一个符号的FSM讨论以上所讨论的每一个计数样式。然后讨论可以利用这些FSM定义多符号输入字的FSM的方式。
现在参照图3A,其示出用于检测毛刺序列[^L]*L+M*H{m}M*L的计数器扩展型FSM的状态图。在该实施例中,当准备好触发时,状态S3参考初始加载有值m-1的计数器。每当响应于H的输入而进入S3时,计数器就递减1。针对该情况的计数符合条件是C=0,其中,C是关联计数器中的计数。一旦S3接收到符号时的下一状态现在不仅取决于该符号,而且还取决于在已经完成任何递减操作后的计数器的状态。如果满足计数符合条件,则下一状态是实线的沿所示的离开S3的状态转变。如果不满足计数符合条件,则进行虚线的沿所示的转变。表1中示出图3A中的FSM的状态表,表1示出作为当前状态、输入符号、是否已经满足计数符合条件的函数的下一状态。出于以下更详细地解释的原因,即使对于不参照计数器而使得所有状态具有同一格式的状态,也提供作为计数器值的函数的下一状态。标有“×”的列中示出了尚未满足计数符合条件的情况的下一状态值。标有“√”的列中示出了已经满足计数符合条件的情况的下一状态值。
表1:用于[^L]*L+M*H{m}M*L的状态表。
Figure BDA0000883156680000071
在以上示例中,仅存在一个计数器,因此,无需示出计数器的身份。然而,在很多感兴趣的情况下,存在多个计数器。因此,对应于每个状态的计数器的身份存储在状态表或关联表中。
现在参照图3B,其示出用于检测毛刺序列[^L]*L+M*H{m,}M*L的计数器扩展型FSM的状态图。在此情况下,计数符合条件是已经接收到至少m个H。如果尚未符合计数条件并且接收到H,则S3继续循环。一旦已经满足计数符合条件,S3就将仍循环在接收H上。由于式样需要“至少”m个H,可存在更多;因而,图中存在所示的两个循环转变。
表2:用于[^L]*L+M*H{m,}M*L的状态表。
Figure BDA0000883156680000081
第三类型的计数样式提出了另外的挑战。考虑毛刺序列[^L]*L+M*H{m,n}M*L。当计数器值等于或大于m并且小于或等于n时,符合计数条件。存在两种不满足该条件的情况。第一种情况对应于计数小于m,第二种情况对应于计数大于n。如果在第一种情况期间接收到H,则因为可能仍满足条件,所以状态循环返回自身,计数递增或递减。在第二种情况下,FSM返回到S0,即检索失败。在满足条件的操作期间,H产生返回S3的循环。因此,当FSM处于状态S3时,针对H存在三种不同的情况。现在参照图3C,其示出用于毛刺序列[^L]*L+M*H{m,n}M*L的计数器扩展型FSM。如果计数小于m,并且接收到H,则不符合计数条件,并且沿循环回到S3,如S3上的虚线循环所示。如果计数大于n,则取得标记H'的沿。如果计数处于m与n之间,则满足计数符合条件,并且附加H仅加入到返回S3的实线循环所指示的计数。
通过将第三列加入状态表,可以在原理上容纳这两种截然不同的非符合式样。然后通过在首次进入S3时置位的并且在计数大于n时复位的标志符,确定出对于使用了哪个非符合列的确定。如以下更详细地解释的那样,针对状态表中的所有列使用同一格式是有利的。因此,针对已计数状态将第三列加入到状态表将需要针对所有状态将第三列加入到表。这将显著增加状态表所需的存储器。如以下更详细地解释的那样,在最大化可以在每个FSM时钟周期处理的符号的数目的方面,最小化状态表的存储器要求是重要的。因此,容纳两种不同的非符合可能性的这种方法并非是优选的。
在本发明的一个方面,通过注意到对于H在表中仅存在两个“下一状态”,避免了状态表中的附加列,即使当接收到H时对于S3存在三种可能的情况。第一下一状态是0,第二下一状态是S3,即回到S3的循环。在此情况下,定义两个标志符。第一个指示是否符合计数条件,第二个指示失败条件是对应于计数过低还是过高。为了该示例的目的,第二标志符将由f表示,并且在计数小于m的情况下定义为真。当计数到达m时,f设置为假。构造对应于各失败条件之一(在此情况下,标志符为真)的状态表。此失败情况下的下一状态是S3。另一可能的下一状态S0存储在条件符合列的H行中,即使这对于状态表中的此位置而言并不是正确的下一位置。然而,如果标志符为真,则将FSM编程为反转条件不符合列和条件符合列中的项。因此,当符合条件时,将使用正确的下一状态S3。当计数超过n时,标志符复位,因此,即使实际上不符合计数,计数符合列中的值也用于H。应注意,以下示出基于该标志符的状态表。
表3:用于[^L]*L+M*H{m,n}M*L的状态表。
Figure BDA0000883156680000091
应注意,在f为真的同时,将绝不取得用于H和计数条件符合的项,因此,存储于此的值对FSM的操作没有影响。当计数达到m时,f设置为假,并且因此,反转用于H的列项。
总之,可以通过具有用于计数状态的至少两个列构造用于任何三种计数样式的状态表。通过指示是否已经满足计数符合条件的第一标志符确定列的选取。在一些情况下,需要指示尚未满足计数符合条件的方式的第二标志符。可以结合第三列使用该标志符,以通过选择哪个计数条件不符合下一状态是正确状态挑选下一状态。在一些情况下,可以通过使用第二标志符以取决于不符合计数条件的方式反转两个列表中的项消除第三列。
上述实施例允许在不明显增加FSM中的状态的数目的情况下实现计数功能。计算引擎需要具有用于在任何给定时间可操作的正则表达式中的每个计数函数的一个计数器。此外,必须扩展状态表,以包括用于每个计数增强状态的项,以对下一状态提供两个不同的计数可能性。如果符合计数,则我们提供下一状态,而如果尚未符合计数,则我们提供下一状态。上述实施例是单触发FSM,在于:一旦实现报告状态,触发就停止运作,直到其得以复位。以下将更详细地讨论触发以连续方式操作的实施例。
虽然上述实施例提供优于针对正则表达式中的每个可能计数加入新状态的实施例的改进,但这些实施例仍每FSM周期仅处理一个符号。为了在发现目标序列方面提供显著速度改进,需要每FSM时钟周期处理多个采样的FSM。
一种用于构造用于包括计数状态并且检索符合某预定正则表达式的序列的多符号FSM的状态表的方法开始于每FSM时钟周期处理一个符号并且检索所讨论的序列的FSM。使用这种一个符号FSM,通过扩展一个符号FSM中的计数状态构造中间一个符号FSM。该扩展型FSM将称为用于在每个周期处理w个符号的FSM的基本FSM。构造允许我们构造用于多符号FSM的状态表的基本FSM。
为了生成用于多符号输入字的基本FSM,必须首先扩展用于单符号输入字的基本FSM。扩展针对单符号输入字FSM中的每个已计数状态引入附加的已计数状态。在扩展之后,对应于单符号FSM中的给定已计数状态的已计数状态的数目等于输入字中的符号的数目。当进入已计数状态时,每个已计数状态对应于输入字内的已计数符号的不同调准。
考虑用于图3A所示的序列的双符号输入字。图4示出用于该情况的基本FSM。状态S3扩展为两个状态:S3A和S3B。可以响应于输入字XH或HH进入对H个输入符号进行计数的状态,其中,X是L或M。状态3A将经由形式XH的输入字进入的H串进行计数。该计数器将称为奇数计数状态。状态S3B将经由HH的输入字进入的H串进行计数。该状态将称为偶数计数状态。一旦已经进入给定计数状态,就存在三种可能性。下一输入字可以是HX、HH或XX',其中,X'可以是L或M。如果通过任一状态接收到XX',则计数按定义失败。所以,仅需要检查前两种可能性。考虑奇数计数器接收到HX的情况(S3A)。基本FSM中的计数器均以2为单位进行计数。在进入S3A中时,计数器复位为对应于m的计数的值,即m/2-1。该复位操作由所讨论的沿上的(r=m)标签指示。在经由H进入奇数状态时,即使已经看见一对中的仅一个H,实际上也寄存一个计数。本质上,状态亏欠一个H以实际上完成计数。因此,计数器将要么已经在最新HH输入字上恰达到期望计数,要么其仍需要处理另一HH以完成计数。在后一情况下,由于在获得期望计数之前接收到X,因此取得失败转变。在前一情况下,状态表将具有用于下一H的退出转变。实际上,H根据第一对完善丢失符号。因此,奇数计数器将具有符合于形式HX的任何字的计数上的输出沿。响应于HH的输入字,进入状态S3B。该计数器类似地复位为对应于m的值。
尽管基本FSM具有两个计数的状态,然而可以使用单个计数器实现这些状态,这是因为在任何给定时间,这些状态中的仅一个状态将会是可操作的。如果使用两个不同的计数器,则状态3B的计数器必须在进入从连接S3A到S3B的沿时复位为零。这确保S3B不会开始对任何的附加H进行计数,而是在另一H上取得失败沿。如果使用单个计数器,则用于S3A的计数器将已经倒计数为零,因此不需要复位。
现在更详细地说明根据基本FSM构造多符号FSM的状态表的方式。用于w符号宽度的FSM的可能输入字的数目是Ns w,其中,Ns是单步长符号的数目。在当前示例中,4=2,并且Ns=3;因此,存在九个可能的双符号输入字。对于每种状态和每个可能的输入字,参照基本FSM,确定出开始于该状态并且由该输入字表示的最小路径所横穿的路径。例如,如果当前状态为S0并且接收到输入字LM,则下一状态是S2,这是因为FSM首先在第一符号上转变为S1,然后在第二符号上转变为S2。如果FSM当前处于S2并且接收到XH,则FSM将转变到S3A并且使计数器递减。另一方面,如果接收到HH,则FSM将转变到S3B,然后使计数器递减。
现在参照表3,其是用于每FSM时钟周期两个符号的字大小的表1所示的正则表达式的状态表。
表3:用于[^L]*L+M*H{m}M*L的状态表,其中,w=2。
Figure BDA0000883156680000111
Figure BDA0000883156680000121
上述实施例指代检查内容以确定是否已经符合计数条件的计数器。如果利用单个计数寄存器,则寄存器可以增长,直到其匹配另一寄存器中所存储的值(例如m/w-1)。可替代地,寄存器可以复位为期望值,并且在每个时钟周期上降低。因为可以更经济地完成针对零测试寄存器的内容,所以该第二替选方案是优选的。
对于第三种类型的已计数状态(即{m,n}),也可以利用单个计数器。计数器首先加载有对应于m的值,并且指示已经实现计数条件的标志符设置为假。在计数器倒计数为零之后,计数器复位为对应于n的值,标志符设置为真。当计数器再次倒计数为零时,标志符复位为假。
可替代地,可以利用两个寄存器计数器,其中,第一寄存器加载有与m有关的值,第二寄存器加载有与n有关的值。两个标志符用于保持跟踪是否符合计数条件,如果否,则所述非符合状态出现(即小于m值或大于n值的计数)。
本发明优选地用定制计算机硬件加以实现,以提供期望的速度。现在参照图5,其示出实现根据本发明的FSM的硬件的部分。图1所示的触发生成器16所加载的用于FSM处理器30的状态表存储在存储器35中。对触发生成器16的用户输入指定触发的类型。当前字的符号加载到当前输入字生成器32中,其与寄存器33中所存储的FSM的当前状态一起连同与下一状态关联的任何信息(例如用于计数器的复位值以及确定将要使用两个项中的哪个的标志符)一起确定用于计数符合和计数非符合项的下一状态值所处的存储器35中的地址。控制器38进行列的选取,控制器38生成输入到接收两个可能值的复用器36的选择信号。
控制器38控制计数器37。控制器38接收定义计数式样的信号以及当计数器复位时待加载到计数器37中的值。当与从复用器36输出的下一状态关联的触发或复位指令的开始要求时,控制器38将开始值加载到计数器37中。计数器37在每个时钟周期上降低,控制器38测试计数器37的内容,以确定其中所存储的计数现在是否为零。控制器38还包括以上所讨论的标志符。第一标志符确定是否已经符合式样以及m和n的值所指定的计数条件。控制器38还设置处理{m,n}计数条件所需的第二标志符。
如上所述,根据本发明的触发生成器可以包括多个计数器。在很多感兴趣的情况(例如毛刺序列触发)下,由于仅一个计数状态在任何时间操作,因此单个硬件计数器足矣。然而,针对特定触发序列,可以利用具有多于一个的有效计数器的状态表。在此情况下,计数器37将由多个计数器替代,当前状态将指定哪个计数器待用于该状态转变。
为了简化地址生成,对于每个可能输入字,向状态表中的每个状态分配两个下一状态项。如果状态不取决于计数器37中的计数,则两个项是相同的。可替代地,控制器38可以编程为取得两个项中的第一个,除非当前状态是计数状态。也可以采用经由压缩技术消除这种冗余信息的策略。
再次参照图1。如上所述,ADC 12按组工作以实现对于高速仪器而言的必要吞吐量。在本发明的一方面,符号生成器15还包括符号生成器组,其创建变为本发明的多符号FSM的输入符号的对应符号组。例如,具有16个ADC的组的仪器针对每个FSM时钟周期生成16个连续时间采样。这16个时间采样然后转换为被加载到输入字触发生成器16中的16连续符号。在FSM提供实时触发的实施例中,FSM时钟周期设置为小于或等于ADC中的时钟。
为了实现期望的触发速度,输入字中的符号的数目必须至少匹配仪器中的ADC组所生成的符号的数目。存储状态表所需的存储器的量随对FSM的多符号输入字中的符号的数目指数地增加。因此,减少存储器要求的FSM设计是优选的。
再次参照图3A所示的FSM。对于一个符号输入字,在每个状态存储两项下一符号值的实施例中,这种FSM的状态表具有三行和十列。具有16个符号输入字的对应FSM需要对应于15个状态的316行和30列。由于四个列对于未计数状态是相同的,因此可以根据30列创建的不同行的最大数目小于302或900。因此,状态表一定具有大量这样的情况:除了第一列中的输入字之外,用于一个输入字的行与用于另一输入字的行是相同的。通过存储仅具有带有由关键值所替代的输入字的独特行的缩减表,这种冗余性可以用于减小所需要的存储器的大小。存储输入字与关键值之间的对应性的对应性表然后用于存取缩减表。对应性表具有按输入字索引的一个列。因此,状态表的这种压缩版本以在图5所示的地址生成器34中执行的表查找的代价将存储器要求减少达大致30的因子。
这种形式的表压缩特别良好地适合于多符号FSM所生成的状态表的类型。然而,也可以利用其它形式的表压缩,以进一步减小状态表的大小。
本发明的上述实施例利用Moore型FSM,其中,FSM在发现匹配时停止。在Moore型FSM中,输出值仅由FSM的当前状态加以确定。也就是说,FSM在其进入状态时报告匹配,而不管其如何达到该状态。在Mealy型状态机中,输出取决于当前状态和当前输入。因此,Mealy型状态机在取得特定沿时报告。在Mealy型状态机中,如果由一个沿进入,则状态可以报告匹配,但如果由另一沿进入,则不报告。Mealy型状态机也可以用于实现本发明。对于触发待连续地操作而不复位的触发,Mealy型FSM是优选的。首先,在穿过状态机状态的沿时报告的同时,非停止触发可能已经在w符号路径上转变通过匹配状态。其次,Mealy型状态机是更紧凑的。再者,可以使得Mealy型状态机全在一个转变中匹配并且返回开始状态。例如,在重复的Moore型状态机中,S5既是匹配状态又是通过开始状态的下一传递,这并不理想。
在本发明的Mealy型FSM实施例中,沿携带着关于递增计数器以及是否已经出现匹配的信息,而不是将该信息与进入特定状态进行关联。Mealy型FSM实施例也是根据基本FSM生成的。多符号FSM的每个状态对应于基本FSM内的w符号路径。该路径上的中间停止可触发计数操作或匹配报告。因此,即使两条路径在同一状态上结束,基本FSM中同一状态上终止的两个沿也可以对应于不同的计数和报告行为。
如上所述,多符号FSM计数状态以字大小为单位进行计数。也就是说,m和n必须可整除以字大小w,并且计数器按w递增或递减。如果期望不是w的倍数的m或n值,则状态表可以扩增以包括消耗所需符号的适当数目的额外的状态。可以通过插入在接收到所计数的类型的另一符号时进入的一个或多个额外的状态根据基本FSM构造状态表。现在参照图6,其示出对奇数数目的H进行计数的双符号输入字FSM的基本FSM。通过在状态S3B后加入状态S6获得基本FSM。因此,在触发激发前必须接收一个额外的H。可替代地,可以在S3A前和/或S3A后加入额外的状态。对于{m,}计数器,在S3A前加入额外状态。对于{m,n}计数器,取决于所需的m和n的值,可能必须既在S3A前又在S3B后加入状态。对于小于m加w个附加符号的n的值,于是也可以利用额外的状态而非第二计数器,以构造例如在每时钟FSM四个符号上在m=33和n=35的各值之间进行正确地计数的FSM。
本发明的FSM优选地以专用硬件加以实现,以提供实现高速示波器或类似仪器的实时触发所需的速度。然而,如果到来的数据流的速度足够低,则可以在通用数据处理系统上实现这些实施例。
已经提供本发明上述实施例以说明本发明的各个方面。然而,要理解,在不同特定实施例中示出的本发明的不同方面可以组合以提供本发明的其它实施例。此外,根据前面的描述和附图,本发明的各种变型将会变得是明显的。于是,本发明仅受限于所附权利要求的范围。

Claims (10)

1.一种基于有限状态机FSM的数据处理装置,包括:
符号生成器,其接收有序的信号值序列,并且将所述有序的信号值序列转换为有序的符号序列,每个符号具有多个状态;以及
有限状态机FSM,其接收所述有序的符号序列,并且如果所述有序的符号序列包括正则表达式所指定的、包含对于所述符号中的一个的计数限制的目标序列,则生成匹配信号,其中,
所述FSM包括计数状态,该计数状态包括将所述符号中的所述一个的事件进行计数的计数器。
2.一种用于操作数据处理系统以检测包括有序的信号值序列的信号中的信号式样的方法,所述方法包括:
转换所述有序的信号值序列,并且将所述有序的信号值序列转换为有序的符号序列,每个符号具有多个状态;以及
在所述数据处理系统中实现FSM,所述FSM接收所述有序的符号序列,并且如果所述有序的符号序列包括正则表达式所指定的、包含对于所述符号中的一个的计数限制的目标序列,则生成匹配信号,其中,
所述FSM包括计数状态,该计数状态包括将所述符号中的所述一个的事件进行计数的计数器。
3.如权利要求2所述的方法或如权利要求1所述的基于有限状态机FSM的数据处理装置,其中,所述FSM的特征在于输入字和FSM时钟周期,并且其中,所述FSM在每个FSM时钟周期期间处理所述输入字,所述输入字包括多个所述符号。
4.如权利要求2所述的方法或如权利要求1所述的基于有限状态机FSM的数据处理装置,其中,所述计数限制包括所述符号状态中的一个的精确数目的事件出现在所述目标序列中的要求。
5.如权利要求2所述的方法或如权利要求1所述的基于有限状态机FSM的数据处理装置,其中,所述计数限制包括所述符号状态中的一个的大于指定数目的事件出现在所述目标序列中的要求。
6.如权利要求2所述的方法或如权利要求1所述的基于有限状态机FSM的数据处理装置,其中,所述计数限制包括所述符号状态中的一个的大于第一指定数目的所述事件以及所述符号中的所述一个的小于第二指定数目的所述事件出现在所述目标序列中的要求。
7.如权利要求3所述的方法或如权利要求3所述的基于有限状态机FSM的数据处理装置,其中,所述FSM具有存储器,其存储基于所述FSM的当前状态和所述FSM当前处理的所述输入字来指定所述FSM的下一状态的状态表,所述状态表在所述FSM处于所述计数状态时指定所述FSM的第一和第二下一状态,所述FSM基于是否已经符合所述计数限制选取所述第一和第二下一状态中的一个。
8.如权利要求7所述的方法或如权利要求7所述的基于有限状态机FSM的数据处理装置,其中,如果所述计数器具有小于第一值或大于第二值的值,则不符合所述计数限制,并且其中,所述FSM选取的所述第一和第二下一状态中的所述一个还取决于所述计数器是小于所述第一值还是大于所述第二值。
9.如权利要求2所述的方法或如权利要求1所述的基于有限状态机FSM的数据处理装置,还包括:信号数字化器和信号存储器,所述信号数字化器接收信号并且据此生成所述有序的信号值序列,所述有序的信号值序列存储在所述信号存储器中。
10.如权利要求9所述的方法或如权利要求9所述的基于有限状态机FSM的数据处理装置,其中,所述信号数字化器在每个FSM时钟周期期间生成第一数目的信号值,所述第一数目的信号值中的每一个在一个FSM时钟周期期间转换为对应符号,并且其中,所述FSM在一个FSM时钟周期期间将所述对应符号处理为单个输入字。
CN201510959333.1A 2014-12-19 2015-12-18 使用具有计数状态的有限状态机的实时触发 Active CN105717851B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/578,198 US20160179073A1 (en) 2014-12-19 2014-12-19 Real Time Trigger Using A Finite State Machine Having A Counting State
US14/578,198 2014-12-19

Publications (2)

Publication Number Publication Date
CN105717851A CN105717851A (zh) 2016-06-29
CN105717851B true CN105717851B (zh) 2020-07-28

Family

ID=56129265

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510959333.1A Active CN105717851B (zh) 2014-12-19 2015-12-18 使用具有计数状态的有限状态机的实时触发

Country Status (2)

Country Link
US (2) US20160179073A1 (zh)
CN (1) CN105717851B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9874863B2 (en) * 2015-08-24 2018-01-23 Keysight Technologies, Inc. Finite state machine-based trigger event detection employing interpolation
CN107092436B (zh) * 2017-03-07 2020-04-14 深圳市鼎阳科技股份有限公司 一种示波器及其自动采集模式下的定时设置方法、系统
US10641796B2 (en) * 2017-08-14 2020-05-05 Rohde & Schwarz Gmbh & Co. Kg Oscilloscope and method for operating an oscilloscope
US11879914B2 (en) * 2017-11-17 2024-01-23 Rohde & Schwarz Gmbh & Co. Kg Measurement apparatus and method for controlling a measurement apparatus
CN112485493B (zh) * 2020-11-12 2021-09-14 电子科技大学 一种基于示波器测量参数的触发方法
US11209482B1 (en) * 2020-11-30 2021-12-28 Stmicroelectronics International N.V. Methods and devices for testing comparators

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4858142A (en) 1987-08-05 1989-08-15 Tektronix, Inc. Digitizer effective resolution measurement system using sinewave parameter estimation
US5201395A (en) 1990-09-27 1993-04-13 Oki Electric Industry Co., Ltd. Bill examination device
US5265004A (en) * 1991-10-15 1993-11-23 Allen-Bradley Company, Inc. Sequence controller with combinatorial Boolean logic
US5473531A (en) * 1993-12-28 1995-12-05 At&T Corp. Finite state machine with minimized memory requirements
US5857980A (en) 1997-01-06 1999-01-12 Beneva, Ltd. Method and apparatus for detecting onset of gastric dysrhythmias and imminent nausea
US7277506B1 (en) * 1999-08-09 2007-10-02 Broadcom Corporation Maximum likelihood sequence estimator which computes branch metrics in real time
US6473701B1 (en) 1999-11-22 2002-10-29 Tektronix, Inc. Alternate triggering in digital oscilloscopes
WO2002015405A2 (en) 2000-08-16 2002-02-21 Microchip Technology Incorporated Programmable analog to digital converter with smart message transmission
US6934099B2 (en) 2002-02-28 2005-08-23 Matsushita Electric Industrial Co., Ltd. Digital data reproducing apparatus
AU2003266875A1 (en) 2002-09-16 2004-04-30 Joule Microsystems Canada Inc. Optical system and use thereof for detecting patterns in biological tissue
US7233164B2 (en) 2003-12-17 2007-06-19 Rambus Inc. Offset cancellation in a multi-level signaling system
CN1330965C (zh) * 2005-06-24 2007-08-08 东南大学 一种基于有限状态机的示波器条件触发方法
US7133463B1 (en) 2005-08-25 2006-11-07 Rambus Inc. Linear transformation circuits
US20070200550A1 (en) * 2006-02-28 2007-08-30 Corredoura Paul L Trigger architecture, measurement system and method of use
US7844422B2 (en) * 2006-05-30 2010-11-30 International Business Machines Corporation Method and system for changing a description for a state transition function of a state machine engine
CN101174261B (zh) * 2006-11-03 2010-04-14 北京航空航天大学 基于扩展有限状态机的多正则表达式联合搜索方法
TW200913598A (en) 2007-05-04 2009-03-16 Amicus Wireless Technology Ltd Automatic gain control circuit for MIMO OFDM receiver
US20090077404A1 (en) 2007-09-14 2009-03-19 Gainspan, Inc. Method and system of reducing power consumption of system on chip based on analog-to-digital control circuitry
US8732435B1 (en) 2008-07-30 2014-05-20 Altera Corporation Single buffer multi-channel de-interleaver/interleaver
US8095494B2 (en) 2008-10-16 2012-01-10 International Business Machines Corporation Rules-based cross-FSM transition triggering
CN101877682B (zh) 2009-04-29 2013-04-03 雷凌科技股份有限公司 检测传输通道的状况的方法及无线通讯系统
US9989559B2 (en) 2009-12-04 2018-06-05 Tektronix, Inc. Serial bit stream regular expression with states
US9069017B2 (en) * 2009-12-04 2015-06-30 Tektronix, Inc. Serial bit stream regular expression engine
CN103270468B (zh) 2010-12-23 2016-04-06 马维尔国际贸易有限公司 低存储器使用的任意波形表示或生成
WO2013036204A1 (en) 2011-09-06 2013-03-14 National University Of Singapore An analog-to-digital converter for a multi-channel signal acquisition system
EP2574997B1 (de) * 2011-09-29 2016-06-15 Siemens Aktiengesellschaft Verfahren zur Einstellung eines Betriebszustandes
EP2624463B1 (en) 2012-02-03 2015-04-15 Telefonaktiebolaget L M Ericsson (PUBL) Down-conversion circuit with interference detection
US10037689B2 (en) 2015-03-24 2018-07-31 Donald Warren Taylor Apparatus and system to manage monitored vehicular flow rate
US9268321B2 (en) 2014-06-24 2016-02-23 Keysight Technologies, Inc. Digital tiggering using finite state machines
US10101581B2 (en) 2015-07-28 2018-10-16 Johnson & Johnson Vision Care, Inc. Electronic ophthalmic lens with eye closed sensor with open eye prompt and data logging
US10481573B2 (en) 2015-07-31 2019-11-19 Keysight Technologies, Inc. Multi-channel digital trigger with combined feature matching and associated methods
US9874863B2 (en) * 2015-08-24 2018-01-23 Keysight Technologies, Inc. Finite state machine-based trigger event detection employing interpolation

Also Published As

Publication number Publication date
US20190146439A1 (en) 2019-05-16
US20160179073A1 (en) 2016-06-23
CN105717851A (zh) 2016-06-29
US10908184B2 (en) 2021-02-02

Similar Documents

Publication Publication Date Title
CN105717851B (zh) 使用具有计数状态的有限状态机的实时触发
US9618923B2 (en) Digital Triggering using finite state machines
US10481573B2 (en) Multi-channel digital trigger with combined feature matching and associated methods
EP1798562B1 (en) Qualified anomaly detection
KR101759243B1 (ko) 비트 에러 검출 기능을 가진 검사 및 측정 기구
WO2003081266A1 (en) Timing measurement system and method using a component-invariant vernier delay line
EP2930518B1 (en) Test and measurement instrument having advanced triggering capability
US10527650B2 (en) Measurement system having a digital edge trigger detection circuit that is capable of operating at the full signal bandwidth of the measurement system
US11016123B2 (en) Multi-channel triggering apparatus and method
US20070126487A1 (en) Strobe technique for recovering a clock in a digital signal
US8327206B2 (en) Blanking primitives masking circuit
US6912474B2 (en) Method and apparatus for high-speed synchronous digital acquisition derived in real -time from analog samples
JPS6152499B2 (zh)
KR20050007347A (ko) 반도체 시험 장치
CN103558434A (zh) 一种快速定位数字示波器触发点系统
US6026350A (en) Self-framing serial trigger for an oscilloscope or the like
CN104076178B (zh) 一种具有改进触发功能的示波器
US5506850A (en) Logic analyzer for high channel count applications
US8290734B2 (en) Semiconductor integrated circuit
US7756655B2 (en) Observation apparatus, observation method and program
JP2009210522A (ja) 等価サンプリング装置
JP2009133832A (ja) 複数のインクリメントを行うリード・モディファイ・ライトサイクルでのヒストグラム生成
US20210133097A1 (en) Signal collection method and signal collection device
KR20080047964A (ko) 시간 측정 회로 및 그것을 사용한 ic 검사 장치
SU1444807A1 (ru) Устройство дл исследовани св зности графов

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