基于寄存器的功能模块的使能方法、装置及移动终端与流程

文档序号:12786019阅读:461来源:国知局
基于寄存器的功能模块的使能方法、装置及移动终端与流程

本发明涉及芯片设计领域,特别涉及一种基于寄存器的功能模块的使能方法、装置及移动终端。



背景技术:

在芯片设计领域,不同的市场划分导致了市场对芯片的功能存在着不同的需求。有时可能存在同一系列芯片之间的大部分功能类似,仅有少部分功能存在差异的现象,例如:中央处理器(Central Processing Unit,CPU)的核数(4核或8核)、CPU的最高运行频率,高速缓存(Cache)的大小以及摄像头支持的最高像素等。对于以上所述的大部分功能类似却型号不同的芯片,对其每一种型号进行制造最为直接,然而,众所周知,芯片的制造成本越来越高昂,制造以上所述的每一种型号的芯片会大大增加成本。

在现有技术中,针对所述大部分功能类似却型号不同的芯片,最常用的两种方法。方法一:通过修改芯片中部分或全部金属层的连线来修正设计错误或者修改芯片的设计,此方法不改动硅片设计,相对于对芯片重新投片大大降低了成本;方法二:在芯片设计时预留一些专用的焊盘引脚,在芯片封装时,通过将所述专用的焊盘引脚上拉到高电平或者下拉到低电平来对芯片的不同类型进行区分。但是,这两种方法需要重新设计芯片金属层或者修改芯片的衬底,尽管相比对每一种型号的芯片均进行重新设计和制造已经降低了成本,却成本依然较高,且灵活性低。

针对以上所述的技术问题,现有技术中还存在一种通过芯片内置的一次性编程存储器(One-Time-Programmable Memory,OTP)来控制功能模块的使能的方法,其中,所述OTP可以为微电溶丝(eFuse)。OTP只能编程一次,且不能被修改,非常适合做功能的使能,不过其访问控制比较麻烦,读取时间较长,同时修改的灵活性比较小,一旦OTP编程完成就无法进行修改。因此,此方法存在着访问速度慢,灵活性差,功能单一等缺点。

因此,在芯片设计领域,现有技术中的功能模块的使能方法存在着成本 高和灵活性差的问题。



技术实现要素:

本发明解决的技术问题是在芯片设计领域,现有技术中的功能模块的使能方法成本高和灵活性差。

为解决上述技术问题,本发明实施例提供一种基于寄存器的功能模块的使能方法,所述功能模块具有使能端;所述寄存器包括至少一个控制比特位,所述功能模块的使能方法包括:

从控制信息源读取预存的状态信息;

将所述状态信息写入所述寄存器的控制比特位;

将所述控制比特位内的数据发送至所述功能模块的使能端,以对所述功能模块进行使能控制。

可选的,将所述状态信息写入所述寄存器的控制比特位之前,还包括:对所述控制信息源的状态信息进行校验,以保证其未经篡改。

可选的,将所述控制信息写入所述寄存器的控制比特位之前,还包括:将所述状态信息转换为适于所述寄存器读取的形式。

可选的,每一控制比特位对一个对应的功能模块进行使能控制。

可选的,当所述寄存器被复位时,保护所述控制比特位内的数据维持不变。

可选的,所述寄存器还包括:写保护比特位,适于控制所述寄存器的控制比特位是否允许被写入;其中,所述写保护比特位对应一个或多个所述控制比特位。

可选的,所述控制信息源为一次性编程存储器或/和非易失性存储器或/和云端服务器。

为解决上述技术问题,本发明实施例还提供一种基于寄存器的功能模块的使能装置,所述功能模块具有使能端;所述寄存器包括至少一个控制比特位,所述功能模块的使能装置包括:

状态信息读取单元,适于从控制信息源读取预存的状态信息;

状态信息写入单元,适于将所述状态信息写入所述寄存器的控制比特位;

控制数据发送单元,适于将所述控制比特位内的数据发送至所述功能模块的使能端,以对所述功能模块进行使能控制。

可选的,所述功能模块的使能装置还包括:状态信息校验单元,适于将所述状态信息写入所述寄存器的控制比特位之前,对所述控制信息源的状态信息进行校验,以保证其未经篡改。

可选的,所述功能模块的使能装置还包括:寄存器信息转换单元,适于将所述控制信息写入所述寄存器的控制比特位之前,将所述状态信息转换为适于所述寄存器读取的形式。

可选的,每一控制比特位对一个对应的功能模块进行使能控制。

可选的,所述功能模块的使能装置还包括:寄存器数据保护单元,适于当所述寄存器被复位时,保护所述控制比特位内的数据维持不变。

可选的,所述寄存器还包括:写保护比特位,适于控制所述寄存器的控制比特位是否允许被写入;其中,所述写保护比特位对应一个或多个所述控制比特位。

可选的,所述控制信息源为一次性编程存储器或/和非易失性存储器或/和云端服务器。

为解决上述技术问题,本发明实施例还提供一种移动终端,包括以上所述的基于寄存器的功能模块的使能装置。

可选的,所述移动终端为手机或平板电脑。

与现有技术相比,本发明实施例的技术方案具有以下有益效果:

在本发明实施例基于寄存器的功能模块的使能方法中,所述功能模块具有使能端,所述寄存器包括至少一个控制比特位;所述功能模块的使能方法包括:从控制信息源读取预存的状态信息;将所述状态信息写入所述寄存器的控制比特位;将所述控制比特位内的数据发送至所述功能模块的使能端,以对所述功能模块进行使能控制。本发明实施例提出一种基于寄存器的功能 模块的使能方法,以通过使能芯片中的各个功能模块来使能或禁用不同的所述功能模块来达到不重新投片而衍生出不同功能的一系列芯片,此外,还可以动态地控制某一个或几个功能模块是否打开,本发明实施例方案成本较低,灵活性较高;所述控制信息源可以有多种形式,进一步使本使能方法具有较高的灵活性;将所述状态信息写入所述寄存器的控制比特位,将所述控制比特位内的数据发送至所述功能模块的使能端,访问速度快。

进一步而言,本发明实施例在从控制信息源读取预存的状态信息后,对所述控制信息源的状态信息进行进一步校验,以保证其未经篡改,具有较高的安全性。

进一步而言,本发明实施例中所述的寄存器包括:写保护比特位,适于控制所述寄存器的控制比特位是否允许被写入;所述写保护比特位被使能后,所述寄存器不允许被修改,可以进一步防止所述功能模块被非法使用,具有较高的安全性;所述写保护比特位对应一个或多个所述控制比特位,灵活性较高。

附图说明

图1是现有技术的一种基于OTP的功能模块使能装置的结构框图;

图2是本发明实施例基于寄存器的功能模块的使能方法的流程图;

图3是本发明实施例一种基于寄存器的功能模块的使能装置的结构框图;

图4是本发明实施例另一种基于寄存器的功能模块的使能装置的结构框图。

具体实施方式

如背景技术部分所述,在芯片设计领域,现有技术中的功能模块的使能方法成本高和灵活性差。

本申请发明人对现有技术的芯片中的功能模块的使能方法进行了研究。在现有技术中,如背景部分所述,针对所述大部分功能类似却型号不同的芯片,最常用的两种方法为:通过修改芯片中部分或全部金属层的连线来修正设计错误或者修改芯片的设计,以及在芯片设计时预留一些专用的焊盘引脚, 通过将所述专用的焊盘引脚上拉到高电平或者下拉到低电平来对芯片的不同类型进行区分。但是,这两种方法成本依然较高,且灵活性低。

现有技术中还存在一种通过芯片内置的OTP来控制功能模块的使能的方法。图1是现有技术的一种基于OTP的功能模块使能装置的结构框图。如图1所示,OTP101包含了多个比特1011以及控制逻辑1012,分别负责OTP101的读写以及写保护功能。在芯片出厂前,可以通过工具预先对所述OTP101进行编程,写入的信息可根据需要使能的功能模块102确定,一个比特1011可以控制一个功能模块102的使能,例如:比特置1表示功能打开,比特置0表示功能关闭。一旦OTP101被编程后将不能被改动,可以防止客户修改OTP101内存储的数据。这样,同一个芯片通过写入不同的数据到OTP101而制造出不同功能的芯片。然而,基于OTP101的功能模块102的使能方法访问和控制比较繁琐,读取时间较长,同时修改灵活性较低,功能单一的缺点。而且对于某些需要动态控制芯片的功能模块102使能的场景无能无力,例如:众多芯片在调试阶段需要使用联合测试工作组(Joint Test Action Group,JTAG)功能,而出厂后为了防止被破解又希望将JTAG功能关闭,而所述芯片若出现故障需要返修又需要打开JTAG功能,所述基于OTP101的功能模块102的使能方法并不能够动态控制芯片的功能模块102使能。基于以上分析可知,在芯片设计领域,现有技术中的功能模块的使能方法依然存在成本高和灵活性差等缺点。

图2是本发明实施例基于寄存器的功能模块的使能方法的流程图。如图2所示,为了解决以上所述的技术问题,本发明实施例提出一种基于寄存器的功能模块的使能方法,其中,所述功能模块具有使能端;并且,所述寄存器包括至少一个控制比特位,本发明实施例基于寄存器的功能模块的使能方法包括以下步骤:

S201:从控制信息源读取预存的状态信息。

S202:将所述状态信息写入所述寄存器的控制比特位。

S203:将所述控制比特位内的数据发送至所述功能模块的使能端,以对所述功能模块进行使能控制。

本发明实施例通过使能芯片中的各个功能模块来使能或禁用不同的所述功能模块来达到不重新投片而衍生出不同功能的一系列芯片,此外,还可以动态地控制某一个或几个功能模块是否打开,本发明实施例方案成本较低,灵活性较高;所述控制信息源可以有多种形式,进一步使本使能方法具有较高的灵活性;将所述状态信息写入所述寄存器的控制比特位,将所述控制比特位内的数据发送至所述功能模块的使能端,访问速度快。

为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。

在本发明实施例中,在所述步骤S201——从控制信息源读取预存的状态信息被执行后,还可以对所述控制信息源的状态信息进行校验,以保证其不被篡改。

在本发明实施例中,还可以在所述步骤S202——将所述状态信息写入所述寄存器的控制比特位被执行前,将所述状态信息转换为适于所述寄存器读取的形式,而后再执行所述步骤S203。

图3是本发明实施例基于寄存器的功能模块的使能装置的结构框图,以实现基于寄存器的功能模块的使能方法。

如图3所示,所述基于寄存器的功能模块的使能装置300可以包括:控制信息源301、控制软件302、寄存器303以及带功能使能的各个功能模块304。

在具体实施中,所述控制信息源301适于保存被控制的功能模块304的状态信息。所述控制信息源301可以为OTP3011,具体地,所述OTP3011可以为eFuse;所述控制信息源301还可以为非易失性存储器(Nonvolatile Memory,NVM)3012或云端服务器(简称云端)3013。所述控制信息源301还可以为所述OTP3011、NVM3012以及云端3013的组合。需要指出的是,本发明实施例中的控制信息源301旨在存储所述状态信息,因而不应限定于其具体的存储媒介。

其中,所述OTP3011的一次性可编程特性使芯片在出厂前被写入若干可长久保存且不被客户修改的控制信息。将云端3013作为所述控制信息源301时,所述云端3013将控制信息保存于远端服务器,当终端需要和所述云端3013 进行交互时,从云端3013下载功能的控制信息到终端即可。

所述NVM3012可以是Flash,也可是eMMC(Embedded Multi Media Card,嵌入式多媒体卡)或微硬盘等存储媒介。NVM3012具有非易失性的特点,在芯片掉电以后仍能保存信息。

不过由于所述NVM3012可以被重复编程或者读、写,所以,需要配合安全启动(secure boot)机制或其他类似的防篡改机制来保证数据不会被修改。因此,本发明实施例采用了一种安全启动方法,可以解决当以所述NVM3012作为控制信息源301时,保护其不备篡改。

本发明实施例可以通过运行第一安全代码,验证基本安全内容(Basal Secure Content,BSC),当所述基本安全内容验证通过时,运行第二安全代码,验证引导程序(boot loader),当所述引导程序验证通过时,运行所述引导程序,其中,所述基本安全内容和所述引导程序存储于所述NVM3012中,而将所述第一安全代码和所述第二安全代码存储于只读的第二存储器中,从而比对出被验证的代码是否发生变动。

其中,所述BSC由用户数据组成,用户数据包含用户公钥和用户想要加入的不可升级的任何信息,BSC存储于非易失性的第一存储器中。所述第一安全代码适于计算出所述基本安全内容的第一哈希摘要;当所述第一哈希摘要与预先保存的哈希摘要相同时,验证所述基本安全内容通过;其中,所述预先保存的哈希摘要存储于一次性可编程的第三存储器中。运行所述第二安全代码适于使用公开密钥算法验证所述引导程序。

在具体实施中,在验证引导程序时,本领域的技术人员可以不像本实施例这样将验证引导程序的第二安全代码存储于第二存储器中,而是将验证引导程序的代码包含在基本安全内容中,这样,由基本安全内容采用公开密钥算法来验证引导程序,同样可以实现在启动过程中的安全校验。

但是,由于本发明实施例中验证引导程序的第二安全代码存储于只读的第二存储器中,而不是包含在所述基本安全内容内存储于片外的所述NVM3012中,从而可以减小对每个产品的基本安全内容作修改和重新编译时可能造成的错误,提高了验证代码的可靠性。

在本发明实施例中,所述寄存器303可以包括:所述控制比特位3031;所述寄存器303还可以包括:写保护比特位3032和控制逻辑单元3033。

用于控制所述功能模块304的信息被写在所述控制比特位3031之内;一个所述控制比特位3031可以对应一个所述功能模块304的使能,具体地,所述控制比特位3031对所述功能模块304的使能控制可以是正逻辑(写入1表示功能打开,写入0表示功能关闭),也可以是负逻辑(写入0表示功能打开,写入1表示功能关闭);并且,所述寄存器303存储的信息不受芯片复位控制,即当所述寄存器303被复位时,所述控制比特位3031内保存的数据维持不变。

所述写保护比特位3032适于控制所述寄存器303的控制比特位3031是否允许被写入,一个所述写保护比特位3032可以对应一个或多个控制比特位3031。但是,在本实施例中,所述寄存器303也可以不包括所述写保护比特位3031,例如,应用Trustzone技术的芯片将寄存器303纳入被保护范围,其安全机制可以保护寄存器303不会被非法修改。

所述控制逻辑单元3033适于控制整个所述寄存器303的包括:读、写、写保护功能等操作;当所述写保护比特位3032被写入有效数据后,所述控制逻辑单元3033将不执行对应控制比特位3031的写操作命令。

所述带功能使能的各个功能模块304具有使能位EN,当所述使能位EN被写入有效数据时(可以为高/低电平),所述功能模块304对应地被打开且可以被正常使用,当所述使能位EN被写入无效数据时(可以为低/高电平),所述功能模块304对应地被关闭并停止运行(或者降低性能运行);例如:当所述使能位EN被写入有效数据时,CPU使用8核,当所述使能位EN被写入无效数据时,CPU只能使用4核;再例如:当所述使能位EN被写入有效数据时,CPU工作在2GHz,当所述使能位EN被写入无效数据时,CPU工作在1GHz。在具体实施中,每一控制比特位3031可以对一个对应的功能模块304进行使能控制。

在所述基于寄存器的功能模块的使能装置300中,所述控制软件302适于从所述控制信息源301读取所述预存的状态信息并写入到所述寄存器303的控制比特位3031中。所述控制软件302可以是一组代码,也可以通过芯片 的逻辑实现。所述控制软件302可以在整个产品生命周期不发生变动,也可以为可升级的。

如以上所述,所述寄存器303的控制信息来源可以为OTP3011、NVM3012或/和云端3013等,在芯片开始工作时,所述控制软件302将原始控制信息(即为所述状态信息)从所述OTP3011、NVM3012或/和云端3013等读取后并写入寄存器303,并可以打开写保护功能,所述功能模块304均由所述寄存器303控制。这种功能模块304的使能机制可以使同一个芯片衍生出不同功能的一系列芯片,也可以动态控制某一个或几个功能模块是否被使能。

以所述控制信息源301为OTP3011为例,预先对OTP3011编程以写入所述状态信息,芯片开机后,所述控制软件302从OTP3011处读取所述状态信息并写入到所述寄存器303中,由于寄存器303的控制比特位3031分别对应控制着各功能模块304的使能位,因此,所述各个功能模块304可以被控制。同时,若所述寄存器303包括所述写保护比特位3032,在所述寄存器303的控制比特位3031被写入所述状态信息后,可以控制所述写保护比特位3032有效,以保证在后续运行中所述寄存器303所存储的信息被非法修改。

当所述控制信息源301为云端3013时,所述芯片可以实现一些更灵活的应用,例如:在正常条件下,某些功能被关闭,而在用户付费后可以被打开。

当所述控制信息源301为NVM3012时,所述芯片可以启用安全启动(secure boot)机制,在开机后,secure boot机制会校验所述NVM3012内数据,以保证数据未经非法篡改;本发明实施例中的所述控制软件302将所述状态信息从NVM3012读取到所述寄存器303,从而控制对应的功能模块304的使能。由于NVM3012是可编程的,通过secure boot机制中如:证书签名,所述状态信息可以被升级或修改,对应的举例可以为JTAG功能。

如图4所示,为了解决背景技术部分所述的技术问题,本发明实施例还提供了另一种基于寄存器的功能模块的使能装置400,所述功能模块304具有使能端;所述寄存器303包括至少一个控制比特位3031(参见图3)。

所述功能模块304的使能装置可以包括:

状态信息读取单元402,适于从控制信息源301读取预存的状态信息。

状态信息写入单元404,适于将所述状态信息写入所述寄存器303的控制比特位3031。

控制数据发送单元405,适于将所述控制比特位3031内的数据发送至所述功能模块304的使能端,以对所述功能模块304进行使能控制。

本发明实施例基于寄存器的功能模块的使能装置400还可以包括:状态信息校验单元401,适于将所述状态信息写入所述寄存器303的控制比特位3031之前,对所述控制信息源301的状态信息进行校验,以保证其未经篡改。

本发明实施例基于寄存器的功能模块的使能装置400还可以包括:寄存器信息转换单元403,适于将所述控制信息写入所述寄存器303的控制比特位3031之前,将所述状态信息转换为适于所述寄存器303读取的形式。在本发明实施例中,每一控制比特位3031可以对一个对应的功能模块304进行使能控制。

本发明实施例基于寄存器的功能模块的使能装置400还可以包括:寄存器数据保护单元406,适于当所述寄存器303被复位时,保护所述控制比特位3031内的数据维持不变。

在本发明实施例中,所述寄存器303还可以包括:写保护比特位3032,适于控制所述寄存器303的控制比特位3031是否允许被写入;其中,所述写保护比特位3031对应一个或多个所述控制比特位3031。

在具体实施中,所述控制信息源301可以为一次性编程存储器3011或/和非易失性存储器3012或/和云端服务器3013。

所述基于寄存器的功能模块的使能装置400的更多信息请参考以上实施例中对所述基于寄存器的功能模块的使能方法的相关描述,此处不再赘述。

为了解决背景技术所述的技术问题,本发明实施例还提供一种移动终端,包括以上所述的基于寄存器的功能模块的使能装置。

在具体实施中,所述移动终端可以为手机,也可以为平板电脑。

本领域普通技术人员可以理解,上述实施例的各种方法中,全部或部分步骤是可以通过程序指令相关的硬件来完成的,该程序可以存储于计算机可 读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。

虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

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