CN112800704A - 基于功能buffer的芯片后端改版方法、装置及计算机设备 - Google Patents

基于功能buffer的芯片后端改版方法、装置及计算机设备 Download PDF

Info

Publication number
CN112800704A
CN112800704A CN202110367350.1A CN202110367350A CN112800704A CN 112800704 A CN112800704 A CN 112800704A CN 202110367350 A CN202110367350 A CN 202110367350A CN 112800704 A CN112800704 A CN 112800704A
Authority
CN
China
Prior art keywords
unit
violation
file
electronic
units
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
CN202110367350.1A
Other languages
English (en)
Other versions
CN112800704B (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 Injoinic Technology Co Ltd
Original Assignee
Shenzhen Injoinic 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 Injoinic Technology Co Ltd filed Critical Shenzhen Injoinic Technology Co Ltd
Priority to CN202110367350.1A priority Critical patent/CN112800704B/zh
Publication of CN112800704A publication Critical patent/CN112800704A/zh
Application granted granted Critical
Publication of CN112800704B publication Critical patent/CN112800704B/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/32Circuit design at the digital level

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)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本申请公开了一种基于功能buffer的芯片后端改版方法、装置、计算机设备及存储介质,包括:获取制程文件中各电子单元的原件清单;根据原件清单在预设的数字工艺库中查找各电子单元的备用单元,并根据各电子单元与其对应备用单元的键值对关系生成替代列表;根据预设的设计工具对制程文件进行分析,提取制程文件中的违例文件;在替代列表中查找违例单元对应的目标备用单元,并根据目标备用单元和违例文件构成map文件;根据预设的违例规则确认违例文件的违例类型,并根据map文件和违例类型生成供设计工具运行的脚本文件;运行设计工具执行脚本文件,以使目标备用单元替换违例单元完成对制程文件的修改。

Description

基于功能buffer的芯片后端改版方法、装置及计算机设备
技术领域
本发明实施例涉及芯片制造领域,尤其是一种基于功能buffer的芯片后端改版方法、装置、计算机设备及存储介质。
背景技术
在现代集成电路设计中,特别是数字逻辑部分的设计,为了防止芯片生产回来后测试发现新的问题,一般会在整个数字逻辑区域均匀放置很多备用的dummy cell(备用单元),在芯片后期改版过程中,只需要动几层金属就可以实现芯片功能的更改或修复。
而对于数字逻辑部分进行功能性的更改,特别是post mask ECO阶段(已经加工完芯片的晶体管,但是还没有做晶体管连线期间的工程修改),由于所有的备用单元的位置和方向等不可改变,故只能依靠已有的备用单元,通过修改数字网表或者相应的EDA(Electronic design automation,电子设计自动化)工具命令来修改设计功能,相应的反应到后端物理设计中所引起的时序和设计违例等问题。如何通过插入备用单元来修时序和设计违例等问题,传统的处理方式是根据每个违例点,修改数字网表,包括查找备选备用单元的位置,更改违例点与备选备用单元的信号点之间的层次连接关系等,并且重复多次这个过程,直至设计收敛,很明显这种ECO(Engineering Change Order,工程修改)方式效率低下,且容易出错。
发明内容
本发明实施例提供一种能够根据违例文件确定对应备用单元,并使用备用单元对工程文件进行修改的基于功能buffer的芯片后端改版方法、装置、计算机设备及存储介质。
为解决上述技术问题,本发明创造的实施例采用的一个技术方案是:提供一种基于功能buffer的芯片后端改版方法,包括:
获取制程文件中各电子单元的原件清单;
根据所述原件清单在预设的数字工艺库中查找各所述电子单元的备用单元,并根据各所述电子单元与其对应备用单元的键值对关系生成替代列表;
根据预设的设计工具对所述制程文件进行分析,提取所述制程文件中的违例文件,其中,所述电子单元中包括违例单元,所述违例文件中记载所述违例单元的标识信息;
在所述替代列表中查找所述违例单元对应的目标备用单元,并根据所述目标备用单元和所述违例文件构成map文件;
根据预设的违例规则确认所述违例文件的违例类型,并根据所述map文件和违例类型生成供所述设计工具运行的脚本文件;
运行所述设计工具执行所述脚本文件,以使所述目标备用单元替换所述违例单元完成对所述制程文件的修改。
可选地,所述根据预设的设计工具对所述制程文件进行分析,提取所述制程文件中的违例文件包括:
获取所述违例单元的输出信号和输入信号,其中,所述输出信号包括建立时间、跳变延时和负载大小,所述输入信号包括保持时间、扇出和线长;
根据所述输出信号和输入信号生成至少一个违例类型报告;
将所述至少一个违例类型报告集合生成所述违例文件。
可选地,所述在所述替代列表中查找所述违例单元对应的目标备用单元包括:
在所述替代列表中查找所述违例单元对应的备用单元;
以所述违例单元为圆心以所述线长为半径所限定的圆形面积内,查找与所述违例单元临近的目标备用单元,其中,所述目标备用单元至多由两个所述电子单元级联组成。
可选地,所述目标备用单元包括两个级联的电子单元,所述查找与所述违例单元临近的备用单元包括:
获取所述违例单元的功能类型;
根据所述功能类型在所述圆形面积内限定的范围内选取两个目标电子单元;
将所述两个目标电子单元级联组成所述备用单元,其中,所述备用单元实现与所述违例单元相同的功能。
可选地,所述违例单元连接有负载单元,所述目标备用单元包括第一级联单元和第二级联单元,所述根据预设的违例规则确认所述违例文件的违例类型之前,包括:
将所述第一级联单元的输出信号连接至所述负载单元的输入引脚;
将所述第二级联单元的输出信号连接至所述第一级联单元的输入引脚。
可选地,所述违例单元连接有驱动单元,所述目标备用单元包括第一级联单元和第二级联单元,所述根据预设的违例规则确认所述违例文件的违例类型之前,包括:
将所述第一级联单元的输入信号连接至所述负载单元的输出引脚;
将所述第二级联单元的输入信号连接至所述第一级联单元的输出引脚。
可选地,所述获取制程文件中各电子单元的原件清单之前,包括:
在所述制程文件的电子单元周围预置至少一个所述备用单元。
为解决上述技术问题,本发明实施例还提供一种基于功能buffer的芯片后端改版装置,包括:
获取模块,用于获取制程文件中各电子单元的原件清单;
生成模块,用于根据所述原件清单在预设的数字工艺库中查找各所述电子单元的备用单元,并根据各所述电子单元与其对应备用单元的键值对关系生成替代列表;
提取模块,用于根据预设的设计工具对所述制程文件进行分析,提取所述制程文件中的违例文件,其中,所述电子单元中包括违例单元,所述违例文件中记载所述违例单元的标识信息;
替换模块,用于在所述替代列表中查找所述违例单元对应的目标备用单元,并根据所述目标备用单元和所述违例文件构成map文件;
处理模块,用于根据预设的违例规则确认所述违例文件的违例类型,并根据所述map文件和违例类型生成供所述设计工具运行的脚本文件;
执行模块,用于运行所述设计工具执行所述脚本文件,以使所述目标备用单元替换所述违例单元完成对所述制程文件的修改。
可选地,所述基于功能buffer的芯片后端改版装置还包括:
第一获取子模块,用于获取所述违例单元的输出信号和输入信号,其中,所述输出信号包括建立时间、跳变延时和负载大小,所述输入信号包括保持时间、扇出和线长;
第一处理子模块,用于根据所述输出信号和输入信号生成至少一个违例类型报告;
第一执行子模块,用于将所述至少一个违例类型报告集合生成所述违例文件。
可选地,所述基于功能buffer的芯片后端改版装置还包括:
第一查找子模块,用于在所述替代列表中查找所述违例单元对应的备用单元;
第二查找子模块,用于以所述违例单元为圆心以所述线长为半径所限定的圆形面积内,查找与所述违例单元临近的目标备用单元,其中,所述目标备用单元至多由两个所述电子单元级联组成。
可选地,所述目标备用单元包括两个级联的电子单元,所述基于功能buffer的芯片后端改版装置还包括:
第二获取子模块,用于获取所述违例单元的功能类型;
第二处理子模块,用于根据所述功能类型在所述圆形面积内限定的范围内选取两个目标电子单元;
第二执行子模块,用于将所述两个目标电子单元级联组成所述备用单元,其中,所述备用单元实现与所述违例单元相同的功能。
可选地,所述违例单元连接有负载单元,所述基于功能buffer的芯片后端改版装置还包括:
第一连接模块,用于将所述第一级联单元的输出信号连接至所述负载单元的输入引脚;
第二连接模块,用于将所述第二级联单元的输出信号连接至所述第一级联单元的输入引脚。
可选地,所述违例单元连接有驱动单元,所述基于功能buffer的芯片后端改版装置还包括:
第三连接子模块,用于将所述第一级联单元的输入信号连接至所述负载单元的输出引脚;
第四连接子模块,用于将所述第二级联单元的输入信号连接至所述第一级联单元的输出引脚。
可选地,所述基于功能buffer的芯片后端改版装置还包括:
第三处理子模块,用于在所述制程文件的电子单元周围预置至少一个所述备用单元。
为解决上述技术问题本发明实施例还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述所述基于功能buffer的芯片后端改版方法的步骤。
为解决上述技术问题本发明实施例还提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述所述基于功能buffer的芯片后端改版方法的步骤。
本发明实施例的有益效果是:在数字工艺库中记载当前制程文件中各电子单元的备用单元,在确保备用单元与电子单元的映射关系准确的情况下,对电子单元中的违例单元进行备用单元的替换,该post mask ECO的设计方法可以有效提高后端设计效率,避免错误和减少ECO迭代次数,缩短芯片签核周期,同时对于post mask ECO的后端设计项目,具有较好的通用性。本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请一个具体实施例的基于功能buffer的芯片后端改版方法的基本流程示意图;
图2为本申请一个具体实施例的违例文件的生成示意图;
图3为本申请一具体实施例的查找目标备用单元的流程示意图;
图4为本申请一个具体实施例的级联备用单元的流程示意图;
图5为本申请一个具体实施例的提供的具有逻辑等价功能的功能性buffer列表图;
图6为本申请一个具体实施例的备用单元的第一种连接流程示意图;
图7为本申请一个具体实施例的备用单元的第二种连接流程示意图;
图8为本申请一个实施例的基于功能buffer的芯片后端改版装置的基本结构示意图;
图9为本申请一个实施例的计算机设备的基本结构框图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“终端”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(Personal Communications Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global Positioning System,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
请参阅图1,图1为本实施例基于功能buffer的芯片后端改版方法的基本流程示意图。如图1所示,一种基于功能buffer的芯片后端改版方法,包括:
S1100、获取制程文件中各电子单元的原件清单;
本实施方式中制程文件是指:用于制造芯片的电子设计图,在制程文件中,记载有各个电子单元的信号、编码、形状、位置以及各电子单元之间的连接线路。
电子单元是指组成芯片的基本电子元器件,包括(不限于):电阻、电容、电感、晶体管、逻辑门、触发器、多任务器和其他电路。
在对已经加工完芯片的晶体管,但是还没有做晶体管连线期间的工程修改的芯片基板进行修改时,需要读取制程文件中各个电子元器件的原件清单,原件清单中记载各个电子单元的(不限于):名称、型号和功能等信息。
S1200、根据所述原件清单在预设的数字工艺库中查找各所述电子单元的备用单元,并根据各所述电子单元与其对应备用单元的键值对关系生成替代列表;
数字工艺库是半导体工艺厂商维护并提供的扩展名为.lib (ASCll码,可读)或者.db(2进制,逻辑综合工具使用)的库,库内包含的是每个逻辑元(比如与非门、反相器、备用单元和存储器等)的特性和功能信息,比如时间单位、电压单位、单元名、pin(引脚)名、延时弧、Pin脚负载信息和功耗信息等。
由此可知,在数字工艺库中记载各个电子单元的备用单元的名称、型号、位置和特性等信息。通过将原件清单中的电子单元在数字工艺库中进行查找,就能够查找到与各个电子单元具有键值或者映射关系的备用单元。
备用单元是指:能够替代电子单元或者实现电子单元相同功能的电子元器件。
在一些实施方式中,为方便对芯片制程进行调整,在进行芯片加工时,在芯片的设计电路图中加入对应的备用单元,在进行芯片加工时,如果某个电子单元出现了问题时,可以启用对应的备用单元对该电子单元进行替换,由于在post mask ECO阶段还未完成电子单元的连线,因此,采用这种方法十分方便电路连线的调整。
S1300、根据预设的设计工具对所述制程文件进行分析,提取所述制程文件中的违例文件,其中,所述电子单元中包括违例单元,所述违例文件中记载所述违例单元的标识信息;
设计工具软件可大致可分为芯片设计辅助软件、可编程芯片辅助设计软件、系统设计辅助软件等三类。设计工具包括(不限于):Protel、PSPICE、multiSIM10、OrCAD、PCAD、LSIIogic、MicroSim,ISE,modelsim等EDA设计软件。设计工具的一个作用在于,对已经完成电子单元排布的芯片基板进行性能检查,检查出其中的违例单元,违例单元就是指影响芯片正常逻辑功能的电子单元。
设计工具对工程文件的检查生成违例文件,违例文件中记载每个违例单元的标识信息,标识信息是指违例单元的(不限于):型号、逻辑功能和位置等信息。
S1400、在所述替代列表中查找所述违例单元对应的目标备用单元,并根据所述目标备用单元和所述违例文件构成map文件;
根据步骤S1300产生的违例单元的违例文件,并结合步骤S1200获得的替代列表,查找违例单元对应的至少一个目标备用单元,然后根据备用单元重新生成相应的目标备用单元与违例文件共同构成的map文件。
map文件是程序的全局符号、源文件和代码行号信息的唯一的文本表示方法,它可以在任何地方、任何时候使用,不需要有额外的程序进行支持。而且,这是唯一能找出程序崩溃的地方的救星。因此,map文件中记载有违例单元的违例类型和违例单元对应的目标备用单元的型号、逻辑功能和位置等信息。
S1500、根据预设的违例规则确认所述违例文件的违例类型,并根据所述map文件和违例类型生成供所述设计工具运行的脚本文件;
本实施方式中设置有违例规则,违例规则是用于确认违例单元违例类型的预设规则,通过查看违例单元的逻辑功能实现对违例单元违例类型的判断。例如,违例单元的逻辑功能是实现“与门”,则违例单元的违例类型为逻辑“与门”运行错误;当违例单元实现的逻辑功能为500欧姆的电阻时,则违例单元的违例类型为电阻违例。如此类推,根据记载的违例单元的逻辑功能就能够推断出各个违例单元的违例类型。
将生成的map文件和违例类型组合生成供设计工具运行的脚本文件。脚本文件类似于DOS操作系统中的批处理文件,它可以将不同的命令组合起来,并按确定的顺序自动连续地执行。脚本文件是文本文件,用户可使用任一文本编辑器来创建脚本文件。
简单来讲本实施方式中的脚本文件,就是能够供设计工具执行,其执行的结果就是,能够使设计工具替换出现错误的违例单元,并将违例单元实现的功能替换为具有同等逻辑功能的备用单元的可执行文件。
S1600、运行所述设计工具执行所述脚本文件,以使所述目标备用单元替换所述违例单元完成对所述制程文件的修改。
设计工具运行生成的脚本文件,用脚本文件中目标备用单元替换其中的违例单元,完成对制程文件和芯片基板的修改。
在一些实施方式中,替换后的备用单元并不一定就能够使芯片实现其设计功能,有可能备用单元还是下一个违例单元,因此,每次执行完替换结果,都需要返回至S1300步骤,如替换后违例单元的错误被排除,则终止对该违例单元的检测,如果替换后还是无法排除该违例单元的错误,则需要继续替换其他的备用单元,如此循环往复直至该违例单元位置处的违例文件不再出现为止。当排除一个违例文件揭示的问题后,继续排除下一个违例文件揭示的问题,直至该制程文件中的所有违例单元造成的问题都被解决掉为止。
上述实施方式,在数字工艺库中记载当前制程文件中各电子单元的备用单元,在确保备用单元与电子单元的映射关系准确的情况下,对电子单元中的违例单元进行备用单元的替换,该post mask ECO的设计方法可以有效提高后端设计效率,避免错误和减少ECO迭代次数,缩短芯片签核周期,同时对于post mask ECO的后端设计项目,具有较好的通用性。
在一些实施方式中,违例文件是由多个违例类型报告造成的。具体请参阅图2,图2为本实施例违例文件的生成示意图。
如图所示,S1300包括:
S1310、获取所述违例单元的输出信号和输入信号,其中,所述输出信号包括建立时间、跳变延时和负载大小,所述输入信号包括保持时间、扇出和线长;
获取违例文件对应违例单元的输出信号和输入信号,根据时序类型包括setup(建立时间)和hold(保持时间),设计违例包括transition(跳变延时)、capacitance(负载大小)、fanout(扇出)、net_length(线长),分别生成相应的违例类型报告,其中setup、transition、capacitance提取违例点的驱动单元输出信号pin,而hold、fanout、net_length提取相应违例点的负载单元的输入信号pin。
S1320、根据所述输出信号和输入信号生成至少一个违例类型报告;
上述每一个违例参数均在设计之初就确定各自正常的数值范围,当检测的实际结果超出各自的正常数值范围时,就回导致该电子单元出现违例,由于,造成同一电子单元违例的数据类型不同,因此,针对同一电子单元会产生不同的违例类型报告。
S1330、将所述至少一个违例类型报告集合生成所述违例文件。
将不同的违例类型报告进行整合就能够得到违例文件,违例文件中记载造成违例单元违例的至少一种数据异常类型。
在一些实施方式中,在进行备用单元筛选时,需要在确定的范围内进行筛选,否则,就会导致芯片布线难度增大的问题。具体请参阅图3,图3为本实施例查找目标备用单元的流程示意图。
如图3所示,S1400包括:
S1410、在所述替代列表中查找所述违例单元对应的备用单元;
在进行备用单元筛选时,需要以违例单元的功能或者型号为限定条件,在替换列表中查找出所有能够替代违例单元的备用单元。
S1420、以所述违例单元为圆心以所述线长为半径所限定的圆形面积内,查找与所述违例单元临近的目标备用单元,其中,所述目标备用单元至多由两个所述电子单元级联组成。
当根据违例类型报告确定出造成违例单元错位的pin(引脚)时,对于输出pin,尽可能找靠近输出pin的备用单元;而对于输入pin,则尽可能找输入pin较远的备选备用单元,但不能超出以net_length(线长)为半径的圆区域范围。
在一些实施方式中,部分违例单元无法直接找到对应的替换单元,例如,违例单元为“与或门”时,备用单元只有“与门”与“或门”时,将“与门”与“或门”进行级联形成一个具有“与或门”逻辑功能的备用单元。但是过多的单子单元级联有时也会影响芯片的运行效率,因此,需要对级联的数量进行限制。请参阅图4,图4为本实施例级联备用单元的流程示意图。
如图4所示,S1420包括:
S1421获取所述违例单元的功能类型;
每个违例单元都有其确定的功能类型,例如,违例单元为逻辑门、电阻或者电容等具有特定功能的电子单元时,根据各个违例单元的型号就能够确定违例单元的功能类型。
S1422、根据所述功能类型在所述圆形面积内限定的范围内选取两个目标电子单元;
当根据违例类型报告确定出造成违例单元错位的pin(引脚)时,对于输出pin,尽可能找靠近输出pin的备用单元;而对于输入pin,则尽可能找输入pin较远的备选备用单元,但不能超出以net_length(线长)为半径的圆区域范围。
S1423将所述两个目标电子单元级联组成所述备用单元,其中,所述备用单元实现与所述违例单元相同的功能。
本发明中约束了级联功能性备用单元的最大数目为2,最终根据备用单元数目及分布情况,选取合适的备选备用单元。
参见附图的图5,图5示出了本发明实施例提供的具有逻辑等价功能的功能性buffer列表图,为了便于说明,仅示出了与本发明实施例相符的逻辑cell(单元)名。该列表图示中将功能性buffer(备用)分为6类:
第一类就是正常功能buffer;
第二类是由两个反相器所构成的buffer;
第三类是由两输入或门、三输入或门、两输入的选择器及两输入的同或门构成,将其某一输入端接到逻辑信号0或者tie0(拉至低电平cell),便可构成一个功能buffer;
第四类是由两输入与门、三输入与门及两输入异或门构成,将其某一输入端接到逻辑信号1或者tie1(拉至高电平cell),便可构成一个功能buffer;
第五类是由两输入的或非门及三输入的或非门构成,将其某一输入端接到逻辑信号0或者tie0,便可构成一个功能inverter;
第六类是由两输入的与非门及三输入与非门构成,将其某一输入端接到逻辑信号1或者tie1,便可构成一个功能inverter。
其中图示中X*表示不同cell的驱动大小。备注项根据设计需求来决定逻辑信号0或者1是接到电源、地,还是tie0、tie1上面。
在一些实施方式中,违例单元连接有负载单元,则备用单元的连接方式请见图6,图6为本实施例备用单元的第一种连接流程示意图。
如图6所示,S1500之前包括:
S1431、将所述第一级联单元的输出信号连接至所述负载单元的输入引脚;
S1432、将所述第二级联单元的输出信号连接至所述第一级联单元的输入引脚。
对于map文件中某个违例点所对应的备选dummy cell只有一个时,依据步骤S1中的功能性buffer(备用)列表,判断出是否是一个等价功能buffer,如是则可依据本发明直接生成供后端EDA工具使用的post mask ECO脚本。
对于map文件中某个违例点对应的备选dummy cell(备用单元)有两个时,同样需要判断备选dummy cell所构成的是否为一个等价功能buffer。如是本发明则根据违例不同将产生不同的级联dummy cell连接情况,对于负载cell输入信号pin,级联dummy cell的第一级cell输出pin连接到该负载cell输入信号pin,第二级cell的输出pin连接第一级cell的输入pin。
在一些实施方式中,违例单元连接有驱动单元,则备用单元的连接方式请见图7,图7为本实施例备用单元的第二种连接流程示意图。
如图7所示,S1500之前包括:
S1441、将所述第一级联单元的输入信号连接至所述负载单元的输出引脚;
S1442、将所述第二级联单元的输入信号连接至所述第一级联单元的输出引脚。
对于map文件中某个违例点所对应的备选dummy cell只有一个时,依据步骤S1中的功能性buffer(备用)列表,判断出是否是一个等价功能buffer,如是则可依据本发明直接生成供后端EDA工具使用的post mask ECO脚本。
对于map文件中某个违例点对应的备选dummy cell(备用单元)有两个时,同样需要判断备选dummy cell所构成的是否为一个等价功能buffer。如是本发明则根据违例不同将产生不同的级联dummy cell连接情况,而对于驱动cell输出信号pin,级联dummy cell的第一级cell输入pin连接到该驱动cell的输出信号pin,第二级cell的输入pin连接第一级cell的输出信号pin。
在一些实施方式中,对于map文件中某个违例点对应的备选dummy cell数目大于两个时,本发明同样需要确保该级联dummy cell是否是构成一个等价功能buffer,否则无法进行后续步骤;如满足buffer的功能,后续处理按照步骤S1442一样处理。
在一些实施方式中,为增加芯片制程的成功几率,降低芯片制程过程中替换的效率,在步骤S1100之前,还包括步骤S1101。
S1101、在所述制程文件的电子单元周围预置至少一个所述备用单元。为方便后续对违例单元进行修改替换,在记性制程文件构建时,在历史数据中查找出容易出现违例的类型,并在具有该违例类型的电子单元周围布置备用单元。这样在某个电子单元成为违例单元后,可以对该违例单元进行快速替换,加速芯片的制程速度。
具体请参阅图8,图8为本实施例基于功能buffer的芯片后端改版装置基本结构示意图。
如图8所示,一种基于功能buffer的芯片后端改版装置,包括:获取模块1100、生成模块1200、提取模块1300、替换模块1400、处理模块1500和执行模块1600。其中,获取模块1100用于获取制程文件中各电子单元的原件清单;生成模块1200用于根据原件清单在预设的数字工艺库中查找各电子单元的备用单元,并根据各电子单元与其对应备用单元的键值对关系生成替代列表;提取模块1300用于根据预设的设计工具对制程文件进行分析,提取制程文件中的违例文件,其中,电子单元中包括违例单元,违例文件中记载违例单元的标识信息;替换模块1400用于在替代列表中查找违例单元对应的目标备用单元,并根据目标备用单元和违例文件构成map文件;处理模块1500用于根据预设的违例规则确认违例文件的违例类型,并根据map文件和违例类型生成供设计工具运行的脚本文件;执行模块1600用于运行设计工具执行脚本文件,以使目标备用单元替换违例单元完成对制程文件的修改。
本实施方式基于功能buffer的芯片后端改版装置,在数字工艺库中记载当前制程文件中各电子单元的备用单元,在确保备用单元与电子单元的映射关系准确的情况下,对电子单元中的违例单元进行备用单元的替换,该post mask ECO的设计方法可以有效提高后端设计效率,避免错误和减少ECO迭代次数,缩短芯片签核周期,同时对于post mask ECO的后端设计项目,具有较好的通用性。
在一些实施方式中,基于功能buffer的芯片后端改版装置还包括:
第一获取子模块,用于获取违例单元的输出信号和输入信号,其中,输出信号包括建立时间、跳变延时和负载大小,输入信号包括保持时间、扇出和线长;
第一处理子模块,用于根据输出信号和输入信号生成至少一个违例类型报告;
第一执行子模块,用于将至少一个违例类型报告集合生成违例文件。
在一些实施方式中,基于功能buffer的芯片后端改版装置还包括:
第一查找子模块,用于在替代列表中查找违例单元对应的备用单元;
第二查找子模块,用于以违例单元为圆心以线长为半径所限定的圆形面积内,查找与违例单元临近的目标备用单元,其中,目标备用单元至多由两个电子单元级联组成。
在一些实施方式中,目标备用单元包括两个级联的电子单元,基于功能buffer的芯片后端改版装置还包括:
第二获取子模块,用于获取违例单元的功能类型;
第二处理子模块,用于根据功能类型在圆形面积内限定的范围内选取两个目标电子单元;
第二执行子模块,用于将两个目标电子单元级联组成备用单元,其中,备用单元实现与违例单元相同的功能。
在一些实施方式中,违例单元连接有负载单元,基于功能buffer的芯片后端改版装置还包括:
第一连接模块,用于将第一级联单元的输出信号连接至负载单元的输入引脚;
第二连接模块,用于将第二级联单元的输出信号连接至第一级联单元的输入引脚。
在一些实施方式中,违例单元连接有驱动单元,基于功能buffer的芯片后端改版装置还包括:
第三连接子模块,用于将第一级联单元的输入信号连接至负载单元的输出引脚;
第四连接子模块,用于将第二级联单元的输入信号连接至第一级联单元的输出引脚。
在一些实施方式中,基于功能buffer的芯片后端改版装置还包括:
第三处理子模块,用于在制程文件的电子单元周围预置至少一个备用单元。
为解决上述技术问题,本发明实施例还提供计算机设备。具体请参阅图9,图9为本实施例计算机设备基本结构框图。
如图9所示,计算机设备的内部结构示意图。该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种基于功能buffer的芯片后端改版方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种基于功能buffer的芯片后端改版方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本实施方式中处理器用于执行图8中获取模块1100、生成模块1200、提取模块1300、替换模块1400、处理模块1500和执行模块1600的具体功能,存储器存储有执行上述模块所需的程序代码和各类数据。网络接口用于向用户终端或服务器之间的数据传输。本实施方式中的存储器存储有人脸图像关键点检测装置中执行所有子模块所需的程序代码及数据,服务器能够调用服务器的程序代码及数据执行所有子模块的功能。
计算机设备在数字工艺库中记载当前制程文件中各电子单元的备用单元,在确保备用单元与电子单元的映射关系准确的情况下,对电子单元中的违例单元进行备用单元的替换,该post mask ECO的设计方法可以有效提高后端设计效率,避免错误和减少ECO迭代次数,缩短芯片签核周期,同时对于post mask ECO的后端设计项目,具有较好的通用性。
本发明还提供一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任一实施例基于功能buffer的芯片后端改版方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

Claims (10)

1.一种基于功能buffer的芯片后端改版方法,其特征在于,包括:
获取制程文件中各电子单元的原件清单;
根据所述原件清单在预设的数字工艺库中查找各所述电子单元的备用单元,并根据各所述电子单元与其对应备用单元的键值对关系生成替代列表;
根据预设的设计工具对所述制程文件进行分析,提取所述制程文件中的违例文件,其中,所述电子单元中包括违例单元,所述违例文件中记载所述违例单元的标识信息;
在所述替代列表中查找所述违例单元对应的目标备用单元,并根据所述目标备用单元和所述违例文件构成map文件;
根据预设的违例规则确认所述违例文件的违例类型,并根据所述map文件和违例类型生成供所述设计工具运行的脚本文件;
运行所述设计工具执行所述脚本文件,以使所述目标备用单元替换所述违例单元完成对所述制程文件的修改。
2.根据权利要求1所述的基于功能buffer的芯片后端改版方法,其特征在于,所述根据预设的设计工具对所述制程文件进行分析,提取所述制程文件中的违例文件包括:
获取所述违例单元的输出信号和输入信号,其中,所述输出信号包括建立时间、跳变延时和负载大小,所述输入信号包括保持时间、扇出和线长;
根据所述输出信号和输入信号生成至少一个违例类型报告;
将所述至少一个违例类型报告集合生成所述违例文件。
3.根据权利要求2所述的基于功能buffer的芯片后端改版方法,其特征在于,所述在所述替代列表中查找所述违例单元对应的目标备用单元包括:
在所述替代列表中查找所述违例单元对应的备用单元;
以所述违例单元为圆心以所述线长为半径所限定的圆形面积内,查找与所述违例单元临近的目标备用单元,其中,所述目标备用单元至多由两个所述电子单元级联组成。
4.根据权利要求3所述的基于功能buffer的芯片后端改版方法,其特征在于,所述目标备用单元包括两个级联的电子单元,所述查找与所述违例单元临近的备用单元包括:
获取所述违例单元的功能类型;
根据所述功能类型在所述圆形面积内限定的范围内选取两个目标电子单元;
将所述两个目标电子单元级联组成所述备用单元,其中,所述备用单元实现与所述违例单元相同的功能。
5.根据权利要求4所述的基于功能buffer的芯片后端改版方法,其特征在于,所述违例单元连接有负载单元,所述目标备用单元包括第一级联单元和第二级联单元,所述根据预设的违例规则确认所述违例文件的违例类型之前,包括:
将所述第一级联单元的输出信号连接至所述负载单元的输入引脚;
将所述第二级联单元的输出信号连接至所述第一级联单元的输入引脚。
6.根据权利要求5所述的基于功能buffer的芯片后端改版方法,其特征在于,所述违例单元连接有驱动单元,所述目标备用单元包括第一级联单元和第二级联单元,所述根据预设的违例规则确认所述违例文件的违例类型之前,包括:
将所述第一级联单元的输入信号连接至所述负载单元的输出引脚;
将所述第二级联单元的输入信号连接至所述第一级联单元的输出引脚。
7.根据权利要求1所述的基于功能buffer的芯片后端改版方法,其特征在于,所述获取制程文件中各电子单元的原件清单之前,包括:
在所述制程文件的电子单元周围预置至少一个所述备用单元。
8.一种基于功能buffer的芯片后端改版装置,其特征在于,包括:
获取模块,用于获取制程文件中各电子单元的原件清单;
生成模块,用于根据所述原件清单在预设的数字工艺库中查找各所述电子单元的备用单元,并根据各所述电子单元与其对应备用单元的键值对关系生成替代列表;
提取模块,用于根据预设的设计工具对所述制程文件进行分析,提取所述制程文件中的违例文件,其中,所述电子单元中包括违例单元,所述违例文件中记载所述违例单元的标识信息;
替换模块,用于在所述替代列表中查找所述违例单元对应的目标备用单元,并根据所述目标备用单元和所述违例文件构成map文件;
处理模块,用于根据预设的违例规则确认所述违例文件的违例类型,并根据所述map文件和违例类型生成供所述设计工具运行的脚本文件;
执行模块,用于运行所述设计工具执行所述脚本文件,以使所述目标备用单元替换所述违例单元完成对所述制程文件的修改。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项权利要求所述基于功能buffer的芯片后端改版方法的步骤。
10.一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项权利要求所述基于功能buffer的芯片后端改版方法的步骤。
CN202110367350.1A 2021-04-06 2021-04-06 基于功能buffer的芯片后端改版方法、装置及计算机设备 Active CN112800704B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110367350.1A CN112800704B (zh) 2021-04-06 2021-04-06 基于功能buffer的芯片后端改版方法、装置及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110367350.1A CN112800704B (zh) 2021-04-06 2021-04-06 基于功能buffer的芯片后端改版方法、装置及计算机设备

Publications (2)

Publication Number Publication Date
CN112800704A true CN112800704A (zh) 2021-05-14
CN112800704B CN112800704B (zh) 2021-06-25

Family

ID=75816283

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110367350.1A Active CN112800704B (zh) 2021-04-06 2021-04-06 基于功能buffer的芯片后端改版方法、装置及计算机设备

Country Status (1)

Country Link
CN (1) CN112800704B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117574821A (zh) * 2023-10-19 2024-02-20 英诺达(成都)电子科技有限公司 基于代表单元的信息关联方法、装置、设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090178013A1 (en) * 2008-01-04 2009-07-09 Springsoft Usa, Inc. System for implementing post-silicon ic design changes
CN107862154A (zh) * 2017-11-29 2018-03-30 成都锐成芯微科技股份有限公司 一种时序调整方法
CN109902318A (zh) * 2017-12-07 2019-06-18 展讯通信(上海)有限公司 生成标准延时格式文件的方法和装置
US20190205497A1 (en) * 2018-01-02 2019-07-04 Silicon Motion Inc. Circuit design method and associated computer program product
US10782941B1 (en) * 2019-06-20 2020-09-22 Fujitsu Limited Refinement of repair patterns for static analysis violations in software programs
CN111931448A (zh) * 2020-08-07 2020-11-13 山东云海国创云计算装备产业创新中心有限公司 芯片电路的时序修复方法、系统、电子设备及存储介质
CN111950226A (zh) * 2020-08-14 2020-11-17 Oppo广东移动通信有限公司 芯片后端设计和版图设计方法、工具、芯片及存储介质
CN112100959A (zh) * 2020-09-21 2020-12-18 Oppo广东移动通信有限公司 基于eda工具的时序分析方法、装置及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090178013A1 (en) * 2008-01-04 2009-07-09 Springsoft Usa, Inc. System for implementing post-silicon ic design changes
CN107862154A (zh) * 2017-11-29 2018-03-30 成都锐成芯微科技股份有限公司 一种时序调整方法
CN109902318A (zh) * 2017-12-07 2019-06-18 展讯通信(上海)有限公司 生成标准延时格式文件的方法和装置
US20190205497A1 (en) * 2018-01-02 2019-07-04 Silicon Motion Inc. Circuit design method and associated computer program product
US10782941B1 (en) * 2019-06-20 2020-09-22 Fujitsu Limited Refinement of repair patterns for static analysis violations in software programs
CN111931448A (zh) * 2020-08-07 2020-11-13 山东云海国创云计算装备产业创新中心有限公司 芯片电路的时序修复方法、系统、电子设备及存储介质
CN111950226A (zh) * 2020-08-14 2020-11-17 Oppo广东移动通信有限公司 芯片后端设计和版图设计方法、工具、芯片及存储介质
CN112100959A (zh) * 2020-09-21 2020-12-18 Oppo广东移动通信有限公司 基于eda工具的时序分析方法、装置及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117574821A (zh) * 2023-10-19 2024-02-20 英诺达(成都)电子科技有限公司 基于代表单元的信息关联方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN112800704B (zh) 2021-06-25

Similar Documents

Publication Publication Date Title
US7644382B2 (en) Command-language-based functional engineering change order (ECO) implementation
US11055463B1 (en) Systems and methods for gate array with partial common inputs
CN115796116B (zh) 一种集成电路优化方法、装置、存储介质及电子设备
US20220414304A1 (en) Apparatus and method for mapping foundational components during design porting from one process technology to another process technology
CN112800704B (zh) 基于功能buffer的芯片后端改版方法、装置及计算机设备
CN109992811B (zh) 电路设计方法及相关的计算机程序产品
US8954838B2 (en) Presenting data in a tabular format
US9836567B2 (en) Method of simulating a semiconductor integrated circuit, computer program product, and device for simulating a semiconductor integrated circuit
US11416665B2 (en) Power rail design method, apparatus and non-transitory computer readable medium thereof
CN114254575A (zh) 一种生成寄存器转换级文件列表文件的方法和装置
CN111046618A (zh) 一种用于集成电路的保持时间违反的修复方法和装置
US20200285791A1 (en) Circuit design method and associated computer program product
US9652573B1 (en) Creating and using a wide-gate data structure to represent a wide-gate in an integrated circuit (IC) design
US9690890B1 (en) Creating and using a wide-bus data structure to represent a wide-bus in an integrated circuit (IC) design
US9697314B1 (en) Identifying and using slices in an integrated circuit (IC) design
US10990727B1 (en) Method for radiation hardening of integrated circuits
US20210264081A1 (en) Methods of designing semiconductor devices, design systems performing the same and methods of manufacturing semiconductor devices using the same
US20220327269A1 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
US10157253B2 (en) Multi-bit-mapping aware clock gating
US10354032B2 (en) Optimizing an integrated circuit (IC) design comprising at least one wide-gate or wide-bus
CN113760964A (zh) 一种用于处理数据库的慢查询的方法
CN112749526A (zh) 电源轨设计方法、装置及其非瞬时计算机可读介质
US20150269304A1 (en) System and method for employing signoff-quality timing analysis information concurrently in multiple scenarios to reduce total power within a circuit design
US10049174B2 (en) Exact delay synthesis
CN117933156B (zh) 基于门级网表的毛刺功耗优化方法、电子设备和介质

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