Pattern file reloading method, system, device and computer equipment
By receiving and comparing the change information of the pattern file group, and updating the relevant information of the pattern file in chip test, the problem of low efficiency of pattern file modification in the existing technology is solved, and a more efficient reloading process is achieved.
Patent Information
- Application Number
- CN202411586919.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-08
- Publication Date
- 2025-03-18
- Estimated Expiration
- 2044-11-08
AI Technical Summary
In the existing chip function test, the Pattern file can only be modified through dynamic Pattern after Load is completed, and the modification efficiency is low.
A pattern file reloading method is provided. By receiving the first file group information of the pattern file group that has changed sent by the reload processing module, it performs comparison with the cached loaded pattern file group, and updates the relevant information of the pattern file group based on the comparison result.
Improve the reloading efficiency of pattern files, avoid updating pattern file group related information for each data every time, and significantly improves modification efficiency.
Smart Images

Figure CN119088476B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of chip testing technology, and in particular to a pattern file reloading method, system, device and computer equipment. Background Art
[0002] With the advent of the information age, IC has entered a period of rapid development. The establishment and division of labor of the complete IC industry has formed an industrial chain, and design, production, processing, testing, and packaging have become key nodes. How to improve the quality of testing, fault coverage and stability has become the main issue facing the development of testing technology. The basic principle of integrated circuit testing is to apply stimulus to the chip under test (DUT) through testing, and measure the chip output and compare it with the expected result. A test program based on ATE (Automated Test Equipment) mainly includes three aspects: DC parameter test, AC parameter test and functional test.
[0003] In the functional testing of chips, a major test unit is Pattern. The Chinese meaning of Pattern is mode. In image processing, this word means the texture features of the image. In the IC or chip testing industry, this word actually represents the timing characteristics of the chip that needs to be tested.
[0004] However, the Pattern file currently used in chip function testing can only modify the Pattern data through dynamic Pattern after Load is completed. The amount of data modified each time is relatively small, and multiple calls for modification are inefficient. Summary of the invention
[0005] Based on this, it is necessary to provide a pattern file reloading method, system, device and computer equipment that can improve modification efficiency in response to the above technical problems.
[0006] In a first aspect, the present application provides a pattern file reloading method, which is applied to a host computer driver module, and the method includes:
[0007] Receive first file group information of a pattern file group with changes sent by a reload processing module;
[0008] The first file group information is compared with the cached second file information of the loaded pattern file group and the second file group information to obtain a comparison result;
[0009] Based on the comparison results and the file group dimension, update the pattern file group related information of the pattern file group that has changed.
[0010] In one embodiment, updating the pattern file group related information of the pattern file group with changes based on the comparison result in the file group dimension includes:
[0011] Based on the comparison result and the file group dimension, the vector linked list of the pattern file group with changes is updated, and the vector linked list storage address of the updated vector linked list is obtained;
[0012] Based on the comparison result and in the file group dimension, the microinstruction linked list of the pattern file group with changes is updated, and the microinstruction linked list storage address of the updated microinstruction linked list is obtained;
[0013] Based on the vector linked list storage address and the microinstruction linked list storage address, the pattern file group related information of the changed pattern file group is updated.
[0014] In one embodiment, updating the vector linked list of the pattern file group with changes based on the comparison result in the file group dimension, and obtaining the vector linked list storage address of the updated vector linked list includes:
[0015] In the case where the comparison result indicates that the changed pattern file group includes a newly added pattern file and / or a modified pattern file, parsing the newly added pattern file in the changed pattern file group to store the vector of the newly added pattern file into the storage space corresponding to the allocated vector storage address, and obtaining a vector linked list of the newly added pattern file based on the vector of the newly added pattern file and the vector storage address of the newly added pattern file;
[0016] Querying file-related information corresponding to the modified pattern file in the pattern file group with changes, obtaining a vector linked list of the modified pattern file, and storing updated vectors in a storage space based on the vector linked list of the modified pattern file;
[0017] After the vectors of the pattern files corresponding to the pattern file group with changes are stored in the storage space, the vector linked list storage address of each of the pattern files in the pattern file group with changes is obtained; wherein the vector linked list storage address of each of the pattern files in the pattern file group with changes includes the vector linked list storage address of the newly added pattern file and the vector linked list storage address of the modified pattern file.
[0018] In one embodiment, the updating of the microinstruction linked list of the pattern file group with changes based on the comparison result and the acquisition of the microinstruction linked list storage address of the updated microinstruction linked list in the file group dimension includes:
[0019] Obtain the microinstruction linked list of each of the pattern files in the pattern file group that has changed, store the microinstruction linked list of each of the pattern files in the pattern file group that has changed in the storage space, and obtain the storage address of the microinstruction linked list of each of the pattern files in the pattern file group that has changed.
[0020] In one embodiment, the comparison result indicates that the changed pattern file group only includes a newly added pattern file group, and the pattern files in the newly added pattern file group are cached pattern files;
[0021] The updating of the vector linked list of the pattern file group with changes based on the comparison result and the acquisition of the vector linked list storage address of the updated vector linked list in the file group dimension includes:
[0022] Obtaining the vector linked list of the newly added pattern file group based on the vector linked list of the cached pattern files;
[0023] Based on the vector linked list storage address of the cached pattern file, the vector linked list storage address of the pattern file in the newly added pattern file group is obtained, and the vector linked list storage address of the pattern file in the newly added pattern file group is acquired.
[0024] In one embodiment, the updating of the microinstruction linked list of the pattern file group with changes based on the comparison result and the acquisition of the microinstruction linked list storage address of the updated microinstruction linked list in the file group dimension includes:
[0025] Storing the microinstruction linked list of each pattern file in the newly added pattern file group in the storage space;
[0026] Obtain the storage address of the microinstruction linked list of each pattern file in the newly added pattern file group.
[0027] In one embodiment, the comparison result includes at least one of the following comparison results:
[0028] Including a newly added pattern file group, and the newly added pattern file group includes the comparison results of the newly added pattern files and / or the modified pattern files;
[0029] Including a modified pattern file group, wherein the modified pattern file group includes a comparison result of a newly added pattern file and / or a modified pattern file;
[0030] Including a newly added pattern file group and a modified pattern file group, and the newly added pattern file group and the modified pattern file group both include comparison results of the newly added pattern files and / or the modified pattern files;
[0031] including a newly added pattern file group and a modified pattern file group, wherein the modified pattern file group includes the comparison results of the newly added pattern files and / or the modified pattern files, and the newly added pattern file group only includes the existing pattern files; and
[0032] Includes a newly added pattern file group, and the newly added pattern file group only includes existing pattern files.
[0033] In one embodiment, the comparison result is generated by:
[0034] Compare the full file path in the first file group information with the full file path in the second file information of the cached loaded pattern file;
[0035] In a case where the full file path in the first file group information is the same as the full file path in the second file information of the cached loaded pattern file, determining that the file corresponding to the full file path in the first file group information is the modified pattern file;
[0036] When the full file path in the first file group information is different from the full file path in the second file information of the cached loaded pattern file, it is determined that the file corresponding to the full file path in the first file group information is a newly added pattern file.
[0037] In one embodiment, the comparison result is generated by:
[0038] Compare the pattern file group name in the first file group information with the pattern file group name in the cached second file group information of the loaded pattern file group;
[0039] In the case where the pattern file group name in the first file group information is the same as the pattern file group name in the second file group information of the cached loaded pattern file group, determining that the corresponding pattern file group in the first file group information is a modified pattern file group;
[0040] When the pattern file group name in the first file group information is different from the pattern file group name in the third file information of the cached loaded pattern file group, it is determined that the corresponding pattern file group in the first file group information is a newly added pattern file group.
[0041] In a second aspect, the present application further provides a pattern file reloading system, the system comprising: a reloading processing module, for receiving a pattern file group and a pattern file sent by a host computer main module, wherein the sent pattern file group has a change or both the sent pattern file group and the pattern file have a change; based on the changed pattern file group or the changed pattern file group and the pattern file, determining the changed pattern file group; sending the first file group information of the changed pattern file group to the host computer driving module;
[0042] The host computer driving module is used to execute the above-mentioned pattern file reloading method based on the first file group information of the changed pattern file group to update the pattern file group related information of the changed pattern file group;
[0043] The FPGA main control module is used to update the pattern file group related information of the changed pattern file group stored in the storage space based on the instruction of the host computer driving module.
[0044] In a third aspect, the present application further provides a pattern file reloading device, which is applied to a host computer driver module, and the device comprises:
[0045] A first receiving module, used for receiving first file group information of a pattern file group with changes sent by the reload processing module;
[0046] A first comparison module is used to compare the first file group information with the cached second file information of the loaded pattern file group and the second file group information to obtain a comparison result;
[0047] The update module is used to update the pattern file group related information of the pattern file group with changes based on the comparison result and the file group dimension.
[0048] In a fourth aspect, the present application further provides a computer device, comprising a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of the above method when executing the computer program.
[0049] In a fifth aspect, the present application also provides a computer program product, including a computer program, which implements the steps of the above method when executed by a processor.
[0050] The above-mentioned pattern file reloading method, system, apparatus and computer equipment, after receiving the first file group information of the pattern file group with changes sent by the reloading processing module, compares the first file group information with the cached second file information of the loaded pattern file group and the second file group information, and updates the pattern file group related information of the pattern file group with changes in the file group dimension based on the comparison result, instead of updating the pattern file group related information for each data each time, thereby improving the reloading efficiency of the pattern file. BRIEF DESCRIPTION OF THE DRAWINGS
[0051] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the drawings required for use in the embodiments of the present application or related technical descriptions will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.
[0052] Figure 1 An application environment diagram of a pattern file reloading method in one embodiment;
[0053] Figure 2 It is a flow chart of a pattern file reloading method in one embodiment;
[0054] Figure 3 is a reloading flow chart when the comparison result is the second case in an embodiment;
[0055] Figure 4 is a reloading flow chart when the comparison result is the first case in an embodiment;
[0056] Figure 5 is a timing diagram of a pattern file reloading method in one embodiment;
[0057] Figure 6 It is a structural block diagram of a pattern file reloading device in one embodiment;
[0058] Figure 7 FIG. 4 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION
[0059] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0060] The pattern file reloading method provided in the embodiment of the present application can be applied to Figure 1 In the application environment shown. The host computer can communicate with the FPGA, and the host computer includes a host computer main control module, a host computer reload processing module, a host computer driver module and a user API interface module. The FPGA includes an FPGA main control module, a DDR control module, a storage space, a microinstruction module and an IO control module. This application mainly involves three processes, the first process is the load pattern loading process of the pattern file, the second process is the reload process of the pattern file, and the third process is the execution process of the pattern file.
[0061] For ease of understanding, several terms involved in this application are defined in advance:
[0062] The pattern file information includes: the file group block, vector, microinstruction and full path of the pattern file to which the pattern file belongs.
[0063] The pattern file group information includes the name of each file group and the file information of each file included in each file group.
[0064] The information related to the pattern file includes: the full path of the file, the vector list of the file, and the microinstruction list.
[0065] The pattern file group related information includes: the file group name, the full path of each file included in the file group, the vector linked list of each file included in the file group, the microinstruction linked list corresponding to each file included in the file group, the storage address of each vector linked list and the storage address of the microinstruction linked list.
[0066] In addition, it should be noted that, unless otherwise specified, the files involved in this application are pattern files, which store pattern data, and the pattern data includes vectors and microinstructions. The file group involved in this application is a pattern file group.
[0067] In an exemplary embodiment, Figure 2 As shown, a pattern file reloading method is provided, which is applied to Figure 1 The upper computer drive module in is taken as an example to illustrate, including the following steps 202 to 206. Among them:
[0068] S202: Receive first file group information of a changed pattern file group sent by a reload processing module.
[0069] The first file group information includes the file group name of each changed pattern file group and the pattern information of each pattern file in the file group of each changed pattern file group. Each file information includes the file group block, vector, microinstruction and full path of the pattern file to which the pattern file belongs.
[0070] It should be noted that the number of pattern file groups that have changed is at least one, and the change may include any of the following: addition of a pattern file group, modification of a pattern file group, and addition and modification of a pattern file group.
[0071] The host computer reload processing module sends the first file group information of the file group with changes to the host computer driver module in the dimension of the file group. Specifically, the host computer reload processing module receives the file group with changes and / or pattern files (including the following three situations: the file group with changes, the pattern files with changes, and the file group with changes and the pattern files with changes) sent by the host computer main module, and then determines the file group with changes based on the file group with changes and / or pattern files, so that the first file group information of the file group with changes is sent to the host computer driver module. The manner in which the host computer reload processing module determines the file group with changes based on the file group with changes and / or pattern files can be specifically referred to below.
[0072] S204: Compare the first file group information with the cached second file information of the loaded pattern file group and the second file group information to obtain a comparison result.
[0073] After loading or reloading the pattern file, the host computer driver module stores the second file information of the loaded or reloaded pattern file. Similarly, the second file group information includes the file group block, vector, microinstruction and full path of the pattern file to which each loaded pattern file belongs.
[0074] The upper computer driver module compares the first file group information with the second file group information of the cached loaded pattern file, specifically including: first comparing the pattern file group name of the first file group with the pattern file group name of the second file group to determine the newly added pattern file group and the modified pattern file group; then comparing the information of the files in each file group in turn, for example, based on the full path of each pattern file in the pattern file group corresponding to the first file group information and the full path of each pattern file in the pattern file group corresponding to the second file group information, compare and obtain the newly added pattern file and the modified pattern file.
[0075] In addition, it should be noted that, since the first file group information may include at least one file group, the information of each file group in the first file group information may be compared with the second file group information in a certain order, and in other embodiments, a parallel comparison method may also be adopted, which is not specifically limited here. In addition, each file group also includes at least one file, and the comparison of the files may also be compared in order, which is not specifically limited here.
[0076] Based on the above comparison process, the following comparison results can be obtained, including the addition and / or modification of the pattern file group and the addition and / or modification of the pattern file.
[0077] In one of the optional embodiments, the comparison result includes at least one of the following comparison results:
[0078]
[0079] The first one includes a newly added pattern file group, and the newly added pattern file group includes the comparison results of the newly added pattern files and / or modified pattern files. For example, assume that the first file group information includes three pattern file groups A, B, and C; pattern file group A includes pattern files a1 and a2, pattern file group B includes pattern files b1 and b2, and pattern file group C includes modified pattern files a1 and c1. The second file group information includes two pattern file groups A and B, pattern file group A includes pattern files a1 and a2, and pattern file group B includes pattern files b1 and b2; therefore, after comparison, pattern file group C is a newly added file group, the modified file a1 it includes is a modification of the existing pattern file a1, and the pattern file c1 it includes is a newly added file.
[0080] Second: including modified pattern file groups, and the modified pattern file groups include newly added pattern files and / or comparison results of modified pattern files; for example, assuming that the first file group information includes three pattern file groups A, B, and C; pattern file group A includes pattern files a1 and a2, pattern file group B includes pattern files b1 and b2, and pattern file group C includes modified file c1 and newly added file c2. The second file group information includes three pattern file groups A, B, and C; pattern file group A includes pattern files a1 and a2, pattern file group B includes pattern files b1 and b2, and pattern file group C includes pattern file c1; therefore, after comparison, pattern file group C is a modified file group, the modified file c1 included therein is a modification of the existing pattern file c1, and the pattern file c2 included therein is a newly added file.
[0081] Third: including newly added pattern file groups and modified pattern file groups, and both newly added pattern file groups and modified pattern file groups include the comparison results of newly added pattern files and / or modified pattern files; for example, assuming that the first file group information includes three pattern file groups A, B, and C; pattern file group A includes pattern files a1 and a2, pattern file group B includes file modification file b1 and newly added file b2, and pattern file group C includes modified file a1 and newly added file c1. The second file group information includes two pattern file groups A and B, pattern file group A includes pattern files a1 and a2, and pattern file group B includes pattern file b1; therefore, after comparison, pattern file group B is a modified file group, the modified file b1 included therein is a modification of the existing pattern file b1, and the pattern file b2 included therein is a newly added file; pattern file group C is a newly added file group, the modified file a1 included therein is a modification of the existing pattern file a1, and the pattern file c2 included therein is a newly added file.
[0082] Fourth: including newly added pattern file groups and modified pattern file groups, and the modified pattern file groups all include the comparison results of newly added pattern files and / or modified pattern files, and the newly added pattern file groups only include existing pattern files; for example, assuming that the first file group information includes three pattern file groups A, B, and C; pattern file group A includes pattern files a1 and a2, pattern file group B includes file modification file b1 and newly added file b2, and pattern file group C includes pattern file a1. The second file group information includes two pattern file groups A and B, pattern file group A includes pattern files a1 and a2, and pattern file group B includes pattern file b1; therefore, after comparison, pattern file group B is a modified file group, the modified file b1 included in it is a modification of the existing pattern file b1, and the pattern file b2 included in it is a newly added file; pattern file group C is a newly added file group, which includes the existing pattern file a1.
[0083] Fifth: including newly added pattern file groups, and the newly added pattern file groups only include existing pattern files. For example, assume that the first file group information includes three pattern file groups A, B, and C; pattern file group A includes pattern files a1 and a2, pattern file group B includes pattern file b1 and pattern file b2, and pattern file group C includes the existing pattern file a1. The second file group information includes two pattern file groups A and B, pattern file group A includes pattern files a1 and a2, and pattern file group B includes pattern file b1 and pattern file b2; therefore, after comparison, pattern file group C is a newly added file group, which only includes the existing pattern file a1.
[0084] The above is an enumeration and example explanation of each comparison result. Those skilled in the art will appreciate that the number of file groups corresponding to the first file group information and the second file group information, the number of files corresponding to each file group, and the addition and / or modification of file groups corresponding to the above-mentioned various methods and the methods of adding and / or modifying files are not limited to the methods listed above.
[0085] S206: Based on the comparison result and in the file group dimension, update the pattern file group related information of the changed pattern file group.
[0086] After the above comparison, the upper computer driver module can determine the pattern file group related information of the changed pattern file group. In this application, the pattern file group related information stored in the storage space is updated in the file group dimension, instead of updating the pattern file group related information for each data each time, thereby improving the reloading efficiency of the pattern file.
[0087] In one of the optional embodiments, based on the comparison result with the file group dimension, the pattern file group related information of the pattern file group with changes is updated, including: based on the comparison result with the file group dimension, the vector linked list of the pattern file group with changes is updated, and the vector linked list storage address of the updated vector linked list is obtained; based on the comparison result with the file group dimension, the microinstruction linked list of the pattern file group with changes is updated, and the microinstruction linked list storage address of the updated microinstruction linked list is obtained; based on the vector linked list storage address and the microinstruction linked list storage address, the pattern file group related information of the pattern file group with changes is updated.
[0088] Combining the comparison results above, it can be seen that changes in the pattern file group may be caused by the addition and / or modification of the pattern files included in the pattern file group. The addition and / or modification of the pattern file will cause changes in the vector linked list and microinstruction linked list of the file in the file-related information corresponding to the pattern file, which will cause changes in the vector linked list of each file included in the file group in the file group related information, the microinstruction linked list corresponding to each file included in the file group, the storage address of each vector linked list, and the storage address of the microinstruction linked list.
[0089] The vectors in the file are stored in the storage space in the dimension of the file, and the microinstructions in the file are stored in the storage space in the dimension of the file group.
[0090] The change of the vector list of the file is caused by the change of the vector in the file. Therefore, after the vector in the file is updated with the file dimension, the corresponding vector list is also updated with the file dimension. The change of the microinstruction list of the file is caused by the change of the microinstruction in the file. Therefore, after the microinstruction in the file is updated with the file dimension, the corresponding microinstruction list is updated with the file group dimension. Finally, the vector list storage address is updated with the file group dimension, and the microinstruction list storage address is updated with the file group dimension to complete the update of the file group related information. In this way, the pattern data (including vectors and microinstructions) is modified in batches or new pattern files are loaded with the file dimension. The pattern file group related information does not need to be triggered once for each vector or each microinstruction update, but after the vectors and microinstructions of the files corresponding to the entire file group are updated, the file group related information is updated at one time, which improves efficiency.
[0091] The above-mentioned pattern file reloading method, after receiving the first file group information of the pattern file group with changes sent by the reloading processing module, compares the first file group information with the cached second file information of the loaded pattern file group and the second file group information, and updates the pattern file group related information of the pattern file group with changes in the file group dimension based on the comparison result, instead of updating the pattern file group related information for each data each time, thereby improving the reloading efficiency of the pattern file.
[0092] For the convenience of description, the above comparison results are divided into two cases, one of which only includes the newly added pattern file group, and the newly added pattern file group only includes the existing pattern files; the second is the four results except the first. The two cases will be described separately below.
[0093] In one of the optional embodiments, the second case is first used for illustration, wherein the vector linked list of the pattern file group with changes is updated based on the comparison result in the file group dimension, and the vector linked list storage address of the updated vector linked list is obtained, including: when the comparison result indicates that the pattern file group with changes includes a newly added pattern file and / or a modified pattern file, the newly added pattern file in the pattern file group with changes is parsed to store the vector of the newly added pattern file in the storage space corresponding to the allocated vector storage address, and the newly added pattern file is obtained based on the vector of the newly added pattern file and the vector storage address of the newly added pattern file. The invention relates to a vector linked list of components; querying file-related information corresponding to the modified pattern file in the pattern file group with changes to obtain the vector linked list of the modified pattern file, and storing the updated vectors in the storage space based on the vector linked list of the modified pattern file; after the vectors of the pattern files corresponding to the pattern file group with changes are stored in the storage space, obtaining the vector linked list storage address of each pattern file in the pattern file group with changes; wherein the vector linked list storage address of each pattern file in the pattern file group with changes includes the vector linked list storage address of the newly added pattern file and the vector linked list storage address of the modified pattern file.
[0094] For the second case mentioned above, the updating of the vector linked list and the updating of the storage address of the vector linked list may include the following cases: (1) the updating of the vector linked list of the newly added pattern file and the updating of the storage address of the vector linked list; (2) the updating of the vector linked list of the modified pattern file and the updating of the storage address of the vector linked list; (3) the updating of the vector linked list of the newly added pattern file and the modified pattern file and the updating of the storage address of the vector linked list.
[0095] Among them, (1) updating the vector linked list of the newly added pattern file and updating the storage address of the vector linked list includes: parsing the newly added pattern file in the changed pattern file group to obtain the vector in the newly added pattern file, and then storing the vector in the allocated storage space, such as DDR, and obtaining the vector storage address of the vector in the storage space, so as to obtain a vector linked list including the mapping relationship between the vector and the vector storage address, and after the vectors of the pattern files in the pattern file group are stored in the storage space, the vector linked list of the pattern files of the pattern file group is stored in the storage space, and the storage address of the vector linked list is obtained, so as to facilitate the subsequent update of the storage address of the vector linked list.
[0096] Among them, (2) updating the vector linked list of the modified pattern file and updating the storage address of the vector linked list include: parsing the modified pattern file in the changed pattern file group to obtain the vector in the modified pattern file. Since the file information of the unmodified pattern file corresponding to the modified pattern file includes the vector linked list, and the vector linked list is a mapping relationship between the vector and the vector storage address, the vector storage address can be determined based on the vector and the vector linked list, and then the vector is stored in the storage space based on the vector storage address. For example, in DDR, after the vectors of the pattern files in the pattern file group are stored in the storage space, the vector linked list of the pattern files in the pattern file group is stored in the storage space to obtain the storage address of the vector linked list, thereby facilitating the subsequent update of the storage address of the vector linked list.
[0097] In one of the optional embodiments, based on the comparison result and the file group dimension, the microinstruction linked list of the pattern file group with changes is updated, and the microinstruction linked list storage address of the updated microinstruction linked list is obtained, including: obtaining the microinstruction linked list of each pattern file in the pattern file group with changes, storing the microinstruction linked list of each pattern file in the pattern file group with changes into the storage space, and obtaining the microinstruction linked list storage address of each pattern file in the pattern file group with changes.
[0098] For the second situation mentioned above, the update of the microinstruction linked list and the update of the storage address of the microinstruction linked list can be performed after the update of the vector linked list is completed. After the update of the vector linked list is completed, the microinstructions of each pattern file in the changed pattern file group are stored in the storage space, and then the microinstruction linked list of each pattern file in the changed pattern file group is obtained. The microinstruction linked list includes the mapping relationship between the microinstructions and the microinstruction storage addresses of the microinstructions in the storage space. Finally, the microinstruction linked list of each pattern file is stored in the storage space, and finally the storage address of the microinstruction linked list is obtained.
[0099] For ease of understanding, combined Figure 3 As shown, Figure 3 This is a reloading flowchart when the comparison result is the second case in an embodiment. In this embodiment, a pattern file group with changes is determined based on the comparison result, and then the pattern files in the pattern file group with changes are obtained in sequence, and the change type of the pattern file is obtained. When the pattern file is a newly added pattern file, the vector of the newly added pattern file is stored in the storage space corresponding to the allocated vector storage address, and the vector storage address is obtained, and a vector linked list is obtained based on the vector and the vector storage address.
[0100] In the case where the acquired pattern file is a modified pattern file, file-related information corresponding to the modified pattern file is acquired, and a vector linked list is read from the file-related information, a vector storage address is obtained based on the vector linked list, and the vector is stored in a storage space corresponding to the vector storage address.
[0101] After the vectors of each pattern file in the pattern file group with changes are stored in the storage space, the vector linked list corresponding to each pattern file is obtained, and the vector linked list is stored in the storage space to obtain the vector linked list storage address; in addition, the microinstructions corresponding to each pattern file are obtained, the microinstructions are stored in the storage space in the file group dimension to obtain the microinstruction storage address, the microinstruction linked list is obtained based on the microinstructions and the microinstruction storage address, and then the microinstruction linked list is stored in the storage space in the file group dimension to obtain the microinstruction linked list storage address.
[0102] Finally, the pattern file group related information is updated based on the obtained vector linked list, microinstruction linked list, vector linked list storage address and microinstruction linked list storage address.
[0103] In the above embodiment, vectors and microinstructions are updated in the file dimension, and pattern file group related information is updated in the file group dimension, thereby improving the update efficiency.
[0104] In one of the optional embodiments, the comparison result indicates that the pattern file group with changes only includes the newly added pattern file group, and the pattern files in the newly added pattern file group are cached pattern files; based on the comparison result and the file group dimension, the vector linked list of the pattern file group with changes is updated, and the vector linked list storage address of the updated vector linked list is obtained, including: obtaining the vector linked list of the newly added pattern file group based on the vector linked list of the cached pattern files; obtaining the vector linked list storage address of the pattern files in the newly added pattern file group based on the vector linked list storage address of the cached pattern files, and obtaining the vector linked list storage address of the pattern files in the newly added pattern file group.
[0105] In one of the optional embodiments, based on the comparison result and the file group dimension, the microinstruction linked list of the changed pattern file group is updated, and the microinstruction linked list storage address of the updated microinstruction linked list is obtained, including: storing the microinstruction linked list of each pattern file in the newly added pattern file group in the storage space; obtaining the microinstruction linked list storage address of each pattern file in the newly added pattern file group.
[0106] Among them, for the comparison result of the first case above, that is, including a newly added pattern file group, and the newly added pattern file group only includes the existing pattern files, combined with Figure 4 As shown, the vector reloading of the existing pattern file includes: obtaining the vector linked list of the newly added pattern file group based on the vector linked list of the cached pattern file, and then obtaining the vector linked list storage address of the pattern file in the newly added pattern file group based on the vector linked list storage address of the cached pattern file.
[0107] For microinstructions, the microinstructions of each pattern file in the newly added pattern file group are obtained, and the microinstructions are stored in the storage space to obtain a microinstruction linked list, and then the microinstruction linked list is stored in the storage space to obtain the storage address of the microinstruction linked list.
[0108] Finally, based on the obtained vector linked list and the vector linked list storage address, the microinstruction linked list and the microinstruction linked list storage address, the file group related information corresponding to the newly added pattern file group is updated.
[0109] In one of the optional embodiments, the method for generating the comparison result includes: comparing the full file path in the first file group information with the full file path in the second file information of the cached loaded pattern file; when the full file path in the first file group information is the same as the full file path in the second file information of the cached loaded pattern file, determining that the file corresponding to the full file path in the first file group information is the modified pattern file; when the full file path in the first file group information is different from the full file path in the second file information of the cached loaded pattern file, determining that the file corresponding to the full file path in the first file group information is the newly added pattern file.
[0110] Among them, the full file path in the first file group information is compared with the full file path in the second file group information of the cached loaded pattern file. If the full file path in the first file group information is the same as the full file path in the second file group information of the cached loaded pattern file, it means that the pattern file is a modified pattern file; if the full file path in the first file group information is different from the full file path in the second file group information of the cached loaded pattern file, it means that the pattern file is a newly added pattern file.
[0111] In one of the optional embodiments, the method for generating the comparison result includes: comparing the pattern file group name in the first file group information with the pattern file group name in the second file group information of the cached loaded pattern file group; when the pattern file group name in the first file group information is the same as the pattern file group name in the second file group information of the cached loaded pattern file group, determining that the corresponding pattern file group in the first file group information is a modified pattern file group; when the pattern file group name in the first file group information is different from the pattern file group name in the third file information of the cached loaded pattern file group, determining that the corresponding pattern file group in the first file group information is a newly added pattern file group.
[0112] Specifically, when the name of the changed file group is different from the name of the cached loaded file group, it is determined that the changed file group is a newly added file group. Since the cached loaded file group is already present, the name of the changed file group is compared with the name of the existing file group. If the two are different, it means that the changed file group is a newly added file group. Otherwise, the changed file group is a modified file group.
[0113] In the above embodiment, the change type of the file group can be identified by the name of the file group, and the change type of the file can be identified by the full path of the file, which lays a foundation for generating the comparison result.
[0114] In addition, in order to facilitate the understanding of those skilled in the art, the processing of each comparison result is listed and explained:
[0115] First: when the comparison result includes a newly added pattern file group, and the newly added pattern file group includes the comparison result of the newly added pattern file and / or the modified pattern file, the pattern file reloading method includes: for the newly added pattern file, storing the vector to the storage space to obtain a vector linked list; for the modified pattern file, obtaining the vector linked list corresponding to the original file, and modifying the vector linked list in the cache and storage space; after the vector linked lists of the files in the pattern file group are stored, obtaining the storage address of the vector linked list, and storing it in the storage space; obtaining the microinstructions of each pattern file to obtain the microinstruction list of the file group, and storing the microinstruction list in the storage space to obtain the microinstruction linked list, storing the microinstruction linked list in the storage space to obtain the storage address of the microinstruction linked list, and subsequently updating the relevant information of the pattern file group.
[0116] Second: when the comparison result includes a modified pattern file group, and the modified pattern file group includes the comparison result of a newly added pattern file and / or a modified pattern file, for the modified pattern file, obtain the vector linked list corresponding to the original file, and modify the vector linked list in the cache and storage space; after the vector linked lists of the files in the pattern file group are stored, obtain the storage address of the vector linked list, and store it in the storage space; obtain the microinstructions of each pattern file to obtain the microinstruction list of the file group, and store the microinstruction list in the storage space to obtain the microinstruction linked list, store the microinstruction linked list in the storage space to obtain the storage address of the microinstruction linked list, and then update the relevant information of the pattern file group.
[0117] Third: When the comparison results include a newly added pattern file group and a modified pattern file group, and both the newly added pattern file group and the modified pattern file group include the comparison results of the newly added pattern files and / or the modified pattern files, the processing method for the newly added pattern file group and the modified pattern file group can refer to the first.
[0118] Fourth: When the comparison results include a newly added pattern file group and a modified pattern file group, and the modified pattern file group includes the comparison results of the newly added pattern file and / or the modified pattern file, and the newly added pattern file group only includes the existing pattern files, the processing method for the newly added pattern file group and the modified pattern file group can refer to the first.
[0119] Fifth: If the comparison results include a newly added pattern file group, and the newly added pattern file group only includes existing pattern files, you can combine Figure 4 The processing method will not be described here.
[0120] For ease of understanding, the present application provides a pattern file reloading system, including: a reloading processing module, used to receive a pattern file group and a pattern file sent by a host computer main module, the sent pattern file group has changed or the sent pattern file group and the pattern file have changed; based on the changed pattern file group or the changed pattern file group and the pattern file, determine the changed pattern file group; send the first file group information of the changed pattern file group to the host computer drive module.
[0121] The host computer driving module is used to execute the pattern file reloading method in any of the above embodiments based on the first file group information of the changed pattern file group to update the pattern file group related information of the changed pattern file group.
[0122] The FPGA main control module is used to update the pattern file group related information of the changed pattern file group stored in the storage space based on the instruction of the host computer driver module.
[0123] Among them, the main purpose of the reload processing module is to identify the first file group information of the pattern file group with changes, and send the first file group information to the host computer driving module.
[0124] Among them, after the upper computer main module successfully loads, it can modify and add file groups and / or pattern files, such as adding new file groups, modifying pattern files in the file groups, adding pattern files in the file groups, and then sending the changed file groups and / or pattern files to the upper computer reloading processing module.
[0125] The host computer master control module here can be understood as a software interface.
[0126] The host computer reload processing module determines the file group with changes based on the file group and / or pattern file sent by the host computer main module, wherein the pattern file group sent has changes or both the pattern file group and the pattern file sent have changes. For example, if there is a file group with changes, the file group with changes is directly obtained. Since the file group includes the pattern file, the file group with changes can be determined based on the pattern file with changes.
[0127] In some optional embodiments, a file group with changes is determined based on the file group and / or pattern file sent by the host computer main module, including: when the name of the file group with changes is different from the name of the cached loaded file group, determining that the file group with changes exists; and / or when the full path of the pattern file with changes is the same as the full path of the cached loaded pattern file, determining that the file group where the corresponding loaded pattern file is located is the file group with changes.
[0128] Specifically, when the name of the file group that has changed is different from the name of the cached loaded file group, it is determined that there is a changed file group. Since the cached loaded file group is existing, the name of the file group that has changed is compared with the name of the existing file group. If the two are different, it means that the file group that has changed is a new file group.
[0129] In addition, for pattern files that have changed, the full path of the pattern file that has changed is compared with the full path of the cached and loaded pattern file. If the comparison is successful, it means that the corresponding pattern file is a changed file, and the file group where the pattern file that has changed is located is obtained as the file group that has changed.
[0130] The subsequent reloading module will identify the first file group information of the changed pattern file group and send it to the host computer driving module. The host computer driving module will reload the pattern file according to the above definition, which will not be repeated here.
[0131] For ease of understanding, combined Figure 5 As shown, Figure 5 It is a timing diagram of a pattern file processing method in an embodiment, which includes a pattern file loading process (load process), a reloading process (reload process) and a running process (run process).
[0132] Specifically, the loading process (load process), that is, load pattern, refers to the process of loading the pattern file compiled by the user into the storage space DDR of the board; and the running process, that is, run pattern, refers to testing the chip function according to the pattern data compiled by the user and loaded into the storage space DDR of the board; the loading process, that is, the load pattern, can be executed multiple times after the loading process is completed, that is, the run pattern running process. Before the runpattern running process, the pattern data in the storage space DDR of the board can be modified through the dynamic pattern, which is the reloading process reload pattern.
[0133] The load pattern loading process may include: calling the load function of the host computer main control module to trigger the loading of the pattern file, that is, the host computer main control module may call the load pattern interface of the host computer driver module, the host computer driver module parses the pattern file information of all pattern files passed into the load pattern interface (that is, the pattern file information of the pattern file to be loaded), and sends the pattern file information to the FPGA main control module according to the file group patternblock dimension. After receiving the pattern file information, the FPGA main control module sends the pattern file to the DDR control module, and the DDR control module writes the pattern file into the storage space to prepare for running the pattern information. In addition, after the pattern file is written into the storage space, the host computer driver module is also used to obtain the pattern file group information and the file group related information, and cache the pattern file group information and the file group related information to facilitate the use of subsequent reload and run processes, wherein the pattern file group information may be the second file group information mentioned above.
[0134] The specific loading process may include: the host computer driver module parses the pattern file to be loaded, and stores the vector of the pattern file in the allocated storage space, obtains the vector storage address, and obtains the vector linked list based on the vector and the vector storage address. After the vectors of the files in the corresponding file group are stored, the vector linked list of each file in the file group is stored in the storage space, and the vector linked list storage address is obtained; the microinstructions of each file in the file group are stored in the storage space, the microinstruction storage address corresponding to the file group is obtained, and the microinstruction linked list is obtained based on the microinstructions and the microinstruction storage address, the microinstruction linked list corresponding to the file group is stored in the storage space, the microinstruction linked list storage address is obtained, and the pattern file group related information is obtained based on the microinstruction linked list storage address and the vector linked list storage address.
[0135] The reload process, i.e., the reload pattern reload process may include: after the host computer main control module successfully loads the pattern file information, the pattern file information may be reloaded through the host computer reload processing module. Specifically, when there are changes in the file group and / or pattern file, the host computer main module sends the file group and pattern file to the host computer reload processing module, and the pattern file group sent by the host computer main module has changed or both the pattern file group and pattern file sent have changed. The host computer reload processing module determines the file group that has changed based on the file group and pattern file sent by the host computer main module; sends the first file group information of the file group that has changed to the host computer drive module, and the host computer drive module compares the first file group information with the cached second file group information of the loaded pattern file group and the second file group information to obtain a comparison result.
[0136] In the case where the file group in the comparison result includes a newly added pattern file, the newly added pattern file is parsed to store the vector of the newly added pattern file in the storage space corresponding to the allocated storage address. Specifically, the host computer driver module sends the vector of the newly added pattern file to the FPGA main control module according to the file group pattern block dimension. After the FPGA main control module receives the vector of the newly added pattern file, it sends the vector of the newly added pattern file to the DDR control module. The DDR control module then writes the vector of the newly added pattern file into the storage space, so that the host computer driver module can obtain the vector storage address corresponding to the newly added pattern file, and obtain the vector linked list of each pattern file based on the vector and the vector storage address.
[0137] In the case where the file group in the comparison result includes the modified pattern file, the host computer driver module queries and obtains the cached pattern file related information corresponding to the modified pattern file, and stores the modified pattern file in the corresponding storage space based on the vector linked list of the file in the pattern file related information. The storage of the modified pattern file information is sent by the host computer driver module to the FPGA main control module. After receiving the modified pattern file information, the FPGA main control module sends the modified pattern file information to the DDR control module, and the DDR control module writes the modified pattern file information into the storage space.
[0138] When the file group in the comparison result is a newly added file group, but the pattern file is an existing file, the upper computer driver module obtains the vector linked list of the files in the newly added file group based on the vector linked list of the existing pattern file, and obtains the vector linked list storage address of the pattern file in the newly added file group based on the vector linked list storage address of the existing pattern file.
[0139] After all pattern files in a file group are processed, the vector linked lists of each pattern file in the pattern file group are stored in the storage space to obtain the vector linked list storage address. The microinstructions corresponding to all pattern files in a file group are obtained, the microinstructions are stored in the storage space to obtain the microinstruction storage address, the microinstruction linked list is obtained based on the microinstructions and the microinstruction storage address, and the microinstruction linked list is stored in the storage space to obtain the microinstruction linked list storage address. The vector linked list and the microinstruction linked list are sent from the host computer driver module to the FPGA main control module. After receiving the vector linked list and the microinstruction linked list, the FPGA main control module sends the vector linked list and the microinstruction linked list to the DDR control module, and the DDR control module writes the vector linked list and the microinstruction linked list into the storage space.
[0140] Finally, the pattern file group related information is updated based on the vector linked list storage address and the microinstruction linked list storage address.
[0141] The Run process, i.e., the execution process of run pattern may include: the host computer driver module may receive the preload instruction of the host computer main module; based on the preload instruction, query the pattern file group related information to obtain the target storage information, and the target storage information includes the vector linked list storage address and the microinstruction linked list storage address; send the target storage information to the FPGA module, the target storage information is used to instruct the FPGA module to control the DDR control module to preload the corresponding pattern data based on the target storage information, such as reading the corresponding vector linked list and microinstruction linked list, and reading the corresponding vector and microinstruction based on the vector linked list and the microinstruction linked list; receive the test start instruction of the host computer main module; forward the test start instruction to the FPGA module, the test start instruction is used to instruct the FPGA module to perform a test based on the preloaded pattern data.
[0142] In the above embodiment, after the test project is loaded, the reload pattern function is used to batch modify the pattern data in units of pattern files, or load a new pattern file; the amount of modified pattern data is larger than the amount of data modified each time by the dynamic pattern, and there is no need to reload all pattern files, so the learning efficiency of the test project can be improved; since the pattern file is used as the unit, the pattern vector data writing process is simpler than the dynamic pattern vector data modification process, which greatly reduces the error probability when writing the test project; the reload pattern can use a specific pattern file template, and then combine the dynamic pattern to achieve more complex business needs.
[0143] It should be understood that, although the steps in the flowcharts involved in the above embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps is not strictly limited in order, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above embodiments may include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.
[0144] Based on the same inventive concept, the embodiment of the present application also provides a pattern file reloading device for implementing the pattern file reloading method involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations in one or more pattern file reloading device embodiments provided below can refer to the limitations of the pattern file reloading method above, and will not be repeated here.
[0145] In an exemplary embodiment, Figure 6 As shown, a pattern file reloading device is provided, comprising:
[0146] The first receiving module 601 is used to receive the first file group information of the pattern file group with changes sent by the reload processing module;
[0147] A first comparison module 602 is used to compare the first file group information with the cached second file information of the loaded pattern file group and the second file group information to obtain a comparison result;
[0148] The updating module 603 is used to update the pattern file group related information of the pattern file group with changes based on the comparison result and the file group dimension.
[0149] In one of the optional embodiments, the above-mentioned update module 603 is specifically used to update the vector linked list of the pattern file group with changes based on the comparison result and the file group dimension, and obtain the vector linked list storage address of the updated vector linked list; update the microinstruction linked list of the pattern file group with changes based on the comparison result and the file group dimension, and obtain the microinstruction linked list storage address of the updated microinstruction linked list; based on the vector linked list storage address and the microinstruction linked list storage address, update the pattern file group related information of the pattern file group with changes.
[0150] In one of the optional embodiments, the update module 603 is specifically used to parse the newly added pattern file in the pattern file group with changes when the comparison result indicates that the pattern file group with changes includes newly added pattern files and / or modified pattern files, so as to store the vector of the newly added pattern file in the storage space corresponding to the allocated vector storage address, and obtain the vector linked list of the newly added pattern file based on the vector of the newly added pattern file and the vector storage address of the newly added pattern file; query the file-related information corresponding to the modified pattern file in the pattern file group with changes to obtain the vector linked list of the modified pattern file, and store the updated vector in the storage space based on the vector linked list of the modified pattern file; after the vectors of the pattern files corresponding to the pattern file group with changes are all stored in the storage space, obtain the vector linked list storage address of each pattern file in the pattern file group with changes; wherein the vector linked list storage address of each pattern file in the pattern file group with changes includes the vector linked list storage address of the newly added pattern file and the vector linked list storage address of the modified pattern file.
[0151] In one of the optional embodiments, the above-mentioned update module 603 is specifically used to obtain the microinstruction linked list of each pattern file in the pattern file group that has changed, store the microinstruction linked list of each pattern file in the pattern file group that has changed into the storage space, and obtain the storage address of the microinstruction linked list of each pattern file in the pattern file group that has changed.
[0152] In one of the optional embodiments, the pattern file group characterized by the comparison result as having a change only includes a newly added pattern file group, and the pattern files in the newly added pattern file group are cached pattern files;
[0153] The above-mentioned update module 603 is specifically used to obtain the vector linked list of the newly added pattern file group based on the vector linked list of the cached pattern file; based on the storage address of the vector linked list of the cached pattern file, obtain the vector linked list storage address of the pattern file in the newly added pattern file group, and obtain the vector linked list storage address of the pattern file in the newly added pattern file group.
[0154] In one of the optional embodiments, the above-mentioned update module 603 is specifically used to store the microinstruction linked list of each pattern file in the newly added pattern file group in the storage space; and obtain the storage address of the microinstruction linked list of each pattern file in the newly added pattern file group.
[0155] In one of the optional embodiments, the comparison results include at least one of the following comparison results: including a newly added pattern file group, and the newly added pattern file group includes the comparison results of the newly added pattern files and / or the modified pattern files; including a modified pattern file group, and the modified pattern file group includes the comparison results of the newly added pattern files and / or the modified pattern files; including a newly added pattern file group and a modified pattern file group, and the newly added pattern file group and the modified pattern file group both include the comparison results of the newly added pattern files and / or the modified pattern files; including a newly added pattern file group and a modified pattern file group, and the modified pattern file group both include the comparison results of the newly added pattern files and / or the modified pattern files, and the newly added pattern file group only includes existing pattern files; and including a newly added pattern file group, and the newly added pattern file group only includes existing pattern files.
[0156] In one of the optional embodiments, the above-mentioned first comparison module 602 is specifically used to compare the full file path in the first file group information with the full file path in the second file information of the cached loaded pattern file; when the full file path in the first file group information is the same as the full file path in the second file information of the cached loaded pattern file, it is determined that the file corresponding to the full file path in the first file group information is the modified pattern file; when the full file path in the first file group information is not the same as the full file path in the second file information of the cached loaded pattern file, it is determined that the file corresponding to the full file path in the first file group information is the newly added pattern file.
[0157] In one of the optional embodiments, the above-mentioned first comparison module 602 is specifically used to compare the pattern file group name in the first file group information with the pattern file group name in the second file group information of the cached loaded pattern file group; when the pattern file group name in the first file group information is the same as the pattern file group name in the second file group information of the cached loaded pattern file group, determine that the corresponding pattern file group in the first file group information is a modified pattern file group; when the pattern file group name in the first file group information is different from the pattern file group name in the third file information of the cached loaded pattern file group, determine that the corresponding pattern file group in the first file group information is a newly added pattern file group.
[0158] Each module in the above-mentioned pattern file reloading device can be implemented in whole or in part by software, hardware and a combination thereof. Each of the above-mentioned modules can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute the operations corresponding to each of the above modules.
[0159] In an exemplary embodiment, a computer device is provided. The computer device may be a host computer. The host computer includes the host computer main module, the host computer reload processing module, the host computer driver module and the user API. The internal structure diagram thereof may be as follows: Figure 7As shown. The computer device includes a processor, a memory, an input / output interface, a communication interface, a display unit and an input device. The processor, the memory and the input / output interface are connected through a system bus, and the communication interface, the display unit and the input device are connected to the system bus through the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal in a wired or wireless manner, and the wireless manner can be implemented through WIFI, a mobile cellular network, near field communication (NFC) or other technologies. When the computer program is executed by the processor, a pattern file reloading method is implemented. The display unit of the computer device is used to form a visually visible picture, which can be a display screen, a projection device or a virtual reality imaging device. The display screen can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer device can be a touch layer covering the display screen, or a button, trackball or touchpad set on the computer device shell, or an external keyboard, touchpad or mouse.
[0160] Those skilled in the art will understand that Figure 7 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0161] In one embodiment, a computer device is further provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps in the above method embodiments when executing the computer program.
[0162] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments are implemented.
[0163] In one embodiment, a computer program product is provided, including a computer program, which implements the steps in the above method embodiments when executed by a processor.
[0164] It should be noted that the data involved in this application (including but not limited to data used for analysis, stored data, displayed data, etc.) are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant regulations.
[0165] A person of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment method can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, an artificial intelligence (AI) processor, etc., but are not limited to this.
[0166] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.
[0167] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.
Claims
1. A pattern file reloading method, characterized in that: Applied to the host computer drive module, the method includes: Receive first file group information of a pattern file group with changes sent by a reload processing module; The first file group information is compared with the cached second file information of the loaded pattern file group and the second file group information to obtain a comparison result; Based on the comparison results and the file group dimension, update the pattern file group related information of the pattern file group that has changed; The first file group information and the second file group information include the file group name and the file information of each file included in each file group; the second file information includes the vector and microinstruction of the pattern file; the pattern file group related information includes the file group name, the vector linked list of each file included in the file group, the microinstruction linked list corresponding to each file included in the file group, the storage address of each vector linked list and the storage address of the microinstruction linked list; The comparison results include: Including a newly added pattern file group and a modified pattern file group, and the newly added pattern file group and the modified pattern file group both include comparison results of the newly added pattern files and / or the modified pattern files; and / or It includes a newly added pattern file group and a modified pattern file group, and the modified pattern file group includes the comparison results of the newly added pattern files and / or the modified pattern files, and the newly added pattern file group only includes the existing pattern files.
2. The method according to claim 1, characterized in that The updating of pattern file group related information of the pattern file group with changes based on the comparison result in the file group dimension includes: Based on the comparison result and the file group dimension, the vector linked list of the pattern file group with changes is updated, and the vector linked list storage address of the updated vector linked list is obtained; Based on the comparison result and in the file group dimension, the microinstruction linked list of the pattern file group with changes is updated, and the microinstruction linked list storage address of the updated microinstruction linked list is obtained; Based on the vector linked list storage address and the microinstruction linked list storage address, the pattern file group related information of the changed pattern file group is updated.
3. The method according to claim 2, characterized in that The updating of the vector linked list of the pattern file group with changes based on the comparison result and the acquisition of the vector linked list storage address of the updated vector linked list in the file group dimension includes: In the case where the comparison result indicates that the changed pattern file group includes a newly added pattern file and / or a modified pattern file, parsing the newly added pattern file in the changed pattern file group to store the vector of the newly added pattern file into the storage space corresponding to the allocated vector storage address, and obtaining a vector linked list of the newly added pattern file based on the vector of the newly added pattern file and the vector storage address of the newly added pattern file; Querying file-related information corresponding to the modified pattern file in the pattern file group with changes, obtaining a vector linked list of the modified pattern file, and storing updated vectors in a storage space based on the vector linked list of the modified pattern file; After the vectors of the pattern files corresponding to the pattern file group with changes are stored in the storage space, the vector linked list storage address of each of the pattern files in the pattern file group with changes is obtained; wherein the vector linked list storage address of each of the pattern files in the pattern file group with changes includes the vector linked list storage address of the newly added pattern file and the vector linked list storage address of the modified pattern file.
4. The method according to claim 2, characterized in that: The method of updating the microinstruction linked list of the pattern file group with changes based on the comparison result and obtaining the microinstruction linked list storage address of the updated microinstruction linked list in the file group dimension includes: Obtain the microinstruction linked list of each of the pattern files in the pattern file group that has changed, store the microinstruction linked list of each of the pattern files in the pattern file group that has changed in the storage space, and obtain the storage address of the microinstruction linked list of each of the pattern files in the pattern file group that has changed.
5. The method according to claim 2, characterized in that: The comparison result indicates that the changed pattern file group only includes the newly added pattern file group, and the pattern files in the newly added pattern file group are cached pattern files; The updating of the vector linked list of the pattern file group with changes based on the comparison result and the acquisition of the vector linked list storage address of the updated vector linked list in the file group dimension includes: Obtaining the vector linked list of the newly added pattern file group based on the vector linked list of the cached pattern files; Based on the vector linked list storage address of the cached pattern file, the vector linked list storage address of the pattern file in the newly added pattern file group is obtained, and the vector linked list storage address of the pattern file in the newly added pattern file group is acquired.
6. The method according to claim 5, characterized in that The method of updating the microinstruction linked list of the pattern file group with changes based on the comparison result and obtaining the microinstruction linked list storage address of the updated microinstruction linked list in the file group dimension includes: Storing the microinstruction linked list of each pattern file in the newly added pattern file group in the storage space; Obtain the storage address of the microinstruction linked list of each pattern file in the newly added pattern file group.
7. The method according to any one of claims 1 to 6, characterized in that: The comparison results also include at least one of the following comparison results: Including a newly added pattern file group, and the newly added pattern file group includes the comparison results of the newly added pattern files and / or the modified pattern files; Including a modified pattern file group, wherein the modified pattern file group includes a comparison result of a newly added pattern file and / or a modified pattern file; and Includes a newly added pattern file group, and the newly added pattern file group only includes existing pattern files.
8. The method according to any one of claims 1 to 6, characterized in that: The generation method of the comparison result includes: Compare the full file path in the first file group information with the full file path in the second file information of the cached loaded pattern file; In a case where the full file path in the first file group information is the same as the full file path in the second file information of the cached loaded pattern file, determining that the file corresponding to the full file path in the first file group information is the modified pattern file; When the full file path in the first file group information is different from the full file path in the second file information of the cached loaded pattern file, it is determined that the file corresponding to the full file path in the first file group information is a newly added pattern file.
9. The method according to any one of claims 1 to 6, characterized in that: The generation method of the comparison result includes: Compare the pattern file group name in the first file group information with the pattern file group name in the cached second file group information of the loaded pattern file group; In the case where the pattern file group name in the first file group information is the same as the pattern file group name in the second file group information of the cached loaded pattern file group, determining that the corresponding pattern file group in the first file group information is a modified pattern file group; When the pattern file group name in the first file group information is different from the pattern file group name in the third file information of the cached loaded pattern file group, it is determined that the corresponding pattern file group in the first file group information is a newly added pattern file group.
10. A pattern file reloading system, characterized in that: The system includes: a reload processing module, which is used to receive a pattern file group and a pattern file sent by a host computer main module, wherein the sent pattern file group has a change or both the sent pattern file group and the pattern file have a change; based on the changed pattern file group or the changed pattern file group and the pattern file, determine the changed pattern file group; send the first file group information of the changed pattern file group to the host computer driving module; A host computer driver module, configured to execute the pattern file reloading method according to any one of claims 1 to 9 based on the first file group information of the changed pattern file group to update the pattern file group related information of the changed pattern file group; The FPGA main control module is used to update the pattern file group related information of the changed pattern file group stored in the storage space based on the instruction of the host computer driving module.
11. A pattern file reloading device, characterized in that: Applied to the host computer drive module, the device includes: A first receiving module, used for receiving first file group information of a pattern file group with changes sent by the reload processing module; A first comparison module is used to compare the first file group information with the cached second file information of the loaded pattern file group and the second file group information to obtain a comparison result; An update module is used to update pattern file group related information of a pattern file group with changes based on the comparison result and the file group dimension; The first file group information and the second file group information include the file group name and the file information of each file included in each file group; the second file information includes the vector and microinstruction of the pattern file; the pattern file group related information includes the file group name, the vector linked list of each file included in the file group, the microinstruction linked list corresponding to each file included in the file group, the storage address of each vector linked list and the storage address of the microinstruction linked list; The comparison results include: Including a newly added pattern file group and a modified pattern file group, and the newly added pattern file group and the modified pattern file group both include comparison results of the newly added pattern files and / or the modified pattern files; and / or It includes a newly added pattern file group and a modified pattern file group, and the modified pattern file group includes the comparison results of the newly added pattern files and / or the modified pattern files, and the newly added pattern file group only includes the existing pattern files.
12. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 9 are implemented.
13. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 9 are implemented.
Citation Information
Patent Citations
Loading method and loading system for improving Pattern file loading performance and testing machine
CN113391859A
File comparison method and device, equipment and storage medium
CN117669534A