发明内容
基于此,有必要针对当集成电路芯片制造完成后,对芯片物理管脚和信号连接关系是否和设计的芯片原理图一致人为进行检测工作量大的问题,提供一种芯片管脚连接关系检测方法和系统。
一种芯片管脚连接关系检测方法,包括以下步骤:
步骤A、获取芯片原理图文件和管脚约束文件;
步骤B、构造匹配关系表;
步骤C、根据所述芯片原理图和管脚约束文件中所示的芯片管脚连接关系,编辑同时包含了所述芯片原理图中所示的芯片管脚信息和管脚约束文件所示的芯片管脚信息的合并文件;
步骤D、根据所述合并文件中所示的芯片管脚匹配关系,检测实际芯片管脚匹配情况,并把匹配结果输出到目标文件。
根据权利要求1所述的芯片管脚连接关系检测方法,其特征在于,在所述步骤B中,所述的构造匹配关系表包括以下步骤:
根据NandFlash名称表、NandFlash管脚编号和内部管脚名对应关系表、内部管脚名和第三方管脚名对应关系表构造检测数组。
在其中一个实施例中,在所述步骤C中,所述的编辑芯片管脚是否匹配的合并文件,包括以下步骤:
步骤C1、顺序读取管脚约束文件的一行;
步骤C2、判断所读取的数据是否为文件结束符,若是,则执行步骤C7;若否,则顺序执行步骤C3;
步骤C3、判断所读取的数据是否为有用数据,若是,则执行步骤C4;若否,则返回执行步骤C1;
步骤C4、记录所述有用数据;
步骤C5、判断所记录的有用数据与原理图文件中的相对应的有用数据是否匹配,若是,则执行步骤C6;若否,则返回执行步骤C1;
步骤C6、记录匹配行中相应的有用数据,返回执行步骤C1;
步骤C7、输出记录所述有用数据的合并文件。
在其中一个实施例中,在所述步骤C6中,在所述记录匹配行中相应的有用数据之前,还包括如下步骤:
去除所述有用数据的首尾空格。
在其中一个实施例中,所述有用数据,即用于限定管脚连接关系的数据。
在其中一个实施例中,在所述步骤D中,所述检测实际芯片管脚匹配具体包括如下步骤:
D1、顺序读取合并文件中的一行;
D2、判断所读取的数据是否为文件结束符,若是,则执行步骤D3,若否,则执行步骤D4;
D3、判断已经成功匹配的数据数目是否满足所述匹配关系表中的匹配关系条数,若是,则执行步骤D11,若否,则执行步骤D12;
D4、判断所述芯片管脚输出的信号及其信号名是否符合要求,若是,则执行步骤D5;若否,则返回执行步骤D1;
D5、判断所述芯片管脚顺序是否满足相应规则,若是则执行步骤D6,若否,则执行步骤D7;
D6、在所读取的行后标识对应的管脚名,执行步骤D8;
D7、在行后标识匹配失败标记,并返回执行步骤D1;
D8、判断所述检测原理图和管脚约束文件中的信号名是否满足所述匹配关系,若是,则执行步骤D9;若否,则执行步骤D10;
D9、则在行后标识匹配成功标记,并把匹配成功的数据的数目参数加1,并返回执行步骤D1;
D10、则在行后标识匹配失败标记,并返回执行步骤D1;
D11、输出匹配成功数据;
D12、输出匹配失败数据及不匹配的数据数目。
为实现本发明目的,还提供了一种芯片管脚连接关系检测系统,其特征在于,包括获取模块、合并模块和分析模块,其中:
所述获取模块,用于获取芯片原理图文件和管脚约束文件;
所述合并模块,用于按照连接关系检测上两个文件中的芯片管脚对象,编写代码合并所述对象,并生成合并文件;
所述分析模块,用于分析所述合并文件中的所述芯片管脚对应关系,根据所述芯片管脚的匹配关系检测实际芯片管脚匹配情况,并把匹配结果输出到目标文件。
在其中一个实施例中,所述获取模块包括第一获取子模块和第二获取子模块,其中:
所述第一获取子模块,用于获取芯片原理图;
所述第二获取子模块,用于获取管脚约束文件。
在其中一个实施例中,所述合并模块包括第一读取子模块、第一判断子模块、第二判断子模块、第一记录子模块、第三判断子模块、第二记录子模块和第一输出子模块
所述第一读取子模块,用于读取管脚约束文件的一行;
所述第一判断子模块,用于判断所读取的数据是否为文件结束符;
所述第二判断子模块,用于判断所读取的数据是否为有用数据;
所述第一记录子模块,用于当所读取的数据为有用数据时,记录所述有用数据;
所述第三判断子模块,用于判断所记录的有用数据与原理图文件中的相应数据是否匹配;
所述第二记录子模块,用于当所记录的有用数据与原理图文件中的相应数据匹配时,记录匹配行中相应的有用数据;
所述第一输出子模块,用于当所读取的数据为文件结束符时,输出记录所述有用数据的合并文件。
在其中一个实施例中,所述分析模块包括第二读取子模块、第四判断子模块、第五判断子模块、第六判断子模块、第七判断子模块、第一标识子模块、第二标识子模块、第三标识子模块、第四标识子模块、第八判断子模块、第二输出子模块和第三输出子模块,其中:
所述第二读取子模块,用于读取合并文件中的一行;
所述第四判断子模块,用于判断所读取的数据是否为文件结束符;
所述第五判断子模块,用于判断已经成功匹配的数据数目是否满足所述匹配关系表中的匹配关系条数;
所述第六判断子模块,用于判断所述芯片管脚输出的信号及信号名是否符合匹配关系;
所述第七判断子模块,用于判断所述芯片管脚顺序是否满足相应规则;
所述第一标识子模块,用于当所述芯片管脚输出的信号名符合匹配关系时,在所读取的行后标识对应的管脚名;
所述第二标识子模块,用于当所述芯片管脚输出的信号名符合不匹配关系时,在行后标识匹配失败标记;
所述第八判断子模块,用于判断所述检测原理图和管脚约束文件中的信号名是否满足所述匹配关系;
所述第三标识子模块,用于当所述检测原理图和管脚约束文件中的信号名满足所述匹配关系时,在行后标识匹配成功标记,并把匹配成功的数据的数目参数加1;
所述第四标识子模块,用于当所述检测原理图和管脚约束文件中的信号名不满足所述匹配关系时,在行后标识匹配失败标记;
所述第二输出子模块,用于当所读取的数据是文件结束符时,输出匹配成功数据;
所述第三输出子模块,用于当所读取的数据不是文件结束符时,输出匹配失败数据及不匹配的数据数目。本发明的有益效果:本发明所述的芯片管脚连接关系检测方法及系统,由计算机代替人力检测芯片原理图中物理管脚和电信号的对应连接关系,不仅节省了大量的时间,还避免了大量重复工作的低效性和重复工作可能引入的操作失误。如果有新的管脚匹配关系,只要扩展其对应匹配关系表即可,实现了芯片管脚连接关系检测的自动化。
具体实施方式
下面结合说明书附图,对本发明芯片管脚连接关系检测方法及系统的具体实施方式进行说明。
如图1所示,一种芯片管脚连接关系检测方法,包括以下步骤:
步骤S100、获取芯片原理图文件和管脚约束文件;
步骤S200、构造匹配关系表;
步骤S300、根据所述芯片原理图和管脚约束文件中所示的芯片管脚连接关系,编辑同时包含了所述芯片原理图中所示的芯片管脚信息和管脚约束文件所示的芯片管脚信息的合并文件;
步骤S400、根据所述合并文件中所示的芯片管脚匹配关系,检测实际芯片管脚匹配情况,并把匹配结果输出到目标文件。
作为一种可实施方式,在所述步骤S100中,获取芯片原理图可以由CadenceSPB软件设计来获得;获取管脚约束文件可以由ISE软件来创建,也可以由人工来编辑。
在所述步骤S200中,所述构造匹配关系表的方法为:根据NandFlash名称表、NandFlash芯片管脚编号和内部芯片管脚名对应关系表、内部芯片管脚名和第三方管脚名对应关系表构造三个检测数组,即匹配关系表。
其中,所述NandFlash名称表是指公司内部所用的NandFlash芯片名。所述NandFlash芯片管脚编号是指生产厂家给芯片管脚所指定的编号,内部管脚名是指公司内部按一定规则给各管脚所起的名字(各公司所用规则并不一样)。所述第三方管脚名是指合作方按管脚编号按一定规则给各管脚所起的名字,按这种命名方法可以用一定平台对原理图进行正确性检测,所以本发明实施例需要把自身的命名规则跟它进行匹配。
较佳地,所述NANDflash是一种长寿命的非易失性存储器,在本实施例中,所述NandFlash闪存作为一种存储工具使用。
如图2所示,作为一种可实施方式,在所述步骤S300中,所述编辑同时包含了所述芯片原理图中所示的芯片管脚信息和管脚约束文件所示的芯片管脚信息的合并文件,具体包括以下步骤:
步骤S301、顺序读取管脚约束文件的一行;
步骤S302、判断所读取的数据是否为文件结束符,若是,则执行步骤S307;若否,则顺序执行步骤S303;
步骤S303、判断所读取的数据是否为有用数据,若是,则执行步骤S304;若否,则返回执行步骤S301;
步骤S304、记录所述有用数据;
步骤S305、判断所记录的有用数据与原理图文件中的相对应的有用数据是否匹配,若是,则执行步骤S306;若否,则返回执行步骤S301;
步骤S306、记录匹配行中相应的有用数据,返回执行步骤S301;
步骤S307、输出记录所述有用数据的合并文件。
较佳地,所述合并文件的文件名为merge.txt,为文本格式文件。
作为一种可实施方式,在所述步骤S306中,在所述记录匹配行中相应的有用数据之前,还包括如下步骤:
去除所述有用数据的首尾空格。
较佳地,所述有用数据,即用于限定管脚连接关系的数据。
如图4所示,为所述合并文件中的一段数据。
如图3所示,作为一种可实施方式,在所述步骤S400中,所述检测实际芯片管脚匹配具体包括如下步骤:
S401、顺序读取合并文件中的一行;
S402、判断所读取的数据是否为文件结束符,若是,则执行步骤S403,若否,则执行步骤S404;
S403、判断已经成功匹配的数据数目是否满足所述匹配关系表中的匹配关系条数(即判断已经成功匹配的数据数目是否与预设匹配规则的数目一致),若是,则执行步骤S411,若否,则执行步骤S412;
在上述步骤S403中,在执行判断已经成功匹配的数据数目是否跟预设匹配规则的数目一致时,需要根据已经成功匹配的数据数目与所有预设的匹配规则中的相关数据都要匹配一遍,否则就出错。
S404、判断所述芯片管脚输出的信号及其信号名是否符合要求,若是,则执行步骤S405;若否,则返回执行步骤S401;
S405、判断所述芯片管脚顺序是否满足相应匹配规则,若是则执行步骤S406,若否,则执行步骤S407;
S406、在所读取的行后标识对应的管脚名,执行步骤S408;
S407、在行后标识匹配失败标记ERROR,并返回执行步骤S401;
S408、判断所述检测原理图和管脚约束文件中的信号名是否满足所述匹配关系,若是,则执行步骤S409;若否,则执行步骤S410;
S409、则在行后标识匹配成功标记OK,并把匹配成功的数据的数目参数加1,并返回执行步骤S401;
较佳地,设置匹配成功的数据的数目参数为count,此时,count++。
S410、则在行后标识匹配失败标记ERROR,并返回执行步骤S401。
S411、输出匹配成功数据;
S412、输出匹配失败数据及不匹配的数据数目。
较佳地,在步骤S403之后,判断所读取的数据数目满足预设匹配关系之后,会输出显示匹配信息的目标文件“target.txt”,如果所读取的数据数目满足预设匹配关系,则输出匹配成功的数据,所输出的数据部分数据列表如图5所示。
较佳地,如果所读取的数据数目不满足预设匹配关系,则返回所述目标文件“target.txt”中进行搜索,搜索标识“ERROR”的所在行的具体行号,然后再对具体问题进行分析找出失败的原因。所输出的失败数据部分数据列表如图6所示。
根据图6所示的失败数据,其中,第179行到182行匹配失败,原因是芯片上该物理管脚所连接的信号不是所要求的信号,也就是说原理图和管脚约束文件中的信号名不匹配。此方法不但实现了自动检测芯片管脚连接关系的正确性,而且对错误的芯片管脚进行定位,便于找出错误的原因,节省了时间,并且提高了效率。
如图7所示,为实现本发明目的,还提供了一种芯片管脚连接关系检测系统,其特征在于,包括获取模块U1、合并模块U2和分析模块U3,其中:
所述获取模块U1,用于获取芯片原理图文件和管脚约束文件;
所述合并模块U2,用于按照连接关系检测上两个文件中的芯片管脚对象,编写代码合并所述对象,并生成合并文件;
所述分析模块U3,用于分析所述合并文件中的所述芯片管脚对应关系,根据所述芯片管脚的匹配关系检测实际芯片管脚匹配情况,并把匹配结果输出到目标文件。
作为一种可实施方式,所述获取模块U1包括第一获取子模块U11和第二获取子模块U12,其中:
所述第一获取子模块U11,用于获取芯片原理图;
所述第二获取子模块U12,用于获取管脚约束文件。
作为一种可实施方式,所述合并模块U2包括第一读取子模块U21、第一判断子模块U22、第二判断子模块U23、第一记录子模块U24、第三判断子模块U25、第二记录子模块U26和第一输出子模块U27,其中:
所述第一读取子模块U21,用于读取管脚约束文件的一行;
所述第一判断子模块U22,用于判断所读取的数据是否为文件结束符;
所述第二判断子模块U23,用于判断所读取的数据是否为有用数据;
所述第一记录子模块U24,用于当所读取的数据是有用数据时,记录所述有用数据;
所述第三判断子模块U25,用于判断所记录的有用数据与原理图文件中的相应数据是否匹配;
所述第二记录子模块U26,用于当所记录的有用数据与原理图文件中的相应数据匹配时,记录匹配行中相应的有用数据;
所述第一输出子模块U27,用于输出记录所述有用数据的合并文件。
作为一种可实施方式,所述分析模块U3包括第二读取子模块U31、第四判断子模块U32、第五判断子模块U33、第六判断子模块U34、第七判断子模块U35、第一标识子模块U36、第二标识子模块U37、第三标识子模块U38、第四标识子模块U39、第八判断子模块U310、第二输出子模块U311和第三输出子模块U312,其中:
所述第二读取子模块U31,用于读取合并文件中的一行;
所述第四判断子模块U32,用于判断所读取的数据是否为文件结束符;
所述第五判断子模块U33,用于判断已经成功匹配的数据数目是否满足所述匹配关系表中的匹配关系条数;
所述第六判断子模块U34,用于判断所述芯片管脚输出的信号及信号名是否符合匹配关系;
所述第七判断子模块U35,用于判断所述芯片管脚顺序是否满足相应规则;
所述第一标识子模块U36,用于当所述芯片管脚输出的信号名符合匹配关系时,在所读取的行后标识对应的管脚名;
所述第二标识子模块U37,用于当所述芯片管脚输出的信号名符合不匹配关系时,在行后标识匹配失败标记;
所述第八判断子模块U310,用于判断所述检测原理图和管脚约束文件中的信号名是否满足所述匹配关系;
所述第三标识子模块U38,用于当所述检测原理图和管脚约束文件中的信号名满足所述匹配关系时,在行后标识匹配成功标记,并把匹配成功的数据的数目参数加1;
所述第四标识子模块U39,用于当所述检测原理图和管脚约束文件中的信号名不满足所述匹配关系时,在行后标识匹配失败标记;
所述第二输出子模块U311,用于当所读取的数据是文件结束符时,输出匹配成功数据;
所述第三输出子模块U312,用于当所读取的数据不是文件结束符时,输出匹配失败数据及不匹配的数据数目。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。