[发明专利]逻辑BRAM的映射方法及其系统有效
申请号: | 201910765532.7 | 申请日: | 2019-08-19 |
公开(公告)号: | CN110489355B | 公开(公告)日: | 2020-12-08 |
发明(设计)人: | 余伟;余建德 | 申请(专利权)人: | 上海安路信息科技有限公司 |
主分类号: | G06F12/06 | 分类号: | G06F12/06 |
代理公司: | 上海一平知识产权代理有限公司 31266 | 代理人: | 须一平;成春荣 |
地址: | 200080 上海市虹口区东大名*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 逻辑 bram 映射 方法 及其 系统 | ||
本申请涉及集成电路领域,公开了一种逻辑BRAM的映射方法及其系统。该方法包括:根据待映射逻辑BRAM确定映射区域;根据映射区域获取适用的所有类型的ERAM及其对应工作模式的集合;遍历集合中工作模式,针对遍历到的任一工作模式:使用当前工作模式的ERAM沿第一方向和第二方向填充且不超出该映射区域,如果填充一个ERAM也会超出时,则在该方向上仅填充一个ERAM,并对剩余未填充的映射区域以递归的方式进行遍历填充直至其面积为0,得到填充结果,根据该填充结果更新该最优填充结果;遍历结束后,将待映射逻辑BRAM根据最优结果进行映射。本申请的实施方式中,在满足逻辑BRAM的映射区域的填充需求的同时,能够使得多种类型的ERAM资源得到充分合理利用,减少资源浪费。
技术领域
本申请涉及集成电路领域,特别涉及逻辑BRAM的映射技术。
背景技术
在现有FPGA的逻辑BRAM映射过程中,一般针对单一类型的ERAM,用一块或多块ERAM填充成成逻辑BRAM的映射区域尺寸。
但是,FPGA中可能存在多种类型的ERAM资源,仅针对单一类型的ERAM进行填充时,可能因FPGA中剩余的任何单一类型的ERAM数量都不足以完成逻辑BRAM的映射区域的填充而造成填充失败;而且,即使FPGA中剩余的任何单一类型的ERAM数量都充足的情况下,仅针对单一类型的ERAM进行填充的结果往往会造成较多资源浪费。
发明内容
本申请的目的在于提供一种逻辑BRAM的映射方法及其系统,在满足逻辑BRAM的映射区域的填充需求的同时,能够使得多种类型的ERAM资源得到充分合理利用,减少资源浪费。
本申请公开了一种逻辑BRAM的映射方法,包括:
预先根据待映射逻辑BRAM的地址深度和数据宽度确定映射区域;
根据所确定的映射区域获取FPGA中适用的所有类型的ERAM及其对应工作模式的集合;
遍历所述集合中所有工作模式,针对遍历到的任一工作模式:使用当前工作模式的ERAM沿第一方向和第二方向填充所述映射区域且不超出所述映射区域,如果填充一个ERAM也会超出该映射区域时,则在该方向上仅填充一个ERAM,并且对剩余未填充的映射区域以递归的方式进行遍历填充直至剩余未填充的映射区域面积为0,得到所述当前工作模式对应的填充结果,将该填充结果与最优填充结果进行比较以更新所述最优填充结果;
所述遍历结束后,将所述待映射逻辑BRAM根据所述最优结果进行映射。
在一个优选例中,所述使用当前工作模式的ERAM沿第一方向和第二方向填充所述映射区域且不超出所述映射区域,如果填充一个ERAM也会超出该映射区域时,则在该方向上仅填充一个ERAM,并且对剩余未填充的映射区域以递归的方式进行遍历填充直至剩余未填充的映射区域面积为0,进一步包括:
使用当前工作模式的ERAM沿第一方向和第二方向填充所述映射区域且不超出所述映射区域,如果填充一个ERAM也会超出该映射区域时,则在该方向上仅填充一个ERAM,得到填充区域并根据剩余ERAM及其工作模式更新当前集合;
根据所述填充区域的外形边界切分所述映射区域得到剩余的至少一个映射子区域,如果所述至少一个映射子区域面积不为0,则以递归的方式遍历所述当前集合分别完成所述至少一个映射子区域的填充。
在一个优选例中,所述映射区域为方形区域,所述至少一个映射子区域是根据所述填充区域的外形边界切分所述映射区域得到的剩余的1个或2个或3个方形区域。
在一个优选例中,所述使用当前工作模式的ERAM沿第一方向和第二方向填充所述映射区域且不超出所述映射区域时,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海安路信息科技有限公司,未经上海安路信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910765532.7/2.html,转载请声明来源钻瓜专利网。