本发明专利技术涉及硬件设计自动化技术领域,具体涉及一种流水线划分、模块并行以及VFI分配优化的且面向ASIC硬件设计的C-to-RTL综合方法。对于硬件设计而言,流水线和并行的结构是提高硬件性能的两个最有效手段,同时在大规模ASIC设计中,VFI的设计可以大幅度降低功耗;而本发明专利技术的一种基于VFI优化的C-to-RTL综合方法,通过在C-to-RTL综合过程中,同时对流水线划分、模块并行及VFI分配进行优化;同时,相比于采用三个优化过程分步优化的方法,本发明专利技术的方法保证了全局的最优性。因此,本发明专利技术增强了C-to-RTL综合技术实用性以及适用范围,为硬件设计提供有力的技术支持。
【技术实现步骤摘要】
本专利技术涉及硬件设计自动化
,具体涉及一种流水线划分、模块并行以及VFI (Voltage-Frequency Islands,电压频率岛)分配优化的且面向ASIC硬件设计的C-to-RTL综合方法。
技术介绍
在集成电路界,ASIC(ApplicationSpecific Integrated Circui,专用集成电路)被认为是一种为专门目的而设计的集成电路。ASIC的特点是面向特定用户的需求,ASIC在批量生产时与通用集成电路相比具有体积更小、功耗更低、可靠性提高、性能提高、保密性增强、成本降低等优点。ASIC硬件设计,C-to-RTL综合是非常有优势的;C_to-RTL综合是指将算法描述层的C程序直接转换为晶体管层(Register transfer level)的HDL (硬件描述语言)程序,属于硬件设计自动化中高层次综合的一种。通过C-to-RTL综合技术可以快速自动的完成传统需要人工耗费大量时间的HDL设计工作。总体来讲,C-to-RTL综合有如下优势(I)、缩短了硬件设计时间、简化了设计难度,这使得它成为解决高速增长的硬件设计需求与低速增长的设计能力之间矛盾的有效途径;(2)、拉近了软件设计和硬件设计的距离,使得软硬件协同设计得到支持。鉴于上述优势,C-to-RTL综合无论在学术界还是在工业界都得到了广泛的关注。然而现存的C-to-RTL综合技术依然存在着很多没有解决的问题,例如(I)、在综合大规模C程序时,综合结果的质量很不理想;(2)、用户无法对综合结果的性能(吞吐率、面积以及功耗等)做出优化设置以及给定约束条件;(3)、在系统层面对功耗的优化力度很不理想,尤其体现在面向ASIC的设计中;(4)、该技术目前没有对VFI设计的支持。造成这些问题的根本原因主要在于高层次或系统级的硬件架构的设计与优化并没有被考虑以及C语言无法表达硬件中的时序、并行、架构等。综上所述,一种能够对流水线划分、模块并行以及VFI分配优化的C-to-RTL综合方法是亟待提供的。
技术实现思路
(一)要解决的技术问题本专利技术的目的在于提供一种流水线划分、模块并行及VFI分配优化的C-to-RTL综合方法,用于在面向ASIC设计的C-to-RTL综合过程中,同时对流水线划分、模块并行及VFI分配进行优化,从而增强C-to-RTL综合技术实用性以及适用范围,为硬件设计提供有力的技术支持。(二)技术方案本专利技术技术方案如下一种,包括步骤S1.分别综合C程序中每一个待综合函数并获取综合后函数参数;S2.设定优化目标及约束条件;S3.结合所述函数参数以及优化目标和约束条件,确定流水线模块划分、模块并行程度以及VFI分配;S4.综合流水线划分后得到模块并根据所述模块并行程度进行模块并行;S5.结合所述VFI分配将并行的各个模块连接为整体系统。优选的,所述待综合函数的连接拓扑关系为直线型。优选的,所述函数参数包括函数运算周期、运算数据量、面积功耗以及其支持的最高频率。优选的,所述优化目标包括吞吐率最大化、面积最小化以及功耗最小化;所述约束条件包括吞吐率约束、面积约束以及功耗约束。优选的,所述步骤S3中,根据混合整数线性规划方法,结合所述函数参数以及优化目标和约束条件,确定流水线模块划分、模块并行程度以及VFI分配。优选的,所述步骤S3包括:S311.根据所述函数参数计算流水线划分后所有可能得到的模块的参数;S312.根据所述模块的参数以及优化目标和约束条件构建混合整数线性规划模型;S313.求解所述混合整数线性规划模型得到一维非负整数数组以及二维布尔值数组;所述一维非负整数数组第η位为零表示将第η个函数以及与其连接的第η+1个函数划分到同一模块;第η位非零表示第η个函数所在模块的并行度;所述二维布尔值数组结合所述述一维非负整数数组表示各模块对应的电压频率值。优选的,所述步骤S3中,根据启发式算法,结合所述函数参数以及优化目标和约束条件,确定流水线模块划分、模块并行程度以及VFI分配。优选的,所述步骤S3包括:S321.根据所述函数参数,以面积最小化或功耗最小化为目标建立拓扑图并在所述拓扑图中加入开始节点以及结束节点;其中,节点表示在满足所述吞吐率约束的最小并行度下,所有可能划分的模块的所有可能电压频率值,边的权值表示其连接的源节点的面积以及功耗;S322.计算每个节点到所述结束节点的最短距离;S323.以每个所述最短距离为估计代价,结合A-Star算法,以开始节点到结束节点之间路径最短为目标求解;所述最短路径满足吞吐率约束、面积约束以及功耗约束。优选的,所述步骤S321为:根据所述函数参数,以吞吐率最大化为目标建立拓扑图并在所述拓扑图中加入开始节点以及结束节点;其中,节点表示在所有可能的并行度下,所有可能划分的模块的所有可能电压频率值,边的权值表示其连接的源节点的面积以及功耗。优选是,所述步骤S323中对A-Star算法做了如下改进:改进节点从OPEN点集到CLOED点集的转移规则:将最优的且满足约束条件的节点从OPEN点集中转移到CLOED点集中;如没有满足约束条件的节点,则回溯修改当前路径的上一节点。(三)有益效果对于硬件设计而言,流水线和并行的结构是提高硬件性能的两个最有效手段,同时在大规模ASIC设计中,VFI的设计可以大幅度降低功耗;而本专利技术的一种,通过在C-to-RTL综合过程中,同时对流水线划分、模块并行及VFI分配进行优化;同时,相比于采用三个优化过程分步优化的方法,本专利技术的方法保证了全局的最优性。因此,本专利技术增强了 C-to-RTL综合技术实用性以及适用范围,为硬件设计提供有力的技术支持。附图说明图1是本专利技术的一种流程示意图;图2是图1中根据 启发式算法求解最优化问题的拓扑图例;图3是图1中根据启发式算法计算求解最优化问题的流程示意图;图4是图1中根据启发式算法中OPEN点集中节点移入CLOSED点集的子函数流程示意图。具体实施例方式下面结合附图和实施例,对专利技术的具体实施方式做进一步描述。以下实施例仅用于说明本专利技术,但不用来限制本专利技术的范围。流程图如图1所示的一种流水线划分及模块并行优化的C-to-RTL综合方法,主要包括以下步骤:S1.采用现有C-to-RTL工具,预先对输入的C程序中每一个待综合函数进行综合,然后提取或者计算综合后函数参数;其中,C程序要求由N函数组成,这些所述待综合函数的连接拓扑关系为直线型,这个要求可以通过修改C程序的编程风格实现。其中,所述函数参数包括函数运算周期、运算数据量、面积、功耗以及支持的最高频率;具体如表I所示。所述待综合函数经过C-to-RTL工具综合后,前端仿真得到运算周期、运算数据量信息,ASIC逻辑综合得到面积信息,后端仿真后使用功耗分析工具得到功耗信息,而支持的最高频率来自逻辑综合报告。表I第η个函数Fn的参数本文档来自技高网...
【技术保护点】
一种基于VFI优化的C?to?RTL综合方法,其特征在于,包括步骤:S1.分别综合C程序中每一个待综合函数并获取综合后函数参数;S2.设定优化目标及约束条件;S3.结合所述函数参数以及优化目标和约束条件,确定流水线模块划分、模块并行程度以及VFI分配;S4.综合流水线划分后得到模块并根据所述模块并行程度进行模块并行;S5.结合所述VFI分配将并行的各个模块连接为整体系统。
【技术特征摘要】
1.一种基于VFI优化的C-t0-RTL综合方法,其特征在于,包括步骤:S1.分别综合C程序中每一个待综合函数并获取综合后函数参数;S2.设定优化目标及约束条件;S3.结合所述函数参数以及优化目标和约束条件,确定流水线模块划分、模块并行程度以及VFI分配;S4.综合流水线划分后得到模块并根据所述模块并行程度进行模块并行;S5.结合所述VFI分配将并行的各个模块连接为整体系统。2.根据权利要求1所述的C-to-RTL综合方法,其特征在于,所述待综合函数的连接拓扑关系为直线型。3.根据权利要求1所述的C-to-RTL综合方法,其特征在于,所述函数参数包括函数运算周期、运算数据量、面积功耗以及其支持的最高频率。4.根据权利要求1所述的C-to-RTL综合方法,其特征在于,所述优化目标包括吞吐率最大化、面积最小化以及功耗最小化;所述约束条件包括吞吐率约束、面积约束以及功耗约束。5.根据权利要求1-5任意一项所述的C-to-RTL综合方法,其特征在于,所述步骤S3中,根据混合整数线性规划方法,结合所述函数参数以及优化目标和约束条件,确定流水线模块划分、模块并行程度以及VFI分配。6.根据权利要求5所述的C-to-RTL综合方法,其特征在于,所述步骤S3包括: S311.根据所述函数参数计算流水线划分后所有可能得到的模块的参数; S312.根据所述模块的参数以及优化目标和约束条件构建混合整数线性规划模型; S313.求解所述混合整数线性规划模型得到一维非负整数数组以及二维布尔值数组; 所述一维非负整数数组第n位为零表示将第η个函数以及与其连接的第n+1个函数划分到同一模块;第n位非零表示第n个函数所在模块...
【专利技术属性】
技术研发人员:李双辰,何鑫宇,刘勇攀,杨华中,
申请(专利权)人:清华大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。