CN114816896A - AXI bus monitor and electronic system thereof - Google Patents
AXI bus monitor and electronic system thereof Download PDFInfo
- Publication number
- CN114816896A CN114816896A CN202110111381.0A CN202110111381A CN114816896A CN 114816896 A CN114816896 A CN 114816896A CN 202110111381 A CN202110111381 A CN 202110111381A CN 114816896 A CN114816896 A CN 114816896A
- Authority
- CN
- China
- Prior art keywords
- write
- bus
- read
- signal
- bus monitor
- 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.)
- Pending
Links
- 230000004044 response Effects 0.000 claims abstract description 365
- 238000012544 monitoring process Methods 0.000 claims abstract description 37
- 230000002159 abnormal effect Effects 0.000 claims abstract description 24
- 230000008878 coupling Effects 0.000 claims abstract description 15
- 238000010168 coupling process Methods 0.000 claims abstract description 15
- 238000005859 coupling reaction Methods 0.000 claims abstract description 15
- 238000012545 processing Methods 0.000 claims description 25
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 96
- 230000005856 abnormality Effects 0.000 description 50
- 238000012546 transfer Methods 0.000 description 38
- 238000010586 diagram Methods 0.000 description 31
- 230000005540 biological transmission Effects 0.000 description 30
- 238000006467 substitution reaction Methods 0.000 description 25
- 238000000034 method Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000006399 behavior Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 208000032767 Device breakage Diseases 0.000 description 3
- 230000004807 localization Effects 0.000 description 3
- 208000033986 Device capturing issue Diseases 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000002547 anomalous effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3027—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
The present application provides an AXI bus monitor and electronic system thereof. The electronic system comprises a master device, a slave device, a bus, and at least two of a first bus monitor, a second bus monitor, a third bus monitor, and a fourth bus monitor; the bus provides a read data channel, a read address channel, a write data channel, a write address channel and a write response channel; said first bus monitor and said second bus monitor for coupling said master device with said bus, said third bus monitor and said fourth bus monitor for coupling said slave device with said bus; the first bus monitor and the third bus monitor are used for monitoring whether the write transaction between the master device and the slave device is abnormal or not; the second bus monitor and the fourth bus monitor are used for monitoring whether the read transaction between the master device and the slave device is abnormal or not.
Description
Technical Field
The present application relates to chip technology, and in particular, to monitors for AXI buses, and electronic systems having AXI bus monitors.
Background
Axi (advanced eXtensible interface) is a bus protocol, which is a high-performance, high-bandwidth, low-latency on-chip bus. A bus supporting the AXI protocol is referred to as an AXI bus.
The AXI bus includes 5 independent channels, which are a Read Address Channel (Read Address Channel), a Read Data Channel (Read Data Channel), a Write Address Channel (Write Address Channel), a Write Data Channel (Write Data Channel), and a Write Response Channel (Write Response Channel).
A channel includes a set of signals for transferring transactions between a master and a slave of an AXI bus. Table 1 shows the signals for the read address channel, Table 2 shows the signals for the read data channel, Table 3 shows the signals for the write address channel, Table 4 shows the signals for the write data channel, and Table 5 shows the signals for the write response channel.
TABLE 1
Signal | Source | Description of the invention |
ARID[3:0] | Master device | Read address ID |
ARADDR[31:0] | Master device | Reading address |
ARLEN[3:0] | Master device | Burst read length |
ARSIZE[2:0] | Master device | Burst type reading size |
ARBURST[1:0] | Master device | Burst read type |
ARLOCK[1:0] | Master device | Lock type |
ARCACHE[3:0] | Master device | Cache type |
ARPROT[2:0] | Master device | Type of protection |
ARVALID/ARValid | Master device | The read address is valid. The signal is held until ARREADY is high |
ARREADY/ARReady | Slave device | Slave device ready |
TABLE 2
TABLE 3
TABLE 4
Signal | Source | Description of the invention |
WID[3:0] | Master device | Writing ID tag |
WDATA[31:0] | Master device | Written data |
WSTRB[3:0] | Master device | And (4) writing a valve. WSTRB [ n ]]The marked interval is WDATA [ (8 n) +7 (8 n)] |
WLAST/WLast | Master device | Last data of write transaction transmission |
WVALID/WValid | Master device | Write valid |
WREADY/WReady | Slave device | Slave device ready |
TABLE 5
Fig. 1 shows the structure of an AXI bus.
The AXI bus is used to couple one or more masters (master 1, master 2, … … master N) with one or more slaves (slave 1, slave 2, slave 3 … … slave N). The master device writes data to the slave device or reads data through the slave device. The master and slave devices are coupled to each other through an AXI bus interconnect (Interconnection), which is simply referred to as an AXI bus for the sake of simplicity without causing confusion.
The AXI bus defines transactions. The read transaction includes an address provided by the master to the slave on the read address channel and data provided by the slave to the master on the read data channel. The write transaction includes an address provided by the master to the slave on the write address channel, data provided by the master to the slave on the write data channel, and a response provided by the slave to the master on the write response channel.
Figure 2 is a timing diagram illustrating a read transaction of an AXI bus.
The master issues one or more read transactions to the designated slave on a read address channel. The read transaction indicates the address to read (indicated by the ARADDR signal of FIG. 2) and the length of data to read (not shown in FIG. 2). The master also indicates to the slave the presence of an address to read by setting the read address valid signal (the ARValid signal of FIG. 2). The slave provides a device ready signal (the ARReady signal of fig. 2) to the master indicating that it is capable of receiving a read address. In the example of FIG. 2, the master concurrently issues 2 read addresses (A and B of the ARADDR signal of FIG. 2) to the slave. The two addresses belong to two read transactions. Read address B has been issued before read address a is responded to. The slave provides the read data (D (a0, D (a1), D (a2), D (B0) and D (B2) signals of fig. 2) to the master on a read data channel, where a and B each indicate their corresponding read addresses). The slave device also indicates the read data to the master device via a signal such as RValid, RLast, etc. in the data channel. Optionally, according to the AXI protocol, for 2 or more concurrent read addresses (each corresponding to a read transaction), the slave device starts processing the second read address after all data to be read is provided for one read address.
Figure 3 is a timing diagram illustrating a write transaction of an AXI bus.
In the example of FIG. 3, a master issues a write transaction to a designated slave on a write address channel. The write transaction indicates the address to which the data is to be written (indicated by the AWADDR signal of FIG. 3) and the length of the data to be written (not shown in FIG. 3). The master also indicates to the slave the presence of an address to write by setting a write address valid signal (the AWValid signal of FIG. 3). The slave provides a device ready signal (AWReady signal of fig. 3) to the master indicating that it is capable of receiving a write address. In the example of fig. 3, the master issues 1 write address to the slave (a of the AWADDR signal of fig. 3). The slave provides the read data (D (a0, D (a1), D (a2), and D (A3)) signals of fig. 3) to the master at the write data channel. The master also indicates the written data to the master on the data channel through signals such as WValid, WLast, etc. The slave indicates to the master through the write response channel that it received the data to be written by the write transaction (BValid signal and BResp signal (ok) of fig. 3).
The transaction is identified by an ID. Multiple transactions may be concurrent on the AXI bus. Multiple transactions identified by the same ID may be concurrent but must complete in sequence, and data transfers of subsequent transactions cannot be initiated before data transfers of previous transactions are completed. Multiple concurrent transactions, identified by different IDs, may be transmitted out of order and completed.
The AXI bus performs data transmission, when abnormality occurs in the transmission process, such as the master device being hung up, the slave device being hung up, and logic running out of order, the upstream and downstream ends (the master device and the slave device) interfere with each other, so that the AXI bus cannot perform normal data transmission, and only the AXI bus can be recovered by waiting for system restart.
Disclosure of Invention
An abnormality may occur to the AXI bus devices (master and/or slave). Especially in the development phase of chips or bus devices, the bus devices and even the buses themselves may fail. A locally occurring fault may also propagate within the chip or the electronic device, resulting in an abnormal operation of the entire device, or even a danger. And also causes difficulty in fault location, thereby affecting development and debugging processes.
After the bus is abnormal, the abnormality is generally difficult to be effectively processed, so that other devices, buses or other bus transactions have chain reactions, the error range and the influence are further amplified, and the system needs to be restarted to recover. This can have a significant impact on system stability, data security, etc.
According to an embodiment of the application, an AXI bus device is provided with a monitor module for monitoring the transmission condition of the bus by intercepting the transaction of the bus. When the bus abnormity is identified, information such as the position of the abnormity, the abnormal affair ID and the like is reported so as to monitor the running condition of the AXI bus, find, locate and process the abnormity in time and promote the repair of the defect causing the abnormity.
According to the monitor module of the embodiment of the application, when the bus is detected to be dead, that is, the existing bus transaction is sent, but data and response information corresponding to the transaction are not completed for a long time, the monitor module takes over the master device or the slave device with the abnormality, and generates (false) substitute signals to replace the master device or the slave device with the abnormality to complete the transmission of the transaction on the bus according to the captured transaction which starts to be transmitted but is not completed. Thereby avoiding cascading failures at the upstream and downstream ends. Optionally, external components such as the CPU are also notified of bus exception conditions and processing conditions. Therefore, the external CPU can access the processing of the AXI bus exception in time, and the exception processing of the AXI bus is completed by means of the bus reset and the like under the condition that the whole system reset and restart are not needed.
In order to solve the above technical problem, according to a first aspect of the present application, there is provided a first bus monitor of the first aspect of the present application for coupling a slave device of a bus to the bus; the bus monitor comprises an error signal generating device; the error signal generating means couples a write address channel and a write data channel, and in response to no data being captured for a first write transaction from the write data channel within a specified time after the first write transaction is captured from the write address channel, the error signal generating means outputs a slave device exception signal; the error signal generating means is further coupled to a write response channel, and in response to a failure to capture a response to the first write transaction from the write response channel within a specified time after capturing data of the first write transaction from the write data channel, the error signal generating means outputs a slave device exception signal.
According to a first bus monitor of the first aspect of the present application, there is provided a second bus monitor of the first aspect of the present application, further comprising a monitor signal generating means; the monitoring signal generating device is coupled with a write address channel, a write-read data channel and a write response channel, responds to the abnormal signal of the slave device obtained from the error signal generating device, and indicates the slave device to receive write data to a write data channel if the data of a first write transaction is not captured from the write data channel within a specified time after the first write transaction is captured from the write address channel; if no response is captured from the write response channel to the first write transaction within a specified time after the data of the first write transaction is captured from the write data channel, the monitor signal generation means indicates to the write response channel a response to the first write transaction and also indicates to the master that it is not ready to receive a second write transaction from the write address channel.
According to a second bus monitor of the first aspect of the present application, there is provided a third bus monitor of the first aspect of the present application, further comprising output gating means; the output gating means couples a write address channel, a write data channel, and a write response channel, the output gating means providing a signal to the bus through the write data channel that the monitor signal generating means indicates that a slave is ready to receive write data in response to obtaining the slave exception signal from the error signal generating means, or the output gating means providing a signal to the bus through the write response channel that the monitor signal generating means indicates a response to the first write transaction, and the monitor signal generating means also indicating to the write address channel that a second write transaction is not ready to receive from the write address channel in response to obtaining the slave exception signal from the error signal generating means.
According to one of the first to third bus monitors of the first aspect of the present application, there is provided a fourth bus monitor of the first aspect of the present application, the error signal generating means timing in response to a number of the plurality of write transactions with the first ID captured from the write address channel not being equal to a number of last data transfers (WLast) of the write transactions with the first ID captured from the write data channel; in response to a number of the plurality of write transactions with the first ID captured from the write address channel being equal to a number of last data transfers of the write transactions with the first ID captured from the write address channel and a number of the plurality of write transactions with the first ID captured from the write address channel being not equal to a number of responses to the write transactions with the first ID captured from the write response channel, the error signal generation means times; a timing reset of the error signal generation means in response to a number of the plurality of write transactions with the first ID captured from the write address channel being equal to a number of responses to the write transactions with the first ID captured from the write response channel, or in response to a response to one of the plurality of write transactions with the first ID captured from the write response channel, or in response to a data transfer to one of the plurality of write transactions with the first ID captured from the write data channel; in response to timing timeout, the error signal generation means outputs the slave device abnormality signal.
According to one of the first to fourth bus monitors of the first aspect of the present application, there is provided the fifth bus monitor of the first aspect of the present application, wherein the error signal generating means includes a first counter, a second counter, a third counter, and a timer; the first counter counts a number of a plurality of write transactions having a first ID captured from the write address channel; the second counter counts a number of last data transfers captured from the write data channel for a plurality of write transactions having a first ID; the third counter counts a number of responses to a plurality of write transactions having a first ID captured from the write response channel; in response to the count value of the first counter not being equal to the count value of the second counter or the count value of the first counter not being equal to the count value of the third counter, the timer times; in response to the count value of the first counter being equal to the count value of the second counter, or in response to capturing a data transfer from the write data channel to one of the plurality of write transactions having the first ID, or in response to capturing a response from the write response channel to one of the plurality of write transactions having the first ID, the timer resets; the error signal generation means outputs the slave device abnormality signal in response to a timer exceeding a specified threshold.
According to one of the first to fifth bus monitors of the first aspect of the present application, there is provided the sixth bus monitor of the first aspect of the present application, wherein the error signal generation means identifies a capture of a write transaction according to a write address valid signal (AWValid) of the write address channel, identifies a capture of a last data transmission of a write transaction according to a signal (WLAST) of the write data channel indicating last data of a write transaction, and identifies a capture of a response to a write transaction according to a write response valid signal (BValid) of the write response channel.
According to one of the first to fifth bus monitors of the first aspect of the present application, there is provided the seventh bus monitor of the first aspect of the present application, wherein the error signal generation means identifies a capture of the write transaction according to a write address valid signal (AWValid) and a device ready (AWReady) signal of the write address channel, identifies a capture of a last data transfer for the write transaction according to a signal (WLAST) indicating last data of the write transaction, a write data valid signal (WValid) and a device ready signal (WReady) of the write data channel, and identifies a capture of a response to the write transaction according to a write response valid signal (BValid) and a host ready signal (BReady) of the write response channel.
According to one of the second to seventh bus monitors of the first aspect of the present application, there is provided the eighth bus monitor of the first aspect of the present application, wherein the monitor signal generation means indicates to the write data channel that the signal that the slave is ready to receive write data is a device ready signal (WReady) for the write data channel; the signal indicating the response to the first write transaction to the write response channel by the monitor signal generation means is a write response valid signal (BValid) for the write response channel; the monitor signal generation means indicates to the write address channel that the signal not ready to receive the second write transaction from the write address channel is an overridden device ready signal (AWReady) for the write address channel.
According to one of the third to eighth bus monitors of the first aspect of the present application, there is provided a ninth bus monitor of the first aspect of the present application, in response to the slave abnormality signal being acquired from the error signal generating means, the output gating means supplies a device ready signal (WReady) for the write data channel generated by the monitor signal generating means to the bus through the write data channel, the output gating means supplies a write response valid signal (BValid) for the write response channel generated by the monitor signal generating means to the bus, or the output gating means supplies a device not ready signal (AWReady) for the write address channel generated by the monitor signal generating means to the bus; in response to the slave abnormality signal not being acquired from the error signal generation means, the output strobe means supplies the signal for the write address channel, the signal for the write data channel, and the signal for the write response channel acquired from the bus to the slave, and supplies the signal for the write address channel, the signal for the write data channel, and the signal for the write response channel acquired from the slave to the bus.
According to one of the first to ninth bus monitors of the first aspect of the present application, there is provided the tenth bus monitor of the first aspect of the present application, further comprising configuration means; the configuration means is for providing an error enable signal to the error signal generating means, a reset signal to the error signal generating means and the monitor signal generating means, and a bypass signal to the output gating means.
According to a tenth bus monitor of the first aspect of the present application, there is provided the eleventh bus monitor of the first aspect of the present application, wherein the error signal generation means generates the slave abnormality signal in response to the error enable signal; in response to the reset signal, the error signal generation means cancels the slave device abnormality signal; in response to the bypass signal, or the reset signal, the output gating means supplies the signal for the write address channel, the signal for the write data channel, and the signal for the write response channel, which are acquired from the bus, to the slave, and supplies the signal for the write address channel, the signal for the write data channel, and the signal for the write response channel, which are acquired from the slave, to the bus.
According to one of the first to eleventh bus monitors of the first aspect of the present application, there is provided the twelfth bus monitor of the first aspect of the present application, wherein the error signal generation means outputs a slave abnormality signal in response to a response from the write data channel to any one of the plurality of write transactions having the first ID not being captured within a specified time after capturing the plurality of write transactions having the first ID from the write address channel.
According to a twelfth bus monitor of the first aspect of the present application, there is provided the thirteenth bus monitor of the first aspect of the present application, wherein the error signal generating means includes a first counter, a second counter, a third counter and a timer corresponding to each ID of the write transaction; the first counter counts the number of write transactions captured from the write address channel with the ID corresponding to the first counter; the second counter counts the number of last data transfers of the write transaction captured from the write data channel having the ID corresponding to the second counter; the third counter counts a number of responses of the write transaction captured from the write response channel having the ID corresponding to the third counter.
According to a thirteenth bus monitor of the first aspect of the present application, there is provided the fourteenth bus monitor of the first aspect of the present application, wherein in response to acquisition of the slave abnormality signal from the error signal generation means for each first ID of a write transaction, if a value of a first counter corresponding to the first ID is the same as a value of a second counter corresponding to the first ID and a value of the second counter corresponding to the first ID is not the same as a value of a third counter corresponding to the first ID, the monitor signal generation means indicates a write response valid signal (BValid) for the write response channel, a signal corresponding to the first ID, and a write response signal (BResp) representing an error of the slave to the write response channel.
According to a fourteenth bus monitor of the first aspect of the present application, there is provided the fifteenth bus monitor of the first aspect of the present application, wherein if there is no first ID for each first ID of a write transaction, satisfying a condition that a value of a first counter corresponding to the first ID is the same as a value of a second counter corresponding to the first ID and a value of the second counter corresponding to the first ID is not the same as a value of a third counter corresponding to the first ID, the monitor signal generating means indicates to the write response channel a revoked write response valid signal (BValid) for the write response channel.
According to a fourteenth or fifteenth bus monitor of the first aspect of the present application, there is provided the sixteenth bus monitor of the first aspect of the present application, wherein the output gating means supplies the monitor signal generating means to the bus through the write response channel a write response valid signal (BValid) indicating a valid signal for the write response channel, a signal corresponding to the first ID, and a write response signal (BResp) representing the slave error, or the output gating means supplies the monitor signal generating means to the bus through the write response channel a write response valid signal (BValid) indicating a revocation, for the write response channel.
According to one of the fourteenth to sixteenth bus monitors of the first aspect of the present application, there is provided the seventeenth bus monitor of the first aspect of the present application, wherein the response of the write transaction having the ID corresponding to the third counter, captured from the write response channel, is a write response valid signal (BValid) for the write response channel indicated by the monitor signal generating means, a signal corresponding to the first ID, and a write response signal (BResp) representing the slave error.
According to one of the fourteenth to seventeenth bus monitors of the first aspect of the present application, there is provided the eighteenth bus monitor of the first aspect of the present application, wherein for each first ID of a write transaction, in response to acquiring the slave abnormality signal from the error signal generating means, if a value of a first counter corresponding to the first ID is different from a value of a second counter corresponding to the first ID, the monitor signal generating means indicates a device ready signal (WReady) for the write data channel.
According to one of the first to eighteenth bus monitors of the first aspect of the present application, there is provided the nineteenth bus monitor of the first aspect of the present application, the bus including the write address channel, the write data channel, and the write response channel.
According to a second aspect of the present application there is provided a first bus monitor according to the second aspect of the present application for coupling a master of a bus to the bus; the bus monitor comprises an error signal generating device; the error signal generating means couples a write address channel and a write data channel, and in response to no capture of data for a first write transaction from the write data channel within a specified time after capture of the first write transaction from the write address channel, the error signal generating means outputs a master exception signal; and said error signal generating means is further coupled to a write response channel, said error signal generating means outputting a master exception signal in response to no response being captured from said write response channel to said first write transaction within a specified time after the last data of said first write transaction was captured from said write data channel.
According to the first bus monitor of the second aspect of the present application, there is provided the second bus monitor of the second aspect of the present application, further comprising monitor signal generating means; the monitoring signal generating device is coupled with a writing address channel; the monitoring signal generating means comprises a memory; the monitoring signal generation device captures the data length to be written by the first write transaction from the write address channel and stores the data length to be written by the first write transaction in the memory; the monitor signal generating means captures a length of data written by the first write transaction from the write data channel; in response to acquiring the master device exception signal from the error signal generation device, if the complete data to be written by the first write transaction is not captured from the write data channel within a specified time after the first write transaction is captured from the write address channel, the monitoring signal generation device acquires the data length to be written by the first write transaction from the memory, and transmits data of the first difference amount through the write data channel according to a first difference between the data length to be written by the first write transaction and the data length written by the first write transaction.
According to a second bus monitor of a second aspect of the present application, there is provided the third bus monitor of the second aspect of the present application, wherein in response to acquisition of the master device abnormality signal from the error signal generation means, if no response to the first write transaction is captured from the write response channel within a specified time after the last data of the first write transaction is captured from the write data channel, the monitor signal generation means indicates the response to the first write transaction to the master device.
According to a second or third bus monitor of the second aspect of the present application, there is provided a fourth bus monitor of the second aspect of the present application, the monitor signal generating means indicating to the master that it is not ready to receive a second write transaction from the write address channel in response to retrieving the master exception signal from the error signal generating means.
According to one of the second to fourth bus monitors of the second aspect of the present application, there is provided the fifth bus monitor of the second aspect of the present application, further comprising output gating means; the output gating device is coupled with a write address channel, a write data channel and a write response channel, and responds to the master device abnormal signal acquired from the error signal generating device, and the output gating device provides data transmitted to a slave device by the monitoring signal generating device through the write data channel to the write data channel of the bus.
According to one of the third to fifth bus monitors of the second aspect of the present application, there is provided a sixth bus monitor of the second aspect of the present application, comprising output gating means; in response to obtaining the master exception signal from the error signal generating means, the output gating means provides the master with a response to the first write transaction indicated to the master by the monitor signal generating means.
According to one of the fourth to sixth bus monitors of the second aspect of the present application, there is provided a seventh bus monitor of the second aspect of the present application, comprising output gating means; in response to obtaining the master exception signal from the error signal generating means, the output gating means provides a signal to the master that the monitor signal generating means indicates to the master that it is not ready to receive a second write transaction from the write address channel.
According to one of the first to seventh bus monitors of the second aspect of the present application, there is provided the eighth bus monitor of the second aspect of the present application, in response to the number of the plurality of write transactions with the first ID captured from the write address channel not being equal to the number of the last data transfer of the write transactions with the first ID captured from the write data channel, the error signal generating means timing; in response to the number of the plurality of write transactions with the first ID captured from the write address channel being equal to the number of the last data transfer of the write transaction with the first ID captured from the write address channel and the number of the plurality of write transactions with the first ID captured from the write address channel not being equal to the number of responses to the write transactions with the first ID captured from the write response channel, the error signal generation means clocking; a timing reset of the error signal generation means in response to a number of capture of a plurality of write transactions having the first ID from the write address channel being equal to a number of capture of responses to write transactions having the first ID from the write response channel, or in response to a capture of a response to one of a plurality of write transactions having the first ID from the write response channel, or in response to a capture of a data transfer to one of a plurality of write transactions having the first ID from the write data channel; in response to a timing timeout, the error signal generation means outputs the master exception signal.
According to one of the first to eighth bus monitors of the second aspect of the present application, there is provided the ninth bus monitor of the second aspect of the present application, wherein the error signal generating means includes a first counter, a second counter, a third counter, and a timer; the first counter counts a number of a plurality of write transactions having a first ID captured from the write address channel; the second counter counts a number of burst data transfers captured from the write data channel for a plurality of write transactions having a first ID; the third counter counts a number of responses to a plurality of write transactions having a first ID captured from the write response channel; in response to the count value of the first counter not being equal to the count value of the second counter or the count value of the first counter not being equal to the count value of the third counter, the timer times; in response to the count value of the first counter being equal to the count value of the second counter, or in response to capturing a data transfer from the write data channel to one of the plurality of write transactions having the first ID, or in response to capturing a response from the write response channel to one of the plurality of write transactions having the first ID, the timer resets; the error signal generation means outputs the slave device abnormality signal in response to a timer exceeding a specified threshold.
According to one of the first to ninth bus monitors of the second aspect of the present application, there is provided the tenth bus monitor of the second aspect of the present application, wherein the error signal generation means identifies a capture of a write transaction according to a write address valid signal (AWValid) of the write address channel, identifies a capture of a last data transmission of a write transaction according to a signal (WLAST) of the write data channel indicating last data of a write transaction, and identifies a capture of a response to a write transaction according to a write response valid signal (BValid) of the write response channel.
According to one of the first to ninth bus monitors of the second aspect of the present application, there is provided the eleventh bus monitor of the second aspect of the present application, wherein the error signal generation means identifies the capture of the write transaction according to a write address valid signal (AWValid) and a device ready (AWReady) signal of the write address channel, identifies the capture of the last data transfer for the write transaction according to a signal (WLAST) indicating the last data of the write transaction, a write data valid signal (WValid) and a device ready signal (WReady) of the write data channel, and identifies the capture of the response to the write transaction according to a write response valid signal (BValid) and a host ready signal (BReady) of the write response channel.
According to one of the third to eleventh bus monitors of the second aspect of the present application, there is provided the twelfth bus monitor of the second aspect of the present application, wherein the monitor signal generation means indicates to the master that the signal of the response to the write transaction is a write response valid signal (BValid) for the write response channel; the monitor signal generation means indicates to the master device that the signal not ready to receive the second write transaction from the write address channel is an overridden device ready signal (AWReady) for the write address channel.
According to one of the second to twelfth bus monitors of the second aspect of the present application, there is provided the thirteenth bus monitor of the second aspect of the present application, wherein the monitor signal generation means includes a counter, and the counter of the monitor signal generation means counts a length of data written by the first write transaction captured from the write data channel; wherein the monitor signal generating means identifies capture of data written by the first write transaction based on a write data valid signal (WValid) and/or a device ready signal (WReady) of the write data channel.
According to one of the first to thirteenth bus monitors of the second aspect of the present application, there is provided the fourteenth bus monitor according to the second aspect of the present application, further comprising configuration means; the configuration means is for providing an error enable signal to the error signal generating means, a reset signal to the error signal generating means and the monitor signal generating means, and a bypass signal to the output gating means.
According to a fourteenth bus monitor of the second aspect of the present application, there is provided the fifteenth bus monitor of the second aspect of the present application, wherein the error signal generation means generates the master abnormality signal in response to the error enable signal; in response to the reset signal, the error signal generation means cancels the master device abnormality signal; in response to the bypass signal, or the reset signal, the output gating means supplies the signal for the write address channel, the signal for the write data channel, and the signal for the write response channel acquired from the bus to the master device, and supplies the signal for the write address channel, the signal for the write data channel, and the signal for the write response channel acquired from the master device to the bus.
According to one of the first to fifteenth bus monitors of the second aspect of the present application, there is provided the sixteenth bus monitor of the second aspect of the present application, wherein the error signal generation means outputs a master exception signal in response to a response from the write data channel to any one of the plurality of write transactions having the first ID not being captured within a specified time after capturing the plurality of write transactions having the first ID from the write address channel.
According to a sixteenth bus monitor of the second aspect of the present application, there is provided the seventeenth bus monitor of the second aspect of the present application, wherein the error signal generation means outputs a master exception signal in response to a response from the write response channel to any one of the plurality of write transactions having the first ID not being captured within a specified time after capturing complete data of the plurality of write transactions having the first ID from the write data channel.
According to a seventeenth bus monitor of the second aspect of the present application, there is provided the eighteenth bus monitor of the second aspect of the present application, wherein the error signal generating means includes a first counter, a second counter, a third counter and a timer corresponding to each ID of the write transaction; the first counter counts the number of write transactions captured from the write address channel with the ID corresponding to the first counter; the second counter counts the number of burst data transfers of the write transaction captured from the write data channel having the ID corresponding to the second counter; the third counter counts a number of responses of the write transaction captured from the write response channel having the ID corresponding to the third counter.
According to an eighteenth bus monitor of the second aspect of the present application, there is provided the nineteenth bus monitor of the second aspect of the present application, wherein in response to acquisition of the master abnormality signal from the error signal generation means for each first ID of a write transaction, if a value of a first counter corresponding to the first ID is the same as a value of a second counter corresponding to the first ID and a value of a second counter corresponding to the first ID is not the same as a value of a third counter corresponding to the first ID, the monitor signal generation means indicates a write response valid signal (BValid) for the write response channel, a signal corresponding to the first ID, and a write response signal (BResp) representing an error of the slave to the master.
According to a nineteenth bus monitor of the second aspect of the present application, there is provided the twentieth bus monitor of the second aspect of the present application, wherein if there is no first ID for each first ID of a write transaction, satisfying a case where a value of a first counter corresponding to the first ID is different from a value of a second counter corresponding to the first ID and a value of the second counter corresponding to the first ID is different from a value of a third counter corresponding to the first ID, the monitor signal generating means indicates to the master a revoked write response valid signal (BValid) for the write response channel.
According to one of the eighteenth to twentieth bus monitors of the second aspect of the present application, there is provided the twenty-first bus monitor of the second aspect of the present application, wherein the monitor signal generation means includes a counter corresponding to each ID of the write transaction; a counter of the monitoring signal generation device counts the length of data written by a write transaction captured from the write data channel and having an ID corresponding to the counter of the monitoring signal generation device; the monitoring signal generating device identifies that the data which is captured and written by the writing transaction with the ID corresponding to the counter of the monitoring signal generating device is captured according to the ID of the writing data channel, the writing data valid signal (WValid) and the equipment ready signal (WReady).
According to a nineteenth or twentieth bus monitor of the second aspect of the present application, there is provided the twenty-second bus monitor of the second aspect of the present application, wherein the output gating means supplies the write response valid signal (BValid) for the write response channel, the signal corresponding to the first ID, and the write response signal (BResp) representing the slave error to the master device through the write response channel, which the monitor signal generating means indicates to the master device to cancel, or supplies the write response valid signal (BValid) for the write response channel, which the monitor signal generating means indicates to the master device to cancel, to the master device through the write response channel.
According to one of the eighteenth to twenty-second bus monitors of the second aspect of the present application, there is provided the twenty-third bus monitor of the second aspect of the present application, wherein a response of the write transaction with an ID corresponding to the third counter, captured from the write response channel, is a write response valid signal (BValid) for the write response channel, a signal corresponding to the first ID, and a write response signal (BResp) representing an error of the slave, which are indicated to the master by the monitor signal generating means.
According to one of the nineteenth to twenty-third bus monitors of the second aspect of the present application, there is provided the twenty-fourth bus monitor of the second aspect of the present application, wherein for each first ID of a write transaction, in response to acquiring the master exception signal from the error signal generating means, the monitor signal generating means indicates a device ready signal (WReady) for the write data channel to the master if a value of a first counter corresponding to the first ID is different from a value of a second counter corresponding to the first ID.
According to one of the nineteenth to twenty-fourth bus monitors of the second aspect of the present application, there is provided a twenty-fifth bus monitor according to the second aspect of the present application, for each first ID of a write transaction, in response to obtaining the master exception signal from the error signal generating device, if a write transaction corresponding to the first ID is captured from the write address channel and complete data to be written by the write transaction corresponding to the first ID is not captured from the write data channel, the monitoring signal generation device acquires the data length to be written by the write transaction corresponding to the first ID from the memory, according to a first difference of a data length to be written by the write transaction corresponding to the first ID and a corresponding first ID of the data length already written by the write transaction corresponding to the first ID, transmitting the data of the first difference amount corresponding to the first ID to the slave device through the write data channel.
According to one of the first to twenty-fifth bus monitors of the second aspect of the present application, there is provided a twenty-sixth bus monitor of the second aspect of the present application, the bus including the write address channel, the write data channel, and the write response channel.
According to a third aspect of the present application, there is provided a first electronic system according to the third aspect of the present application, comprising a master device, a slave device, a bus, a master device bus monitor and a slave device bus monitor; the bus provides a write data channel, a write address channel and a write response channel; the master bus monitor is to couple the master with the bus; the slave bus monitor is to couple the slave with the bus; the master bus monitor is a first to twenty-sixth bus monitor according to the second aspect of the present application; the slave bus monitors are the first to nineteenth bus monitors according to the first aspect of the present application.
According to a first electronic system of the third aspect of the present application, there is provided a second electronic system according to the third aspect of the present application, further comprising a processor; the processor generates an exception and/or resets the master bus monitor or the slave bus monitor in response to receiving a master exception signal output by the master bus monitor or a slave exception signal output by the slave bus monitor.
According to the first or second electronic system of the third aspect of the present application, there is provided the third electronic system according to the third aspect of the present application, further comprising a processor; the master device abnormal signal generated by the master device bus monitor is also provided to the monitoring signal generating device of the slave device bus monitor; the monitoring signal generating device of the slave bus monitor generates a slave abnormal signal in response to receiving the master abnormal signal; the slave device abnormal signal generated by the slave device bus monitor is also provided to the monitoring signal generating device of the master device bus monitor; the monitoring signal generating means of the master bus monitor generates a master abnormality signal in response to receiving the slave abnormality signal.
According to a fourth aspect of the present application there is provided a first bus monitor according to the fourth aspect of the present application for coupling a master device to a bus, the bus monitor comprising: error signal generating means; the bus comprises a read address channel and a read data channel; the error signal generating device is coupled to the read address channel and the read data channel, and generates a master exception signal in response to acquiring a read transaction from the read address channel and not acquiring data to be read from the read transaction from the read data channel within a specified time.
According to a fourth aspect of the present application, there is provided a second bus monitor according to the fourth aspect of the present application, further comprising: a monitor signal generating means; the monitoring signal generating device is coupled to the read address channel and the read data channel, and generates a slave device not ready signal and a master device ready signal in response to acquiring the master device abnormal signal from the error signal generating device.
According to the first or second bus monitor of the fourth aspect of the present application, there is provided the third bus monitor according to the fourth aspect of the present application, further comprising: an output gating means;
the output gating device is coupled to the read address channel and the read data channel, responds to the situation that the error signal generating device acquires the abnormal signal of the main device, sends the non-ready signal of the auxiliary device to the main device through the read address channel, and sends the ready signal of the main device to a bus through the read data channel.
According to one of the first to third bus monitors of the fourth aspect of the present application, there is provided the fourth bus monitor of the fourth aspect of the present application, wherein the timing is performed in response to the number of read transactions acquired from the read address channel not being equal to the number of complete data to be read out for the read transactions acquired from the read data channel; in response to retrieving data to be read for a read transaction from the read data channel, a timing reset; generating the master exception signal in response to a timed time being greater than a specified time threshold.
According to one of the first to fourth bus monitors of the fourth aspect of the present application, there is provided the fifth bus monitor of the fourth aspect of the present application, wherein the error signal generating means includes a first counter, a second counter, and a timer; the first counter counts a number of read transactions obtained from the read address channel; the second counter counts a number of complete read data obtained from the read data channel for a read transaction; in response to the count value of the first counter not being equal to the count value of the second counter, the timer counts; resetting the timer in response to the count value of the first counter being equal to the count value of the second counter or acquiring data to be read out for a read transaction from the read data channel; generating the master exception signal in response to the timer expiring.
According to one of the first to fifth bus monitors of the fourth aspect of the present application, there is provided the sixth bus monitor of the fourth aspect of the present application, wherein the error signal generation means recognizes that a read transaction occurs based on a read address valid signal (ARValid) in the read address channel; the occurrence of complete read data for a read transaction is identified based on a last read data signal (RLast) in the read data channel.
According to one of the first to fifth bus monitors of the fourth aspect of the present application, there is provided the seventh bus monitor of the fourth aspect of the present application, wherein the error signal generation means recognizes that a read transaction occurs based on a read address valid signal (ARValid) in the read address channel; the last read data signal (RLast) in the read data lane and the read data valid signal (RValid) in the read data lane identify that complete read data for a read transaction has occurred.
According to one of the first to seventh bus monitors of the fourth aspect of the present application, there is provided the eighth bus monitor according to the fourth aspect of the present application, further comprising: a configuration device; the configuration means is for providing an error enable signal to the error signal generating means, a reset signal to the error signal generating means and the monitor signal generating means, and a bypass signal to the output gating means.
According to an eighth bus monitor of the fourth aspect of the present application, there is provided the ninth bus monitor of the fourth aspect of the present application, wherein the error signal generation means generates a master exception signal in response to receiving the error enable signal; in response to receiving the reset signal, the error signal generation means resets the first counter, the second counter, and the timer.
According to an eighth or ninth bus monitor of the fourth aspect of the present application, there is provided the tenth bus monitor of the fourth aspect of the present application, wherein the output gating means supplies the signal for the read address channel and the signal for the read data channel acquired from the bus to the master and supplies the signal for the read address channel and the signal for the read data channel acquired from the master to the bus in response to receiving the bypass signal.
According to one of the first to tenth bus monitors of the fourth aspect of the present application, there is provided the eleventh bus monitor of the fourth aspect of the present application, wherein in response to acquisition of the master abnormality signal from the error signal generating means, the output gating means supplies the device not ready signal (ARReady) for the read address channel generated by the monitor signal generating means to the master through the read address channel, and the output gating means supplies the master ready signal (rreeady) for the read data channel generated by the monitor signal generating means to the bus.
According to one of the first to eleventh bus monitors of the fourth aspect of the present application, there is provided the twelfth bus monitor of the fourth aspect of the present application, wherein the error signal generation means further generates the master exception signal in response to a specified time after a plurality of read transactions having the same first ID are acquired from the read address channel without acquiring data to be read from the read data channel for any of the plurality of read transactions having the first ID.
According to a twelfth bus monitor of the fourth aspect of the present application, there is provided the thirteenth bus monitor of the fourth aspect of the present application, wherein
The error signal generating means comprises a first counter, a second counter and a timer corresponding to each ID used for a read transaction, wherein: a first counter counts a number of read transactions captured from the read address channel having an ID corresponding to the first counter; the second counter counts the number of complete data to be read out for a read transaction retrieved from the read data channel having an ID corresponding to the second counter.
According to a thirteenth bus monitor of the fourth aspect of the present application, there is provided the fourteenth bus monitor of the fourth aspect of the present application, wherein for each first ID of a read transaction, in response to acquiring the master exception signal from the error signal generation means and a value of a first counter corresponding to the first ID being different from a value of a second counter corresponding to the first ID, the monitor signal generation means indicates to the master a slave not ready signal and an identification signal of the first ID for the read address channel; and the monitor signal generating means indicates to the bus a master ready signal for the read data channel and an identification signal of the first ID.
According to a fifth aspect of the present application there is provided a first bus monitor according to the fifth aspect of the present application for coupling a slave device of a bus to the bus; the bus monitor includes: error signal generating means, wherein the bus comprises a read address channel and a read data channel; the error signal generating device is coupled with the read address channel and the read data channel; a slave exception signal is generated in response to a read transaction being acquired from the read address channel and data to be read by the read transaction not being acquired from the read data channel within a specified time.
The first bus monitor according to the fifth aspect of the present application provides the second bus monitor according to the fifth aspect of the present application, further comprising: a memory and a monitor signal generating device; the memory stores a length of data to be read by a read transaction; the monitor signal generating means couples the read address channel and the read data channel, acquires a data length to be read by a read transaction from the memory in response to acquiring the slave exception signal from the error signal generating means, and transfers data of an amount of a first difference between the data length to be read by the read transaction and the data length that has been read for the read transaction to the bus.
According to the first or second bus monitor of the fifth aspect of the present application, there is provided the third bus monitor of the fifth aspect of the present application, further comprising: an output gating means;
the output gating device is coupled with the read address channel and the read data channel; the output gating means transmits the data of the first difference amount transmitted from the monitoring signal generating means to the master device to the bus through the read data channel.
According to a third bus monitor of a fifth aspect of the present application, there is provided the fourth bus monitor of the fifth aspect of the present application, wherein the monitor signal generating means further generates a slave not-ready signal in response to acquisition of the slave abnormality signal from the error signal generating means; the output gating means also sends the slave not ready signal to the bus through the read address channel in response to acquisition of the slave exception signal from the error signal generating means.
According to one of the first to fourth bus monitors of the fifth aspect of the present application, there is provided the fifth bus monitor of the fifth aspect of the present application, wherein the error signal generating means is clocked in response to the number of read transactions retrieved from the read address channel not being equal to the number of complete data to be read out for read transactions retrieved from the read data channel; in response to retrieving data to be read for a read transaction from the read data channel, a timing reset; generating the slave device exception signal in response to the timed time being greater than a specified time threshold.
According to a fifth bus monitor of the fifth aspect of the present application, there is provided the sixth bus monitor of the fifth aspect of the present application, wherein the error signal generating means includes a first counter, a second counter, and a timer; the first counter is used for counting the number of read transactions acquired from the read address channel; a second counter counts a number of complete read data obtained from the read data channel for a read transaction; in response to the count value of the first counter not being equal to the count value of the second counter, the timer counts; resetting the timer in response to the count value of the first counter being equal to the count value of the second counter or data to be read for a read transaction being acquired from the read data channel; generating the master exception signal in response to the timer expiring.
According to one of the first to sixth bus monitors of the fifth aspect of the present application, there is provided the seventh bus monitor of the fifth aspect of the present application, wherein the error signal generation means recognizes that a read transaction occurs based on a read address valid signal (ARValid) in the read address channel; from the last read data signal (RLast) in the read data channel, it is identified that complete read data for a read transaction has occurred.
According to one of the first to sixth bus monitors of the fifth aspect of the present application, there is provided the eighth bus monitor of the fifth aspect of the present application, wherein the error signal generation means recognizes that a read transaction occurs based on a read address valid signal (ARValid) in the read address channel; the last read data signal (RLast) in the read data lane and the read data valid signal (RValid) in the read data lane identify that complete read data for a read transaction has occurred.
According to one of the first to eighth bus monitors of the fifth aspect of the present application, there is provided a ninth bus monitor according to the fifth aspect of the present application, further comprising: a configuration device; the configuration means is for providing an error enable signal to the error signal generating means, a reset signal to the error signal generating means and the monitor signal generating means, and a bypass signal to the output gating means.
According to a ninth bus monitor of the fifth aspect of the present application, there is provided the tenth bus monitor of the fifth aspect of the present application, wherein the error signal generation means generates a slave abnormality signal in response to receiving the error enable signal; in response to receiving the reset signal, the error signal generation means resets the first counter, the second counter, and the timer.
According to a ninth or tenth bus monitor of the fifth aspect of the present application, there is provided an eleventh bus monitor of the fifth aspect of the present application, wherein,
the output gating means supplies a signal for a read address channel and a signal for a read data channel acquired from the bus to the slave device and supplies a signal for a read address channel and a signal for a read data channel acquired from the slave device to the bus in response to receiving the bypass signal.
According to one of the first to eleventh bus monitors of the fifth aspect of the present application, there is provided the twelfth bus monitor of the fifth aspect of the present application, wherein in response to acquisition of the slave abnormality signal from the error signal generating means, the output gating means supplies the device not ready signal (ARReady) for the read address channel generated by the monitor signal generating means to the bus through the read address channel, and the output gating means supplies the master ready signal (rreeady) for the read data channel generated by the monitor signal generating means to the slave.
According to one of the first to twelfth bus monitors of the fifth aspect of the present application, there is provided the thirteenth bus monitor of the fifth aspect of the present application, wherein the error signal generation means further generates the slave abnormality signal in response to a specified time after a plurality of read transactions having the same first ID are acquired from the read address channel and no data to be read is acquired from the read data channel for any one of the plurality of read transactions having the first ID.
According to a thirteenth bus monitor of the fifth aspect of the present application, there is provided the fourteenth bus monitor of the fifth aspect of the present application, wherein the error signal generating means includes a first counter, a second counter and a timer corresponding to each ID used for a read transaction, wherein: a first counter counts a number of read transactions captured from the read address channel having an ID corresponding to the first counter; the second counter counts the number of complete data to be read out for a read transaction retrieved from the read data channel having an ID corresponding to the second counter.
According to a fourteenth bus monitor of the fifth aspect of the present application, there is provided the fifteenth bus monitor of the fifth aspect of the present application, wherein for each first ID of a read transaction, in response to acquiring the master exception signal from the error signal generation means and a value of a first counter corresponding to the first ID being different from a value of a second counter corresponding to the first ID, the monitor signal generation means indicates to the bus a slave not ready signal and an identification signal of the first ID for the read address channel; and the monitoring signal generating means indicates a master ready signal for the read data channel and an identification signal of the first ID to the slave.
According to one of the first to fifteenth bus monitors of the fifth aspect of the present application, there is provided the sixteenth month bus monitor of the fifth aspect of the present application, wherein in response to acquisition of the slave abnormality signal from the error signal generation means, the monitor signal generation means transmits, for each first ID of a read transaction, if a value of a first counter corresponding to the first ID is different from a value of a second counter corresponding to the first ID, data to be read by the read transaction corresponding to the first ID to the bus until the value of the first counter corresponding to the first ID is the same as the value of the second counter corresponding to the first ID.
According to a sixteenth bus monitor of the fifth aspect of the present application, there is provided the seventeenth bus monitor of the fifth aspect of the present application, wherein the monitor signal generating means comprises a counter, the counter of the monitor signal generating means counts a length of data captured from the read data channel that has been read for the read transaction, wherein the monitor signal generating means recognizes that data captured from the read data valid signal of the read data channel and/or from a device ready signal has been read for the read transaction.
According to a seventeenth bus monitor of the fifth aspect of the present application, there is provided an eighteenth bus monitor of the fifth aspect of the present application, wherein for each first ID of a read transaction, in response to retrieving the slave exception signal from the error signal generating means, if a read transaction corresponding to the first ID is captured from the read address channel and no complete data to be read is captured from the read data channel for the read transaction corresponding to the first ID, the monitoring signal generation device acquires the data length to be read by the read transaction corresponding to the first ID from the memory, according to a first difference between the data length to be read by the read transaction corresponding to the first ID and the data length read by the read transaction corresponding to the first ID, and transmitting the data of the first difference quantity corresponding to the first ID to the bus through the read data channel.
According to a sixth aspect of the present application, there is provided a first electronic system according to the sixth aspect of the present application, the electronic system comprising a master device, a slave device, a bus, the electronic system further comprising at least two of a first bus monitor, a second bus monitor, a third bus monitor, and a fourth bus monitor; the bus provides a read data channel, a read address channel, a write data channel, a write address channel and a write response channel; said first bus monitor and said second bus monitor for coupling said master device with said bus, said third bus monitor and said fourth bus monitor for coupling said slave device with said bus; the first bus monitor and the third bus monitor are used for monitoring whether the write transaction between the master device and the slave device is abnormal or not; the second bus monitor and the fourth bus monitor are used for monitoring whether the read transaction between the master device and the slave device is abnormal or not.
According to a sixth aspect of the present application, there is provided a second electronic system according to the sixth aspect of the present application, wherein in response to a stop or halt of processing of a first write transaction in the bus exceeding a specified duration, the first bus monitor or the third bus monitor generates and outputs a write transaction exception signal indicating that an exception has occurred in the master, the bus and/or the slave during the write transaction processing.
According to a sixth aspect of the present application, there is provided a third electronic system according to the sixth aspect of the present application, wherein in response to processing of a first read transaction in the bus being stopped or suspended for more than a specified duration, the second bus monitor or the fourth bus monitor generates and outputs a read transaction exception signal indicating that an exception occurred in the master, the bus and/or the slave during the read transaction.
According to a second electronic system of the sixth aspect of the present application, there is provided a fourth electronic system of the sixth aspect of the present application, the first bus monitor sending the write transaction exception signal to the third bus monitor; and/or the third bus monitor sends the write transaction exception signal to the first bus monitor.
According to a third electronic system of the sixth aspect of the present application, there is provided the fifth electronic system of the sixth aspect of the present application, wherein the second bus monitor sends the read transaction exception signal to the fourth bus monitor; and/or the fourth bus monitor sends the read transaction exception signal to the second bus monitor.
According to one of the second to fourth electronic systems of the sixth aspect of the present application, there is provided the fifth electronic system according to the sixth aspect of the present application, further comprising a processor; the processor generates an exception and/or reset signal indicating that the master device, the bus, and/or the slave device are reset in response to receiving the write transaction exception signal or the read transaction exception signal.
According to a fifth electronic system of the sixth aspect of the present application, there is provided the seventh electronic system of the sixth aspect of the present application, in response to receiving the read transaction exception signal, the second bus monitor and/or the fourth bus monitor generates and outputs a dummy signal to complete processing corresponding to the first read transaction.
According to a seventh electronic system of the sixth aspect of the present application, there is provided the eighth electronic system of the sixth aspect of the present application, the spurious signals generated by the second bus monitor include a master ready signal provided to the bus and a slave not ready signal provided to the master; the dummy signal generated by the fourth bus monitor includes dummy data that is used to replace data to be read for the first read transaction to complete processing of the first read transaction.
According to a fourth electronic system of the sixth aspect of the present application, there is provided the ninth electronic system of the sixth aspect of the present application, wherein in response to receiving the write transaction exception signal, the first bus monitor and/or the third bus monitor generates and outputs a dummy signal to complete processing of the first write transaction.
According to a ninth electronic system of the sixth aspect of the present application, there is provided the tenth electronic system of the sixth aspect of the present application, the dummy signal generated by the first bus monitor comprising a slave not ready signal provided to the master; the spurious signals generated by the third bus monitor include slave ready signals and/or spurious response signals provided to the bus.
According to one of the first to tenth electronic systems of the sixth aspect of the present application, there is provided the eleventh electronic system of the sixth aspect of the present application, wherein the first bus monitor is a master bus monitor for write transactions, the second bus monitor is a master bus monitor for read transactions, the third bus monitor is a slave bus monitor for write transactions, and the fourth bus monitor is a slave bus monitor for read transactions.
According to an eleventh electronic system of the sixth aspect of the present application, there is provided the twelfth electronic system of the sixth aspect of the present application, wherein the master bus monitor for write transactions is the bus monitor of any one of the second aspects; and/or the slave bus monitor for write transactions is the bus monitor of any of the first aspects above; and/or the master bus monitor for read transactions is the bus monitor of any one of the above third aspects; and/or the slave bus monitor for read transactions is the bus monitor of any of the above third aspects.
According to a seventh aspect of the present application, there is provided a first electronic system according to the seventh aspect of the present application, comprising: a master, a slave, a bus, a master bus monitor for write transactions and a master bus monitor for read transactions, wherein: the bus provides a read data channel, a read address channel, a write data channel, a write address channel and a write response channel; the master bus monitor for write transactions and the master bus monitor for read transactions are used for coupling the master and the bus; the master bus monitor for write transactions includes an error signal generating means; the error signal generating means of the master bus monitor for write transactions coupling a write address channel and a write data channel, the error signal generating means of the master bus monitor for write transactions outputting a master exception signal in response to no capture of data for a first write transaction from the write data channel within a specified time after capture of the first write transaction from the write address channel; the master bus monitor for read transactions comprising: error signal generating means; wherein the error signal generating means of the master bus monitor for read transactions is coupled to the read address channel and the read data channel and generates a master exception signal in response to a read transaction being acquired from the read address channel and data to be read from the read transaction not being acquired from the read data channel within a specified time.
According to a seventh aspect of the present application, there is provided a second electronic system according to the seventh aspect of the present application, further comprising: a slave bus monitor for a write transaction and the slave bus monitor for a read transaction; the slave bus monitor for write transactions and the slave bus monitor for read transactions are used to couple the slave device with the bus; the slave bus monitor for write transactions includes an error signal generating means; the error signal generating means of the slave bus monitor for write transactions coupling the write address channel with the write data channel, the error signal generating means outputting a slave exception signal in response to no data being captured for a first write transaction from the write data channel within a specified time after the first write transaction is captured from the write address channel; the slave bus monitor for read transactions comprising: error signal generating means, wherein said error signal generating means of said slave bus monitor for read transactions couples said read address lane with said read data lane; the error signal generating means of the slave bus monitor for a read transaction generates a slave exception signal in response to a read transaction being acquired from the read address channel and data to be read for the read transaction not being acquired from the read data channel within a specified time.
According to a seventh aspect of the present application, there is provided the third electronic system according to the seventh aspect of the present application, wherein the error signal generating means of the slave bus monitor for a write transaction is further coupled to a write response channel, and in response to a failure to capture a response to the first write transaction from the write response channel within a specified time after capturing data of the first write transaction from the write data channel, the error signal generating means of the slave bus monitor for a write transaction outputs a slave exception signal.
According to one of the first to third electronic systems of the seventh aspect of the present application, there is provided the fourth electronic system of the seventh aspect of the present application, wherein the master bus monitor for a write transaction and/or the master bus monitor for a read transaction further sends the generated master exception signal to the slave bus monitor for a write transaction and the slave bus monitor for a read transaction; the slave device bus monitor for the write transaction and/or the slave device bus monitor for the read transaction also send the generated master device abnormal signal to the master device bus monitor for the write transaction and the master device bus monitor for the read transaction.
According to a fourth electronic system of the seventh aspect of the present application, there is provided the fifth electronic system of the seventh aspect of the present application, the master bus monitor for write transactions and/or the master bus monitor for read transactions, the respective error signal generating means further generating a master exception signal in response to receiving the slave exception signal; the slave bus monitor for write transactions and/or the slave bus monitor for read transactions, the respective error signal generating means further generating a slave exception signal in response to receiving the master exception signal.
According to one of the first to fifth electronic systems of the seventh aspect of the present application, there is provided a sixth electronic system according to the seventh aspect of the present application, further comprising a processor; the processor generates an exception and/or resets the master device and/or the slave device in response to receiving a master device exception signal output by the master device bus monitor for a write transaction and/or the master device bus monitor for a read transaction, or receiving a slave device exception signal output by the slave device bus monitor for a write transaction and/or the slave device bus monitor for a read transaction.
Drawings
In order to more clearly illustrate the embodiments of the present application 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 described below, it is obvious that the drawings in the following description are only some embodiments described in the present application, and other drawings can be obtained by those skilled in the art according to the drawings.
FIG. 1 illustrates a block diagram of a prior art storage device;
FIG. 2 illustrates a timing diagram of a read transaction for a prior art AXI bus;
FIG. 3 illustrates a timing diagram of a write transaction for a prior art AXI bus;
figure 4 illustrates a block diagram of an AXI bus according to an embodiment of the present application;
FIG. 5 illustrates a block diagram of a bus monitor for master write transactions, according to an embodiment of the present application;
FIG. 6 illustrates a block diagram of a bus monitor for a slave write transaction in accordance with an embodiment of the present application;
FIGS. 7A and 7B illustrate block diagrams of an error signal generation apparatus of a bus monitor for write transactions according to an embodiment of the present application;
FIG. 8 illustrates a block diagram of a monitor signal generation apparatus of a bus monitor for master write transactions according to an embodiment of the present application; and
FIG. 9 illustrates a block diagram of a monitor signal generation apparatus of a bus monitor for write transactions from a device in accordance with an embodiment of the present application;
figure 10A shows a block diagram of an AXI bus according to yet another embodiment of the present application;
figure 10B illustrates a block diagram of an AXI bus according to yet another embodiment of the present application;
FIG. 11 illustrates a block diagram of a bus monitor for master read transactions, in accordance with an embodiment of the present application;
FIG. 12 illustrates a block diagram of a bus monitor (SR) for a slave read transaction in accordance with an embodiment of the application;
FIGS. 13A and 13B illustrate block diagrams of an error signal generation apparatus of a bus monitor for read transactions according to an embodiment of the present application;
FIG. 14 illustrates a block diagram of a monitor signal generation apparatus (MR) of a bus monitor for master read transactions according to an embodiment of the present application;
fig. 15 shows a block diagram of a monitor signal generation apparatus (SR) of a bus monitor for reading transactions from a device according to an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application are clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are some, but not all, embodiments of the present application. 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 application.
Figure 4 shows a block diagram of an AXI bus according to an embodiment of the application.
As shown in fig. 4, a bus monitor for master write transactions (simply referred to as bus monitor MW) and a bus monitor for slave write transactions (simply referred to as bus monitor SW) are provided.
The bus monitor MW is located between the master and the AXI bus, monitors the behavior of the AXI bus write channel by capturing signals of the write address channel, the write data channel and the write response channel to identify the occurrence of an exception condition, and provides a false substitute signal to the AXI bus (and the coupled master) when an exception occurs to complete the transmission of the write transaction, avoiding that the exception affects the coupled master, bus and/or slave.
The bus monitor SW is located between the slave device and the AXI bus, monitors the behavior of the AXI bus write channel by capturing signals of the write address channel, the write data channel and the write response channel to identify the occurrence of an abnormal situation, and provides a false substitute signal to the AXI bus (and the coupled slave device) when an abnormality occurs to complete the transmission of the write transaction, avoiding the abnormality from affecting the master device, the bus and/or the coupled slave device.
Referring to fig. 4, a master 1 is coupled to the bus by a bus monitor MW, a master 2 is coupled to the bus by a bus monitor MW, a slave 2 is coupled to the bus by a bus monitor SW, and the other masters and slaves are directly coupled to the bus (without going through the bus monitor). Thus a bus monitor MW/bus monitor SW according to an embodiment of the present application, which follows the AXI protocol, can be used either alone or in combination. When used alone (e.g. the bus monitor MW coupling the master 2), the master 2 is coupled to the AXI bus through the bus monitor MW and accesses, for example, the slave 3. The slave device 3 does not need to be aware of the bus monitor MW but only interacts with the master device 2 according to the AXI protocol. Similarly, the bus monitor SW may also be used alone. When used in combination, the master device 2 is coupled to the AXI bus by a bus monitor MW and accesses, for example, a slave device 2 to which a bus monitor SW is coupled. The slave device 2 does not need to be aware of the bus monitor MW and the bus monitor SW but only interacts with the master device 2 according to the AXI protocol. In the example of fig. 4, the presence of the bus monitor MW and the bus monitor SW does not affect the transmission between the master/slave devices not coupled with the bus monitor, e.g. the master N and the slave 1 communicate according to the AXI protocol, without being affected by the bus monitor MW/the bus monitor SW.
Optionally, the bus monitors MW/SW are also coupled to each other in an out-of-band manner (different from the manner of the AXI bus), so that the bus monitors MW communicate information to the bus monitors SW in a manner other than that prescribed by the AXI protocol. For example, the bus monitor MW informs the bus monitor SW (with which it is communicating according to the AXI protocol) in an out-of-band manner upon recognition of an exception and vice versa. So that even if an abnormality occurs in the AXI bus itself, the bus monitor MW/SW is aware of the abnormality of its communication counterpart.
Optionally, the bus monitor MW/SW also informs the external device (e.g. a processor or controller in the chip) about the recognized exception, so that the external device can perform error handling, such as by restarting the bus, or output exception information to the outside of the chip.
Still alternatively, the abnormality information output by the bus monitor MW/SW may also have its own identification to facilitate fault location or to identify the bus device causing the abnormality. The bus monitor MW/SW may also output one or more write transactions being transmitted on the bus when an exception occurs, thereby further assisting in fault localization.
FIG. 5 illustrates a block diagram of a bus monitor for a master write transaction, according to an embodiment of the application.
A bus monitor for master write transactions (referred to simply as bus monitor MW) couples the master and the AXI bus through the write address channel, write data channel and write response channel of the AXI bus. Logically, a bus monitor MW couples the master to the AXI bus. Physically, a bus monitor MW is located between the master and the bus.
The bus monitor MW monitors signals of the write address channel, the write data channel and the write response channel between the master and the bus to monitor write transactions transmitted on the bus. When a write transaction is normally transmitted on the bus, the bus monitor MW applies the intercepted signal to the bus as it is without affecting the transmission of the transaction. When the write transaction is abnormal on the bus, the bus monitor reports the occurrence of the abnormality and generates a substitute signal to make the write transaction transmitted on the bus meet the requirements of the AXI protocol so as to avoid the propagation of bus faults.
It will be appreciated that the failure may be from a master, bus or accessed slave. After the master device has caused a failure, the bus monitor MW takes over the master device's completion of the transmission of the write transaction to avoid affecting the processing of the write transaction by the bus or slave device. After a failure of the bus or slave, the bus monitor MW takes over the transmission of the write transaction to the bus or slave to avoid affecting the master's processing of the write transaction.
The input signals intercepted by the bus monitor MW include signals from the write address channel, the write data channel and the write response channel. The bus monitor MW also provides the intercepted signals or their generated substitute signals to the respective channels or masters. It will be appreciated that on the write address channel the master provides the address of the write transaction to the bus and the bus provides a slave ready signal (AWReady) to the master, whereby the relevant signal provided by the master indicative of the address of the write transaction is provided as an input to the bus monitor MW and the bus provides the slave ready signal (AWReady) to the master as an input to the bus monitor MW; and the bus monitor MW outputs a correlation signal indicating the address of the write transaction to the bus on the write address channel and a slave ready signal (AWReady) to the master.
Similarly, on the write data channel, the master provides the relevant signal indicating the data to be written by the write transaction as an input to the bus monitor MW, while the bus provides a slave ready signal (WReady) to the master as an input to the bus monitor MW; and the bus monitor MW outputs a correlation signal to the bus on the write data channel indicating the data to be written by the write transaction, and a slave ready signal (WReady) to the master. On the write response channel, the bus provides the relevant signal indicating the response of the write transaction as an input to the bus monitor MW, while the master provides a master ready signal (break) to the bus as an input to the bus monitor MW; and the bus monitor MW outputs a correlation signal indicating the response of the write transaction to the master on the write response channel and a master ready signal (break) to the bus.
The bus monitor MW comprises error signal generating means, monitoring signal generating means, output gating means, memory and optional configuration means.
The error signal generating means of the bus monitor MW captures a write transaction initiated on the write address channel from the write address channel, data to be written for the write transaction transmitted on the write data channel from the write data channel, and a response to the write transaction from the write response channel. The bus monitor MW identifies the occurrence of an exception according to a long-term absence of capture of complete write data for a write transaction after the write transaction is captured, or the bus monitor MW identifies the occurrence of an exception according to a long-term absence of capture of a response to a write transaction after a complete write data for a write transaction is captured. In response to identifying an exception, the bus monitor MW generates a master exception signal. The generated master exception signal is provided to other components of the bus monitor MW, for example, a monitoring signal generating means and/or an output gating means. The generated master exception signal is also provided outside the bus monitor MW, for example to the CPU of the chip or to a debugging means for fault localization and further processing.
According to the AXI specification, multiple write transactions may be concurrent on the bus. Write transactions with the same ID, need to be responded to sequentially; write transactions with different IDs may be processed out of order. The bus monitor MW identifies for a write transaction marked by an ID whether it is anomalous or not.
Alternatively, referring also to table 3, on the write address channel, the error signal generating means of the bus monitor MW recognize from the write address valid signal (AWValid) that a write transaction has occurred and capture signals such as a write length signal (AWLEN) and/or a write size signal (AWSIZE) associated with the write address valid signal (AWValid). Optionally, the error signal generating means identifies that a write transaction has occurred based on the co-occurrence of a write address valid signal (AWValid) and a slave ready signal (AWReady). Optionally, the error signal generating means identifies the ID of the write transaction from the ID signal (AWID).
On the write data channel, the error signal generation device identifies the write data in which the write transaction occurs according to the write data valid signal (WValid), and identifies the last write data in which the write transaction occurs according to the write data valid signal (WValid) and the last write data signal (WLast) (thereby identifying that the transfer of the write data corresponding to the write transaction is completed). Optionally, the error signal generating means identifies the last data to be written by the occurrence of the write transaction according to the common occurrence of the write data valid signal (WValid), the last write data signal (WLast) and the slave ready signal (WReady). Since there may be more data to be written by a write transaction, the error signal generating means also records the length of data to be written by the write transaction and the length of data that has been transmitted for the write transaction on the write data channel to identify whether the complete data to be written for the write transaction has been captured.
On the write response channel, the error signal generation means recognizes that a response to the write transaction (also referred to as a write response) has occurred from the write response valid signal (BValid). Optionally, the error signal generating means identifies that the write response occurs according to a co-occurrence of a write response valid signal (BValid) and a master ready signal (break).
According to an embodiment of the application, the bus monitor MW also generates a false substitute signal to avoid other devices of the bus hanging up after an anomaly is identified. In order to generate a spurious substitute signal, in response to a write transaction being captured, the length of data to be written for the write transaction is also recorded in the memory of the bus monitor MW in association with the ID of the write transaction. Optionally, the address of the memory implies the ID of the write transaction. So that the capacity of the memory can accommodate the number of all the concurrently possible write transactions in the bus. For example, if the number of all the concurrently write transactions is the cumulative sum of the maximum capability of the concurrent (Outstanding) transactions per available ID, e.g., there are 16 available IDs and the Outstanding capability per ID is 4, then the memory can hold the relevant data for 64 transactions. It will be appreciated that the outlding capability need not be the same for each ID.
Optionally, information such as the address, data format, etc. of the write transaction is also recorded in the memory. After an exception, the bus monitor MW generates a false substitute signal for each outstanding write transaction to complete the transmission of the write transaction on the AXI bus.
The monitor signal generating means of the bus monitor MW takes over the data transmission of the write address channel, the write data channel and the write response channel in response to the error signal generating means providing the master exception signal. At this time, the master device or the corresponding slave device may be hung up and cannot complete data transmission according to the AXI protocol. In order to avoid subsequent failures of the bus or other bus devices due to propagation of the failure, the monitor signal generation means generates signals conforming to the AXI protocol so that the write transaction being processed is completed. In particular, on the write address channel, the monitor signal generation means indicates to the master that the slave is not ready (by, for example, an invalid AWReady signal) to prevent the master from sending a new write transaction. On the write data channel, the monitor signal generation means ensures for each write transaction being transferred that the complete data it is to write is sent to the slave completion. For example, the monitor signal generating means identifies the amount of complete data to be written by the write transaction and the amount of data sent, and if the amount of complete data to be written by the write transaction is greater than the amount of data sent, the monitor signal generating means generates a dummy substitute signal for sending the data, the dummy substitute signal sending the amount of data for making up the difference between the amount of complete data to be written by the write transaction and the amount of data sent. On the write response channel, the monitor signal generation means generates a false substitute signal to provide a response to the write transaction to the master and a master ready signal (e.g., via a break signal) to the slave.
Optionally, the monitor signal generating means generates a false substitute signal, which is also captured by the error signal generating means. The error signal generating means handles the false substitute signal as part of the write transaction as well, and also overrides the generated master exception signal if it is identified that the exception was generated (e.g. after capturing the complete data to be written for the write transaction, the corresponding response is captured).
The output channel gating means of the bus monitor MW determines whether to provide the write address channel, the write data channel and the write response channel, which are input to the bus monitor MW, to the output of the bus monitor MW, or to provide the dummy substitute signal generated by the monitor signal generating means to the output of the bus monitor MW, depending on whether the error signal generating means provides the master exception signal or not. It will be appreciated that the output of the bus monitor MW is coupled to a bus or master.
The configuration means of the bus monitor MW are optional for providing enable, reset or bypass control signals for the various modules of the bus monitor MW. In response to the presence of the enable signal, the bus monitor MW operates according to the manner described above. If the enable signal is not present, the bus monitor MW couples the incoming write address, write data and write response channel signals directly to the output. In response to the reset signal, the modules of the bus monitor MW start to operate from the initial state, and the generated master exception signal is deasserted. In response to the bypass control signal, the output gating means directly couples the input write address channel, write data channel, and write response channel signals to the output. Optionally, the configuration means also receives an exception signal from the other device indication and in response indicates that the error signal generating means generates a master exception signal.
FIG. 6 illustrates a block diagram of a bus monitor for a slave write transaction according to an embodiment of the present application.
A bus monitor for slave write transactions (referred to simply as bus monitor SW) couples the slave with the AXI bus through the write address channel, write data channel and write response channel of the AXI bus. Logically, a slave device is coupled to the AXI bus. Physically, the bus monitor SW is located between the slave and the bus.
The bus monitor SW monitors signals of a write address channel, a write data channel, and a write response channel between the slave device and the bus to monitor write transactions transmitted on the bus. When a write transaction is normally transmitted on the bus, the bus monitor SW applies the intercepted signal to the bus as it is without affecting the transmission of the write transaction. When an exception occurs in a write transaction on the bus, the bus monitor SW reports the occurrence of the exception and generates a substitute signal to make the write transaction transmitted on the bus meet the requirements of the AXI protocol, so as to avoid bus fault propagation.
The bus monitor SW is similar in structure and principle to the bus monitor MW shown in fig. 5, and the same or parts understood by those skilled in the art will not be described again.
The input signals intercepted by the bus monitor SW include signals from a write address channel, a write data channel, and a write response channel. The bus monitor SW also provides the intercepted signals or their generated alternatives to the channels.
The bus monitor SW comprises error signal generating means, monitor signal generating means, output gating means and optional configuration means. In contrast to the bus monitor MW, the bus monitor SW may not comprise a memory, since the bus monitor SW according to an embodiment of the present application does not need to generate a signal for complementing the difference of the amount of complete data to be written by a write transaction and the amount of data sent.
The error signal generating means of the bus monitor SW is used to generate a slave abnormality signal. If the situation that the abnormality is generated is recognized to be eliminated, the generated abnormality signal of the slave device is also cancelled.
According to an embodiment of the application, in response to receiving a slave exception signal, the monitor signal generating means of the bus monitor SW generates no false substitute signal or only a slave ready signal (AWReady) for the write address channel; for the write data channel, the monitor signal generating means generates only a slave ready signal (WReady) at the write data channel; for a write response channel, the monitor signal generation means generates a false substitute signal to provide a response to the write transaction to the master device, optionally with an indication that an error has occurred in the response (e.g., setting the value of the response to Slverr).
Fig. 7A and 7B are block diagrams illustrating an error signal generating apparatus of a bus monitor for write transactions according to an embodiment of the present application.
In the example of fig. 7A, the error signal generating means (Write) of the bus monitor includes a Write transaction counter, a Write data counter, a Write response counter, and a timer.
The write transaction counter is coupled to the write address channel to capture write transactions. In response to each capture of a write transaction, a write transaction counter counts. For example, referring also to Table 3, a write transaction is identified as being trapped based on a write address valid signal (AWValid) on the write address channel. As another example, a write transaction is captured based on a write address valid signal (AWValid) and a slave ready signal (AWReady) on a write address channel.
The write data counter is coupled to the write data channel to capture data to be written by the write transaction. In response to each capture of write data, the write data counter counts. The capture of the write data is recognized, for example, from the write data valid signal (WValid) and/or the last write data signal (WLast) on the write data channel. As another example, the capture of write data is identified based on a write data valid signal (WValid), a last write data signal (WLast), and a slave ready signal (WReady) on a write data channel. Optionally, the write data counter counts a number of Burst data transfers (bursts) of write data of the write transaction.
A write response counter is coupled to the write response channel to capture write responses. In response to each capture of a write response, the write response counter counts. For example, the capture of the write response is identified based on a write response valid signal (BValid) on the write response channel. As another example, a write transaction is captured as identified by a write response valid signal (BValid) and a master ready signal (BREAdy) on a write response channel.
The timer couples the write transaction counter, the write data counter, and the write response counter. And in response to the count values of the write transaction counter and the write data counter being not equal, or the count values of the write transaction counter and the write data counter being equal and the count values of the write transaction counter and the write response counter being not equal, the timer counts. The error signal generation means generates a master/slave abnormality signal in response to the count of the timer exceeding a specified threshold.
The timer is also provided with a reset signal based on signals captured from the write address channel, the write data channel, and/or the write response channel. In response to the reset signal, the timer is cleared or reset.
For the error signal generating means of the bus monitor MW, a reset signal is provided to the timer in response to capturing the write data valid (WValid) from the write data channel and/or capturing the slave ready signal (break) from the write response channel. Optionally, a reset signal is provided to the timer in response to the write transaction counter and the write response counter having the same count value.
For the error signal generating means of the bus monitor SW, a reset signal is provided to the timer in response to capturing a slave ready signal (WReady) from the write data channel and/or capturing a write response valid signal (BValid) from the write response channel. Optionally, a reset signal is provided to the timer in response to the write transaction counter and the write response counter having the same count value.
In one example, there are multiple concurrent (Outstanding) write transactions of the same ID on the bus. These write transactions will be processed sequentially. According to an embodiment of the present application, for multiple concurrent write transactions of the same ID, each time a write transaction (with that ID) is captured on the write address channel, the write transaction counter counts; each time the last write data (indicated by WLast) of a burst data transfer corresponding to a write transaction (with that ID) is captured on a write data channel, the write data counter counts; the write response counter counts each time a write response corresponding to a write transaction (with that ID) is captured on the write response channel. And, the write transaction counter, write data counter, write response counter and timer are reset in the manner provided above. Thus, for multiple concurrent (Outstanding) write transactions of the same ID, for multiple Outstanding (Outstanding) write transactions that have been issued, an exception is identified if the complete write data for all of the write transactions is not received for the write transactions within a specified time, or if a write response for all of the write transactions is not received for the write transactions within a specified time.
In the example of fig. 7B, the error signal generating means (Write) of the bus monitor provides a Write transaction counter, a Write data counter, a Write response counter, and a timer for each available ID of a plurality of Write transactions that are concurrent. The error signal generating means generates a master/slave device abnormality signal in response to any one of the timers corresponding to each ID being timed out. It will be appreciated that for each available ID, it may correspond to one or more concurrent (Outstanding) write transactions.
FIG. 8 shows a block diagram of a monitor signal generation apparatus of a bus monitor for master write transactions according to an embodiment of the present application.
The monitor signal generating means of the bus monitor MW includes write address channel substitution signal generating means, write response channel substitution signal generating means, write data channel substitution signal generating means, and write data length counter. Optionally, the monitor signal generating means further comprises a state machine for controlling generation of the substitute signal for each of the plurality of concurrent transactions.
The monitor signal generating means is coupled to the write transaction counter, the write data counter and the write response counter of the error signal generating means. Optionally, the monitoring signal generating device further includes a write transaction counter, a write data counter, and a write response counter, and the write transaction counter, the write data counter, and the write response counter of the monitoring signal generating device operate in the same manner as the corresponding counters of the error signal generating device.
A monitor signal generation apparatus couples the write address channel, the write data channel, and the write response channel and provides a dummy replacement signal to one or more of these channels.
The write data length counter counts the amount of data that has been sent for the write transaction on the write data channel. In one embodiment, even if multiple concurrent write transactions (e.g., multiple concurrent (Outstanding) transactions of the same ID) are to be monitored, the monitor signal generating means includes only one write data length counter since the data transfer process of each write transaction is not inserted into the data transfer process of other write transactions. In another embodiment, the monitor signal generating means comprises a plurality of write data length counters, each write data length counter serving a transaction having an ID corresponding thereto. The write valid signal (WValid) and the slave ready signal (WReady) that occur through the write data channel recognize that the write transaction sent data and accumulate the amount of data sent.
The memory records the amount of complete data to be written by the write transaction. For multiple transactions that are concurrent, the memory records the complete amount of data to be written for each concurrent write transaction.
In response to receiving the master exception signal, the write address channel override signal generation apparatus indicates to the master that the slave is not ready (via, for example, the AWReady signal) on the write address channel to prevent the master from sending a new write transaction. The write data channel replace signal generating means ensures for the write transaction being transferred that the complete data it is to write is sent to the slave completion. For example, if the master exception signal occurs and the complete data to be written for a write transaction has been provided to the slave, then the write data channel substitution signal generating means need not generate a substitution signal for the transaction at the write data channel. Whether the complete data to be written by the write transaction has been provided to the slave device is identified by the value of the write data length counter and the length of the complete data to be written by the write transaction as provided by the memory. For another example, if the master exception signal occurs and the complete data to be written by a write transaction has not been completely provided to the slave, the write data channel replacement signal generating means generates a replacement signal in the write data channel to write dummy data to the slave, the dummy data being used to make up for the difference between the number of complete data to be written by the write transaction and the number of data sent. For example, the write data channel substitute signal generating means writes dummy data to the slave by setting a write data signal (WData), a write valve signal (WSTRB), a write valid signal (WValid), a slave ready signal (WReady) signal, and/or a last write data signal (WLast). The write response channel substitute signal generating means generates a false substitute signal on the write response channel to provide a response to the write transaction to the master (e.g., via the BValid signal and the BResp signal) and a master ready signal to the slave (e.g., via the break signal). Optionally, the write response channel replace signal generating means sets the value of the write response signal (BResp) to indicate a slave error (Slverr).
If there are a plurality of concurrent write transactions, the write address channel substitution signal generation means, the write response channel substitution signal generation means, and the write data channel substitution signal generation means also generate IDs corresponding to the transactions on the respective channels. In response to the master exception signal, the state machine recognizes that a burst data transfer is currently in progress and the burst data transfer has not been completed, and the write data channel substitution signal generation means generates a substitution signal at the write data channel to write dummy data to the slave device, the dummy data being in an amount to complete the current burst data transfer; next, the state machine control identifies the current concurrent write transaction, and for each of the other concurrent write transactions, identifies again whether the complete data it is to write is provided to the slave device, and if necessary, writes dummy data to the slave device, the amount of dummy data corresponding to the amount of complete data to be written by that write transaction.
In response to the master exception signal, it is identified that there are currently no burst data transfers that have not yet been completed, then the state machine control identifies the current concurrent write transactions, identifies, for each write transaction that is currently concurrent, whether the complete data it is to write is provided to the slave, and if necessary, writes dummy data to the slave, the amount of dummy data corresponding to the amount of complete data to be written by that write transaction.
If for each write transaction that is concurrent, the complete data to be written has already been provided to the slave (including by generating a false substitute signal) and a corresponding response is provided to the master. The monitoring signal generation means completes the processing of the current master anomaly signal. Optionally, the monitor signal generating means identifies that processing of the current master exception signal is complete in response to the write transaction counter and the write response counter being equal in value.
FIG. 9 shows a block diagram of a monitor signal generation apparatus of a bus monitor for a slave write transaction according to an embodiment of the present application.
The monitor signal generating means of the bus monitor SW includes write address channel substitution signal generating means, write response channel substitution signal generating means, and write data channel substitution signal generating means. Optionally, the monitor signal generating means further comprises a state machine for controlling generation of the substitute signal for each of the plurality of concurrent transactions.
The monitoring signal generating means of the bus monitor SW is similar in structure and principle to the monitoring signal generating means of the bus monitor MW shown in fig. 8, and the same or parts understood by those skilled in the art will not be described again.
In contrast to the bus monitor MW, the monitoring signal generation means of the bus monitor SW may not comprise a write data length counter nor a coupled memory. Since the monitor signal generation means of the bus monitor SW according to the embodiment of the present application generates a false substitute signal to simulate the behavior of a slave device on the AXI bus, only the data to be written by a write transaction is received without generating a signal for complementing the difference between the amount of complete data to be written by the write transaction and the amount of data that has been transmitted.
According to the embodiment of the application, in response to receiving the slave device exception signal, the write address channel replacement signal generation device of the monitoring signal generation device generates a write address channel without generating a false replacement signal or only generates a slave device ready signal (AWReady) to prevent the master device from issuing a new write transaction; the write data channel substitution signal generating means generates only a slave ready signal (WReady) on the write data channel; for the write response channel, the write response channel substitute signal generating means generates a false substitute signal (e.g., BValid signal and BResp signal) to provide the master with a response to the write transaction, optionally with an indication that the slave has made an error in the response (e.g., setting the value of the response to Slverr). The write response channel replacement signal generating means generates a dummy replacement signal to provide one or more responses to the write transaction to the master device in response to the write transaction counter and the write response counter having the same count value and the write transaction counter and the write response counter having different values until the write transaction counter and the write response counter have the same value.
If there are multiple concurrent write transactions, the monitor signal generating means of the bus monitor SW need not generate a false substitute signal for the ongoing burst transfer to complete the burst transfer. In response to the slave exception signal, the state machine identifies a current concurrent write transaction, and for each concurrent write transaction, if the write transaction counter is different from the write data counter, the write data channel substitute signal generating means generates only the slave ready signal (WReady) on the write data channel until the write transaction counter is the same as the write data counter. If the count values of the write transaction counter and the write data counter are the same and the values of the write transaction counter and the write response counter are different, the write response channel substitution signal generation device generates a false substitution signal to provide one or more responses to the write transaction to the master device until the values of the write transaction counter and the write response counter are the same.
Figure 10A shows a block diagram of an AXI bus according to yet another embodiment of the present application.
As shown in fig. 10, a bus monitor for master read transactions (referred to simply as bus monitor MR) and a bus monitor for slave read transactions (referred to simply as bus monitor SR) are provided.
The bus monitor MR is located between the master device and the AXI bus, and monitors the behavior of the AXI bus read channel by capturing signals of the read address channel and the read data channel to identify the occurrence of an abnormal condition. The bus monitor MR provides a false substitute signal to the AXI bus (and coupled master) when an exception occurs to complete the transfer of the write transaction, avoiding that the exception affects the coupled master, bus and/or slave.
The bus monitor SR is located between the slave device and the AXI bus, and monitors the behavior of the AXI bus read channel by capturing signals of the read address channel and the read data channel to recognize the occurrence of an abnormal situation. The bus monitor SR provides a false substitute signal to the AXI bus (and coupled slave devices) when an exception occurs to complete the transfer of the write transaction, avoiding that the exception affects the master, bus and/or coupled slave devices.
Referring to fig. 10A, a master 1 is coupled to a bus through a bus monitor MR, a master 2 is coupled to the bus through the bus monitor MR, a slave 2 is coupled to the bus through a bus monitor SR, and other masters and slaves are directly coupled to the bus (without passing through the bus monitor). The bus monitor MR/bus monitor SR according to an embodiment of the application thus follows the AXI protocol and can thus be used alone or in combination. When used alone (e.g., the bus monitor MR coupling the master 2), the master 2 is coupled to the AXI bus through the bus monitor MR and accesses, for example, the slave 3. The slave 3 interacts with the master 2 only according to the AXI protocol without being aware of the bus monitor MR. Similarly, the bus monitor SR may also be used alone. The bus monitor MR and the bus monitor SR may also be used in combination. The number of bus monitors MR is smaller than or equal to the number of master devices and the number of bus monitors SR is smaller than or equal to the number of slave devices, whether used alone or in combination.
Optionally, the bus monitors MR/SR are also coupled to each other in an out-of-band manner (other than the AXI bus manner). For example, the bus monitor MR, upon recognizing an anomaly, informs the bus monitor SR (with which it is communicating according to the AXI protocol) in an out-of-band manner, and vice versa. For another example, the bus monitor MR is directly connected to the corresponding bus monitor SR, and the bus monitor MR recognizes an abnormality and notifies the bus monitor SR of the occurrence of the abnormality.
Optionally, the bus monitor MR/SR also informs an external device (e.g., a processor or controller in the chip) of the recognized abnormality, so that the external device can perform error processing by, for example, restarting the bus, or output abnormality information to the outside of the chip.
Figure 10B shows a block diagram of an AXI bus according to yet another embodiment of the present application.
The bus monitor MR and the bus monitor MW according to an embodiment of the present application may be located between the master and the AXI bus in common and at the same time to monitor the read channel and the write channel of the master, respectively. The bus monitor SR and the bus monitor SW according to an embodiment of the present application may be co-located between the slave device and the AXI bus to monitor a read channel and a write channel of the slave device, respectively. The read channel and the write channel are, for example, independent of each other.
Referring to fig. 10B, master 1 is coupled to the bus by bus monitor MR and bus monitor MW, master 2 is coupled to the bus by bus monitor MR and bus monitor MW, and master N is coupled to the bus by bus monitor MW (there is no bus monitor MR between master N and the bus).
The slave 1 is coupled to the bus via a bus monitor SR, the slave 2 is coupled to the bus via the bus monitor SR and a bus monitor SW, the slave 3 is coupled to the bus via the bus monitor SW, and the slave N is coupled directly to the bus (without going through the bus monitor SW/SR).
FIG. 11 illustrates a block diagram of a bus monitor for a master read transaction, in accordance with an embodiment of the present application.
A bus monitor for a master read transaction (referred to simply as the bus monitor MR) couples the master and the AXI bus through a read address channel and a read data channel of the AXI bus. Logically, the bus monitor MR couples the master to the AXI bus. Physically, the bus monitor MR is located between the master and the bus.
The bus monitor MR monitors the read address channel and the read data channel between the master device and the bus to monitor the read transactions transmitted on the bus. When a read transaction is normally transmitted on the bus, the bus monitor MR applies the intercepted signal to the bus and the master device as it is without affecting the transmission of the read transaction. When the read transaction is abnormal on the bus, the bus monitor MR reports the occurrence of the abnormality and generates a substitute signal to make the read transaction transmitted on the bus meet the requirements of the AXI protocol, so as to avoid bus fault propagation.
It will be appreciated that the failure may be from a master, bus or accessed slave. After the master device has caused a failure, the bus monitor MR takes over the transmission of the read transaction by the master device to avoid further failure (failure propagation) of the bus or slave device due to the inability to process the erroneous read transaction. After the bus or slave device has caused a fault, the bus monitor MR takes over the transmission of the read transaction to the bus or slave device to avoid affecting the processing of the read transaction by the master device.
The input signals intercepted by the bus monitor MR include signals from a read address channel and a read data channel. The bus monitor MR also provides the intercepted signals or their generated substitute signals to the respective channels or masters. It will be appreciated that on the read address channel, the master provides the address of the read transaction to the bus and the bus provides a slave ready signal (ARReady) to the master, so that the relevant signal provided by the master indicative of the address of the read transaction is provided as an input to the bus monitor MR and the bus provides a slave ready signal (ARReady) to the master as an input to the bus monitor MR; and the bus monitor MR outputs an associated signal indicating the address of the read transaction on the read address channel to the bus and a slave ready signal (ARReady) to the master.
Similarly, on a read data channel, the bus provides the relevant signal indicating the data to be written by the read transaction as an input to the bus monitor MR, and the master ready signal (RReady) provided by the master to the bus is provided as an input to the bus monitor MR; and the bus monitor MR outputs a correlation signal indicating the data to be read by the read transaction to the master on the read data channel and a master ready signal (RReady) to the bus.
The bus monitor MR comprises error signal generating means, monitor signal generating means, output gating means and optional configuration means.
The error signal generating means of the bus monitor MR initiate a read transaction on the read address channel from the read address channel capture, and capture the data to be read for the read transaction transmitted on the read data channel from the read data channel. The bus monitor MR recognizes the occurrence of an anomaly from long periods of time after the capture of a read transaction without capturing the complete data to be read for the read transaction. In response to the identification of an anomaly, the bus monitor MR generates a master anomaly signal. The generated master anomaly signal is supplied to other components of the bus monitor MR, for example, a monitor signal generation means and/or an output gating means. The generated master exception signal is also supplied outside the bus monitor MR, for example to the CPU of the chip or to a debugging device for fault localization and further processing.
According to the AXI specification, multiple read transactions may be concurrent on the bus. Read transactions with the same ID, need to be responded to sequentially; read transactions with different IDs may be processed out of order. The bus monitor MR identifies whether it is an exception for the read transaction marked by the ID. If the number of concurrent read transactions with the same ID is 1 (the Outstanding capability is 1), the address of the read transaction and the corresponding data to be read are identified according to the ID. If the number of concurrent read transactions with the same ID is greater than 1 (the Outstanding ability is greater than 1), the bus monitor RW according to the embodiment of the present application records data corresponding to the number of read transactions with the ID and captured read transactions with the ID, and recognizes that an exception occurs by recognizing that no read data corresponding to K read transactions is received within a specified time after capturing, for example, K read transactions, which are regarded as a whole at this time, without recognizing each read transaction and its corresponding data.
Alternatively, referring also to table 1, on the read address channel, the error signal generation means of the bus guardian MR recognize from the read address valid signal (ARValid) that a read transaction has occurred. Optionally, signals such as a write length signal (ARLEN) and/or a read size signal (ARSIZE) associated with a read address valid signal (ARValid) are also captured. Optionally, the error signal generating means identifies that a read transaction has occurred in dependence on the read address valid signal (ARValid) co-occurring with the slave ready signal (ARReady). Optionally, the error signal generating means identifies the ID of the read transaction from the ID signal (AWID).
On the read data path (see also table 2), the error signal generating means identifies read data in which a read transaction has occurred based on the read data valid signal (RValid), and identifies last read data in which a read transaction has occurred based on the read data valid signal (RValid) and the last read data signal (RLast) (thereby identifying completion of a read data transfer corresponding to the read transaction). Optionally, the error signal generating means identifies the last data to be read by the occurrence of a read transaction according to the common occurrence of the read data valid signal (RValid), the last read data signal (RLast) and the slave ready signal (RReady). According to an embodiment of the present application, the error signal generating means of the bus monitor MR may not recognize the data length to be read for a read transaction from the data length that has been transmitted on the read data channel for this read transaction.
According to an embodiment of the application, the bus monitor MR also generates a false substitute signal after an anomaly is identified to avoid other devices of the bus hanging up. In order to generate a false substitute signal, according to an embodiment of the present application, in response to receiving a master exception signal, the monitor signal generating means of the bus monitor MR generates a dummy substitute signal to the read address channel without generating the dummy substitute signal, or generates only an invalid slave ready signal (ARReady) to prevent the master from issuing a new read transaction; for a read data channel, the monitor signal generating means generates only a master ready signal (RReady) at the read data channel.
The monitor signal generating means of the bus monitor MR takes over the data transmission of the read address channel and the read data channel in response to the error signal generating means providing the master exception signal. At this time, the master device or the corresponding slave device may be hung up and cannot complete data transmission according to the AXI protocol. In order to avoid subsequent failures of the bus or other bus devices due to propagation of the failure, the monitor signal generating means generates signals conforming to the AXI protocol so that the read transaction being processed is completed. In particular, on the read address channel, the monitor signal generation means indicates to the master that the slave is not ready (by, for example, an invalid ARReady signal) to prevent the master from sending new read transactions. On the read data channel, the monitor signal generating means generates only the master ready signal (RReady).
The output channel gating means of the bus monitor MR determines whether to provide the read address channel and the read data channel inputted to the bus monitor MR to the output of the bus monitor MR or to provide the dummy substitute signal generated by the monitor signal generating means to the output of the bus monitor MR, depending on whether the error signal generating means provides the master abnormality signal or not. It will be appreciated that the output of the bus monitor MR is coupled to a bus or master.
The configuration means of the bus monitor MR are optional for providing enable, reset or bypass control signals for the modules of the bus monitor MR. In response to the presence of the enable signal, the bus monitor MR operates according to the manner described above. If the enable signal is not present, the bus monitor MR couples the input read address channel and read data channel signals directly to the output. In response to the reset signal, the modules of the bus monitor MR start to operate from the initial state, and the generated master device abnormal signal is cancelled. In response to the bypass control signal, the output gating means directly couples the input read address channel and the read data channel to the output. Optionally, the configuration means also receives an exception signal from the other device indication and in response indicates that the error signal generating means generates a master exception signal.
FIG. 12 illustrates a block diagram of a bus monitor (SR) for a slave read transaction in accordance with an embodiment of the application.
A bus monitor for slave read transactions (referred to simply as bus monitor SR) couples the slave to the AXI bus through the read address channel and the read data channel of the AXI bus. Logically, a slave device is coupled to the AXI bus. Physically, the bus monitor SR is located between the slave device and the bus.
The bus monitor SR monitors signals of the read address channel and the read data channel between the slave device and the bus to monitor read transactions transmitted on the bus. When a read transaction is normally transmitted on the bus, the bus monitor SR applies the intercepted signal as it is to the bus or slave device without affecting the transmission of the read transaction. When an exception occurs on the bus for a read transaction, the bus monitor SR reports the occurrence of the exception and generates a substitute signal to make the read transaction transmitted on the bus meet the requirements of the AXI protocol, so as to avoid bus fault propagation.
The bus monitor SR is similar to the bus monitor MR shown in fig. 1 in structure and principle, and the same or parts understood by those skilled in the art are not described again.
The input signals intercepted by the bus monitor SR include signals from a read address path and a read data path. The bus monitor SR also provides the intercepted signals or their generated alternatives to the channels.
In response to the capture of the read transaction, the length of data to be read corresponding to the read transaction is also recorded in the memory of the bus monitor SR in association with the ID of the read transaction. Optionally, the address of the memory implies the ID of the read transaction. So that the capacity of the memory can accommodate the number of all concurrently possible read transactions in the bus. For example, the number of all concurrently possible read transactions is the cumulative sum of the maximum capability of the concurrent (Outstanding) transactions per available ID.
Optionally, information such as the address and data format of the read transaction is also recorded in the memory. After an exception, the bus monitor SR generates a false substitute signal for each outstanding read transaction to complete the transmission of the read transaction on the AXI bus.
The bus monitor SR comprises error signal generating means, monitoring signal generating means, output gating means, a memory and optional configuration means. By using a memory, the bus monitor SR according to an embodiment of the application generates a signal for complementing the difference between the amount of complete data to be read by a read transaction and the amount of data sent.
The error signal generating means of the bus monitor SR is used to generate a slave device exception signal. If the situation that the abnormality is generated is recognized to be eliminated, the generated abnormality signal of the slave device is also cancelled.
The monitor signal generating means of the bus monitor SR takes over the data transmission of the read address channel and the read data channel in response to the slave abnormality signal being supplied from the error signal generating means. At this time, the slave device or the corresponding master device may be hung up and cannot complete data transmission according to the AXI protocol. In order to avoid subsequent failures of the bus or other bus devices due to propagation of the failure, the monitor signal generating means generates signals conforming to the AXI protocol so that the read transaction being processed is completed. In particular, on the read address channel, the monitor signal generation means indicates to the master that the slave is not ready (by, for example, an invalid ARReady signal) to prevent the master from sending new read transactions. On the read data channel, the monitor signal generating means ensures that the complete data it is to read is sent to the master for each transferring read transaction. For example, the monitor signal generating means identifies the amount of complete data to be read by the read transaction and the amount of data that has been sent to the bus, and if the amount of complete data to be read by the read transaction is greater than the amount of data that has been sent, the monitor signal generating means generates a dummy substitute signal for sending the data (in place of the coupled slave device), the dummy substitute signal sending an amount of data to make up the difference between the amount of complete data to be written by the read transaction and the amount of data that has been sent. On the read data channel, the monitor signal generating means also generates a master ready signal (RReady) on the read data channel.
Optionally, the monitor signal generating means generates a false substitute signal, which is also captured by the error signal generating means. The error signal generating means handles the false substitute signal as part of the read transaction as well, and overrides the generated master exception signal if it is identified that the exception was generated (e.g. after capturing the complete read data for the read transaction).
Fig. 13A and 13B show block diagrams of an error signal generating apparatus of a bus monitor for read transactions according to an embodiment of the present application.
In the example of FIG. 13A, the error signal generating means (Read) for the Read transaction bus monitor includes a Read transaction counter, a Read data counter and a timer.
The read transaction counter is coupled to the read address channel to capture read transactions. The read transaction counter counts in response to each capture of a read transaction. For example, referring also to Table 1, a read transaction is identified as being trapped based on a read address valid signal (ARValid) on the read address channel. As another example, a read transaction is captured based on a read address valid signal (ARValid) and a slave ready signal (ARReady) on a read address channel.
The read data counter is coupled to the read data channel to capture data to be read by the read transaction. The read data counter counts in response to each capture of read data. For example, referring also to Table 2, the read data is captured based on the read data valid signal (RValid) and/or the last read data signal (RLast) on the read data lanes. As another example, the read data is captured based on the read data valid signal (RValid), the last read data signal (RLast), and the master ready signal (RReady) on the read data channel. Optionally, the read data counter counts a number of Burst data transfers (bursts) of read data of the read transaction.
The timer couples the read transaction counter and the read data counter. The timer counts in response to the read transaction counter not having the same count value as the read data counter. The error signal generation means generates a master/slave abnormality signal in response to the count of the timer exceeding a specified threshold.
The timer is also provided with a reset signal based on signals captured from the read address channel and the read data channel. In response to the reset signal, the timer is cleared or reset.
For the error signal generating means of the bus monitor MR and the bus monitor SR, a reset signal is provided to the timer in response to the capture of a read data valid (RValid) from the read data path. Optionally, a reset signal is provided to the timer in response to the read transaction counter being the same as the read data counter.
In one example, there are multiple concurrent (Outstanding) read transactions of the same ID on the bus that will be processed sequentially. According to an embodiment of the present application, referring also to FIG. 13A, for multiple concurrent read transactions of the same ID, each time a read transaction (with that ID) is captured on the read address channel, the read transaction counter counts; the read data counter counts each time the last read data (e.g., as indicated by RLast) of the burst data transfer corresponding to the read transaction (with the ID) is captured on the read data channel. And the read transaction counter, read data counter and timer are reset in the manner provided above. Thus, for multiple concurrent (Outstanding) read transactions of the same ID, if the read transactions have not received the complete read data of all the read transactions within a specified time, the occurrence of the exception is identified. For example, in response to 2 read transactions having the same ID occurring, the read transaction counter counts at 2, while before capturing corresponding data for the 2 read transactions having the ID, the read data counter is less than 2 and, accordingly, the timer times. Next, corresponding data for the read transaction with the ID is received, and in response, the timer is reset and the read data counter is incremented. If the read address counter is still larger than the read data counter, the timer continues to count time. Next, the corresponding data for the read transaction with that ID is received, at which point the read data counter is 2 (equal to the read address counter), and then the timer is reset. Thus, according to embodiments of the present application, the timer, rather than counting for a particular read transaction, identifies whether all of the read data for which those read transactions correspond is captured within a specified time for multiple read transactions having the same ID.
Whereas for multiple read transactions of different IDs, in the example of fig. 7B, the error signal generating means of the bus monitor provides a read transaction counter, a read data counter and a timer for each available ID of the concurrent multiple read transactions. The error signal generating means generates a master/slave device abnormality signal in response to any one of the timers corresponding to each ID being timed out. It will be appreciated that for each available ID, it may correspond to one or more concurrent (Outstanding) read transactions. For read transactions with the same ID, the example of FIG. 7A processes.
Fig. 14 shows a block diagram of a monitor signal generation apparatus (MR) of a bus monitor for master read transactions according to an embodiment of the present application.
The monitor signal generating means of the bus monitor MR includes read address channel substitution signal generating means and read data channel substitution signal generating means.
The monitor signal generating means couples the read transaction counter and the read data counter of the error signal generating means. Optionally, the monitor signal generating device further comprises a read transaction counter and a read data counter, and the read transaction counter and the read data counter of the monitor signal generating device operate in the same manner as the corresponding counter of the error signal generating device.
The monitoring signal generating device of the bus monitor MR according to the embodiment of the present application generates a false substitute signal to simulate the behavior of a read transaction of a master device on an AXI bus, and only receives data to be read by the read transaction without generating a signal for complementing the difference between the complete data amount to be read by the read transaction and the received data amount.
A monitor signal generating device couples the read address channel with the read data channel and provides a dummy replacement signal to one or more of these channels.
According to an embodiment of the application, in response to receiving a master exception signal, a read address channel substitute signal generating means of the monitor signal generating means generates a dummy substitute signal in the read address channel without generating it, or generates only a slave ready signal (ARReady) to prevent the master from issuing a new read transaction; the read data channel substitute signal generating means generates only a master ready signal (RReady) on the read data channel.
If there are multiple concurrent read transactions, the monitor signal generating means of the bus monitor MR need not generate a false substitute signal for the ongoing burst data transfer to complete the burst data transfer. In response to the master exception signal, the state machine identifies a current concurrent read transaction, and for each concurrent read transaction, if the read transaction counter is different from the read data counter, the read data channel substitute signal generating means generates only a master ready signal (RReady) on the read data channel until the read transaction counter is the same as the read data counter.
Fig. 15 shows a block diagram of a monitor signal generation apparatus (SR) of a bus monitor for reading transactions from a device according to an embodiment of the present application.
The monitor signal generating means of the bus monitor SR includes read address channel substitution signal generating means, read data channel substitution signal generating means, and a read data length counter. Optionally, the monitor signal generating means further comprises a state machine for controlling generation of the substitute signal for each of the plurality of concurrent transactions.
The monitor signal generating means couples the read transaction counter and the read data counter of the error signal generating means. Optionally, the monitor signal generating device further comprises a read transaction counter and a read data counter, and the read transaction counter and the read data counter of the monitor signal generating device operate in the same manner as the corresponding counter of the error signal generating device.
A monitor signal generating device couples the read address channel with the read data channel and provides a dummy replacement signal to one or more of these channels.
The read data length counter counts the amount of data that has been sent for the read transaction on the read data channel. In one embodiment, even if multiple concurrent read transactions (e.g., multiple concurrent (Outstanding) transactions of the same ID) are to be monitored, the monitor signal generating apparatus includes only one read data length counter since the data transfer process of each read transaction is not inserted into the data transfer process of other read transactions. In another embodiment, the monitor signal generating means comprises a plurality of read data length counters, each read data length counter serving transactions having an ID corresponding thereto. The read data valid signal (RValid) and the master ready signal (RReady) appearing through the read data path identify that the read transaction sent data and accumulate the amount of data sent.
The memory records the amount of complete data to be read by the read transaction. For multiple transactions concurrently, the memory records the complete amount of data to be read for each concurrent read transaction.
In response to receiving the slave exception signal, the read address channel override signal generation means indicates to the master that the slave is not ready (via, for example, the ARReady signal) on the read address channel to prevent the master from sending a new read transaction. The read data lane substitution signal generating means ensures that the complete data it is to read is sent to the slave for the read transaction being transferred. For example, if the complete data to be read by a read transaction is already provided to the master device when the slave exception signal occurs, then the read data path substitution signal generating means need not generate a substitution signal for the transaction at the read data path. Whether the complete data to be read by the read transaction has been provided to the master device is identified by the value of the read data length counter and the length of the complete data to be read by the read transaction provided by the memory. For another example, if the slave exception signal occurs and the complete data to be read by a read transaction is not fully provided to the master, the read data lane substitute signal generating means generates a substitute signal in the read data lane to transmit dummy data to be read to the master, the dummy data amount being used to make up the difference between the complete data amount to be read by the read transaction and the transmitted data amount. For example, the read data lane substitute signal generating means transfers dummy data to the master by setting a read data signal (RData), a read valid signal (RValid), a master ready signal (RReady) signal, and/or a last read data signal (RLast).
If there are multiple concurrent read transactions, the read address channel substitution signal generation means and the read data channel substitution signal generation means also generate IDs corresponding to the transactions on the respective channels. In response to the slave exception signal, the state machine identifies that the burst data transmission is currently in progress and the burst data transmission is not completed, and the read data channel substitute signal generating device generates a substitute signal in the read data channel to transmit dummy data to the master, wherein the dummy data is used for completing the current burst data transmission; next, the state machine control identifies the current concurrent read transaction, and for each of the other concurrent read transactions, identifies whether the complete data to be read by the transaction is provided to the host device, and if necessary, transmits dummy data to the host device, the dummy data amount corresponding to the difference between the complete data amount to be read by the read transaction and the transmitted data amount.
If for each concurrent read transaction the complete data to be read has already been provided to the master (including by generating a false substitute signal to the master), the monitor signal generating means completes processing of the current slave exception signal. Optionally, the monitor signal generating means identifies that processing of the current slave exception signal is complete in response to the read transaction counter equaling the value of the read transaction counter.
While the preferred embodiments of the present application have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all alterations and modifications as fall within the scope of the application. It will be apparent to those skilled in the art that various changes and modifications may be made in the present application without departing from the spirit and scope of the application. Thus, if such modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is intended to include such modifications and variations as well.
Claims (10)
1. An electronic system comprising a master device, a slave device, a bus, wherein the electronic system further comprises at least two of a first bus monitor, a second bus monitor, a third bus monitor, and a fourth bus monitor; the bus provides a read data channel, a read address channel, a write data channel, a write address channel and a write response channel; said first bus monitor and said second bus monitor for coupling said master device with said bus, said third bus monitor and said fourth bus monitor for coupling said slave device with said bus; the first bus monitor and the third bus monitor are used for monitoring whether the write transaction between the master device and the slave device is abnormal or not; the second bus monitor and the fourth bus monitor are used for monitoring whether the read transaction between the master device and the slave device is abnormal or not.
2. The electronic system of claim 1, wherein in response to processing of a first write transaction in the bus stalling or stalling for more than a specified duration, the first bus monitor or the third bus monitor generates and outputs a write transaction exception signal that indicates an exception to the master device, the bus, and/or the slave device during a write transaction.
3. The electronic system of claim 1 or 2, wherein in response to processing of a first read transaction in the bus stalling or stalling beyond a specified duration, the second bus monitor or the fourth bus monitor generates and outputs a read transaction exception signal that indicates an exception to the master device, the bus, and/or the slave device during a read transaction.
4. The electronic system of claim 2, wherein the first bus monitor sends the write transaction exception signal to the third bus monitor; and/or the presence of a gas in the gas,
the third bus monitor sends the write transaction exception signal to the first bus monitor.
5. The electronic system of claim 3, wherein the second bus monitor sends the read transaction exception signal to the fourth bus monitor; and/or the presence of a gas in the gas,
the fourth bus monitor sends the read transaction exception signal to the second bus monitor.
6. The electronic system of any of claims 2-4, further comprising a processor; the processor generates an exception and/or reset signal indicating that the master device, the bus, and/or the slave device are reset in response to receiving the write transaction exception signal or the read transaction exception signal.
7. The electronic system of claim 5, wherein in response to receiving the read transaction exception signal,
and the second bus monitor and/or the fourth bus monitor generates and outputs a false signal to finish the processing corresponding to the first read transaction.
8. The electronic system of claim 7, wherein the spurious signals generated by the second bus monitor include a master ready signal provided to the bus and a slave not ready signal provided to the master;
the dummy signal generated by the fourth bus monitor includes dummy data that is used to replace data to be read for the first read transaction to complete processing of the first read transaction.
9. The electronic system of claim 4, wherein in response to receiving the write transaction exception signal, the first bus monitor and/or the third bus monitor generates and outputs a dummy signal to complete processing of the first write transaction.
10. The electronic system of any of claims 1-9, wherein the first bus monitor is a master bus monitor for write transactions, the second bus monitor is a master bus monitor for read transactions, the third bus monitor is a slave bus monitor for write transactions, and the fourth bus monitor is a slave bus monitor for read transactions.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110111381.0A CN114816896A (en) | 2021-01-27 | 2021-01-27 | AXI bus monitor and electronic system thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110111381.0A CN114816896A (en) | 2021-01-27 | 2021-01-27 | AXI bus monitor and electronic system thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114816896A true CN114816896A (en) | 2022-07-29 |
Family
ID=82523729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110111381.0A Pending CN114816896A (en) | 2021-01-27 | 2021-01-27 | AXI bus monitor and electronic system thereof |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114816896A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118093235A (en) * | 2023-12-18 | 2024-05-28 | 无锡众星微系统技术有限公司 | Chip CPU abnormality diagnosis method and device |
-
2021
- 2021-01-27 CN CN202110111381.0A patent/CN114816896A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118093235A (en) * | 2023-12-18 | 2024-05-28 | 无锡众星微系统技术有限公司 | Chip CPU abnormality diagnosis method and device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5499346A (en) | Bus-to-bus bridge for a multiple bus information handling system that optimizes data transfers between a system bus and a peripheral bus | |
US9952963B2 (en) | System on chip and corresponding monitoring method | |
US5933614A (en) | Isolation of PCI and EISA masters by masking control and interrupt lines | |
US6202097B1 (en) | Methods for performing diagnostic functions in a multiprocessor data processing system having a serial diagnostic bus | |
US6944796B2 (en) | Method and system to implement a system event log for system manageability | |
US6070253A (en) | Computer diagnostic board that provides system monitoring and permits remote terminal access | |
US7715450B2 (en) | Sideband bus setting system and method thereof | |
US5267246A (en) | Apparatus and method for simultaneously presenting error interrupt and error data to a support processor | |
JPH01154243A (en) | Interface between non failure-proof element and failure-proof system | |
WO1997046941A9 (en) | Digital data processing methods and apparatus for fault isolation | |
US10691527B2 (en) | System interconnect and system on chip having the same | |
EP1376356A1 (en) | Error reporting network in multiprocessor computer | |
JPH086910A (en) | Cluster type computer system | |
CN114579392A (en) | AXI bus monitor for write transactions | |
CN112650612A (en) | Memory fault positioning method and device | |
CN114816896A (en) | AXI bus monitor and electronic system thereof | |
US6643796B1 (en) | Method and apparatus for providing cooperative fault recovery between a processor and a service processor | |
CN112749057B (en) | Bus monitor for read transactions | |
US8028190B2 (en) | Computer system and bus control device | |
CN114730283A (en) | Monitoring processor operating in lockstep mode | |
US6381663B1 (en) | Mechanism for implementing bus locking with a mixed architecture | |
JP2008176477A (en) | Computer system | |
EP0596410B1 (en) | Detection of command synchronisation error | |
JPH06325008A (en) | Computer system provided with reset function | |
CN104484299B (en) | A kind of Lockstep processor systems of loose coupling |
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 |