一种基于稀疏技术的FPGA布局布线方法技术

技术编号:37080999 阅读:6 留言:0更新日期:2023-03-29 19:56
本发明专利技术涉及一种基于稀疏技术的FPGA布局布线方法,包括以下步骤:将FPGA内部硬件模块抽象为带电气端口的软件模块;读取全连接网表;进行全连接布局布线;判断布线是否满足要求,若满足布线要求,则完成布线并输出硬件网表;若不满足布线要求,在迭代未结束的情况下,返回全连接布局布线步骤;若不满足布线要求,在迭代结束的情况下,判断对应软件模块是否具备可稀疏的属性;若不具备可稀疏则反馈异常并退出;若具备可稀疏,则进行稀疏化处理和稀疏化布线。本发明专利技术在不增加物理布线资源的情况,通过开发各软件模块的可稀疏性和稀疏规则,可以明显提高芯片的性能或者计算能力,从而使AI计算或者图像处理等应用场合可以明显减少布线资源的使用。线资源的使用。线资源的使用。

【技术实现步骤摘要】
一种基于稀疏技术的FPGA布局布线方法


[0001]本专利技术涉及FPGA布局布线
,特别涉及一种基于稀疏技术的FPGA布局布线方法。

技术介绍

[0002]FPGA(Field Programmable GateArray)是在PAL(可编程阵列逻辑)、GAL(通用阵列逻辑)等可编程器件的基础上进一步发展的产物。
[0003]目前,在FPGA硬件结构中需要使用大量线网资源,在使用过程中,线网资源用于连接FPGA内部各个物理节点并确保节点间的延时符合约束条件。但如果线网资源不足,容易引起信号拥堵,严重时布局布线工具无法按照延时约束条件连接各个物理节点,从而导致性能无法满足设计要求。在拥堵问题更严重时,布局布线工具甚至无法完成布线任务导致无法实现完整设计的功能。
[0004]在人工智能和图像处理等应用场景中,需要大量的数据处理。在处理过程中,数据被分散在FPGA内部一个或者多个DSP、RAM或者其他硬件资源中。假设AI计算使用的数据源是16位编码,在经过DSP一次整数乘法计算后,输出会变成32位,如果结果经过多次累加,数据编码需要超过32位甚至更多。通常情况下,每一个数据位或者是每一个比特都需要使用相应的布线资源,在这些应用中DSP和RAM等硬件资源周围需要使用大量布线资源。现有技术中,为了满足性能要求,FPGA内部的布线资源往往需要预留足够的余量,从而导致芯片面积和成本增加。并且这些富余的布线资源在大多应用场景中也使用不到,浪费了芯片面积。
[0005]因此有必要提供一种基于稀疏技术的FPGA布局布线方法,以解决现有技术中因线网资源不足而导致信号拥堵的问题。

技术实现思路

[0006]本专利技术的目的在于一种基于稀疏技术的FPGA布局布线方法,以解决现有技术中因线网资源不足而导致信号拥堵的问题。
[0007]为了解决现有技术中存在的问题,本专利技术提供了一种基于稀疏技术的FPGA布局布线方法,包括以下步骤:
[0008]将FPGA内部硬件模块抽象为带电气端口的软件模块,且各软件模块带有对应的属性,部分软件模块的属性包括可稀疏及其稀疏规则;
[0009]读取全连接网表;
[0010]根据所述全连接网表和所述软件模块进行全连接布局布线;
[0011]判断布线是否满足要求,若满足布线要求,则完成布线并输出硬件网表;
[0012]若不满足布线要求,在迭代未结束的情况下,返回全连接布局布线步骤;若不满足布线要求,在迭代结束的情况下,判断对应软件模块是否具备可稀疏的属性;若不具备可稀疏的属性则反馈异常并退出;
[0013]若具备可稀疏的属性,则进行稀疏化处理和稀疏化布线,并再次判断布线是否满
足要求,若满足布线要求,则完成布线并输出硬件网表;若不满足布线要求,在迭代未结束的情况下,返回到稀疏化处理和稀疏化布线步骤,在迭代结束的情况下,则反馈异常并退出。
[0014]可选的,在所述基于稀疏技术的FPGA布局布线方法中,
[0015]所述稀疏规则包括但不限于:高比特位优先保留、比特位随机稀疏、特定比特位不允许稀疏和/或稀疏位默认值。
[0016]可选的,在所述基于稀疏技术的FPGA布局布线方法中,稀疏位默认值为0、1或者随机值。
[0017]可选的,在所述基于稀疏技术的FPGA布局布线方法中,所述属性根据软件工具和硬件功能进行描述。
[0018]可选的,在所述基于稀疏技术的FPGA布局布线方法中,所述属性还包括端口的输入输出方向和驱动能力。
[0019]可选的,在所述基于稀疏技术的FPGA布局布线方法中,还包括以下步骤:
[0020]记录被稀疏化的连接信号并输出到运行日志或者特定格式的报表;
[0021]根据运行日志或者特定格式的报表进行性能评估。
[0022]可选的,在所述基于稀疏技术的FPGA布局布线方法中,性能评估的方式如下:
[0023]根据运行日志或者特定格式的报表中稀疏化结果找到信号连接的源端和接收端,对稀疏化结果做定性评估。
[0024]可选的,在所述基于稀疏技术的FPGA布局布线方法中,还包括以下步骤:
[0025]根据稀疏化结果和/或经过稀疏化而产生的硬件网表进行定量分析。
[0026]可选的,在所述基于稀疏技术的FPGA布局布线方法中,定量分析的方式如下:
[0027]根据经过稀疏化而产生的硬件网表进行仿真,对经过稀疏化的布线结果做定量分析。
[0028]可选的,在所述基于稀疏技术的FPGA布局布线方法中,在进行稀疏化处理和稀疏化布线时,切换到稀疏布线模式。
[0029]在本专利技术所提供的基于稀疏技术的FPGA布局布线方法中,在不增加物理布线资源的情况,通过开发各软件模块的可稀疏性和稀疏规则,可以明显提高芯片的性能或者计算能力,从而使AI计算或者图像处理等应用场合可以明显减少布线资源的使用。有效的解决了现有技术中因线网资源不足而导致信号拥堵的问题,并且降低了硬件成本和布局布线的负担。
附图说明
[0030]图1为本专利技术实施例提供的FPGA布局布线方法的流程图。
具体实施方式
[0031]下面将结合示意图对本专利技术的具体实施方式进行更详细的描述。根据下列描述,本专利技术的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本专利技术实施例的目的。
[0032]并且,在下文中,术语“第一”、“第二”等用于在类似要素之间进行区分,且未必是
用于描述特定次序或时间顺序。要理解,在适当情况下,如此使用的这些术语可替换。类似的,如果本文所述的方法包括一系列步骤,则本文所呈现的这些步骤的顺序并非必须是可执行这些步骤的唯一顺序,且一些所述的步骤可被省略和/或一些本文未描述的其他步骤可被添加到该方法中。
[0033]现有技术中,为了满足性能要求,FPGA内部的布线资源往往需要预留足够的余量,从而导致芯片面积和成本增加。并且这些富余的布线资源在大多应用场景中也使用不到,浪费了芯片面积。
[0034]因此,有必要提供一种基于稀疏技术的FPGA布局布线方法,如图1所示,所述FPGA布局布线方法包括以下步骤:
[0035]S1:将FPGA内部硬件模块抽象为带电气端口的软件模块,且各软件模块带有对应的属性,部分软件模块的属性包括可稀疏及其稀疏规则;
[0036]S2:读取全连接网表;
[0037]S3:根据所述全连接网表和所述软件模块进行全连接布局布线;
[0038]S4:判断布线是否满足要求,若满足布线要求,则完成布线并输出硬件网表;
[0039]S5:若不满足布线要求,在迭代未结束的情况下,返回全连接布局布线步骤;若不满足布线要求,在迭代结束的情况下,判断对应软件模块是否具备可稀疏的属性;若不具备可稀疏的属性则反馈异常并退出;
[0040]S6:若具备可稀疏的属性,则进行稀疏化处理和稀疏化布线,并本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于稀疏技术的FPGA布局布线方法,其特征在于,包括以下步骤:将FPGA内部硬件模块抽象为带电气端口的软件模块,且各软件模块带有对应的属性,部分软件模块的属性包括可稀疏及其稀疏规则;读取全连接网表;根据所述全连接网表和所述软件模块进行全连接布局布线;判断布线是否满足要求,若满足布线要求,则完成布线并输出硬件网表;若不满足布线要求,在迭代未结束的情况下,返回全连接布局布线步骤;若不满足布线要求,在迭代结束的情况下,判断对应软件模块是否具备可稀疏的属性;若不具备可稀疏的属性则反馈异常并退出;若具备可稀疏的属性,则进行稀疏化处理和稀疏化布线,并再次判断布线是否满足要求,若满足布线要求,则完成布线并输出硬件网表;若不满足布线要求,在迭代未结束的情况下,返回到稀疏化处理和稀疏化布线步骤,在迭代结束的情况下,则反馈异常并退出。2.如权利要求1所述的基于稀疏技术的FPGA布局布线方法,其特征在于,所述稀疏规则包括但不限于:高比特位优先保留、比特位随机稀疏、特定比特位不允许稀疏和/或稀疏位默认值。3.如权利要求2所述的基于稀疏技术的FPGA布局布线方法,其特征在于,稀疏位默认值为0、1或者随机值。4.如权利要求1所述...

【专利技术属性】
技术研发人员:覃碨珺
申请(专利权)人:上海芯璐科技有限公司
类型:发明
国别省市:

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

1