CN108733529B - Verification method and device for interleaving function of AXI (advanced extensible interface) cross switch - Google Patents

Verification method and device for interleaving function of AXI (advanced extensible interface) cross switch Download PDF

Info

Publication number
CN108733529B
CN108733529B CN201710258450.4A CN201710258450A CN108733529B CN 108733529 B CN108733529 B CN 108733529B CN 201710258450 A CN201710258450 A CN 201710258450A CN 108733529 B CN108733529 B CN 108733529B
Authority
CN
China
Prior art keywords
transmitted
data
identifier
data packet
data packets
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710258450.4A
Other languages
Chinese (zh)
Other versions
CN108733529A (en
Inventor
张晓辉
王朋宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Loongson Technology Corp Ltd
Original Assignee
Loongson Technology Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Loongson Technology Corp Ltd filed Critical Loongson Technology Corp Ltd
Priority to CN201710258450.4A priority Critical patent/CN108733529B/en
Publication of CN108733529A publication Critical patent/CN108733529A/en
Application granted granted Critical
Publication of CN108733529B publication Critical patent/CN108733529B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/27Built-in tests

Abstract

The embodiment of the invention provides a method and a device for verifying an interleaving function of an AXI cross switch. The method comprises the following steps: sending first interleaving data to an AXI cross switch to be tested, and receiving second interleaving data obtained by the AXI cross switch to be tested according to the first interleaving data, wherein the second interleaving data comprises a plurality of transmitted BEAT data packets, and each transmitted BEAT data packet carries an identifier of a subordinate transmitted data packet; sorting the plurality of transmitted BEAT packets into at least two transmitted packets based on the identity of the dependent transmitted packet; determining whether the at least two data packets to be transmitted are the same as the at least two transmitted data packets; and if so, determining that the interleaving function of the AXI cross switch to be tested is normal, and further realizing accurate verification of the interleaving function of the AXI cross switch to be tested.

Description

Verification method and device for interleaving function of AXI (advanced extensible interface) cross switch
Technical Field
The embodiment of the invention relates to computer technology, in particular to a method and a device for verifying an interleaving function of an AXI cross switch.
Background
The AXI (Advanced eXtensible Interface) is a bus protocol, and mainly describes a data transmission mode between a master device and a slave device, an AXI crossbar needs to be set in the process of interaction between one master device and a plurality of slave devices, and the AXI crossbar plays a role in routing, that is, different transmission data are sent to corresponding devices according to identifications carried by different transmission data, so as to complete cross transmission of the data.
In actual use, when different slave devices send different data to the same master device at the same time, data corresponding to different slave devices may be transmitted in the AXI bus in the form of interleaved data. For example, during the process of transferring data from the slave a to the master B, the slave C also starts to transfer data to the master B, and at this time, the two data are transferred in the form of interleaved data in the AXI bus, that is, both the transfer data of the slave a and the transfer data of the slave C are transferred in the AXI bus in a time sequence by using a BEAT packet as a unit and are arranged in a cross manner. The interleaved data is transmitted to the master device through the AXI crossbar switch, and the master device obtains the data corresponding to the slave device a and the data corresponding to the slave device C according to the identifier carried by each BEAT data packet in the interleaved data.
As can be seen from the above, in order to ensure that the AXI crossbar can accurately receive and transmit the interleaved data, the interleaving function of the AXI crossbar must be normal. However, in the prior art, in the development and production process of the AXI crossbar switch, the interleaving function of the AXI crossbar switch is not verified, and thus it cannot be guaranteed that the AXI crossbar switch can accurately receive and transmit interleaved data.
Disclosure of Invention
The embodiment of the invention provides a method and a device for verifying an interleaving function of an AXI (advanced extensible interface) crossbar switch, which are used for solving the problem that the interleaving function of the AXI crossbar switch is not verified in the development and production process of the AXI crossbar switch in the prior art, so that the AXI crossbar switch cannot be guaranteed to accurately receive and transmit interleaving data.
In a first aspect, an embodiment of the present invention provides a method for verifying an interleaving function of an AXI crossbar switch, including:
sending first interleaved data to an AXI cross switch to be detected, wherein the first interleaved data is obtained by splitting at least two data packets to be transmitted into a plurality of BEAT data packets to be transmitted and cross-arranging the BEAT data packets to be transmitted corresponding to different data packets to be transmitted according to an address sequence, wherein each BEAT data packet to be transmitted corresponding to the data packet to be transmitted carries an identifier of the data packet to be transmitted;
receiving second interleaving data obtained by the AXI cross switch to be tested according to the first interleaving data, wherein the second interleaving data comprises a plurality of transmitted BEAT data packets, and each transmitted BEAT data packet carries an identifier of a subordinate transmitted data packet;
sorting the plurality of transmitted BEAT packets into at least two transmitted packets based on the identity of the dependent transmitted packet;
determining whether the at least two data packets to be transmitted are the same as the at least two transmitted data packets;
and if the AXI cross switch to be detected is the same as the AXI cross switch to be detected, determining that the interleaving function of the AXI cross switch to be detected is normal.
In one possible implementation manner of the first aspect, before the sending the first interleaving data to the AXI crossbar to be tested, the method further includes:
and acquiring the first interleaved data according to a preset control instruction, wherein the control instruction is used for indicating a mode for acquiring the first interleaved data, and the mode comprises the step of acquiring by sending a read request to the AXI crossbar switch to be detected or acquiring from a preset transmission data packet set.
In another possible implementation manner of the first aspect, the obtaining the first interpolation data according to a preset control instruction specifically includes:
sending at least two read requests to the AXI cross switch to be tested according to a preset control instruction, wherein each read request carries an identifier of the read request and an address of the read request;
receiving the at least two read requests sent by the AXI cross switch to be detected, and acquiring a data packet to be transmitted corresponding to each read request according to the address of each read request, wherein each data packet to be transmitted comprises a plurality of BEAT data packets to be transmitted, which carry the identifier of the data packet to be transmitted, and the identifier of the data packet to be transmitted is the identifier of the read request;
and obtaining the first interleaving data according to each data packet to be transmitted.
In another possible implementation manner of the first aspect, before obtaining the first interleaving data according to each data packet to be transmitted, the method further includes:
setting a first buffer area for each read request according to the identifier of the read request, wherein the first buffer area comprises the identifier of the read request;
the obtaining the first interleaving data according to each data packet to be transmitted specifically includes:
storing the data packets to be transmitted into a first buffer area corresponding to the identifier of the read request according to the identifier of the read request carried by each data packet to be transmitted;
splitting the data packet to be transmitted stored in each first buffer area into a plurality of BEAT data packets to be transmitted;
reading the BEAT data packets to be transmitted from each first buffer area according to a preset reading sequence to obtain the first interleaved data; the reading sequence indicates the sequence of reading the BEAT data packets to be transmitted from the first buffer corresponding to the identification of different reading requests.
In another possible implementation manner of the first aspect, the identifier of the transmitted data packet is an identifier of the read request; before the sending at least two read requests to the AXI crossbar to be tested according to a preset control instruction, the method further includes:
setting a second buffer area for each read request according to the identifier of the read request, wherein the second buffer area comprises the identifier of the read request and the address of the read request;
the sorting the plurality of transmitted BEAT packets into at least two transmitted packets according to the identifier of the subordinate transmitted packet specifically includes:
and acquiring the transmitted data packets belonging to the same read request identifier according to the read request identifiers corresponding to the different second buffer areas, the read request identifier of each transmitted BEAT data packet and the read request address stored in each second buffer area.
In another possible implementation manner of the first aspect, the method further includes:
obtaining a first number of the BEAT data packets to be transmitted corresponding to the identifier of each BEAT data packet to be transmitted at the current moment according to the identifier of the data packet to be transmitted carried by each BEAT data packet to be transmitted in the first interleaved data sent at the current moment;
obtaining a second number of transmitted BEAT data packets corresponding to the identifier of each transmitted BEAT data packet at the current moment according to the identifier of the transmitted data packet carried by each transmitted BEAT data packet in the second interleaved data received at the current moment;
judging whether the first number under the same identifier is equal to the second number and equal to a preset threshold value;
if so, arranging the transmitted BEAT data packets into at least two transmitted data packets according to the identification of the subordinate transmitted data packets.
In a second aspect, an embodiment of the present invention provides an apparatus for verifying an interleaving function of an AXI crossbar switch, including:
the device comprises a sending module, a receiving module and a sending module, wherein the sending module is used for sending first interleaved data to an AXI cross switch to be detected, the first interleaved data is obtained by splitting at least two data packets to be transmitted into a plurality of BEAT data packets to be transmitted and cross-arranging the BEAT data packets to be transmitted corresponding to different data packets to be transmitted according to an address sequence, and each BEAT data packet to be transmitted corresponding to the data packet to be transmitted carries an identifier of the data packet to be transmitted;
a receiving module, configured to receive second interleaving data obtained by the AXI crossbar to be tested according to the first interleaving data, where the second interleaving data includes multiple transmitted BEAT data packets, and each transmitted BEAT data packet carries an identifier of a subordinate transmitted data packet;
and a processing module. For sorting the plurality of transmitted BEAT packets into at least two transmitted packets based on the identity of the dependent transmitted packet;
the judging module is used for determining whether the at least two data packets to be transmitted are the same as the at least two transmitted data packets;
and the determining module is used for determining that the interleaving function of the AXI cross switch to be tested is normal when the judging module judges that the data packet to be transmitted is the same as the transmitted data packet.
In one possible implementation manner of the second aspect, the apparatus further includes an obtaining module,
the obtaining module is configured to obtain the first interleaved data according to a preset control instruction, where the control instruction is used to indicate a manner of obtaining the first interleaved data, where the manner includes obtaining by sending a read request to the AXI crossbar to be tested or obtaining from a preset transmission data packet set.
In another possible implementation manner of the second aspect, the sending module is further configured to send at least two read requests to the AXI crossbar to be tested according to a preset control instruction, where each read request carries an identifier of the read request and an address of the read request;
the receiving module is further configured to receive the at least two read requests sent by the AXI crossbar to be tested;
the obtaining module is specifically configured to obtain a to-be-transmitted data packet corresponding to each read request according to an address of each read request, and obtain the first interleaved data according to each to-be-transmitted data packet; and each piece of data to be transmitted comprises a plurality of BEAT data packets to be transmitted, wherein the BEAT data packets to be transmitted carry the identifiers of the data packets to be transmitted, and the identifiers of the data packets to be transmitted are the identifiers of the reading requests.
In another possible implementation manner of the second aspect, the apparatus further includes a first setting module, where the obtaining module includes a first saving unit, a splitting unit, and an obtaining unit;
the first setting module is configured to set a first buffer area for each read request according to the identifier of the read request before the obtaining module obtains the first interleaved data according to each to-be-transmitted data packet, where the first buffer area includes the identifier of the read request;
the first storage unit is configured to store the data packets to be transmitted to a first buffer corresponding to the identifier of the read request according to the identifier of the read request carried by each data packet to be transmitted;
the splitting unit is configured to split the to-be-transmitted data packet stored in each first buffer into a plurality of to-be-transmitted BEAT data packets;
the obtaining unit is configured to read a BEAT data packet to be transmitted from each first buffer according to a preset reading sequence, and obtain the first interleaving data; the reading sequence indicates the sequence of reading the BEAT data packets to be transmitted from the first buffer corresponding to the identification of different reading requests.
In another possible implementation manner of the second aspect, the apparatus further includes a second device module,
a second device module, configured to set a second buffer area for each read request according to an identifier of the read request before the sending module sends at least two read requests to the AXI crossbar to be tested according to a preset control instruction, where the second buffer area includes the identifier of the read request and an address of the read request; the identifier of the transmitted data packet is the identifier of the read request;
the processing module is specifically configured to obtain transmitted data packets belonging to the same read request identifier according to the read request identifier corresponding to the different second buffer areas, the read request identifier of each transmitted BEAT data packet, and the address of the read request stored in each second buffer area.
In another possible implementation manner of the second aspect, the obtaining module is further configured to obtain, according to an identifier of a to-be-transmitted data packet carried by each to-be-transmitted BEAT data packet in the first interleaved data sent at the current time, a first number of to-be-transmitted BEAT data packets corresponding to the identifier of each to-be-transmitted data packet at the current time; obtaining a second number of transmitted BEAT data packets corresponding to the identifier of each transmitted BEAT data packet at the current moment according to the identifier of the transmitted data packet carried by each transmitted BEAT data packet in the second interleaved data received at the current moment;
the judging module is further configured to judge whether the first number and the second number under the same identifier are equal and equal to a preset threshold;
and the processing module is configured to, when the determining module determines that the first number and the second number under the same identifier are equal to each other and equal to a preset threshold, arrange the plurality of transmitted BEAT data packets into at least two transmitted data packets according to the identifier of the associated transmitted data packet.
The method and the device for verifying the interleaving function of the AXI cross switch provided by the embodiment of the invention send first interleaving data to the AXI cross switch to be tested, receive second interleaving data obtained by the AXI cross switch to be tested according to the first interleaving data, arrange the transmitted BEAT data packets into at least two transmitted data packets according to the identification of the subordinate transmitted data packets, determine whether the at least two data packets to be transmitted and the at least two transmitted data packets are the same, and if the at least two data packets to be transmitted and the at least two transmitted data packets are the same, determine that the interleaving function of the AXI cross switch to be tested is normal. And then realize the accurate verification of the function of inserting between AXI cross switches to be measured, has improved AXI cross switch's operational reliability, and the method of this embodiment is suitable for any model AXI cross switch simultaneously, has better reusability.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly introduced below, and it is obvious that the drawings in the following description are some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to these drawings without creative efforts.
Fig. 1 is a schematic flowchart of a first embodiment of a method for verifying an interleaving function of an AXI crossbar switch according to the present invention;
fig. 2 is a schematic flowchart of a second embodiment of a method for verifying an interleaving function of an AXI crossbar switch according to the present invention;
FIG. 2a is a schematic diagram of a UVM verification platform;
fig. 3 is a schematic flowchart of a fourth embodiment of a method for verifying an interleaving function of an AXI crossbar switch according to the present invention;
fig. 4 is a schematic structural diagram of a first verification apparatus for an interleaving function of an AXI crossbar switch according to an embodiment of the present invention;
fig. 5 is a schematic structural diagram of a second verification apparatus for an interleave function of an AXI crossbar switch according to an embodiment of the present invention;
fig. 6 is a schematic structural diagram of a third embodiment of an apparatus for verifying an interleaving function of an AXI crossbar switch according to the present invention;
fig. 7 is a schematic structural diagram of a fourth embodiment of an apparatus for verifying an interleaving function of an AXI crossbar switch according to the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
As the chip scale increases, the verification of the chip has taken up 70% to 80% of the entire chip development cycle, and therefore, it has become critical to improve the efficiency of chip verification.
The method for verifying the interleaving function of the AXI cross switch is suitable for the Verification stage of the AXI cross switch, such as a UVM (Universal Verification method) Verification platform, and can accurately verify the interleaving function of the AXI cross switch, so that the reliability of the AXI cross switch is improved.
It should be noted that the terms "first" and "second" are used herein for descriptive purposes only and are not to be construed as indicating or implying relative importance.
The technical solution of the present invention will be described in detail below with specific examples. The following several specific embodiments may be combined with each other, and details of the same or similar concepts or processes may not be repeated in some embodiments.
Fig. 1 is a flowchart illustrating a first embodiment of a method for verifying an interleaving function of an AXI crossbar switch according to the present invention. The implementation relates to a specific process of sending first interleaving data to an AXI crossbar to be tested, receiving second interleaving data passing through the AXI crossbar to be tested, judging whether a data packet to be transmitted corresponding to the first interleaving data is the same as a transmitted data packet corresponding to the second interleaving data, and further determining whether an interleaving function of the AXI crossbar to be tested is normal. As shown in fig. 1, the present embodiment may include:
s101, sending first interleaved data to an AXI cross switch to be detected, wherein the first interleaved data is obtained by splitting at least two data packets to be transmitted into a plurality of BEAT data packets to be transmitted and cross-arranging the BEAT data packets to be transmitted corresponding to different data packets to be transmitted according to an address sequence, wherein each BEAT data packet to be transmitted corresponding to the data packet to be transmitted carries an identifier of the data packet to be transmitted;
the execution subject of this embodiment may be a verification apparatus (hereinafter, referred to as a verification apparatus) having a function of verifying the interleaving of the AXI crossbar, and the verification apparatus may be a part of the test equipment or may be a separate device.
In this embodiment, different data packets to be transmitted carry different identifiers of the data packets to be transmitted, each data packet to be transmitted is split into BEAT data packets with BEAT granularity, the BEAT data packets to be transmitted corresponding to the different data packets to be transmitted are arranged in a cross manner according to an address sequence, first interleaved data is formed, and then the first interleaved data includes a plurality of BEAT data packets to be transmitted, which carry different identifiers of the data packets to be transmitted.
For example, suppose that the identifier of the data packet a to be transmitted is a, the data packet a to be transmitted includes 3 BEAT data packets to be transmitted, each of the BEAT data packets to be transmitted carries the identifier a of the data packet a to be transmitted, and at this time, the 3 BEAT data packets to be transmitted corresponding to the data packet a to be transmitted may be recorded as {1a, 2a, 3a }. Assuming that the identifier of the data packet B to be transmitted is B, the data packet B to be transmitted includes 4 BEAT data packets to be transmitted, each of the BEAT data packets to be transmitted carries the identifier B of the data packet B to be transmitted, at this time, the 4 BEAT data packets to be transmitted corresponding to the data packet B to be transmitted may be marked as {1B, 2B, 3B, 4B }, and the subscript thereof is the identifier of the data packet to be transmitted. In this way, the first interleaving data obtained according to the to-be-transmitted data packet a and the to-be-transmitted data packet B may be obtained by arranging each to-be-transmitted BEAT data packet in the to-be-transmitted data packet a and each to-be-transmitted BEAT data packet in the to-be-transmitted data packet B in a crossing manner according to an address sequence, for example, obtaining the first interleaving data may be: 1a, 1b, 2a, 2b, 3a, 3b, 4b, may be: 1b, 1a, 2b, 3a, 3b, 4b, or 1b, 2b, 1a, 2a, 3b, 3a, 4b, etc.
It should be noted that the arrangement manner of the first interleaved data obtained by cross-arranging the bed data packets to be transmitted of different data packets to be transmitted may be random, as long as it is ensured that the arrangement order of the bed data packets to be transmitted belonging to the same data packet to be transmitted in the first interleaved data is consistent with the address order. For example, if the address sequence of the 3 BEAT packets to be transmitted included in the packet a to be transmitted is {1a, 2a, 3a }, the arrangement sequence of the 3 BEAT packets to be transmitted in the first interleaving data is still 1a, 2a, 3 a.
Optionally, the identifier of the data packet to be transmitted may be an address of the data packet to be transmitted, and the first interleaved data packet may arrange, according to the carried address, the BEAT data packets to be transmitted belonging to the same address according to the transmission time, so as to obtain the data packet to be transmitted corresponding to the address (i.e., the identifier of the data packet to be transmitted). Optionally, the identifier of the data packet to be transmitted may also be an identifier of the request, for example, when the first interleaved data is obtained according to the read request, the identifier of the data packet to be transmitted may be an identifier of the read request, and a specific process thereof is described in the following specific embodiments, which is not described herein again.
S102, receiving second interleaving data obtained by the AXI cross switch to be tested according to the first interleaving data, wherein the second interleaving data comprises a plurality of transmitted BEAT data packets, and each transmitted BEAT data packet carries the identification of the subordinate transmitted data packet.
S103, arranging the transmitted BEAT data packets into at least two transmitted data packets according to the identification of the subordinate transmitted data packets.
Specifically, the AXI crossbar switch to be tested in this embodiment performs a data transfer process, that is, first interleaved data sent by the verification device is sent to the verification device, and in this process, no processing is performed on the first interleaved data. When the interleaving function of the AXI crossbar to be tested is normal, the AXI crossbar to be tested can completely send the first interleaving data to the verification device. When the interleaving function of the AXI crossbar to be tested is abnormal, the AXI crossbar to be tested cannot correctly send the first interleaving data to the verification device, for example, the interleaving data sent to the verification device loses part of information in the first interleaving data. Therefore, the verification device can determine whether the interleaving function of the AXI crossbar to be tested is normal according to the integrity of the interleaving data transmitted and received by the AXI crossbar to be tested.
The verification device receives second interleaving data obtained by the AXI crossbar switch to be tested according to the first interleaving data, and the second interleaving data is obtained by the first interleaving data, so that the second interleaving data includes all information of the first interleaving data, that is, the second interleaving data includes transmitted BEAT data packets corresponding to the identifiers of a plurality of different transmitted data packets. The verification device acquires the transmitted BEAT data packets belonging to the same transmitted data packet identifier according to the transmitted data packet identifier of each transmitted BEAT data packet in the second interleaved data, and further forms the transmitted data packets.
S104, determining whether the at least two data packets to be transmitted are the same as the at least two transmitted data packets.
And S105, if the AXI cross switch to be tested is the same as the AXI cross switch to be tested, determining that the interleaving function of the AXI cross switch to be tested is normal.
And the verification device obtains the data package to be transmitted corresponding to the identifier of each data package to be transmitted and the transmitted data package corresponding to the identifier of each transmitted data package according to the method. Then, it is verified whether each data packet to be transmitted and each data packet transmitted with the same identifier (that is, the identifier of the data packet to be transmitted and the identifier of the data packet transmitted are the same) are the same, and if so, it is determined that the interleaving function of the AXI crossbar switch to be tested is normal. For example, the verifying device matches the bed data packets to be transmitted in the data packets to be transmitted with the bed data packets transmitted in the data packets to be transmitted one by one according to the address sequence, and if the bed data packets to be transmitted corresponding to each address are the same as the bed data packets transmitted, it is indicated that the data packets to be transmitted are the same as the data packets transmitted.
And if the data packet to be transmitted and the transmitted data packet with the same identifier are different, determining that the interleaving function of the AXI cross switch to be tested is abnormal. Further, the verification apparatus of this embodiment may display the location of the error code of the AXI crossbar to be tested, for example, when the code of the AXI crossbar to be tested is an RTL (Register Transfer Level) code, the verification apparatus may display the error code segment of the RTL code.
In the method for verifying the interleaving function of the AXI crossbar switch provided in the embodiment of the present invention, first interleaving data is sent to an AXI crossbar switch to be tested, second interleaving data obtained by the AXI crossbar switch to be tested according to the first interleaving data is received, the plurality of transmitted BEAT data packets are arranged into at least two transmitted data packets according to the identifier of the associated transmitted data packet, whether the at least two data packets to be transmitted are the same as the at least two transmitted data packets is determined, and if the at least two data packets to be transmitted are the same as the at least two transmitted data packets, the interleaving function of the AXI crossbar switch to be tested is determined to be normal. And then realize the accurate verification of the function of inserting between AXI cross switches to be measured, has improved AXI cross switch's operational reliability, and the method of this embodiment is suitable for any model AXI cross switch simultaneously, has better reusability.
In a possible implementation manner of the present invention, before the foregoing S101, the present embodiment may obtain the first interpolation data according to the method of S100:
s100, acquiring the first interleaved data according to a preset control instruction, wherein the control instruction is used for indicating a mode for acquiring the first interleaved data, and the mode comprises the step of acquiring by sending a read request to the AXI cross switch to be detected or acquiring from a preset transmission data packet set.
Specifically, before the verifying device sends the first interleaving data to the AXI crossbar to be tested, the first interleaving data needs to be obtained according to a preset control instruction, for example, the verifying device may obtain the first interleaving data by sending a read request to the AXI crossbar to be tested, or obtain the first interleaving data from a preset transmission data packet set.
The specific process of the verifying device obtaining the first interleaving data from the preset transmission data packet set may be that the verifying device obtains at least two data packets to be transmitted according to a preset control instruction. For example, the verification device stores different data packets to be transmitted, and obtains at least two data packets to be transmitted after the verification device receives the control command. And then, the verification device divides the obtained at least two data packets to be transmitted into BEAT data packets to be transmitted with BEAT granularity, and cross-arranges the BEAT data packets to be transmitted according to the identifiers of the data packets to be transmitted carried by the different BEAT data packets to be transmitted to obtain the first interleaved data. Alternatively, the verification device may also obtain the first interpolation data according to other methods, for example, an operator directly inputs the first interpolation data to the verification device.
Fig. 2 is a flowchart illustrating a second embodiment of a method for verifying an interleaving function of an AXI crossbar switch according to the present invention. On the basis of the foregoing embodiments, this embodiment relates to a specific process in which the verifying apparatus determines whether the AXI crossbar to be tested is normal when the method for acquiring the first interleaved data is to acquire by sending a read request to the AXI crossbar to be tested. As shown in fig. 2, the method of this embodiment may include:
s201, setting a second buffer area for each read request according to the identifier of the read request, wherein the second buffer area comprises the identifier of the read request and the address of the read request.
A plurality of second buffers are provided in the authentication device, and addresses and identifications of different read requests are held in different second buffers. Before the verifying device sends at least two read requests to the AXI crossbar to be tested, the verifying device needs to obtain the identifiers of the read requests corresponding to different second buffer areas.
S202, sending at least two read requests to the AXI crossbar switch to be tested according to a preset control instruction, wherein each read request carries an identifier of the read request and an address of the read request.
S203, receiving the at least two read requests sent by the AXI cross switch to be detected, and obtaining a data packet to be transmitted corresponding to each read request according to the address of each read request, wherein each data packet to be transmitted comprises a plurality of BEAT data packets to be transmitted, which carry the identifier of the data packet to be transmitted, and the identifier of the data packet to be transmitted is the identifier of the read request.
In this embodiment, the verification apparatus simulates two devices (i.e., device a and device B), that is, the simulation device a sends at least two read requests to the device B through the AXI crossbar to be tested. Specifically, the verification apparatus (equivalent to the device a) sends at least two read requests to the AXI crossbar to be tested according to a preset control instruction, and the AXI crossbar to be tested receives the at least two read requests and then sends the at least two read requests to the verification apparatus (equivalent to the device B). And the verification device (equivalent to the device B) acquires the data packet to be transmitted corresponding to each read request according to the address of each read request. Each data packet to be transmitted carries an identifier of a corresponding read request, and each BEAT data packet in each data packet to be transmitted also carries an identifier of a corresponding read request, that is, in this embodiment, the identifier of the data packet to be transmitted is the identifier of the read request.
Optionally, the data packet to be transmitted in this embodiment may further include an address of each read request.
S204, obtaining the first interleaving data according to each data packet to be transmitted.
The verification device (equivalent to the device B) splits each to-be-transmitted data packet into BEAT data packets of BEAT granularity, each BEAT data packet carries an identifier of a corresponding read request, and data packets carrying different read request identifiers are arranged in a cross manner to obtain first interleaved data. Optionally, the verification device may also obtain the first interleaving data according to other methods, which is not limited in this embodiment as long as the verification device obtains the first interleaving data according to each to-be-transmitted data packet.
In a possible implementation manner of this embodiment, the verification apparatus of this embodiment further sets a first buffer area for each read request according to the identifier of the read request, where the first buffer area includes the identifier of the read request. That is, the verification apparatus of this embodiment is provided with a plurality of first buffers, and different first buffers are used to store different data packets to be transmitted, where different first buffers include different identifiers of the read request.
In this case, the S204 may specifically include:
s2041, according to the identifier of the read request carried by each data packet to be transmitted, storing the data packet to be transmitted into a first buffer area corresponding to the identifier of the read request.
S2042, splitting the to-be-transmitted data packet stored in each first buffer area into a plurality of BEAT data packets to be transmitted.
S2043, reading the BEAT data packets to be transmitted from each first buffer area according to a preset reading sequence, and obtaining the first interleaved data; the reading sequence indicates the sequence of reading the BEAT data packets to be transmitted from the first buffer corresponding to the identification of different reading requests.
Specifically, the data packets to be transmitted, which are obtained according to each read request, are stored in the corresponding first buffer area, and the data packets to be transmitted in each buffer area are split into a plurality of BEAT data packets to be transmitted. Wherein, each transmission BEAT data packet carries its affiliated label, and the transmission BEAT data packet of the same label arranges according to the order of address in the buffer.
And then, the verifying device reads the BEAT data packets to be transmitted from each first buffer area according to the preset reading sequence and the address sequence, and the reading sequence is the sequence of reading the BEAT data packets to be transmitted from different first buffer areas, so that the BEAT data packets to be transmitted obtained according to the reading sequence can form first interleaved data.
S205, sending first interleaving data to the AXI cross switch to be tested.
S206, receiving second interleaving data obtained by the AXI crossbar to be tested according to the first interleaving data.
The verification apparatus (equivalent to the device B) transmits the first interleaved data to the verification apparatus (equivalent to the device a) through the AXI crossbar to be tested. At this time, since it is not determined whether the interleaving function of the AXI crossbar to be tested is normal, the interleaving data passing through the AXI crossbar to be tested is referred to as second interleaving data. The second interleaving data comprises BEAT data packets carrying different transmitted data packet identifications.
Optionally, the first interleaving data and the second interleaving data may include an address of each read request. And the verification device obtains the transmitted data packet corresponding to the identifier of each transmitted data packet according to the BEAT data packet of the identifier of each transmitted data packet. Then, the verification device determines whether the data packet to be transmitted and the transmitted data packet corresponding to the same identifier are the same, and further determines whether the interleaving function of the AXI crossbar switch to be tested is normal.
S207, obtaining the transmitted data packets belonging to the same read request identifier according to the read request identifiers corresponding to the different second buffer areas, the read request identifier of each transmitted BEAT data packet and the read request address stored in each second buffer area.
The verification device (corresponding to the apparatus a) stores the transmitted BEAT data packet corresponding to the identifier of the transmitted data packet into the second buffer corresponding to the identifier of the transmitted data packet according to the transmission sequence of the transmitted BEAT data packet carried in the second interleaving data and the identifier of the transmitted data packet carried by each transmitted BEAT data packet (the identifier of the transmitted data packet is also the identifier of the read request), and forms the transmitted data packet together with the address of the read request stored in the second buffer. The transmitted data packet includes read data and a read address corresponding to different read requests. According to the method, transmitted data packets belonging to the same read request identifier can be obtained.
The above steps are further illustrated below by way of example:
assume that the authentication module of the present embodiment is a UVM authentication platform as shown in fig. 2a, and the UVM authentication platform includes a Master VIP (Master authentication module), a Slave VIP (Slave authentication module), and a Scoreboard (Scoreboard). Writing an RTL code of the AXI cross switch to be tested into a DUT (Design Under Test, module to be tested), wherein the DUT is equivalent to the AXI cross switch to be tested, and verifying the interleaving function of the DUT by using a UVM verification platform. The Master VIP may be written in System verilog language, including a transponder, a driver1 (driver 1), a receiver, and some feedback buffers. The Slave VIP is an authentication environment based on UVM, and includes standard components such as monitor, sequencer, and driver2 (driver 2).
Assuming that the Master VIP sends two read requests, two buffers are defined in the driver1 as buffer0 and buffer1, respectively, for storing the addresses of the two read requests. the transactor generates two read requests according to a preset control instruction and sends the two read requests to the driver 1. driver1 stores the address of each read request in buffer0 and buffer1, respectively, as described above. Driver1 then sends two read requests to the DUT, which in turn sends two read requests to the Slave VIP. And the monitor in the Slave VIP obtains read data corresponding to the address of the read request according to the address of the read request, and records each read data as a data packet to be transmitted corresponding to the identifier of each read request. Meanwhile, two buffers are defined in the driver2 of the Slave VIP as buffer2 and buffer3 respectively, the monitor sends each data packet to be transmitted to the driver2 through the sequence, and the driver2 stores the two data packets to be transmitted in the buffers 2 and 3 respectively. And splitting the data packets to be transmitted stored in the buffer2 and the buffer3 into the data packets to be transmitted, wherein each data packet to be transmitted carries the identifier of the data packet to be transmitted to which the data packet belongs. The driver2 reads the BEAT data to be transmitted from the buffer2 and the buffer3 according to a preset reading sequence, for example, the driver2 reads the BEAT data to be transmitted from the buffer2 and the buffer3 in a uniformly crossed manner, so as to form first interleaved data. The address of the read request is not included in the first interleaved data.
Then, the driver2 sends the first interleaved data to the DUT, and the DUT obtains the second interleaved data according to the first interleaved data (if the DUT is normal, the first interleaved data is identical to the second interleaved data, and if the DUT is not normally functional, the DUT may lose part of the data in the first interleaved data or change the first interleaved data). The DUT sends the second interleaved data to a driver1 in the Master VIP, the driver1 stores each transmitted BEAT data packet in a corresponding buffer according to the identifier of the transmitted data packet carried by each transmitted BEAT data packet in the second interleaved data, and the transmitted data packet and the address of the read request stored in the buffer form a transmitted data packet. The driver1 sends the transmitted data packet to a master _ compare (master compare module) in the scoreboard through the receiver, so that the master _ compare judges whether the data packet to be transmitted and the transmitted data packet are the same, if so, the insertion function of the DUT is normal, and if not, the error position of the RTL in the DUT is displayed, so that a worker can modify the data packet.
The method for verifying the interleaving function of the AXI crossbar switch provided by the embodiment of the invention acquires the first interleaving data by sending at least two read requests to the AXI crossbar switch to be detected, thereby enriching the form of acquiring the first interleaving data.
Fig. 3 is a flowchart illustrating a fourth embodiment of a method for verifying an interleaving function of an AXI crossbar switch according to the present invention. The embodiment relates to a specific process for judging whether a data packet to be transmitted and a transmitted data packet are transmitted or not. As shown in fig. 3, before the foregoing S103, the method of this embodiment may include:
s301, obtaining a first number of the BEAT data packets to be transmitted corresponding to the identifier of each BEAT data packet to be transmitted at the current moment according to the identifier of the data packet to be transmitted carried by each BEAT data packet to be transmitted in the first interleaved data sent at the current moment.
In this embodiment, after the verification device sends all the first interleaved data to the AXI crossbar to be tested and completely sends the second interleaved data to the AXI crossbar to be tested, the verification device determines whether the data packet to be transmitted is the same as the transmitted data packet, thereby avoiding the problem that the interleaved function of the AXI crossbar to be tested is determined inaccurately because the data packet to be transmitted is different from the transmitted data packet due to the fact that the first interleaved data or the second interleaved data is not completely transmitted.
S302, according to the identification of the transmitted data packet carried by each transmitted BEAT data packet in the second interleaved data received at the current moment, obtaining a second number of the transmitted BEAT data packets corresponding to the identification of each transmitted data packet at the current moment.
S303, judging whether the first number under the same identification is equal to the second number and equal to a preset threshold value.
S304, if yes, the transmitted BEAT data packets are arranged into at least two transmitted data packets according to the identification of the subordinate transmitted data packets.
And the verification device is used for judging whether the first target corresponding to the same identifier at the current moment is the same as the second number and is equal to a preset threshold value, and if not, indicating that the AXI cross switch to be tested loses the BEAT data packet to be transmitted in the corresponding first interleaved data or changes the first interleaved data, so that the abnormal interleaving function of the AXI cross switch to be tested can be determined. When the verification device determines that the first target and the second target corresponding to the same identifier at the current time are the same and equal to the preset threshold, the step of S103 is executed: and judging whether the data packet to be transmitted is the same as the transmitted data packet.
Referring to the above example, assuming that the verification apparatus is the UVM verification platform as shown in fig. 2a, the monitor in the Slave VIP monitors a first number of the BEAT data packets to be transmitted corresponding to the identifier of the same data packet to be transmitted in the first interleaved data transmitted by the DUT at the current time. When the first number is equal to the preset threshold, the rlast signal of the driver2 is set, which indicates that the first interleaved data transmission is completed. The data packets to be transmitted and the first number are then sent to the slave-check in the scoreboard. Meanwhile, the driver1 in the Master VIP monitors the second number of transmitted BEAT packets corresponding to the identifier of the same transmitted packet in the received second interleaved data. When the second number is equal to the preset threshold, a rlast signal of the driver1 is set to indicate that the second interleaved data transmission is completed, and the transmitted data packet and the second number are sent to the slave-component in the scoreboard, so that the slave-component determines whether the first number under the same identifier is the same as the second number. If the slave-match judges that the first number and the second number under the same identification are the same and equal to the preset threshold value, then the plurality of transmitted BEAT data packets are arranged into at least two transmitted data packets according to the identification of the subordinate transmitted data packets, and whether the data packets to be transmitted corresponding to the same identification are the same as the transmitted data packets is judged, so that the reliability of judging the interleaving function of the AXI cross switch to be detected is improved.
According to the verification method for the interleaving function of the AXI cross switch, provided by the embodiment of the invention, by acquiring the first number of the BEAT data packets to be transmitted of the identifier of the same data packet to be transmitted in the first interleaving data transmitted at the current moment and the second number of the transmitted BEAT data packets of the identifier of the same data packet to be transmitted in the second interleaving data transmitted at the current moment, when the first number and the second number which are obtained by judging the same identifier are the same and equal to the preset threshold value, whether the data packets to be transmitted and the transmitted data packets are the same is judged, and the reliability of judging the interleaving function of the AXI cross switch to be detected is further improved.
Those of ordinary skill in the art will understand that: all or a portion of the steps of implementing the above-described method embodiments may be performed by hardware associated with program instructions. The program may be stored in a computer-readable storage medium. When executed, the program performs steps comprising the method embodiments described above; and the aforementioned storage medium includes: various media that can store program codes, such as ROM, RAM, magnetic or optical disks.
Fig. 4 is a schematic structural diagram of a first verification apparatus for an interleave function of an AXI crossbar switch according to an embodiment of the present invention. The verification apparatus of the present embodiment may be implemented by software, hardware, or a combination of software and hardware. As shown in fig. 4, the authentication apparatus of the present embodiment may include:
the sending module 10 is configured to send first interleaving data to an AXI crossbar to be detected, where the first interleaving data is obtained by splitting at least two data packets to be transmitted into multiple BEAT data packets to be transmitted, and cross-arranging the BEAT data packets to be transmitted corresponding to different data packets to be transmitted according to an address sequence, where each of the BEAT data packets to be transmitted corresponding to the data packet to be transmitted carries an identifier of the data packet to be transmitted.
A receiving module 20, configured to receive second interleaving data obtained by the AXI crossbar to be tested according to the first interleaving data, where the second interleaving data includes multiple transmitted BEAT data packets, and each transmitted BEAT data packet carries an identifier of a subordinate transmitted data packet.
A processing module 30, configured to arrange the plurality of transmitted BEAT packets into at least two transmitted packets according to the identifier of the subordinate transmitted packet.
The determining module 40 is configured to determine whether the at least two data packets to be transmitted are the same as the at least two transmitted data packets.
A determining module 50, configured to determine that the interleaving function of the AXI crossbar to be tested is normal when the determining module 40 determines that the data packet to be transmitted is the same as the transmitted data packet.
The verification apparatus of this embodiment may be configured to execute the technical solutions of the above-described method embodiments, and the implementation principles and technical effects thereof are similar, and are not described herein again.
Fig. 5 is a schematic structural diagram of a second verification apparatus for an interleave function of an AXI crossbar switch according to an embodiment of the present invention. On the basis of the foregoing embodiment, the apparatus of this embodiment may further include:
an obtaining module 60, configured to obtain the first interleaved data according to a preset control instruction, where the control instruction is used to indicate a manner of obtaining the first interleaved data, where the manner includes obtaining by sending a read request to the AXI crossbar to be tested or obtaining from a preset transmission data packet set.
In a possible implementation manner of this embodiment, the sending module 10 is further configured to send at least two read requests to the AXI crossbar to be tested according to a preset control instruction, where each read request carries an identifier of the read request and an address of the read request;
the receiving module 20 is further configured to receive the at least two read requests sent by the AXI crossbar to be tested;
the obtaining module 60 is specifically configured to obtain a to-be-transmitted data packet corresponding to each read request according to an address of each read request, and obtain the first interleaved data according to each to-be-transmitted data packet; and each piece of data to be transmitted comprises a plurality of BEAT data packets to be transmitted, wherein the BEAT data packets to be transmitted carry the identifiers of the data packets to be transmitted, and the identifiers of the data packets to be transmitted are the identifiers of the reading requests.
The verification apparatus of this embodiment may be configured to execute the technical solutions of the above-described method embodiments, and the implementation principles and technical effects thereof are similar, and are not described herein again.
Fig. 6 is a schematic structural diagram of a third embodiment of an apparatus for verifying an interleaving function of an AXI crossbar switch according to the present invention. On the basis of the above embodiment, the apparatus further includes a first setting module 70, and the obtaining module 60 includes a first saving unit 61, a splitting unit 62, and an obtaining unit 63;
the first setting module 70 is configured to set a first buffer area for each read request according to the identifier of the read request before the obtaining module obtains the first interleaved data according to each to-be-transmitted data packet, where the first buffer area includes the identifier of the read request;
the first saving unit 61 is configured to save the data packets to be transmitted to a first buffer corresponding to the identifier of the read request according to the identifier of the read request carried by each data packet to be transmitted;
the splitting unit 62 is configured to split the to-be-transmitted data packet stored in each first buffer into a plurality of to-be-transmitted BEAT data packets;
the obtaining unit 63 is configured to read a wait data packet to be transmitted from each first buffer according to a preset reading sequence, and obtain the first interleaving data; the reading sequence indicates the sequence of reading the BEAT data packets to be transmitted from the first buffer corresponding to the identification of different reading requests.
The verification apparatus of this embodiment may be configured to execute the technical solutions of the above-described method embodiments, and the implementation principles and technical effects thereof are similar, and are not described herein again.
Fig. 7 is a schematic structural diagram of a fourth embodiment of an apparatus for verifying an interleaving function of an AXI crossbar switch according to the present invention. On the basis of the above-described embodiment, the apparatus further comprises a second device module 80,
a second device module 80, configured to set a second buffer area for each read request according to an identifier of the read request before the sending module sends at least two read requests to the AXI crossbar to be tested according to a preset control instruction, where the second buffer area includes the identifier of the read request and an address of the read request; the identifier of the transmitted data packet is the identifier of the read request;
the processing module 30 is specifically configured to obtain the transmitted data packets belonging to the same identifier of the read request according to the identifiers of the read requests corresponding to the different second buffers, the identifier of the read request of each transmitted BEAT data packet, and the address of the read request stored in each second buffer.
Further, the obtaining module 60 is further configured to obtain, according to an identifier of a to-be-transmitted data packet carried by each to-be-transmitted BEAT data packet in the first interleaved data sent at the current time, a first number of to-be-transmitted BEAT data packets corresponding to the identifier of each to-be-transmitted data packet at the current time; obtaining a second number of transmitted BEAT data packets corresponding to the identifier of each transmitted BEAT data packet at the current moment according to the identifier of the transmitted data packet carried by each transmitted BEAT data packet in the second interleaved data received at the current moment;
the judging module 40 is further configured to judge whether the first number and the second number under the same identifier are equal and equal to a preset threshold;
the processing module 30 is configured to, when the determining module 40 determines that the first number and the second number under the same identifier are equal to each other and equal to a preset threshold, arrange the plurality of transmitted BEAT data packets into at least two transmitted data packets according to the identifier of the associated transmitted data packet.
The verification apparatus of this embodiment may be configured to execute the technical solutions of the above-described method embodiments, and the implementation principles and technical effects thereof are similar, and are not described herein again.
Finally, it should be noted that: the above embodiments are only used to illustrate the technical solution of the present invention, and not to limit the same; while the invention has been described in detail and with reference to the foregoing embodiments, it will be understood by those skilled in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some or all of the technical features may be equivalently replaced; and the modifications or the substitutions do not make the essence of the corresponding technical solutions depart from the scope of the technical solutions of the embodiments of the present invention.

Claims (10)

1. A method for verifying an interleaving function of an advanced extensible interface AXI crossbar switch is characterized by comprising the following steps:
sending first interleaved data to an AXI cross switch to be detected, wherein the first interleaved data is obtained by splitting at least two data packets to be transmitted into a plurality of BEAT data packets to be transmitted and cross-arranging the BEAT data packets to be transmitted corresponding to different data packets to be transmitted according to an address sequence, wherein each BEAT data packet to be transmitted corresponding to the data packet to be transmitted carries an identifier of the data packet to be transmitted;
receiving second interleaving data obtained by the AXI cross switch to be tested according to the first interleaving data, wherein the second interleaving data comprises a plurality of transmitted BEAT data packets, and each transmitted BEAT data packet carries an identifier of a subordinate transmitted data packet;
acquiring a first number of BEAT data packets to be transmitted corresponding to the identifier of each data packet to be transmitted at the current moment and a second number of BEAT data packets transmitted corresponding to the identifier of each transmitted data packet;
judging whether the first number under the same identification is equal to the second number and equal to a preset threshold value, if so, arranging the plurality of transmitted BEAT data packets into at least two transmitted data packets according to the identification of the subordinate transmitted data packets;
determining whether the at least two data packets to be transmitted are the same as the at least two transmitted data packets;
and if the AXI cross switch to be detected is the same as the AXI cross switch to be detected, determining that the interleaving function of the AXI cross switch to be detected is normal.
2. The method as recited in claim 1, wherein prior to sending the first interleaved data to the AXI crossbar under test, the method further comprises:
and acquiring the first interleaved data according to a preset control instruction, wherein the control instruction is used for indicating a mode for acquiring the first interleaved data, and the mode comprises the step of acquiring by sending a read request to the AXI crossbar switch to be detected or acquiring from a preset transmission data packet set.
3. The method according to claim 2, wherein the obtaining the first interpolation data according to a preset control instruction specifically includes:
sending at least two read requests to the AXI cross switch to be tested according to a preset control instruction, wherein each read request carries an identifier of the read request and an address of the read request;
receiving the at least two read requests sent by the AXI cross switch to be detected, and acquiring a data packet to be transmitted corresponding to each read request according to the address of each read request, wherein each data packet to be transmitted comprises a plurality of BEAT data packets to be transmitted, which carry the identifier of the data packet to be transmitted, and the identifier of the data packet to be transmitted is the identifier of the read request;
and obtaining the first interleaving data according to each data packet to be transmitted.
4. The method of claim 3, wherein before obtaining the first interleaving data according to each data packet to be transmitted, the method further comprises:
setting a first buffer area for each read request according to the identifier of the read request, wherein the first buffer area comprises the identifier of the read request;
the obtaining the first interleaving data according to each data packet to be transmitted specifically includes:
storing the data packets to be transmitted into a first buffer area corresponding to the identifier of the read request according to the identifier of the read request carried by each data packet to be transmitted;
splitting the data packet to be transmitted stored in each first buffer area into a plurality of BEAT data packets to be transmitted;
reading the BEAT data packets to be transmitted from each first buffer area according to a preset reading sequence to obtain the first interleaved data; the reading sequence indicates the sequence of reading the BEAT data packets to be transmitted from the first buffer corresponding to the identification of different reading requests.
5. The method of claim 3, wherein the identification of the transmitted packet is an identification of the read request;
before the sending at least two read requests to the AXI crossbar to be tested according to a preset control instruction, the method further includes:
setting a second buffer area for each read request according to the identifier of the read request, wherein the second buffer area comprises the identifier of the read request and the address of the read request;
the sorting the plurality of transmitted BEAT packets into at least two transmitted packets according to the identifier of the subordinate transmitted packet specifically includes:
and acquiring the transmitted data packets belonging to the same read request identifier according to the read request identifiers corresponding to different second buffer areas, the read request identifier of each transmitted BEAT data packet and the read request address stored in each second buffer area.
6. The method according to any one of claims 1 to 5, wherein the obtaining of the first number of BEAT data packets to be transmitted corresponding to the identifier of each data packet to be transmitted at the current time and the second number of BEAT data packets to be transmitted corresponding to the identifier of each transmitted data packet comprises:
obtaining a first number of the BEAT data packets to be transmitted corresponding to the identifier of each BEAT data packet to be transmitted at the current moment according to the identifier of the data packet to be transmitted carried by each BEAT data packet to be transmitted in the first interleaved data sent at the current moment;
and obtaining a second number of transmitted BEAT data packets corresponding to the identifier of each transmitted BEAT data packet at the current moment according to the identifier of the transmitted data packet carried by each transmitted BEAT data packet in the second interleaved data received at the current moment.
7. An apparatus for verifying an interleaving function of an advanced extensible interface AXI crossbar switch, comprising:
the device comprises a sending module, a receiving module and a sending module, wherein the sending module is used for sending first interleaved data to an AXI cross switch to be detected, the first interleaved data is obtained by splitting at least two data packets to be transmitted into a plurality of BEAT data packets to be transmitted and cross-arranging the BEAT data packets to be transmitted corresponding to different data packets to be transmitted according to an address sequence, and each BEAT data packet to be transmitted corresponding to the data packet to be transmitted carries an identifier of the data packet to be transmitted;
a receiving module, configured to receive second interleaving data obtained by the AXI crossbar to be tested according to the first interleaving data, where the second interleaving data includes multiple transmitted BEAT data packets, and each transmitted BEAT data packet carries an identifier of a subordinate transmitted data packet;
the acquisition module is used for acquiring a first number of BEAT data packets to be transmitted corresponding to the identifier of each data packet to be transmitted at the current moment and a second number of transmitted BEAT data packets corresponding to the identifier of each transmitted data packet;
the judging module is used for judging whether the first number under the same identifier is equal to the second number and equal to a preset threshold value;
a processing module, configured to, when the determining module determines that the first number and the second number under the same identifier are equal to each other and equal to a preset threshold, arrange the plurality of transmitted BEAT data packets into at least two transmitted data packets according to the identifier of the associated transmitted data packet;
the judging module is used for determining whether the at least two data packets to be transmitted are the same as the at least two transmitted data packets;
and the determining module is used for determining that the interleaving function of the AXI cross switch to be tested is normal when the judging module judges that the data packet to be transmitted is the same as the transmitted data packet.
8. The apparatus of claim 7, wherein the obtaining module is further configured to obtain the first interleaved data according to a preset control instruction, and the control instruction is configured to indicate a manner of obtaining the first interleaved data, where the manner includes obtaining by sending a read request to the AXI crossbar to be tested or obtaining from a preset transmission packet set.
9. The apparatus of claim 8,
the sending module is further configured to send at least two read requests to the AXI crossbar switch to be tested according to a preset control instruction, where each read request carries an identifier of the read request and an address of the read request;
the receiving module is further configured to receive the at least two read requests sent by the AXI crossbar to be tested;
the obtaining module is specifically configured to obtain a to-be-transmitted data packet corresponding to each read request according to an address of each read request, and obtain the first interleaved data according to each to-be-transmitted data packet; and each piece of data to be transmitted comprises a plurality of BEAT data packets to be transmitted, wherein the BEAT data packets to be transmitted carry the identifiers of the data packets to be transmitted, and the identifiers of the data packets to be transmitted are the identifiers of the reading requests.
10. The apparatus according to claim 9, further comprising a first setting module, wherein the obtaining module comprises a first saving unit, a splitting unit and an obtaining unit;
the first setting module is configured to set a first buffer area for each read request according to the identifier of the read request before the obtaining module obtains the first interleaved data according to each to-be-transmitted data packet, where the first buffer area includes the identifier of the read request;
the first storage unit is configured to store the data packets to be transmitted to a first buffer corresponding to the identifier of the read request according to the identifier of the read request carried by each data packet to be transmitted;
the splitting unit is configured to split the to-be-transmitted data packet stored in each first buffer into a plurality of to-be-transmitted BEAT data packets;
the obtaining unit is configured to read a BEAT data packet to be transmitted from each first buffer according to a preset reading sequence, and obtain the first interleaving data; the reading sequence indicates the sequence of reading the BEAT data packets to be transmitted from the first buffer corresponding to the identification of different reading requests.
CN201710258450.4A 2017-04-19 2017-04-19 Verification method and device for interleaving function of AXI (advanced extensible interface) cross switch Active CN108733529B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710258450.4A CN108733529B (en) 2017-04-19 2017-04-19 Verification method and device for interleaving function of AXI (advanced extensible interface) cross switch

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710258450.4A CN108733529B (en) 2017-04-19 2017-04-19 Verification method and device for interleaving function of AXI (advanced extensible interface) cross switch

Publications (2)

Publication Number Publication Date
CN108733529A CN108733529A (en) 2018-11-02
CN108733529B true CN108733529B (en) 2021-08-10

Family

ID=63924817

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710258450.4A Active CN108733529B (en) 2017-04-19 2017-04-19 Verification method and device for interleaving function of AXI (advanced extensible interface) cross switch

Country Status (1)

Country Link
CN (1) CN108733529B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112257381B (en) * 2020-10-26 2024-01-12 广州安凯微电子股份有限公司 AXI Crossbar design circuit verification method and system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007110706A (en) * 2005-10-12 2007-04-26 Samsung Electronics Co Ltd Noc system employing axi protocol
CN101950279A (en) * 2010-09-30 2011-01-19 华为技术有限公司 Method and bus system for balancing data information flow and decoder
CN103530211A (en) * 2013-10-12 2014-01-22 江苏华丽网络工程有限公司 PCIE loop back self-test method based on UVM platform
CN105095254A (en) * 2014-05-07 2015-11-25 深圳市中兴微电子技术有限公司 Method and apparatus for achieving data consistency
CN102801600B (en) * 2011-05-24 2016-04-20 清华大学 The maintaining method of buffer consistency and network-on-chip route in network-on-chip

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103064774B (en) * 2013-01-16 2016-08-10 北京君正集成电路股份有限公司 A kind of method for monitoring bus being applied to embedded system and device
CN105912492B (en) * 2016-04-01 2019-05-14 西北工业大学 The extended method of AXI interconnection

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007110706A (en) * 2005-10-12 2007-04-26 Samsung Electronics Co Ltd Noc system employing axi protocol
CN101950279A (en) * 2010-09-30 2011-01-19 华为技术有限公司 Method and bus system for balancing data information flow and decoder
CN102801600B (en) * 2011-05-24 2016-04-20 清华大学 The maintaining method of buffer consistency and network-on-chip route in network-on-chip
CN103530211A (en) * 2013-10-12 2014-01-22 江苏华丽网络工程有限公司 PCIE loop back self-test method based on UVM platform
CN105095254A (en) * 2014-05-07 2015-11-25 深圳市中兴微电子技术有限公司 Method and apparatus for achieving data consistency

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
AXI协议中的模棱两可的含义的解释;南方铁匠;《https://blog.csdn.net/hit_shaoqi/article/details/53243173》;20161120;全文 *
IP可重用的AMBA AXI总线验证平台设计与实现;侯秋菊等;《计算机工程与设计》;20080416;第1713页至1753页 *
侯秋菊等.IP可重用的AMBA AXI总线验证平台设计与实现.《计算机工程与设计》.2008,第1713页至1753页. *
面向SoC应用的AXI总线设计;任文婷;《中国优秀硕士学位论文全文数据库(信息科技辑)》;20150415;第I137-76页 *

Also Published As

Publication number Publication date
CN108733529A (en) 2018-11-02

Similar Documents

Publication Publication Date Title
CN109634258B (en) Bus message checking method, device and system for hardware-in-loop test
KR101459867B1 (en) System test apparatus
CN111858306A (en) Chip verification method and device, chip and storage medium
CN111880508A (en) Automatic calibration and test method and device for T-box parameters
KR101459868B1 (en) Communication test device and method thereof
CN115184764A (en) Chip testing method and device, electronic equipment and storage medium
CN113133041B (en) Method and device for testing vehicle-to-vehicle communication function in dynamic interval train control vehicle
US9201750B2 (en) Test apparatus and test module
CN108733529B (en) Verification method and device for interleaving function of AXI (advanced extensible interface) cross switch
CN108628734B (en) Functional program debugging method and terminal
CN114168200A (en) System and method for verifying memory access consistency of multi-core processor
CN110261758B (en) Device under test verification device and related product
EP2519875A1 (en) Method for providing a real time to an application running on a virtual platform
CN115345098B (en) SOC verification method and device, electronic equipment and storage medium
CN112989740B (en) Simulation method and device, computer equipment and storage medium
CN114970428A (en) Verification system and method for Flexray bus controller in SoC
CN108334448A (en) Code verification method, apparatus and equipment
CN112804115B (en) Method, device and equipment for detecting abnormity of virtual network function
US9223670B2 (en) Test apparatus and test module
JP2012113502A (en) Verification device for semiconductor integrated circuit
CN110347606B (en) Automatic testing method, device, equipment and storage medium
CN114444423B (en) Data processing method and system based on verification platform and electronic equipment
CN116436723B (en) Bus identification method, bus determination method, bus execution method and related devices
TW201809711A (en) Semiconductor test method and apparatus for controlling tester
CN113434406B (en) Function test method and device, storage medium and electronic equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Applicant after: Loongson Zhongke Technology Co.,Ltd.

Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Applicant before: LOONGSON TECHNOLOGY Corp.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant