论文部分内容阅读
目前,随着集成电路规模的不断增大和工作频率的不断提高,功耗已经成为除面积和性能之外的主要设计目标。超大规模集成电路低功耗设计可以在不同的设计层次进行考虑,自下而上分可以分为:物理层、逻辑层、结构层、算法(行为)层和系统层。每个层次可以达到低功耗设计效果也完全不同,抽象层次越高表明能够越早进行低功耗设计,因此层次越高低功耗设计的效果就越明显。本文主要研究行为级的低功耗调度技术,是在多约束条件下,把工作在不同电压下的操作分成具体的时间段进行执行的过程。文中分析了三类基于不同约束条件下的多电压调度算法:基于资源约束的调度算法、基于时间约束的调度算法和基于时间和资源约束的调度算法。基于资源约束的调度算法尽量在最大化地利用低能耗资源和减少运行时间之间达到平衡,文中采用基于list-based的调度算法。基于时间约束的调度算法通过尽可能多地分配低电压操作来降低功耗,文中提出了三种不同的低功耗调度算法,它们分别具有较低的复杂性、较好的优化效果和较强的整体优化能力。基于时间和资源约束的调度算法在满足时间和资源约束的条件下,尽量在最大化地分配有限的低能耗资源和减少运行时间之间达到平衡。本文中提出了基于Gain大小搜索的时间和资源约束的调度算法,该算法具有较好的优化效果和较低的时间复杂度。由于多电压调度是NP-hard问题,本文还采用了一种基于模拟退火搜索的时间和资源约束的调度算法,该算法是一种启发式的搜索算法,通过与基于Gain大小搜索的调度算法的对比,数据表明两算法优化效果接近,但此算法具有较低的时间复杂性。本文采用或提出的算法中,基于资源约束的调度算法时间复杂度为O(nlog n),基于时间约束的调度算法中,第一个算法的时间复杂度为O(n),后两个为O(n~2),而基于时间和资源约束的调度算法中,基于gain搜索的调度算法时间复杂度为O(n~3 logn),基于模拟退火搜索的调度算法时间复杂度为O(n~2 logn)。