用于可测性设计的时钟网络结构的制作方法

文档序号:17090899发布日期:2019-03-13 23:27阅读:198来源:国知局
用于可测性设计的时钟网络结构的制作方法

本发明涉及集成电路设计技术领域,尤其涉及一种用于可测性设计的时钟网络结构。



背景技术:

随着半导体集成电路的高速发展,数字芯片规模不断增大,可测性设计(designfortest)越来越受到芯片设计人员的重视。

在可测性设计中,测试时钟与正常工作时钟走的路径不同,在进行可测性设计时,需要增加额外逻辑,对时钟进行控制,使其在测试时能够产生期望的波形。比如对于扫描测试(san_test)来说,在移位阶段(shift)需要使用外部管脚进来的慢速时钟(shift_clk),在捕获阶段(capture)要根据测试模式的不同采用不同的时钟。对于固定故障扫描测试(stuck_at_test),捕获阶段需要使用慢速时钟,对于跳变延时故障测试(transition_test),捕获阶段需要使用快速时钟。

跳变延时故障测试的扫描时钟如图1所示,当se为1时,进入移位模式,扫描时钟为慢速时钟。当se为“0”时,进入捕获阶段,此阶段扫描时钟为连续两拍的快速时钟。

通过对以上可测性设计时对扫描时钟的分析可以知道,在可测性设计时,时钟需要不停的切换,同时,还需要根据要求产生固定数量和形状的时钟脉冲,如图1所示的两拍连续快速时钟。在实际中,无论是从管脚输入的测试时钟,还是内部晶振产生的时钟都是连续时钟,因而,要得到特定的波形,需要在时钟网络中增加控制模块。

外部时钟(如shift_clk)、晶振、锁相环(pll)和时钟控制模块构成了时钟网络。

目前的可测性时钟网络结构设计中,对于小规模芯片来说,一般直接在芯片顶层的时钟模块里,针对不同的时钟加入门控逻辑和控制电路,时钟经过控制模块的处理后分配给不同的模块。如图2所示的时钟网络1,时钟控制模块全部分布在时钟产生模块(clockgenerationmodule,简称ckgen)。当模块内部的时钟域比较复杂的时候,在进行可测试设计时,一般是在子模块内根据不同的时钟域,增加门控逻辑和其他控制电路。如图3所示的时钟网络2,时钟控制模块分布在不同的模块里,如module1、module2。

目前对于时钟网络的研究,主要集中在用于正常工作的时钟网络拓扑结构研究,比如传统对称的h树结构、主流的缓冲二叉树结构或新型的网格型结构等。但是对于可测性设计的时钟网络来说,网络结构一般比较简单。

如上述提供的时钟网络结构中,时钟网络1是在顶层划分时钟,时钟从控制单元出来后,分配给不同的模块。时钟网络2是根据模块进行划分,在每个模块里面针对不同的时钟增加控制单元。这两种不同的时钟网络结构可以用于不同的测试模式。当时钟数目少,时钟比较简单的时候,由于一个时钟可能供给多个模块,采用时钟网络1就比较方便,且增加逻辑比较少。但是当时钟数目比较多的时候,采用时钟网络2就比较方便,可以在模块设计时把相应的时钟网络添加进去,设计方便。

但是,当数字集成电路规模十分大的时候,模块数目多,时钟复杂,上述可测性时钟设计网络结构就不能满足实际的需要。而且大规模数字集成电路设计中,除了需要对各模块内部进行测试,还需要对模块连接进行测试。上述结构就有局限性,不能满足要求。



技术实现要素:

本发明提供的用于可测性设计的时钟网络结构,能够根据测试目标在前期进行层次化网络设计,针对不同的测试模式进行灵活控制,便于设计人员管理和配置时钟。

第一方面,本发明提供一种用于可测性设计的时钟网络结构,所述时钟网络结构包括顶层控制单元和模块控制单元,所述顶层控制单元由pll时钟以及pll分频时钟对应的时钟控制单元组成,所述模块控制单元由测试模块内部的时钟控制单元组成;所述顶层控制单元用于提供所述模块控制单元的时钟来源以及所述测试模块连接的时钟,所述模块控制单元用于提供所述测试模块内部逻辑结构测试的时钟。

可选地,所述顶层控制单元根据顶层时钟不同进行划分。

可选地,所述模块控制单元根据所述顶层控制单元出来的时钟进入所述测试模块后,根据所述测试模块的不同时钟域进行划分。

可选地,每个测试模块的每个时钟区域对应一个时钟控制单元。

可选地,同一个测试模块内的不同时钟控制单元的时钟来自不同的顶层控制单元,或者来自同一个顶层控制单元。

可选地,所述模块控制单元用于提供下级层次时钟控制单元的时钟来源以及所述测试模块的逻辑测试。

可选地,所述模块控制单元包括二级模块控制单元和三级模块控制单元,所述二级模块控制单元用于进行所述测试模块内部逻辑的测试、提供所述测试模块内部封装器测试的时钟来源以及测试封装器与测试模块之间的连接,所述三级模块控制单元用于测试所述封装器的逻辑。

可选地,所述顶层控制单元和模块控制单元中的时钟控制单元均包括:

clk_sel模块,用于控制时钟开/关以及选择时钟来源;

delay_control模块,用于控制当扫描使能信号拉低后,捕获时钟出现的时间;

pulse_cnt模块,用于控制时钟在捕获阶段的时钟脉冲数量;

gate_control模块,用于根据delay_control模块和pulse_cnt模块的配置,生成时钟门控单元的的使能信号gate_en;

clk_mux模块,用于对移位时钟和捕获时钟进行复用,生成需要的扫描时钟scan_clk。

可选地,移位时钟分配在每个时钟控制单元里。

可选地,移位时钟不仅直接提供给所述顶层控制单元,还直接提供给所述二级模块控制单元和三级模块控制单元。

本发明实施例提供的用于可测性设计的时钟网络结构,可以针对不同的测试模式和对象选择不同的时钟通道,顶层控制可以控制不同时钟域,模块控制针对不同的模块,通过混合控制可以实现不同的模式测试和区域测试;每个模块控制单元都有时钟切换、时钟开关、时钟延时、时钟滤波的结构,这样可以针对不同的情况采用不同的控制策略,可以统一控制,也可以单独特殊控制,适应不同的时钟要求;适用于大规模数字集成电路的复杂时钟结构,通过层次化设计,让设计人员对时钟架构更加清晰,测试时灵活控制,便于设计人员管理和配置时钟,大大提高了设计效率。

附图说明

图1为现有技术中跳变延时故障测试的扫描时钟示意图;

图2、图3为现有技术中的可测性时钟网络结构示意图;

图4为本发明一实施例用于可测性设计的时钟网络结构示意图;

图5为本发明另一实施例用于可测性设计的时钟网络结构示意图;

图6为本发明实施例提供的时钟控制单元的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供一种用于可测性设计的时钟网络结构,所述时钟网络结构包括顶层控制单元和模块控制单元,所述顶层控制单元由pll时钟以及pll分频时钟对应的时钟控制单元组成,所述模块控制单元由测试模块内部的时钟控制单元组成;所述顶层控制单元用于提供所述模块控制单元的时钟来源以及所述测试模块连接的时钟,所述模块控制单元用于提供所述测试模块内部逻辑结构测试的时钟。

下面结合具体实施例对本发明用于可测性设计的时钟网络结构进行详细说明。

本发明实施例针对可测性设计中的扫描模式提供了如图4所示的时钟网络结构。以下主要针对可测性设计的扫描模式进行分析。在扫描模式中,扫描时钟包括用于移位的移位时钟(shift_clk)和用于捕获阶段的捕获时钟(capture_clock)。用于跳变延时故障测试(transition_test)的capture_clock要么来自pll,要么来自pll的分频电路。

在如图4所示的时钟结构里,shift_clk是从端口进来的测试移位时钟,移位时钟shift_clk是一个独立的时钟,它分布在顶层global_control和各模块内部的sub_control里面。测试移位时钟具有以下特点:

(1)分配一个单独的扫描移位时钟到各个子模块里面,当对模块内部进行扫描测试的时候,移位时钟可以直接从顶层过来。

(2)移位时,扫描移位时钟到各子模块需要做时钟树平衡。

(3)在正常工作模式时,扫描移位时钟不会引起额外的动态功耗。

pll时钟以及pll分频时钟对应的时钟控制单元构成了顶层控制单元(global_control)。顶层控制单元用于提供:模块控制单元的捕获时钟;用于测试模块连接的扫描时钟;用于其他模式的时钟(如debug模式等)。

如图4所示,芯片有两个pll用于扫描快速时钟,即pll1和pll2。每个pll都输出3个快速时钟用做扫描快速时钟,因而每个pll的输出都增加3个时钟控制单元。pll1的三个输出时钟对应的时钟控制单元分别为clock1_control、clock2_control、clock3_control。pll2的三个输出时钟对应的时钟控制单元分别为clock4_control、clock5_control、clock6_control。

模块内部的时钟控制单元构成了模块控制单元(sub_control)。

在各子模块里面有单独的时钟控制单元。每一个子模块的每个时钟区域(clock_domain),都对应一个clock_control单元。

如图4所示,有两个子模块module_1和module_2。其中module_1有三个时钟区域,因而对应的有三个时钟控制单元,即clock7_control、clock8_control、clock9_control。其中module_2有一个时钟区域,因而有一个时钟控制单元,即clock10_control。

具体而言,对于不同的测试模式,需要使用不同的时钟控制单元进行控制。

(1)当进行模块内部测试的时候,捕获阶段的时钟脉冲可以由global_control控制,也可以由sub_control控制。

但是,当进行transiton_test测试时,时钟在捕获阶段,global_control输出连续时钟脉冲,在sub_control里面再进行时钟滤波,生成所需数量的时钟脉冲。当不同时钟需要的捕获时钟脉冲数目不一样的时候,可以在各自对应的sub_control里面进行单独配置。

对于stuck_at_test来说,无论是在顶层控制单元进行时钟滤波,还是在模块控制单元进行时钟滤波都可以。

当需要对模块1进行测试的时候,global_control中的clk1_control、clock2_control和clock6_control输出连续时钟脉冲。然后根据模块1的具体需求,在clock7_control、clock8_control和clock9_control再进行时钟延时、时钟滤波等控制,得到需要数量的时钟脉冲。

(2)假如需要对不同模块的同一时钟域进行测试,可以在global_control进行时钟延时、时钟滤波等控制,生成需要数量和形状的时钟脉冲,在sub_control保持该时钟穿通即可。

假如需要对clk6_control对应的时钟区域进行测试,从图4可以看出,该时钟连接的测试逻辑不仅在module1里有,在module2里也有。因而,可以在global_control的clk6_control里面进行时钟延时、时钟滤波,输出期望的时钟脉冲,在sub_control对应的控制单元clk9_control和clk10_control里,保持时钟穿通。

(3)假如需要测试模块之间的连接,则在global_control进行时钟延时、时钟滤波,生成需要数量的时钟脉冲,global_control出来的时钟直接提供给模块之间的逻辑。

如图4所示,测试module1和module2之间的连接时,使用global_control中的clock4_control进行时钟延时、时钟滤波,生成需要的时钟脉冲后,直接提供给extest_logic。

当有许多模块都需要测试相互之间的连接时,这些测试可以使用同一个控制时钟,测试同时进行。

扩展的,当模块内部又分不同的情况需要测试时,除了global_control、sub_control外,还需要在模块内部增加第三级控制3rd_control,如图5所示。

在图5所示的可扩展的时钟网络结构里,第一级的控制结构就是顶层pll旁边的global_control,包括clk1_control、clk2_control、clk3_control。第二级的控制结构就是模块里的sub_control,包括模块里的clk4_control、clk5_control。第三级的控制结构是模块里wrapper的3rd_control,包括clk6_control。

第一级的控制结构可以用来提供模块控制单元的时钟来源,以及测试模块连接的时钟。第二级的控制结构用来测试模块内部逻辑,以及用来提供模块内部wrapper测试的时钟来源,还可以测试wrapper和模块之间的连接。第三级的控制结构用来测试wrapper的逻辑。

顶层的时钟控制单元和子模块的时钟控制单元的结构十分类似,如图6所示,顶层和子模块的时钟控制单元的结构包括clk_sel、delay_control、pulse_cnt、gate_control、clk_mux等部分。

clk_sel模块用于控制时钟开/关以及选择时钟来源;

delay_control模块用于控制当扫描使能信号拉低后,捕获时钟出现的时间;

pulse_cnt模块用于控制时钟在捕获阶段的时钟脉冲数量;

gate_control模块用于根据delay_control和pulse_cnt的配置,生成时钟门控单元的的使能信号gate_en;

clk_mux模块用于对移位时钟和捕获时钟进行mux,生成需要的扫描时钟scan_clk。

时钟控制单元均具有时钟切换、时钟开关、时钟延时、时钟滤波的功能,这样就可以在时钟控制时更加灵活,根据不同的模式对象进行调整。

本发明实施例提供的用于可测性设计的时钟网络结构,可以针对不同的测试模式和对象选择不同的时钟通道,顶层控制可以控制不同时钟域,模块控制针对不同的模块,通过混合控制可以实现不同的模式测试和区域测试;每个模块控制单元都有时钟切换、时钟开关、时钟延时、时钟滤波的结构,这样可以针对不同的情况采用不同的控制策略,可以统一控制,也可以单独特殊控制,适应不同的时钟要求;适用于大规模数字集成电路的复杂时钟结构,通过层次化设计,让设计人员对时钟架构更加清晰,测试时灵活控制,便于设计人员管理和配置时钟,大大提高了设计效率。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1