Lightweight extensible integrated single-machine debugging system and method

By designing a multi-module collaborative processing and combining module, the debugging challenges of multiple FPGAs in complex single-machine debugging are solved, achieving efficient and low-cost simultaneous debugging and real-time monitoring, which is suitable for large-scale multi-board complex single machines.

CN117743160BActive Publication Date: 2026-06-23XIAN INSTITUE OF SPACE RADIO TECH

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
XIAN INSTITUE OF SPACE RADIO TECH
Filing Date
2023-12-18
Publication Date
2026-06-23

AI Technical Summary

Technical Problem

Existing technologies require multiple simulators and connecting cables when debugging complex single machines, making it difficult to locate problems and impossible to monitor the internal status of the product in real time. Moreover, only one FPGA can be debugged at a time.

Method used

A lightweight, scalable, integrated stand-alone debugging system is adopted, which enables simultaneous debugging of different monitoring objects through the collaborative processing of multiple ports and modules. The debugging information of multiple FPGAs is merged and transmitted to Ethernet using a combiner module, and communicates with ground debugging equipment through a ground interface module.

Benefits of technology

Simultaneous debugging of multiple FPGAs is achieved, reducing hardware requirements and costs, and enabling real-time monitoring of the internal operation of multiple monitored modules, thus improving debugging efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117743160B_ABST
    Figure CN117743160B_ABST
Patent Text Reader

Abstract

The application discloses a lightweight extensible integrated single-machine debugging system and method, wherein all debugging information is converted into serial data and output to a ground interface through a debugging module and a combining module, and meanwhile, serial data input by the ground interface is output to each monitored module through the combining module and the debugging module. The ground part outputs to each developer through a ground debugging device, and meanwhile, debugging input information is output to a ground interface of a product on a satellite. The application realizes simultaneous debugging of different monitoring objects through cooperative processing between multiple ports and multiple modules.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a lightweight, scalable, integrated stand-alone debugging system and method, belonging to the field of complex stand-alone debugging technology. Background Technology

[0002] Debugging is an essential part of product development. Currently, one debugging method involves adding an ILA module to monitor the signals of interest, followed by synthesis, placement and routing, generating binary files, and finally downloading them to the FPGA via a simulator to observe the signal waveforms and locate problems. This method can only debug one FPGA at a time and requires a simulator. A more convenient and efficient method than adding an ILA module for signal monitoring is using the processor's pre-installed debug lines. Another method involves transmitting and receiving the necessary debugging information via these pre-installed debug lines. This method requires one transmit and one receive line for each programmable device.

[0003] The first of the two existing technologies presents several drawbacks. The first method, with its increasing number of components and the scale of the running software, requires a large number of simulators, making problem localization more difficult and time-consuming. Compared to a single FPGA, debugging dozens of FPGAs in a complex single machine requires dozens of simulators and takes dozens of times longer. Furthermore, after product packaging, it's impossible to proactively monitor the internal state of the product in real time and locate corresponding problems. The second method requires each programmable device to have a dedicated transmit and receive cable and can only be used by one developer at a time. Similarly, this method is typically unusable for continued debugging and monitoring after product packaging. Summary of the Invention

[0004] The technical problem solved by this invention is to overcome the shortcomings of the prior art and propose a lightweight, scalable, integrated single-machine debugging system and method, which enables simultaneous debugging of different monitoring objects through collaborative processing between multiple ports and multiple modules.

[0005] The technical solution of this invention is:

[0006] A lightweight, scalable, integrated stand-alone debugging system includes several debugging modules, a combining module, and a ground interface module located on a satellite, and debugging equipment located on the ground.

[0007] Each of the aforementioned debugging modules is placed at a preset point on a single machine and connected to several monitored modules;

[0008] The combining module connects all the debugging modules, converts the debugging information sent by each debugging module into serial data and outputs it to the ground interface module, and decomposes the debugging input information input from the ground interface and sends it to each debugging module.

[0009] The ground-based debugging equipment receives data sent by the ground interface module and sends the generated debugging input information to the ground interface module.

[0010] Preferably, the debugging module includes a buffer unit, an encoding unit, and a decoding unit;

[0011] The buffer unit includes a transmit buffer and a receive buffer. The data sent by the monitored module is added with debug frame format header information and synchronization preamble to form debug frame format data, which is then stored in the transmit buffer. The buffer unit stores the data sent by the decoding unit in the receive buffer.

[0012] The decoding unit performs Manchester decoding on the received data, then performs synchronization detection on the decoded data, removes the synchronization preamble from the data detected as debugging information, and sends it to the corresponding buffer unit according to the destination port number carried by the data.

[0013] The encoding unit reads data conforming to the debug frame format from the transmission buffer, performs Manchester encoding, and then sends it to the combiner module.

[0014] Preferably, the transmission frame format includes a synchronization preamble, a header information code, and an information code;

[0015] The synchronization preamble is used to identify the data type, and the synchronization preamble value is agreed upon for debug data;

[0016] The header information code includes a start code, a source port number, and a destination port number; the start code is used to identify the beginning of valid data; the source port number and the destination port number are the port numbers of the debugging module;

[0017] The information code is the data information to be transmitted.

[0018] Preferably, the decoding unit performs synchronization detection on the decoded data. When a pre-defined synchronization field is detected in the data, it indicates that debugging information has been input, and the data is identified as debugging data.

[0019] Preferably, when the data length of the buffer area sent by the buffer unit or the data transmission interval is greater than the set corresponding threshold, data is sent to the combining module.

[0020] Preferably, a counter is used to count the length of the data packet, which is used to monitor the space in the buffer area of ​​the cache unit and form a data access indication signal. The monitored module reads the data in the corresponding cache according to the data access indication signal for subsequent debugging information interaction processing.

[0021] Preferably, the decoding unit reads the destination port number information from the received data. If the destination port number is inconsistent with the port number of the debugging module, the received data is discarded; otherwise, the data is sent to the buffer unit.

[0022] Preferably, the combining module receives data from each debugging module, performs Manchester decoding, removes the synchronization preamble, stores the data in the corresponding FIFO, and records the number of data packets received by the interface; it reads the corresponding FIFO according to the number of data packets received by the interface, adds the synchronization preamble, performs Manchester encoding, and then sends it to the ground interface module.

[0023] A lightweight, scalable, integrated standalone debugging method, applied in a debugging system, includes:

[0024] The ground interface module receives debugging input data sent from the ground, and the combining module processes the data serially and in parallel before distributing it. Each debugging module receives the distributed data, performs Manchester decoding, and then performs synchronization detection. After detecting the synchronization header, the synchronization preamble is removed, and the data is stored in the corresponding buffer according to the destination port number. The monitored module reads the data in the corresponding buffer and completes the uplink transmission of debugging information.

[0025] The monitored module sends data to the debugging module, which adds debugging frame format header information and synchronization preamble to the data and stores it in the transmission buffer. Data conforming to the debugging frame format is read from the transmission buffer, Manchester encoded, and then sent to the combiner module. The combiner module performs Manchester decoding, removes the synchronization preamble, stores the data in the corresponding FIFO, and records the number of data packets received by the interface. Based on the number of data packets received by the interface, the module reads the corresponding FIFO, adds the synchronization preamble, performs Manchester encoding, and then sends it to the ground interface module. The ground interface module transmits the data to the ground debugging equipment.

[0026] The advantages of this invention compared to the prior art are:

[0027] (1) The present invention merges and transmits the debugging information of multiple monitored FPGA modules to Ethernet through a combining module, so that software team members can take what they need and debug synchronously.

[0028] (2) This invention enables simultaneous debugging of different monitored objects by setting different port numbers. During the debugging process, the internal operation of multiple monitored FPGA modules can be understood at the same time.

[0029] (3) The debugging interface of this invention only requires 1 receive and 1 transmit, with low hardware cost. Attached Figure Description

[0030] Various other advantages and benefits will become apparent to those skilled in the art upon reading the following detailed description of preferred embodiments. The accompanying drawings are for illustrative purposes only and are not intended to limit the invention. Furthermore, the same reference numerals denote the same parts throughout the drawings. In the drawings:

[0031] Figure 1 This is a schematic diagram of the debugging system designed for this invention;

[0032] Figure 2 This is a schematic diagram of the receiving section designed for this invention;

[0033] Figure 3 This is a schematic diagram of the transmitting section designed for this invention;

[0034] Figure 4 This is a schematic diagram of the multi-module, multi-port collaborative processing design of the present invention;

[0035] Figure 5 This is a schematic diagram of the combining module designed for this invention. Detailed Implementation

[0036] Exemplary embodiments of the present disclosure will now be described in more detail with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.

[0037] This invention proposes a lightweight, scalable, integrated stand-alone debugging system and method, which is applied in the stand-alone debugging, joint testing, and testing phases with debugging information output capabilities, and is especially suitable for large-scale, multi-board complex stand-alone machines.

[0038] The debugging system is as follows Figure 1 As shown, data is filtered and split by port number, and the corresponding data frame header is formed according to the port corresponding to the monitored object to achieve simultaneous debugging of different monitored objects. Debugging data between different monitored FPGA modules is transmitted to a specific FPGA via backplane lines, and finally, the debugging data of multiple FPGAs is combined and output through a combiner module, achieving the goal of completing the debugging work with fewer data lines.

[0039] The debugging method is as follows:

[0040] (1) In the receiving section, the data is first decoded using Manchester encoding. 01 is decoded as 0 and 10 is decoded as 1. Using Manchester encoding and decoding has self-synchronization and good anti-interference capabilities, which can ensure data synchronization between the sending and receiving ends.

[0041] (2) After decoding, synchronization detection is performed. Synchronization detection is performed based on pre-agreed fixed fields. When the agreed synchronization field appears, it indicates that debugging information has been input. No further processing is performed at other times.

[0042] (3) After detecting the synchronization header, remove the synchronization preamble and receive valid information. After successful synchronization, the synchronization preamble ends its task, and the valid debugging information is received and stored for subsequent processing.

[0043] (4) Store the valid information into the corresponding cache according to the destination port number in the valid information header.

[0044] The destination port number is uniformly planned and allocated based on the usage of each debugging module within the entire single machine. Different debugging modules have different destination port numbers, and the debugging module only processes debugging information whose destination port number is consistent with its own port number.

[0045] When storing information, a counter is used to count the length of the packet, which is used to monitor the space in the cache and generate a data access indication signal.

[0046] (5) The monitored module reads the data from the corresponding buffer according to the data access indication signal, completing the uplink transmission of debugging information. The transmission frame format is shown in Table 1, and the receiving part processing block diagram is shown in Table 1. Figure 2 As shown, after the monitored module detects that the data access indication signal is valid, it reads the debugging information from the corresponding cache and performs subsequent processing.

[0047] Table 1 Transmission Frame Format Table

[0048]

[0049] (6) In the sending part, after the monitored module sends data into the corresponding cache, if the length of the data stored in the cache or the data sending interval is greater than the set threshold, and there is data in the cache, then it will be sent once.

[0050] (7) Read out the data according to the length of the stored data or the transmission interval, add the debug frame format header information and the synchronization preamble, and then store it in the packet buffer to be sent.

[0051] (8) Read data conforming to the debug frame format from the transmit buffer, perform Manchester encoding, and then transmit it. The transmit processing flowchart is as follows: Figure 3 As shown. A debug information header is added to determine the data source after subsequent reception, and a synchronization preamble is added for the combining module to perform combining processing.

[0052] (9) After each debugging module sends its data in step (8), the debugging information is aggregated on the designated processor, then processed by the combining module before being output to the outside. The combining module processes the data as follows: Figure 5As shown, after receiving data, Manchester decoding is performed first. The decoded data is then stored in the FIFO of the corresponding input interface, and the number of data packets received by that interface is recorded. The corresponding FIFO is read based on the number of data packets received by the interface, and finally, the read data is Manchester encoded and sent.

[0053] The debugging method will be explained in detail through examples:

[0054] (1) Schematic diagram of the debugging system is shown below Figure 1 As shown, it is divided into an on-board section and a ground section. The on-board section converts all debugging information into serial data and outputs it to the ground interface through the debugging module and the combining module. Simultaneously, it outputs the serial data input from the ground interface to each monitored module through the combining module and the debugging module. The ground section outputs debugging information to the developers through ground debugging equipment and Ethernet switches. Simultaneously, it outputs the debugging input information generated by the developers to the ground interface of the on-board product through the Ethernet switch and the ground debugging equipment. The receiving section processing block diagram is shown below. Figure 2 As shown. In the receiving section, the debugging data is sent to each debugging module using a serial 1-to-n method. After receiving the data, the debugging module first performs Manchester decoding, decoding 01 as 0 and 10 as 1.

[0055] (2) After decoding in step (1), perform synchronization detection. Set the length of the synchronization preamble to 8 bytes, with the high 7 bytes being x”55 and the low 1 byte being x”D5.

[0056] (3) After detecting the synchronization header in step (2), remove the synchronization preamble and receive valid information.

[0057] (4) Following step (3), the valid information is stored in the cache corresponding to the destination port number based on the destination port number in the valid information header. If the port number of the current debugging module does not match the destination port number of the debugging information, the information is discarded. During information storage, a counter is used to count the packet length, which is used to monitor the space in the cache and generate a data access indication signal. The multi-module, multi-port collaborative processing block diagram is shown below. Figure 4 As shown, each debugging module can interact with multiple monitored modules to complete status monitoring. The combined module then processes the data to reduce the need for a ground interface, thus lowering hardware costs. Each monitored module can periodically send status telemetry data to the ground interface, receive remote control information from the ground interface, and generate corresponding status telemetry data based on the debugging information received from the ground interface, which is then output to the ground interface.

[0058] (5) Based on step (4), the monitored module reads the data in the corresponding cache according to the data access instruction signal, performs subsequent debugging information interaction processing, and completes the uplink transmission of debugging information.

[0059] (6) The flowchart of the sending part is as follows: Figure 3 As shown. In the transmission section, the transmitted data of the monitored module is first stored in the corresponding buffer, and the length of the data stored in the buffer and the data transmission interval are counted.

[0060] (7) Based on step (6), when the length of the data stored in the buffer is greater than 1024 bytes or the time interval is greater than 4ms and there is data in the buffer, read out the data and add the debug frame format header information and the synchronization preamble (the high 7 bytes are x”55 and the low 1 byte is x”D5”), and then store it in the packet buffer to be sent.

[0061] (8) After step (7), the data that conforms to the debugging frame format is read from the sending buffer, then Manchester encoded and sent. Bit 0 is encoded as 01 and bit 1 is encoded as 10.

[0062] (9) After each debugging module sends data through step (8), the debugging information is collected in the combining module. After receiving the data, the combining module first performs Manchester decoding and removes the preamble. Then, it stores the data after removing the preamble into the corresponding FIFO and records the number of data packets received by the interface. Based on the number of data packets received by the interface, it reads the corresponding FIFO, adds the preamble, and finally performs Manchester encoding on the data with the added preamble before sending it.

[0063] The embodiments described above are merely preferred embodiments of the present invention. Ordinary variations and substitutions made by those skilled in the art within the scope of the technical solution of the present invention should be included within the protection scope of the present invention.

Claims

1. A lightweight, scalable, integrated stand-alone debugging system, characterized in that, This includes several debugging modules, combining modules, and ground interface modules located on the satellite, as well as debugging equipment located on the ground. Each of the aforementioned debugging modules is placed at a preset point on a single machine and connected to several monitored modules; The combining module connects all the debugging modules, converts the debugging information sent by each debugging module into serial data and outputs it to the ground interface module, and decomposes the debugging input information input from the ground interface and sends it to each debugging module. The ground debugging equipment receives data sent by the ground interface module and sends the generated debugging input information to the ground interface module. The debugging module includes a caching unit, an encoding unit, and a decoding unit; The buffer unit includes a transmit buffer and a receive buffer. The data sent by the monitored module is added with debug frame format header information and synchronization preamble to form debug frame format data, which is then stored in the transmit buffer. The buffer unit stores the data sent by the decoding unit into the receiving buffer. The decoding unit performs Manchester decoding on the received data, then performs synchronization detection on the decoded data, removes the synchronization preamble from the data detected as debugging information, and sends it to the corresponding buffer unit according to the destination port number carried by the data. The encoding unit reads data conforming to the debug frame format from the transmission buffer, performs Manchester encoding, and then sends it to the combiner module; The transmission frame format includes a synchronization preamble, header information code, and information code; The synchronization preamble is used to identify the data type, and the synchronization preamble value is agreed upon for debug data; The header information code includes a start code, a source port number, and a destination port number; the start code is used to identify the beginning of valid data; the source port number and the destination port number are the port numbers of the debugging module; The information code is the data information to be transmitted; The decoding unit reads the destination port number information from the received data. If the destination port number does not match the port number of the debugging module, the received data is discarded. Otherwise, send the data to the cache unit; The combining module receives data from each debugging module, performs Manchester decoding, removes the synchronization preamble, stores the data in the corresponding FIFO, and records the number of data packets received by the interface. Based on the number of data packets received by the interface, it reads the corresponding FIFO, adds the synchronization preamble, performs Manchester encoding, and then sends it to the ground interface module.

2. The lightweight, scalable, integrated stand-alone debugging system according to claim 1, characterized in that, The decoding unit performs synchronization detection on the decoded data. When the data shows a pre-defined synchronization field, it indicates that debugging information has been input, and the data is identified as debugging data.

3. The lightweight, scalable, integrated stand-alone debugging system according to claim 1, characterized in that, When the length of data sent from the buffer area or the interval between data transmissions exceeds the set threshold, the data is sent to the combining module.

4. The lightweight, scalable, integrated stand-alone debugging system according to claim 1, characterized in that, The length of the data packet is used to monitor the space in the buffer area of ​​the cache unit, forming a data access indication signal. The monitored module reads the data in the corresponding cache according to the data access indication signal, which is used for subsequent debugging information interaction processing.

5. A lightweight, scalable, integrated stand-alone debugging method, applied to the debugging system described in claim 1, characterized in that, include: The ground interface module receives debugging input data sent from the ground, and the combining module processes the data serially and in parallel before distributing it. Each debugging module receives the distributed data, performs Manchester decoding, then performs synchronization detection. After detecting the synchronization header, it removes the synchronization preamble and stores the data into the corresponding buffer according to the destination port number. The monitored module reads the data from the corresponding cache and completes the uplink transmission of debugging information; The monitored module sends data to the debugging module, which adds debugging frame format header information and synchronization preamble to the data and stores it in the transmission buffer; the data conforming to the debugging frame format is read from the transmission buffer, Manchester encoded, and then sent to the combiner module. After the combining module performs Manchester decoding and removes the synchronization preamble, it stores the data in the corresponding FIFO and records the number of data packets received by the interface. Based on the number of data packets received by the interface, it reads the corresponding FIFO, adds the synchronization preamble, performs Manchester encoding, and then sends it to the ground interface module. The ground interface module transmits data to the ground debugging equipment.