使用链接列表在集成电路中创建特性丰富的有限状态机的制作方法

文档序号:15931208发布日期:2018-11-14 01:39阅读:154来源:国知局

本申请要求于2017年4月26日提交的美国临时申请序列no.62/490,431的优先权,并且通过引用整体并入本文。

背景技术

一些电子系统包括监控集成电路。例如,电子系统可以包括由监控电路控制的多个电源,其可以执行与对电源排序以供电或断电以及监控电源相关的功能。随着电子系统不断变得越来越复杂,为电子系统提供适当的监督控制成为一项挑战。另外,对复杂电子系统的改变可能难以实施。



技术实现要素:

本发明通常涉及通过使用分级链接列表实现的有限状态机来控制电子系统。装置例子包括:包括定序器电路的集成电路(ic);和集成到或可操作地耦合到集成电路的存储器。存储器的至少一部分被组织为定义多个有限ic状态的有限状态机的多个分级链接列表。定序器电路被配置为:从与ic状态相关联的分级链接列表接收一个或多个控制字;根据一个或多个控制字将ic推进到ic状态;和执行对应于ic状态的一个或多个动作。

附图说明

在不一定按比例绘制的附图中,相似的数字可以在不同的视图中描述相似的组件。具有不同字母后缀的相似数字可以表示相似组件的不同实例。举例来说,附图通常以举例的方式而非限制性地说明本文件中所讨论的各种实施例。

图1是顺序激活电压域的电源电压定序器设备的例子的时序图。

图2是电压定序器系统的一部分的框图。

图3是使用分级链接列表实现的有限状态机的示例。

图4是使用分级链接列表实现fsm的集成电路示例的部分框图。

图5是图形用户界面(gui)的一个例子,用于为集成电路配置有限状态机。

图6是使用分级链接列表实现的有限状态机的另一个例子。

具体实施方式

电子系统可以包括需要多个电压域的多个集成电路设备。该系统还包括多个电源,为多个电压域提供电源电压轨。这些系统可能具有非常严格的电压时序要求,这些要求使用专用电压序列控制器来实现。序列控制器以特定顺序激活特定电压域的电源电压轨。

图1是顺序激活电压域的电源电压定序器设备的例子的时序图。例如,电压定序器控制和监视提供多个电压的电源,例如1.2伏(v)、1.8v、2.5v和3.3v的电压。如时序图所示,电压定序器按照2.5v、1.8v、1.2v和3.3v的顺序激活电源轨,并以相反的顺序关闭电源轨。

电子系统继续包含更多设备。例如,诸如服务器或联网板的电子系统可以包括多个不同类型的集成电路设备,诸如专用集成电路(asics)、现场可编程门阵列(fpga)和处理器。

图2是电压定序器系统的一部分的框图。系统200包括多个单独的电压定序器设备205和芯片间级联总线(icb)210。各电压定序器设备可以是集成电路(ic),其包括控制多个电源215的控制电路。控制电路可以产生一个或多个控制信号以激活和去激活电源。控制信号可以具有足以充分开启和关闭特定电源的指定电压幅度。各电压定序器设备可以包括监测电路以检测诸如电源中的过电压故障和欠压故障之类的故障。在一些例子中,电源是dc-dc电源。尽管一个电压定序器实际上可以控制多达十个电源,但是为了简化示例,仅示出两个电源由每个电压定序器控制。这种系统所需的电源电压轨数量可以在20到200之间变化。

当实现大型电子系统的电压域时,传统的电压顺序控制器可能无法提供所需的灵活性。这种排序可以在硬件电路中实现,也可以使用硬件配置的有限状态机(fsm)来监视和控制基于系统当前状态的各种信号。各种事件根据fsm确定发生哪种状态到状态转换。但是,基于硬件的状态机要么不可配置,要么包含硬编码来配置fsm。如果需要更换系统,则必须重新设计硬编码的解决方案。对于大型电子系统而言,这可能证明是复杂且昂贵的。

图3是使用分级链接列表实现的fsm的一个例子。fsm可以用来管理电子系统的电源。图3左边是fsm的状态图315。图3中的右侧是实现fsm的分级链接列表320的示例。分级链接列表包含一个状态列表和一个动作列表。状态列表包括fsm的状态。动作列表包括在特定状态下执行的状态动作。分级链接列表320也可以包括规则列表。规则列表的条目标识与动作列表的状态动作相关的一个或多个逻辑条件。

为了简化,状态图315示出了两个状态。在控制一百个电源的实际系统中,可能有数百个状态。在第一种状态下,检查电源1是否有故障。如果出现故障,fsm将进入第二个状态,检查电源1和电源2的故障。如果电源指示故障,则电源被禁用并且fsm进入第三状态。如果电源3指示故障,则电源被禁用并且fsm进入第四状态。

在分级链接列表的fsm中,状态列表指针指向状态列表中的状态。链接列表中的第一个状态是状态0。动作列表指针(alp=0)的值是从状态列表指针指向的内存位置加载的。包含在动作列表指针(示例中动作列表的第一个条目)指向的内存位置中的动作被执行。只执行第一个操作(根据值num=1)。这些操作包括加载规则列表指针值和分支条件,该条件取决于规则列表指针指向的内存位置(规则列表的第一条目)处的逻辑条件或逻辑值。规则列表中的第一项包括逻辑条件fault=true。

根据逻辑条件,动作列表根据规则列表中的逻辑条件对动作列表的第二个条目执行分支。动作列表的第二项包括禁用电源1并分支到动作列表的第三项的动作,该动作列表通过将状态指针加载到状态列表的下一个状态(状态1)的值来推进fsm的状态。

动态列表指针(alp=3)的值从状态列表指针指向的内存位置加载,并且存储在由alp=3指示的列表条目中的动作并且下一个条目被执行(根据值num=2)。alp=3的条目中的动作检查规则列表条目1至3处的三个逻辑条件,并且alp=4的条目中的动作检查规则列表条目4处的逻辑条件。基于逻辑条件,动作列表包括一个分支,用于禁用电源1、电源2并分支到fsm的下一个状态条目(状态2),或者包含一个分支来禁用电源3和分支到fsm的状态3。可以看出,分级链接列表320实现状态图315。

在一些实施方案中,分级链接列表包括链接定序器列表。定序器列表包括可用状态序列和状态列表指针。状态列表指针标识状态列表中当前状态序列的状态。状态列表中可以存储多个状态序列。分级链接列表方法在硬编码方面的优点是通过改变包含链接列表的内存内容可以很容易地改变fsm。

图4是使用分级链接列表实现fsm的ic425的示例的部分的框图。分级链接列表420被包括在可以集成到ic425中的存储器中,或者可以可操作地连接到ic425。ic425包括定序器电路430以实现状态动作。定序器电路430可以包括一个或多个寄存器以接收来自与ic的有限状态相关联的分级链接列表的控制字。根据动作列表中的条目,控制字可以存储在动作列表条目中,或以其他方式索引在存储器中。定序器将ic推进到对应于控制字的ic状态,并执行对应于ic状态的一个或多个动作,例如激活或去激活控制信号或启动定时器电路。这些动作可以包含在动作列表中。定序器电路430可以包括逻辑电路来实现规则列表中包含的一个或多个逻辑条件,并根据一个或多个逻辑条件的结果推进动作列表指针。定序器电路430可以包括一个或多个寄存器以保存一个或多个状态字。例如,一个状态字可能包含电源的故障状态,或者一个状态字可能包含一个指示:定时器电路已经完成了一个特定持续时间的计时。

ic425可以被包括在电源定序器中,如图2的例子所示。定序器电路430可以按照由分级链接列表指定的ic状态的顺序确定的顺序激活多个电源。在一些实施方案中,电源提供定义电子系统电压域的电压轨。定序器电路激活由电源提供给电子系统的多个电压域。电压域按照根据链接列表中ic状态序列确定的顺序激活。定序器电路也可以按照特定的顺序关闭电源,以便断电或检测到一个或多个电源故障时。

单个电源定序器可能不足以满足不同应用中所需的各种导轨数量。图3和图4中示例的fsm的器件可以扩展到大量电压定序器设备和电源系统。为电子系统配置大量的电源可能很复杂。

图5是图形用户界面(gui)的一个例子,用于为电子系统配置十六个电源(st_supply1到st_supply16)的电压定序器设备。gui可以由配置电压定序器设备的客户端应用程序显示。客户可以使用主机计算系统与电压定序器设备进行通信。电源可按其激活顺序编号。

图5中的gui显示了针对系统的fsm的特定状态配置动作列表的动作和规则列表的逻辑。该状态包括激活电源st_supply16的动作。该状态还包括监视电源故障的动作。规则列表将返回任何一个电源故障的真值。电源的运行状态可以提供给电压定序器设备的寄存器。gui可能会显示电源的激活,并可能显示任何电源的任何故障状态。

gui可用于将各个电压定序器设备配置为一个整体fsm,以提供内聚的电源排序,激活电子系统的电压域。gui将用户输入的fsm逻辑配置为分级链接列表,例如图6中所示的定序器列表、状态列表、动作列表和规则列表。来自链接列表的数据可以被编程到集成电路中,例如用于实现图4中的定序器引擎。定序器引擎处理数据以执行用户使用gui配置的fsm。gui可用于配置多个电压定序器设备的链接列表和多个fsm来控制设备。

另外描述和方面

方面1可包括主旨(例如逻辑定序器),包括:包括定序器电路的集成电路(ic);和集成到或可操作地耦合到集成电路的存储器,其中存储器的至少一部分被组织为定义多个有限ic状态的有限状态机的多个分级链接列表;其中定序器电路被配置为:从与ic状态相关联的分级链接列表接收一个或多个控制字;根据一个或多个控制字将ic推进到ic状态;和执行对应于ic状态的一个或多个动作。

在方面2,方面1的主旨任选地包括:分级链接列表包括状态列表和动作列表,其中状态列表包括可用的ic状态并且所述动作列表包括ic可执行的状态动作,并且其中状态列表包括动作列表指针,所述动作列表指针标识与特定ic状态相关的动作列表的状态动作。

在方面3,方面1和2中一者或两者的主旨任选地包括:分级链接列表包括规则列表,其中动作列表包括规则列表指针,并且规则列表的条目标识与动作列表的状态动作相关的一个或多个逻辑条件。

在方面4,方面3的主旨任选地包括:定序器电路,包括被配置为实现规则列表中包括的一个或多个逻辑条件并根据一个或多个逻辑条件的结果推进动作列表指针的逻辑电路。

在方面5,方面2-4中一者或任一者的主旨任选地包括:分级链接列表,包括包含可用ic状态序列和状态列表指针的定序器列表,其中状态列表指针识别状态列表中当前ic状态序列的ic状态。

在方面6,方面1-5中一者或任一者的主旨任选地包括:定序器电路包括在电源定序器中,该电源定序器被配置为根据分级链接列表所指定的ic状态的顺序确定的顺序来激活多个电源。

在方面7,方面1-6中一者或任一者的主旨任选地包括:定序器电路包括在电源定序器中,该电源定序器被配置为根据ic状态的顺序来激活由电源提供的电子系统的多个电压域。

方面8包括主旨(例如电源管理系统),或者可以可选地与方面1-7中的一个或任何组合相结合以包括这样的主旨,包括:多个电源,其中电源向所述系统的电压域提供电源电压轨;集成电路,包括电耦合到多个电源的定序器电路;和集成到或可操作地耦合到集成电路的存储器,其中所述存储器的至少一部分被组织为定义包括多个有限ic状态的有限状态机的多个分级链接列表;其中定序器电路被配置为:从与ic相关联的分级链接列表接收一个或多个控制字;根据一个或多个控制字将ic推进到ic状态;和执行对应于ic状态的一个或多个动作以协调所述电源的激活和失活。

在方面9,方面8的主旨任选地包括:分级链接列表包括状态列表和动作列表,其中状态列表包括可用的ic状态并且所述动作列表包括ic可执行的状态动作,并且其中状态列表包括动作列表指针,该动作列表指针标识对应于特定ic状态的动作列表的状态动作。

在方面10,方面9的主旨任选地包括:包括在状态列表中的ic状态包括一个或多个电源的故障状态,并且所述动作列表包括当ic状态包括故障状态时ic可执行的动作。

在方面11,方面10的主旨任选地包括:分级链接列表包括规则列表,其中动作列表包括规则列表指针,并且规则列表的条目标识与动作列表的状态动作相关的一个或多个逻辑条件。

在方面12,方面11的主旨任选地包括:定序器电路包括被配置为实现规则列表中包括的一个或多个逻辑条件并根据一个或多个逻辑条件的结果推进动作列表指针的逻辑电路。

在方面13,方面9-12中一者或任意组合的主旨任选地包括:分级链接列表包括包含可用ic状态序列和状态列表指针的定序器列表,其中所述状态列表指针识别状态列表中当前ic状态序列的ic状态。

在方面14,方面13的主旨任选地包括:定序器列表包括根据第一状态序列的ic状态激活多个电源的第一组电源的第一状态序列、和根据第二状态序列的ic状态激活多个电源的第二组电源的第二状态序列。

在方面15,方面8-14中一者或任意组合的主旨任选地包括:定序器电路被配置为根据所述分级链接列表的所述ic状态对应的控制字,激活所述电源提供的所述系统的多个电压域。

方面16可以包括主旨(诸如包括动作的方法或者包括指令的计算机可读存储介质,所述指令在由计算设备的处理电路执行时使计算设备执行动作),或者可以可选地与方面1-15中一个或多个的组合包含这样的主旨,包括:在所述计算设备上实现图形用户界面(gui);通过gui接收电源电压定序器信息;和使用电源电压定序器信息将存储在存储器中的有限状态机配置为多个分级链接列表,其中有限状态机包括确定多个电源的激活顺序的多个确定器设备的状态。

在方面17,方面16的主旨任选地包括:生成存储在存储器中并根据分级链接列表索引的一个或多个控制字的指令;其中所述一个或多个控制字对应于在有限状态机的指定设备状态下由电源定序器设备执行的动作。

在方面18,方面16和17中一者或两者的主旨任选地包括:将分级链接列表配置为包括状态列表和动作列表的指令,其中所述状态列表包括可用的设备状态,并且所述动作列表包括可由设备执行的状态动作,以及其中所述状态列表包括动作列表指针,该动作列表指针标识对应于特定设备状态的动作列表的状态动作。

在方面19,方面18的主旨任选地包括:将分级链接列表配置为包括规则列表的指令,其中所述动作列表包括规则列表指针,并且规则列表的条目标识与动作列表的状态动作相关的一个或多个逻辑条件。

在方面20,方面16-19中一者或任意组合的主旨任选地包括:在一个或多个电源定序器设备中配置有限状态机的指令,其中所述电源定序器设备根据所配置的有限状态机顺序地激活和失活其连接的电源。

这些非限制性方面可以以任何排列或组合进行组合。以上详细描述包括对附图的参考,这些附图构成了详细描述的一部分。作为说明,附图示出了可以实践本发明的具体实施例。这些实例在本文中也被称为“实例”。所有的出版物、专利和专利文件通过引用并入本文。如果本文件与通过引用并入的那些文件之间的用法不一致,则应将所包含的参考文件视为对该文件的补充;对于不可调和的不一致性,以本文档中的用法控制。

在本文件中,如在专利文献中常见的那样,使用术语“一”或“一个”来包括一个或多个、独立于“至少一个”或“一个或多个”的任何其他实例或用法。在本文件中,术语“或”用于指非排他性的,例如“a或b”包括“a但不是b”、“b但不是a”以及“a和b”,除非另有说明。另外,术语“包括”和“其中”被用作“包括”和“其中”的等同词。而且,在下面的权利要求中,术语“包括”和“包含”是开放式的,即包括除权利要求中的这样的术语之后列出的那些要素之外的要素的系统、设备、物品或过程仍然被认为落入该权利要求的范围内。此外,在以下权利要求中,术语“第一”、“第二”和“第三”等仅用作标签,并不打算对其对象施加数字要求。这里描述的方法示例可以至少部分地是机器或计算机实现的。

以上描述旨在是说明性的而非限制性的。例如,上述示例(或一个或多个方向)可以彼此组合使用。其他实施例可以被使用,诸如本领域普通技术人员在查看以上描述时。摘要提供符合37c.f.r.§1.72(b),允许读者快速确定技术公开的性质。已经提出,解释仅限于权利要求的范围或含义。而且,在上面的详细描述中,各种特征可以被组合在一起以简化本公开。这不应该被解释为意图是一个无人认领的功能是任何权利要求必不可少的。更确切地说,本发明的实施方案可以位于所公开的具体实施例的所有特征中。因此,将以下权利要求并入到具体实施方式中,其中每个权利要求独立作为单独的实施例。本发明的范围将参考所附权利要求以及这些权利要求的等同物的全部范围来确定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1