一种加速布线方法技术

技术编号:14688511 阅读:76 留言:0更新日期:2017-02-23 10:51
本发明专利技术公开了一种加速布线方法,所述方法包括:根据所有线网的布线顺序从先入先出队列中取出第一线网;当确定第一线网存在拥挤,且确定第一线网扇出大于第一预定阈值时,则判断当前迭代周期是否为特殊迭代周期;当确定当前迭代周期为特殊迭代周期时,则将第一线网拆线后重新绕线;当确定当前迭代周期为非特殊迭代周期时,判断当前的先入先出队列是否为空队列;当当前的先入先出队列为非空队列时,从当前的先入先出队列中取出第二线网,重复执行当前迭代周期的迭代流程;当当前的先入先出队列为空队列时,结束当前迭代周期的迭代流程。

【技术实现步骤摘要】

本专利技术涉及FPGA
,尤其涉及一种加速布线方法
技术介绍
传统的现场可编程门阵列((Field-ProgrammableGateArray,简称FPGA)布线算法中,由于包含高扇出线网。扇出是指模块直接调用的下级模块的个数。而在FPGA中,高扇出,则指的是一个功能模块驱动多个功能模块。正因为有高扇出线网的存在,所以对于包含高扇出的线网布线一般而言都将花费大量的时间。为了节省布线的时间,现有技术中包含一种Pathfinder算法。Pathfinder是目前最流行的一种布线算法,其核心思想是在中间迭代过程中允许拥挤的发生(即2个或者2个以上的线网占用同一个绕线资源),通过不断的迭代最终消除拥挤。但是该方法存在的缺点在于:在布线过程中,如果扇出大的线网和扇出小的线网发生拥挤时,不会事先确定哪个线网是扇出大的线网,哪个是扇出小的线网。那么在拆线后重新绕线时,会随机的对扇出大的线网和扇出小的线网之一进行拆线后重新绕线,或者全部进行拆线后重新绕线。那么将会有很大的几率会将扇出大的线网进行拆线后重新绕线。如此,则会浪费很多的时间。但是有时候则是可以将扇出小的线网进行拆线后重新绕线,就可以避免扇出大的线网和扇出小的线网之间拥挤的问题。因此,如何尽可能的避免将扇出大的线网进行拆线后重新绕线,实现加速布线是亟待解决的问题。
技术实现思路
为了解决上述问题,本专利技术提供一种加速布线方法。所述方法包括:根据所有线网的布线顺序从先入先出队列中取出第一线网,其中第一线网为相对于当前的先入先出队列中所包含的其他线网,布线顺序优先的线网;当确定第一线网存在拥挤,且确定第一线网扇出大于第一预定阈值时,则判断当前迭代周期是否为特殊迭代周期,其中,从先入先出队列中依次按照布线顺序取出所有线网中每一个线网,为一个迭代周期,特殊迭代周期指的是与第一迭代周期存在固定数值关系的迭代周期;当确定当前迭代周期为特殊迭代周期时,则将第一线网拆线后重新绕线;判断当前的先入先出队列是否为空队列,并根据当前的先入先出队列是否为空队列,执行不同的迭代流程。优选的,判断第一线网是否存在拥挤还包括:当确定第一线网不存在拥挤时,判断当前的先入先出队列是否为空队列;并根据当前的先入先出队列是否为空队列,执行不同的迭代流程。优选的,当确定第一线网存在拥挤之后,该方法还包括:当确定第一线网扇出小于第一预定阈值时,则直接将第一线网进行拆线后重新绕线;并在将第一线网进行拆线后重新绕线之后,判断当前的先入先出队列是否为空队列;并根据当前的先入先出队列是否为空队列,执行不同的迭代流程。优选的,判断当前迭代周期是否为特殊迭代周期,还包括:当确定当前迭代周期为非特殊迭代周期时,判断当前的先入先出队列是否为空队列;并根据当前的先入先出队列是否为空队列,执行不同的迭代流程。进一步优选的,根据当前的先入先出队列是否为空队列,执行不同的迭代流程,包括:当当前的先入先出队列为非空队列时,从当前的先入先出队列中取出第二线网,重复执行当前迭代周期的迭代流程,其中,第二线网的布线顺序滞后于第一线网,且优先于当前的先入先出队列中其他线网的布线顺序;或者,当当前的先入先出队列为空队列时,结束当前迭代周期的迭代流程。进一步优选的,确定当前的先入先出队列为空队列时,结束当前迭代周期的迭代流程之后,该方法还包括:重新遍历所有线网;当所有线网中的两个或者两个以上的线网之间存在拥挤时,将所有线网加入到先入先出队列,进入下一迭代周期;或者,当所有线网中不存在拥挤时,则布线成功。进一步优选的,根据所有线网的布线顺序从先入先出队列中取出第一线网之前,该方法还包括:将所有线网按照布线顺序加入到先入先出队列中。本专利技术提供的一种加速布线的方法,当遇到线网存在拥挤时,首先判断该线网是否为高扇出线网,而在确定该线网为高扇出线网时,则需要判断当前迭代周期是否为特殊迭代周期,只有在特殊迭代周期时,才会对高扇出线网进行拆线重绕。如果在非特殊迭代周期,则跳过该线网。如果该线网为非高扇出线网,则立即对该线网进行拆线重绕。目的是尽量避免对高扇出线网进行拆线重绕,以便节省拆线重绕的时间,提升线网的布线速度,大大缩短了布线的运行时间。附图说明图1为本专利技术实施例提供的一种加速布线方法的流程示意图;图2为本专利技术实施例提供的另一种加速布线方法的流程示意图。具体实施方式下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。图1本专利技术实施例提供的一种加速布线方法流程示意图100。如图所示1,该方法包括:步骤110,根据所有线网的布线顺序从先入先出队列中取出第一线网。具体的,按照布线顺序,从先入先出队列中取出第一线网。应理解,这里的第一线网指的并非特指按照顺序而言第一个加入到队列中的线网。而是,相对于当前的先入先出队列中所包含的其他线网而言,布线顺序优先的线网。可选的,在步骤110之前,其实该方法还可以包括步骤105,将所有线网按照布线顺序依次加入到先入先出队列中。步骤120,当确定第一线网存在拥挤,且确定第一线网扇出大于第一预定阈值时,则判断当前迭代周期是否为特殊迭代周期。具体的,当确定第一线网存在拥挤时,并非直接将第一线网进行拆线后,进行重新绕线。而是要判断第一线网的扇出是否大于第一预定阈值。该做法的目的是为了判断第一线网是否为高扇出线网。当确定第一线网扇出大于第一预定阈值时,也即是确定第一线网为高扇出线网后,则需要判断当前迭代周期是否为特殊迭代周期。其中,从先入先出队列中按照布线顺序依次取出所有线网中每一个线网,为一个迭代周期。而特殊迭代周期则指的是与第一迭代周期存在固定数值关系的迭代周期。这里的固定数值关系可以为倍数关系、固定差值关系等等。例如,将第一迭代周期为特殊迭代周期,而第六迭代周期(假设当前迭代周期为特殊迭代周期,间隔四个迭代周期后的下一个迭代周期为特殊迭代周期)为特殊迭代周期。又或者,第二迭代周期为特殊迭代周期,而第四迭代周期同样为特殊迭代周期,即属于2的倍数关系的迭代周期为特殊迭代周期。步骤130,当确定当前迭代周期为特殊迭代周期时,则将第一线网拆线后重新绕线。具体的,在步骤130中,如果确定第一线网为高扇出线网,为了避免每一次迭代时,遇到高扇出线网时,都要对高扇出线网进行拆线重绕,以便节省线网布线的时间。则可以规定只有在特殊迭代周期时,才会将高扇出线网进行拆线,然后进行重新绕线。否则,暂时对该高扇出线网不做任何处理。步骤140,判断当前的先入先出队列是否为空队列,并根据当前的先入先出队列是否为空队列,执行不同的迭代流程。在步骤130中,对高扇出线网进行拆线,并进行重新绕线之后。还需要判断当前的先入先出队列是否为空队列,并根据当前的先入先出队列是否为空,执行不同的迭代流程。具体的迭代流程可以包括:当当前的先入先出队列为非空队列时,从当前的先入先出队列中取出第二线网,重复执行步骤110至步骤140,直至当前的先入先出队列为空队列时,结束当前迭代周期的全部迭代流程。其中,第二线网的布线顺序滞后于第一线网的布线顺序,但是优先于当前的先入先出队列中其他线网的布线顺序。可选的,如果在步骤120中,如果确定第一线网不存在拥挤,那么则可以跳过步骤130,而直接执行步骤140。进一步可选的,如果在步骤120中,确定第一线网存在拥本文档来自技高网...
一种加速布线方法

【技术保护点】
一种加速布线方法,其特征在于,所述方法包括:根据所有线网的布线顺序从先入先出队列中取出第一线网,其中所述第一线网为相对于当前的先入先出队列中所包含的其他线网,布线顺序优先的线网;当确定所述第一线网存在拥挤,且确定所述第一线网扇出大于第一预定阈值时,则判断当前迭代周期是否为特殊迭代周期,其中,从所述先入先出队列中依次按照布线顺序取出所有线网中每一个线网,为一个迭代周期,所述特殊迭代周期指的是与第一迭代周期存在固定数值关系的迭代周期;当确定所述当前迭代周期为特殊迭代周期时,则将所述第一线网拆线后重新绕线;判断所述当前的先入先出队列是否为空队列,并根据所述当前的先入先出队列是否为空队列,执行不同的迭代流程。

【技术特征摘要】
1.一种加速布线方法,其特征在于,所述方法包括:根据所有线网的布线顺序从先入先出队列中取出第一线网,其中所述第一线网为相对于当前的先入先出队列中所包含的其他线网,布线顺序优先的线网;当确定所述第一线网存在拥挤,且确定所述第一线网扇出大于第一预定阈值时,则判断当前迭代周期是否为特殊迭代周期,其中,从所述先入先出队列中依次按照布线顺序取出所有线网中每一个线网,为一个迭代周期,所述特殊迭代周期指的是与第一迭代周期存在固定数值关系的迭代周期;当确定所述当前迭代周期为特殊迭代周期时,则将所述第一线网拆线后重新绕线;判断所述当前的先入先出队列是否为空队列,并根据所述当前的先入先出队列是否为空队列,执行不同的迭代流程。2.根据权利要求1所述的方法,其特征在于,所述判断所述第一线网是否存在拥挤还包括:当确定所述第一线网不存在拥挤时,判断所述当前的先入先出队列是否为空队列;并根据所述当前的先入先出队列是否为空队列,执行不同的迭代流程。3.根据权利要求1所述的方法,其特征在于,所述当确定所述第一线网存在拥挤之后,所述方法还包括:当确定所述第一线网扇出小于第一预定阈值时,则直接将所述第一线网进行拆线后重新绕线;并在将所述第一线网进行拆线后重新绕线之后,判断所述当前的先入先出队列是否为空队列;并根据所述当前的先入先出队列是否为空队列,执行不同的...

【专利技术属性】
技术研发人员:耿嘉樊平
申请(专利权)人:北京深维科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1