[发明专利]一种实现FPGAEDA软件动态可重构功能的编译方法在审
申请号: | 202211706399.6 | 申请日: | 2022-12-29 |
公开(公告)号: | CN115758957A | 公开(公告)日: | 2023-03-07 |
发明(设计)人: | 李玉洁;刘洋;杨沛宇 | 申请(专利权)人: | 中科亿海微电子科技(苏州)有限公司 |
主分类号: | G06F30/327 | 分类号: | G06F30/327;G06F30/392;G06F30/394;G06F30/347 |
代理公司: | 北京融智邦达知识产权代理事务所(普通合伙) 11885 | 代理人: | 董惠文 |
地址: | 215000 江苏省苏州市吴中*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 fpgaeda 软件 动态 可重构 功能 编译 方法 | ||
1.一种实现FPGA EDA软件动态可重构功能的编译方法,其特征在于,在全功能模块设计具有动态可重构功能的FPGA时,包括以下步骤:
步骤1:对可重构模块进行标记,同时也指定可重构模块在芯片中的物理区域,称之为动态区,其他区域为静态区,将可重构模块与其对应的位置信息,记录在用户约束文件中;
步骤2:综合时,不对可重构模块与非可重构模块上的逻辑进行合并优化;
步骤3:生成的网表文件预处理时,将可重构模块的逻辑单元标记为可重构逻辑单元;
步骤4:打包时,将可重构逻辑单元与没有标记的逻辑单元分开打包,由可重构逻辑单元打包的逻辑簇CLB标记为可重构CLB,由可重构逻辑单元产生的信号标记为可重构信号,将穿越动、静态区的信号拆分成两段,静态区的部分为一段,动态区的部分为一段并标记为可重构信号;
步骤5:对静态区和动态区分别布局布线后,分别生成全功能模块和可重构模块的码流。
2.根据权利要求1所述的编译方法,其特征在于,将穿越动静态区的信号拆分成两段的方法是:
找出信号的起点start和终点end,将信号从穿过动静态区的穿过点分成两段,分开的两段端口分别设置一个虚拟起点start_virtual和虚拟终点end_virtual,将起点start与虚拟终点end_virtual连接,将虚拟起点start_virtual与终点end连接,如果起点start在动态可重构区内,则将起点start与虚拟终点end_virtual连接的这段信号标记为可重构信号,如果是终点end在动态可重构区内,则将虚拟起点start_virtual与终点end连接的这段信号标记为可重构信号。
3.根据权利要求1所述的编译方法,其特征在于,步骤2还包括,综合后对可重构模块与划定的物理区域资源匹配检查,如果划定的物理区域内所包含的用于模块逻辑功能实现的物理资源不能满足可重构模块的功能实现所需的资源,给出物理区域内资源不足的提示,重新指定物理区域。
4.根据权利要求3所述的编译方法,其特征在于,布局时,将可重构CLB的布局范围约束在动态区对应的物理约束区域内部;布线时,遍历信号集合,如果信号带有可重构标记,则该信号布线搜索范围约束为动态区;如果信号不带有可重构标记,则该信号布线搜索范围为静态区。
5.根据权利要求4所述的编译方法,其特征在于,打包时,将配置成IO功能的带有可重构标记的逻辑单元按照逻辑簇CLB的规模打包成连接CLB,将连接CLB放置在动态区的物理约束区域的边界。
6.根据权利要求5所述的编译方法,其特征在于,替换模块在设计编译时,网表的顶层设计IO数量及类型,不能超过全功能模块中可重构模块的IO数量及类型,所述替换模块是指用于替换可重构模块功能的用户设计模块。
7.根据权利要求6所述的编译方法,其特征在于,替换模块在编译时,对网表的IO打包时,需要匹配在全功能设计时连接CLB的连接属性,信号的类型需要与全功能模块保持一致。
8.根据权利要求7所述的编译方法,其特征在于,替换模块布局布线时,将布局布线范围约束在相应的物理约束区域内。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中科亿海微电子科技(苏州)有限公司,未经中科亿海微电子科技(苏州)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211706399.6/1.html,转载请声明来源钻瓜专利网。