【技术实现步骤摘要】
一种利用区域重布局的FPGA布局合法化方法
本专利技术涉及FPGA
,尤其是一种利用区域重布局的FPGA布局合法化方法。
技术介绍
现场可编程逻辑门阵列(Field-ProgrammableGateArray,FPGA)是一种在日用家电、大型机械乃至航空航天都有广泛使用的芯片。FPGA芯片的使用离不开电子设计自动化(ElectronicDesignAutomation,EDA)工具。布局则是EDA工具中重要的一环,其对EDA工具本身运行速度、所处理电路的最终质量有着很大影响。近年来,FPGA芯片的电路规模快速增长,使其功能更加强大,但同时也给相应的EDA工具带来了挑战。解析型的算法以其可以使用数学方法快速求得全局最优解的特性成为当今布局算法的主流方向之一。二次线性规划算法是解析型算法的一种,其在具体应用于解决布局问题的时候体现出了快速求解的特性,但在求解完成后,依然存在不合法的布局,比如常见的存在重叠的节点,因此需要再次进行合法化操作。传统的合法化操作使用简单的就近放置原则来处理非法节点,也即基于曼哈顿距离图在非法节点的周围寻找一个最近的合法位置,如图1所示,中心位置0为非法节点所在的位置,与其直接相连的上、下、左、右四个位置距离标记为1,与1再直接相连的位置距离标记为2,依次类推得到的图即为曼哈顿距离图。现有的合法化操作依据曼哈顿距离图由近及远依次寻找空置的合法位置来放置当前非法节点。这种做法虽然简单易行但不具备任何导向性,而且在选取的时候也存在以下问题,比如:以曼哈顿距离标记位置距离,距离近 ...
【技术保护点】
1.一种利用区域重布局的FPGA布局合法化方法,其特征在于,所述方法包括:/n按照FPGA的初始布局状态确定各个线网的线长,所述初始布局状态包括若干个可重布节点,所述可重布节点包括若干个已被指定摆放于所述FPGA的合法位置上的合法节点以及若干个未被指定合法位置的非法节点,每个可重布节点均为布局网表中的一个功能模块;/n将所述FPGA划分为若干个区域,按照所述初始布局状态在划分得到的区域中选定目标区域,所述目标区域是内部包含至少一个非法节点的区域;/n对每个所述目标区域中的初始布局状态进行抽象建立剩余图,所述剩余图至少包括对所述目标区域内各个可重布节点以及各个可布位置抽象形成的图形节点,以及各个可重布节点与可布位置之间的关系抽象形成的对应的图形节点之间的第一有向边;所述可布位置包括所述目标区域内已被指定给合法节点的布局位置以及未被任何节点占用的布局位置;/n使用对应的线网的线长对所述剩余图中的各条第一有向边进行赋值得到各条第一有向边的花费;/n基于最小花费最大流算法对所述剩余图进行求解并更新剩余图直至得到流最大且在相同流量情况下花费最小的剩余图,确定最终得到的剩余图中各个可重布节点的最终 ...
【技术特征摘要】
1.一种利用区域重布局的FPGA布局合法化方法,其特征在于,所述方法包括:
按照FPGA的初始布局状态确定各个线网的线长,所述初始布局状态包括若干个可重布节点,所述可重布节点包括若干个已被指定摆放于所述FPGA的合法位置上的合法节点以及若干个未被指定合法位置的非法节点,每个可重布节点均为布局网表中的一个功能模块;
将所述FPGA划分为若干个区域,按照所述初始布局状态在划分得到的区域中选定目标区域,所述目标区域是内部包含至少一个非法节点的区域;
对每个所述目标区域中的初始布局状态进行抽象建立剩余图,所述剩余图至少包括对所述目标区域内各个可重布节点以及各个可布位置抽象形成的图形节点,以及各个可重布节点与可布位置之间的关系抽象形成的对应的图形节点之间的第一有向边;所述可布位置包括所述目标区域内已被指定给合法节点的布局位置以及未被任何节点占用的布局位置;
使用对应的线网的线长对所述剩余图中的各条第一有向边进行赋值得到各条第一有向边的花费;
基于最小花费最大流算法对所述剩余图进行求解并更新剩余图直至得到流最大且在相同流量情况下花费最小的剩余图,确定最终得到的剩余图中各个可重布节点的最终合法位置为同一路径中的可布位置;
得到各个可重布节点的最终合法位置,并将各个可重布节点摆放至对应的最终合法位置处、完成对所述FPGA的布局合法化。
2.根据权利要求1所述的方法,其特征在于,所述初始布局状态还包括若干个已被指定摆放于所述FPGA的合法位置上的固定节点,每个所述固定节点也为布局网表中的一个功能模块,则每个目标区域中的可重布节点为除固定节点之外的其他所有功能模块,每个目标区域内的可布位置为除固定节点占用的合法位置之外的其他所有布局位置,各个固定节点占用的布局位置在所述FPGA的布局合法化前后保持不变。
3.根据权利要求2所述的方法,其特征在于,所述固定节点包括BRAM、CMT、DSP、GTP、PCI以及EMAC中的至少一种功能模块。
4.根据权利要求1所述的方法,其特征在于,所述得到各个可重布节点的最终合法位置,还包括:
对于每个目标区域,对所述目标区域中未在当前目标区域中寻找到最终合法位置的可重布节点进行标记;
在遍历所述FPGA中所有目标区域后,若FPGA全局范围内包含标记的可重布节点,则重新将所述FPGA划分为若干个区域范围大于当前区域的新的区域,按照所述初始布局状态在划分得到的新的区域中选定包含至少一个标记的可重布节点的新的目标区域;
对每个新的目标区域内的各个可重布节点以及各个可布位置进行抽象建立剩余图并求解,得到所述新的目标区域中各个可重布节点对应的位于所述目标区域中的最终合法位置,并执行所述对所述目标区域中未在当前目标区域中寻找到最终合法位置的可重布节点进行标记的步骤。
5.根据权利要求1所述的方法,其特征在于,每个目标区域内包含的总的布局位置的数量不少于所述目标区域内包含的总的功能模块的数量。
6.根据权利要求5所述的方法,其特征在于,每个目标区域内的...
【专利技术属性】
技术研发人员:王新晨,惠锋,虞健,董志丹,刘佩,
申请(专利权)人:无锡中微亿芯有限公司,中国电子科技集团公司第五十八研究所,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。