论文部分内容阅读
CMOS电路的动态功耗大约占全部功耗的70%~90%。利用低功耗优化技术减少电路节点的无用状态翻转可以显著的降低动态功耗。针对当前凭经验机械套用低功耗优化技术的现状,本论文提出了一种基于典型功能仿真和代码解析以及建立可扩充低功耗优化技术库的寄存器传输级(RTL)功耗优化方法,并使用软件编程完成两个工具来实现这一方法。使用Verilog PLI(programming language interface)编程实现电路节点状态翻转信息获取工具(verilog_lp)。使用Perl(practical extraction and reporting language)语言编程实现RTL源代码功耗优化工具(optRTL.pl)。功耗优化工具解析RTL源代码、生成逻辑表达式的逻辑树并且找出适合于逻辑重组、预计算和操作隔离三种低功耗优化技术的电路结构;同时工具参照电路节点状态翻转信息给出功耗优化指导信息。一个基于我们的RTL低功耗优化方法的设计/优化流程被推荐并使用对实际设计进行测试。测试结果表明优化程序可以排除掉大多数在电路当前工作状态下不适合优化的对象。参照优化指导信息可以准确地判断出最终的优化对象以及适用的优化技术。实验结果显示使用操作隔离和预计算技术可以明显的降低包含算术/比较操作电路的功耗。优化前后电路总的节约功耗占优化前优化对象功耗的17%~30%。在优化电路的某些特定工作状态中,这一比例甚至达到60%。实验结果也显示在功耗优化的同时电路的性能和面积开始恶化。所以在做低功耗优化时需要在功耗、面积以及性能三个方面做出权衡。测试结果也证明工具软件可以有效的指导设计者合理的使用低功耗优化技术、写出具有低功耗特性的RTL代码并且减少低功耗设计流程的迭代。