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

文档序号:9546382阅读:来源:国知局
的多个状态的状态机。在每个处理周期,当FSM接收到新输入字时,FSM从其当前状态移动到下一状态。因此,每个边沿具有与该边沿关联的一个或多个输入值。当FSM接收到值等于边沿上的值的输入字,并且FSM处于与边沿的输入侧关联的状态时,FSM改变为与边沿的输出侧关联的状态。FSM然后进入处理下一输入字。如上所述,特定转变导致FSM报告识别出其刚已进入的状态或刚进行的转变、与该状态或转变关联的任何其它信息。这种转变可以是进入到特定状态、或者是通过指定边沿进入到此状态。为了本讨论的目的,当FSM已经移动到其新状态并且做出任何所需报告时,处理周期完成。
[0040]虽然已建议将FSM用于运行PAT,但当输入字是数字化的信号值时,在用FSM实现搜索方面存在重大挑战。在相对简单的计算平台上,FSM通常用表查找实现。在每个处理周期中,FSM接收输入字,并且针对每个可能输入字检查与指定FSM下一状态的FSM当前状态对应的表。存储表所需要的存储器可以是如同可能输入字值的数量乘以FSM中可能状态的数量那样高。数字示波器中ADC的输出通常在长度上为12或更多个比特。在以12比特输入字实现FSM所需的存储器、在这种精度的信号中定义上升沿之类的简单概念模式较困难(尤其是存在噪声时)的这两个方面,正则表达式处理这些大输入字均带来重大问题。
[0041]如上所述,FSM的存储器需求取决于输入字的大小。对于FSM的每个状态,通常使用表来实现FSM。每个状态所完成的处理包括:检查在FSM处于该状态下的同时所接收到的输入字;以及基于该输入字来确定用于FSM的下一状态。在最简单的情况下,查找表通常用于实现该处理。输入表的大小是可能输入字的数量乘以FSM中的各状态的数量。对于12比特输入字,对于每个状态在该表中存在4096(212)行,因此,存储器要求随着输入字的大小增加而变得极端。此外,在速度与所要求的存储器之间存在折衷。为了改进FSM工作的速度,需要在多个输入字上工作的FSM,这样增加输入字的有效大小。例如,将两个12比特采样处理为单个输入字的使用12比特采样字的双码元MSFSM将要求每个表中的224行。虽然存在可以用于减少存储器要求的方案,但这些方案增加了用于每个输入字的处理时间。
[0042]第二个重大问题是用于通过FSM实现搜索的处理时间。将处理从传统软件PAT移动到类属FSM并不提供与PAT关联的死区时间方面的充分改进。FSM执行搜索所需的时间由依次访问数字示波器中的存储器的时间加以确定。如上所述,数字示波器中的单独存储器具有作为小部分数据获取带宽的带宽,获取制式并行地加载存储器以增加每个单独存储器的带宽,因此,依次访问限制了 PAT工作时间方面的改进,除非这些码元/采样也可以并行地受处理。
[0043]在本发明一个方面中,在具有比数字示波器中ADC的输出显著更少的可能值的“码元”方面,指定触发模式。每个码元表示ADC值的范围。例如,ADC值可以映射到具有用L、M、Η表示的三个值的码元集合。在这种码元集合的一个示例中,小于或等于某阈值1的ADC值映射到L ;大于0但小于或等于第二阈值h的ADC值映射到Μ ;大于h的ADC值映射到H。然后在正则表达式方面定义搜索模式,其在码元而非ADC值上工作。
[0044]为了本讨论的目的,将可以用正则表达式表示的模式的类型划分为两类是有用的。这些类可以在包括字母表中的字母的输入串方面得到更容易地理解。第一类称为“固定模式”。例如,可以对于模式“var = X”搜索文本串。固定模式具有已知的固定长度,并且为输入流中的仅一个模式所满足。第二类模式称为“可变模式”。这些模式具有未知长度,或为多个不同串所满足。例如,如下这样的任何模式满足“var= [a_z]+”:所述模式以“var =”为开始,接着是小写字母表中的一个或多个(上至任何数目)字符,接着是“;”。该模式生成在长度方面无法预先加以预测的串,无更不确切的内容。
[0045]如上所述,正则表达式定义为定义搜索模式的字符序列。表达式中的每个字符是具有其字面意义的正则字符,或是具有特殊意义的预定数量元字符之一。例如,元字符“ I ”表示可选。a或b满足正则表达式“a|b”。元字符“? 和“ + ”量化前面的要素。如果前面的要素出现零次或一次,则满足元字符“ ? ”,如果前面要素产生零次或多次,则满足“*”,如果前面要素产生一次或多次,则满足“ + ”。很多感兴趣模式需要某个串的重复。如果表达式中存在多于一个的字符或多于一个的字符范围,则待重复的表达式用0包围(分组)。元字符“[“and”]”用于形成字符类(例如[LMH]),“~”用于表示否定,S卩[~L],除了“L”之外的一切。为了指定表达式待重复η次,在表达式后使用{η}。为了指定η与m之间的沮围,表达式后跟着{n,m}。
[0046]在这种注记方面,用于上升沿的正则表达式是“L+M*H”,即一个或多个L接有零、或是接有Η的多个M。类似地,用于下降沿的正则表达式是“H+M*L”。用于上升沿或下降沿的正则表达式是(H+M*L) I (L+M*H)。
[0047]由于对于触发生成器的基于这些码元的输入字仅具有三个状态,因此对于FSM的存储器要求相对适中。虽然减少输入字大小改进了存储器要求,但鲜有改进处理速度。也就是,FSM在具有三个状态的输入字上工作的周期时间实质上与FSM在具有4096个状态的输入字上工作的周期时间相同。通过使用每次定义工作在一个码元上的触发条件以生成工作在具有多个码元的输入字上的FSM,本发明改进了工作速度。由于周期时间对于多码元FSM是相同的,因此有效处理速度以等于输入字中码元的数量的因子得到增加。
[0048]因此,在本发明第二方面中,在码元上工作的FSM具有包括多个码元的输入字。输入信号的数字化版本可以看作数字序列值的线性序列,各值的顺序是接收对应信号值的顺序。序列存储在多个存储器组中,因此并不按顺序存储在存储器中。存在对应码元序列,一个码元对应于每个ADC值。码元序列S(i)在ADC值中的顺序方面类似地排序。
[0049]用于搜索期望模式的FSM称为MSFSM。通过组合来自码元序列的相邻码元值的多个码元来构造对于MSFSM的输入字。考虑具有三个码元的字大小的MSFSM。在一个处理周期,对于该FSM的输入字将是[S(k),S(k+l),S(k+2)];在下一处理周期,输入字将是[S(k+3),S(k+4),S(k+5)],依此类推。由于周期时间本质上独立于输入字的大小,因此相比于每次在一个码元上工作的FSM,取得其输入字中的Μ个码元的MSFSM可以快Μ倍地搜索期望模式。然而,如上所述,对于这种FSM的存储器要求将显著地高于对于每个周期上在单个码元上工作的FSM的存储器要求。于是,对于即使使用减少存储器要求的技术也可以处理的输入字的大小存在某种限制。通过使用相比于对应ADC采样值(即,在上述示例中为12比特)具有更少值的码元,本发明减少了 FSM中每个状态所需的存储器,因此,在不达到该存储器限制的情况下增加了可以并行处理的触发码元的数量。
[0050]现参照示出根据本发明的数字示波器的一个实施例的图2。为了简化讨论,数字示波器10中的执行与图1中的元件类似的功能的那些元件已经赋予相同的附图标记,并且在此将不详细讨论。在该实施例中,MSFSM用于执行PAT功能,而传统RTT用于初始化PAT搜索。为了简化本讨论,将假设MSFSM 14的每个输入字中的码元的数量等于存储器组104的数量。以下更详细地讨论在每个输入字中处理少数码元的实施例。在该实施例中,通过公共地址线来寻址每个存储器组,并且该地址上存储的ADC值出现在输入到码元生成器12的输出总线上。由于随着从ADC接收数据而加载存储器,因此所出现的ADC值以时序为顺序,其开始于存储器组104所呈现的ADC值。于是,码元生成器生成的码元值将也处于正确的时间顺序。当组装多码元输入字时,MSFSM 14处理该输入字。连续输入字通过使存储器地址前进而得以生成,并且受MSFSM 14处理,直到找到期望模式为止,或直到穷举存储器组的内容为止。如果找到模式,则控制器11使得显示处理器108显示存储器中ADC值的有关部分。如果未找到模式,则重新引起RTT并且获取新数据。
[0051]如果MSFSM 14的输入字小于存储器组的数量,则存储器地址将不前进,直到已经在当前存储器地址读取存储器组中的每一个。例如,如果存在16个存储器组并且输入字是八码元长,则存储器组的前一半将在当前地址被读取,并且处理为第一输入字。存储器组的后一半将然后在同一地址受处理,并且处理为第二输入字。此时,存储器地址将前进。在任一情况下,处理时间显著地快于具有一个码元输入字的FSM针对期望模式扫描存储器所需要的时间。
[0052]本发明中可以利用两种类型的MSFSM。第一类型是传统FSM,其在包括多个码元的输入字上工作。现参照示在每个周期在多个码元上工作的传统FSM的图3。FSM 31是输入字为多个码元的传统FSM。用于实现该FSM的硬件仅需要单个处理器。从单码元FSM的状态表中得到MSFSM状态表,如以下更详细地解释的那样。在图3所示的示例中,每个输入字32中存在三个码元。为了本讨论的目的,注意MSFSM 30以单码元FSM的速度的三倍工作就足够了 ;然而,这种速度改进是以实质上增加的存储器要求为代价而获得的。以队表示FSM中状态的数量,以Nin表示每个码元中比特的数量,以Nsym表示输入字中码元的数量。然后,对于Ns个状态中的每一个,这种第一类型的FSM具有带有2(NinxNsym)x队项的表。对于这些表的存储器要求随着码元的数量增加可能变为重大问题。通过观测实际上并非使用了这些表中的所有可能项,可以减少这种存储器要求。这些方案是本领域公知的,因此将不会详细讨论。然而,无论这些方案的使用情况如何,对于利用具有多码元输入字的传统FSM都存在实践上的限制。
[0053]第二类型的FSM利用多个并行工作的数个较小的FSM。可以使用可编程门阵列或具有多个内核的计算机来构建这些FSM。现参照图4,其示出对于每个周期中处理三个码元的情况利用三个并行处理FSM 24-26的MSFSM20。输入字23包括三个码元S。、S2。每个FSM仅在其输入在码元上工作。在以下讨论中,这些FSM将称为并行处理FSM。每个并行处理FSM使用的状态图是得自在三码元输入字上工作的MSFSM的状态图,其进而是得自实施用于描述期望触发模式的正则表达式的单个码元FSM的状态图。为了本讨论的目的,注意到以下就足够了:当每个并行处理FSM使用的码元序列使得并行处理FSM进入特定状态(称为“匹配状态”)时,或当并行处理FSM经由指示匹配的边沿转变时,该并行处理FSM将生成一个或多个“匹配”信号。这些匹配中的一些将对应于满足触发模式的整个码元序列。然而,由于并行处理FSM未看整个输入字,因此单个并行处理FSM匹配中的一些将会是“错误告警”。
[0054]在处理周期的开始,每个并行处理FSM读取其码元,并且进入其下一状态。在当前处理周
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1