一种通过松弛实例优化时序的FPGA布局方法技术

技术编号:38378382 阅读:12 留言:0更新日期:2023-08-05 17:38
本申请公开了一种通过松弛实例优化时序的FPGA布局方法,涉及FPGA技术领域,该方法通过解析逻辑网表并读取逻辑网表的布局约束条件,以确定两个端点实例各自的布局约束条件满足本申请针对的情况,且在已有的布局约束条件下时间裕量不满足时序要求的待处理时序路径,然后对待处理时序路径进行预处理,将待处理时序路径中的部分或全部的中间实例归属为松弛实例以先解除布局约束条件,从而使得后续的布局算法能够根据时序要求来调整这些实例的位置,使得待处理时序路径能够通过后续的布局算法修正满足时序要求,从而满足设计要求,提高设计效率并优化设计得到的FPGA的性能。设计效率并优化设计得到的FPGA的性能。设计效率并优化设计得到的FPGA的性能。

【技术实现步骤摘要】
一种通过松弛实例优化时序的FPGA布局方法


[0001]本申请涉及FPGA
,尤其是一种通过松弛实例优化时序的FPGA布局方法。

技术介绍

[0002]现场可编程逻辑门阵列(Field

Programmable Gate Array,FPGA)是一种广泛使用的芯片,可以被用于实现多种复杂的功能,FPGA在使用之前,需要在指定的用户约束下完成软件设计,以使得芯片可以正常工作,包括同步时序电路的工作频率,以及输入输出设备的时序要求。
[0003]在FPGA的设计过程中,通常含有特定的布局约束条件,用来将特定的模块中的部分(或全部)实例的布局约束到特定位置或约束到特定矩形区域内,这样当布局算法正确实施后,该模块内的部分(或全部)实例的布局能够满足其所属的约束条件。但是在实际设计过程中会存在如下情况:关键时序路径的起点实例和终点实例分别在各自的约束条件下指定到矩形区域内以及矩形区域外,则如果位于矩形区域外的实例与矩形区域的位置距离过大,或是矩形区域自身的面积过大,都会导致位于矩形区域外的实例与其连接的上一级时序元件对应的实例之间的距离过大,这就会因时延过大而导致不能满足时序要求,且后续的布局算法也无法修正使其满足时序要求,这就会严重影响芯片的性能。

技术实现思路

[0004]本申请人针对上述问题及技术需求,提出了一种通过松弛实例优化时序的FPGA布局方法,本申请的技术方案如下:
[0005]一种通过松弛实例优化时序的FPGA布局方法,该FPGA布局方法包括:
[0006]解析逻辑网表并读取逻辑网表的布局约束条件以确定待处理时序路径,待处理时序路径中的一个端点实例具有位于布局约束区域内的布局约束条件,另一个端点实例具有位于布局约束区域外的目标布局位置处的布局约束条件,待处理时序路径在包含的各个实例的布局约束条件下的时间裕量不满足时序要求;
[0007]对于任意一条待处理时序路径,解除待处理时序路径中的松弛实例的布局约束条件使得待处理时序路径的时间裕量满足时序要求,松弛实例是待处理时序路径中除两个端点实例之外的中间实例;
[0008]在逻辑网表的修正后的布局约束条件下对逻辑网表中的实例完成布局。
[0009]其进一步的技术方案为,确定待处理时序路径中的松弛实例的方法包括:
[0010]直接将待处理时序路径中的所有中间实例都作为松弛实例;
[0011]或者,按照预定顺序依次将待处理时序路径中的各个中间实例归属为松弛实例,直至待处理时序路径的时间裕量满足时序要求,保留剩余的中间实例的布局约束条件。
[0012]其进一步的技术方案为,按照预定顺序依次将待处理时序路径中的各个中间实例归属为松弛实例的方法包括:
[0013]按照对待处理时序路径的时序裕量的影响力从大到小的顺序依次将各个中间实
例归属为松弛实例。
[0014]其进一步的技术方案为,按照对待处理时序路径的时序裕量的影响力从大到小的顺序依次将各个中间实例归属为松弛实例的方法包括:
[0015]确定任意两个实例之间的传输路径的影响力指标为d*w,其中,d是两个实例之间的传输路径的距离,w是两个实例之间的传输路径的时序关键度;
[0016]按照影响力指标的取值从大到小的顺序依次将各条传输路径两端连接的中间实例归属为松弛实例。
[0017]其进一步的技术方案为,按照预定顺序依次将待处理时序路径中的各个中间实例归属为松弛实例的方法包括:
[0018]按照各个中间实例的连接关系所确定的顺序依次将待处理时序路径中的各个中间实例归属为松弛实例。
[0019]其进一步的技术方案为,按照各个中间实例的连接关系所确定的顺序依次将各个中间实例归属为松弛实例的方法包括:
[0020]沿着位于布局约束区域外的目标布局位置处的端点实例至另一个端点实例的顺序,将依次连接的各个中间实例依次归属为松弛实例。
[0021]其进一步的技术方案为,FPGA布局方法还包括:
[0022]当存在多条待处理时序路径时,按照时间裕量从小到大的顺序依次处理各条待处理时序路径。
[0023]其进一步的技术方案为,在对待处理时序路径中的松弛实例解除布局约束条件前后,对待处理时序路径中的实例完成布局后得到的任意一个其他实例的布局位置保持不变或发生变化。
[0024]其进一步的技术方案为,确定待处理时序路径的方法包括:
[0025]解析逻辑网表并确定待处理模块对应的子网表,待处理模块是包含至少一个待处理实例的模块,待处理实例是存在布局至对应的布局约束区域内的布局约束条件的实例;
[0026]对于每个待处理模块,确定待处理模块中各个待处理实例对应的布局约束区域,并根据待处理模块的子网表确定待处理模块中的待处理时序路径。
[0027]本申请的有益技术效果是:
[0028]本申请公开了一种通过松弛实例优化时序的FPGA布局方法,该方法首先确定两个端点实例的布局约束条件满足本申请的情况,且时间裕量不满足时序要求的待处理时序路径,然后对待处理时序路径进行预处理,将待处理时序路径中的部分或全部的中间实例归属为松弛实例以先解除布局约束条件,以修正逻辑网表的布局约束条件,从而使得后续的布局算法能够根据时序要求来调整这些实例的位置,使得待处理时序路径能够通过后续的布局算法修正满足时序要求,从而满足设计要求,提高设计效率并优化设计得到的FPGA的性能。
附图说明
[0029]图1是本申请一个实施例的FPGA布局方法的方法流程图。
[0030]图2是本申请一个实例中的一条待处理时序路径中的四个实例原有的布局约束条件的示意图。
[0031]图3是在本申请一个实施例中,将图2所示的待处理时序路径中的所有中间实例都归属为松弛实例解除布局约束条件前后,待处理时序路径中的四个实例的布局位置示意图。
[0032]图4是在本申请另一个实施例中,将图2所示的待处理时序路径中的实例B归属为松弛实例解除布局约束条件前后,待处理时序路径中的四个实例的布局位置示意图。
[0033]图5是在本申请另一个实施例中,将图2所示的待处理时序路径中的实例C归属为松弛实例解除布局约束条件前后,待处理时序路径中的四个实例的布局位置示意图。
具体实施方式
[0034]下面结合附图对本申请的具体实施方式做进一步说明。
[0035]本申请公开了一种通过松弛实例优化时序的FPGA布局方法,请参考图1所示的流程图,该方法包括如下步骤:
[0036]步骤1,解析逻辑网表并读取逻辑网表的布局约束条件以确定待处理时序路径。
[0037]逻辑网表中的时序路径是指设计中数据信号传播过程中经过的逻辑路径,每条时序路径都有一个起点实例和一个终点实例,以及通常还包括若干个中间实例,数据信号从起点实例开始,依次经过各个中间实例到达终点实例。时序路径的起点实例可以是IO输入端口或时序单元的时钟输入端口,这里的IO输入端口有本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种通过松弛实例优化时序的FPGA布局方法,其特征在于,所述FPGA布局方法包括:解析逻辑网表并读取所述逻辑网表的布局约束条件以确定待处理时序路径,所述待处理时序路径中的一个端点实例具有位于布局约束区域内的布局约束条件,另一个端点实例具有位于所述布局约束区域外的目标布局位置处的布局约束条件,所述待处理时序路径在包含的各个实例的布局约束条件下的时间裕量不满足时序要求;对于任意一条待处理时序路径,解除所述待处理时序路径中的松弛实例的布局约束条件使得所述待处理时序路径的时间裕量满足时序要求,松弛实例是所述待处理时序路径中除两个端点实例之外的中间实例;在所述逻辑网表的修正后的布局约束条件下对所述逻辑网表中的实例完成布局。2.根据权利要求1所述的FPGA布局方法,其特征在于,确定所述待处理时序路径中的松弛实例的方法包括:直接将所述待处理时序路径中的所有中间实例都作为松弛实例;或者,按照预定顺序依次将所述待处理时序路径中的各个中间实例归属为松弛实例,直至所述待处理时序路径的时间裕量满足时序要求,保留剩余的中间实例的布局约束条件。3.根据权利要求2所述的FPGA布局方法,其特征在于,按照预定顺序依次将所述待处理时序路径中的各个中间实例归属为松弛实例的方法包括:按照对所述待处理时序路径的时序裕量的影响力从大到小的顺序依次将各个中间实例归属为松弛实例。4.根据权利要求3所述的FPGA布局方法,其特征在于,按照对所述待处理时序路径的时序裕量的影响力从大到小的顺序依次将各个中间实例归属为松弛实例的方法包括:确定任意两个实例之间的传输路径的影响力指标为d*w,其中,d是两个实例之间的传...

【专利技术属性】
技术研发人员:姜姗王新晨虞健董志丹惠锋
申请(专利权)人:无锡中微亿芯有限公司
类型:发明
国别省市:

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

1