本发明涉及芯片设计领域,具体涉及一种带自检查功能的iopad自动化布局的方法。
背景技术:
传统的iopad布局的方式是在后端实现的工具里手动布局或手动编辑后端实现工具支持的iopad文件来实现。随着集成电路产业的快速发展,芯片的集成度按照摩尔定律在不断增加、规模越来越大、功能也变得越来越复杂,导致芯片的iopad数量变得越来越多,规模达到成百上千个,这就对芯片iopad布局的方法提出了更高的要求,针对系统芯片的iopad布局开发一种带有自检查功能的自动化流程将会极大的提高芯片后端物理设计的效率。
传统技术存在以下技术问题:
在整个芯片物理实现的过程中,随着前端设计的不断完善或者调整、后端顶层布局的调整或者芯片封装设计的调整等都需要iopad布局做出相应的调整,因此iopad布局是一个不断迭代、多次优化收敛的过程,传统的iopad布局的方式有很大的缺陷,每次iopad布局的调整都需要重新编辑iopad文件,工作量巨大、重复、冗繁需要花费大量的人力、时间并且效率低下,极易出现错误并难以及时检查纠错,严重影响芯片物理设计的质量和工程收敛时间。
技术实现要素:
本发明要解决的技术问题是提供一种带自检查功能的iopad自动化布局的方法,iopad布局完成后,通过脚本检查iopad布局的完整性、一致性以及是否违反sso、esd、latch-up等规则,显著提高芯片后端物理设计的效率。
为了解决上述技术问题,本发明提供了一种带自检查功能的iopad自动化布局的方法,包括:
步骤一:读写填写好的配置文件;
步骤二:根据所述配置文件,生成iopaddef文件和pin-assignment表格文件;
步骤三:检查iopad布局,所述检查iopad布局包括检查iopad布局的完整性、检查iopad布局的一致性、检查iopad布局的每个io域是否遵守sso仿真的结果、检查iopad布局是否满足esd的要求、检查iopad布局是否满足latch-up规则的要求;如果检查iopad布局未通过,重新执行步骤一;
步骤四:当iopad需要重新布局,调整所述配置文件中io列表信息,重复以上步骤,生成新的iopaddef文件和pin-assignment表格文件。
本发明的有益效果:
可以快速高效地实现iopad布局,自动检查iopad布局的完整性、一致性以及是否违反sso、esd、latch-up设计规则,显著地提高了芯片后端物理设计的效率。
在其中一个实施例中,生成所述填写好的配置文件,具体包括以下步骤:
认真阅读所用iopad的相关文档,理解iopad的结构、电气性能和应用规则;所述应用规则包括esd和latch-up;将esd、latch-up量化并填写在所述配置文件中;
根据提供的io列表,结合实际的网表中的iopad名字、类型,填写io列表信息,所述io列表信息包括按照不同功能和电压划分出的io域;io的类型、输入输出的方向,布局在哪个边和顺序;
对iopad的驱动能力进行h-spice仿真并选择能够驱动负载的最小驱动能力的iopad类型,根据仿真结果选择合适驱动能力的iopad;
对每个io域中的输出iopad分别进行同步翻转输出噪声仿真,得到每个io域的sso比例,用来计算每个io域应该插入多少后驱动电源地iopad;
基于整个芯片的功耗、核心电压以及iopad应用文档中提供的前驱动电源地iopad的最大限制电流imax,计算最少需要多少对前驱动电源地iopad给芯片供电才能保证正常工作,计算公式:num=(p/vcore)/imax;
在配置文件中定义iopadlef和芯片的尺寸。
在其中一个实施例中,“步骤二:根据所述配置文件,生成iopaddef文件和pin-assignment表格文件”,具体包括:运行脚本读取配置文件,根据配置文件中定义的io列表信息、网表、iopad的lef、各个io域的sso比例、给核心供电的前驱动电源地的最少数目、esd量化结果、latch-up量化结果,计算并插入前驱动电源地iopad、后驱动电源地iopad、breakiocell、bridgeiocell、iofiller,生成iopad的def文件和pin-assignment表格文件。
在其中一个实施例中,“检查iopad布局的完整性”具体包括:读取iopaddef、读取网表,比较def和网表中的iopad名字、类型,检查是否有遗漏没有布局的iopad。
在其中一个实施例中,“检查iopad布局的一致性”具体包括:运行脚本读取io列表信息、网表,检查iopaddef、pin-assignment表格文件中的iopad是否有名字、类型或端口名字的错误,检查各个io域内的iopad是否齐全与io列表和网表是否一致。
在其中一个实施例中,“检查iopad布局的每个io域是否遵守sso仿真的结果”具体包括:,读取iopaddef,根据配置文件中之前的sso仿真结果,运行脚本遍历每个io域,确认每个io域中后驱动电源地iopad的数量,看是否违反sso比例要求。
在其中一个实施例中,“检查iopad布局是否满足esd的要求和检查iopad布局是否满足latch-up规则的要求”,具体包括:根据iopad文档中esd的要求和根据iopad文档中latch-up的要求,量化转换成距离进行检查。
基于同样的发明构思,本申请还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现任一项所述方法的步骤。
基于同样的发明构思,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一项所述方法的步骤。
基于同样的发明构思,本申请还提供一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行任一项所述的方法。
附图说明
图1是本发明带自检查功能的iopad自动化布局的方法中的驱动能力(drv)仿真图。
图2是本发明带自检查功能的iopad自动化布局的方法中的同步翻转输出噪声(sso)仿真图。
图3是本发明带自检查功能的iopad自动化布局的方法中的esd检查结果图。
图4是本发明带自检查功能的iopad自动化布局的方法中的latch-up检查结果图。
图5是本发明带自检查功能的iopad自动化布局的方法中的流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
参阅图5,本发明一种带自检查功能的iopad自动化布局的方法,包括:
步骤一:读写填写好的配置文件。
具体地,生成填写好的配置文件需要以下步骤:
在开始iopad布局之前,首先需要认真阅读所用iopad的相关文档,理解iopad的结构、电气性能和应用规则,所述应用规则包括esd、latch-up;将esd、latch-up量化并填写在配置文件中。
根据前端设计工程师提供的io列表,结合实际的网表中的iopad名字、类型,在配置文件中填写io列表信息,所述io列表信息包括按照不同功能和电压划分出的io域;io的类型、输入输出的方向,布局在哪个边和顺序。
参阅图1,对iopad的驱动能力(drv)进行h-spice仿真并选择能够驱动负载的最小驱动能力的iopad类型,将仿真结果反馈给前端设计工程师选择合适驱动能力的iopad。
参阅图2,对每个io域中的输出iopad分别进行同步翻转输出噪声(sso)仿真,得到每个io域的sso比例,用来计算每个io域应该插入多少后驱动电源地iopad。
基于整个芯片的功耗(p)、核心电压以及iopad应用文档中提供的前驱动电源地iopad的最大限制电流imax,计算最少需要多少对前驱动电源地iopad给芯片供电才能保证正常工作,计算公式:num=(p/vcore)/imax;
配置文件中定义iopadlef和芯片的尺寸。
步骤二:根据所述配置文件,生成iopaddef文件和pin-assignment表格文件。
具体地,运行脚本读取配置文件,根据配置文件中定义的io列表信息、网表、iopad的lef、各个io域的sso比例、给核心供电的前驱动电源地的最少数目、esd量化结果、latch-up量化结果,自动计算并插入前驱动电源地iopad、后驱动电源地iopad、breakiocell、bridgeiocell、iofiller,生成iopad的def文件给顶层布局工程师使用并产生pin-assignment表格文件给封装组做封装绕线尝试;
步骤三:检查iopad布局;如果检查iopad布局未通过,重新执行步骤一。
具体地,检查iopad布局的完整性,运行脚本读取iopaddef、读取网表,比较def和网表中的iopad名字、类型,检查是否有遗漏没有布局的iopad。
具体地,检查iopad布局的一致性,运行脚本读取io列表信息、网表,检查iopaddef、pin-assignment表格文件中的iopad是否有名字、类型或端口名字的错误,检查各个io域内的iopad是否齐全与io列表和网表是否一致。
具体地,检查iopad布局的每个io域是否遵守sso仿真的结果,读取iopaddef,根据配置文件中之前的sso仿真结果,运行脚本遍历每个io域,确认每个io域中后驱动电源地iopad的数量,看是否违反sso比例要求;
具体地,参阅图3,检查iopad布局是否满足esd的要求,根据iopad文档中esd的要求,量化转换成距离进行检查。
具体地,参阅图4,运行脚本检查iopad布局是否满足latch-up规则的要求,根据iopad文档中latch-up的要求,量化转换成距离进行检查。
步骤四:当iopad需要重新布局,调整所述配置文件中io列表信息,重复以上步骤,生成新的iopaddef文件和pin-assignment表格文件。
可以理解,每次前端设计的调整、后端顶层布局的调整或者芯片封装设计的调整等都需要iopad布局做出相应的调整,iopad重新布局只需要调整配置文件中io列表信息,然后重新跑整个流程,就可以自动产生新的iopaddef和pin-assignment表格文件。
以上对本发明提供的带自检查功能的iopad自动化布局的方法做了详细的描述,还有以下几点本发明的关键技术需要说明:
1.读取网表,得到所有iopad单元,基于配置文件中定义的输入信息,自动布局iopad;
2.在iopad布局的过程中,基于配置文件中的输入信息,自动地计算每个io域中的前驱动电源地iopad和后驱动电源地iopad的数量并选择合理的位置插入到信号iopad中间;
3.可以自动检查iopad布局的iopaddef和pinassignment表格文件的完整性,横向对比网表中的iopad看是否有遗漏未布局的信号iopad;
4.可以自动检查io列表、网表以及iopad布局结果iopaddef和pinassignment表格文件的一致性,包括iopad的名字、类型、布局的边以及iopad对应的端口名;
5.通过对sso、esd、latch-up规则的量化,可以自动检查iopad布局是否违反了这些规则;
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。
1.一种带自检查功能的iopad自动化布局的方法,其特征在于,包括:
步骤一:读写填写好的配置文件;
步骤二:根据所述配置文件,生成iopaddef文件和pin-assignment表格文件;
步骤三:检查iopad布局,所述检查iopad布局包括检查iopad布局的完整性、检查iopad布局的一致性、检查iopad布局的每个io域是否遵守sso仿真的结果、检查iopad布局是否满足esd的要求、检查iopad布局是否满足latch-up规则的要求;如果检查iopad布局未通过,重新执行步骤一;
步骤四:当iopad需要重新布局,调整所述配置文件中io列表信息,重复以上步骤,生成新的iopaddef文件和pin-assignment表格文件。
2.如权利要求1所述的带自检查功能的iopad自动化布局的方法,其特征在于,生成所述填写好的配置文件,具体包括以下步骤:
认真阅读所用iopad的相关文档,理解iopad的结构、电气性能和应用规则;所述应用规则包括esd和latch-up;将esd、latch-up量化并填写在所述配置文件中;
根据提供的io列表,结合实际的网表中的iopad名字、类型,填写io列表信息,所述io列表信息包括按照不同功能和电压划分出的io域;io的类型、输入输出的方向,布局在哪个边和顺序;
对iopad的驱动能力进行h-spice仿真并选择能够驱动负载的最小驱动能力的iopad类型,根据仿真结果选择合适驱动能力的iopad;
对每个io域中的输出iopad分别进行同步翻转输出噪声仿真,得到每个io域的sso比例,用来计算每个io域应该插入多少后驱动电源地iopad;
基于整个芯片的功耗、核心电压以及iopad应用文档中提供的前驱动电源地iopad的最大限制电流imax,计算最少需要多少对前驱动电源地iopad给芯片供电才能保证正常工作,计算公式:num=(p/vcore)/imax;
在配置文件中定义iopadlef和芯片的尺寸。
3.如权利要求1所述的带自检查功能的iopad自动化布局的方法,其特征在于,“步骤二:根据所述配置文件,生成iopaddef文件和pin-assignment表格文件”,具体包括:运行脚本读取配置文件,根据配置文件中定义的io列表信息、网表、iopad的lef、各个io域的sso比例、给核心供电的前驱动电源地的最少数目、esd量化结果、latch-up量化结果,计算并插入前驱动电源地iopad、后驱动电源地iopad、breakiocell、bridgeiocell、iofiller,生成iopad的def文件和pin-assignment表格文件。
4.如权利要求1所述的带自检查功能的iopad自动化布局的方法,其特征在于,“检查iopad布局的完整性”具体包括:读取iopaddef、读取网表,比较def和网表中的iopad名字、类型,检查是否有遗漏没有布局的iopad。
5.如权利要求1所述的带自检查功能的iopad自动化布局的方法,其特征在于,“检查iopad布局的一致性”具体包括:运行脚本读取io列表信息、网表,检查iopaddef、pin-assignment表格文件中的iopad是否有名字、类型或端口名字的错误,检查各个io域内的iopad是否齐全与io列表和网表是否一致。
6.如权利要求1所述的带自检查功能的iopad自动化布局的方法,其特征在于,“检查iopad布局的每个io域是否遵守sso仿真的结果”具体包括:,读取iopaddef,根据配置文件中之前的sso仿真结果,运行脚本遍历每个io域,确认每个io域中后驱动电源地iopad的数量,看是否违反sso比例要求。
7.如权利要求1所述的带自检查功能的iopad自动化布局的方法,其特征在于,“检查iopad布局是否满足esd的要求和检查iopad布局是否满足latch-up规则的要求”,具体包括:根据iopad文档中esd的要求和根据iopad文档中latch-up的要求,量化转换成距离进行检查。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1到7任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1到7任一项所述方法的步骤。
10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1到7任一项所述的方法。
技术总结