WO2011065354A1 - バスモニタ回路及びバスモニタ方法 - Google Patents

バスモニタ回路及びバスモニタ方法 Download PDF

Info

Publication number
WO2011065354A1
WO2011065354A1 PCT/JP2010/070874 JP2010070874W WO2011065354A1 WO 2011065354 A1 WO2011065354 A1 WO 2011065354A1 JP 2010070874 W JP2010070874 W JP 2010070874W WO 2011065354 A1 WO2011065354 A1 WO 2011065354A1
Authority
WO
WIPO (PCT)
Prior art keywords
fifo
bus
data
access
access information
Prior art date
Application number
PCT/JP2010/070874
Other languages
English (en)
French (fr)
Inventor
俊樹 竹内
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to US13/511,559 priority Critical patent/US9152524B2/en
Priority to JP2011543256A priority patent/JP5637145B2/ja
Publication of WO2011065354A1 publication Critical patent/WO2011065354A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3027Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents

Definitions

  • the present invention relates to a bus monitor circuit and method for monitoring bus access information in signal processors such as processors, system LSIs, and SoCs (system on chip).
  • the bus monitor circuit and method according to the present invention conforms to a bus interface protocol capable of pipeline transfer and split transfer at the time of reading.
  • bus monitor circuit that outputs bus access information on a main bus inside the chip for observation outside the chip for debugging during actual operation is mounted.
  • bus monitor circuit pairs bus access information (that is, address and control information) and data information to guarantee the order of bus access generation and output it in order.
  • bus access information that is, address and control information
  • data information that is, data and data information
  • the bus monitor circuit pairs bus access information (that is, address and control information) and data information to guarantee the order of bus access generation and output it in order.
  • bus interface protocol In recent years, with the increase in size and speed of processor systems, the bus interface protocol has also evolved into an interface specification that realizes faster access in terms of latency and throughput.
  • a bus interface protocol that enables pipeline transfer or split transfer such as AMBA3.0AXI or OCP (Open Core Protocol) is often used.
  • AMBA3.0AXI or OCP Open Core Protocol
  • the bus monitor circuit when the bus monitor circuit outputs the bus monitor in the data information transfer order and observes the bus monitor output outside the chip, the bus access order is not guaranteed there. Unless the bus monitor output order of the bus monitor circuit guarantees the bus access generation order, the bus access information in the actual bus access order generated inside the chip cannot be obtained, enabling efficient and reliable debugging. I can't do it. Further, since the bus access order is not guaranteed, the bus access information and the data information cannot be output as a pair.
  • Patent Document 1 discloses a technique for simultaneously latching addresses, data, and attributes and storing them in a memory.
  • the technique of Patent Document 1 only those that match a bus monitor condition set in advance in a cycle in which all addresses, data, and attributes are valid are simultaneously latched, and the addresses, data, and attributes are set as a set. By storing at the same address, the minimum necessary bus access information can be stored in the memory in the bus access order.
  • Patent Document 2 discloses a technique for simultaneously outputting a plurality of buses to a bus monitor using a plurality of FIFOs.
  • the technique of Patent Document 2 only the bus access that conforms to the filter condition for each bus is stored in each FIFO, and the stored data of the FIFO that is not in an empty state is sequentially output. Efficient bus monitor output is possible.
  • Japanese Patent Application Laid-Open No. 2004-228688 discloses a technique for providing a write FIFO and a read FIFO in an access control circuit of a PCI bus, and minimizing read discard on the PCI bus while maintaining data dependency. Yes.
  • the discard of the read request is minimized by suppressing or continuing the write access according to the target address of the write access.
  • bus access generation order is guaranteed and the bus monitor output is performed in accordance with the bus access order. Can not.
  • the bus monitor circuit described above cannot output the bus monitor in the order of bus access generation. That is, if the bus monitor output is performed in the data information transfer order, the bus access order is not guaranteed when the bus monitor output is observed outside the chip. If the bus access order is not guaranteed at the time of bus monitoring, the bus access information cannot be obtained in the order actually generated in the chip, so that efficient and reliable debugging cannot be performed.
  • bus access information such as an address and a control signal is paired with the corresponding data information and the same. Cannot output in cycle.
  • the reason is that in the bus interface protocol capable of pipeline transfer and split transfer, the bus access information and the corresponding data information are not transferred in the same cycle, and it is difficult to output the pair in the same cycle. is there. That is, if the bus access information and the data information cannot be output as a pair, an operation for associating the two during observation outside the chip is required, and the debugging reliability is lowered.
  • bus monitor information when bus monitor information is output to the outside of the chip, more bus access information can be output within the limited number of external output pins and output clock frequency for bus monitor output, and the bus access information can be output to the chip.
  • the data is stored in the internal bus monitor memory, more reliable bus access information can be stored with a limited memory capacity, thereby enabling more reliable debugging.
  • the bus monitor output by representing the bus monitor output with a smaller number of data bits, it is possible to reduce the number of external output pins, the number of output cycles, and the memory capacity.
  • the bus interface protocol capable of pipeline transfer is applied to the technology of Patent Document 2, it cannot cope with the case where the transfer order of read data and write data is different from the transfer order of bus address information. For example, if write transfer and read transfer on one bus are separately assigned to FIFO as two bus transfers, write / read data can be stored in the FIFO and output externally, but the FIFO is not in an empty state. Since the transfer order between the plurality of buses (or between the plurality of FIFOs) is not guaranteed when the data is output sequentially, the bus access order cannot be guaranteed and the bus monitor cannot be output in that order.
  • the present invention can guarantee the bus access generation order and output the bus monitor in accordance with the order even when the pipeline transfer capable bus interface protocol is applied. It is an object of the present invention to provide a bus monitor circuit and method capable of outputting a bus monitor by pairing information.
  • a bus monitor circuit outputs a bus used for data transfer between a master and a slave to a bus monitor, and includes a first FIFO, a second FIFO that operates at a different timing from the first FIFO, A control unit that controls the first FIFO and the second FIFO and a selection unit that selects write data or read data are provided.
  • the control unit sequentially stores the access information transferred from the master to the slave on the bus in the first FIFO, and then whether the attribute of the access information stored at the head of the first FIFO is a write access or a read access
  • the write data or the read data is output from the first FIFO or the second FIFO, and the access information is output from the first FIFO. Is output.
  • the selection unit selects write data or read data according to the attribute of the access information stored at the head of the first FIFO, and outputs the same in the same cycle as a pair with the access information.
  • a bus used for data transfer between a master and a slave is output to the bus monitor using a first FIFO and a second FIFO that operate at different timings.
  • the access information transferred from the master to the slave on the bus is sequentially stored in the first FIFO, and the attribute of the access information stored at the head of the first FIFO is write access or read.
  • it waits for the first FIFO or the second FIFO to be output, and outputs the write data or the read data from the first FIFO or the second FIFO, and from the first FIFO.
  • the process includes a process for outputting access information and a process for selecting write data or read data in accordance with the attribute of the access information stored at the head of the first FIFO and outputting it in the same cycle as a pair with the access information.
  • the present invention includes a first FIFO and a second FIFO that operate at different timings, and controls the first FIFO and the second FIFO according to whether the attribute of the access information is a write access or a read access.
  • the bus monitor output order can be guaranteed and the bus monitor output is possible. Specifically, when the access information stored at the head of the first FIFO indicates a write access, the access information is directly output to the bus monitor together with the write data transferred in the same cycle.
  • the bus monitor When the access information stored at the head of the first FIFO indicates a read access, the bus monitor is paired with the access information and the read data in the same cycle after waiting for the read data to be stored in the second FIFO. Output. That is, the access information stored in the first FIFO is output in the original order according to the bus access generation order, and is output as a bus monitor in pairs with the corresponding data information.
  • the access information used for the write access is output to the bus monitor, and the read data is stored in the second FIFO. You may make it store in FIFO.
  • the bus monitor output can be performed in accordance with the bus access generation order, and the read data can be prevented from being lost.
  • an error flag bit may be used to notify the mismatch between the address information and the data information to the outside of the chip.
  • FIG. 1 is a block diagram illustrating a configuration of a bus monitor circuit according to a first embodiment of the present invention.
  • FIG. 3 is a timing diagram illustrating an operation of the bus monitor circuit according to the first embodiment.
  • FIG. 3 is a timing diagram illustrating an operation of the bus monitor circuit according to the first embodiment.
  • 3 is a flowchart illustrating a FIFO input / output control process applied to the bus monitor circuit according to the first embodiment.
  • 1 is a block diagram illustrating a configuration of a data encoding / decoding processing system to which a bus monitor circuit according to a first embodiment is applied. It is a block diagram which shows the structure of the bus monitor circuit based on Example 2 of this invention.
  • FIG. 10 is a timing diagram illustrating an operation of the bus monitor circuit according to the second embodiment.
  • 10 is a flowchart illustrating a FIFO input / output control process applied to the bus monitor circuit according to the second embodiment.
  • FIG. 10 is a timing diagram for explaining an error notification mechanism of the bus monitor circuit according to the second embodiment. It is a block diagram which shows the structure of the bus monitor circuit which concerns on Example 3 of this invention.
  • FIG. 10 is a timing diagram illustrating an operation of the bus monitor circuit according to the third embodiment. It is a block diagram which shows the structure of the bus monitor circuit based on Example 4 of this invention.
  • FIG. 10 is a timing diagram illustrating an operation of the bus monitor circuit according to the fourth embodiment.
  • FIG. 1 is a block diagram showing the configuration of the bus monitor circuit according to the first embodiment of the present invention.
  • the first embodiment provides a bus monitor circuit that outputs bus access information by a bus interface protocol capable of pipeline transfer or split transfer at the time of reading.
  • the bus monitor circuit 10 shown in FIG. 1 includes two types of FIFO (First-In-First-Out) units, that is, an access information / write data FIFO 11 and a read data FIFO 12.
  • the access information / write data FIFO 11 is a memory for storing access information such as commands and addresses transferred on the monitored bus and write data transferred in the same cycle as the access information.
  • the read data FIFO 12 is a memory that stores read data transferred in a different cycle from the access information.
  • the bus monitor circuit 10 includes a FIFO control unit 14 for controlling the access information / write data FIFO 11 and a FIFO control unit 15 for controlling the read data FIFO 12.
  • the FIFO control unit 14 outputs a write enable signal (WE_A) for controlling writing of the access information / write data FIFO 11 and a read enable signal (RE_A) for controlling reading.
  • the write enable signal (WE_A) of the access information / write data FIFO 11 includes a command (Cmd), access information including a command on this bus, and an accept signal (Ack) indicating that the write data has been accepted.
  • the read enable signal (RE_A) of the access information / write data FIFO 11 includes the status of the access information / write data FIFO, the access attribute (write / read access) of the top data of the access information / write data FIFO 11, and the read data FIFO 12. It consists of status.
  • the FIFO control unit 15 outputs a write enable signal (WE_R) for controlling writing of the read data FIFO 12 and a read enable signal (RE_R) for controlling the reading.
  • the write enable signal (WE_R) of the read data FIFO 12 is composed of a response signal (Resp) indicating that read data has been transferred onto the bus.
  • the read enable signal (RE_R) of the read data FIFO 12 is composed of the status of the read data FIFO 12, the status of the access information / write data FIFO 11, and the access attribute (write / read access) of the top data of the access information / write data FIFO 11. Is done.
  • the bus monitor circuit 10 includes a data information selection unit (SEL) 16 in order to output data information and access information in pairs.
  • SEL data information selection unit
  • the data information selection unit 16 In the case of write access, the data information selection unit 16 outputs write data and access information in pairs, and in the case of read access, the data information selection unit 16 outputs read data and access information in pairs.
  • the access information / write data is output via the FIFO 11.
  • read data (RDData) transferred from the slave side to the master side is output via the read data FIFO 12.
  • a bus monitor signal is output from the bus monitor circuit 10.
  • the bus monitor circuit shown in FIG. 1 includes a command (Cmd), an address (Addr), a byte enable signal (ByteEn), write data (WData), an accept signal (Ack), and signals transferred on the bus to be monitored.
  • a response signal (Resp) and read data (RData) are input.
  • the command (Cmd) indicates a command for performing a write access and a read access and its access attribute.
  • the address (Addr) designates an address of data at the time of writing or reading.
  • the byte enable signal (ByteEn) specifies an access area and a data size.
  • Write data (WData) indicates data to be written in the direction from the master side to the slave side.
  • the data bits of the command, address, and byte enable signal indicate access information, and the number of bits is extended by the amount of write data so that the write data can be transferred at the same timing as the access information.
  • the accept signal (Ack) is transmitted when a command from the master side is received on the slave side and can be accepted.
  • the response signal (Resp) indicates a cycle in which read data is ready.
  • Read data (RData) is transferred from the slave side to the master side.
  • a bus monitor enable signal (BMEn) and a read enable signal (ReadEn) for controlling the start and stop of the bus monitor operation may be input from the outside of the bus monitor circuit 10.
  • the bus monitor signal includes a bus monitor strobe signal (BMSTB) and a bus monitor output signal (BMDAT).
  • BMSTB bus monitor strobe signal
  • BMDAT bus monitor output signal
  • bus monitor output signal BMDAT
  • a plurality of pieces of information are stored with a predetermined number of bits.
  • the bit configuration of the bus monitor output signal is shown below. However, the arrangement order of each information in this bit configuration is an example, and a different arrangement order may be used.
  • the numbers in parentheses [] indicate bit numbers.
  • the bus monitor output signal (BMDAT) BMDAT [55:32] includes an error flag (ErrorFlag), a command (WriteEn), an address (Addr), and a byte enable (ByteEn). Show.
  • 2 and 3 are timing charts illustrating the operation of each unit of the bus monitor circuit 10 according to the first embodiment.
  • the following operation is performed as a bus interface protocol capable of pipeline transfer or split transfer at the time of reading.
  • the master side sets the write address (Addr), sets the write data area / size to the byte enable signal (ByteEn), and sets the write data (WData). Further, the command (Cmd) is written (W), and it waits for the return of the accept signal (Ack) at a high level.
  • the slave side indicates the completion of the write access by setting the accept signal (Ack) to the high level in the cycle in which the command can be received.
  • the master side sets the read address (Addr) and sets the read data area / size in the byte enable signal (ByteEn). Also, the command (Cmd) is read (R), and it waits for the return of the accept signal (Ack) at a high level. Since the read data (RData) becomes valid in a cycle in which the response signal (Resp) is at a high level, the master side acquires the read data. The slave side indicates the completion of the read access by setting the accept signal (Ack) to the high level in the cycle in which the command can be received and setting the response signal (Resp) to the high level in the cycle in which the read data can be prepared. .
  • the access data (BMDAT [31: 0] (Data)) is associated with the corresponding access information (BMDAT [55:32] (Info)).
  • Bus monitor output as a pair.
  • a read / write command can be designated (see times T7 and T8 in FIG. 2).
  • the transfer order of read data / write data corresponding to the command generation order may be reversed (see data R4 and W5 in FIG. 3). However, the reversal of the data transfer order is not allowed between write accesses and read accesses.
  • bus specification corresponds to an example of a bus interface protocol capable of pipeline transfer at the time of reading, and therefore the scope of application of the first embodiment is not limited to this.
  • the bus monitor circuit 10 Even when the transfer order of read data and write data is reversed, it is necessary to output the access data and access information in pairs as a bus monitor. Therefore, in the bus monitor circuit 10 according to the first embodiment, the access information / write data FIFO 11 and the read data FIFO 12 are stored in accordance with the attribute (write / read access) of the top access information input to the access information / write data FIFO 11. I have control. Thus, even in the case of a bus interface protocol capable of pipeline transfer in which the transfer order of write data and read data may be reversed with respect to the bus access order, the bus monitor output can be performed without reversing the access generation order.
  • the access information When the attribute of the top access information of the access information / write data FIFO 11 is write access, the access information is directly output to the bus monitor together with the corresponding write data transferred in the same cycle.
  • the access information is bus monitored together with the read data after the corresponding read data is stored in the read data FIFO 12. Output.
  • the access information such as the address and the data information can be paired and output to the bus monitor according to the storage order of the access information / write data FIFO 11 according to the bus access generation order.
  • FIG. 4 is a flowchart illustrating the FIFO input / output control process of the bus monitor circuit 10 according to the first embodiment.
  • the access information / write data FIFO 11 and read data FIFO 12 are controlled so that the access information and access data are paired and output by the bus monitor.
  • the FIFO control units 14 and 15 determine whether or not the status of the access information / write data FIFO 11 is empty (step S31). If the status of the access information / write data FIFO 11 is empty, the FIFO output control process is not performed (step S32).
  • the FIFO control units 14 and 15 determine whether or not the command attribute of the head access information is write (W) (step S33).
  • the command attribute of the top access information is write (W)
  • the FIFO control units 14 and 15 write access that is, command (Cmd), address (Addr)
  • the bus monitor circuit 10 can output the access information and the data information in pairs as a bus monitor as shown in FIGS.
  • the attribute of the top access information of the access information / write data FIFO 11 corresponds to write address information.
  • the write data is output as a pair as it is. 2 and 3
  • BMDAT [55:32] (Info) indicates the bus monitor output of the access information
  • BMDAT [31: 0] (Data) indicates the data information (access data).
  • the access information attribute at the head of the access information / write data FIFO 11 is read access, so that the corresponding read data is read.
  • the read address information and the read data are output in pairs in the cycles of time T10, T11, T12 in FIG. 2 and time T6, T10, T12 in FIG.
  • the next bus access occurs during data reading.
  • the bus access is stored in the access information / write data FIFO 11, and the FIFO processing is sequentially performed after the bus access waiting for the first read data is output.
  • read data is returned on the bus in the cycle in which the attribute of the top access information of the access information / write data FIFO 11 is write access.
  • the first write access information of the access information / write data FIFO 11 is output by the bus monitor, and the read data is stored in the read data FIFO 12.
  • the bus monitor circuit 10 since the bus monitor circuit 10 according to the first embodiment performs output control in cooperation with the two types of FIFOs of the access information / write data FIFO 11 and the read data FIFO 12, the order of bus monitor output is changed to the bus. It can be assured that the access sequence is the same. In other words, even in the bus interface protocol where the pipeline transfer at the time of reading is possible and the transfer order of the write data and the read data may be reversed from the actual bus access generation order, the bus monitor is in accordance with the bus access generation order. Can be output.
  • FIG. 5 is a block diagram illustrating a configuration of a data encoding / decoding processing system 500 that is a system LSI and SoC to which the bus monitor circuit 10 according to the first embodiment is applied.
  • a data encoding / decoding processing system 500 shown in FIG. 5 includes a main processor (CPU) 100 that controls the entire system, a CPU bus 110, an interrupt controller 101, and an external memory controller 102.
  • main processor CPU
  • CPU central processing unit
  • interrupt controller 101 an interrupt controller
  • external memory controller 102 external memory controller
  • a processor 206 is provided.
  • the data encoding / decoding processing system 500 is equipped with an execution control processor 200 for controlling the sub-processors 201-206.
  • a control bus 210 is provided between the execution control processor 200 and the sub-processors 201 to 206. Data transfer between the sub processors 201 to 206 is performed via the shared memory 300. Since the shared memory 300 is multi-banked, the sub-processors 201 to 206 can access individual banks of the shared memory 300 in parallel via the multi-layer shared memory bus 310.
  • the CPU bus 110, the control bus 210, and the shared memory bus 310 improve the data transfer throughput according to the bus interface protocol shown in FIGS. 2 and 3 that enables pipeline transfer (or split transfer) at the time of reading. I am letting. Further, since all data transfer between the sub-processors 201 to 206 is performed via the shared memory 300, no direct communication means is required between the individual sub-processors 201 to 206. Such a multiprocessor configuration can be expected to improve the reusability of the sub-processors 201 to 206 and the expandability of the entire system.
  • the data encoding / decoding processing system 500 includes three bus monitors for observing bus accesses on the CPU bus 110, the control bus 210, and the shared memory bus 310, which are main bus interfaces in the chip, outside the chip. Circuits 151, 152, 153 and a debug block (DBG) 400 for controlling the actual bus monitor output are provided. Since the shared memory bus 310 is multi-layered, the bus selection unit (SEL) 330 selects which layer bus access is output to the bus monitor.
  • the bus monitor circuits 151 to 153 have the same configuration as the bus monitor circuit 10 shown in FIG.
  • the main processor 100 issues an encoding sequence execution command to the execution control processor 200.
  • the execution control processor 200 issues a command for the encoding process A1 to the sub processor 204.
  • the execution control processor 200 issues a command of the encoding process A2 to the sub processor 205.
  • the execution control processor 200 issues a command for the encoded data transfer process to the sub processor 206.
  • the sub-processors 204 to 206 receive the above commands, they read out the processing data from the shared memory 300 and execute each processing, and then write the result data into the shared memory 300 or transfer the data to the outside of the chip. To do.
  • the main processor 100 issues a decoding sequence execution command to the execution control processor 200.
  • the execution control processor 200 issues a command for the decoding process B 1 to the sub-processor 201.
  • the execution control processor 200 issues a command for the decoding process B2 to the sub-processor 202.
  • the execution control processor 200 issues a command for the decoding process B3 to the sub-processor 203.
  • the execution control processor 200 Upon receiving the decryption processing B3 completion status, the execution control processor 200 issues a decryption data notification interrupt to the main processor 100.
  • the sub-processors 201 to 203 When the sub-processors 201 to 203 receive the above command, they read out the processing data from the shared memory 300, execute each processing, and then write the result data into the shared memory 300.
  • the main processor 100 sets the bus access of the bus interface to be output to the debug block 400.
  • bus monitor output start / stop conditions and trigger settings for timing control are also set.
  • the debug block 400 starts the bus monitor output operation of the bus monitor circuits 151 to 153 by setting the bus monitor output enable signal for the bus monitor circuits 151 to 153 of the selected bus interface to the high level.
  • the bus monitor circuit 10 Since the bus monitor circuit 10 according to the first embodiment is applied as the bus monitor circuits 151 to 153, the bus monitor output that guarantees the bus access generation order in each bus interface is performed by pairing the access information and the data information. Can do. Further, based on the bus monitor output strobe signal (BMSTB) and bus monitor output data (BMDAT) output from the bus monitor circuits 151 to 153, the debug block 400 performs filter control and trigger control, and outputs each processing result to the debug block. The data is temporarily stored in the FIFO unit in 400. When the MUX section in the debug block 400 cannot output 1 bus monitor output data in one cycle due to the number of external output pins for bus monitor output or the limitation of the output clock frequency, the bus monitor output data is multiplexed. If a plurality of bus interfaces are selected, access arbitration between the bus interfaces is performed, and bus monitor output data is sequentially output from each FIFO unit.
  • BMSTB bus monitor output strobe signal
  • BMDAT bus monitor output data
  • a total of three bus interfaces including the CPU bus 110, the control bus 210, and the shared memory bus 310 for one layer can be observed at one time (ie, bus monitor output).
  • time information can be acquired during observation outside the chip.
  • FIG. 6 is a block diagram showing the bus monitor circuit 20 according to the second embodiment of the present invention.
  • the bus monitor circuit 20 according to the second embodiment corresponds to a bus interface protocol having different transfer timings of access information such as commands and addresses, write data, and read data.
  • the bus monitor circuit 20 shown in FIG. 6 has three types of access information FIFO 21, read data FIFO 22, and write data FIFO 23 to cope with bus interface protocols having different transfer timings of access information, read data, and write data.
  • FIFO is provided.
  • the access information FIFO 21 stores access information such as commands and addresses transferred on the bus to be monitored.
  • the read data FIFO 22 stores read data, and the write data FIFO 23 stores write data.
  • the feature of the second embodiment compared to the first embodiment is that it comprises three types of FIFOs, that is, an access information FIFO 21, a read data FIFO 22, and a write data FIFO 23, independently. Also, FIFO control units 24, 25, and 26 are provided to control the access information FIFO 21, read data FIFO 22, and write data FIFO 23, respectively. Further, a data information selection unit (SEL) 27 that selects the output of the read data FIFO 22 or the write data FIFO 23 is also provided.
  • SEL data information selection unit
  • the write enable signal (WE_A) of the access information FIFO 21 is composed of a command (Cmd) and a command accept signal (CmdAck) indicating that access information including a command on the bus has been accepted.
  • the read enable signal (RE_A) of the access information FIFO 21 is composed of the status of the access information FIFO 21, the access attribute (write / read access) of the top data of the access information FIFO 21, and the status of the write data FIFO 23 or the status of the read data FIFO 22. Is done.
  • the write enable signal (WE_R) of the read data FIFO 22 includes a response signal (Resp) indicating that the read data has been transferred on the bus.
  • the read enable signal (RE_R) of the read data FIFO 22 includes a status of the read data FIFO 22, a status of the access information FIFO 21, and an access attribute (write / read access) of the top data of the access information FIFO 21.
  • the write enable signal (WE_W) of the write data FIFO 23 is composed of a valid signal (Valid) indicating that the write data has been transferred onto the bus.
  • the read enable signal (RE_W) of the write data FIFO 23 is composed of the status of the write data FIFO 23, the status of the access information FIFO 21, and the access attribute (write / read access) of the top data of the access information FIFO 21.
  • the second embodiment also includes a data information selection section (SEL) 27 for outputting the access information and the data information (data information) in pairs as a bus monitor.
  • SEL data information selection section
  • FIG. 7 is a timing chart illustrating the operation of the bus monitor circuit 20 according to the second embodiment.
  • the bus interface protocol applied to the second embodiment is similar to the bus interface protocol applied to the first embodiment, and enables pipeline transfer (split transfer) at the time of reading.
  • a transfer cycle of access information such as a command (Cmd), an address (Addr) and a byte enable signal (ByteEn), and a transfer cycle of actual write data (WData) And can be separated. That is, in the second embodiment, as compared with the first embodiment, a valid signal (Valid) is added in the direction from the master to the slave indicating the transfer cycle of the write data (WData).
  • a data accept signal may be added from the slave to the master. Similar to the first embodiment, in the bus interface protocol of the second embodiment, the transfer order of access information and the transfer order of read data and write data may be reversed. However, reversal of the data information transfer order between write accesses and read accesses is not allowed.
  • the format of the bus monitor output in the second embodiment is the same as that in the first embodiment. That is, it is composed of a bus monitor strobe signal (BMSTB) and a bus monitor output signal (BMDAT).
  • the bus monitor output signal (BMDAT) becomes valid in a cycle in which the bus monitor strobe signal (BMSTB) is at a high level.
  • access information such as a command (WriteEn), an error flag (Error Flag), an address (Addr), and a byte enable signal (ByteEn) is also determined according to the bit configuration of the bus monitor output signal (BMDAT).
  • data information such as write data (WData) or read data (RDData) are paired and output in the same cycle.
  • the access information and write data / read data transferred in different cycles on the bus interface protocol are paired and output to the bus monitor in the same cycle.
  • the correspondence between the address information and the data information is assured during observation outside the actual chip, highly reliable debugging can be easily executed in the second embodiment.
  • highly reliable debugging can be easily executed in the second embodiment.
  • a predetermined bit portion of the bus monitor output signal is shared by the write data and the read data, a large amount of information can be output with a small number of bits.
  • access information such as a command (Cmd), an address (Addr), and a byte enable signal (ByteEn) transferred from the master to the slave is output via the access information FIFO 21.
  • the write data (WData) is output via the write data FIFO 23.
  • Read data (RData) transferred from the slave in the master direction is output via the read data FIFO 22.
  • access information, write data, and read data have different transfer timings.
  • the bus monitor circuit 20 controls the access information FIFO 21, read data FIFO 22, and write data FIFO 23 by three types of FIFO control units 24, 25, and 26.
  • FIG. 8 is a flowchart illustrating the FIFO input / output control process of the bus monitor circuit 20 according to the second embodiment.
  • the FIFO control unit 24 that controls the access information FIFO 21 is the timing at which the write command or read command is transferred on the bus, that is, the command (Cmd) writes (W) or reads (R). And it is determined whether the command accept signal (CmdAck) is in a high level cycle (step S41).
  • the input control of the access information FIFO 21, read data FIFO 22, and write data FIFO 23 is executed depending only on the bus signal output on the bus interface.
  • the FIFO output control process will be described.
  • the three types of FIFOs of the access information FIFO 21, the read data FIFO 22, and the write data FIFO 23 are the status of the read data FIFO 22 and the write data FIFO 23 (determining whether or not they are empty), and the top access information of the access information FIFO 21.
  • the output is controlled by the command (write (W) / read (R) command).
  • the FIFO control units 24 to 26 determine whether or not the status of the access information FIFO 21 is empty (step S71). If the status of the access information FIFO 21 is empty, output control is not performed (step S72).
  • step S71 If the determination result in step S71 is “NO”, the FIFO control units 24 to 26 determine whether or not a write command (W) is stored in the top access information of the access information FIFO 21 (step S73).
  • the command (Cmd), the address (Addr), and the byte enable signal (ByteEn) the access information FIFO 21 and the top of the write data FIFO 23 are displayed.
  • SEL 1, the write data (WData) of the write data FIFO 23 is selected by the data information selection unit (SEL) 27 and stored in the data portion of the bus monitor output.
  • the write data (WData) corresponding to the access information transfer cycle such as the command (Cmd) and address (Addr) is transferred at the same timing as the access information or at a delayed timing.
  • the transfer cycle of read data (RData) also uses the characteristics of the bus interface protocol that is transferred at the same timing as the access information or at a delayed timing.
  • the bus monitor circuit 20 can output the access information and the data information (access data) in pairs as a bus monitor as shown in FIG.
  • the access information FIFO 21 indicates a write command (W)
  • the corresponding write data is input to the write data FIFO 23. Then, the access information and the corresponding write data are output in pairs.
  • the access information at the head of the access information FIFO 21 indicates a read command (R), so that the corresponding read data is input to the read data FIFO 22,
  • the access information and the corresponding read data are output in pairs.
  • the next bus access occurs in the write data standby state and the read data standby state.
  • the bus access data is stored in the access information FIFO 21, and the FIFO processing is sequentially performed after the access information in the first read data waiting state is output.
  • the read data When read data is returned on the bus in a cycle in which the top access information of the access information FIFO 21 indicates write access, the read data is stored in the read data FIFO 22. At time T10 in FIG. 7, since the top access information of the access information FIFO 21 is a cycle indicating read access and the write data is transferred on the bus, the write data is accumulated in the write data FIFO 23. .
  • output control is performed by linking the three types of FIFOs of the access information FIFO 21, the read data FIFO 22, and the write data FIFO 23, so that the bus monitor output transfer order is the access information access information FIFO 21. It is guaranteed that the input order is the same as the input order.
  • Bus monitor output in the bus interface protocol in which pipeline transfer at the time of reading is possible and the transfer order of write data and read data may be reversed from the actual bus access generation order, Bus monitor output.
  • the number of FIFO stages of the access information / write data FIFO 11 and read data FIFO 12 of the bus monitor circuit 10 is high when the read latency on the bus to be monitored (that is, the accept signal (Ack) receiving the read command) is high. It can be estimated by the maximum value of the number of cycles until the response signal (Resp) for returning the read data returns to the high level) from the cycle at the level. By mounting the estimated number of FIFO stages in the bus monitor circuit 10, it is possible to prevent an overflow from occurring in each FIFO.
  • the number of FIFO stages of the bus monitor circuit 20 is not limited to the maximum value of the read latency described above, but the effective signal (Valid) is actually increased from the cycle in which the write command from the master is accepted. It can be estimated by the maximum value of the number of cycles until the write data is transferred at the level. That is, by mounting the number of FIFO stages estimated based on the larger value of the maximum value of the read latency and the maximum value of the write latency in the bus monitor circuit 20, it is possible to prevent the overflow from occurring in each FIFO. Can do.
  • a FIFO that stores a master ID and a slave ID waiting for read data for bus control in a bus controller (for example, the CPU bus 110, the control bus 210, and the shared memory bus 310 shown in FIG. 5).
  • a bus controller for example, the CPU bus 110, the control bus 210, and the shared memory bus 310 shown in FIG. 5.
  • the access information / write data There is a possibility that overflow occurs in the FIFO 11 and the access information FIFO 21.
  • the overflow of the access information / write data FIFO 11 and the access information FIFO 21 continues one after another even though the write data or read data corresponding to the first access information of each FIFO is not yet transferred on the bus and is in a standby state. This occurs when a bus access exceeding the number of FIFO stages occurs on the bus.
  • the error flag bit of the bus monitor output signal (BMDAT) is used to notify the mismatch between the access information and the data information.
  • FIG. 9 is a timing chart for explaining an error notification mechanism in the bus monitor circuit 20 according to the second embodiment.
  • FIG. 9 shows the output timing of the bus monitor output signal for notifying the mismatch between the address and data using the error flag bit.
  • the number of FIFO stages is “4” for simplification, but the present invention is not limited to this.
  • the actual number of FIFO stages may be “8”, “16”, “32”, and the like.
  • the access information FIFO 21 becomes full and the next bus access occurs (that is, the cycle at time T5).
  • the access information at the head of the access information FIFO 21 that should disappear due to the insufficient number of stages is output to the bus monitor.
  • the access information is output to the bus monitor in pairs with all-zero data.
  • the error flag bit (BMDAT [55]: Error Flag) of the bus monitor output signal is set to a high level to notify the external device of the mismatch between the access information and the data information (see the cycle at time T6).
  • the access attribute (the top of the access information FIFO 21 at the time of overflow)
  • the error flag is kept high until the status of the access information FIFO 21 becomes empty.
  • read data and write data may exist in the read data FIFO 22 and the write data FIFO 23.
  • the access information is set to all zero bits, the error flag is set to the high level, and only the data information is output to the bus monitor (see the cycle at time T12).
  • the error flag notification mechanism As described above, by implementing the error flag notification mechanism, it is possible to distinguish a highly reliable bus monitor output and a less reliable bus monitor output outside the chip. This also prevents the loss of the bus access information, and the correlation between the access information and the data information can be estimated using the error flag bit at the time of observation outside the chip.
  • FIG. 10 is a block diagram showing a configuration of the bus monitor circuit 30 according to the third embodiment of the present invention.
  • a bus monitor output signal sharing address information and data information is formed.
  • the bus monitor circuit 30 is configured by expanding the bus monitor circuit 10 according to the first embodiment.
  • the bus monitor circuit 30 includes two types of FIFOs, an access information / write data FIFO 31 and a read data FIFO 32.
  • the bus monitor circuit 30 includes a FIFO control unit 34 for controlling the access information / write data FIFO 31 and a FIFO control unit 35 for controlling the read data FIFO 32.
  • the bus monitor circuit 30 is provided with a data information selection unit (SEL) 36 for pairing access information and data information (access data) for bus monitor output.
  • SEL data information selection unit
  • a delay unit (Stb, Err, Cnt, Adr, Dat) 60 of the bus monitor output signals (BMSTB, BMDAT) is provided as a specific configuration of the third embodiment after the access information / write data FIFO 31 and the read data FIFO 32.
  • CMP address comparator
  • MSK control information mask
  • SEL address information selection unit
  • the bus monitor output signal has the following bit configuration.
  • BMDAT [63:32] in the bus monitor output signal can share address information and data information.
  • control information such as the byte enable signal (ByteEn) is masked by the control information mask (MSK) 66
  • the address information from the delay unit 64 and the data information selection unit (SEL) are selected by the address information selection unit (SEL) 67.
  • Which data information from 36 is selected is determined by the comparison result of the address comparator (CMP) 65.
  • FIG. 11 is a timing diagram illustrating the operation of the bus monitor circuit 30 according to the third embodiment.
  • FIG. 11 shows the transfer timing of the bus monitor output signal, and the bus interface protocol applied to the third embodiment is the same as that of the first embodiment (see FIGS. 2 and 3).
  • the first three write accesses W0, W1, and W2 are burst accesses to successive incremental addresses, and the next three read accesses R3, R4, and R5 are also burst accesses to incremental addresses. .
  • the bus access data that can be output by the bus monitor circuit 30 is output from the access information / write data FIFO 31 or the data information selection unit (SEL) 36, it is not output as it is in the third embodiment.
  • the signals are latched and output by the monitor output signal delay units 60 to 64 (refer to the cycles at times T2, T3, T8, T9, and T11 in FIG. 11).
  • the address comparator (CMP) 65 compares the address information between the current bus access data and the previous bus access data.
  • the address comparator (CMP) 65 also compares the address information when the next bus access data can be output as a bus monitor. If it is determined that the next bus access data continues to be an access to an incremental address, the control information bit is masked by the control information mask (MSK) 66 and held by the address information selection unit (SEL) 67. Instead of the address information of the current bus access data, the next bus access data is selected and output to the bus monitor (see times T4 and T10 in FIG. 11).
  • the control information bits are masked to a fixed value of all zeros, and a bus monitor output signal for two accesses is formed using the address information bits and the data information bits. That is, the mask of the control information bit indicates that the data information is to the incremental address with respect to the previous bus access data, and the data information for two accesses that normally requires two cycles can be output to the bus monitor in one cycle. it can. If the next bus access data is not an access to an incremental address, the bus access data held in the address information selection unit (SEL) 67 is output as it is to the bus monitor and the next bus access data is delayed. Latched by the parts 60 to 64.
  • the address information in the bus access data before and after is compared, and when it is determined that the access is to the incremental address, the address information is shared as the data information, so that the bus monitor is compared with the first embodiment.
  • the number of output cycles can be reduced.
  • the actual address information and data information can be easily restored only by observing whether or not the control information bits are masked outside the chip.
  • FIG. 12 is a block diagram showing a configuration of the bus monitor circuit 4 according to the fourth embodiment of the present invention.
  • the fourth embodiment forms a bus monitor output signal sharing address information and data information in order to reduce the number of bits of the bus monitor output signal.
  • the bus monitor circuit 40 is configured by expanding the bus monitor circuit 10 according to the first embodiment.
  • the bus monitor circuit 40 includes two types of FIFOs: an access information / write data FIFO 41 and a read data FIFO 42.
  • the bus monitor circuit 40 includes a FIFO control unit 44 that controls the access information / write data FIFO 41 and a FIFO control unit 45 that controls the read data FIFO 42.
  • the bus monitor circuit 40 includes a data information selection unit (SEL) 46 for pairing access information and data information (access data) for bus monitor output.
  • SEL data information selection unit
  • a delay unit (Stb, Err) of the bus monitor output signals (BMSTB, BMDAT) is provided at the subsequent stage of the access information / write data FIFO 41 and the data information selection unit (SEL) 46.
  • Cnt, Adr, Dat 70 to 74
  • an address comparator (CMP) 75 a control information / address information mask (MSK) 76
  • SEL data information selector
  • the bus monitor output signal (BMDAT) has the following bit configuration. As a result, the number of bits of the bus monitor output signal (BMDAT) is reduced in the fourth embodiment compared to the first embodiment.
  • FIG. 13 is a timing diagram illustrating the operation of the bus monitor circuit 40 according to the fourth embodiment.
  • FIG. 13 shows the transfer timing of the bus monitor output signal of the bus monitor circuit 40.
  • the bus interface protocol applied to FIG. 13 is the same as that of the first embodiment (see FIGS. 2 and 3).
  • the first three write accesses W0, W1, and W2 are accesses to adjacent areas where the upper bits of the address (Addr) are equal, and the addresses of the next three read accesses R3, R4, and R5 ( Addr) is also assumed to be an access to an adjacent area where the upper bits are equal.
  • the fourth embodiment outputs the bus monitor output signal as it is. Instead, as shown in the cycles of times T3, T4, T5, T8, T9, T10, and T12 in FIG.
  • the current bus access data is compared with the previous bus access data and the upper bits of the address information by the address comparator (CMP) 75 before the latch timing. If the upper bit of the address of the current bus access data matches the upper bit of the address of the previous bus access data, the bus of the current bus access data is shown as shown in the cycle at times T4, T5, T9, and T10 in FIG.
  • the monitor output signal is latched and output in the next cycle. At this time, only low-order bits (8 bits in FIG. 12) are output as the address information.
  • the bus access data is output over two cycles.
  • the control information / address information mask (MSK) 76 masks the control information and address information with fixed value bits.
  • the data information selection unit (SEL) 77 selects the upper bits of the address (Addr) for the data information and outputs the data to the bus monitor.
  • the bus monitor output signal of the bus access data is latched in the delay units 70 to 74, and the remaining bus monitor output signals (that is, control signals) in the second cycle.
  • Information, lower bits of the address, and data) are output.
  • the bus monitor circuit 40 compares the current bus access data and the previous bus access data with the upper bits of the addresses, and both have the upper bits of the same address and are adjacent to each other. If it is determined that the access is to an area, only the lower bits of the address are output. On the other hand, if it is determined that the upper bits of both addresses are to access different areas, the bus monitor output signal is output in two cycles. Is output. By mounting such a mechanism, the number of bits of the bus monitor output signal (BMDAT) can be reduced in the fourth embodiment compared to the first embodiment.
  • the actual bus access information can be easily restored by observing whether the control information and the address information are masked to the fixed value bits outside the chip.
  • the technical feature of the fourth embodiment is that the occurrence probability of cycle overhead by performing bus monitor output in two cycles by adding it to the subsequent stage of the bus monitor circuit capable of guaranteeing the access generation order shown in the first embodiment. Can be suppressed.
  • the bus monitor circuit that outputs the bus accesses generated on the bus in the generation order as they are, it is possible to achieve technical effects that cannot be realized by the conventional technology.
  • the present invention is applied to a bus monitor circuit capable of observing bus access information inside a signal processing chip such as a system LSI or SoC outside the chip, and in particular, pipeline transfer and split transfer are possible.
  • the bus monitor output that accurately reflects the bus access generation order is applied to a simple bus interface protocol, thereby realizing efficient and reliable debugging.
  • Bus Monitor Circuit 11 Access Information / Write Data FIFO 12 Read data FIFO 14 FIFO control unit 15 FIFO control unit 16 Data information selection unit 20 Bus monitor circuit 21 Access information FIFO 22 Read data FIFO 23 Write data FIFO 24 FIFO control unit 25 FIFO control unit 26 FIFO control unit 27 Data information selection unit 30 Bus monitor circuit 31 Access information / write data FIFO 32 Read data FIFO 34 FIFO control unit 35 FIFO control unit 36 Data information selection unit 40 Bus monitor circuit 41 Access information / write data FIFO 42 Read data FIFO 44 FIFO control unit 45 FIFO control unit 46 Data information selection unit 60 to 64 delay unit 65 Address comparator 66 Control information mask 67 Address information selection unit 70 to 74 Delay unit 75 Address comparison unit 76 Control information / address information mask 77 Data information Selection unit 100 Main processor 101 Interrupt controller 110 CPU bus 151 to 153 Bus monitor circuit 200 Execution control processor 201 to 206 Sub processor 210 Control bus 300 Shared memory 310 Shared memory bus 330 Bus selection unit 400 Debug

Abstract

 マスタとスレーブ間のデータ転送に供するバスをバスモニタ出力するバスモニタ回路は、アクセス情報/書込データFIFOと読出データFIFOを具備する。アクセス情報/書込データFIFOの先頭に格納されたアクセス情報の属性が書き込みアクセスの場合、アクセス情報を同一サイクルで転送される対応する書き込みデータとともにそのままバスモニタ出力する。アクセス情報/書込データFIFOの先頭に格納されたアクセス情報の属性が読み出しアクセスの場合、対応する読み出しデータが読出データFIFOに格納されるのを待って、アクセス情報と読み出しデータとをペアにして同一サイクルでバスモニタ出力する。これにより、パイプライン転送可能なバスインタフェースプロトコルでもバスアクセスの発生順序を保証して、アクセス情報とデータ情報とをペアにしてバスモニタ出力する。

Description

バスモニタ回路及びバスモニタ方法
 本発明は、プロセッサ、システムLSI、及びSoC(システムオンチップ)などの信号処理装置内のバスアクセス情報をモニタするバスモニタ回路及び方法に関する。特に、本発明に係るバスモニタ回路及び方法は読み出し時のパイプライン転送やスプリット転送可能なバスインタフェースプロトコルに準拠するものである。
 本願は、2009年11月26日付で日本国に出願された特願2009-268809号に基づき優先権を主張し、その内容をここに援用する。
 プロセッサ、システムLSI及びSoCなどの信号処理装置において、チップ内部の主要バス上のバスアクセス情報を実作動時にデバッグ用としてチップ外部にて観測するために出力するバスモニタ回路が実装されている。
 バスモニタ回路は、バスアクセス情報(即ち、アドレスや制御情報)とデータ情報とをペアにして、バスアクセスの発生順序を保証して順序どおりに出力することが望まれる。また、チップ外部にバスアクセス情報を出力するために使用する外部出力ピン数や出力クロック周波数を考慮すると、出来るだけ少ないビット数で多くのバスアクセス情報を出力できることが望まれる。
 しかし、パイプライン転送可能なバスインタフェースプロトコルにおいて読み出しアクセスと書き込みアクセスが混在した場合、その読み出しアクセスと書き込みアクセスの実際の発生順序と読み出しデータ(RDAT)と書き込みデータ(WDAT)がバス上に転送される順序とが一致しないことがある。この場合、バスインタフェースプロトコルによりバスアクセス情報とデータ情報とをペアにしてバスモニタ出力させることが困難である。
 近年、プロセッサシステムの大規模化及び高速化に伴い、バスインタフェースプロトコルもレイテンシやスループットなどの観点でより高速なアクセスを実現するインタフェース仕様に進化してきている。特に、読み出しアクセスのスループットを向上するために、例えば、AMBA3.0AXIやOCP(Open Core Protocol)などのようなパイプライン転送やスプリット転送を可能とするバスインタフェースプロトコルが用いられることが多くなっている。このようなバスインタフェースプロトコルでは、パイプライン転送をサポートするため、読み出しアクセスと書き込みアクセスが混在した場合にコマンドの発生順序と読み出しデータと書き込みデータの転送順序が逆転することがある。
 この場合、バスモニタ回路がデータ情報の転送順序でバスモニタ出力してチップ外部でそのバスモニタ出力を観察すると、そこにはバスアクセス順序が保証されていない。バスモニタ回路のバスモニタ出力によりバスアクセスの発生順序が保証されないと、実際にチップ内部で発生しているバスアクセスの順序でのバスアクセス情報が得られないため、効率良く信頼性の高いデバッグを行なうことができない。また、バスアクセス順序が保証されないため、バスアクセス情報とデータ情報とをペアにして出力することができない。
 必要最小限のバスアクセス情報をバスアクセス順序通りに出力するため、特許文献1ではアドレス、データ及び属性を同時にラッチしてメモリに格納する技術が開示されている。特許文献1の技術では、アドレス、データ、及び属性の全てが有効であるサイクルで予め設定されたバスモニタ条件に一致したもののみを同時にラッチし、アドレス、データ及び属性をセットにして各メモリの同一アドレスに格納することで必要最小限のバスアクセス情報をバスアクセス順序通りにメモリに格納可能としている。
 特許文献2には、複数のFIFOを用いて複数のバスを同時にバスモニタ出力する技術が開示されている。特許文献2の技術では、バス毎にフィルタ条件に適合したバスアクセスのみを各FIFOに格納し、エンプティ状態ではないFIFOの格納データを順次出力しているため、複数のバス上のバスアクセス情報を効率良くバスモニタ出力することができる。
 特許文献3には、PCIバスのアクセス制御回路で書き込み用のFIFOと読み出し用のFIFOを具備し、データ依存性を維持しながらPCIバス上での読み出し破棄を最小限にする技術が開示されている。特許文献3の技術では、ペンディング状態の読み出し要求が存在する場合、書き込みアクセスのターゲットアドレスにより書き込みアクセスを抑止したり継続させたりすることにより、読み出し要求の破棄を最小限にするものである。
特開2000-330877号公報 特開2007-310516号公報 特開2002-542539号公報
 パイプライン転送やスプリット転送可能なバスインタフェースプロトコルをプロセッサ、システムLSI及びSoCに実装されているバスモニタ回路に適用すると、バスアクセスの発生順序を保証してバスアクセス順序通りにバスモニタ出力することができない。
 その理由は、パイプライン転送やスプリット転送可能なバスインタフェースプロトコルでは、バス上における読み出しデータと書き込みデータの転送順序が実際のバスアクセス発生順序と異なるためである。この場合、前述のバスモニタ回路ではバスアクセス発生順序通りにバスモニタ出力をすることができない。即ち、データ情報の転送順序でバスモニタ出力すると、チップ外部でバスモニタ出力を観測した際に、バスアクセス順序が保証されない。バスモニタ時にバスアクセス順序が保証されないと、実際にチップ内で発生している順序でバスアクセス情報が得られないため、効率良く信頼性の高いデバッグを行なうことができない。
 また、プロセッサ、システムLSI及びSoCに実装されたバスモニタ回路にパイプライン転送やスプリット転送可能なバスインタフェースプロトコルを適用すると、アドレスや制御信号などのバスアクセス情報を対応するデータ情報とペアにして同一サイクルで出力することができない。
 その理由は、パイプライン転送やスプリット転送可能なバスインタフェースプロトコルでは、バスアクセス情報と対応するデータ情報とが同一サイクルで転送されず、両者をペアにして同一サイクルで出力することが困難なためである。即ち、バスアクセス情報とデータ情報をペアにして出力できないと、チップ外部での観測時に両者を対応付ける作業が必要となり、デバッグの信頼性が低下してしまうこととなる。
 更に、データ情報のデータビット部分は書き込みデータと読み出しデータで共用するなど、必要最小限のビット数でより多くのバスアクセス情報をバスモニタ出力可能にすることが求められる。
 これにより、バスモニタ情報をチップ外部に出力する場合、バスモニタ出力用の限られた外部出力ピン数や出力クロック周波数内でより多くのバスアクセス情報を出力可能とし、また、バスアクセス情報をチップ内のバスモニタ用メモリに格納する場合には、限られたメモリ容量でより多くのバスアクセス情報を格納可能とすることで、より信頼性の高いデバッグが可能となる。また、より少ないデータビット数でバスモニタ出力を表すことにより、外部出力ピン数、出力サイクル数及びメモリ容量を削減することが可能となる。
 特許文献1の技術にパイプライン転送可能なバスインタフェースプロトコルを適用すると、書き込みデータと読み出しデータの転送順序がアドレス発行の順序と異なったり、アドレス、データ及び属性の全てが有効なサイクルが存在しない場合には対応することができず、バスアドレス情報の順序通りにバスモニタ出力することができない。
 特許文献2の技術にパイプライン転送可能なバスインタフェースプロトコルを適用すると、読み出しデータと書き込みデータの転送順序がバスアドレス情報の転送順序と異なる場合には対応できない。例えば、1つのバス上における書き込み転送と読み出し転送を2つのバス転送として別々にFIFOに割り当てると、書き込み/読み出しデータをFIFOに格納して外部出力することは可能となるが、エンプティ状態ではないFIFOから順次データを出力する場合、複数のバス間(或いは、複数のFIFO間)における転送順序は保証されないため、バスアクセス順序を保証してその順序通りにバスモニタ出力することができない。
 特許文献3の技術にパイプライン転送可能なバスインタフェースプロトコルに準拠したバスモニタ回路を適用すると、条件によっては本来必要な読み出しアクセスを破棄する可能性がある。また、特許文献3の技術は1つの書き込みアクセスに対応するものであるため、関連アドレスに2個以上の書き込みアクセスが派生した場合には対応できない。更に、ペンディング状態の読み出し要求が2個以上になる場合にも対応できない。
 上記の課題に鑑み、本発明はパイプライン転送可能なバスインタフェースプロトコルを適用しても、バスアクセス発生順序を保証してその順序通りにバスモニタ出力することができ、また、バスアクセス情報とデータ情報をペアにしてバスモニタ出力することができるバスモニタ回路及び方法を提供することを目的とする。
 本発明に係るバスモニタ回路は、マスタとスレーブ間のデータ転送に供するバスをバスモニタ出力するものであり、第1のFIFOと、第1のFIFOと異なるタイミングで動作する第2のFIFOと、第1のFIFO及び第2のFIFOを制御する制御部と、書き込みデータ又は読み出しデータを選択する選択部を具備する。制御部は、バス上でマスタからスレーブ方向に転送されるアクセス情報を第1のFIFOに順次格納し、その後、第1のFIFOの先頭に格納されたアクセス情報の属性が書き込みアクセスか読み出しアクセスかに応じて、第1のFIFO又は第2のFIFOが出力可能となるのを待って、第1のFIFO又は第2のFIFOから書き込みデータ又は読み出しデータを出力させるとともに、第1のFIFOからアクセス情報を出力させる。また、選択部は第1のFIFOの先頭に格納されたアクセス情報の属性に従って書き込みデータ又は読み出しデータを選択してアクセス情報とペアにして同一サイクルで出力する。
 本発明に係るバスモニタ方法は、異なるタイミングで動作する第1のFIFOと第2のFIFOを用いてマスタとスレーブ間のデータ転送に供するバスをバスモニタ出力する。このバスモニタ方法は、バス上でマスタからスレーブ方向に転送されるアクセス情報を第1のFIFOに順次格納する処理と、第1のFIFOの先頭に格納されたアクセス情報の属性が書き込みアクセスか読み出しアクセスかに応じて、第1のFIFO又は第2のFIFOが出力可能になるのを待って、第1のFIFO又は第2のFIFOから書き込みデータ又は読み出しデータを出力させるとともに、第1のFIFOからアクセス情報を出力させる処理と、第1のFIFOの先頭に格納されたアクセス情報の属性に従って書き込みデータ又は読み出しデータを選択し、アクセス情報とペアにして同一サイクルで出力する処理より構成される。
 本発明は、異なるタイミングで動作する第1のFIFO及び第2のFIFOを具備し、アクセス情報の属性が書き込みアクセスか読み出しアクセスかに応じて第1のFIFO及び第2のFIFOを制御する。これにより、書き込みデータと読み出しデータの転送順序がバスアクセスの発生順序と逆転する可能性があるパイプライン転送可能なバスインタフェースプロトコルでも、バスアクセスの発生順序を保証してバスモニタ出力することができる。具体的には、第1のFIFOの先頭に格納されるアクセス情報が書き込みアクセスを示す場合、アクセス情報を同一サイクルで転送される書き込みデータとともにそのままバスモニタ出力する。第1のFIFOの先頭に格納されるアクセス情報が読み出しアクセスを示す場合、読み出しデータが第2のFIFOに格納されるのを待って、アクセス情報と読み出しデータとをペアにして同一サイクルでバスモニタ出力する。即ち、バスアクセスの発生順序に従って第1のFIFOに格納されるアクセス情報が元の順序のままで出力されて対応するデータ情報とペアにしてバスモニタ出力される。
 また、第1のFIFOの先頭に格納されるアクセス情報の書き込みアクセスのサイクルで読み出しデータがバス上に転送された場合、その書き込みアクセスに供するアクセス情報をバスモニタ出力し、読み出しデータは第2のFIFOに格納するようにしてもよい。これにより、バスアクセスの発生順序に対応してバスモニタ出力を行なうとともに、読み出しデータが消失するのを防止することができる。
 更に、順次発生するバスアクセスデータがバスモニタ回路のFIFO段数をオーバーフローする場合、エラーフラグビットを用いてアドレス情報とデータ情報の不一致をチップ外部に通知するようにしてもよい。これにより、信頼性の高いバスモニタ出力と信頼性の低いバスモニタ出力をチップ外部にて区別することが可能となる。
本発明の実施例1に係るバスモニタ回路の構成を示すブロック図である。 実施例1に係るバスモニタ回路の動作を示すタイミング図である。 実施例1に係るバスモニタ回路の動作を示すタイミング図である。 実施例1に係るバスモニタ回路に適用されるFIFO入力/出力制御処理を示すフローチャートである。 実施例1に係るバスモニタ回路を適用したデータ符号化/復号化処理システムの構成を示すブロック図である。 本発明の実施例2に係るバスモニタ回路の構成を示すブロック図である。 実施例2に係るバスモニタ回路の動作を示すタイミング図である。 実施例2に係るバスモニタ回路に適用されるFIFO入力/出力制御処理を示すフローチャートである。 実施例2に係るバスモニタ回路のエラー通知機構を説明するためのタイミング図である。 本発明の実施例3に係るバスモニタ回路の構成を示すブロック図である。 実施例3に係るバスモニタ回路の動作を示すタイミング図である。 本発明の実施例4に係るバスモニタ回路の構成を示すブロック図である。 実施例4に係るバスモニタ回路の動作を示すタイミング図である。
 本発明について、実施例を参照して詳細に説明する。
 図1は、本発明の実施例1に係るバスモニタ回路の構成を示すブロック図である。実施例1は、読み出し時のパイプライン転送やスプリット転送可能なバスインタフェースプロトコルによりバスアクセス情報を出力するバスモニタ回路を提供するものである。
 図1に示すバスモニタ回路10は、アクセス情報/書込データFIFO11及び読出データFIFO12の2種類のFIFO(First-In-First-Out)部を具備する。アクセス情報/書込データFIFO11は、モニタ対象のバス上に転送されるコマンドやアドレスなどのアクセス情報と、そのアクセス情報と同一サイクルで転送される書き込みデータを格納するメモリである。読出データFIFO12は、アクセス情報と異なるサイクルで転送される読み出しデータを格納するメモリである。
 バスモニタ回路10は、アクセス情報/書込データFIFO11を制御するためのFIFO制御部14と、読出データFIFO12を制御するためのFIFO制御部15を具備する。
 FIFO制御部14は、アクセス情報/書込データFIFO11の書き込みを制御するための書き込みイネーブル信号(WE_A)と読み出しを制御するための読み出しイネーブル信号(RE_A)を出力する。アクセス情報/書込データFIFO11の書き込みイネーブル信号(WE_A)は、コマンド(Cmd)とこのバス上にてコマンドを含むアクセス情報及び書き込みデータが受け付けられたことを示すアクセプト信号(Ack)より構成される。アクセス情報/書込データFIFO11の読み出しイネーブル信号(RE_A)は、アクセス情報/書込データFIFOのステータス、アクセス情報/書込データFIFO11の先頭データのアクセス属性(書き込み/読み出しアクセス)、及び読出データFIFO12のステータスより構成される。
 FIFO制御部15は、読出データFIFO12の書き込みを制御するための書き込みイネーブル信号(WE_R)及びその読み出しを制御するための読み出しイネーブル信号(RE_R)を出力する。読出データFIFO12の書き込みイネーブル信号(WE_R)は、バス上に読み出しデータが転送されたことを示す応答信号(Resp)より構成される。読出データFIFO12の読み出しイネーブル信号(RE_R)は、読出データFIFO12のステータス、アクセス情報/書込データFIFO11のステータス、及びアクセス情報/書込データFIFO11の先頭データのアクセス属性(書き込み/読み出しアクセス)より構成される。
 バスモニタ回路10は、データ情報とアクセス情報をペアで出力するために、データ情報選択部(SEL)16を具備する。書き込みアクセスの場合、データ情報選択部16は書き込みデータとアクセス情報をペアで出力し、読み出しアクセスの場合、データ情報選択部16は読み出しデータとアクセス情報をペアで出力する。
 バスモニタ回路10において、マスタ側(プロセッサ側)からスレーブ側(メモリ側)の方向に転送されるコマンド(Cmd)、アドレス(Addr)、バイトイネーブル信号(ByteEn)、及び書き込みデータ(WData)については、アクセス情報/書込データFIFO11を介して出力される。一方、スレーブ側からマスタ側の方向に転送される読み出しデータ(RData)については、読出データFIFO12を介して出力される。また、バスモニタ回路10からバスモニタ信号が出力される。
 図1に示すバスモニタ回路には、モニタ対象のバス上に転送される信号としてコマンド(Cmd)、アドレス(Addr)、バイトイネーブル信号(ByteEn)、書き込みデータ(WData)、アクセプト信号(Ack)、応答信号(Resp)、及び読み出しデータ(RData)が入力される。
 コマンド(Cmd)は、書き込みアクセスや読み出しアクセスを行うためのコマンドやそのアクセス属性を示す。アドレス(Addr)は、書き込み時や読み出し時にデータのアドレスを指定する。バイトイネーブル信号(ByteEn)は、アクセス領域やデータサイズを指定する。書き込みデータ(WData)は、マスタ側からスレーブ側の方向に書き込むデータを示す。ここで、コマンド、アドレス、及びバイトイネーブル信号のデータビット部分がアクセス情報を示しており、書き込みデータ分だけビット数を拡張して書き込みデータをアクセス情報と同一のタイミングで転送できるようにしている。
 アクセプト信号(Ack)は、マスタ側からのコマンドをスレーブ側で受信し、受付け可能になると送信される。応答信号(Resp)は、読み出しデータの準備ができたサイクルを示す。読み出しデータ(RData)は、スレーブ側からマスタ側の方向に転送される。上記の信号に加えて、バスモニタ回路10の外部からバスモニタ動作の開始や停止を制御するバスモニタイネーブル信号(BMEn)や読み出しイネーブル信号(ReadEn)を入力するようにしてもよい。
 バスモニタ信号は、バスモニタストローブ信号(BMSTB)とバスモニタ出力信号(BMDAT)より構成される。バスモニタストローブ信号(BMSTB)は、バスモニタ出力信号(BMDAT)が有効となるサイクルを示す。
 バスモニタ出力信号(BMDAT)には、複数の情報が所定のビット数にて格納されている。以下に、バスモニタ出力信号のビット構成を示す。但し、このビット構成における各情報の整列順序は一例であり、異なる整列順序としてもよい。尚、括弧[]内の数字はビット番号を示す。
 BMDAT[55]:エラーフラグ(ErrorFlag)
 BMDAT[54]:コマンド、ライトイネーブル(WriteEn)
 BMDAT[53:36]:アドレス(Addr)
 BMDAT[35:32]:バイトイネーブル(ByteEn)
 BMDAT[31:0]:アクセスデータ
 バスモニタ出力信号(BMDAT)のBMDAT[55:32]には、エラーフラグ(ErrorFlag)、コマンド(WriteEn)、アドレス(Addr)、及びバイトイネーブル(ByteEn)が含まれており、これらはアクセス情報を示す。
 次に、実施例1に係るバスモニタ回路10の動作について説明する。
 図2及び図3は、実施例1に係るバスモニタ回路10の各部の動作を示すタイミング図である。実施例1では、読み出し時のパイプライン転送やスプリット転送可能なバスインタフェースプロトコルとして以下の動作が行なわれる。
 書き込みアクセス時には、マスタ側は書き込みアドレス(Addr)を設定し、書き込みデータ領域/サイズをバイトネーブル信号(ByteEn)に設定し、書き込みデータ(WData)を設定する。また、コマンド(Cmd)を書き込み(W)とし、アクセプト信号(Ack)がハイレベルで返送されるのを待つ。スレーブ側は、コマンド受付け可能になったサイクルでアクセプト信号(Ack)をハイレベルにすることで書き込みアクセスの完了を示す。
 読み出しアクセス時には、マスタ側は読み出しアドレス(Addr)を設定し、読み出しデータ領域/サイズをバイトイネーブル信号(ByteEn)に設定する。また、コマンド(Cmd)を読み出し(R)とし、アクセプト信号(Ack)がハイレベルで返送されるのを待つ。応答信号(Resp)がハイレベルのサイクルで読み出しデータ(RData)が有効となるため、マスタ側はこの読み出しデータを取得する。スレーブ側は、コマンド受付け可能になったサイクルでアクセプト信号(Ack)をハイレベルにし、また、読み出しデータを準備できたサイクルで応答信号(Resp)をハイレベルにすることで読み出しアクセスの完了を示す。
 実施例1のバスモニタ回路10では、図2及び図3に示すように、アクセスデータ(BMDAT[31:0](Data))を対応するアクセス情報(BMDAT[55:32](Info))とペアにしてバスモニタ出力する。
 上記のバスインタフェースプロトコルでは、読み出し時のパイプライン転送をサポートするため、マスタ側は読み出しデータが返送される前であっても、アクセプト信号(Ack)がハイレベルになった次のサイクルで次の読み出し/書き込みコマンドを指定することが可能である(図2の時刻T7、T8参照)。また、コマンドの発生順序と対応する読み出しデータ/書き込みデータの転送順序が逆転する場合もある(図3のデータR4、W5参照)。但し、書き込みアクセス同士や読み出しアクセス同士についてはデータの転送順序の逆転は許容されない。
 尚、上記のバス仕様は読み出し時のパイプライン転送可能なバスインタフェースプロトコルの一例に相当するため、実施例1の適用範囲はこれに限定されるものではない。
 読み出しデータと書き込みデータの転送順序が逆転した場合でも、アクセスデータとアクセス情報とをペアでバスモニタ出力する必要がある。このため、実施例1に係るバスモニタ回路10ではアクセス情報/書込データFIFO11に入力された先頭のアクセス情報の属性(書き込み/読み出しアクセス)に従って、アクセス情報/書込データFIFO11及び読出データFIFO12を制御している。これにより、書き込みデータと読み出しデータの転送順序がバスアクセス順序と逆転する可能性のあるパイプライン転送可能なバスインタフェースプロトコルの場合でも、アクセス発生順序を逆転させることなくバスモニタ出力することができる。
 アクセス情報/書込データFIFO11の先頭のアクセス情報の属性が書き込みアクセスの場合、アクセス情報を同一のサイクルで転送される対応する書き込みデータとともにそのままバスモニタ出力する。一方、アクセス情報/書込データFIFO11の先頭のアクセス情報の属性が読み出しアクセスの場合には、対応する読み出しデータが読出データFIFO12に格納されるのを待って、その読み出しデータとともにアクセス情報をバスモニタ出力する。この機能により、バスアクセスの発生順序に従うアクセス情報/書込データFIFO11の格納順序により、アドレスなどのアクセス情報とデータ情報とをペアにしてバスモニタ出力することができる。
 図4は、実施例1に係るバスモニタ回路10のFIFO入力/出力制御処理を示すフローチャートである。この処理手順により、アクセス情報とアクセスデータとをペアにしてバスモニタ出力するようアクセス情報/書込データFIFO11及び読出データFIFO12が制御される。
 FIFO制御部14は、図4(A)のフローチャートに従ってアクセス情報/書込データFIFO11のFIFO入力制御処理を行う。先ず、バス上に書き込みコマンド/読み出しコマンドが転送されたタイミング、即ち、コマンド(Cmd)が書き込み(W)/読み出し(R)を示し、かつ、アクセプト信号(Ack)がハイレベルのサイクルであるか否かを判定する(ステップS11)。コマンド(Cmd)が書き込み(W)/読み出し(R)を示し、かつ、アクセプト信号(Ack)がハイレベルのサイクルであれば、書き込みイネーブル信号をWE_A=1とし、コマンド(Cmd)、アドレス(Addr)、バイトイネーブル信号(ByteEn)、及び書き込みデータ(WData)をアクセス情報/書込データFIFO11にラッチする(ステップS12)。ステップS11の判定結果が「NO」の場合、FIFO制御部14は書き込みイネーブル信号をWE_A=0とし、アクセス情報/書込データFIFO11へのFIFO入力制御処理は行わない(ステップS13)。
 FIFO制御部15は、図4(B)のフローチャートに従って読出データFIFO12のFIFO入力制御処理を行なう。先ず、バス上に読み出しデータが返送されたタイミング、即ち、応答信号(Resp)がハイレベルのサイクルであるか否かを判定する(ステップS21)。応答信号(Resp)がハイレベルのサイクルであれば、書き込みイネーブル信号をWE_R=1とし、読み出しデータ(RData)を読出データFIFO12にラッチする(ステップS22)。ステップS21の判定結果が「NO」の場合、FIFO制御部15は書き込みイネーブル信号をWE_R=0とし、読出データFIFO12へのFIFO入力制御処理は行わない(ステップS23)。
 次に、アクセス情報/書込データFIFO11と読出データFIFO12のFIFO出力制御について図4(C)のフローチャートを参照して説明する。FIFO出力制御処理は、2種類のFIFO11、12のステータス(エンプティか否かの判定)と、アクセス情報/書込データFIFO11の先頭のバスアクセスのコマンド属性(BMDAT[54]:コマンド(WriteEn)が書き込み(W)か読み出し(R)かの判定)によって分岐する。
 図4(C)において、FIFO制御部14、15はアクセス情報/書込データFIFO11のステータスがエンプティか否かを判定する(ステップS31)。アクセス情報/書込データFIFO11のステータスがエンプティの場合には、FIFO出力制御処理は行なわない(ステップS32)。
 アクセス情報/書込データFIFO11のステータスがエンプティでない場合、FIFO制御部14、15はその先頭のアクセス情報のコマンド属性が書き込み(W)であるか否かを判定する(ステップS33)。先頭のアクセス情報のコマンド属性が書き込み(W)の場合、FIFO制御部14、15はアクセス情報/書込データFIFO11の先頭に格納されている書き込みアクセス(即ち、コマンド(Cmd)、アドレス(Addr)、バイトイネーブル信号(ByteEn)、及び書き込みデータ(WData))をそのままバスモニタ出力(RE_A=1、SEL=1、BMSTB=1)する(ステップS34)。このとき、データ情報選択部16がSEL=1となっているので、バスモニタ出力のデータ部分にはアクセス情報/書込データFIFO11の書き込みデータ(WData)が選択されて出力される。
 一方、アクセス情報/書込データFIFO11の先頭のアクセス情報のコマンド属性が読み出し(R)の場合、FIFO制御部14、15は読出データFIFO12のステータスに依存してFIFO出力制御処理を行なう。即ち、FIFO制御部14、15は読出データFIFO12のステータスがエンプティか否かを判定する(ステップS35)。読出データFIFO12のステータスがエンプティの場合、未だ読出データがバス上に返送されていないので、FIFO11、12のFIFO出力制御処理を行なわず待機状態(RE_A=0、RE_R=0)とする(ステップS36)。待機状態において、バス上に次のアクセス情報が出力された場合、アクセス情報/書込データFIFO11にバスアクセスデータが蓄積される。
 アクセス情報/書込データFIFO11の先頭のアクセス情報の属性が読み出し(R)であり、かつ、読み出しデータが返送されて読出データFIFO12のステータスもエンプティでなくなった場合には、FIFO制御部14、15はFIFO11、12の先頭に格納されている読み出しアクセス(即ち、コマンド(Cmd)、アドレス(Addr)、バイトイネーブル信号(ByteEn)、及び読み出しデータ(RData))とともにバスモニタ出力(即ち、RE_A=1、RE_R=1、SEL=0、BMSTB=1)する(ステップS37)。このとき、データ情報選択部16がSEL=0となっているため、バスモニタ出力のデータ部分には読出データFIFO12の読み出しデータ(RData)が選択されて出力される。
 上記の処理手順により、実施例1に係るバスモニタ回路10は図2及び図3に示すようにアクセス情報とデータ情報とをペアでバスモニタ出力することができる。
 図2の時刻T2、T3、T5及び図3の時刻T2、T7、T8、T11のサイクルでは、アクセス情報/書込データFIFO11の先頭のアクセス情報の属性が書き込みアクセスなので、書き込みアドレス情報と対応する書き込みデータとがペアでそのまま出力される。図2及び図3において、BMDAT[55:32](Info)がアクセス情報のバスモニタ出力を示し、BMDAT[31:0](Data)がデータ情報(アクセスデータ)を示す。
 図2の時刻T7、T8、T9及び図3の時刻T3、T4、T5、T9のサイクルでは、アクセス情報/書込データFIFO11の先頭のアクセス情報の属性が読み出しアクセスなので、対応する読み出しデータが読出データFIFO12に入力されるのを待って、図2の時刻T10、T11、T12及び図3の時刻T6、T10、T12のサイクルで読み出しアドレス情報と読み出しデータとがペアで出力される。
 図2の時刻T8、T9及び図3の時刻T5、T6、T7、T9、T10のサイクルでは、データの読み出し中に次のバスアクセスが発生している。この場合、アクセス情報/書込データFIFO11にバスアクセスが格納され、先頭の読み出しデータ待ちのバスアクセスの出力後に、順次FIFO処理される。
 図3の時刻T11のサイクルでは、アクセス情報/書込データFIFO11の先頭のアクセス情報の属性が書き込みアクセスとなっているサイクルにおいて読み出しデータがバス上に返送されている。この場合、アクセス情報/書込データFIFO11の先頭の書き込みアクセス情報がバスモニタ出力され、読み出しデータは読出データFIFO12に格納される。
 以上のように、実施例1に係るバスモニタ回路10はアクセス情報/書込データFIFO11と読出データFIFO12の2種類のFIFOを連携して出力制御を行なっているため、バスモニタ出力の順序をバスアクセスの発生順序が同一となることを保証できる。即ち、読み出し時のパイプライン転送可能であり、書き込みデータと読み出しデータの転送順序が実際のバスアクセスの発生順序と逆転する可能性があるバスインタフェースプロトコルにおいても、バスアクセスの発生順序通りにバスモニタ出力することができる。
 次に、実施例1に係るバスモニタ回路10の適用例として、システムLSI及びSoCについて説明する。
 図5は、実施例1に係るバスモニタ回路10が適用されるシステムLSI及びSoCであるデータ符号化/復号化処理システム500の構成を示すブロック図である。
 図5に示すデータ符号化/復号化処理システム500は、システム全体を制御するメインプロセッサ(CPU)100、CPUバス110、割り込みコントローラ101、及び外部メモリコントローラ102を具備する。また、実際にデータ符号化/復号化処理を行なうプロセッサ要素(機能ブロック)として5個のサブプロセッサ201~205と、外部装置とのデータ転送インタフェースを行なうプロセッサ要素(機能ブロック)として1個のサブプロセッサ206を具備する。
 データ符号化/復号化処理システム500はサブプロセッサ201~206を制御するための実行制御プロセッサ200を実装している。また、実行制御プロセッサ200とサブプロセッサ201~206の間にコントロールバス210を設けている。サブプロセッサ201~206間のデータ転送は共有メモリ300を介して行なう。共有メモリ300はマルチバンク化されているため、サブプロセッサ201~206はマルチレイヤ構成の共有メモリバス310を介して共有メモリ300の個々のバンクについて並列にアクセスすることができる。
 CPUバス110、コントロールバス210及び共有メモリバス310は、読み出し時のパイプライン転送(或いは、スプリット転送)を可能とする図2及び図3に示すようなバスインタフェースプロトコルに従って、データ転送のスループットを向上させている。また、サブプロセッサ201~206間のデータ転送は全て共有メモリ300を介して行なっているので、個々のサブプロセッサ201~206について直接の通信手段は不要となる。このようなマルチプロセッサ構成により、サブプロセッサ201~206の再利用可能性の向上やシステム全体の拡張性の向上が期待できる。
 データ符号化/復号化処理システム500は、チップ内の主要なバスインタフェースであるCPUバス110、コントロールバス210、及び共有メモリバス310上のバスアクセスをチップ外部で観察するために、3つのバスモニタ回路151、152、153と実際のバスモニタ出力を制御するデバッグブロック(DBG)400を具備する。共有メモリバス310はマルチレイヤ化されているため、どのレイヤのバスアクセスをバスモニタ出力するのかをバス選択部(SEL)330にて選択する。ここで、バスモニタ回路151~153は図1に示したバスモニタ回路10と同様の構成を有している。
 データ符号化/復号化処理システム500におけるデータ符号化処理では、メインプロセッサ100から実行制御プロセッサ200に対して符号化シーケンスの実行コマンドを発行する。メインプロセッサ100から符号化データ転送完了ステータスを受けると、実行制御プロセッサ200はサブプロセッサ204へ符号化処理A1のコマンドを発行する。サブプロセッサ204からの符号化処理A1の完了ステータスを受けると、実行制御プロセッサ200はサブプロセッサ205に符号化処理A2のコマンドを発行する。サブプロセッサ205からの符号化処理A2の完了ステータスを受けると、実行制御プロセッサ200はサブプロセッサ206に符号化データ転送処理のコマンドを発行する。サブプロセッサ204~206は上記のコマンドを受信すると、共有メモリ300から処理データを読み出して各処理を実行し、その後、結果データを共有メモリ300に書き込むか、或いは、チップ外部へのデータ転送を実行する。
 データ符号化/復号化システム500における復号化処理では、メインプロセッサ100から実行制御プロセッサ200に対して復号化シーケンスの実行コマンドを発行する。周期的に発生するサブプロセッサ206の入力データ転送完了のステータスを受けると、実行制御プロセッサ200はサブプロセッサ201に復号化処理B1のコマンドを発行する。復号化処理B1完了ステータスを受けると、実行制御プロセッサ200はサブプロセッサ202に復号化処理B2のコマンドを発行する。復号化処理B2完了ステータスを受けると、実行制御プロセッサ200はサブプロセッサ203に復号化処理B3のコマンドを発行する。復号化処理B3完了ステータスを受けると、実行制御プロセッサ200はメインプロセッサ100に復号化データ通知の割り込みを発行する。サブプロセッサ201~203は上記のコマンドを受けると、共有メモリ300から処理データを読み出して各処理を実行し、その後、結果データを共有メモリ300に書き込む。
 デバッグ用にチップ内の主要なバスインタフェースのバスアクセスをバスモニタ出力する場合、メインプロセッサ100はデバッグブロック400に対してどのバスインタフェースのバスアクセスをバスモニタ出力するかを設定する。また、アドレス範囲やデータ範囲でバスモニタ出力するバスアクセスを制限するフィルタ設定を行なうとともに、バスモニタ出力の開始/停止条件やタイミング制御のためのトリガ設定も行なう。デバッグブロック400は、選択されたバスインタフェースのバスモニタ回路151~153に対するバスモニタ出力イネーブル信号をハイレベルとすることにより、当該バスモニタ回路151乃至153のバスモニタ出力動作を開始せしめる。
 バスモニタ回路151~153として実施例1に係るバスモニタ回路10を適用しているため、アクセス情報とデータ情報とをペアにして各バスインタフェースにおけるバスアクセス発生順序を保証したバスモニタ出力を行なうことができる。また、バスモニタ回路151~153から出力されるバスモニタ出力ストローブ信号(BMSTB)とバスモニタ出力データ(BMDAT)に基づいて、デバッグブロック400はフィルタ制御及びトリガ制御を行い、各処理結果をデバッグブロック400内のFIFO部に一旦格納する。デバッグブロック400内のMUX部にて、バスモニタ出力用の外部出力ピン数や出力クロック周波数の制限により1バスモニタ出力データを1サイクルで出力できない場合、バスモニタ出力データを多重化処理する。また、複数のバスインタフェースが選択されている場合には、バスインタフェース間のアクセス調停を行なって、各FIFO部からバスモニタ出力データを順次出力する。
 この場合、CPUバス110、コントロールバス210、及び1レイヤ分の共有メモリバス310の合計3系統のバスインタフェースを一度に観察(即ち、バスモニタ出力)することが可能となる。また、バスモニタ回路151~153にアドレス(Addr)などのアクセス情報の入力時にタイムスタンプを付加する機構を実装することで、チップ外部での観測時に時間情報の取得が可能となる。この手法により、複数のバスインタフェース間のアクセス発生順序も観測することが可能となる。
 図6は、本発明の実施例2に係るバスモニタ回路20を示すブロック図である。実施例2に係るバスモニタ回路20は、コマンドやアドレスなどのアクセス情報、書込データ及び読出データの転送タイミングが異なるバスインタフェースプロトコルに対応するものである。
 図6に示すバスモニタ回路20は、アクセス情報、読出データ及び書込データの転送タイミングが異なるバスインタフェースプロトコルに対応すべく、3種アクセス情報FIFO21、読出データFIFO22及び書込データFIFO23の3種類のFIFOを具備している。アクセス情報FIFO21は、バスモニタ対象のバス上に転送されるコマンドやアドレスなどのアクセス情報を格納する。読出データFIFO22は読み出しデータを格納し、書込データFIFO23は書き込みデータを格納する。
 実施例1と比較した実施例2の特徴は、アクセス情報FIFO21、読出データFIFO22及び書込データFIFO23の3種類のFIFOを独立して具備することである。また、アクセス情報FIFO21、読出データFIFO22及び書込データFIFO23を各々制御するためにFIFO制御部24、25、26が具備される。更に、読出データFIFO22又は書込データFIFO23の出力を選択するデータ情報選択部(SEL)27も具備される。
 実施例1と同様に、実施例2におけるアクセス情報として、書き込みアクセスと読み出しアクセスを区別するアクセス属性を示すコマンド(Cmd)、書き込み時には書き込みアドレスを示し、読み出し時には読み出しアドレスを指定するアドレス(Addr)、及びアクセス領域やデータサイズを指定するためのバイトイネーブル信号(ByteEn)が想定される。
 アクセス情報FIFO21の書き込みイネーブル信号(WE_A)は、コマンド(Cmd)と、バス上でのコマンドを含むアクセス情報が受け付けられたことを示すコマンドアクセプト信号(CmdAck)より構成される。アクセス情報FIFO21の読み出しイネーブル信号(RE_A)は、アクセス情報FIFO21のステータスと、アクセス情報FIFO21の先頭データのアクセス属性(書き込み/読み出しアクセス)と、書込データFIFO23のステータス又は読出データFIFO22のステータスより構成される。
 読出データFIFO22の書き込みイネーブル信号(WE_R)は、バス上に読み出しデータが転送されたことを示す応答信号(Resp)より構成される。読出データFIFO22の読み出しイネーブル信号(RE_R)は、読出データFIFO22のステータスと、アクセス情報FIFO21のステータスと、アクセス情報FIFO21の先頭データのアクセス属性(書き込み/読み出しアクセス)より構成される。
 書込データFIFO23の書き込みイネーブル信号(WE_W)は、バス上に書き込みデータが転送されたことを示す有効信号(Valid)より構成される。書込データFIFO23の読み出しイネーブル信号(RE_W)は、書込データFIFO23のステータスと、アクセス情報FIFO21のステータスと、アクセス情報FIFO21の先頭データのアクセス属性(書き込み/読み出しアクセス)より構成される。
 実施例1と同様に、実施例2でもアクセス情報とデータ情報(データ情報)とをペアでバスモニタ出力するために、データ情報選択部(SEL)27を具備している。
 次に、実施例2に係るバスモニタ回路20の動作について説明する。図7は、実施例2に係るバスモニタ回路20の動作を示すタイミング図である。
 実施例2に適用されるバスインタフェースプロトコルは、実施例1に適用されるバスインタフェースプロトコルと同様であり、読み出し時のパイプライン転送(スプリット転送)を可能とするものである。実施例1と異なり、実施例2では書き込みアクセス時において、コマンド(Cmd)、アドレス(Addr)及びバイトイネーブル信号(ByteEn)などのアクセス情報の転送サイクルと、実際の書き込みデータ(WData)の転送サイクルとを分離することができる。即ち、実施例2では実施例1に比べて、書き込みデータ(WData)の転送サイクルを示すマスタからスレーブ方向へ有効信号(Valid)が追加されていることである。
 尚、書き込みデータ(WData)についてスレーブ側とのハンドシェークが必要な場合には、スレーブからマスタ方向へデータアクセプト信号(DataAck)を追加してもよい。実施例1と同様に、実施例2のバスインタフェースプロトコルにおいても、アクセス情報の転送順序と読み出しデータ及び書き込みデータの転送順序が逆転することがある。但し、書き込みアクセス同士や読み出しアクセス同士におけるデータ情報の転送順序の逆転は許容されない。
 実施例2におけるバスモニタ出力のフォーマットは実施例1と同様である。即ち、バスモニタストローブ信号(BMSTB)及びバスモニタ出力信号(BMDAT)より構成される。ここで、バスモニタストローブ信号(BMSTB)がハイレベルのサイクルで、バスモニタ出力信号(BMDAT)が有効となる。実施例1と同様に実施例2においても、バスモニタ出力信号(BMDAT)のビット構成により、コマンド(WriteEn)、エラーフラグ(ErrorFlag)、アドレス(Addr)及びバイトイネーブル信号(ByteEn)などのアクセス情報と、書き込みデータ(WData)又は読み出しデータ(RData)などのデータ情報(アクセスデータ)とをペアにして同一サイクルで出力する。
 実施例2では、バスインタフェースプロトコル上では異なるサイクルにて転送されるアクセス情報と書き込みデータ/読み出しデータとをペアにして同一サイクルにてバスモニタ出力する。実施例1と同様に、実際のチップ外部での観測時にアドレス情報とデータ情報との対応付けが保証されているため、実施例2でも信頼性の高いデバッグを容易に実行できる。また、バスモニタ出力信号の所定のビット部分を書き込みデータと読み出しデータで共用しているため、少ないビット数で多くの情報を出力することができる。
 実施例2に係るバスモニタ回路20において、マスタからスレーブ方向に転送されるコマンド(Cmd)、アドレス(Addr)及びバイトイネーブル信号(ByteEn)などのアクセス情報はアクセス情報FIFO21を介して出力される。書き込みデータ(WData)は書込データFIFO23を介して出力される。スレーブからマスタ方向に転送される読み出しデータ(RData)は読出データFIFO22を介して出力される。
 実施例2のバスインタフェースプロトコルでは、アクセス情報、書き込みデータ及び読み出しデータは異なる転送タイミングとなる。このバスインタフェースプロトコルに対応して、実施例2に係るバスモニタ回路20ではアクセス情報FIFO21、読出データFIFO22、書込データFIFO23を3種類のFIFO制御部24、25、26で制御している。
 図8は、実施例2に係るバスモニタ回路20のFIFO入力/出力制御処理を示すフローチャートである。
 先ず、FIFO入力制御処理について説明する。図8(A)において、アクセス情報FIFO21を制御するFIFO制御部24は、バス上に書き込みコマンド又は読み出しコマンドが転送されたタイミング、即ち、コマンド(Cmd)が書き込み(W)又は読み出し(R)を示し、かつ、コマンドアクセプト信号(CmdAck)がハイレベルのサイクルであるか否かを判定する(ステップS41)。コマンド(Cmd)が書き込み(W)又は読み出し(R)を示し、かつ、コマンドアクセプト信号(CmdAck)がハイレベルのサイクルであれば、FIFO制御部24はコマンド(Cmd)、アドレス(Addr)及びバイトイネーブル信号(ByteEn)をアクセス情報FIFO21にラッチ(WE_A=1)する(ステップS42)。ステップS41の判定結果が「NO」の場合には、FIFO制御部24はアクセス情報FIFO21への入力制御を行わない(WE_A=0)(ステップS43)。
 図8(B)において、書込データFIFO23を制御するFIFO制御部26は、バス上に書き込みデータが転送されたタイミング、即ち、有効信号(Valid)がハイレベルのサイクルであるか否かを判定する(ステップS51)。有効信号(Valid)がハイレベルであれば、FIFO制御部26は書き込みデータ(WData)を書込データFIFO23にラッチ(WE_W=1)する(ステップS52)。ステップS51の判定結果が「NO」の場合には、FIFO制御部26は書込データFIFO23への入力制御を行わない(WE_W=0)(ステップS53)。
 図8(C)において、読出データFIFO22を制御するFIFO制御部25は、バス上に読出データが返送されたタイミング、即ち、応答信号(Resp)がハイレベルのサイクルであるか否かを判定する(ステップS61)。応答信号(Resp)がハイレベルのサイクルであれば、FIFO制御部25は読み出しデータ(RData)を読出データFIFO22にラッチ(WE_R=1)する(ステップS62)。ステップS61の判定結果が「NO」の場合には、FIFO制御部25は読出データFIFO22への入力制御を行わない(WE_R=0)(ステップS63)。
 実施例2におけるアクセス情報FIFO21、読出データFIFO22及び書込データFIFO23の入力制御はバスインタフェース上に出力されるバス信号にのみ依存して実行される。
 次に、FIFO出力制御処理について説明する。ここで、アクセス情報FIFO21、読出データFIFO22及び書込データFIFO23の3種類のFIFOは、読出データFIFO22及び書込データFIFO23のステータス(エンプティか否かの判定)と、アクセス情報FIFO21の先頭のアクセス情報のコマンド(書き込み(W)/読み出し(R)コマンド)により出力制御される。
 図8(D)において、FIFO制御部24乃至26はアクセス情報FIFO21のステータスがエンプティか否かを判定する(ステップS71)。アクセス情報FIFO21のステータスがエンプティの場合、出力制御を行なわない(ステップS72)。
 ステップS71の判定結果が「NO」の場合には、FIFO制御部24乃至26はアクセス情報FIFO21の先頭のアクセス情報に書き込みコマンド(W)が格納されているか否か判定する(ステップS73)。
 アクセス情報FIFO21の先頭のアクセス情報が書き込みコマンド(W)を示す場合、FIFO制御部24乃至26は書込データFIFO23のステータスがエンプティか否かを判定する(ステップS74)。書込データFIFO23のステータスがエンプティの場合、未だ書き込みデータがバス上に転送されていないため、FIFO出力制御を行なわず、待機状態(RE_A=0、RE_W=0)とする(ステップS75)。書込データFIFO23のステータスがエンプティでない場合には、アクセス情報FIFO21の先頭のアクセス情報(即ち、コマンド(Cmd)、アドレス(Addr)及びバイトイネーブル信号(ByteEn))と、書込データFIFO23の先頭に格納されている書き込みデータ(WData)とをペアにしてバスモニタ出力する(RE_A=1、RE_W=1、SEL=1、BMSTB=1)(ステップS76)。このとき、SEL=1であるため、書込データFIFO23の書き込みデータ(WData)がデータ情報選択部(SEL)27にて選択され、バスモニタ出力のデータ部分に格納される。
 ステップS73において、アクセス情報FIFO21の先頭のアクセス情報が読み出しコマンド(R)を示す場合、FIFO制御部24乃至26は読出データFIFO22のステータスがエンプティか否か判定する(ステップS77)。読出データFIFO22のステータスがエンプティの場合、未だ読み出しデータがバス上に返送されていないため、FIFO制御部24乃至26は出力制御を行なわず、待機状態(RE_A=0、RE_R=0)とする(ステップS78)。
 読出データFIFO22のステータスがエンプティでない場合、アクセス情報FIFO21の先頭に格納されている読み出しアクセスを示すコマンド(Cmd)、アドレス(Addr)、バイトイネーブル信号(ByteEn)及び読み出しデータ(RData)を合わせてバスモニタ出力する(RE_A=1、RE_R=1、SEL=0、BMSTB=1)(ステップS79)。このとき、SEL=0であるため、読出データFIFO22の読み出しデータ(RData)がデータ情報選択部(SEL)27にて選択され、バスモニタ出力のデータ部分に格納される。
 ステップS75、S78の待機状態において、バス上に次のバスアクセスが発生した場合、アクセス情報FIFO21にバスアクセスデータが蓄積される。
 以上の処理手順は、コマンド(Cmd)やアドレス(Addr)などのアクセス情報の転送サイクルに対して、対応する書き込みデータ(WData)はアクセス情報と同タイミング、或いは、遅れたタイミングで転送されるとともに、読み出しデータ(RData)の転送サイクルもアクセス情報と同タイミング、或いは、遅れたタイミングで転送されるバスインタフェースプロトコルの特徴を利用したものである。
 以上の処理手順により、実施例2に係るバスモニタ回路20は、図7に示すように、アクセス情報とデータ情報(アクセスデータ)とをペアでバスモニタ出力することができる。
 例えば、図7の時刻T3、T7、T8、T11のサイクルでは、アクセス情報FIFO21の先頭のアクセス情報が書き込みコマンド(W)を示しているので、対応する書き込みデータが書込データFIFO23に入力されるのを待って、アクセス情報と対応する書き込みデータとがペアで出力される。
 図7の時刻T4、T5、T9のサイクルでは、アクセス情報FIFO21の先頭のアクセス情報が読み出しコマンド(R)を示しているので、対応する読み出しデータが読出データFIFO22に入力されるのを待って、時刻T6、T10、T12のサイクルにて、アクセス情報と対応する読み出しデータとがペアで出力される。
 図7の時刻T5、T6、T7、T9、T10のサイクルでは、書き込みデータ待機状態や読み出しデータ待機状態において次のバスアクセスが発生している。この場合、バスアクセスデータはアクセス情報FIFO21に格納しておき、先頭の読み出しデータ待機状態のアクセス情報の出力後に順次FIFO処理される。
 アクセス情報FIFO21の先頭のアクセス情報が書き込みアクセスを示すサイクルにおいて読み出しデータがバス上に返送された場合、その読み出しデータは読出データFIFO22に蓄積される。図7の時刻T10において、アクセス情報FIFO21の先頭のアクセス情報が読み出しアクセスを示すサイクルであり、かつ、書き込みデータがバス上に転送されているので、その書き込みデータは書込データFIFO23に蓄積される。
 このように、実施例2ではアクセス情報FIFO21、読出データFIFO22及び書込データFIFO23の3種類のFIFOを連携させて出力制御を行なっているため、バスモニタ出力の転送順序がアクセス情報のアクセス情報FIFO21への入力順序と同一となることが保証される。図7に示すように、読み出し時のパイプライン転送可能であり、書き込みデータと読み出しデータの転送順序が実際のバスアクセス発生順序と逆転する可能性があるバスインタフェースプロトコルにおいても、バスアクセス発生順序通りにバスモニタ出力することができる。
 次に、実施例1及び実施例2に係るバスモニタ回路10、20(図1、図6参照)におけるFIFO段数の設定方法とエラー通知機構について説明する。
 実施例1のバスモニタ回路10のアクセス情報/書込データFIFO11と読出データFIFO12のFIFO段数は、バスモニタ対象であるバス上の読み出しレイテンシ(即ち、読み出しコマンドを受け付けたアクセプト信号(Ack)がハイレベルとなるサイクルから、読み出しデータを返送する応答信号(Resp)がハイレベルとなるまでのサイクル数)の最大値によって見積もることができる。見積もられたFIFO段数をバスモニタ回路10に実装することにより、各FIFOにオーバーフローが発生することを防止することができる。
 実施例2のバスモニタ回路20のFIFO段数は、上記の読み出しレイテンシの最大値に加えて、書き込みレイテンシ(即ち、マスタからの書き込みコマンドが受け付けられたサイクルから、実際に有効信号(Valid)をハイレベルにして書き込みデータを転送するまでのサイクル数)の最大値によって見積もることができる。即ち、読み出しレイテンシの最大値と書き込みレイテンシの最大値の大きい方の値に基づいて見積もられたFIFO段数をバスモニタ回路20に実装することにより、各FIFOにオーバーフローが発生することを防止することができる。
 また、バスコントローラ(例えば、図5に示すCPUバス110、コントロールバス210、及び共有メモリバス310)内にバス制御用として読み出しデータ待ち中のマスタIDやスレーブIDを記憶しておくようなFIFOが実装される場合、そのFIFO段数と同じFIFO段数を用いてバスモニタ回路を実装することによりオーバーフローを防止するという手法もある。
 しかし、実施例1のバスモニタ回路10及び実施例2のバスモニタ回路20の何れにおいても、回路規模削減などの理由からFIFO段数を制限して実装する必要がある場合、アクセス情報/書込データFIFO11やアクセス情報FIFO21においてオーバーフローが発生する可能性がある。アクセス情報/書込データFIFO11やアクセス情報FIFO21のオーバーフローは、各FIFOの先頭のアクセス情報に対応する書き込みデータ又は読み出しデータが未だバス上に転送されず待機状態となっているにも拘らず、次々にFIFO段数以上のバスアクセスがバス上に発生することにより発生する。この場合、バスモニタ出力信号(BMDAT)のエラーフラグビットを用いてアクセス情報とデータ情報の不一致を通知する。
 図9は、実施例2に係るバスモニタ回路20におけるエラー通知機構を説明するためのタイミング図である。図9は、エラーフラグビットを用いてアドレスとデータの不一致を通知するバスモニタ出力信号の出力タイミングを示している。ここでは、簡略化のためにFIFO段数を「4」としているが、これに限定されるものではない。実際のFIFO段数を「8」、「16」、「32」等としてもよい。
 図9では、アクセス情報に対応する読み出しデータが読出データFIFO22に入力されないためにアクセス情報FIFO21がフル状態となり、かつ、次のバスアクセスが発生した場合(即ち、時刻T5のサイクル)、本来ならFIFO段数不足で消失するはずのアクセス情報FIFO21の先頭のアクセス情報がバスモニタ出力される。このとき、対応する読み出しデータは存在しないため、アクセス情報はオールゼロのデータとペアでバスモニタ出力される。また、バスモニタ出力信号のエラーフラグビット(BMDAT[55]:ErrorFlag)をハイレベルとすることにより、アクセス情報とデータ情報の不一致を外部装置に通知する(時刻T6のサイクル参照)。
 一旦アクセス情報FIFO21がオーバーフローしてしまうと、その後、アクセス情報FIFO21のステータスがエンプティになるまでアクセス情報とデータ情報の不一致が継続することとなるため、オーバーフロー時にアクセス情報FIFO21の先頭だったアクセス属性(図9では読み出しアクセス(R))と同じ場合、アクセス情報FIFO21のステータスがエンプティになるまで、エラーフラグをハイレベルにし続ける。
 アクセス情報FIFO21のステータスがエンプティになった後、読出データFIFO22や書込データFIFO23に読出データや書込データが存在する場合がある。この場合、アクセス情報をオールゼロのビットとし、エラーフラグをハイレベルにして、データ情報のみをバスモニタ出力するようにする(時刻T12のサイクル参照)。
 以上のように、エラーフラグ通知機構を実装することにより、信頼性の高いバスモニタ出力と信頼性の低いバスモニタ出力とをチップ外部にて区別することが可能となる。これは、バスアクセス情報の消失を防止することにも繋がり、チップ外部での観測時、エラーフラグビットを用いてアクセス情報とデータ情報との対応付けを推定することもできる。
 図10は、本発明の実施例3に係るバスモニタ回路30の構成を示すブロック図である。実施例3は、バスモニタ出力のサイクル数を削減するためにアドレス情報とデータ情報を共用したバスモニタ出力信号を形成するものである。
 実施例3に係るバスモニタ回路30は、実施例1に係るバスモニタ回路10を拡張した構成とするものである。バスモニタ回路30は、アクセス情報/書込データFIFO31と読出データFIFO32の2種類のFIFOを具備している。また、バスモニタ回路30にはアクセス情報/書込データFIFO31を制御するためのFIFO制御部34と読出データFIFO32を制御するためのFIFO制御部35を具備する。バスモニタ回路30には、アクセス情報とデータ情報(アクセスデータ)とをペアにしてバスモニタ出力するためにデータ情報選択部(SEL)36が備えられる。上記の構成は、実施例1と同様である。
 図10において、アクセス情報/書込データFIFO31及び読出データFIFO32の後段に実施例3の特有構成として、バスモニタ出力信号(BMSTB、BMDAT)の遅延部(Stb、Err、Cnt、Adr、Dat)60~64、アドレス比較器(CMP)65、制御情報マスク(MSK)66及びアドレス情報選択部(SEL)67が備えられる。
 実施例3に係るバスモニタ回路30において、バスモニタ出力信号(BMDAT)は以下のビット構成を有している。ここで、バスモニタ出力信号中のBMDAT[63:32]はアドレス情報とデータ情報を共用できる。
 BMDAT[69]:エラーフラグ(ErrorFlag)
 BMDAT[68]:コマンド、ライトイネーブル(WriteEn)
 BMDAT[67:64]:バイトイネーブル(ByteEn)
 BMDAT[63:32]:アドレス/データ(Addr/Data)
 BMDAT[31:0]:アクセスデータ
 制御情報マスク(MSK)66にてバイトイネーブル信号(ByteEn)などの制御情報をマスクするか否か、アドレス情報選択部(SEL)67にて遅延部64からのアドレス情報とデータ情報選択部(SEL)36からのデータ情報の何れを選択するかについては、アドレス比較器(CMP)65の比較結果により決定される。
 次に、実施例3に係るバスモニタ回路30の動作について説明する。図11は、実施例3に係るバスモニタ回路30の動作を示すタイミング図である。図11ではバスモニタ出力信号の転送タイミングを示しており、実施例3に適用されるバスインタフェースプロトコルは実施例1(図2及び図3参照)と同様である。
 尚、図11において最初の3個の書き込みアクセスW0、W1、W2は連続するインクリメンタルアドレスへのバーストアクセスであり、次の3個の読み出しアクセスR3、R4、R5もインクリメンタルアドレスへのバーストアクセスとしている。
 バスモニタ回路30にてバスモニタ出力可能となったバスアクセスデータがアクセス情報/書込データFIFO31やデータ情報選択部(SEL)36から出力された場合、実施例3ではそのまま出力せず、一旦バスモニタ出力出力信号の遅延部60~64にてラッチしてから出力する(図11の時刻T2、T3、T8、T9、T11のサイクル参照)。このラッチタイミングにて、アドレス比較器(CMP)65にて今回のバスアクセスデータと前回のバスアクセスデータとの間でアドレス情報の比較が行なわれる。
 今回のバスアクセスデータのアドレス情報が前回のバスアクセスデータのインクリメンタルアドレスと一致する場合には、今回のバスアクセスデータのバスモニタ出力が保留される。次回のバスアクセスデータがバスモニタ出力可能となった時にもアドレス比較器(CMP)65にてアドレス情報の比較が行なわれる。次回のバスアクセスデータも継続してインクリメンタルアドレスへのアクセスであると判定された場合、制御情報マスク(MSK)66にて制御情報ビットがマスクされ、アドレス情報選択部(SEL)67にて保留されていた今回のバスアクセスデータのアドレス情報ではなく、次回のバスアクセスデータを選択してバスモニタ出力する(図11の時刻T4、T10参照)。
 上記のサイクルにおいて、制御情報ビットはオールゼロの固定値にマスクされ、アドレス情報ビットとデータ情報ビットを用いて2アクセス分のバスモニタ出力信号が形成される。即ち、制御情報ビットのマスクにより、前回のバスアクセスデータに対するインクリメンタルアドレスへのデータ情報であることを示すとともに、通常2サイクル必要な2アクセス分のデータ情報を1サイクルにてバスモニタ出力することができる。また、次回のバスアクセスデータがインクリメンタルアドレスへのアクセスではなかった場合、アドレス情報選択部(SEL)67にて保留していたバスアクセスデータをそのままバスモニタ出力するとともに、次回のバスアクセスデータが遅延部60~64にてラッチされる。
 実施例3では、前後のバスアクセスデータにおけるアドレス情報の比較を行い、インクリメンタルアドレスへのアクセスと判定された場合には、アドレス情報をデータ情報として共用することにより、実施例1に比べてバスモニタ出力のサイクル数を削減することができる。
 また、実施例3はチップ外部で制御情報ビットがマスクされているか否かを観察するだけで実際のアドレス情報とデータ情報の復元が容易である。この技術的特長は、実施例1に示したようなアクセスの発生順序を保証可能なバスモニタ回路の後段に付加することにより、より大きなバスモニタ出力のサイクル数の削減が期待できる。即ち、バス上で転送されているインクリメンタルアドレスへのバーストアクセスがそのままの順序で出力されるという技術的特長をバスモニタ回路に組み合わせることにより、従来技術では実現できない技術的効果を奏することができる。
 図11において、時刻T8のサイクルで発生した書き込みアクセスW6よりも時刻T9にて読み出しデータが返送される読み出しアクセスR5を先にバスモニタ出力可能とすることにより、その前の読み出しアクセスR3、R4のインクリメンタルアドレスへのバーストアクセスが処理可能となる。また、読み出し時のパイプライン転送(スプリット転送)が可能なバスインタフェースプロトコルでは、インクリメンタルバーストによるデータ転送が多くなることが想定されるため、実施例3は高い技術的効果を奏する。
 図12は、本発明の実施例4に係るバスモニタ回路4の構成を示すブロック図である。実施例4は、バスモニタ出力信号のビット数を削減するためにアドレス情報とデータ情報を共用したバスモニタ出力信号を形成するものである。
 実施例4に係るバスモニタ回路40は、実施例1に係るバスモニタ回路10を拡張した構成としている。バスモニタ回路40は、アクセス情報/書込データFIFO41と読出データFIFO42の2種類のFIFOを具備する。バスモニタ回路40はアクセス情報/書込データFIFO41を制御するFIFO制御部44と読出データFIFO42を制御するFIFO制御部45を具備する。また、バスモニタ回路40はアクセス情報とデータ情報(アクセスデータ)とをペアにしてバスモニタ出力するためにデータ情報選択部(SEL)46を具備する。上記の構成は実施例1と同様である。
 実施例4の特有構成として、図12に示すようにアクセス情報/書込データFIFO41及びデータ情報選択部(SEL)46の後段に、バスモニタ出力信号(BMSTB、BMDAT)の遅延部(Stb、Err、Cnt、Adr、Dat)70~74、アドレス比較器(CMP)75、制御情報/アドレス情報マスク(MSK)76及びデータ情報選択部(SEL)77が備えられる。
 実施例4に係るバスモニタ回路40において、バスモニタ出力信号(BMDAT)は以下のビット構成を有している。これにより、実施例1に比べて実施例4ではバスモニタ出力信号(BMDAT)のビット数が削減される。
 BMDAT[45]:エラーフラグ(ErrorFlag)
 BMDAT[44]:コマンド、ライトイネーブル(WriteEn)
 BMDAT[43:40]:バイトイネーブル(ByteEn)
 BMDAT[39:32]:アドレス(Addr Low)
 BMDAT[31:0]:アクセスデータ/アドレス(Data/Addr High)
 ここで、制御情報/アドレス情報マスク(MSK)76にてバイトイネーブル信号(ByteEn)やアドレス(Addr)の下位ビット(図12では8ビットに削減)をマスクするか否か、データ情報選択部(SEL)77にて遅延部70~74からのデータとアクセス情報/書込データFIFO41からのアドレス(Addr)の上位ビットの何れを選択するかについては、アドレス比較器(CMP)75の比較結果によって決定される。
 次に、実施例4に係るバスモニタ回路40の動作について説明する。図13は、実施例4に係るバスモニタ回路40の動作を示すタイミング図である。図13は、バスモニタ回路40のバスモニタ出力信号の転送タイミングを示している。また、図13に適用されるバスインタフェースプロトコルは実施例1(図2及び図3参照)と同様である。
 但し、図13では最初の3個の書き込みアクセスW0、W1、W2はそのアドレス(Addr)の上位ビットが等しい隣接領域へのアクセスとし、次の3個の読み出しアクセスR3、R4、R5のアドレス(Addr)も上位ビットが等しい隣接領域へのアクセスとする。
 バスモニタ回路40においてバスモニタ出力可能となったバスアクセスデータがアクセス情報/書込データFIFO41やデータ情報選択部(SEL)46から出力された場合、実施例4はこのバスモニタ出力信号をそのまま出力せず、図13の時刻T3、T4、T5、T8、T9、T10、T12のサイクルに示すように一旦遅延部70~74にてラッチされる。
 今回のバスアクセスデータはそのラッチタイミング前にアドレス比較器(CMP)75にて前回のバスアクセスデータとアドレス情報の上位ビットが比較される。今回のバスアクセスデータのアドレスの上位ビットが前回のバスアクセスデータのアドレスの上位ビットと一致する場合、図13の時刻T4、T5、T9、T10のサイクルで示すように今回のバスアクセスデータのバスモニタ出力信号がラッチされ、次の1サイクルで出力される。このとき、アドレス情報は下位ビット(図12では8ビット)のみが出力される。
 一方、今回のバスアクセスデータのアドレスの上位ビットが前回のバスアクセスデータのアドレスの上位ビットと異なる場合には、バスアクセスデータが2サイクルにかけて出力される。1サイクル目では、制御情報/アドレス情報マスク(MSK)76により制御情報とアドレス情報が固定値ビットでマスクされる。同時に、図13の時刻T2、T7、T11のサイクルに示すように、データ情報選択部(SEL)77によりデータ情報にアドレス(Addr)の上位ビットが選択されてバスモニタ出力される。その後、図13の時刻T3、T8、T12のサイクルで示すように、バスアクセスデータのバスモニタ出力信号が遅延部70~74にラッチされ、2サイクル目において残りのバスモニタ出力信号(即ち、制御情報、アドレスの下位ビット、及びデータ)が出力される。
 上記の1サイクル目では、前回のバスアクセスデータをバスモニタ出力するタイミングと重なる可能性があるため、FIFO制御部44及び45を用いてアクセス情報/書込データFIFO41及び読出データFIFO42によるバスモニタ出力信号の読み出しサイクルを1サイクル遅らせる。
 このように、実施例4に係るバスモニタ回路40は今回のバスアクセスデータと前回のバスアクセスデータとをアドレスの上位ビットにて比較し、両者が同一のアドレスの上位ビットを有しており隣接領域へのアクセスであると判定された場合にはアドレスの下位ビットのみを出力し、一方、両者のアドレスの上位ビットが異なる領域へのアクセスと判定された場合には2サイクルでバスモニタ出力信号を出力する。このような機構を実装することにより、実施例1に比べて実施例4ではバスモニタ出力信号(BMDAT)のビット数を削減することができる。
 また、実施例4ではチップ外部にて制御情報やアドレス情報が固定値ビットにマスクされているか否かを観察することにより、実際のバスアクセス情報の復元が容易となる。この実施例4の技術的特長は、実施例1に示したアクセスの発生順序を保証可能なバスモニタ回路の後段に付加することにより、2サイクルでバスモニタ出力を行なうことによるサイクルオーバーヘッドの発生確率を抑制することができる。即ち、実施例4の技術的特長をバス上に発生するバスアクセスをそのままの発生順序で出力するバスモニタ回路と組み合わせることにより、従来技術では実現できない技術的効果を奏することができる。
 図13において、時刻T8のサイクルで転送された書き込みアクセスW6よりも時刻T8のサイクルで読み出しデータが返送される読み出しアクセスR5を先にバスモニタ出力可能としているため、その前の読み出しアクセスR3、R4の隣接領域へのアクセスが可能となる。また、読み出し時のパイプライン転送(スプリット転送)可能なバスインタフェースプロトコルでは、バースト転送を用いた隣接領域へのデータ転送が多く発生することが想定されるため、少ないサイクルオーバーヘッドでバスモニタ出力信号(BMDAT)のビット数を削減することが可能となる。
 尚、本発明は前述の実施例に限定されるものではなく、添付する請求の範囲に規定された発明の範囲内で種々の変更や応用が可能である。
 本発明は、システムLSIやSoCなどの信号処理チップ内部のバスのアクセス情報をチップ外部で観察することを可能とするバスモニタ回路に適用されるものであり、特に、パイプライン転送やスプリット転送可能なバスインタフェースプロトコルに適用してバスアクセス発生順序を正確に反映したバスモニタ出力を行ない、以って、効率よく信頼性の高いデバッグを実現するものである。
 10  バスモニタ回路
 11  アクセス情報/書込データFIFO
 12  読出データFIFO
 14  FIFO制御部
 15  FIFO制御部
 16  データ情報選択部
 20  バスモニタ回路
 21  アクセス情報FIFO
 22  読出データFIFO
 23  書込データFIFO
 24  FIFO制御部
 25  FIFO制御部
 26  FIFO制御部
 27  データ情報選択部
 30  バスモニタ回路
 31  アクセス情報/書込データFIFO
 32  読出データFIFO
 34  FIFO制御部
 35  FIFO制御部
 36  データ情報選択部
 40  バスモニタ回路
 41  アクセス情報/書込データFIFO
 42  読出データFIFO
 44  FIFO制御部
 45  FIFO制御部
 46  データ情報選択部
 60~64 遅延部
 65  アドレス比較器
 66  制御情報マスク
 67  アドレス情報選択部
 70~74 遅延部
 75  アドレス比較部
 76  制御情報/アドレス情報マスク
 77  データ情報選択部
 100 メインプロセッサ
 101 割り込みコントローラ
 110 CPUバス
 151~153 バスモニタ回路
 200 実行制御プロセッサ
 201~206 サブプロセッサ
 210 コントロールバス
 300 共有メモリ
 310 共有メモリバス
 330 バス選択部
 400 デバッグブロック
 500 データ符号化/復号化処理システム

Claims (8)

  1.  マスタとスレーブ間のデータ転送に供するバスをバスモニタ出力するバスモニタ回路において、
     第1のFIFOと、
     第1のFIFOと異なるタイミングで動作する第2のFIFOと、
     第1のFIFO及び第2のFIFOを制御する制御部と、
     書き込みデータ又は読み出しデータを選択する選択部を具備し、
     制御部は、バス上でマスタからスレーブ方向に転送されるアクセス情報を第1のFIFOに順次格納し、その後、第1のFIFOの先頭に格納されたアクセス情報の属性が書き込みアクセスか読み出しアクセスかに応じて、第1のFIFO又は第2のFIFOが出力可能となるのを待って、第1のFIFO又は第2のFIFOから書き込みデータ又は読み出しデータを出力させるとともに、第1のFIFOからアクセス情報を出力させ、
     選択部により第1のFIFOの先頭に格納されたアクセス情報の属性に従って書き込みデータ又は読み出しデータを選択してアクセス情報とペアにして同一サイクルで出力することを特徴とするバスモニタ回路。
  2.  前記制御部は、バス上でマスタからスレーブ方向に転送されるアクセス情報を第1のFIFOに順次格納するとともに、アクセス情報と同一タイミングで転送される書き込みデータを第1のFIFOに順次格納し、
     バス上でスレーブからマスタ方向に返送される読み出しデータを第2のFIFOに順次格納し、
     第1のFIFOの先頭に格納されたアクセス情報の属性が書き込みアクセスの場合、アクセス情報と対応する書き込みデータとを第1のFIFOから出力させ、
     第1のFIFOの先頭に格納されたアクセス情報の属性が読み出しアクセスの場合、第2のFIFOが出力可能になるのを待って第1のFIFOからアクセス情報を出力させるとともに、第2のFIFOから読み出しデータを出力させるようにした請求項1記載のバスモニタ回路。
  3.  第1のFIFO及び第2のFIFOと異なるタイミングで動作する第3のFIFOを更に具備し、
     前記制御部は、バス上でマスタからスレーブ方向に転送されるアクセス情報を第1のFIFOに順次格納し、
     バス上でマスタからスレーブ方向に転送される書き込みデータを第3のFIFOに順次格納し、
     バス上でスレーブからマスタ方向に返送される読み出しデータを第2のFIFOに順次格納し、
     第1のFIFOの先頭に格納されたアクセス情報の属性が書き込みアクセスの場合、書き込みデータが第3のFIFOから出力可能になるのを待って、第3のFIFOから書き込みデータを出力させるとともに、第1のFIFOからアクセス情報を出力させ、
     第1のFIFOの先頭に格納されたアクセス情報の属性が読み出しアクセスの場合、読み出しデータが第2のFIFOから出力可能になるのを待って、第2のFIFOから読み出しデータを出力させるとともに、第1のFIFOからアクセス情報を出力させるようにした請求項1記載のバスモニタ回路。
  4.  前記制御部は、第1のFIFOのオーバーフローを検出するとエラーフラグビットによりエラー状態を通知するとともに、第1のFIFOの先頭に格納されオーバーフローにより消失するアクセス情報をエラーフラグビットとともに出力するようにした請求項1乃至請求項3のいずれかに記載のバスモニタ回路。
  5.  バスモニタ出力をラッチする遅延部と、
     時間的に前後するバスアクセスデータがインクリメンタルアドレスへのアクセスであるか否かを比較判定するアドレス比較部と、
     バスモニタ出力のアドレス部をデータ部として共用させるアドレス情報選択部を更に具備する請求項1乃至請求項4のいずれかに記載のバスモニタ回路。
  6.  バスモニタ出力をラッチする遅延部と、
     時間的に前後するバスアクセスデータのアドレスの上位ビットが一致しているか否かを比較判定するアドレス比較部と、
     バスモニタ出力のデータ部をアドレスの上位ビットとして共用させるデータ情報選択部を更に具備する請求項1乃至請求項4のいずれかに記載のバスモニタ回路。
  7.  アクセス情報を第1のFIFOに格納するタイミングでタイムスタンプ情報を付加するようにした請求項1乃至請求項6のいずれかに記載のバスモニタ回路。
  8.  異なるタイミングで動作する第1のFIFOと第2のFIFOを用いてマスタとスレーブ間のデータ転送に供するバスをバスモニタ出力するバスモニタ方法において、
     バス上でマスタからスレーブ方向に転送されるアクセス情報を第1のFIFOに順次格納し、
     第1のFIFOの先頭に格納されたアクセス情報の属性が書き込みアクセスか読み出しアクセスかに応じて、第1のFIFO又は第2のFIFOが出力可能になるのを待って、第1のFIFO又は第2のFIFOから書き込みデータ又は読み出しデータを出力させるとともに、第1のFIFOからアクセス情報を出力させ、
     第1のFIFOの先頭に格納されたアクセス情報の属性に従って書き込みデータ又は読み出しデータを選択し、アクセス情報とペアにして同一サイクルで出力することを特徴とするバスモニタ方法。
PCT/JP2010/070874 2009-11-26 2010-11-24 バスモニタ回路及びバスモニタ方法 WO2011065354A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/511,559 US9152524B2 (en) 2009-11-26 2010-11-24 Bus monitor circuit and bus monitor method
JP2011543256A JP5637145B2 (ja) 2009-11-26 2010-11-24 バスモニタ回路及びバスモニタ方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009-268809 2009-11-26
JP2009268809 2009-11-26

Publications (1)

Publication Number Publication Date
WO2011065354A1 true WO2011065354A1 (ja) 2011-06-03

Family

ID=44066459

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/070874 WO2011065354A1 (ja) 2009-11-26 2010-11-24 バスモニタ回路及びバスモニタ方法

Country Status (3)

Country Link
US (1) US9152524B2 (ja)
JP (1) JP5637145B2 (ja)
WO (1) WO2011065354A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013065220A (ja) * 2011-09-19 2013-04-11 Mitsubishi Electric Corp 情報処理装置
JP2016021165A (ja) * 2014-07-15 2016-02-04 ヤマハ株式会社 観測回路
US11816016B2 (en) 2019-12-03 2023-11-14 Siemens Industry Software Inc. Identifying causes of anomalies observed in an integrated circuit chip

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8706937B2 (en) * 2011-03-02 2014-04-22 Texas Instruments Incorporated Method and system of debugging multicore bus transaction problems
US9891986B2 (en) * 2016-01-26 2018-02-13 Nxp Usa, Inc. System and method for performing bus transactions
CN109787800B (zh) * 2017-11-14 2021-07-27 上海小牛信息科技有限公司 一种工业总线的分层网络网关控制器
US11223575B2 (en) * 2019-12-23 2022-01-11 Advanced Micro Devices, Inc. Re-purposing byte enables as clock enables for power savings

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003108514A (ja) * 2001-10-01 2003-04-11 Matsushita Electric Ind Co Ltd バスブリッジ
JP2003122701A (ja) * 2001-10-16 2003-04-25 Hitachi Ltd インターフェース及び入出力デバイス
JP2004094945A (ja) * 2002-08-29 2004-03-25 Seiko Epson Corp ホストと、ホストよりも大きなレイテンシを有するスレーブデバイス間のインタフェース

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2258112A5 (ja) * 1973-11-30 1975-08-08 Honeywell Bull Soc Ind
JPS56159886A (en) * 1980-05-13 1981-12-09 Nec Corp Buffer memory device
JP2829091B2 (ja) * 1990-04-19 1998-11-25 株式会社東芝 データ処理システム
US6182177B1 (en) * 1997-06-13 2001-01-30 Intel Corporation Method and apparatus for maintaining one or more queues of elements such as commands using one or more token queues
US6044429A (en) * 1997-07-10 2000-03-28 Micron Technology, Inc. Method and apparatus for collision-free data transfers in a memory device with selectable data or address paths
JPH11273243A (ja) * 1998-03-20 1999-10-08 Toshiba Corp ディスク装置及び同装置に適用されるライトバッファ制御方法
US6374244B1 (en) * 1998-04-01 2002-04-16 Matsushita Electric Industrial Co., Ltd. Data transfer device
JP3214613B2 (ja) 1998-07-03 2001-10-02 日本電気株式会社 マイクロプロセッサ及びデータ処理システム
JP2000047974A (ja) * 1998-07-27 2000-02-18 Fujitsu Ltd バス制御コントローラのバス調停方法、バス制御コントローラ及び電子機器のシステム
US6412030B1 (en) 1999-04-16 2002-06-25 Koninklijke Philips Electronics N.V. System and method to optimize read performance while accepting write data in a PCI bus architecture
JP2000330877A (ja) 1999-05-17 2000-11-30 Nec Saitama Ltd バスモニタ回路
US6405329B1 (en) * 1999-07-27 2002-06-11 Dell Usa, L.P. Method and apparatus for HDD time stamp benchmark and installation identification
US6687780B1 (en) * 2000-11-02 2004-02-03 Rambus Inc. Expandable slave device system
GB2373595B (en) * 2001-03-15 2005-09-07 Italtel Spa A system of distributed microprocessor interfaces toward macro-cell based designs implemented as ASIC or FPGA bread boarding and relative common bus protocol
US6851011B2 (en) * 2001-08-09 2005-02-01 Stmicroelectronics, Inc. Reordering hardware for mass storage command queue
JP4608276B2 (ja) 2004-10-04 2011-01-12 ルネサスエレクトロニクス株式会社 トレース制御回路、マイクロプロセッサ及びトレース制御方法
JP4749002B2 (ja) * 2005-02-25 2011-08-17 ルネサスエレクトロニクス株式会社 データ転送装置、画像処理装置及びデータ転送制御方法
US7603487B2 (en) * 2005-05-13 2009-10-13 Texas Instruments Incorporated Hardware configurable hub interface unit
US7565498B1 (en) * 2005-11-07 2009-07-21 Symantec Operating Corporation System and method for maintaining write order fidelity in a distributed environment
JP4880355B2 (ja) 2006-05-16 2012-02-22 Necエンジニアリング株式会社 バスモニタ回路
JP2007310760A (ja) * 2006-05-22 2007-11-29 Renesas Technology Corp 記憶装置
US8145809B1 (en) * 2007-03-09 2012-03-27 Cypress Semiconductor Corporation Busy detection logic for asynchronous communication port
JP5418670B2 (ja) * 2010-05-21 2014-02-19 日本電気株式会社 バス制御装置及びバス制御方法
CN101887398B (zh) * 2010-06-25 2012-08-29 浪潮(北京)电子信息产业有限公司 一种动态提高服务器输入输出吞吐量的方法和系统
JP2012128644A (ja) * 2010-12-15 2012-07-05 Toshiba Corp メモリシステム
US8504756B2 (en) * 2011-05-30 2013-08-06 Lsi Corporation System, circuit and method for improving system-on-chip bandwidth performance for high latency peripheral read accesses
US8924619B2 (en) * 2013-03-15 2014-12-30 Seagate Technology Llc Unified message-based communications

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003108514A (ja) * 2001-10-01 2003-04-11 Matsushita Electric Ind Co Ltd バスブリッジ
JP2003122701A (ja) * 2001-10-16 2003-04-25 Hitachi Ltd インターフェース及び入出力デバイス
JP2004094945A (ja) * 2002-08-29 2004-03-25 Seiko Epson Corp ホストと、ホストよりも大きなレイテンシを有するスレーブデバイス間のインタフェース

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013065220A (ja) * 2011-09-19 2013-04-11 Mitsubishi Electric Corp 情報処理装置
JP2016021165A (ja) * 2014-07-15 2016-02-04 ヤマハ株式会社 観測回路
US11816016B2 (en) 2019-12-03 2023-11-14 Siemens Industry Software Inc. Identifying causes of anomalies observed in an integrated circuit chip

Also Published As

Publication number Publication date
JPWO2011065354A1 (ja) 2013-04-11
US20120246369A1 (en) 2012-09-27
JP5637145B2 (ja) 2014-12-10
US9152524B2 (en) 2015-10-06

Similar Documents

Publication Publication Date Title
JP5637145B2 (ja) バスモニタ回路及びバスモニタ方法
KR100854946B1 (ko) 허브-기반의 메모리 시스템에서 메모리 응답용 패킷메모리 및 방법을 갖는 조정 시스템
US7644207B2 (en) High speed bus for isolated data acquisition applications
US9015380B2 (en) Exchanging message data in a distributed computer system
JP4198376B2 (ja) バスシステム及びバスシステムを含む情報処理システム
US7913013B2 (en) Semiconductor integrated circuit
JP2008547139A (ja) 一方向全二重インタフェースを有するメモリのポスト書き込みバッファのための方法、装置及びシステム
JP2005196782A (ja) メモリエミュレーションモジュールを用いて高速でテストできるエンベデッドmcu、及びそのテスト方法
JP4693843B2 (ja) メモリ制御装置及びメモリ制御方法
US20060117226A1 (en) Data communication system and data communication method
US20080320178A1 (en) DMA transfer apparatus
JP2006285872A (ja) マルチcpuシステム
JP7419944B2 (ja) 半導体装置及び同期化方法
JP4431492B2 (ja) 複数のコヒーレンシー・グラニュールをサポートするデータ転送ユニット
US20100153610A1 (en) Bus arbiter and bus system
JP2006285724A (ja) 情報処理装置および情報処理方法
JP2020140380A (ja) 半導体装置及びデバッグシステム
JP4249741B2 (ja) バスシステム及びバスシステムを含む情報処理システム
KR100737904B1 (ko) 마스터/슬레이브 디바이스간의 인터페이스 장치 및 그 방법
US11841782B2 (en) Semiconductor device and debugging system
WO2011030498A1 (ja) データ処理装置及びデータ処理方法
CN116107950A (zh) 数据处理装置、通信系统、芯片、板卡、电子设备
KR20080062694A (ko) 메모리 액세스 제어 장치 및 방법
JP2008250496A (ja) エンジン・プロセッサ連携システム及び連携方法
JP2004295778A (ja) バス間通信インタフェース装置、情報処理ユニット、外部ホスト装置、およびバス間通信制御方法

Legal Events

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

Ref document number: 10833200

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13511559

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2011543256

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10833200

Country of ref document: EP

Kind code of ref document: A1