一种FPGA布线方法及装置制造方法及图纸

技术编号:23933545 阅读:16 留言:0更新日期:2020-04-25 02:19
本发明专利技术提供一种FPGA布线方法及装置,通过确定作为布线起点的起始节点,将起始节点对应的各终点节点划分为至少一个终点集合,将一个终点集合作为一个逻辑终点,建立起始节点到各终点集合的布线路径,再将终点集合内的各终点节点连接到该布线路径上,这种布线方式避免针对每一个终点都要建立一条布线路径,使得在尽量少的节点遍历过程中完成布线,提高布线资源的使用效率,从而减小布线冲突,提高布线速度并降低内存开销。

A FPGA wiring method and device

【技术实现步骤摘要】
一种FPGA布线方法及装置
本专利技术涉及现场可编程门阵列(FPGA)
,尤其涉及一种FPGA布线方法及装置。
技术介绍
随着电子技术的飞速发展,数字电路的设计脚步也逐渐加快,FPGA的问世使得数字电路的设计变得简单快速。随着应用场景和市场需求的多样化,数字电路的设计规模不断扩大,FPGA设计软件的逻辑处理能力受到挑战,运行时间和内存开销的控制成为了一个重要的课题。目前布线算法中比较通用的是A*算法,这是一种以代价值函数驱动的图搜索算法。A*算法的基本公式为:f(n)=g(n)+h(n)其中,n为中间节点,g(n)为从起始节点到节点n的实际代价值,h(n)为从节点n到终点节点的预估代价值。A*算法在布线过程的总运行时间和内存均与搜索节点的数目有关,搜索的节点数目越多,所需时间越长,占用内存也越大。在A*布线算法中,对一个net而言,其各终点的布线过程是相互独立的,代价值驱动的算法使得各个终点在布线过程中趋向各自不同的最优解,因此,针对每个终点都要建立一条从起点到终点的路径进行布线。这就导致在大规模、复杂的电路设计中,布线过程会花费大量的运算时间,并且可能产生严重的布线路径冲突,解决这些冲突同样将花费大量的运行时间和内存。
技术实现思路
本专利技术提供一种FPGA布线方法及装置,解决现有大规模电路设计中布线运行时间长和内存消耗较大的问题。为解决上述技术问题,本专利技术提供了一种FPGA布线方法,包括:确定作为布线起点的起始节点,将起始节点对应的各终点节点划分为至少一个终点集合;将一个终点集合作为一个逻辑终点,建立所述起始节点到各所述逻辑终点的布线路径;将所述终点集合内的各终点节点连接到所述布线路径上。可选地,所述将起始节点对应的各终点节点划分为至少一个终点集合包括:获取每一个终点节点的坐标值;根据所述坐标值将所述终点节点划分为至少一个集合;或者,将具有至少一个共用中间节点的终点节点划分到一个集合中。可选地,所述建立所述起始节点到各所述终点集合的布线路径包括:确定各终点集合对应的中间节点;对所述起始节点到各所述中间节点进行布线。可选地,所述确定各终点集合对应的中间节点包括:利用布线算法分别计算出所述起始节点到各终点集合的多个布线路径的代价值;确定最小代价值所对应的节点为该终点集合的中间节点。可选地,所述建立所述起始节点到各所述终点集合的布线路径之后还包括:当所述起始节点到各所述终点集合的布线路径存在相同的布线路径时,将所述相同的布线路径对应的终点集合合并成一个集合。本专利技术还提供了一种FPGA布线装置,包括:确定模块,用于确定作为布线起点的起始节点;集合划分模块,用于将起始节点对应的各终点节点划分为至少一个终点集合;布线模块,用于将一个终点集合作为一个逻辑终点,建立所述起始节点到各所述逻辑终点的布线路径;还用于将所述终点集合内的各终点节点连接到所述布线路径上。可选地,所述集合划分模块具体用于获取每一个终点节点的坐标值,根据所述坐标值将所述终点节点划分为至少一个集合;或者,所述集合划分模块具体还用于将具有至少一个共用中间节点的终点节点划分到一个集合中。可选地,所述确定模块还用于确定各终点集合对应的中间节点;所述布线模块用于对所述起始节点到各所述中间节点进行布线。可选地,所述确定模块还包括:计算模块,用于利用布线算法分别计算出所述起始节点到各终点集合的多个布线路径的代价值,则确定最小代价值所对应的节点为该终点集合的中间节点。可选地,FPGA布线装置还包括:集合合并模块,用于当所述起始节点到各所述终点集合的布线路径存在相同的布线路径时,将所述相同的布线路径对应的终点集合合并成一个集合。有益效果本专利技术针对现有技术大规模电路设计中布线运行时间长和内存消耗较大的问题,提供了一种FPGA布线方法及装置,通过确定作为布线起点的起始节点,将起始节点对应的各终点节点划分为至少一个终点集合,将一个终点集合作为一个逻辑终点,建立起始节点到各终点集合的布线路径,再将终点集合内的各终点节点连接到该布线路径上,这种布线方式避免针对每一个终点都要建立一条布线路径,使得在尽量少的节点遍历过程中完成布线,提高布线资源的使用效率,从而减小布线冲突,提高布线速度并降低内存开销。附图说明图1为现有FPGA布线逻辑示意图;图2为本专利技术实施例一提供的FPGA布线逻辑示意图;图3为本专利技术实施例一提供的FPGA布线方法的基本流程图;图4为本专利技术实施例一提供的FPGA布线方法的集合划分的示意图;图5为本专利技术实施例一提供的FPGA布线方法的集合合并的示意图;图6为本专利技术实施例一提供的FPGA布线方法的示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,下面通过具体实施方式结合附图对本专利技术实施例作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。实施例一:为了减少现有大规模电路设计中布线运行时长和内存的消耗,本专利技术提供了一种FPGA布线方法。参见图1所示,图1为现有FPGA中一条net的布线逻辑示意图。该net有8个终点(实际可能多达几千个),需要分别从起点D布8条路径到对应的终点,同时这8条布线路径需要与其他net的布线路径竞争布线资源。这种布线方式在在大规模、复杂的电路设计中,会花费大量的运算时间,并且可能产生严重的布线路径冲突,同时为了解决这些冲突也将花费大量的运行时间和内存。本实施例中,为了解决现有技术大规模电路设计中布线运行时间长和内存消耗较大的问题,对FPGA中的布线方法进行了优化。优化后的布线逻辑示意图参见图2,将该net的终点按照特定规则划分为3个集合,布线时从起点D布三条路径到三个终点集合附近,再分别处理从中间节点到终点之间的短距离布线,这样可以节省布线资源,减少布线冲突,从而缩短布线时间。本实施例中,FPGA布线方法的具体流程参见图3:S301、确定作为布线起点的起始节点,将起始节点对应的各终点节点划分为至少一个终点集合。应当理解的是,FPGA为一种可编程的器件,可以根据实现的功能来选择布线资源,也就是说,不同功能的实现其布线起点可能是不同的,因此,要确定好布线起点,将该布线起点则为起始节点。本实施例中,将布线过程中起始节点对应的各终点节点划分为至少一个终点集合的方法包括但不限于根据终点节点的坐标来划分终点集合或者将具有至少一个共用中间节点的终点节点划分到一个终点集合中。本实施例中,以根据终点节点的坐标来划分终点集合作为示例,对终点集合的划分做进一步详细说明。参见图4,图4为终点集合划分的示意图。布线起点确定后,获取布线起点对应的各终点节点的坐标,根据坐标将在FPGA中位置临近的终点本文档来自技高网...

【技术保护点】
1.一种FPGA布线方法,其特征在于,包括:/n确定作为布线起点的起始节点,将起始节点对应的各终点节点划分为至少一个终点集合;/n将一个终点集合作为一个逻辑终点,建立所述起始节点到各所述逻辑终点的布线路径;/n将所述终点集合内的各终点节点连接到所述布线路径上。/n

【技术特征摘要】
1.一种FPGA布线方法,其特征在于,包括:
确定作为布线起点的起始节点,将起始节点对应的各终点节点划分为至少一个终点集合;
将一个终点集合作为一个逻辑终点,建立所述起始节点到各所述逻辑终点的布线路径;
将所述终点集合内的各终点节点连接到所述布线路径上。


2.如权利要求1所述的FPGA布线方法,其特征在于,所述将起始节点对应的各终点节点划分为至少一个终点集合包括:
获取每一个终点节点的坐标;
根据所述坐标将所述终点节点划分为至少一个集合;
或者,
将具有至少一个共用中间节点的终点节点划分到一个终点集合中。


3.如权利要求1所述的FPGA布线方法,其特征在于,所述建立所述起始节点到各所述逻辑终点的布线路径包括:
确定各终点集合对应的各中间节点;
对所述起始节点到各所述中间节点进行布线。


4.如权利要求3所述的FPGA布线方法,其特征在于,所述确定各终点集合对应的中间节点包括:
利用布线算法分别计算出所述起始节点到各终点集合的多个布线路径的代价值;
确定最小代价值所对应的节点为该终点集合的中间节点。


5.如权利要求4所述的FPGA布线方法,其特征在于,所述建立所述起始节点到各所述逻辑终点的布线路径之后还包括:
当所述起始节点到各所述终点集合的布线路径存在相同的布线路径时,将所述相同的布线路径对应的终点集合合并成一个...

【专利技术属性】
技术研发人员:雷洋夏炜
申请(专利权)人:深圳市紫光同创电子有限公司
类型:发明
国别省市:广东;44

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

1