Repair method and repair apparatus for system-on-chip, electronic device and storage medium

By initializing the circuit module and using eFuse storage register configuration update information during the system-on-chip startup process, the system-on-chip startup problem caused by BootROM exceptions is solved, and flexible and efficient repair is achieved, reducing repair costs.

WO2025161214A1PCT designated stage Publication Date: 2025-08-07HYGON INFORMATION TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/096263
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-01-29
Filing Date
2024-05-30
Publication Date
2025-08-07

AI Technical Summary

Technical Problem

In the prior art, the BootROM abnormality problem of the system on chip is difficult to effectively repair, resulting in failure of the drill or a large number of defective products, and the existing repair methods are costly and have limited results.

Method used

During the system-on-chip startup process, the circuit module is initialized, the register configuration information is modified after determining the startup exception, and the update information is written into eFuse in eFuse format, reset the system on-chip, and the programmability of eFuse is used for flexible repair.

Benefits of technology

Improves the flexibility and efficiency of repairing system-on-chip startup exceptions, reduces repair costs, and avoids chip failure caused by BootROM exceptions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024096263_07082025_PF_FP_ABST
    Figure CN2024096263_07082025_PF_FP_ABST
Patent Text Reader

Abstract

A repair method and repair apparatus for a system-on-chip, an electronic device and a storage medium. The system-on-chip comprises a plurality of circuit modules. The repair method comprises: during the process of starting the system-on-chip, initializing at least one circuit module among the plurality of circuit modules (S11); in response to the startup abnormality of the at least one circuit module, determining whether to modify register configuration information of the at least one circuit module (S12); and when the register configuration information of the at least one circuit module needs to be modified, writing register configuration update information of the at least one circuit module into an eFuse in an eFuse format, and resetting the system-on-chip (S13). The present disclosure is suitable for repair scenarios for startup abnormalities of systems-on-chip.
Need to check novelty before this filing date? Find Prior Art

Description

System on chip repair method, repair device, electronic device and storage medium

[0001] This application claims priority to Chinese Patent Application No. 202410125427.8 filed on January 29, 2024, and the contents of the above-mentioned Chinese patent application disclosure are hereby incorporated by reference in their entirety as a part of this application. Technical Field

[0002] Embodiments of the present disclosure relate to a system on chip repair method, a repair device, an electronic device, and a storage medium. Background Art

[0003] BootROM (Boot Read-Only Memory), a read-only memory that stores the system-on-chip (SoC) startup program, has a very small capacity and is stored in a small NOR Flash (a type of non-volatile flash memory) storage unit within the SoC (System-on-Chip). The BootROM code block within the SoC is responsible for the first stage of the SoC startup. Problems with this code block can directly lead to the failure of the SoC tape-out (trial production) or result in a large number of defective products during mass production.

[0004] For example, the code in the BootROM configures a large number of registers. The rationality of the register configuration values ​​directly affects whether the on-chip system can boot properly. If the register configuration values ​​in the BootROM are incorrect, it is often necessary to modify the BootROM code through an ECO (Engineering Change Order) or even respins, which is a costly process. Current methods for repairing BootROM anomalies mainly rely on adding detection circuits and repair circuits, but their practical effectiveness is limited.

[0005] Therefore, there is currently no good solution for the unpredictable BootROM abnormality problem after the system-on-chip is taped out.

[0006] Summary of the Invention

[0007] In order to solve the problem of abnormal startup of existing system on chip, the present disclosure provides a system on chip repair method, repair device, electronic device and storage medium.

[0008] In a first aspect, an embodiment of the present invention provides a method for repairing a system on chip, wherein the system on chip includes multiple circuit modules, and the method includes: during the process of starting the system on chip, initializing at least one circuit module among the multiple circuit modules; in response to a startup exception of the at least one circuit module, determining whether it is necessary to modify the register configuration information of the at least one circuit module; if it is necessary to modify the register configuration information of the at least one circuit module, writing the register configuration update information of the at least one circuit module into the eFuse in an eFuse format, and resetting the system on chip.

[0009] In a specific embodiment, after resetting the system on chip, the method also includes: reading the register configuration update information of the at least one circuit module in the eFuse; modifying the register configuration information of the at least one circuit module according to the register configuration update information of the at least one circuit module; and reinitializing the at least one circuit module.

[0010] In a specific implementation scheme, the configuration update information includes the address parameters and configuration parameters of the registers of the at least one circuit module; the modification of the register configuration information of the at least one circuit module based on the register configuration update information of the at least one circuit module includes: writing the configuration parameters of the registers of the at least one circuit module into the address of the registers of the at least one circuit module based on the address parameters of the registers of the at least one circuit module.

[0011] In a specific implementation scheme, the configuration update information also includes a configuration identifier, which is used to determine whether the configuration information of the register of the at least one circuit module needs to be modified; after reading the register configuration update information of the at least one circuit module in the eFuse, the method also includes: determining whether the register configuration information of the at least one circuit module needs to be modified based on the configuration identifier of the register configuration update information of the at least one circuit module.

[0012] In a specific implementation, the address parameter is the actual address of the register of the at least one circuit module, or the address parameter is the base address or offset address of the register of the at least one circuit module.

[0013] In a specific implementation scheme, the configuration update information also includes an address mode; if the address mode is a configuration mode based on the actual address, then the reading of the register configuration update information of the at least one circuit module in the eFuse includes: reading the actual address and configuration parameters of the register of the at least one circuit module from the eFuse; if the address mode is a configuration mode based on the base address, then the reading of the register configuration update information of the at least one circuit module in the eFuse includes: reading the base address, offset address and configuration parameters of the register of the at least one circuit module from the eFuse, and determining the actual address of the register of the at least one circuit module based on the base address and offset address of the register of the at least one circuit module.

[0014] In a specific embodiment, after writing the register configuration update information of the at least one circuit module into the eFuse in the eFuse format, the method further includes: storing in the on-chip system an execution code for reading the register configuration update information of the at least one circuit module in the eFuse.

[0015] In the second aspect, an embodiment of the present invention also provides a repair device for a system on chip, which includes: an initialization unit for initializing at least one circuit module among multiple circuit modules of the system on chip during the process of starting the system on chip; a judgment unit for judging whether it is necessary to modify the register configuration information of the at least one circuit module in response to an abnormal startup of the at least one circuit module; a writing unit for writing the register configuration update information of the at least one circuit module into the eFuse in an eFuse format and resetting the system on chip when it is necessary to modify the register configuration information of the at least one circuit module.

[0016] In a specific embodiment, the device also includes: a reading unit for reading the register configuration update information of the at least one circuit module in the eFuse; a modification unit for modifying the register configuration information of the at least one circuit module according to the register configuration update information of the at least one circuit module; and a reinitialization unit for reinitializing the at least one circuit module.

[0017] In a specific implementation scheme, the configuration update information includes the address parameters and configuration parameters of the register of the at least one circuit module; the modification unit is specifically used to: write the configuration parameters of the register of the at least one circuit module into the address of the register of the at least one circuit module according to the address parameters of the register of the at least one circuit module.

[0018] In a specific implementation scheme, the configuration update information also includes a configuration identifier, which is used to determine whether the configuration information of the register of the at least one circuit module needs to be modified; the device also includes a configuration identifier judgment unit, which is used to determine whether the register configuration information of the at least one circuit module needs to be modified based on the configuration identifier of the register configuration update information of the at least one circuit module after reading the register configuration update information of the at least one circuit module in the eFuse.

[0019] In a specific implementation, the address parameter is the actual address of the register of the at least one circuit module, or the address parameter is the base address or offset address of the register of the at least one circuit module.

[0020] In a specific implementation scheme, the configuration update information also includes an address mode; the reading unit includes: a first reading module, which is used to read the actual address and configuration parameters of the register of the at least one circuit module from the eFuse if the address mode is a configuration mode based on the actual address; a second reading module, which is used to read the base address, offset address and configuration parameters of the register of the at least one circuit module from the eFuse if the address mode is a configuration mode based on the base address, and determine the actual address of the register of the at least one circuit module based on the base address and offset address of the register of the at least one circuit module.

[0021] In a specific embodiment, the device also includes an execution code storage unit, which is used to write the register configuration update information of the at least one circuit module into the eFuse in the eFuse format, and then store the execution code for reading the register configuration update information of the at least one circuit module in the eFuse in the on-chip system.

[0022] In a third aspect, an embodiment of the present invention further provides an electronic device, comprising: a housing, a processor, a memory, a circuit board, and a power supply circuit, wherein the circuit board is placed inside the space enclosed by the housing, and the processor and the memory are arranged on the circuit board; a power supply circuit for supplying power to various circuits or devices of the above-mentioned electronic device; the memory for storing executable program code; the processor runs a program corresponding to the executable program code by reading the executable program code stored in the memory, and is used to execute any one of the on-chip system repair methods provided by the embodiments of the present invention.

[0023] In a fourth aspect, an embodiment of the present invention further provides a computer-readable storage medium, which stores one or more programs, and the one or more programs can be executed by one or more processors to implement any system-on-chip repair method provided by an embodiment of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0025] FIG1 is a flow chart of an embodiment of a system-on-chip repair method disclosed herein;

[0026] FIG2 is a flow chart of another embodiment of the system-on-chip repair method disclosed herein;

[0027] FIG3 is a flow chart of another embodiment of the system-on-chip repair method disclosed herein;

[0028] FIG4 is a schematic structural diagram of an embodiment of a system on a chip disclosed herein;

[0029] FIG5 is a flow chart of another embodiment of the system-on-chip repair method disclosed herein;

[0030] FIG6 is a flow chart of another embodiment of the system-on-chip repair method disclosed herein;

[0031] FIG7 is a schematic structural diagram of an embodiment of a system-on-chip repair device disclosed herein;

[0032] FIG8 is a schematic structural diagram of another embodiment of the system-on-chip repair device disclosed herein;

[0033] FIG9 is a schematic diagram of the structure of an electronic device provided by an embodiment of the present disclosure. DETAILED DESCRIPTION

[0034] The embodiments of the present invention are described in detail below with reference to the accompanying drawings.

[0035] It should be understood that the embodiments described are only a portion of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by persons of ordinary skill in the art without creative work are within the scope of protection of the present invention.

[0036] Since the code of the BootROM that stores the on-chip system startup program will configure a large number of registers, the rationality of the register configuration value directly affects whether the on-chip system can start normally. Once the register configuration value in the BootROM is wrong, it often takes a lot of cost to modify it.

[0037] In order to solve the above problems, in a first aspect, an embodiment of the present invention provides a method for repairing a system on chip, wherein the system on chip includes multiple circuit modules, as shown in FIG1 , and the method comprises the following steps:

[0038] S11 . Initializing at least one circuit module among a plurality of circuit modules during startup of the system on chip.

[0039] The system-on-chip (SOC), also known as a chip or system-level chip, contains a CPU (Central Processing Unit) for calculation and control. The system-on-chip is the final execution unit for information processing and program execution. A read-only memory connected to the CPU via a bus, such as a BootROM, is used to store the system-on-chip startup program and guide the first stage of startup of the system-on-chip. During the startup process of the system-on-chip, multiple circuit modules of the system-on-chip, such as IP modules, are initialized to configure the registers of the circuit modules. Among them, the IP (Intellectual Property) module is a pre-designed and even verified integrated circuit, device or component with a certain function.

[0040] S12: In response to abnormal startup of at least one circuit module, determine whether register configuration information of the at least one circuit module needs to be modified.

[0041] The startup program in the on-chip system's BootROM will configure the registers of the circuit module. If the configuration value is incorrect, the circuit module will start abnormally. Therefore, when the on-chip system circuit module starts abnormally, it is determined whether the register configuration information of the abnormally started circuit module needs to be modified according to the situation.

[0042] S13. When the register configuration information of at least one circuit module needs to be modified, the register configuration update information of the at least one circuit module is written into the eFuse in an eFuse format, and the system on chip is reset.

[0043] Because modifying information stored in the BootROM is costly, when the register configuration information of a circuit module needs to be modified, this embodiment stores the register configuration update information of the circuit module with the startup abnormality in an eFuse (electronic fuse, a programmable electronic fuse, a non-volatile memory device used to store information and protect the system-on-chip). After writing the content, the eFuse with the written register configuration update information is reset to enable the eFuse. As a non-volatile memory that facilitates modification of stored information, the modifiability of the eFuse stored information can be fully utilized to compensate for the difficulty of modifying the stored information in the BootROM. At the same time, this embodiment only stores the register configuration update information of the circuit module with the startup abnormality in the eFuse, avoiding excessive eFuse storage space occupation and reducing usage costs.

[0044] An embodiment of the present invention provides a system-on-chip (SoC) repair method that initializes at least one of the SoC's multiple circuit modules during SoC startup. Then, in response to a startup anomaly in the at least one circuit module, determines whether the register configuration information of the at least one circuit module needs to be modified. If modification of the register configuration information of the at least one circuit module is necessary, the register configuration update information of the at least one circuit module is written to the eFuse in eFuse format, and the SoC is reset. This method can modify the register configuration information of the circuit module that affects SoC startup via eFuse based on an analysis of the SoC startup anomaly, thereby improving the flexibility of repairing SoC startup anomalies.

[0045] Optionally, in one embodiment of the present invention, after resetting the system on chip, as shown in FIG2 , the method further includes:

[0046] S21, reading register configuration update information of at least one circuit module in the eFuse;

[0047] S22. Modify register configuration information of at least one circuit module according to register configuration update information of at least one circuit module;

[0048] S23. Reinitialize at least one circuit module.

[0049] After the register configuration update information of the circuit module with startup abnormality is written into the eFuse and reset, during the startup process of the on-chip system, the register configuration update information of the circuit module with startup abnormality stored in the eFuse can be read, and the register configuration information of the corresponding circuit module can be modified and the circuit module can be reinitialized based on the configuration update information. In this way, based on the modified configuration information, the circuit module and the on-chip system can be started normally.

[0050] Optionally, in one embodiment of the present invention, the configuration update information includes address parameters and configuration parameters of the registers of at least one circuit module; based on the register configuration update information of at least one circuit module, the register configuration information of at least one circuit module is modified (step S22), including: based on the address parameters of the registers of at least one circuit module, writing the configuration parameters of the registers of at least one circuit module into the address of the registers of at least one circuit module.

[0051] When the system-on-chip's startup program modifies the register configuration information of a circuit module, it must write the configuration parameters to the corresponding address of the circuit module's register. In this embodiment, the configuration update information written to the eFuse specifically includes the address parameters and configuration parameters of the circuit module's register, and is written to the eFuse based on binary encoding. For example, in the following table, if the eFuse has K rows of available storage resources, each row can be divided into two parts: the M bits in the high-order bits are used as address storage bits for storing the address parameters of the circuit module's register, and the N bits in the low-order bits are used as configuration parameter storage bits for storing the configuration parameters of the circuit module's register, where K, M, and N are natural numbers.

[0052] Since eFuse has K rows of available storage resources, when a circuit module needs to modify the configuration information of multiple registers, the configuration update information corresponding to each register can be written separately to each row of the available eFuse storage resources. Each row contains the address parameters and configuration parameters of the corresponding register. In this way, when the register configuration information of the circuit module that has started abnormally needs to be modified, the configuration parameters of the circuit module register are written to the address pointed to by the address parameters based on the address parameters of the circuit module register stored in the eFuse.

[0053] Optionally, in one embodiment of the present invention, the configuration update information also includes a configuration identifier, which is used to determine whether the configuration information of the register of at least one circuit module needs to be modified; after reading the register configuration update information of at least one circuit module in the eFuse (step S21), the method also includes: determining whether the register configuration information of at least one circuit module needs to be modified based on the configuration identifier of the register configuration update information of at least one circuit module.

[0054] For the registers of the circuit modules that need to modify the configuration information, through the configuration identifier in the configuration update information, only a small amount of logic code for reading the eFuse can be added after the normal operation logic of the on-chip system startup program. According to the configuration identifier in the configuration update information of the circuit module register in the eFuse, it is determined whether the configuration information of the circuit module register needs to be updated. If it is determined that an update is required according to the configuration identifier, the corresponding configuration update information is continued to be read from the eFuse. If it is determined that an update is not required according to the configuration identifier, the reading of the eFuse is terminated. The on-chip system startup program can continue to execute the reading of the configuration update information of another circuit module register from the eFuse, or continue to execute other normal logic steps, thereby improving the utilization rate of the eFuse storage resources and the execution efficiency of the startup program.

[0055] Based on the binary-coded storage of eFuse, the status value of a certain bit can be used as a configuration identifier. For example, if the status value of the bit is 1, it means that the corresponding circuit module register configuration information needs to be updated. If the status value of the bit is 0, it means that the corresponding circuit module register configuration information does not need to be updated.

[0056] Optionally, in one embodiment of the present invention, the address parameter is the actual address of a register of at least one circuit module, or the address parameter is the base address or offset address of a register of at least one circuit module.

[0057] This embodiment sets a corresponding data encoding format for the address parameters written into the eFuse based on the data characteristics of the circuit module register address, thereby reducing the eFuse storage capacity occupied. For example, when the actual address length of the circuit module register is moderate or the configuration information of only one register in the circuit module needs to be modified, the actual address of the circuit module register can be directly written into the eFuse as the address parameter. When the actual address of the circuit module register is long, or the configuration information of multiple registers with the same base address in the circuit module needs to be modified, the base address and offset address of the circuit module register can be combined to write the base address and offset address of the circuit module register into the eFuse as address parameters. Since the offset address occupies a relatively small amount of storage space, this method can reduce the eFuse storage space occupied and reduce storage costs.

[0058] For example, if a binary-coded eFuse has K rows of available storage resources, a single row can be used to store the longer base address of a circuit module register. For the offset address, each row is still divided into two parts: the M bits located in the high-order bits store the offset address, and the N bits located in the low-order bits store the configuration parameters of the circuit module register. When each row of the available eFuse storage resources can accommodate multiple offset addresses and corresponding configuration parameters, each row can be used to store the offset addresses and corresponding configuration parameters of multiple registers, further improving eFuse capacity utilization.

[0059] Optionally, in one embodiment of the present invention, the configuration update information also includes an address mode; if the address mode is a configuration mode based on the actual address, the register configuration update information of at least one circuit module in the eFuse is read, including: reading the actual address and configuration parameters of the register of at least one circuit module from the eFuse; if the address mode is a configuration mode based on the base address, the register configuration update information of at least one circuit module in the eFuse is read, including: reading the base address, offset address and configuration parameters of the register of at least one circuit module from the eFuse, and determining the actual address of the register of at least one circuit module based on the base address and offset address of the register of at least one circuit module.

[0060] After setting the corresponding data encoding format for the address parameters written into the eFuse based on the data characteristics of the actual address of the circuit module register, the corresponding address mode can be further written into the eFuse for the different data encoding formats of the address parameters, so that the address parameters can be parsed according to the configuration method represented by the address mode. In this way, when the startup program of the system on chip reads the eFuse, when the read address mode is a configuration mode based on the actual address, representing that the address parameter uses the actual address to implement data encoding storage, the actual address and configuration parameters of the circuit module register can be read from the eFuse based on the parsing mode of the actual address; when the read address mode is a configuration mode based on the base address, representing that the address parameter uses the base address and offset address combination to implement data encoding storage, the base address, offset address and configuration parameters of the circuit module register can be read from the eFuse based on the parsing mode of the base address and offset address combination, and the actual address can be determined based on the base address and offset address of the register.

[0061] For example, in the table below, eFuse can use a single row of storage resources to store the address mode, which is used to represent the parsing mode of the address parameters; another storage row is used to store the base address of the circuit module register; and the other rows are divided into two parts. The M bits at the high bit position are used to store the offset address of the circuit module register, and the N bits at the low bit position are used to store the configuration parameters of the circuit module register. After reading the address mode and determining that it is a configuration mode based on the base address, the base address, offset address and configuration parameters of the circuit module register can be read from the eFuse based on the parsing mode that combines the base address and offset address, and the actual address can be determined based on the base address and offset address of the register. It can be seen that through this method, the data storage mode of the eFuse is optimized and the cost of use is reduced.

[0062] Optionally, in one embodiment of the present invention, after writing the register configuration update information of at least one circuit module into the eFuse in the eFuse format, the method further includes: storing an execution code for reading the register configuration update information of at least one circuit module in the eFuse in the on-chip system.

[0063] In this embodiment, specific execution code is stored in the system on chip to execute operations such as reading the eFuse and modifying the register configuration information of the circuit module. For example, the startup program is stored in the BootROM of the system on chip, and the execution code is stored in another memory of the system on chip. The execution code reads the register configuration update information of the circuit module in the eFuse, and based on the read configuration update information, further modification operations can be performed on the register configuration information of the circuit module, and the circuit module can be reinitialized after the modification is completed. In this way, only simplified loading code is embedded in the startup program of the BootROM, and the execution code is loaded through the loading code. The execution code reads the register configuration update information of the circuit module from the eFuse, and further modification operations and reinitialization steps can be performed.

[0064] This embodiment provides an example of a system-on-chip repair process. After the BootROM runs the startup program, as shown in FIG3 , the process includes the following steps:

[0065] S501. Determine whether the BootROM is running abnormally. If it is abnormal, execute step S502; if it is not abnormal, execute step S504.

[0066] S502 : For the abnormally running BootROM, determine whether it is possible to repair the circuit module registers that need to update the initial configuration information through eFuse according to the solution of this embodiment. If so, execute step S503 .

[0067] S503. Confirm that the circuit module registers and configuration update information need to be updated with the initial configuration information, and encode the configuration update information into an adaptive format of the eFuse, which encoding format matches the decoding method of the BootROM startup program; write the encoded data of the configuration update information into the eFuse, for example, use the JTAG interface to burn the encoded data into the eFuse, and issue a reset instruction to the on-chip system by operating the JTAG (Joint Test Action Group) interface to make the eFuse with the modified storage information take effect.

[0068] S504: If the BootROM runs normally, continue to execute normal logic code.

[0069] The system on chip of this embodiment can be specifically shown in Figure 4. The system on chip 10 includes BootROM 101, eFuse 102, SRAM (Static Random-Access Memory) 103, and a central processing unit 104. The eFuse 102 can use the JTAG interface to modify the storage content once after the system on chip is taped out. BootROM 101 is used to store the startup program when the system on chip 10 is powered on, and eFuse 102 is used to store the relevant configuration information of the system on chip 10. After power-on is completed, the BootROM 101 of the system on chip 10 starts running and executes the startup program stored in the BootROM 101 to initialize the system on chip 10. During this process, the central processing unit 104 of the system on chip 10 puts the startup program in the BootROM 101 into SRAM 103 for execution. At the same time, the startup program reads the storage content of eFuse 102 and performs corresponding operations to normally configure the registers of the relevant circuit modules. According to the solution of this embodiment, for circuit module registers that require configuration information update, the configuration update information of the circuit module registers is stored in eFuse 102, and corresponding logic code for reading eFuse 102 is added after the normal operation logic of the BootROM 101 startup program. Therefore, after the BootROM 101 startup program executes the normal operation logic and performs initial configuration on the circuit module registers, the BootROM 101 startup program executes the steps shown in Figure 5 on the information stored in eFuse 102:

[0070] S301. Determine whether the circuit module register configuration information needs to be modified. If modification is required, execute step S302a. If modification is not required, execute step S305.

[0071] S302a, sequentially obtain configuration update information of n registers of the circuit module from the eFuse, parse the corresponding addresses and configuration parameters according to the configuration update information, and write the configuration parameters into the corresponding addresses.

[0072] S303: Determine whether the modification task of all registers of the circuit module is completed. If it is completed, execute step S304; if it is not completed, continue to execute step S302a.

[0073] S304: Continue to execute the subsequent logic code of the BootROM startup program for the eFuse storage information.

[0074] S305: Continue to execute the normal logic code of the BootROM startup program.

[0075] When the corresponding data encoding format and the corresponding parsing mode are set for the address parameters written into the eFuse according to the data characteristics of the actual address of the circuit module register, after determining that the circuit module register configuration information needs to be modified, the update of the initial configuration information of the circuit module register can also be completed by executing step S302b as shown in Figure 6.

[0076] S302b. Determine the parsing mode based on the reading of the eFuse storage information by the BootROM startup program. For example, when the base address mode is selected, obtain the configuration update information such as the base address of the circuit module register from the eFuse, and parse the offset address and configuration parameters based on the configuration update information of the register to obtain the address of the corresponding circuit module register, and write the configuration parameters into the corresponding address.

[0077] In the second aspect, an embodiment of the present invention also provides a repair device for a system on chip. As shown in Figure 7, the repair device for the system on chip includes: an initialization unit 31, which is used to initialize at least one circuit module among multiple circuit modules of the system on chip during the process of starting the system on chip; a judgment unit 32, which is used to judge whether the register configuration information of at least one circuit module needs to be modified in response to an abnormal startup of at least one circuit module; a writing unit 33, which is used to write the register configuration update information of at least one circuit module into the eFuse in the eFuse format when the register configuration information of at least one circuit module needs to be modified, and reset the system on chip.

[0078] An embodiment of the present invention provides a system-on-chip (SoC) repair device. During the SoC startup process, the device initializes at least one of the SoC's multiple circuit modules. Then, in response to a startup anomaly in the at least one circuit module, the device determines whether the register configuration information of the at least one circuit module needs to be modified. If modification is required, the device writes the register configuration update information of the at least one circuit module to the eFuse in eFuse format and resets the SoC. Based on an analysis of the SoC startup anomaly, the device can modify the register configuration information of the circuit module that affects SoC startup via the eFuse, thereby improving the flexibility of repairing SoC startup anomalies.

[0079] In a specific embodiment, as shown in Figure 8, the repair device of the system on chip also includes: a reading unit 34, used to read the register configuration update information of at least one circuit module in the eFuse; a modification unit 35, used to modify the register configuration information of at least one circuit module according to the register configuration update information of at least one circuit module; and a reinitialization unit 36, used to reinitialize at least one circuit module.

[0080] In a specific implementation scheme, the configuration update information includes the address parameters and configuration parameters of the registers of at least one circuit module; the modification unit 35 is specifically used to: write the configuration parameters of the registers of at least one circuit module into the address of the registers of at least one circuit module according to the address parameters of the registers of at least one circuit module.

[0081] In a specific implementation scheme, the configuration update information also includes a configuration identifier, which is used to determine whether the configuration information of the register of at least one circuit module needs to be modified; the repair device of the on-chip system also includes a configuration identifier judgment unit, which is used to determine whether the register configuration information of at least one circuit module needs to be modified based on the configuration identifier of the register configuration update information of at least one circuit module after reading the register configuration update information of at least one circuit module in the eFuse.

[0082] In a specific implementation, the address parameter is the actual address of a register of at least one circuit module, or the address parameter is the base address or offset address of a register of at least one circuit module.

[0083] In a specific implementation scheme, the configuration update information also includes an address mode; the reading unit 34 includes: a first reading module, which is used to read the actual address and configuration parameters of the register of at least one circuit module from the eFuse if the address mode is a configuration mode based on the actual address; a second reading module, which is used to read the base address, offset address and configuration parameters of the register of at least one circuit module from the eFuse if the address mode is a configuration mode based on the base address, and determine the actual address of the register of at least one circuit module based on the base address and offset address of the register of at least one circuit module.

[0084] In a specific embodiment, the repair device of the system on chip also includes an execution code storage unit, which is used to write the register configuration update information of at least one circuit module into the eFuse in the eFuse format, and then store the execution code for reading the register configuration update information of at least one circuit module in the eFuse in the system on chip.

[0085] In a third aspect, an embodiment of the present invention further provides an electronic device.

[0086] As shown in Figure 9, the electronic device provided by the embodiment of the present disclosure includes: a shell 51, a processor 52, a memory 53, a circuit board 54 and a power supply circuit 55, wherein the circuit board 54 is placed inside the space enclosed by the shell 51, and the processor 52 and the memory 53 are set on the circuit board 54; the power supply circuit 55 is used to supply power to various circuits or devices of the above-mentioned electronic device; the memory 53 is used to store executable program code; the processor 52 runs the program corresponding to the executable program code by reading the executable program code stored in the memory 53, so as to execute any one of the system-on-chip repair methods provided by the embodiments of the present invention.

[0087] The specific execution process of the above steps by the processor 52 and the steps further executed by the processor 52 by running the executable program code can be found in the description of the above embodiment and will not be repeated here.

[0088] The aforementioned electronic devices exist in various forms, including but not limited to:

[0089] (1) Mobile communication equipment: This type of equipment is characterized by its mobile communication capabilities and its primary purpose is to provide voice and data communications. This type of terminal includes: 5G mobile communication equipment, satellite mobile communication equipment, etc.

[0090] (2) Ultra-mobile personal computer devices: These devices fall under the category of personal computers, have computing and processing capabilities, and generally also have mobile Internet access. These terminals include PDAs, MIDs, and UMPCs.

[0091] (3) Server: A device that provides computing services. The server consists of a processor, hard disk, memory, system bus, etc. The server is similar to a general computer architecture, but because it needs to provide highly reliable services, it has higher requirements in terms of processing power, stability, reliability, security, scalability, and manageability.

[0092] (4) Other electronic devices with data interaction functions.

[0093] In a fourth aspect, an embodiment of the present disclosure also provides a computer-readable storage medium, which stores one or more programs. The one or more programs can be executed by one or more processors to implement any system-on-chip repair method provided by an embodiment of the present invention, thereby also achieving the corresponding technical effect. This has been described in detail above and will not be repeated here.

[0094] It should be noted that, in this document, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply the existence of any such actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of other identical elements in the process, method, article, or device comprising the element.

[0095] Each embodiment in this specification is described in a related manner. The same or similar parts between the embodiments can be referred to each other. Each embodiment focuses on the differences from other embodiments.

[0096] In particular, for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0097] For the convenience of description, the above device is described as being divided into various units / modules based on their functions. Of course, when implementing the present invention, the functions of each unit / module can be implemented in the same or multiple software and / or hardware.

[0098] Those skilled in the art will appreciate that all or part of the processes in the above-described method embodiments can be implemented by instructing related hardware through a computer program. The program can be stored in a computer-readable storage medium, and when executed, the program can include the processes in the above-described method embodiments. The storage medium can be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).

[0099] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in the present invention should be included in the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be based on the scope of protection of the claims.

Claims

1. A method for repairing a system on a chip, wherein: The system on chip includes multiple circuit modules, and the repair method includes: Initializing at least one circuit module among the plurality of circuit modules during startup of the system on chip; In response to the abnormal startup of the at least one circuit module, determining whether register configuration information of the at least one circuit module needs to be modified; When the register configuration information of the at least one circuit module needs to be modified, the register configuration update information of the at least one circuit module is written into an eFuse (electronic fuse) in an eFuse format, and the system on chip is reset.

2. The repair method according to claim 1, wherein: After resetting the system on chip, the method further includes: Reading register configuration update information of the at least one circuit module in the eFuse; Modifying the register configuration information of the at least one circuit module according to the register configuration update information of the at least one circuit module; The at least one circuit module is reinitialized.

3. The repair method according to claim 2, wherein: The configuration update information includes address parameters and configuration parameters of the register of the at least one circuit module; The modifying of the register configuration information of the at least one circuit module according to the register configuration update information of the at least one circuit module includes: writing the configuration parameters of the register of the at least one circuit module into the address of the register of the at least one circuit module according to the address parameters of the register of the at least one circuit module.

4. The repair method according to claim 2 or 3, wherein: The configuration update information further includes a configuration identifier, and the configuration identifier is used to determine whether the configuration information of the register of the at least one circuit module needs to be modified; After reading the register configuration update information of the at least one circuit module in the eFuse, the method further includes: determining whether the register configuration information of the at least one circuit module needs to be modified according to the configuration identifier of the register configuration update information of the at least one circuit module.

5. The repair method according to claim 3, wherein: The address parameter is an actual address of a register of the at least one circuit module, or the address parameter is a base address or an offset address of a register of the at least one circuit module.

6. The repair method according to claim 5, wherein: The configuration update information also includes an address mode; If the address mode is a configuration mode based on the actual address, then reading the register configuration update information of the at least one circuit module in the eFuse includes: reading the actual address and configuration parameters of the register of the at least one circuit module from the eFuse; If the address mode is a configuration mode based on the base address, then reading the register configuration update information of the at least one circuit module in the eFuse includes: reading the base address, offset address and configuration parameters of the register of the at least one circuit module from the eFuse, and determining the actual address of the register of the at least one circuit module based on the base address and offset address of the register of the at least one circuit module.

7. The repair method according to any one of claims 1 to 6, wherein: After writing the register configuration update information of the at least one circuit module into the eFuse in an eFuse format, the method further includes: An execution code for reading register configuration update information of the at least one circuit module in the eFuse is stored in the system on chip.

8. A system-on-chip repair device, comprising: an initialization unit configured to initialize at least one circuit module among the plurality of circuit modules of the system on chip during startup of the system on chip; a judging unit configured to judge whether register configuration information of the at least one circuit module needs to be modified in response to abnormal startup of the at least one circuit module; as well as The writing unit is configured to write the register configuration update information of the at least one circuit module into the eFuse in an eFuse format and reset the on-chip system when the register configuration information of the at least one circuit module needs to be modified.

9. The repair device according to claim 8, further comprising: a reading unit configured to read register configuration update information of the at least one circuit module in the eFuse; a modifying unit configured to modify the register configuration information of the at least one circuit module according to the register configuration update information of the at least one circuit module; The reinitialization unit is configured to reinitialize the at least one circuit module.

10. The repair device according to claim 9, wherein: The configuration update information includes address parameters and configuration parameters of the register of the at least one circuit module; The modification unit is specifically configured to write the configuration parameters of the register of the at least one circuit module into the address of the register of the at least one circuit module according to the address parameters of the register of the at least one circuit module.

11. The repair device according to claim 9 or 10, wherein: The configuration update information further includes a configuration identifier, and the configuration identifier is used to determine whether the configuration information of the register of the at least one circuit module needs to be modified; The device also includes a configuration identifier determination unit configured to, after reading the register configuration update information of the at least one circuit module in the eFuse, determine whether the register configuration information of the at least one circuit module needs to be modified based on the configuration identifier of the register configuration update information of the at least one circuit module.

12. The repair device according to claim 10, wherein: The address parameter is an actual address of a register of the at least one circuit module, or the address parameter is a base address or an offset address of a register of the at least one circuit module.

13. The repair device according to claim 12, wherein: The configuration update information also includes an address mode; The reading unit includes: a first reading module configured to read the actual address and configuration parameters of the register of the at least one circuit module from the eFuse if the address mode is a configuration mode based on the actual address; The second reading module is configured to read the base address, offset address and configuration parameters of the register of the at least one circuit module from the eFuse if the address mode is a configuration mode based on the base address, and determine the actual address of the register of the at least one circuit module based on the base address and offset address of the register of the at least one circuit module.

14. The repair device according to any one of claims 8 to 13, further comprising an execution code storage unit, wherein: The execution code storage unit is configured to write the register configuration update information of the at least one circuit module into the eFuse in the eFuse format, and then store the execution code for reading the register configuration update information of the at least one circuit module in the eFuse in the on-chip system.

15. An electronic device comprising: housing, processor, memory, circuit board and power supply circuit, wherein, The circuit board is placed inside the space enclosed by the shell; The processor and the memory are arranged on a circuit board; The power supply circuit is configured to supply power to various circuits or devices of the above-mentioned electronic device; The memory is configured to store executable program code; The processor reads the executable program code stored in the memory to run a program corresponding to the executable program code, thereby executing the system on chip repair method according to any one of claims 1 to 7.

16. A computer-readable storage medium, wherein: The computer-readable storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement the system-on-chip repair method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Method for starting chip type system and computer system medium thereof

    CN101206578A

  • Register configuration method and device, electronic equipment and storage medium

    CN114675901A

  • Method for modifying circuit default parameters and initialization parameter selection circuit

    CN116088953A

  • System-on-chip repairing method and device, electronic equipment and storage medium

    CN117992145A

  • Enhanced computer start-up methods

    US20030233534A1