CN106709119B - 一种fpga芯片布线方法 - Google Patents
一种fpga芯片布线方法 Download PDFInfo
- Publication number
- CN106709119B CN106709119B CN201510795414.2A CN201510795414A CN106709119B CN 106709119 B CN106709119 B CN 106709119B CN 201510795414 A CN201510795414 A CN 201510795414A CN 106709119 B CN106709119 B CN 106709119B
- Authority
- CN
- China
- Prior art keywords
- wiring
- module
- coding information
- chip
- fpga chip
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Architecture (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明涉及一种FPGA芯片布线方法,该方法包括:进行FPGA芯片布局并且得到芯片各单元布局后的坐标;根据FPGA芯片的布线模式,获取和该模式对应的预存布线编码信息;根据各单元布局后的坐标确定该单元对应的编码,然后根据所述布线编码信息进行各单元的布线剪枝。本发明通过获取FPGA芯片中布线模式的布线编码信息,然后根据预先存储的布线编码信息,在实际布线过程中进行合理的剪枝,进而提高布线速度,减少时间的延迟。
Description
技术领域
本发明涉及微电子领域中的集成电路设计技术领域,特别是一种FPGA芯片布线方法。
背景技术
FPGA是一种具有丰富硬件资源、强大并行处理能力和灵活可重配置能力的逻辑器件。这些特征使得FPGA在数据处理、通信、网络等很多领域得到了越来越多的广泛应用。
目前,在现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)应用中,要求集成电路具有可编程或可配置的互连网络,逻辑门通过可配置的互连网络而彼此连接。作为独立芯片或系统中核心部分起作用的FPGA已经广泛被应用于大量微电子设备中。广义的FPGA的逻辑门的定义,不单指简单的与非门,也指具有可配置功能的组合逻辑与时序逻辑的逻辑单元(LE,Logic Element)或由多个逻辑单元互连而组成的逻辑块。
随着FPGA芯片规模的扩大,对布线速度的要求也越来越高,目前工业界还没有给出能够很好提高布线速度的方法。
发明内容
本发明的目的是针对现有技术的缺陷,提供了一种FPGA芯片布线方法,该方法通过分析FPGA芯片架构的布线模块特性,进行合理的剪枝,以提高布线速度,减少时间的延迟。
本发明提供一种FPGA芯片布线方法,该方法包括:进行FPGA芯片布局并且得到芯片各单元布局后的坐标;根据FPGA芯片的布线模式,获取和该模式对应的预存布线编码信息;根据各单元布局后的坐标确定该单元对应的编码,然后根据所述布线编码信息进行各单元的布线剪枝。
优选地,该布线模式为时钟树的布线模式;预存布线编码信息包括时钟源、寄存器模块的时钟端口以及多路复用器构成的时钟树的各层级和各模块的编码序列。
优选地,该布线模式为布线资源模块和逻辑单元模块之间的布线;预存布线编码信息包括布线资源、逻辑单元模块的编码序列。
优选地,该布线模式为布线资源模块和嵌入式存储器模块之间的布线;预存布线编码信息包括布线资源模块、嵌入式存储器模块的编码序列。
本发明通过获取FPGA芯片中布线模式的布线编码信息,然后根据预先存储的布线编码信息,在实际布线过程中进行合理的剪枝,进而提高布线速度,减少时间的延迟。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种FPGA芯片布线方法流程示意图;
图2为本发明实施例提供的FPGA芯片全局时钟设计的时钟树剪枝示意图;
图3为本发明实施例提供的CME-C1芯片的PLBR架构示意图;
图4为本发明实施例提供的ixbar模块向LE、EMB模块布线的阵列示意图;
图5为本发明实施例提供的ixbar模块向LE布线的剪枝示意图;
图6为本发明实施例提供的ixbar模块向EMB布线的剪枝示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
本发明实施例提供了一种FPGA芯片布线方法,该方法通过分析FPGA芯片架构的布线模块特性,进行合理的剪枝,以提高布线速度,减少时间的延迟。
图1为本发明实施例提供的一种FPGA芯片布线方法流程示意图。如图1所示,一种FPGA芯片布线方法包括步骤S101-S103:
步骤S101:进行FPGA芯片布局并且得到芯片各单元布局后的坐标;
具体地,该芯片各单元包括寄存器模块、嵌入式存储器模块、逻辑单元模块、查找表模块以及加法器模块;在此不一一列举。
步骤S102:根据FPGA芯片的布线模式,获取和该模式对应的预存布线编码信息;
具体地,该布线模式包括时钟树的布线模式、布线资源模块和逻辑单元模块之间的布线模式、布线资源模块和嵌入式存储器模块的布线模式。
步骤S13:根据各单元布局后的坐标确定该单元对应的编码,然后根据所述布线编码信息进行各单元的布线剪枝。
需要说明的是,布线算法的目标是找到布线源点和目标点之间的最短路径。在实现这一目标的过程中,布线算法将会搜索到很多源点和非目标点之间的最短路径,也就是说布线算法会搜索到很多无效路径。而我们存储到文件中的信息,是一些辅助信息,可以辅助布线算法识别出源点和非目标点的最短无效路径,然后对无效路径进行剪枝以加快布线速度。由于所有的有效的最短路径信息和所有的无效最短路径信息的数量都非常巨大,没有办法直接存储。所以采用了间接方式,对路径进行标记,存储所有最短的布线编码信息。
本发明通过获取FPGA芯片中布线模式的布线编码信息,然后根据预先存储的布线编码信息,在实际布线过程中进行合理的剪枝,进而提高布线速度,减少时间的延迟。
FPGA的布线算法的基础是迪杰斯特拉算法(Dijkstra),Dijkstra算法也就是解决单源最短路径问题的算法,即在图中求出给定顶点到其它任一顶点的最短路径。
需要说明的是,最短路径的最优子结构性质,该性质为:如果P(i,j)={Vi....Vk..Vs...Vj}是从顶点i到j的最短路径,k和s是这条路径上的一个中间顶点,那么P(k,s)必定是从k到s的最短路径。
该性质的论证过程为:假设P(i,j)={Vi....Vk..Vs...Vj}是从顶点i到j的最短路径,则有P(i,j)=P(i,k)+P(k,s)+P(s,j)。而P(k,s)不是从k到s的最短距离,那么必定存在另一条从k到s的最短路径P'(k,s),那么P'(i,j)=P(i,k)+P'(k,s)+P(s,j)<P(i,j)。则与P(i,j)是从i到j的最短路径相矛盾。因此该性质成立。
由上述性质可知,如果存在一条从i到j的最短路径(Vi.....Vk,Vj),Vk是Vj前面的一顶点。那么(Vi...Vk)也必定是从i到k的最短路径。为了求出最短路径,Dijkstra就提出了以最短路径长度递增,逐次生成最短路径的算法。譬如对于源顶点V0,首先选择其直接相邻的顶点中长度最短的顶点Vi,那么当前已知可得从V0到达Vj顶点的最短距离dist[j]=min{dist[j],dist[i]+matrix[i][j]}。
根据这种思路,假设存在图表G=<V,E>,V为所有点的集合,源顶点为V0,已经搜索过的节点为U={V0};E是所有边的集合,两点之间的连线称为边;dist[i]记录V0到i的最短距离,path[i]记录从V0到i路径上的i前面的一个顶点。
首先,从V-U中选择使dist[i]值最小的顶点i,将i加入到已经搜索过的集合U中;然后更新与i直接相邻顶点的dist值。(dist[j]=min{dist[j],dist[i]+matrix[i][j]});最后直到U=V,停止,也就是当图表中所有的点都被搜索过,所有点到源顶点V0的最短距离都已经被存储。
本发明实施例的布线方法适用于CME-M系列或CME-HR系列、CME-C1系列的FPGA芯片。
为了提高Dijkstra算法的运行速度,根据搜索的方向优先度的排序是通行的成熟做法。本发明实施例是在此基础上,先对芯片架构的布线模块进行分析,存储所有的最短布线路径,然后在实际的布线过程中,进行合理的剪枝,可以进一步提高布线的速度。
时钟偏移(Low skew)是由于布线长度及负载不同引起的,导致同一个时钟信号到达相邻两个时序单元的时间不一致。布线长度无法达到一致,导致时间偏移无法避免。为了保证Low skew的特性,FPGA的全局时钟资源会被设计成树形结构。
时钟网线的扇出,也就是时钟网线节点的下一层的多个路径,时钟网线的扇出非常高,但是经过恰当的剪枝,可以进一步提高时钟网线的布线速度,减少时间的延迟。
具体地,布线模式为时钟树的布线模式时;预存布线编码信息包括时钟源、寄存器模块的时钟端口以及多路复用器构成的时钟树的各层级和各模块的编码序列。
图2为本发明实施例提供的FPGA芯片全局时钟设计的时钟树剪枝示意图。如图2所示,CME-M、CME-HR或CME-C1系列的FPGA芯片,全局时钟设计为4层的树形结构:从上至下依次为,全局时钟网络(Global clock network-BCLK)、全局时钟缓冲(Global clockbuffer-GBUF)、接收时钟缓冲(Receive clock buffer-RBUF)、局部时钟缓冲(Local clockbuffer-LBUF)。
具体地,在时钟网线布线时,时钟源点是在顶层GCLK,而目标点在最低层LBUF层,也就是是寄存器模块的时钟端口。如图2所示,假设上图中顶层的A点为源点,底层的B点为目标点,那么可行的路径最优一条,其它的路径都是无效路径,这是由全局时钟的树形结构这一特点决定的。
需要说明的是,在FPGA芯片布线中时钟树的结构是固定模式的,时钟源点是锁相环PLL(Phase-Locked Loop),布线的目标点是LBUF寄存器模块的时钟端口。FPGA芯片在完成布局之后,源点到时钟端口的路径和中途布线的节点都是已知的,中途的布线节点为多路复用器MUX(Multiple multiplexer)。每一个节点的扇出就是到下一层次的多条路径。
在本发明实施例的布线算法在搜索中,可以把无效路径全部剪掉,也就是剪枝。首先,从源点出发,向左的分支标记为0,向右的分支标记为1,依次类推,目标点B的编码为001。
需要说明的是,此为芯片的架构分析过程,在实际的布线开始之前就已经完成;并对时钟树编码序列进行了存储,在实际的布线开始时,直接调用存储的信息。存储的是编码信息,包括时钟树的层级信息、多路复用器mux的节点信息以及寄存器Reg的编码信息。
然后开始实际的布线过程,从源点出发,开始搜索时,对遇到的分支,将其编码与目标点相应位置的编码进行比对。从上往下一层一层的判断,比如第一层的分支与目标点编码的第一位比较,第一层的目标编码是0,因此第一层的编码1为无效路径;第二层的分支与目标点编码的第二位比较,第二层的目标编码是0,因此第二层的编码1为无线路径;第三层的分支与目标点编码的第三位比较,第三层的目标编码是1,因此第三层的编码0为无效路径。
用这种方式就可以将所有的无效路径剪掉,不需要往下搜索,也就是在第一层不再搜索编码为1的下层分支;在第二层不再搜索编码为1的下层分支;在实际的布线过程中提高布线的速度,减少延时。
需要说明的是,本发明实施例是以二叉树的结构进行说明,但是在实际的布线中,并不限于二叉树,可能是多叉树,本发明实施例并不限定。
下面以CME-C1系列的FPGA芯片为例,对ixbar模块向逻辑单元(Logic Element-LE)以及ixbar模块向嵌入式存储模块(Embedded storage-EMB)布线过程进行剪枝进行说明。
图3为本发明实施例提供的CME-C1芯片的PLBR架构示意图,也就是带本地存储器的可编程逻辑模块PLBR(Programmable Logic BlockLocal memory lram)示意图。图中所示为芯片的一个逻辑单元,包括8个6输入的查找表(Lookup table-LUT)、8个加法器(Adder-ADD)、16个寄存器(Register-Reg);还包括内部的连线资源。ixbar资源为LE之间的布线资源。
在FPGA芯片布线中,逻辑单元LE、查找表LUT、加法器ADD、寄存器Reg、嵌入式存储器EMB等模块,在此不一一列举;都是布线算法最终搜索的终点。
图4为本发明实施例提供的ixbar模块向LE、EMB模块布线的阵列示意图。如图所示,ixbar布线资源模块向LE模块布线是N行P列的结构;ixbar布线资源模块向EMB模块布线是P列的结构。
需要说明的是,图中只给出了4*4的阵列,但是本发明实施例并不以次为限。
具体地,布线模式为布线资源模块和逻辑单元模块之间的布线时;预存布线编码信息包括布线资源、逻辑单元模块的编码序列,以N行P列X输出方式进行编码,设置一个编码的原点,编码依次为00X、01X……10X、20X……,其中X为ixbar的32个输出方式编码。在实际的布线之前对这些布线模式的编码信息进行存储。
图5为本发明实施例提供的ixbar模块向LE布线的剪枝示意图。如图所示,ixbar模块有32个输出,其中有15个输出,也就是f(12)、by(2)、rc(1)只能连接右边LE的相关逻辑单元的端口,不能连接到其它的LE或ixbar;这15个输出X编码为0。其它17个输出连接到其它ixbar模块,也就是other ixbars,这17个输出X编码为1。
需要说明的是,在FPGA芯片中,ixbar模块到LE的布线是固定模式的,ixbar的32个输出,有15个输出会输入到LE中,有17个输出会输入到other ixbars。
开始实际的布线过程中,当搜索到ixbar之后,对N行P列X输出方式进行逐一比较,搜索到N行P列后,将所述的15个输出的潜在目标点X编码为0与实际目标点编码进行比较。若编码相同,则15个输出为有效路径;其它17个输出X编码为1为无效路径,将其它17个路径剪掉,不再往下搜索,进而提高布线的速度,节省布线的时间。如果编码不相同,则前述15个输出为无效路径,将其剪掉。
具体地,布线模式为布线资源模块和嵌入式存储器模块的布线时;预存布线编码信息包括布线资源模块、嵌入式存储器模块的编码序列。
图6为本发明实施例提供的ixbar模块向EMB布线的剪枝示意图。如图所示,ixbar模块有32个输出,其中有15个输出,也就是f(12)、by(2)、rc(1)只能连接右边EMB资源,这些输出在连接EMB资源之间需要先连接EMB内部的多路复用器mux,再连接到EMB逻辑的端口。这15个输出不能连接到其它的EMB、LE或ixbar。其它17个输出连接到其它ixbar模块,也就是other ixbars,X编码为1。
在布线之前的步骤与ixbar模块向LE布线的过程相同,在此不再赘述。不同的是,在对芯片上的资源进行坐标编码时,将上图中的EMBMUX和EMB编为同一编码,并将该编码为前述15个输出的潜在目标点,X编码0。
在实际的布线过程中,只需要将实际的目标点编码与潜在的目标点编码进行比较。对X位搜索时,如果相同,那么将其它17个输出为无效路径,将其剪掉,不再往下搜索,从而加快布线速度;如果不相同,那么前述15个输出为无效路径,将其剪掉。
在FPGA芯片中,ixbar模块向EMB模块布线,必须先经过EMBMUX,这是固定模式的常规布线。
需要说明的是本发明实施中,布线算法对剪枝进行判断的时间复杂度为O(1),判断的效率非常高。
计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间,这是一个关于代表算法输入值的字符串的长度的函数。时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。使用这种方式时,时间复杂度可被称为是渐近的,它考察当输入值大小趋近无穷时的情况。
时间复杂度的具体算法为一般情况下,算法的基本操作重复执行的次数是模块n的某一个函数f(n),因此,算法的时间复杂度记做:T(n)=O(f(n))。也就是随着模块n的增大,算法执行的时间的增长率和f(n)的增长率成正比,所以f(n)越小,算法的时间复杂度越低,算法的效率越高。
在计算时间复杂度的时候,先找出算法的基本操作,然后根据相应的各语句确定它的执行次数,再找出T(n)的同数量级。T(n)的同数量级包括1、log2n、n、n log2n、n的平方、n的三次方、2的n次方、n!,找出同数量级后,f(n)=该数量级,若T(n)/f(n)求极限可得到一常数c,则时间复杂度T(n)=O(f(n))。
具体地,在做剪枝判断时,无论要剪掉的线上后续有多少个节点,都应该在常数时间内完成判断。在ixbar模块向LE布线的例子中,要剪掉的线后面有一个节点(LE中相关逻辑的端口),而在ixbar模块向EMB布线的例子中,要剪掉的线后面有两个节点(一个EMB内部的mux,另一个是EMB逻辑的端口),后者要处理的节点数是前者的两倍,但是剪枝所需要的时间是相同的,这样就保证了时间复杂度为O(1)。
在本发明实施例的时钟树剪枝的例子中,从最上层开始右侧分支的路径,后面有3个节点,同样可以保证在常数时间内完成判断。
本发明通过获取FPGA芯片中布线模式的布线编码信息,然后根据预先存储的布线编码信息,在实际布线过程中进行合理的剪枝,进而提高布线速度,减少时间的延迟。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种FPGA芯片布线方法,其特征在于,在实际的布线开始之前通过分析芯片的架构实施所述方法;所述方法包括:
进行FPGA芯片布局并且得到芯片各单元布局后的坐标,并且存储芯片各单元之间的最短布线路径的编码信息;所述芯片各单元包括寄存器模块、嵌入式存储器模块、逻辑单元模块、查找表模块以及加法器模块;
根据FPGA芯片的布线模式,获取和该模式对应的预存布线编码信息;
根据各单元布局后的坐标确定该单元对应的编码,然后根据所述布线编码信息进行各单元的布线剪枝;其中,通过布线算法搜索得到无效路径,根据所述布线编码信息识别出源点和非目标点的无效路径,对无效路径进行剪枝,所述无效路径根据所述各单元采用同样的时间复杂度。
2.根据权利要求1所述的方法,其特征在于,所述布线模式为时钟树的布线模式;预存布线编码信息包括时钟源、寄存器模块的时钟端口以及多路复用器构成的时钟树的各层级和各模块的编码序列。
3.根据权利要求1所述的方法,其特征在于,所述布线模式为布线资源模块和逻辑单元模块之间的布线;预存布线编码信息包括布线资源模块、逻辑单元模块的编码序列。
4.根据权利要求1所述的方法,其特征在于,所述布线模式为布线资源和嵌入式存储器模块之间的布线;预存布线编码信息包括布线资源模块、嵌入式存储器模块的编码序列。
5.根据权利要求1所述的方法,其特征在于,所述根据所述布线编码信息进行各单元的布线剪枝步骤包括:
剪枝判断时,布线算法的时间复杂度为O(1)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510795414.2A CN106709119B (zh) | 2015-11-18 | 2015-11-18 | 一种fpga芯片布线方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510795414.2A CN106709119B (zh) | 2015-11-18 | 2015-11-18 | 一种fpga芯片布线方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106709119A CN106709119A (zh) | 2017-05-24 |
CN106709119B true CN106709119B (zh) | 2021-05-07 |
Family
ID=58932268
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510795414.2A Active CN106709119B (zh) | 2015-11-18 | 2015-11-18 | 一种fpga芯片布线方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106709119B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110472340B (zh) * | 2019-08-16 | 2023-11-03 | 中科亿海微电子科技(苏州)有限公司 | 一种布线结构的建模方法和装置 |
CN110738015B (zh) * | 2019-09-10 | 2020-07-07 | 广东高云半导体科技股份有限公司 | 片上系统及其fpga内核信息处理方法 |
CN112732620B (zh) * | 2021-01-12 | 2022-03-18 | 东科半导体(安徽)股份有限公司 | 基于流水寄存器的物理层逻辑模块的信号中继方法 |
CN114169283B (zh) * | 2021-10-27 | 2024-04-05 | 深圳市紫光同创电子有限公司 | 可编程逻辑器件的延时估算方法、装置、设备及存储介质 |
CN114781300B (zh) * | 2022-06-21 | 2022-09-09 | 上海国微思尔芯技术股份有限公司 | 可编辑逻辑阵列布线方法、装置、设备和存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102890729A (zh) * | 2011-07-18 | 2013-01-23 | 中国科学院微电子研究所 | 一种对高扇出的可编程门列阵进行布局布线的方法 |
CN103136386B (zh) * | 2011-11-25 | 2015-05-20 | 中国科学院微电子研究所 | Fpga芯片布线方法 |
US9153531B1 (en) * | 2014-02-27 | 2015-10-06 | Altera Corporation | Methods and apparatus for reducing crosstalk and twist region height in routing wires |
-
2015
- 2015-11-18 CN CN201510795414.2A patent/CN106709119B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106709119A (zh) | 2017-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106709119B (zh) | 一种fpga芯片布线方法 | |
US6907592B1 (en) | Method of routing in a programmable logic device | |
CN109710981B (zh) | Fpga的布线方法及系统 | |
US9652576B2 (en) | Detailed placement with search and repair | |
US7412680B1 (en) | Method and apparatus for performing integrated global routing and buffer insertion | |
CN111914507B (zh) | 一种快速单磁通量子rsfq电路布线方法和装置 | |
Chang et al. | Postlayout logic restructuring using alternative wires | |
US10565347B2 (en) | Global routing optimization | |
US8434045B1 (en) | System and method of providing a memory hierarchy | |
CN104331569B (zh) | 基于关键节点选择和蚁群优化算法的大规模集成电路小时延故障测试通路选择方法 | |
CN104486222B (zh) | 基于蚁群优化算法的小时延缺陷测试关键路径选择方法 | |
CN102043857B (zh) | 最近邻查询方法及系统 | |
US9230047B1 (en) | Method and apparatus for partitioning a synthesis netlist for compile time and quality of results improvement | |
US9760669B2 (en) | Congestion mitigation by wire ordering | |
JP4310500B2 (ja) | 重要成分優先計算方式ならびに装置 | |
CN112667557A (zh) | 一种适用于chiplet架构的数据传输方法 | |
EP1290542A2 (en) | Determination of a minimum or maximum value in a set of data | |
CN106934077B (zh) | 一种精确的块进位链的时序分析方法 | |
US7509597B1 (en) | Method and apparatus for performing post-placement functional decomposition on field programmable gate arrays using binary decision diagrams | |
CN112183006A (zh) | 时延评估方法及装置、可读存储介质 | |
US8104009B1 (en) | Wire mapping for programmable logic devices | |
US20200050730A1 (en) | Re-routing time critical multi-sink nets in chip design | |
CN106649898B (zh) | 一种加法器的打包布局方法 | |
US9785738B1 (en) | System and method for evaluating spanning trees | |
CN117787172B (zh) | 布线资源图的构建方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |