用于反熔丝的现场可编程门阵列的布线方法

文档序号:6640260阅读:165来源:国知局
用于反熔丝的现场可编程门阵列的布线方法
【专利摘要】本发明公开了一种用于反熔丝的现场可编程门阵列的布线方法。该方法包括:(1)构建含有多个节点的布线资源图;(2)布置一条线网,包括:根据各中间节点的属性为一条线网的各中间节点设定基本代价,中间节点的个数为N;从可用的各中间节点中选取一个最小的基本代价的中间节点作为所述第一个中间节点;根据第i个中间节点连线可用的各中间节点分别具有的基本代价以及历史使用次数确定当前第一拥挤代价,从中选取一个最小的当前第一拥挤代价所对应的中间节点作为所述第i+1个中间节点,其中i依次从1选到N-1;(3)利用与步骤(2)相同的方式布置剩余的各条线网。本发明大幅提升反熔丝FPGA的布线速度和质量。
【专利说明】用于反熔丝的现场可编程门阵列的布线方法

【技术领域】
[0001] 本发明涉及现场可编程门阵列的布线方法,特别涉及一种反熔丝系列和FLASH系 列现场可编程门阵列的布线方法。

【背景技术】
[0002] 现场可编程门阵列(Field Programmable Gate Array, FPGA)是在 PAL、GAL、CPLD 等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种 半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限 的缺点。
[0003] 目前常见的三种FPGA分别是SRAM系列、Flash系列和反熔丝系列的FPGA。而主 流的布线方法主要是针对SRAM系列的FPGA进行开发和应用的,主要是利用最基本的迷宫 算法来进行布线。
[0004] 由于SRAM系列、Flash系列和反熔丝系列的FPGA芯片结构存在较大差异,主流的 布线方法占用时间长、计算结果不合理,对反熔丝和Flash系列的FPGA的应用上存在效率 低、布线结果不合理、延时过大等明显缺点。


【发明内容】

[0005] 为了解决上述现有技术中的缺陷, 申请人:对反熔丝的现场可编程门阵列的布线效 果进行了大量的研宄,并发现不同属性的节点往往在电路导通性能上存在着差异,例如连 接逻辑块输入引脚时速度要大于逻辑块输出引脚的速度,连接漏端时速度更快,而这些差 异会给整体的布线速度和效率带来影响。为此,可以根据节点的属性为其设定布线的基本 代价。
[0006] 进一步地, 申请人:还发现,在布置一条线网时,往往由于可用中间节点的限制,会 重复地选用一些中间节点。当这些中间节点被反复使用时,节点的导通性能会降低。
[0007] 正是在上述基础上,根据本发明的一个方面,提出了一种用于反熔丝的现场可编 程门阵列的布线方法,包括:
[0008] (1)构建含有多个节点的布线资源图;
[0009] (2)布置一条线网,包括:
[0010] 2. 1为一条线网的起始节点到终止节点之间的各中间节点Mi设定基本代价 bl(i),其中,所述基本代价bl(i)根据各中间节点M i的属性设定,所述中间节点的个数为 N;
[0011] 2. 2从起始节点开始连线第一个中间节点M1,其中,针对起始节点连线可用的各 中间节点分别具有的基本代价,从中选取一个最小的基本代价bl(i)所对应的中间节点作 为所述第一个中间节点M 1;
[0012] 2. 3从第i个中间节点Mi开始连线第i+Ι个中间节点M i+1,其中,根据第i个中间 节点Mi连线可用的各中间节点分别具有的基本代价以及历史使用次数确定当前第一拥挤 代价,从中选取一个最小的当前第一拥挤代价所对应的中间节点作为所述第i+ι个中间节 点Mi+1,其中i依次从1选到N-I ;
[0013] 2. 4从第N个中间节点Mn开始连线所述终止节点;
[0014] (3)利用与步骤⑵相同的方式布置剩余的各条线网。
[0015] 采用根据本发明的方法,考虑了节点的属性和在一条线网中重复使用次数对导通 性能的影响,被基于该影响选择代价最小的各个中间节点,由此的布线结果较为合理,效率 相比现有技术具有一定的提升。
[0016] 经过大量的试验发现,因为节点重复使用而导致导通性能降低的水平基本是对应 于使用的次数而线性的降低。有利地,可以选择一种适用性广并通用的公式,将在所述步 骤2. 3中的当前第一拥挤代价定义为等于基本代价X (历史使用次数+1)。这种公式的选 择可以基本上适用于所有中间节点的代价的判断,而不会有计算得出〇代价的判断失准情 况。另外,采用这种计算公式,在示意性地反应布线代价的同时计算起来也相对简单,便于 直观地反映和选择较优的布线节点。
[0017] 不仅如此,在上述较佳的布线方法的基础上, 申请人:进一步地发现,在布置其他线 网时,往往由于可用中间节点的限制,会重复地选用一些在之前线网中已选用的中间节点。 当这些在一条线网中已选用的中间节点被另一线网再次使用时,节点的导通性能会处在较 低的水平,并且随着在当前线网的反复使用,导通性能会发生显著的更大程度的降低。
[0018] 为此,根据本发明另一方面,提出了一种用于反熔丝的现场可编程门阵列的布线 方法,包括:
[0019] (1)构建含有多个节点的布线资源图;
[0020] (2)利用上述布线方法中的步骤(2)布置第一线网;
[0021] (3)布置第二线网,包括:
[0022] 3. 1为第二线网的起始节点到终止节点之间的各中间节点设定基本代价b2(i), 其中,所述基本代价b2 (i)根据各中间节点Hii的属性设定,所述中间节点的个数为η ;
[0023] 3. 2从起始节点开始连线第一个中间节点Iii1,其中,根据起始节点连线可用的各 中间节点分别具有的基本代价以及所述各中间节点在之前线网中的历史使用次数确定当 前第二拥挤代价,从中选取一个最小的第二拥挤代价所对应的中间节点作为所述第一个中 间节点Hl 1;
[0024] 3. 3从第i个中间节点Hii开始连线第i+Ι个中间节点mi+1,其中,根据第i个中间 节点叫连线可用的各中间节点分别具有的基本代价、在之前线网中的历史使用次数以及在 第二线网中的历史使用次数确定当前累积代价,从中选取一个最小的当前累积代价所对应 的中间节点作为所述第i+Ι个中间节点m i+1,其中i依次从1选到η-I ;
[0025] 3. 4从第η个中间节点mn开始连线所述终止节点;
[0026] (4)利用与步骤(3)相同的方式布置剩余的各条线网。
[0027] 采用根据本发明的方法,考虑了节点的属性和在之前线网中重复使用次数以及在 当前线网中重复使用的次数对导通性能的影响,被基于该影响选择代价最小的各个中间节 点,由此的布线结果更为合理,效率相比之前的布线方法具有一定的提升。
[0028] 经过大量的试验发现,因为节点在多条线网重复使用而导致导通性能降低的水平 远远大于线性的降低水平。有利地,可以选择一种适用性广并通用的公式,将在所述步骤 3. 2中的当前第二拥挤代价定义为等于基本代价X (在之前线网中的历史使用次数+1);将 在所述步骤3. 3中的当前累积代价定义为等于基本代价X (在之前线网中的历史使用次数 +1) X (在第二线网中的历史使用次数+1)。
[0029] 这种公式的选择可以基本上适用于所有中间节点的代价的判断,而不会有计算得 出〇代价的判断失准情况。另外,采用这种计算公式,在示意性地反应布线代价的同时计算 起来也相对简单,便于直观地反映和选择较优的布线节点。
[0030] 另外, 申请人:还发现,布线的速度不仅仅与上述诸如节点属性和使用次数的因素 有关,节点与节点之间形成的路径段因为存在弯折部分也会影响布线效率,这种弯折不仅 为影响单条路径段或线段的布线效率,而且因为其导致占用布线空间的增加,会影响后续 的布线效率。与此同时,随着弯折部分的数量的递增,这种影响会变得更为明显。
[0031] 正是在此基础上,可以对上述的两方面的布线方法进行优化,优化后的布线方法 分别为:
[0032] 一种用于反熔丝的现场可编程门阵列的布线方法,包括:
[0033] (1)构建含有多个节点的布线资源图;
[0034] (2)布置一条线网,包括:
[0035] 2. 1为一条线网的起始节点到终止节点之间的各中间节点Mi设定基本代价 bl(i),其中,所述基本代价bl(i)根据各中间节点M i的属性设定,所述中间节点的个数为 N;
[0036] 2. 2从起始节点开始连线第一个中间节点M1,其中,根据起始节点与连线可用的 各中间节点分别将形成的路径段中的弯折部分的数量以及各中间节点分别具有的基本代 价确定当前代价,从中选取一个最小的当前代价所对应的中间节点作为所述第一个中间节 点M 1;
[0037] 2. 3从第i个中间节点Mi开始连线第i+Ι个中间节点M i+1,其中,根据第i个中间 节点Mi连与连线可用的各中间节点分别将形成的路径段中的弯折部分的数量、各中间节点 分别具有的基本代价以及历史使用次数确定当前第一拥挤代价,从中选取一个最小的当前 第一拥挤代价所对应的中间节点作为所述第i+Ι个中间节点M i+1,其中i依次从1选到N-I ;
[0038] 2. 4从第N个中间节点Mn开始连线所述终止节点;
[0039] (3)利用与步骤⑵相同的方式布置剩余的各条线网。
[0040] 考虑到弯折部分是对空间的影响,与之前的线路导通速度是两个不同方面的影 响,对此, 申请人:将其设定为进一步的相加的形式,并且,不妨将存在弯折时的代价设定为 1,不存在弯折部分时的代价设定为〇,由此,将步骤2. 2中的当前代价定义为基本代价+弯 折部分的数量;将在步骤2. 3中的当前第一拥挤代价定义为基本代价X (历史使用次数 +1) +弯折部分的数量。
[0041] 另一种用于反熔丝的现场可编程门阵列的布线方法,包括:
[0042] (1)构建含有多个节点的布线资源图;
[0043] (2)利用优化后的布线方法中的步骤(2)布置第一线网;
[0044] (3)布置第二线网,包括:
[0045] 3. 1为第二线网的起始节点到终止节点之间的各中间节点设定基本代价b2(i), 其中,所述基本代价b2 (i)根据各中间节点Hii的属性设定,所述中间节点的个数为η ;
[0046] 3. 2从起始节点开始连线第一个中间节点Iii1,其中,根据起始节点与连线可用的 各中间节点分别将形成的路径段中的弯折部分的数量、各中间节点分别具有的基本代价以 及所述各中间节点在之前线网中的历史使用次数确定当前第二拥挤代价,从中选取一个最 小的第二拥挤代价所对应的中间节点作为所述第一个中间节点Hl 1;
[0047] 3. 3从第i个中间节点Hii开始连线第i+Ι个中间节点mi+1,其中,根据第i个中间 节点Hl i与连线可用的各中间节点分别将形成的路径段中的弯折部分的数量、各中间节点分 别具有的基本代价、在之前线网中的历史使用次数以及在第二线网中的历史使用次数确定 当前累积代价,从中选取一个最小的当前累积代价所对应的中间节点作为所述第i + Ι个中 间节点mi+1,其中i依次从1选到n-1 ;
[0048] 3. 4从第η个中间节点mn开始连线所述终止节点;
[0049] (4)利用与步骤(3)相同的方式布置剩余的各条线网。
[0050] 其中,在所述步骤3. 2中,所述当前第二拥挤代价=基本代价X (在之前线网中的 历史使用次数+1) +弯折部分的数量;
[0051] 在步骤3.3中,当前累积代价=基本代价X(在之前线网中的历史使用次数 +1) X (在第二线网中的历史使用次数+1) +弯折部分的数量。
[0052] 较佳地,在一些实施方式中,在步骤(1)和(2)之间还包括步骤:设定每一节点的 使用次数极限值,使得一旦后续该节点的使用次数达到该极限值后,将该节点判定为不可 用节点。
[0053] 这种方式的选择,可以直接避免掉一些不合适的节点的选取,原因在于,大量的重 复选用节点,会导致该节点的导通速度大幅度的降低,影响布线效率。
[0054] 作为一种【具体实施方式】,所述使用次数极限值设定为5。
[0055] 本方法大幅提升反熔丝系列FPGA的计算速度和布线结果,使布线结果更合理,Mi 布线速度更快,布线质量更高。

【具体实施方式】
[0056] 为了让本发明的上述特征和优点更加明显易懂,下面特举四个实施例进行具体说 明。
[0057] 以下实施例描述的是考虑了节点的基本代价和在单一线网中的历史使用次数这 两个因素的第一实施例:
[0058] 本实施例提出描述了一种用于反熔丝的现场可编程门阵列的布线方法,包括:
[0059] (1)构建含有多个节点的布线资源图;
[0060] (2)布置一条线网,包括:
[0061] 2. 1为一条线网的起始节点到终止节点之间的各中间节点Mi设定基本代价b(i), 其中,所述基本代价b (i)根据各中间节点Mi的属性设定,所述中间节点的个数为N ;
[0062] 2. 2从起始节点开始连线第一个中间节点M1,其中,针对起始节点连线可用的各 中间节点分别具有的基本代价,从中选取一个最小的基本代价b(l)所对应的中间节点作 为所述第一个中间节点M 1;
[0063] 2. 3从第一个中间节点M1开始连线第二个中间节点M2,针对第一个中间节点札连 线可用的各中间节点分别具有的基本代价,从中选取一个最小的基本代价b(2)所对应的 中间节点作为所述第二个中间节点M2;
[0064] 2. 4从第i个中间节点Mi开始连线第i+Ι个中间节点M i+1,其中2彡i彡N-1,根 据当前拥挤代价=基本代价X (历史使用次数+1),从中选取一个最小的当前拥挤代价所 对应的中间节点作为所述第i+Ι个中间节点Mi+1;
[0065] 2. 5从第N个中间节点Mn开始连线所述终止节点;
[0066] (3)利用与步骤⑵相同的方式布置剩余的各条线网。
[0067] 其中,上述步骤2. 3中仅仅提到了基本代价,而没有提及当前拥挤代价,是因为在 连接第一个中间节点M1和第二个中间节点M 2时,往往不会返回重复选择M 1或M 2,在此种情 况下乂和M2历史使用次数均为0,虽然其计算结果和步骤2. 4中计算数值相同,但步骤2. 3 中直接根据基本代价进行取值,而没有根据基本代价X (历史使用次数+1)运算后再取值, 客观上简化了运算方法,提高了运算速度。
[0068] 以下实施例是 申请人:考虑了节点的基本代价和在不同线网中的历史使用次数这 两个因素的第二实施例:
[0069] 本实施例提出描述了一种用于反熔丝的现场可编程门阵列的布线方法,包括:
[0070] (1)构建含有多个节点的布线资源图;
[0071] (2)布置第一线网,包括:
[0072] 2. 1为第一线网的起始节点到终止节点之间的各中间节点设定基本代价Id1Q), 其中,所述基本代价h (i)根据各中间节点Mi的属性设定,所述中间节点的个数为N ;
[0073] 2. 2从起始节点开始连线第一个中间节点M1,其中,针对起始节点连线可用的各 中间节点分别具有的基本代价,从中选取一个最小的基本代价bjl)所对应的中间节点作 为所述第一个中间节点M 1;
[0074] 2. 3从第一个中间节点M1开始连线第二个中间节点M2,针对第一个中间节点札连 线可用的各中间节点分别具有的基本代价,从中选取一个最小的基本代价h (2)所对应的 中间节点作为所述第二个中间节点M2;
[0075] 2. 4从第i个中间节点Mi开始连线第i+Ι个中间节点M i+1,其中2彡i彡N-1,根 据当前第一拥挤代价=基本代价X (历史使用次数+1),从中选取一个最小的当前第一拥 挤代价所对应的中间节点作为所述第i+Ι个中间节点Mi+1;
[0076] 2. 5从第N个中间节点Mn开始连线所述终止节点;
[0077] (3)布置第二线网,包括:
[0078] 3. 1为第二线网的起始节点到终止节点之间的各中间节点设定基本代价b2(i), 其中,所述基本代价b 2 (i)根据各中间节点Iiii的属性设定,所述中间节点的个数为η ;
[0079] 3. 2从起始节点开始连线第一个中间节点Hi1,其中,根据:当前第二拥挤代价=基 本代价X (历史使用次数+1),从中选取一个最小的第二拥挤代价所对应的中间节点作为 所述第一个中间节点Hl1;
[0080] 3. 3从第一个中间节点HI1开始连线第二个中间节点m2,根据:述当前第二拥挤代 价=基本代价X (历史使用次数+1),从中选取一个最小的第二拥挤代价所对应的中间节 点作为所述第二个中间节点m2;
[0081] 3. 4从第i个中间节点Iiii开始连线第i+Ι个中间节点m i+1,其中2彡i彡n-1,根 据当前累积代价=基本代价X (在第二线网中的历史使用次数+1) X (在之前线网中的历 史使用次数+1),从中选取一个最小的当前累积代价所对应的中间节点作为所述第i+ι个 中间节点mi+1;
[0082] 3. 5从第η个中间节点mn开始连线所述终止节点;
[0083] (4)利用与步骤(3)相同的方式布置剩余的各条线网。
[0084] 其中,上述步骤2. 3中仅仅提到了基本代价,而没有提及当前拥挤代价,是因为在 连接第一个中间节点M1和第二个中间节点M 2时,不会返回重复选择M 1或M 2,就在此种情况 下札和^历史使用次数为0,虽然其计算结果和步骤2. 4中计算数值相同,但步骤2. 3中直 接根据基本代价进行取值,而没有根据基本代价X (历史使用次数+1)运算后再取值,客观 上简化了运算方法,提高了运算速度。同理,在步骤3.3中布置前两个中间节点叫凡时,在 之前线网中的历史使用次数为〇,虽然其计算结果和步骤3. 4中计算数值相同,但步骤3. 3 中直接根据当前第二拥挤代价,而没有根据当前累积代价来取值,客观上简化了运算方法, 提高了运算速度。
[0085] 以下实施例是 申请人:考虑了节点的基本代价、在单一线网中的历史使用次数、弯 折部分的数量这三个因素的第三实施例:
[0086] 本实施例描述了一种用于反恪丝的现场可编程门阵列的布线方法,包括:
[0087] (1)构建含有多个节点的布线资源图;
[0088] (2)布置一条线网,包括:
[0089] 2. 1为一条线网的起始节点到终止节点之间的各中间节点(Mi)设定基本代价 ((bi(i)),其中,所述基本代价(bji))根据各中间节点(M i)的属性设定,所述中间节点的 个数为N ;
[0090] 2. 2从起始节点开始连线第一个中间节点(M1),其中,根据起始节点与连线可用 的各中间节点分别将形成的路径段中的弯折部分的数量以及各中间节点分别具有的基本 代价确定当前代价,从中选取一个最小的当前代价所对应的中间节点作为所述第一个中间 节点(M 1);
[0091] 2. 3从第一个中间节点M1开始连线第二个中间节点M2,针对第一个中间节点札连 线可用的各中间节点分别具有的基本代价,从中选取一个最小的基本代价b(2)所对应的 中间节点作为所述第二个中间节点M 2;
[0092] 2. 4从第i个中间节点(Mi)开始连线第i+Ι个中间节点(Mi+1),其中,根据第i个 中间节点(M i)连与连线可用的各中间节点分别将形成的路径段中的弯折部分的数量、各中 间节点分别具有的基本代价以及历史使用次数确定当前第一拥挤代价,从中选取一个最小 的当前第一拥挤代价所对应的中间节点作为所述第i+Ι个中间节点(M i+1),其中i依次从1 选到N-I ;
[0093] 2. 5从第N个中间节点(Mn)开始连线所述终止节点;
[0094] (3)利用与步骤⑵相同的方式布置剩余的各条线网。
[0095] 其中,上述步骤2. 2、2. 3中仅仅提到了基本代价,而没有提及第一拥挤代价,是因 为在连接第一个中间节点M1和第二个中间节点M 2时,不会返回重复选择M 1或M 2,且它们之 间不会出现弯折部分,就在此种情况下乂和M 2历史使用次数为0,且折弯部分的数量也是 0,虽然其计算结果和步骤2. 4中计算数值相同,但步骤2. 3中直接根据基本代价进行取值, 而没有根据基本代价X (历史使用次数+1) +折弯部分的数量来取值,客观上简化了运算方 法,提高了运算速度。
[0096] 以下实施例是 申请人:考虑了节点的基本代价、在不同线网中的历史使用次数、弯 折部分的数量这三个因素,且各线网之间出现交集形成共用点的第四实施例:
[0097] 本实施例描述了一种用于反熔丝的现场可编程门阵列的布线方法,包括:
[0098] (1)构建含有多个节点的布线资源图;
[0099] (2)布置第一线网,包括:
[0100] 2. 1为第一线网的起始节点到终止节点之间的各中间节点设定基本代价Id1Q), 其中,所述基本代价h (i)根据各中间节点Mi的属性设定,所述中间节点的个数为N ;
[0101] 2.2从起始节点开始连线第一个中间节点%,其中,当前代价=基本代价+弯折部 分的数量,从中选取一个最小的当前代价所对应的中间节点作为所述第一个中间节点M 1;
[0102] 2. 3从第一个中间节点M1开始连线第二个中间节点M2,根据当前代价=基本代价 +弯折部分的数量,从中选取一个最小的当前代价所对应的中间节点作为所述第二个中间 节点M 2;
[0103] 2.4从第i个中间节点Mi开始连线第i+Ι个中间节点Mi+1,其中2彡i彡N-1,根 据当前第一拥挤代价=基本代价X (历史使用次数+1) +弯折部分的数量,从中选取一个最 小的当前第一拥挤代价所对应的中间节点作为所述第i+Ι个中间节点Mi+1;
[0104] 2. 5从第N个中间节点Mn开始连线所述终止节点;
[0105] (3)布置第二线网,包括:
[0106] 3. 1为第二线网的起始节点到终止节点之间的各中间节点设定基本代价b2(i), 其中,所述基本代价b 2 (i)根据各中间节点Iiii的属性设定,所述中间节点的个数为η ;
[0107] 3. 2从起始节点开始连线第一个中间节点Iii1,其中,根据所述当前第二拥挤代价 =基本代价X (历史使用次数+1) +弯折部分的数量,从中选取一个最小的第二拥挤代价所 对应的中间节点作为所述第一个中间节点IH1;
[0108] 3. 3从第一个中间节点Hi1开始连线第二个中间节点m2,根据所述当前第二拥挤代 价=基本代价X (历史使用次数+1) +弯折部分的数量,从中选取一个最小的第二拥挤代价 所对应的中间节点作为所述第二个中间节点m2;
[0109] 3. 4从第i个中间节点HIi开始连线第i+1个中间节点m i+1,其中2彡i彡n-1,根 据所述当前累积代价=基本代价X (在第二线网中的历史使用次数+1) X (在之前线网中 的历史使用次数+1)+弯折部分的数量,从中选取一个最小的当前累积代价所对应的中间 节点作为所述第i+Ι个中间节点m i+i;
[0110] 3. 5从第η个中间节点mn开始连线所述终止节点;
[0111] ⑷利用与步骤(3)相同的方式布置剩余的各条线网。
[0112] 其中,上述步骤2. 2、2. 3中仅仅提到了基本代价,而没有提及当前拥挤代价,是因 为在连接第一个中间节点M1和第二个中间节点M 2时,不会返回重复选择M 1或M 2,就在此种 情况下乂和^历史使用次数为0,虽然其计算结果和步骤2. 4中计算数值相同,但步骤2. 3 中直接根据基本代价进行取值,而没有根据基本代价X (历史使用次数+1)来取值,客观上 简化了运算方法,提高了运算速度。同理,在步骤3. 2、3. 3中布置前两个中间节点HIkIII2时, 在之前线网中的历史使用次数为0,虽然其计算结果和步骤3. 4中计算数值相同,但步骤 3. 3中直接根据当前第二拥挤代价,而没有根据当前累积代价来取值,客观上简化了运算方 法,提高了运算速度。
[0113] 下面根据上述第四实施例中的步骤3. 4,具体描述在布置三根线网时,且三根线网 都在节点M处存在重复使用时代价的计算方式:
[0114] 首先,在布置第一线网时:
[0115] 例如:假定节点M的基本代价为1,已知该节点M已被使用L= 2次,当其连 接到下一节点形成的路径段中的弯折部分的数量Ii1= 4时,节点M当前拥挤度代价= I X (t^l) +Ii1= 7 ;
[0116] 然后,在布置第二线网时:
[0117] 已知节点M的基本代价为1,当节点M在第二根线网中被使用t2= 3次,当其 连接到下一节点形成的路径段中的弯折部分的数量n2= 5时,节点M当前累积代价= IX (t^l) X (t2+l)+n2= 17 ;
[0118] 接着,在布置第三根线网时;
[0119] 已知节点M的基本代价为1,当节点M在第三根线网中被使用t3= 4次,弯折部分 的数量n3= 3,可知:节点Mi当前积累代价=IX (t汴1:2+1) X (t3+l)+n3= 33。
[0120] 根据同样的方法布置剩余线网,在此不再累述。
[0121] 分析上述数据的可以得出:随着节点的使用次数的增加,其代价值在相应地增加, 在多条线网交集时,随着节点的使用次数的增加,其代价进行了骤然地极大程度地增加,换 句话说,在节点的使用次数过大时,其导通性能是极低的。因此 申请人:设定每一节点的使用 次数极限值,使得一旦后续该节点的使用次数达到该极限值后,将该节点判定为不可用节 点。在此,将极限值设定为5。
[0122] 另外,上述四个实施例中均包含构建含有多个节点的布线资源图这个步骤,具体 描述如下:
[0123] 布线资源图是对芯片的所有布线资源进行标注,为以后布线做准备。在构建布线 资源图的过程中,每一个硬件资源,包括逻辑单元的输入输出端口,每一条连线,都对应于 一个节点。而每一个连接关系则对应于有向边。这样布线模块所用到的硬件资源都已经包 括在布线资源图中。其中器件的组合、时序单元,管脚,时钟管脚还有线网。逻辑单元有若干 个输入端口和一个唯一的输出端口。以上所有信息都作为节点存储到布线资源图中。需要 存储的还有这些节点之间的连接关系:所有的逻辑单元的输入端口都连接着水平方向上的 互联线网,逻辑单元的输出信号则可以连接到垂直方向上的互联线网以及同属一个Super Cluster的逻辑单元的输入端口。需要特殊处理的连接关系包括左右两侧的垂直通道,顶端 的水平通道,它们的线网数量与其它通道不一致。另外,端口的方向性,逻辑单元的输入端 口有的来自于上面的通道,有的来自于下面。底侧的逻辑单元的输出端口连接的是管脚的 端口,而四周管脚的端口则占用了部分互联通道线网。
[0124] 其中,布线模块主要利用由硬件结构文件自动产生的布线资源图,以拥挤度为主 要目标函数的迷宫布线和拆线重布技术来实现用户设计。在布线过程中对于速度或延时的 优化主要是通过寻找最佳路径来达到的。这保证软件系统有一定的灵活性。布线过程的后 续操作均是在布线资源图上执行,此时布线过程就转化为在布线资源图上采用迷宫算法寻 找有效路径的过程。
[0125] 在具体布线时, 申请人:考虑到每个节点到相邻节点(即每一条边)都会有其相应 的代价,每一个节点下面都有其累积代价。根据一种具体的实施方式,不妨将不同的节点的 基本代价按照表(1)设定如下:
[0126]

【权利要求】
1. 一种用于反烙丝的现场可编程口阵列的布线方法,包括: (1) 构建含有多个节点的布线资源图; (2) 布置一条线网,包括: 2. 1为一条线网的起始节点到终止节点之间的各中间节点(Mi)设定基本代价 (化i(i)),其中,所述基本代价化i(i))根据各中间节点(Mi)的属性设定,所述中间节点的 个数为N ; 2. 2从起始节点开始连线第一个中间节点(Ml),其中,针对起始节点连线可用的各中间 节点分别具有的基本代价,从中选取一个最小的基本代价化i(i))所对应的中间节点作为 所述第一个中间节点(Ml); 2. 3从第i个中间节点(Mi)开始连线第i+1个中间节点(Mw),其中,根据第i个中间 节点(Mi)连线可用的各中间节点分别具有的基本代价W及历史使用次数确定当前第一拥 挤代价,从中选取一个最小的当前第一拥挤代价所对应的中间节点作为所述第i+1个中间 节点(Mw),其中i依次从1选到N-1 ; 2. 4从第N个中间节点(M。)开始连线所述终止节点; (3) 利用与步骤(2)相同的方式布置剩余的各条线网。
2. 根据权利要求1所述的布线方法,其特征在于,在所述步骤2. 3中,所述当前第一拥 挤代价=基本代价X (历史使用次数+1)。
3. -种用于反烙丝的现场可编程口阵列的布线方法,包括: (1) 构建含有多个节点的布线资源图; (2) 利用根据权利要求1或2所述的布线方法中的步骤(2)布置第一线网; (3) 布置第二线网,包括: 3. 1为第二线网的起始节点到终止节点之间的各中间节点设定基本代价化2(i)),其 中,所述基本代价化2(i))根据各中间节点0?)的属性设定,所述中间节点的个数为n; 3. 2从起始节点开始连线第一个中间节点OV,其中,根据起始节点连线可用的各中间 节点分别具有的基本代价W及所述各中间节点在之前线网中的历史使用次数确定当前第 二拥挤代价,从中选取一个最小的第二拥挤代价所对应的中间节点作为所述第一个中间节 点 0?); 3. 3从第i个中间节点如)开始连线第i+1个中间节点Ovi),其中,根据第i个中间 节点0?)连线可用的各中间节点分别具有的基本代价、在之前线网中的历史使用次数W及 在第二线网中的历史使用次数确定当前累积代价,从中选取一个最小的当前累积代价所对 应的中间节点作为所述第i+1个中间节点Ovi),其中i依次从1选到n-1 ; 3. 4从第n个中间节点(m。)开始连线所述终止节点; (4) 利用与步骤(3)相同的方式布置剩余的各条线网。
4. 根据权利要求3所述的布线方法,其特征在于,在所述步骤3. 2中,所述当前第二拥 挤代价=基本代价X (在之前线网中的历史使用次数+1); 在所述步骤3. 3中,所述当前累积代价=基本代价X (在之前线网中的历史使用次数 +1) X (在第二线网中的历史使用次数+1)。
5. -种用于反烙丝的现场可编程口阵列的布线方法,包括: (1)构建含有多个节点的布线资源图; (2) 布置一条线网,包括: 2.1为一条线网的起始节点到终止节点之间的各中间节点(Mi)设定基本代价 (化i(i)),其中,所述基本代价化i(i))根据各中间节点(Mi)的属性设定,所述中间节点的 个数为N ; 2. 2从起始节点开始连线第一个中间节点(Ml),其中,根据起始节点与连线可用的各 中间节点分别将形成的路径段中的弯折部分的数量W及各中间节点分别具有的基本代价 确定当前代价,从中选取一个最小的当前代价所对应的中间节点作为所述第一个中间节点 (Ml); 2. 3从第i个中间节点(Mi)开始连线第i+1个中间节点(Mw),其中,根据第i个中间 节点(Mi)连与连线可用的各中间节点分别将形成的路径段中的弯折部分的数量、各中间节 点分别具有的基本代价W及历史使用次数确定当前第一拥挤代价,从中选取一个最小的当 前第一拥挤代价所对应的中间节点作为所述第i+1个中间节点(M W),其中i依次从1选 到 N-1 ; 2. 4从第N个中间节点(M。)开始连线所述终止节点; (3) 利用与步骤(2)相同的方式布置剩余的各条线网。
6. 根据权利要求5所述的布线方法,其特征在于,在所述步骤2. 2中,所述当前代价= 基本代价+弯折部分的数量; 在所述步骤2. 3中,所述当前第一拥挤代价=基本代价X (历史使用次数+1) +弯折部 分的数量。
7. -种用于反烙丝的现场可编程口阵列的布线方法,包括: (1) 构建含有多个节点的布线资源图; (2) 利用根据权利要求5或6所述的布线方法中的步骤(2)布置第一线网; (3) 布置第二线网,包括: 3. 1为第二线网的起始节点到终止节点之间的各中间节点设定基本代价化2(i)),其 中,所述基本代价化2(i))根据各中间节点0?)的属性设定,所述中间节点的个数为n; 3. 2从起始节点开始连线第一个中间节点OV,其中,根据起始节点与连线可用的各中 间节点分别将形成的路径段中的弯折部分的数量、各中间节点分别具有的基本代价W及所 述各中间节点在之前线网中的历史使用次数确定当前第二拥挤代价,从中选取一个最小的 第二拥挤代价所对应的中间节点作为所述第一个中间节点(mi); 3. 3从第i个中间节点如)开始连线第i+1个中间节点Ovi),其中,根据第i个中间 节点0?)与连线可用的各中间节点分别将形成的路径段中的弯折部分的数量、各中间节点 分别具有的基本代价、在之前线网中的历史使用次数W及在第二线网中的历史使用次数确 定当前累积代价,从中选取一个最小的当前累积代价所对应的中间节点作为所述第i+1个 中间节点OVi),其中i依次从1选到n-1 ; 3. 4从第n个中间节点(m。)开始连线所述终止节点; (4) 利用与步骤(3)相同的方式布置剩余的各条线网。
8. 根据权利要求7所述的布线方法,其特征在于,在所述步骤3. 2中,所述当前第二拥 挤代价=基本代价X (在之前线网中的历史使用次数+1) +弯折部分的数量; 在所述步骤3. 3中,所述当前累积代价=基本代价X (在之前线网中的历史使用次数 +1) X (在第二线网中的历史使用次数+1) +弯折部分的数量。
9. 根据权利要求1-8中任一项所述的布线方法,其特征在于,在步骤(1)和(2)之间还 包括步骤;设定每一节点的使用次数极限值,使得一旦后续该节点的使用次数达到该极限 值后,将该节点判定为不可用节点。
10. 根据权利要求9所述的布线方法,其特征在于,所述使用次数极限值为5。
【文档编号】G06F17/50GK104462726SQ201410830465
【公开日】2015年3月25日 申请日期:2014年12月26日 优先权日:2014年12月26日
【发明者】齐洋 申请人:中国电子科技集团公司第四十七研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1