System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及集成电路计算机辅助设计,特别涉及一种面向fpga的片内与片间协同布线方法。
技术介绍
1、超大规模集成电路(very large scale integration,vlsi)设计流程的每个阶段都应该对vlsi设计进行验证,以便尽早发现错误并重新进行vlsi设计,确保vlsi设计的正确性。时分复用(time-division multiplexing,tdm)技术是一条物理导线在一个系统时钟周期内分时传输多个信号,以此解决fpga间的信号数量通常超过i/o引脚数量的问题。虽然tdm技术提高了fpga系统的可布线性,但同时会造成fpga间信号延迟增加,增加系统时延。时分复用比率是用来衡量系统时钟周期使用情况的数值。因为较好的tdm比率分配可以有效地减少系统时延,所以优化tdm比率是编译流程中的一个重要步骤。在多fpga原型系统的设计流程中,tdm比率通常是在fpga布线后确定的。
技术实现思路
1、本专利技术的目的在于提供一种面向fpga(field programmable gate array)的片内与片间协同布线方法,能够得到一个考虑fpga内外结构来优化fpga间的tdm比率,达到在较短时间内优化系统时延的目的的布线解方案。
2、为实现上述目的,本专利技术的技术方案是:一种面向fpga的片内与片间协同布线方法,包括
3、(1)tdm比率初始化阶段:设计一种考虑fpga内外结构的tdm比率初始化方法,根据问题定义的fpga间布线图和线网在放
4、(2)离散化阶段:提出一种基于贪心策略的离散化方法,去除tdm比率初始化阶段得到的tdm比率分配初始解中所有违反tdm比率约束的情况;
5、(3)重分配阶段:设计一种针对可优化线网的重分配策略,缩减较大线网的tdm比率,优化系统时延。
6、在本专利技术一实施例中,所述步骤(1)具体实现如下:
7、在多fpga系统中,如果两个fpga能够直接通过物理导线连接,则它们在逻辑上是相邻的;两个相邻的fpga被称为fpga连接对;在fpga连接对之间的线网中,每个tdm比率是偶数,tdm比值为r的导线中线网的数量不应超过r,并且使用的导线总数不能超过导线极限pn;优化目标为最小化系统时延scp,公式如下:
8、minimize:scp=max(ntr1,ntr2,...,ntrn)
9、其中ntri表示第i个线网的时延,n表示线网数量。
10、传输时延是其相应物理导线的tdm比值的单调递增函数;给定一个线网通过一条tdm比率值为etri,j的物理导线,边ei,j的时延的计算公式为(bi,j×etri,j+ci,j),其中bi,j和ci,j是与ei,j对应的架构相关参数;由于同一物理导线能够同时传输两个方向的信号,所以tdm比率是偶数;
11、在tdm比率分配阶段,需要为每条边分配既满足约束条件且scp最小化的tdm比率,结合约束条件和优化目标,基于拉格朗日松弛,问题模型写成下列公式:
12、
13、其中,scp为系统时延,etri,j为fpga间的边的tdm比率,delayp,q为fpga内部边的时延,pn是fpga连接对间物理导线的数量,etr表示fpga连接对中的边,ein表示fpga内的边;将上述公式称为主问题pp;
14、在求解使scp最小化的tdm比率分配问题时,通过引入非负的拉格朗日乘子来放宽问题中的约束条件,使问题变得易于求解;对于pp,通过引入μ和v来松弛两个约束条件;松弛后的公式如下所示:
15、
16、其中,μ和ν分别表示变量μp,q和νi的集合;拉格朗日松弛子问题如下所示:
17、lrs:minimize l(tr,atsink,μ,ν)
18、其中tr表示fpga连接对的tdm比率集合,atsink表示未分配的tdm比率的线网布线时延信息。
19、根据kkt条件,只有当lrs满足下列条件时,取到最优值:
20、
21、
22、结合上述公式得到以下公式:
23、
24、
25、
26、其中μ表示拉格朗日松弛过程中线网所对应的拉格朗日乘子,ei,j表示起点为结点i,终点为结点j的边。
27、ldp定义为
28、ldp:maximize lrs
29、
30、
31、优化ldp只需要考虑定义的解空间ω中的(μ,ν);为避免违反约束条件的情况,使得到的tdm比率尽可能接近最优解,使用替代次梯度更新公式对拉格朗日乘子进行更新;根据布线图中边的数量和拓扑顺序获得一个初始拉格朗日乘子;然后,通过替代次梯度方法对乘子进行更新;
32、拉格朗日乘数初始化阶段需要同时考虑fpga间的时分复用线和fpga内部导线对系统时延的影响;通过对fpga间的tdm边和fpga内部的边分配不同的权重值来求得初始μ的值,获得得到更接近最优解的拉格朗日乘数;由于fpga间的tdm边和fpga内部的边对scp的影响不同,因此给不同种类的边分配不同的权重值;在计算μ的值时,假设fpga连接对中的两个fpga分别为起始fpga和终点fpga;各边的边权值的计算公式如下所示:
33、
34、
35、其中,htr和hin分别为fpga间的边和fpga内的边的权重值,we表示边e的边权值,wgk表示以节点k为输入节点的边的边权值之和,wgk的计算公式如下:
36、
37、
38、其中,go为起始fpga内的第一个节点,gk表示除起始fpga内的第一个节点外的其余节点,μ的计算公式如下:
39、
40、其中,gd表示的是终点fpga的最后一个节点,为计算各个点和各条边初始的权重值,首先规定一个更新方向,判断出边是否为fpga间的边,如果是fpga间的边,则它的权重值为前驱节点的权重值加1,如果不是fpga间的边,则为fpga内的边,它的权重值为前驱节点的权重值加0.5,对于有入边的节点,其权重值等于入边的权重值之和,由此得到各个节点和各条边的权重值,根据各边和各个节点的权重值分配初始μ值;为减少系统时延,使用如下公式:
41、
42、假设所有线网中ntr最大的线网为关键线网,其他为非关键线网;每条fpga间的边的拉格朗日乘数μ与tdm比率成反比;因此,tdm比率较大的线网通过增加每条边的拉格朗日乘数μ来减少tdm比率值;更新目标节点的μ值;为更快地得到更接近最优解的tdm比率优化结果,对于tdm比率较大的fpga间的边的μ值进行缩减操作,对于tdm比率较小的fpga间的边的μ值进行增大操作,以此缩小关键线网和非关键线网ntr的差异,达到最终减少系统时延的目的;非关键线网中本文档来自技高网...
【技术保护点】
1.一种面向FPGA的片内与片间协同布线方法,其特征在于,包括
2.根据权利要求1所述的面向FPGA的片内与片间协同布线方法,其特征在于,所述步骤(1)具体实现如下:
3.根据权利要求1所述的面向FPGA的片内与片间协同布线方法,其特征在于,所述步骤(2)具体实现如下:
4.根据权利要求1所述的面向FPGA的片内与片间协同布线方法,其特征在于,所述步骤(3)具体实现如下:
【技术特征摘要】
1.一种面向fpga的片内与片间协同布线方法,其特征在于,包括
2.根据权利要求1所述的面向fpga的片内与片间协同布线方法,其特征在于,所述步骤(1)具体实现如下:
3.根据权利要...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。