具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
参见图2,本实施例提供了一种配置芯片的方法,包括:
101:在芯片的非挥发性存储器中配置芯片的功能模式,该功能模式至少包括启动模式;
102:将非挥发性存储器中的功能模式发送给芯片中除该非挥发性存储器之外的其它功能模块。
具体的,步骤102包括:将其它功能模块复位,从非挥发性存储器中读取所述功能模式、并译码;将译码后的功能模式发送给相应的其它功能模块,将其它功能模块解复位。
本实施例提供的方法,通过在非挥发性存储器中配置芯片的功能模式,并将非挥发性存储器中的功能模式发送给除该非挥发性存储器之外的其它功能模块,当功能模式是启动模式时,不需要启动模式配置管脚,减少了管脚总数目,从而减小单板面积、降低布线难度和芯片成本、简化单板设计。
实施例2
参见图3,本实施例提供了一种配置芯片的方法,包括:
201:在芯片的非挥发性存储器中配置芯片的功能模式,该功能模式至少包括启动模式;
具体的,可以通过ATE向量、板级编程逻辑等对功能模式进行编程,并将编程后的功能模式烧写进非挥发性存储器。其中,非挥发性存储器是指芯片下电时,数据不会丢失的存储器,其包括OTP(One Time Programmable,一次性可编程)存储器和MTP(Multi Time Programmable,多次可编程)存储器。芯片包括SOC(System On a Chip,系统级芯片)或非SOC。
其中,启动模式包括启动模式类型及其参数描述。例如,参见表1和表2,启动模式类型包括片外Nand Flash启动、非安全E2PROM(Electrically ErasableProgrammable Read-Only Memory,电可擦可编程只读存储器)启动、非安全NorFlash启动、安全Nand Flash启动、安全E2PROM启动、安全Nor Flash启动、自举下载;以Nand Flash为例,其参数描述包括SLC(Single Layer Cell,单层单元)和MLC(Multi-Level Cell,多层单元)、位宽、ECC(Error Checking andCorrecting,错误检查和纠正)。按照现有技术需要7根管脚BOOT_MODE2、BOOT_MODE1、BOOT_MODE0、NAND_MODE3、NAND_MODE2、NAND_MODE1、NAND_MODE0,而采用本实施例的方法,则可以将这些管脚删除,而用7bit的非挥发性存储器实现。
表1 启动模式类型配置示例
BOOT_MODE2 |
BOOT_MODE1 |
BOOT_MODE0 |
启动模式类型 |
启动地址 |
0 |
0 |
0 |
片外NandFlash启动 |
0x0000_0000 |
0 |
0 |
1 |
非安全E2PROM启动 |
0xFFFF_0000 |
BOOT_MODE2 |
BOOT_MODE1 |
BOOT_MODE0 |
启动模式类型 |
启动地址 |
0 |
1 |
0 |
非安全NorFlash启动 |
0xFFFF_0000 |
1 |
0 |
0 |
安全NandFlash启动 |
0xFFFF_0000 |
1 |
0 |
1 |
安全E2PROM启动 |
0xFFFF_0000 |
1 |
1 |
0 |
安全NorFla sh启动 |
0xFFFF_0000 |
1 |
1 |
1 |
自举下载 |
0xFFFF_0000 |
表2Nand Flash参数描述示例
NAND_MODE3 |
NAND_MODE2 |
NAND_MODE1 |
NAND_MODE0 |
NandFlash参数描述 |
0 |
0 |
0 |
0 |
SLC,8bit,2kB page size |
0 |
0 |
0 |
1 |
SLC,16bit,2kB page size |
0 |
0 |
1 |
0 |
SLC,8bit,512B page size |
0 |
0 |
1 |
1 |
SLC,16bit,512B page size |
1 |
0 |
0 |
0 |
MLC,8bit,2kB page size,1bit ECC |
NAND_MODE3 |
NAND_MODE2 |
NAND_MODE1 |
NAND_MODE0 |
NandFlash参数描述 |
1 |
0 |
0 |
1 |
MLC,8bit,2kB page size,4bit ECC |
1 |
0 |
1 |
0 |
MLC,8bit,2kB page size,8bit ECC |
1 |
0 |
1 |
1 |
MLC,8bit,2kB page size,24bit ECC |
1 |
1 |
0 |
0 |
MLC,8bit,4kB page size,4bit ECC |
1 |
1 |
0 |
1 |
MLC,8bit,4kB page size,8bit ECC |
1 |
1 |
1 |
0 |
MLC,8bit,4kB page size,24bit ECC |
1 |
1 |
1 |
1 |
MLC,8bit,8kB page size,24bit ECC |
配置之后,将非挥发性存储器中的功能模式发送给芯片中除该非挥发性存储器之外的其它功能模块,具体可以通过以下步骤实现:
202:将除该非挥发性存储器之外的其它功能模块复位;
其中,其它功能模块包括但不限于CPU(Central Processing Unit,中央处理器)、Memory(存储器)控制器。
203:从非挥发性存储器中读取该功能模式;
具体的,可以根据该非挥发性存储器的时序规范,读取该功能模式。
204:可选的,将该功能模式锁存在挥发性存储器中;
其中,挥发性存储器是指芯片下电时,数据会丢失的存储器。将功能模式锁存在挥发性存储器之后,当芯片发生故障需要排除故障时,可以从挥发性存储器直接获取功能模式作为排除故障的参考数据。
205:将该功能模式进行译码;
其中,译码可以将该功能模式转换成与其他特定功能模块相应的格式,本实施例并不限定具体的译码方法。
206:将译码后的功能模式发送给相应的其它功能模块;
207:将其它功能模块解复位;
具体的,功能模式的读取、锁存和译码都需要时间,因此,需要控制它功能模块复位的时间,根据是否执行204锁存的步骤,具体有以下两种实现方法:
1)设置第一复位时间,第一复位时间的初始值大于等于功能模式读取、锁存和译码的时间;当第一复位时间递减为零时,将其它功能模块解复位。
2)设置第二复位时间,第二复位时间的初始值大于等于功能模式读取和译码的时间;当第二复位时间递减为零时,将其它功能模块解复位。
参见图4,配置芯片的逻辑框图包括:非挥发性存储器、数据读取器、数据锁存器、译码器、计数器、复位器、其它功能模块。其中,非挥发性存储器以OTP存储器为例,其它功能模块以CPU、flash(闪存)控制器为例,功能模式以启动模式为例。其中,复位器具体可以将计数值与复位信号相与实现。
基于上述逻辑框图,配置芯片的具体过程包括:首先,将启动模式烧写在OTP存储器中;其次,设置计数器的初始值大于等于启动模式读取、锁存和译码的时间,通过复位器将CPU和flash控制器复位,计数器开始计数;再次,数据读取器从OTP存储器读出启动模式相关的数据;再次,可选的,将启动模式相关的数据锁存在数据锁存器;再次,译码器获取启动模式,将其分别译码为CPU和flash控制器相应的格式,并将译码后的启动模式分别发送给CPU和flash控制器;然后,当计数器递减为0时,复位器将CPU和flash控制器解复位;最后,CPU和flash控制器开始系统启动过程。
本实施例提供的方法,通过在非挥发性存储器中配置芯片的功能模式,并将非挥发性存储器中的功能模式发送给除该非挥发性存储器之外的其它功能模块,当功能模式是启动模式时,不需要启动模式配置管脚,减少了管脚总数目,从而减小单板面积、降低布线难度和芯片成本、简化单板设计。
实施例3
参见图5,一种配置芯片的装置,包括:
配置模块301,用于在芯片的非挥发性存储器中配置芯片的功能模式,功能模式至少包括启动模式;
其中,可以通过ATE向量、板级编程逻辑等对功能模式进行编程,并将编程后的功能模式烧写进非挥发性存储器。非挥发性存储器是指芯片下电时,数据不会丢失的存储器,其包括OTP(One Time Programmable,一次性可编程)存储器和MTP(Multi Time Programmable,多次可编程)存储器。芯片包括SOC(System On a Chip,系统级芯片)或非SOC。
其中,其它功能模块包括但不限于CPU(Central Processing Unit,中央处理器)、Memory(存储器)控制器。
发送模块302,用于将非挥发性存储器中的功能模式发送给芯片中除非挥发性存储器之外的其它功能模块。
参见图6,其中,发送模块302包括:
复位单元302a,用于将其它功能模块复位;
处理单元302b,用于从非挥发性存储器中读取功能模式、并译码;
具体的,可以根据该非挥发性存储器的时序规范,读取该功能模式。
其中,译码可以将该功能模式转换成与其他特定功能模块相应的格式,本实施例并不限定具体的译码方法。
发送单元302c,用于将译码后的功能模式发送给相应的其它功能模块;
解复位单元302d,用于将其它功能模块解复位。
进一步的,发送模块302还包括:
锁存单元302e,用于从非挥发性存储器中读取功能模式之后,将功能模式锁存在挥发性存储器中。
其中,挥发性存储器是指芯片下电时,数据会丢失的存储器。将功能模式锁存在挥发性存储器之后,当芯片发生故障需要排除故障时,可以从挥发性存储器直接获取功能模式作为排除故障的参考数据。
进一步的,发送模块302还包括:
第一设置单元302f,用于设置第一复位时间,第一复位时间的初始值大于等于功能模式读取、锁存和译码的时间;
相应的,解复位单元302d,具体用于当第一复位时间递减为零时,将其它功能模块解复位。
进一步的,发送模块302还包括:
第二设置单元302g,用于设置第二复位时间,第二复位时间的初始值大于等于功能模式读取和译码的时间;
相应的,解复位单元302d,具体用于当第二复位时间递减为零时,将其它功能模块解复位。
参见图4,配置芯片的逻辑框图包括:非挥发性存储器、数据读取器、数据锁存器、译码器、计数器、复位器、其它功能模块。其中,非挥发性存储器以OTP存储器为例,其它功能模块以CPU、flash(闪存)控制器为例,功能模式以启动模式为例。其中,复位器具体可以将计数值与复位信号相与实现。
基于上述逻辑框图,配置芯片的具体过程包括:首先,将启动模式烧写在OTP存储器中;其次,设置计数器的初始值大于等于启动模式读取、锁存和译码的时间,通过复位器将CPU和flash控制器复位,计数器开始计数;再次,数据读取器从OTP存储器读出启动模式相关的数据;再次,可选的,将启动模式相关的数据锁存在数据锁存器;再次,译码器获取启动模式,将其分别译码为CPU和flash控制器相应的格式,并将译码后的启动模式分别发送给CPU和flash控制器;然后,当计数器递减为0时,复位器将CPU和flash控制器解复位;最后,CPU和flash控制器开始系统启动过程。
本实施例提供的装置,与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本实施例提供的装置,通过在非挥发性存储器中配置芯片的功能模式,并将非挥发性存储器中的功能模式发送给除该非挥发性存储器之外的其它功能模块,当功能模式是启动模式时,不需要启动模式配置管脚,减少了管脚总数目,从而减小单板面积、降低布线难度和芯片成本、简化单板设计。
以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如:计算机中的硬盘、光盘或软盘。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。