一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于欧拉路径算法的自动布局方法及装置与流程

2022-03-09 10:15:45 来源:中国专利 TAG:


1.本技术涉及集成电路技术领域,尤其涉及一种基于欧拉路径算法的自动布局方法、装置及存储介质。


背景技术:

2.mos管是当前集成电路的关键组件,同时mos管也需要进行布局,且mos管在布局时需要注意有源区的共用。
3.相关技术中,mos管的布局需要集成电路工程师检查mos管之间的源极与栅极是否一致之后进行手工的摆放,从而使得集成电路设计的效率较低。


技术实现要素:

4.本技术提供一种基于欧拉路径算法的自动布局方法、装置及存储介质,以至少解决相关技术中的集成电路设计的效率较低的技术问题。
5.本技术第一方面实施例提出一种基于欧拉路径算法的自动布局方法,包括:
6.获取待摆放的mos管,并获取所述待摆放的mos管的特征参数;
7.根据所述特征参数对所述待摆放的mos管进行分类,得到多个mos管分组,其中,每个所述mos管分组中的mos管具有相同的宽度;
8.分别对所述mos管分组中mos管的栅极序列,以所述mos管的漏极和源级作为图论的节点,判断所述图论的节点是否构成欧拉路径,其中,所述构成欧拉路径的节点表征为所述mos管的有源区互相连通;
9.如果所述图论的节点未构成欧拉路径,则在所述图论中将度为奇数的节点增加预设元器件,以将未构成欧拉路径的节点转换为构成欧拉路径的节点;
10.根据所述构成欧拉路径的节点,将已构成欧拉路径的栅极序列完成目标路径的拼接,根据拼接后的所述目标路径生成所述多个mos管分组中连通的mos管序列;
11.将所述mos管序列中的mos管,根据欧拉路径的排列顺序进行摆放,形成摆放后的多个mos管分组序列。
12.本技术第二方面实施例提出一种基于欧拉路径算法的自动布局装置,包括:
13.获取模块,用于获取待摆放的mos管,并获取所述待摆放的mos管的特征参数;
14.分类模块,用于根据所述特征参数对所述待摆放的mos管进行分类,得到多个mos管分组,其中,每个所述mos管分组中的mos管具有相同的宽度;
15.判断模块,用于分别对所述mos管分组中mos管的栅极序列,以所述mos管的漏极和源级作为图论的节点,判断所述图论的节点是否构成欧拉路径,其中,所述构成欧拉路径的节点表征为所述mos管的有源区互相连通;
16.第一处理模块,用于如果所述图论的节点未构成欧拉路径,则在所述图论中将度为奇数的节点增加预设元器件,以将未构成欧拉路径的节点转换为构成欧拉路径的节点;
17.拼接模块,用于根据所述构成欧拉路径的节点,将已构成欧拉路径的栅极序列完
成目标路径的拼接,根据拼接后的所述目标路径生成所述多个mos管分组中连通的mos管序列;
18.第二处理模块,用于将所述mos管序列中的mos管,根据欧拉路径的排列顺序进行摆放,形成摆放后的多个mos管分组序列。
19.本技术第三方面实施例提出的计算机存储介质,其中,所述计算机存储介质存储有计算机可执行指令;所述计算机可执行指令被处理器执行后,能够实现如上第一方面所述的方法。
20.本技术第四方面实施例提出的计算机设备,其中,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述程序时,能够实现如上第一方面所述的方法。
21.本技术的实施例提供的技术方案至少带来以下有益效果:
22.本技术提出的基于欧拉路径算法的自动布局方法、装置及存储介质中,可以根据待摆放的mos管的特征参数对其进行分类,得到多个mos管分组,然后分别对每组mos管中的mos管的栅极序列,以mos管的漏极和源级作为图论的节点,判断图论的节点是否构成欧拉路径,如果图论的节点未构成欧拉路径,则在图论中将度为奇数的节点增加预设元器件,以将未构成欧拉路径的节点转换为构成欧拉路径的节点,再根据构成欧拉路径的完成目标路径的拼接,根据拼接后的目标路径生成多个mos管分组中连通的mos管序列,将mos管序列中的mos管,根据欧拉路径的排列顺序进行摆放,形成摆放后的多个mos管分组序列。其中,本技术提出的方法,实现了mos管的自动布局,从而减少了人工考虑集成电路设计mos管布局需要的时间,同时保证了mos管有源区正确的被共用,减少了版图占用面积,缩短了集成电路设计周期。
23.本技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。
附图说明
24.本技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
25.图1为根据本技术一个实施例提供的基于欧拉路径算法的自动布局方法的流程示意图;
26.图2为根据本技术一个实施例提供的基于欧拉路径算法的自动布局装置的结构示意图。
具体实施方式
27.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本技术,而不能理解为对本技术的限制。
28.下面参考附图描述本技术实施例的基于欧拉路径算法的自动布局方法及装置。
29.实施例一
30.图1为根据本技术一个实施例提供的基于欧拉路径算法的自动布局方法的流程示
意图,如图1所示,可以包括:
31.步骤101、获取待摆放的mos管,并获取待摆放的mos管的特征参数。
32.其中,本技术的实施例中,mos管的特征参数可以包括:mos管的栅极宽度。
33.步骤102、根据特征参数对待摆放的mos管进行分类,得到多个mos管分组,其中,每个mos管分组中的mos管具有相同的宽度。
34.其中,在本技术的实施例中,上述mos管的特征参数还可以包括:mos管的finger。以及,在本技术的实施例中,在根据特征参数对待摆放的mos管进行分类之前,还需要将mos管的finger进行打平,以便后续对mos管进行分类。
35.以及,在本技术的实施例中,根据特征参数对待摆放的mos管进行分类,得到多个mos管分组的方法可以包括以下步骤:
36.步骤a、获取待摆放的mos管的mos管一维序列,mos管一维序列可以包括pmos管和nmos管,其中,pmos管和nmos管的漏极和源级由pmos管和nmos管在mos管一维序列中的顺序确定。
37.步骤b、根据mos管一维序列,将mos管一维序列中相同宽度的pmos管、nmos管划分为一组,并将每组的pmos管、nmos管以不同栅极进行区分,得到pmos管序列、nmos管序列。
38.其中,在本技术的实施例中,将mos管一维序列中相同宽度的pmos管和nmos管划分为一组后,每组中有多个pmos管和nmos管。以及,在本技术的实施例中,可以根据每组中pmos管的不同栅极区分得到多个不同的pmos管序列,且可以根据每组中nmos管的不同栅极区分得到多个不同的nmos管序列。
39.示例的,在本技术的实施例中,假设mos管共分为n组,其中第i组中根据pmos管、nmos管的不同栅极得到pmos管的栅极序列1、栅极序列2、
……
、栅极序列m,以及nmos管的栅极序列a、栅极序列b、
……
、栅极序列n。
40.步骤103、分别对mos管分组中mos管的栅极序列,以mos管的漏极和源级作为图论的节点,判断图论的节点是否构成欧拉路径,其中,构成欧拉路径的节点表征为mos管的有源区互相连通。
41.其中,在本技术的实施例中,分别对mos管分组中mos管的栅极序列,以mos管的漏极和源级作为图论的节点,判断图论的节点是否构成欧拉路径包括将每组中的pmos管的栅极序列,以pmos管的漏极和源极作为图论的节点判断该图论中的节点是否构成欧拉路径和将每组中的nmos管的栅极序列,以nmos管的漏极和源极作为图论的节点判断该图论中的节点是否构成欧拉路径。以及,在本技术的实施例中,每组中的pmos管组成的欧拉路径和nmos管组成的欧拉路径是两条不同的欧拉路径。
42.示例的,在本技术的实施例中,假设mos管共分为n组,则需要判断第i组中pmos管的栅极序列1、栅极序列2、
……
、栅极序列m是否能组成欧拉路径,以及nmos管的栅极序列a、栅极序列b、
……
、栅极序列n是否能组成欧拉路径。
43.步骤104、如果图论的节点未构成欧拉路径,则在图论中将度为奇数的节点增加预设元器件,以将未构成欧拉路径的节点转换为构成欧拉路径的节点。
44.其中,在本技术的实施例中,如果图论中有节点未构成欧拉路径,则将图论中度为奇数的节点增加预设源器件(例如,dummy),以使得该度为奇数的节点可以与已构成的欧拉路径共享有源区,从而将未构成欧拉路径的节点转换为构成欧拉路径的节点。
45.步骤105、根据构成欧拉路径的节点,将已构成欧拉路径的栅极序列完成目标路径的拼接,根据拼接后的目标路径生成多个mos管分组中连通的mos管序列。
46.其中,在本技术的实施例中,根据构成欧拉路径的节点,将已构成欧拉路径的栅极序列完成目标路径的拼接的方法可以包括以下步骤:
47.步骤1、在相同宽度的pmos管序列、nmos管序列中,分别将已构成欧拉路径的栅极序列通过在两两路径之间各加入一个mos管的漏极为前一条路径最后一个mos管的源级,mos管的源级为后一条路径的第一个mos管的漏极的预设元器件,完成目标路径的拼接。
48.步骤2、在拼接好的目标路径的两个端点各加入一个预设元器件,以得到多个mos管分组中连通的pmos管序列、nmos管序列。
49.以及,在本技术的实施例中,根据拼接完成后的目标路径可以得出每组中的pmos管的欧拉路径和nmos管的欧拉路径。具体的,pmos管的欧拉路径中,包括pmos管中的所有栅极序列的排列顺序;nmos管的欧拉路径中,包括nmos管中的所有栅极序列的排列顺序。
50.步骤106、将mos管序列中的mos管,根据欧拉路径的排列顺序进行摆放,形成摆放后的多个mos管分组序列。
51.本技术提出的基于欧拉路径算法的自动布局方法、装置及存储介质中,可以根据待摆放的mos管的特征参数对其进行分类,得到多个mos管分组,然后分别对每组mos管中的mos管的栅极序列,以mos管的漏极和源级作为图论的节点,判断图论的节点是否构成欧拉路径,如果图论的节点未构成欧拉路径,则在图论中将度为奇数的节点增加预设元器件,以将未构成欧拉路径的节点转换为构成欧拉路径的节点,再根据构成欧拉路径的完成目标路径的拼接,根据拼接后的目标路径生成多个mos管分组中连通的mos管序列,将mos管序列中的mos管,根据欧拉路径的排列顺序进行摆放,形成摆放后的多个mos管分组序列。其中,本技术提出的方法,实现了mos管的自动布局,从而减少了人工考虑集成电路设计mos管布局需要的时间,同时保证了mos管有源区正确的被共用,减少了版图占用面积,缩短了集成电路设计周期。
52.实施例二
53.进一步地,图2为根据本技术一个实施例提供的一种基于欧拉路径算法的自动布局装置的结构示意图,如图2所示,可以包括:
54.获取模块201,用于获取待摆放的mos管,并获取待摆放的mos管的特征参数;
55.分类模块202,用于根据特征参数对待摆放的mos管进行分类,得到多个mos管分组,其中,每个mos管分组中的mos管具有相同的宽度;
56.判断模块203,用于分别对mos管分组中mos管的栅极序列,以mos管的漏极和源级作为图论的节点,判断图论的节点是否构成欧拉路径,其中,构成欧拉路径的节点表征为mos管的有源区互相连通;
57.第一处理模块204,用于如果图论的节点未构成欧拉路径,则在图论中将度为奇数的节点增加预设元器件,以将未构成欧拉路径的节点转换为构成欧拉路径的节点;
58.拼接模块205,用于根据构成欧拉路径的节点,将已构成欧拉路径的栅极序列完成目标路径的拼接,根据拼接后的目标路径生成多个mos管分组中连通的mos管序列;
59.第二处理模块206,用于将mos管序列中的mos管,根据欧拉路径的排列顺序进行摆放,形成摆放后的多个mos管分组序列。
60.其中,本技术的实施例中,特征参数包括mos管的栅极宽度。以及,本技术的实施例中,分类模块用于获取待摆放的mos管的mos管一维序列,mos管一维序列包括pmos管和nmos管,pmos管和nmos管的漏极和源级由pmos管和nmos管在mos管一维序列中的顺序确定,根据mos管一维序列,将mos管一维序列中相同宽度的pmos管、nmos管划分为一组,并将每组的pmos管、nmos管以不同栅极进行区分,得到pmos管序列、nmos管序列。
61.本技术第三方面实施例提出的计算机存储介质,其中,所述计算机存储介质存储有计算机可执行指令;所述计算机可执行指令被处理器执行后,能够实现如上第一方面所述的方法。
62.本技术第四方面实施例提出的计算机设备,其中,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述程序时,能够实现如上第一方面所述的方法。
63.为了实现上述实施例,本公开还提出一种计算机存储介质。
64.本公开实施例提供的计算机存储介质,存储有计算机程序;计算机程序被处理器执行时,能够实现如图1所示的基于欧拉路径算法的自动布局方法。
65.为了实现上述实施例,本公开还提出一种计算机设备。
66.本公开实施例提供的计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序;计算机程序被处理器执行时,能够实现如图1所示的基于欧拉路径算法的自动布局方法。
67.本技术提出的基于欧拉路径算法的自动布局方法、装置及存储介质中,可以根据待摆放的mos管的特征参数对其进行分类,得到多个mos管分组,然后分别对每组mos管中的mos管的栅极序列,以mos管的漏极和源级作为图论的节点,判断图论的节点是否构成欧拉路径,如果图论的节点未构成欧拉路径,则在图论中将度为奇数的节点增加预设元器件,以将未构成欧拉路径的节点转换为构成欧拉路径的节点,再根据构成欧拉路径的完成目标路径的拼接,根据拼接后的目标路径生成多个mos管分组中连通的mos管序列,将mos管序列中的mos管,根据欧拉路径的排列顺序进行摆放,形成摆放后的多个mos管分组序列。其中,本技术提出的方法,实现了mos管的自动布局,从而减少了人工考虑集成电路设计mos管布局需要的时间,同时保证了mos管有源区正确的被共用,减少了版图占用面积,缩短了集成电路设计周期。
68.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
69.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术
的实施例所属技术领域的技术人员所理解。
70.尽管上面已经示出和描述了本技术的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本技术的限制,本领域的普通技术人员在本技术的范围内可以对上述实施例进行变化、修改、替换和变型。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献