本发明涉及电子技术领域,尤其涉及一种高扇出线网的物理综合方法。
背景技术:
传统的现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)布局算法,比如通用布局布线(Versatile Place and Route,VPR)算法,在线网扇出较小时,耗时较少,但是当线网扇出较大时,传统的布局算法往往耗时较长,优化比较困难,处理难度大,如图1所示,图1为高扇出线网模型,S为源节点,因为其扇出较大,因此该线网的布局问题是全局布局问题,使用VPR算法进行布局时,耗时较长,优化难度大。
技术实现要素:
为了解决上述问题,本发明提供了一种高扇出线网的物理综合方法,降低了布局时的难度,所述方法包括:
布局后,获取线网扇出;
将获取的所述线网扇出与预设阈值比较,当所述线网扇出大于所述预设阈值时,获取所述线网对应的源节点;
对与所述源节点所连接的节点进行划分,生成至少一个节点块,并在每个所述节点块中添加第一单元。
优选地,所述第一单元具体为缓冲器LUT。
优选地,所述第一单元具体为所述源节点。
优选地,所述源节点具体为逻辑单元。
优选地,所述对与所述源节点所连接的节点进行划分,生成至少一个节点块,并在每个所述节点块中添加第一单元具体包括:
判断所述源节点和所述节点间的路径类型;
当所述路径类型为时序不敏感路径时,在所述节点块中添加缓冲器LUT。
本发明提供的高扇出线网的物理综合方法,布局后,获取线网扇出;将获取的所述线网扇出与预设阈值比较,当所述线网扇出大于所述预设阈值时,获取所述线网对应的源节点;对与所述源节点所连接的节点进行划分,生成至少一个节点块,并在每个所述节点块中添加第一单元,降低了布局时的难度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为高扇出线网模型;
图2为本发明实施例提供的高扇出线网物理综合方法流程图;
图3为本发明实施例一提供的高扇出线网模型;
图4为时序不敏感路径插入缓冲器LUT的示意图;
图5为时序敏感路径插入缓冲器LUT的示意图;
图6为本发明实施例二提供的高扇出线网模型;
图7为本发明实施例二提供的插入源节点示意图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
图2为本发明实施例提供的高扇出线网物理综合方法流程图,如图2所示,本实施例包括以下步骤:
S210,布局后,获取线网扇出。
具体地,在FPGA布局后,进行物理综合,在物理综合时,可以对布局进行微小的调整。
S220,将获取的所述线网扇出与预设阈值比较,当所述线网扇出大于所述预设阈值时,获取所述线网对应的源节点。
具体地,预先设置一阈值,比如500,当获取的线网扇出大于500时,获取该扇出大于500的线网的源节点。
S230,对与所述源节点所连接的节点进行划分,生成至少一个节点块,并在每个所述节点块中添加第一单元。
具体地,与源节点连接的节点具有多个,可以根据具体情况,将这些节点划分在节点块中。
在一个实施例中,如图3所示,图3为本发明实施例一提供的高扇出线网模型,可以根据与源节点所连接的节点的位置将该些节点划分在节点块中,也可以根据源节点与节点间的时序约束,将该些节点划分在节点块中,在图3中,源节点为S,将节点1划分在第一节点块,将节点2划分在第二节点块,将节点3划分在第三节点块,将节点4划分在第四节点块,在第一节点块中,又包含了节点1的m个子节点,同理,在第四节点块中,包含了节点4的n个子节点,其中,m和n可以相同,也可以不同。
其中,第一单元可以是缓冲器LUT。缓冲器LUT的个数可以和节点块的个数相等,也可以和节点块的个数不等。当源节点与节点间的路径都为对时序不敏感的路径时,第一单元的数量和节点块的数量相同。比如,当S到节点1、节点2、节点3、节点4都为对时序不敏感的路径时,节点块的数量和第一单元的数量都是四个,添加的缓冲器LUT分别为B1、B2、B3、B4。在源节点与扇出之间插入缓冲器LUT后,可以将源节点原本的扇出分配到缓冲器LUT的扇出上,比如,每个缓冲器LUT扇出100,从而有效降低了布局阶段的难度。如图4所示,图4为时序不敏感路径插入缓冲器LUT的示意图,在图4中,添加的缓冲器LUT的个数为2。
当源节点与节点间存在对时序敏感的路径时,可以仅对时序不敏感的路径中插入缓冲器LUT,对时序敏感的路径不做处理,如图5所示,图5为时序敏感路径插入缓冲器LUT的示意图,在图5中,添加的缓冲器LUT的个数为1。
在另一个实施例中,如图6所示,图6为本发明实施例二提供的高扇出线网模型,源节点为S,可以根据与源节点所连接的节点的位置将该些节点划分在节点块中,也可以根据源节点与节点间的时序约束,将该些节点划分在节点块中,比如,将节点1划分在第一节点块,将节点2划分在第二节点块,将节点3划分在第三节点块,将节点4划分在第四节点块,在第一节点块中,又包含了节点1的m个子节点,同理,在第四节点块中,包含了节点4的n个子节点,在第一节点块中插入源节点S1,在第二节点中插入源节点S2,第三节点中插入源节点S3,第四节点中插入源节点S4,其中,S1-S4和S相同。图7为本发明实施例二提供的插入源节点示意图,如图7所示,在图7中,添加了源节点S1和源节点S2。
第一单元可以是源节点,该源节点具体为逻辑单元,比如寄存器。由于源节点由一个变为多个,则可有效的分散源节点的扇出,将原本的全局布局问题转化为5个局部布局问题,简化了布局难度。当源节点为寄存器等时序路径的起点时,可以有效缩短路径延时。
应用本发明实施例提供的高扇出线网的物理综合方法,布局后,获取线网扇出;将获取的所述线网扇出与预设阈值比较,当所述线网扇出大于所述预设阈值时,获取所述线网对应的源节点;对与所述源节点所连接的节点进行划分,生成至少一个节点块,并在每个所述节点块中添加第一单元,降低了布局时的难度。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。