[发明专利]一种FPGA的高层次综合方法和装置有效
申请号: | 201910044651.3 | 申请日: | 2019-01-17 |
公开(公告)号: | CN109828799B | 公开(公告)日: | 2022-05-17 |
发明(设计)人: | 刘建洋;王海力;连荣椿;马明 | 申请(专利权)人: | 京微齐力(北京)科技有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448 |
代理公司: | 北京亿腾知识产权代理事务所(普通合伙) 11309 | 代理人: | 陈霁 |
地址: | 100080 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 fpga 高层次 综合 方法 装置 | ||
1.一种现场可编程门阵列FPGA的高层次综合方法,包括:
获取待执行的C/C++文件;
根据所述C/C++文件中包含的操作Vn之间的先后依赖关系,将所述操作Vn依序分成k个操作组G,使得每一个操作组Gj(Vm)中的操作相互独立,并且1≤k≤n,1≤j≤k,1≤m≤n,n≥1且为整数;
设定j初始值为1,设定划分方案Pmax为空,设定划分子方案Pj为空;其中所述划分方案Pmax是所述FPGA执行完所述操作Vn所用时间最短的划分方案;
当j≤k时,执行下述动作:根据操作时间表中存储的不同操作的占用时间,对操作组Gj(Vm)进行划分,生成一个划分子方案Pj;将所述划分子方案Pj添加进所述划分方案Pmax,j自增1,将划分子方案Pj设定为空;
根据所述划分方案Pmax,生成对应的网表。
2.如权利要求1所述的方法,其中,所述操作时间表中存储的不同操作的占用时间通过下述方法获得:
在预设的测试用例上,运行FPGA流程,计算出每一种操作的占用时间。
3.如权利要求1或2所述的方法,其中,所述根据操作时间表中存储的不同操作的占用时间,对所述操作组Gj(Vm)进行划分,生成一个划分子方案Pj,还包括:
根据操作时间表中存储的不同操作的占用时间,将所述操作组Gj(Vm)中的操作按其对应的占用时间从大到小排序,生成一个操作序列Q(Vq1,…,Vqi,…,Vqm),1≤i≤m;
设定一个时钟周期T,使得所述时钟周期T等于所述操作Vq1的占用时间tq1;
设定i初始值为1,设定当前待执行操作序列Qc为空,设定所述划分子方案Pj为空,设定当前待执行时间tc为0;
当i≤m时,执行下述动作:
计算操作Vqi的占用时间tqi与所述当前待执行时间tc的时间和,
更新所述当前待执行时间tc为所述时间和;
当所述当前待执行时间tc小于或等于所述时钟周期T时,将所述操作Vqi添加进所述当前待执行操作序列Qc,i自增1,当im时,将所述当前待执行操作序列Qc添加进所述划分子方案Pj,其中所述当前待执行操作序列Qc将在所述时钟周期T内被执行;
当所述当前待执行时间tc大于所述时钟周期T时,将所述当前待执行操作序列Qc添加进所述划分子方案Pj,其中所述当前待执行操作序列Qc将在所述时钟周期T内被执行,更新所述当前待执行操作序列Qc为空,更新所述当前待执行时间tc为0。
4.如权利要求1或2所述的方法,其中,所述划分方案Pmax是利用调度Scheduling工具生成。
5.一种现场可编程门阵列FPGA的高层次综合装置,包括:
获取单元,配置为获取待执行的C/C++文件;
生成划分方案单元,配置为根据所述C/C++文件中包含的操作Vn之间的先后依赖关系,将所述操作Vn依序分成k个操作组G,使得每一个操作组Gj(Vm)中的操作相互独立,并且1≤k≤n,1≤j≤k,1≤m≤n,n≥1且为整数;设定j初始值为1,设定划分方案Pmax为空,设定划分子方案Pj为空;其中所述划分方案Pmax是所述FPGA执行完所述操作Vn所用时间最短的划分方案;当j≤k时,执行下述动作:根据操作时间表中存储的不同操作的占用时间,对操作组Gj(Vm)进行划分,生成一个划分子方案Pj;将所述划分子方案Pj添加进所述划分方案Pmax,j自增1,将划分子方案Pj设定为空;
生成网表单元,配置为根据所述划分方案Pmax,生成对应的网表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于京微齐力(北京)科技有限公司,未经京微齐力(北京)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910044651.3/1.html,转载请声明来源钻瓜专利网。