论文部分内容阅读
为了缩小设计能力与制造能力之间的鸿沟,将算法级行为描述转换到寄存器传输级结构描述的高层次综合技术近十年来成为EDA领域内的研究热点之一。高层次综合将设计抽象层次从寄存器传输级提升到算法级,对提高设计效率、降低设计成本有非常重要的意义。生成高质量的设计和实现方案是高层次综合实用化的关键,也是目前研究要解决的主要问题。
在高层次综合流程中,调度和硬件资源分配是两个最为关键的子任务,综合结果的优劣直接影响到设计的面积、速度、功耗等性能指标。高层次综合研究中的大部分工作都是围绕这两个问题展开。本文重点研究考虑多位宽和多电压的调度、资源分配等问题。多位宽综合以降低设计面积为目标,多电压综合以降低设计功耗为目标。
准确的下限计算和有效的经验算法对于NP难的调度问题非常重要。本文为多位宽时间约束调度提出了功能单元位宽总和的两种下限计算方法,并提出了考虑功能单元之间连线延迟的多位宽调度算法。实验数据表明,两种下限非常接近最优解,与最优解的差距在10%以内;多位宽调度算法有效的降低了功能单元的面积。本文还基于实验数据总结了操作运行时间与数据相关约束对下限准确度的影响。
多位宽寄存器分配的目标是最小化寄存器位宽总和,也是NP难问题。本文将多位宽寄存器分配问题转换到带权interval图染色问题,并提出了新的经验算法和下限计算。实验结果表明,寄存器分配算法和下限之间仅有0.05%的差距,这说明两个算法都非常接近最优解。与以往研究提出的分配算法相比,本文的分配算法更有效的降低了寄存器面积。本文将多位宽调度和多位宽寄存器分配算法应用到MCAS高层次综合系统,提出了多位宽优化综合流程,使得设计的面积和连线长度都得到了较好的优化。
多电压高层次综合基于两种不同的前提:功能单元电压的动态配置和静态配置。本文为两种配置下的多电压调度提出了整数线性规划描述,并为电压静态配置下的时间约束和资源约束调度问题提出了有效的经验算法。在实验部分,结合以往研究提出的电压动态配置调度算法,从高层次综合的角度对比了两种电压配置方式对设计功耗的不同影响,并总结了两者比值随时间约束和资源约束的变化规律。
功耗除了与工作电压的平方成正比外,还与硬件资源的翻转次数成正比。本文分别为电压静态配置和电压动态配置提出了以最小代价网络流为基础的多电压功能单元分配算法。可以证明,两个算法在得到最多的低电压操作的同时,可以保证功能单元的翻转次数总和最小。实验结果表明,与没有考虑翻转次数优化的多电压功能单元分配方案相比,本文的两个算法使得翻转次数总和分别平均降低了26%和28%。