CN114297976B - 一种用于脉冲逻辑电路的自动布线方法、系统 - Google Patents
一种用于脉冲逻辑电路的自动布线方法、系统 Download PDFInfo
- Publication number
- CN114297976B CN114297976B CN202111653611.2A CN202111653611A CN114297976B CN 114297976 B CN114297976 B CN 114297976B CN 202111653611 A CN202111653611 A CN 202111653611A CN 114297976 B CN114297976 B CN 114297976B
- Authority
- CN
- China
- Prior art keywords
- wiring
- column
- switch box
- track
- col
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000004590 computer program Methods 0.000 claims description 14
- 230000005540 biological transmission Effects 0.000 claims description 8
- 238000013461 design Methods 0.000 claims description 3
- 230000002035 prolonged effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 239000002184 metal Substances 0.000 description 3
- 229910052751 metal Inorganic materials 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000004907 flux Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 150000002739 metals Chemical class 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02E—REDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
- Y02E40/00—Technologies for an efficient electrical power generation, transmission or distribution
- Y02E40/60—Superconducting electric elements or equipment; Power systems integrating superconducting elements or equipment
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明涉及一种用于脉冲逻辑电路的自动布线方法、系统,该方法包括如下步骤:步骤S1:根据开关盒布线算法得到线网的布线路径;步骤S2:基于超导工艺库中的JTL布线单元类型来确定每个开关盒格点的JTL单元类型;步骤S3:得到整个开关盒的JTL布线结果。本发明解决了超导RSFQ电路的开关盒位置的JTL布线问题,同时优化了线长,减少了电路面积和功耗。
Description
技术领域
本发明涉及逻辑电路技术领域,特别涉及一种用于脉冲逻辑电路的自动布线方法、系统、电子设备及存储介质。
背景技术
脉冲逻辑电路技术,例如高速单磁通量子(Rapid Single Flux Quantum,RSFQ)电路,具有高速和低功耗的特性,是极具前景的下一代集成电路技术。脉冲逻辑技术提供了更高频、更低功率、更高能效电路的可能性,因此用于大规模脉冲逻辑电路设计自动化的工具成为国内外研究热点。RSFQ电路的互连线可以分为两类:约瑟夫森传输线(JosephsonTransmission Line,JTL)和无源传输线(Passive Transmission Line,PTL)。PTL是随着工艺的进步出现的新型互连线,能够以较高的速度传输脉冲信号,但每个PTL需要额外增加一个驱动单元和一个接收单元,如图1所示,从而导致芯片的面积增加。JTL是由多个约瑟夫森结串联组成,如图2所示,比PTL有更高的布线灵活性,一方面是因为工艺库中存在交叉类型的JTL,另一方面是因为JTL更便于RSFQ电路的时序调整,以满足其特殊时序要求。
物理布线用于绘制每个信号的布线路径,并且不能违反工艺设计规则。这里的布线仅解决数据信号的走线问题,时钟信号的布线可在数据信号布线前的时钟树综合阶段完成。布线关键的目标是保证电路中所有信号均能布通,其他目标包括最小化线长、最大化工作频率等。
JTL是在RSFQ电路早期工艺中使用的互连线。JTL布线算法比较有代表性的工作是,2003年日本的研究人员在提出的JTL布线算法。首先使用CMOS布线工具在两层金属上布线,然后用JTL替换金属走线,实现RSFQ电路的布线。然而,该研究工作并不能解决开关盒位置的JTL布线问题。
发明内容
发明所要解决的问题
与半导体电路中的金属线不同,超导RSFQ电路的布线单元(如JTL)是有方向的,因此面向半导体电路的开关盒布线算法不能直接用来确定超导集成电路的JTL布线路径。因此,本发明的主要目的是提供一种用于脉冲逻辑电路的自动布线方法、系统、电子设备及存储介质,该用于脉冲逻辑电路的自动布线方法是一种面向超导RSFQ电路的开关盒JTL布线算法,以解决上述技术中所存在的问题。
用于解决问题的方案
为了达到上述目的,本发明是一种用于脉冲逻辑电路的自动布线方法,包括如下步骤:
步骤S1:根据开关盒布线算法得到线网的布线路径;
步骤S2:基于超导工艺库中的JTL布线单元类型来确定每个开关盒格点的JTL单元类型;
步骤S3:得到整个开关盒的JTL布线结果。
优选地,在步骤S1中,基于贪心算法设计开关盒布线算法。
优选地,所述开关盒的大小是由水平通道和垂直通道中所包含的轨道数确定。
优选地,步骤S1中的开关盒布线算法具体包括:
步骤S11:对开关盒布线问题进行建模;
步骤S12:划分开关盒;
步骤S13:求解列布线的最优解;
步骤S14:合并列布线结果。
优选地,在步骤S12的划分开关盒的步骤中,从第0列开始布线。
优选地,步骤S13包括如下子步骤:
建立开关盒与当前列的顶部引脚和底部引脚的连接;
做贪心决策;
找到需要布线的线网可以移动到的轨道;
列布线的第四步将当前列的布线信息延伸到下一列,并重复上述步骤直到完成所有列的布线。
优选地,在步骤S14中,将每一列的布线结果合并得到最后的解,当出现冲突导致线网无法连接到目标右引脚时,将再扩大开关盒长和宽,重新进行布线,直到所有的线网全部布通,输出布线结果以及通道密度来统计信息。
为了达到上述目的,本发明还提供一种用于脉冲逻辑电路的自动布线系统,包括:
布线路径模块,其根据开关盒布线算法得到线网的布线路径;
确定模块,其基于超导工艺库中的JTL布线单元类型来确定每个开关盒格点的JTL单元类型;以及
获取模块:得到整个开关盒的JTL布线结果。
本发明还提供一种电子设备,其特征在于,所述电子设备存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
为了达到上述目的,本发明还提供一种计算机可读存储介质,其特征在于,存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述方法的步骤。
发明的效果
与现有技术相比,本发明具有如下有益效果:
本发明解决了超导RSFQ电路的开关盒位置的JTL布线问题,同时优化了线长,减少了电路面积和功耗。
附图说明
图1是PTL布线的示意图;
图2是JTL等效电路的示意图;
图3是本申请一种用于脉冲逻辑电路的自动布线方法流程图;
图4是本申请的开关盒JTL布线算法输入信息;
图5是本申请的JTL单元类型;
图6是本申请的第0列布线结果;
图7是本申请的第1列布线结果;
图8是本申请的第2列布线结果;
图9是本申请的第3列布线结果;
图10是本申请的第4列布线结果;
图11是申请一种用于脉冲逻辑电路的自动布线系统示意图;
图12是本申请实施例提供的一种电子设备的结构示意图;
图13是本申请实施例提供的一种用于实现容量增量升级方法的程序产品的结构示意图。
具体实施方式
下面将结合本发明实施例中的图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。并且,在此处需要进一步强调的是,以下的具体实施例提供的优选的技术方案,各方案(实施例)之间是可以相互配合或结合使用的。
如图3所示,是本申请一种用于脉冲逻辑电路的自动布线方法流程图,本发明的用于脉冲逻辑电路的自动布线方法包括如下步骤:
步骤S1:根据开关盒布线算法得到线网的布线路径;
步骤S2:基于超导工艺库中的JTL布线单元类型来确定每个开关盒格点的JTL单元类型;
步骤S3:得到整个开关盒的JTL布线结果。
下面定义步骤S1中的开关盒布线需要解决的问题以及解的形式。
(1)开关盒布线的输入
开关盒处于水平通道与垂直通道相交位置,因此开关盒的大小是由水平通道和垂直通道中所包含的轨道数确定,如图4所示。定义开关盒的宽度width为水平通道中的轨道条数,长度length为垂直通道中轨道条数。
通道长度:length(l),开关盒内部每一个垂直列的坐标x=1,…,length。最左边边界x=0,最右边边界x=1+length。
通道宽度:width(w),开关盒内部每一个垂直列的坐标y=1,…,width。最下边边界y=0,最上边边界y=1+width。
宽度和长度可以用户指定,也可以通过全局布线算法确定。定义4个数组用来存储开关盒的边界信息。Tpin={T1,…,Tl}、Bpin={B1,…,Bl}分别表示开关盒顶部和底部边界的线网编号,Ti(Bi)是顶部(底部)第i列(x=i,i=1,…,l)的线网编号;Lpin={L1,…,Lw},Rpin={R1,…,Rw}分别表示开关盒左边和右边边界的线网编号,Li(Ri)是最左(最右)第i行(y=i,i=1,…,w)的引脚的线网编号。
如前所述,JTL是单向传输线,因此在进行开关盒布线时,不仅需要每个轨道的线网编号,还需要输入轨道信号的方向信息。以“d”代表driver,即为源(source)节点;“r”代表receiver,即为漏(sink)节点。
图4为一个尺寸4*4的JTL开关盒,布线通道中的水平轨道和垂直轨道的数量均为4,通常情况下,输入开关盒的线网有3个,编号为0代表没有连接线网,Tpin={1d,0,3r,0};Bpin={0,0,3d,0},Lpin={0,1r,0,2d},Rpin={0,2r,0,0}。
(2)解的形式
开关盒布线的目标是用最短的总路径,在不违反工艺规则的前提下,将边界上所有编号相同的线网连接起来。在开关盒JTL布线器中,仅使用1*1的JTL单元,即大小为开关盒内部的每一个网格大小,位置表示为(x,y),1≤x≤l,1≤y≤w。
对于进入开关盒的每一个线网n,输出其布线路径,即路径所通过的每个网格(x,y)的JTL类型。当出现布线冲突导致布线失败时,会给出布线失败的线网编号。
根据工艺库中提供的1JTL单元,本发明定义了16种JTL类型,如图5所示。图中J代表JTL单元;U:up向上;D:down向下;L:left向左;R:right向右;RU代表先向右再向上的90°JTL;XUR:代表向上和向右两条线交叉但并没有连接,对应工艺库中的cross类型的JTL。
(3)贪心JTL布线算法
经过证明,开关盒布线问题是一个NP-完全问题,面对NP-完全问题,目前还没有可以快速找到最优解的算法,最佳的解决方案都是使用近似算法,找到与最优解相近的相对较优的解。贪心算法是近似算法的一种,具有易于实现、运行速度快的特点,在本申请的步骤S1中,基于贪心算法设计开关盒布线算法。
因此,步骤S1中的开关盒布线算法具体包括:
步骤S11,对开关盒布线问题进行建模
为开关盒建立一个二维平面坐标系,x方向从0到l+1;y方向从0到w+1。将会从左到右从上到下依次根据贪心策略进行布线。建立一个二维数组res[i][j]1≤i≤l,1≤j≤w来存储最后的结果,即图5定义的JTL类型。
开关盒布线问题的约束条件:编号不同的线网不可以占据开关盒内部的同一个网格点(x,y)1≤x≤l,1≤y≤w,中的水平轨道或者垂直轨道,即每一个网格的水平轨道或者垂直轨道一旦被某个线网占据,就不能被其他线网占用。定义一个重要的数据结构Col={Col1,Col2,…,Colw}。Coli(1≤i≤w)可以存储当前列的每一个格子的水平轨道和垂直轨道被线网的占用情况。当移动线网时,需要在Col列表中对其所占据的轨道进行更新,以作标记。
开关盒布线问题的优化目标:如前所述,JTL的延时与长度成正比,为了获得更高的时钟频率,需要线上传输的延时尽可能小,这就需要以最小的线长度完成开关盒布线。定义一个参数来衡量开关盒的连接线使用率:通道密度(density),对于任意一列,通道密度定义为将占据当前列水平轨道布线的线网个数,对于同一个线网的两个引脚都在同一列的两端,该线网不计入通道密度。通道密度是通道容量的下限值,即通道容量≥通道密度。
步骤S12,划分开关盒
贪心算法中最重要的思想就是要把原问题化成若干个小问题,逐次求解各个小问题的最优解。在的开关盒布线问题中,把整个开关盒布线划分成若干个列的布线处理,从第0列开始,逐列完成布线,到第l列结束。在每个列中求得所有通过的线网的路径并且不再更改,当所有列的最优布线解求解完毕时,再组合起来就获得了整个开关盒布线的结果。这里需要注意虽然第0列不是开关盒内部,但的后续布线需要边界初始值,因此从第0列开始布线。
步骤S13,求解列布线的最优解,该步骤包括如下子步骤:
(a)在每一列中布线的第一步是建立开关盒与当前列(设为第i列)的顶部(i,w+1)引脚和底部(i,0)引脚的连接,根据Col数组,在当前列中寻找与顶部(底部)引脚最近的为空或者该线网的目标轨道,通过垂直连接将引脚连入该轨道,并修改Col数组标记该线网占用的轨道,并将结果存入res二维数组中对应位置。
(b)列布线的第二步是做贪心决策,根据输入的边界信息,布线器可以预先知道每个线网的右边引脚的位置,根据第i-1列的延伸过来的信息,和每个线网的右边引脚的位置,将线网分成三种类型:向上、向下和向右(注意:这里面的走向是指路径的走向,而非信号的走向,信号的走向需要通过线网编号中的方向决定)。
(c)列布线的第三步是根据(b)中的分类和Col数组的信息,找到需要布线的线网可以移动到的轨道(轨道为空或者该线网的目标轨道),通过垂直连接完成将线网移动到搜寻到的轨道上。然后修改Col数组中线网占据轨道的改变,并将结果存入res二维数组中对应位置。
通过这些垂直连接,可以使线网逐渐靠近自己的目标右引脚。在每一列中都向自己的目标右引脚靠近,体现了贪婪策略的思想。这些垂直连接可以有效地解决未来发生地冲突,即使还没有明确知道这些冲突会出现在何处。
(d)列布线的第四步将当前列的布线信息延伸到下一列,并重复上述的过程直到完成所有列的布线。
步骤S14,合并列布线结果
将每一列的布线结果合并得到最后的解,当出现冲突导致线网无法连接到目标右引脚时,将再扩大开关盒长和宽,重新进行布线,直到所有的线网全部布通,输出布线结果以及通道密度等统计信息。
下面以图5中的开关盒为例子,以图解的方式详细介绍开关盒的布线过程的每一步。定义:h_net代表水平轨道的线网编号;v_net代表垂直轨道的线网编号,等于0代表空。
1)对第0列布线
第0列是开关盒的最左边边界,对第0列布线实际上是为了初始化Col数组,根据最左边边界引脚的线网编号占据水平轨道。布线结束时的开关盒状态如图6,Col数组的情况如表1。
表1:第0列Col数组
2)对第1列布线
根据上一列延伸过来的结果,Col[2]与Col[4]的水平轨道将分别被线网1和2占据,此时需要进行贪心策略进行对线网分类,布线器已知线网1的目标右引脚位置在(1,5),所以线网1应该向上运动到最靠近目标引脚的轨道.根据Col数组可知,当前列Col[2]到Col[4]的v_net均为空,所以可以直接将线网1从(1,2)做垂直连接到(1,5);线网2的目标右引脚位置在(5,2),所以线网2应该向下运动到最靠近目标引脚的通道。但是此时Col[4]的v_net已经被线网1占据,所以线网2在当前列无法做垂直连接。布线结束时的开关盒状态如图7,Col数组的情况如表2。
当每一列布线结束时,Col数组中的v_net将被清空,为完成布线的线网的h_net将被延伸到下一列。
表2第1列Col数组
3)对第2列布线
线网1已经完成布线,因此在延伸到第二列时,将不会延伸线网1到第二列。水平轨道只有Col[4]的h_net被线网2占据,而此时的Col[2]到Col[4]的v_net为空,故可以将线网2从(2,4)做垂直连接运动到(2,2),布线结束时的开关盒状态如图8,Col数组的情况如表3。
表3第2列Col数组
4)对第3列布线
第2列延伸到第3列中只有Col[2]的线网2,但是第3列中出现了同一个线网3的两个引脚位于同一列顶部和底部的情况,规定类似3这种线网的优先级是高于前一列延伸过来的线网,因此3应当最先进行布线,这也符合局部最优解的优化目标,即每一列都尽可能使用最短路径完成这一列的连接工作。线网2当前位置(2,2)目标右引脚(4,2),归为向右,不需要做垂直连接改变轨道,只需要一直水平连接到目标引脚即可。布线结束时的开关盒状态如图9,Col数组的情况如表4。
表4第3列Col数组
5)对第4列布线
第4列中只需要直接将线网2连接到目标引脚即可,布线结束时的开关盒状态如图10,Col数组的情况如表5。
表5.第4列Col数组
至此,整个开关盒布线结束,根据贪心算法得到了一个总路径13,通道密度为2的全局解。
如图11所示,为本申请的用于脉冲逻辑电路的自动布线系统1包括:
布线路径模块11,其根据开关盒布线算法得到线网的布线路径;
确定模块12,其基于超导工艺库中的JTL布线单元类型来确定每个开关盒格点的JTL单元类型;以及
获取模块13:得到整个开关盒的JTL布线结果。
参见图12,本申请实施例还提供了一种电子设备200,电子设备200包括至少一个存储器210、至少一个处理器220以及连接不同平台系统的总线230。
存储器210可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)211和/或高速缓存存储器212,还可以进一步包括只读存储器(ROM)213。
其中,存储器210还存储有计算机程序,计算机程序可以被处理器220执行,使得处理器220执行本申请实施例中自动布线方法的步骤,其具体实现方式与上述自动布线方法的实施例中记载的实施方式、所达到的技术效果一致,部分内容不再赘述。
存储器210还可以包括具有至少一个程序模块215的实用工具214,这样的程序模块215包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
相应的,处理器220可以执行上述计算机程序,以及可以执行实用工具214。
总线230可以为表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、图形加速端口、处理器或者使用多种总线结构中的任意总线结构的局域总线。
电子设备200也可以与一个或多个外部设备240例如键盘、指向设备、蓝牙设备等通信,还可与一个或者多个能够与该电子设备200交互的设备通信,和/或与使得该电子设备200能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等)通信。这种通信可以通过输入输出接口250进行。并且,电子设备200还可以通过网络适配器260与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器260可以通过总线230与电子设备200的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储平台等。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,所述计算机程序被执行时实现本申请实施例中自动布线方法的步骤,其具体实现方式与上述自动布线方法的实施例中记载的实施方式、所达到的技术效果一致,部分内容不再赘述。
图13示出了本实施例提供的用于实现上述自动布线方法的程序产品300,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品300不限于此,在本申请中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。程序产品300可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,程序设计语言包括面向对象的程序设计语言诸如Java、C++等,还包括常规的过程式程序设计语言诸如C语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
与现有技术相比,本发明具有如下有益效果:
本发明解决了超导RSFQ电路的开关盒位置的JTL布线问题,同时优化了线长,减少了电路面积和功耗。
本申请从使用目的上,效能上,进步及新颖性等观点进行阐述,已符合专利法所强调的功能增进及使用要件,本申请以上的说明书及说明书附图,仅为本申请的较佳实施例而已,并非以此局限本申请,因此,凡一切与本申请构造,装置,特征等近似、雷同的,即凡依本申请专利申请范围所作的等同替换或修饰等,皆应属本申请的专利申请保护的范围之内。
Claims (4)
1.一种用于脉冲逻辑电路的自动布线方法,其特征在于,包括如下步骤:
步骤S1:根据开关盒布线算法得到线网的布线路径;
步骤S2:基于超导工艺库中的JTL布线单元类型来确定每个开关盒格点的JTL单元类型;
步骤S3:得到整个开关盒的JTL布线结果,
在步骤S1中,基于贪心算法设计开关盒布线算法,
步骤S1中的开关盒布线算法具体包括:
步骤S11:对开关盒布线问题进行建模,开关盒的大小是由水平通道和垂直通道中所包含的轨道数确定,定义开关盒的宽度width为水平通道中的轨道条数,长度length为垂直通道中轨道条数,
通道长度:length(l),开关盒内部每一个垂直列的坐标x=1,…,length,最左边边界x=0,最右边边界x=1+length,
通道宽度:width(w),开关盒内部每一个垂直列的坐标y=1,…,width,最下边边界y=0,最上边边界y=1+width,
为开关盒建立一个二维平面坐标系,x方向从0到l+1,y方向从0到w+1,从左到右从上到下依次根据贪心策略进行布线,建立一个二维数组res[i][j]来存储最后的结果,1i≤l,1j≤w,开关盒布线问题的约束条件:编号不同的线网不可以占据开关盒内部的同一个网格点(x,y)中的水平轨道或者垂直轨道,即每一个网格的水平轨道或者垂直轨道一旦被某个线网占据,就不能被其他线网占用,同一个网格点(x,y)的坐标x和坐标y满足1x≤l,1y≤w,定义一个数据结构Col={Col1,Col2,…,Colw},Coli存储当前列的每一个格子的水平轨道和垂直轨道被线网占用情况,1i≤w,当移动线网时,在Col列表中对其所占据的轨道进行更新,以作标记,开关盒布线问题的优化目标:JTL的延时与长度成正比,为了获得更高的时钟频率,需要线上传输的延时尽可能小,这就需要以最小的线长度完成开关盒布线,定义一个参数来衡量开关盒的连接线使用率:通道密度,对于任意一列,通道密度定义为将占据当前列水平轨道布线的线网个数,对于同一个线网的两个引脚都在同一列的两端,该线网不计入通道密度;
步骤S12:划分开关盒,把整个开关盒布线划分成若干个列的布线处理,从第0列开始,逐列完成布线,到第l列结束,在每个列中求得所有通过的线网的路径并且不再更改,当所有列的最优布线解求解完毕时,再组合起来就获得了整个开关盒布线的结果;
步骤S13:求解列布线的最优解;
步骤S14:合并列布线结果,
步骤S13包括如下子步骤:
(a)在每一列中布线的第一步是建立开关盒与当前列的顶部(i,w+1)引脚和底部(i,0)引脚的连接,其中当前列设为第i列,根据Col数组,在当前列中寻找与顶部引脚或底部引脚最近的为空或者该线网的目标轨道,通过垂直连接将引脚连入该轨道,并修改Col数组标记该线网占用的轨道,并将结果存入res二维数组中对应位置;
(b)列布线的第二步是做贪心决策,根据输入的边界信息,布线器预先知道每个线网的右边引脚的位置,根据第i-1列的延伸过来的信息和每个线网的右边引脚的位置,将线网分成三种类型:向上、向下和向右;
(c)列布线的第三步是根据(b)中的分类和Col数组的信息,找到需要布线的线网能够移动到的轨道,通过垂直连接完成将线网移动到搜寻到的轨道上,然后修改Col数组中线网占据轨道的改变,并将结果存入res二维数组中对应位置,通过这些垂直连接使线网逐渐靠近自己的目标右引脚,在每一列中都向自己的目标右引脚靠近;
(d)列布线的第四步将当前列的布线信息延伸到下一列,并重复上述子步骤直到完成所有列的布线,
在步骤S14中,将每一列的布线结果合并得到最后的解,当出现冲突导致线网无法连接到目标右引脚时,将再延长开关盒长和宽,重新进行布线,直到所有的线网全部布通,输出布线结果以及通道密度来统计信息。
2.一种用于脉冲逻辑电路的自动布线系统,其特征在于,包括
布线路径模块,其根据开关盒布线算法得到线网的布线路径,基于贪心算法设计开关盒布线算法,开关盒布线算法具体包括:
步骤S11:对开关盒布线问题进行建模,开关盒的大小是由水平通道和垂直通道中所包含的轨道数确定,定义开关盒的宽度width为水平通道中的轨道条数,长度length为垂直通道中轨道条数,
通道长度:length(l),开关盒内部每一个垂直列的坐标x=1,…,length,最左边边界x=0,最右边边界x=1+length,
通道宽度:width(w),开关盒内部每一个垂直列的坐标y=1,…,width,最下边边界y=0,最上边边界y=1+width,
为开关盒建立一个二维平面坐标系,x方向从0到l+1,y方向从0到w+1,从左到右从上到下依次根据贪心策略进行布线,建立一个二维数组res[i][j]来存储最后的结果,1i≤l,1j≤w,开关盒布线问题的约束条件:编号不同的线网不可以占据开关盒内部的同一个网格点(x,y)中的水平轨道或者垂直轨道,即每一个网格的水平轨道或者垂直轨道一旦被某个线网占据,就不能被其他线网占用,同一个网格点(x,y)的坐标x和坐标y满足1x≤l,1y≤w,定义一个数据结构Col={Col1,Col2,…,Colw},Coli存储当前列的每一个格子的水平轨道和垂直轨道被线网占用情况,1i≤w,当移动线网时,在Col列表中对其所占据的轨道进行更新,以作标记,开关盒布线问题的优化目标:JTL的延时与长度成正比,为了获得更高的时钟频率,需要线上传输的延时尽可能小,这就需要以最小的线长度完成开关盒布线,定义一个参数来衡量开关盒的连接线使用率:通道密度,对于任意一列,通道密度定义为将占据当前列水平轨道布线的线网个数,对于同一个线网的两个引脚都在同一列的两端,该线网不计入通道密度;
步骤S12:划分开关盒,把整个开关盒布线划分成若干个列的布线处理,从第0列开始,逐列完成布线,到第l列结束,在每个列中求得所有通过的线网的路径并且不再更改,当所有列的最优布线解求解完毕时,再组合起来就获得了整个开关盒布线的结果;
步骤S13:求解列布线的最优解;
步骤S14:合并列布线结果,
步骤S13包括如下子步骤:
(a)在每一列中布线的第一步是建立开关盒与当前列的顶部(i,w+1)引脚和底部(i,0)引脚的连接,其中当前列设为第i列,根据Col数组,在当前列中寻找与顶部引脚或底部引脚最近的为空或者该线网的目标轨道,通过垂直连接将引脚连入该轨道,并修改Col数组标记该线网占用的轨道,并将结果存入res二维数组中对应位置;
(b)列布线的第二步是做贪心决策,根据输入的边界信息,布线器预先知道每个线网的右边引脚的位置,根据第i-1列的延伸过来的信息和每个线网的右边引脚的位置,将线网分成三种类型:向上、向下和向右;
(c)列布线的第三步是根据(b)中的分类和Col数组的信息,找到需要布线的线网能够移动到的轨道,通过垂直连接完成将线网移动到搜寻到的轨道上,然后修改Col数组中线网占据轨道的改变,并将结果存入res二维数组中对应位置,通过这些垂直连接使线网逐渐靠近自己的目标右引脚,在每一列中都向自己的目标右引脚靠近;
(d)列布线的第四步将当前列的布线信息延伸到下一列,并重复上述子步骤直到完成所有列的布线,
在步骤S14中,将每一列的布线结果合并得到最后的解,当出现冲突导致线网无法连接到目标右引脚时,将再延长开关盒长和宽,重新进行布线,直到所有的线网全部布通,输出布线结果以及通道密度来统计信息;
确定模块,其基于超导工艺库中的JTL布线单元类型来确定每个开关盒格点的JTL单元类型;以及
获取模块:得到整个开关盒的JTL布线结果。
3.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1所述方法的步骤。
4.一种计算机可读存储介质,其特征在于,存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111653611.2A CN114297976B (zh) | 2021-12-30 | 2021-12-30 | 一种用于脉冲逻辑电路的自动布线方法、系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111653611.2A CN114297976B (zh) | 2021-12-30 | 2021-12-30 | 一种用于脉冲逻辑电路的自动布线方法、系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114297976A CN114297976A (zh) | 2022-04-08 |
CN114297976B true CN114297976B (zh) | 2023-05-09 |
Family
ID=80974506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111653611.2A Active CN114297976B (zh) | 2021-12-30 | 2021-12-30 | 一种用于脉冲逻辑电路的自动布线方法、系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114297976B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101620640A (zh) * | 2008-07-03 | 2010-01-06 | 复旦大学 | 基于最小环的fpga布线矩阵的开关盒设计方法 |
CN109284578A (zh) * | 2018-02-27 | 2019-01-29 | 上海安路信息科技有限公司 | 逻辑电路布局布线方法、图形化显示方法及其系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2523702B2 (ja) * | 1987-10-28 | 1996-08-14 | 富士通株式会社 | 半導体集積回路の自動配線方法 |
CN105264680B (zh) * | 2011-03-30 | 2019-11-26 | 阿姆巴托雷股份有限公司 | 由极低电阻材料形成的电气、机械、计算和/或其他设备 |
CN103699046A (zh) * | 2013-11-14 | 2014-04-02 | 南京航空航天大学 | 岛型fpga的通用布线开关盒 |
CN111682022B (zh) * | 2020-05-12 | 2023-10-31 | 中国科学院上海微系统与信息技术研究所 | 基于异层jtl布局布线的超导集成电路设计方法 |
CN111914507B (zh) * | 2020-07-23 | 2022-09-20 | 清华大学 | 一种快速单磁通量子rsfq电路布线方法和装置 |
CN113449479B (zh) * | 2021-06-30 | 2022-05-10 | 福州大学 | 一种考虑总线时序匹配的层分配方法 |
-
2021
- 2021-12-30 CN CN202111653611.2A patent/CN114297976B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101620640A (zh) * | 2008-07-03 | 2010-01-06 | 复旦大学 | 基于最小环的fpga布线矩阵的开关盒设计方法 |
CN109284578A (zh) * | 2018-02-27 | 2019-01-29 | 上海安路信息科技有限公司 | 逻辑电路布局布线方法、图形化显示方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114297976A (zh) | 2022-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11093681B2 (en) | Method and system for generating layout design of integrated circuit | |
US11558259B2 (en) | System and method for generating and using physical roadmaps in network synthesis | |
CN110795907B (zh) | 一种考虑布线资源松弛的X结构Steiner最小树构造方法 | |
US5587923A (en) | Method for estimating routability and congestion in a cell placement for integrated circuit chip | |
US8935647B2 (en) | Decision modules | |
CN107918694B (zh) | 用于减少集成电路上的延迟的方法 | |
Liu et al. | PSO-based power-driven X-routing algorithm in semiconductor design for predictive intelligence of IoT applications | |
CN116341480B (zh) | 数字芯片布局布线全局优化方法及系统 | |
CN103930891B (zh) | 利用已有预布线算法,使用直线斯坦纳最小树(rsmt)确定节点之间的线路长度的方法 | |
CN112131813B (zh) | 基于端口交换技术的用于提升布线速度的fpga布线方法 | |
CN116911246B (zh) | 芯片设计的布线规划方法及相关设备 | |
CN113657067A (zh) | 一种基于多策略优化的超大规模集成电路多层总体布线方法 | |
CN113807043B (zh) | 时钟树综合和布局混合优化方法和装置、存储介质和终端 | |
CN104063558A (zh) | 基于线性规划的大规模集成电路通道布线方法 | |
Vinay Kumar et al. | Multi-culture diversity based self adaptive particle swarm optimization for optimal floorplanning | |
CN107209793A (zh) | 具有用于3d集成电路的折叠块及复制引脚的知识产权块设计 | |
CN112989749B (zh) | 一种集成电路版图布线中引脚访问方法及装置 | |
CN114297976B (zh) | 一种用于脉冲逻辑电路的自动布线方法、系统 | |
JP5380969B2 (ja) | レイアウト設計方法、及び装置 | |
CN114189450A (zh) | 用于生成和使用网络综合中的物理路线图的系统和方法 | |
JP5900540B2 (ja) | レイアウト設計方法及びレイアウト設計支援プログラム | |
Sattar et al. | Mobility based net ordering for simultaneous escape routing | |
CN117688895B (zh) | 电路图生成方法、计算机设备及存储介质 | |
Pondreti et al. | Very Large-Scale Integration Floor Planning on FIR and Lattice Filters Design With Multi-Objective Hybrid Optimization | |
Shanthi et al. | Thermal Aware Floorplanner for Multi-Layer ICs with Fixed-Outline Constraints |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |