当前位置: 首页 > 专利查询>清华大学专利>正文

流水线划分及模块并行优化的C-to-RTL综合方法技术

技术编号:8682453 阅读:311 留言:0更新日期:2013-05-09 02:31
本发明专利技术涉及硬件设计自动化技术领域,具体涉及一种流水线划分及模块并行优化的C-to-RTL综合方法。对于硬件设计而言,流水线和并行的结构是提高硬件性能的两个最有效手段;而本发明专利技术的一种流水线划分及模块并行优化的C-to-RTL综合方法,通过在C-to-RTL综合过程中,同时对流水线划分及模块并行进行优化,使得在用户给定的系统性能约束条件后,即可得到最优化的流水线划分和模块并行的设计;同时,相比于采用两个优化过程分步优化的方法,本发明专利技术的方法保证了全局的最优性。因此,本发明专利技术增强了C-to-RTL综合技术实用性以及适用范围,为硬件设计提供有力的技术支持。

【技术实现步骤摘要】

本专利技术涉及硬件设计自动化
,具体涉及一种。
技术介绍
C-to-RTL综合是指将算法描述层的C程序直接转换为晶体管层(Regi stertransfer level)的HDL (硬件描述语言)程序,属于硬件设计自动化中高层次综合的一种。通过C-to-RTL综合技术可以快速自动的完成传统需要人工耗费大量时间的HDL设计工作。总体来讲,C-to-RTL综合有如下优势:(1)、缩短了硬件设计时间、简化了设计难度,这使得它成为解决高速增长的硬件设计需求与低速增长的设计能力之间矛盾的有效途径;、拉近了软件设计和硬件设计的距离,使得软硬件协同设计得到支持。鉴于上述优势,C-to-RTL综合无论在学术界还是在工业界都得到了广泛的关注。然而现存的C-to-RTL综合技术依然存在着很多没有解决的问题,例如:(I)、在综合大规模C程序时,综合结果的质量很不理想;(2)、用户无法对综合结果的性能(吞吐率、面积等)做出优化设置以及给定约束条件。造成这些问题的根本原因主要在于:高层次或系统级的硬件架构的设计与优化并没有被考虑以及C语言无法表达硬件中的时序、并行、架构等。综上所述,一种能够对流水线划分及模块并行进行优化的C-to-RTL综合方法是亟待提供的。
技术实现思路
(一)要解决的技术问题本专利技术的目的在于提供一种,用于在C-to-RTL综合过程中,同时对流水线划分及模块并行进行优化,从而增强C-to-RTL综合技术实用性以及适用范围,为硬件设计提供有力的技术支持。(二)技术方案本专利技术技术方案如下:一种,包括步骤:S1.分别综合C程序中每一个待综合函数并获取综合后函数参数; S2.设定优化目标及约束条件;S3.结合所述函数参数以及优化目标和约束条件,确定流水线模块划分以及模块并行程度;S4.综合流水线划分后得到模块并根据所述模块并行程度进行模块并行;S5.将并行的各个模块连接为整体系统。优选的,所述待综合函数的连接拓扑关系为直线型。优选的,所述函数参数包括函数运算周期、运算数据量以及面积。优选的,所述优化目标包括吞吐率最大化以及面积最小化;所述约束条件包括吞吐率约束以及面积约束。优选的,所述步骤S3中,根据混合整数线性规划方法,结合所述函数参数以及优化目标和约束条件,确定流水线模块划分以及模块并行程度。优选的,所述步骤S3包括:S311.根据所述函数参数计算流水线划分后所有可能得到的模块的参数;S312.根据所述模块的参数以及优化目标和约束条件构建混合整数线性规划模型;S313.求解所述混合整数线性规划模型得到一维非负整数数组;所述一维非负整数数组第η位为零表示将第η个函数以及与其连接的第η+1个函数划分到同一模块;第η位非零表示第η个函数所在模块的并行度。优选的,所述模块的参数包括模块吞吐率、模块面积及模块并行上限。优选的,所述步骤S3中,根据启发式算法,结合所述函数参数以及优化目标和约束条件,确定流水线模块划分以及模块并行程度。优选的,所述步骤S3包括:S321.设定满足所述吞吐率约束的初始并行度;S322.根据所述初始并行度以面积最小为目标确定流水线模块划分并计算划分后整体系统面积;S323.判断整体系统面积是否满足所述面积约束:是:则增大所述初始并行度,跳转至步骤S322 ;否:回溯上一次并行度设定以及流水线划分作为计算结果。优选的,所述步骤S322包括:建立拓扑图;其中,节点表示在所述初始并行度下所有可能划分的模块,存在实际连接的模块之间用边连接,边的权值表示其连接的源节点的面积;在所述拓扑图中加入开始节点以及结束节点;以开始节点以及结束节点之间路径最短为目标求解。(三)有益效果对于硬件设计而言,流水线和并行的结构是提高硬件性能的两个最有效手段;而本专利技术的一种,通过在C-to-RTL综合过程中,同时对流水线划分及模块并行进行优化;同时,相比于采用两个优化过程分步优化的方法,本专利技术的方法保证了全局的最优性。因此,本专利技术增强了 C-to-RTL综合技术实用性以及适用范围,为硬件设计提供有力的技术支持。附图说明图1是本专利技术的一种流程示意图;图2是本专利技术图1中根据启发式算法计算流水线划分和模块并行策略的整体流程示意图;图3是本专利技术图1中根据启发式算法计算划分策略时的拓扑图。具体实施例方式下面结合附图和实施例,对专利技术的具体实施方式做进一步描述。以下实施例仅用于说明本专利技术,但不用来限制本专利技术的范围。流程图如图1所示的一种,主要包括以下步骤:S1.采用现有C-to-RTL工具,预先对输入的C程序中每一个待综合函数进行综合,然后提取或者计算综合后函数参数;其中,C程序要求由N函数组成,这些所述待综合函数的连接拓扑关系为直线型,这个要求可以通过修改C程序的编程风格实现。其中,所述函数参数包括函数运算周期、运算数据量以及面积等,可以通过仿真和逻辑综合得到;具体如表I中所示。表I第η个函数Fn的参数本文档来自技高网...

【技术保护点】
一种流水线划分及模块并行优化的C?to?RTL综合方法,其特征在于,包括步骤:S1.分别综合C程序中每一个待综合函数并获取综合后函数参数;S2.设定优化目标及约束条件;S3.结合所述函数参数以及优化目标和约束条件,确定流水线模块划分以及模块并行程度;S4.综合流水线划分后得到模块并根据所述模块并行程度进行模块并行;S5.将并行的各个模块连接为整体系统。

【技术特征摘要】
1.种流水线划分及模块并行优化的C-to-RTL综合方法,其特征在于,包括步骤:别综合C程序中每一个待综合函数并获取综合后函数参数;定优化目标及约束条件;合所述函数参数以及优化目标和约束条件,确定流水线模块划分以及模块并行程度;合流水线划分后得到模块并根据所述模块并行程度进行模块并行;并行的各个模块连接为整体系统。2.据权利要求1所述的C-to-RTL综合方法,其特征在于,所述待综合函数的连接拓扑关系为直线型。3.据权利要求1所述的C-to-RTL综合方法,其特征在于,所述函数参数包括函数运算周期、运算数据量以及面积。4.据权利要求1所述的C-to-RTL综合方法,其特征在于,所述优化目标包括吞吐率最大化以及面积最小化;所述约束条件包括吞吐率约束以及面积约束。5.据权利要求1-4任意一项所述的C-to-RTL综合方法,其特征在于,所述步骤S3中,根据混合整数线性规划方法,结合所述函数参数以及优化目标和约束条件,确定流水线模块划分以及模块并行程度。6.据权利要求5所述的C-to-RTL综合方法,其特征在于,所述步骤S3包括:据所述函数参数计算流水线划分后所有可能得到的模块的参数;据所述模块的参数以及优化目标和约束条件构建混合整数线性规划模型;解所述混合整数线性规划模型得到...

【专利技术属性】
技术研发人员:李双辰刘勇攀杨华中何鑫宇
申请(专利权)人:清华大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1