使用有限状态机的数字触发的制作方法_3

文档序号:9546382阅读:来源:国知局
期的结束,如果新状态是“匹配状态”,则并行处理FSM将生成匹配信号。如以下将更详细地解释的那样,当所有并行处理FSM在当前周期中输出匹配信号时,已经找到正确的匹配。在错误告警的情况下,并行处理FSM中的至少一个将不会已经生成匹配信号。组合器27接收每个处理周期所生成的匹配信号,并且确定所有并行处理FSM是否已经生成匹配。如果是,则组合器27输出找到匹配信号的模式。
[0055]本发明取决于将感兴趣触发模式转变为可以使用单个码元作为其输入字的FSM上实现的正则表达式。该FSM在以下讨论中将称为“单码元FSM”。一旦对于特定触发模式定义单码元FSM,在多个码元上工作的FSM就可以从该FSM推导出。以下将更详细地讨论从基本FSM推导出MSFSM的方式。该MSFSM称为用于并行处理FSM的基本FSM。假设该基本FSM,可以推导出用于并行处理FSM的状态图。
[0056]为了方便该过程的解释,将利用在具有通过上述算法从输入信号生成的三个值L、Μ和Η的码元上工作的简单示例性制式。存在更多个码元值的情况将在稍后加以讨论。现参照图5,其示出可以响应于数字示波器观测电路所生成的二状态数字波形而从数字示波器的ADC部分输出的数据值的流。数据值通常存储在不同的存储器组中;然而,为了本讨论的目的,数据值将看作为以输入信号数字化为顺序的一系列值。每个数据值转换为对应码元值,码元值序列中的第i码元值由S(i)表示。三个码元值定义如下:
[0057]L if ADC(i) ( 1
[0058]S(i) = M if ADC(i)>l and ADC(i)彡 h
[0059]H if ADC ⑴〉h
[0060]其中,S(i)是分配给第i个ADC输出值ADC(i)的码元。假设阈值1和h是给定的。例如,这些值可以是数字示波器的用户独立地实施或指定的触发规范的一部分;1和h的值可以由用户按需要改变。对于图5所示的波形,多个特征可能是感兴趣的。示例性特征是状态转变、毛刺和矮波脉冲。当已经在各逻辑状态之一下建立的波形切换到另一状态时,状态转变出现,并且变得在此得到建立。在图5中,第一状态转变靠近采样115。当已经在一个逻辑状态下建立的波形切换到另一状态时,毛刺产生,但并非长得足以被认为得到建立。图5中不存在毛刺。当已经在一个逻辑状态下建立的波形移动到中间区域中时,矮波脉冲产生,但然后返回到第一状态,而绝不穿过另一逻辑状态阈值。在图5中,两个矮波在采样1950附近是可见的,一个矮波分别靠近采样2800和4600。
[0061]在这种三码元制式中,用于上升沿的正则表达式是“L+M*H,即一个或多个L接有零,或是接有Η的多个Μ。类似地,用于下降沿的正则表达式是“H+M*L”。用于上升沿或下降沿的正则表达式是(H+M*L) I (L+M*H)。向上矮波脉冲满足正则表达式“L+M*L”,向下矮波脉冲满足“H+M*H”。
[0062]现参照图6,其示出用于基于上述正则表达式检测上升沿的FSM。FSM在引起触发的点处没有方式获知输入流的状态。对于用于检测上升沿的FSM,输入流必须处于L状态。在开始时,输入流可以处于Μ或Η状态下。于是,用于上升沿的正则表达式更准确地写为[~L]*L+M*H。在此,“ ['L] ”表示除了 L之外的任何字符。FSM以初始状态B。开始。FSM保持在B。下,直到接收到L为止。这使FSM与输入流对准,以确保输入流处于上升沿可能产生的点。一旦接收到L时,FSM移动到Bp并且保持在此,直到其接收到Μ或Η为止。如果接收到Μ,则FSM移动到Β2,在此,其保持,直到接收到L或Η为止。L使得FSM返回到Β。。为了简化以下讨论,从附图省略对于各初始状态的返回边沿。一旦接收到Η时,制式将移动到S3,其为如该状态周围的双圆圈线所指示的报告状态。在&处报告上升沿还解除触发。因此,图6所示的FSM仅激发一次,即单触发方式。图7示出在每个上升沿上激发的FSM。
[0063]如上所述,为了增加触发确定的速度,有利的是,利用每个周期在多个码元上工作的MSFSM。图8A示出用于上升沿触发双码元FSM的状态图。FSM的输入字包括来自具有值L、M或Η的码元序列的两个码元。输入字值可以方便地表示为ΧΥ,其中,X是第一码元的值,Υ是第二码元的值。在该FSM的每个周期上,来自码元流的两个码元加载到用于FSM的输入字缓冲器。当处理该输入字时,加载接下来的两个码元,依此类推。也就是说,如果一个周期具有(Si,S1+1)的输入字,则下一周期处理输入字(S1+2,S1+3),其中,码元序列表示为SlD由此用两个连续码元值(例如LL、LM等)表示图8A所示的状态图中的各个边沿。
[0064]虽然MSFSM可以显著地减少实现PAT所需的时间,因此减少示波器死区时间,但时间可能无法减少得足以提供用于快速示波器的RTT。然而,即使更有利的将会是利用MSFSM作为RTT。在这些情况下,将会消除对于PAT的需要以及伴随的死区时间。为了达到实施RTT所需的并行处理的级别,MSFSM的并行处理形式是优选的,这是因为限制第一类型的MSFSM的存储器要求没那么严重,因此,可以在每个周期处理更大输入字(即更多码元)。
[0065]如上所述,相比于一次一个码元处理序列的FSM,取得具有多个码元的输入字的MSFSM可以远远更快地处理码元序列。然而,在构建MSFSM时,必须谨慎提供初始码元序列中的触发序列的位置,并且考虑输入字中的任何其余码元。
[0066]考虑执行对于上升沿的搜索的简单双码元FSM的情况。当接收到Η时,满足触发序列。Η可以是双码元输入字中的第一码元或双码元输入字中的第二码元。此外,如果输入字中的第一码元满足触发,则FSM必须考虑第二码元,这是因为该码元可能是新触发序列的开始。因此,第二码元为L并因此可以是另一触发序列的开始的情况必须与第二码元为Μ或Η的情况进行区分。于是,双码元FSM必须包括三个分离的触发状态,以区分这三种可能性。
[0067]现参照图8Α,其是用于检测上升沿的双码元FSM的状态图。输入字具有形式ΧΥ,其中,X是码元序列中的第一码元,Υ是第二码元。为了简化示图,XL的输入字表示以L结束的任何输入字(即LL、ML、HL)。HH或HM的输入字满足以多个输入字(例如HH|腿)标记的边沿。报告状态B4对应于当前输入字中的第二码元满足触发序列。报告状态B5对应于当前输入字中的第一码元满足触发序列并且第二码元为L。报告情况B6对应于当前输入字中的第一码元满足触发序列并且第二码元为Μ或H。
[0068]如上所述,可以通过以在较小输入字上工作的多个并行处理FSM替换具有大输入字的FSM而节省可观的存储器。现将使用图8Α所示的双码元输入字FSM更详细地讨论从MSFSM生成并行处理FSM的方式。在该示例中,并行处理FSM中的每一个在双码元输入字中的单个码元上工作;然而,如以下更详细地解释的那样,也可以构建每个并行处理FSM在较小输入字上工作的实施例。
[0069]由于每个并行处理FSM仅“看见”较大双码元FSM的输入字中的两个码元之一,因此并行处理FSM无法确定在除了搜索开始之外的任何给定的时间双码元FSM的状态。然而,并行处理FSM可以确定对应于并行处理FSM中的每个状态的双码元FSM中的可能状态的列表。如果该列表中的各状态之一是并行处理FSM中的报告状态,贝并行处理FSM中的对应状态也是报告状态,并行处理FSM报告双码元FSM中的可能对应报告状态。图4所示的组合器比较在每个周期来自每个并行处理FSM的各报告状态的列表。具体地,如果两个并行处理FSM报告列表并且这些列表具有双码元FSM中的公用状态,则宣称匹配并且报告公用状态。
[0070]参照图8B可以更容易地理解构建用于并行处理FSM的状态图的方式,图8B是用于在双码元输入字的第一码元上工作的并行处理FSM的完整状态图。假设当在搜索开始时并行处理FSM处于状态“0”时,图8A所示的双码元FSM处于状态B。。在状态图生成的每个阶段,通过假设并行处理FSM在处于尚未受检查的并行处理FSM中的状态的同时接收特定输入码元值(L、MSH)来探索该状态。然后确定将源自对应于该状态的列表中的双码元FSM状态中的每一个的双码元FSM中的状态。如果所述列表与并行处理FSM中的当前所定义的状态的列表不同,则创建新状态。如果并非如此,则所探索的输入码元仅连接到现有状态。当并行处理FSM中不存在新状态时,终止处理。
[0071]考虑并行处理FSM处于状态0并且并行处理FSM接收L作为其输入码元的情况。双码元FSM在此情况下处于状态B。,双码元FSM本应接收输入字LL、LM或LH。因此,检查双码元FSM的状态图以确定可以出自这三个可能性中的每一个的最终状态。如果双码元输入字是LL,则双码元FSM将进入状态B1;如果双码元输入字是LM,则双码元FSM本应移动到状态B2,如果双码元输入字是LH,则双码元FSM本应移动到作为报告状态的状态B4。标识报告状态。因此,与并行处理?51中的新状态关联的列表是匕、82、84*。为了简化附图,已经从图8B中的列表省略各个B。也就是说,列表示出为“1、2、4*”。
[0072]现以并行处理FSM中的状态0和Μ的输入字符重复处理。这样带来状态“0、1”。当对于Η的输入字符处理重复到状态0时,还获得具有相同列表的状态;因此,并不创建新列表,并且边沿标记为具有两个记号“Μ IΗ”。
[0073]如上所述,以并行处理FSM中的每个新的未探索的状态重复处理。考虑状态“0、1”的情况。当并行处理FSM接收到L时,确定可以利用LL、LM或LH的输入从双码元FSM中的状态B。和B i到达的双码元FSM中的所有状态。在此情况下,状态的列表是已经看见的“1、2、4*,,。
[0074]图8B示出用于在第一码元上工作的并行处理FSM的最终状态图。应注意,当该并行处理FSM报告匹配时,仅报告双码元FSM中的可能匹配状态。例如,当进入标记“1、2、4*”的状态时,并行处理FSM报告“4*”。
[0075]现参照图8C,图8C示出用于在对双码元FSM的双码元输入字的第二码元上工作的并行处理FSM的最终状态图。使用与关于图8B所示的状态图如上所述相同的处理来生成该状态图;然而,在此情况下,当并行处理FSM接收到L的码元时,确定可以在具有LL、ML和HL的输入字的双码元FSM中到达的状态。
[0076]在关于图8A-图8C如上所讨论的示例中,并行处理FSM在双码元FSM的较大输入字中的一个对应码元上工作。然而,也可以构建每个并行处理FSM在与一个码元不同的输入字上工作的实施例。考虑码元均具有四个值并且因此方便地表示为两比特码元的情况。对于双码元FSM的输入字将具有八个比特。也可以构建8个并行处理FSM用于在八个比特中的对应比特上工作的每个并行处理FSM的实施例。该实施例可以进一步减少存储器要求。
[0077]如上所述。将有利的是,MSFSM用作RTT而非具有减少的处理时间的
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1