计算;推算;计数设备的制造及其应用技术一种fpga布线方法及装置技术领域1.本技术涉及电路布线技术领域,具体涉及一种fpga布线方法及装置。背景技术:2.随着半导体制造工艺的提升,fpga(field programmable gate array,现场可编程阵列)内所集成的物理资源越来越多,可以支持更加复杂的电路设计。因为fpga具有物理资源丰富、成本适中和设计灵活等优点,fpga已经被广泛应用于现代数字系统中,例如家电、通信设备、航天卫星和汽车电子等领域。3.但是随着fpga集成度的提高和现代fpga电路规模的扩大,器件的结构变得更复杂,fpga eda(electronic design automation,电子设计自动化)软件在将电路编译成二进制形式时耗时越来越长,fpga eda软件的发展速度已经落后于fpga硬件。fpga电路编译时间较长已经限制了fpga的健康发展,因此提高fpga eda软件的运行效率已经成为当前fpga eda研究领域的主要课题之一。4.fpga eda流程一般包括了电路设计、行为综合、工艺映射、打包、布局、布线和位流生成。其中布线是fpga eda流程中耗时最长的步骤之一,而且布线的结果直接决定了电路最终在fpga上实现后的性能,例如电路运行效率,使用的连线资源的总线长功耗等。现有的布线算法存在以下问题:5.1)布线的耗时越来越长,对于较大规模fpga电路,布线能耗时超过1天,并随着fpga电路规模进一步增大,该问题越来越严重。6.2)布线路径质量和布线时间相互制约,但在实际工程应用中期望在较短的时间内得到质量较高的布线方案。技术实现要素:7.本技术实施例提供一种fpga布线方法及装置,可以在保证电路质量的情况下,有效降低布线过程的运行时间。8.为此,本技术实施例提供如下技术方案:9.一种fpga布线方法,所述方法包括:10.依次选取输入节点及对应的输出节点进行双向搜索布线,得到对应所述输入节点及输出节点的线网;在得到所有线网后,输出布线结果;11.检查所述布线结果中是否存在拥挤线网;12.如果存在,则对所述拥挤线网拆线,并重新进行双向搜索布线,直至所述布线结果中不存在拥挤线网。13.可选地,所述选取输入节点及对应的输出节点进行双向搜索布线,得到对应所述输入节点及输出节点的线网包括:14.建立正向优先队列及其对应的正向判别器、反向优先队列及其对应的反向判别器;15.选取输入节点,将所述输入节点及所述输入节点的已有路径节点放入正向优先队列,并在正向判别器中记录进入过正向优先队列的节点;将与所述输入节点对应的输出节点放入反向优先队列,并在反向判别器中记录进入过反向优先队列的节点;16.依次对正向优先队列和反向优先队列中代价最小的节点进行搜索布线,并根据对应的判别器确定搜索结果,直至找到路径或队列为空。17.可选地,所述对正向优先队列和反向优先队列中代价最小的节点进行搜索布线,并根据对应的判别器确定搜索结果包括:18.从正向优先队列中取出代价最小的一个节点,并将该节点作为正向检测节点;19.如果所述正向检测节点在所述反向判别器中,则确定找到路径;20.否则,对所述正向检测节点进行正向扩展,并将正向扩展得到的节点放入正向优先队列和正向判别器中;21.从反向优先队列中选出代价最小的一个节点,并将该节点作为反向检测节点;22.如果所述反向检测节点在所述正向判别器中,则确定找到路径;23.否则,对所述反向检测节点进行反向扩展,并将反向扩展得到的节点放入反向优先队列和反向判别器中;24.在确定找到路径后,根据所述输入节点的已有路径节点、以及依次从正向优先队列及反向优先队列取出的代价最小的节点得到对应所述输入节点及输出节点的线网。25.可选地,按以下方式计算当前节点n的代价:26.计算当前节点n的最优路径估计代价h(n),所述最优路径估计代价h(n)是从当前节点n到目标节点最优路径的估计代价;27.计算当前节点n的实际路径代价g(n),所述实际路径代价g(n)是从输入节点到当前节点n的实际代价;所述当前节点n的实际路径代价g(n)包括以下任意一项或多项:时延代价gd(n)、线长代价gw(n);28.根据当前节点的最优路径估计代价h(n)和当前节点的实际路径代价g(n),确定当前节点的代价。29.可选地,所述线长代价gw(n)包括以下任意一项或多项:基础代价、当前拥挤度代价、历史累积拥挤度代价。30.可选地,所述对所述拥挤线网拆线包括:31.采用相同或不同的拆线策略对所述拥挤线网拆线。32.可选地,所述检查所述布线结果中是否存在拥挤线网包括:33.检查所述布线结果中各线段被所述线网的占用次数;34.如果占用次数大于1,则确定所述线段为待拆线段,确定占用所述待拆线段的线网为拥挤线网;35.所述对所述拥挤线网拆线包括:36.对所述拥挤线网中至少包括所述待拆线段的一段或多段线段拆线。37.一种fpga布线装置,所述装置包括:38.双向搜索布线模块,用于依次选取输入节点及对应的输出节点进行双向搜索布线,得到对应所述输入节点及输出节点的线网;在所述双向搜索布线模块得到所有线网后,输出布线结果;39.拥挤线网检查模块,用于检查所述布线结果中是否存在拥挤线网;40.拆线处理模块,用于在所述布线结果中存在拥挤线网的情况下,对所述拥挤线网拆线,并触发所述双向搜索布线模块对拆线后的线网重新进行双向搜索布线,直至所述布线结果中不存在拥挤线网。41.可选地,所述双向搜索布线模块包括:42.设置模块,用于建立正向优先队列及其对应的正向判别器、反向优先队列及其对应的反向判别器;43.初始化模块,用于选取输入节点,将所述输入节点及所述输入节点的已有路径节点放入正向优先队列,并在正向判别器中记录进入过正向优先队列的节点;将与所述输入节点对应的输出节点放入反向优先队列,并在反向判别器中记录进入过反向优先队列的节点;44.搜索模块,用于依次对正向优先队列和反向优先队列中代价最小的节点进行搜索布线,并根据对应的判别器确定搜索结果,直至找到路径或队列为空。45.可选地,所述搜索模块包括:节点选取单元、检查单元、节点扩展单元、以及线网输出单元;46.所述节点选取单元,用于从正向优先队列中取出代价最小的一个节点,并将该节点作为正向检测节点;47.所述检查单元,用于检查所述正向检测节点是否在所述反向判别器中,如果是,则确定找到路径;否则,触发所述节点扩展单元对所述正向检测节点进行正向扩展,并将正向扩展得到的节点放入正向优先队列和正向判别器中;48.所述节点选取单元,还用于从反向优先队列中选出代价最小的一个节点,并将该节点作为反向检测节点;49.所述检查单元,还用于检查所述反向检测节点是否在所述正向判别器中,则确定找到路径;否则,触发所述节点扩展单元对所述反向检测节点进行反向扩展,并将反向扩展得到的节点放入反向优先队列和反向判别器中;50.线网输出单元,用于在所述检查单元确定找到路径后,根据所述输入节点的已有路径节点、以及所述节点选取单元依次从正向优先队列及反向优先队列取出的代价最小的节点得到对应所述输入节点及输出节点的线网。依51.可选地,所述装置还包括:代价计算模块,用于计算当前节点n的代价;52.所述代价计算模块包括:53.第一计算单元,用于计算当前节点n的最优路径估计代价h(n),所述最优路径估计代价h(n)是从当前节点n到目标节点最优路径的估计代价;54.第二计算单元,用于计算当前节点n的实际路径代价g(n),所述实际路径代价g(n)是从输入节点到当前节点n的实际代价;所述当前节点的实际路径代价g(n)包括以下任意一项或多项:时延代价gd(n)、线长代价gw(n);55.代价估计单元,用于根据当前节点n的最优路径估计代价h(n)和当前节点n的实际路径代价g(n),确定当前节点n的代价。56.可选地,所述线长代价gw(n)包括以下任意一项或多项:基础代价、当前拥挤度代价、历史累积拥挤度代价。57.可选地,所述拆线处理模块采用相同或不同的拆线策略对所述拥挤线网拆线。58.可选地,所述拥挤线网检查模块,具体用于检查所述布线结果中各线段被所述线网的占用次数;如果占用次数大于1,则确定所述线段为待拆线段,占用所述待拆线段的线网为拥挤线网;59.所述拆线处理模块,具体用于对所述拥挤线网中至少包括所述待拆线段的一段或多段线段拆线。60.本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述方法的步骤。61.本技术实施例还提供一种电子设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述方法的步骤。62.本技术实施例提供的fpga布线方法及装置,通过双向搜索布线得到对应各输入节点及输出节点的线网,相对于单向搜索扩展的节点,双向启发式搜索所扩展的节点更少,搜索效率高,从而可以在保证电路质量的情况下,有效降低布线过程的运行时间。而且,双向搜索时正、反向都有实际路径,可以得到准确的实际代价,从而准确地选出代价最小的节点,减少估计代价次数,从而降低因为无法准确估计拥挤度带来的影响,减少搜索布线时间。附图说明63.图1是本技术实施例fpga布线方法的一种流程图;64.图2是本技术实施例fpga布线方法中双向搜索布线的流程图;65.图3是本技术实施例fpga布线方法中正向搜索及反向搜索过程的流程图;66.图4是本技术实施例中双向搜索布线过程中队列及判别器中节点变化的一个示例;67.图5是本技术实施例中双向搜索布线过程中队列及判别器中节点变化的另一个示例;68.图6是利用本技术实施例提供的fpga布线方法的双向搜索效果示意图;69.图7是本技术实施例fpga布线装置的一种结构框图;70.图8是本技术实施例fpga布线装置中双向搜索布线模块的一种结构框图。具体实施方式71.为使本技术的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本技术的具体实施例做详细的说明。72.针对fpga布线中由于布线路径质量和布线时间相互制约,使得现有的布线系统无法同时兼顾大规模fpga电路的布线质量及布线时间的问题,本技术实施例提供一种fpga布线方法及装置,通过双向搜索布线得到对应各输入节点及输出节点的线网,在保证电路质量的情况下,有效降低布线过程的运行时间,提高布线效率。73.如图1所示,是本技术实施例fpga布线方法的一种流程图,包括以下步骤:74.步骤101,依次选取输入节点及对应的输出节点进行双向搜索布线,得到对应所述输入节点及输出节点的线网;在得到所有线网后,输出布线结果;75.需要说明的是,每次布线只针对一个输入节点和一个输出节点。相应地,每条线网是指从一个输入节点到一个输出节点的所有线段,所述线网包含所述输入节点和所述输出节点,以及所述输入节点和所述输出节点之外的一个或多个其他节点。76.双向搜索布线的具体流程将在后面详细说明。77.步骤102,检查所述布线结果中是否存在拥挤线网;如果存在,则执行步骤103;否则,结束。78.每条线网可以包含一个或多个线段,而且不同线网会有重叠的线段,因此,可以通过检查所述布线结果中各线段被不同线网的占用次数来确定相关线网是否存在拥挤情况;如果占用次数大于1,则确定所述线段为待拆线段,确定占用所述待拆线段的线网为拥挤线网。79.步骤103,对所述拥挤线网拆线,并重新进行双向搜索布线。然后,返回步骤102。80.需要说明的是,线网之间的去拥挤处理可以使用现有的pathfinder(路径发现)拥塞协商算法来实现。81.在实际应用中,对拥挤线网拆线的处理,针对不同的拥挤线网,可以采用相同或不同的拆线策略,比如,当输出节点较少时可以将所有输出节点的路径拆掉重新布线;当输出节点较多时会保留不拥挤输出节点的路径,只拆重布拥挤的输出节点路径。另外,在对所述拥挤线网拆线时,可以对所述拥挤线网中至少包括所述待拆线段的一段或多段线段拆线。当然,也可以将整条线网进行拆线重新布线,对此本技术实施例不做限定。82.如图2所示,是本技术实施例fpga布线方法中双向搜索布线的流程图。该图流程示出了针对一个输入节点到一个输出节点的双向搜索布线过程。针对有多个输入节点和输出节点的fpga布线,可以依次选出相应的输入节点和输出节点,按照图2所示流程完成每条线网的搜索布线。83.图2所示流程包括以下步骤:84.步骤201,建立正向优先队列及其对应的正向判别器、反向优先队列及其对应的反向判别器。85.步骤202,选取输入节点,将所述输入节点及所述输入节点的已有路径节点放入正向优先队列,并在正向判别器中记录进入过正向优先队列的节点;将与所述输入节点对应的输出节点放入反向优先队列,并在反向判别器中记录进入过反向优先队列的节点。86.步骤203,依次对正向优先队列和反向优先队列中代价最小的节点进行搜索布线,并根据对应的判别器确定搜索结果,直至找到路径或队列为空。87.在步骤203中,需要先由输入节点开始进行正向搜索,然后再由输出节点开始进行反向搜索,每经过一次正向或一次反向搜索后,需要判断是否找到相应的路径,如果没有,则继续上述过程,如果已找到,则结束该输入节点到该输出节点的布线。然后继续针对下一个输入节点和相应的输出节点进行布线。88.需要说明的是,一个输入节点,可能会对应一个或多个输出节点,对此本技术实施例不做限定。而且,针对这种情况,需要针对每组输入节点和输出节点进行布线。89.参照图3,示出了上述步骤203中正向搜索及反向搜索的详细过程,包括以下步骤:90.步骤301,检查正向优先队列是否为空;如果是,则执行步骤310;否则,执行步骤302。91.步骤302,从正向优先队列中取出代价最小的一个节点,并将该节点作为正向检测节点。92.步骤303,判断所述正向检测节点是否在所述反向判别器中;如果是,则执行步骤309;否则,执行304。93.步骤304,对所述正向检测节点进行正向扩展,并将正向扩展得到的节点放入正向优先队列和正向判别器中。94.所述正向扩展是指找到与所述正向检测节点相连的所有节点,将这些节点作为扩展节点放入正向优先队列和正向判别器中。95.步骤305,检查反向优先队列是否为空;如果是,则执行步骤310;否则,执行步骤306。96.步骤306,从反向优先队列中选出代价最小的一个节点,并将该节点作为反向检测节点。97.步骤307,判断所述反向检测节点是否在所述正向判别器中;如果是,则执行步骤309;否则,执行步骤308。98.步骤308,对所述反向检测节点进行反向扩展,并将反向扩展得到的节点放入反向优先队列和反向判别器中。然后返回步骤301。99.步骤309,确定找到路径,根据所述输入节点的已有路径节点、以及依次从正向优先队列及反向优先队列取出的代价最小的节点得到对应所述输入节点及输出节点的线网。100.步骤310,确定路径不存在。101.下面结合图4和图5举例对上述双向搜索过程做进一步详细说明。102.假设线网的输入节点为s,输出节点有两个,分别为t1和t2。图4示出了节点s到节点t1的布线过程,图5示出了节点s到节点t2的布线过程。103.参照图4,首先,将节点s及节点s的已有路径节点放入正向优先队列和正向判别器中,将节点t1放入反向优先队列和反向判别器中。104.然后,从正向优先队列中取出节点s,由于节点s不在反向判别器中,因此,对节点s进行正向扩展,将扩展后的两个节点a1、a2放入正向优先队列和正向判别器中。105.然后,从反向优先队列中取出节点t1,由于节点t1不在正向判别器中,因此,对节点t1进行反向扩展,将扩展后的两个节点z1、z2放入反向优先队列和反向判别器中。106.然后,从正向优先队列中取出代价最小的节点a1,由于节点a1不在反向判别器中,因此对节点a1进行正向扩展,将扩展后的两个节点b1、b2放入正向优先队列和正向判别器中。107.然后,从反向优先队列中取出代价最小的节点z2,由于节点z2不在正向判别器中,因此对节点z2进行反向扩展,将扩展后的两个节点y1、y2放入反向优先队列和反向判别器中。108.然后,从正向优先队列中取出代价最小的节点b2,由于节点b2不在反向判别器中,因此对节点b2进行正向扩展,将扩展后的两个节点c1、y2放入正向优先队列及正向判别器中。109.然后,从反向优先队列中取出代价最小的节点y1,由于节点y1不在正向判别器中,因此对节点y1进行反向扩展,将扩展后的两个节点x1、x2放入反向优先队列及反向判别器中。110.然后,从正向优先队列中取出代价最小的节点y2,由于节点y2在反向判别器中,因此确定找到路径,路径为:s-》a1-》b2-》y2-》z2-》t1,结束循环。所述路径s-》a1-》b2-》y2-》z2-》t1即为对应输入节点s及输出节点t1的线网。111.参照图5,首先,将节点s及节点s的已有路径节点(即上面的节点a1、b2、y2、z2)放入正向优先队列和正向判别器中,将节点t2放入反向优先队列和反向判别器中。112.然后,从正向优先队列中取出代价最小的节点b2,由于节点b2不在反向判别器中,因此,对节点b2进行正向扩展,将扩展后的两个节点c1、y2放入正向优先队列和正向判别器中。113.然后,从反向优先队列中取出节点t2,由于节点t2不在正向判别器中,因此,对节点t2进行反向扩展,将扩展后的两个节点p1、p2放入反向优先队列和反向判别器中。114.然后,从正向优先队列中取出代价最小的节点c1,由于节点c1不在反向判别器中,因此对节点c1进行正向扩展,将扩展后的两个节点d1、d2放入正向优先队列和正向判别器中。115.然后,从反向优先队列中取出代价最小的节点p1,由于节点p1不在正向判别器中,因此对节点p1进行反向扩展,将扩展后的两个节点m1、m2放入反向优先队列和反向判别器中。116.然后,从正向优先队列中取出代价最小的节点d2,由于节点d2不在反向判别器中,因此对节点d2进行正向扩展,将扩展后的两个节点e1、e2放入正向优先队列及正向判别器中。117.然后,从反向优先队列中取出代价最小的节点m2,由于节点m2不在正向判别器中,因此对节点m2进行反向扩展,将扩展后的两个节点e1、f1放入反向优先队列及反向判别器中。118.然后,从正向优先队列中取出代价最小的节点e1,由于节点e1在反向判别器中,因此确定找到路径,路径为:s-》a1-》b2-》c1-》d2-》e1-》m2-》p1-》t2,结束循环。所述路径s-》a1-》b2-》c1-》d2-》e1-》m2-》p1-》t2即为对应输入节点s及输出节点t2的线网。119.图6示出了利用本技术实施例提供的fpga布线方法的双向搜索效果示意图。120.在上述各实施例中,可以按以下方式计算当前节点n的代价:121.计算当前节点n的最优路径估计代价h(n),所述最优路径估计代价h(n)是从当前节点n到目标节点最优路径的估计代价;122.计算当前节点n的实际路径代价g(n),所述实际路径代价g(n)是从输入节点到当前节点n的实际代价;所述当前节点n的实际路径代价g(n)包括以下任意一项或多项:时延代价gd(n)、线长代价gw(n)。123.根据当前节点的最优路径估计代价h(n)和当前节点的实际路径代价g(n),确定当前节点n的代价。124.比如,当前节点n的代价可以表示为:f(n)=h(n)+g(n)=h(n)+gd(n)+gw(n)。当然,还可以对最优路径估计代价h(n)和实际路径代价g(n)进行不同权重系数的加权计算来确定当前节点n的代价f(n),对此本技术实施例不做限定。125.所述时延代价gd(n)可以根据现有的elmore时延模型计算得到,对此不再详细描述。126.所述线长代价gw(n)可以包括以下任意一项或多项:基础代价、当前拥挤度代价、历史累积拥挤度代价。其中,各种代价的解释说明如下:127.基础代价gwb(n):基于节点类型的代价,不同节点类型有着不同的基础代价;128.当前拥挤度代价gwo(n):基于节点当前拥挤情况的代价,拥挤度越高,代价越高;129.拥挤度代价gwa(n):基于节点历史拥挤情况的代价,历史拥挤度越高,累加的代价越高。130.其中,节点的拥挤情况可以根据该节点被线网的占用次数来确定,占用次数越多,拥挤度越高。131.本技术实施例提供的fpga布线方法,通过双向搜索布线得到对应各输入节点及输出节点的线网,相对于单向搜索扩展的节点,双向启发式搜索所扩展的节点更少,搜索效率高,从而可以在保证电路质量的情况下,有效降低布线过程的运行时间。而且,双向搜索时正、反向都有实际路径,相比于单向搜索方式,可以得到准确的实际代价,从而准确地选出代价最小的节点,减少估计代价次数,从而降低因为无法准确估计拥挤度带来的影响,减少搜索布线时间。132.相应地,本技术实施例还提供一种fpga布线装置,如图7所示,是该装置的一种结构框图。133.在该实施例中,所述装置包括以下各模块:134.双向搜索布线模块701,用于依次选取输入节点及对应的输出节点进行双向搜索布线,得到对应所述输入节点及输出节点的线网;在所述双向搜索布线模块得到所有线网后,输出布线结果;135.拥挤线网检查模块702,用于检查所述布线结果中是否存在拥挤线网;136.拆线处理模块703,用于在所述布线结果中存在拥挤线网的情况下,对所述拥挤线网拆线,并触发所述双向搜索布线模块对拆线后的线网重新进行双向搜索布线,直至所述布线结果中不存在拥挤线网。137.需要说明的是,拥挤线网的检查可以通过所述布线结果中各线段被所述线网的占用次数来确定;如果占用次数大于1,则确定所述线段为待拆线段,确定占用所述待拆线段的线网为拥挤线网。138.相应地,所述拆线处理模块703可以采用相同或不同的拆线策略对所述拥挤线网中不同类型的线进行拆线。而且,可以对所述拥挤线网中至少包括所述待拆线段的一段或多段线段拆线。139.如图8所示,上述双向搜索布线模块701的一种具体结构,可以包括以下各模块:140.设置模块801,用于建立正向优先队列及其对应的正向判别器、反向优先队列及其对应的反向判别器;141.初始化模块802,用于选取输入节点,将所述输入节点及所述输入节点的已有路径节点放入正向优先队列,并在正向判别器中记录进入过正向优先队列的节点;将与所述输入节点对应的输出节点放入反向优先队列,并在反向判别器中记录进入过反向优先队列的节点;142.搜索模块803,用于依次对正向优先队列和反向优先队列中代价最小的节点进行搜索布线,并根据对应的判别器确定搜索结果,直至找到路径或队列为空。143.所述搜索模块803具体可以包括以下各单元:节点选取单元、检查单元、以及节点扩展单元。其中:144.所述节点选取单元,用于从正向优先队列中取出代价最小的一个节点,并将该节点作为正向检测节点;145.所述检查单元,用于检查所述正向检测节点是否在所述反向判别器中,如果是,则确定找到路径;否则,触发所述节点扩展单元对所述正向检测节点进行正向扩展,并将正向扩展得到的节点放入正向优先队列和正向判别器中;146.所述节点选取单元,还用于从反向优先队列中选出代价最小的一个节点,并将该节点作为反向检测节点;147.所述检查单元,还用于检查所述反向检测节点是否在所述正向判别器中,则确定找到路径;否则,触发所述节点扩展单元对所述反向检测节点进行反向扩展,并将反向扩展得到的节点放入反向优先队列和反向判别器中;148.线网输出单元,用于在所述检查单元确定找到路径后,根据所述输入节点的已有路径节点、以及所述节点选取单元依次从正向优先队列及反向优先队列取出的代价最小的节点得到对应所述输入节点及输出节点的线网。149.上述各实施例的模块及单元的工作过程具体可参见对应方法实施例中的描述,在此不再赘述。150.在上述各实施例中,所述节点的代价可以由相应的代价计算模块来计算,所述代价计算模块可以作为本技术fpga布线装置的一部分,也可以独立于该装置,对此本技术实施例不做限定。151.另外,在实际应用中,所述代价计算模块可以包括以下各单元:152.第一计算单元,用于计算当前节点n的最优路径估计代价h(n),所述最优路径估计代价h(n)是从当前节点n到目标节点最优路径的估计代价;153.第二计算单元,用于计算当前节点n的实际路径代价g(n),所述实际路径代价g(n)是从输入节点到当前节点n的实际代价;所述当前节点的实际路径代价g(n)包括以下任意一项或多项:时延代价gd(n)、线长代价gw(n);154.代价估计单元,用于根据当前节点n的最优路径估计代价h(n)和当前节点n的实际路径代价g(n),确定当前节点n的代价。155.其中,所述第二计算单元可以利用现有的elmore时延模型计算得到,对此不再详细描述。156.所述线长代价gw(n)可以包括以下任意一项或多项:基础代价、当前拥挤度代价、历史累积拥挤度代价,各项代价的含义及确定方式在前面已有详细说明,在此不再赘述。157.在具体实施中,关于上述实施例中描述的各个装置、产品包含的各个模块/单元,其可以是软件模块/单元,也可以是硬件模块/单元,或者也可以部分是软件模块/单元,部分是硬件模块/单元。158.本技术实施例提供的fpga布线装置,通过双向搜索布线得到对应各输入节点及输出节点的线网,相对于单向搜索扩展的节点,双向启发式搜索所扩展的节点更少,搜索效率高,从而可以在保证电路质量的情况下,有效降低布线过程的运行时间。而且,双向搜索时正、反向都有实际路径,相比于单向搜索方式,可以得到准确的实际代价,从而准确地选出代价最小的节点,减少估计代价次数,从而降低因为无法准确估计拥挤度带来的影响,减少搜索布线时间。159.本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述1、图2、图3对应实施例提供的方法的步骤。或者,所述计算机程序被处理器运行时执行上述图1、图2、图3对应实施例提供的方法的步骤。160.本技术实施例还提供了一种电子设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述图1、或者图2、或者图3对应实施例所提供的方法的步骤。161.虽然本技术披露如上,但本技术并非限定于此。任何本领域技术人员,在不脱离本技术的精神和范围内,均可作各种更动与修改,因此本技术的保护范围应当以权利要求所限定的范围为准。
图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
一种FPGA布线方法及装置与流程
作者:admin
2022-10-18 22:55:11
842
关键词:
计算;推算;计数设备的制造及其应用技术
专利技术
- 下一篇: 折叠增升翼的制作方法
- 上一篇: 换热组件及空调机组的制作方法