当前位置: 首页 > 专利查询>宁波大学专利>正文

一种片上系统的启发式多电压分配方法技术方案

技术编号:11832391 阅读:97 留言:0更新日期:2015-08-05 18:14
本发明专利技术公开了一种片上系统的启发式多电压分配方法,优点在于提出的方法基于启发式算法,兼顾了求解结果的质量和求解速度。其首先将所有电路宏模块的工作电压置为低电压,然后根据电路宏模块的扇入/扇出延迟裕量信息,绘制扇入/扇出延迟裕量曲线,通过搜寻曲线中的波峰和波谷,在算法迭代中选定若干电路宏模块升高其工作电压,当片上系统的时序约束得到满足后,算法终止并输出当前多电压分配结果。相比于传统的整数线性规划多电压分配方法,本发明专利技术方法以较小的求解质量代价,能有效加快多电压分配速度,丰富了片上系统多电压分配的自动设计优化方法,又降低了设计成本。通过实例验证,本发明专利技术方法得到的CPU求解时间得到有效降低。

【技术实现步骤摘要】

本专利技术涉及一种片上系统的自动化设计方法,具体是一种片上系统的启发式多电 压分配方法。
技术介绍
片上系统(system-on-a-chip,SoC)由多个电路宏模块组成,电路宏模块之间采 用互连线连接。单电压技术要求所有电路宏模块在该电压下均能正常工作,但其中某些电 路宏模块是非关键模块,即位于非关键路径或运行频率较低。因此多电压技术将其中一部 分非关键模块的工作电压降低,在确保SoC满足性能约束的前提下有效降低功耗,成为当 前低功耗SoC设计的主流方法。 多电压分配即为每个电路宏模块分配一个工作电压,使得时序约束满足的前提下 尽可能优化功耗。同时,多电压分配作为多电压布局规划协同优化的关键步骤,求解质量和 速度均是考量的重要因素。现有的研宄一般采用确定性求解方法,例如整数线性规划来完 成多电压分配,虽然求解质量得到保证,但往往耗费了较多CPU时间,因此求解速度偏慢。 特别是随着SoC规模增大,整数线性规划需要更多的约束,造成求解时间非线性上升。
技术实现思路
本专利技术所要解决的技术问题是:针对现有技术的不足,提供一种片上系统的多电 压分配方法,该方法基于给定的电路宏模块的"延迟-功耗"信息,首先将所有电路宏模块 的工作电压置为低电压,此时的时序约束肯定不满足,需要在接下来的算法迭代中选取若 干电路宏模块升高其工作电压,直到时序约束满足后输出当前解。为了确定哪些电路宏模 块需要升高工作电压,通过计算电路宏模块的扇入/扇出延迟裕量,并将电路宏模块按照 拓扑排序绘制扇入/扇出延迟裕量曲线。在曲线中搜寻波峰和波谷,波峰位置对应的电路 宏模块表明其为非关键模块的可能性大,因此锁定其当前电压状态,不允许升高工作电压; 而对于波谷对应的电路宏模块,其为关键模块的可能性大,因此被保存进队列进行处理。从 队列中取出电路宏模块处理时,首先搜寻经过该电路宏模块的关键路径,保存关键路径上 所有的电路宏模块,若其工作在低电压且不处于锁定状态,则按照成本函数在这些电路宏 模块中选取需要升高电压的电路宏模块,并置其工作电压为高电压。为了避免时序约束满 足后仍有电路宏模块升高电压造成功耗损失,定义标志位判定当前已满足时序约束的互连 线数目和总的互连线数目的比值。在时序约束接近满足时,每次迭代仅取出一个电路宏模 块进行处理,否则每次迭代取出存进队列中的所有电路宏模块进行处理。 本专利技术解决上述技术问题所采用的技术方案为:一种片上系统的启发式多电压分 配方法,包括以下步骤: 步骤①:片上系统由多个电路宏模块组成,电路宏模块之间采用互连线进行连接, 互连线数目为NwiMS,定义WRsladt (u,v)是连接电路宏模块sbu和sbv的互连线的线延迟裕量, 计算公式如下: WRslack (u,v) =trv-duv-tau (1) 其中trv为电路宏模块sbv的要求到达时间,duv为连接电路宏模块sbu和sb^勺 互连线的延迟,tau为电路宏模块sbu的到达时间;计算机读入和分析用户提供的片上系统 布局信息、时延约束信息、电路宏模块的坐标信息及工作在高电压和低电压时的"时延-功 耗"信息;定义Flag是真假标志位,当Flag=FALSE表示假,当Flag=TRUE表示真,令 Flag=FALSE; 步骤②:定义片上系统中所包含的电路宏模块集合为B,对于每一个电路宏模块 sbiGB,令其工作电压为低电压; 步骤③:对片上系统进行静态时序分析,计算所有互连线的线延迟裕量,并计算线 延迟裕量大于等于0的互连线数目Nlegal; 步骤④:定义电路宏模块sb"^ 1个扇入电路宏模块,即{sbml,sbm2,L,sbml},则电 路宏模块扇入延迟裕量计算公式如下:【主权项】1. ,其特征在于包括以下步骤: 步骤①:片上系统由多个电路宏模块组成,电路宏模块之间采用互连线进行连接,互连 线数目为Nwiras,定义WRslad5(u,V)是连接电路宏模块sbu和互连线的线延迟裕量,计算 公式如下: WRsiack(u, v) = trv-duv-tau (I) 其中trv为电路宏模块sb v的要求到达时间,duv为连接电路宏模块sb u和sb ¥的互连线 的延迟,tau为电路宏模块sb u的到达时间;计算机读入和分析用户提供的片上系统布局信 息、时延约束信息、电路宏模块的坐标信息及工作在高电压和低电压时的"时延-功耗"信 息;定义Flag是真假标志位,当Flag = FALSE表示假,当Flag = TRUE表示真,令Flag = FALSE ; 步骤②:定义片上系统中所包含的电路宏模块集合为B,对于每一个电路宏模块 SbiG B,令其工作电压为低电压; 步骤③:对片上系统进行静态时序分析,计算所有互连线的线延迟裕量,并计算线延迟 裕量大于等于〇的互连线数目Nlegal; 步骤④:定义电路宏模块81\1有1个扇入电路宏模块,即{sb ml,sbm2,…,sbml},则电路 宏模块8\的扇入延迟裕量计算公式如下:定义电路宏模块81^有1^个扇出电路宏模块,即{sbnl,sbn2,…,sb nk},则电路宏模块 扇出延迟裕量计算公式如下:分别计算电路宏模块的扇入/扇出延迟裕量值,将电路宏模块按照拓扑排序,分别绘 制扇入/扇出延迟裕量曲线; 步骤⑤:在扇入/扇出延迟裕量曲线中寻找曲线的波峰和波谷,并分别将波峰和波谷 所对应的电路宏模块存进集合P和Q ; 步骤⑥:遍历所有电路宏模块,对于每一个电路宏模块Sbi,如果Sbi e P,令Sb i为锁定 状态;如果SbiE Q,且不处于锁定状态,将电路宏模块存入队列U ; 步骤⑦:计算线延迟裕量大于等于O的互连线占总互连线的比率ratio = Nlegal/Nwiras; 定义PER G (〇, 1)是预定义的浮点小数,如果ratio>PER,则令Flag = TRUE ;如果Flag = TRUE,则从队列U中选取唯一一个电路宏模块进行处理;如果Flag = FALSE,则将队列U中 所有电路宏模块进行处理;对于需要处理的电路宏模块Sbi,首先搜索经过需要处理的电路 宏模块Sb i的关键路径,对于关键路径上的所有电路宏模块,如果其当前工作在低电压,且 不处于锁定状态,按照如下公式计算成本:其中A slack和Apower分别表示需要处理的电路宏模块工作电压从低电压到 高电压时所引起的延迟裕量增量和功耗增量,weight e (0, 1)表示用户定义的浮点小数, 用来反映需要处理的电路宏模块权重;成本最小的电路宏模块被选取,令其工作在高 电压; 步骤⑧:如果当前时序约束已满足,则算法终止,输出当前电压分配结果;否则重复步 骤③~⑧。【专利摘要】本专利技术公开了,优点在于提出的方法基于启发式算法,兼顾了求解结果的质量和求解速度。其首先将所有电路宏模块的工作电压置为低电压,然后根据电路宏模块的扇入/扇出延迟裕量信息,绘制扇入/扇出延迟裕量曲线,通过搜寻曲线中的波峰和波谷,在算法迭代中选定若干电路宏模块升高其工作电压,当片上系统的时序约束得到满足后,算法终止并输出当前多电压分配结果。相比于传统的整数线性规划多电压分配方法,本专利技术方法以较小的求解质量代价,能有效加快多电压分本文档来自技高网...
一种<a href="http://www.xjishu.com/zhuanli/55/CN104820620.html" title="一种片上系统的启发式多电压分配方法原文来自X技术">片上系统的启发式多电压分配方法</a>

【技术保护点】
一种片上系统的启发式多电压分配方法,其特征在于包括以下步骤:步骤①:片上系统由多个电路宏模块组成,电路宏模块之间采用互连线进行连接,互连线数目为Nwires,定义WRslack(u,v)是连接电路宏模块sbu和sbv的互连线的线延迟裕量,计算公式如下:WRslack(u,v)=trv‑duv‑tau   (1)其中trv为电路宏模块sbv的要求到达时间,duv为连接电路宏模块sbu和sbv的互连线的延迟,tau为电路宏模块sbu的到达时间;计算机读入和分析用户提供的片上系统布局信息、时延约束信息、电路宏模块的坐标信息及工作在高电压和低电压时的“时延‑功耗”信息;定义Flag是真假标志位,当Flag=FALSE表示假,当Flag=TRUE表示真,令Flag=FALSE;步骤②:定义片上系统中所包含的电路宏模块集合为B,对于每一个电路宏模块sbi∈B,令其工作电压为低电压;步骤③:对片上系统进行静态时序分析,计算所有互连线的线延迟裕量,并计算线延迟裕量大于等于0的互连线数目Nlegal;步骤④:定义电路宏模块sbm有l个扇入电路宏模块,即{sbm1,sbm2,…,sbml},则电路宏模块sbm的扇入延迟裕量计算公式如下:FINslack(sbm)=Σi=1i=lWRslack(sbmi,sbm)---(2)]]>定义电路宏模块sbn有k个扇出电路宏模块,即{sbn1,sbn2,…,sbnk},则电路宏模块sbn的扇出延迟裕量计算公式如下:FOUTslack(sbn)=Σi=1i=kWRslack(sbn,sbni)---(3)]]>分别计算电路宏模块的扇入/扇出延迟裕量值,将电路宏模块按照拓扑排序,分别绘制扇入/扇出延迟裕量曲线;步骤⑤:在扇入/扇出延迟裕量曲线中寻找曲线的波峰和波谷,并分别将波峰和波谷所对应的电路宏模块存进集合P和Q;步骤⑥:遍历所有电路宏模块,对于每一个电路宏模块sbi,如果sbi∈P,令sbi为锁定状态;如果sbi∈Q,且不处于锁定状态,将电路宏模块存入队列U;步骤⑦:计算线延迟裕量大于等于0的互连线占总互连线的比率ratio=Nlegal/Nwires;定义PER∈(0,1)是预定义的浮点小数,如果ratio>PER,则令Flag=TRUE;如果Flag=TRUE,则从队列U中选取唯一一个电路宏模块进行处理;如果Flag=FALSE,则将队列U中所有电路宏模块进行处理;对于需要处理的电路宏模块sbi,首先搜索经过需要处理的电路宏模块sbi的关键路径,对于关键路径上的所有电路宏模块,如果其当前工作在低电压,且不处于锁定状态,按照如下公式计算成本:costselect=1ΔslackΔpower×weight---(4)]]>其中Δslack和Δpower分别表示需要处理的电路宏模块sbi的工作电压从低电压到高电压时所引起的延迟裕量增量和功耗增量,weight∈(0,1)表示用户定义的浮点小数,用来反映需要处理的电路宏模块sbi的权重;成本最小的电路宏模块被选取,令其工作在高电压;步骤⑧:如果当前时序约束已满足,则算法终止,输出当前电压分配结果;否则重复步骤③~⑧。...

【技术特征摘要】

【专利技术属性】
技术研发人员:储著飞夏银水王伦耀王健
申请(专利权)人:宁波大学
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1