文献标识码: A
DOI:10.16157/j.issn.0258-7998.181522
中文引用格式: 詹瑞典,杨家昌. 基于动态频率的芯片面积功耗优化设计[J].电子技术应用,2019,45(1):35-38.
英文引用格式: Zhan Ruidian,Yang Jiachang. Area and power consumption optimization based on dynamic frequency[J]. Application of Electronic Technique,2019,45(1):35-38.
0 引言
随着消费类电子产品、网络产品等市场的快速发展,低成本、高速、低功耗和多功能的嵌入式系统的需求给集成电路设计行业带来了更大的挑战,实现更多复杂功能的单芯片集成度越来越高,同时单芯片功耗、成本也随之增长。目前,芯片的面积和功耗问题制约着芯片性能进一步提高,面积优化、低功耗设计在现代芯片设计中越发重要,频率、功耗、面积(PPA)指标已经是集成电路设计的重要指标之一[1],通常在流片之前设计人员借助EDA工具对芯片的面积和功耗做一次精确的估算,芯片的面积及功耗是评估是否满足设计要求的重要参数之一。
集成电路设计按照设计抽象层次可分为系统算法级、寄存器传输级、逻辑电路级和晶体管级。在超深亚微米工艺下的集成电路设计中,针对面积优化和低功耗设计,从晶体管级到系统算法级各层次都有相关方面的研究,抽象层次越高其优化效果越明显。文献[2]详细讲述数字集成电路在系统级、寄存器级、晶体管级等各个层次目前主流的低功耗设计方法。其中,系统算法级主要采取的是软硬件协同设计、功耗管理等方法降低系统级功耗。寄存器传输级主要采用编码技巧、门控时钟等技术来减低信号跳变的次数。逻辑电路级和晶体管级主要是从逻辑表达式设计、先进的制造工艺等方法实现低功耗设计。目前减少芯片面积主要采用新的工艺、逻辑电路设计等方法来达到目标,文献[3]从进位选择器逻辑电路设计缩小芯片面积。本文基于一款成功流片的SoC芯片项目,从系统级优化面积和低功耗设计。
1 功耗、面积问题分析
芯片的功耗主要有静态功耗和动态功耗[3],计算门级SoC功耗的估算为式(1):
静态功耗(Cell Leakage Power)主要是由CMOS电路结构导致的漏电流功耗和旁置电路功耗。漏电流功耗可以从工艺库中查找对应的功耗,项目一旦完成设计,静态功耗PLeakageTotal基本就能计算出来。相对于动态功耗,静态功耗对集成电路设计影响不大[5],可以忽略不计,一般低功耗设计基本都是针对动态功耗。
动态功耗主要由短路电流(Cell Internal Power)和开关电容(Net Switching Power)组成。PSwitching是单元门器件输出端i负载电容充放电的功耗,TR(i)为线i的信号跳变率,即单位时间内信号由低电平到高电平、由高电平到低电平的跳变次数;CLoad(i)为门器件输出端i的线载电容。
PInternal是由单元门器件电容充放电、P晶体管和N晶体管在关闭和打开过程中短路形成的功耗。TR(z)表示器件输出端的信号跳变率。从式(3)和式(4)可以看出,动态功耗与信号的跳变、电容有直接关系,而工作频率直接影响信号的跳变以及电容的充放电,可见,工作频率与PSwitching、PInternal是强相关关系。
芯片的面积由组合逻辑面积(Combinational Area)、缓冲器和反相器面积(Buf/Inv Area)、非组合逻辑面积(Noncombinational Area)等面积组成。在超深亚微米工艺条件下,逻辑组合电路利用半导体开关元件导通、截止的工作特性实现逻辑运算。利用门电路在不同频率下的开关工作原理,调节时钟信号减少面积,如优化逻辑通路不同的时间延迟,合理规划不同触发器件的不同延迟,从而实现面积优化[6]。
面积的大小关系到芯片的成本,功耗的高低关系到芯片的性能。在符合功能设计要求情况下,面积越小,成本越低,功耗越低,性能越稳定。衡量面积与功耗是一种常见的手段,本文针对已经完成设计的项目,保持其性能不变,重点研究如何通过动态频率进一步综合优化面积和降低功耗。
2 动态频率闭环设计
对于系统级芯片设计中,根据系统设计的具体功能要求,一般就基本确认芯片的工艺、运行工作频率等参数要求范围;其次根据项目设计需求设计约束条件,基于约束条件在EDA工具进行仿真验证;最后通过精确的功耗和面积估算完成设计,设计流程如图1所示。其中,工程师只对设计值作出规定的响应,没有通过多次仿真结果动态调节工作频率,大多都是靠工程师的经验来设计,通过经验值给定大概工作频率,按照图1的设计流程通过EDA工具再一次进行精确的仿真并实现设计。图1所示的设计流程图可以认为是开环设计。该设计优点是工作流程简单,但最优频率选择精度不高,自动纠偏的能力较弱,对于经验不足的工程师,存在偏高功耗和面积的风险。
由式(1)可知,各节点的信号跳变率决定着芯片功耗,信号的跳变率由时钟源决定,根据上述分析芯片面积与工作频率直接相关。本文不更改原有的项目设计,在原有开环设计流程(图1)中,建立反馈和训练通道,动态频率为调节参数,实现动态频率闭环设计(如图2所示)。动态频率闭环设计通过多组工作频率下对应的功耗和面积数据进行反馈和训练,建立工作频率、功耗、面积的数学模型,综合考虑面积、功耗两个重要指标,计算出最优的工作频率实现优化面积和降低功耗设计。
动态频率闭环设计流程如图3所示,主要步骤如下:
(1)项目设计要求。根据项目功能设计要求,编写时序等约束条件,并确认目标频率的有效范围。
(2)实验仿真。编写脚本,给定频率初始值,运用EDA工具综合,并给出Timing、Area、Power的报告。
(3)数据记录。记录多组不同的工作频率下,芯片面积、功耗等相关参数。
(4)数据筛选。保持功能不变,筛选所有满足约束条件的芯片面积和芯片功耗具体参数。
(5)建立模型。根据记录的数据,分别建立面积与频率、功耗与频率数学模型。
(6)求最优解。综合两组数学模型,并求出工作频率的最优解。
基于动态频率闭环设计,相对于开环设计,动态功率闭环设计精度高,选择最优的工作频率实现面积优化和降低功耗;其次适应性强,闭环设计可以适应于不同的项目中,无需具备丰富经验的工程师,有效地减少项目试错成本,提高项目设计效率。本文基于一款已经成功流片0.11 μm工艺的SoC芯片,项目设计工作频率为50 MHz,实际功能需求最低功耗为36 MHz,运用本方法在这一款芯片上进行进一步的优化面积和降低功耗设计。
3 实验仿真
根据动态功耗闭环设计,筛选通过约束条件的芯片面积和芯片功耗的数据,通过曲线拟合分别建立面积&时钟周期和功耗&时钟周期的数学模型,如图4、图5所示。
其中,由图4建立芯片面积与时钟周期的数学模型如式(5)所示:
通过计算可知,时钟周期t=22 ms,工作频率f=1/t=45 MHz是本设计的最优解。表1和表2分别为工作频率45 MHz和50 MHz下仿真测试记录的芯片面积和芯片功耗数据。
根据表1、表2可以看出,工作频率45 MHz下的芯片总体相对比原有工作频率50 MHz下的芯片面积缩小约0.59%,其中组合逻辑面积缩小1.17%,缓冲器和反相器面积缩小1.36%。芯片的功耗相对比面积优化幅度更加明显,工作频率45 MHz下的芯片总体功耗相对比原有工作频率50 MHz下的芯片功耗减少9.01%,其中短路电流功耗和开关电容功耗分别减少9.09%、9.10%。
4 结论
保持原设计不变,本文基于系统级动态功耗闭环设计,进一步减少面积和降低功耗,通过数据收集及仿真分析表明:本文提出的优化方法设计可以取得较好的优化面积和功耗,在实际工程中具有一定的参考价值。
参考文献
[1] ROY K,PRASAD S.Low-power CMOS VLSI circuit design[M].Wiley,2000.
[2] 王冠军,周勇,赵莹,等.VLSI电路低功耗设计研究进展[J].微电子学,2011,41(2):279-284.
[3] CHOURASIA A.Area optimized adder design using carry selection logic in power-constrained environments[J].International Journal of Engineering Innovation & Research,2017,6(1):48-50.
[4] MACII E,ZAFALON R.Low-power EDA technologies:state-of-the-art and beyond[C].2006 Advanced Signal Processing,Circuit and System Design Techniques for Communications.IEEE,2006:3-43.
[5] 常晓涛,张志敏,王鑫.基于时钟树功耗预提取的SoC功耗估计方法[J].计算机工程,2006,32(1):234-236.
[6] NEVES J L,FRIEDMAN E G.Optimal clock skew scheduling tolerant to process variations[C].33rd Design Automation Conference Proceedings,1996.
作者信息:
詹瑞典1,2,杨家昌1,2
(1.佛山芯珠微电子有限公司,广东 佛山528225;2.广东工业大学 自动化学院,广东 广州510006)