一种基于二端测试的引脚资源分配方法及系统与流程

文档序号:25235267发布日期:2021-05-28 14:45阅读:83来源:国知局
一种基于二端测试的引脚资源分配方法及系统与流程
本发明涉及半导体设计和生产领域,特别涉及一种基于二端测试的引脚资源分配方法及系统。
背景技术
:在芯片测试中,常采用的是二端测试,即只需要将dut(待测器件)中的两个pin(引脚)进行导通,测试得到相关结果的方法。在实际的测试操作中,需要将dut上用于两端测试连接的一对引脚连接到外部testbench(测试台)的一对逻辑地址相邻的测试引脚上。图1为一个多引脚的待测器件的电路测试引脚分配示例,z1、z2、z3为分别需要进行两端测试的具体元件,其两端端口分别为a和b、a和c、c和d,z1、z2、z3组成一个dut,即a、b、c、d为该dut进行二端测试时需要进行分配的引脚。因此,该dut总共可以定义三组待分配的引脚连接组pinconnection,分别为:{a;b}、{a;c}、{c;d}。因该dut待分配的引脚数量较少,通过穷举即可获得该dut进行二端测试时的最优引脚分配方式,即如图1所示的引脚分配方式{a;b}、{a;c}、{c;d},该种引脚分配方式使dut只需占用testbench上4个测试引脚。但是,随着引脚分配场景的复杂度提升,以及应用场景对引脚资源分配的时间要求和引脚分配算法的精度要求,提供一种高效精确的基于二端测试的待测器件引脚资源分配可行算法,用以高效地利用testbench上的测试引脚,是一个关键性的问题。因此,有必要提供一种高效精确的基于二端测试的待测器件引脚资源分配可行算法。技术实现要素:鉴于以上所述现有技术的不足,本发明的目的在于:提供一种利用图论的相关理论来解决多引脚的待测器件进行二端测试时的引脚资源分配方法及其系统。为实现上述发明目的,本发明提供以下技术方案:本发明涉及一种基于二端测试的引脚资源分配方法,包括:获取待测器件上所有待分配的引脚连接组,每个待分配的引脚连接组包括两个引脚集合,分配时从这两个引脚集合中各确定一个引脚用于连接到测试引脚,完成所有引脚连接组的分配后,得到该待测器件的引脚分配方式;根据引脚连接组中不同的引脚分配,得到若干种引脚分配方式;根据所述引脚分配方式建立邻接图,邻接图中的结点对应待测器件的引脚,邻接图中的边代表引脚关系,即某条边的两个结点对应一个引脚连接组中的两个引脚;并利用邻接图计算每个引脚分配方式的资源数,所述资源数是指该引脚分配方式所需占用测试引脚的数量;资源数最小的引脚分配方式,即为该待测器件进行二端测试时的最优引脚分配方式。在本发明中,所述利用邻接图计算每个引脚分配方式的资源数是指:计算邻接图被完整画出所需的最少笔画数,再将该最少笔画数与引脚连接组的数量相加,得到的值即为该引脚分配方式的资源数;其中,邻接图被完整画出所需的最少笔画数s为:s=;所述k是邻接图中所包含的连通图个数,所述sk是第k个连通图被完整画出所需的最少笔画数。在本发明中,所述引脚连接组为无向引脚连接组(2pinconnection),无向引脚连接组中分配的两个引脚对于要连接的测试引脚的逻辑地址没有前后顺序要求;分配无向引脚连接组形成的引脚分配方式所构建的邻接图为无向邻接图;当邻接图为无向邻接图时,sk的计算方式为:遍历第k个连通图中所有结点,得到该连通图中奇度结点的个数n,则:1)n为0或者2,则sk=1;2)n>2(n必然为偶数),则sk=n/2。在本发明中,所述引脚连接组为有向引脚连接组(2pinwithdirection),有向引脚连接组中的两个引脚对于要连接的测试引脚的逻辑地址有前后顺序要求;有向引脚连接组形成的引脚分配方式所构建的邻接图为有向邻接图;当邻接图为有向邻接图时,sk的计算方式为:遍历第k个连通图中所有结点,则:1)每个结点的出度和入度都相等,则sk=1;2)若出入度之差为正数的所有结点,其出入度之差的和为x,其余所有结点的出入度之差的和为-x,x>1,则sk=x。在本发明中,当计算某邻接图被完整画出所需的最少笔画数为1时,则直接将该邻接图对应的引脚分配方式作为待测器件进行二端测试时的最优引脚分配方式,即能最少占用测试引脚的引脚分配方式。在本发明中,每个测试引脚只能连接待测器件上的一个引脚。本发明的还涉及一种基于二端测试的引脚资源分配系统,包括整体控制模块、邻接表建立模块、计算资源数模块和更新资源数模块,所述整体控制模块获取待测器件上所有待分配的引脚连接组,每个待分配的引脚连接组包括两个引脚集合,分配时整体控制模块从这两个引脚集合中各确定一个引脚用于连接到测试引脚,完成所有引脚连接组的分配后,得到该待测器件的引脚分配方式;根据引脚连接组中不同的引脚分配,得到若干种引脚分配方式;所述邻接图建立模块根据所述引脚分配方式建立邻接图;其中,邻接图中的结点对应待测器件的引脚,邻接图中的边代表引脚关系;所述计算资源数模块根据引脚分配方式对应的邻接图计算引脚分配方式的资源数;所述资源数是指该引脚分配方式所需占用测试引脚的数量;所述更新资源数模块比较计算资源数模块计算得出的引脚分配方式的资源数,并将资源数最小的引脚分配方式确定为该待测器件进行二端测试时的最优引脚分配方式。在本发明中,所述计算资源数模块利用邻接图计算每个引脚分配方式的资源数是指:计算邻接图被完整画出所需的最少笔画数,再将该最少笔画数与引脚连接组的数量相加,得到的值即为该引脚分配方式的资源数;其中,邻接图被完整画出所需的最少笔画数s为:s=;所述k是邻接图中所包含的连通图个数,所述sk是第k个连通图被完整画出所需的最少笔画数。在本发明中,所述引脚连接组为无向引脚连接组,无向引脚连接组中分配的两个引脚对于要连接的测试引脚的逻辑地址没有前后顺序要求;分配无向引脚连接组形成的引脚分配方式所构建的邻接图为无向邻接图;当邻接图为无向邻接图时,sk的计算方式为:遍历第k个连通图中所有结点,得到该连通图中奇度结点的个数n,则:1)n为0或者2,则sk=1;2)n>2(n必然为偶数),则sk=n/2。在本发明中,所述引脚连接组为有向引脚连接组,有向引脚连接组中的两个引脚对于要连接的测试引脚的逻辑地址有前后顺序要求;有向引脚连接组形成的引脚分配方式所构建的邻接图为有向邻接图;当邻接图为有向邻接图时,sk的计算方式为:遍历第k个连通图中所有结点,则:1)每个结点的出度和入度都相等,则sk=1;2)若出入度之差为正数的所有结点,其出入度之差的和为x,其余所有结点的出入度之差的和为-x,x>1,则sk=x。在本发明中,当计算资源数模块计算某邻接图被完整画出所需的最少笔画数为1时,则直接将该邻接图对应的引脚分配方式作为待测器件进行二端测试时的最优引脚分配方式,即能最少占用测试引脚的引脚分配方式。与现有技术相比,本发明的有益效果:1、本发明的基于二端测试的引脚资源分配方法,采取了图论的相关理论,可以降低问题的复杂度,建立邻接图之后,几乎只需要遍历邻接图中的结点,不需要复杂的深度搜索、广度搜索,普遍循环遍历即可,这样可以降低空间复杂度,减少对计算机内存的消耗,同时其所记录利用的变量也十分少,不需要过多的处理,能够减小时间复杂度,加快程序的运行。2、本发明基于二端测试的引脚资源分配系统,结合图论的相关理论,能对多引脚的待测器件进行二端测试时的最优引脚分配方式进行精确计算,从而在自动化测试中减少testbench上测试引脚资源的浪费,另一方面,可以降低空间复杂度,减少对计算机内存的消耗,并减小时间复杂度,从而进一步减少测试时间。附图说明为了更清楚地说明本发明具体实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为一个多引脚的待测器件的电路测试引脚示例图。图2为哥尼斯堡七桥问题示意图。图3为本发明基于二端测试的引脚资源分配系统的原理框架示意图。具体实施方式下面将对本发明具体实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明的实施例涉及一种引脚资源分配方法及系统。更为具体地,涉及一种基于二端测试的引脚资源分配方法及其系统。例如,待分配的引脚连接组包括待测器件上的两个引脚集合,从这两个引脚集合中各取一个引脚连接至逻辑地址相邻的两个测试引脚,以用于二端测试。在一个实施例中,将图论的相关理论应用在引脚资源分配的计算上。例如,根据引脚分配方式建立邻接图,并计算所述邻接图被完整画出所需的笔画数,其中,所述邻接图的结点对应待测器件的引脚,所述邻接图的边代表引脚关系,邻接图的边的两个结点对应一个引脚连接组中的两个引脚。将所述邻接图被完整画出所述的最少笔画数与引脚连接组的数量相加,得到的值为该引脚分配方式的资源数。所述资源数是指该种引脚分配方式所需占用测试引脚的数量。在有些情况下,引脚分配方式中的引脚连接组为无向引脚连接组,此时,对应建立的邻接图为无向邻接图。无向引脚连接组中的两个引脚对于要连接的测试引脚的逻辑地址没有前后顺序要求。例如,定义无向引脚连接组{a;b},将引脚a和引脚b连接到testbench的测试引脚时,假定引脚a分配到的testbench上测试引脚的编号为x,则引脚b可以分配到testbench上编号为(x+1)或(x-1)的测试引脚。{a;b}和{b;a}的表现是一致的。在其他情况下,引脚分配方式中的引脚连接组为有向引脚连接组,此时,对应建立的邻接图为有向邻接图。有向引脚连接组中的两个引脚对于要连接的测试引脚的逻辑地址有前后顺序要求。例如,定义有向引脚连接组{a;b},将引脚a和引脚b连接到testbench的测试引脚时,假定引脚a分配到的testbench上测试引脚的编号为x,则引脚b只能分配到testbench上编号为(x+1)的测试引脚。{a;b}和{b;a}的表现是不一致的。其中,a分配到x,b只能分配到(x+1),这是在预设置编号增大方向的基础上,且本发明中默认设置为编号增大方向。若预设置编号减少方向,那么a分配到x,b只能分配到(x-1)。图2示出了哥尼斯堡七桥问题示意图。图论起源于18世纪,1736年瑞士数学家欧拉(euler)发表了有关图论的第一篇论文“哥尼斯堡七桥问题”。在当时的哥尼斯堡城有一条横贯全市的普雷格尔河,河中的两个岛与两岸用七座桥连结起来。当时那里的居民热衷于一个难题,游人怎样不重复地走遍七桥,最后回到出发点。为了解决这个问题,欧拉用a、b、c、d4个字母代替陆地,作为4个顶点,将联结两块陆地的桥用相应的线段表示,于是哥尼斯堡七桥问题就变成了图2中,是否存在经过每条边一次且仅一次,经过所有的顶点的回路问题了。欧拉在论文中指出,这样的回路是不存在的。参照图3,示出了基于二端测试的引脚资源分配系统的整体原理框架示意图,用于动态规划多引脚的待测器件基于二端测试的引脚资源分配。所述基于二端测试的引脚资源分配系统包括:整体控制模块、邻接表建立模块、计算资源数模块和更新资源数模块。所述整体控制模块可以获取待测器件上所有待分配的引脚连接组。所述待分配的引脚连接组包括待测器件上的两个引脚集合,从这两个引脚集合中各取一个引脚用于二端测试,例如,选取的两个引脚连接逻辑地址相邻的两个测试引脚。所述整体控制模块对获取的所有引脚连接组进行分配,例如,设待分配的引脚连接组包括集合a{a1,……,ai+1,ai}和集合b{b1,……,bj-1,bj},其中,a1,……,ai+1,ai和b1,……,bj-1,bj都是待测器件上引脚,且i、j都是自然数,从集合a和集合b中各取一个引脚用于二端测试,实现对该引脚连接组的分配;完成所有引脚连接组的分配后,得到该待测器件的引脚分配方式。根据引脚连接组中不同的引脚分配,得到若干种引脚分配方式。在一个实施例中,某个dut的定义关系如下:{(a1,a2);(b1,b2)}、{c;d},引脚连接组为无向引脚连接组。通过整理控制模块能够得到表1中的4种引脚分配方式,即组合1、组合2、组合3和组合4。表1当pinconnection中可能会存在多个pin的组合分配情况testbench引脚地址组合1组合2组合3组合4引脚xa1a1a2a2引脚x+1b1b2b1b2引脚x+2cccc引脚x+3dddd如表1可知,{(a1,a2);(b1,b2)}在定义pin分配规则的时候,只要从(a1,a2)中挑选出一个和(b1,b2)中的任意一个进行相邻分配即完成该pinconnection的分配,所以会产生多种分配组合。所述邻接图建立模块能根据引脚分配方式建立邻接图。邻接图中的结点对应待测器件的引脚,邻接图中的边代表引脚关系,即某条边的两个结点对应一个引脚连接组中的两个引脚。通过此方法,可以针对每种引脚分配方式建立一个邻接图。由于引脚连接组有两种类型,所以需要对不同类型的引脚分配方式建立不同的邻接图。若引脚连接组为无向引脚连接组,则建立的是无向边,继而该引脚分配方式建立的是无向图。若引脚连接组为有向引脚连接组,则建立的是有向边,继而该引脚分配方式建立的是有向图。所述计算资源模块能计算引脚分配方式的资源数。在一个实施例中,计算所述引脚分配方式对应的邻接图被完整画出所需的最少笔画数,再将该最少笔画数与引脚连接组的数量相加,得到的值即为引脚分配方式的资源数,即该引脚分配方式所需占用测试引脚的数量。在一个实施例中,所述计算资源数模块在计算邻接图被完整画出所需的最少笔画数s时,计算公式为:s=;其中,k是指邻接图中所包含的连通图个数,sk是第k个连通图被完整画出所需的最少笔画数。在一个实施例中,sk的计算方式具体为:当邻接图为无向邻接图,遍历第k个连通图中的所有结点,得到该连通图中奇度结点的个数n,则:(1)n为0或者2,则sk=1;(2)n>2(n必然是偶数),则sk=n/2;当邻接图为有向邻接图,遍历第k个连通图中的所有结点,则:(1)每个结点的出度和入度都相等,则sk=1;(2)若出入度之差为正数的所有结点,其出入度之差的和为x,其余所有结点的出入度之差的和为-x,x>1,则sk=x。在一个实施例中,所述计算资源数模块利用图论的一笔画问题来计算引脚分配方式资源数的原理。将testbench每两个相邻的测试引脚看作一个整体,其中间拥有一个slot,只要该slot被占用,则就认为此时还占用了该slot对应的两个相邻的引脚。而每个pinconnection实际上是需要占用两个相邻的测试引脚,由此可以发现,实际上整个算法是在进行pinconnection在slot上的分配。于是可以根据抽象,将pinconnection中需要分配的引脚看作图论中的节点,而相邻关系则为边。只要根据引脚及其之间的相邻关系建立出相应的有向图或者无向图,因为地址编号是一维的,即某个引脚的地址x和相邻引脚的地址y的关系,要么是y=x+1,要么是x=y+1,所以在一次连续分配中,某个节点的分配到此次连续地址中的有效边最多有两条,于是正好可以转换为一笔画问题,然后可以根据图论的相关知识得到需要的测试引脚数,也即所谓的资源数。例如,如果在引脚分配方式中,两个pinconnection有一个共用pin,则该共用pin可以分配为中间的testbench引脚,如下表所示,其结果为{a;b}、{b;c}的分配方案。表2当两个pinconnection共享一个pin的组合情况testbench引脚地址组合引脚xa引脚x+1b引脚x+2c由表2,可以生成一个由a-b-c的无向图。该无向图可以一笔画成,其所占的slot数为2,所需要的引脚数为(slot数+1)。例如,如果某个引脚分配方式中的两个pinconnection没有共用pin,则其分配结果如下表3,其组合的pinconnection为{a;b}、{c;d}。表3当两个pinconnection无共享pin的组合情况testbench引脚地址组合引脚xa引脚x+1b引脚x+2c引脚x+3d由表3,只能生成两个由a-b,c-d的无向图,需要两笔,其所占的slot数为2,其所需要的引脚数则为(slot数+2)。以此类推,当建立的图无法一笔画成的时侯,在每个一笔画成的图之间会空一格slot,如表3中的引脚x+1和x+2之间的slot。此时,slot数和引脚数的关系是:引脚数=slot数+1。因此,可以得到引脚数、pinconnection数和笔画数s之间的关系:引脚数=pinconnection的数量+s。所述更新资源数模块,能够将当前计算资源数模块计算得到的引脚分配方式的资源数与最优资源数(最优资源数的初始值取一个不小于任意引脚分配方式占用测试引脚的数量,比如初始值取测试台上的测试引脚数目)进行比较,并将数值较小的值更新为新的最优资源数。最终的最优资源数对应的引脚分配方式,即为该待测器件进行二端测试时的最优引脚分配方式,即能最少占用测试引脚的引脚分配方式。在一个实施例中,当计算任意邻接图被完整画出所需的最少笔画数为1时,则不再进行后续处理,直接将该邻接图对应的引脚分配方式即为待测器件进行二端测试时的最优引脚分配方式。以上对本发明所提供的基于二端测试的引脚资源分配方法及系统进行了详细介绍,本文中应用了具体个例对本发明的结构及工作原理进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及核心思想。应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求保护的范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1