[发明专利]一种物理BRAM匹配方法有效
申请号: | 201811245768.X | 申请日: | 2018-10-24 |
公开(公告)号: | CN109446127B | 公开(公告)日: | 2020-03-24 |
发明(设计)人: | 胡平科;余建德 | 申请(专利权)人: | 上海安路信息科技有限公司 |
主分类号: | G06F13/16 | 分类号: | G06F13/16 |
代理公司: | 上海一平知识产权代理有限公司 31266 | 代理人: | 竺云;须一平 |
地址: | 200080 上海市虹口区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 物理 bram 匹配 方法 | ||
本申请涉及集成电路领域,公开了一种物理BRAM端口的匹配方法。本申请是基于N个端口的物理BRAM对一个拥有X个读端口和Y个写端口的逻辑RAM进行匹配优化方法,所述优化方法是在使用物理BRAM且不增加其它逻辑电路的情况下,对逻辑RAM进行端口匹配优化,使得优化结果有效地分配了FPGA资源,提升了集成电路的性能,且对电路的时序影响最小。同时在本发明中,考虑了N个端口的物理BRAM的情况,减少了对特定FPGA器件的BRAM端口个数等约束条件的依赖性,使得该方法更具普通性。
技术领域
本申请涉及集成电路领域,特别涉及一种物理BRAM匹配方法。
背景技术
在FPGA中,CLB的四个输入查找表(LUT)可以配置成一个16x1bit同步RAM,同一单元的2个LUTs片可以配置成一个16x2bit或32x1bit同步RAM,或者一个16x1bit双端口同步RAM。但其容量低,不能满足用户要求。每块BRAM有4096个存储胞元,每个端口拥有独立的控制信号,使得BRAM的每个端口均可以独立地以特定的数据宽度配置成可读写、只读或只写端口,并提供了内嵌的总线宽度转换功能。一般情况下BRAM是按每5个排成一列,BRAM列上有特殊的布线资源,使得可以利用最小的布线时延将块状RAM串接起来。这样只需要牺牲比使用普通的布线通道更少的时序,从而实现更宽或者更深的RAM结构。
但一旦BRAM资源比较紧张,或者用光所有BRAM,集成电路的性能一般会下降,甚至出现通道(route)不通的情况。灵活并合理的运用BRAM和分布式RAM,可以有效利用FPGA资源,提升系统性能。
发明内容
本申请的目的在于提供一种物理BRAM匹配方法,解决了在只使用物理BRAM且不增加其它逻辑电路的情况下,优化逻辑RAM,使得优化结果对最终集成电路的时序影响最小,很大程度上提高了集成电路的性能。
为了解决上述问题,本申请公开了一种物理BRAM端口的匹配方法,包括以下步骤:
步骤101:获取RTL电路中的任意一个逻辑RAM,将该逻辑RAM中的所有读端口和写端口放入队列;
步骤102:根据预先设定的物理BRAM约束条件,判断该逻辑RAM是否能用一个物理BRAM匹配实现,同时记录下判断结果,若是则执行步骤103,否则使用FPGA通用逻辑单元实现该逻辑RAM并执行步骤108;
步骤103:从该队列中提取出作为第一端口的一个读端口或写端口;
步骤104:将该第一端口映射到该物理BRAM的一个端口上;
步骤105:根据该物理BRAM约束条件,判断该队列中是否存在能够合并到该第一端口的第二端口,若是则执行步骤106,否则执行步骤107;
步骤106:从该队列中提取出该第二端口,并合并到该第一端口;
步骤107:判断该队列中是否存在剩余的读端口或写端口,若是则执行步骤103,否则执行步骤108;
步骤108:用该物理BRAM的实现或该通用逻辑单元的实现替换原来该逻辑RAM。
在一个优选例中,还包括步骤109,该步骤109包括:检查电路中是否还存在可优化的该逻辑RAM,若是则执行该步骤101,否则执行结束。
在一个优选例中,该约束条件包括:同一个端口能够通过相同的地址,同时进行读操作和写操作。
在一个优选例中,该一个物理BRAM拥有N个端口,其中N是自然数,该物理BRAM的一个端口同时支持读和写操作或者只支持读或写操作。
在一个优选例中,该一个逻辑RAM是X个写端口和Y个读端口的RAM,其中X和Y为自然数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海安路信息科技有限公司,未经上海安路信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811245768.X/2.html,转载请声明来源钻瓜专利网。