控制功能模式和测试模式之间的转换的制作方法

文档序号:15362258发布日期:2018-09-05 00:57阅读:247来源:国知局

逻辑芯片可以包括各种电路来提供相应功能。逻辑芯片的示例包括集成电路(ic)芯片。逻辑芯片可以以测试模式操作,该测试模式可以用于测试逻辑芯片的不同部分的功能。

附图说明

参考以下附图描述本公开的一些实施方式。

图1是根据一些示例的、包括测试模式转换控制电路的逻辑芯片的框图。

图2是根据一些示例的、测试模式转换控制电路的框图。

图3是根据进一步示例的、测试模式输入电路和测试模式转换控制电路的组件的框图。

图4a和图4b是根据一些示例的、控制逻辑芯片的功能模式和测试模式之间的转换的过程的流程图。

具体实施方式

逻辑芯片可以指代可以在基板上提供的任何电路布置,例如半导体管芯、电路板或可以在其上形成电路的任何其他支撑结构。可以包括在逻辑芯片中的电路可以包括晶体管、存储元件和可以互连以提供相应功能的各种其他电子元件。逻辑芯片还包括通信线路来将元件互连,其中通信线路可以使用导电迹线或光学链路来实现。

逻辑芯片的示例可以包括集成电路(ic)芯片,例如微处理器、微控制器、存储器设备、可编程门阵列、可编程集成电路或者任何其他类型的电子设备。

逻辑芯片可以提供有测试模式,有时称为可测试性设计(dft)模式。在将逻辑芯片置于测试模式中时,可以针对逻辑芯片运行各种测试操作,以测试逻辑芯片的各种特征。在一些示例中,在测试模式期间,存储元件(例如寄存器或其他类型的存储元件)可以被访问作为测试操作的部分。

在一些示例中,在测试模式期间访问的存储元件可以被指定用于存储在逻辑芯片的功能模式期间的敏感信息。逻辑芯片的功能模式是在逻辑芯片的正常使用期间(例如在逻辑芯片被合并到诸如计算机、智能电话、游戏设备、车辆、可穿戴设备(例如智能手表、智能眼镜等)等较大的系统中时)逻辑芯片的模式。功能模式也可以被称为非测试模式。

在逻辑芯片的功能模式期间,可以把敏感信息存储到一个或多个存储元件(例如寄存器)中。存储在存储元件中的敏感信息可以指代旨在仅由诸如以下中的任何或某组合等授权实体访问的任何信息:授权固件、软件或其他机器可读指令,授权硬件设备或授权用户。敏感信息的示例可以包括密码信息(例如用于执行数据的加密和/或解密的密钥),其中密码信息可以用于保护其他数据免受未经授权的访问。敏感信息的其他示例可以包括对特定企业或用户是机密或者专有的信息。

逻辑芯片的制造商可以使用测试模式以在逻辑芯片的制造阶段期间确认逻辑芯片的适当操作。在其他示例中,可以在其它时段(例如在需要修理或调试时)调用逻辑芯片的测试模式。在执行测试之后,可以将逻辑芯片从测试模式转换到功能模式。

逻辑芯片中测试模式的存在可以呈现潜在的安全漏洞,该潜在的安全漏洞可能被黑客利用来获得对存储在逻辑芯片中的存储元件中的敏感信息的访问。敏感信息在逻辑芯片的功能模式期间被存储在存储元件中。在逻辑芯片已经被置于功能模式中之后并且在一些敏感信息已经被存储在逻辑芯片的存储元件中之后,黑客可以将逻辑芯片切换到测试模式,来获得对存储元件中的敏感信息的访问。

根据本公开的一些实施方式,提供测试模式转换控制电路来控制逻辑芯片的功能模式和逻辑芯片的测试模式之间的转换,以阻止对存储在逻辑芯片中的存储元件中的敏感信息的未经授权的访问。测试模式转换控制电路都限制从功能模式到测试模式的转换,直到满足特定条件(例如,逻辑芯片100被复位或者指示已经使存储在逻辑芯片100中的敏感信息不可访问的一些其他条件)。

图1是示例逻辑芯片100的框图,该示例逻辑芯片100包括测试模式输入电路102,用于接收指示逻辑芯片100的测试模式的激活被请求的输入。在一些示例中,测试模式输入电路102可以包括输入引脚或者多个输入引脚,其中一个或多个引脚可以被耦接到外部焊垫(或者多个焊垫)。一个或多个外部焊垫可以被设置为预定义值来指示测试模式被请求。在其他示例中,测试模式输入电路102的一个或多个输入引脚可以被耦接到控制器或其他设备的输出端,其中控制器或其他设备可以将一个或多个输入引脚设置为预定义值来请求逻辑芯片100进入测试模式。

在测试模式输入电路102的一个或多个输入引脚被设置为指示测试模式被请求的预定义值时,然后测试模式输入电路102激活测试模式输入信号104,其中测试模式输入信号104的激活是测试模式被请求的指示。信号的激活可以指代将信号设置为有效状态(该有效状态可以是逻辑高或逻辑低状态)。信号的停用可以指代将信号设置为无效状态(该无效状态可以是逻辑低或逻辑高状态)。如果测试模式输入电路102的一个或多个输入引脚被设置为预定义值,则测试模式输入信号104然后被设置为有效状态(即被激活)。另一方面,如果测试模式输入电路的一个或多个输入引脚被设置为预定义值,那么测试模式输入信号104被设置为无效状态(即被停用)。

根据本公开的一些实施方式,逻辑芯片100还包括测试模式转换控制电路106,该测试模式转换控制电路106输出测试模式启用信号108。通常,在逻辑芯片100处于功能模式中时,测试模式转换控制电路106停用测试模式启用信号108,以阻止逻辑芯片100从功能模式转换到测试模式。然而,在特定条件出现(例如,逻辑芯片100通过复位信号118的激活被复位,或者指示已经使逻辑芯片100中的敏感信息不可访问的一些其他条件出现)时,响应于在测试模式输入电路102处接收到将逻辑芯片100转换到测试模式的请求,测试模式转换控制电路106激活测试模式启用信号108以允许逻辑芯片100从功能模式到测试模式的转换。

在一些示例中,测试模式启用信号108被提供到“与”逻辑门110的第一输入端,同时测试模式输入信号104被提供到逻辑“与”门110的另一输入端。如果逻辑“与”门110的两个输入端都处于有效状态,则逻辑“与”门110激活测试模式信号112。如果逻辑“与”门110的输入端中的任何一个或者二者是无效的,那么逻辑“与”门110停用测试模式信号112。

测试模式信号112在处于有效状态中时指定逻辑芯片100处于测试模式中。另一方面,测试模式信号112在处于无效状态中时指定逻辑芯片100处于功能模式中。

在其他示例中,代替逻辑“与”门,门110可以是逻辑组合门(包括逻辑电路的组合),该逻辑组合门仅在测试模式启用信号108和测试模式输入信号104二者都是有效时激活测试模式信号112。

事实上,在测试模式转换控制电路106停用测试模式启用信号108时,即使测试模式输入信号104通过测试模式输入电路102被激活,测试模式信号112也保持停用。测试模式启用信号108在无效时使逻辑芯片100忽略测试模式输入信号104。

测试模式信号112被提供作为到测试模式控制器114的输入。测试模式控制器114可以是硬件处理电路,或者硬件处理电路和在硬件处理电路上可执行的机器可读指令(软件或固件)的组合。硬件处理电路可以包括微处理器、多核微处理器的核、微控制器、可编程门阵列、可编程集成电路等。

在测试模式信号112被激活时,测试模式控制器114能够执行测试操作以测试逻辑芯片100的相应特征。测试操作可以包括访问存储在逻辑芯片100中的存储元件116中的信息。在一些示例中,存储元件116可以包括寄存器。在其他示例中,其他类型的存储元件可以被包括在逻辑芯片100中,其中此类其他存储元件也可以在测试模式中在测试操作期间被测试模式控制器114访问。在处于功能模式中的逻辑芯片100的操作期间,存储元件116可以被用来存储敏感信息。

根据本公开的一些实施方式,在逻辑芯片100处于功能模式中时,测试模式转换控制电路106将测试模式启用信号108维持在无效状态中,以在即使测试模式输入电路102将测试模式输入信号104断言为有效状态时也阻止测试模式信号112的激活。这有效地阻止逻辑芯片100从功能模式转换到测试模式。因此,即使黑客将测试模式输入电路102的一个或多个输入引脚102设置为用于请求逻辑芯片100进入测试模式的预定义值,测试模式转换控制电路106也将阻止逻辑芯片100转换到测试模式,这将阻止黑客访问可能被存储在存储元件116中的敏感信息。

为了允许逻辑芯片100转换到测试模式,必须首先复位逻辑芯片100(或者必须出现另一条件:该条件指示已经例如通过清除敏感信息使敏感信息不可访问)。通过复位信号118的激活引起逻辑芯片100的复位。复位信号118被提供作为测试模式转换控制电路106和存储元件116二者的输入。复位信号118清除存储元件116,使得存储在存储元件116中的任何信息(其可以包括敏感信息)被删除,并且因此,使该任何信息不可访问。

复位信号118在被激活时还使测试模式转换控制电路106激活测试模式启用信号108。响应于测试模式输入信号104的激活,激活测试模式启用信号108允许逻辑“与”门110激活测试模式信号104。激活测试模式信号104引起逻辑芯片100从功能模式到测试模式的转换。

为了将逻辑芯片100从测试模式转换到功能模式,测试模式输入电路102的一个或多个输入引脚可以被设置为指示逻辑芯片100将不被置于测试模式中的值。因此,测试模式输入电路102停用测试模式输入信号104,这通过逻辑“与”门110引起测试模式信号112的停用以将逻辑芯片100置于功能模式中。

图2是根据本公开的一些示例的测试模式转换控制电路106的框图。测试模式转换控制电路106包括具有时钟输入端204和复位输入端205的禁用电路202。禁用电路202输出测试模式启用信号108。

禁用电路202的时钟输入端104用于接收时钟信号,该时钟信号在图2中是通过时钟门206的时钟信号208。响应于逻辑芯片100处于功能模式中,时钟门206将时钟信号208传到禁用电路202的时钟输入端204。在禁用电路202的时钟输入端204接收到有效时钟信号208并且复位信号118是无效的时,那么禁用电路202能够执行其停用测试模式启用信号108的指定功能。在一些示例中,响应于时钟信号208的第一有效沿(取决于时钟信号208分别是高电平有效还是低电平有效的低到高转换或高到低转换),触发禁用电路202以停用测试模式启用信号108。一旦通过时钟信号208的第一有效沿触发测试模式启用信号108的停用,则禁用电路202就能够将测试模式启用信号108维持为停用,直到复位信号118被激活,如以下进一步讨论的。

响应于逻辑芯片100处于测试模式中,时钟门206禁用将时钟信号208传到禁用电路202的时钟输入端204。相反,时钟门206停用禁用电路202的时钟输入端204。如果禁用电路202的时钟输入端204是无效的(这意味着逻辑芯片100已经进入测试模式),那么禁用电路202不能改变状态并且相反将测试模式启用信号108维持在其前一个状态(一旦逻辑芯片100已经进入测试模式,该前一个状态将是有效状态)。换句话说,在逻辑芯片100处于测试模式中时,禁用电路202将测试模式启用信号108维持为有效。

在逻辑芯片100可能从功能模式进入测试模式之前,逻辑芯片100必须满足指定条件:例如由于复位,使存储元件116中的敏感信息不可访问。如在图2中进一步示出的,禁用电路202的复位输入端205接收复位信号118。响应于复位信号118的激活,禁用电路202被复位,这使禁用电路202激活测试模式启用信号108,以启用逻辑芯片100从功能模式到测试模式的转换。

图3是根据本公开的进一步示例的、与测试模式输入电路102和测试模式转换控制电路106相关联的进一步细节的框图。测试模式输入电路102包括多个输入引脚302和组合逻辑304,该组合逻辑304可以包括配置为接收向输入引脚302提供的值的逻辑门的组合。响应于向输入引脚302提供的指定值,组合逻辑304将测试模式输入信号104断言为有效状态。在其他示例中,代替多个输入引脚302,测试模式输入电路102可以包括被设置为指示逻辑芯片100进入测试模式的值的仅一个输入引脚。

测试模式转换控制电路106包括d触发器306,该d触发器306是具有数据输入端(d)和数据输出端(q)的锁存器。d触发器306是图2的禁用电路202的示例。在其他示例中,可以利用不同的逻辑来实现禁用电路202。在图3的示例中,d触发器306的d输入端接收二进制“0”值(该“0”值是无效值的示例)。在d触发器306的时钟输入端308接收有效时钟信号时,d触发器306将q输出端驱动为在d输入端接收到的值,该值在这种情况下是二进制“0”值。随着在时钟输入端308处接收到的输入时钟信号的每个周期,d触发器306的q输出端被驱动为在d输入端处的值。注意的是,一旦响应于激活的时钟信号,d触发器306的q输出端已经被设置为d输入端的二进制“0”值,即使没有接收到时钟信号的进一步的时钟沿(换句话说,时钟信号被停用),d触发器306也在q输出端维持二进制“0”值。

d触发器306的时钟输入端308被连接到时钟门310的输出端,该时钟门310是图2中的时钟门206的示例。时钟门310具有用于接收时钟信号208的输入端,以及被连接到反相器312的启用信号输出端的启用输入端(en)。反相器312的输入端被连接到逻辑“与”门110的输出端,或者更具体地,被连接到测试模式信号112。在测试模式信号112处于无效状态中(这指示逻辑芯片100处于功能模式中)时,然后向时钟门310的en输入端提供的启用信号是有效的,这允许时钟信号208通过时钟门310传到d触发器306的时钟输入端308,并且这使d触发器306将q输出端设置为在d输入端接收到的值。这使测试模式启用信号108被停用为无效状态,这阻止测试模式信号112的激活并且因此阻止逻辑芯片100转换到测试模式。一旦响应于时钟信号208的有效沿,d触发器306将其q输出端(并且因此测试模式启用信号108)驱动到无效状态,则d触发器将q输出端维持在无效状态,直到复位出现。

d触发器306还具有用于接收复位信号118的复位输入端309。复位信号118的激活使d触发器306被复位为例如二进制“1”值,这使测试模式启用信号108被激活为有效状态。因此,响应于测试模式输入信号104通过测试模式输入电路102被设置为有效状态,逻辑“与”门110被允许激活测试模式信号112。

图4a是可以在诸如图1的逻辑芯片100等逻辑芯片中执行用于控制逻辑芯片的功能模式和测试模式之间的转换的示例过程的流程图。例如,可以通过图1的测试模式转换控制电路106来执行图4a的过程。在图2中描绘了测试模式转换控制电路106的示例。在其他示例中,测试模式转换控制电路106可以具有不同的实施方式,例如包括硬件处理电路和在硬件处理电路上可执行的机器可读指令的组合的实施方式。

图4a的过程包括响应于逻辑芯片处于功能模式中(例如,图1的测试模式信号112处于无效状态中)的指示,启用(在402)禁用电路(例如,图2中的禁用电路202)的时钟输入端。响应于启用禁用电路的时钟输入端,图4a的过程阻止(在404)从逻辑芯片的功能模式到逻辑芯片的测试模式的转换。在一些示例中,如以上讨论的,通过停用测试模式启用信号(例如图1、图2或图3中的108)来阻止逻辑芯片从功能模式到测试模式的转换。响应于向禁用电路的时钟输入端提供的时钟信号(例如图2或图3中的208)的第一有效沿,触发测试模式启用信号的停用。一旦通过时钟信号208的第一有效沿触发了测试模式启用信号108的停用,则禁用电路202能够将测试模式启用信号108维持为被停用,直到复位或使存储元件中的信息不可访问的其他条件出现。

图4a的过程响应于逻辑芯片处于测试模式中(例如,图1的测试模式信号112处于有效状态中)的指示,禁用(在406)禁用电路的时钟输入端。响应于检测到逻辑芯片的使存储元件中的信息不可访问的条件(例如在复位信号118被激活时),图4a的过程(在408)启用逻辑芯片从功能模式到测试模式的转换。

图4b是根据进一步实施方式的、可以在诸如图1的逻辑芯片100等逻辑芯片中执行用于控制逻辑芯片的功能模式和测试模式之间的转换的另一示例过程的流程图。图4b的过程响应于逻辑芯片处于功能模式中的指示,启用(在422)禁用电路(例如,图2中的禁用电路202)的时钟输入端。一旦时钟输入端被启用并且时钟沿出现,则图4b的过程停用(在424)测试模式启用信号(例如,图1、图2或图3中的108)。

图4b的过程例如响应于被设置为预定义值的输入引脚302,接收(在426)转换到测试模式的请求。由于测试模式启用信号被停用,图4b的过程阻止(在428)所请求的从功能模式到测试模式的转换。响应于检测到逻辑芯片的使存储元件中的信息不可访问的条件(例如在复位信号118被激活时),图4b的过程启用(在430)逻辑芯片从功能模式到测试模式的转换。

在测试模式转换控制电路106被实现为硬件过程电路和机器可读指令的组合的示例中,机器可读指令可以被存储在非暂时型机器可读或计算机可读存储媒介中,该存储媒介可以包括一个或多个不同形式的存储器,包括诸如动态或静态随机存取存储器(dram或sram)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)和闪速存储器等半导体存储器设备;诸如固定软盘和活动磁盘等磁盘;包括磁带等其他磁介质;诸如光盘(cd)或数字视频盘(dvd)等光介质;或其他类型的存储设备。注意的是,以上讨论的指令可以被提供在一个计算机可读或机器可读存储媒介上,或者替换地可以被提供在分布在可能具有多个节点的大型系统中的多个计算机可读或机器可读存储介质上。此类计算机可读或机器可读存储媒介或介质被考虑为是物品(或制品)的部分。物品或者制品可以指代任何制造的单个组件或多个组件。存储媒介或介质可以位于运行机器可读指令的机器中,或者位于远程站点处,机器可读指令可以通过网络从这些远程站点下载用于执行。

在以上描述中,阐述了许多细节以提供本文公开的主题的理解。然而,可以在没有这些细节中的一些的情况下实践实施方式。其他实施方式可以包括根据以上讨论的细节进行的修改和变化。所附权利要求旨在覆盖此类修改和变化。

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