CN103902772A - 基于交错型引脚结构的等长差分对逃逸布线方法 - Google Patents
基于交错型引脚结构的等长差分对逃逸布线方法 Download PDFInfo
- Publication number
- CN103902772A CN103902772A CN201410123077.8A CN201410123077A CN103902772A CN 103902772 A CN103902772 A CN 103902772A CN 201410123077 A CN201410123077 A CN 201410123077A CN 103902772 A CN103902772 A CN 103902772A
- Authority
- CN
- China
- Prior art keywords
- pin
- wiring
- intermediate point
- node
- path
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
基于交错型引脚结构的等长差分对逃逸布线方法属于印刷电路板自动布线技术领域,其特征在于,首先,查找每对差分对的最小代价中间点,并用等长且最短的导线通过中间点去连接一对差分对的两个引脚,其次,基于布线网络整数线性规划的方法在网络流图上找到从每对差分对的最小代价中间点到外框的路径,以解决印刷电路板布线时的逃逸布线的设计问题,本发明可以在布线阶段来优化通信性能。
Description
技术领域
基于交错型引脚结构的等长差分对逃逸布线方法属于集成电路计算机辅助设计领域,尤其涉及印刷电路板自动布线领域。
背景技术
随着社会的高速发展,人们对电子设备的要求也在不断提高;可携式设备越来越受到青睐。在这种便携的趋势下,各大厂商们都盼望推出体积小的各种电子设备,而要设计出体积小的电子设备,这就直接要求和使得印刷电路板的精度越来越高,面积越来越小。
一方面,针对印刷电路板主板的引脚结构,传统的引脚排列都是网格型的(如图1(a))。然而引脚之间的距离却有最小的距离限制,这就使得网格型结构无法满足日益缩小的尺寸需求。为了得到更高精度和面积更小的印刷电路板,一种新型的引脚结构──交错型的引脚结构也就诞生了(如图1(b))。研究发现,这种新型结构,可以比传统的网格型引脚结构得到更高的引脚密度,在相同引脚数目下交错型的引脚结构的面积比传统的网格型引脚结构更小。另一方面,随着芯片的集成度不断增加,印刷电路板的布线规模亦不断增大,以致人工的印刷电路板布线已经不能实现,因而需要自动的布线算法。而其中,逃逸布线是印刷电路板布线中的一个关键问题。
逃逸布线问题,就是要把引脚网格里一些指定的引脚布线连到网格外框。导线到达外框后再与其他器件相连,因此逃逸布线是把器件相连的关键问题。以往的逃逸布线算法主要分为两种,一种是基于普通信号线的研究,另外一种是针对高速印刷电路板设计的差分对信号的研究。与普通信号线不同,差分对信号面临着更多的约束:不仅要求两条信号线相近,而且要求两条信号线的长度尽可能相同,因此也更加困难。鉴于在密度更高的交错型引脚结构下高速传输信号必然会产生更多更大的干扰,故本发明基于交错型引脚结构的等长差分对逃逸布线方法,从而在更高密度、更小面积的情况下得到高抗扰度、有效抑制电磁干扰的逃逸布线结果。
发明内容
本发明提出了基于交错型引脚结构的等长差分对逃逸布线方法,流程图如图2所示,其特征在于,是在计算机中依次按以下几个步骤实现的:
步骤(1),计算机初始化,设定以下变量及参数:
差分对,是指差分对信号的两个交错型引脚,以下简称引脚,两个引脚连接出来的信号线要先汇聚到一起,然后再作为一个整体向引脚阵列的外框传输,此外,差分对信号要满足等长约束,就是从两个引脚出来的信号线到汇聚点的长度要相同;
布线网络单元:呈六边形结构,由彼此相邻的节点相连而成,所有的布线网络单元组成布线网络;从每个引脚开始布线,先连接到最近的一个布线节点,所述布线节点是指以每三个相邻的引脚构成的三角形的中心点,如图3(a)所示,再通过布线网络连接到芯片的边框,如图3(b)所示;
引脚六边形:如图4所示,由每个引脚周围最临近的6个引脚连接组成,大小为1,由所述引脚六边形单元中心的引脚向外扩展的引脚六边形形状相似,大小为1的倍数;
最小相邻或相交引脚六边形是指由两个中心引脚向外扩展成的两个引脚六边形在发生重叠或者交叉时变长最小的引脚六边形,图6(a)、图6(b)和图6(c)显示了不同类型的最小相交六边形;
中间点,是差分对信号汇聚的节点,中间点的位置将影响等长约束条件以及总线长的大小,因此中间点的选择至关重要;一对差分对的最小代价中间点就是它们之间的一个中间点,而这中间点到这差分对的两引脚的曼哈顿距离是一样而且是最短的;其中,布线的路径是由线节点组成的;
步骤(2),找出一对差分对的所有最小代价中间点,从中找出从一个引脚经过中间点到另一引脚的所有的最短路径,定义为引脚间候选路径;
步骤(3),按以下步骤划分布线区域:
步骤(3.1),针对每个引脚对,划出引脚对的布线区域,该布线区域是指以此引脚对为对角线的四边形区域;
步骤(3.2),根据每个引脚对的布线区域的交叠情况,将引脚对划分为不同的组,方式如下:
步骤(3.2.1),对于布线区域重叠或相交的两个引脚对,划分为同一组,对于与其他引脚对的布线区域无相交的引脚对,独自作为一个组,划分的组称之为引脚对组;
步骤(3.2.2),如果某一引脚对组中差分对的个数大于用户定义的数量Nmax,则把这组分割成更小的组,方式如下:
对于每对引脚对组G里的差分对p,如果p至少有一条引脚间候选路径没有与其他布线范围相交,就把p和其相应的引脚到引脚路径从G中移除,并将p中的所有引脚间候选路径中与其他布线范围存在相交的候选路径删除,将修改后的p单独组成一组,并重复这一过程直至差分对数量少于Nmax或者再也没有差分对从G中移除;
步骤(4),按以下步骤确定每个差分对最终选择的中间点以及通过中间点的最短路径:
步骤(4.1),设定Gk为一个差分信号组,含有αk条差分信号,对于每一条差分信号i,有nki条引脚间候选路径;
对任何一条差分信号i,分配有且仅有一条引脚间路径,表示为:
步骤(4.2),设用PCCk表示Gk中所有出现交叉的引脚间候选路径集合,那么对于任意两条出现交叉的路径pathip和pathjp,只能存在一条,因此xip和xjp需要满足:
xip+xiq≤1,(ip,jq)∈PCCk 公式(2)
步骤(4.3),确定目标函数为:
步骤(4.4),求解步骤(4.3)中所述的整数线性规划问题,得到满足优化需求的各差分对信号的中间点以及引脚到中间点的最短路径,如出现多条可以满足的解,则选择中间点距离边框最近的作为最终解;
注:整数线性规划求解算法不属于本专利申请的内容,在此不详述;
步骤(5),按以下步骤进行中间点到边框的逃逸布线路径的选择
步骤(5.1),更新布线网络,将在步骤(4)中用过的布线节点从网络中去掉;
步骤(5.2),建立布线网络流图,图中节点表示没有被最短引脚间路径占据的布线节点,图中的边连接两相邻的布线节点,容量为1,代价为1;
步骤(5.3),新增一个源点s和汇点t,用容量为1和代价为0的从源点s流出的有向边连接源点s和所有的中间点,并用容量为1和代价为0的流入汇点t的有向边连接靠近芯片边框的布线节点和汇点t;
步骤(5.4),建立下述整数线性规划模型,找出所有中间点可能到达芯片边框时的最短路径:
eij表示布线节点i到节点j的边,E为所有边eij的集合,f(eij)表示边eij上的走线数量,为整形变量,l(eij)表示边eij的长度;目标函数表示:图中所有从中间点到边框节点的布线路经的总长度;
约束条件如下:
MP表示中间点的集合,s表示添加源点,t表示添加的汇点,T表示所有布线节点集合,E则表示所有布线网络边的集合,c(eij)表示边eij容许的走线数量;公式(5)所有边eij上无交叉的布线;公式(6)表示以源点s为出度的边eij的总数为|MP|,|MP|为中间点的个数;公式(7)表示以源点t为入度的边eij的总数为|MP|;公式(8)表示任意一个布线节点的入度等于出度,即满足流量守恒;公式(9)表示每条边eij上容许的走线数量不超过给定的容量;公式(10)表示每条边eij走线数量非负;
步骤(5.5),求解这个整数线性规划问题,得到从中间点到边框的逃逸布线方案;如图8(a)所示,三个差分对信号都已经用等长的导线连接到他们各自的中间结点,源点s连接到所有的中间结点,超级汇t连接到外框;网络流的流从源点s开始流到汇点t并得出最小代价;图8(b)是网络流图的结果;蓝色、红色和紫色差分对分别以代价为3,4,1的有向边连到外框;等到所有中间结点到外框的最优路径都找到后,我们根据最优路径布互相等距的双导线;如图8(c)所示,得出了逃逸布线的方案。
附图说明
图1两种引脚阵列的结构:(a)网格型引脚结构,(b)交错型引脚结构;
图2基于交错型引脚结构的差分对逃逸布线流程图
图3布线网络示意图:(a)布线节点示意图,(b)布线网络以及布线示例;
图4引脚六边形:(a)引脚六边形示意图,(b)最小相邻引脚六边形;
图6复杂情况下的中间点查找方法:(a)最小相交六边形,(b)最小相邻六边形相邻边完全重合,(c)最小相邻六边形相邻边不完全重合;
图7引脚到中间点路径选择示例:(a)方案一到边框的总长度为10,(b)方案二到边框的总长度为8;
图8基于网络流的逃逸布线:(a)网络流图的建构,(b)网络流后的结果,(c)最终的布线方案;
图9给出了数据10的布线结果。
具体实施方式
本专利能够根据交错型引脚结构的尺寸以及需要进行逃逸布线的引脚坐标,进行自动化的布线,得到逃逸布线方案;所有的实验都是用C++实现,并在Intel Xeon2.40GHz和12GB内存的Linux工作站上运行;在实验方面使用了10个测试用例,并使用gurobi作为整数线性规划的求解工具;
给定一个具体的测试用例,以数据10为例依次按照以下步骤执行:
1、创建布线网络
测试用例的输入信息包括交错型引脚结构的长度,宽度,引脚的总数以及每条差分信号的两个引脚所在的位置。读取测试用例的信息,创建布线网络图,保存差分信号信息。数据10中的引脚阵列是35x35的,有60条差分信号对(即120个需要逃逸的引脚);
2、中间点及布线路径查找
根据差分信号的两个引脚的位置,根据步骤(1)中的最小代价中间点的查找方法,找到所有可能的中间点候选方案,并通过步骤(2)的布线路径查找,找到最短的引脚到中间点的候选路径方案;
3、布线区域划分
在上一步找到的所有路径中,找到存在交叉的路径对,并存储在交叉路径集合中。并利用步骤(3)的布线区域划分方法,将原来的布线问题划分为子问题;
4、确定中间点以及引脚-中间点布线方案
对于上面划分的每一个布线区域,分别按照步骤(4)的建模方式建立整数线性规划模型并求解,从而得到引脚到中间点的最终布线方案,并保证没有交叉布线出现;
5、中间点到边框的逃逸布线
确定中间点以及中间点到引脚的布线路径之后,按照步骤(5.1)所述方法将所有用过的布线节点从网络图中去掉,并根据步骤(5.2)(5.3)和(5.4)的方法建立布线网络流图,加入源点s和汇点t,最后建立步骤(5.4)中的模型;用gurobi求解后,即可得到从中间点到边框的布线方案;
6、实验结果
实验一:集成网络器件的多电压片上网络芯片的布图规划方法的有效性
为了证明本文方法的有效性,我们与最新的已有方法进行比较。该方法使用网格型的引脚结构,并使用网络流算法来进行逃逸布线。而本发明使用的是交错性网格结构,并使用整数线性规划来求解。差分信号的引脚分布在两种引脚结构中均保持一致;在表一中,“平均长度”表示从一个引脚到网格外框经过的布线节点的平均数;可以看出,本发明所得出得布线结果的面积相对于原来网格结构减小了15.5%,而平均导线长度也减少了传统网格结构的16.1%;在运行时间方面,并没有增加太多;可以看出,本发明能有效地得出在交错型引脚结构下的等长差分对逃逸布线的结果,得到了面积更小、密度更高和抗干扰能力强的布线设计;图(9)给出了数据10的布线结果;
表1实验结果
Claims (1)
1.一种基于交错型引脚结构的等长差分对逃逸布线方法,其特征在于,是在计算机中依次按以下几个步骤实现的:
步骤(1),计算机初始化,设定以下变量及参数:
差分对,是指差分对信号的两个交错型引脚,以下简称引脚,两个引脚连接出来的信号线要先汇聚到一起,然后再作为一个整体向引脚阵列的外框传输,此外,差分对信号要满足等长约束,就是从两个引脚出来的信号线到汇聚点的长度要相同;
布线网络单元:呈六边形结构,由彼此相邻的节点相连而成,所有的布线网络单元组成布线网络;从每个引脚开始布线,先连接到最近的一个布线节点,所述布线节点是指以每三个相邻的引脚构成的三角形的中心点,再通过布线网络连接到芯片的边框;
引脚六边形:由每个引脚周围最临近的6个引脚连接组成,大小为1,由所述引脚六边形单元中心的引脚向外扩展的引脚六边形形状相似,大小为1的倍数;
最小相邻或相交引脚六边形是指由两个中心引脚向外扩展成的两个引脚六边形在发生重叠或者交叉时变长最小的引脚六边形;
中间点,是差分对信号汇聚的节点,中间点的位置将影响等长约束条件以及总线长的大小,因此中间点的选择至关重要;一对差分对的最小代价中间点就是它们之间的一个中间点,而这中间点到这差分对的两引脚的曼哈顿距离是一样而且是最短的;其中,布线的路径是由线节点组成的;
步骤(2),找出一对差分对的所有最小代价中间点,从中找出从一个引脚经过中间点到另一引脚的所有的最短路径,定义为引脚间候选路径;
步骤(3),按以下步骤划分布线区域:
步骤(3.1),针对每个引脚对,划出引脚对的布线区域,该布线区域是指以此引脚对为对角线的四边形区域;
步骤(3.2),根据每个引脚对的布线区域的交叠情况,将引脚对划分为不同的组,方式如下:
步骤(3.2.1),对于布线区域重叠或相交的两个引脚对,划分为同一组,对于与其他引脚对的布线区域无相交的引脚对,独自作为一个组,划分的组称之为引脚对组;
步骤(3.2.2),如果某一引脚对组中差分对的个数大于用户定义的数量Nmax,则把这组分割成更小的组,方式如下:
对于每对引脚对组G里的差分对p,如果p至少有一条引脚间候选路径没有与其他布线范围相交,就把p和其相应的引脚到引脚路径从G中移除,并将p中的所有引脚间候选路径中与其他布线范围存在相交的候选路径删除,将修改后的p单独组成一组,并重复这一过程直至差分对数量少于Nmax或者再也没有差分对从G中移除;
步骤(4),按以下步骤确定每个差分对最终选择的中间点以及通过中间点的最短路径:
步骤(4.1),设定Gk为一个差分信号组,含有αk条差分信号,对于每一条差分信号i,有nki条引脚间候选路径;
对任何一条差分信号i,分配有且仅有一条引脚间路径,表示为:
步骤(4.2),设用PCCk表示Gk中所有出现交叉的引脚间候选路径集合,那么对于任意两条出现交叉的路径pathip和pathjp,只能存在一条,因此xip和xjp需要满足:
xip+xjq≤1,(ip,jq)∈PCCk 公式(2)
步骤(4.3),确定目标函数为:
步骤(4.4),求解步骤(4.3)中所述的整数线性规划问题,得到满足优化需求的各差分对信号的中间点以及引脚到中间点的最短路径,如出现多条可以满足的解,则选择中间点距离边框最近的作为最终解;
步骤(5),按以下步骤进行中间点到边框的逃逸布线路径的选择
步骤(5.1),更新布线网络,将在步骤(4)中用过的布线节点从网络中去掉;
步骤(5.2),建立布线网络流图,图中节点表示没有被最短引脚间路径占据的布线节点,图中的边连接两相邻的布线节点,容量为1,代价为1;
步骤(5.3),新增一个源点s和汇点t,用容量为1和代价为0的从源点s流出的有向边连接源点s和所有的中间点,并用容量为1和代价为0的流入汇点t的有向边连接靠近芯片边框的布线节点和汇点t;
步骤(5.4),建立下述整数线性规划模型,找出所有中间点可能到达芯片边框时的最短路径:
eij表示布线节点i到节点j的边,E为所有边eij的集合,f(eij)表示边eij上的走线数量,为整形变量,l(eij)表示边eij的长度;目标函数表示:图中所有从中间点到边框节点的布线路经的总长度;
约束条件如下:
MP表示中间点的集合,s表示添加源点,t表示添加的汇点,T表示所有布线节点集合,E则表示所有布线网络边的集合,c(eij)表示边eij容许的走线数量;公式(5)所有边eij上无交叉的布线;公式(6)表示以源点s为出度的边eij的总数为|MP|,|MP|为中间点的个数;公式(6)表示以源点t为入度的边eij的总数为|MP|;公式(8)表示任意一个布线节点的入度等于出度,即满足流量守恒;公式(9)表示每条边eij上容许的走线数量不超过给定的容量;公式(10)表示每条边eij走线数量非负;
步骤(5.5),求解这个整数线性规划问题,得到从中间点到边框的逃逸布线方案。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410123077.8A CN103902772B (zh) | 2014-03-28 | 2014-03-28 | 基于交错型引脚结构的等长差分对逃逸布线方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410123077.8A CN103902772B (zh) | 2014-03-28 | 2014-03-28 | 基于交错型引脚结构的等长差分对逃逸布线方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103902772A true CN103902772A (zh) | 2014-07-02 |
CN103902772B CN103902772B (zh) | 2017-01-18 |
Family
ID=50994093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410123077.8A Expired - Fee Related CN103902772B (zh) | 2014-03-28 | 2014-03-28 | 基于交错型引脚结构的等长差分对逃逸布线方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103902772B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104809284A (zh) * | 2015-05-29 | 2015-07-29 | 清华大学 | 堆叠式三维集成芯片片间互联微凸块矩阵的规划方法 |
CN108040418A (zh) * | 2017-12-05 | 2018-05-15 | 深圳比特微电子科技有限公司 | 数据处理装置以及虚拟货币挖矿机和计算机服务器 |
WO2020000948A1 (zh) * | 2018-06-28 | 2020-01-02 | 郑州云海信息技术有限公司 | 差分对焊盘规避走线区域的生成方法、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1602135A (zh) * | 2003-09-27 | 2005-03-30 | 鸿富锦精密工业(深圳)有限公司 | 印刷电路板及其布线方法 |
CN101378618A (zh) * | 2007-08-31 | 2009-03-04 | 鸿富锦精密工业(深圳)有限公司 | 印刷电路板 |
CN103324796A (zh) * | 2013-06-21 | 2013-09-25 | 福州大学 | 一种大规模集成电路设计中的绕障直角斯坦纳树构造方法 |
-
2014
- 2014-03-28 CN CN201410123077.8A patent/CN103902772B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1602135A (zh) * | 2003-09-27 | 2005-03-30 | 鸿富锦精密工业(深圳)有限公司 | 印刷电路板及其布线方法 |
CN101378618A (zh) * | 2007-08-31 | 2009-03-04 | 鸿富锦精密工业(深圳)有限公司 | 印刷电路板 |
CN103324796A (zh) * | 2013-06-21 | 2013-09-25 | 福州大学 | 一种大规模集成电路设计中的绕障直角斯坦纳树构造方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104809284A (zh) * | 2015-05-29 | 2015-07-29 | 清华大学 | 堆叠式三维集成芯片片间互联微凸块矩阵的规划方法 |
CN104809284B (zh) * | 2015-05-29 | 2020-04-24 | 清华大学 | 堆叠式三维集成芯片片间互联微凸块矩阵的规划方法 |
CN108040418A (zh) * | 2017-12-05 | 2018-05-15 | 深圳比特微电子科技有限公司 | 数据处理装置以及虚拟货币挖矿机和计算机服务器 |
WO2020000948A1 (zh) * | 2018-06-28 | 2020-01-02 | 郑州云海信息技术有限公司 | 差分对焊盘规避走线区域的生成方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103902772B (zh) | 2017-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8427980B2 (en) | Methods and apparatus to determine and implement multidimensional network topologies | |
US20130174113A1 (en) | Floorplan estimation | |
Parhami et al. | A unified formulation of honeycomb and diamond networks | |
CN103902772A (zh) | 基于交错型引脚结构的等长差分对逃逸布线方法 | |
US10142198B2 (en) | Node-centric analysis of dynamic networks | |
Huang et al. | Application-specific network-on-chip synthesis with topology-aware floorplanning | |
CN103761212B (zh) | 片上网络中任务与节点间映射方案与拓扑结构的设计方法 | |
CN107992541A (zh) | 一种电力系统全接线计算拓扑分析方法及系统 | |
TWI410819B (zh) | 考量元件與佈線對稱之類比佈局方法 | |
CN104239600B (zh) | 基于多商品流的大规模集成电路详细布线方法 | |
CN102902347B (zh) | 一种片上系统的低功耗电压岛划分方法 | |
Russo et al. | LAMBDA: An open framework for deep neural network accelerators simulation | |
CN112989749A (zh) | 一种集成电路版图布线中引脚访问方法及装置 | |
CN103970934B (zh) | 一种集成网络器件的多电压片上网络芯片的布图规划方法 | |
CN106294905A (zh) | 印刷电路板布线系统及方法 | |
CN115221835A (zh) | 一种芯片设计的物理验证方法及装置 | |
CN108092805A (zh) | 一种基于群体优化的电力通信网跨域虚拟网分配机制 | |
Wang et al. | To form a smaller world in the research realm of hierarchical decision models | |
CN105205033B (zh) | 一种基于应用划分的片上网络ip核映射方法 | |
Dou et al. | Acceleration of parallel computation for derived micro-modeling circuit by exploiting GPU memory bandwidth limit | |
CN109962867A (zh) | 一种片上网络分支界定任务映射方法 | |
CN109495305A (zh) | 一种多分布多商品多态流网络可靠性评估方法和装置 | |
Sattar et al. | Simultaneous escape routing using network flow optimization | |
Hasan et al. | Sliding column model for t-unit bar visibility representations of graphs | |
Salleh et al. | Single-row transformation of complete graphs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170118 Termination date: 20170328 |
|
CF01 | Termination of patent right due to non-payment of annual fee |