System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数字集成电路中现场可编程门阵列(fpga)的,尤其涉及一种增量式提高fpga时序性能的方法,以及一种增量式提高fpga时序性能的装置。
技术介绍
1、fpga(field-programmable gate array,现场可编程门阵列)是一种通用的逻辑电路,与cpu,dsp并称为三大通用信号处理器件。
2、当前fpga已经成为数字电路领域一种不可或缺的实现途径,在开发周期和可编程灵活性方面有着明显的优势,其应用领域也日趋广泛,涉及到通信、航天、医疗、数学计算、图像处理、消费产品等诸多领域。时序性能是fpga最重要的指标之一。fpga逻辑设计中时序路径上的组合逻辑都会给路径增量延时,合理的布局与布线可以减少路径上的延时,所以通过减少关键路径上的延时,从而达到优化的目的。常规则的eda(electronic designautomation,电子设计自动化)软件在布局布线后,关键路径就已经确定,很难满足时序性能,只有通过修改原代码来进行时序收敛。
技术实现思路
1、为克服现有技术的缺陷,本专利技术要解决的技术问题是提供了一种增量式提高fpga时序性能的方法,其能够不修改原代码就实现时序收敛,提高时序性能,计算速度快,计算值准确。
2、本专利技术的技术方案是:这种增量式提高fpga时序性能的方法,其包括以下步骤:
3、(1)运行时序分析,备份当前时序延时,获取时间裕度最小的连接集合c,并标记连接c中的每条连接是可优化的;
4
5、(3)进行模拟增量装箱,判断是否可以增量装箱,但不实际进行增量装箱,将c起点的元器件移动到c终点元器件所在的元素簇,只改变元器件的坐标位置;
6、(4)判断此次装箱是否是可行的,如果是,执行步骤(5),否则执行步骤(7);
7、(5)将元器件所在元素簇的s坐标和端口给布线,布线进行增量布线,影响的线网延时更新到时序网表,运行增量时序分析,获取最新建立的时间裕度最小值;
8、(6)判断是否时间裕度最小值变好,或者时间裕度最小的连接数量变少,如果是,执行步骤(11),否则还原元器件坐标,还原布线结果,还原时序延时,并执行步骤(7);
9、(7)执行增量装箱,将c终点的元器件移动到c起点元器件所在的元素簇;将元器件所在元素簇的s坐标和端口给布线,布线进行增量布线,影响的线网延时更新到时序网表;
10、(8)判断此次装箱是否是可行的,如果是,执行步骤(9),否则执行步骤(12);
11、(9)将元器件所在元素簇的s坐标和端口给布线,布线进行增量编译布线,影响的线网延时更新到时序网表,运行时序分析,获取最新建立的时间裕度最小值;
12、(10)判断是否时间裕度最小值变好,或者时间裕度最小的连接数量变少,如果是,执行步骤(11),否则执行步骤(12);
13、(11)保留增量装箱结果,进行正式增量装箱和正式增量布线,备份时序延时,并更新最新时序分析结果的时间裕度最小的连接集合c;转入步骤(3);
14、(12)还原装箱结果,还原布线结果,还原元器件坐标,还原时序延时,并标记当前连接c为不可优化的;转入步骤(2);
15、(13)结束。
16、本专利技术首先调用时序分析获取时间裕度最小的连接集合c,然后对连接集合c中的每条连接c,首先执行增量装箱将c起点的ble移动到c终点ble所在的clb,再增量装箱将c终点的ble移动到c起点ble所在的clb;如果2次增量装箱中有一次是可行的,并且使得建立时间裕度最小值变好或者时间裕度最小的连接数量变少,则保持增量装箱的结果,更新连接集合c,并转入下一轮优化中;否则,还原增量装箱之前的结果,并转入集中c中下一条连接的优化中;因此本专利技术能够不修改原代码就实现时序收敛,提高时序性能,计算速度快,计算值准确。
17、还提供了一种增量式提高fpga时序性能的装置,其包括:
18、时序分析单元,其配置来运行时序分析,备份当前时序延时,获取建立时间裕度最小的连接集合c,并标记连接c中的每条连接是可优化的;
19、模拟增量装箱单元,其配置来进行模拟增量装箱,判断是否可以增量装箱,但不实际进行增量装箱,将c起点的元器件移动到c终点元器件所在的元素簇,只改变元器件的坐标位置;
20、增量时序分析单元,其配置来将元器件所在元素簇的s坐标和端口给布线,布线进行增量布线,影响的net延时更新到时序网表,运行增量时序分析,获取最新建立的时间裕度最小值;
21、增量装箱单元,其配置来执行增量装箱,将c终点的元器件移动到c起点元器件所在的元素簇;将元器件所在元素簇的s坐标和端口给布线,布线进行增量布线,影响的线网延时更新到时序网表;
22、时间裕度最小值获取单元,其配置来将元器件所在元素簇的s坐标和端口给布线,布线进行增量编译布线,影响的线网延时更新到时序网表,运行时序分析,获取最新建立的时间裕度最小值;
23、正式增量装箱布线单元,其配置来保留增量装箱结果,进行正式增量装箱和正式增量布线,备份时序延时,并更新最新时序分析结果的时间裕度最小连接集合c;
24、还原单元,其配置来还原装箱结果,还原布线结果,还原元器件坐标,还原时序延时,并标记当前连接c为不可优化的。
本文档来自技高网...【技术保护点】
1.一种增量式提高FPGA时序性能的方法,其特征在于:其包括以下步骤:
2.根据权利要求1所述的增量式提高FPGA时序性能的方法,其特征在于:所述步骤(5)的增量时序分析包括以下分步骤:
3.根据权利要求2所述的增量式提高FPGA时序性能的方法,其特征在于:所述步骤(5.2)中,V'是V的子集,对于V'的每个点v,满足slice(v) = true,时序图切片的方法包括:对每个延时变化的连接,首先找到该连接的起点和终点对应在时序图上的节点v和d,将v和d加入到子图的点集合V'中,设置slice(v) = true, slice(d) = true;在时序图G上从节点d往后进行逐层遍历,将经过的每个点分别加到子图的集合V'中;在时序图G上从节点v往前遍历每一层级,对节点v前面每一层级的每个节点v',如果该点存在一条边的终点d'是子图V'的点,满足slice(d') = true,则将节点v'加入到子图点集合V'中,设置slice(v') =true。
4.根据权利要求2所述的增量式提高FPGA时序性能的方法,其特征在于:所述步骤(5.2)包括以下
5.根据权利要求3所述的增量式提高FPGA时序性能的方法,其特征在于:所述步骤(5.3)中,遍历V'中的每个点v,找到v所在层级的最小值min_level和最大值 max_level;遍历从min_level到max_level-1之间的每一层级i,对层级i的每个点v,如果slice(v) =true,则遍历点v的每一条输出边e,如果e的终点d满足slice(d) = true,则按照公式Tarrive(d) = max(Tarrive(d),Tarrive(v) + delay(v, d)),来计算节点d的最大到达时间,delay(v, d)表示从v到d的边的延时。
6.根据权利要求3所述的增量式提高FPGA时序性能的方法,其特征在于:所述步骤(5.3)包括以下分步骤:
7.根据权利要求5所述的增量式提高FPGA时序性能的方法,其特征在于:所述步骤(5.4)中,遍历从max_level-1到min_level之间的每一层级i,对层级i的每个点v,如果slice(v) = true,则遍历点v的每一条输出边e,如果e的终点d满足slice(d) = true,则按照公式Trequired(v) = min(Trequired (v),Trequired (v) - delay(v, d)),来计算节点v的最小要求时间。
8.根据权利要求5所述的增量式提高FPGA时序性能的方法,其特征在于:所述步骤(5.4)包括以下分步骤:
9.根据权利要求7所述的增量式提高FPGA时序性能的方法,其特征在于:所述步骤(5.5)中,遍历网表中的每条线网,找到该线网起点对应在时序图上的节点v,如果满足slice(v) = true,则遍历该线网的每个终点,找到每个终点对应在时序图上的节点d,如果d满足slice(d) = true,则根据公式(3)计算连接(v, d)的时序裕度,再根据公式(4)计算连接(v, d)的关键度。
10.一种增量式提高FPGA时序性能的装置,其特征在于:其用于执行根据权利要求1所述的方法并包括:
...【技术特征摘要】
1.一种增量式提高fpga时序性能的方法,其特征在于:其包括以下步骤:
2.根据权利要求1所述的增量式提高fpga时序性能的方法,其特征在于:所述步骤(5)的增量时序分析包括以下分步骤:
3.根据权利要求2所述的增量式提高fpga时序性能的方法,其特征在于:所述步骤(5.2)中,v'是v的子集,对于v'的每个点v,满足slice(v) = true,时序图切片的方法包括:对每个延时变化的连接,首先找到该连接的起点和终点对应在时序图上的节点v和d,将v和d加入到子图的点集合v'中,设置slice(v) = true, slice(d) = true;在时序图g上从节点d往后进行逐层遍历,将经过的每个点分别加到子图的集合v'中;在时序图g上从节点v往前遍历每一层级,对节点v前面每一层级的每个节点v',如果该点存在一条边的终点d'是子图v'的点,满足slice(d') = true,则将节点v'加入到子图点集合v'中,设置slice(v') =true。
4.根据权利要求2所述的增量式提高fpga时序性能的方法,其特征在于:所述步骤(5.2)包括以下分步骤:
5.根据权利要求3所述的增量式提高fpga时序性能的方法,其特征在于:所述步骤(5.3)中,遍历v'中的每个点v,找到v所在层级的最小值min_level和最大值 max_level;遍历从min_level到max_level-1之间的每一层级i,对层级i的每个点v,如果slice(v) =true,则遍历点v的每一条输出边e,如果e的终点d满足slice(d) = true,则按照...
【专利技术属性】
技术研发人员:曲志明,魏育成,蔡刚,刘洋,
申请(专利权)人:中科亿海微电子科技苏州有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。