一种对高扇出的可编程门列阵进行布局布线的方法技术

技术编号:8241580 阅读:325 留言:0更新日期:2013-01-24 22:30
本发明专利技术公开了一种对高扇出的可编程门列阵进行布局布线的方法,包括:读取可编程门列阵FPGA芯片结构信息和打包之后生成的网表信息;根据读取的可编程门列阵FPGA芯片结构信息和网表信息对FPGA进行布局;根据对FPGA的布局结果对FPGA进行布线;以及生成布局布线结果,完成对FPGA的布局布线。利用本发明专利技术,能够有效的降低电路的延时,提高布线资源的利用率。

【技术实现步骤摘要】

本专利技术涉及集成电路及电子设计自动化
,特别涉及一种对高扇出的可编程门列阵(FPGA)进行布局布线的方法。
技术介绍
FPGA是目前市场上广泛使用的可编程器件,具有开发周期短和成本低等优点。FPGA可以实现各种各样的应用,在FPGA设计的CAD软件流程中,布局布线是至关重要的一步。布局方法确定了实现电路功能需要的各逻辑单元块在FPGA中的位置,它的优化目标是把相连的逻辑单元块靠近放置以最大限度地减少所需要的布线资源,但有时也要平衡FPGA中所需要的布线密度或者最大限度提高电路速度。一旦确定了电路中所有逻辑单元块的位置,布线器就可打通合适的可编程开关以连接电路需要的所有逻辑单元块的输入和输出引脚。绝大多数FPGA的布线器有一套避免拥挤的策略以解决布线资源竞争问题。 在FPGA的应用中,高扇出是指在打包之后的网表信息中,一个源端连接多个漏端的情况(通常超过10个,如图2所示),高扇出一般会对布局布线造成很大的困扰,因为它要占用大量的布线资源,而且在关键路径中也基本上都包含着具有高扇出的源端。在普通的布局布线过程中并没有针对高扇出做特别处理,这会导致大量的布线资源浪费,而且会增大电路的延时,甚至会导致电路无法布线成功。绝大多数的电路都会有高扇出的存在,因此有必要针对高扇出的FPGA的布局布线方法进行改进。
技术实现思路
(一 )要解决的技术问题有鉴于此,本专利技术的主要目的在于提供,以实现对高扇出的可编程门列阵的布局布线进行改进。( 二 )技术方案为达到上述目的,本专利技术提供了,该方法包括读取可编程门列阵FPGA芯片结构信息和打包之后生成的网表信息;根据读取的可编程门列阵FPGA芯片结构信息和网表信息对FPGA进行布局; 根据对FPGA的布局结果对FPGA进行布线;以及生成布局布线结果,完成对FPGA的布局布线。上述方案中,所述根据读取的可编程门列阵FPGA芯片结构信息和网表信息对FPGA进行布局的过程中,如果某移动的逻辑模块的漏端对应某高扇出的源端,则该布局包括判断在移动前此漏端对应的逻辑模块与源端对应的逻辑模块是否处于对齐方向;如果移动前此二者处于对齐方向,则降低此逻辑模块移动的几率;判断在移动后此漏端对应的逻辑模块与源端对应的逻辑模块是否处于对齐方向;如果移动后此二者处于对齐方向,则提高此逻辑模块加移动的几率。上述方案中,所述根据对FPGA的布局结果对FPGA进行布线的过程中,针对高扇出的源端所对应的漏端,该布线包括判断此漏端是否处于和源端对齐位置;判断此漏端是否处于关键路径;判断在源端的对齐方向上是否有其他对应漏端;以及如果有多于一个的漏端处于对齐方向,则增加用长线连接源端与漏端的机会。上述方案中,所述读取FPGA芯片结构信息和打包之后生成的网表信息的步骤中, 所述FPGA芯片结构信息包括芯片中各种类型的逻辑单元块的位置、逻辑单元块的引脚名称、引脚位置、逻辑单元块输入引脚到输出引脚的延时、布线通道的宽度、互连线段的分布和延时及布线开关的位置、类型、延时;所述打包之后生成的网表信息包括打包之后生成的逻辑单元块的名称和类型、使用到的逻辑单元块的引脚、以及所有线网的源端和漏端。上述方案中,所述根据读取的可编程门列阵FPGA芯片结构信息和网表信息对FPGA进行布局,采用模拟退火算法进行,该模拟退火算法是模仿逐渐冷却熔化金属以制造金属材料的退火过程,具有一成本函数Cost (S),该成本函数Cost (S)如下Cost(S) = (I-timing_tradeoff-Afac)*bb_cost+timing_tradeoff*timing_cost+Afac*alignment ;其中,timing_tradeoff为时序因子,用来调节延时对于布局的影响;bb_cost是线网边界框的值;timing_cost是时序值,Afac为加入的对齐因子,alignment为对齐值,且alignment初始值为O。所述对齐因子Afac是一个动态因子,其值与电路的高扇出数目的平方成反比关系,与电路的线网数目成正比关系。上述方案中,所述根据对FPGA的布局结果对FPGA进行布线的步骤中,所述布线采用路径搜索算法,该路径搜索算法是迷宫式布线器的派生方法,在布线初期假定每条线网都是关键的,不记布线资源的重用问题,反复的拆线重布电路中的各条线网,直到所有的拥挤度问题都得到解决。所述路径搜索算法采用波前扩展方法。上述方案中,所述根据对FPGA的布局结果对FPGA进行布线的步骤中,所述对FPGA进行布局结束后,该方法还创建二维数组AlignmentInfo,该二维数组AlignmentInfo的第一维是线网值,该二维数组AlignmentInfo的第二维是当前线网源端或者漏端的值,二维数组AlignmentInfo存储的信息是当前漏端是否与源端对齐,水平或者是垂直方向对齐,距离源端的距离是多少。上述方案中,所述对FPGA进行布线的过程中,如果某线网N的源端是高扇出,则在源端与漏端布线时,先判断此源端到漏端是否处于关键路径,如果是,则按常规布线;如果否,则读取二维数组AlignmentInfo ;判断此漏端是否与源端对齐,如果是,则再读取此漏端对齐方向上是否有其他的漏端存在;如果有其他漏端存在,则分别估算连接该漏端的各种连接方式的成本,并对该各种连接方式的成本进行比较,选用成本较低的连接方式。(三)有益效果从上述技术方案可以看出,本专利技术具有以下有益效果I、本专利技术提供的对高扇出的可编程门列阵进行布局布线的方法,在布局过程中针对高扇出的漏端所在逻辑模块,提高此逻辑模块移动至高扇出源端所在逻辑模块的对齐位置的几率,实现了对高扇出的可编程门列阵的布局布线进行改进。 2、本专利技术提供的对高扇出的可编程门列阵进行布局布线的方法,在布线过程中针对高扇出的漏端布线,根据漏端的实际情况提高使用长线连接的几率,实现了对高扇出的可编程门列阵的布局布线进行改进。3、本专利技术提供的对高扇出的可编程门列阵进行布局布线的方法,应用于FPGA的布局布线方法,有效地降低了电路延时和减少布线资源的使用。附图说明图I是依照本专利技术实施例的FPGA布局布线的方法流程图;图2是依照本专利技术实施例的FPGA布局中一个简单的高扇出的示意图; 图3是依照本专利技术实施例的FPGA布局中逻辑模块对齐的示意图;图4是依照本专利技术实施例的FPGA布局时交换逻辑模块的示意图;图5是依照本专利技术实施例的FPGA布线方法改进前的布线规则的示意图;图6是依照本专利技术实施例的FPGA布线方法改进后的布线规则的示意图;图7是依照本专利技术实施例的二维数组AlignmentInfo存储内容的示意图。图8是依照本专利技术实施例的布局布线方法改进前后结果对比示意图。具体实施例方式为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术进一步详细说明。本专利技术提供的对高扇出的可编程门列阵进行布局布线的方法,是在布局过程中如果被移动的逻辑模块包含某一个高扇出的漏,则有较高几率将此模块放置于和此漏对应的源所在模块的对齐方向;在布线过程中如果布线的源端是高扇出,则会检查在此源端对齐方向的漏端数目,以便使用长线布线。该方法能够有效的降低电路的延时,提高布线资源的利用率。如图I所示,图I是依照本专利技术实施例的本文档来自技高网...

【技术保护点】
一种对高扇出的可编程门列阵进行布局布线的方法,其特征在于,该方法包括:读取可编程门列阵FPGA芯片结构信息和打包之后生成的网表信息;根据读取的可编程门列阵FPGA芯片结构信息和网表信息对FPGA进行布局;根据对FPGA的布局结果对FPGA进行布线;以及生成布局布线结果,完成对FPGA的布局布线。

【技术特征摘要】

【专利技术属性】
技术研发人员:李明李艳于芳
申请(专利权)人:中国科学院微电子研究所
类型:发明
国别省市:

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

1