运算方法、装置以及相关产品
技术领域
本公开涉及电路技术领域,特别是涉及一种运算方法、装置以及相关产品。
背景技术
随着半导体数字集成电路技术的飞速发展,工程师对不同EDA(ElectronicDesign Automation,电子设计自动化)设计工具的兼容性要求也越来越高。后端物理实现设计与前端DFT(Design For Test)设计通过DEF(Design Exchange Format,设计交换格式)文件进行电路信息交互。
发明内容
基于此,有必要针对上述技术问题,提供一种能够加快设计交互文档的迁移,实现电路信息的快速迁移,提高IC设计效率的电路信息迁移方法、装置、计算机设备和存储介质。
根据本公开的一方面,提供了一种电路信息迁移方法,应用在电子设计自动化EDA过程中,应用于处理器,所述方法包括:
获取第一格式文件,所述第一格式文件是从第一EDA工具中导出的,所述第一格式文件中描述了第一电路信息;
根据可测性设计DFT要求在所述第一电路信息中插入DFT电路信息生成第二电路信息,并根据第二EDA工具的格式要求将第一格式文件转换成第二格式文件,所述第二格式文件为所述第二EDA工具能够识别的文件,所述第二格式文件中存储有所述第二电路信息。
根据本公开的另一方面,提供了一种电路信息迁移装置,应用在电子设计自动化EDA过程中,应用于处理器,所述装置包括:
获取模块,用于获取第一格式文件,所述第一格式文件是从第一EDA工具中导出的,所述第一格式文件中描述了第一电路信息;
转换模块,用于根据可测性设计DFT要求在所述第一电路信息中插入DFT电路信息生成第二电路信息,并根据第二EDA工具的格式要求将第一格式文件转换成第二格式文件,所述第二格式文件为所述第二EDA工具能够识别的文件,所述第二格式文件中存储有所述第二电路信息。
根据本公开的另一方面,提供了一种用于电路信息迁移的装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行指令时实现上述的方法。
根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现上述的方法。
根据本公开的实施例,能够根据DFT要求在EDA过程中自动插入DFT电路信息,根据不同的EDA工具对文件格式的要求进行文件格式转换,从而加快设计交互文档的迁移,实现电路信息的快速迁移,提高IC设计效率。
通过权要中的技术特征进行推导,能够达到对应背景技术中的技术问题的有益效果。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出根据本公开实施例的执行电路信息迁移方法的处理器的示意图;
图2示出根据本公开实施例的电路信息迁移方法的流程示意图;
图3示出根据本公开一实施方式的应用场景的示意图;
图4示出根据本公开一实施例的插入DFT电路信息的方法的流程图;
图5示出根据本公开一实施例的步骤S121的方法的流程图;
图6是示出根据本公开一实施例的电路信息迁移方法的流程图;
图7示出根据本公开一实施例的电路信息迁移方法的流程图;
图8示出根据本公开一实施例的生成器件位置图的示意图;
图9示出根据本公开一实施例的电路信息转移装置的框图;
图10示出根据本公开一实施例的电路信息转移装置的框图;
图11是根据一示例性实施例示出的用于电路信息转移的装置的框图;
图12示出根据本公开实施例的板卡的结构框图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
应当理解,本公开的权利要求、说明书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。本公开的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本公开说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本公开。如在本公开说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本公开说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
为了便于理解本公开的技术方案,本文先对下文涉及的专业名字或术语进行解释说明。
EDA(Electronic Design Automation,电子设计自动化),是指利用计算机辅助设计(CAD,Computer Aided Design)软件来完成超大规模集成电路(VLSI,Very Large ScaleIntegration)芯片的功能设计、综合、验证、物理设计(包括布局、布线、版图、设计规则检查等)等流程的设计方式。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VerilogHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
ICC(IC Compiler,IC编译器)为后端的编译工具,DFT(Design For Test)是指在芯片开发中的前端设计里采用DFT设计工具(例如,TESSENT)增加为后期的ATE(AutomaticTest Equipment,自动测试设备)测试所准备的测试逻辑、测试向量的产生以及测试结果的分析等。
DEF(Design Exchange Format,设计交换格式)文件(一种设计文件)描述的是实际的设计,使用DEF来在不同的设计工具间传递设计。
在EDA过程中,需要在不同的设计工具间传递电路信息,由于不同的设计工具对电路信息的组织方式、对文件格式的要求等都不同,会出现从一个设计工具中导出的文件无法被另一个设计工具识别,从而无法顺利实现设计交互文档的迁移以及电路信息的迁移,导致IC设计效率低,影响芯片整体的开发进度、开发成本以及面试时间。
以上文的DEF文件为例,DEF文件记录了ICC(IC Compiler)设计工具设计后的电路信息,DEF文件记录的电路信息并不能直接应用到DFT设计工具(例如,TESSENT)中。举例来说,在进行MBIST(Memory Built-in Self Test,存储器内建自测)DFT低功耗设计时,前后端工程师对静态随机存储器(SRAM Memory)的位置摆放会经过多轮迭代设计,前端工程师读取后端工程师交付的DEF文件,需要将DEF文件中的电路信息转换为能够让前端DFT设计工具(TESSENT)能够识别的MBIST SPEC文件。现有的技术无法快速的实现DEF文件转换为SPEC文件,其Memory的位置摆放信息也无法自由抽取,导致开发周期较长,影响芯片的开发进度及面世时间。
因此,考虑到芯片前端设计与后端设计之间设计周期与设计规模的要求,本公开提供了一种电路信息迁移方法及装置,通过加快设计交互文档的迁移,提高IC设计效率,进而影响芯片整体的开发进度,开发成本以及面市时间是非常有意义的。
根据本公开实施例的电路信息迁移方法可应用于处理器中,也就是说可以采用处理器执行本公开的电路信息迁移方法,该处理器可以是通用处理器,例如CPU(CentralProcessing Unit,中央处理器),也可以是用于执行人工智能运算的人工智能处理器(IPU)。人工智能运算可包括机器学习运算,类脑运算等。其中,机器学习运算包括神经网络运算、k-means运算、支持向量机运算等。该人工智能处理器可例如包括GPU(GraphicsProcessing Unit,图形处理单元)、NPU(Neural-Network Processing Unit,神经网络处理单元)、DSP(Digital Signal Process,数字信号处理单元)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)芯片中的一种或组合。本公开对处理器的具体类型不作限制。
在一种可能的实现方式中,本公开中所提及的处理器可包括多个处理单元,每个处理单元可以独立运行所分配到的各种任务,如:卷积运算任务、池化任务或全连接任务等。本公开对处理单元及处理单元所运行的任务不作限制。
图1示出根据本公开实施例的执行电路信息迁移方法的处理器的示意图。如图1所示,处理器100包括多个处理单元101以及存储单元102,多个处理单元101用于执行指令序列,存储单元102用于存储数据,可包括随机存储器(RAM,Random Access Memory)和寄存器堆。处理器100中的多个处理单元101既可共用部分存储空间,例如共用部分RAM存储空间和寄存器堆,又可同时拥有各自的存储空间。
图2示出根据本公开一实施例的电路信息迁移方法的流程图。该方法可以应用于上述处理器,该方法可以应用在电子设计自动化EDA过程中。在一种可能的实现方式中,该方法可以应用在不同的EDA工具之间通过文件进行电路信息交互的过程中,举例来说,可以应用于MBIST DFT低功耗设计时,ICC和DFT设计工具之间的通过文件进行电路信息交互,或者也可以应用于LBIST(Logic BIST)DFT设计过程中,等等,本公开对此不作限定。
如图2所示,该方法可以包括:
在步骤S11中:获取第一格式文件,所述第一格式文件是从第一EDA工具中导出的,所述第一格式文件中描述了第一电路信息;
在步骤S12中:根据可测性设计DFT要求在所述第一电路信息中插入DFT电路信息生成第二电路信息,并根据第二EDA工具的格式要求将第一格式文件转换成第二格式文件。
其中,所述第二格式文件为所述第二EDA工具能够识别的文件,所述第二格式文件中存储有所述第二电路信息。
根据本公开的实施例,能够根据DFT要求在EDA过程中自动插入DFT电路信息,根据不同的EDA工具对文件格式的要求进行文件格式转换,从而加快设计交互文档的迁移,实现电路信息的快速迁移,提高IC设计效率。
上述第一EDA工具可以是ICC,也可以是其他的EDA工具(例如,DESIGN COMPILER或者PRIME TIME),通过这些第一EDA工具能够导出描述了电路信息的文件,本公开对第一EDA工具的具体类型不作限定;第一格式文件可以为DEF文件,第一格式文件中描述的第一电路信息可以是存储器(Memory)器件信息,也可以是逻辑电路器件信息,本公开对此不作限定。第二EDA工具可以为DFT设计工具,例如可以为上文所述的TESSENT,当然也可以是其他的DFT设计工具(例如,DESIGN COMPILER),本公开对此不作限定;第二EDA工具的格式要求可以是指第二EDA工具能够读取文件中的电路信息的要求,例如,第二格式文件可以为SPEC文件,以第一格式文件描述的是存储器器件信息为例,第二格式文件可以为MBIST SPEC文件。
图3示出根据本公开一实施方式的应用场景的示意图。如图3所示,处理器100中可以设置有电路信息迁移装置,该电路信息迁移装置可以用于执行本公开各实施例的电路信息迁移方法。图3示出的示例中,第一EDA工具和第二EDA工具可以独立于处理器100设置,但是本公开不限于此,第一EDA工具和第二EDA工具也可以是设置在处理器100内,但是独立于电路信息迁移装置。下面结合图3的示例对本公开的电路信息迁移方法进行说明。
在一种可能的实现方式中,可以使用第一EDA工具(例如,ICC)导出第一格式文件,第一格式文件中描述了不同层次结构的器件名称、与器件名称对应的器件位置以及器件类型等第一电路信息。其中,器件名称可以是能表示器件唯一性的标识,器件位置可以是器件的坐标,例如可以是在XY坐标系中的坐标,对于不同的器件,可以根据不同的标准对器件进行分类,以存储器为例,可以根据存储器的存储容量的大小、读写方式等分为不同类型的器件。
在一种可能的实现方式中,可以通过人工的方式将第一格式文件上传到处理器100,处理器100获取第一格式文件。在另一种可能的实现方式中,处理器也可以通过向第一EDA工具下发导出指令,导出第一格式文件,以获取第一格式文件。本公开对获取第一格式文件的方式不作限定。
在获取到第一格式文件后,可以根据DFT要求在第一电路信息中插入DFT电路信息。图4示出根据本公开一实施例的插入DFT电路信息的方法的流程图,如图4所示,在一种可能的实现方式中,步骤S12中的“根据DFT要求在第一电路信息中插入DFT电路信息生成第二电路信息”可以包括:
步骤S121,根据所述第一电路信息中的器件位置确定器件所属的区域,将所述第一格式文件转换成第一中间文件,第一中间文件中还包括器件所属的区域;
步骤S123,根据器件所属的区域,在所述第一电路信息中插入DFT电路信息生成第二中间文件,第二中间文件中存储有所述第二电路信息。
对于步骤S121,如上文所述,第一电路信息中可以包括器件位置,中心位置可以是一个参考位置,中心位置的设置可以根据功耗等要求确定,或者处理器也可以根据用户输入的中心位置的坐标确定中心位置,或者中心位置也可以是默认的位置,例如可以以所有器件组成图形的几何中心为中心位置,本公开对此不作限定。可以将电路器件划分为多个不同的区域,每个区域都有各自的DFT要求以及需要插入的DFT电路信息。而根据器件位置,可以确定器件所属的区域,在确定器件所属的区域后,可以将第一格式文件转换成第一中间文件,在第一中间文件中还记录了器件所属的区域。在一种可能的实现方式中,第一中间文件可以为log格式的文件。
图5示出根据本公开一实施例的步骤S121的方法的流程图。如图5所示,在一种可能的实现方式中,步骤S121可以包括:
步骤S1211,从第一格式文件中提取所述第一电路信息,并根据提取的第一电路信息生成第三中间文件;
步骤S1212,从第三中间文件读取器件位置,根据器件位置确定器件所属的区域,并根据中心位置以及器件所属的区域生成器件位置图;
步骤S1213,根据DFT要求调整所述器件位置图中的中心位置的坐标,生成第一中间文件。
在获取第一格式文件后,可以执行步骤S1211,从第一格式文件中提取第一电路信息,例如,通过每一个器件名称可以获取该器件名称对应的器件位置、器件类型等信息,然后根据提取的第一电路信息生成第三中间文件,第三中间文件可以是tcl格式的文件。
在一种可能的实现方式中,可以使用Python脚本语言将DEF文件(第一格式文件)中的Memory器件信息处理成字典形式存储的信息,通过每一个Memory器件名称可以获取Memory器件位置信息以及Memory器件类型,并且生成一个中间文件(第三中间文件),名称可以为def.tcl。在将第一格式文件转换为第三中间文件的过程中,例如,在如上所述的处理成字典形式存储的信息时,还可以除去第一格式文件中的冗余信息,例如,空格、下划线等信息。
对于步骤S1212,在一种可能的实现方式中,可以使用TCL(Tool CommandLanguage,工具命令语言)脚本语言读取第三中间文件(例如,def.tcl文件)获取器件位置,获取器件位置后可以根据所有器件的位置确定中心位置,或者根据人工输入的信息获取中心位置。在一种可能的实现方式中,可以根据器件的总数量确定划分的区域的数量,然后将所有器件组成的图形划分为多个区域。
在一种可能的实现方式中,可以根据器件位置与中心位置的位置关系可以确定器件所属的区域。
在一个示例中,处理器可以保存划分的区域与中心位置的位置关系,处理器在获取器件位置后,可以根据获取到的器件位置与中心位置的位置关系,查找保存的各个区域与中心位置的位置关系,再根据获取到的器件位置与中心位置的位置关系以及保存的各个区域与中心位置的位置关系确定器件位置落在某一个区域时,可以确定器件所属的区域。需要说明的是,上述过程仅仅是确定器件所属区域的一个实例,本公开不限于此,例如,还可以确定各个区域的坐标范围,根据区间位置以及各个区域的坐标范围确定器件所属的区域。
在确定器件所属的区域后,可以根据中心位置以及器件所属的区域生成器件位置图,可以将器件位置图通过显示设备进行显示。在器件位置图中,可以采用不同的颜色区分不同的区域,也就是说,可以将属于不同区域的器件采用不同的颜色显示,位于同一区域的器件采用相同的颜色显示。这样,可以更明显的区分不同的区域。
图8示出根据本公开一实施例的生成器件位置图的示意图。如图8所示,可以准备幕布,根据幕布的大小缩放Memory位置图到幕布可以显示的大小,然后在幕布上显示Memory位置图,并对不同区域的Memory进行上色,通过上述过程可以在屏幕中显示出Memory位置图。
DFT要求可能会在设计过程中进行调整,因此本公开的电路信息迁移方法在将第一格式文件转换成第一中间文件之前,还可以通过步骤S1213对中心位置进行调整以满足DFT要求。
对于步骤S1213,可以使用TCL脚本语言调整中心位置的坐标以满足DFT要求。在根据DFT要求调整完中心位置的坐标后,可以根据第三中间文件以及器件位置图生成第一中间文件。第一中间文件中可以记录了器件名称、器件位置、器件类型以及器件所属区域的关联关系,其中,器件所属区域可以采用该区域对应的颜色表示。
通过以上过程可以确定器件所属的区域,以确定器件对应的DFT电路信息,便于后续过程中插入DFT电路信息。需要说明的是,以上生成第一中间文件的过程仅仅是本公开的一个示例,本公开不限于此,例如,可以不对中心位置的坐标进行调整,或者也可以通过其他替代的方式确定器件所属的区域,或者说也可以通过其他方式确定器件对应的DFT电路信息,以便于后续插入DFT电路信息。例如,可以根据用户输入的器件的参数确定器件所属的区域,比如说,用户可以直接通过输入设备输入器件所属的区域。
再回到附图4中,对于步骤S123,DFT要求中可以包括器件所属的区域,以及在该区域的器件对应的DFT电路信息。这样,根据器件所属的区域查找DFT要求即可确定需要插入的DFT电路信息,生成第二中间文件,第二中间文件的格式可以为SPEC文件。在一种可能的实现方式中,插入DFT电路信息可以是指生成插入DFT电路信息的插入指令,这样,DFT设计工具在获取第二格式文件后,可以识别插入指令,根据插入指令插入DFT电路信息。
对于图4所示的实施例,在一种可能的实现方式中,在生成所述第一中间文件之后,所述方法还可以包括:
步骤S122,根据所述DFT要求修改第一中间文件中的器件名称。
由于IC设计的前端和后端可能对同一器件所使用的器件名称不完全一样,因此,在生成第一中间文件后,可以根据前端DFT要求修改第一中间文件中的器件名称,这样,DFT设计工具可以更准确的识别电路信息。
在一种可能的实现方式中,可以将第一中间文件中的器件名称与DFT要求中的器件名称进行匹配,如果第一中间文件中的器件名称与DFT要求中的器件名称不完全一致,则用DFT要求中的器件名称替换第一中间文件中的器件名称,使得第一中间文件中的器件名称与DFT要求中的器件名称一致,以便于后续通过匹配器件名称插入相应的DFT电路信息。
在一种可能的实现方式中,可以使用Python脚本语言读取log文件(第一中间文件),遍历log中的器件名称,使用正则表达式将DFT要求中的器件名称作为匹配来源项与log文件中的器件名称进行匹配,用DFT要求中的器件名称替换log文件中的器件名称。在替换完第一中间文件中的器件名称后,可以执行步骤S122插入DFT电路信息。
再回到图2中,对于步骤S12中的“根据第二EDA工具的格式要求将第一格式文件转换成第二格式文件”,结合上文的示例,可以根据第二EDA工具的格式要求将所述第二中间文件中的第二电路信息输出到第二格式文件中,从而实现转换,图6是示出根据本公开一实施例的电路信息迁移方法的流程图。
如图6所示,在一种可能的实现方式中,步骤S12中的“根据第二EDA工具的格式要求将第一格式文件转换成第二格式文件”可以包括:
步骤S124,将第二中间文件中的器件的第二电路信息,按照器件所属的区域以及器件类型分类存储在不同的存储列表中;
步骤S125,根据第二EDA工具的格式要求将所述存储列表中的第二电路信息输出到第二格式文件。
对于步骤S124,可以先根据第二中间文件中记录的器件所属的区域,将第二电路信息存放在不同的区域存储列表中,也就是说,可以设置多个区域存储列表,如果,第二中间文件中的器件属于同一个区域,也可以仅设置一个存储列表,将位于同一区域的器件存放在同一个区域存储列表,位于不同区域的器件存放在不同的区域存储列表。在一种可能的实现方式中,多个区域存储列表可以表示存储的具有不同颜色的器件,可以以存储的器件的颜色给区域存储列表命名,例如,多个区域存储列表可以包括红色列表、蓝色列表、黄色列表等,可以使用Python脚本语言,遍历第二中间文件,将摆放在不同的区域的器件以颜色归类放置在不同的区域存储列表中,例如,红色列表包含了红色区域中器件的器件信息(器件名称、器件位置、器件类型)。
对于同一区域存储列表中的第二电路信息,可以根据器件类型分类将电路信息存储在不同的类型存储列表中。也就是说,对于一个区域存储列表,可以设置一个或多个类型存储列表,类型存储列表用于存放区域存储列表中不同类型的器件的电路信息。举例来说,红色列表中的器件将分成器件类型1、器件类型2等多个类型存储列表(子存储列表)。
对于步骤S125,可以将步骤S124中分类存储后的存储列表中的第二电路信息按照分类存储的方式输出输出到第二格式文件中。
第二EDA工具可以直接使用第二格式文件自由抽取器件位置、器件类型、器件所属的区域,并根据器件所属的区域插入相应的DFT电路信息,快速实现BIST DFT低功耗设计,缩短开发周期,加快开发进度。
应用示例
为便于理解,下面以进行MBIST DFT低功耗设计为例,对整个电路信息迁移方法的流程再进行详细的说明,MBIST DFT低功耗设计过程可以包括从ICC导出描述有Memory器件信息的DEF文本,根据DEF文本生成MBIST SPEC文本输入到DFT设计工具中,DFT工具可以直接识别MBIST SPEC文本,自由提取Memory的器件位置等信息。需要说明的是,本示例可以与上文描述的所有实施方式相结合。
图7示出根据本公开一实施例的电路信息迁移方法的流程图,图8示出根据本公开一实施例的生成器件位置图的示意图。本示例提供了一种电路信息迁移方法,所述方法包括以下过程:
通过ICC导出待处理的DEF文件,待处理的DEF文件中描述了Memory器件信息(电路信息的示例);处理器遍历待处理的DEF文件中的Memory器件信息,将Memory器件信息与匹配表来源项(DFT要求)的Memory器件信息进行匹配;根据所述匹配表来源项的器件信息替换待处理的DEF文件中的器件信息;对替换后的DEF文件的器件信息进行器件参数配置;配置完成后,生成能够使TESSENT设计工具识别的MBST SPEC文件。
该方法具体实施步骤如下:
1.获取待处理的DEF文件:使用后端设计工具ICC导出待处理的DEF文件,待处理的DEF文件中描述的Memory器件信息包含不同层次(Hierarchy)结构的器件名称、器件位置以及器件类型。
2.生成def.tcl文件:使用Python脚本语言将DEF文件中Memory器件信息处理成字典形式存储的信息。使用Python脚本语言读取DEF文件中Memory器件信,通过每一个器件名称可以获取器件位置以及器件类型,并且生成一个中间文件名称为def.tcl。
3.获取Memory摆放位置:使用TCL脚本语言读取def.tcl文件获取Memory的器件位置,获取中心位置的坐标,获取中心位置的坐标的方式可以是接收用户手动输入的中心位置的坐标,或者也可以将所有器件组成图形的几何中心做为中心位置,将电路划分的多个不同的区域。TCL脚本可以根据Memory的器件位置和中心位置的位置关系确定Memory所属的区域,可以在屏幕中显示出Memory位置图。如图8所示的绘制Memory位置图的示例,准备幕布,根据幕布的大小缩放Memory位置图到幕布可以显示的大小,然后在幕布上显示Memory位置图,并对不同区域的Memory进行上色,通过上述过程可以在屏幕中显示出Memory位置图。
4.调整Memory摆放位置:使用TCL脚本语言调整中心位置的坐标,使Memory位置分布满足DFT要求,并且可以根据调整坐标后的器件信息生成中间文件ky_try_map.log,文件ky_try_map.log包含Memory的名称、Memory位置坐标、Memory类型以及用于区分不同区域的Memory group的颜色信息。
5.匹配并替换Memory名称:使用Python脚本语言读取ky_try_map.log文件,遍历ky_try_map.log中的Memory的名称,使用正则表达式将DFT要求中Memory的名称作为匹配来源项与ky_try_map.log文件中Memory的名称进行匹配;在不一致时,用DFT要求中Memory的名称替换ky_try_map.log文件中的Memory的名称。
6.处理匹配后的Memory器件信息:使用Python脚本语言遍历ky_try_map.log文件,将Memory器件信息处理成字典形式存储信息,可以通过DFT要求中的Memory的名称查找到器件位置、器件类型以及要插入的DFT电路信息,生成一个中间文件名称ky_try_out.spec,该文件包含Memory的名称、Memory的位置坐标、Memory的类型以及区分不同摆放区域的颜色信息、要插入的DFT电路信息。
7.根据摆放的区域分类存储器件信息:使用Python脚本语言遍历ky_try_out.spec文件,将摆放在不同区域的Memory以颜色归类放置在不同的存储列表中,例如红色存储列表包含了红色区域中的Memory的器件信息(包含Memory的名称,Memory的位置,Memory的类型)。
8.处理匹配后的器件类型列表:将颜色列表中所含有的Memory的器件信息以Memory的类型为区分项进行处理以存储在不同的类型存储列表中,例如红色区域列表中的Memory将分成Memory type1,Memory type2等多个类型存储列表。
9.生成MBIST SPEC:参考MBIST SPEC格式要求,将处理后的Memory的颜色存储列表,Memory的类型存储列表输出输出到MBIST SPEC文档,生成可用于TESSENT直接使用的MBIST SPEC文档。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。
进一步需要说明的是,虽然图2、4-7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、4-7中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图9示出根据本公开一实施例的电路信息转移装置的框图。根据本公开实施例的电路信息迁移装置可应用于处理器中,该处理器可以是通用处理器,例如CPU(CentralProcessing Unit,中央处理器),也可以是用于执行人工智能运算的人工智能处理器(IPU)。人工智能运算可包括机器学习运算,类脑运算等。其中,机器学习运算包括神经网络运算、k-means运算、支持向量机运算等。该人工智能处理器可例如包括GPU(GraphicsProcessing Unit,图形处理单元)、NPU(Neural-Network Processing Unit,神经网络处理单元)、DSP(Digital Signal Process,数字信号处理单元)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)芯片中的一种或组合。本公开对处理器的具体类型不作限制。
在一种可能的实现方式中,根据本公开实施例的电路信息迁移装置可应用在电子设计自动化EDA过程中。
如图9所示,所述装置可以包括:
获取模块91,用于获取第一格式文件,所述第一格式文件是从第一EDA工具中导出的,所述第一格式文件中描述了第一电路信息;
转换模块92,用于根据可测性设计DFT要求在所述第一电路信息中插入DFT电路信息生成第二电路信息,并根据第二EDA工具的格式要求将第一格式文件转换成第二格式文件,所述第二格式文件为所述第二EDA工具能够识别的文件,所述第二格式文件中存储有所述第二电路信息。
根据本公开的实施例,能够根据DFT要求在EDA过程中自动插入DFT电路信息,根据不同的EDA工具对文件格式的要求进行文件格式转换,从而加快设计交互文档的迁移,实现电路信息的快速迁移,提高IC设计效率。
图10示出根据本公开一实施例的电路信息转移装置的框图。如图10所示,在一种可能的实现方式中,所述第一电路信息包括:器件名称、与器件名称对应的器件位置,
所述转换模块92可以包括:
转换子模块921,用于根据所述第一电路信息中的器件位置确定器件所属的区域,将所述第一格式文件转换成第一中间文件,第一中间文件中还包括器件所属的区域;
插入子模块923,用于根据器件所属的区域,在所述第一电路信息中插入DFT电路信息生成第二中间文件,第二中间文件中存储有所述第二电路信息。
在一种可能的实现方式中,所述转换子模块921还用于:
从第一格式文件中提取所述第一电路信息,并根据提取的第一电路信息生成第三中间文件;
从第三中间文件读取器件位置,根据器件位置确定器件所属的区域,并根据中心位置以及器件所属的区域生成器件位置图;
根据DFT要求调整所述器件位置图中的中心位置的坐标,生成第一中间文件。
在一种可能的实现方式中,在所述器件位置图中,属于不同区域的器件采用不同的颜色显示。
在一种可能的实现方式中,所述转换模块92还包括:
修改子模块922,用于根据所述DFT要求修改第一中间文件中的器件名称。
在一种可能的实现方式中,所述修改子模块922还用于:
使用正则表达式将DFT要求中的器件名称作为匹配来源项与第一中间文件中的器件名称进行匹配,用DFT要求中的器件名称替换第一中间文件中的器件名称。
在一种可能的实现方式中,所述转换模块92还包括:
输出子模块924,用于根据第二EDA工具的格式要求将所述第二中间文件中的第二电路信息输出到第二格式文件。
在一种可能的实现方式中,所述第一电路信息以及第二电路信息还包括与器件名称对应的器件类型,
所述输出子模块924还用于:
将第二中间文件中的第二电路信息,按照器件所属的区域以及器件类型分类存储在不同的存储列表中;
根据第二EDA工具的格式要求将所述存储列表中的第二电路信息输出到第二格式文件。
在一种可能的实现方式中,所述输出子模块924还用于:
根据第二中间文件中记录的器件所属的区域,将第二电路信息存放在不同的区域存储列表中;
针对任一区域存储列表中的第二电路信息,可以根据器件类型将第二电路信息分类存储在不同的类型存储列表中,所述不同的类型存储列表为所述任一区域存储列表下的存储列表。
在一种可能的实现方式中,所述第一EDA工具为IC编译器ICC,所述第一格式文件为设计交换格式DEF文件,所述第一电路信息为存储器器件信息,所述第二格式文件为存储器内建自测MBIST SPEC文件,所述第二EDA工具为可测性设计DFT工具。
图11是根据一示例性实施例示出的一种用于电路信息转移的装置1900的框图。参照图11,装置1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
装置1900还可以包括一个电源组件1926被配置为执行装置1900的电源管理,一个有线或无线网络接口1950被配置为将装置1900连接到网络,和一个输入输出(I/O)接口1958。装置1900可以操作基于存储在存储器1932的操作系统,例如Windows ServerTM,MacOS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由装置1900的处理组件1922执行以完成上述方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
应该理解,上述的装置实施例仅是示意性的,本公开的装置还可通过其它的方式实现。例如,上述实施例中所述单元/模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,多个单元、模块或组件可以结合,或者可以集成到另一个系统,或一些特征可以忽略或不执行。
另外,若无特别说明,在本公开各个实施例中的各功能单元/模块可以集成在一个单元/模块中,也可以是各个单元/模块单独物理存在,也可以两个或两个以上单元/模块集成在一起。上述集成的单元/模块既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元/模块如果以硬件的形式实现时,该硬件可以是数字电路,模拟电路等等。硬件结构的物理实现包括但不局限于晶体管,忆阻器等等。若无特别说明,所述人工智能处理器可以是任何适当的硬件处理器,比如CPU、GPU、FPGA、DSP和ASIC等等。若无特别说明,所述存储单元可以是任何适当的磁存储介质或者磁光存储介质,比如,阻变式存储器RRAM(Resistive Random Access Memory)、动态随机存取存储器DRAM(Dynamic RandomAccess Memory)、静态随机存取存储器SRAM(Static Random-Access Memory)、增强动态随机存取存储器EDRAM(Enhanced Dynamic Random Access Memory)、高带宽内存HBM(High-Bandwidth Memory)、混合存储立方HMC(Hybrid Memory Cube)等等。
所述集成的单元/模块如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
在一种可能的实现方式中,还公开了一种人工智能芯片,其包括了上述电路信息转移装置。
在一种可能的实现方式中,还公开了一种板卡,其包括存储器件、接口装置和控制器件以及上述人工智能芯片;其中,所述人工智能芯片与所述存储器件、所述控制器件以及所述接口装置分别连接;所述存储器件,用于存储数据;所述接口装置,用于实现所述人工智能芯片与外部设备之间的数据传输;所述控制器件,用于对所述人工智能芯片的状态进行监控。
图12示出根据本公开实施例的板卡的结构框图,参阅图12,上述板卡除了包括上述芯片389以外,还可以包括其他的配套部件,该配套部件包括但不限于:存储器件390、接口装置391和控制器件392;
所述存储器件390与所述人工智能芯片通过总线连接,用于存储数据。所述存储器件可以包括多组存储单元393。每一组所述存储单元与所述人工智能芯片通过总线连接。可以理解,每一组所述存储单元可以是DDR SDRAM(英文:Double Data Rate SDRAM,双倍速率同步动态随机存储器)。
DDR不需要提高时钟频率就能加倍提高SDRAM的速度。DDR允许在时钟脉冲的上升沿和下降沿读出数据。DDR的速度是标准SDRAM的两倍。在一个实施例中,所述存储装置可以包括4组所述存储单元。每一组所述存储单元可以包括多个DDR4颗粒(芯片)。在一个实施例中,所述人工智能芯片内部可以包括4个72位DDR4控制器,上述72位DDR4控制器中64bit用于传输数据,8bit用于ECC校验。可以理解,当每一组所述存储单元中采用DDR4-3200颗粒时,数据传输的理论带宽可达到25600MB/s。
在一个实施例中,每一组所述存储单元包括多个并联设置的双倍速率同步动态随机存储器。DDR在一个时钟周期内可以传输两次数据。在所述芯片中设置控制DDR的控制器,用于对每个所述存储单元的数据传输与数据存储的控制。
所述接口装置与所述人工智能芯片电连接。所述接口装置用于实现所述人工智能芯片与外部设备(例如服务器或计算机)之间的数据传输。例如在一个实施例中,所述接口装置可以为标准PCIE接口。比如,待处理的数据由服务器通过标准PCIE接口传递至所述芯片,实现数据转移。优选的,当采用PCIE 3.0X 16接口传输时,理论带宽可达到16000MB/s。在另一个实施例中,所述接口装置还可以是其他的接口,本公开并不限制上述其他的接口的具体表现形式,所述接口单元能够实现转接功能即可。另外,所述人工智能芯片的计算结果仍由所述接口装置传送回外部设备(例如服务器)。
所述控制器件与所述人工智能芯片电连接。所述控制器件用于对所述人工智能芯片的状态进行监控。具体的,所述人工智能芯片与所述控制器件可以通过SPI接口电连接。所述控制器件可以包括单片机(Micro Controller Unit,MCU)。如所述人工智能芯片可以包括多个处理芯片、多个处理核或多个处理电路,可以带动多个负载。因此,所述人工智能芯片可以处于多负载和轻负载等不同的工作状态。通过所述控制装置可以实现对所述人工智能芯片中多个处理芯片、多个处理和或多个处理电路的工作状态的调控。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
A1.一种电路信息迁移方法,应用在电子设计自动化EDA过程中,应用于处理器,所述方法包括:
获取第一格式文件,所述第一格式文件是从第一EDA工具中导出的,所述第一格式文件中描述了第一电路信息;
根据可测性设计DFT要求在所述第一电路信息中插入DFT电路信息生成第二电路信息,并根据第二EDA工具的格式要求将第一格式文件转换成第二格式文件,
其中,所述第二格式文件为所述第二EDA工具能够识别的文件,所述第二格式文件中存储有所述第二电路信息。
A2.根据权利要求A1所述的方法,所述第一电路信息包括:器件名称、与器件名称对应的器件位置,
根据可测性设计DFT要求在所述第一电路信息中插入DFT电路信息生成第二电路信息,包括:
根据所述第一电路信息中的器件位置确定器件所属的区域,将所述第一格式文件转换成第一中间文件,第一中间文件中还包括器件所属的区域;
根据器件所属的区域,在所述第一电路信息中插入DFT电路信息生成第二中间文件,第二中间文件中存储有所述第二电路信息。
A3.根据权利要求A2所述的方法,根据所述第一电路信息中的器件位置确定器件所属的区域,将所述第一格式文件转换成第一中间文件,包括:
从第一格式文件中提取所述第一电路信息,并根据提取的第一电路信息生成第三中间文件;
从第三中间文件读取器件位置,根据器件位置确定器件所属的区域,并根据中心位置以及器件所属的区域生成器件位置图;
根据DFT要求调整所述器件位置图中的中心位置的坐标,生成第一中间文件。
A4.根据权利要求A3所述的方法,在所述器件位置图中,属于不同区域的器件采用不同的颜色显示。
A5.根据权利要求A2所述的方法,在生成所述第一中间文件之后,所述方法还包括:
根据所述DFT要求修改第一中间文件中的器件名称。
A6.根据权利要求A5所述的方法,根据所述DFT要求修改第一中间文件中的器件名称,包括:
使用正则表达式将DFT要求中的器件名称作为匹配来源项与第一中间文件中的器件名称进行匹配,用DFT要求中的器件名称替换第一中间文件中的器件名称。
A7.根据权利要求A2所述的方法,根据第二EDA工具的格式要求将第一格式文件转换成第二格式文件,包括:
根据第二EDA工具的格式要求将所述第二中间文件中的第二电路信息输出到第二格式文件。
A8.根据权利要求A7所述的方法,所述第一电路信息以及第二电路信息还包括与器件名称对应的器件类型,
根据第二EDA工具的格式要求将所述第二中间文件中的第二电路信息输出到第二格式文件包括:
将第二中间文件中的第二电路信息,按照器件所属的区域以及器件类型分类存储在不同的存储列表中;
根据第二EDA工具的格式要求将所述存储列表中的第二电路信息输出到第二格式文件。
A9.根据权利要求A8所述的方法,将第二中间文件中的第二电路信息,按照器件所属的区域以及器件类型分类存储在不同的存储列表中,包括:
根据第二中间文件中记录的器件所属的区域,将第二电路信息存放在不同的区域存储列表中;
针对任一区域存储列表中的第二电路信息,可以根据器件类型将第二电路信息分类存储在不同的类型存储列表中,所述不同的类型存储列表为所述任一区域存储列表下的存储列表。
A10.根据权利要求A1-A9任意一项所述的方法,所述第一EDA工具为IC编译器ICC,所述第一格式文件为设计交换格式DEF文件,所述第一电路信息为存储器器件信息,所述第二格式文件为存储器内建自测MBIST SPEC文件,所述第二EDA工具为可测性设计DFT工具。
A11.一种电路信息迁移装置,应用在电子设计自动化EDA过程中,应用于处理器,所述装置包括:
获取模块,用于获取第一格式文件,所述第一格式文件是从第一EDA工具中导出的,所述第一格式文件中描述了第一电路信息;
转换模块,用于根据可测性设计DFT要求在所述第一电路信息中插入DFT电路信息生成第二电路信息,并根据第二EDA工具的格式要求将第一格式文件转换成第二格式文件,所述第二格式文件为所述第二EDA工具能够识别的文件,所述第二格式文件中存储有所述第二电路信息。
A12.根据权利要求A11所述的装置,所述第一电路信息包括:器件名称、与器件名称对应的器件位置,
所述转换模块,包括:
转换子模块,用于根据所述第一电路信息中的器件位置确定器件所属的区域,将所述第一格式文件转换成第一中间文件,第一中间文件中还包括器件所属的区域;
插入子模块,用于根据器件所属的区域,在所述第一电路信息中插入DFT电路信息生成第二中间文件,第二中间文件中存储有所述第二电路信息。
A13.根据权利要求A12所述的装置,所述转换子模块还用于:
从第一格式文件中提取所述第一电路信息,并根据提取的第一电路信息生成第三中间文件;
从第三中间文件读取器件位置,根据器件位置确定器件所属的区域,并根据中心位置以及器件所属的区域生成器件位置图;
根据DFT要求调整所述器件位置图中的中心位置的坐标,生成第一中间文件。
A14.根据权利要求A13所述的装置,在所述器件位置图中,属于不同区域的器件采用不同的颜色显示。
A15.根据权利要求A12所述的装置,所述转换模块还包括:
修改子模块,用于根据所述DFT要求修改第一中间文件中的器件名称。
A16.根据权利要求A15所述的装置,所述修改子模块还用于:
使用正则表达式将DFT要求中的器件名称作为匹配来源项与第一中间文件中的器件名称进行匹配,用DFT要求中的器件名称替换第一中间文件中的器件名称。
A17.根据权利要求A12所述的装置,所述转换模块还包括:
输出子模块,用于根据第二EDA工具的格式要求将所述第二中间文件中的第二电路信息输出到第二格式文件。
A18.根据权利要求A17所述的装置,所述第一电路信息以及第二电路信息还包括与器件名称对应的器件类型,
所述输出子模块还用于:
将第二中间文件中的第二电路信息,按照器件所属的区域以及器件类型分类存储在不同的存储列表中;
根据第二EDA工具的格式要求将所述存储列表中的第二电路信息输出到第二格式文件。
A19.根据权利要求A18所述的装置,所述输出子模块还用于:
根据第二中间文件中记录的器件所属的区域,将第二电路信息存放在不同的区域存储列表中;
针对任一区域存储列表中的第二电路信息,可以根据器件类型将第二电路信息分类存储在不同的类型存储列表中,所述不同的类型存储列表为所述任一区域存储列表下的存储列表。
A20.根据权利要求A11-A19任意一项所述的装置,所述第一EDA工具为IC编译器ICC,所述第一格式文件为设计交换格式DEF文件,所述第一电路信息为存储器器件信息,所述第二格式文件为存储器内建自测MBIST SPEC文件,所述第二EDA工具为可测性设计DFT工具。
A21.一种用于电路信息迁移的装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行指令时实现权利要求A1至A10中任意一项所述的方法。
A22.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求A1至A10中任意一项所述的方法。
以上对本公开实施例进行了详细介绍,本文中应用了具体个例对本公开的原理及实施方式进行了阐述,以上实施例的说明仅用于帮助理解本公开的方法及其核心思想。同时,本领域技术人员依据本公开的思想,基于本公开的具体实施方式及应用范围上做出的改变或变形之处,都属于本公开保护的范围。综上所述,本说明书内容不应理解为对本公开的限制。