本发明专利技术涉及一种搜索FPGA软件可运行到的最高频率的方法,包括:在满足第一条件的情况下改变FPGA软件的时钟周期约束,基于改变后的时钟周期进入迭代运行;在迭代运行中,在满足第二条件的情况下,根据FPGA软件的当前时钟余量及其对应的时钟周期,计算出第二条件频率并将其作为FPGA软件可运行到的最高频率;其中,时钟余量为时钟周期约束与实际布局布线后时钟周期的差值,当其为正/负时表示满足/不满足时序,第一条件与FPGA软件的当前时钟余量的正负、预先设定的最大时钟余量和/或时钟余量容限有关,第二条件与FPGA软件的当前时钟余量的正负、时钟余量容限、或预先设定的最大迭代次数有关。本发明专利技术基于不同的优化策略进行迭代搜索得到更优的最高频率解集合。
【技术实现步骤摘要】
—种搜索FPGA软件可运行到的最高频率的方法
本专利技术涉及FPGA软件流程,尤其涉及一种搜索FPGA软件可运行到的最高频率的方法。
技术介绍
FPGA软件所能跑到的最高频率是衡量其性能的一个重要指标,它与用户设置的初始时钟约束有很大关系,不同的初始时钟约束可能导致最终达到的最高频率有很大不同。本专利技术提出了几种FPGA软件流程可达最高频率的搜索方法与评价指标,基于不同的优化策略进行迭代搜索,从而得到更优的最高频率解集合。
技术实现思路
因此,本专利技术的目的是提供一种能够实现上述优点的搜索FPGA软件可运行到的最高频率的方法。 本专利技术提供了一种搜索FPGA软件可运行到的最高频率的方法,包括:在满足第一条件的情况下,改变FPGA软件时钟周期约束,基于改变后的时钟周期进入迭代运行;在所述迭代运行中,在满足第二条件的情况下,根据FPGA软件的当前时钟余量及其对应的时钟周期,计算出第二条件频率并将其作为FPGA软件可运行到的最高频率;其中,所述时钟余量为FPGA软件约束文件要求的时钟周期与实际布局布线后时钟周期的差值,所述第一条件与FPGA软件的当前时钟余量的正负、预先设定的最大时钟余量和/或时钟余量容限有关,所述第二条件与FPGA软件的当前时钟余量的正负、所述时钟余量容限、或者预先设定的最大迭代次数有关。 优选地,所述第一条件为所述当前时钟余量为负且其绝对值大于最大时钟余量,所述改变为增大时钟周期约束(降低期望频率);或者所述第一条件为所述当前时钟余量为负并且其绝对值大于最大时钟容限且小于最大时钟余量,所述改变为增大时钟周期约束(降低期望频率);或者所述第一条件为所述当前时钟余量为正且其绝对值大于最大时钟余量,所述改变为减小时钟周期约束(提高期望频率);或者所述第一条件为所述当前时钟余量为正并且大于最大时钟容限且小于最大时钟余量,所述改变为减小时钟周期约束(提高期望频率)。 优选地,所述第二条件为所述当前时钟余量为负并且其绝对值小于或等于时钟余量容限;或者所述第二条件为所述当前时钟余量为正并且小于或等于时钟余量容限;或者所述第二条件为FPGA软件迭代运行的次数达到所述最大迭代次数。 优选地,所述方法还包括:根据FPGA软件在所述迭代运行中的一个或多个时钟余量及其对应一个或多个时钟周期,计算出一个或多个第一条件频率:从所述第二条件频率和所述一个或多个第一条件频率中选取最大频率值并将其作为FPGA软件可运行到的最高频率。 所述方法还包括:基于预先设定的搜索步长,在以所述最大频率值为中心的预定区域中,进行正向区域搜索并且进行负向区域搜索,分别得到多个正向区域频率和多个负向区域频率,其中,所述预定区域与预先设定的搜索区间有关,所述正向区域搜索和所述负向区域搜索的步数与所述搜索区间和所述搜索步长相关并且被预先设定;从所述最大频率值、所述多个正向区域频率、和所述多个负向区域频率中选取最大频率值并将其作为FPGA软件可运行到的最高频率。 优选地,所述方法还包括--为FPGA软件设定初始时钟周期,根据所述初始时钟周期及其对应的时钟余量计算出FPGA软件运行的初始频率;其中,当所述最大频率值等于所述初始频率时,所述正向区域频率与所述第二条件频率之差的绝对值大于预先设定的频率容差;其中,当所述最大频率值大于所述初始频率时,所述负向区域频率与所述第二条件频率之差的绝对值大于预先设定的频率容差。 优选地,所述第一条件频率和所述第二条件频率为:1/ (FPGA软件当前运行的时钟周期-FPGA软件的当前时钟余量)。 优选地,所述最大时钟余量为预先设定的最大时钟余量比率与FPGA软件当前的时钟周期的乘积。 本专利技术提出了几种FPGA软件流程可达最高频率的搜索方法与评价指标,基于不同的优化策略进行迭代搜索,从而得到更优的最高频率解集合。 【附图说明】 下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。 图1是根据本专利技术实施例的FPGA软件可运行最高频率的搜索方法的流程图; 图2是根据本专利技术实施例的FPGA软件可运行最高频率的多次迭代搜索的示意图; 图3是根据本专利技术实施例的FPGA软件可运行最高频率的额外迭代搜索的流程图。 【具体实施方式】 图1是根据本专利技术实施例的FPGA软件可运行最高频率的搜索方法的流程图。 如图1所示,该方法共分为五个步骤,其中: 在步骤101,计算FPGA软件运行的初始频率FmaxO。具体地,可以基于初次布局布线后的时序结果,即运行一次后的时钟余量来计算FmaxO, FmaxO=I/ (初始时钟周期-布局布线后时钟余量); 在上式中,初始时钟周期可由用户自己设定,布局布线后的时钟余量为FPGA软件运行一次布局布线后与初始周期相差的时间。 在步骤102,计算FPGA软件运行在多次迭代过程中的频率。 具体地,基于多次迭代计算FPGA软件可运行到的最高频率Fmaxl,其中,迭代次数、最大时钟余量比率和时钟余量容限均可由用户指定,其中,最大时钟余量=最大时钟余量比率*时钟周期。例如,在默认的情况下,迭代次数可以设为20,最大时钟余量比率可以设为0.1,时钟余量容限可以设为O。 在迭代之初,用户可以设置初始时钟周期,并在FPGA软件以该初始时钟运行之后检查布局布线后的时序状态。如果FPGA软件运行一次后的时钟余量为正,则提高最高频率的数值;如果FPGA软件运行一次后的时钟余量为负,则降低最高频率的数值。对应于提高/降低的最高频率的数值,新的时钟周期将作为下一次迭代的时钟周期。迭代一直进行,直到当前迭代后得到的时钟余量满足预定条件,或者迭代达到用户预定的迭代次数之后,迭代停止。优选地,可以选取迭代停止时,即FPGA软件最后一次运行的时钟余量,将该时钟余量对应的频率值作为FPGA软件可运行的最高频率。 在步骤103,选取上一步骤中多次迭代中的多个时钟余量对应的多个频率值中的最大频率值,将该最大频率值作为FPGA软件可运行到的最高频率。 在步骤104,以上一步骤中的最高频率为中心进行额外迭代搜索,计算出FPGA软件在额外迭代搜索中的最高频率集合。 在步骤105,从步骤102的最高频率和步骤104的最高频率集合中选取最大值,将其作为FPGA软件可运行的最高频率。 应当注意,本实施例的多次迭代搜索仅仅是示例而不在于限制本专利技术。本领域技术人员应当理解,根据本专利技术的多次迭代搜索在实践中可以有许多变化,例如步骤103-105中的一个或多个可以省略或跳过。 图2是根据本专利技术实施例的FPGA软件可运行最高频率的多次迭代搜索的示意图。 如图2所示,多次迭代从状态sO开始,从状态s5退出;当然,多次迭代也可以在达到用户设定的迭代次数后在其中的某一个状态结束。具体地,sO为初始迭代状态;sl、s3为时钟余量为负时的迭代状态,即时序违规时的迭代状态;s2、s4为时钟余量为正时的迭代状态,即时序满足时的迭代状态;s5为退出迭代状态。 在初始状态sO,用户可设定初始时钟周期、最大时钟余量、时钟余量容限;另外,用户还可以设定迭代次数。在初始迭代状态sO,FPGA软件按照初始设定运行一次后,检查布局布线后的时序状态,得到初始时钟余量。 取决于初始时钟周期的本文档来自技高网...
【技术保护点】
一种搜索FPGA软件可运行到的最高频率的方法,包括: 在满足第一条件的情况下,改变FPGA软件的时钟周期约束,基于改变后的时钟周期进入迭代运行; 在所述迭代运行中,在满足第二条件的情况下,根据FPGA软件的当前时钟余量及其对应的时钟周期,计算出第二条件频率并将其作为FPGA软件可运行到的最高频率; 其中,所述时钟余量为所述时钟周期约束与实际布局布线后时钟周期的差值,当所述时钟余量为正或为负时分别表示满足时序或不满足时序,所述第一条件与FPGA软件的当前时钟余量的正负、预先设定的最大时钟余量和/或时钟余量容限有关,所述第二条件与FPGA软件的当前时钟余量的正负、所述时钟余量容限、或者预先设定的最大迭代次数有关。
【技术特征摘要】
1.一种搜索FPGA软件可运行到的最高频率的方法,包括: 在满足第一条件的情况下,改变FPGA软件的时钟周期约束,基于改变后的时钟周期进入迭代运行; 在所述迭代运行中,在满足第二条件的情况下,根据FPGA软件的当前时钟余量及其对应的时钟周期,计算出第二条件频率并将其作为FPGA软件可运行到的最高频率; 其中,所述时钟余量为所述时钟周期约束与实际布局布线后时钟周期的差值,当所述时钟余量为正或为负时分别表示满足时序或不满足时序,所述第一条件与FPGA软件的当前时钟余量的正负、预先设定的最大时钟余量和/或时钟余量容限有关,所述第二条件与FPGA软件的当前时钟余量的正负、所述时钟余量容限、或者预先设定的最大迭代次数有关。2.根据权利要求1所述的方法,其中: 所述第一条件为所述当前时钟余量为负且其绝对值大于最大时钟余量,所述改变FPGA软件的周期约束为增大时钟周期约束;或者 所述第一条件为所述当前时钟余量为负并且其绝对值大于最大时钟容限且小于最大时钟余量,所述改变FPGA软件时钟周期约束为增大时钟周期约束;或者 所述第一条件为所述当前时钟余量为正且其绝对值大于最大时钟余量,所述改变改变FPGA软件时钟周期约束为减小时钟周期约束;或者 所述第一条件为所述当前时钟余量为正并且大于最大时钟容限且小于最大时钟余量,所述改变FPGA软件时钟周期约束为减小时钟周期约束。3.根据权利要求1所述的方法,其中: 所述第二条件为所述当前时钟余量为负并且其绝对值小于或等于时钟余量容限;或者 所述第二条件为所述当前时钟余量为正并且小于或等于时钟余量容限;或者 所述第二条件为FPGA软...
【专利技术属性】
技术研发人员:李璇,樊平,刘明,
申请(专利权)人:京微雅格北京科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。