FPGA硬宏单元的初始位置布局方法和装置与流程

文档序号:34458663发布日期:2023-06-14 23:07阅读:35来源:国知局
本发明涉及计算机,尤其涉及fpga硬宏单元的初始位置布局方法和装置。
背景技术
::1、现场可编程门阵列(field-programmable gate array,fpga)的布局布线阶段是对电路中的逻辑器件进行布局、布线资源分配和时序优化,以完成满足时序要求的电路的物理级实现。fpga电路中的逻辑器件包括查找表(look-up table,lut)、硬宏单元、寄存器和输入输出单元等,硬宏单元主要包括随机存取存储器(random access memory,ram)和数字信号处理器(digital signal processing,dsp),布局过程是将这些逻辑器件放置到合法位置,同时达到最小化连接线网总线长和均匀化布线资源的需求分布的目的。2、现有的fpga集成电路自动化设计软件大都采用解析式布局算法进行逻辑器件布局。解析式布局算法综合考虑了总连线长度优化和各器件密度均匀化,在获得总连线长度最小化的同时可尽可能将各器件均匀分布在整个芯片区域并尽量避免潜在的布线拥塞。该算法对逻辑器件的初始位置比较敏感,考虑到硬宏单元输入输出管脚数目较多,硬宏单元上关联的时序路径数目巨大,无法优化的长线网大概率会连接在硬宏单元上,局部布线拥塞区域大概率也会出现在硬宏单元附近,使得逻辑器件尤其是硬宏单元的初始位置不同容易导致布局结果差异巨大,而不够理想的布局结果存在无法优化的长线网或局部布线拥塞区域,往往会导致布线后时序无法收敛,频率目标无法满足。因此,合理布局硬宏单元的初始位置十分重要。3、目前,主要是简单将硬宏单元全都放置在芯片中心/左下角,或将硬宏单元随机分布在整个芯片区域的合法位置,并没有考虑到不同fpga电路的电路特性,特别是数据传输的时序路径特性,难以合理布局硬宏单元的初始位置,使得基于解析式布局算法的布局结果不够理想,出现布线困难或者时序收敛等问题。技术实现思路1、为了克服现有技术的缺陷,本发明提供fpga硬宏单元的初始位置布局方法和装置,能够基于时序超图合理布局硬宏单元的初始位置,有利于优化fpga布局布线效果。2、为了解决上述技术问题,第一方面,本发明一实施例提供一种fpga硬宏单元的初始位置布局方法,包括:3、针对fpga电路中的所有目标逻辑器件,建立时序超图;其中,所述目标逻辑器件包括硬宏单元、寄存器、输入输出单元;4、基于所述时序超图,将存在至少一条信号传输路径的两个所述硬宏单元作为一个硬宏单元组合,得到若干个硬宏单元组合,并获取各个所述硬宏单元组合的时序亲密度;5、根据各个所述硬宏单元组合的时序亲密度和各个所述硬宏单元的当前物理位置,采用模拟退火算法得到各个所述硬宏单元的最优物理位置,以将各个所述硬宏单元的最优物理位置对应作为各个所述硬宏单元的初始位置。6、进一步地,在所述针对fpga电路中的所有目标逻辑器件,建立时序超图之前,还包括:7、获取所述fpga电路的电路网表,从所述电路网表中选择所有所述目标逻辑器件。8、进一步地,所述硬宏单元组合的时序亲密度为:9、10、其中,m为第i个所述硬宏单元和第j个所述硬宏单元之间的目标信号传输路径上的寄存器总数,所述目标信号传输路径为第i个所述硬宏单元和第j个所述硬宏单元之间经过最多寄存器的一条信号传输路径,m={1,2,...,m},nm为第m级寄存器总数,k为预设指数衰减因子。11、进一步地,所述根据各个所述硬宏单元组合的时序亲密度和各个所述硬宏单元的当前物理位置,采用模拟退火算法得到各个所述硬宏单元的最优物理位置,具体为:12、根据各个所述硬宏单元组合的时序亲密度和各个所述硬宏单元的当前物理位置,以最小化所有所述硬宏单元之间的总线长为优化目标构造目标函数;13、基于所述目标函数,采用模拟退火算法进行求解,得到各个所述硬宏单元的最优物理位置。14、进一步地,所述目标函数为:15、16、其中,y为fpga布局方案,a(i,j)为第i个所述硬宏单元和第j个所述硬宏单元之间的时序亲密度,d(i,j)为第i个所述硬宏单元和第j个所述硬宏单元之间的当前曼哈顿距离,d(i,j)=|xi-xj|+|yi-yj|,(xi,yi)为第i个硬宏单元的当前物理位置,(xj,yj)为第j个硬宏单元的当前物理位置,n为所有所述硬宏单元的总数,i={1,2,...,n},j={1,2,...,n}。17、第二方面,本发明一实施例提供一种fpga硬宏单元的初始位置布局装置,包括:18、时序超图建立模块,用于针对fpga电路中的所有目标逻辑器件,建立时序超图;其中,所述目标逻辑器件包括硬宏单元、寄存器、输入输出单元;19、时序亲密度获取模块,用于基于所述时序超图,将存在至少一条信号传输路径的两个所述硬宏单元作为一个硬宏单元组合,得到若干个硬宏单元组合,并获取各个所述硬宏单元组合的时序亲密度;20、初始位置布局模块,用于根据各个所述硬宏单元组合的时序亲密度和各个所述硬宏单元的当前物理位置,采用模拟退火算法得到各个所述硬宏单元的最优物理位置,以将各个所述硬宏单元的最优物理位置对应作为各个所述硬宏单元的初始位置。21、进一步地,所述时序超图建立模块,还用于在所述针对fpga电路中的所有目标逻辑器件,建立时序超图之前,获取所述fpga电路的电路网表,从所述电路网表中选择所有所述目标逻辑器件。22、进一步地,所述硬宏单元组合的时序亲密度为:23、24、其中,m为第i个所述硬宏单元和第j个所述硬宏单元之间的目标信号传输路径上的寄存器总数,所述目标信号传输路径为第i个所述硬宏单元和第j个所述硬宏单元之间经过最多寄存器的一条信号传输路径,m={1,2,...,m},nm为第m级寄存器总数,k为预设指数衰减因子。25、进一步地,所述初始位置布局模块,具体用于:26、根据各个所述硬宏单元组合的时序亲密度和各个所述硬宏单元的当前物理位置,以最小化所有所述硬宏单元之间的总线长为优化目标构造目标函数;27、基于所述目标函数,采用模拟退火算法进行求解,得到各个所述硬宏单元的最优物理位置。28、进一步地,所述目标函数为:29、30、其中,y为fpga布局方案,a(i,j)为第i个所述硬宏单元和第j个所述硬宏单元之间的时序亲密度,d(i,j)为第i个所述硬宏单元和第j个所述硬宏单元之间的当前曼哈顿距离,d(i,j)=|xi-xj|+|yi-yj|,(xi,yi)为第i个硬宏单元的当前物理位置,(xj,yj)为第j个硬宏单元的当前物理位置,n为所有所述硬宏单元的总数,i={1,2,...,n},j={1,2,...,n}。31、相比于现有技术,本发明的实施例,具有如下有益效果:32、通过针对fpga电路中的所有目标逻辑器件,建立时序超图;其中,目标逻辑器件包括硬宏单元、寄存器、输入输出单元;基于时序超图,将存在至少一条信号传输路径的两个硬宏单元作为一个硬宏单元组合,得到若干个硬宏单元组合,并获取各个硬宏单元组合的时序亲密度;根据各个硬宏单元组合的时序亲密度和各个硬宏单元的当前物理位置,采用模拟退火算法得到各个硬宏单元的最优物理位置,以将各个硬宏单元的最优物理位置对应作为各个硬宏单元的初始位置,能够基于时序超图合理布局硬宏单元的初始位置,有利于优化fpga布局布线效果。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1