A test method, storage medium and electronic device for automatically verifying manual packaging
By automatically parsing and verifying the automatic boxing files in the FPGA EDA tool, and generating and verifying the manual boxing file, the problem of low manual boxing coverage in the existing technology is solved, and the testing efficiency and coverage rate are improved.
Patent Information
- Application Number
- CN202510274338.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-10
- Publication Date
- 2025-05-20
- Estimated Expiration
- 2045-03-10
AI Technical Summary
In the existing FPGA EDA tools, the coverage rate of the manual boxing process is low, and it is difficult for testers to manually adjust the position of the box and logic unit, resulting in insufficient testing and inability to meet the coverage rate.
Provide a test method for automatic verification of manual packing. By analyzing the automatic packing file, obtaining moving boxes and logical units, presetting manual packing mode, selecting modes according to the moving boxes, adjusting the position of the logical unit, generating manual packing files and performing rule verification, realizing automatic verification of multiple test combinations of manual packing.
This greatly reduces the tester's test time, improves testing efficiency and coverage, and realizes automatic verification of multiple test combinations of manual packing.
Smart Images

Figure CN119782189B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the technical field of programmable logic devices, and particularly relates to a test method, a storage medium, and an electronic device for automatically verifying manual boxing. Background Art
[0002] FPGA (Field-Programmable Gate Array) is a highly flexible programmable logic device, which is widely used in fields such as communication, embedded systems, and AI acceleration. With the development of integrated circuit technology, the EDA (Electronics Design Automation) software of FPGA is particularly important. Different from other software systems, the EDA software of FPGA integrates functions including designing circuits, compiling circuits, debugging circuits, and analyzing circuits. The main function of the FPGA EDA tool is to first convert the circuit into a netlist file, and then perform a series of processings on the netlist file, such as boxing, placement, routing, and generating configuration codes.
[0003] The FPGA EDA tool supports users to manually box and adjust the results of automatic boxing and placement. The positions of the boxes and each logic unit inside the boxes can be moved, and it can be adjusted which box each logic unit is installed in and which position in the box. For each encapsulated circuit, there are a large number of boxes and logic units that can be moved. If the testers move them manually, undoubtedly the covered situations are very few, and the coverage rate cannot be met. Summary of the Invention
[0004] This application discloses a test method, a storage medium, and an electronic device for automatically verifying manual boxing, which can automatically verify various test combinations of manual boxing, greatly reducing the test time of testers and improving the test efficiency and coverage rate.
[0005] Other objects and advantages of this application can be further understood from the technical features disclosed in this application.
[0006] To achieve one or part or all of the above purposes or other purposes, in a first aspect, the present application provides a test method for automatically verifying manual packing, and the method includes: obtaining a circuit test file, performing an automatic packing layout and wiring process of the circuit according to the circuit test file to obtain an automatic packing file; parsing the automatic packing file, and counting the movable boxes according to the logic units of the boxes, wherein the movable boxes include movable logic units; presetting a manual packing mode, selecting a manual packing mode according to the movable boxes, and moving the movable logic units in the movable boxes according to the manual packing mode to generate a manual packing file, wherein the manual packing file includes the moving information of the boxes; performing a packing layout and wiring process according to the manual packing file and performing rule verification. If the packing layout and wiring process conforms to the corresponding rules of the process, the manual packing is successful.
[0007] Further, the method for parsing the automatic packing file is a dictionary method, wherein the box name is used as the key and the logic units in the box are used as the values.
[0008] Further, when parsing the automatic packing file, the boxes that do not support moving are also counted according to the logic units of the boxes, and the boxes that do not support moving are not manually packed.
[0009] Further, the movable boxes include at least one of the full boxes and the unfilled boxes.
[0010] Further, for the full boxes, the manual packing mode includes at least one of the following modes:
[0011] Mode 1: Exchanging the positions of the logic units in the same full box;
[0012] Mode 2: Exchanging the logic units in two full boxes.
[0013] Further, for the unfilled boxes, the manual packing mode includes at least one of the following modes:
[0014] Mode 3: Exchanging the logic units in two unfilled boxes;
[0015] Mode 4: Exchanging the positions of the logic units in the same unfilled box.
[0016] Further, the unfilled boxes include at least one of the boxes containing only one logic unit and the boxes containing at least two logic units, and the manual packing mode includes at least one of the following modes:
[0017] Mode 5: Moving the logic unit in the box containing only one logic unit to a blank position;
[0018] Mode Six: Move the logic unit in the box that only contains one logic unit to other boxes that are not full;
[0019] Mode Seven: Randomly select one logic unit from the boxes that contain at least two logic units and move it to other boxes that are not full;
[0020] Mode Eight: Move the positions of the logic units in the boxes that contain at least two logic units so that there are empty spaces from top to bottom in the boxes that contain at least two logic units.
[0021] Further, if any process in the packing layout and wiring process does not conform to the process corresponding rules, the manual packing fails, and the test process and test results are recorded in combination with the movement information of the boxes.
[0022] In a second aspect, the present application provides a computer-readable storage medium, in which program code is stored, and the program code is called by a processor to execute a test method for automatically verifying manual packing according to any one of the first aspect.
[0023] In a third aspect, the present application further provides an electronic device, including one or more processors; a memory; one or more application programs, where one or more application programs are stored in the memory and are configured to be executed by one or more processors, and one or more application programs are configured to execute a test method for automatically verifying manual packing according to any one of the first aspect.
[0024] The above-mentioned test method, storage medium and electronic device for automatically verifying manual packing obtain the movable boxes and the movable logic units therein by parsing the automatic packing file, preset the manual packing mode, randomly select the manual packing mode according to the movable boxes, adjust the positions of the movable logic units, obtain the manual packing file and perform rule verification, realizing the automatic verification of various test combinations of manual packing, greatly reducing the test time of testers, and improving the test efficiency and coverage. At the same time, the present application can also configure the manual packing mode by itself to adapt to all devices that support manual packing. The present application can also be transplanted into interface automation and underlying automation to automatically execute all processes and perform verification. The present application can also accurately record the test process and test results according to the movement information of the boxes for further analysis by testers.
[0025] To make the above and other purposes, features and advantages of the present application more obvious and understandable, the following specifically enumerates preferred embodiments and, in conjunction with the accompanying drawings, makes a detailed description as follows. BRIEF DESCRIPTION OF THE DRAWINGS
[0026] To more clearly illustrate the technical solutions in the specific embodiments of the present application, the following will briefly introduce the drawings required for the description of the embodiments. Obviously, the following-described drawings are only some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.
[0027] Figure 1 It is a schematic flowchart of a test method for automatically verifying manual boxing in the present application.
[0028] Figure 2 It is a judgment flowchart of a test method for automatically verifying manual boxing in the present application.
[0029] Figure 3 It is a schematic flowchart of a process for generating a manual boxing file in the present application. Specific embodiments
[0030] The foregoing and other technical contents, features and effects of the present application will be clearly presented in the following detailed description of a preferred embodiment with reference to the drawings. The terms "first", "second", etc. in the specification and claims of the present application and the above drawings are used to distinguish similar objects, and do not necessarily need to describe a specific order or sequence. It should be understood that such terms can be interchanged under appropriate circumstances, which is only a way of distinguishing when describing objects with the same attributes in the embodiments of the present application.
[0031] To verify the function of manual boxing in the EDA software, it is necessary to operate on different boxes on the visualization interface. There are too many combinations of test cases, such as the type of the box, whether the box is full, whether there is a carry chain in the box, which logic unit in the box to move, and where to move the logic unit. Moreover, the boxing results of each circuit are different, and the possibilities are also different. If testers manually test each case, it will not only increase the complexity, but also, due to the large amount of data, it is very easy to be tested insufficiently, resulting in low coverage.
[0032] A test method for manual packing provided by an embodiment of the present application obtains a circuit test file, executes an automatic packing layout and routing process of the circuit according to the circuit test file to obtain an automatic packing file; parses the automatic packing file, and counts the movable boxes according to the logic units of the boxes; among them, the movable boxes include movable logic units; preset a manual packing mode, select a manual packing mode according to the movable boxes, and move the movable logic units in the movable boxes according to the manual packing mode to adjust the positions of the movable logic units to obtain a manual packing file; among them, the manual packing file includes the moving information of the boxes; execute the packing layout and routing process according to the manual packing file and perform rule verification. If the packing layout and routing process conforms to the corresponding rules of the process, the manual packing is successful. Thus, the automatic verification of various test combinations of manual packing is realized, greatly reducing the test time of testers and improving the test efficiency and coverage rate.
[0033] The present application will be described in detail below with reference to the accompanying drawings.
[0034] Reference Figure 1 and Figure 2 , an embodiment of the present application provides a test method for automatically verifying manual packing, which includes the following steps:
[0035] Step 1: Obtain a circuit test file, and execute an automatic packing layout and routing process of the circuit according to the circuit test file to obtain an automatic packing file.
[0036] Exemplarily, the circuit test file is a CASE file. The CASE file is a TXT file, and all the paths of the circuits to be tested and the top-level file names are stored in the CASE file. When batch-executing the test process, read and test in sequence according to the circuit order in the CASE file. For example, in each line, the local path of the test circuit is before the space, and the top-level file name of the test circuit is after the space.
[0037] Exemplarily, the circuit project address can also be spelled out according to the circuit test file, and it is judged whether the automatic packing layout and routing process of the circuit is successfully executed. If it is successfully executed, step 2 is executed; otherwise, the next circuit test file is read for judgment.
[0038] Step 2: Parse the automatic packing file generated by automatic packing, and count the movable boxes according to the logic units of the boxes.
[0039] Among them, a box represents a position of a chip, the logic unit is installed in the box, and the movable boxes include movable logic units.
[0040] Optionally, the automatically packed boxes are parsed in a dictionary manner, with the box name as the KEY and the smallest logical unit in the box as the VALUE for storage, and all movable boxes and boxes that do not support moving are counted. The movable boxes are modules that support manual packing. The boxes that do not support moving are modules that do not support manual packing. These modules are usually a whole and do not contain logical units, so they do not support manual packing.
[0041] Optionally, among the movable boxes, filled boxes and other unfilled boxes can also be parsed out.
[0042] Furthermore, the unfilled boxes can be further divided into boxes containing only one logical unit and boxes containing at least two logical units for more refined manual packing.
[0043] Step 3: Preset the manual packing mode. Select the manual packing mode according to the movable boxes, and move the movable logical units in the movable boxes according to the manual packing mode to generate a manual packing file.
[0044] Optionally, referring to Figure 3 , for the filled boxes, the present application provides the following manual packing modes:
[0045] Mode 1: Exchange the positions of the logical units in the same filled box;
[0046] Mode 2: Exchange the logical units in two filled boxes.
[0047] Optionally, referring to Figure 3 , for the unfilled boxes, the present application provides the following manual packing modes:
[0048] Mode 3: Exchange the logical units in two unfilled boxes;
[0049] Mode 4: Exchange the positions of the logical units in the same unfilled box.
[0050] Furthermore, referring to Figure 3 , for the boxes containing only one logical unit or at least two logical units included in the unfilled boxes, the present application provides the following manual packing modes:
[0051] Mode 5: Move the logical unit in the box containing only one logical unit to the blank position; here, the blank position refers to the position on the chip where no box is placed;
[0052] Mode 6: Move the logical unit in the box containing only one logical unit to other unfilled boxes;
[0053] Mode Seven: Randomly select one logic unit from a box containing at least two logic units and move it to another box that is not full.
[0054] Mode Eight: Move the positions of the logic units in a box containing at least two logic units so that there are empty spaces from top to bottom in the box containing at least two logic units. Specifically, in the automatic packing process, the logic units will be arranged from top to bottom in sequence. Therefore, the result of automatic packing is that there are no empty spaces between two logic units. Here, for the continuously placed logic units, move one of them so that there is an empty space from top to bottom in the box. Example 1: For the two consecutive logic units at the top, move the first one so that the top position is an empty space. Example 2: For five consecutive logic units from top to bottom, move the logic unit in the second position so that the second position is an empty space.
[0055] This application can randomly select the manual packing mode based on the results parsed in Step 2, randomly select the boxes and logic units that meet the conditions for moving, adjust the positions of the movable logic units, and automatically generate the manual packing file. The manual packing file includes the moving information of the boxes, that is, the information of the boxes that have not been moved and the boxes after moving, so as to record the test process and locate the boxes when errors occur in subsequent processes.
[0056] Step 4: Execute the packing layout and wiring process according to the manual packing file and perform rule verification. If the packing layout and wiring process conform to the corresponding rules of the process, the manual packing is successful.
[0057] Specifically, after completing the manual packing process, it is necessary to execute the packing layout and wiring process again. The packing process in it will perform packing according to the manual packing file, and the packing needs to conform to a series of packing rules. If it does not conform to the rules after packing according to the manual packing file, the packing process will report an error and record the error information in an Excel table so that the tester can confirm the packing problem based on the error. If it conforms to the rules after packing according to the manual packing file, the layout and wiring process will be further carried out. The layout and wiring also need to follow a series of rules. If all conform to the corresponding rules of the process, the test process is successfully completed. Furthermore, the results of the packing layout and wiring executed again can also be subjected to rule verification to ensure that the results are correct and conform to the rules. If not, the current circuit, the process of this manual packing (the moving information of the boxes and logic units involved), and the specific error can be recorded in the verification results for easy positioning. Whether the verification result is correct or an error is reported, the manual packing test process of the next circuit test file will be executed.
[0058] In a specific embodiment, a circuit has hundreds of thousands of logic units, and there are thousands or even tens of thousands of possibilities for manual packing. This application can achieve automatic batch execution of thousands of circuits. Each circuit randomly selects logic units and randomly selects a moving method, and automatically verifies the results. It can also specifically specify the moving method of the logic units for targeted testing. For failed circuits, this application can automatically record the information of the moved logic units and the moving method, which is convenient for positioning. This application not only greatly improves the test coverage and test efficiency, but also facilitates result positioning.
[0059] In summary, the test method, storage medium, and electronic device for automatically verifying manual packing of this application, by obtaining the boxes that can be moved and the logic units that can be moved in the automatic packing file, and presetting the manual packing mode, randomly selects the manual packing mode according to the boxes that can be moved, adjusts the positions of the logic units that can be moved, obtains the manual packing file and conducts rule verification, realizes the automatic verification of multiple test combinations of manual packing, greatly reduces the test time of testers, and improves the test efficiency and coverage. At the same time, this application can also configure the manual packing mode by itself to adapt to all devices that support manual packing; this application can also be transplanted into interface automation and underlying automation to automatically execute all processes and conduct verification, so as to make full use of working hours, and testers can analyze the execution results after arriving at the post; this application can also accurately record the test process and test results, including the names of the moved boxes and the names of the moved logic units. If there is an error in the execution process, it can also accurately record the error information and retain the test project for further analysis by testers.
[0060] It should be understood that although the steps in the flowcharts involved in the above embodiments are shown in sequence according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless there is a clear indication in this article, the execution of these steps has no strict order limit, 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. These steps or stages are not necessarily executed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be executed alternately or alternately with at least a part of other steps or steps or stages in other steps.
[0061] Based on the same inventive concept, this application also provides a computer-readable storage medium, in which program code is stored, and the program code is called by a processor to execute a test method for automatically verifying manual packing as described in any one of the above.
[0062] In one embodiment, the present application further provides an electronic device, which includes one or more processors; a memory; one or more applications, wherein the one or more applications are stored in the memory and configured to be executed by the one or more processors, and the one or more applications are configured to execute a test method for automatically verifying manual boxing according to any one of the above.
[0063] It should be noted that for those of ordinary skill in the art in the technical field of the present application, without departing from the principle of the present application, several improvements and modifications can be made to the present application, and these improvements and modifications also fall within the scope of protection of the claims of the present application. It should be understood that certain features of the present disclosure described in the context of separate embodiments for clarity can also be provided in a single embodiment by combination. Conversely, the various features of the present disclosure described in the context of a single embodiment for clarity can also be provided separately or in any suitable combination or as any other described embodiment of the present disclosure.
Claims
1. A test method for automatically verifying manual packing, characterized in that: The method comprises: Acquire a circuit test file, and execute an automatic boxing layout and routing process of the circuit according to the circuit test file to obtain an automatic boxing file; Parse the automatic packing file, and count the boxes that can be moved according to the logical units of the boxes; wherein the boxes that can be moved include the logical units that can be moved, and the boxes that can be moved include full boxes and unfull boxes, and the unfull boxes include boxes that only have one logical unit and boxes that have at least two logical units; A manual packing mode is preset, and the manual packing mode is selected according to the movable box, and the movable logical unit in the movable box is moved according to the manual packing mode to generate a manual packing file; wherein the manual packing file includes the moving information of the box, and the manual packing mode includes: exchanging the positions of the logical units in the same full box, exchanging the logical units in two full boxes, exchanging the logical units in two unfilled boxes, exchanging the positions of the logical units in the same unfilled box, moving the logical unit in the box with only one logical unit to a blank position, moving the logical unit in the box with only one logical unit to other unfilled boxes, randomly selecting one logical unit in the box with at least two logical units and moving it to other unfilled boxes, and moving the position of the logical unit in the box with at least two logical units so that there is an empty position from top to bottom in the box with at least two logical units; The box packing layout and routing process is executed according to the manual box packing file and a rule check is performed. If the box packing layout and routing process all conform to the process corresponding rules, the manual box packing is successful.
2. A test method for automatic verification of manual packing according to claim 1, characterized in that: The automatic boxing file is parsed in a dictionary manner, wherein the box name is used as a key and the logical unit in the box is used as a value.
3. A test method for automatic verification of manual packing according to claim 1, characterized in that: The automatic packing file is parsed, and boxes that do not support movement are counted according to the logical units of the boxes. The boxes that do not support movement are not manually packed.
4. A test method for automatic verification of manual packing according to claim 1, characterized in that: If any process in the box packing layout and routing process does not comply with the process corresponding rule, the manual box packing fails, and the test process and test results are recorded in combination with the movement information of the box.
5. A computer-readable storage medium, wherein a program code is stored in the computer-readable storage medium, and the program code is called by a processor to execute a test method for automatically verifying manual packaging as described in any one of claims 1 to 4.
6. An electronic device comprising one or more processors; a memory; and one or more applications, wherein the one or more applications are stored in the memory and configured to be executed by the one or more processors, and the one or more applications are configured to execute a test method for automatically verifying manual packaging as described in any one of claims 1-4.
Citation Information
Patent Citations
Test method and system for automatically verifying boxing, layout and wiring
CN111400992A