WO2024082537A1 - 一种数据传输建模方法、系统、设备及非易失性可读存储介质 - Google Patents

一种数据传输建模方法、系统、设备及非易失性可读存储介质 Download PDF

Info

Publication number
WO2024082537A1
WO2024082537A1 PCT/CN2023/082590 CN2023082590W WO2024082537A1 WO 2024082537 A1 WO2024082537 A1 WO 2024082537A1 CN 2023082590 W CN2023082590 W CN 2023082590W WO 2024082537 A1 WO2024082537 A1 WO 2024082537A1
Authority
WO
WIPO (PCT)
Prior art keywords
transmission request
transmission
control parameters
simulation
initiator
Prior art date
Application number
PCT/CN2023/082590
Other languages
English (en)
French (fr)
Inventor
姜丽云
李树青
孙华锦
王江
王凛
Original Assignee
苏州元脑智能科技有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 苏州元脑智能科技有限公司 filed Critical 苏州元脑智能科技有限公司
Publication of WO2024082537A1 publication Critical patent/WO2024082537A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7825Globally asynchronous, locally synchronous, e.g. network on chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements

Definitions

  • the embodiments of the present application belong to the field of computers, and in particular, relate to a data transmission modeling method, system, device, and non-volatile readable storage medium.
  • SoC System on Chip
  • ESL electronic system level design
  • ESL Electronic System Level
  • TLM Transaction Level Modeling
  • TLM has a higher level of abstraction than RTL. It can quickly establish executable specifications for hardware and quickly create system models based on the initial functional specifications of the system. By adding timing details, the performance of the system can be evaluated and the structure of the system can be explored.
  • SoC System on Chip
  • the module is required to record the notification of received read request/write request information, and also record the information of the initiator of the request, such as the initiator's engine ID, data flow information, priority information, etc., so as to complete the statistics of some specific information, such as counting the bandwidth ratio of different engines accessing the port, so as to optimize the design of the port and system architecture.
  • DDR Double Data Rate
  • the module is required to record the notification of received read request/write request information, and also record the information of the initiator of the request, such as the initiator's engine ID, data flow information, priority information, etc., so as to complete the statistics of some specific information, such as counting the bandwidth ratio of different engines accessing the port, so as to optimize the design of the port and system architecture.
  • the OSCI TLM2.0 (The Transaction Level Modeling standard of the Open System C Initiative, version 2.0 of the Transaction Level Modeling Library released by the OSCI organization) standard provides a unified interface for communication between modules to improve the interoperability between different modules, separates the internal functions of the model from the communication, and designs a relatively common transmission data structure and transmission protocol.
  • the data structure definition specified by the protocol includes: command type, first address, data pointer, data length, byte enable width, response status and other information.
  • other necessary control information of the initiator can also be packaged and uniformly stored in a common transmission data structure during the implementation process, and then transmitted.
  • the present application embodiment proposes a data transmission modeling method, including:
  • the target end receives the transmission request and parses the corresponding multiple control parameters in the transmission request, reads the control parameters according to the configuration strategy, processes the transmission request based on the configuration strategy and the control parameters, and counts the transmission request within a predetermined time. The number of transfer requests processed and the corresponding control parameters;
  • Simulation analysis is performed by counting the number of transmission requests processed within a predetermined time and the corresponding control parameters
  • a new configuration strategy is formulated according to the simulation analysis results and applied to the simulation transmission at the next scheduled time, and the simulation process is repeated until the optimal configuration strategy is obtained.
  • adding multiple control parameters to the transmission request according to the simulation modeling standard at the transmission request initiator includes: adding the number of the above-mentioned initiator as the engine serial number of the initiator to the above-mentioned transmission request.
  • adding multiple control parameters to the transmission request according to the simulation modeling standard at the transmission request initiator includes:
  • a corresponding transmission request unique identifier is generated for each transmission request and added to the transmission request.
  • adding multiple control parameters to the transmission request according to the simulation modeling standard at the transmission request initiator includes:
  • a priority is set for each transmission request, and the priority is added to the transmission request.
  • the method further includes:
  • the target end sorts the priorities of the multiple transmission requests according to the priorities of the transmission requests, and preferentially processes the transmission requests with the highest ranking according to the sorting result.
  • adding multiple control parameters to the transmission request according to the simulation modeling standard at the transmission request initiator includes:
  • a locking flag is set for each transmission request according to the transmission mode of the transmission request, and the locking flag is added to the transmission request.
  • adding multiple control parameters to the transmission request according to the simulation modeling standard at the transmission request initiator includes:
  • a data storage pool is created at the data initiator, and the transmission request of the initiator is managed through the data storage pool; and corresponding control parameters are added to the data storage pool for the transmission request.
  • managing the transmission request of the initiator through the data storage pool includes:
  • the transmission requests in the data storage pool are sorted according to the transmission request priority in the control parameter of the transmission request, and the transmission requests with high priority are preferentially sent to the target end.
  • the unique identifier of the transmission request is an ID serial number parameter of the transmission request.
  • the lock flag is used to indicate whether it is necessary to lock the sending port and the receiving port when the transmission request passes through the sending port of the transmission request initiator and the receiving port of the target.
  • the above method further includes:
  • the storage space storing the transmission request in the data storage pool is released.
  • the above-mentioned adding multiple control parameters to the transmission request at the transmission request initiator according to the simulation modeling standard includes:
  • the above-mentioned multiple control parameters are encapsulated into a new data structure, and the above-mentioned data structure is combined with the general structure in an appended manner to generate a new transmission request.
  • the above-mentioned new configuration strategy is formulated according to the simulation analysis results and the above-mentioned new configuration strategy is applied to the simulation transmission at the next scheduled time, and the simulation process is repeated until the optimal configuration strategy is obtained, including:
  • the above simulation process is repeated at predetermined time intervals until the above analysis results meet the predetermined performance indicators.
  • Another aspect of the present application further provides a data transmission modeling system, including:
  • An initiator configured to add a plurality of control parameters to a transmission request according to a simulation modeling standard, and send the transmission request to which the control parameters are added to a target end;
  • a target end the target end is configured to receive the transmission request and parse a plurality of control parameters corresponding to the transmission request, read the control parameters according to a configuration strategy, process the transmission request based on the configuration strategy and the control parameters, and count the number of transmission requests processed within a predetermined time and the corresponding control parameters;
  • a data analysis module wherein the data analysis module is configured to perform simulation analysis by counting the number of transmission requests processed within a predetermined time and the corresponding control parameters;
  • the simulation control module is configured to formulate a new configuration strategy according to the simulation analysis results of the data analysis module and apply the new configuration strategy to the simulation transmission at the next scheduled time, and repeat the simulation process until the optimal configuration strategy is obtained.
  • the initiator further includes:
  • a data storage pool wherein the data storage pool is configured to manage the transmission request of the initiator.
  • the initiator may be optionally configured as:
  • system further includes:
  • control parameter reset interface configured to reset the engine serial number parameter of the initiator, reset the unique identification parameter of the transmission request, reset the priority information parameter of the transmission request, and reset the lock flag of the corresponding transmission request;
  • the control parameter setting interface is configured to set the engine serial number parameter of the initiator, set the unique identification parameter of the transmission request, set the priority information parameter of the corresponding transmission request, and set the lock flag of the corresponding transmission request.
  • system further includes:
  • the control parameter query interface is configured to obtain the engine serial number parameter of the initiator, obtain the unique identification parameter of the transmission request, obtain the priority information parameter of the corresponding transmission request, and obtain the lock flag of the corresponding transmission request transmission.
  • Another aspect of the embodiments of the present application further provides a computer device, including:
  • a memory wherein the memory stores computer instructions that can be executed on the processor, and when the instructions are executed by the processor, the steps of any one of the methods in the above-mentioned implementation modes are implemented.
  • Another aspect of the embodiments of the present application further provides a non-volatile readable storage medium, wherein the non-volatile readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of any one of the above methods in the above implementation modes are implemented.
  • a data transmission modeling method proposed by the embodiment of the present application not only effectively expands the TLM2.0 general net core, but also manages the extended data structure at a higher level, such as application, release, and sorting.
  • the code structure is optimized to meet the analysis requirements of more detailed performance simulation, with fast simulation speed and good compatibility.
  • the extended data part is encapsulated, the functional data and control information are separated, and a separate access interface is provided internally, which can communicate with the standard model that complies with the TLM2.0 general protocol and has good compatibility; when the scenario does not require these extended information, the extended set of interfaces can also be ignored, without writing special conversion logic; it is convenient to connect to the model of the standard protocol.
  • the model has more new requirements, it is convenient to add relevant parameters and methods in the extension class without changing the original data management structure.
  • the expansion cost is small and can meet more needs.
  • FIG1 is a method flow chart of a data transmission modeling method provided in an embodiment of the present application.
  • FIG2 is a schematic diagram of the structure of a data transmission modeling system provided in an embodiment of the present application.
  • FIG3 is a schematic diagram of the structure of a computer device provided in an embodiment of the present application.
  • FIG4 is a schematic diagram of the structure of a non-volatile readable storage medium provided in an embodiment of the present application.
  • FIG5 is a schematic diagram of the structure of a data transmission modeling system provided in an embodiment of the present application.
  • FIG6 is a network topology diagram of an initiator and a target in a data transmission modeling system provided in an embodiment of the present application;
  • FIG. 7 is a schematic diagram of the structural relationship of a data storage pool provided in an embodiment of the present application.
  • the embodiments of the present application are intended to solve the problem that when data is communicated between modules in a simulation system of data transmission on an AXI (Advanced eXtensible Interface) bus, especially after being forwarded by multiple levels of NoC, after the module receives the information of a read request/write request, it is unable to obtain more information about the initiator of the information, making it difficult to analyze the performance on the port in more detail.
  • Traditional implementations are unable to identify the data between modules in the NoC, so it is difficult to analyze the data transmission bottleneck between corresponding modules in the simulation modeling stage, which is too late when it is applied after tape-out, and the high cost of later tape-out increases the cost of chip design.
  • the embodiment of the present application proposes a data transmission modeling method, including:
  • Step S1 adding multiple control parameters to the transmission request according to the simulation modeling standard at the transmission request initiator;
  • Step S2 receiving the transmission request at the target end and parsing the corresponding multiple control parameters in the transmission request, reading the control parameters according to the configuration policy, processing the transmission request based on the configuration policy and the control parameters, and counting the number of transmission requests processed within a predetermined time and the corresponding control parameters;
  • Step S3 performing simulation analysis by counting the number of transmission requests processed within a predetermined time and the corresponding control parameters
  • Step S4 formulate a new configuration strategy according to the simulation analysis result and apply the new configuration strategy to the simulation transmission at the next scheduled time, and repeat the simulation process until the optimal configuration strategy is obtained.
  • step S1 when simulating and modeling the chip, the TLM2.0 standard specifies Based on the transmission data structure (referred to as the general structure), multiple control parameters are encapsulated into a new data structure (referred to as the transmission structure), and the transmission structure is merged with the general structure in an appended manner to form a new transmission request without changing the original general structure.
  • the initiator sends the corresponding transmission request (the original transmission request with only the general structure)
  • the above process is executed to add the corresponding control parameters to the transmission request to form a new transmission request and send it to the bus.
  • the additional transmission structure used in the embodiment of the present application does not affect the data transmission on the bus.
  • the module that does not have the ability to identify the transmission structure can identify the corresponding general structure data according to the data specified in the TLM2.0 standard, and will not treat the data of the transmission structure as general structure data. Only the target end with identification capability can recognize the corresponding additional transmission structure.
  • the so-called target end refers to the data receiving end on the bus, which can receive traditional TLM2.0 data and can also receive transmission requests with transmission structures.
  • the so-called configuration strategy refers to the scheduling mechanism for processing the transmission requests of each sending end, such as giving priority to the transmission request of a certain initiator, or allowing a certain initiator to send more transmission requests within a certain period of time, etc., which is the request management strategy of the data bus.
  • the target end parses the received transmission request, obtains the control parameters in the corresponding transmission structure, and determines whether to process the corresponding transmission request based on the set configuration strategy and the numerical content of the control parameters. Processing refers to the scheduling mechanism for different transmission requests, that is, giving priority to some transmission requests or giving priority to the transmission requests of several initiators, or limiting the number of transmission requests sent by the corresponding initiator according to the configuration strategy.
  • all transmission requests received by the target end within a certain period of time are counted and the corresponding transmission structure is saved.
  • the general structure in the transmission request does not need to be saved, only the multiple control parameters in the transmission structure are saved to facilitate subsequent analysis.
  • step S3 the distribution of the initiators corresponding to the transmission requests received by the target end within a period of time in step S2 and the transmission requests initiated by the corresponding initiators are analyzed to determine which initiators' transmission requests or transmission bandwidths are occupied by the current transmission requests received by the target end, which modules' corresponding initiators affect the system bus transmission balance, and generate corresponding restriction or incentive configuration strategies for the next simulation. For example, in the mode of pursuing balance, if the data transmission requests sent by the corresponding initiator are too high or the target end processes too many transmission requests from a certain initiator, resulting in a large number of transmission requests from other initiators being blocked, the transmission requests of the initiators with too many transmission requests within the current simulation time are limited in the next scheduled simulation.
  • step S4 according to the analysis result in step S3, i.e., the corresponding configuration policy, the configuration policy is applied to the current target end as a processing policy for the target end receiving a transmission request within the next predetermined time.
  • the above simulation process is repeated at predetermined time intervals until the analysis result in step S3 meets the predetermined performance indicator.
  • adding multiple control parameters to the transmission request at the transmission request initiator according to the simulation modeling standard includes: adding the number of the initiator as the engine sequence number of the initiator to the transmission request.
  • the engine serial number parameter of the initiator represents a unique identifier of the initiator, which is used to distinguish the initiators corresponding to which modules the corresponding transmission request comes from. If the target end is interconnected with multiple initiators through a bus, when the target end receives data of a transmission request, it can know which initiator the current request comes from through the engine serial number parameter, and can perform statistical analysis on the request data received within a period of time to obtain the proportional relationship between the requests received during this period and different initiators. Optionally, it can be determined from which initiator the possible bandwidth bottleneck comes from based on the proportional relationship, and flow control and other operations can be performed on a certain initiator according to the demand, which will provide effective help for the performance analysis of the system.
  • adding multiple control parameters to the transmission request according to the simulation modeling standard at the transmission request initiator includes:
  • a corresponding transmission request unique identifier is generated for each transmission request and added to the transmission request.
  • the unique identifier of the transmission request refers to the ID serial number parameter of the transmission request, which indicates the unique identifier of each request when an initiator sends requests continuously.
  • the ID number of the request is: 0, 1, 2, ...
  • the unique identifier can be used to analyze which transmission requests sent by the initiator are sent continuously in a short time among the transmission requests received by the current target end, so as to analyze the data initiation capability of the corresponding initiator and reasonably allocate the token of the corresponding transmission request.
  • the initiator in bus data transmission, does not send data to the bus freely, but the target sends a corresponding number of tokens to the corresponding initiator, and the corresponding initiator sends a corresponding transmission request based on the token, and each transmission request consumes one token.
  • the unique identifier of the transmission request can not only distinguish the transmission request, but also analyze the data transmission demand law of the corresponding module behind the initiator, and formulate a configuration strategy that meets the corresponding initiator based on this.
  • adding multiple control parameters to the transmission request according to the simulation modeling standard at the transmission request initiator includes:
  • a priority is set for each transfer request and the priority is added to the transfer request.
  • the priority of a transmission request indicates whether a transmission request needs to be executed first, and the level of priority execution.
  • the priority levels can be divided according to actual needs, for example, divided into level 0, level 1, level 2, etc. Taking the priority policy where the smaller the number, the higher the priority, as an example, when the priority of the first request is level 1 and the priority of the second request is level 0, the second request will be executed before the first request in the requests buffered by the target end.
  • the priority of the transmission request issued by the initiator is set by the application behind the corresponding initiator according to the needs of data transmission. The priority is usually multiple levels, and each initiator must obtain a different range of priorities within a predetermined time.
  • the highest priority of a certain initiator can be 0, that is, the initiator can issue the highest priority.
  • the target port will process the transmission request with priority when receiving the transmission request.
  • the highest priority range of the initiator may only be 1. Different transmission priorities can be determined according to different configuration strategies.
  • the method further includes:
  • multiple transmission requests are prioritized according to the priorities of the transmission requests, and the transmission requests with the highest priority are processed preferentially according to the sorting result.
  • the target end will sort the transmission requests in the queue or cache according to their priorities and process the data with the highest priority first.
  • the target end within a period of simulation time, will continuously receive multiple requests from multiple initiators.
  • the target end can manage the received requests based on the two information, the engine ID of the initiator and the transmitted request ID, and cache multiple requests from each request end separately, and reorder the cached requests according to priority, so as to ensure that some requests marked as high priority can be processed as soon as possible, thereby realizing simulation analysis on the target end.
  • Different priorities of the requests can be configured according to the simulation situation, and the impact at the system level can be evaluated, and the optimal solution for the request priority configuration that can improve system performance can be found.
  • adding multiple control parameters to the transmission request according to the simulation modeling standard at the transmission request initiator includes:
  • a lock flag is set for each transmission request according to the transmission mode of the transmission request, and the lock flag is added to the transmission request.
  • the lock flag indicates whether the port needs to lock parameters when the current transmission request is transmitted, indicating whether a certain transmission request of the initiator needs to lock the corresponding port for configuration when passing through the sending port of the initiator and the receiving port of the target. If the port needs to be locked, the port is in a locked state when the request passes through the current port, and any other requests need to be blocked and waited. If it is configured not to lock the port, the behavior is non-invasive when the request passes through the port, and does not affect other requests passing through the port. When performing some debugging analysis and do not want to affect the normal communication request, the parameter can be configured to an unlocked state.
  • the receiving port also has the same judgment mechanism. By configuring a request to lock the port or not to lock the port, its impact on the system performance indicators can be compared and evaluated.
  • the transmission of bus data corresponding to the target end and the initiator end during the simulation phase is controlled by the four control parameters of the engine serial number, the transmission request unique identifier, the transmission request priority and the lock flag, and different configuration strategies are specified, and the optimal configuration strategy is found through multiple simulations.
  • adding multiple control parameters to the transmission request according to the simulation modeling standard at the transmission request initiator includes:
  • managing the transmission request of the initiator through the data storage pool includes:
  • the transmission requests in the data storage pool are sorted according to the transmission request priorities in the control parameters of the transmission requests, and the transmission requests with high priorities are preferentially sent to the target end.
  • a virtual data storage pool is defined inside the initiator, which can be a continuous space.
  • a method for managing the data storage pool is designed. It can include methods for applying for, releasing, and prioritizing the data storage pool.
  • space is applied at the data storage pool level first, and the unit of application is the data type of a transmission structure; then data processing is performed at the transmission structure level, that is, the general structure and the transmission structure are spliced and sent out.
  • the method of managing the data storage pool can be described as follows:
  • Data storage pool application method When constructing the data to be transmitted, first apply for space in the data storage pool.
  • the application unit is the data type of a transmission structure. Then, the transmission structure is initialized and transmitted through the corresponding control parameter setting interface.
  • Priority sorting method of data storage pool During the transmission process, since it supports the continuous sending of multiple transmission requests, multiple data to be transmitted may be prepared at the initiator. The data in the data pool can also be prioritized according to the actual strategy, and the priority information can be added to the current transmission for priority.
  • a method interface for operating these parameters is provided in the simulation system based on the above control parameters.
  • Optional method interfaces include setting parameters, querying parameters, resetting parameters, etc.
  • the initiator calls the parameter setting method and the parameter resetting method; the target calls the parameter query method.
  • the parameter setting method includes: setting the engine serial number parameter of the initiator, setting the ID serial number parameter of the transmission request, setting the priority information parameter of the current request, and setting whether the port needs to be locked when the current request is transmitted;
  • the query parameter method includes: querying the engine serial number parameter of the initiator, querying the ID serial number parameter of the transmitted request, querying the priority information parameter of the current request, and querying whether the port needs to be locked when the current request is transmitted;
  • the parameter resetting method includes: resetting the engine serial number parameter of the initiator, resetting the ID serial number parameter of the transmission request, resetting the priority information parameter of the current request, and resetting whether the port needs to be locked when the current request is transmitted.
  • Module A, module B, ..., module N and other modules are interconnected through the Internet and the target end using transaction-level ports to communicate read and write requests of the AXI protocol.
  • module A, module B, ..., module N are all initiator modules, and the middle NoC module is an interconnection component.
  • Module A, module B, ..., module N are connected to the corresponding receiving port of the NoC (Network on Chip) module interconnection component through their respective initiator ports. After the NoC module performs address routing, it connects to the receiving port of the target end through the initiator port, thereby realizing a simple interconnection relationship.
  • module A, module B, ..., module N are initiators, and the target end is the target end.
  • Module A, module B, ..., module N communicate with the target end through forwarding and connection of the interconnection bus.
  • a modeling method for data transmission extension is designed internally.
  • a virtual data storage pool myTransPool is defined at the initiator.
  • the application unit is the data type of a transmission structure (recorded as myTrans).
  • the application method of the data storage pool is called sequentially to apply for transmission structures, recorded as: myTrans0, myTrans0, ..., myTransN, where each myTrans includes a general structure (recorded as gen_tlm_payload) and an extended part (the extended part is recorded as my_payload); when the transmission is completed, the applied transmission structure is released.
  • the topological relationship of the data storage pool defined in module A is shown in Figure 7:
  • Module A calls the internal parameter setting method to initialize the applied myTrans0, myTrans0, ..., myTransN. For example: for each myTrans call, the engine serial number parameter of the initiator is set to 0, indicating that the current request comes from module A; the ID (Identity document) serial number parameter of the transmission request is set to 0, 1, 2, 3, ...N in sequence; the priority information parameter of the current request is set to priority 0, indicating that the priority of module A's requests is the highest; the parameter of whether the port needs to be locked when the current request is transmitted is set to locked, indicating that the request locks the port when it is transmitted through the port.
  • the engine serial number parameter of the initiator is set to 0, indicating that the current request comes from module A
  • the ID (Identity document) serial number parameter of the transmission request is set to 0, 1, 2, 3, ...N in sequence
  • the priority information parameter of the current request is set to priority 0, indicating that the priority of module A's requests is the highest
  • the parameter of whether the port needs to be locked when the current request is transmitted is
  • initialize the sending data of module B for each myTrans call, set the engine serial number parameter of the initiator to 1, indicating that the current request comes from module B; set the ID serial number parameter of the transmission request, and set the order to 0, 1, 2, 3, ... N; set the priority information parameter of the current request to priority 1, indicating that the priority of module B's request is lower than that of module A's request; set the parameter of whether the port needs to be locked when the current request is transmitted to locked, indicating that the request locks the port when it is transmitted through the port.
  • the total number of requests from modules A and B, as well as their proportion on the receiving port, can be counted through the engine serial number parameter of each request initiator; for example, if it is found that requests from module A account for 90% and requests from module B account for 10%; at this time, the system's IOPS and other performance indicators If the design requirements are not met, feedback can be provided to the architecture designer, and the bandwidth occupied by each module on the receiving port can be limited, or the priority of the requests of module A and module B can be adjusted, so as to explore and evaluate the impact on performance.
  • the simulation modeling is re-run according to the reconfigured configuration strategy to verify the performance of the configuration strategy.
  • a data transmission modeling method proposed by the embodiment of the present application not only effectively expands the TLM2.0 general net core, but also manages the extended data structure at a higher level, such as application, release, and sorting.
  • the code structure is optimized to meet the analysis requirements of more detailed performance simulation, with fast simulation speed and good compatibility.
  • the extended data part is encapsulated, the functional data and control information are separated, and a separate access interface is provided internally, which can communicate with the standard model that complies with the TLM2.0 general protocol and has good compatibility; when the scenario does not require these extended information, the extended set of interfaces can also be ignored, without writing special conversion logic; it is convenient to connect to the model of the standard protocol.
  • the model has more new requirements, it is convenient to add relevant parameters and methods in the extension class without changing the original data management structure.
  • the expansion cost is small and can meet more needs.
  • FIG. 2 another aspect of the embodiment of the present application further provides a data transmission modeling system, including:
  • the initiator 1 is configured to add a plurality of control parameters to the transmission request according to the simulation modeling standard, and send the transmission request after adding the control parameters to the target end;
  • Target end 2 is configured to receive the transmission request and parse a plurality of control parameters corresponding to the transmission request, read the control parameters according to the configuration policy, process the transmission request based on the configuration policy and the control parameters, and count the number of transmission requests processed within a predetermined time and the corresponding control parameters;
  • Data analysis module 3 the data analysis module 3 is configured to perform simulation analysis by counting the number of transmission requests processed within a predetermined time and the corresponding control parameters;
  • the simulation control module 4 is configured to formulate a new configuration strategy according to the simulation analysis results of the data analysis module and apply the new configuration strategy to the simulation transmission at the next scheduled time, and repeat the simulation process until the optimal configuration strategy is obtained.
  • the initiator 1 further includes:
  • the data storage pool 5 is configured to manage the transmission request of the initiator.
  • the initiator 1 may be optionally configured as:
  • the transmission requests in the data storage pool are sorted according to the transmission request priority in the control parameter of the transmission request and the transmission requests with high priority are preferentially sent to the target end 2.
  • the system further includes:
  • control parameter reset interface 6 the control parameter reset interface 6 is configured to reset the engine serial number parameter of the initiator, reset the unique identification parameter of the transmission request, reset the priority information parameter of the transmission request, and reset the lock flag of the corresponding transmission request;
  • Control parameter setting interface 7 the control parameter setting interface 7 is configured to set the engine serial number parameter of the initiator, set the unique identification parameter of the transmission request, set the priority information parameter of the corresponding transmission request, and set the lock flag of the corresponding transmission request.
  • the system further includes:
  • the control parameter query interface 8 is configured to obtain the engine serial number parameter of the initiator, obtain the unique identification parameter of the transmission request, obtain the priority information parameter corresponding to the transmission request, and obtain the lock flag of the transmission corresponding to the transmission request.
  • FIG3 another aspect of the embodiment of the present application further provides a computer device, including:
  • the memory 22 stores computer instructions 23 that can be executed on the processor 21.
  • the instructions 23 are executed by the processor 21, the steps of any one of the methods in the above-mentioned implementation manner are implemented.
  • FIG. 4 another aspect of the embodiment of the present application further proposes a non-volatile readable storage medium 401 , which stores a computer program 402 , and when the computer program 402 is executed by a processor, the steps of any one of the methods in the above-mentioned embodiments are implemented.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请实施例提出一种数据传输建模方法、系统、设备及非易失性可读存储介质,其中方法包括:在传输请求发起端根据仿真建模标准向传输请求中添加多个控制参数;在传输请求的目标端接收传输请求并解析传输请求中对应的多个控制参数,根据配置策略读取控制参数并基于配置策略和控制参数处理传输请求并统计预定时间内处理的传输请求数和对应的控制参数;通过统计的预定时间内处理的传输请求数和对应的控制参数进行仿真分析;根据仿真分析结果制定新的配置策略并将新的配置策略应用到下一预定时间的仿真传输中,并重复仿真过程直到得到最优的配置策略。通过本申请实施例提出的数据传输的建模方法,优化了代码结构,满足了更细化的性能仿真的分析需求仿真速度快具有良好的兼容性。

Description

一种数据传输建模方法、系统、设备及非易失性可读存储介质
相关申请的交叉引用
本申请要求于2022年10月18日提交中国专利局,申请号为202211271372.9,申请名称为“一种数据传输建模方法、系统、设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请实施例属于计算机领域,特别涉及一种数据传输建模方法、系统、设备及非易失性可读存储介质。
背景技术
SoC(System on Chip,片上系统)的设计之难源于其复杂性,复杂性催生SystemC和电子系统级设计(ESL)方法学,事务处理级建模是电子系统级设计的关键。对于复杂的SoC,在进行RTL(Register Transfer Level,寄存器转换级电路)设计前需要进行深入的系统级仿真,以确认设计的体系架构是否恰当、总线是否能够满足吞吐量和实时性要求以及存储器是否被浪费。为了缩短SoC关键IP(Intellectual Property,知识产权核)的设计周期并辅助设计过程,同时为了缩短从系统架构设计到硬件RTL电路实现之间的鸿沟,需采用一种建模方法学对整个电路系统的功能、架构进行描述,同时又不陷入硬件电路繁杂的信号时序、门电路之中,因此ESL(Electronic System Level,电子系统级)电子系统级设计应运而生。采用ESL设计方法学在合适的抽象层次描述系统,构造一个虚拟的硬件原型平台,进行硬件架构的探索和软件程序的开发,实现快速的系统建模和仿真分析。ESL的核心是TLM,即事务级建模(Transaction Level Modeling,TLM)方法。
TLM比RTL的抽象级别更高,可以根据系统的初始功能规范快速建立硬件的可执行规范、快速创建系统模型。通过在其中加入时序细节,可以评估系统的性能、探索系统的结构。
随着未来通信终端和设备的计算复杂度的增大,实时复杂系统芯片的集成规模需求将迅速增长,一块芯片上可能会集成数十个或成百上千的处理单元,基于多核的信号处理平台成为软件无线电的发展趋势。在这样的综合化系统中,设计可靠、高速、低功耗的高性能芯片内通信体系成为片上系统(System on Chip,SoC)发展的挑战与机遇。以web服务器的 SoC为例,关键的性能指标包括响应延迟、吞吐量、最大并发连接数、系统可靠性等等,如何快速、准确的对架构设计的性能指标进行定量的评估和分析,是一个至关重要的课题。
在性能建模的过程中,对于有可能成为性能瓶颈的重要模块建模时(例如DDR(Double Data Rate,双倍速率)等),特别是在统计分析模块端口带宽的过程中,这时需要模块在记录收到的读请求/写请求信息的通知,还能记录这个请求的发起端的信息,例如发起端的引擎ID、数据流信息、优先级信息等,从而完成一些特定信息的统计,例如统计该端口上不同引擎访问的带宽比例,从而能够优化端口及系统架构的设计。
但是系统中数据在模块间通信时,特别是经过多级NoC(Network on Chip,片上网络)的转发后,模块收到读请求/写请求的信息后,无法获取更多该信息的发起端的信息,因此很难更加详细的对端口上的性能进行分析。因此如何优化数据在模块间的传输,成为了性能建模中需要关注的一个问题。
现有的开源模型及公开资料能够实现的满足如上需求的数据传输方法,存在以下问题:
(1)参考公开资料,OSCI TLM2.0(The Transaction Level Modeling standard of the Open SystemC Initiative,OSCI组织发布的事务级建模库2.0版本)标准为了提高不同模块之间的互可操作性,为各个模块间的通信提供了统一接口,使模型内部功能与通信分离开,并设计了一套比较通用的传输数据结构和传输协议,其中协议规定的数据结构定义包括:命令类型、首地址、数据指针、数据长度、字节使能宽度、响应状态等信息。为了满足特性定制的需求,也可以在实现过程中将发起端的其他必要表示控制的信息进行打包并统一存储进通用的传输数据结构中,然后再进行传输。这种方式虽然满足了协议要求的传输格式,但是破坏了数据的耦合性,将功能数据信息和一些控制信息无法很方便的区分,且附加的控制信息会占用发起端和目标端端口的带宽资源,影响端口的带宽性能评估的准确性。
(2)目前开源的模型一般为基于TLM2.0通用接口传输,或者为特定场景定制的扩展,无法满足性能仿真细化场景的需求。
因此,亟需一种有效的仿真建模方法以解决上述问题。
发明内容
为解决上述问题,本申请实施例提出一种数据传输建模方法,包括:
在传输请求发起端根据仿真建模标准向传输请求中添加多个控制参数;
在目标端接收上述传输请求并解析上述传输请求中对应的多个控制参数,根据配置策略读取上述控制参数并基于上述配置策略和上述控制参数处理上述传输请求并统计预定时间内 处理的传输请求数和对应的控制参数;
通过统计的预定时间内处理的传输请求数和对应的控制参数进行仿真分析;
根据仿真分析结果制定新的配置策略并将上述新的配置策略应用到下一预定时间的仿真传输中,并重复仿真过程直到得到最优的配置策略。
在本申请实施例的一些实施方式中,在传输请求发起端根据仿真建模标准向传输请求中添加多个控制参数包括:将上述发起端的编号作为发起端的引擎序号添加到上述传输请求中。
在本申请实施例的一些实施方式中,在传输请求发起端根据仿真建模标准向传输请求中添加多个控制参数包括:
为每一个传输请求生成对应的传输请求唯一标识添加到上述传输请求中。
在本申请实施例的一些实施方式中,在传输请求发起端根据仿真建模标准向传输请求中添加多个控制参数包括:
为每一个传输请求设定优先级,并将上述优先级添加到上述传输请求中。
在本申请实施例的一些实施方式中,方法还包括:
在目标端根据上述传输请求的优先级对多个传输请求优先级进行排序,并根据排序结果优先处理排序靠前的传输请求。
在本申请实施例的一些实施方式中,在传输请求发起端根据仿真建模标准向传输请求中添加多个控制参数包括:
根据传输请求的传输模式为每一个传输请求设置锁定标志,并将上述锁定标志添加到上述传输请求中。
在本申请实施例的一些实施方式中,在传输请求发起端根据仿真建模标准向传输请求中添加多个控制参数包括:
在数据发起端创建数据存储池,并通过上述数据存储池管理上述发起端的传输请求;以及在上述数据存储池中为上述传输请求添加对应的控制参数。
在本申请实施例的一些实施方式中,通过上述数据存储池管理上述发起端的传输请求包括:
根据传输请求的控制参数中的传输请求优先级对上述数据存储池中的传输请求进行排序并优先将优先级高的传输请求发送到目标端。
在本申请实施例的一些实施方式中,上述传输请求唯一标识是上述传输请求的ID序号参数。
在本申请实施例的一些实施方式中,上述锁定标志用于表示在上述传输请求在通过上述传输请求发起端的发送端口和上述目标端的接收端口时,是否需要锁定上述发送端口和上述接收端口。
在本申请实施例的一些实施方式中,上述方法还包括:
在上述传输请求传输完成的情况下,释放上述数据存储池中存储上述传输请求的存储空间。
在本申请实施例的一些实施方式中,上述在传输请求发起端根据仿真建模标准向传输请求中添加多个控制参数,包括:
将上述多个控制参数封装为新的数据结构,并将上述数据结构以追加的方式和通用结构合并生成新的传输请求。
在本申请实施例的一些实施方式中,上述根据仿真分析结果制定新的配置策略并将上述新的配置策略应用到下一预定时间的仿真传输中,并重复仿真过程直到得到最优的配置策略,包括:
以预定时间为间隔重复上述仿真过程直到上述分析结果满足预定性能指标。
本申请实施例的另一方面还提出一种数据传输建模系统,包括:
发起端,上述发起端被配置为根据仿真建模标准向传输请求中添加多个控制参数,并将添加控制参数后的传输请求发送到目标端;
目标端,上述目标端被配置为接收上述传输请求并解析上述传输请求中对应的多个控制参数,根据配置策略读取上述控制参数并基于上述配置策略和上述控制参数处理上述传输请求并统计预定时间内处理的传输请求数和对应的控制参数;
数据分析模块,上述数据分析模块被配置为通过统计的预定时间内处理的传输请求数和对应的控制参数进行仿真分析;
仿真控制模块,上述仿真控制模块被配置为根据数据分析模块的仿真分析结果制定新的配置策略并将上述新的配置策略应用到下一预定时间的仿真传输中,并重复仿真过程直到得到最优的配置策略。
在本申请实施例的一些实施方式中,发起端还包括:
数据存储池,上述数据存储池被配置为管理上述发起端的传输请求。
在本申请实施例的一些实施方式中,发起端可选被配置为:
在上述数据存储池中为上述传输请求添加对应的控制参数;以及
根据传输请求的控制参数中的传输请求优先级对上述数据存储池中的传输请求进行排序 并优先将优先级高的传输请求发送到目标端。
在本申请实施例的一些实施方式中,系统还包括:
控制参数复位接口,上述控制参数复位接口被配置为复位发起端的引擎序号参数,复位传输请求的唯一标识参数,复位传输请求的优先级信息参数,复位对应传输请求的锁定标志;
控制参数设置接口,上述控制参数设置接口被配置为设置发起端的引擎序号参数,设置传输请求的唯一标识参数,设置对应传输请求的优先级信息参数,设置对应传输请求的锁定标志。
在本申请实施例的一些实施方式中,系统还包括:
控制参数查询接口,上述控制参数查询接口被配置为获取发起端的引擎序号参数,获取传输请求的唯一标识参数,获取对应传输请求的优先级信息参数,获取对应传输请求传输的锁定标志。
本申请实施例的又一方面还提出一种计算机设备,包括:
至少一个处理器;以及
存储器,上述存储器存储有可在上述处理器上运行的计算机指令,上述指令由上述处理器执行时实现上述实施方式中任意一项上述方法的步骤。
本申请实施例的再一方面还提出一种非易失性可读存储介质,上述非易失性可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现上述实施方式中任意一项上述方法的步骤。
通过本申请实施例提出的一种数据传输的建模方法,不仅对TLM2.0通用净核进行了有效的扩展,并对扩展的数据结构进行了申请、释放、排序等更高一层的管理。优化了代码结构,满足了更细化的性能仿真的分析需求,仿真速度快;具有良好的兼容性。对扩展的数据部分进行了封装,将功能数据和控制信息分开,内部提供单独的访问接口,能够和标准的符合TLM2.0通用协议的模型的进行通信,有较好的兼容性;当场景不需要这些扩展的信息时,也可以忽略扩展的这组接口,不用写专门的转换逻辑;方便对接标准协议的模型。当模型有更多新需求时,可以方便的在扩展类中添加相关的参数和方法,不用改变原始的数据管理的结构,扩充代价较小,能满足更多的需求。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术 描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据传输建模方法的方法流程图;
图2为本申请实施例提供的一种数据传输建模系统的结构示意图;
图3为本申请实施例提供的一种计算机设备的结构示意图;
图4为本申请实施例提供的一种非易失性可读存储介质的结构示意图;
图5为本申请实施例提供的一种数据传输建模系统的结构示意图;
图6为本申请实施例提供的一种数据传输建模系统中发起端和目标端的网络拓扑关系图;
图7为本申请实施例提供的数据存储池的结构关系示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚明白,以下结合可选实施例,并参照附图,对本申请实施例进行详细说明。
本申请实施例旨在解决在AXI(Advanced eXtensible Interface)总线的数据传输的仿真系统中数据在模块间通信时,特别是经过多级NoC的转发后,模块收到读请求/写请求的信息后,无法获取更多该信息的发起端的信息,因此很难更加详细的对端口上的性能进行分析的问题,传统的实现上无法对各个模块之间在NoC的数据进行识别,因此难以在仿真建模阶段分析对应模块之间的数据传输瓶颈在哪,而到流片之后应用时却为时已晚,并且后期流片费用高昂加剧了芯片设计成本。
如图1所示,为解决上述问题,本申请实施例提出一种数据传输建模方法,包括:
步骤S1、在传输请求发起端根据仿真建模标准向传输请求中添加多个控制参数;
步骤S2、在目标端接收传输请求并解析传输请求中对应的多个控制参数,根据配置策略读取控制参数并基于配置策略和控制参数处理传输请求并统计预定时间内处理的传输请求数和对应的控制参数;
步骤S3、通过统计的预定时间内处理的传输请求数和对应的控制参数进行仿真分析;
步骤S4、根据仿真分析结果制定新的配置策略并将新的配置策略应用到下一预定时间的仿真传输中,并重复仿真过程直到得到最优的配置策略。
在本申请的实施例中,在步骤S1中,在对芯片进行仿真建模时,在TLM2.0的标准规定的 传输数据结构(记为通用结构)基础上,将多个控制参数封装为新的数据结构(记为传输结构),在不改变原有通用结构的前提下将传输结构以追加的方式和通用结构进行合并形成新的传输请求。当发起端发送对应传输请求(只有通用结构的原始传输请求)时,执行上述过程为传输请求添加对应的控制参数后形成新的传输请求发送到总线上。
需要说明的是本申请实施例中所采用的追加的传输结构并不影响总线上的数据传输,不具有识别传输结构的模块能根据TLM2.0标准规定的数据识别对应的通用结构数据,不会将传输结构的数据当做通用结构的数据,只有具备识别能力的目标端可识别对应追加的传输结构。
在步骤S2中,所谓目标端是指总线上的数据接收端,能够接收传统TLM2.0的数据,同时也可以接收具有传输结构的传输请求。所谓配置策略是指处理各个发送端的传输请求的调度机制,例如优先处理某一发起端的传输请求,或者在一定时间内允许某个发起端发送较多的传输请求等是数据总线的请求管理策略。可选的,目标端对收到的传输请求进行解析,获取对应的传输结构中的控制参数,并根据设定的配置策略和控制参数的数值内容判断是否对对应的传输请求进行处理。处理是指对不同传输请求的调度机制,即优先处理部分传输请求或者优先处理若干发起端的传输请求,或者是根据配置策略限制对应发起端的传输请求的发送数量。
可选的,统计一定时间内目标端收到的所有的传输请求,并将对应的传输结构保存。传输请求中的通用结构无需保存,只保存传输结构中的多个控制参数,方便后续进行分析。
在步骤S3中,对步骤S2中根据一段时间内目标端的接收的传输请求对应的发起端的分布情况和对应发起端发起的传输请求进行分析,以判断当前目标端所接收到的传输请求或传输带宽被哪些发起端的传输请求所占用,影响系统总线传输平衡的是哪些模块对应的发起端,并生成对应的限制或激励配置策略用于下一次仿真模拟。例如,在追求平衡的模式下,如果对应的发起端发送的数据传输请求过高或目标端处理的某个发起端的传输请求过多,导致其他发起端的传输请求大量阻塞,再下一预定时间的仿真时通过限制当前仿真时间内的传输请求过多的发起端的传输请求。
在步骤S4中,根据步骤S3中的分析结果,即对应的配置策略,将配置策略应用于当前的目标端作为下一预定时间内的该目标端接收传输请求时的处理策略。可选的,以预定时间为间隔重复上述仿真过程直到步骤S3中的分析结果满足预定性能指标。
在本申请实施例的一些实施方式中,在传输请求发起端根据仿真建模标准向传输请求中添加多个控制参数包括:将发起端的编号作为发起端的引擎序号添加到传输请求中。
在本实施例中,发起端的引擎序号参数表示发起端的一个唯一标识,用以区分对应的传输请求来自哪些模块对应的发起端。如果目标端通过总线和多个发起端进行互联,则目标端在接收到一个传输请求的数据时,通过引擎序号参数即可知道当前请求是来自于哪个发起端,并可以对一段时间内收到的请求数据进行统计分析,得到这段时间内收到的请求来自与不同发起端的比例关系,可选的,可以根据比例关系判断出可能存在的带宽瓶颈来自于哪一个发起端,并可以根据需求,对某个发起端进行流量控制等操作,都会对系统的性能分析提供有效帮助。
在本申请实施例的一些实施方式中,在传输请求发起端根据仿真建模标准向传输请求中添加多个控制参数包括:
为每一个传输请求生成对应的传输请求唯一标识添加到传输请求中。
在本实施例中,传输请求的唯一标识是指传输的请求的ID序号参数,表示一个发起端在连续发送请求时,每一个请求的唯一标识,例如一个发起端在连续发送请求时,请求的ID号即为:0,1,2,…。通过唯一标识可以分析出当前目标端接收到的传输请求中,哪些发起端发送的传输请求是在短时间连续发送的,以分析出对应发起端的数据发起能力,合理分配对应的传输请求的令牌。
可选的,在一些实施例中,在总线数据传输中,发起端向总线发送数据并不是自由的发送,是由目标端向对应的发起端发送对应数量的令牌,对应的发起端根据令牌发送对应的传输请求,每发出一个传输请求消耗一个令牌。基于此,通过传输请求的唯一标识既可以区分该传输请求还可以据此分析该发起端后面对应的模块的数据传输需求规律,基于此制定满足对应发起端的配置策略。
在本申请实施例的一些实施方式中,在传输请求发起端根据仿真建模标准向传输请求中添加多个控制参数包括:
为每一个传输请求设定优先级,并将优先级添加到传输请求中。
在本实施例中,传输请求的优先级表示一个传输请求是否需要优先执行,以及优先执行的等级,可以根据实际需求对优先级等级进行划分,例如划分为0级、1级、2级..,以数字越小,优先级越高的优先级策略为例,当第一个请求的优先级为1级,且第二个请求的优先级为0级时,在目标端缓冲的请求中,第二个请求会比第一个请求优先执行。另外,发起端发出的传输请求的优先级是由对应的发起端背后的应用根据数据传输的需要设定的,优先级通常为多个项级,并且每个发起端都要在预定时间内所获取到的优先级的范围不同。例如,在某一预定时间内,某发起端的优先级最高优先级可以是0,即该发起端可以发出最高优先 级的请求数据,目标端口在接收到该传输请求时优先处理该传输请求。在某些时间内,该发起端的最高优先级的可用范围可能最高只能到1。可以是根据不同的配置策略决定不同的传输优先级。
在本申请实施例的一些实施方式中,方法还包括:
在目标端根据传输请求的优先级对多个传输请求优先级进行排序,并根据排序结果优先处理排序靠前的传输请求。
在本实施例中,目标端会根据队列或缓存中的传输请求的优先级进行排序,将最高优先级的数据优先处理。
特别地,在本申请的一些实施例中,在一段仿真时间内,目标端会连续接收到来自多个发起端的多个请求,目标端可以根据发起端的引擎ID和传输的请求ID这两个信息对接收到的请求进行管理,对每一个请求端的多个请求进行单独缓存,且对缓存到的请求根据优先级进行重新排序处理,从而保证一些标注为高优先级的请求能够尽快得到处理,以此实现在目标端进行仿真分析,根据仿真的情况可以配置请求的不同的优先级,评估在系统级别会带来什么样的影响,并找出能提高系统性能的请求优先级配置的最优解。
在本申请实施例的一些实施方式中,在传输请求发起端根据仿真建模标准向传输请求中添加多个控制参数包括:
根据传输请求的传输模式为每一个传输请求设置锁定标志,并将锁定标志添加到传输请求中。
在本实施例中,锁定标志表示当前的传输请求传输时端口是否需要锁定参数,表示发起端的某一个传输请求在通过发起端的发送端口和目标端的接收端口时,是否需要锁定对应的端口进行的配置。如果需要锁定端口,则在该请求通过当前端口时,端口即为锁定状态,其他任何请求都需要阻塞等待。如果配置为不需要锁定端口,则该请求通过端口时,行为为非入侵式,不影响其他正在通过该端口的请求,当进行一些调试分析时,并且不想影响正常通信的请求,可以将该参数配置为不锁定状态。接收端端口也是一样的判断机制。通过将一个请求配置为锁定端口或者不锁定端口,可以对比评估其对系统性能指标的影响。
在本申请实施例的一些实施例中,通过上述引擎序号、传输请求唯一标识、传输请求优先级以及锁定标志四个控制参数控制仿真阶段对应目标端和发起端的总线数据的传输,并指定不同的配置策略,通过多次仿真找到最优的配置策略。
在本申请实施例的一些实施方式中,在传输请求发起端根据仿真建模标准向传输请求中添加多个控制参数包括:
在数据发起端创建数据存储池,并通过数据存储池管理发起端的传输请求;以及
在数据存储池中为传输请求添加对应的控制参数。
在本申请实施例的一些实施方式中,通过数据存储池管理发起端的传输请求包括:
根据传输请求的控制参数中的传输请求优先级对数据存储池中的传输请求进行排序并优先将优先级高的传输请求发送到目标端。
在本实施例中,在发起端内部定义一个虚拟的数据存储池,可以是一片连续的空间。并设计了对该数据存储池进行管理的方法。可以包括对数据存储池进行申请、释放、优先级排序等方法。在接收到来自发起端后端的其他应用模块发送的需要通过发起端发送的传输请求时(通用结构),优先在数据存储池这一级别进行空间的申请,申请的单位即是一个传输结构的数据类型;然后在传输结构的级别进行数据处理,即将通用结构和传输结构进行拼接后发出。
对数据存储池进行管理的方法可以描述如下:
(1)数据存储池的申请方法:在开始构造需传输的数据时,首先在数据存储池中进行空间的申请,申请的单位即是一个传输结构的数据类型;然后通对应的设置控制参数的控制参数设置接口对传输结构的初始化和传输;
(2)数据存储池的释放方法:当此次传输结束时(例如收到了来自目标端的请求处理完成标志),需要对数据存储池中的该块空间进行释放;
(3)数据存储池的优先级排序方法:在传输的过程中,由于支持多个传输的请求连续发送方式,在发起端可能准备好了多个需传输的数据,还可以根据实际需要的策略,对数据池中的数据进行优先级的排序,并将优先级信息补充到本次传输中优先发出。
在本申请实施例的一些实施方式中,在仿真系统中基于上述控制参数提供对这些参数进行操作的方法接口。可选的包括设置参数、查询参数、复位参数等方法接口。一般由发起端调用设置参数方法和复位参数方法;由目标端调用查询参数的方法。
其中设置参数方法包括:设置发起端的引擎序号参数,设置传输的请求的ID序号参数,设置当前请求的优先级信息参数,设置当前请求传输时端口是否需要锁定参数;
其中查询参数方法包括:查询发起端的引擎序号参数,查询传输的请求的ID序号参数,查询当前请求的优先级信息参数,查询当前请求传输时端口是否需要锁定参数;
其中复位参数方法包括:复位发起端的引擎序号参数,复位传输的请求的ID序号参数,复位当前请求的优先级信息参数,复位当前请求传输时端口是否需要锁定参数。
实施例:
在仿真软件中的搭建模型构造虚拟平台,其模块间的互联架构示例如图6所示:模块A,模块B,…,模块N等多个模块通过互联网络和目标端采用事务级端口互联,进行AXI协议的读写请求的通信。
其中,模块A,模块B,…,模块N均为发起端模块,中间的NoC模块为一个互联组件,模块A,模块B,…,模块N通过各自的发起端端口连接在NoC(Network on Chip,片上网络)模块互联组件的对应的接收端口上,NoC模块进行地址路由后,通过发起端端口连接目标端的接收端口上,从而实现了一个简单的互联关系。在这个互联总线中,模块A,模块B,…,模块N为发起端,目标端为目标端,模块A,模块B,…,模块N通过互联总线的转发和连接和目标端进行通信。
其中,以模块A为例,内部设计一种传输数据扩展的建模方法。在发起端定义一个虚拟的数据存储池myTransPool。
在传输开始时刻,首先在数据存储池中进行空间的申请,申请的单位即是一个传输结构(记为myTrans)的数据类型,顺序的调用数据存储池的申请方法,申请出传输结构、记为:myTrans0、myTrans0、…、myTransN,其中每一个myTrans包括了通用结构(记为gen_tlm_payload)和扩展的部分(扩展部分记录为my_payload);当传输结束时,对申请到的传输结构进行释放。模块A内部定义的数据存储池的拓扑关系示如图7所示:
模块A调用内部的设置参数的方法对申请到的myTrans0、myTrans0、…、myTransN进行初始化,例如:对每一个myTrans调用设置发起端的引擎序号参数为0,表示当前请求来自模块A;设置传输的请求的ID(Identity document,身份标识)序号参数,顺序设置为0,1,2,3,…N;设置当前请求的优先级信息参数为优先级0,表示模块A的请求的优先级均为最高;设置当前请求传输时端口是否需要锁定参数为锁定,表示请求在传输通过端口时对端口进行锁定。
同样的方式,初始化模块B的发送数据:对每一个myTrans调用设置发起端的引擎序号参数为1,表示当前请求来自模块B;设置传输的请求的ID序号参数,顺序设置为0,1,2,3,…N;设置当前请求的优先级信息参数为优先级1,表示模块B的请求的优先级低于模块A请求的优先级;设置当前请求传输时端口是否需要锁定参数为锁定,表示请求在传输通过端口时对端口进行锁定。
在目标端,接收来自模块A和模块B的所有的请求:通过每个请求的发起端的引擎序号参数可以分别统计出来自模块A和模块B的总的请求数目,以及在接收端口上占的比例;例如:如果此时发现来自模块A的请求占90%,来自模块B的请求占10%;此时系统的IOPS等性能指标 未达到设计需求,则可向架构设计人员进行反馈,也可以对每个模块在接收端的端口上占的带宽进行限流,或者对模块A和模块B的请求的优先级进行调整的建议,从而对性能的影响进行探索和评估。
根据重新设定配置策略重新进行仿真建模运行以验证配置策略的性能表现。
通过本申请实施例提出的一种数据传输的建模方法,不仅对TLM2.0通用净核进行了有效的扩展,并对扩展的数据结构进行了申请、释放、排序等更高一层的管理。优化了代码结构,满足了更细化的性能仿真的分析需求,仿真速度快;具有良好的兼容性。对扩展的数据部分进行了封装,将功能数据和控制信息分开,内部提供单独的访问接口,能够和标准的符合TLM2.0通用协议的模型的进行通信,有较好的兼容性;当场景不需要这些扩展的信息时,也可以忽略扩展的这组接口,不用写专门的转换逻辑;方便对接标准协议的模型。当模型有更多新需求时,可以方便的在扩展类中添加相关的参数和方法,不用改变原始的数据管理的结构,扩充代价较小,能满足更多的需求。
如图2所示,本申请实施例的另一方面还提出一种数据传输建模系统,包括:
发起端1,发起端1被配置为根据仿真建模标准向传输请求中添加多个控制参数,并将添加控制参数后的传输请求发送到目标端;
目标端2,目标端2被配置为收传输请求并解析传输请求中对应的多个控制参数,根据配置策略读取控制参数并基于配置策略和控制参数处理传输请求并统计预定时间内处理的传输请求数和对应的控制参数;
数据分析模块3,数据分析模块3被配置为通过统计的预定时间内处理的传输请求数和对应的控制参数进行仿真分析;
仿真控制模块4,仿真控制模块4被配置为根据数据分析模块的仿真分析结果制定新的配置策略并将新的配置策略应用到下一预定时间的仿真传输中,并重复仿真过程直到得到最优的配置策略。
如图5所示,在本申请实施例的一些实施方式中,发起端1还包括:
数据存储池5,数据存储池5被配置为管理发起端的传输请求。
在本申请实施例的一些实施方式中,发起端1可选的被配置为:
在数据存储池5中为传输请求添加对应的控制参数;以及
根据传输请求的控制参数中的传输请求优先级对数据存储池中的传输请求进行排序并优先将优先级高的传输请求发送到目标端2。
如图5所示,在本申请实施例的一些实施方式中,系统还包括:
控制参数复位接口6,控制参数复位接口6被配置为复位发起端的引擎序号参数,复位传输请求的唯一标识参数,复位传输请求的优先级信息参数,复位对应传输请求的锁定标志;
控制参数设置接口7,控制参数设置7接口被配置为设置发起端的引擎序号参数,设置传输请求的唯一标识参数,设置对应传输请求的优先级信息参数,设置对应传输请求的锁定标志。
如图5所示,在本申请实施例的一些实施方式中,系统还包括:
控制参数查询接口8,控制参数查询接口被配置为获取发起端的引擎序号参数,获取传输请求的唯一标识参数,获取对应传输请求的优先级信息参数,获取对应传输请求传输的锁定标志。
如图3所示,本申请实施例的又一方面还提出一种计算机设备,包括:
至少一个处理器21;以及
存储器22,存储器22存储有可在处理器21上运行的计算机指令23,指令23由处理器21执行时实现上述实施方式中任意一项方法的步骤。
如图4所示,本申请实施例的再一方面还提出一种非易失性可读存储介质401,非易失性可读存储介质存储有计算机程序402,计算机程序402被处理器执行时实现上述实施方式中任意一项方法的步骤。
以上是本申请公开的示例性实施例,但是应当注意,在不背离权利要求限定的本申请实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本申请实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本申请实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,的程序可以存储于一种非易失性可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请实施例公开的范围(包括权利要求)被限于这些例子;在本申请实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本申请实施例 的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本申请实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请实施例的保护范围之内。

Claims (20)

  1. 一种数据传输建模方法,其特征在于,包括:
    在传输请求发起端根据仿真建模标准向传输请求中添加多个控制参数;
    在目标端接收所述传输请求并解析所述传输请求中对应的多个控制参数,根据配置策略读取所述控制参数并基于所述配置策略和所述控制参数处理所述传输请求并统计预定时间内处理的传输请求数和对应的控制参数;
    通过统计的预定时间内处理的传输请求数和对应的控制参数进行仿真分析;
    根据仿真分析结果制定新的配置策略并将所述新的配置策略应用到下一预定时间的仿真传输中,并重复仿真过程直到得到最优的配置策略;
  2. 根据权利要求1所述的方法,其特征在于,所述在传输请求发起端根据仿真建模标准向传输请求中添加多个控制参数包括:将所述发起端的编号作为发起端的引擎序号添加到所述传输请求中。
  3. 根据权利要求1所述的方法,其特征在于,所述在传输请求发起端根据仿真建模标准向传输请求中添加多个控制参数包括:
    为每一个传输请求生成对应的传输请求唯一标识并添加到所述传输请求中。
  4. 根据权利要求1所述的方法,其特征在于,所述在传输请求发起端根据仿真建模标准向传输请求中添加多个控制参数包括:
    为每一个传输请求设定优先级,并将所述优先级添加到所述传输请求中。
  5. 根据权利要求4所述的方法,其特征在于,还包括:
    在目标端根据所述传输请求的优先级对多个传输请求优先级进行排序,并根据排序结果优先处理排序靠前的传输请求。
  6. 根据权利要求1所述的方法,其特征在于,所述在传输请求发起端根据仿真建模标准向传输请求中添加多个控制参数包括:
    根据传输请求的传输模式为每一个传输请求设置锁定标志,并将所述锁定标志添加到所述传输请求中。
  7. 根据权利要求1所述的方法,其特征在于,所述在传输请求发起端根据仿真建模标准向传输请求中添加多个控制参数包括:
    在数据发起端创建数据存储池,并通过所述数据存储池管理所述发起端的传输请求;以及
    在所述数据存储池中为所述传输请求添加对应的控制参数。
  8. 根据权利要求7所述的方法,其特征在于,所述通过所述数据存储池管理所述发 起端的传输请求包括:
    根据传输请求的控制参数中的传输请求优先级对所述数据存储池中的传输请求进行排序并优先将优先级高的传输请求发送到目标端。
  9. 根据权利要求3所述的方法,其特征在于,所述传输请求唯一标识是所述传输请求的ID序号参数。
  10. 根据权利要求6所述的方法,其特征在于,所述锁定标志用于表示在所述传输请求在通过所述传输请求发起端的发送端口和所述目标端的接收端口时,是否需要锁定所述发送端口和所述接收端口。
  11. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    在所述传输请求传输完成的情况下,释放所述数据存储池中存储所述传输请求的存储空间。
  12. 根据权利要求1所述的方法,其特征在于,所述在传输请求发起端根据仿真建模标准向传输请求中添加多个控制参数,包括:
    将所述多个控制参数封装为新的数据结构,并将所述数据结构以追加的方式和通用结构合并生成新的传输请求。
  13. 根据权利要求1所述的方法,其特征在于,所述根据仿真分析结果制定新的配置策略并将所述新的配置策略应用到下一预定时间的仿真传输中,并重复仿真过程直到得到最优的配置策略,包括:
    以预定时间为间隔重复上述仿真过程直到所述分析结果满足预定性能指标。
  14. 一种数据传输建模系统,其特征在于,包括:
    发起端,所述发起端被配置为根据仿真建模标准向传输请求中添加多个控制参数,并将添加控制参数后的传输请求发送到目标端;
    目标端,所述目标端被配置为接收所述传输请求并解析所述传输请求中对应的多个控制参数,根据配置策略读取所述控制参数并基于所述配置策略和所述控制参数处理所述传输请求并统计预定时间内处理的传输请求数和对应的控制参数;
    数据分析模块,所述数据分析模块被配置为通过统计的预定时间内处理的传输请求数和对应的控制参数进行仿真分析;
    仿真控制模块,所述仿真控制模块被配置为根据数据分析模块的仿真分析结果制定新的配置策略并将所述新的配置策略应用到下一预定时间的仿真传输中,并重复仿真过程直到得到最优的配置策略;
    所述在传输请求发起端根据仿真建模标准向传输请求中添加多个控制参数包括:
    将所述多个控制参数封装为新的数据结构,并将所述数据结构以追加的方式和通用结构合并生成新的传输请求;
    所述根据仿真分析结果制定新的配置策略并将所述新的配置策略应用到下一预定时间的仿真传输中,并重复仿真过程直到得到最优的配置策略包括:
    以预定时间为间隔重复上述仿真过程直到所述分析结果满足预定性能指标。
  15. 根据权利要求14所述的系统,其特征在于,所述发起端还包括:
    数据存储池,所述数据存储池被配置为管理所述发起端的传输请求。
  16. 根据权利要求15所述的系统,其特征在于,所述发起端被配置为:
    在所述数据存储池中为所述传输请求添加对应的控制参数;以及
    根据传输请求的控制参数中的传输请求优先级对所述数据存储池中的传输请求进行排序并优先将优先级高的传输请求发送到目标端。
  17. 根据权利要求14所述的系统,其特征在于,还包括:
    控制参数复位接口,所述控制参数复位接口被配置为复位发起端的引擎序号参数,复位传输请求的唯一标识参数,复位传输请求的优先级信息参数,复位对应传输请求的锁定标志;
    控制参数设置接口,所述控制参数设置接口被配置为设置发起端的引擎序号参数,设置传输请求的唯一标识参数,设置对应传输请求的优先级信息参数,设置对应传输请求的锁定标志。
  18. 根据权利要求14所述的系统,其特征在于,还包括:
    控制参数查询接口,所述控制参数查询接口被配置为获取发起端的引擎序号参数,获取传输请求的唯一标识参数,获取对应传输请求的优先级信息参数,获取对应传输请求传输的锁定标志。
  19. 一种计算机设备,其特征在于,包括:
    至少一个处理器;以及
    存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求1-13任意一项所述方法的步骤。
  20. 一种非易失性可读存储介质,所述非易失性可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-13任意一项所述方法的步骤。
PCT/CN2023/082590 2022-10-18 2023-03-20 一种数据传输建模方法、系统、设备及非易失性可读存储介质 WO2024082537A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211271372.9A CN115348181B (zh) 2022-10-18 2022-10-18 一种数据传输建模方法、系统、设备及存储介质
CN202211271372.9 2022-10-18

Publications (1)

Publication Number Publication Date
WO2024082537A1 true WO2024082537A1 (zh) 2024-04-25

Family

ID=83957681

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/082590 WO2024082537A1 (zh) 2022-10-18 2023-03-20 一种数据传输建模方法、系统、设备及非易失性可读存储介质

Country Status (2)

Country Link
CN (1) CN115348181B (zh)
WO (1) WO2024082537A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115348181B (zh) * 2022-10-18 2023-03-17 苏州浪潮智能科技有限公司 一种数据传输建模方法、系统、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005301981A (ja) * 2003-11-18 2005-10-27 Quickturn Design Syst Inc エミュレーションシステムとエミュレータの間でのシミュレーション及び可視化データ転送のための最適化インターフェース
CN113408139A (zh) * 2021-06-30 2021-09-17 中国南方电网有限责任公司 电力通信网络路径控制仿真验证方法、装置、设备和介质
CN114064562A (zh) * 2022-01-17 2022-02-18 苏州浪潮智能科技有限公司 一种片上网络的esl建模的方法、装置、设备及介质
CN114238177A (zh) * 2021-12-01 2022-03-25 苏州浪潮智能科技有限公司 Axi总线通信方法、装置、设备和介质
CN115348181A (zh) * 2022-10-18 2022-11-15 苏州浪潮智能科技有限公司 一种数据传输建模方法、系统、设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103970939A (zh) * 2014-04-22 2014-08-06 南京航空航天大学 一种层次化可重构的片上网络建模与仿真系统
US10635843B2 (en) * 2015-06-04 2020-04-28 Synopsys, Inc. Simulation modeling frameworks for controller designs
CN111173510A (zh) * 2020-03-14 2020-05-19 天地科技股份有限公司 一种用于复杂条件工作面的综采装备智能控制方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005301981A (ja) * 2003-11-18 2005-10-27 Quickturn Design Syst Inc エミュレーションシステムとエミュレータの間でのシミュレーション及び可視化データ転送のための最適化インターフェース
CN113408139A (zh) * 2021-06-30 2021-09-17 中国南方电网有限责任公司 电力通信网络路径控制仿真验证方法、装置、设备和介质
CN114238177A (zh) * 2021-12-01 2022-03-25 苏州浪潮智能科技有限公司 Axi总线通信方法、装置、设备和介质
CN114064562A (zh) * 2022-01-17 2022-02-18 苏州浪潮智能科技有限公司 一种片上网络的esl建模的方法、装置、设备及介质
CN115348181A (zh) * 2022-10-18 2022-11-15 苏州浪潮智能科技有限公司 一种数据传输建模方法、系统、设备及存储介质

Also Published As

Publication number Publication date
CN115348181A (zh) 2022-11-15
CN115348181B (zh) 2023-03-17

Similar Documents

Publication Publication Date Title
US10062422B2 (en) Various methods and apparatus for configurable mapping of address regions onto one or more aggregate targets
US6970966B2 (en) System of distributed microprocessor interfaces toward macro-cell based designs implemented as ASIC or FPGA bread boarding and relative common bus protocol
US10664421B1 (en) Reordering responses in a high performance on-chip network
KR101467932B1 (ko) 상호접속부에서 멀티-쓰레드 오더링된 큐들에 대한 공유 저장기
JP5948628B2 (ja) 記憶システム及び方法
US7493426B2 (en) Data communication method and apparatus utilizing programmable channels for allocation of buffer space and transaction control
CN109791508A (zh) 具有多个可重配置区域的可配置逻辑平台
US20020124085A1 (en) Method of simulating operation of logical unit, and computer-readable recording medium retaining program for simulating operation of logical unit
WO2024082537A1 (zh) 一种数据传输建模方法、系统、设备及非易失性可读存储介质
JP2017211984A (ja) 再構成可能なマルチポートを具備するPCIeストレージシステムのためのQoSを認識した入出力管理方法、管理システム、及び管理装置
Wild et al. TAPES—Trace-based architecture performance evaluation with SystemC
TW201303870A (zh) 利用快閃記憶體介面的方法及裝置
Jiang et al. AXI-IC $^{\mathrm {RT}} $ RT: Towards a Real-Time AXI-Interconnect for Highly Integrated SoCs
CN107204922B (zh) 用于过滤事务的装置和方法
US11373024B1 (en) Circuit simulation based on a high-level language circuit specification
Ma et al. AXI, APB and AXI NOC Model Design Based on SysmteC
Agarwal System-Level Modeling of a Network-on-Chip
CN115114876A (zh) 一种访问内部总线的方法、系统、设备和存储介质
Lin et al. Design and Implementation of Multiport Ethernet Data Arbiter Based on AXI4-Stream
Vali Design and Implementation of a Multi Channel Circuit-Switched Network-on-Chip
YILDIZ DESIGN, IMPLEMENTATION AND VERIFICATION OF A HIGH-SPEED ON-CHIP PACKET SWITCH
Huang et al. Design and performance analysis of a reconfigurable arbiter
CN116932151A (zh) 一种事务处理方法、装置、设备及存储介质
Kamal et al. Design and analysis of DMA based network interface for NoC's router
CN118093472A (zh) 接口间的信号传输方法、存储介质及电子设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23878540

Country of ref document: EP

Kind code of ref document: A1