CN112444735B - 可安全配置的芯片及其操作方法 - Google Patents
可安全配置的芯片及其操作方法 Download PDFInfo
- Publication number
- CN112444735B CN112444735B CN202011358631.2A CN202011358631A CN112444735B CN 112444735 B CN112444735 B CN 112444735B CN 202011358631 A CN202011358631 A CN 202011358631A CN 112444735 B CN112444735 B CN 112444735B
- Authority
- CN
- China
- Prior art keywords
- controller
- chip
- security
- control signal
- test
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2832—Specific tests of electronic circuits not provided for elsewhere
- G01R31/2834—Automated test systems [ATE]; using microprocessors or computers
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2851—Testing of integrated circuits [IC]
- G01R31/2853—Electrical testing of internal connections or -isolation, e.g. latch-up or chip-to-lead connections
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2851—Testing of integrated circuits [IC]
- G01R31/2855—Environmental, reliability or burn-in testing
- G01R31/286—External aspects, e.g. related to chambers, contacting devices or handlers
- G01R31/2868—Complete testing stations; systems; procedures; software aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Environmental & Geological Engineering (AREA)
- Tests Of Electronic Circuits (AREA)
- Storage Device Security (AREA)
Abstract
本公开提供了一种可安全配置的芯片以及操作方法。所述可安全配置的芯片包括:测试访问网络,其包括至少一个控制器,所述至少一个控制器用于对所述芯片进行测试;可编程存储器,其用于存储针对芯片的所述测试访问网络的安全配置信息;以及安全配置模块,其用于解析所述安全配置信息,得到安全控制信号;其中,所述安全控制信号用于控制是否允许对所述测试访问网络中至少一个控制器进行访问。本公开提供的芯片可由实际设计者根据设计的安全信息来对所述可安全配置的芯片进行灵活地配置,以满足对芯片安全性和灵活性的需要。
Description
技术领域
本公开涉及大规模数字集成电路设计和测试领域,更具体地,涉及一种可安全配置的芯片及其操作方法。
背景技术
随着技术的不断发展,大规模数字系统芯片(System on Chip,SOC)设计变得越来越复杂,集成度也越来越高,嵌入式设备的应用也越来越广泛。测试访问网络(如基于IEEE1149.1/IEEE 1500/IEEE 1687协议的JTAG(Joint Test Access Group)网络)为访问嵌入式设备提供了极大的便利,同时,也为SOC芯片的系统测试和片上系统调试提供了简单有效的方法。用户可以通过测试访问端口(如JTAG端口)修改或者获取芯片中总线地址存储的内容,并且测试访问端口可以用来实现边界扫描测试,或者,通过测试访问端口可以对芯片进行特定的操作,从而修改或者获取芯片内部的信息。此外,测试访问网络已经被应用于所有的数字芯片系统中。
虽然,测试访问网络能够提供系统测试过程的可控制性和可观测性,大大提高了测试效率,但正是由于测试访问网络访问功能的强大,在为芯片测试和系统调试提供的便利的同时,也增加了芯片的风险。因此,芯片系统的安全性也一定程度上取决于测试访问网络的安全性。目前,国内外的研究人员提出了多种基于测试访问网络的安全防护措施,但是其安全性和灵活性都有所欠缺。
因此,需要一种可安全配置的芯片,并且实际设计者可以根据设计的安全信息来对所述可安全配置的芯片进行灵活地配置,以满足自己的安全要求。
发明内容
针对上述问题,本公开提供了一种可安全配置的芯片,其中,所述芯片可以根据安全配置信息来对芯片中的测试访问网络进行灵活地配置,以满足实际设计者对安全性的要求。
本公开实施例提供了一种可安全配置的芯片,包括:测试访问网络,其包括至少一个控制器,所述至少一个控制器用于对所述芯片进行测试;可编程存储器,其用于存储针对芯片的所述测试访问网络的安全配置信息;以及安全配置模块,其用于解析所述安全配置信息,得到安全控制信号;其中,所述安全控制信号用于控制是否允许对所述测试访问网络中至少一个控制器进行访问。
根据本公开实施例,其中,所述测试访问网络包括多级控制器,其中,在所述安全控制信号指示禁止对多级控制器中的特定控制器进行访问的情况下,所述多级控制器中的所述特定控制器及与其相连的位于其下级的控制器均禁止被访问。
根据本公开实施例,其中,所述多级控制器是三级控制器,其中,第一级控制器包括整体状态控制器,第二级控制器包括至少一个路由控制器,第三级控制器包括至少一个测试控制器和至少一个IEEE 1500控制器。
根据本公开实施例,其中,在所述芯片的初始测试过程中,所述可编程存储器为空;以及在所述芯片的初始测试完成后,所述可编程存储器中被写入所述安全配置信息。
根据本公开实施例,其中,在所述初始测试完成后,禁止从所述芯片的外部读取所述安全控制信号中的信息。
根据本公开实施例,其中,所述安全配置模块包括:至少一个寄存器,其用于基于所述安全配置信息生成所述安全控制信号,其中,所述至少一个寄存器被配置为禁止形成扫描链,以及在从所述安全配置模块到所述至少一个控制器的数据通路上禁止形成扫描链,从而禁止从所述芯片的外部读取所述安全控制信号中的信息。
根据本公开实施例,其中,所述安全配置模块是加密的。
根据本公开实施例,其中,所述可编程存储器是一次性可编程存储器。
本公开实施例提供了一种可安全配置的芯片的操作方法,所述芯片包括测试访问网络、可编程存储器和安全配置模块,所述方法包括:获取针对所述芯片的目标安全配置值,所述目标安全配置值指示是否允许对所述测试访问网络中至少一个控制器进行访问;基于所获取的目标安全配置值,在所述可编程存储器中写入对应的安全配置信息;通过安全配置模块对上述安全配置信息进行解析,得到安全控制信号,所述安全控制信号用于控制是否允许对所述测试访问网络中至少一个控制器进行访问;根据所述安全控制信号,控制对所述至少一个控制器的访问。
根据本公开实施例,其中,所述测试访问网络包括多级控制器,其中,在所述安全控制信号指示禁止对多级控制器中的特定控制器进行访问的情况下,所述多级控制器中的所述特定控制器及与其相连的位于其下级的控制器均禁止被访问。
根据本公开实施例,其中,所述多级控制器是三级控制器,其中,第一级控制器包括整体状态控制器,第二级控制器包括至少一个路由控制器,第三级控制器包括至少一个测试控制器和至少一个IEEE 1500控制器。
根据本公开实施例,其中,在所述芯片的初始测试过程中,所述可编程存储器为空;以及在所述芯片的初始测试完成后,所述可编程存储器中被写入所述安全配置信息。
根据本公开实施例,其中,在所述初始测试完成后,禁止从所述芯片的外部读取所述安全控制信号中的信息。
根据本公开实施例,其中,所述安全配置模块包括:至少一个寄存器,其用于基于所述安全配置信息生成所述安全控制信号,其中,所述至少一个寄存器被配置为禁止形成扫描链,以及在从所述安全配置模块到所述至少一个控制器的数据通路上禁止形成扫描链,从而禁止从所述芯片的外部读取所述安全控制信号中的信息。
根据本公开实施例,其中,所述安全配置模块是加密的。
根据本公开实施例,其中,所述可编程存储器是一次性可编程存储器。
本公开实施例提供了一种可安全配置的芯片及其操作方法。由于所述芯片可以根据实际设计者设计的安全配置信息来得到安全控制信号,进而据此控制对芯片中测试访问网络中的至少一个控制器的访问,从而满足实际设计者的安全性的要求,具有极高的安全性和极大的灵活性。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本公开的一些示例性实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出了根据本公开实施例的可安全配置的芯片的框图。
图2示出了根据本公开实施例的三级控制器的示图。
图3示出了根据本公开实施例的可安全配置的芯片的一种配置方式的示图。
图4示出了根据本公开实施例的可安全配置的芯片的另一种配置方式的示图。
图5示出了根据本公开实施例的芯片初始测试和测试后的相关配置的示图。
图6A示出了根据本公开实施例的普通寄存器的示图。
图6B示出了根据并本公开实施例的形成扫描链后寄存器的示图。
图6C示出了根据本公开实施例的形成的扫描链的示图。
图6D示出了根据本公开实施例的形成扫描链后的工作时序图。
图7示出了根据本公开实施例的可安全配置的芯片的操作方法的流程图。
具体实施方式
为了使得本公开的目的、技术方案和优点更为明显,下面将参考附图详细描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
在本说明书和附图中,基本上相同或相似的步骤和元素用相同或相似的附图标记来表示,并且对这些步骤和元素的重复描述将被省略。同时,在本公开的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性或排序。
在本说明书和附图中,根据实施例,元素以单数或复数的形式来描述。然而,单数和复数形式被适当地选择用于所提出的情况仅仅是为了方便解释而无意将本公开限制于此。因此,单数形式可以包括复数形式,并且复数形式也可以包括单数形式,除非上下文另有明确说明。
在现有技术中,芯片中的测试访问网络(如JTAG网络)为访问和/或测试芯片带来了极大的便利,但由于测试访问网络功能的强大,在为芯片测试和系统调试提供的便利的同时,也增加了芯片的风险。
为了解决上述问题,本公开提供了一种可安全配置的芯片。由于实际设计者可以根据自己设计的安全信息来对所述可安全配置的芯片进行灵活地配置,所以在满足实际设计者对安全性的要求的同时,也保证了芯片的安全性和灵活性。
下面将参照附图对上述本公开提供的可安全配置的芯片进行详细的说明。
图1示出了根据本公开实施例的可安全配置的芯片100的框图。
参照图1,所述可安全配置的芯片100可以包括测试访问网络110、安全配置模块120和可编程存储器130。
测试访问网络110可以包括至少一个控制器,并且所述至少一个控制器可以用于对所述芯片进行测试。
可编程存储器130可以用于存储针对所述测试访问网络的安全配置信息。
安全配置模块120可以用于解析所述安全配置信息,得到安全控制信号,其中,所述安全控制信号可以用于控制是否允许对所述测试访问网络中至少一个控制器进行访问。
作为示例,所述测试访问网络可以是JTAG网络。
根据本公开实施例,所述测试访问网络可以包括多级控制器,并且其中,在所述安全控制信号指示禁止对多级控制器中的特定控制器进行访问的情况下,所述多级控制器中的所述特定控制器及与其相连的位于其下级的控制器均禁止被访问。
根据本公开实施例,所述特定控制器可以是整体状态控制器、路由控制器、测试控制器和IEEE 1500控制器,并且上述控制器可以由许多的指令寄存器、数据寄存器等寄存器组成。
根据本公开实施例,所述多级控制器可以是三级控制器。
作为示例,如图2中的框210所示,第一级控制器可以包括整体状态控制器,例如,TAP(Test Access Port)控制器,其中,TAP控制器基于IEEE1149.1协议,是一个总的状态控制器,并且可以产生操作控制序列以控制TAP控制器里的电路进行相应的测试方法(例如测试芯片输入/输出(Input/Output,I/O)的边界扫描测试的内部测试(INTEST)、外部测试(EXTEST)、旁路测试(BYPASS)等测试方法),同时,TAP控制器可以用于控制捕获、移位、更新等状态的跳转,最重要的是TAP控制器可以实现对后续子网络的配置和控制,如对后续级别控制器所在的网络的配置和控制。
因此,当所述安全控制信号指示禁止对该第一级控制器(如图2中的框210所示的控制器)进行访问的情况下,所述多级控制器中的第一级控制器及与其相连的位于其下级的第二级控制器(如图2中的框220所示的控制器)和第三级控制器(如图2中的框230所示的控制器)均禁止被访问,此时,整个测试访问网络均无法被访问,从而实现了对整个芯片的安全防护,防止了芯片中信息被窃取。
作为示例,第二级控制器可以包括至少一个路由控制器,并且第二级控制器包括的至少一个路由控制器可以分为N(N为正整数)层,如图2中的框220所示,此时第二级控制器可以包括路由控制器1、路由控制器2、路由控制器21、路由控制器22等,并且分为了2层,其中,路由控制器1和路由控制器2是第一层控制器,路由控制器21和路由控制器22是第二层控制器。作为示例,所述路由控制器可以是控制路由器CR(Control router,下文中称为CR控制器),其中,CR控制器基于IEEE 1687协议,具有可扩展性,可以根据需求来灵活变化CR控制器的数量。
在所述安全控制信号指示禁止对该第二级控制器(如图2中的框220所示的控制器)进行访问的情况下,所述多级控制器中的第二级控制器及与其相连的位于其下级的第三级控制器(如图2中的框230所示的控制器)均禁止被访问,并且,当该第二级控制器具有至少2层控制器的结构时,在所述安全控制信号指示禁止该第二级控制器中某一层中的控制器(如图2中的框230所示的控制器中的第一层的路由控制器2)进行访问的情况下,所述多级控制器中的第二级控制器中的该控制器及与其相连的位于该级的下层控制器(如图2中的框230所示的控制器中的第二层的路由控制器21和路由控制器22)和位于其下级的第三级控制器(如图2中的框230所示的所有控制器)均禁止被访问,此时,测试访问网络中对应的控制器均无法被访问,从而可以实现与上述控制器相连的后续整个路径的安全防护,防止了由该路径造成的芯片中信息的泄露,保护了芯片的安全。
作为示例,如图2中的框230所示,第三级控制器可以包括至少一个测试控制器和至少一个IEEE 1500控制器。作为示例,所述测试控制器可以是基于IEEE 1687协议的测试控制器TC(Test Control,下文中称为TC控制器)。所述IEEE 1500控制器基于IEEE 1500协议。所述TC控制器和IEEE 1500控制器可以位于芯片中模块的内部,TC控制器可以连接到测试数据寄存器(Test Data Register,TDR))和IEEE 1500控制器,所述IEEE 1500控制器可以连接到TDR控制器。
在所述安全控制信号指示禁止对测试控制器和/或IEEE 1500控制器进行访问的情况下,所述多级控制器中的测试控制器和/或IEEE 1500控制器及与之相连的控制器和寄存器均禁止被访问。此时,由于所述控制器均被禁止访问,从而可以实现该模块或该模块内的部分区域的安全防护,防止了由该模块或该模块内的部分造成的芯片中信息的泄露,保护了芯片的安全。
根据本公开实施例,所述可编程存储器可以是一次性可编程存储器,例如OTP。
为了便于理解,接下来将结合图3和图4以示例的形式对上述内容进行说明。
图3示出了根据本公开实施例的可安全配置的芯片的一种配置方式的示图。
参照图3,此时,可安全配置的芯片可以包括OTP 301、安全配置模块302和测试访问网络303。其中,OTP 301中已烧入安全配置信息,测试访问网络303包括三级控制器,分别是第一级的TAP控制器、第二级的CR控制器和第三级的TC控制器及IEEE 1500控制器。第一级的TAP控制器与第二级的CR控制器相连。第二级的CR控制器与第三级的TC控制器相连。第三级的TC控制器与TDR和IEEE 1500控制器相连。IEEE 1500控制器连接两个TDR(作为其他示例,IEEE 1500控制器也可以连接两个以上的TDR)。第三级的TC控制器、IEEE 1500控制器和TDR均位于芯片的模块内部。
再次参照图3,安全配置模块302读取OTP 301中烧入的安全配置信息并对其进行解码解析,得到三个安全控制信号,分别是:safety_mtap、safety_router和safety_1500,其中,安全控制信号safety_mtap用于控制是否允许对TAP控制器进行访问,安全控制信号safety_router用于控制是否允许对CR控制器进行访问,安全控制信号safety_1500用于控制是否允许对TC控制器及IEEE 1500控制器进行访问。
作为示例,OTP烧入的安全配置信息可以为001,经过安全配置模块解码解析出的信息可以为:011,其中,0表示禁止访问,1表示允许访问。另外,具体解析的算法可以根据需要灵活设计,此处不做限定。此时,安全控制信号safety_mtap为0,安全控制信号safety_router为1,安全控制信号safety_1500也是1。
在上述情况下,表面上是禁止对TAP控制器进行访问,允许对CR控制器、TC控制器及IEEE 1500控制器进行访问,但实质上由于TAP控制器是一个总的状态控制器,当禁止对TAP控制器进行访问时,其下级的CR控制器、TC控制器及IEEE 1500控制器也被禁止访问,进而使得整个测试访问网络均被禁止访问,从而保护了整个芯片的安全性。
作为另一示例,OTP烧入的安全配置信息可以为011,经过安全配置模块解码解析出的信息可以为:101,其中,0表示禁止访问,1表示允许访问。另外,具体解析的算法可以根据需要灵活设计,此处不做限定。此时,安全控制信号safety_mtap为1,安全控制信号safety_router为0,安全控制信号safety_1500也是1。
在上述情况下,表面上允许对TAP控制器、TC控制器及IEEE 1500控制器进行访问,禁止对CR控制器进行访问,但实质上由于CR控制器是第二级控制器,当禁止对CR控制器进行访问时,其下级的TC控制器及IEEE 1500控制器也被禁止访问,进而使得测试访问网络中部分区域被禁止访问,从而保护了芯片中对应模块的安全性。
作为另一示例,OTP烧入的安全配置信息可以为110,经过安全配置模块解码解析出的信息可以为:11110,其中,0表示禁止访问,1表示允许访问。另外,具体解析的算法可以根据需要灵活设计,此处不做限定。此时,安全控制信号safety_mtap为1,安全控制信号safety_router为1,安全控制信号safety_1500是110。
在上述情况下,允许对TAP控制器和CR控制器进行访问,而安全控制信号safety_1500的值是110,可以表示给针对TC控制器的安全控制信号是1,即允许对TC控制器进行访问,给针对IEEE 1500控制器的安全控制信号是10,因为IEEE 1500控制器中有许多的指令寄存器,而不同的指令寄存器可以控制对不同的TDR进行访问。在上述情况下,安全控制信号的值10可以控制是否允许对IEEE 1500控制器中的其中两个指令寄存器进行访问,当其中一个指令寄存器对应的安全控制信号的值为1时,可以表示允许对其进行访问,此时就可以访问例如图3中IEEE 1500控制器所连接的左边的TDR;当另一个指令寄存器对应的安全控制信号的值为0时,可以表示禁止对其进行访问,此时就禁止访问例如图3中IEEE 1500控制器所连接的右边的TDR,从而使得测试访问网络中部分区域被禁止访问,进而保护了芯片中某些模块的特定区域的安全性。
上述OTP中烧入的安全配置信息仅作为示例,也可以根据设计者灵活设计的安全信息来烧入其它安全配置信息,从而使得测试访问网络的整体或某些部分禁止被访问,进而保护了芯片整体或某些部分的安全性。
作为示例,上述解析出来的安全控制信号个数也可以是1或2,例如解析出来的是2个安全控制信号,可以分别是safety_router和safety_1500(也可以是任何其它2个安全控制信号),而此时图2中剩余的安全控制信号(如safety_mtap安全控制信号)不存在。在这种情况下,第一级TAP控制器是始终可以被访问的,其它两级的控制器因解析出的安全控制信号的值的不同而被设定为允许或禁止访问。此外,虽然上述示例中仅用0或1来表示禁止或允许访问,但是本领域技术人员也可以在此基础上用其他几位数字来一起表示禁止或允许访问,比如,用11或10或111等表示允许访问,用00或01或000等表示禁止访问,此处不做任何具体限定。
图4示出了根据本公开实施例的可安全配置的芯片的另一种配置方式的示图。
参照图4,此时,可安全配置的芯片可以包括OTP 401、安全配置模块402和测试访问网络403。其中,OTP 401中已烧入安全配置信息,测试访问网络403包括三级控制器,分别是第一级的TAP控制器、第二级的CR控制器和第三级的TC控制器及IEEE 1500控制器,并且其中,第二级的CR控制器又分为两层控制器,分别是第一层的CR0控制器,第二层的CR1控制器、CR2控制器和CR3控制器。第一级的TAP控制器与第二级的第一层的CR0控制器相连。第二级的第一层的CR0控制器与第二级的第二层的CR1控制器、CR2控制器和CR3控制器相连。第二级的第二层的CR1控制器与位于模块中的第三级的TC控制器和位于模块2中的第三级的TC控制器相连。第二级的第二层的CR2控制器或CR3控制器与位于其它模块中的第三级的TC控制器相连(图中未示出)。第三级的TC控制器与TDR和IEEE 1500控制器相连。IEEE 1500控制器连接两个TDR(作为其他示例,IEEE 1500控制器也可以连接两个以上的TDR)。第三级的TC控制器、IEEE 1500控制器和TDR均位于芯片的模块(如模块1或模块2)内部。
再次参照图4,安全配置模块402读取OTP 401中烧入的安全配置信息并对其进行解码解析,得到8个安全控制信号,分别是:AEB_mtap、AEB_router_0、AEB_router_1、AEB_router_2、AEB_1、AEB_2、AEB_3和AEB_4,其中,安全控制信号AEB_mtap用于控制是否允许对TAP控制器进行访问,安全控制信号AEB_router_0用于控制是否允许对CR0控制器进行访问,安全控制信号AEB_router_1用于控制是否允许对CR1控制器和CR2控制器进行访问,安全控制信号AEB_router_2用于控制是否允许对C3控制器进行访问,安全控制信号AEB_1用于控制是否允许对模块1中TC控制器进行访问,安全控制信号AEB_2用于控制是否允许对模块1中IEEE 1500控制器进行访问,安全控制信号AEB_3用于控制是否允许对模块2中TC控制器进行访问,安全控制信号AEB_4用于控制是否允许对模块2中IEEE 1500控制器进行访问。
作为示例,OTP烧入的安全配置信息可以为10101,经过安全配置模块解码解析出的信息可以为:01100111,其中,0表示禁止访问,1表示允许访问。另外,具体解析的算法可以根据需要灵活设计,此处不做限定。此时,安全控制信号AEB_mtap、AEB_router_2和AEB_1均为0,安全控制信号AEB_router_0、AEB_router_1、AEB_2、AEB_3和AEB_4均为1。
在上述情况下,表面上是禁止对TAP控制器、CR3控制器和位于模块1中的TC控制器进行访问,允许对其它控制器进行访问,但实质上由于TAP控制器是一个总的状态控制器,当禁止对TAP控制器进行访问时,其下级的CR控制器、TC控制器及IEEE 1500控制器也都被禁止访问,进而使得整个测试访问网络均被禁止访问,从而保护了整个芯片的安全性。
作为示例,OTP烧入的安全配置信息可以为0011,经过安全配置模块解码解析出的信息可以为:11011110,其中,0表示禁止访问,1表示允许访问。另外,具体解析的算法可以根据需要灵活设计,此处不做限定。此时,安全控制信号AEB_router_1和AEB_4均为0,安全控制信号AEB_mtap、AEB_router_0、AEB_router_2、AEB_1、AEB_2和AEB_3均为1。
在上述情况下,表面上允许对TAP控制器、CR0控制器、CR3控制器、位于模块1中的TC控制器及IEEE 1500控制器和位于模块2中的TC控制器进行访问,禁止对CR1控制器、CR2控制器和位于模块2中的IEEE 1500控制器进行访问,但实质上由于CR1控制器和CR2控制器是第二级控制器中的第二层控制器,当禁止对CR1控制器和CR2控制器进行访问时,其下级的位于模块1、模块2及其它与CR1控制器和CR2控制器相连的模块中的Test control控制器及IEEE 1500控制器也被禁止访问,进而使得测试访问网络中部分区域被禁止访问,从而保护了芯片中对应模块的安全性。
作为另一示例,OTP烧入的安全配置信息可以为00110,经过安全配置模块解码解析出的信息可以为:111111110,其中,0表示禁止访问,1表示允许访问。另外,具体解析的算法可以根据需要灵活设计,此处不做限定。此时,安全控制信号AEB_mtap、AEB_router_0、AEB_router_1、AEB_router_2、AEB_1、AEB_2和AEB_3的值均为1,安全控制信号AEB_4的值为10。
在上述情况下,允许对TAP控制器、CR0控制器、CR1控制器、CR2控制器、CR3控制器、位于模块1中的TC控制器及IEEE 1500控制器和位于模块2中的TC控制器进行访问,而因为IEEE 1500控制器中有许多的指令寄存器,而不同的指令寄存器可以控制对不同的TDR进行访问,所以在上述情况下,安全控制信号AEB_4的值为10可以控制是否允许对位于模块2中的IEEE 1500控制器中的其中两个指令寄存器的访问,当其中一个指令寄存器对应的安全控制信号的值为1时,可以表示允许对其进行访问,此时就可以访问例如图4中位于模块2中的IEEE 1500控制器所连接的左边的TDR;当另一个指令寄存器对应的安全控制信号的值为0时,可以表示禁止对其进行访问,此时就禁止访问例如图4中的位于模块2中的IEEE 1500控制器所连接的右边的TDR,从而使得测试访问网络中部分区域被禁止访问,进而保护了芯片中某些模块的特定区域的安全性。
上述OTP中烧入的安全配置信息仅作为示例,也可以根据设计者灵活设计的安全信息来烧入其它安全配置信息,从而使得测试访问网络的整体或部分禁止被访问,进而保护了芯片整体或某些模块的安全性。
作为示例,上述解析出来的安全控制信号的个数也可以是1、2、3等,例如解析出来的是4个安全控制信号,可以分别是AEB_1、AEB_2、AEB_3和AEB_4(也可以是任何其它4个安全控制信号),而图3中剩余安全信号(如AEB_mtap、AEB_router_0、AEB_router_1和AEB_router_2)均不存在。在这种情况下,第一级TAP控制器和第二级CR控制器是始终可以被访问的,而最后一级的控制器因解析出的安全控制信号的值的不同而被设定为允许或禁止访问。此外,虽然上述示例中仅用0或1来表示禁止或允许访问,但是本领域技术人员也可以在此基础上用其他几位数字来一起表示禁止或允许访问,比如,用11或10或111等表示允许访问,用00或01或000等表示禁止访问,此处不做任何具体限定。
以上结合图3和图4以示例的形式详细描述了本公开提供的可安全配置的芯片及其配置方式和效果。由上述描述的内容可见,本公开提供的可安全配置的芯片中的测试访问网络可以具有多级拓扑结构,多级相连,进而可以层层配置,而整个可安全配置的芯片具有多级安全访问机制,并且可以根据不同的需求来灵活变化控制器的数量、安全控制信号的数量及安全控制信号控制的控制器,使得芯片中的测试访问网络具有可拓展性并且能够实现对不同访问路径的灵活安全配置。
另外,对于不同的CR控制器可以使用同样的安全控制信号来进行控制,也可以根据需求把多个CR控制器分成不同的组,每个不同组使用不同的安全控制信号,例如图4中的CR1控制器和CR2控制器使用同一安全控制信号AEB_router_1,而CR3控制器使用另一安全控制信号AEB_router_2,此时,就可以把CR1控制器和CR2控制器分成一组,CR3控制器与其它控制器(图中未示出)或只有其自身分成一组。
由此可见,可以基于芯片中可扩展的测试访问网络,根据需求灵活而又多变地设置安全控制信号的位置以与相应的控制器相连,从而适用于不同的应用场景,使得本公开提供的可安全配置的芯片具有安全性、灵活性和广泛的应用性。
以上结合图1至图4描述了本公开实施例的可安全配置的芯片。根据本公开实施例的可安全配置的芯片可以根据实际应用场景,由实际设计者设计的安全信息经过安全配置模块解码解析后得到不同数量的安全控制信号,从而使得上述不同数量的安全控制信号对芯片中测试访问网络中不同数量和/或不同位置的控制器进行控制,实现对可安全配置的芯片的灵活配置,达到在满足实际设计者对安全性的要求的同时,也保证了芯片的安全性和灵活性。
根据本公开实施例,由于可编程存储器可以是一次性可编程存储器(如OTP),因此,在可编程存储器中烧入安全配置信号后,芯片中相应的模块将会被禁止访问,这样在对芯片筛片时将无法测试芯片,为此,本公开提供的芯片中的可编程存储器在芯片的初始测试过程中可以为空。在所述芯片的初始测试完成后,所述可编程存储器中可以被写入所述安全配置信息。下面将结合图5对此进行详细说明。
图5示出了根据本公开实施例的芯片初始测试和测试后的相关配置的示图。
参照图5,在步骤S510,开始芯片初始测试,及在其后的初始测试过程中,所述可编程存储器可以是空白状态(如步骤S520),即其中不写入任何安全配置信息,这种情况下,整个测试访问网络中的任何一个控制器均可以正常被访问,以完成对芯片的初始测试。
在步骤S530,在用自动化测试设备(Automatic Test Equipment,ATE)测试芯片,以完成对芯片的筛片后,可以在步骤S540,将安全配置信息烧入可编程存储器中,然后,在步骤S550,安全配置模块就可以通过解码解析得到安全控制信号,进而控制是否允许对测试访问网络中至少一个控制器进行访问,从而使得芯片在完成筛片及烧入安全配置信息之后禁止从芯片的外部访问芯片中需要保护的信息,以实现对芯片的防护。
根据本公开实施例,为了进一步加强对芯片的防护,在所述初始测试完成后,可安全配置的芯片是能够禁止从所述芯片的外部读取所述安全控制信号中的信息。
具体地,首先,根据本公开实施例,芯片中的安全配置模块可以包括至少一个寄存器,并且所述至少一个寄存器可以用于基于所述安全配置信息生成所述安全控制信号,其中,所述至少一个寄存器可以被配置为禁止形成扫描链,从而可以禁止从所述芯片的外部读取所述安全控制信号中的信息,下文将结合图6A至图6D以示例的形式对此进行详细说明。
然后,根据本公开实施例,在从所述安全配置模块到所述至少一个控制器的数据通路上(如图3中安全配置模块302到第一级控制器或第二级控制器或第三级控制器的数据通路上、图4中安全配置模块402到第一级控制器或第二级控制器中的每一层控制器或第三级控制器的数据通路上)可以禁止形成扫描链,从而禁止从所述芯片的外部读取所述安全控制信号中的信息,下文将结合图6A至图6D以示例的形式对此进行详细说明。
最后,根据本公开实施例,所述安全配置模块可以是加密的,具体地,所述安全配置模块内部可以存在解码单元,其可以通过从可编程存储器中读取安全配置信息并进行解码来得到安全控制信号,并且,解码单元的解码方式被加密算法(任何加密算法均可以,此处不做任何限定)加密,不容易被破解,可以进一步增强芯片防护等级,保护了芯片的安全。
下面将结合图6A至图6D以示例的形式对上述如何禁止形成扫描链进行说明。
图6A示出了根据本公开实施例的普通寄存器的示图。图6B示出了根据并本公开实施例的形成扫描链后寄存器的示图。图6C示出了根据本公开实施例的形成的扫描链的示图。图6D示出了根据本公开实施例的形成扫描链后的工作时序图。
参照图6A,安全配置模块内的寄存器或从安全配置模块到至少一个控制器的数据通路上的寄存器均是图6A所示的普通寄存器,其中,该寄存器具有时钟端CLK、输入端D和输出端Q,其中输入端D连接芯片中正常的逻辑数据,也是芯片中允许或禁止从外部进行交互的数据。
参照图6B,图6B中示出的是形成扫描链后普通寄存器变为了扫描寄存器,会在原有的时钟端CLK、输入端D和输出端Q基础上多两个端口,分别是扫描使能端SE和扫描输入端SI。
扫描链具有如下特性,前一个扫描寄存器的输出端Q连接到下一个扫描寄存器的扫描输入端SI,如图6C所示。当扫描寄存器的SE被配置为例如1时,扫描输入端SI的数据会传输给输出端Q;当SE被配置成例如0时,扫描寄存器的输入端D采到的数据就会传输给输出端Q,从而采到芯片中正常的逻辑数据。
如图6C和图6D所示,寄存器1、寄存器2、寄存器3是安全控制信号传输路径上的寄存器。寄存器1的D端连接安全控制信号1(例如图6C中示出的并且其值“1”)、寄存器2的D端连接安全控制信号2(例如图6C中示出的并且其值“0”)、寄存器3的D端连接安全控制信号值3(例如图6C中示出的并且其值“1”),它们在扫描模式时均变为扫描寄存器,并且串联形成了一条扫描链。
第1步,将SE配置为例如1,扫描链进入移位模式,对所有的扫描寄存器设置预定测试值,比如全部0。具体地,在此期间,向寄存器1的SI端输入所述预定测试值,在第1个时钟周期后,该SI端的预定测试值传递到寄存器1的Q端,在第2个时钟周期后,该预定测试值传递到寄存器2的Q端,在第3个时钟周期后,该预定测试值传递到寄存器3的Q端,从而,在第3个时钟周期后,使得寄存器1的Q端为0,寄存器2的Q端为0,寄存器3的Q端为0,如图6D的第1至第3时钟周期所示。
第2步,将SE配置为例如0,扫描链进入捕获模式,在此期间,每个扫描寄存器的输出端Q都会采到各自输入端D的数据,即采到芯片中正常逻辑的数据,此时分别为对应的安全控制信号。具体地,经过一个时钟周期,即在第4个时钟周期后,寄存器1的Q端为安全控制信号1的值“1”,寄存器2的Q端为安全控制信号2的值“0”,寄存器3的Q端为安全控制信号3的值“1”,如图6D的第4时钟周期所示。
第3步,将SE配置为例如1,扫描链重新进入移位模式,在此期间,每经过一个时钟周期,前一个扫描寄存器中采到的正常逻辑的数据会移位到下一个扫描寄存器中。具体地,在第5个时钟周期后,寄存器3会采集到寄存器2的Q端数值(即安全控制信号2,值为“0”),寄存器2会采集到寄存器1的Q端数值(即安全控制信号1,值为“1”)。在第6个时钟周期后,寄存器3会采集到寄存器2的Q端数值(此时为安全控制信号1,值为“1”),如图6D的第5至第6时钟周期所示。
由上可知,对于由3个寄存器所形成的扫描链,在共经过6个时钟周期后,寄存器3的Q端会把这3个寄存器分别对应的安全控制信号“1”、“0”、“1”通过芯片里的管脚输出出去。这样安全配置信息就会泄露。
如前所述,经过6个时钟周期,通过3个寄存器输出了3个安全控制信号。如果存在更多安全控制信号,可以对于其他安全控制信号,重复上述步骤,最终会把芯片中所有的正常逻辑的数据输出出去,从而使得测试者可以通过分析获取的所述正常逻辑的数据来反推出芯片的设计逻辑,给芯片的安全带来的极大的隐患。
对于由更多个寄存器所形成的扫描链,可以类似地,经过更多个时钟周期把对应的安全控制信号通过芯片的管脚输出。
为了解决上述问题,防止扫描链的形成,可以通过在设计芯片时设置相应的标志值禁止其形成扫描寄存器,或者,在形成扫描寄存器时,将SE接低电平(即SE始终被配置为例如0),通过上述两种方式即可禁止形成扫描链,从而禁止从所述芯片的外部读取所述安全控制信号中的信息,进而避免了芯片中敏感信息的泄露。
以上结合图5至图6D描述的内容可知,本公开提供的可安全配置的芯片可以通过在芯片的初始测试完成后在可编程存储器中写入安全配置信息实现对芯片的有效防护,并且,通过在芯片中的安全配置模块内部禁止形成扫描链以及在安全控制信号的数据通路上禁止形成扫描链,保证了在芯片的初始测试完成之后的任何测试模式(如扫描(SCAN)模式)均无法从外部读取安全控制信号中的信息,这不仅防止了安全控制信号中的信息泄露,也更进一步加强了对芯片的防护,避免了芯片中敏感信息的泄露。
以上结合图1至图6D对可安全配置的芯片进行了详细描述,此外,本公开还提供了一种可安全配置的芯片的操作方法,接下来将结合图7对所述可安全配置的芯片的操作方法进行详细说明。
图7示出了根据本公开实施例的可安全配置的芯片的操作方法的流程图。
参照图7,所述可安全配置的芯片可以包括上述图1中的测试访问网络、可编程存储器和安全配置模块,所述方法可以包括以下步骤。
在步骤S710,可以获取针对所述芯片的目标安全配置值,并且其中,所述目标安全配置值可以指示是否允许对所述测试访问网络中至少一个控制器进行访问。
作为示例,所述目标安全配置值可以是数字123或5789等指示符,可以是例如图4中芯片中的模块1和/或模块2等指示符,也可以是整个芯片等指示符,还可以是任何其它指示符,此处不再赘述。
作为示例,所述获取针对所述芯片的目标安全配置值的获取方式可以包括接收用户输入的方式,例如可以向用户提供交互界面(如UI、命令行)来接收用户输入的信息。
在步骤S720,可以基于所获取的目标安全配置值,在所述可编程存储器中写入对应的安全配置信息。
作为示例,所述目标安全配置值可以是模块1,表示需要禁止从外部对芯片中的模块1进行数据交互,此时,就需要对应的禁止对芯片中的某一个或多个控制器进行访问,在上述情况下,在可编程存储器中写入的安全配置信息可以是例如1010。
在步骤S730,可以通过安全配置模块对上述安全配置信息进行解析,从而得到安全控制信号,并且其中,所述安全控制信号可以用于控制是否允许对所述测试访问网络中至少一个控制器进行访问。
作为示例,所述目标安全配置值可以是模块1,在可编程存储器中写入的安全配置信息可以是1010,经过安全配置模块解析而得到的安全控制信号例如可以是11110011。
在步骤S740,可以根据所述安全控制信号来控制对所述至少一个控制器的访问。
作为示例,得到的安全控制信号可以是11110011,如上图4所述,表示禁止对测试网络中的位于芯片中模块1中的TC控制器和IEEE 1500控制器进行访问以及允许对图4中的其它控制器进行访问,则此时,根据上述得到的安全控制信号11110011就可以控制禁止对测试网络中的位于芯片中模块1中的TC控制器和IEEE 1500控制器进行访问而允许对图4中的其它控制器进行访问,从而实现禁止从外部对芯片中的模块1进行访问,保护了芯片中模块1中的敏感信息泄露,进而实现了对芯片的防护。
根据本公开实施例,所述测试访问网络可以是JTAG网络。
根据本公开实施例,所述测试访问网络可以包括多级控制器,并且其中,在所述安全控制信号指示禁止对多级控制器中的特定控制器进行访问的情况下,所述多级控制器中的所述特定控制器及与其相连的位于其下级的控制器均禁止被访问。
根据本公开实施例,所述第一级控制器或第二级控制器可以是整体状态控制器、路由控制器、测试控制器和IEEE 1500控制器。
根据本公开实施例,所述多级控制器可以是三级控制器。
作为示例,如以上图2中的框210所示,第一级控制器可以包括整体状态控制器,例如,TAP(Test Access Port)控制器,其中,TAP控制器基于IEEE1149.1协议,是一个总的状态控制器,并且可以产生操作控制序列以控制TAP控制器里的电路进行相应的测试方法(例如测试芯片输入/输出(Input/Output,I/O)的边界扫描测试的内部测试(INTEST)、外部测试(EXTEST)、旁路测试(BYPASS)等测试方法),同时,TAP控制器可以用于控制捕获、移位、更新等状态的跳转,最重要的是TAP控制器可以实现对后续子网络的配置和控制,如对后续级别控制器所在的网络的配置和控制。
因此,当所述安全控制信号指示禁止该第一级控制器(如以上图2中的框210所示的控制器)进行访问的情况下,所述多级控制器中的第一级控制器及与之相连的位于下一级的第二级控制器(如以上图2中的框220所示的控制器)和第三级控制器(如以上图2中的框230所示的控制器)均禁止被访问,此时,整个测试访问网络均无法被访问,从而实现了对整个芯片的安全防护,防止了芯片中信息被窃取。
作为示例,第二级控制器可以包括至少一个路由控制器,并且第二级控制器包括的至少一个路由控制器可以分为N(N为正整数)层,如以上图2中的框220所示,此时第二级控制器可以包括路由控制器1、路由控制器2、路由控制器21、路由控制器22等,并且分为了2层,其中,路由控制器1和路由控制器2是第一层控制器,路由控制器21和路由控制器22是第二层控制器。作为示例,所述路由控制器可以是CR控制器,其中,CR控制器基于IEEE1687协议,具有可扩展性,可以根据需求来灵活变化CR控制器的数量。
在所述安全控制信号指示禁止该第二级控制器(如以上图2中的框220所示的控制器)进行访问的情况下,所述多级控制器中的第二级控制器及与其相连的位于其下级的第三级控制器(如以上图2中的框230所示的控制器)均禁止被访问,并且,当该第二级控制器具有至少2层控制器的结构时,在所述安全控制信号指示禁止该第二级控制器中某一层中的控制器(如以上图2中的框230所示的控制器中的第一层的路由控制器2)进行访问的情况下,所述多级控制器中的第二级控制器中的该控制器及与其相连的位于该级的下一层控制器(如以上图2中的框230所示的控制器中的第二层的路由控制器21和路由控制器22)和位于其下级的第三级控制器(如以上图2中的框230所示的所有控制器)均禁止被访问,此时,测试访问网络中对应的控制器均无法被访问,从而可以实现与上述控制器相连的后续整个路径的安全防护,防止了由该路径造成的芯片中信息的泄露,保护了芯片的安全。
作为示例,如以上图2中的框230所示,第三级控制器可以包括至少一个测试控制器和至少一个IEEE 1500控制器。作为示例,所述测试控制器可以是基于IEEE 1687协议的TC控制器。所述IEEE 1500控制器基于IEEE1500协议。所述TC控制器和IEEE 1500控制器可以位于芯片中模块的内部,TC控制器可以连接到测试数据寄存器(Test Data Register,TDR))和IEEE1500控制器,所述IEEE 1500控制器可以连接到TDR控制器。
在所述安全控制信号指示禁止对测试控制器和/或IEEE 1500控制器进行访问的情况下,所述多级控制器中的测试控制器和/或IEEE 1500控制器及与之相连的控制器和寄存器均禁止被访问。此时,由于所述控制器均被禁止访问,从而可以实现该模块或该模块内的部分区域的安全防护,防止了由该模块或该模块内的部分造成的芯片中信息的泄露,保护了芯片的安全。
根据本公开实施例,所述可编程存储器可以是一次性可编程存储器,例如OTP。
根据本公开实施例,对于不同的CR控制器可以使用同样的安全控制信号来进行控制,也可以根据需求把多个CR控制器分成不同的组,每个不同组使用不同的安全控制信号。
根据本公开实施例,由于可编程存储器可以是一次性可编程存储器(如OTP),因此,在可编程存储器中烧入安全配置信号后,芯片中相应的模块将会被禁止访问,这样在对芯片筛片时将无法测试芯片,为此,本公开提供的芯片中的可编程存储器在芯片的初始测试过程中可以为空。在所述芯片的初始测试完成后,所述可编程存储器中可以被写入所述安全配置信息。
根据本公开实施例,为了进一步加强对芯片的防护,在所述初始测试完成后,可安全配置的芯片是能够禁止从所述芯片的外部读取所述安全控制信号中的信息。
具体地,首先,根据本公开实施例,芯片中的安全配置模块可以包括至少一个寄存器,并且所述至少一个寄存器可以用于基于所述安全配置信息生成所述安全控制信号,其中,所述至少一个寄存器被配置为禁止形成扫描链,从而可以禁止从所述芯片的外部读取所述安全控制信号中的信息。
然后,根据本公开实施例,在从所述安全配置模块到所述至少一个控制器的数据通路上(如图3中安全配置模块302到第一级控制器或第二级控制器或第三级控制器的数据通路上、图4中安全配置模块402到第一级控制器或第二级控制器中的每一层控制器或第三级控制器的数据通路上)可以禁止形成扫描链,从而禁止从所述芯片的外部读取所述安全控制信号中的信息。
最后,根据本公开实施例,所述安全配置模块可以是加密的,具体地,所述安全配置模块内部可以存在解码单元,其可以通过从可编程存储器中读取安全配置信息并进行解码来得到安全控制信号,并且,解码单元的解码方式被加密算法(任何加密算法均可以,此处不做任何限定)加密,不容易被破解,可以进一步增强芯片防护等级,保护了芯片的安全。
由于以上已经在描述根据本公开的可安全配置的芯片的过程中,对上述操作所涉及的内容的细节进行了介绍,因此这里为简洁起见不再赘述,相关细节可参照以上关于图1至图6D的描述。
以上已经参照图1至图7描述了根据公开实施例的可安全配置的芯片及其操作方法。然而,应理解的是:图1所示的可安全配置的芯片中的各个模块可被分别配置为执行特定功能的软件、硬件、固件或上述项的任意组合。例如,这些模块可对应于专用的集成电路,也可对应于纯粹的软件代码,还可对应于软件与硬件相结合的模块。
需要说明的是,尽管以上在描述芯片100时将其划分为用于分别执行相应处理的模块,然而,本领域技术人员清楚的是,各模块执行的处理也可以在芯片中不进行任何具体模块划分或者各模块之间并无明确划界的情况下执行。此外,以上参照图1描述的芯片并不限于包括以上描述的模块,而是还可以根据需要增加一些其它模块(例如,存储模块、数据处理模块等),或者以上模块也可被组合。
需要说明的是,附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含至少一个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
一般而言,本公开的各种示例实施例可以在硬件或专用电路、软件、固件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其它方面可以在可以由控制器、微处理器或其它计算设备执行的固件或软件中实施。当本公开实施例的各方面被图示或描述为框图、流程图或使用某些其它图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其它计算设备,或其某些组合中实施。
在上面详细描述的本公开的示例实施例仅仅是说明性的,而不是限制性的。本领域技术人员应该理解,在不脱离本公开的原理和精神的情况下,可对这些实施例或其特征进行各种修改和组合,这样的修改应落入本公开的范围内。
Claims (14)
1.一种可安全配置的芯片,包括:
测试访问网络,其包括至少一个控制器,所述至少一个控制器用于对所述芯片进行测试;
可编程存储器,其用于存储针对芯片的所述测试访问网络的安全配置信息;以及
安全配置模块,其用于解析所述安全配置信息,得到安全控制信号;
其中,所述安全控制信号用于控制是否允许对所述测试访问网络中至少一个控制器进行访问,
其中,所述测试访问网络包括多级控制器,其中,在所述安全控制信号指示禁止对多级控制器中的特定控制器进行访问的情况下,所述多级控制器中的所述特定控制器及与其相连的位于其下级的控制器均禁止被访问。
2.如权利要求1所述的芯片,其中,所述多级控制器是三级控制器,其中,第一级控制器包括整体状态控制器,第二级控制器包括至少一个路由控制器,第三级控制器包括至少一个测试控制器和至少一个IEEE 1500控制器。
3.如权利要求1所述的芯片,其中,
在所述芯片的初始测试过程中,所述可编程存储器为空;以及
在所述芯片的初始测试完成后,所述可编程存储器中被写入所述安全配置信息。
4.如权利要求3所述的芯片,其中,
在所述初始测试完成后,禁止从所述芯片的外部读取所述安全控制信号中的信息。
5.如权利要求4所述的芯片,其中,所述安全配置模块包括:至少一个寄存器,其用于基于所述安全配置信息生成所述安全控制信号,
其中,所述至少一个寄存器被配置为禁止形成扫描链,以及在从所述安全配置模块到所述至少一个控制器的数据通路上禁止形成扫描链,从而禁止从所述芯片的外部读取所述安全控制信号中的信息。
6.如权利要求5所述的芯片,其中,所述安全配置模块是加密的。
7.如权利要求1所述的芯片,其中,所述可编程存储器是一次性可编程存储器。
8.一种可安全配置的芯片的操作方法,所述芯片包括测试访问网络、可编程存储器和安全配置模块,所述方法包括:
获取针对所述芯片的目标安全配置值,所述目标安全配置值指示是否允许对所述测试访问网络中至少一个控制器进行访问;
基于所获取的目标安全配置值,在所述可编程存储器中写入对应的安全配置信息;
通过安全配置模块对上述安全配置信息进行解析,得到安全控制信号,所述安全控制信号用于控制是否允许对所述测试访问网络中至少一个控制器进行访问;
根据所述安全控制信号,控制对所述至少一个控制器的访问,
其中,所述测试访问网络包括多级控制器,其中,在所述安全控制信号指示禁止对多级控制器中的特定控制器进行访问的情况下,所述多级控制器中的所述特定控制器及与其相连的位于其下级的控制器均禁止被访问。
9.如权利要求8所述的方法,其中,所述多级控制器是三级控制器,其中,第一级控制器包括整体状态控制器,第二级控制器包括至少一个路由控制器,第三级控制器包括至少一个测试控制器和至少一个IEEE 1500控制器。
10.如权利要求8所述的方法,其中,
在所述芯片的初始测试过程中,所述可编程存储器为空;以及
在所述芯片的初始测试完成后,所述可编程存储器中被写入所述安全配置信息。
11.如权利要求10所述的方法,其中,
在所述初始测试完成后,禁止从所述芯片的外部读取所述安全控制信号中的信息。
12.如权利要求11所述的方法,其中,所述安全配置模块包括:至少一个寄存器,其用于基于所述安全配置信息生成所述安全控制信号,
其中,所述至少一个寄存器被配置为禁止形成扫描链,以及在从所述安全配置模块到所述至少一个控制器的数据通路上禁止形成扫描链,从而禁止从所述芯片的外部读取所述安全控制信号中的信息。
13.如权利要求12所述的方法,其中,所述安全配置模块是加密的。
14.如权利要求8所述的方法,其中,所述可编程存储器是一次性可编程存储器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011358631.2A CN112444735B (zh) | 2020-11-27 | 2020-11-27 | 可安全配置的芯片及其操作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011358631.2A CN112444735B (zh) | 2020-11-27 | 2020-11-27 | 可安全配置的芯片及其操作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112444735A CN112444735A (zh) | 2021-03-05 |
CN112444735B true CN112444735B (zh) | 2023-06-13 |
Family
ID=74737941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011358631.2A Active CN112444735B (zh) | 2020-11-27 | 2020-11-27 | 可安全配置的芯片及其操作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112444735B (zh) |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7657790B2 (en) * | 2006-04-05 | 2010-02-02 | Texas Instruments Incorporated | Scan frame based test access mechanisms |
US6760874B2 (en) * | 2002-05-07 | 2004-07-06 | Logicvision, Inc. | Test access circuit and method of accessing embedded test controllers in integrated circuit modules |
CN100357751C (zh) * | 2004-02-26 | 2007-12-26 | 联想(北京)有限公司 | 一种jtag模块及应用该模块的调试方法 |
US7284172B2 (en) * | 2004-04-30 | 2007-10-16 | International Business Machines Corporation | Access method for embedded JTAG TAP controller instruction registers |
US7730545B2 (en) * | 2005-05-23 | 2010-06-01 | Arm Limited | Test access control for secure integrated circuits |
US7600166B1 (en) * | 2005-06-28 | 2009-10-06 | David Dunn | Method and system for providing trusted access to a JTAG scan interface in a microprocessor |
US7886150B2 (en) * | 2007-05-11 | 2011-02-08 | Mips Technologies, Inc. | System debug and trace system and method, and applications thereof |
WO2012031362A1 (en) * | 2010-09-07 | 2012-03-15 | Corporation De L ' Ecole Polytechnique De Montreal | Methods, apparatus and system to support large-scale micro- systems including embedded and distributed power supply, thermal regulation, multi-distributed-sensors and electrical signal propagation |
US20130185608A1 (en) * | 2012-01-18 | 2013-07-18 | Qualcomm Incorporated | Scan chain access in 3d stacked integrated circuits |
US9224012B2 (en) * | 2013-05-20 | 2015-12-29 | Advanced Micro Devices, Inc. | Debug functionality in a secure computing environment |
US9436844B2 (en) * | 2013-08-29 | 2016-09-06 | Microsoft Technology Licensing, Llc | Access enablement security circuit |
CN106324463A (zh) * | 2015-06-19 | 2017-01-11 | 上海华虹集成电路有限责任公司 | 扫描链控制电路设计方法及扫描链电路 |
US9810736B2 (en) * | 2015-12-17 | 2017-11-07 | Raytheon Company | System and apparatus for trusted and secure test ports of integrated circuit devices |
US10502572B1 (en) * | 2016-08-25 | 2019-12-10 | The Government Of The United States Of America As Represented By The Secretary Of The Navy | System and methods for network routing and data repackaging |
CN107783874A (zh) * | 2016-08-26 | 2018-03-09 | 华为技术有限公司 | Jtag调试装置以及jtag调试方法 |
CN107703442A (zh) * | 2017-07-17 | 2018-02-16 | 天津大学 | 基于抗差分扫描攻击的数据置乱安全扫描装置 |
CN110337652B (zh) * | 2018-01-29 | 2023-03-17 | 深圳市汇顶科技股份有限公司 | 芯片的访问方法、安全控制模块、芯片和调试设备 |
CN108896903A (zh) * | 2018-06-13 | 2018-11-27 | 天津大学 | 基于逻辑加密的逐次验证型安全扫描链装置和方法 |
-
2020
- 2020-11-27 CN CN202011358631.2A patent/CN112444735B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112444735A (zh) | 2021-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2583112B1 (en) | Method and apparatus for providing scan chain security | |
CN112805577B (zh) | 芯片、芯片测试方法及电子设备 | |
Cantoro et al. | On the testability of IEEE 1687 networks | |
US20180059178A1 (en) | Integrated circuit with low power scan system | |
JP2007525684A (ja) | 階層コアのためのテスト回路及び方法 | |
US7305635B1 (en) | Serial implementation of assertion checking logic circuit | |
US11680981B2 (en) | Test access port with address and command capability | |
JP2008275479A (ja) | スキャンテスト回路、及びスキャンテスト制御方法 | |
CN114280454B (zh) | 芯片测试方法、装置、芯片测试机及存储介质 | |
JP2010152939A (ja) | 半導体装置とテスト方法 | |
US5898701A (en) | Method and apparatus for testing a device | |
CN106771958B (zh) | 具有低功率扫描系统的集成电路 | |
US20120150477A1 (en) | Driving circuit of a test access port | |
US5894213A (en) | Semiconductor integrated circuit having a plurality of flip-flops | |
CN115407708A (zh) | 用于dft结构的安全电路 | |
US7308631B2 (en) | Wrapper serial scan chain functional segmentation | |
CA1186060A (en) | Process for construction of a safety controller and a controller built in accordance with the process | |
US10520550B2 (en) | Reconfigurable scan network defect diagnosis | |
CN112444735B (zh) | 可安全配置的芯片及其操作方法 | |
US7213184B2 (en) | Testing of modules operating with different characteristics of control signals using scan based techniques | |
CN112183005B (zh) | 集成电路测试模式下的dft电路构建方法及应用 | |
WO2015049374A1 (en) | Flexible interface | |
US7539913B2 (en) | Systems and methods for chip testing | |
US11017135B2 (en) | Scan logic for circuit designs with latches and flip-flops | |
US6381720B1 (en) | Test circuit and method for system logic |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230412 Address after: 610216 building 3, No. 171, hele Second Street, Chengdu high tech Zone, China (Sichuan) pilot Free Trade Zone, Chengdu, Sichuan Province Applicant after: CHENGDU HAIGUANG INTEGRATED CIRCUIT DESIGN Co.,Ltd. Address before: 300392 North 2-204 industrial incubation-3-8, 18 Haitai West Road, Huayuan Industrial Zone, Tianjin Applicant before: Haiguang Information Technology Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |