【技术实现步骤摘要】
基于模块与数据流的FPGA布局方法及装置
[0001]本专利技术属于FPGA布局领域,尤其是涉及一种基于模块与数据流的FPGA布局方法及装置。
技术介绍
[0002]FPGA(可编程逻辑门阵列)是一种在芯片设计、雷达、车载、甚至航空航天都有广泛使用的芯片。其作为专用集成电路(asic)领域中的一种半定制电路,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的特点。近年来,人工智能、大数据分析、网络通信、图像处理、机器人等众多领域都引入了FPGA,并取得了令人瞩目的应用成果,FPGA的迅速发展使其成为一种主流的通用计算技术。
[0003]随着FGPA应用的范围越来广,规模越来越大,一个合理的布局也越来越重要。传统的布局方法有模拟退火、解析布局和按数据流布局等。这些方法在一些小模块FPGA中还是比较适用。但到了大规模器件中就有各种各样的缺点。
技术实现思路
[0004]本专利技术所要解决的技术问题是怎样对大规模FPGA元器件进行合理布局,提高布局效率,提出了一种基于模块与数据流的FPGA布局方法 ...
【技术保护点】
【技术特征摘要】
1.一种基于模块与数据流的FPGA布局方法,其特征在于,包括以下步骤:步骤1:获取综合后的网表文件,读取所述网表文件中的所有逻辑单元信息;步骤2:根据各逻辑单元信息中的逻辑单元名称信息,将逻辑单元名称中前缀第一层级相同的逻辑单元划分到同一模块容器中,并为划分到同一模块容器中的逻辑单元做模块容器的标记;步骤3:根据逻辑单元上模块容器的标记获取所有模块,并把所有模块封装成布局模块对象;步骤4:根据模块中的逻辑单元连接关系和数据流向确认每个模块的连接关系,将每个模块与其他模块拥有连接关系的数量作为当前模块与其他模块之间的连接权重;步骤5:根据连接权重使用模拟退火算法来确定出所有模块的位置,所述模块的位置为模块的中心点位置;步骤6:根据各模块的中心点位置,将各模块根据逻辑单元的数量进行展开,确定模块的大小;步骤7:根据模块的中心点位置以及模块的大小,对模块内部的逻辑单元进行布局。2.根据权利要求1所述的布局方法,其特征在于,步骤2还包括,当所有逻辑单元根据前缀划分到不同的模块容器之后,判断模块容器的大小,如果容器中的逻辑单元数量大于预设数量或扇出大于预设数量时,则按照逻辑单元名称的当前前缀层次的下一层次前缀继续划分,直到所划分出的模块容器中逻辑单元的数量满足预设数量要求,为划分到同一模块容器中的逻辑单元设置模块容器的标记。3.根据权利要求2所述的布局方法,其特征在于,步骤4中确认连接关系及计算连接权重的方法是:遍历每个逻辑单元的数据流向,如果某一逻辑单元数据流向的目标逻辑单元不是该逻辑单元所属的模块时,则认为该逻辑单元所属模块与目标逻辑单元所属模块之间拥有连接关系,同时该逻辑单元所属模块的连接权重加1。4.根据权利要求3所述的布局方法,其特征在于,步骤6中将各模块根据逻辑单元的数量进行展开的方法是:步骤6.1:把模块内逻辑单元位置都初始化成模块的位置;步骤6.2:根据每个逻辑单元的数据流向把模块内的逻辑单元沿横向和纵向展开。5.根据权利要求4所述的布局方法,其特征在于,步骤7中对模块内部的逻辑单元进行布局的方法是使用模拟退火算法进行布局。6.根据权利要求5所述的布局方法,其特征在于,对模块内部的逻辑单元使用模拟退火算法进行布局的方法是:步骤7.1:查找模块内部与其它模块连接的逻辑单元,并将此逻辑单元放置到模块内部中靠近与该逻辑...
【专利技术属性】
技术研发人员:曲志明,刘洋,杨沛宇,
申请(专利权)人:中科亿海微电子科技苏州有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。