一种fpga零动态功耗设计方法

文档序号:6545864阅读:152来源:国知局
一种fpga零动态功耗设计方法
【专利摘要】本发明公开了一种FPGA零动态功耗设计方法,建立系统时钟树和局部时钟树,采用状态机方式建立时钟管理逻辑,包括:采用“工作态”标识功能逻辑或时钟驱动源的时钟信号工作,采用“停止态”标识功能逻辑或时钟驱动源停滞,以及建立用于判断时钟控制方式的“悬挂态”,用于转换工作模式和多系统或多时钟域的信息交互。通过设置基于状态检测和时钟驱动控制的时钟管理逻辑,关闭相应功能逻辑的时钟驱动源,实现“0Hz时钟”的降功耗设计方法。从而控制了设备中无效功耗的占空比,达到动态功耗资源使用的最大效率。
【专利说明】—种FPGA零动态功耗设计方法
【技术领域】
[0001]本发明涉及电子产品的功耗设计【技术领域】,特别涉及一种FPGA零动态功耗设计方法。
【背景技术】
[0002]在当代电子产品的设计技术中,随着信息数据量的增大,电子产品的处理速度也日益增加。受系统设计的裕度、扩展等性能和设计的要求影响,嵌入式电子系统普遍存在处理性能过剩与有限处理任务要求的矛盾,会形成系统存在大量空间和时间上的无效操作,造成整体能耗上的无效消耗。如果在系统运行中,所有时间、空间上的无效操作都没有功耗,那么系统便处于理想的功耗运行条件下,即所谓的零功耗设计。
[0003]如果采用将系统中所有时间、空间上的有效操作和无效操作采用时空占空比的方法来量化描述,则有效操作占空比定义为有效操作与系统全部运行操作之比。在一个具体的应用系统中,有效操作的时空占空比包括了宏观时域占空比,宏观区域占空比,微观时域占空比,微观区域占空比。在电子应用系统中,处理器、控制逻辑与实际任务操作状态以及系统中的微观静、动态的巨大差异,导致大量无谓等待状态,形成有效操作的时、空占空比现象。有效操作只是全部运行操作的高谐小量,因此产生了电子系统零功耗设计的概念。
[0004]现有的空间飞行器电子产品包括控制计算机、信息处理器、固态存储器等高功能密度的电子设备中,采用了 FPGA作为产品功能接口控制逻辑和通讯逻辑桥。控制逻辑和通讯链路具有高带宽和数据加工量大的特点。但整个控制和通讯过程并非在每个时钟周期有效,在无效周期内存在无效功耗。

【发明内容】

[0005]本发明针对现有技术存在的上述不足,提供了一种FPGA零动态功耗设计方法。本发明通过以下技术方案实现:
[0006]一种FPGA零动态功耗设计方法,包括:
[0007]A、对一系统进行层次划分,分为主控模块和功能模块,确定系统所在设备的各模块中的功能逻辑的工作模式和带宽;
[0008]B、根据系统的拓扑建立模块至模块的系统时钟树,模块至模块的系统时钟树采用点到点的独立通讯方式;
[0009]C、按模块内的数据流带宽和驱动方式建立模块内的局部时钟树,具有相同驱动方式但数据流带宽不同或者具有相同数据带宽但驱动方式不同的功能逻辑均采用独立的时钟驱动源来驱动;
[0010]D、根据系统和模块内的时钟驱动源数量、工作频率、外部时钟源数量,确定模块的时钟驱动源的频点;
[0011]E、根据模块的时钟驱动源的频点以及模块内的局部时钟树,并根据局部时钟树下的功能逻辑的工作模式或数据流驱动方式确定时钟驱动源的管理方式;[0012]F、在功能逻辑不工作的状态下关闭对应的时钟驱动源;
[0013]其中,E中的根据每个局部时钟树下的功能逻辑的工作模式或数据流驱动方式确定时钟驱动源的管理方式包括:
[0014]采用状态机方式建立时钟管理逻辑,包括:采用“工作态”标识功能逻辑或时钟驱动源的时钟信号工作,采用“停止态”标识功能逻辑或时钟驱动源停滞,以及建立用于判断时钟控制方式的“悬挂态”,用于转换工作模式和多系统或多时钟域的信息交互。
[0015]较佳的,D中还包括:根据系统和模块内的时钟驱动源数量确定外部时钟源数量,在外部时钟源数量不能满足局部时钟树构建要求的情况下,采用时钟驱动源的管理方式通过分频、倍频获得相应的驱动时钟。
[0016]较佳的,若采用时钟驱动源的管理方式通过分频、倍频获得相应的驱动时钟仍不能满足构建要求,则合并同工作模式下频率相近的功能逻辑。
[0017]较佳的,“工作态”为功能逻辑实施数据处理的工作状态,是系统的最大工作模式;“停止态”是功能逻辑因没有时钟驱动源工作而处于的静态工作模式,无动态功耗;“悬挂态”是功能逻辑转入“工作态”或“停止态”的判断状态,在“悬挂态”下,系统处于最大工作模式、最大功耗条件。
[0018]较佳的,C中模块内的功能逻辑包括与时钟管理逻辑连接的:
[0019]接口维护逻辑,用以相应外部数据通讯;
[0020]接口控制逻辑,用以驱动外部通讯链路;
[0021]信息加工逻辑,用以信息加工、信息流控制;
[0022]系统响应逻辑,用以设备和系统的互联;
[0023]通讯逻辑,用以模块间的通讯;
[0024]跨时钟域逻辑,用以实现跨时钟域的信息传递。
[0025]本发明通过设置基于状态检测和时钟驱动控制的时钟管理逻辑,关闭相应功能逻辑的时钟驱动源,实现“0Hz时钟”的降功耗设计方法。从而控制了设备中无效功耗的占空t匕,达到动态功耗资源使用的最大效率。
【专利附图】

【附图说明】
[0026]图1所示的是本发明的系统时钟树的示意图;
[0027]图2所示的是本发明的局部时钟树的示意图;
[0028]图3所示的是本发明的功能逻辑的工作模式转换图;
[0029]图4所示的是本发明的系统由停止态转入工作态的流程图;
[0030]图5所示的是本发明的系统由工作态转入停止态的流程图。
【具体实施方式】
[0031]以下将结合本发明的附图,对本发明实施例中的技术方案进行清楚、完整的描述和讨论,显然,这里所描述的仅仅是本发明的一部分实例,并不是全部的实例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。
[0032]为了便于对本发明实施例的理解,下面将结合附图以具体实施例为例作进一步的解释说明,且各个实施例不构成对本发明实施例的限定。
[0033]本发明提供一种FPGA零动态功耗设计方法,通过关闭时序逻辑资源的工作时钟达到零动态功耗的效果。FPGA逻辑资源并发执行的特点使其具有并行加工多条数据流的特性,因此不可能直接关闭其驱动时钟。为实施对FPGA内逻辑资源动态功耗的有效管理,需构建基于时钟树的功耗驱动模型,并将不同时钟驱动源下执行的逻辑资源根据其自身的工作状态对其驱动时钟实施管理。为实现对逻辑资源驱动时钟的管理,时钟树除考虑其工作带宽和带宽利用率外,还应考虑其工作条件、工作模式以及事件驱动源。
[0034]如图1所示,本发明需构建的系统时钟树的示意图。系统按控制功能模型将设备分为主控模块(左侧方框)和功能模块(右侧方框)。按照设备的工作原理,设计了由控制到接口扩展的系统组织层次,按设备内部的通讯结构组织基于通讯的系统时钟树,系统时钟树是由主控模块驱动,并对功能模块采用点到点通讯控制方式。主控模块可与功能模块采用同步或异步接口通讯,可采用并行总线或串行总线接入,由主控模块向功能模块提供驱动时钟或通讯时钟使能。对系统时钟域下功能模块的动态功耗分配由主控模块维护。
[0035]系统时钟树是设备级的时钟网络,以主控模块的数据流向,数据加工带宽确定设备时钟树的“主干”,以通讯网络确定系统时钟树的“枝叶”。按模块内数据流向和数据加工方式确定模块级的本地时钟域。按数据源和数据流方向确定数据加工逻辑的数据吞吐,确定全设备的信息通讯带宽。
[0036]如图2所示,是按模块内部功能逻辑的工作方式,工作带宽,并有时钟管理逻辑组织的局部(或本地)时钟树。是将模块内同带宽同方式的功能逻辑组织,建立数据流加工,接口驱动响应的模块级时钟树,形成模块内功能逻辑组织本地功能逻辑的动态功耗驱动模型。
[0037]局部时钟树由本地的时钟源驱动,时钟管理逻辑根据时钟树的划分提供给各功能逻辑所需的工作时钟。按照控制原理和工作方式将设备内的控制逻辑分为了主控部件(左侧方框)和响应部件(右侧方框)。主控部件是用于设备的控制计算,系统内的数据通讯,数据加工的主控制模块;功能部件是用于实现设备功能接口和主要功能的部件模块。
[0038]其中:
[0039]接口维护逻辑:设备中用于响应外部数据通讯,信号变换采集处理,特指对外部信号条件改变后需实时响应处理的控制逻辑;
[0040]接口控制逻辑:设备中用于驱动外部通讯链路,控制信号采集并完成数据加工和信息处理的控制逻辑,特指由设备系统内控制逻辑主控调度处理的控制逻辑;
[0041]信息加工逻辑:设备中进行数据加工,数据、信息流控制的控制逻辑,特指系统实现通讯数据加工,信息流和数据流处理的主控制逻辑;
[0042]系统响应逻辑:设备中与应用系统和计算处理器互联的通讯控制逻辑,实现对设备中的主控芯片如处理器、单片机的通讯响应及维护;
[0043]通讯逻辑:是设备内总线通讯维护逻辑,主控部件的通讯逻辑是通讯内总线的调度器,维护整个内部信息通讯。
[0044]跨时钟域逻辑:是设备多时钟域的逻辑系统实现异步时钟域跨接的控制逻辑,实现系统的跨时钟域信息传递,包括控制信号的同步和异步数据的通讯;
[0045]时钟管理逻辑:是设备实现控制逻辑时间基准的开关控制,是系统实现工作模式转换的逻辑管理逻辑,也是本发明中实现的核心工作逻辑。
[0046]图2中的接口维护逻辑和系统响应逻辑属于响应模式,其工作状态受外部事件的影响。接口维护逻辑是指对由外部逻辑启动的通讯事件或外部信号变换,该部分逻辑需根据外部事件特征实时采样或通讯。系统响应逻辑是作为指本地资源组为从设备与外部逻辑连接。图2中的接口控制逻辑和信息加工逻辑属于主控模式,其工作状态由逻辑自身决定。控制逻辑是对外部接口主控控制驱动的逻辑逻辑,信息加工逻辑是完成数据流处理,信息控制的运算处理或流程控制逻辑。
[0047]为了实现动态功耗的管理,实现对功能逻辑驱动源的有限开闭,本发明设计了功能逻辑的高级配置和管理方式,建立了用于时钟驱动源控制管理的时钟管理逻辑,并通过状态机形式实现。
[0048]时钟管理逻辑用于功能时钟驱动源的控制。设备的时钟驱动管理方式包括自主的外部物理时钟源的开闭和由主控模块实施的时钟开闭。时钟管理逻辑检测功能逻辑的工作状态,包括信息加工逻辑、接口控制逻辑、接口维护逻辑和系统响应逻辑的工作状态,对于处于主控模块的逻辑资源由时钟管理逻辑实施状态转换的同时关闭其时钟,对于功能模块的功能逻辑,时钟管理逻辑向主控端提供可切换操作标识,由主控模块实施时钟开闭的维护,主控模块可直接开闭时钟或通过时钟使能方式交由时钟管理逻辑实施。时钟管理逻辑向主控模块提供操作接口,并根据主控模块的控制信号进行状态转换或逻辑的状态维护。本发明通过设定了四种工作模式,并采用自主检测的方法,通过自主控制,外部控制两种手段进行功能逻辑时钟的运行管理。本发明是对主控模块和功能模块中的接口维护逻辑,接口控制逻辑,信息加工逻辑,系统响应逻辑,通讯逻辑实施的。
[0049]图3是本发明中工作状态的转换图。设备中的工作模式包括了关闭态(S3),停止态(S2),悬挂态(SI),工作态(S0)。系统上电后,控制逻辑处于缺省状态不具备相应的逻辑控制条件,无法相应外部接口和应用系统的交互,系统处于停止态,当上电复位电路启动后,复位逻辑对扩展逻辑实施复位,系统任处于关闭状态,当复位结束后,逻辑退出关闭状态进入停止态。
[0050]表一是对的关闭态(S3),停止态(S2),悬挂态(SI),工作态(SO)的定义:
[0051]
【权利要求】
1.一种FPGA零动态功耗设计方法,其特征在于,包括: A、对一系统进行层次划分,分为主控模块和功能模块,确定所述系统所在设备的各模块中的功能逻辑的工作模式和带宽; B、根据所述系统的拓扑建立模块至模块的系统时钟树,模块至模块的系统时钟树采用点到点的独立通讯方式; C、按模块内的数据流带宽和驱动方式建立模块内的局部时钟树,具有相同驱动方式但数据流带宽不同或者具有相同数据带宽但驱动方式不同的功能逻辑均采用独立的时钟驱动源来驱动; D、根据所述系统和模块内的时钟驱动源数量、工作频率、外部时钟源数量,确定模块的时钟驱动源的频点; E、根据模块的时钟驱动源的频点以及模块内的局部时钟树,并根据局部时钟树下的功能逻辑的工作模式或数据流驱动方式确定时钟驱动源的管理方式; F、在功能逻辑不工作的状态下关闭对应的时钟驱动源; 其中,E中所述的根据每个局部时钟树下的功能逻辑的工作模式或数据流驱动方式确定时钟驱动源的管理方式包括: 采用状态机方式建立时钟管理逻辑,包括:采用“工作态”标识功能逻辑或时钟驱动源的时钟信号工作,采用“停止态”标识功能逻辑或时钟驱动源停滞,以及建立用于判断时钟控制方式的“悬挂态”,用于转换工作模式和多系统或多时钟域的信息交互。
2.根据权利要求1所述的FPGA零动态功耗设计方法,其特征在于,D中还包括:根据所述系统和模块内的时钟驱动源数量确定所述外部时钟源数量,在外部时钟源数量不能满足局部时钟树构建要求的情况下,采用所述时钟驱动源的管理方式通过分频、倍频获得相应的驱动时钟。
3.根据权利要求1所述的FPGA零动态功耗设计方法,其特征在于,若所述采用时钟驱动源的管理方式通过分频、倍频获得相应的驱动时钟仍不能满足构建要求,则合并同工作模式下频率相近的功能逻辑。
4.根据权利要求1所述的FPGA零动态功耗设计方法,其特征在于,所述“工作态”为所述功能逻辑实施数据处理的工作状态,是所述系统的最大工作模式;所述“停止态”是所述功能逻辑因没有时钟驱动源工作而处于的静态工作模式,无动态功耗;所述“悬挂态”是所述功能逻辑转入所述“工作态”或所述“停止态”的判断状态,在所述“悬挂态”下,所述系统处于最大工作模式、最大功耗条件。
5.根据权利要求1所述的FPGA零动态功耗设计方法,其特征在于,C中所述模块内的功能逻辑包括与所述时钟管理逻辑连接的: 接口维护逻辑,用以相应外部数据通讯; 接口控制逻辑,用以驱动外部通讯链路; 信息加工逻辑,用以信息加工、信息流控制; 系统响应逻辑,用以设备和系统的互联; 通讯逻辑,用以模块间的通讯; 跨时钟域逻辑,用以实现跨时钟域的信息传递。
【文档编号】G06F1/32GK103926996SQ201410191541
【公开日】2014年7月16日 申请日期:2014年5月8日 优先权日:2014年5月8日
【发明者】陈晓强 申请人:上海航天电子通讯设备研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1