A simulation system for simulating communication baseband systems

By introducing a driver adaptation module between the communication software simulator and the communication algorithm simulator, the data definition is automatically converted, solving the problem of needing to develop additional code for data interaction under heterogeneous architectures, and achieving more efficient simulation testing.

CN119201333BActive Publication Date: 2025-10-31SHANGHAI XINJIXUN COMM TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411043774.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2024-02-18
Filing Date
2024-07-31
Publication Date
2025-10-31
Estimated Expiration
2044-07-31

AI Technical Summary

Technical Problem

In existing technologies, the heterogeneous architecture of communication baseband systems in simulation testing requires the development of additional conversion code for the data interaction process between the communication software simulator and the algorithm accelerator simulator, which increases development costs.

Method used

A driver adaptation module was designed to automatically convert data definitions, including register definitions and parameter definitions, between the communication software simulator and the communication algorithm simulator, reducing the need for additional code writing.

Benefits of technology

It reduced development costs, improved data interaction efficiency, and simplified the simulation and testing process of communication baseband systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119201333B_ABST
    Figure CN119201333B_ABST
Patent Text Reader

Abstract

This invention relates to the field of computer simulation technology, specifically to a simulation system for simulating a communication baseband system. The system includes: a communication software simulator that generates a virtual operating system in which the communication software under test runs; a communication algorithm simulator that incorporates a virtual accelerator chip for performing calculations on the tasks to be processed by the communication software under test; and a driver adaptation module connected to both the communication software simulator and the communication algorithm simulator. The advantage is that during the process of the communication software simulator and the communication algorithm simulator outputting corresponding data to the other end, the system automatically acquires the corresponding data and converts it between parameter definitions and register definitions before transmitting it to the other end for processing. This process is automatically handled by the driver adaptation module, which automatically acquires the definitions and generates the corresponding interfaces, eliminating the need for additional code and reducing development costs.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of computer simulation technology, and more specifically to a simulation system for simulating a communication baseband system. Background Technology

[0002] Modern communication baseband chips typically employ a general-purpose processor + dedicated accelerator architecture. The general-purpose processor (such as ARM / DSP) runs communication software, performing complex protocol processing and multi-task scheduling, and driving various accelerator modules for data computation. Dedicated accelerators are a series of specialized ASIC modules that execute specific signal / data processing algorithms. Verification and testing of communication baseband chips is a massive and complex undertaking, with the testing and verification of communication software and algorithms being crucial components. While communication software and algorithms typically have numerous unit test cases constructed for functional verification, an integrated test scheme is also needed to cover the communication process, hardware / software interfaces, and timing. Complete coverage of the communication protocol usually requires tens of thousands of test cases, placing high demands on the cost and efficiency of the testing system.

[0003] In existing technologies, simulation testing of the entire communication baseband system mainly includes simulation of the communication software and simulation of the algorithm accelerator. The communication software primarily runs on an operating system virtualized by a simulator. It is built using programming languages ​​such as VC++ and runs in a virtualized environment. It can receive external stimuli, execute corresponding operations according to a predetermined process, and exchange data and perform service scheduling with external functional modules, especially the algorithm accelerator, thereby achieving its intended functions. The simulation of the algorithm accelerator is typically implemented using simulation platforms like Matlab. It also has corresponding interfaces to receive external data, be scheduled by external modules to perform corresponding computational processing, and provide feedback on the computational results. Both sets of simulators are ultimately run on the same computer device for simulation and interaction, thereby achieving overall system verification.

[0004] However, during actual implementation, the inventors discovered that the two simulator components used heterogeneous architectures, such as a combination of VC++ and Matlab. In this architecture, the software running in the virtualization environment schedules the algorithm accelerator through register reads and writes, consistent with the real machine environment; while the simulated algorithm accelerator exchanges parameters. This makes the interaction between the two relatively difficult, requiring developers to write additional conversion code for interaction. Summary of the Invention

[0005] In view of the above-mentioned problems in the prior art, a simulation system for simulating communication baseband systems is provided.

[0006] The specific technical solution is as follows:

[0007] A simulation system for simulating a communication baseband system, comprising:

[0008] A communication software simulator, wherein the communication software simulator generates a virtual operating system, and the communication software to be tested runs in the virtual operating system;

[0009] A communication algorithm simulator, wherein the communication algorithm simulator is equipped with a virtual accelerator chip, the virtual accelerator chip being used to perform calculations on the tasks to be processed by the communication software under test;

[0010] A driver adaptation module, which is connected to both the communication software simulator and the communication algorithm simulator;

[0011] When the communication software under test schedules the virtual accelerator chip to perform calculations, the driver adaptation module obtains the first data output by the communication software simulator and parses the register definition corresponding to the communication software under test from the first data;

[0012] The driver adaptation module converts the register definition into a parameter definition corresponding to the virtual accelerator chip to obtain the second data, and then transmits the second data to the communication algorithm simulator;

[0013] When the virtual accelerator chip returns the calculation result to the communication software under test, the driver adaptation module obtains the third data output by the communication algorithm simulator and parses the parameter definition from the third data;

[0014] The driver adaptation module converts the parameter definition into the register definition to obtain the fourth data, and then transmits the fourth data to the communication software simulator.

[0015] On the other hand, the communication software simulator is equipped with a first interface information output module, which extracts the software interface of the communication software under test and generates the register definition.

[0016] The first interface information output module sends the register definition to the driver adaptation module;

[0017] The communication algorithm simulator is equipped with a second interface information output module, which extracts the chip interface of the virtual accelerator chip and generates the parameter definition.

[0018] The second interface information output module sends the parameter definition to the driver adaptation module.

[0019] On the other hand, the driver adaptation module includes:

[0020] A register acquisition module reads the register position in the first data corresponding to the register definition according to the register definition, and obtains the register data.

[0021] A data unpacking module is connected to the register acquisition module. The data unpacking module unpacks the register data according to the parameter definition to obtain the second data.

[0022] On the other hand, the driver adaptation module includes:

[0023] A data parsing module receives the third data and parses the variable values ​​from the third data.

[0024] A data packaging module, which is connected to the data parsing module, packages the variable values ​​to form the fourth data.

[0025] On the other hand, the driver adaptation module includes:

[0026] The software scanning module is connected to both the communication software simulator and the communication algorithm simulator.

[0027] The software scanning module scans the first program file in the communication software simulator corresponding to the communication software under test, and the second program file in the communication algorithm simulator corresponding to the virtual accelerator chip.

[0028] When the first program file or the second program file is changed, the software scanning module controls the first interface information output module to update the register definition, or controls the second interface information output module to update the parameter definition.

[0029] On the other hand, the simulation system also includes:

[0030] A testing module is connected to the communication software simulator. The testing module generates and sends external stimuli to the communication software simulator according to the test items to achieve the testing of the communication software under test.

[0031] On the other hand, the communication algorithm simulator includes:

[0032] The first process handshake module generates a first start signal after the communication algorithm simulator is initialized;

[0033] The driver adaptation module includes:

[0034] The second process handshake module controls the driver adaptation module to start after receiving the first start signal, and generates a second start signal after the driver adaptation module is initialized.

[0035] The communication software simulator includes:

[0036] The third process handshake module controls the communication software simulator to start after receiving the second start signal.

[0037] On the other hand, the communication software simulator includes a first timing module, and the communication algorithm simulator includes a second timing module;

[0038] When the communication software simulator is configured in timing master mode, the first timing module sends a first clock signal to the second timing module, and the second timing module generates timing information according to the first clock signal.

[0039] When the communication software simulator is configured in timed slave mode, the second timer module sends a second clock signal to the first timer module, and the first timer module generates the timing information according to the first clock signal.

[0040] The above technical solution has the following advantages or beneficial effects:

[0041] To address the issue of high development costs associated with the additional development of conversion code required during data interaction in existing hybrid architecture simulation systems, this embodiment constructs a driver adaptation module for both the communication software simulator and the communication algorithm simulator. This module automatically acquires the corresponding data and converts it between parameter and register definitions during the data output from the communication software simulator and the communication algorithm simulator to the other end, before transmitting it to the other end for processing. This process is automatically performed by the driver adaptation module, which automatically obtains the definitions and generates the corresponding interfaces, eliminating the need for additional code writing and reducing development costs. Attached Figure Description

[0042] Embodiments of the invention will be described more fully with reference to the accompanying drawings. However, the drawings are for illustration and explanation only and do not constitute a limitation on the scope of the invention.

[0043] Figure 1 This is an overall schematic diagram of an embodiment of the present invention;

[0044] Figure 2 This is a schematic diagram of the interface information output module in an embodiment of the present invention;

[0045] Figure 3 This is a schematic diagram of the register acquisition module in an embodiment of the present invention;

[0046] Figure 4 This is a schematic diagram of the data parsing module in an embodiment of the present invention;

[0047] Figure 5 This is a schematic diagram of the software scanning module in an embodiment of the present invention;

[0048] Figure 6 This is a schematic diagram of the test module in an embodiment of the present invention;

[0049] Figure 7 This is a schematic diagram of the process handshake module in an embodiment of the present invention;

[0050] Figure 8 This is a schematic diagram of the timing module in an embodiment of the present invention. Detailed Implementation

[0051] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0052] It should be noted that, unless otherwise specified, the embodiments and features described in the present invention can be combined with each other.

[0053] The present invention will be further described below with reference to the accompanying drawings and specific embodiments, but this is not intended to limit the scope of the invention.

[0054] This invention includes:

[0055] A simulation system for simulating communication baseband systems, such as Figure 1 As shown, it includes:

[0056] Communication software simulator 1 generates a virtual operating system, in which the communication software to be tested 1A runs;

[0057] Communication algorithm simulator 2, which is equipped with virtual accelerator chip 2A, is used to perform calculations on the tasks to be processed by the communication software 1A under test.

[0058] Driver adapter module 3 is connected to communication software simulator 1 and communication algorithm simulator 2 respectively;

[0059] When the communication software under test 1A schedules the virtual accelerator chip 2A to perform calculations, the driver adaptation module 3 obtains the first data output by the communication software simulator 1, and parses the register definition corresponding to the communication software under test 1A from the first data;

[0060] The driver adaptation module 3 converts the register definition into the parameter definition corresponding to the virtual accelerator chip 2A to obtain the second data, and then transmits the second data to the communication algorithm simulator 2;

[0061] When the virtual accelerator chip 2A returns the calculation result to the communication software under test 1A, the driver adaptation module 3 obtains the third data output by the communication algorithm simulator 2 and parses the parameter definition from the third data;

[0062] The driver adapter module 3 converts the parameter definition into a register definition to obtain the fourth data, and then passes the fourth data to the communication software simulator 1.

[0063] Specifically, addressing the issue of high development costs associated with the additional development of conversion code required during data interaction in existing hybrid architecture simulation systems, this embodiment constructs a driver adaptation module 3 for the communication software simulator 1 and the communication algorithm simulator 2. During the process of the communication software simulator 1 and the communication algorithm simulator 2 outputting corresponding data to the other end, this driver adaptation module 3 acquires the corresponding data and automatically converts it between parameter definitions and register definitions before transmitting it to the other end for processing. This process is automatically defined and the corresponding interface is generated by the driver adaptation module 3, eliminating the need for additional code writing and reducing development costs.

[0064] In one embodiment, such as Figure 2 As shown, the communication software simulator 1 is equipped with a first interface information output module 11, which extracts the software interface of the communication software 1A under test and generates register definitions.

[0065] The first interface information output module 11 sends register definitions to the driver adaptation module 3;

[0066] The communication algorithm simulator 2 is equipped with a second interface information output module 21, which extracts the chip interface of the virtual accelerator chip 2A and generates parameter definitions.

[0067] The second interface information output module 21 sends parameter definitions to the driver adaptation module 3.

[0068] Specifically, to achieve better automatic conversion, in this embodiment, a first interface information output module 11 is provided in the communication software simulator 1, and a second interface information output module 21 is provided in the communication algorithm simulator 2. When the communication software under test 1A is configured in the communication software simulator 1, the first interface information output module 11 extracts the software interface part used for input and output data in the communication software under test 1A and determines the corresponding register location, thereby generating the corresponding register definition. Similarly, when the second interface information output module 21 is configured in the communication algorithm simulator 2, the second interface information output module 21 extracts the chip interface of the virtual accelerator chip 2A and generates the parameter definition corresponding to each interface. After obtaining the register definition and parameter definition, the driver adaptation module 3 establishes a corresponding mapping relationship between the two, so that when receiving register data, it can convert it into the corresponding parameter variable; or when receiving parameter variable, it can convert it into register address and written data.

[0069] In one embodiment, such as Figure 3 As shown, the driver adaptation module 3 includes:

[0070] Register acquisition module 31 reads the register position corresponding to the register definition in the first data according to the register definition, and obtains the register data.

[0071] The data unpacking module 32 is connected to the register acquisition module 31. The data unpacking module 32 unpacks the register data according to the parameter definition to obtain the second data.

[0072] Specifically, after the communication software simulator 1 sends the first data, the register acquisition module 31 reads the first data according to the pre-configured register definition. This allows it to obtain the register location configured in the register definition and the register data at that location. This register data is the data that needs to be transmitted to the virtual accelerator 2A. Subsequently, the data unpacking module 32 unpacks the register data according to the parameter definition, configures the corresponding parameter definition, and thus obtains the second data that can be input into the communication algorithm simulator 2.

[0073] like Figure 4 As shown, the driver adaptation module 3 also includes:

[0074] Data parsing module 33 receives third data and parses the variable values ​​from the third data;

[0075] The data packaging module 34 is connected to the data parsing module 33. The data packaging module 34 packages the variable values ​​to form the fourth data.

[0076] Specifically, after the communication algorithm simulator 2 sends out the third data, the data parsing module receives the third data and parses the variable values ​​from the third data according to the parameter definitions. Each variable value has a corresponding parameter definition. Subsequently, the data packaging module 34 packages the variable values ​​according to the register definitions. Based on the correspondence between the parameter definitions and register definitions, the variable values ​​are assigned as register data to the corresponding addresses to form the fourth data.

[0077] In one embodiment, such as Figure 5 As shown, the driver adaptation module 3 includes:

[0078] Software scanning module 35 is connected to communication software simulator 1 and communication algorithm simulator 2 respectively;

[0079] The software scanning module 35 scans the first program file corresponding to the communication software 1A under test in the communication software simulator 1, and the second program file corresponding to the virtual accelerator chip 2A in the communication algorithm simulator 2, respectively.

[0080] When the first program file or the second program file is changed, the software scanning module 35 controls the first interface information output module 11 to update the register definition, or controls the second interface information output module 21 to update the parameter definition.

[0081] Specifically, to achieve automatic updates of relevant definitions, in this embodiment, a software scanning module 35 is provided in the driver adaptation module 3. The software scanning module 35 can detect the communication software simulator 1 and the communication algorithm simulator 2 respectively, and obtain the first program file corresponding to the communication software 1A under test and the second program file corresponding to the virtual accelerator chip 2A. It is easy to determine whether the first program file or the second program file has been changed based on information such as file size and modification time. If a change has occurred, a corresponding enable signal is generated to the first interface information output module 11, thereby causing the first interface information output module 11 to rescan the file to update the register definition, or causing the second interface information output module 21 to rescan the file to update the parameter definition, thereby realizing the automatic update of the interface.

[0082] In one embodiment, such as Figure 6 As shown, the simulation system also includes:

[0083] Test module 4 is connected to communication software simulator 1. Test module 4 generates and sends external stimuli to communication software simulator 1 according to the test items in order to realize the test of communication software 1A under test.

[0084] Specifically, to simulate the communication software under test, a test module 4 is also set up in the simulation system in this embodiment. This test module 4 stores a large number of test cases for testing the communication software under test. When testing is required, the test module 4 can read the corresponding test cases and generate corresponding external stimulus inputs to the communication software simulator 1. The communication software simulator 1 can then transmit external stimuli to the communication software under test 1A according to the corresponding virtualization interface, thereby realizing the testing process of the communication software under test.

[0085] In one embodiment, such as Figure 7 As shown, the communication algorithm simulator 2 includes:

[0086] The first process handshake module 22 generates a first start signal after the communication algorithm simulator 2 is initialized;

[0087] Driver adapter module 3 includes:

[0088] The second process handshake module 36 controls the driver adaptation module 3 to start after receiving the first start signal, and generates the second start signal after the driver adaptation module is initialized.

[0089] Communication software simulator 1 includes:

[0090] The third process handshake module 12 controls the communication software simulator 1 to start after receiving the second start signal.

[0091] Specifically, to achieve better process correlation among the three modules mentioned above, in this embodiment, corresponding process handshake modules are configured for the three sets of processes: communication algorithm simulator 2, driver adaptation module 3, and communication software simulator 1, for data transfer between different processes. Typically, driver adaptation module 3 needs to monitor the processes of communication algorithm simulator 2 and communication software simulator 1 to obtain the corresponding first or third data. Therefore, communication algorithm simulator 2, driver adaptation module 3, and communication software simulator 1 need to start, initialize, and handshake sequentially according to their respective timing sequences. By configuring the first process handshake module 22, second process handshake module 36, and third process handshake module 12 to detect the running status of the corresponding modules and generate corresponding start signals after initialization, a correct monitoring relationship can be established between the processes of the three modules, facilitating subsequent data exchange.

[0092] In one embodiment, such as Figure 8 As shown, the communication software simulator 1 includes a first timing module 13, and the communication algorithm simulator 2 includes a second timing module 23;

[0093] When the communication software simulator 1 is configured to timed master mode, the first timed module 13 sends a first clock signal to the second timed module 23, and the second timed module 23 generates timing information according to the first clock signal.

[0094] When the communication software simulator 1 is configured in timed slave mode, the second timer module 23 sends a second clock signal to the first timer module 13, and the first timer module 13 generates timing information according to the first clock signal.

[0095] Specifically, considering that the communication software simulator 1 and the communication algorithm simulator 2 are heterogeneous architectures, their clock frequencies may differ, preventing them from interacting properly. In this embodiment, a first timing module 13 and a second timing module 23 are respectively set in the communication software simulator 1 and the communication algorithm simulator 2, and they transmit a first clock signal or a second clock signal to each other. In actual operation, according to the relevant configuration, the communication software simulator 1 and the communication algorithm simulator 2 can agree to work in timing master mode or timing slave mode respectively. Subsequently, the simulator in timing master mode generates the first timing signal or the second timing signal, so that the other end performs timing according to the received first timing signal or the second timing signal, thereby achieving clock synchronization under the heterogeneous architecture.

[0096] The above are merely preferred embodiments of the present invention and are not intended to limit the implementation methods and protection scope of the present invention. Those skilled in the art should recognize that any equivalent substitutions and obvious changes made based on the description and illustrations of the present invention should be included within the protection scope of the present invention.

Claims

1. A simulation system for simulating a communication baseband system, characterized in that, include: A communication software simulator, wherein the communication software simulator generates a virtual operating system, and the communication software to be tested runs in the virtual operating system; A communication algorithm simulator, wherein the communication algorithm simulator is equipped with a virtual accelerator chip, the virtual accelerator chip being used to perform calculations on the tasks to be processed by the communication software under test; A driver adaptation module, which is connected to both the communication software simulator and the communication algorithm simulator; When the communication software under test schedules the virtual accelerator chip to perform calculations, the driver adaptation module obtains the first data output by the communication software simulator and parses the register definition corresponding to the communication software under test from the first data; The driver adaptation module converts the register definition into a parameter definition corresponding to the virtual accelerator chip to obtain the second data, and then transmits the second data to the communication algorithm simulator; When the virtual accelerator chip returns the calculation result to the communication software under test, the driver adaptation module obtains the third data output by the communication algorithm simulator and parses the parameter definition from the third data; The driver adaptation module converts the parameter definition into the register definition to obtain the fourth data, and then transmits the fourth data to the communication software simulator.

2. The simulation system according to claim 1, characterized in that, The communication software simulator is equipped with a first interface information output module, which extracts the software interface of the communication software under test and generates the register definition. The first interface information output module sends the register definition to the driver adaptation module; The communication algorithm simulator is equipped with a second interface information output module, which extracts the chip interface of the virtual accelerator chip and generates the parameter definition. The second interface information output module sends the parameter definition to the driver adaptation module.

3. The simulation system according to claim 1, characterized in that, The driver adaptation module includes: A register acquisition module reads the register position in the first data corresponding to the register definition according to the register definition, and obtains the register data. A data unpacking module is connected to the register acquisition module. The data unpacking module unpacks the register data according to the parameter definition to obtain the second data.

4. The simulation system according to claim 1, characterized in that, The driver adaptation module includes: A data parsing module receives the third data and parses the variable values ​​from the third data. A data packaging module, which is connected to the data parsing module, packages the variable values ​​to form the fourth data.

5. The simulation system according to claim 2, characterized in that, The driver adaptation module includes: The software scanning module is connected to both the communication software simulator and the communication algorithm simulator. The software scanning module scans the first program file in the communication software simulator corresponding to the communication software under test, and the second program file in the communication algorithm simulator corresponding to the virtual accelerator chip. When the first program file or the second program file is changed, the software scanning module controls the first interface information output module to update the register definition, or controls the second interface information output module to update the parameter definition.

6. The simulation system according to claim 1, characterized in that, The simulation system also includes: A testing module is connected to the communication software simulator. The testing module generates and sends external stimuli to the communication software simulator according to the test items to achieve the testing of the communication software under test.

7. The simulation system according to claim 1, characterized in that, The communication algorithm simulator includes: The first process handshake module generates a first start signal after the communication algorithm simulator is initialized; The driver adaptation module includes: The second process handshake module controls the driver adaptation module to start after receiving the first start signal, and generates a second start signal after the driver adaptation module is initialized. The communication software simulator includes: The third process handshake module controls the communication software simulator to start after receiving the second start signal.

8. The simulation system according to claim 1, characterized in that, The communication software simulator includes a first timing module, and the communication algorithm simulator includes a second timing module; When the communication software simulator is configured in timing master mode, the first timing module sends a first clock signal to the second timing module, and the second timing module generates timing information according to the first clock signal. When the communication software simulator is configured in timed slave mode, the second timer module sends a second clock signal to the first timer module, and the first timer module generates the timing information according to the first clock signal.

Citation Information

Patent Citations

  • Straight-through passage method for system call and conversion for processor emulation model

    CN101187881A

  • Data transmission method, system and device between virtual machine and accelerator

    CN112351089A