CN116167322A - 电路仿真方法及装置、服务器和存储介质 - Google Patents

电路仿真方法及装置、服务器和存储介质 Download PDF

Info

Publication number
CN116167322A
CN116167322A CN202211099907.9A CN202211099907A CN116167322A CN 116167322 A CN116167322 A CN 116167322A CN 202211099907 A CN202211099907 A CN 202211099907A CN 116167322 A CN116167322 A CN 116167322A
Authority
CN
China
Prior art keywords
wiring
port
circuit
emulation method
circuit emulation
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
Application number
CN202211099907.9A
Other languages
English (en)
Other versions
CN116167322B (zh
Inventor
周帆
张亚东
余涵
李起宏
陆涛涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Huada Jiutian Technology Co ltd
Original Assignee
Shenzhen Huada Jiutian Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Huada Jiutian Technology Co ltd filed Critical Shenzhen Huada Jiutian Technology Co ltd
Priority to CN202211099907.9A priority Critical patent/CN116167322B/zh
Publication of CN116167322A publication Critical patent/CN116167322A/zh
Application granted granted Critical
Publication of CN116167322B publication Critical patent/CN116167322B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Architecture (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明公开了一种电路仿真方法及装置、服务器和存储介质。根据本发明实施例的电路仿真方法包括获取电路网表,其中,所述电路网表包括至少两个线网层;获取所述电路网表中的端口信息以及不同所述线网层对应的间距约束值,其中,所述端口信息包括端口图形;根据原始版图上的端口图形以及所述端口图形所属线网层对应的间距约束值得到第一禁止区域;根据所述端口信息和所述第一禁止区域进行布线设计,其中,所述第一禁止区域禁止布线。根据本发明实施例的电路仿真方法及装置、服务器和存储介质,能够避免违反设计规则,提高布线质量。

Description

电路仿真方法及装置、服务器和存储介质
技术领域
本发明涉及集成电路仿真技术领域,特别涉及一种电路仿真方法及装置、服务器和存储介质。
背景技术
随着超大规模集成电路的快速发展及其广泛的应用,芯片的设计和工艺要求变得越来越复杂,电子设计自动化(Electronic design automation,EDA)工具成了芯片设计领域不可缺少的辅助设计工具。
在芯片布线阶段,根据工艺需求读取相应的设计规则,在满足这些设计规则的前提下,EDA工具根据网表中的给出的连接关系将各个模块或引脚进行连接。在整个芯片设计过程中,设计规则直接影响最后的芯片制造,为了保证芯片的正常制造,在布线过程中某些设计规则需要进行考虑。
在现有技术中,对同层金属之间的间距有要求,同层金属不能离得太近,需要保持一个最小间距,否则会影响芯片的制造。但是现有的布线器并无法保证同层金属间的间距。
因此,希望能有一种新的电路仿真方法及装置、服务器和存储介质,能够解决上述问题。
发明内容
鉴于上述问题,本发明的目的在于提供一种电路仿真方法及装置、服务器和存储介质,从而避免违反设计规则,提高布线质量。
根据本发明的一方面,提供一种电路仿真方法,包括获取电路网表,其中,所述电路网表包括至少两个线网层;获取所述电路网表中的端口信息以及不同所述线网层对应的间距约束值,其中,所述端口信息包括端口图形;根据原始版图上的端口图形以及所述端口图形所属线网层对应的间距约束值得到第一禁止区域;根据所述端口信息和所述第一禁止区域进行布线设计,其中,所述第一禁止区域禁止布线。
可选地,所述端口信息还包括端口所属线网层、端口类型中的至少一种。
可选地,所述根据所述原始版图上的端口图形以及所述端口图形所属线网层对应的间距约束值得到第一禁止区域包括将与所述端口图形的间距不满足所述间距约束值的区域设置为所述第一禁止区域,并将所述第一禁止区域的位置记录在地图上。
可选地,所述电路仿真方法还包括获取已有布线以及所述已有布线所属线网层;将与所述已有布线的间距不满足所述已有布线所属线网层对应的间距约束值的区域设置为第二禁止区域,其中,所述第二禁止区域禁止新增布线。
可选地,所述电路仿真方法还包括将所述电路网表中需要连接的端口作为源点,根据迪杰斯特拉算法,向至少一个方向扩展,并记录所述源点的被扩展方向。
可选地,在所述扩展过程中,在当前扩展方向与所述被扩展方向不同时,回溯至所述扩展过程的上一个拐弯点,并根据所述当前扩展方向、所述上一个拐弯点和所述间距约束值得到第三禁止区域,其中,所述第三禁止区域禁止布线。
可选地,所述电路仿真方法还包括根据所述迪杰斯特拉算法搜索,直至从所述源点开始扩展的点相连;在所述迪杰斯特拉算法搜索结束后,沿所述源点回溯,得到布线点链;沿着所述布线点链进行布线。
可选地,所述电路仿真方法还包括遍历所述布线点链,判断是否存在违反所述间距约束值的情况;在判断存在违反所述间距约束值的情况时,对所述布线进行后处理,其中,所述对所述布线进行后处理包括布线扩宽和/或布线移动,以得到修正后布线。
可选地,所述对所述布线进行后处理包括根据所述布线两端图形中宽度较小的值进行所述布线扩宽;在所述布线的两端是管脚时,所述对所述布线进行后处理包括移动所述布线。
可选地,当同一线网层中的两个端口对应图形的最小间距小于或等于零时,所述两个端口共同形成一个端口图形。
根据本发明的另一方面,提供一种电路仿真装置,包括获取单元,用于获取电路网表,所述电路网表包括至少两个线网层,所述获取单元还用于获取所述电路网表中的端口信息以及不同所述线网层对应的间距约束值,其中,所述端口信息包括端口图形;约束单元,用于根据原始版图上的端口图形以及所述端口图形所属线网层对应的间距约束值得到第一禁止区域;布线单元,用于根据所述端口信息和所述第一禁止区域进行布线设计,其中,所述第一禁止区域禁止布线。
根据本发明的又一方面,提供一种服务器,包括处理器;存储器,用于存储一个或多个程序;其中,当所述一个或多个程序被所述处理器执行,使得所述处理器实现如上所述的电路仿真方法。
根据本发明的再一方面,提供一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如上所述的电路仿真方法。
根据本发明实施例的电路仿真方法及装置、服务器和存储介质,依据不同线网层的间距约束值确定第一禁止区域以实现布线设计,支持同一线网层的最小间距要求,能够避免违反设计规则,提高布线质量。
进一步地,使用标记、回溯等方法来进行布线,以应对不同的情况,适用范围广,覆盖场景多,成功率高。
进一步地,在得到初始布线后,进行后处理,以覆盖更多的场景,成功率高。
附图说明
通过以下参照附图对本发明实施例的描述,本发明的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示出了根据本发明实施例一的电路仿真方法的方法流程图。
图2示出了根据本发明实施例二的电路仿真方法的方法流程图。
图3示出了根据本发明实施例二的最小间距示意图。
图4示出了根据本发明实施例二的标记示意图。
图5示出了根据本发明实施例二的不合法布线示意图。
图6示出了根据本发明实施例二的合法布线示意图。
图7示出了根据本发明实施例二的回溯示意图。
图8示出了根据本发明实施例二的布线示意图。
图9示出了根据本发明实施例二的布线扩宽示意图。
图10示出了根据本发明实施例二的布线移动示意图。
图11示出了根据本发明实施例二的布线扩宽示意图。
图12示出了根据本发明实施例三的电路仿真方法的方法流程图。
图13示出了根据本发明实施例三的操作界面示意图。
图14示出了根据本发明实施例三的布线结果示意图。
图15示出了根据本发明实施例的电路仿真装置的结构示意图。
图16示出了根据本发明实施例的服务器的结构示意图。
具体实施方式
以下将参照附图更详细地描述本发明的各种实施例。在各个附图中,相同的元件采用相同或类似的附图标记来表示。为了清楚起见,附图中的各个部分没有按比例绘制。此外,在图中可能未示出某些公知的部分。
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。在下文中描述了本发明的许多特定的细节,例如部件的结构、材料、尺寸、处理工艺和技术,以便更清楚地理解本发明。但正如本领域的技术人员能够理解的那样,可以不按照这些特定的细节来实现本发明。
应当理解,在描述部件的结构时,当将一层、一个区域称为位于另一层、另一个区域“上面”或“上方”时,可以指直接位于另一层、另一个区域上面,或者在其与另一层、另一个区域之间还包含其它的层或区域。并且,如果将部件翻转,该一层、一个区域将位于另一层、另一个区域“下面”或“下方”。
集成电路版图布线中满足最小间距/间距约束值(Min Notch)约束的通孔生成方法是EDA工具在布线过程中的一种基于Min Notch约束的选择最优的走线路径,该约束为同net(线网层)最小间距约束(same net spacing),同net指的是同一个线网上的引脚、金属和通孔,它们需要连接到一起,才能满足电路连接关系。本申请涉及EDA设计技术领域,特别是一种集成电路版图满足Min Notch的布线方法。在满足设计规则检查(Design ruleschecking,DRC)的前提下,最短化布线总路径长度。
图1示出了根据本发明实施例一的电路仿真方法的方法流程图。如图1所示,根据本发明实施例一的电路仿真方法包括以下步骤:
在步骤S101中,获取电路网表;
获取电路网表,其中,该电路网表包括至少两个线网层。每层线网层包括引脚、金属和通孔等中的至少一种,它们连接到一起以满足电路连接关系。
在步骤S102中,获取所述网表中的端口信息以及不同所述线网层对应的间距约束值;
获取该电路网表中的端口信息以及不同线网层对应的间距约束值,其中,所述端口信息包括端口图形。可选地,端口信息还包括端口所属线网层、端口类型等中的至少一种。可选地,电路网表包括第一线网层和第二线网层。第一线网层对应第一间距约束值,第二线网层对应第二间距约束值。第一间距约束值和第二间距约束值可以相同,也可以不相同。
在步骤S103中,根据原始版图上的端口图形以及该端口图形所属线网层对应的约束值得到第一禁止区域;
根据原始版图上的端口图形以及该端口图形所属线网层对应的约束值,得到(该线网层对应的)第一禁止区域。
在步骤S104中,根据端口信息和第一禁止区域进行布线设计。
根据端口信息和第一禁止区域进行(电路仿真)布线设计,其中,第一禁止区域内禁止布线。
在本发明的可选实施例中,电路仿真方法还包括:获取已有布线以及该已有布线所属线网层;将与该已有布线的间距不满足该已有布线所属线网层对应的间距约束值的区域设置为第二禁止区域,其中,第二禁止区域禁止新增布线。可选地,在布线过程中,将与已有布线间距不满足间距约束值的区域设置为第二禁止区域,新增布线完成后,将新增布线作为已有布线。
图2示出了根据本发明实施例二的电路仿真方法的方法流程图。如图2所示,根据本发明实施例第二的电路仿真方法包括以下步骤:
在步骤S201中,获取电路网表信息;
获取电路网表信息,读入布线输入文件中的所有线网的端口图形,包括端口图形的大小、层次,各(线网)层的间隔规则,以及最小间距约束信息(包括约束所在线网层以及对应的间距约束值)。结合图3所示,端口图形之间的距离需要满足大于间距约束值(minnotch spacing)。
在步骤S202中,建立第一禁止区域;
建立第一禁止区域,其中,第一禁止区域中禁止布线。可选地,将与端口图形的间距不满足间距约束值的区域设置为第一禁止区域,并将第一禁止区域的位置记录在地图上。可选地,对原始版图上的图形进行标记(以建立第一禁止区域),将图形外扩(图形外扩即标记同net图形走线会发生same net spacing violation的区域,即第一禁止区域)后的位置记录在map(地图)上。结合图4所示,标记的范围是一个挖空的矩形,具体是被标记图形外扩得到。可选地,标记用于解决同net多次搜索造成的notch,标记的是金属图形外扩MinNotch spacing后再减去金属图形本身的环形区域。
在本发明的可选实施例中,当同一线网层中的两个端口对应图形的最小间距小于或等于零时,该两个端口共同形成一个端口图形。具体地讲,如果两个同线网层的金属图形的间距小于Min Notch Spacing,会违反设计规则,但是如果两个同线网层的金属图形的间距小于等于0,即二者相接触,此时二者应该视为一个图形,不违反设计规则。
在步骤S203中,规划初始布线;
规划得到初始布线。可选地,将电路网表中需要连接的端口作为源点,根据迪杰斯特拉算法,向至少一个方向扩展,并记录(源点的)被扩展方向。进一步地,在扩展过程中,在当前扩展方向与被扩展方向不同时,回溯至扩展过程的上一个拐弯点,并根据当前扩展方向、上一个拐弯点和间距约束值得到第三禁止区域,其中,第三禁止区域禁止布线。可选地,根据迪杰斯特拉算法搜索,直至从源点开始扩展的点相连;在迪杰斯特拉算法搜索结束后,沿源点回溯,得到布线点链;沿着布线点链进行布线,得到初始布线。
在一个具体实施例中,将需要连接的管脚(端口)上的点作为源点,使用迪杰斯特拉算法,向各个方向扩展,同时记录每个点(源点/扩展点)被扩展的方向。
在扩展时,查找标记map(地图),如果与某个同线网层(net)金属图形的间距小于间距约束值(Min Notch),增加代价(得到第三禁止区域),从而避免在此处走线。换句话讲,在扩展过程中,如果当前节点在same net spacing map中被标记,则表明若走线到当前节点,会发生same net spacing violation,需要给其一个较大的走线代价,避开禁止区域。结合图5所示,如果当前点在标记区域内,则会违反约束,需要添加代价;如果不在标记区域内,合法,不添加代价。结合图6所示,合法有两种可能,一是当前点距离被标记图形很远,二是当前点与被标记图形接触。
在扩展时,如果当前扩展方向与扩展该点的方向不同,说明要拐弯,此时回溯至上一个拐弯点,计算两个拐弯点的间距,如果小于间距约束值,增加代价(增加的代价即改变走线后需要增加的长度)。结合图7所示,在回溯过程中,沿每个点的被扩展方向反向回溯,直至找到上一个拐弯点。在本申请中,标记和回溯用于解决不同的情况,回溯解决的是同一次搜索造成的Notch;对于多次搜索造成的Notch,结合图8所示,需要靠标记解决。
可选地,在扩展过程中,代价大的节点会被压在队列的最后,迷宫算法本身会弹出代价较小的节点进行扩展,也就是说优先会选择没有same net violation的走线路径。
继续搜索,直至从源点开始扩展的点相连。当迪杰斯特拉算法搜索结束后,沿源点回溯,得到一条点链。沿着该点链布线得到初始布线(就是初次得到的金属线)。
在步骤S204中,检查初始布线是否违反约束,得到最终布线。
检查初始布线是否违反间距约束值的约束,得到最终布线。例如遍历点链,如果出现违反间距约束值的情况,需要进行后处理,后处理的方法可以是扩宽金属线。可选地,遍历布线的点链,判断是否存在违反间距约束值的情况;在判断存在违反间距约束值的情况时,对(初始)布线进行后处理。其中,对初始布线进行后处理包括布线扩宽和/或布线移动,以得到修正后布线。可选地,根据布线两端图形中宽度较小的值进行布线扩宽;在布线的两端是管脚时,对布线进行后处理包括移动(初始)布线。
在本发明的一个具体实施例中,布线(金属线)的端(端口)包括至少三种情况:拐弯、管脚和通孔。后处理用于处理两端没有拐弯,而是管脚的情况。处理方法是扩宽金属线,扩宽的宽度为两端图形宽度的较小值。其中某一端是拐弯的情况在搜索中使用回溯解决,那么需要后处理的情况包括以下三种:两端都是管脚;一端是管脚,一端是通孔;两端都是通孔。
在扩宽金属线的时候,选取两端图形宽度中较小的值。其中对于两端是管脚的情况,由于金属线不一定在管脚的中心出线,因此可能即使扩宽也依旧违反DRC,如图9所示。此时需要移动金属线,如图10所示。
当大宽度管脚的投影无法覆盖小宽度管脚的投影时,此时金属线扩宽的宽度不是管脚宽度,而是两个管脚较近边的间距,如图11所示。
图12示出了根据本发明实施例三的电路仿真方法的方法流程图。如图12所示,根据本发明实施例三的电路仿真方法具体的布线方法包括以下步骤:
在步骤S301中,初始化版图数据和工艺约束;
初始化版图数据和工艺约束。可选地,如图13所示,打开布线器,点击进行布线。读取版图上的图形以及Min Notch约束。
在步骤S302中,对版图图形进行标记;
对版图图形进行标记,例如参照图4。当在标记区域内打孔或走线时,会增加代价(即避开标记区域)。
在步骤S303中,从源点出发进行搜索;
从源点出发进行搜索,使用迪杰斯特拉算法进行路径搜索,搜索时查找标记的map,如果违反Min Notch DRC,添加代价。
在步骤S304中,得到点链,进行后处理。
得到点链后,生成布线(金属线),并对金属线进行后处理。布线结果参考图14。
根据本发明的另一方面,提供一种电路仿真装置,该电路仿真装置用于实现上述的电路仿真方法。如图15所示,在本发明一个具体实施例中,电路仿真装置包括获取单元310、约束单元320和布线单元330。
具体地讲,获取单元310用于获取电路网表,该电路网表包括至少两个线网层。获取单元310还用于获取该电路网表中的端口信息以及不同线网层对应的间距约束值,其中,端口信息包括端口图形。
约束单元320用于根据原始版图上的端口图形以及端口图形所属线网层对应的间距约束值得到第一禁止区域。
布线单元330用于根据端口信息和第一禁止区域进行布线设计,其中,第一禁止区域禁止布线。
图16示出了根据本发明实施例的服务器的结构示意图。参考图16,本公开还提出了一种适于用来实现本公开实施例的示例性服务器的框图。需要明白的是,图16显示的服务器仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图16所示,服务器200以通用计算设备的形式表现。服务器200的组件可以包括但不限于:一个或者多个处理器或者处理单元210,存储器220,连接不同系统组件(包括存储器220和处理单元210)的总线201。
总线201表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
服务器200典型地包括多种计算机系统可读介质。这些介质可以是任何能够被服务器200访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器220可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)221和/或高速缓存存储器222。服务器200可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统223可以用于读写不可移动的、非易失性磁介质(图16未显示,通常称为“硬盘驱动器”)。尽管图16中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线201相连。存储器220可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本公开实施例各实施例的功能。
具有一组(至少一个)程序模块2241的程序/实用工具224,可以存储在例如存储器220中,这样的程序模块2241包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块2241通常执行本公开实施例所描述的实施例中的功能和/或方法。
进一步地,服务器200也可以与显示器300通信连接,用于显示筛选排序的结果,该显示器300可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,该显示器300也可以是触摸屏。
进一步地,该服务器200还可与一个或者多个使得用户能与该服务器200交互的设备通信,和/或与使得该服务器200能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口230进行。并且,服务器200还可以通过网络适配器240与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器240通过总线201与服务器200的其它模块通信。应当明白,尽管图中未示出,可以结合服务器200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元210通过运行存储在系统存储器220中的程序,从而执行各种功能应用以及数据处理,例如实现本公开实施例所提供的用于器件建模工具的电路仿真方法。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序(或称为计算机可执行指令),该程序被处理器执行时用于执行本公开实施例所提供的电路仿真方法,该方法包括:获取电路网表,其中,所述电路网表包括至少两个线网层;获取所述电路网表中的端口信息以及不同所述线网层对应的间距约束值,其中,所述端口信息包括端口图形;根据所述原始版图上的端口图形以及所述端口图形所属线网层对应的间距约束值得到第一禁止区域;根据所述端口信息和所述第一禁止区域进行布线设计,其中,所述第一禁止区域禁止布线。
本公开实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言(诸如Java、Smalltalk、C++),还包括常规的过程式程序设计语言诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
应当说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
依照本发明的实施例如上文所述,这些实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施例。显然,根据以上描述,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地利用本发明以及在本发明基础上的修改使用。本发明仅受权利要求书及其全部范围和等效物的限制。

Claims (13)

1.一种电路仿真方法,包括:
获取电路网表,其中,所述电路网表包括至少两个线网层;
获取所述电路网表中的端口信息以及不同所述线网层对应的间距约束值,其中,所述端口信息包括端口图形;
根据原始版图上的端口图形以及所述端口图形所属线网层对应的间距约束值得到第一禁止区域;
根据所述端口信息和所述第一禁止区域进行布线设计,其中,所述第一禁止区域禁止布线。
2.根据权利要求1所述的电路仿真方法,其中,所述端口信息还包括端口所属线网层、端口类型中的至少一种。
3.根据权利要求1所述的电路仿真方法,其中,所述根据所述原始版图上的端口图形以及所述端口图形所属线网层对应的间距约束值得到第一禁止区域包括:
将与所述端口图形的间距不满足所述间距约束值的区域设置为所述第一禁止区域,并将所述第一禁止区域的位置记录在地图上。
4.根据权利要求1所述的电路仿真方法,其中,所述电路仿真方法还包括:
获取已有布线以及所述已有布线所属线网层;
将与所述已有布线的间距不满足所述已有布线所属线网层对应的间距约束值的区域设置为第二禁止区域,
其中,所述第二禁止区域禁止新增布线。
5.根据权利要求1所述的电路仿真方法,其中,所述电路仿真方法还包括:
将所述电路网表中需要连接的端口作为源点,根据迪杰斯特拉算法,向至少一个方向扩展,并记录所述源点的被扩展方向。
6.根据权利要求5所述的电路仿真方法,其中,在所述扩展过程中,在当前扩展方向与所述被扩展方向不同时,回溯至所述扩展过程的上一个拐弯点,并根据所述当前扩展方向、所述上一个拐弯点和所述间距约束值得到第三禁止区域,
其中,所述第三禁止区域禁止布线。
7.根据权利要求5所述的电路仿真方法,其中,所述电路仿真方法还包括:
根据所述迪杰斯特拉算法搜索,直至从所述源点开始扩展的点相连;
在所述迪杰斯特拉算法搜索结束后,沿所述源点回溯,得到布线点链;
沿着所述布线点链进行布线。
8.根据权利要求7所述的电路仿真方法,其中,所述电路仿真方法还包括:
遍历所述布线点链,判断是否存在违反所述间距约束值的情况;
在判断存在违反所述间距约束值的情况时,对所述布线进行后处理,
其中,所述对所述布线进行后处理包括布线扩宽和/或布线移动,以得到修正后布线。
9.根据权利要求8所述的电路仿真方法,其中,所述对所述布线进行后处理包括:
根据所述布线两端图形中宽度较小的值进行所述布线扩宽;
在所述布线的两端是管脚时,所述对所述布线进行后处理包括移动所述布线。
10.根据权利要求1所述的电路仿真方法,其中,当同一线网层中的两个端口对应图形的最小间距小于或等于零时,所述两个端口共同形成一个端口图形。
11.一种电路仿真装置,包括:
获取单元,用于获取电路网表,所述电路网表包括至少两个线网层,所述获取单元还用于获取所述电路网表中的端口信息以及不同所述线网层对应的间距约束值,其中,所述端口信息包括端口图形;
约束单元,用于根据原始版图上的端口图形以及所述端口图形所属线网层对应的间距约束值得到第一禁止区域;
布线单元,用于根据所述端口信息和所述第一禁止区域进行布线设计,其中,所述第一禁止区域禁止布线。
12.一种服务器,包括:
处理器;
存储器,用于存储一个或多个程序;
其中,当所述一个或多个程序被所述处理器执行,使得所述处理器实现如权利要求1至10中任一项所述的电路仿真方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如权利要求1至10中任一项所述的电路仿真方法。
CN202211099907.9A 2022-09-07 2022-09-07 电路仿真方法及装置、服务器和存储介质 Active CN116167322B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211099907.9A CN116167322B (zh) 2022-09-07 2022-09-07 电路仿真方法及装置、服务器和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211099907.9A CN116167322B (zh) 2022-09-07 2022-09-07 电路仿真方法及装置、服务器和存储介质

Publications (2)

Publication Number Publication Date
CN116167322A true CN116167322A (zh) 2023-05-26
CN116167322B CN116167322B (zh) 2024-08-23

Family

ID=86418831

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211099907.9A Active CN116167322B (zh) 2022-09-07 2022-09-07 电路仿真方法及装置、服务器和存储介质

Country Status (1)

Country Link
CN (1) CN116167322B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6898773B1 (en) * 2002-01-22 2005-05-24 Cadence Design Systems, Inc. Method and apparatus for producing multi-layer topological routes
US7117468B1 (en) * 2002-01-22 2006-10-03 Cadence Design Systems, Inc. Layouts with routes with different spacings in different directions on the same layer, and method and apparatus for generating such layouts
JP2010020587A (ja) * 2008-07-11 2010-01-28 Seiko Epson Corp 集積回路設計方法、集積回路設計装置、集積回路及び電子機器
US20120233575A1 (en) * 2011-03-10 2012-09-13 Freescale Semiconductor, Inc. Layout method for integrated circuit including vias
US20140033153A1 (en) * 2012-07-26 2014-01-30 International Business Machines Corporation Method For Assisting in Logic Circuit Design to Place Cells on IC Substrate and Optimize Wiring, Device For Assisting in Logic Circuit Design Using This Method, and Computer Program Executable By This Device
US20180165405A1 (en) * 2016-12-14 2018-06-14 International Business Machines Corporation Timing based net constraints tagging with zero wire load validation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6898773B1 (en) * 2002-01-22 2005-05-24 Cadence Design Systems, Inc. Method and apparatus for producing multi-layer topological routes
US7117468B1 (en) * 2002-01-22 2006-10-03 Cadence Design Systems, Inc. Layouts with routes with different spacings in different directions on the same layer, and method and apparatus for generating such layouts
JP2010020587A (ja) * 2008-07-11 2010-01-28 Seiko Epson Corp 集積回路設計方法、集積回路設計装置、集積回路及び電子機器
US20120233575A1 (en) * 2011-03-10 2012-09-13 Freescale Semiconductor, Inc. Layout method for integrated circuit including vias
US20140033153A1 (en) * 2012-07-26 2014-01-30 International Business Machines Corporation Method For Assisting in Logic Circuit Design to Place Cells on IC Substrate and Optimize Wiring, Device For Assisting in Logic Circuit Design Using This Method, and Computer Program Executable By This Device
US20180165405A1 (en) * 2016-12-14 2018-06-14 International Business Machines Corporation Timing based net constraints tagging with zero wire load validation

Also Published As

Publication number Publication date
CN116167322B (zh) 2024-08-23

Similar Documents

Publication Publication Date Title
US9594866B2 (en) Method for checking and fixing double-patterning layout
US8661371B1 (en) Method and apparatus for fixing double patterning color-seeding violations
US8627240B1 (en) Integrated design environment for nanophotonics
US20170147740A1 (en) Multiple patterning layout decomposition considering complex coloring rules
US7661078B1 (en) Method and system for implementing metal fill
CN104077429A (zh) 在多重图案化光刻期间用于冲突检测的eda工具和方法
US9213793B1 (en) Methods, systems, and articles of manufacture for implementing electronic designs using flexible routing tracks
US11983476B2 (en) Technology-independent line end routing
US9165104B1 (en) Method and apparatus for identifying double patterning color-seeding violations
US8645902B1 (en) Methods, systems, and computer program products for implementing interactive coloring of physical design components in a physical electronic design with multiple-patterning techniques awareness
US10296703B1 (en) System and method for visualization in an electronic circuit design
US10055533B2 (en) Visualization of analysis process parameters for layout-based checks
US7958482B2 (en) Stitched circuitry region boundary identification for stitched IC chip layout
US8875075B2 (en) Generating pattern-based estimated RC data with analysis of route information
CN116167322B (zh) 电路仿真方法及装置、服务器和存储介质
JP6672791B2 (ja) 半導体設計支援装置、半導体設計支援方法、及び半導体設計支援プログラム
US7926005B1 (en) Pattern-driven routing
US11900041B2 (en) Via coloring methods and systems
US8006211B2 (en) IC chip and design structure including stitched circuitry region boundary identification
US20130132917A1 (en) Pattern Matching Hints
JP6316311B2 (ja) パターンベースの電源グランド(pg)ルーティングおよびビア生成
US20190340325A1 (en) Wire routing algorithm
CN116956810B (zh) 布线方法及装置、计算装置和存储介质
US11790147B1 (en) System and method for routing in an electronic design
US11126770B2 (en) Method of semiconductor integrated circuit, circuit design system, and non-transitory computer-readable medium

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