Fuse configuration verification method and device, storage medium and electronic equipment
By generating and verifying FPGA fuse configuration test cases, the incorrect function caused by fuse configuration errors in FPGA chip is solved, and efficient and accurate fuse configuration verification is achieved.
Patent Information
- Application Number
- CN202411563554.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-04
- Publication Date
- 2025-02-18
AI Technical Summary
In FPGA chips, fuse configuration errors will lead to incorrect primitive functions, which will affect the correctness of user design. It is difficult for the existing technology to effectively verify and ensure the correctness of fuse configuration.
By generating N parameter configuration test cases, using test case information tables and template test cases, the verification records of each test case are automatically verified, and a test report is generated to ensure the correctness of fuse configuration.
Improves the efficiency of generating test cases, saves case writing and test time, achieves rapid testing without development boards, and improves the accuracy of fuse configuration verification.
Smart Images

Figure CN119473893A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of chip verification, and in particular to a fuse configuration verification method, device, storage medium and electronic device. Background Art
[0002] Field Programmable Gate Array (FPGA) has abundant available resources, including Look-Up Table (LUT), Block Static Random Access Memory (BSRAM), Digital Signal Processing (DSP) and other resources. For FPGA resources, different functions can be realized through different fuse configurations. Different resources of FPGA are defined as primitives at the software level, and these fuses are defined as parameters of primitives at the software level. Different fuses are set by configuring the parameters of primitives to achieve their expected functions. If the corresponding fuse configuration is wrong when configuring the parameters of the primitive, the function of the entire primitive will be incorrect, and the function of the entire user design will also be incorrect. Therefore, in order to ensure the correctness of the user design, the fuse configuration of the parameters of the primitive must be verified. Summary of the invention
[0003] The object of the present invention is to provide a fuse configuration verification method, device, storage medium and electronic device to improve the above-mentioned problem.
[0004] In order to achieve the above purpose, the technical solution adopted by the embodiment of the present invention is as follows:
[0005] In a first aspect, an embodiment of the present invention provides a fuse configuration verification method, the method comprising:
[0006] Generate N parameter configuration test cases according to the test case information table and the template test case;
[0007] The test case information table includes N parameter sets, the parameter sets include parameter values under each parameter type corresponding to the template test case, and the template test case is a template of a fuse configuration test case corresponding to the FPGA;
[0008] Verify according to N parameter configuration test cases, and obtain a verification record for each of the parameter configuration test cases;
[0009] A test report is generated according to the verification record of each of the parameter configuration test cases.
[0010] In a second aspect, an embodiment of the present invention provides a fuse configuration verification device, the device comprising:
[0011] A first processing unit, configured to generate N parameter configuration test cases according to the test case information table and the template test case;
[0012] The test case information table includes N parameter sets, the parameter sets include parameter values under each parameter type corresponding to the template test case, and the template test case is a template of a fuse configuration test case corresponding to the FPGA;
[0013] The first processing unit is further used to perform verification according to N parameter configuration test cases, and obtain a verification record of each of the parameter configuration test cases;
[0014] The second processing unit is used to generate a test report according to the verification record of each parameter configuration test case.
[0015] In a third aspect, an embodiment of the present invention provides a storage medium having a computer program stored thereon, and the computer program implements the above method when executed by a processor.
[0016] In a fourth aspect, an embodiment of the present invention provides an electronic device, comprising: a processor and a memory, wherein the memory is used to store one or more programs; when the one or more programs are executed by the processor, the above method is implemented.
[0017] Compared with the prior art, the fuse configuration verification method, device, storage medium and electronic device provided by the embodiment of the present invention include: generating N parameter configuration test cases according to the test case information table and the template test case; wherein the test case information table includes N parameter sets, the parameter set includes the parameter value under each parameter type corresponding to the template test case, and the template test case is the template of the fuse configuration test case corresponding to the FPGA; verifying according to the N parameter configuration test cases, obtaining the verification record of each parameter configuration test case, and generating a test report according to the verification record of each parameter configuration test case. By automatically generating the FPGA fuse configuration test case, the efficiency of generating the test case is improved, and the time for writing the case is effectively saved. And there is no need to write the test stimulus, which effectively saves the test time; and there is no need to develop a board, and the test can be performed before the development board is available, which greatly improves the timeliness of the test; and the method is a method for directly testing the fuse, and there is no possibility of misjudging the fuse configuration due to incomplete test stimulus, which greatly improves the accuracy of fuse configuration verification.
[0018] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, preferred embodiments are given below and described in detail with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required for use in the embodiments will be briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present invention and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.
[0020] Figure 1 A schematic diagram of the structure of an electronic device provided by an embodiment of the present invention.
[0021] Figure 2 A flowchart of a fuse configuration verification method provided by an embodiment of the present invention.
[0022] Figure 3 A unit diagram of a fuse configuration verification device provided in an embodiment of the present invention.
[0023] In the figure: 10 - processor; 11 - memory; 12 - bus; 13 - communication interface; 401 - first processing unit; 402 - second processing unit. DETAILED DESCRIPTION
[0024] In order to make the purpose, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Generally, the components of the embodiments of the present invention described and shown in the drawings here can be arranged and designed in various different configurations.
[0025] Therefore, the following detailed description of the embodiments of the present invention provided in the accompanying drawings is not intended to limit the scope of the invention claimed for protection, but merely represents selected embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0026] It should be noted that similar reference numerals and letters represent similar items in the following drawings, so once an item is defined in one drawing, it does not need to be further defined and explained in the subsequent drawings. At the same time, in the description of the present invention, the terms "first", "second", etc. are only used to distinguish the description and cannot be understood as indicating or implying relative importance.
[0027] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.
[0028] In the description of the present invention, it should be noted that the terms "upper", "lower", "inside", "outside", etc. indicate directions or positional relationships based on the directions or positional relationships shown in the accompanying drawings, or are directions or positional relationships in which the product of the invention is usually placed when in use. They are only for the convenience of describing the present invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific direction, be constructed and operated in a specific direction, and therefore should not be understood as a limitation on the present invention.
[0029] In the description of the present invention, it is also necessary to explain that, unless otherwise clearly specified and limited, the terms "disposed" and "connected" should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection, or it can be an indirect connection through an intermediate medium, or it can be the internal communication of two elements. For ordinary technicians in this field, the specific meanings of the above terms in the present invention can be understood according to specific circumstances.
[0030] Some embodiments of the present invention are described in detail below in conjunction with the accompanying drawings. In the absence of conflict, the following embodiments and features in the embodiments can be combined with each other.
[0031] Currently, the methods for verifying fuse (also known as fuse) configuration mainly include board testing and hardware simulation.
[0032] For board test verification, a board needs to be developed, and the verification time is relatively delayed; different fuse configurations require different test cases and different board test stimuli in the test cases, and some hardware equipment may need to be used to determine whether the test case function is correct, and then analyze whether the fuse configuration is correct. This is an indirect method of verifying the fuse configuration, and the test efficiency is low; and there is a possibility that the fuse configuration may be misjudged due to incomplete board test stimuli, which reduces the accuracy of fuse configuration verification.
[0033] For hardware simulation verification, different fuse configurations require different test cases and simulation stimuli, and it is necessary to first determine whether the test case function is correct, and then analyze whether the fuse configuration is correct. This is an indirect method for verifying the fuse configuration, and the test efficiency is low. In addition, there is a possibility of incorrect judgment of the fuse configuration due to incomplete simulation stimuli, which reduces the accuracy of fuse configuration verification.
[0034] In order to overcome the above problems, an embodiment of the present invention provides a fuse configuration verification method, which is applied to the electronic device described below.
[0035] The embodiment of the present invention provides an electronic device, which may be a computer device or a server device. It should be noted that there may be multiple electronic devices that execute the fuse configuration verification method. Figure 1 , a schematic diagram of the structure of an electronic device. The electronic device includes a processor 10, a memory 11, and a bus 12. The processor 10 and the memory 11 are connected via the bus 12, and the processor 10 is used to execute an executable module stored in the memory 11, such as a computer program.
[0036] The processor 10 may be an integrated circuit chip having the ability to process signals. In the implementation process, each step of the fuse configuration verification method may be completed by an integrated logic circuit of hardware in the processor 10 or by instructions in the form of software. The above-mentioned processor 10 may be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it may also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic devices, discrete gates or transistor logic devices, or discrete hardware components.
[0037] The memory 11 may include a high-speed random access memory (RAM), and may also include a non-volatile memory, such as at least one disk memory.
[0038] The bus 12 may be an ISA (Industry Standard Architecture) bus, a PCI (Peripheral Component Interconnect) bus, or an EISA (Extended Industry Standard Architecture) bus. Figure 1 Although only one bidirectional arrow is used in the figure, it does not mean that there is only one bus 12 or only one type of bus 12 .
[0039] The memory 11 is used to store programs, such as programs corresponding to the fuse configuration verification device. The fuse configuration verification device includes at least one software function module that can be stored in the memory 11 in the form of software or firmware or fixed in the operating system (OS) of the electronic device. After receiving the execution instruction, the processor 10 executes the program to implement the fuse configuration verification method.
[0040] Possibly, the electronic device provided by the embodiment of the present invention further includes a communication interface 13. The communication interface 13 is connected to the processor 10 via a bus.
[0041] It should be understood that Figure 1 The structure shown is only a schematic diagram of a portion of the electronic device. The electronic device may also include Figure 1 More or fewer components as shown, or with Figure 1 Different configurations shown. Figure 1 Each component shown in the figure can be implemented by hardware, software or a combination thereof.
[0042] A fuse configuration verification method provided by an embodiment of the present invention can be applied to, but not limited to, Figure 1 For detailed procedures, please refer to the electronic equipment shown in Figure 2 , the fuse configuration verification method includes: S10, S20 and S30, which are specifically described as follows.
[0043] S10, generating N parameter configuration test cases according to the test case information table and the template test case.
[0044] Among them, the test case information table includes N parameter sets, N is an integer greater than or equal to 1, the parameter set includes parameter values under each parameter type corresponding to the template test case, and the template test case is a template of the fuse configuration test case corresponding to the FPGA.
[0045] Optionally, when the test case information table is obtained, the primitive name and parameter types corresponding to the test case information table are extracted, and based on the primitive name and parameter types corresponding to the test case information table, the template test case corresponding to the test case information table is extracted from the template database.
[0046] It should be noted that the template database includes multiple template test cases.
[0047] S20, performing verification according to N parameter configuration test cases, and obtaining a verification record of each parameter configuration test case.
[0048] S30, generating a test report according to the verification record of each parameter configuration test case.
[0049] The fuse configuration verification method provided by the embodiment of the present invention improves the efficiency of generating test cases by automatically generating FPGA fuse configuration test cases, effectively saving the time of writing cases. In addition, there is no need to write test stimuli, which effectively saves test time; and no development board is required, so that the test can be performed before the development board is available, which greatly improves the timeliness of the test; and the method is a method for directly testing the fuse, and there is no possibility of misjudging the fuse configuration due to incomplete test stimuli, which greatly improves the accuracy of fuse configuration verification.
[0050] exist Figure 2 Based on the content in S10, the embodiment of the present invention also provides an optional implementation, please refer to the following. S10, the step of generating N parameter configuration test cases according to the test case information table and the template test case, includes: S11 and S12, which are specifically described as follows.
[0051] S11, calling the i-th parameter set in the test case information table.
[0052] Among them, 1≤i≤N.
[0053] For example, the primitive name is PRIM, it has two input ports a and b and one output port c, and three parameters A, B and C. The A parameter can take values A0 and A1, the B parameter can take values B0 and B1, and the C parameter can take values C0 and C1.
[0054] The corresponding template test cases are as follows:
[0055] module top(a,b,c);
[0056] input a,b;
[0057] output c;
[0058] PRIM prim_inst(
[0059] .a(a),
[0060] .b(b),
[0061] .c(c) );
[0063] defparam prim_inst.A = AX;
[0064] defparam prim_inst.B = BY;
[0065] defparam prim_inst.C = CZ;
[0066] endmodule
[0067] Please refer to Table 1 below, which is the test case information table corresponding to the above example.
[0068] Table 1
[0069] Test case name A B C PRIM_A0_B0_C0 A0 B0 C0 PRIM_A0_B0_C1 A0 B0 C1 PRIM_A0_B1_C0 A0 B1 C0 PRIM_A0_B1_C1 A0 B1 C1 PRIM_A1_B0_C0 A1 B0 C0 PRIM_A1_B0_C1 A1 B0 C1 PRIM_A1_B1_C0 A1 B1 C0 PRIM_A1_B1_C1 A1 B1 C1
[0070] The first column in Table 1 is the test case name, which corresponds to the primitive (such as PRIM in Table 1); the second column is parameter type A; the third column is parameter type B; and the fourth column is parameter type C.
[0071] There are 8 parameter sets in the test case information table shown in Table 1, and the i-th parameter set corresponds to the i+1-th row in Table 1. Specifically, the first parameter set is the second row (A0, B0, C0) in Table 1.
[0072] S12, generating an i-th parameter configuration test case according to the parameter values in the i-th parameter set and the template test case.
[0073] Specifically, the parameters (AX, BY, CZ) in the template test case are replaced with the i-th parameter set.
[0074] Optionally, S12, the step of generating the i-th parameter configuration test case according to the parameter values in the i-th parameter set and the template test case, includes: S121, S122 and S123, which are specifically described as follows.
[0075] S121, copy the template test case and name it as the target name.
[0076] Among them, the target name corresponds to the primitive name, parameter type and parameter value in the i-th parameter set corresponding to the test case information table. The target name can be but is not limited to that shown in the first column of Table 1.
[0077] S122, determine line by line whether the data line in the test case of the target name includes the parameter value corresponding to the target type. If yes, execute S123, if no, skip.
[0078] The target type is any parameter type corresponding to the test case information table.
[0079] S123, replacing the parameter value corresponding to the target type in the data row with the parameter value corresponding to the target type in the i-th parameter set.
[0080] If not, skip it and generate the i-th parameter configuration test case after all data rows are confirmed.
[0081] According to the above process, all required test cases can be generated according to the template test case and the pre-generated test case information table as follows:
[0082] PRIM_A0_B0_C0
[0083] PRIM_A0_B0_C1
[0084] PRIM_A0_B1_C0
[0085] PRIM_A0_B1_C1
[0086] PRIM_A1_B0_C0
[0087] PRIM_A1_B0_C1
[0088] PRIM_A1_B1_C0
[0089] PRIM_A1_B1_C1
[0090] Take PRIM_A1_B1_C1 as an example, its content is as follows:
[0091] module top(a,b,c);
[0092] input a,b;
[0093] output c;
[0094] PRIM prim_inst(
[0095] .a(a),
[0096] .b(b),
[0097] .c(c) );
[0099] defparam prim_inst.A = A1;
[0100] defparam prim_inst.B = B1;
[0101] defparam prim_inst.C = C1;
[0102] endmodule
[0103] exist Figure 2 On the basis of the content in S20, the embodiment of the present invention also provides an optional implementation, please refer to the following. S20, verifying according to N parameter configuration test cases, and obtaining the verification record of each parameter configuration test case, including: S21, S22, S23 and S24, which are specifically described as follows.
[0104] S21, performing layout and routing processing based on the i-th parameter configuration test case to obtain a post-layout netlist and a bitstream file.
[0105] The placement and routing process is also called PnR. Each bit in the bitstream file corresponds to a fuse, and the bitstream file consists of 0 and 1. The post-placement netlist includes the primitive name and its corresponding location information.
[0106] S22, determining the successfully configured fuse according to the bitstream file and the post-layout netlist.
[0107] Among them, the successfully configured fuse is the configured fuse whose corresponding primitive name and location information belong to the post-layout netlist.
[0108] S23, determining a target fuse according to the i-th parameter configuration test case and the parameter fuse mapping table.
[0109] The parameter fuse mapping table includes a mapping relationship between each parameter value under each parameter type in the test case information table and the target fuse.
[0110] It should be noted that some primitives can be placed in different locations, but for the same primitive, the fuse names in different locations are the same. The parameter configuration test case takes PRIM_A1_B1_C1 and the PRIM primitive placement location is Loc0 as an example.
[0111] The parameter fuse mapping table is also called the All golden fuse configuration table. For the PRIM primitive, the fuse configurations corresponding to all parameters and parameter values, namely the All golden fuse configuration table, are as follows:
[0112]
[0113] Note: When the parameter value corresponding to parameter type A is A0, fuse is not configured. When it is A1, fuse Fuse_A is configured. When the parameter value corresponding to parameter type B is B0, fuse is not configured. When it is B1, fuse Fuse_B0 and Fuse_B1 are configured. When the parameter value corresponding to parameter type C is C0, fuse Fuse_C0 is configured. When it is C1, fuse Fuse_C1 is configured.
[0114] Optionally, obtain each parameter value and its corresponding fuse name in the parameter fuse mapping table (All golden fuse configuration table).
[0115] Process the i-th parameter configuration test case line by line to determine whether the data row in the i-th parameter configuration test case includes the parameter value in the parameter fuse mapping table. If it does, determine the fuse corresponding to the parameter value as the target fuse until all data rows in the i-th parameter configuration test case are determined.
[0116] According to the above process, the golden fuses extracted by the PRIM_A1_B1_C1 test case are as follows: Fuse_A, Fuse_B0, Fuse_B1, and Fuse_C1.
[0117] S24, generating a verification record corresponding to the i-th parameter configuration test case based on the successfully configured fuse and the target fuse.
[0118] Based on the above, regarding the content in S22, the embodiment of the present invention further provides an optional implementation, please refer to the following: S22, the step of determining the successfully configured fuse according to the bitstream file and the post-layout netlist, includes: S221 and S222, which are specifically described as follows.
[0119] S221, determining the configured fuse and the primitive name and position information corresponding to the configured fuse according to the value of each bit in the bitstream file.
[0120] Optionally, the information in the bitstream file generated after the place and route (PnR) process is, for example, ...0100010010010010001..., each bit position in the bitstream file corresponds one-to-one to a certain fuse information, and the bitstream file contains all the fuse information that needs to be configured for the entire user design.
[0121] The processing flow is as follows:
[0122] Extract all bits with a value of 1 in the bitstream file and convert them into corresponding fuse information. The extracted fuse information includes the fuse of the test primitive and other fuses related to the winding. The format is as follows:
[0123] fuse:Fuse_Ain Loc0 / / PRIM
[0124] fuse:Fuse_C1 in Loc0 / / PRIM
[0125] fuse:Routing_0in Loc1 / / Route
[0126] fuse:Fuse_B0 in Loc0 / / PRIM
[0127] fuse:Fuse_B1 in Loc0 / / PRIM
[0128] fuse:Routing_1in Loc2 / / Route
[0129] Among them, Fuse_A / Routing_0 is the fuse name; Locx indicates the location information; / / indicates the primitive or routing to which the fuse belongs.
[0130] S222, determining a successfully configured fuse from all configured fuses based on the post-layout netlist.
[0131] Optionally, according to the post-layout netlist generated after PnR, the test primitive name and location information are extracted, wherein the format of the primitive name and location information of the post-layout netlist is as follows:
[0132] PRIM prim_inst( / / Loc0
[0133] .a(a),
[0134] .b(b),
[0135] .c(c) );
[0137] Then, the configured fuse determined by executing S221 and the primitive name and position information corresponding to the configured fuse are compared with the primitive name and the corresponding position information in the post-layout netlist to determine the successfully configured fuse. The successfully configured fuse is the configured fuse whose corresponding primitive name and position information belong to the post-layout netlist.
[0138] In an optional implementation, when the successfully configured fuse is exactly the same as the target fuse, the verification record corresponding to the i parameter configuration test cases is verification passed.
[0139] When the successfully configured fuse is different from the target fuse, the verification records corresponding to the i parameter configuration test cases include redundantly configured fuses and missingly configured fuses, wherein a fuse that belongs to the successfully configured fuse but not to the target fuse is a redundantly configured fuse, and a fuse that belongs to the target fuse but not to the successfully configured fuse is a missingly configured fuse.
[0140] Sort the successfully configured fuse and the target fuse according to the same sorting rules and compare them. If the two are consistent, the comparison result file will be displayed as follows: Fuse configuration is correct.
[0141] If the two are inconsistent, there are the following situations:
[0142] If the successfully configured fuse has more fuses than the target fuse, it will display: More fuse and mark the redundantly configured fuses (for example, Fuse_C0).
[0143] If the successfully configured fuse has less fuse than the target fuse, it will display: Less Fuse and mark the missing fuse (for example, Fuse_A).
[0144] If there are both redundantly configured fuses and missing fuses, both are recorded. For example, if it displays: More fuse: Fuse_C0; Less fuse: Fuse_A, it means that fuse Fuse_C0 is configured more and fuse Fuse_A is configured less.
[0145] Optionally, the test report includes verification records, verification pass rates, and error rates corresponding to the N parameter configuration test cases;
[0146] Alternatively, the test report includes verification records corresponding to parameter configuration test cases that have not passed verification.
[0147] See also Figure 3 , Figure 3 A fuse configuration verification device is provided in an embodiment of the present invention. Optionally, the fuse configuration verification device is applied to the electronic device described above.
[0148] The fuse configuration verification device includes: a first processing unit 401 and a second processing unit 402 .
[0149] The first processing unit 401 is used to generate N parameter configuration test cases according to the test case information table and the template test case;
[0150] The test case information table includes N parameter sets, the parameter sets include parameter values under each parameter type corresponding to the template test case, and the template test case is a template of the fuse configuration test case corresponding to the FPGA;
[0151] The first processing unit 401 is also used to perform verification according to N parameter configuration test cases, and obtain a verification record of each parameter configuration test case;
[0152] The second processing unit 402 is used to generate a test report according to the verification record of each parameter configuration test case.
[0153] It should be noted that the fuse configuration verification device provided in this embodiment can execute the method flow shown in the above method flow embodiment to achieve the corresponding technical effect. For the sake of brief description, for parts not mentioned in this embodiment, please refer to the corresponding content in the above embodiment.
[0154] The embodiment of the present invention further provides a storage medium, which stores computer instructions and programs, and when the computer instructions and programs are read and run, the fuse configuration verification method of the above embodiment is executed. The storage medium may include a memory, a flash memory, a register, or a combination thereof.
[0155] The following provides an electronic device, which may be a computer device or a server device. Figure 1 As shown, the above-mentioned fuse configuration verification method can be implemented; specifically, the electronic device includes: a processor 10, a memory 11, and a bus 12. The processor 10 can be a CPU. The memory 11 is used to store one or more programs. When the one or more programs are executed by the processor 10, the fuse configuration verification method of the above-mentioned embodiment is executed.
[0156] In summary, a fuse configuration verification method, device, storage medium and electronic device provided by an embodiment of the present invention include: generating N parameter configuration test cases according to a test case information table and a template test case; wherein the test case information table includes N parameter sets, the parameter set includes parameter values under each parameter type corresponding to the template test case, and the template test case is a template of the fuse configuration test case corresponding to the FPGA; verifying according to the N parameter configuration test cases, obtaining the verification record of each parameter configuration test case, and generating a test report according to the verification record of each parameter configuration test case. By automatically generating FPGA fuse configuration test cases, the efficiency of generating test cases is improved, and the time for writing cases is effectively saved. And there is no need to write test stimuli, which effectively saves test time; and there is no need to develop a board, and the test can be performed before the development board is available, which greatly improves the timeliness of the test; and the method is a method for directly testing fuse, and there is no possibility of misjudging the fuse configuration due to incomplete test stimuli, which greatly improves the accuracy of fuse configuration verification.
[0157] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.
[0158] It will be apparent to those skilled in the art that the invention is not limited to the details of the exemplary embodiments described above and that the invention can be implemented in other specific forms without departing from the spirit or essential features of the invention. Therefore, the embodiments should be considered exemplary and non-limiting in all respects, and the scope of the invention is defined by the appended claims rather than the foregoing description, and it is intended that all variations falling within the meaning and scope of the equivalent elements of the claims be included in the invention. Any reference numeral in a claim should not be considered as limiting the claim to which it relates.
Claims
1. A fuse configuration verification method, characterized in that: The method comprises: Generate N parameter configuration test cases according to the test case information table and the template test case; The test case information table includes N parameter sets, the parameter sets include parameter values under each parameter type corresponding to the template test case, and the template test case is a template of a fuse configuration test case corresponding to the FPGA; Verify according to N parameter configuration test cases, and obtain a verification record for each of the parameter configuration test cases; A test report is generated according to the verification record of each of the parameter configuration test cases.
2. The fuse configuration verification method according to claim 1, characterized in that: The step of generating N parameter configuration test cases according to the test case information table and the template test case includes: Call the i-th parameter set in the test case information table, 1≤i≤N; Generate an i-th parameter configuration test case according to the parameter values in the i-th parameter set and the template test case.
3. The fuse configuration verification method according to claim 2, characterized in that: The step of generating the i-th parameter configuration test case according to the parameter values in the i-th parameter set and the template test case comprises: copying the template test case and naming it as a target name, wherein the target name corresponds to the primitive name, parameter type and parameter value in the i-th parameter set corresponding to the test case information table; Determine line by line whether the data rows in the test case of the target name include parameter values corresponding to the target type; Wherein, the target type is any parameter type corresponding to the test case information table; If yes, then replace the parameter value corresponding to the target type in the data row with the parameter value corresponding to the target type in the i-th parameter set; If not, skip to generate the i-th parameter configuration test case.
4. The fuse configuration verification method according to claim 1, characterized in that: The step of performing verification according to N parameter configuration test cases and obtaining a verification record of each parameter configuration test case includes: Performing layout and routing processing based on the i-th parameter configuration test case to obtain a post-layout netlist and a bitstream file, wherein each bit in the bitstream file corresponds to a fuse, and the post-layout netlist includes primitive names and their corresponding position information; Determining a successfully configured fuse according to the bitstream file and the post-layout netlist, wherein the successfully configured fuse is a configured fuse whose corresponding primitive name and location information belong to the post-layout netlist; Determine a target fuse according to the i-th parameter configuration test case and a parameter fuse mapping table, wherein the parameter fuse mapping table includes a mapping relationship between each parameter value under each parameter type in the test case information table and the target fuse; A verification record corresponding to the i-th parameter configuration test case is generated based on the successfully configured fuse and the target fuse.
5. The fuse configuration verification method according to claim 4, characterized in that: The step of determining a successfully configured fuse according to the bitstream file and the post-layout netlist comprises: Determine, according to the value of each bit in the bitstream file, the configured fuse and the primitive name and position information corresponding to the configured fuse; A successfully configured fuse is determined from all configured fuses based on the post-layout netlist.
6. The fuse configuration verification method according to claim 4 or 5, characterized in that: When the successfully configured fuse is identical to the target fuse, the verification record corresponding to the i parameter configuration test cases is verification passed; When the successfully configured fuse is different from the target fuse, the verification records corresponding to i parameter configuration test cases include redundantly configured fuses and missingly configured fuses, wherein a fuse that belongs to the successfully configured fuse but does not belong to the target fuse is a redundantly configured fuse, and a fuse that belongs to the target fuse but does not belong to the successfully configured fuse is a missingly configured fuse.
7. The fuse configuration verification method according to claim 1, characterized in that: The test report includes verification records, verification pass rates, and error rates corresponding to N parameter configuration test cases; Alternatively, the test report includes verification records corresponding to parameter configuration test cases that have not passed verification.
8. A fuse configuration verification device, characterized in that: The device comprises: A first processing unit, configured to generate N parameter configuration test cases according to the test case information table and the template test case; The test case information table includes N parameter sets, the parameter sets include parameter values under each parameter type corresponding to the template test case, and the template test case is a template of a fuse configuration test case corresponding to the FPGA; The first processing unit is further used to perform verification according to N parameter configuration test cases, and obtain a verification record of each of the parameter configuration test cases; The second processing unit is used to generate a test report according to the verification record of each parameter configuration test case.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.
10. An electronic device, characterized in that: include: A processor and a memory, the memory being used to store one or more programs; When the one or more programs are executed by the processor, the method according to any one of claims 1 to 7 is implemented.