A read transaction management method for AXI protocol on-chip network

By using a read transaction management device in an on-chip network based on the AXI protocol, the problem of the master device's transaction data volume exceeding network limits was solved, enabling sequential return of response data and efficient utilization of memory, thereby improving system performance.

CN119847953BActive Publication Date: 2025-12-09太初(无锡)电子科技有限公司
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411825693.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-12
Publication Date
2025-12-09
Estimated Expiration
2044-12-12

AI Technical Summary

Technical Problem

In on-chip networks using the AXI protocol, the outstanding capabilities of the master device can lead to transaction data volumes exceeding network limits, necessitating packet unpacking and response recycling, which impacts system performance.

Method used

A read transaction management device is adopted, including a depacketization module, a transaction sorting FIFO memory, and a response data memory. By splitting and rearranging read transaction requests, the sequential return of response data is ensured, and the response data is efficiently stored and managed in both consistent and inconsistent networks.

Benefits of technology

It improves system performance, ensures the sequential return of response data, and maximizes the use of response data storage under different network types, thus enhancing outstanding capabilities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119847953B_ABST
    Figure CN119847953B_ABST
Patent Text Reader

Abstract

The application discloses a read transaction management method for an AXI protocol on-chip network, and relates to the chip technical field.The method temporarily stores the unpacking attribute information of each group of unpacking contents after the read transaction request is unpacked when the read transaction request issued by a host device is acquired, and sequentially issues the rearranged number by taking the write pointer of the write transaction sorting FIFO memory as the unpacking ID, then temporarily stores the returned unpacking response in a response data memory, and reads out the unpacking response from the response data memory in sequence and returns the unpacking response to the host device in sequence by combining the unpacking ID and using the read pointer of the transaction sorting FIFO memory.The method realizes the continuous issuance of the read transaction request on the basis of guaranteeing the response data return sequence, thereby improving the system performance.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the chip technical field, and especially to a read transaction management method for AXI protocol on-chip network. BACKGROUND

[0002] With the development of technology, the on-chip network based on AXI (Advanced eXtensible Interface) protocol is more and more common, and the on-chip network bears the task of connecting various AXI characteristic master devices and slave devices into the network and ensuring reliable delivery of information and bandwidth to meet business needs.

[0003] In the AXI protocol, the outstanding technology enables the master device to continue to initiate multiple read-write transactions without receiving the response of the previous transaction, so in complex system design, the master device often supports the outstanding capability, which not only reduces the bus occupation time, but also improves the system response speed and task parallelism, and improves the flexibility and speed of data transmission.

[0004] However, the transaction data volume of the master device supporting the outstanding capability is often greater than the limit of the transaction data volume of the on-chip network, which leads to the need for the master device to perform request unpacking and response recycling and forwarding before accessing the on-chip network. Each read transaction request sent by the master device is unpacked into multiple unpacked transactions, and the multiple unpacked transactions have the same transaction ID as the original read transaction request, but different unpacked transactions are often sent to different slave devices. According to the order preserving requirement of the AXI protocol, the responses of the unpacked transactions sent to the same slave device are naturally ordered, so the unpacked transactions sent to the same slave device can be sent without waiting for the response of the previous unpacked transaction. However, the unpacked transactions sent to different slave devices need to be blocked until the response of the previous unpacked transaction is returned, so as to ensure the correct return of the response, but this will greatly affect the system performance. SUMMARY

[0005] The present application is directed to the above problems and technical needs, and proposes a read transaction management method for AXI protocol on-chip network, and the technical scheme of the present application is as follows:

[0006] A read transaction management method for AXI protocol on-chip network, the method is applied to a read transaction management device connected between a master device and an on-chip network, the read transaction management device includes an unpacking module, a transaction sorting FIFO memory and a response data memory, and the read transaction management method includes:

[0007] When the read transaction request issued by the master device is acquired, the request data carried by the read transaction request is split by the unpacking module to obtain multiple groups of unpacking contents arranged in sequence and the unpacking attribute information of each group of unpacking contents is determined, the unpacking attribute information of each group of unpacking contents includes the transaction ID of the read transaction request to which the unpacking attribute information belongs and the storage location information of the response data storage allocated for the unpacking content; the unpacking attribute information of each group of unpacking contents is written into the transaction sorting FIFO memory in sequence according to the arrangement order, and the value of the write pointer is taken as the unpacking ID of the unpacking content, and the unpacking request carrying the unpacking content and the corresponding unpacking ID is issued to the corresponding slave device through the network on chip;

[0008] When the unpacking response returned by the slave device for the unpacking request is acquired through the network on chip, the unpacking attribute information corresponding to the unpacking ID carried by the unpacking response in the transaction sorting FIFO memory is determined, and the unpacking response is stored in the response data storage according to the storage location information in the unpacking attribute information; based on the read pointer of the transaction sorting FIFO memory, each unpacking response is read from the corresponding storage location information in the response data storage in sequence according to the arrangement order of each group of unpacking contents, and the unpacking ID carried by the read unpacking response is replaced with the transaction ID in the corresponding unpacking attribute information, and then the unpacking response is returned to the master device in sequence.

[0009] Further technical solutions are that the read transaction management method further includes:

[0010] Determine the type of network on chip that the acquired read transaction request is to enter, the type of network on chip is a consistent network or a non-consistent network;

[0011] The request data carried by the read transaction request is split into multiple groups of unpacking contents in sequence according to the transaction data amount of the type of network on chip, and the storage location information of each group of unpacking contents in the response data storage is allocated in sequence according to the transaction data amount of each group of unpacking contents, and the unpacking attribute information of each group of unpacking contents is determined to include the transaction ID of the read transaction request to which the unpacking attribute information belongs, the type of network on chip that the read transaction request is to enter, and the storage location information of the unpacking content; wherein the data storage bit width of the response data storage is a predetermined bus bit width, and the predetermined bus bit width does not exceed the transaction data amount of the consistent network;

[0012] The multiple unpacking requests generated by unpacking the read transaction request to be entered into the consistent network are issued to the slave device in sequence through the consistent network, and the multiple unpacking requests generated by unpacking the read transaction request to be entered into the non-consistent network are issued to the slave device in sequence through the non-consistent network.

[0013] Further, the response data memory comprises a plurality of storage blocks with continuous storage addresses and managed by a linked list technology, and the data storage capacity of each storage block is consistent with the transaction data volume corresponding to the consistent network; the storage location information of each group of unpacked contents in the response data memory comprises:

[0014] For the plurality of groups of unpacked contents obtained by splitting the read transaction request to be entered into the consistent network, each storage block in the idle state in the response data memory is sequentially allocated to each group of unpacked contents in the arrangement order until the storage blocks are fully occupied or until all unpacked contents are allocated, and each storage block is allocated to a plurality of groups of unpacked contents to be entered into the consistent network;

[0015] For the plurality of groups of unpacked contents obtained by splitting the read transaction request to be entered into the non-consistent network, each storage block in the idle state in the response data memory is sequentially allocated to each group of unpacked contents in the arrangement order until all unpacked contents are allocated, and each storage block is allocated to a group of unpacked contents to be entered into the non-consistent network.

[0016] Further, the storage location information of each group of unpacked contents is a storage base address of the storage block allocated to the unpacked contents, and the unpacked attribute information of each group of unpacked contents further comprises a packet number of the unpacked contents, and the packet number indicates the arrangement order of the unpacked contents in all unpacked contents obtained by unpacking the read transaction request;

[0017] Storing the unpacked response in the response data memory according to the storage location information in the unpacked attribute information comprises:

[0018] Determining a storage base address according to the storage location information in the unpacked attribute information, determining an offset address according to the packet number in the unpacked attribute information and combining the storage base address to determine a target storage address, and storing the unpacked response at the target storage address in the response data memory.

[0019] Further, for each storage block, k storage entries are divided and set from the storage base address according to a predetermined bus width, the data storage capacity of each storage entry is the predetermined bus width, and the predetermined bus width is consistent with the transaction data volume corresponding to the consistent network; each storage entry corresponds to an offset address and has an entry identifier, and the integer parameter k≥2;

[0020] Determining an offset address according to the packet number in the unpacked attribute information and combining the storage base address to determine a target storage address comprises:

[0021] For each unpacked response with the predetermined bus bit width received via the consistent network, the packet number k in the unpacked attribute information corresponding to the unpacked ID carried by the unpacked response is taken modulo, and the offset address of the storage entry corresponding to the modulo result is taken as the offset address of the unpacked response to calculate the target storage address. After storing the unpacked response at the target storage address, the entry identifier of the storage entry at the target storage address is set to valid to identify that the storage entry is full.

[0022] For each unpacked response with the predetermined bus bit width received via the non-consistent network, the offset address of the first storage entry starting from the storage base address in the unpacked attribute information corresponding to the unpacked ID carried by the unpacked response is invalid, and the offset address of the unpacked response is calculated to obtain the target storage address. After storing the unpacked response at the target storage address, the entry identifier of the storage entry at the target storage address is set to valid to identify that the storage entry is full. When the entry identifier of the storage entry is invalid, it indicates that the storage entry is empty.

[0023] A further technical solution is that the read transaction management device further includes a bit width conversion component, and the request data carried by the read transaction request is sequentially split to obtain a plurality of unpacked contents and the storage location information of each unpacked content in the response data storage is sequentially allocated, and the bit width conversion component further includes:

[0024] After the request data carried by the read transaction request is converted into the predetermined bus bit width by the bit width conversion component, the request data is split into a plurality of unpacked contents according to the transaction data amount of the network-on-chip type, and the data bit width of each unpacked content is the predetermined bus bit width and the data amount is the transaction data amount of the network-on-chip type; after the unpacked request is generated according to each unpacked content, the unpacked request is converted into a data transmission bit width conforming to the network-on-chip by the bit width conversion component, and then sent to the slave device via the network-on-chip;

[0025] After the original response result conforming to the data transmission bit width of the network-on-chip is received via the network-on-chip, the original response result for one unpacked request is converted into a plurality of unpacked responses with the predetermined bus bit width by the bit width conversion component.

[0026] A further technical solution is that the unpacked attribute information of each unpacked content further includes the transaction length of the unpacked content, and each entry for storing the unpacked attribute information in the transaction ordering FIFO storage further has a response identifier and is initialized to an invalid state, and the read transaction management method further includes:

[0027] After a plurality of unpacked responses carrying the same unpacked ID are all stored in the response data storage, the response identifier of the entry in the transaction ordering FIFO storage corresponding to the unpacked attribute information of the unpacked ID carried by the unpacked response is set to the valid state;

[0028] When the response identifier of the entry corresponding to the current read pointer is detected as the invalid state, the current read pointer is kept unchanged; when the response identifier of the entry corresponding to the current read pointer is detected as the valid state, the target read address and the transaction length are determined according to the unpacking attribute information in the entry corresponding to the current read pointer, each beat unpacking response is read in turn from the target read address of the response data storage according to the transaction length, and the read pointer is updated.

[0029] Further, the read transaction management method further comprises:

[0030] After returning any beat unpacking response to the host device, the entry identifier of the storage entry of the storage block in the response data storage for storing the beat unpacking response is set as the invalid state.

[0031] For each group of unpacking content of the on-chip network type of the read transaction request to be entered, after returning each beat unpacking response of the unpacking request generated by the unpacking content to the host device, the response identifier of the entry in which the unpacking attribute information of the unpacking content is located in the transaction ordering FIFO storage is reset as the invalid state, and the storage block allocated to the unpacking content is recycled and reset as the idle state when the result of the modulo operation of the packet number of the returned unpacking content on k is k-1 or when the response identifier of the entry in which the unpacking attribute information of the last group of unpacking content is located is reset as the invalid state.

[0032] For each group of unpacking content of the on-chip network type of the read transaction request to be entered, after returning each beat unpacking response of the unpacking request generated by the unpacking content to the host device, the response identifier of the entry in which the unpacking attribute information of the unpacking content is located in the transaction ordering FIFO storage is reset as the invalid state, and the storage block allocated to the unpacking content is recycled and reset as the idle state.

[0033] Further, the unpacking attribute information of each group of unpacking content further comprises a tail identifier, in the multiple groups of unpacking content arranged in sequence obtained by splitting one read transaction request, the tail identifier of the last group of unpacking content is the valid state, and the tail identifier of each group of unpacking content other than the last group is the invalid state.

[0034] Further, the read transaction management device comprises multiple transaction ordering FIFO storages, each transaction ordering FIFO storage has a unique queue identifier, and the read transaction management method further comprises:

[0035] After the multiple groups of unpacked contents obtained by unpacking a read transaction request are sequentially issued to the slave devices via the network on chip, the other read transaction requests issued by the master device are continuously obtained; the unpacked attribute information of the multiple groups of unpacked contents obtained by unpacking each read transaction request is sequentially written into the same transaction ordering FIFO memory, the unpacked attribute information of the unpacked contents obtained by unpacking different read transaction requests is written into different transaction ordering FIFO memories, and the unpacked ID of each group of unpacked contents comprises the queue identifier of the written transaction ordering FIFO memory and the value of the write pointer when the unpacked attribute information is written into the transaction ordering FIFO memory;

[0036] When returning the unpacked response to the master device, the unpacked response read based on the read pointer of each transaction ordering FIFO memory is arbitrated and then returned to the master device in sequence.

[0037] The beneficial technical effects of the present application are:

[0038] The present application discloses a read transaction management method for AXI protocol network on chip, which unpacks the read transaction request issued by the master device through the added read transaction management device, issues the rearranged unpacked contents carrying the unpacked ID and temporarily stores the unpacked attribute information, then temporarily stores the returned unpacked response in the response data storage, and uses the read pointer of the transaction ordering FIFO memory to sequentially return the unpacked response to the master device in order. The method realizes the continuous issuance of read transaction requests on the basis of ensuring the return order of response data, thereby improving the system performance.

[0039] The method also considers the difference in transaction data volume between the consistent network and the non-consistent network, and under the premise of being able to compatible with the two application scenarios, by reasonably configuring the response data storage, efficient sharing and high utilization of the response data storage in the two network types can be realized, thereby ensuring the maximization of outstanding ability for the case that the master device needs to unpack and access different network on chips. BRIEF DESCRIPTION OF DRAWINGS

[0040] Figure 1 is a system framework schematic diagram of an embodiment of the present application.

[0041] Figure 2 is a flowchart of issuing unpacked transactions in the read transaction management method of an embodiment of the present application.

[0042] Figure 3 is a flowchart of writing the received unpacked response into the response data storage in the read transaction management method of an embodiment of the present application.

[0043] Figure 4This is a schematic diagram illustrating the process of reading the unpacking response from the response data storage and returning it to the master device in a read transaction management method according to an embodiment of this application.

[0044] Figure 5 This is a schematic diagram of the system framework of another embodiment of this application. Detailed Implementation

[0045] The specific embodiments of this application will be further described below with reference to the accompanying drawings.

[0046] This application discloses a read transaction management method for AXI protocol on-chip network. The application scenario for which this method is applied is: a master device connects to multiple slave devices via an on-chip network, and the master device and slave devices perform bidirectional data transmission based on the AXI protocol via the on-chip network. The master device sends a read transaction request to the slave device via the on-chip network, and the slave device reads the data according to the read transaction request and generates response data to return to the master device via the on-chip network.

[0047] Based on this application scenario, this application adds a read transaction management device between the master device and the on-chip network. This read transaction management device executes the read transaction management method of this application to manage the request sending and response return process between the master device and the slave device. Please refer to... Figure 1 The system architecture diagram shown indicates that the read transaction management device includes an unpacking module, a transaction sorting FIFO memory, and a response data memory. In one embodiment, the response data memory is implemented using SRAM (Static Random-Access Memory).

[0048] The read transaction management method implemented by this read transaction management device includes the following steps: a request issuance process, a response storage process, and a response feedback process, which are described below:

[0049] I. For the request issuance process, please refer to [link / reference]. Figure 2 The flowchart shown includes the following steps:

[0050] Step 210: Obtain the read transaction request issued by the master device. The read transaction request issued by the master device carries the request data and the transaction ID. The transaction ID of each read transaction request is used to uniquely identify a read transaction request.

[0051] In practical applications, the on-chip network between the master and slave devices includes a consistent network and a non-consistent network. For a master device that supports outstanding capabilities, it will send read transaction requests to both the consistent and non-consistent networks. Therefore, each read transaction request will also carry the type of on-chip network to be entered, which is either a consistent network or a non-consistent network.

[0052] Step 220, using the unpacking module to split the request data carried by the read transaction request to obtain a plurality of groups of unpacked content arranged in sequence.

[0053] The request data carried by the read transaction request exceeds the single transaction data amount of the network on a chip, so the request data carried by the read transaction request needs to be unpacked before being issued to the network on a chip, and each group of unpacked content obtained by splitting meets the single transaction data amount requirement of the network on a chip.

[0054] As described above, the actual network on a chip includes two types, and the consistency network and the non-consistency network have different limits on the single transaction data amount: the consistency network usually limits the single transaction data amount and boundary according to the size of the cache line, and the single transaction data amount is small, such as the common single transaction data amount of 64B. The non-consistency network usually limits the single transaction data amount and boundary according to the network jolt resistance, transmission energy efficiency ratio, etc., and the single transaction data amount is large, such as the common single transaction data amount of 1KB.

[0055] Therefore, in order to meet the single transaction data amount requirements of different types of networks on a chip, so that the method can be applied to two different types of networks on a chip. In one embodiment, first determine the type of network on a chip to be entered by the read transaction request, and then split the request data carried by the read transaction request into a plurality of groups of unpacked content according to the transaction data amount of the network on a chip, and the data amount of each group of unpacked content obtained by splitting is the transaction data amount of the type of network on a chip to be entered.

[0056] Step 230, determine the unpacking attribute information of each group of unpacked content

[0057] Each group of unpacked content obtained by splitting a read transaction request has the transaction ID of the read transaction request, and before each group of unpacked content is issued to the slave device, the storage location information in the response data storage is first allocated to each group of unpacked content, so as to ensure that the response data returned by each group of unpacked content has its own independent storage space, avoiding data errors.

[0058] In addition, as described above, the read transaction request issued by the master device may enter a consistency network or a non-consistency network, so in order to distinguish the type of network on a chip to be entered by the unpacked content, in another embodiment, the unpacking attribute information of each group of unpacked content also includes the type of network on a chip to be entered by the read transaction request.

[0059] The multiple groups of unpacked contents obtained by splitting the read transaction request are arranged in sequence according to the order of the request data carried by each group of unpacked contents, and therefore in another embodiment, the unpacking attribute information of each group of unpacked contents further comprises a packet number of the group of unpacked contents, which is used to indicate the arrangement order of the group of unpacked contents in all unpacked contents obtained by unpacking the read transaction request.

[0060] In another embodiment, the unpacking attribute information of each group of unpacked contents further comprises a tail identifier, and in the multiple groups of unpacked contents obtained by splitting the read transaction request and arranged in sequence, the tail identifier of the last group of unpacked contents is in a valid state, and the tail identifier of each other group of unpacked contents is in an invalid state, and therefore the tail identifier in the unpacking attribute information of each group of unpacked contents can be used to determine whether the group of unpacked contents is the last group of unpacked contents obtained by splitting the read transaction request.

[0061] In another embodiment, the unpacking attribute information of each group of unpacked contents further comprises a transaction length of the unpacked contents.

[0062] In summary, the unpacking attribute information of each group of unpacked contents comprises the transaction ID of the read transaction request to which the group of unpacked contents belongs, the storage location information, the type of network-on-chip to which the read transaction request to which the group of unpacked contents belongs is to be entered, the packet number, the tail identifier, and the transaction length.

[0063] Since the read transaction request can be entered into a consistent network or a non-consistent network, the unpacked contents obtained by splitting the read transaction request can comprise two different transaction data amounts, and therefore the storage location information in the response data storage for each group of unpacked contents needs to be allocated in sequence according to the transaction data amount of each group of unpacked contents. The unpacked contents of the two different transaction data amounts can occupy different storage sizes, and therefore in order to enable the unpacked contents of the two different transaction data amounts to share the response data storage and to maximize the utilization of the response data storage when only one type of network-on-chip is used in some period of time, in one embodiment, the data storage bit width of the response data storage is set as a predetermined bus bit width, and the predetermined bus bit width is not more than the transaction data amount of the consistent network, and further in order to simplify the implementation, the predetermined bus bit width is set as the transaction data amount of the consistent network.

[0064] In another aspect, in order to facilitate the management of storage space, the response data storage is divided into a plurality of storage blocks with consecutive storage addresses, and the storage blocks are managed by a linked list technique. The linked list of storage block states can provide the storage blocks in an idle state and the storage blocks that will be reset to the idle state after being used. The data storage capacity of each storage block is consistent with the transaction data volume corresponding to the non-consistent network. After such configuration, the data storage capacity of each storage block is exactly consistent with the transaction data volume corresponding to the non-consistent network, and a storage block can be directly allocated to the unpacked content to be entered into the non-consistent network. The transaction data volume corresponding to the consistent network is smaller than that of the non-consistent network, and therefore one storage block can be allocated to a plurality of unpacked contents to be entered into the consistent network. The storage location information of each group of unpacked contents allocated in the response data storage includes:

[0065] For the plurality of groups of unpacked contents obtained by splitting the read transaction request to be entered into the consistent network, the storage space of each storage block in the idle state in the response data storage is sequentially allocated to each group of unpacked contents from the storage base address until the storage block is full or until all unpacked contents of the read transaction request are allocated. The storage block in the idle state is a storage block that is not allocated to any other unpacked content. When a storage block is full but all unpacked contents of the read transaction request are not allocated, other storage blocks in the idle state are sequentially allocated. In this case, one or more storage blocks are allocated to the plurality of groups of unpacked contents obtained by splitting the read transaction request, and each storage block is allocated to a plurality of groups of unpacked contents to be entered into the consistent network, and the plurality of groups of unpacked contents share the same storage block. For example, in an example, the data storage capacity of each storage block is 1 KB, and the read transaction request to be entered into the consistent network is split into 18 groups of unpacked contents with a transaction data volume of 64 B. The storage space of a storage block in the idle state from the storage base address is sequentially allocated to the first 16 groups of unpacked contents, and the storage block is full. Another storage block in the idle state from the storage base address is sequentially allocated to the last two groups of unpacked contents, and the second storage block is not full, but the remaining storage space of the storage block is not allocated to the unpacked contents of other read transaction requests to avoid data errors between different read transaction requests.

[0066] For the multiple groups of unpacked contents obtained by splitting the read transaction request to be entered into the non-coherent network, each storage block in the idle state in the response data storage is allocated to each group of unpacked contents in turn according to the arrangement order until all unpacked contents are allocated, each storage block is allocated to a group of unpacked contents, and each group of unpacked contents occupies one storage block. For example, in the above example, the data storage capacity of each storage block is 1 KB, and the read transaction request to be entered into the non-coherent network is split to obtain two groups of unpacked contents with a transaction data amount of 1 KB, then two storage blocks in the idle state are allocated to the two groups of unpacked contents respectively.

[0067] Through the above allocation, the storage address allocated to each group of unpacked contents can be determined to generate the storage location information of the unpacked contents.

[0068] In step 240, the unpacked attribute information of each group of unpacked contents is written into the transaction ordering FIFO storage in turn according to the arrangement order, the write pointer is automatically updated by one after the unpacked attribute information of each group of unpacked contents is written, and the value of the write pointer when the unpacked attribute information is written is taken as the unpacked ID of the unpacked content, the unpacked ID of each group of unpacked contents is used to uniquely identify a group of unpacked contents, so that the ID rearrangement number work of the unpacked contents can be completed. In addition, each entry in the transaction ordering FIFO storage for storing the unpacked attribute information also has a response identifier and is initialized to an invalid state.

[0069] For example, in the example of Figure 1 , a read transaction request is split into unpacked content 1, unpacked content 2, unpacked content 3, …, in turn, and the unpacked attribute information of these unpacked contents is written into each entry in turn.

[0070] In step 250, the unpacked request carrying the unpacked content and the corresponding unpacked ID is issued to the corresponding slave device via the network on chip, including: multiple unpacked requests generated by unpacking the read transaction request to be entered into the coherent network are issued to the slave device via the coherent network in turn, and multiple unpacked requests generated by unpacking the read transaction request to be entered into the non-coherent network are issued to the slave device via the non-coherent network in turn.

[0071] The multiple unpacked requests generated by unpacking the same read transaction request are issued to multiple slave devices in turn according to the arrangement order of the unpacked contents, and even if multiple unpacked requests are issued to different slave devices, the response of the previous unpacked request does not need to be returned.

[0072] As described above, in order to better share the response data storage in the case of consistent network and non-consistent network, the data storage bit width of the response data storage is set to be the predetermined bus bit width. However, the read transaction request directly issued by the master device is consistent with the data transmission bit width of the master device but not necessarily the predetermined bus bit width, and the unpacking request issued to the slave device also needs to be consistent with the data transmission bit width of the network-on-chip but not necessarily the predetermined bus bit width. The read transaction management device further comprises a bit width conversion component. After the read transaction request consistent with the data transmission bit width of the master device is obtained in step 210, the request data carried by the read transaction request is first converted to the predetermined bus bit width by using the bit width conversion component, and then the read transaction request is split into multiple groups of unpacking content according to the transaction data amount of the network-on-chip type in step 220, and the data bit width of each group of unpacking content is the predetermined bus bit width and the data amount is the transaction data amount of the network-on-chip type. After the unpacking request is generated according to each group of unpacking content in step 240, the unpacking request is converted to be consistent with the data transmission bit width of the network-on-chip by using the bit width conversion component, and then sent to the slave device through the network-on-chip. In this way, no matter what data transmission bit width is used by the master device and the network-on-chip, the predetermined bus bit width can be uniformly managed, thereby improving the utilization rate of the response data storage.

[0073] II. Response registration process, please refer to Figure 3 The flowchart shown comprises the following steps:

[0074] In step 310, the unpacking response returned by the slave device for the unpacking request is obtained through the network-on-chip. Each slave device returns an unpacking response for each unpacking request, which carries the same unpacking ID as the unpacking request.

[0075] The unpacking response obtained in this step is each tap unpacking response with the predetermined bus bit width. Since the data transmission bit width of the network-on-chip is not necessarily the predetermined bus bit width, after the original response result consistent with the data transmission bit width of the network-on-chip is received through the network-on-chip, the original response result for one unpacking request is first converted to a plurality of tap unpacking responses with the predetermined bus bit width by using the bit width conversion component.

[0076] The transaction data amount contained in the original response result received through the consistent network is different from that received through the non-consistent network. When the predetermined bus bit width is consistent with the transaction data amount corresponding to the consistent network, the original response result received through the consistent network is converted to obtain one tap unpacking response, which is the complete response of one unpacking request. The original response result received through the non-consistent network is converted to obtain a plurality of tap unpacking responses carrying the same unpacking ID, and the plurality of tap unpacking responses together are the complete response of one unpacking request.

[0077] Step 320, determine the unpacking attribute information corresponding to the unpacking ID carried by each received bid unpacking response in the transaction ordering FIFO memory, since each unpacking ID is the write pointer when the unpacking attribute information is written into the transaction ordering FIFO memory, the unpacking attribute information corresponding to the unpacking ID can be located in the transaction ordering FIFO memory by using the unpacking ID, so as to determine the unpacking attribute information corresponding to the unpacking ID.

[0078] Step 330, according to the storage location information in the unpacking attribute information corresponding to the unpacking ID carried by each bid unpacking response, store the received bid unpacking response in the response data storage, the storage location information in the unpacking attribute information corresponding to the unpacking ID carried by each bid unpacking response is the storage location information allocated to the unpacking content with the unpacking ID, since the unpacking content, the unpacking request and each bid unpacking response returned to the unpacking request all carry the same unpacking ID, the storage location information allocated to the unpacking content is also the storage location information allocated to the unpacking request and the unpacking response, which is simplified in the subsequent description of the application.

[0079] Since each group of unpacking content entering the non-coherent network occupies a storage block separately, and each group of unpacking content entering the coherent network occupies the storage address in the storage block continuously, the specific storage address of the unpacking content can be determined by locating the storage block allocated to the unpacking content, so when generating the storage location information of each group of unpacking content, the specific storage address allocated to each group of unpacking content is not directly recorded as the storage location information, but the storage base address of the storage block allocated to each group of unpacking content is recorded as the storage location information of the unpacking content, in this case, according to the storage location information in the unpacking attribute information, only the storage block can be located, and further locating the specific storage address of each bid unpacking response is required.

[0080] The multiple bid unpacking responses obtained via the non-coherent network for one unpacking request are returned in sequence, so after locating the storage block allocated to the unpacking response according to the storage location information, each bid unpacking response can be stored in the storage block in sequence.

[0081] While only one bid unpacking response for one unpacking request is obtained via the coherent network, and the storage location information of multiple unpacking requests obtained by the same read transaction request is arranged in sequence, so the arrangement order of the unpacking request indicated by the packet number in the unpacking attribute information can determine the offset address, and then the target storage address of the unpacking response can be determined by combining the storage base address provided by the storage location information in the unpacking attribute information, and then the unpacking response is stored at the target storage address in the response data storage.

[0082] In order to save resources, in another embodiment, each storage block is divided into k storage entries according to a predetermined bus width from the storage base address, the data storage capacity of each storage entry is the predetermined bus width, each storage entry corresponds to an offset address and has an entry identifier, and the integer parameter k≥2. For example, in an example, the response data storage includes N storage blocks, the integer parameter N≥2, each storage block is divided into k storage entries, and the entry identifiers of the k storage entries of each storage block are Set[0]~Set[k-1], respectively. Based on this: Figure 1

[0083] For each packet response with a predetermined bus width received via the coherent network, the packet number in the packet attribute information corresponding to the packet ID carried by the packet response is used to take the modulus of k, and the offset address of the storage entry corresponding to the modulus result is taken as the offset address of the packet response to calculate the target storage address. After storing the packet response at the target storage address, the entry identifier of the storage entry at the target storage address is set to valid to identify that the storage entry is full. For example, in an example, each storage block is divided into 16 storage entries. The read transaction request to be entered into the coherent network is divided into 18 groups of transaction data with a data volume of 64B, and the packet numbers of the packet contents arranged in order are 1~16, 17 and 18, respectively. The packet contents with the packet numbers 1~16 are allocated to the storage entries 1~16 of the storage block 1, and the packet contents with the packet numbers 17 and 18 are allocated to the storage entries 1 and 2 of the storage block 2. When a packet response is received and it is determined that the corresponding packet number is 10, the storage base address of the storage block 1 and the packet number 10 can be determined according to the packet attribute information, then the result of taking the packet number 10 modulo k=16 is 10, so that the offset address is the offset address corresponding to the storage entry 10, and the target storage address corresponding to the packet response can be determined.

[0084] ​For each unpacked response with a predetermined bus bit width received via the non-coherent network, the first entry offset address of the storage entry starting from the storage base address in the unpacked attribute information corresponding to the unpacked ID carried by the unpacked response is calculated as the offset address of the unpacked response to obtain the target storage address, and after storing the unpacked response at the target storage address, the entry identifier of the storage entry at the target storage address is set to valid to identify that the storage entry is full, and the entry identifier of the storage entry is invalid indicating that the storage entry is empty. For example, in an example, each storage block is divided into 16 storage entries, and for any unpacked transaction to be entered into the non-coherent network, 16 unpacked responses of the unpacked transaction are received via the non-coherent network. When receiving an unpacked response, the storage block allocated to the unpacked request corresponding to the unpacked response can be determined according to the unpacked attribute information, and it is assumed to be storage block 3 in Figure 1 When receiving the first unpacked response of the unpacked transaction, the entry identifier of the first storage entry of the storage block 3 is queried to be invalid, and at this time the offset address of the first storage entry is taken as the offset address and the unpacked response is saved to the first storage entry. Then the entry identifier of the first storage entry is set to valid. When the second unpacked response of the unpacked transaction is continuously received, it is found that the entry identifier of the first storage entry is valid, but the entry identifier of the second storage entry is invalid, and at this time the offset address of the second storage entry is taken as the offset address and the unpacked response is saved to the second storage entry, and so on.

[0085] In addition, during the response registration process, when it is determined that a plurality of unpacked responses carrying the same unpacked ID are all stored in the response data storage, the response identifier of the entry in the transaction ordering FIFO memory corresponding to the unpacked attribute information carried by the unpacked ID is set to the valid state. Wherein:

[0086] Each unpacked response received via the coherent network is the entire response of a unpacked request, so after writing a unpacked response into the response data storage, the response identifier of the entry in the transaction ordering FIFO memory corresponding to the unpacked attribute information carried by the unpacked ID is set to the valid state.

[0087] And each unpacked response received via the non-coherent network is only a partial response of a unpacked request, and when it is determined that a unpacked request has not received and written all unpacked responses, the unpacked response is continuously received. When it is determined that all unpacked responses of a unpacked request are written, the response identifier of the entry in the transaction ordering FIFO memory corresponding to the current unpacked request is set to the valid state, indicating that all responses of the unpacked request are collected.

[0088] III. Response back process, please refer to Figure 4The flowchart shown includes the following steps:

[0089] The read pointer of the transaction ordering FIFO memory reads the unpacked responses from the corresponding storage location information in the response data memory in turn according to the arrangement order of each group of unpacked contents, and returns the unpacked responses to the host device in turn after replacing the unpacked ID carried by the unpacked responses with the transaction ID in the corresponding unpacked attribute information. Similarly, when returning the unpacked responses to the host device, the bit width conversion component is also needed to convert the unpacked responses with the predetermined bus bit width into unpacked responses conforming to the data transmission bit width of the host device. Specifically:

[0090] For the transaction ordering FIFO memory, when it is detected that the response identifier of the entry corresponding to the current read pointer is in the invalid state, it indicates that the unpacked responses of the entry corresponding to the current read pointer have not been collected, and the current read pointer remains unchanged at this time. When it is detected that the response identifier of the entry corresponding to the current read pointer is in the valid state, it indicates that the unpacked responses of the entry corresponding to the current read pointer have been collected, and at this time the target read address and the transaction length can be determined according to the unpacked attribute information in the entry corresponding to the current read pointer. The method for determining the target read address based on the packet number to determine the offset address and then combining the storage base address to calculate the target read address is the same as the method for determining the target storage address when storing, which will not be described here. Then the unpacked responses of the unpacked request of the entry corresponding to the current read pointer are read from the target read address of the response data memory in turn according to the transaction length and returned to the host device in turn. After all the unpacked responses of the unpacked request of the entry corresponding to the current read pointer are returned to the host device, the read pointer is automatically updated to point to the next entry. In this way, even if the unpacked responses of different unpacked transactions are returned out of order, the unpacked responses of each unpacked transaction obtained by unpacking the read transaction request can be returned to the host device in order in turn, and the response can be returned in order.

[0091] For example, in the example of Figure 1 , the current read pointer is at the entry corresponding to unpacked content 1, and it is assumed that at this time the read transaction management device collects all the unpacked responses of unpacked content 3, and sets the response identifier corresponding to unpacked content 3 to valid. However, the response identifier in the entry corresponding to unpacked content 1 pointed to by the current read pointer is still invalid, so no response is returned and the read pointer remains unchanged.

[0092] Then suppose the read transaction management device collects all unpacked responses of unpacked content 1, sets the response identifier corresponding to unpacked content 1 as valid, and at this time detects that the response identifier at the entry of unpacked content 1 pointed by the current read pointer is valid, unpacked responses of unpacked content 1 are read from the response data storage in turn and returned. After the return is completed, the response identifier at the entry of unpacked content 1 is reset as invalid, and the read pointer is automatically updated to the entry of unpacked content 2. The response identifier at the entry of unpacked content 2 pointed by the current read pointer is still invalid, so no response return is performed.

[0093] Then suppose the read transaction management device collects all unpacked responses of unpacked content 2, sets the response identifier corresponding to unpacked content 2 as valid, and at this time detects that the response identifier at the entry of unpacked content 2 pointed by the current read pointer is valid, unpacked responses of unpacked content 2 are read from the response data storage in turn and returned. After the return is completed, the response identifier at the entry of unpacked content 2 is reset as invalid, and the read pointer is automatically updated to the entry of unpacked content 3. At this time the response identifier at the entry of unpacked content 3 pointed by the current read pointer is also valid, so unpacked responses of unpacked content 3 are read from the response data storage in turn and returned, and after the return is completed, the response identifier at the entry of unpacked content 3 is reset as invalid, and the read pointer is automatically updated to the next entry. As can be seen from the example, although the responses of unpacked contents 1, 2 and 3 are returned in disorder, the responses are still returned to the host device in the order of unpacked contents 1, 2 and 3.

[0094] In addition, in the response reading process, the entry identifier of the storage entry of the storage block and the response identifier of each entry in the transaction ordering FIFO storage are dynamically updated, and the storage block is dynamically recycled, including:

[0095] (1) Dynamically updating the entry identifier of the storage entry of the storage block, including: after returning a unpacked response to the host device, setting the entry identifier of the storage entry of the storage block for storing the unpacked response in the response data storage as invalid.

[0096] (2) Dynamically updating the response identifier of each entry in the transaction ordering FIFO storage, including: after returning all unpacked responses of a group of unpacked contents to the host device, resetting the response identifier of the entry in the transaction ordering FIFO storage where the unpacked attribute information of the group of unpacked contents is located as invalid.

[0097] For each group of unpacked contents entering the consistency network, a group of unpacked contents has only one unpacked response, so after returning the unpacked response of a group of unpacked contents to the host device, the response identifier of the entry in the transaction ordering FIFO storage where the unpacked attribute information of the group of unpacked contents is located can be reset as invalid.

[0098] For each group of unpacked contents entering the non-coherent network, the group of unpacked contents has multiple unpacked responses, so the response identifier of the entry in the transaction ordering FIFO memory corresponding to the unpacked attribute information of the group of unpacked contents is reset to the invalid state only after all unpacked responses of the group of unpacked contents are returned to the host device.

[0099] (3) Dynamic recycling of storage blocks

[0100] For each group of unpacked contents entering the non-coherent network, the group of unpacked contents occupies a storage block independently, so the storage block allocated to the group of unpacked contents can be recycled and reset to the idle state only after all unpacked responses of the group of unpacked contents are returned to the host device.

[0101] For each group of unpacked contents entering the coherent network, multiple groups of unpacked contents share a storage block, so the storage block cannot be recycled directly after the unpacked response of a group of unpacked contents is returned to the host device. When it is detected that the result of taking the packet number of the currently returned unpacked content modulo k is k-1, or the response identifier of the entry in which the unpacked attribute information of the last group of unpacked contents is reset to the invalid state, it indicates that all unpacked responses in the storage block have been read out and returned to the host device. At this time, the storage block allocated to the group of unpacked contents can be recycled and reset to the idle state.

[0102] The read transaction management device of the present application can continuously issue read transaction requests without blocking after unpacking each read transaction request issued by the host device through the read transaction management method described above, and still ensures that the responses are returned in order to avoid data errors, thereby improving system efficiency on the basis of ensuring transaction accuracy. Further, the host device can continuously issue multiple read transaction requests, and the read transaction management device further includes multiple transaction ordering FIFO memories. Multiple transaction ordering FIFO memories can be used to continuously process multiple read transaction requests continuously issued by the host device, without waiting for all responses of the previous read transaction request to be returned before processing the next read transaction request. Please refer to Figure 5 The read transaction management method of the read transaction management device includes:

[0103] After the multiple groups of unpacked content obtained by unpacking one read transaction request are sequentially issued to the slave devices via the network on chip, other read transaction requests issued by the master device are continuously obtained, and then the unpacking and issuing are continuously performed according to the above method. The unpacking attribute information of the multiple groups of unpacked content obtained by unpacking each read transaction request is sequentially written into the same transaction sorting FIFO memory, and the unpacking attribute information of the unpacked content obtained by unpacking different read transaction requests is written into different transaction sorting FIFO memories. Thus, different transaction sorting FIFO memories are used to manage different read transaction requests to avoid conflicts. In this case, the unpacking ID of each group of unpacked content includes the queue identifier of the written transaction sorting FIFO memory and the value of the write pointer when the unpacking attribute information is written into the transaction sorting FIFO memory, and each transaction sorting FIFO memory has a unique queue identifier.

[0104] The response registration and response return of each read transaction request are the same, but in this case, the unpacked response return of the read transaction request is read according to the read pointer of each transaction sorting FIFO memory, and at this time, the unpacked response processes of multiple transaction sorting FIFO memories may have data conflicts. Therefore, when the unpacked response is returned to the master device, the unpacked response read based on the read pointer of each transaction sorting FIFO memory is arbitrated and then sequentially returned to the master device. This step can be realized by using an arbitrator built in the read transaction management device.

[0105] The above is only the preferred embodiment of the present application, and the present application is not limited to the above embodiment. It can be understood that other improvements and changes directly derived or thought by those skilled in the art without departing from the spirit and concept of the present application should be considered to be included in the protection scope of the present application.

Claims

1. A method for read transaction management of an AXI protocol oriented network-on-chip, characterized in that, A read transaction management method applied to a read transaction management device connected between a master device and a network-on-chip, the read transaction management method comprising: Upon obtaining a read transaction request issued by the master device, using a unpacking module to split request data carried by the read transaction request to obtain a plurality of unpacking contents arranged in sequence and to determine unpacking attribute information of each unpacking content, the unpacking attribute information of each unpacking content comprising a transaction ID of the read transaction request and storage location information of the unpacking content in a response data storage; writing the unpacking attribute information of each unpacking content into a transaction ordering FIFO storage in sequence according to the arrangement order and taking a value of a write pointer as an unpacking ID of the unpacking content, and issuing a unpacking request carrying the unpacking content and the corresponding unpacking ID to a corresponding slave device via the network-on-chip; Upon obtaining a unpacking response returned by the slave device for the unpacking request via the network-on-chip, determining unpacking attribute information corresponding to the unpacking ID carried by the unpacking response in the transaction ordering FIFO storage, and storing the unpacking response in the response data storage according to the storage location information in the unpacking attribute information; reading each unpacking response from the response data storage at the corresponding storage location information in sequence according to the arrangement order of each unpacking content based on a read pointer of the transaction ordering FIFO storage, and returning the read unpacking response to the master device in sequence after replacing the unpacking ID carried by the read unpacking response with the transaction ID in the corresponding unpacking attribute information.

2. The read transaction management method of claim 1, wherein, The read transaction management method further comprises: determining a network-on-chip type to be entered by the obtained read transaction request, the network-on-chip type being a consistent network or a non-consistent network; splitting the request data carried by the read transaction request to obtain a plurality of unpacking contents in sequence according to a transaction data amount of the network-on-chip type, and allocating storage location information of each unpacking content in the response data storage in sequence according to a transaction data amount of each unpacking content, to determine unpacking attribute information of each unpacking content comprising a transaction ID of the read transaction request, the network-on-chip type to be entered by the read transaction request, and the storage location information of the unpacking content; wherein a data storage bit width of the response data storage is a predetermined bus bit width, and the predetermined bus bit width does not exceed a transaction data amount of the consistent network; issuing a plurality of unpacking requests generated by unpacking the read transaction request to be entered into the consistent network to the slave device via the consistent network in sequence, and issuing a plurality of unpacking requests generated by unpacking the read transaction request to be entered into the non-consistent network to the slave device via the non-consistent network in sequence.

3. The read transaction management method of claim 2, wherein, The response data storage comprises a plurality of storage blocks with continuous storage addresses and managed by a linked list technology, a data storage amount of each storage block being consistent with a transaction data amount corresponding to the non-consistent network, and the storage location information of each unpacking content allocated in the response data storage comprising: For the multiple groups of unpacked contents split from the read transaction request to be entered into the consistent network, each storage block in the idle state in the response data storage is sequentially allocated to each group of unpacked contents in the arrangement order until the storage block is full or until all unpacked contents are allocated, and each storage block is allocated to several groups of unpacked contents to be entered into the consistent network; For the multiple groups of unpacked contents split from the read transaction request to be entered into the non-consistent network, each storage block in the idle state in the response data storage is sequentially allocated to each group of unpacked contents in the arrangement order until all unpacked contents are allocated, and each storage block is allocated to one group of unpacked contents to be entered into the non-consistent network.

4. The read transaction management method of claim 3, wherein, The storage location information of each group of unpacked contents is the storage base address of the storage block allocated to the unpacked contents, and the unpacked attribute information of each group of unpacked contents further includes a packet number of the unpacked contents, which indicates the arrangement order of the unpacked contents in all unpacked contents obtained by unpacking the read transaction request. Storing the unpacked response in the response data storage according to the storage location information in the unpacked attribute information includes: Determining a storage base address according to the storage location information in the unpacked attribute information, determining an offset address according to the packet number in the unpacked attribute information, and determining a target storage address by combining the storage base address, and storing the unpacked response at the target storage address in the response data storage.

5. The read transaction management method of claim 4, wherein, For each storage block, k storage entries are divided and set from the storage base address according to the predetermined bus width, the data storage amount of each storage entry is the predetermined bus width, and the predetermined bus width is consistent with the transaction data amount corresponding to the consistent network; each storage entry corresponds to an offset address and has an entry identifier, and the integer parameter k is greater than or equal to 2; Determining an offset address according to the packet number in the unpacked attribute information and determining a target storage address by combining the storage base address includes: For each beat unpacked response received via the consistent network and having the predetermined bus width, the packet number in the unpacked attribute information corresponding to the unpacked ID carried by the unpacked response is taken modulo k, and the offset address of the storage entry corresponding to the modulo result is taken as the offset address of the unpacked response to calculate the target storage address, and after storing the unpacked response at the target storage address, the entry identifier of the storage entry at the target storage address is set to valid to identify that the storage entry is full; For each beat unpacked response received via the non-consistent network and having the predetermined bus width, the first entry identifier invalid storage entry offset address starting from the storage base address in the unpacked attribute information corresponding to the unpacked ID carried by the unpacked response is taken as the offset address of the unpacked response to calculate the target storage address, and after storing the unpacked response at the target storage address, the entry identifier of the storage entry at the target storage address is set to valid to identify that the storage entry is full, and the entry identifier of the storage entry being invalid indicates that the storage entry is empty.

6. The read transaction management method of claim 5, wherein, The read transaction management device further comprises a bit width conversion component, which sequentially splits the request data carried by the read transaction request to obtain a plurality of unpacked contents, and sequentially allocates storage location information of each group of unpacked contents in the response data storage. After the request data carried by the read transaction request is converted into the predetermined bus bit width by the bit width conversion component, the request data is split into a plurality of unpacked contents according to the transaction data amount of the network-on-chip type, each group of unpacked contents has a data bit width of the predetermined bus bit width and a data amount of the transaction data amount of the network-on-chip type; after the unpacked request is generated according to each group of unpacked contents, the unpacked request is converted into a data transmission bit width conforming to the network-on-chip by the bit width conversion component, and then sent to the slave device via the network-on-chip; After the original response result conforming to the data transmission bit width of the network-on-chip is received via the network-on-chip, the original response result for one unpacked request is converted into a plurality of tap unpacked responses with a predetermined bus bit width by the bit width conversion component.

7. The read transaction management method of claim 5, wherein, The unpacked attribute information of each group of unpacked contents further comprises a transaction length of the unpacked content, each entry for storing unpacked attribute information in the transaction ordering FIFO storage further has a response identifier and is initialized to an invalid state, and the read transaction management method further comprises: After a plurality of tap unpacked responses carrying the same unpacked ID are all stored in the response data storage, the response identifier of the entry in the transaction ordering FIFO storage corresponding to the unpacked ID carried by the unpacked response is set to the valid state; When it is detected that the response identifier of the entry corresponding to the current read pointer is in the invalid state, the current read pointer is kept unchanged; when it is detected that the response identifier of the entry corresponding to the current read pointer is in the valid state, the target read address and the transaction length are determined according to the unpacked attribute information in the entry corresponding to the current read pointer, each tap unpacked response is read from the target read address of the response data storage according to the transaction length, and the read pointer is updated.

8. The read transaction management method of claim 7, wherein, The read transaction management method further comprises: After any tap unpacked response is returned to the master device, the entry identifier of the storage entry of the storage block for storing the unpacked response in the response data storage is set to invalid; For each group of unpacked contents to be entered into the network-on-chip type consistent network of the read transaction request, after each tap unpacked response of the unpacked request generated by the unpacked content is returned to the master device, the response identifier of the entry in the transaction ordering FIFO storage corresponding to the unpacked attribute information of the unpacked content is reset to the invalid state, and when it is detected that the result of taking modulo k of the packet number of the returned unpacked content is k-1 or the response identifier of the entry corresponding to the unpacked attribute information of the last group of unpacked contents is reset to the invalid state, the storage block allocated to the unpacked content is recycled and reset to the idle state. For each group of unpacked content of the read transaction request to be entered into the on-chip network type of non-consistent network, after each unpacked response of the unpacked request generated by the unpacked content is returned to the host device, the response identifier of the entry in the transaction ordering FIFO memory corresponding to the unpacked attribute information of the unpacked content is reset to an invalid state, and the storage block allocated to the unpacked content is recycled and reset to an idle state.

9. The read transaction management method of claim 8, wherein, The unpacked attribute information of each group of unpacked content further includes a tail identifier. In the multiple groups of unpacked content sequentially arranged by splitting a read transaction request, the tail identifier of the last group of unpacked content is in an effective state, and the tail identifiers of the other groups of unpacked content are in an invalid state.

10. The read transaction management method of claim 1, wherein, The read transaction management device includes a plurality of transaction ordering FIFO memories, each transaction ordering FIFO memory having a unique queue identifier, and the read transaction management method further includes: After the multiple groups of unpacked content obtained by unpacking a read transaction request are sequentially issued to the slave device via the on-chip network, other read transaction requests issued by the host device are continuously obtained; the unpacked attribute information of the multiple groups of unpacked content obtained by splitting each read transaction request is sequentially written into the same transaction ordering FIFO memory, the unpacked attribute information of the unpacked content obtained by splitting different read transaction requests is written into different transaction ordering FIFO memories, and the unpacked ID of each group of unpacked content includes the queue identifier of the written transaction ordering FIFO memory and the value of the write pointer when the unpacked attribute information is written into the transaction ordering FIFO memory; When the unpacked response is returned to the host device, the unpacked responses read based on the read pointer of each transaction ordering FIFO memory are arbitrated and sequentially returned to the host device.

Citation Information

Patent Citations

  • System and method for realizing communication of master chip and extended chip

    CN102508808A

  • Data sending method and device, data receiving method and device and electronic equipment

    CN109756491A