CN116894418B - 宏单元引脚通孔位置偏差的校正方法、装置、设备及介质 - Google Patents

宏单元引脚通孔位置偏差的校正方法、装置、设备及介质 Download PDF

Info

Publication number
CN116894418B
CN116894418B CN202310856158.8A CN202310856158A CN116894418B CN 116894418 B CN116894418 B CN 116894418B CN 202310856158 A CN202310856158 A CN 202310856158A CN 116894418 B CN116894418 B CN 116894418B
Authority
CN
China
Prior art keywords
wire
hole
macro
target
ordinate
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
Application number
CN202310856158.8A
Other languages
English (en)
Other versions
CN116894418A (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.)
Shanghai Hexin Digital Technology Co ltd
Hexin Technology Co ltd
Original Assignee
Shanghai Hexin Digital Technology Co ltd
Hexin 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 Shanghai Hexin Digital Technology Co ltd, Hexin Technology Co ltd filed Critical Shanghai Hexin Digital Technology Co ltd
Priority to CN202310856158.8A priority Critical patent/CN116894418B/zh
Publication of CN116894418A publication Critical patent/CN116894418A/zh
Application granted granted Critical
Publication of CN116894418B publication Critical patent/CN116894418B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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)
  • Architecture (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明涉及芯片设计技术领域,公开了宏单元引脚通孔位置偏差的校正方法、装置、设备及介质,本发明基于抓取布线结束后的宏单元的引脚对应的信号线生成数据集合;对数据集合中的wire进行筛选得到wire集合,同时获取位于宏单元内部与wire对应的第一通孔;基于wire集合,通过目标筛选条件确定目标wire;判断宏单元的引脚的纵坐标与目标wire对应的第一通孔的纵坐标是否一致;若不一致,则删除第一通孔,同时判断目标wire是否存在预设通孔属性;若不存在,则创建第二通孔。有效解决了由于连接单端口器件或输出端口悬空器件的宏单元引脚上生成通孔时位置偏差而引入的DRC违例,加快物理验证通过,提高芯片交付效率。

Description

宏单元引脚通孔位置偏差的校正方法、装置、设备及介质
技术领域
本发明涉及芯片设计领域,具体涉及宏单元引脚通孔位置偏差的校正方法、装置、设备及介质。
背景技术
随着人们对CPU/GPU性能需求的提高,对芯片制造工艺的要求也越来越高。当芯片制造工艺达到10纳米以下时,布线和通孔的布局对芯片的性能和可制造性会产生重要影响。
在10纳米以下工艺中,难免会出现宏单元物理引脚的实际宽度大于对应出引脚的金属层线宽的情况。当宏单元引脚的负载是单端口器件或者输出端口悬空器件时,innovus工具在实际绕线中并在该pin上生成通孔时,时常会发生部分通孔偏离宏单元物理引脚的中心位置、与该引脚的物理边界距离太小的情况,导致DRC(Design Rule Check,设计规则检查)无法通过。如果使用传统的eco_route命令来处理由于宏单元引脚上生成通孔的位置偏差而导致的DRC违例,由于innovus工具无法准确识别此类DRC违例,这些违例问题可能会在PV(physical verification,物理验证)阶段被发现,需要通过多次漫长的验证和迭代来解决,这会消耗芯片后端设计工程师大量的时间和精力。这会给芯片检查和确认阶段的数据交付带来很大挑战。
发明内容
有鉴于此,本发明提供了一种宏单元引脚通孔位置偏差的校正方法、装置、设备及介质,以解决芯片绕线工具在实际绕线中并在引脚上生成通孔时出现位置偏差、需要通过多次漫长验证和迭代、消耗工程师大量的时间和精力且最终导致芯片检查以及数据交付效率不高的问题。
第一方面,本发明提供了一种宏单元引脚通孔位置偏差的校正方法,基于抓取布线结束后的宏单元的引脚对应的信号线生成数据集合,所述宏单元连接单端口或者输出端口悬空器件;通过循环访问集合脚本命令对所述数据集合中的每一条信号线对应的wire进行筛选得到wire集合,同时获取位于宏单元内部与每个wire对应的第一通孔,其中,每一条信号线对应多段wire,所述wire表征每一条信号线的金属绕线层;基于所述wire集合,通过目标筛选条件确定目标wire;判断所述宏单元的引脚的纵坐标与目标wire对应的第一通孔的纵坐标是否一致;若不一致,则删除第一通孔,同时判断所述目标wire是否存在预设通孔属性;若不存在,则创建第二通孔。
本发明实施方案主要通过自动化命令以及循环访问集合方式对信号线进行筛选,同时精确地确定目标wire,减少了冗余操作。同时判断目标wire与宏单元引脚的位置关系,确定是否删除第一通孔创建第二通孔,从而能够根据需要调整和优化引脚的位置进行通孔位置的校正,进一步的提高了布线效率,有效解决了由于连接单端口器件或输出端口悬空器件的宏单元引脚上生成通孔时位置偏差而引入的DRC违例,加快物理验证通过,提高芯片交付效率。
在一种可选的实施方式中,所述通过循环访问集合脚本命令对所述数据集合中的每一条信号线对应的wire进行筛选得到wire集合,包括:通过循环访问集合脚本命令对所述数据集合中的每一条信号线中,筛选出每一条信号线中对应的金属绕线层宽度为Mx+1层最小线宽的wire,生成wire集合,并且所述wire对应位于宏单元内部的通孔的绕线层宽度为Mx+1层最小线宽的wire。
通过精确筛选并生成绕线层宽度为Mx+1的wire集合,并确保与宏单元内部通孔的绕线层宽度一致,从而提高了芯片布线的准确性、一致性,从而优化芯片设计的效率。
在一种可选的实施方式中,所述获取位于宏单元内部与每个wire对应的第一通孔,包括:通过用脚本语言中循环访问集合命令对每一条信号线中绕线层宽度为Mx+1层最小线宽的wire对应通孔的横坐标和纵坐标进行抓取,并与宏单元的左下角横坐标、左下角纵坐标、右上角横坐标、右上角纵坐标的四个格点加以比较判断;用if判断条件筛选出横坐标介于左下角横坐标与右上角横坐标之间、y坐标介于左下角纵坐标与右上角纵坐标之间的通孔作为第一通孔。
通过脚本语言循环访问命令,自动化进行坐标比对,抓取每个绕线层宽度为Mx+1的wire对应的第一通孔,精确筛选和确定宏单元范围,减少了人工操作和计算量,提高操作效率。
在一种可选的实施方式中,所述基于所述wire集合,通过目标筛选条件确定目标wire,包括:基于所述wire集合,筛选出宽度为Mx+1的wire最小线宽的金属线、并且左下角横坐标与通孔的切割矩形左下角横坐标相同的wire作为目标wire。
通过筛选出宽度为Mx+1的wire最小线宽的金属线,优化了线宽选择,自动化进行坐标比对,抓取每个绕线层宽度为Mx+1的wire对应的第一通孔,精确筛选和确定宏单元范围,减少了人工操作和计算量,提高操作效率。
在一种可选的实施方式中,所述创建第二通孔之前,还包括:打开预设通孔属性固定检查规则开关。
通过打开预设通孔属性固定检查规则开关,确保在重新创建通孔时不会引入新的DRC违例,同时也保证预设通孔属性已经正确的被配置,满足创建新的通孔属性的要求。
在一种可选的实施方式中,所述方法还包括:选择所述第二通孔以及对应绕线层宽度为Mx+1层最小线宽的wire,设置为固定状态。
通过设置创建后的通孔以及对应wire为固定状态,稳定布线结果,防止后续迭代过程中对应位置发生变化。
在一种可选的实施方式中,所述创建第二通孔,包括:手动创建与目标wire对应的宏单元的引脚纵坐标一致,并且除纵坐标外的其余属性与所述第一通孔一致的第二通孔。
通过创建与第一通孔其余属性一致的第二通孔,对于除纵坐标以外的其他物理参数保持相同属性,同时第二通孔目标wire对应的宏单元的引脚纵坐标一致,保证通孔位置准确精准对照引脚坐标,减少了冗余操作,提高工程师的布线速度。
在一种可选的实施方式中,所述创建第二通孔,包括:确定宏单元所在位置的第一矩形区域;确定宽度为Mx层wire的最小线宽、长度为宏单元引脚横向尺寸、中线点与所述宏单元引脚的集合中心相重合的第二矩形区域;基于所述第一矩形区域以及所述第二矩形区域做与非逻辑操作,创建多边形区域;基于所述多边形区域对应的Mx层wire自动生成第二通孔。
通过自动生成通孔,保证通孔位置准确精准对照引脚坐标,方便后续创建绕线阻碍物,可以避免路线与区域中的金属线重叠,从而能够删除对应设计检查规则违例的wire,提高芯片设计质量。
第二方面,本发明提供了一种宏单元引脚通孔位置偏差的校正装置,所述装置包括:
数据抓取模块,用于基于抓取布线结束后的宏单元的引脚对应的信号线生成数据集合,所述宏单元连接单端口或者输出端口悬空器件;
集合筛选模块,用于通过循环访问集合脚本命令对所述数据集合中的每一条信号线对应的wire进行筛选得到wire集合,同时获取位于宏单元内部与每个wire对应的第一通孔,其中,每一条信号线对应多段wire,所述wire表征每一条信号线的金属绕线层;所述集合筛选模块,还用于基于所述wire集合,通过目标筛选条件确定目标wire;通孔位置检测模块,用于判断所述宏单元的引脚的纵坐标与目标wire对应的第一通孔的纵坐标是否一致;所述通孔位置检测模块,还用于确定若不一致,则删除第一通孔,同时判断所述目标wire是否符合预设通孔属性;通孔校正模块,用于若不存在第一通孔,则创建第二通孔。
第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的宏单元引脚通孔位置偏差的校正方法。
第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的宏单元引脚通孔位置偏差的校正方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1根据本发明实施方案的宏单元引脚通孔位置偏差的校正方法的应用场景图;
图2是根据本发明实施方案的宏单元引脚通孔位置偏差的校正方法的流程示意图;
图3是根据本发明实施方案的另一宏单元引脚通孔位置偏差的校正方法的流程示意图;
图4是根据本发明实施方案的又一宏单元引脚通孔位置偏差的校正方法的流程示意图;
图5是根据本发明实施方案的又一宏单元引脚通孔位置偏差的校正方法的示例图;
图6是根据本发明实施方案的宏单元引脚通孔位置偏差的校正装置的结构框图;
图7是本发明实施方案的计算机设备的硬件结构示意图。
具体实施方式
为使本发明实施方案的目的、技术方案和优点更加清楚,下面将结合本发明实施方案中的附图,对本发明实施方案中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施方案,而不是全部的实施方案。基于本发明中的实施方案,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施方案,都属于本发明保护的范围。
当宏单元引脚的负载是单端口器件或者输出端口悬空器件时,由于宏单元引脚上生成通孔时位置偏差,DRC检查往往会发现通孔偏离宏单元物理引脚的中心位置、与该引脚的物理边界距离太小等问题,难以通过常规的eco_route命令来处理。相关技术中的innovus工具无法准确识别类似DRC违例,在PV阶段才能被calibre工具发现,处理非常困难,消耗了芯片工程师大量的时间和精力,这也导致芯片最终数据交付效率低下。
本发明实施方案提供了一种宏单元引脚通孔位置偏差的校正方法,应用于芯片设计过程中对特定部件的通孔进行偏差判断和更新的场景下,参照图1,图1为本发明方法的应用场景图,图中展示了连接单端口器件或输出端口悬空器件的宏单元在出引脚金属层生成的通孔相对于宏单元引脚的位置,其中1代表宏单元,2代表宏单元的引脚,3代表通孔VIAx,4代表金属线对应Mx+1层的wire,短虚线代表通孔的水平中心线。图1-(a)中的长虚线与图1-(b)中的短虚线在同一水平线上,位于宏单元物理引脚的中心位置。
如果以2W表示宏单元引脚的实际宽度,那么常规情况下通孔中心位置与宏单元引脚上下物理边界的距离均为W。如图1-(a)所示,由于实际创建通孔位置纵向偏移了S,导致连接单端口器件的宏单元在出引脚金属层生成的通孔距离宏单元物理引脚上边界的距离减少了S并变为W-S,从而小于techfile要求的最小值,无法满足DRC检查的要求;而通过本发明方法对通孔位置进行偏差校正后,得到的效果如图1-(b)所示,连接单端口器件的宏单元在出pin金属层所创建的通孔与宏单元引脚上下物理边界的距离相等且均为W,可以满足DRC检查的要求。
在较宽的宏单元物理引脚上生成通孔的过程中,在基本不改变原有绕线关系的情况下,有效解决了由于连接单端口器件或输出端口悬空器件的宏单元引脚上生成通孔时位置偏差而引入的DRC违例,加快物理验证通过,提高芯片交付效率。
根据本发明实施方案,提供了一种宏单元引脚通孔位置偏差的校正方法实方案,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以适当调整此处所示出的执行顺序或描述的步骤。
在本实施方案中提供了一种宏单元引脚通孔位置偏差的校正方法,可用于上述的计算机设备,图2是根据本发明实施方案的宏单元引脚通孔位置偏差的校正方法的流程图,如图2所示,该流程包括如下步骤:
步骤S201,基于抓取布线结束后的宏单元的引脚对应的信号线生成数据集合,所述宏单元连接单端口或者输出端口悬空器件。
本发明实施方案中,宏单元指的是芯片子模块或模块集合,也可以理解为芯片中的子系统。引脚指的是器件或芯片上的输入输出引脚,负责信号的传送和芯片的封装。宏单元通常包含多个引脚,每个引脚对应一条信号通路,它可以连接到其他的宏单元引脚或者其他标准单元的引脚上。
具体实现中,确定需要抓取的宏单元并进行标识,获取宏单元引脚信息,包括引脚位置、名称属性等,通过电路分析工具对这些信息进行分析生成宏单元引脚的数据集合。
步骤S202,通过循环访问集合脚本命令对所述数据集合中的每一条信号线对应的wire进行筛选得到wire集合,同时获取位于宏单元内部与每个wire对应的第一通孔,其中,每一条信号线对应多段wire,wire表征每一条信号线的金属绕线层。
本发明实施方案中,循环访问集合脚本命令是用于对集合对象中的每一条信号线进行筛选确定wire集合的脚本编写语句。wire指的是用于连接芯片引脚、器件的物理部件也就是金属层,wire是将网表里信号线物理化的概念,每一条信号线在后端工具里面是由许多小段的wire组成。信号线在电路网表中是以逻辑信号线的形式存在的,但是在后端工具中,这些逻辑信号线会被物理实现成由多段小的金属线(即"wire")组成的实际物理线路,从而更好地满足电路的电气特性和布线要求。通孔指的是电路层次之间的孔洞,电路层中又包括多个不同的金属绕线层,实际应用中信号通过通孔实现传输到不同层次的金属线中。
具体实现中,对数据集合中的坐标范围以及宏单元中的坐标范围进行确定,检测每条信号线的wire坐标范围是否与宏单元坐标范围对应,若存在于内部则确定与该wire对应的通孔,检测结束得到wire集合以及对应的第一通孔。
步骤S203,基于所述wire集合,通过目标筛选条件确定目标wire。
本发明实施方案中,目标wire可以在后续步骤中为通孔位置偏差的判定提供条件,目标wire需要满足设置的筛选条件,通过设置筛选条件实现对具有特定属性的wire进行筛选,例如筛选特定物理位置或者特定区域的wire。
步骤S204,判断宏单元的引脚的纵坐标与目标wire对应的第一通孔的纵坐标是否一致。
本发明实施方案中,判断宏单元的引脚的纵坐标与目标wire对应的第一通孔的纵坐标是否一致,就是要判断宏单元的引脚在电路板上是否和目标wire所连接的第一个通孔是否再同一条直线上,可以理解为上述操作是为了确定通孔的位置是否正确,如果通孔的位置不正确,将导致芯片电路上布线出现问题。
步骤S205,若不一致,则删除第一通孔,同时判断所述目标wire是否存在预设通孔属性。
本发明实施方案中,innovus工具在常规信号线的绕线过程中自动生成的通孔属性多为普通通孔属性,而预设通孔属性指的是用户预先创建的特殊通孔的属性,包括通孔的类型、大小、位置等,与普通通孔属性有所区别。可以理解为:如果对应的wire已经存在预设通孔属性,证明用户已经在该wire上创建过正确的通孔,为了避免出现由于重复创建通孔而引入DRC违例的问题,需要加入这一判断条件。
步骤S206,若不存在,则创建第二通孔。
本发明实施方案中,第二通孔指的是在电路板上目标wire的第一个通孔不合适时,需要在该位置创建的第二个通孔。第二通孔可以通过自动生成或者基于特定属性进行手动创建。
本实施方案提供的宏单元引脚通孔位置偏差的校正,通过抓取布线结束后的宏单元引脚对应的信号线生成数据集合,可以快速构建数据结构,为后续的筛选和处理提供基础。通过循环访问集合脚本命令对数据集合中的每一条信号线对应的wire进行筛选得到wire集合,可以按照预设条件快速筛选出目标wire。提供了自动化高效筛选,提高了芯片工程师工作效率。获取位于宏单元内部与每个wire对应的第一通孔,可以根据目标wire的位置信息自动进行第一通孔的删除、第二通孔的创建以及预设通孔属性的添加等操作,判断目标wire是否存在预设通孔属性,当不存在时,自动创建第二通孔。保证通孔处理的精确度,节省时间成本。有效解决了由于连接单端口器件或输出端口悬空器件的宏单元引脚上生成通孔时位置偏差而引入的DRC违例,加快物理验证通过,减少了反复在PV阶段检查DRC、重新绕线消耗的迭代时间,方便芯片工程师进行设计,提高芯片交付效率。
在一些可选的实施方式中,上述步骤S102通过循环访问集合脚本命令对数据集合中的每一条信号线对应的wire进行筛选得到wire集合,包括:通过循环访问集合脚本命令对数据集合中的每一条信号线,筛选出每一条信号线中对应的金属绕线层宽度为Mx+1层最小线宽的wire,生成wire集合,并且wire对应位于宏单元内部的通孔的绕线层宽度为Mx+1层最小线宽的wire。
对于本实施方案中,通过用脚本命令读入当前数据集合中的设计中所有的信号线。针对每条信号线,用脚本命令提取出其所包含的金属绕线层、宽度等信息,筛选出金属线宽度为Mx+1层最小线宽的对应的wire,判断宏单元内部的通孔是否存在于对应的wire内,将同时满足两个条件的wire加入到一个wire的数据集合中,命令结束后输出最终的wire集合。脚本语言中都提供了对集合数据结构的支持,可以直接使用集合来存储以及操作信息。
在一些可选的实施方式中,上述步骤S102获取位于宏单元内部与每个wire对应的第一通孔,包括:
a1:通过用脚本语言中循环访问集合命令对每一条信号线中绕线层宽度为Mx+1层最小线宽的wire对应通孔的横坐标和纵坐标进行抓取,并与宏单元的左下角横坐标、左下角纵坐标、右上角横坐标、右上角纵坐标的四个格点加以比较判断;
a2:用if判断条件筛选出横坐标介于左下角横坐标与右上角横坐标之间、y坐标介于左下角纵坐标与右上角纵坐标之间的通孔作为第一通孔。
对于本实施方案,可以理解的是第一通孔是宏单元内部与每个wire对应的一个通孔,因此需要找到这个通孔确定wire的相关特性以及物理位置,通过比较通孔的横坐标和纵坐标与宏单元的四个格点的位置,可以判断通孔是否位于宏单元内部,从而筛选出第一通孔。
在一些可选的实施方式中,上述步骤S103基于wire集合,通过目标筛选条件确定目标wire,包括:基于wire集合,筛选出宽度为Mx+1的wire最小线宽的金属线、并且左下角横坐标与通孔的切割矩形左下角横坐标相同的wire作为目标wire。
对于本实施方案,为了确保芯片的性能和可靠性,金属线的布局需要满足一定的要求,例如线宽、线距、电阻等。本实施方案的目标是筛选出宽度为Mx+1金属层最小线宽的wire,并且左下角横坐标与通孔的切割矩形左下角横坐标相同的wire作为目标wire。通过筛选出宽度为Mx+1金属层最小线宽的wire,方便后续与通孔位置进行比较,同时也可以确保金属线的电阻和电容都在预设的范围内,进而优化金属线的布局,以提高芯片的性能和可靠性。
在本实施方案中提供了一种宏单元引脚通孔位置偏差的校正方法,可用于上述的计算机等,可用于上述的计算机设备,图3是根据本发明实施例的宏单元引脚通孔位置偏差的校正方法的流程图,如图3所示,该流程包括如下步骤:
步骤S301,基于抓取布线结束后的宏单元的引脚对应的信号线生成数据集合,宏单元连接单端口或者输出端口悬空器件。详细请参见图2所示实施方案的步骤S201,在此不再赘述。
步骤S302,通过循环访问集合脚本命令对数据集合中的每一条信号线对应的wire进行筛选得到wire集合,同时获取位于宏单元内部与每个wire对应的第一通孔,其中,每一条信号线对应多段wire,wire表征每一条信号线的金属绕线层。详细请参见图2所示实施方案的步骤S202,在此不再赘述。
步骤S303,基于wire集合,通过目标筛选条件确定目标wire。详细请参见图2所示实施方案的步骤S203,在此不再赘述。
步骤S304,判断宏单元的引脚的纵坐标与目标wire对应的第一通孔的纵坐标是否一致。详细请参见图2所示实施方案的步骤S204,在此不再赘述。
步骤S305,若不一致,则删除第一通孔,同时判断目标wire是否存在预设通孔属性。详细请参见图2所示实施方案的步骤S205,在此不再赘述。
步骤S306,打开预设通孔属性固定检查规则开关。
示例性的,首先包括引入特殊规则或添加新的逻辑,通过这些规则或逻辑,可以确保通孔的形状和位置满足设计的要求,并且不会引入任何新的DRC违例。开启这个开关后,布局工具在进行通孔生成时会自动进行DRC检查,以确保通孔不会产生新的违例。这会大大提高通孔生成的效率和减少芯片设计错误。
步骤S307,若不存在第一通孔,则创建第二通孔;详细请参见图2所示实施方案的步骤S206,在此不再赘述。
本实施方案通过打开预设通孔属性固定检查规则开关,确保在重新创建通孔时不会引入新的DRC违例,同时也保证预设通孔属性已经被正确配置,满足创建新的通孔属性的要求。
在本实施方案中提供了一种宏单元引脚通孔位置偏差的校正方法,可用于上述的计算机等设备,图4是根据本发明实施方案的宏单元引脚通孔位置偏差的校正方法的流程图,如图4所示,该流程包括如下步骤:
步骤S401,基于抓取布线结束后的宏单元的引脚对应的信号线生成数据集合,宏单元连接单端口或者输出端口悬空器件。详细请参见图3所示实施方案的步骤S301,在此不再赘述。
步骤S402,通过循环访问集合脚本命令对所述数据集合中的每一条信号线对应的wire进行筛选得到wire集合,同时获取位于宏单元内部与每个wire对应的第一通孔,其中,每一条信号线对应多段wire,wire表征每一条信号线的金属绕线层。详细请参见图3所示实施方案的步骤S302,在此不再赘述。
步骤S403,基于wire集合,通过目标筛选条件确定目标wire。详细请参见图3所示实施方案的步骤S303,在此不再赘述。
步骤S404,判断宏单元的引脚的纵坐标与目标wire对应的第一通孔的纵坐标是否一致。详细请参见图3所示实施方案的步骤S304,在此不再赘述。
步骤S405,若不一致,则删除第一通孔,同时判断目标wire是否存在预设通孔属性。详细请参见图3所示实施方案的步骤S305,在此不再赘述。
步骤S406,打开预设通孔属性固定检查规则开关。详细请参见图3所示实施方案的步骤S306,在此不再赘述。
步骤S407,若不存在,则创建第二通孔;详细请参见图3所示实施方案的步骤S307,在此不再赘述。
步骤S408,选择第二通孔以及对应绕线层宽度为Mx+1层最小线宽的wire,设置为固定状态。
示例性的,通过自动化工具选择第二通孔以及wire,将两者设置为固定状态,上述方式可以使芯片设计更加准确和稳定。可以理解的是如果不进行此项设置,电路中的通孔和绕线会自动随机分配位置和连接方式,而将第二通孔和对应绕线的状态设置为固定后,可以确保通孔和绕线在固定的位置上,从而可以更精确地适配其他器件,使芯片电路稳定性更高。
本实施方案通过设置创建后的通孔以及对应wire为固定状态,稳定布线结果,防止后续迭代过程中对应位置发生变化。
在一些可选的实施方式中,上述步骤S106创建第二通孔,包括:手动创建与目标wire对应的宏单元的引脚纵坐标一致,并且除纵坐标外的其余属性与第一通孔一致的第二通孔。
对于本实施方案,芯片设计过程中,很可能会存在需要通过通孔来实现连接不同层次电路的情况,但通孔的位置和大小可能会对电路性能可靠性产生影响。为了最大程度上保持整个电路板的性能和可靠性,需要确保所有通孔的位置和电学特性都一致。因此在将第二通孔与这个新创建的宏单元的引脚相连接时。第二通孔的位置和电学性能将与第一通孔相同,从而保持了电路的连通性。
在一些可选的实施方式中,上述步骤S106创建第二通孔,还可以包括:确定宏单元所在位置的第一矩形区域;确定宽度为Mx层wire的最小线宽、长度为宏单元引脚横向尺寸、中线点与宏单元引脚的集合中心相重合的第二矩形区域;并将第一矩形区域以及第二矩形区域做与非逻辑操作,创建多边形区域;基于多边形区域对应的Mx层wire自动生成第二通孔。
对于本实施方案,与上述手动创建第二通孔不同,通过自动生成通孔,保证通孔位置准确精准对照引脚坐标,方便后续创建绕线阻碍物,可以避免与区域中的金属线重叠,从而能够删除对应设计检查规则违例对应的wire,提高芯片设计质量。
示例性的,参照图5,本发明方法包括步骤S1-S8,
步骤S1,布线结束后抓取连接单端口/输出端口悬空器件的宏单元对应pin和每个pin对应的net,并整理抓取的net成一个集合A,进入步骤S2;
步骤S2,运用循环访问集合脚本命令判断并筛选集合A中每条net对应wire层为Mx+1、且位于宏单元内部的通孔VIAx和VIAx对应绕线层为Mx+1的wire集合B,进入步骤S3;
步骤S3,从集合B中筛选出宽度为Mx+1金属绕线层最小线宽、且lower left横坐标与VIAx的cut_rect对应lower left横坐标基本一致的wire,进入步骤S4;
步骤S4,对比步骤S1获取的宏单元pin的y坐标与对应通孔VIAx的y坐标是否一致,如果宏单元pin的y坐标与对应通孔的y坐标不一致,进入步骤S4;否则,结束;
步骤S5,删除上述通孔VIAx,判断步骤S3中对应的wire是否存在对应的special_via;如果步骤S3中对应的wire不存在对应的special_via,进入步骤S5;否则,结束;
步骤S6,重新指定通孔的y坐标,并创建与宏单元pin的y坐标一致、其余信息保持不变的通孔,进入步骤S6;
步骤S7,将generate_special_via_fix_drc开关打开,确保在重新创建通孔时不会引入新的DRC违例,进入步骤S7;
步骤S8,将上述重新创建的通孔和对应绕线层为Mx+1的金属层设定fixed状态,防止后续迭代过程中对应位置发生变化,结束。
本发明实施方案通过自动化命令以及循环访问集合方式对信号线进行筛选,同时精确的确定目标wire,减少了冗余操作。同时判断目标wire与宏单元引脚的位置关系,确定是否删除第一通孔并创建第二通孔,从而能够根据需要调整和优化引脚的位置进行通孔位置的校正,进一步的提高了布线效率,有效解决了由于连接单端口器件或输出端口悬空器件的宏单元引脚上生成通孔时位置偏差而引入的DRC违例,加快物理验证通过,提高芯片交付效率。
在本实施方案中还提供了一种宏单元引脚通孔位置偏差的校正装置,该装置用于实现上述实施方案及优选实施方式,已经进行过说明的不再赘述。例如以下所使用的术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施方案所描述的装置能够较佳地以软件来实现,但是硬件或者软件和硬件的组合的实现也是可能并被构想的。
本实施方案提供一种宏单元引脚通孔位置偏差的校正装置,如图6所示,包括:
数据抓取模块601,用于基于抓取布线结束后的宏单元的引脚对应的信号线生成数据集合,所述宏单元连接单端口或者输出端口悬空器件;
集合筛选模块602,用于通过循环访问集合脚本命令对所述数据集合中的每一条信号线对应的wire进行筛选得到wire集合,同时获取位于宏单元内部与每条wire对应的第一通孔,其中,每一条信号线对应多段wire,所述wire表征每一条信号线的金属绕线层;所述集合筛选模块602,还用于基于所述wire集合,通过目标筛选条件确定目标wire;
通孔位置检测模块603,用于判断所述宏单元的引脚的纵坐标与目标wire对应的第一通孔的纵坐标是否一致;
所述通孔位置检测模块603,还用于确定若不一致,则删除第一通孔,同时判断所述目标wire是否符合预设通孔属性;
通孔校正模块604,用于若不存在第一通孔,则创建第二通孔。
在一些可选的实施方式中,集合筛选模块602包括:
金属绕线处理单元,用于通过循环访问集合脚本命令对所述数据集合中的每一条信号线中,筛选出每一条信号线中对应的绕线层为Mx+1且宽度为Mx+1层最小线宽的wire,生成wire集合,并且所述位于宏单元内部的通孔位于上述wire集合中。
在一些可选的实施方式中,集合筛选模块602包括:
坐标分析单元,用于通过用脚本语言中循环访问集合命令对每一条信号线中绕线层宽度为Mx+1层最小线宽的wire对应通孔的横坐标和纵坐标进行抓取,并与宏单元的左下角横坐标、左下角纵坐标、右上角横坐标、右上角纵坐标的四个格点加以比较判断;
坐标判定单元,用于用if判断条件筛选出横坐标介于左下角横坐标与右上角横坐标之间、y坐标介于左下角纵坐标与右上角纵坐标之间的通孔作为第一通孔。
在一些可选的实施方式中,集合筛选模块602包括:
特定金属筛选单元,用于基于所述wire集合,筛选出宽度为Mx+1的wire最小线宽的金属线、并且左下角横坐标与通孔的切割矩形左下角横坐标相同的wire作为目标wire。
在一些可选的实施方式中,上述装置还包括:
开关设置模块,用于打开预设通孔属性固定检查规则开关。
在一些可选的实施方式中,上述装置还包括:
属性设置模块,用于选择所述第二通孔以及对应绕线层宽度为Mx+1层最小线宽的wire,设置为固定状态。
在一些可选的实施方式中,通孔校正模块404包括:
通孔创建单元,用于手动创建与目标wire对应的宏单元的引脚纵坐标一致,并且除纵坐标外的其余属性与所述第一通孔一致的第二通孔。
自动绕线单元,用于确定宏单元所在位置的第一矩形区域;确定宽度为Mx层wire的最小线宽、长度为宏单元引脚横向尺寸、中线点与所述宏单元引脚的集合中心相重合的第二矩形区域;基于所述第一矩形区域以及所述第二矩形区域做与非逻辑操作,创建多边形区域;基于所述多边形区域对应的Mx层wire自动生成第二通孔。
上述各个模块和单元的更进一步的功能描述与上述对应实施方案相同,在此不再赘述。
本发明实施方案通过自动化命令以及循环访问集合方式对信号线进行筛选,同时精确的确定目标wire,减少了冗余操作。同时判断目标wire与宏单元引脚的位置关系,确定是否删除第一通孔并创建第二通孔,从而能够根据需要调整和优化引脚的位置进行通孔位置的校正,进一步的提高了布线效率,有效解决了由于连接单端口器件或输出端口悬空器件的宏单元引脚上生成通孔时位置偏差而引入的DRC违例,加快物理验证通过,提高芯片交付效率。
本实施方案中的宏单元引脚通孔位置偏差的校正装置是以功能单元的形式来呈现,这里的单元是指ASIC(Application Specific Integrated Circuit,专用集成电路)电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
本发明实施方案还提供一种计算机设备,具有上述图5所示的宏单元引脚通孔位置偏差的校正装置。
请参阅图7,图7是本发明可选实施方案提供的一种计算机设备的结构示意图,如图7所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图7中以一个处理器10为例。
处理器10可以是中央处理器,数据处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,存储器20存储有可由至少一个处理器10执行的指令,以使至少一个处理器10执行实现上述实施方案所示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该计算机设备还包括通信接口30,用于该计算机设备与其他设备或通信网络通信。
本发明实施方案还提供了一种计算机可读存储介质,上述根据本发明实施方案的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施方案所示出的方法。
虽然结合附图描述了本发明的实施方案,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所限定的范围之内。

Claims (11)

1.一种宏单元引脚通孔位置偏差的校正方法,其特征在于,所述方法包括:
基于抓取布线结束后的宏单元的引脚对应的信号线生成数据集合,所述宏单元连接单端口或者输出端口悬空器件;
通过循环访问集合脚本命令对所述数据集合中的每一条信号线对应的wire进行筛选得到wire集合,同时获取位于宏单元内部与每个wire对应的第一通孔,其中,每一条信号线对应多段wire,所述wire表征每一条信号线的金属绕线层;
基于所述wire集合,通过目标筛选条件确定目标wire;
判断所述宏单元的引脚的纵坐标与目标wire对应的第一通孔的纵坐标是否一致;
若不一致,则删除第一通孔,同时判断所述目标wire是否存在预设通孔属性;
若不存在,则创建第二通孔以消除偏差。
2.根据权利要求1所述的方法,其特征在于,所述通过循环访问集合脚本命令对所述数据集合中的每一条信号线对应的wire进行筛选得到wire集合,包括:
通过循环访问集合脚本命令对所述数据集合中的每一条信号线中,筛选出每一条信号线中对应的金属绕线层宽度为Mx+1层最小线宽的wire,生成wire集合,并且所述wire对应位于宏单元内部的通孔的绕线层宽度为Mx+1层最小线宽的wire。
3.根据权利要求1所述的方法,其特征在于,所述获取位于宏单元内部与每个wire对应的第一通孔,包括:
通过用脚本语言中循环访问集合命令对每一条信号线中绕线层宽度为Mx+1层最小线宽的wire对应通孔的横坐标和纵坐标进行抓取,并与宏单元的左下角横坐标、左下角纵坐标、右上角横坐标、右上角纵坐标的四个格点加以比较判断;
用if判断条件筛选出横坐标介于左下角横坐标与右上角横坐标之间、y坐标介于左下角纵坐标与右上角纵坐标之间的通孔作为第一通孔。
4.根据权利要求1所述的方法,其特征在于,所述基于所述wire集合,通过目标筛选条件确定目标wire,包括:
基于所述wire集合,筛选出宽度为Mx+1的wire最小线宽的金属线、并且左下角横坐标与通孔的切割矩形左下角横坐标相同的wire作为目标wire。
5.根据权利要求1所述的方法,其特征在于,所述创建第二通孔之前,还包括:
打开预设通孔属性固定检查规则开关。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
选择所述第二通孔以及对应绕线层宽度为Mx+1层最小线宽的wire,设置为固定状态。
7.根据权利要求1所述的方法,其特征在于,所述创建第二通孔,包括:
创建与目标wire对应的宏单元的引脚纵坐标一致,并且除纵坐标外的其余属性与所述第一通孔一致的第二通孔。
8.根据权利要求1所述的方法,其特征在于,所述创建第二通孔,包括:
确定宏单元所在位置的第一矩形区域;
确定宽度为Mx层wire的最小线宽、长度为宏单元引脚横向尺寸、中线点与所述宏单元引脚的集合中心相重合的第二矩形区域;
基于所述第一矩形区域以及所述第二矩形区域做与非逻辑操作,创建多边形区域;
基于所述多边形区域对应的Mx层wire自动生成第二通孔。
9.一种宏单元引脚通孔位置偏差的校正装置,其特征在于,所述装置包括:
数据抓取模块,用于基于抓取布线结束后的宏单元的引脚对应的信号线生成数据集合,所述宏单元连接单端口或者输出端口悬空器件;
集合筛选模块,用于通过循环访问集合脚本命令对所述数据集合中的每一条信号线对应的wire进行筛选得到wire集合,同时获取位于宏单元内部与每个wire对应的第一通孔,其中,每一条信号线对应多段wire,所述wire表征每一条信号线的金属绕线层;
所述集合筛选模块,还用于基于所述wire集合,通过目标筛选条件确定目标wire;
通孔位置检测模块,用于判断所述宏单元的引脚的纵坐标与目标wire对应的第一通孔的纵坐标是否一致;
所述通孔位置检测模块,还用于确定若不一致,则删除第一通孔,同时判断所述目标wire是否存在预设通孔属性;
通孔校正模块,用于若不存在,则创建第二通孔。
10.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至8中任一项所述的宏单元引脚通孔位置偏差的校正方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至8中任一项所述的宏单元引脚通孔位置偏差的校正方法。
CN202310856158.8A 2023-07-12 2023-07-12 宏单元引脚通孔位置偏差的校正方法、装置、设备及介质 Active CN116894418B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310856158.8A CN116894418B (zh) 2023-07-12 2023-07-12 宏单元引脚通孔位置偏差的校正方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310856158.8A CN116894418B (zh) 2023-07-12 2023-07-12 宏单元引脚通孔位置偏差的校正方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN116894418A CN116894418A (zh) 2023-10-17
CN116894418B true CN116894418B (zh) 2023-12-22

Family

ID=88310372

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310856158.8A Active CN116894418B (zh) 2023-07-12 2023-07-12 宏单元引脚通孔位置偏差的校正方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN116894418B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004013909A1 (ja) * 2002-08-02 2004-02-12 Hitachi, Ltd. メモリを内蔵した半導体集積回路
CN110795908A (zh) * 2019-10-30 2020-02-14 福州大学 偏差驱动的总线感知总体布线方法
CN115329713A (zh) * 2022-10-13 2022-11-11 飞腾信息技术有限公司 一种布局模块、生成布线文件以及布线的方法、装置
CN115392179A (zh) * 2022-08-25 2022-11-25 深圳市紫光同创电子有限公司 宏单元布局方法、系统、设备及存储介质
CN115983187A (zh) * 2022-12-09 2023-04-18 福州大学 基于多策略的考虑总线偏差的层分配方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004013909A1 (ja) * 2002-08-02 2004-02-12 Hitachi, Ltd. メモリを内蔵した半導体集積回路
CN110795908A (zh) * 2019-10-30 2020-02-14 福州大学 偏差驱动的总线感知总体布线方法
CN115392179A (zh) * 2022-08-25 2022-11-25 深圳市紫光同创电子有限公司 宏单元布局方法、系统、设备及存储介质
CN115329713A (zh) * 2022-10-13 2022-11-11 飞腾信息技术有限公司 一种布局模块、生成布线文件以及布线的方法、装置
CN115983187A (zh) * 2022-12-09 2023-04-18 福州大学 基于多策略的考虑总线偏差的层分配方法

Also Published As

Publication number Publication date
CN116894418A (zh) 2023-10-17

Similar Documents

Publication Publication Date Title
WO2022100233A1 (zh) 一种基于图数据库的电网检索方法及系统
US9396301B1 (en) Method, system, and computer program product for interconnecting circuit components with track patterns for electronic circuit designs
TWI608371B (zh) 用於產生積體電路佈局之方法、電腦系統及電腦可讀取儲存媒體
US20210357569A1 (en) Method and system for generating layout design of integrated circuit
US8893073B2 (en) Displaying a congestion indicator for a channel in a circuit design layout
CN109857451B (zh) Ip核文件生成方法、装置、设备及介质
US9251299B1 (en) Methods, systems, and articles of manufacture for associating track patterns with rules for electronic designs
US7380227B1 (en) Automated correction of asymmetric enclosure rule violations in a design layout
CN112685991B (zh) 一种满足约束的布线方法
US9147030B2 (en) Multiple-instantiated-module (mim) aware pin assignment
US8984449B1 (en) Dynamically generating jog patches for jog violations
CN116894418B (zh) 宏单元引脚通孔位置偏差的校正方法、装置、设备及介质
CN117291140B (zh) 自动布线工具的绕线违例减少方法、装置、存储介质及电子终端
CN112861466B (zh) 一种布线轨道分配方法、电子设备及计算机可读存储介质
CN117077616B (zh) 一种基于结构导向的电路生成方法、装置、设备及介质
US10551431B1 (en) EM-compliance topology in a tree router
JP7062793B2 (ja) 回路配線記憶方法、fpgaシステムおよび記憶媒体
US10210301B2 (en) System and method for implementing and validating star routing for power connections at chip level
US6978433B1 (en) Method and apparatus for placement of vias
JP5380969B2 (ja) レイアウト設計方法、及び装置
US7284223B2 (en) Wiring method, program, and apparatus
JP5900540B2 (ja) レイアウト設計方法及びレイアウト設計支援プログラム
CN112668259A (zh) 一种后仿真网表的系统验证方法
CN111027275A (zh) 一种满足最小凹槽约束的引脚连接预处理方法
KR20150103091A (ko) 패턴 기반 전력 및 접지 (pg) 라우팅 및 비아 생성

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