一种集成电路及方法转让专利

申请号 : CN200910207872.4

文献号 : CN101847446B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 爱玛·格塔夫洛夫·科萨瑞

申请人 : 美国博通公司

摘要 :

本发明揭露一种集成电路及其方法。本发明公开了多种示范性的实施例。依据一个示范性的实施例,集成电路可包括模式模块,多个数据模块,和复位节点。模式模块可配置为基于接收的数据输入而输出测试模式信号、扫描模式信号和触发信号。多个数据模块的每个数据模块可包括配置成存储数据的寄存器,多个数据模块中的每个数据模块配置为改写存储在它们各自的存储器中的至少一部分数据,以响应接收的改写指令。基于接收的第一复位输入或第二复位输入,复位节点可配置为使寄存器复位。集成电路可配置为进入测试模式、进入扫描模式,并退出测试模式。

权利要求 :

1.一种集成电路,其特征在于,所述的集成电路包括:

模式模块,其配置成基于接收的数据输入认定测试模式信号、扫描模式信号和触发信号;

多个数据模块,其中每个数据模块均包括配置成存储数据的寄存器,多个数据模块中的每个数据模块配置成改写存储在它们各自的寄存器中的至少一部分数据,以响应接收的改写指令;以及复位节点,其配置成基于接收的第一复位输入或第二复位输入使所述的寄存器复位;

其中,所述集成电路基于所述的测试模式信号配置成进入测试模式;

且基于以下使所述集成电路配置为进入扫描模式:

延迟扫描允许指令,当集成电路把改写指令提供给多个数据模块中的每个数据模块以改写它们各自的寄存器之后,所述集成电路提供所述延迟扫描允许指令,所述集成电路基于所述触发信号提供改写指令;

扫描模式信号;和

当所述复位节点接收所述第一复位输入时的测试模式信号;以及

其中当所述复位节点接收所述第二复位输入而在所述模式模块不输出所述测试模式信号的情况下,所述集成电路配置为退出测试模式;以及其中,所述集成电路还被配置为当所述集成电路为所述扫描模式时,指示所述多个数据模块中的每个数据模块避开它们各自的寄存器。

2.如权利要求1所述的集成电路,其特征在于,所述模式模块包括联合测试行动组(JTAG)数据寄存器。

3.如权利要求1所的述集成电路,其特征在于,所述多个数据模块中的每个数据模块配置为清除存储在它们各自寄存器中的数据,以响应接收的改写指令。

4.如权利要求1所述的集成电路,其特征在于,所述多个数据模块中的每个数据模块配置为扰乱存储在它们各自寄存器中的至少一部分数据,以响应接收的改写指令。

5.如权利要求1所述的集成电路,其特征在于,所述多个数据模块中的每个数据模块包括配置成改写存储在寄存器中的数据的状态机,以响应接收的改写指令。

6.一种测试方法,其特征在于,所述的方法包括:

基于接收的第一复位信号而接收的测试模式信号,通过集成电路进入测试模式;

在进入所述测试模式之后,把改写指令提供给多个数据模块的每个数据模块,以改写包括在各数据模块中的寄存器;

在提供所述改写指令之后,进入扫描模式;以及

基于不接收所述模式信号而接收的第二复位信号,退出所述测试模式;

其中,所述进入扫描模式包括指示多个数据模块中的每个数据模块执行逻辑内置自测试,所述逻辑内置自测试包括避开包括在各数据模块中的存储模块。

7.如权利要求6所述的方法,其特征在于,提供改写指令包括基于从联合测试行动组(JTAG)数据寄存器接收的触发信号把改写指令提供给所述多个数据模块中的每个数据模块。

8.如权利要求6所述的方法,其特征在于,把改写指令提供给多个数据模块中的每个数据模块包括通过状态机把所述改写指令提供给多个数据模块中的每个数据模块;以及进入所述扫描模式包括基于从状态机接收的延迟扫描允许指令,进入扫描模式。

9.一种集成电路,其特征在于,包括:

联合测试行动组JTAG数据寄存器,其包括输入节点、测试模式输出节点、扫描模式输出节点和触发输出节点,基于经输入节点接收的输入,所述JTAG数据寄存器配置为通过所述测试模式输出节点把测试模式信号输出到双稳态多谐振荡器的数据输入和测试或门的第一输入节点,通过所述扫描模式输出节点把扫描信号输出到扫描模式与门的第一输入节点,并通过所述触发输出节点把触发信号输出到状态机的输入;

测试或门,其包括第一输入节点、第二输入节点和输出节点,基于通过它的第一输入节点从JTAG数据寄存器的测试模式输出节点接收测试模式信号以及通过它的第二输入节点从双稳态多谐振荡器接收的输出信号,所述测试或门配置为通过它的输出节点把测试或门信号提供给测试模式输入节点;

双稳态多谐振荡器,其包括数据输入节点、时钟输入节点和输出节点,基于通过它的数据输入节点从所述测试模式输出节点接收所述测试模式信号,同时通过它的时钟输入从复位节点接收复位输入,所述双稳态多谐振荡器配置为把双稳态多谐振荡器信号发送到所述测试或门的所述第二输入节点和所述扫描模式与门的第二输入节点;

复位节点,其配置成把复位输入提供给所述双稳态多谐振荡器的时钟输入;

状态机,其包括输入节点、多个数据模块输出节点和延迟扫描输出节点,其中所述状态机配置为:基于通过它的输入从所述JTAG数据寄存器接收触发信号,通过它的多个数据模块输出节点把改写指令提供给多个数据模块中的每个数据模块;以及在提供所述改写指令之后,提供延迟扫描输出给所述扫描模式与门的第三输入节点;

多个数据模块,每个数据模块包括用于存储数据的寄存器,基于从所述状态机接收的改写指令,所述多个数据模块中的每个数据模块配置为改写存储在它们各自寄存器中的至少一部分数据;

扫描模式与门,所述扫描模式与门包括第一输入节点、第二输入节点、第三输入节点和输出节点,基于从扫描模式的输出节点、双稳态多谐振荡器和状态机接收的信号,把所述扫描模式与门配置成通过它的输出节点提供扫描模式与门输出给扫描允许与门的第一输入;

扫描允许与门,所述扫描允许与门包括第一输入节点、第二输入节点和输出节点,基于通过它的第一输入节点从所述扫描模式与门接收输出和通过它的第二输入节点从扫描允许接点接收扫描允许信号,把扫描允许与门配置为通过它的输出节点提供扫描信号输出到扫描模块;以及扫描允许节点,其配置成把所述扫描允许信号提供给所述扫描允许与门的第二输入节点。

10.如权利要求9所述集成电路,其特征在手,所述集成电路进一步包括:扫描或门,其包括连接到所述状态机的所述延迟扫描输出节点的输入节点和连接到所述扫描模式与门的所述第三输入节点的输出节点,其中所述状态机配置为经所述扫描或门把所述延迟扫描输出提供给所述扫描模式与门的所述第三输入节点。

说明书 :

一种集成电路及方法

技术领域

[0001] 本发明涉及集成电路中的数据保护。

背景技术

[0002] 集成电路可存储需要保密的安全数据。然而,在集成电路的扫描功能中,未授权人员可访问这些安全数据。因此,有必要阻止未授权的人员访问这些安全数据。

发明内容

[0003] 以下将结合附图和说明书对本发明的一个或多个实施方式进行详细的阐述。
[0004] 依据本发明的一方面,其提供了一种集成电路,包括:
[0005] 模式模块,其配置成基于接收的数据输入认定(assert)测试模式信号、扫描模式信号和触发信号;
[0006] 多个数据模块,其中每个数据块均包括配置成存储数据的寄存器,多个数据模块中的每个数据模块配置成改写存储在它们各自寄存器中的至少一部分数据,以响应接收的改写指令;以及
[0007] 复位节点,其配置成基于接收的第一复位输入或第二复位输入使所述的寄存器复位;其中
[0008] 基于所述的测试模式信号,所述集成电路配置为进入测试模式;
[0009] 且基于以下使所述集成电路配置为进入扫描模式:
[0010] 延迟扫描允许指令,当集成电路把改写指令提供给多个数据块中的每个数据块以改写它们各自的寄存器之后,所述集成电路提供所述延迟扫描允许指令,所述集成电路基于所述触发信号提供改写指令;
[0011] 所述扫描模式信号;
[0012] 当所述复位输入节点接收所述第一复位信号时的所述测试模式信号;以及[0013] 当所述复位输入节点接收第二复位输入而所述模式模块不输出所述测试模式信号的情况下,所述集成电路配置为退出测试模式。
[0014] 优选地,所述模式模块包括联合测试行动组(JTAG)数据寄存器。
[0015] 优选地,所述多个数据模块中的每个数据模块配置为清除存储在它们各自寄存器中的数据,以响应接收的改写指令。
[0016] 优选地,所述多个数据模块中的每个数据模块配置为扰乱存储在它们各自寄存器中的至少一部分数据,
[0017] 优选地,所述多个数据模块中的每个数据模块包括配置成改写存储在寄存器中的数据的状态机,以响应接收的改写指令。
[0018] 优选地,所述集成电路配置为进入所述测试模式,其中,所述测试模式包括面向测试的设计(DFT)模式。
[0019] 优选地,所述集成电路配置为进入所述扫描模式,其中,所述扫描模式包括执行逻辑内置自测试(LBIST)。
[0020] 优选地,所述集成电路进一步配置为当所述集成电路为所述扫描模式时,指示所述多个数据模块中的每个数据模块避开它们各自的寄存器。
[0021] 优选地,所述集成电路进一步包括:
[0022] 扫描允许输入;
[0023] 其中,基于以下把所述集成电路配置为进入所述扫描信号:
[0024] 延迟扫描允许指令,当所述集成电路提供所述改写指令给所述多个数据模块中的每个数据模块以改写它们各自的寄存器之后,所述集成电路提供所述延迟扫描允许指令,所述集成电路基于所述触发信号提供所述改写指令;
[0025] 扫描模式信号;
[0026] 当所述复位输入节点接收所述复位信号时的测试模式输出信号;以及[0027] 从所述扫描允许输入接收的扫描允许信号。
[0028] 优选地,所述集成电路配置为在扫描模式中移动进出所述寄存器的数据。
[0029] 优选地,所述集成电路进一步包括配置成接收所述触发信号的状态机,基于接收所述触发输入发送所述扰乱指令到每个所述数据模块,并在发送所述扰乱指令之后输出所述延迟扫描允许指令。
[0030] 优选地,所述集成电路进一步包括双稳态多谐振荡器(flip-flop),所述双稳态多谐振荡器包括配置成经过至少一个逻辑门接收来自所述模式模块、连接到复位节点的时钟输入以及连接到每个测试节点和扫描允许节点的输出节点的测试模式信号。
[0031] 优选地,所述集成电路进一步包括:
[0032] 双稳态多谐振荡器,其包括配置成从所述模式块接收测试模式信号的数据输入;
[0033] 连接到复位节点的时钟输入;以及
[0034] 输出接点,其经过至少一个或门连接测试节点,并经过至少一个与门连接到扫描允许节点。
[0035] 依据一方面,本发明提供了一种方法,其包括:
[0036] 当接收第一复位信号时,基于接收的测试模式信号通过集成电路进入测试模式;
[0037] 在进入所述测试模式之后,提供改写指令给多个数据模块的每个数据模块以改写包括在所述各自数据模块的每个数据模块中的寄存器;
[0038] 在提供所述改写指令之后,进入扫描模式;以及
[0039] 在接受第二复位信号而不接收所述模式信号的情况下,退出所述测试模式。
[0040] 优选地,基于从联合测试行动组(JTAG)数据寄存器接收触发信号,所述提供所述改写指令包括提供所述改写指令给所述多个数据模块中的每个数据模块。
[0041] 优选地,所述提供所述改写指令给所述多个数据模块中的每个数据模块包括通过状态机提供所述改写指令给所述多个数据模块中的每个数据模块;以及
[0042] 进入扫描模式,其包括基于从所述状态机接收的延迟扫描允许指令进入扫描模式。
[0043] 优选地,所述进入所述扫描模式包括指示多个数据模块中的每个数据模块执行逻辑内置自测试(LBIST),所述逻辑内置自测试(LBIST)包括避开包括在所述各自数据模块中的存储模块。
[0044] 优选地,所述扫描模式包括把数据移出和移入包括在数据模块中的寄存器。
[0045] 依据一方面,本发明的集成电路包括:
[0046] 联合测试行动组(JTAG)数据寄存器,其包括输入节点、测试模式输出节点、扫描模式输出接点和触发输出节点,基于经输入节点接收的输入,所述JTAG数据寄存器配置为通过所述各自输出节点把测试模式信号输出到双稳态多谐振荡器的数据输入和测试或门的第一输入节点,把扫描信号输出到扫描模式与门的第一输入节点,并把触发信号输出到状态机的输入;
[0047] 测试或门,其包括所述第一输入节点、第二输入节点和输出节点,基于通过它的第一输入节点从JTAG数据寄存器的所述测试模式输出节点接收所述测试模式信号或通过它的第二输入节点从所述双稳态多谐振荡器接收的输出信号,所述测试或门配置为通过它的输出节点提供测试或门信号给测试模式输入节点;
[0048] 双稳态多谐振荡器,其包括数据输入节点、时钟输入节点和输出节点,基于通过它的数据输入节点从所述测试模式输出节点接收所述测试模式信号,同时通过它的时钟输入从复位节点接收复位信号,所述双稳态多谐振荡器配置为把双稳态多谐振荡器信号发送到所述测试或门的所述第二输入节点和所述扫描节点与门的第二输入节点;
[0049] 复位节点,其配置成提供所述复位输入给所述双稳态多谐振荡器的时钟输入;
[0050] 状态机,其包括所述输入节点、多个数据块输出节点和延迟扫描输出节点,其中所述状态机配置成:
[0051] 基于通过它的输入从所述JTAG数据寄存器接收所述触发信号,通过它的多个数据模块输出节点提供改写指令给多个数据块中的每个数据模块;以及
[0052] 在提供所述改写指令之后,提供延迟扫描输出给所述扫描模式与门的第三输入节点;
[0053] 多个数据模块,每个数据模块包括用于存储数据的寄存器,基于从所述状态机接收所述改写指令,所述多个数据模块中的每个数据模块配置为改写存储在它们各自寄存器中的至少一部分数据;
[0054] 扫描模式与门,所述扫描模式与门包括所述第一输入节点、所述第二输入节点、所述第三输入节点和所述输出节点,基于从扫描模式的输出节点,双稳态多谐振荡器和状态机接收的信号,把所述扫描模式与门配置成通过它的输出节点提供扫描模式与门输出给扫描允许与门的第一输入;
[0055] 扫描允许与门,所述扫描允许与门包括所述第一输入节点、第二输入节点和输出节点,基于通过它的第一输入节点从所述扫描模式与门接收所述输出和通过它的第二输入节点从扫描允许接点接收扫描允许信号,把所述扫描允许与门配置为提供扫描模式与门输出给扫描允许节点;以及
[0056] 扫描允许节点,其配置成提供所述扫描允许信号给所述扫描允许与门的第二输入节点。
[0057] 优选地,所述集成电路进一步包括:
[0058] 扫描或门,其包括连接到所述状态机的所述延迟扫描输出节点的输入节点和连接到所述扫描模式与门的所述第三输入节点的输出节点,其中
[0059] 所述状态机配置为经所述扫描或门把所述延迟扫描输出提供给所述扫描模式与门的所述第三输入节点。
[0060] 通过说明书和附图以及权利要求的详细描述,将更容易理解本发明的其它特征。

附图说明

[0061] 图1是依据本发明的例示性的实施例的集成电路的框图。
[0062] 图2是依据本发明的例示性的实施例的数据模块的框图。
[0063] 图3是依据本发明的例示性的实施例的方法的流程图。

具体实施方式

[0064] 图1是依据本发明的示范性的实施例的集成电路100的框图。例如,集成电路100可包括用于存储、提供和控制安全数据(如在移动或无线装置、数字装置或显示单元,或音频单元如网络电话(VoIP)中的安全密钥)的访问的集成电路。
[0065] 在一个示范性的实施例中,集成电路100可配置成设在测试模式或功能模式中。测试模式可以是面向测试的设计(DFT)模式。DFT模式可以阻止在集成电路100中的装置执行与集成电路的测试或扫描无关的功能。根据示范性的实施例,测试模式可包括子模式,例如扫描模式、逻辑内置自测试(LBIST)模式、存储器内置自测试(MBIST)模式和/或联合测试行动组(JTAG)模式。
[0066] 在扫描模式中,集成电路100可扫描存储在双稳态多谐振荡器(如包括在集成电路100的寄存器中)的双稳态多谐振荡器的数据或逻辑状态。安全密钥可存储在这些寄存器中,并在扫描模式中也可移出寄存器,用作串行输出。在扫描模式期间,未授权人员需把探测器或者其它输出-探测装置应用到双稳态多谐振荡器和/或寄存器的输出,以获取安全密钥。
[0067] 在LBIST模式中,集成电路100可扫描存储在双稳态多谐振荡器的数据或逻辑状态,也可扫描包含在集成电路100中的逻辑门如与门、或门、非门、与非门、或非门或者异或门的逻辑状态。在MBIST模式中,集成电路100可扫描存储器装置,例如包含在集成电路100中的数据模块。在JTAG模式中,集成电路100可执行边界扫描,以测试集成电路100的子模块之间的相互连接关系。
[0068] 在示范性的实施例中,集成电路100可设在测试模式。在设在测试模式之后,集成电路100可设在一个或多个子模式中。例如,在进入测试模式之后和在从复位节点接收输入或信号之后,集成电路100可设在扫描模式置。复位节点除了允许集成电路100进入测试模式之外,其还可以使集成电路100中的装置复位。复位集成电路100中的装置可删除装置中的数据,例如安全密钥。仅仅在复位输入引起集成电路100中的装置复位之后,才可把集成电路100配置成进入测试模式。因此仅仅在安全密钥从集成电路中删除之后,才允许集成电路进入测试模式。
[0069] 在进入扫描模式之前,集成电路100可改写存储在集成电路中的数据,如安全密钥。根据示范性的实施例,安全密钥包括加密密钥,其用于集成电路100接收或从集成电路100发送的数据的加密和/或解密,或者包括授权密钥,其用于访问存储在集成电路100中的数据或获取集成电路100的控制。因此,仅仅在复位集成电路100中的装置之后和在改写存储在集成电路100中的数据(如安全密钥)之后,集成电路100才可配置成进入扫描模式。而在扫描模式中,集成电路100可禁止访问某些存储模块以阻止当集成电路100为扫描模式时从存储模块提取数据,如安全密钥。
[0070] 集成电路100可退出测试模式,结果是接收第二复位输入,这样可使装置复位,并再次删除或改写数据。因此,在这个实施例中,集成电路100依次地使装置复位、进入测试模式、改写数据、进入扫描模式、退出扫描模式、在退出测试模式和进入功能模式之前再次使装置复位。通过依次地执行这些功能,可控制对存储在集成电路中的敏感数据的访问。
[0071] 在图1所示的实施例中,集成电路100可包括模式模块102。模式模块102可包括电路,以控制集成电路100在哪一个模式中,例如是在测试模式(或DFT模式)或功能模式的哪一个模式中。根据示范性的实施例,模式模块102也可控制集成电路100在测试模式下的哪一个子模式中,例如,是在扫描模式、逻辑内置自测试(LBIST)模式、存储器内置自测试(MBIST)模式和/或联合测试行动组(JTAG)模式中的哪一个模式中。在一个示范性的实施例中,模式模块102可包括JTAG数据寄存器。
[0072] 模式模块102可从测试数据输入(TDI)节点104接收输入。TDI节点104可从集成电路100之外接收输入。TDI节点104可接收测试激励,如经集成电路100的待扫描数据。
[0073] 模式模块102也可经测试数据输出(TDO)节点106把输出发送到集成电路100之外。TDO节点106可提供输出响应给TDI节点104提供的测试激励。可以通过集成电路100对TDI节点104到TDO节点106的数据进行扫描。在例示性的实施例中,TDO节点106的输出可表明集成电路100是否通过TDI节点104对提供给集成电路100的数据进行了适当的处理。
[0074] 模式模块102可与集成电路100中的其它装置通信。为促进通信,模式模块102可包括多个输入和/或输出模块。输入或输出模块可接收来自集成电路100中其它装置的输入或可给集成电路100中的其它装置提供输出。在图1所示的实施例中,模式模块102可包括DFT模式模块108、扫描模式模块110、LBIST清除状态模块112、模拟覆盖模块114和触发模块116。根据多个示范性的实施例,模式模块102中可包括其它模块,例如MBIST模块。
[0075] 在示范性的实施例中,DFT模式模块108可包括配置成使集成电路进入测试模式的电路。参见图1所示的实施例,DFT模式模块108可连接到测试或门118的第一输入。测试或门118的输出可连接到DFT模块120。例如,通过测试或门118,DFT模式模块108可把测试模式信号(如“1”)发送到DFT模块120。当激活时,DFT模块120可导致在集成电路100中的其它装置进入测试模式。因此,DFT模式模块108可激活DFT模块120并使得集成电路100中的装置进入测试模式。而在测试模式中,集成电路100中的装置除了测试功能或处理之外,不具有其它的功能或处理能力。
[0076] 在图1所示的实施例中,DFT模式模块108也可连接至双稳态多谐振荡器122的数据输入(D)。在这个实施例中,双稳态多谐振荡器122可包括带有清除功能的正跳沿触发(positive-edge-triggered)的D双稳态多谐振荡器。双稳态多谐振荡器122的时钟输入可连接至集成电路100的复位节点124。复位节点124可连接到集成电路100以外的装置且受该装置控制,或受集成电路100的使用者或安装了集成电路100的装置的使用者的控制。复位节点124可包括电路,此电路配置成认定双稳态多谐振荡器122的时钟输入端的复位输入或信号(如“1”),接着终止认定复位输入或信号;双稳态多谐振荡器122将复位节点124的复位输入或信号的缺失解释为“0”。除了提供复位输入或信号给双稳态多谐振荡器122的时钟输入端外,复位节点124可通过集成电路加快复位操作。复位操作可通过诸如清除存储在装置的特殊数据,如安全数据(如安全密钥或加密密钥)以使集成电路100中的装置复位。
[0077] 双稳态多谐振荡器122的输出节点(Q)可连接至测试或门118的第二输入。在正跳沿触发的D双稳态多谐振荡器的实施例中,当触发复位节点124时,双稳态多谐振荡器122存储从DFT模式模块108接收的值。双稳态多谐振荡器122也可把复位输入或信号发送到双稳态多谐振荡器122的时钟输入端,并把存储的值提供给测试或门118。除非双稳态多谐振荡器122从复位节点124接收别的复位信号,否则存储在双稳态多谐振荡器122的值是不可更改的。因此,当DFT模式模块108在认定测试模式信号或“1”到DFT模块120时,如果复位节点124发送复位输入或信号给双稳态多谐振荡器122的时钟输入端,双稳态多谐振荡器122将会存储测试模式信号或“1”。当存储测试模式信号或“1”时,双稳态多谐振荡器122将认定测试模式信号或“1”到第一测试门118,直到双稳态多谐振荡器122从复位节点124接收别的复位输入或信号,此时,双稳态多谐振荡器122将会存储从DFT模式模块108接收的新信号。如果双稳态多谐振荡器122从复位节点124接收第一复位信号,进而从DFT模式模块108接收测试模式信号(如“1”),双稳态多谐振荡器122可存储测试模式信号或“1”,直到从复位节点124接收第二复位信号进而从DFT模式模块108接收不同信号(例如,测试模式信号的缺失或“0”)。因此,在这个实施例中,当在测试模式时,如果集成电路100接收复位信号,且当DFT模块在认定不同信号(如测试模式信号的缺失或“0”)为退出或中断测试模式时,直到集成电路100接收别的复位信号之后,集成电路100才退出测试模式。在装置退出测试模式和进入激活模式之前,集成电路100可通过复位装置从寄存器中清除在激活模式下仍然保留在寄存器且可被未授权人员或实体访问的安全数据。
[0078] 在图1所示的实施例中,双稳态多谐振荡器122也可包括连接至上电复位(POR)输入126的清除输入端。上电复位输入126可连接至集成电路100之外的一个或多个装置,当集成电路100断电时,如当集成电路100电源不可用,上电复位输入126可提供复位或清除输入给双稳态多谐振荡器122的清除输入端。在这个实施例中,当集成电路100电源不可用时,上电复位输入126可提供复位或清除输入给双稳态多谐振荡器122的清除输入端,从而使得双稳态多谐振荡器122存储非测试的或“0”值。
[0079] 在进入测试或DFT模式之后,集成电路100可设在扫描模式。在扫描模式期间,数据可移入或移出集成电路100,例如移入或移出包括在集成电路100中的双稳态多谐振荡器122和/或寄存器。在图1所示的实施例中,集成电路100可包括扫描允许与门128,扫描允许与门128包括连接至扫描块130的输出。当扫描模块130被扫描允许与门128激活时,可加速集成电路100中其它装置进入扫描模式。当集成电路100处于扫描模式,可在集成电路100的一个或多个装置上进行测试,以评估装置的性能。例如,当集成电路在扫描模式下,可执行LBIST测试。
[0080] 扫描允许与门128可具有连接至扫描允许输入端132的第一输入,且与门128可从扫描允许输入端132接收输入。扫描允许输入端132可从集成电路100之外的装置或使用者接收输入。当被外部装置或使用者加快时,扫描允许输入端132可提供扫描信号给扫描允许与门128。然而,当扫描允许与门128也从扫描模式与门134接收扫描信号时,扫描模式与门128仅仅为扫描模块130提供扫描信号以促进扫描。这确保了集成电路100不进入扫描模式,除非在集成电路100进入要求复位的测试模式之后。通过在进入扫描模式之前所要求的复位,藉此在进入扫描模式之前消除存储在集成电路装置中的数据,在扫描模式期间集成电路100阻止某人在装置上利用探测器把数据从装置中扫描出来。因为在扫描模式之前在复位期间数据已经被消除,故在扫描模式期间数据不会从装置中扫描出来。
[0081] 扫描模式与门134的输出可连接至扫描允许与门128的第二输入。因此,当扫描允许与门128从扫描允许输入端132和扫描模式与门134接收扫描信号时,扫描允许与门128可把扫描信号提供给扫描模块130。
[0082] 扫描模式与门134可具有连接至双稳态多谐振荡器122的输出的第一输入。该输入可要求双稳态多谐振荡器122存储扫描模式与门134的测试模式信号或“1”,以把扫描信号发送给扫描允许与门128。根据示范性的实施例,如果双稳态多谐振荡器122不存储测试模式信号或“1”,扫描模式与门134可不把扫描信号提供给扫描允许与门128。
[0083] 扫描模式与门134可具有连接至模式时钟102的扫描模式时钟110的第二输入。如下面的论述,基于通过TDI节点104接收的输入或基于从状态机136接收的输入,扫描模式模块110可把扫描模式信号提供给扫描模式与门134。基于由TDI节点104接收的输入,扫描模式模块110可把扫描模式信号提供给扫描模式与门134作为初始化过程的一部分。
[0084] 集成电路100可包括状态机136。根据示范的性实施例,状态机136可包括独立的状态机或有限状态机。状态机136可基于连续的输入来提供输出。在图1所示的实施例中,状态机136可基于输入(如从模式块102的触发块116接收的触发信号)以提供输出。由触发模块116发送的触发信号可为状态机136提供指令,如下文所述的提供某些输出的指令。基于由TDI节点104经模式模块102接收的输入,触发模块116可把指令提供给状态机。例如,在DFT模式模块108已把测试模式信号发送给测试或门118和双稳态多谐振荡器122之后,触发模块116可把指令提供给状态机136,以利于扫描模式。这确保了集成电路100不进入扫描模式,除非集成电路100进入要求复位的测试模式。因此,除非集成电路已经复位之后,集成电路100才会进入扫描模式。由于复位删除了某些数据,在扫描模式期间这些数据将不会再被扫描出装置。
[0085] 状态机136可连接并提供指导给多个数据模块138A、138B、138C、138D。虽然图1所示的集成电路100包括四个数据模块138A、138B、138C、138D,但是集成电路100可包括任何数目的数据模块。数据模块138A、138B、138C、138D可存储数据。例如,数据模块138A、138B、138C、138D中的每个数据模块都可包括多个存储数据的寄存器。数据可包括安全密钥。
[0086] 基于从触发模块116接收的触发信号,状态机136可把改写指令提供给数据模块138A、138B、138C、138D中的任何一个数据模块。数据模块138A、138B、138C、138D可改写或消除存储在它们各自的寄存器和逻辑门中的数据,如安全密钥,以响应接收的改写指令。在示范性的实施例中,通过将所有数据改写为“1”或将所有数据改写为“0”,或通过将数据改写为伪随机数据,数据模块138A、138B、138C、138D可改写或消除数据。
[0087] 图2是依据本发明的一个示范性的实施例的数据模块138的框图。在该实施例中,数据模块138可从状态机136接收输入。数据模块138可包括接收输入的控制器202。控制器202可包括能够接收和执行指令(如从状态机136接收的指令)的处理器。控制器
202可接收指令以改写数据,如安全密钥。基于接收的改写指令,控制器202可指示伪随机模式产生器204将存储在存储器206中的数据改写为伪随机数据。存储器206可包括存储数据或安全密钥的寄存器。在示范性的实施例中,数据可移入或移出包括在存储器206中的寄存器。根据接收的改写指令,控制器202也可将存储在存储器206的寄存器中的数据改写为“0”或“1”。
[0088] 根据从状态机136接收的指令,控制器202也可令数据模块138从存储器206输出数据,或者避开存储器206并从控制器202输出数据。通过控制包括连接至每个存储器206和控制器202的输入的多路器208,控制器202可避开存储器206。控制器202可确定多路器208是从存储器206接收输入还是从控制器202接收输入。如果控制器202使得多路器208从控制器202而非存储器206接收输入,那么就会认为是避开存储器206。在扫描模式期间,控制器202可使得多路器208从控制器接收输入并避开存储器206,使得可以通过存储器206和多路器208探测或检测数据输出的人或实体不能得到存储在存储器206中的数据,如安全密钥或加密密钥。例如,在扫描功能期间,控制器202可避开存储器206以阻止安全密钥从包含在存储器中的寄存器中扫描出来。数据模块138的输出可连接至集成电路100中或其之外的其它装置。
[0089] 回到图1,在发送改写指令给数据模块138A、138B、138C、138D之后,状态机通过扫描或门140的第一输入发送延迟扫描允许指令给LBIST清除状态模块112和扫描模式与门134的第三输入。LBIST清除状态模块112可从状态机136接收输入,表明数据模块138A、
138B、138C、138D已经从状态机136接收并完成改写指令。根据示范性的实施例,基于LBIST清除状态模块112从状态机136接收延迟扫描允许指令或信号,扫描模式模块110可把扫描信号提供给扫描模式与门134。
[0090] 扫描或门140的输出连接至扫描模式与门134的第三输入。状态机136在发送改写指令给数据模块138A、138B、138C、138D之后可发送延迟扫描允许指令给数据模块138A、138B、138C、138D。在这个实施例中,在复位节点124已经使集成电路100中的装置复位之后,且在数据块138A,138B,138C,138D基于从状态机136接收改写指令以改写了存储在它们各自寄存器中的数据之后,扫描模块130可从扫描允许与门128接收扫描信号,藉此促进集成电路100进入扫描模式。因此,在这个实施例中,仅仅在复位期间,安全数据已经被消除之后和在存储在数据模块138A、138B、138C、138D的寄存器中的数据已经被改写之后,集成电路100才可进入扫描模式。根据示范性的实施例,当扫描允许节点132停止认定扫描信号时,当双稳态多谐振荡器122停止存储测试模式信号或“1”时,当扫描模式模块110停止认定扫描信号时,或当状态机136停止提供延迟扫描允许指令时,集成电路100可退出扫描模式。因此,如果集成电路100退出测试模式(可能要求复位),集成电路100也可能会退出扫描模式;当集成电路100可能不在测试模式,也不会在扫描模式。但是,集成电路100可退出扫描模式,而处于测试模式中。
[0091] 在示范性的实施例中,集成电路100可包括模拟节点142。模拟节点142可连接至集成电路100之外的装置,或者被使用者控制,或者固定在一次性可编程存储器位上,该一次性可编程存储器位在分配集成电路100之前是可编程的。接合了模拟覆盖模块114的模拟节点142可把输入提供给模拟与门144,并可使其在制造或测试期间对集成电路100进行测试。模拟与门144可具有提供信号给扫描或门140的第二输入的输出。通过提供输入给扫描或门140,在不涉及状态机136和不提供改写指令给数据模块138、138B、138C、138D的情况下,模拟节点142和模拟覆盖块114可允许集成电路100进入扫描模式。这使得集成电路100的制造商可在无需与改写指令相关的处理开销的情况下扫描集成电路100。在一个示范性的实施例中,在发布集成电路100之前制造商可禁用模拟节点142和/或模拟覆盖块114。通过禁用模拟节点142和/或模拟覆盖块114,在没有状态机136首先提供改写指令给数据块138A、138B、138C、138D的情况下,制造商可阻止下游用户的集成电路100进入扫描模式。
[0092] 图3是依据本发明的一个示范性的实施例的方法300的流程图。在这个实施例中,方法300可包括:基于接收的第一测试模式信号而接收的第一复位信号,通过集成电路102进入测试模式(302)。方法300也可包括提供改写指令给多个数据模块138A、138B、138C、138D中的每个数据模块以改写包括在每个各自的数据模块138A、138B、138C、138D中的寄存器(304)。方法300也可包括在提供改写指令之后,进入扫描模式(306)。方法300还可包括,基于接收第二测试模式信号而接收的第二复位信号,退出测试模式(308)。
[0093] 在示范性的实施例中,提供改写指令可包括基于接收从联合测试行动组(JTAG)数据寄存器接收的触发信号把改写指令提供给多个数据模块138A、138B、138C、138D中的每个数据模块。
[0094] 在示范性的实施例中,把改写指令提供给多个数据模块138A、138B、138C、138D中的每个数据模块可包括通过状态机136把改写指令提供给多个数据模块138A、138B、138C、138D中的每个数据模块。在这个实施例中,进入扫描模式可包括基于从状态机136接收的延迟扫描允许指令而进入扫描模式。
[0095] 在示范性的实施例中,进入扫描模式包括指示多个数据模块138A、138B、138C、138D中的每个数模据块执行逻辑内置自测试(LBIST),其中LBIST包括避开分别包含在数据模块138A、138B、138C、138D中的存储模块206。
[0096] 在示范性的实施例中,扫描模式可包括把数据移入或移出包含在数据模块138A、138B、138C、138D的寄存器。
[0097] 本文所描述的各种技术可以在数字电路,或者计算机硬件、固件、软件或其组合中实现。这些技术也可以作为计算机程序产品实现,即这些计算机程序嵌入信息载体中(例如机器可读的存储装置或者传播的信号),以通过数据处理装置(如可编程处理器、计算机、或者多个计算机)来执行这些程序或者执行这些程序以控制数据处理装置(如可编程处理器、计算机、或者多个计算机)。可执行上述操作的计算机程序可用任何形式的编程语言编写,包括汇编或解释语言,且可以以任何形式来配置,例如独立程序,或者模块、组件、子程序或适于在计算环境中使用的其它单元。计算机程序可配置成在一个计算机或者多个计算机上运行,所述多个计算机可以位于同一地点或者分布在多个地点并通过通信网络互连。
[0098] 可由一个或多个可编程处理器执行本发明的方法步骤,该可编程处理器运行计算机程序,对输入数据进行操作并生成输出数据,以执行其功能。方法步骤也可以由专用逻辑电路来执行,装置也可由专用逻辑电路实施,例如FPGA(现场可编程门阵列)或者ASIC(专用集成电路)。
[0099] 适于执行计算机程序的处理器包括,例如通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器可从只读存储器或随机存取存储器或两者中接收指令和数据。计算机部件包括用于执行指令的至少一个处理器以及用于存储指令和数据的一个或多个存储装置。通常,计算机也可包括一个或多个用于存储数据的大容量存储装置,或者可操控地连接到一个或多个用于存储数据的大容量存储装置,以从中接收数据或向其发射数据,例如,所述大容量存储装置是磁盘、磁光盘、或者光盘。适于包含计算机程序指令和数据的信息载体包括所有形式的非易失存储器,例如包括EPROM、EEPROM和闪存之类的半导体存储装置、磁盘如内置硬盘或可移动磁盘、磁光盘、以及CD-ROM和DVD-ROM光盘。处理器和存储器可以由专用逻辑电路来实施,或者结合到专用逻辑电路中。
[0100] 为与用户提供交互,可在具有显示装置如阴极射线管显示器(CRT)或液晶显示器(LCD)的电脑上实施本发明。阴极射线管显示器(CRT)或液晶显示器(LCD)的电脑上实施是为了给用户显示信息,用户利用键盘和定位装置,如鼠标或跟踪球可给计算机提供输入。同样,也可使用其它类型的装置与用户提供交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如,视觉反馈,听觉反馈,或者是触觉反馈;同时可接收任何形式的用户输入,包括声音、语音和触摸输入。
[0101] 虽然在本文中已经描述了所述实施方式的某些特征,但本技术领域的人员也可以做出很多改型、变型和等同替换。因此,应该理解,权利要求要求保护覆盖落入本发明的实施例的实质范围内的所有的改型和变型。