Method, device and verification device for determining data communication path

By using the first and second type of indicator bits in the path indication signal in the chip communication data, the problem of determining the data communication path and positioning bus hang-up in complex chip design is solved, and efficient path analysis and fault location are achieved.

CN119442988BActive Publication Date: 2025-04-22SMARTER SILICON (SHANGHAI) TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202510031323.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-01-08
Publication Date
2025-04-22
Estimated Expiration
2045-01-08

AI Technical Summary

Technical Problem

In complex chip design, it is difficult to determine the actual data communication path of the master node accessing the slave node and its scenario of positioning the bus dead problem during chip verification.

Method used

By carrying a path indication signal in the communication data, the slave node participating in the data transmission is marked with the first type of indication bit marker and the second type of indication bit marker master node, thereby determining the communication path status of the communication data.

Benefits of technology

Accurate analysis and determination of data communication paths are achieved, the chip verification process is simplified, and the positioning efficiency of bus hang-up problems is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119442988B_ABST
    Figure CN119442988B_ABST
Patent Text Reader

Abstract

The present application discloses a method, device and verification device for determining a data communication path, the method comprising: obtaining communication data between a master node and a slave node, the communication data carrying a path indication signal, the path indication signal comprising a first type of indication bit and a second type of indication bit, the first type of indication bit being used to indicate each slave node participating in the communication data transmission, the second type of indication bit being used to indicate the master node; the slave node being a node responding to a request from the master node; and determining a communication path status of the communication data based at least on the first type of indication bit and the second type of indication bit in the path indication signal.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of chip verification technology, and more specifically, to a method, device and verification device for determining a data communication path. Background Art

[0002] In complex chip design, the data path from a master node to a slave node usually includes many intermediate nodes. The master node can be, for example, a CPU (Central Processing Unit), a VDSP (Digital Signal Processor), a DPU (Data Processing Unit), etc. The slave node can be, for example, a DDR (Double Data Rate Synchronous Dynamic Random Access Memory); the intermediate nodes in the access path can be, for example, an internal cache (internal cache), an external cache (external cache), a security controller node, etc.

[0003] In an example of a communication path for a master to access a slave, the intermediate nodes passed include: Ln (internal cache), NOC (Network on Chip), SLC (system level cache), SEC (security controller). In actual applications, the communication paths between various nodes in the chip are complicated. During the chip verification process, it is usually necessary to analyze the actual data path for the master to access the slave and locate the scenario where the master accesses the slave bus and hangs up. Summary of the invention

[0004] In view of this, this application provides the following technical solutions:

[0005] A first aspect of the present application provides a method for determining a data communication path, comprising:

[0006] Obtaining communication data between a master node and a slave node, wherein the communication data carries a path indication signal, wherein the path indication signal includes a first type of indication bit and a second type of indication bit, wherein the first type of indication bit is used to indicate each slave node participating in the communication data transmission, and the second type of indication bit is used to indicate the master node; the slave node is a node that responds to a request from the master node;

[0007] The communication path status of the communication data is determined based on at least the first type indication bit and the second type indication bit in the path indication signal.

[0008] In a possible implementation, obtaining the communication data between the master node and the slave node includes:

[0009] Obtaining first communication data transmitted from the node to the master node;

[0010] The determining the communication path state of the communication data based at least on the first type of indication bit and the second type of indication bit in the path indication signal comprises:

[0011] Obtaining first type of indication bit data in the path indication signal;

[0012] A communication path of the first communication data sent to the master node is determined based on the first type indicator bit data.

[0013] In one possible implementation, the first communication data passes through several slave nodes. When the first communication data passes through any slave node, the slave node sets the corresponding first-type indication bit in the path indication signal to a first state, and the first state is used to indicate that the first communication data is transmitted via the corresponding slave node.

[0014] In a possible implementation, determining a communication path of the first communication data sent to the master node based on the first type indicator bit data includes:

[0015] The information of each slave node corresponding to all the indicator bits in the first type of indicator bit data whose state is the first state is saved in a first node storage unit subordinate to the master node;

[0016] A communication path of the first communication data is determined based on a plurality of slave node information stored in the first node storage unit.

[0017] In a possible implementation, the first communication data includes a data packet, and the method further includes:

[0018] When the first communication data passes through any slave node, the slave node obtains the data packet and saves the data packet to a first data storage unit belonging to the slave node;

[0019] When the first communication data passes through any slave node, the slave node obtains the second type of indicator bit data of the second state in the path indication signal, and saves the master node information corresponding to the second type of indicator bit data to a second node storage unit subordinate to the slave node;

[0020] The determining the communication path state of the communication data based at least on the first type of indication bit and the second type of indication bit in the path indication signal comprises:

[0021] The communication path state of the first communication data is determined based on the master node information stored in the second node storage unit corresponding to each slave node and the data packet stored in the first data storage unit.

[0022] In a possible implementation, obtaining the communication data between the master node and the slave node includes:

[0023] Obtaining second communication data transmitted from the master node to the slave node;

[0024] The determining the communication path state of the communication data based at least on the first type of indication bit and the second type of indication bit in the path indication signal comprises:

[0025] Obtaining second type of indication bit data in the path indication signal;

[0026] A communication path status of the second communication data is determined based on at least the second-type indicator bit data.

[0027] In a possible implementation, the master node that sends the second communication data sets the second type of indication bit corresponding to the master node in the path indication signal to a second state when sending the second communication data;

[0028] The determining the communication path state of the communication data based at least on the first type of indication bit and the second type of indication bit in the path indication signal comprises:

[0029] When the second communication data passes through any slave node, the slave node obtains the second indicator bit data of the second state in the path indication signal, and saves the master node information corresponding to the second indicator bit data into a third node storage unit subordinate to the slave node;

[0030] The communication path state of the second communication data is determined based on at least the master node information stored in the third node storage unit.

[0031] In a possible implementation, the second communication data includes a data packet and / or address information, and the method further includes:

[0032] When the second communication data passes through any slave node, the slave node obtains the data packet and / or the address information, and saves the data packet and / or the address information to a second data storage unit and / or an address storage unit subordinate to the slave node;

[0033] The determining of the communication path state of the second communication data based at least on the master node information stored in the third node storage unit comprises:

[0034] Determine the communication path state of the second communication data based on the master node information stored in the third node storage unit corresponding to each slave node and the auxiliary content comparison result;

[0035] The auxiliary content comparison result includes at least one of the following:

[0036] A comparison result between the data packets stored in the second data storage unit corresponding to each slave node and the data packets in the second communication data;

[0037] A comparison result between the address information stored in the address storage unit corresponding to each slave node and the address information in the second communication data.

[0038] A second aspect of the present application provides a device for determining a data communication path, including:

[0039] A communication data acquisition module, used to obtain communication data between a master node and a slave node, wherein the communication data carries a path indication signal, wherein the path indication signal includes a first type of indication bit and a second type of indication bit, wherein the first type of indication bit is used to indicate each slave node participating in the communication data transmission, and the second type of indication bit is used to indicate the master node; the slave node is a node that responds to a request from the master node;

[0040] A path status determination module is used to determine the communication path status of the communication data based on at least the first type of indication bit and the second type of indication bit in the path indication signal.

[0041] The third aspect of the present application provides a verification device, including:

[0042] A first node storage unit, subordinate to the master node, is used to store slave node information corresponding to an indicator bit whose state of the first type of indicator bit in the path indication signal carried by the first communication data is a first state;

[0043] A second node storage unit, subordinate to the slave node, is used to store the master node information corresponding to the indication bit of the second type of indication bit in the path indication signal carried by the first communication data, in which the indication bit is in the second state;

[0044] A third node storage unit, subordinate to the slave node, is used to store the master node information corresponding to the indication bit of the second type of indication bit being in the second state in the path indication signal carried by the second communication data;

[0045] The first communication data is the communication data transmitted from the slave node to the master node, and the second communication data is the communication data transmitted from the master node to the slave node;

[0046] The path indication signal includes a first type of indication bit and a second type of indication bit, the first type of indication bit is used to indicate each slave node participating in the first communication data transmission, and the second type of indication bit is used to indicate the master node; the slave node is a node that responds to the request of the master node. BRIEF DESCRIPTION OF THE DRAWINGS

[0047] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying any creative work.

[0048] Figure 1 A flow chart of a method for determining a data communication path disclosed in an embodiment of the present application;

[0049] Figure 2 An example diagram of a communication path of first communication data disclosed in an embodiment of the present application;

[0050] Figure 3 An example diagram of a communication path of second communication data disclosed in an embodiment of the present application;

[0051] Figure 4 The definition of the user signal of AXI disclosed in this application and the example diagram of the register description;

[0052] Figure 5 A schematic diagram of the structure of a device for determining a data communication path disclosed in an embodiment of the present application. DETAILED DESCRIPTION

[0053] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0054] Figure 1 This is a flow chart of a method for determining a data communication path disclosed in an embodiment of the present application. Figure 1 As shown, the method for determining a data communication path may include:

[0055] Step 101: Obtain communication data between a master node and a slave node, wherein the communication data carries a path indication signal, wherein the path indication signal includes a first type of indication bit and a second type of indication bit, wherein the first type of indication bit is used to indicate each slave node participating in the communication data transmission, and the second type of indication bit is used to indicate the master node.

[0056] Among them, the slave node is a node that responds to the request of the master node. The master node can be, for example, a CPU, GPU, VDSP, DPU, etc. The slave node can be the target access node of the master node, such as DDR, or it can be other intermediate nodes on the path of the master node to access the target node, such as internal cache, external cache, security control node, etc. The above-mentioned slave components can also refer to different ports in NIC (Network Interface Controller, network interface controller) / NOC (Network on Chip, a network architecture for efficient communication between multiple components in the current chip), or different channels on DDR.

[0057] The communication data includes communication content and path indication signals, wherein the communication content includes operation instructions, operation data, etc. The path indication signal may be a user signal in the communication protocol, i.e., a signal that can be customized by the user, such as a user signal in the AXI protocol. The path indication signal may also be other signals added by the user, or certain bits may be added to other signals in the communication protocol as first-type indication bits and second-type indication bits, and the other signals may be considered as path indication signals.

[0058] There are multiple first-class indicator bits in the path indication signal, and all nodes in the device that can serve as slave nodes correspond to a separate first-class indicator bit in the path indication signal. During the communication data transmission process, each time the communication data passes through a slave node, the slave node makes a corresponding mark on its corresponding first-class indicator bit in the path indication signal, so the first-class indicator bit in the path indication signal can indicate each slave node participating in the communication data transmission.

[0059] There are also multiple second-class indicator bits in the path indication signal. All nodes in the device that can serve as master nodes have a corresponding second-class indicator bit in the path indication signal. When each master node sends data outward, it will make a corresponding mark on the corresponding second-class indicator bit in the path indication signal, such as the master node setting the second-class indicator bit corresponding to itself. Specifically, the default value of all second-class indicator bits is 0. When the master node sends the second communication data, it can set the second-class indicator bit corresponding to itself in the path indication signal from 0 to 1. Therefore, when the communication data passes through the slave node, the slave node can record which master node the current transmission data comes from or which master node it needs to respond to.

[0060] Step 102: Determine the communication path status of the communication data based on at least the first type of indication bit and the second type of indication bit in the path indication signal.

[0061] The communication path status includes but is not limited to the slave nodes that the communication path passes through, the status of each slave node, whether the bus is hung, etc. Since the first type of indicator bits in the path indication signal carried by the communication data mark which slave nodes are involved in the transmission of the communication data, and the second type of indicator bits mark which master node the communication data comes from or will respond to, when performing simulations related to chip verification, it is possible to analyze which nodes the communication data has passed through and whether the communication data is hung at a certain node based on the first type of indicator bits and the second type of indicator bits in the path indication signal.

[0062] It should be noted that before the implementation of the present application scheme, it is necessary to pre-configure the correspondence between each first-class indicator bit in the path indication signal and each slave node, as well as the correspondence between each second-class indicator bit and each master node, and configure the above-mentioned correspondence to each node, so that each node can determine which indicator bit in the path indication signal to process and mark based on the correspondence.

[0063] The method for determining the data communication path described in this embodiment configures a first indicator bit that can indicate the slave node participating in the data transmission and a second indicator bit that can indicate the master node that sends the communication data or the master node that needs to respond in the path indication signal carried by the communication data, so the communication status of the communication data can be analyzed and determined based on the first indicator bit and the second indicator bit in the path signal. This implementation will not be affected by the data access path scenario, and determining the communication data path status does not require other additional components, providing users with a simple, easy-to-use and highly accurate data communication path determination solution.

[0064] In one implementation, obtaining the communication data between the master node and the slave node may include: obtaining first communication data transmitted from the slave node to the master node. The first communication data may be response data returned by the slave node when the master node accesses a slave node or data that the master node needs to read. Figure 2 This is an example diagram of the communication path of the first communication data disclosed in an embodiment of the present application, wherein the CPU is the master node, the DDR is the target node that the CPU needs to access, and the DDR, Ln, SLC and SEC are all slave nodes.

[0065] The first communication data is transmitted to the master node through each slave node in sequence. When the first communication data passes through each slave node, each slave node can set the first-class indicator bit corresponding to itself in the path indication signal for marking. For example, the default value of all first-class indicator bits is 0. When the first communication data passes through a slave node, the slave node sets the first-class indicator bit corresponding to itself from 0 to 1, proving that the first communication data has passed through the slave node.

[0066] Therefore, determining the communication path status of the communication data based at least on the first type of indicator bit and the second type of indicator bit in the path indication signal may include: obtaining the first type of indicator bit data in the path indication signal; and determining the communication path of the first communication data sent to the master node based on the first type of indicator bit data.

[0067] The first communication data may pass through several slave nodes. When the first communication data passes through any slave node, the slave node may set the corresponding first-type indication bit in the path indication signal to a first state (set state), and the first state is used to indicate that the first communication data is transmitted via the corresponding slave node.

[0068] The method of determining the communication path of the first communication data sent to the master node based on the first type of indicator bit data may include: saving each slave node information corresponding to all indicator bits in the first type of indicator bit data whose state is the first state to a first node storage unit subordinate to the master node; and determining the communication path of the first communication data based on the plurality of slave node information stored in the first node storage unit.

[0069] After receiving the first communication data, the master node can obtain all the first-type indicator bit data from the path indication signal therein, and store the slave node information corresponding to all the set first-type indicator bits therein into the first node storage unit of the master node. In this way, the communication path of the first communication data can be determined based on each slave node stored in the first node storage unit.

[0070] This embodiment details the determination of the communication path of the first communication data transmitted from the slave node to the master node. Since the information of each slave node passed through will be "recorded" in the path indication signal during the transmission of the first communication data, the implementation process of determining the communication path does not need to consider the specific data access path scenario, and data access in other scenarios will not interfere with the determination of the communication path of the first communication data. The method for determining the communication path of the first communication data in this embodiment is convenient and accurate, which helps to improve the verification efficiency of chip data access path verification.

[0071] In one implementation, the first communication data includes a data packet. Figure 2 , if the CPU sends a read data request to the DDR, the first communication data returned by the DDR based on the read data request includes a data packet. The method for determining a data communication path may also include: when the first communication data passes through any slave node, the slave node obtains the data packet and saves the data packet to a first data storage unit subordinate to the slave node; when the first communication data passes through any slave node, the slave node obtains the second type of indicator bit data of the second state in the path indication signal, and stores the master node information corresponding to the second type of indicator bit data to a second node storage unit subordinate to the slave node.

[0072] That is, if the first communication data carries a data packet, when passing through the slave node, the slave node will also obtain and save the data packet, and synchronously record the master node information corresponding to the second type of indicator bit data in the second state in the path indication signal. In this way, if the first communication data fails to be transmitted to the master node, it is considered that a slave node in the communication path has a fault or anomaly, and the first communication data cannot be successfully transmitted. Then, it can be determined to which slave node the first communication data has been transmitted based on the master node information recorded in each slave node and the corresponding data packet, and the fault location can be located.

[0073] Then, determining the communication path status of the communication data at least based on the first type of indicator bit and the second type of indicator bit in the path indication signal may include: determining the communication path status of the first communication data based on the master node information stored in the second node storage unit corresponding to each slave node and the data packet stored in the first data storage unit.

[0074] For example, Figure 2In the example, if the data packets of the first communication data and the corresponding master node information are recorded in both the slave node SEC and the slave node SLC, while the relevant storage unit of the slave node Ln does not record the data packets of the first communication data and the corresponding master node information, it can be determined that the first communication data is transmitted between the slave node SLC and the slave node Ln, then it is possible that the path between the slave node SLC and the slave node Ln fails or is abnormal, or the slave node Ln fails or is abnormal.

[0075] In this implementation, the slave node stores data packets to prevent the same master node from issuing multiple data accesses, and the multiple data accesses may pass through the same slave node. In this case, when the bus hangs, it is impossible to accurately determine the path breakpoint based only on the master node information recorded by the slave node. In this way, combined with the master node information and data packets recorded by the slave node, it is possible to clearly identify the slave node through which the first communication data has been transmitted, which helps to locate the fault location more quickly.

[0076] In one implementation, obtaining the communication data between the master node and the slave node may include obtaining second communication data transmitted from the master node to the slave node. The second communication data may be access data sent by the master node to a slave node, such as a read address instruction, a write data instruction, etc. Figure 3 This is an example diagram of the communication path of the second communication data disclosed in an embodiment of the present application, wherein the CPU is the master node, the DDR is the target node that the CPU needs to access, and the DDR, Ln, SLC and SEC are all slave nodes.

[0077] When sending the second communication data, the master node that sends the second communication data sets the second type of indication bit corresponding to the master node in the path indication signal to a second state, such as set. Figure 3 , the second communication data is sent from the master node CPU and transmitted to the DDR through each slave node in turn. Before sending the second communication data, the master node will set the second type of indication bit corresponding to itself in the path indication signal to mark it, indicating which master node sent the current second communication data to the slave nodes on the same path.

[0078] Determining the communication path status of the communication data based at least on the first type of indicator bit and the second type of indicator bit in the path indication signal may include: obtaining second type of indicator bit data in the path indication signal; and determining the communication path status of the second communication data based at least on the second type of indicator bit data.

[0079] After the second communication data is sent, it passes through several slave nodes. When the second communication data passes through any slave node, the slave node can obtain the second type of indication bit data from the path indication signal to determine which master node sent the current second communication data. In this way, when a bus hang occurs, it can be determined based on the master node information recorded in each slave node at which position the second communication data was disconnected and not transmitted further.

[0080] That is, when the second communication data passes through any slave node, the slave node obtains the second indicator bit data of the second state in the path indication signal, and saves the master node information corresponding to the second indicator bit data into a third node storage unit belonging to the slave node; then the communication path state of the second communication data can be determined at least based on the master node information saved in the third node storage unit.

[0081] This embodiment describes in detail the determination of the communication path of the second communication data transmitted from the master node to the slave node. The master node that sends the second communication data is "recorded" in the second communication data. Each slave node in the communication path can record the master node information when transmitting the second communication data. When a bus hang occurs later, the communication path of the second communication data can be directly determined based on the master node information recorded by the slave node. This implementation simplifies the determination of the master data communication path when facing complex scenarios with multiple master data access paths. The implementation method for determining the communication path is convenient and efficient, and can greatly facilitate the location of bus hang problems during chip verification.

[0082] In one implementation, the second communication data includes a data packet and / or address information, combined with Figure 3 , such as the second communication data sent by the CPU to the DDR is a write data instruction, which carries a data packet; or the second communication data sent by the CPU to the DDR is a read address instruction, which writes address information. The method for determining the data communication path may also include: when the second communication data passes through any slave node, the slave node obtains the data packet and / or the address information, and saves the data packet and / or the address information to a second data storage unit and / or address storage unit subordinate to the slave node.

[0083] That is, when the second communication data passes through the slave node, the slave node will store the data packet and / or address information carried in the second communication data, the data packet is stored in the second data storage unit, the address information is stored in the address storage unit, and the master node information corresponding to the second type of indicator bit data in the second state in the path indication signal is synchronously recorded. In this way, if the master node does not receive a response message after sending the second communication data, it is believed that a slave node in the communication path has a fault or anomaly and failed to successfully transmit the second communication data. Then, based on the master node information recorded in each slave node and the corresponding data packet and / or address information, it can be determined to which slave node the second communication data has been transmitted, and the fault location can be located.

[0084] Then, the determining of the communication path state of the second communication data based at least on the master node information stored in the third node storage unit may include: determining the communication path state of the second communication data based on the master node information stored in the third node storage unit corresponding to each slave node and the auxiliary content comparison result. The auxiliary content comparison result includes at least one of the following: the comparison result of the data packet stored in the second data storage unit corresponding to each slave node and the data packet in the second communication data; the comparison result of the address information stored in the address storage unit corresponding to each slave node and the address information in the second communication data.

[0085] For example, Figure 3 In the example, if the address information of the second communication data and the corresponding master node information are recorded in both the slave node Ln and the slave node SLC, while the address information of the second communication data and the corresponding master node information are not recorded in the relevant storage unit of the slave node SEC, it can be determined that the second communication data is transmitted between the slave node SLC and the slave node SEC, then there may be a fault or abnormality in the line between the slave node SLC and the slave node SEC, or there may be a fault or abnormality in the slave node SEC.

[0086] In this implementation, the slave node stores data packets and / or address information to prevent the same master node from issuing multiple data accesses, and the multiple data accesses may pass through the same slave node, which may cause the problem that the path breakpoint cannot be accurately determined based on the master node information recorded by the slave node when the bus is hung. Combined with the master node information and data packets recorded by the slave node, the slave node through which the second communication data has been transmitted can be clearly identified, helping to locate the fault location more quickly.

[0087] In order to better understand the implementation of the path indication signal, the following is an introduction taking the AXI protocol as an example.

[0088] Figure 4 The following is an example diagram of the definition of the user signal and register description of AXI disclosed in this application. Figure 4As shown, in different fields of the user signal in the AXI protocol (such as the data field corresponding to the read address and write address channels, the data field corresponding to the read data, the data field corresponding to the write response, etc.), several bits slave sig[n-1:0] are marked out, and one bit is assigned to each slave (slave node), and the salve passes information to the master (master node); at the same time, several bits are marked out: master sig[n-1:0], and one bit is assigned to each master, and the master passes information to the slave.

[0089] Define several registers, including but not limited to the following:

[0090] A set of path tags [n-1: 0]: used to record the slave nodes in the data access path;

[0091] A group of path addr []: used to record a transmission address;

[0092] A group of path data[]: used to record a transmission data;

[0093] path enable[]: used to enable the path verification function.

[0094] When starting chip verification, the master node first enables the path enable[] register, and then, when the master initiates a read address (Read Address) / write address (Write Address) channel transmission (corresponding to the communication data from the master to the slave, that is, the second communication data), the address information is recorded in its own path addr[] register; when the master initiates a write data (Write Data) transmission or receives a read data (Read Data) transmission, the master records the data information in its own pathdata[] register; each master sets the corresponding bit of the user signal on the Read Address / Write Address channel (corresponding to the communication data from the master to the slave, that is, the second communication data), and the slave identifies the corresponding master and records it in its corresponding path tags[] register, indicating that the second communication data sent by the master has reached the slave node; each slave sets the corresponding bit in the user signal on the Read Data / Write Response channel (corresponding to the communication data from the slave to the master, that is, the first communication data) in turn. After receiving the data signal, the master identifies the corresponding slave node in the user signal and records it in the path The tags[] register indicates that the slave has replied to the master.

[0095] In actual applications, both the master and slave have their own dedicated registers, and the registers of the master and slave can be configured based on the content that needs to be stored in the application scenario. The types of registers configured for the master and slave can be any of the following registers: path tags[] register for storing node information, path data[] register for storing data information, path addr[] register for storing address information, and path enable[] register for enabling path verification function.

[0096] Based on the above implementation, when it is necessary to determine the communication path or a bus hang problem occurs, the communication path or fault location can be analyzed and determined by parsing the contents recorded in each register of the master node and / or the slave node (corresponding to the storage unit in the previous text). The determination method involved and the related comparison can be found in the related introduction of the above embodiment.

[0097] When the scheme for determining the data communication path described in this application is used for chip verification, the verification steps can be unified, and there is no need to consider different node information in different scenarios. A unified verification scheme can be used, and the verification accuracy is high. The analysis data (address, data and flag records) are obtained at the master node to ensure that it belongs to the current transmission transaction, excluding interference from other master nodes, and the verification efficiency is higher. In addition, for the analysis and processing of bus deadlock problems in multiple master node scenarios, this scheme does not require other additional components, and can easily obtain the status information of each node in the bus to assist in quickly locating the fault location.

[0098] For the aforementioned method embodiments, for the sake of simplicity, they are all described as a series of action combinations, but those skilled in the art should be aware that the present application is not limited by the order of the actions described, because according to the present application, some steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present application.

[0099] The method is described in detail in the embodiments disclosed in the above-mentioned application. The method of the application can be implemented by various forms of devices. Therefore, the application also discloses a device, and a specific embodiment is given below for detailed description.

[0100] Figure 5 This is a schematic diagram of the structure of a device for determining a data communication path disclosed in an embodiment of the present application. Figure 5 As shown, the device 50 of the data communication path may include:

[0101] The communication data acquisition module 501 is used to obtain the communication data between the master node and the slave node, the communication data carries a path indication signal, the path indication signal includes a first type of indication bit and a second type of indication bit, the first type of indication bit is used to indicate each slave node participating in the communication data transmission, and the second type of indication bit is used to indicate the master node; the slave node is a node that responds to the request of the master node.

[0102] The path status determination module 502 is configured to determine the communication path status of the communication data based at least on the first type of indication bit and the second type of indication bit in the path indication signal.

[0103] The device for determining the data communication path described in this embodiment configures a first indicator bit that can indicate the slave node participating in the data transmission and a second indicator bit that can indicate the master node that sends the communication data or the master node that needs to respond in the path indication signal carried by the communication data, so the communication status of the communication data can be analyzed and determined based on the first indicator bit and the second indicator bit in the path signal. This implementation will not be affected by the data access path scenario, and determining the communication data path status does not require other additional components, providing users with a simple, easy-to-use and highly accurate data communication path determination solution.

[0104] The specific implementation of the above-mentioned device for determining a data communication path and the modules it contains, as well as other possible implementations, can be found in the corresponding parts of the method embodiment, which will not be repeated here.

[0105] Furthermore, the present application discloses a verification device, comprising:

[0106] The first node storage unit is subordinate to the master node and is used to store slave node information corresponding to an indicator bit in which the state of the first type of indicator bit in the path indication signal carried by the first communication data is a first state.

[0107] The second node storage unit is subordinate to the slave node and is used to store the master node information corresponding to the indication bit of the second type of indication bit in the path indication signal carried by the first communication data, which is in the second state.

[0108] The third node storage unit is subordinate to the slave node and is used to store the master node information corresponding to the indication bit of the second type of indication bit in the path indication signal carried by the second communication data, in which the indication bit is in the second state.

[0109] Among them, the first communication data is the communication data transmitted from the slave node to the master node, and the second communication data is the communication data transmitted from the master node to the slave node; the path indication signal includes a first type of indication bit and a second type of indication bit, the first type of indication bit is used to indicate each slave node participating in the first communication data transmission, and the second type of indication bit is used to indicate the master node; the slave node is a node that responds to the request of the master node.

[0110] When this node sends the second communication data to the slave node, it will identify the second type of indicator bit corresponding to itself in the second type of indicator bit, so that when the second communication data passes through any slave node, the slave node can determine the master node that sent the second communication data from the second type of indicator bit. When the first communication data sent by the slave node to the master node passes through each slave node, the slave node can still determine the master node information of the first communication data response based on the second type of indicator bit in the path indication signal. In the event of a bus hang, based on the master node information recorded in each slave node, it can be determined at which slave node the communication data is terminated.

[0111] When the first communication data passes through each slave node, the slave node can identify the first type of indicator bit corresponding to itself in the path indication signal. When the master node receives the first communication data, it can determine the various slave nodes through which the first communication data passes based on the first type of indicator bit in the path indication signal, and then determine the communication path of the first communication data.

[0112] When the verification device performs verification work, the implementation of determining the communication path state can refer to the corresponding part of the method embodiment for determining the data communication path. The solution based on determining the data communication path can assist in the accurate and efficient completion of related verification work.

[0113] Any device for determining a data communication path described in the above embodiments includes a processor and a memory. The communication data acquisition module, path status determination module, etc. in the above embodiments are stored in the memory as program modules, and the processor executes the above program modules stored in the memory to implement corresponding functions.

[0114] The processor includes a kernel, which retrieves the corresponding program module from the memory. One or more kernels can be set, and the processing of the access data can be realized by adjusting the kernel parameters.

[0115] The memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM, and the memory includes at least one memory chip.

[0116] In an exemplary embodiment, a computer-readable storage medium is also provided, which can be directly loaded into the internal memory of a computer and contains software code. After being loaded and executed by a computer, the computer program can implement the steps shown in any embodiment of the method for determining a data communication path.

[0117] In an exemplary embodiment, a computer program product is also provided, which can be directly loaded into the internal memory of a computer and contains software codes. After being loaded and executed by a computer, the computer program can implement the steps shown in any embodiment of the method for determining a data communication path described above.

[0118] In this specification, each embodiment is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the embodiments can be referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part.

[0119] It should also be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.

[0120] The steps of the method or algorithm described in conjunction with the embodiments disclosed herein may be implemented directly using hardware, a software module executed by a processor, or a combination of the two. The software module may be placed in a random access memory (RAM), a memory, a read-only memory (ROM), an electrically programmable ROM, an electrically erasable programmable ROM, a register, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.

[0121] The above description of the disclosed embodiments enables those skilled in the art to implement or use the present application. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present application. Therefore, the present application will not be limited to the embodiments shown herein, but will conform to the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A method for determining a data communication path, comprising: Obtaining communication data between a master node and a slave node, wherein the communication data carries a path indication signal, wherein the path indication signal includes a first type of indication bit and a second type of indication bit, wherein the first type of indication bit is used to indicate each slave node participating in the communication data transmission, and the second type of indication bit is used to indicate the master node; the slave node is a node that responds to a request from the master node; Wherein, during the communication data transmission process, each time the communication data passes through a slave node, the slave node marks the corresponding first-type indicator bit in the path indication signal; when each master node sends data outward, it marks the corresponding second-type indicator bit in the path indication signal; The communication path status of the communication data is determined based on at least the marks of the first-type indication bit and the second-type indication bit in the path indication signal.

2. The method for determining a data communication path according to claim 1, wherein obtaining communication data between a master node and a slave node comprises: Obtaining first communication data transmitted from the node to the master node; The determining the communication path state of the communication data based at least on the marking of the first type of indication bit and the second type of indication bit in the path indication signal comprises: Obtaining first type of indication bit data in the path indication signal; A communication path of the first communication data sent to the master node is determined based on the first type indicator bit data.

3. The method for determining a data communication path according to claim 2, wherein: The first communication data passes through several slave nodes. When the first communication data passes through any slave node, the slave node sets the corresponding first type indication bit in the path indication signal to a first state, and the first state is used to indicate that the first communication data is transmitted via the corresponding slave node.

4. The method for determining a data communication path according to claim 3, wherein determining the communication path of the first communication data sent to the master node based on the first type indicator bit data comprises: The information of each slave node corresponding to all the indicator bits in the first type of indicator bit data whose state is the first state is saved in a first node storage unit subordinate to the master node; A communication path of the first communication data is determined based on a plurality of slave node information stored in the first node storage unit.

5. The method for determining a data communication path according to claim 2, wherein the first communication data comprises a data packet, and the method further comprises: When the first communication data passes through any slave node, the slave node obtains the data packet and saves the data packet to a first data storage unit belonging to the slave node; When the first communication data passes through any slave node, the slave node obtains the second type of indicator bit data of the second state in the path indication signal, and saves the master node information corresponding to the second type of indicator bit data to a second node storage unit subordinate to the slave node; when the master node sends the communication data, the second type of indicator bit corresponding to the master node in the path indication signal is set to the second state, so that the slave node through which the communication data passes records which master node the current transmission data comes from or which master node needs to respond to; The determining the communication path state of the communication data based at least on the marking of the first type of indication bit and the second type of indication bit in the path indication signal comprises: The communication path state of the first communication data is determined based on the master node information stored in the second node storage unit corresponding to each slave node and the data packet stored in the first data storage unit.

6. The method for determining a data communication path according to claim 1, wherein obtaining communication data between a master node and a slave node comprises: Obtaining second communication data transmitted from the master node to the slave node; The determining the communication path state of the communication data based at least on the marking of the first type of indication bit and the second type of indication bit in the path indication signal comprises: Obtaining second type of indication bit data in the path indication signal; A communication path status of the second communication data is determined based on at least the second-type indicator bit data.

7. The method for determining a data communication path according to claim 6, wherein: The master node that sends the second communication data sets the second type of indication bit corresponding to the master node in the path indication signal to a second state when sending the second communication data; The determining the communication path state of the communication data based at least on the marking of the first type of indication bit and the second type of indication bit in the path indication signal comprises: When the second communication data passes through any slave node, the slave node obtains the second indicator bit data of the second state in the path indication signal, and saves the master node information corresponding to the second indicator bit data into a third node storage unit subordinate to the slave node; The communication path state of the second communication data is determined based on at least the master node information stored in the third node storage unit.

8. The method for determining a data communication path according to claim 7, wherein the second communication data comprises a data packet and / or address information, and the method further comprises: When the second communication data passes through any slave node, the slave node obtains the data packet and / or the address information, and saves the data packet and / or the address information to a second data storage unit and / or an address storage unit subordinate to the slave node; The determining of the communication path state of the second communication data based at least on the master node information stored in the third node storage unit comprises: Determine the communication path state of the second communication data based on the master node information stored in the third node storage unit corresponding to each slave node and the auxiliary content comparison result; The auxiliary content comparison result includes at least one of the following: A comparison result between the data packets stored in the second data storage unit corresponding to each slave node and the data packets in the second communication data; A comparison result between the address information stored in the address storage unit corresponding to each slave node and the address information in the second communication data.

9. A device for determining a data communication path, comprising: A communication data acquisition module, used to obtain communication data between a master node and a slave node, wherein the communication data carries a path indication signal, wherein the path indication signal includes a first type of indication bit and a second type of indication bit, wherein the first type of indication bit is used to indicate each slave node participating in the communication data transmission, and the second type of indication bit is used to indicate the master node; the slave node is a node that responds to a request from the master node; Wherein, during the communication data transmission process, each time the communication data passes through a slave node, the slave node marks the corresponding first-type indicator bit in the path indication signal; when each master node sends data outward, it marks the corresponding second-type indicator bit in the path indication signal; A path status determination module is used to determine the communication path status of the communication data based on at least the markings of the first type of indication bit and the second type of indication bit in the path indication signal.

10. A verification device, comprising: A first node storage unit, subordinate to the master node, is used to store slave node information corresponding to an indicator bit in which a state of a first type of indicator bit in a path indication signal carried by first communication data is a first state, wherein the first state is used to indicate that the first communication data is transmitted via a corresponding slave node; A second node storage unit, subordinate to the slave node, is used to store the master node information corresponding to the indication bit of the second type of indication bit in the path indication signal carried by the first communication data, in which the indication bit is in the second state; A third node storage unit, subordinate to the slave node, is used to store the master node information corresponding to the indication bit of the second type of indication bit being in the second state in the path indication signal carried by the second communication data; Wherein, when sending communication data, the master node sets the second type of indication bit corresponding to the master node in the path indication signal to the second state, so that the slave node through which the communication data passes records which master node the current transmission data comes from or which master node needs to respond to; The first communication data is the communication data transmitted from the slave node to the master node, and the second communication data is the communication data transmitted from the master node to the slave node; The path indication signal includes a first type of indication bit and a second type of indication bit, the first type of indication bit is used to indicate each slave node participating in the first communication data transmission, and the second type of indication bit is used to indicate the master node; the slave node is a node that responds to the request of the master node.

Citation Information

Patent Citations

  • Communication method and apparatus

    WO2023028863A1