一种fpga布线方法及装置的制造方法

文档序号:9911394阅读:269来源:国知局
一种fpga布线方法及装置的制造方法
【技术领域】
[0001]本发明涉及现场可编程门阵列(FPGA)技术领域,尤其涉及一种FPGA布线方法及装置。
【背景技术】
[0002 ]自FPGA问世以来,其特有的可编程性使得传统数字电路设计的过程大大简化,越来越多的电子设计人员使用FPGA芯片进行电子系统的设计。随着FGPA的规模不断扩大,对软件算法的性能要求也越来越高。比如规模越大意味着布局的跨度越大,电路网表更复杂,这样就对FPGA布线效率提出了更高的要求。因此如何将布线时间降低到最小且不影响性能成为布线算法一个不可忽略的因素。
[0003]目前布线算法中比较通用的是A*算法,它使用了代价函数的概念。如图1所示的节点布置框架,从起始节点S出发到达终点节点E,有三个中间节点可供选择,其理想结果应该是代价最小的那条路径。这里的代价,可以是延时、路径、冲突等单个因素或多个因素的综入口 ο
[0004]A*算法的代价函数表示为:
[0005]f (n) =g(n)+h(n)
[0006]其中,η为中间节点,g(η)为从起始节点到η节点的实际代价值,h(η)为从η节点到终点节点的估计代价值。
[0007]以图1所示框架为例,布线器分别计算出三种路径的代价值€(1)4(2)、汽3),然后选择代价值最小的中间节点继续往后扩展。
[0008]因此,基于Α*算法的布线器可以根据代价函数灵活选择最优的路径。在实际应用中,路径的延时是布线器需要考虑的重要代价因素之一。然而,随着FGPA的规模不断扩大,电路日趋复杂,其内部单元的端口数越多,布线器在计算布线延时时,运算量和占用内存越大,布线速度极低。

【发明内容】

[0009]本发明提供一种FPGA布线方法及装置,解决现有FPGA布线方案不够完善的问题。
[0010]为解决上述技术问题,本发明采用以下技术方案:
[0011]一种FPGA布线方法,包括:
[0012]对FPGA中部分节点之间的代价值进行估算,生成代价估算模型;
[0013]利用所述代价估算模型对布线过程中节点间的代价值进行估算;
[0014]根据估算结果进行布线。
[0015]在一些实施例中,对FPGA中部分节点之间的代价值进行估算,生成代价估算模型包括:
[0016]确定节点组,节点组中包括多个节点,并在节点组中确定第一节点,其他节点为第二节点;
[0017]估算第一节点到各个第二节点之间的有效代价值;
[0018]根据估算出的第一节点到各个第二节点之间的有效代价值生成代价估算模型。
[0019]在一些实施例中,第一节点为节点组中的中心位置,第二节点围绕第一节点。
[0020]在一些实施例中,节点组呈正方形。
[0021]在一些实施例中,第一节点到第二节点之间的有效代价值为第一节点到第二节点之间多个路径中的最小代价值。
[0022]一种FPGA布线装置,包括:
[0023]模型生成模块,用于对FPGA中部分节点之间的代价值进行估算,生成代价估算模型;
[0024]代价估算模块,用于利用所述代价估算模型对布线过程中节点间的代价值进行估算;
[0025]布线模块,用于根据所述代价估算模块的估算结果进行布线。
[0026]在一些实施例中,所述模型生成模块包括:
[0027]确定子模块,用于确定节点组,节点组中包括多个节点,并在节点组中确定第一节点,其他节点为第二节点;
[0028]估算子模块,用于估算节点组中第一节点到各个第二节点之间的有效代价值;
[0029]生成子模块,用于根据所述估算子模块估算出的第一节点到各个第二节点之间的有效代价值生成代价估算模型。
[0030]本发明针对现有技术的中布线方案的运算量大、运算过程耗时过长等问题进行优化,设计了一种全新的布线方案,利用部分节点建立代价估算模型,基于代价估算模型进行代价估算,布线器在启动布线时加载代价估算模型,解析并存入哈希表,减少了代价数据提取的运算量和对内存的消耗,尤其是减少了延时数据提取的运算量和对内存的消耗,提升了布线速度。
【附图说明】
[0031]图1为现有的节点布置框架不意图;
[0032]图2为本发明一实施例提供的FPGA布线方法的流程图;
[0033]图3为本发明一实施例提供的节点组的示意图;
[0034]图4为本发明一实施例提供的两节点之间可能路径的示意图;
[0035]图5为本发明一实施例提供的两节点之间可能路径的另一示意图;
[0036]图6为本发明一实施例提供的FPGA布线装置的流程图。
【具体实施方式】
[0037]本发明中,代价可以是延时、路径、冲突等单个因素或多个因素的综合。代价估算模型可以是列表的形式,布线器在启动布线时加载该列表,解析并存入哈希表,即基于查表的形式实现节点间的代价值估算。
[0038]下面通过具体实施例对本发明的构思进一步详细说明。
[0039]如图2所示,为本发明一实施例提供的FPGA布线方法的流程图,主要包括以下步骤:
[0040]S101、对FPGA中部分节点之间的代价值进行估算,生成代价估算模型;
[0041]S102、利用所述代价估算模型对布线过程中节点间的代价值进行估算;
[0042]S103、根据估算结果进行布线。
[0043]步骤SlOl包括但不局限于以下所列举的:
[0044]SlOla、确定节点组,节点组中包括多个节点,并在节点组中确定第一节点,其他节点为第二节点。
[0045]SlOlb、估算第一节点到各个第二节点之间的有效代价值;
[0046]SI OI c、根据估算出的第一节点到各个第二节点之间的有效代价值生成代价估算模型。
[0047]步骤SlOl中FPGA中的部分节点,就是步骤SlOla中节点组中的节点。具体的可以采用以下方式来确定节点组:
[0048]先从FPGA中选定一个第一节点,以该第一节点为中心,往上、下、左、右进行拓展,形成一个多个节点组成的节点组,该节点组中除第一节点之外的节点称为第二节点。如图3所示,先选定中心节点作为第一节点,再从第一节点出发,往上下左右四个方向上各扩展SPAN个节点,形成边长为(SPAN*2+1)的方形区域,那么涉及到的节点就有(SPAN*2+1)*(SPAN*2+1)个,若指定SPAN= 2,则如图3所示,形成由5个节点构成边长的正方形的节点组,第一节点在中心位置。
[0049]还或者,先从FPGA中选定一个片区,该片区的节点组成一个节点组,再从该节点组中选中一个第一节点,其他为第二节点。
[0050]不论采取上述哪种方式来确定节点组,优选的,第一节点为节点组中的中心位置,第二节点围绕第一节点。优选的,节点组呈正方形。
[0051 ]步骤SlOlb中,因为各个节点有多个端口,因此节点组中第一节点到各个第二节点之间通常有多个路径。如图4所示,为两个直接相连
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1