CN110489297B - FPGA debugging signal setting method based on graphical interface - Google Patents
FPGA debugging signal setting method based on graphical interface Download PDFInfo
- Publication number
- CN110489297B CN110489297B CN201910793109.8A CN201910793109A CN110489297B CN 110489297 B CN110489297 B CN 110489297B CN 201910793109 A CN201910793109 A CN 201910793109A CN 110489297 B CN110489297 B CN 110489297B
- Authority
- CN
- China
- Prior art keywords
- signal
- debugging
- file
- design
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
The invention relates to the field of FPGA design, and particularly provides a method for setting an FPGA debugging signal based on a graphical interface. Compared with the prior art, the method has the advantages that the design files in the design project are divided into two parts by a user, the two parts are respectively placed in two folders, one folder stores the top-layer design files, the other folder stores all the remaining design files, and then the following steps are carried out: s1, compiling a design engineering instantiation hierarchical search script; s2, compiling a signal retrieval script; s3, writing a signal debugging labeling script; s4, using a graphical interface library to write graphical interface software, and completing debugging, labeling and modification on the designated signals in the design file according to the input information; after the software completes the whole design engineering signal debugging and labeling work, the signal debugging and labeling information is popped up to export a successful dialog box, and a debugging signal file is printed out at the same time. The invention has the advantages of greatly shortening the time for manually writing the signal debugging and labeling and has good popularization value.
Description
Technical Field
The invention relates to the field of FPGA design, and particularly provides a method for setting an FPGA debugging signal based on a graphical interface.
Background
At present, the electronic information technology industry develops rapidly, the performance requirement on a special chip is higher and higher, the complexity of an integrated circuit is exponentially increased while the integrated circuit technology is rapidly advanced, the research and development production period is greatly prolonged, and the method cannot well adapt to changeable market demands. A large-scale field programmable logic device (FPGA) provides a method for flexibly realizing a circuit, and balances the contradiction between product performances in a product research and development period.
As the FPGA design scale is larger and larger, the signal quantity is increased rapidly, and the debugging difficulty is larger and larger. FPGA companies mostly offer a test software based on online debugging for board level debugging, such as chiprope, etc. The use of the online debugging software requires that a user set debugging labels such as mark_debug, key wire and the like in the design in advance, so that the FPGA implementation tool is prevented from optimally removing signals to be debugged when codes are integrated, and specific signals cannot be found and added in the follow-up set up debug process. In the process of designing the FPGA engineering codes, due to the fact that front-end design codes are modified, functions of different design modules in debugging design engineering are realized, and the like, debugging signals for chiprope are required to be adjusted for many times, due to the fact that debugging labels are distributed in all sub-modules, users do not have an intuitive mode to conveniently find the labels, labels cannot be conveniently added or deleted according to needs, manual operation is complex, and mistakes are easy to occur.
Disclosure of Invention
Aiming at the defects of the prior art, the invention provides the FPGA debugging signal setting method based on the graphical interface, which has strong practicability, is quick and convenient.
The technical scheme adopted for solving the technical problems is as follows:
the FPGA debugging signal setting method based on the graphic interface is characterized in that a user divides a design file in a design project into two parts, the two parts are respectively placed in two folders, one folder stores a top layer design file, the other folder stores all the remaining design files, and then the following steps are carried out:
s1, compiling a design engineering instantiation hierarchical search script;
s2, compiling a signal retrieval script;
s3, writing a signal debugging labeling script;
s4, using a graphical interface library to write graphical interface software, and completing debugging, labeling and modification on the designated signals in the design file according to the input information;
after the software completes the whole design engineering signal debugging and marking work, popping up a successful dialog box derived from signal debugging and marking information, and simultaneously printing and outputting a debugging signal file;
and finally, performing setting debugging, adding a debugging signal according to the debugging signal file, and storing.
Furthermore, the design project instantiation hierarchical search script is used for searching the design file of the whole project, the module of the top-level design file is named as a tree root through a search module and an instantiation format, each instantiation module of the design project and the subordinate relation between each instantiation module of the design project are found out from top to bottom through a recursion traversal method, instantiation hierarchical information of the design project is established, and the instantiation hierarchical information is stored as a tree node information file.
Further, the tree node is composed of four parts, namely a file name, a signal file name, a module name and an instantiation name.
Further, the signal retrieval script is configured to traverse the entire tree node information file according to a method that the tree node information file traverses from the tree root node in a preface, find the file from the design file and retrieve a signal keyword in the file according to a file name in the node information every time the tree node information file traverses, where the signal refers to an input/output port in the design file, retrieve whether a mark_debug or a key keyword exists at the head of a declaration line of the signal every time a signal is retrieved, determine whether the signal has been added as a debug signal label, and store the retrieved signal information output as a signal file, where the signal file is the order in which the design file is retrieved.
Further, the signal file includes a plurality of entries, each of which is composed of five parts, including a debug flag, a signal name, a signal input/output type, a signal bit width, and a signal type.
Preferably, the signal key input, output, inout, wire and/or reg.
Furthermore, the signal debugging labeling script is provided with three inputs, namely a design file name, a signal name and a signal addition and subtraction labeling mark;
when the script is called, the script finds the line where the signal name is located in the designated design file name according to the input information when the script is called, reads and stores the line text as a whole in a character string variable, replaces the line text where the signal name is located in the design file name with a space character, adds the debugging label or deletes the original debugging label in the character string variable according to the signal addition and subtraction label, and replaces the modified character string variable with the space character where the signal name is located in the design file name, thereby completing the debugging label modification of the signal name.
Further, using the software for writing the graphic interface library to read the generated tree node information file and the signal name file corresponding to each design file name, and displaying each instantiation module of the design project by using a tree directory, wherein each module is provided with an information frame and a sub-module unfolding button in front;
the information frame represents whether the module and an instantiation sub-module thereof have debugging marking signals or not, after the information frame is clicked to cancel selection, the debugging marking signals in the module and the instantiation sub-module thereof are cancelled, when the name of the module is clicked, a secondary interface is popped up, and the condition that the signals in the module are added with the debugging marking is displayed;
clicking the submodule unfolding button, and displaying the submodule instantiated under the module, wherein the information and the operation of each module are the same as those of the information frame;
after the signal debugging and labeling of each module are completed, clicking a toolbar saving button to save the current software operation state, clicking an export button, traversing each node by software from a top-level module, namely a tree root node in a preface traversing mode, calling a signal debugging and labeling script for each node module according to the saved debugging signal labeling operation information, and completing the signal debugging and labeling of each design file.
Further, the secondary interface is in a form of a table and consists of five columns and a plurality of rows, and each row displays detailed information of a signal;
the first column of the five columns is whether the signal is added with a debugging marking information frame, the signal debugging marking can be added or cancelled by clicking to select or cancel the frame, the second column is a signal name, the third column is the signal input/output port information, the fourth column is the signal type information, and the fifth column is the signal bit width information.
Compared with the prior art, the FPGA debugging signal setting method based on the graphical interface has the following outstanding beneficial effects:
aiming at the method for manually adding and deleting signal debugging labels in the existing FPGA design flow, the invention provides a platform and a method for completing highly-automatic signal debugging labels setting by using a scripting language and a graphical interface.
The method is convenient to implement, simple in flow, efficient and stable, can greatly shorten the time for manually writing the signal debugging and labeling, reduces the trouble of complicated manual operation and easy error, and further improves the development and development efficiency of the FPGA.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings that are required in the embodiments or the description of the prior art will be briefly described, and it is obvious that the drawings in the following description are some embodiments of the present invention, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a flow chart of a method for setting a debug signal of an FPGA based on a graphical interface.
Detailed Description
In order to provide a better understanding of the aspects of the present invention, the present invention will be described in further detail with reference to specific embodiments. It will be apparent that the described embodiments are only some, but not all, embodiments of the invention. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
A preferred embodiment is given below:
as shown in the flow chart in fig. 1, the design file in the user design project is divided into two parts, the two parts are respectively placed in two folders, and one folder stores the top design file and is named as top; the other folder holds all other files, named dsg.
Firstly, writing an instantiation hierarchical search script of a design project, wherein the script can search design files in the whole project, the script can search modules, instantiation formats and the like, the module name of a top-level design file in a top folder is used as a tree root, the subordinate relation between each instantiation module of the design project and each instantiation module is found out from top to bottom by a recursion traversal method, instantiation hierarchical information of the design project is established, and the instantiation hierarchical information is stored as a tree node information file. Each tree node file consists of four parts, namely a file name, a signal file name, a module name and an instantiation name.
And then writing a signal retrieval script, wherein the script traverses the whole tree node information file according to the tree node information file by a method of traversing the tree root node in an order, and each time one node is traversed, the signal retrieval script finds out a file from the design file according to the file name in the node information and retrieves the signal key word in the file, and the signal refers to an input/output port in the design file, wherein the retrieved signal key word is input, output, inout, wire, reg and the like. And each time a signal is searched, searching whether the signal is added with a key word such as mark_debug or key turn, judging whether the signal is marked by the added debug signal, and then outputting and storing the searched signal information as a signal file.
The signal storage file consists of five parts, namely a debugged label, a signal name, a signal input and output type, a signal bit width and a signal file name, wherein the signal file name is used as the order in which the design file is searched, the signal file name corresponding to the top-layer design file is 1, and the submodules are sequentially increased.
Then, when a signal debugging labeling script is written, three inputs are respectively designed file names, signal names and signal addition and subtraction labeling marks;
when the script is called, the script finds the line where the signal name is located in the designated design file name according to the input information when the script is called, reads and stores the line text as a whole in a character string variable, replaces the line text where the signal name is located in the design file name with a space character, adds the debugging label or deletes the original debugging label in the character string variable according to the signal addition and subtraction label, and replaces the modified character string variable with the space character where the signal name is located in the design file name, thereby completing the debugging label modification of the signal name. The signal debugging script is used as a sample and is written once and recorded in the circulation step,
and writing graphic interface software by using qt, wherein the software reads the tree node information file and the signal file corresponding to each design file generated in the steps, each instantiation module of the design file is displayed in a tree directory, an information frame and a sub-module unfolding button are arranged in front of each module, the information frame represents that debugging marking signals in the module and the sub-modules are cancelled, and when the name of the module is clicked, a secondary interface is popped up to display the condition of adding debugging marking to the signal in the module. Clicking a sub-module unfolding button, and displaying sub-modules instantiated under the sub-modules, wherein the information and the operation of each module are the same as those of the information frame. After the signal debugging and labeling of each module are completed, clicking a toolbar saving button to save the current software operation state, clicking an export button, traversing each node by software from a top-level module, namely a tree root node in a preface traversing mode, calling a signal debugging and labeling script for each node module according to the saved debugging signal labeling operation information, and completing the signal debugging and labeling of each design file.
The secondary interface is in a form of a table and consists of five columns and a plurality of rows, and each row displays detailed information of a signal; the first column of the five columns is whether the signal is added with a debugging marking information frame, the signal debugging marking can be added or cancelled by clicking to select or cancel the frame, the second column is a signal name, the third column is the signal input/output port information, the fourth column is the signal type information, and the fifth column is the signal bit width information.
Finally, after the software completes the whole design engineering signal debugging and labeling work, a successful dialog box is exported by popping up the signal debugging and labeling information, and meanwhile, a debugging signal list file is printed and output. And executing set up debug by using the comprehensive program, adding a debug signal according to the debug signal list file, and storing.
The above specific embodiments are merely illustrative of specific cases of the present invention, and the scope of the present invention includes, but is not limited to, the specific embodiments described above, any suitable changes or substitutions made by those skilled in the art, which are consistent with the method and system claims of FPGA-based USB interface interconnection of the present invention, shall fall within the scope of the present invention.
Claims (2)
1. The FPGA debugging signal setting method based on the graphic interface is characterized in that a user divides a design file in a design project into two parts, the two parts are respectively placed in two folders, one folder stores a top layer design file, the other folder stores all the remaining design files, and then the following steps are carried out:
s1, compiling a design engineering instantiation hierarchical search script;
the instantiation hierarchical search script searches design files in the whole project, the module name of the top design file in the top folder is used as a tree root through a search module and an instantiation format thereof, each instantiation module of the design project and the subordinate relation between the instantiation modules are found out from top to bottom through a recursion traversal method, instantiation hierarchical information of the design project is established, and the instantiation hierarchical information is stored as a tree node information file;
each tree node file consists of four parts, namely a file name, a signal file name, a module name and an instantiation name;
s2, compiling a signal retrieval script;
the signal retrieval script traverses the whole tree node information file according to the tree node information file by a method of traversing the tree root node in an order, and each time one node is traversed, the signal retrieval script finds out the file from the design file according to the file name in the node information and retrieves the signal key words in the file, wherein the signal refers to an input/output port in the design file;
wherein, the signal keywords searched are input, output, inout, wire and reg; each time a signal is retrieved, retrieving whether the signal is added with a key word mark_debug or key feature, judging whether the signal is marked by the added debug signal, and then outputting and storing the retrieved signal information as a signal file;
the signal file consists of five parts, namely whether debug marks, signal names, signal input and output types, signal bit widths and signal file names are set or not, the signal file names are used as the order in which design files are searched, the signal file name corresponding to the top-layer design file is 1, and the sub-modules are sequentially increased;
s3, writing a signal debugging labeling script;
the signal debugging labeling script has three inputs, namely a design file name, a signal name and a signal addition and subtraction labeling mark;
when a signal debugging labeling script is called, the script finds out a line where a signal name is located in a specified design file name according to input information when the signal debugging labeling script is called, the text in the line where the signal name is located in the design file name is read as a whole and stored in a character string variable, then the text in the line where the signal name is located in the design file name is replaced by a space character, then a debugging label is added in the character string variable or the original debugging label is deleted according to a signal addition and subtraction label, and the modified character string variable is replaced by the space character in the line where the signal name is located in the design file name, so that the debugging label modification of the signal name is completed;
the signal debugging script is used as a sample and is written once and recorded in the circulating step;
s4, using a graphical interface library to write graphical interface software, and completing debugging, labeling and modification on the designated signals in the design file according to the input information;
using qt to write graphic interface software, wherein the graphic interface software reads the tree node information files and the signal files corresponding to the design files generated in the steps, and displays each instantiation module of the design files in a tree catalog, and each instantiation module is preceded by an information frame and a sub-module unfolding button;
clicking a sub-module unfolding button, and displaying the sub-module instantiated under the instantiation module;
the information frame represents whether the instantiation module and an instantiation sub-module thereof have debugging marking signals, the information frame is clicked, after the information frame is deselected, the debugging marking signals in the instantiation module and the instantiation sub-module thereof are all cancelled, when the name of the instantiation module is clicked, a secondary interface is popped up, and the condition of adding the debugging marking to the signals in the instantiation module is displayed;
after the signal debugging and labeling of each instantiation module are completed, clicking a toolbar saving button to save the current software operation state, clicking an export button, traversing each node by software from a top-level module, namely a tree root node in a preface traversing mode, calling a signal debugging and labeling script for each node module according to the saved debugging signal labeling operation information, and completing the signal debugging and labeling of each design file;
after the software completes the whole design engineering signal debugging and marking work, popping up a successful dialog box derived from signal debugging and marking information, and simultaneously printing and outputting a debugging signal file;
and finally, performing setting debugging, adding a debugging signal according to the debugging signal file, and storing.
2. The method for setting the debugging signals of the FPGA based on the graphic interface according to claim 1, wherein the secondary interface is in a form of a table and consists of five columns and a plurality of rows, and each row displays detailed information of one signal;
the first column of the five columns is whether the signal is added with a debugging marking information frame, the signal debugging marking is added or cancelled by clicking to select or cancel the debugging marking information frame, the second column is a signal name, the third column is the signal input/output port information, the fourth column is the signal type information, and the fifth column is the signal bit width information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910793109.8A CN110489297B (en) | 2019-08-26 | 2019-08-26 | FPGA debugging signal setting method based on graphical interface |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910793109.8A CN110489297B (en) | 2019-08-26 | 2019-08-26 | FPGA debugging signal setting method based on graphical interface |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110489297A CN110489297A (en) | 2019-11-22 |
CN110489297B true CN110489297B (en) | 2023-07-25 |
Family
ID=68554112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910793109.8A Active CN110489297B (en) | 2019-08-26 | 2019-08-26 | FPGA debugging signal setting method based on graphical interface |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110489297B (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113656236B (en) * | 2020-05-12 | 2024-05-28 | 大唐移动通信设备有限公司 | Data processing method and device |
CN113722204A (en) * | 2020-05-26 | 2021-11-30 | 华为技术有限公司 | Application debugging method, system, device and medium |
CN114741993B (en) * | 2022-04-18 | 2023-06-16 | 山东浪潮科学研究院有限公司 | Script-based data flow graph generation method and device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1967521A (en) * | 2005-11-17 | 2007-05-23 | 腾讯科技(深圳)有限公司 | Method for labeling computer resource and system therefor |
GB0709105D0 (en) * | 2007-05-11 | 2007-06-20 | Univ Leicester | Debugging tool |
CN110069892A (en) * | 2019-05-08 | 2019-07-30 | 山东浪潮人工智能研究院有限公司 | A kind of FPGA pin assignment design method and device |
-
2019
- 2019-08-26 CN CN201910793109.8A patent/CN110489297B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1967521A (en) * | 2005-11-17 | 2007-05-23 | 腾讯科技(深圳)有限公司 | Method for labeling computer resource and system therefor |
GB0709105D0 (en) * | 2007-05-11 | 2007-06-20 | Univ Leicester | Debugging tool |
CN110069892A (en) * | 2019-05-08 | 2019-07-30 | 山东浪潮人工智能研究院有限公司 | A kind of FPGA pin assignment design method and device |
Also Published As
Publication number | Publication date |
---|---|
CN110489297A (en) | 2019-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110489297B (en) | FPGA debugging signal setting method based on graphical interface | |
US9760347B2 (en) | Method and system to identify GUI objects for non-markup-language-presented applications | |
JPS61223941A (en) | Method for storing and retrieving chemical structure | |
US6851089B1 (en) | Software application and associated methods for generating a software layer for structuring semistructured information | |
US20040268257A1 (en) | Method, apparatus, and system for providing multi-language character strings within a computer | |
US7093207B1 (en) | Data analysis flow engine | |
US20060259891A1 (en) | System and method of generating an auto-wiring script | |
CN101196963B (en) | Indexing system and method of generic chemical structure | |
CN116028653B (en) | Method and system for constructing map by visually configuring multi-source heterogeneous data | |
US10241899B2 (en) | Test input information search device and method | |
CN116090416B (en) | Standard writing method, system, equipment and medium based on standard knowledge graph | |
CN109558319B (en) | Method and device for testing Web page control and storage medium | |
CN110647573A (en) | Chart visual editing method and system based on database technology | |
CN111506593A (en) | Software system data upgrading method, device, equipment and storage medium | |
CN114116475A (en) | Software debugging method based on log | |
CN112579456B (en) | Web automatic testing method and device | |
CN114594940A (en) | Process project building method based on RPA editor | |
CN102955761A (en) | Size information output system and size information output method | |
CN112597040A (en) | Interface automatic testing method and device and electronic equipment | |
CN116467037B (en) | Graphic user interface work state recovery method | |
US11960380B2 (en) | Debugging SQL statements | |
CN111124548B (en) | Rule analysis method and system based on YAML file | |
CN115248803B (en) | Collection method and device suitable for network disk file, network disk and storage medium | |
CN115795055B (en) | Knowledge graph construction method and device for land use data | |
CN112559318B (en) | Test case generation method and device, electronic equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230626 Address after: 250100 building S02, No. 1036, Langchao Road, high tech Zone, Jinan City, Shandong Province Applicant after: Shandong Inspur Scientific Research Institute Co.,Ltd. Address before: North 6th floor, S05 building, Langchao Science Park, 1036 Langchao Road, hi tech Zone, Jinan City, Shandong Province, 250100 Applicant before: SHANDONG INSPUR ARTIFICIAL INTELLIGENCE RESEARCH INSTITUTE Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |