WO2020012612A1 - 信号収集方法及び信号収集装置 - Google Patents

信号収集方法及び信号収集装置 Download PDF

Info

Publication number
WO2020012612A1
WO2020012612A1 PCT/JP2018/026379 JP2018026379W WO2020012612A1 WO 2020012612 A1 WO2020012612 A1 WO 2020012612A1 JP 2018026379 W JP2018026379 W JP 2018026379W WO 2020012612 A1 WO2020012612 A1 WO 2020012612A1
Authority
WO
WIPO (PCT)
Prior art keywords
data transfer
transfer amount
period
signal collection
difference
Prior art date
Application number
PCT/JP2018/026379
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 PCT/JP2018/026379 priority Critical patent/WO2020012612A1/ja
Priority to JP2020529924A priority patent/JP7136205B2/ja
Publication of WO2020012612A1 publication Critical patent/WO2020012612A1/ja
Priority to US17/145,091 priority patent/US11308011B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment

Definitions

  • the present invention relates to a signal collecting method and a signal collecting apparatus, and more particularly to a signal collecting method for collecting an internal state indicated by a signal in an electronic circuit device having a bus.
  • Patent Document 1 For that purpose, a technique for observing the amount of data transferred on a bus in a system to be measured has been conventionally proposed (for example, see Patent Document 1).
  • Patent Document 1 discloses a digital signal measurement device that generates a trigger using a signal acquired from a system to be measured via a probe, and samples a desired signal using the generated trigger. This enables long-term observation of signal traffic on the bus in the measurement target system and enables real-time observation according to the operation of the measurement target system.
  • Patent Document 1 requires a dedicated pin for probing, and has a problem that the analysis cost is high. Further, in the technique of Patent Document 1, since only the sampled information is observed, it is necessary to accumulate a huge amount of data in a wide timing range in order to obtain detailed information near the timing at which the abnormality has occurred. Requires a memory having a large storage capacity. In addition, when such a digital signal measuring device is incorporated into a chip of a system to be measured, it is necessary to incorporate a dedicated pin and a memory with a large storage capacity into the chip, resulting in an increase in chip area and an increase in chip cost. I will.
  • the present invention has been made in view of the above-described problem, and has been realized with a simpler configuration than in the past, and has made it possible to obtain detailed information near the timing at which an abnormality has occurred in a measurement target system. It is an object of the present invention to provide a signal collecting method and a signal collecting apparatus.
  • a signal collection method is a method for collecting an internal state indicated by a signal in an electronic circuit device including a bus, and acquiring the internal state every first period Storing the data in the storage unit, and obtaining a first data transfer amount, which is an amount of data transferred by the bus, for each second period greater than the first period.
  • a calculating step determining whether the difference calculated in the difference calculating step is within a predetermined range, and stopping the storage in the storing step when determining that the difference is not within the predetermined range. And a constant step.
  • a signal collection device is a device for collecting an internal state indicated by a signal in an electronic circuit device including a bus, and acquiring the internal state every first period
  • a coarse-grained data storage unit for storing a first data transfer amount which is an amount of data transferred by the bus for each second period larger than the first period
  • a pattern generation unit that stores the calculated second data transfer amount; obtains the first data transfer amount from the coarse grain data storage unit; obtains the second data transfer amount from the pattern generation unit; Calculating a difference between the obtained first data transfer amount and the obtained second data transfer amount, determining whether the calculated difference is within a predetermined range, and determining that the difference is not within the predetermined range.
  • a determination unit for stopping the storage of the internal states of the particle size data storage unit.
  • a signal collection method and a signal collection device that are realized with a simpler configuration than the related art and that can obtain detailed information near a timing at which an operation abnormality occurs in a measurement target system are realized. .
  • FIG. 1 is a block diagram illustrating a configuration of a signal collection device according to an embodiment.
  • FIG. 2 is a block diagram showing a detailed configuration of the periodicity determination unit shown in FIG.
  • FIG. 3A is a diagram illustrating an example of a change in a data transfer amount for describing a basic operation of the signal collection device according to the embodiment.
  • FIG. 3B is a diagram illustrating the operation of the periodic pattern generation unit of the signal collection device according to the embodiment.
  • FIG. 3C is a diagram illustrating a basic operation of the periodicity determination unit of the signal collection device according to the embodiment.
  • FIG. 3D is a diagram illustrating a detailed operation example of the periodicity determination unit of the signal collection device according to the embodiment.
  • FIG. 3A is a diagram illustrating an example of a change in a data transfer amount for describing a basic operation of the signal collection device according to the embodiment.
  • FIG. 3B is a diagram illustrating the operation of the periodic pattern generation unit of the signal collection device according to the
  • FIG. 4A is a flowchart illustrating operations of the coarse-grain data storage unit and the periodicity determination unit of the signal collection device according to the embodiment.
  • FIG. 4B is a flowchart illustrating the operation of the fine-grain data storage unit of the signal collection device according to the embodiment.
  • FIG. 4C is a flowchart illustrating details (first example) of step S13 in FIG. 4A.
  • FIG. 4D is a flowchart illustrating details (second example) of step S13 in FIG. 4A.
  • FIG. 4E is a flowchart illustrating details (third example) of step S13 in FIG. 4A.
  • FIG. 5 is a block diagram illustrating a configuration of a signal collection device according to a first modification of the embodiment, including a periodic pattern generation unit that generates a periodic pattern using the first data transfer amount acquired in the past.
  • FIG. 6 is a block diagram illustrating a configuration of a signal collection device according to a second modification of the embodiment including a periodic pattern generation unit that holds a periodic pattern generated in an environment other than the electronic circuit device to be measured.
  • FIG. 7 is a block diagram illustrating a configuration of a periodicity determination unit according to a third modification of the embodiment.
  • FIG. 8A is a block diagram illustrating a configuration of a periodicity determination unit according to a fourth modification of the embodiment.
  • FIG. 8B is a flowchart illustrating the operation of the periodicity determining unit according to the fourth modification of the embodiment.
  • FIG. 8C is a diagram illustrating an operation example of the periodicity determination unit according to the fourth modification example of the embodiment.
  • FIG. 1 is a block diagram showing a configuration of a signal collection device 10 according to the embodiment.
  • the signal collection device 10 is a circuit that collects (ie, observes) an internal state indicated by a signal in an electronic circuit device (not shown) including a bus.
  • the “electronic circuit device having a bus” is a measurement target system having a bus for data transfer, and may be realized by a one-chip LSI like an SoC, or may be a circuit on a printed circuit board. It may be realized.
  • the signal collection device 10 only needs to be electrically connected to the electronic circuit device to be measured. Specifically, the signal collection device 10 may be incorporated and mounted in the electronic circuit device to be measured, or may be the electronic circuit device to be measured. It may be realized by a circuit separate from the device.
  • the signal collection device 10 includes a command analysis unit 11, a fine-grain data storage unit 12, a coarse-grain data storage unit 13, a periodic pattern generation unit 14, and a periodicity determination unit 15. .
  • the command analysis unit 11 is a circuit that collects and analyzes commands related to data transfer via the bus provided in the electronic circuit device to be measured, and at least all data transferred via the bus (however, only Read, Write Only, or data for Read & Write), the data transfer amount is specified and output.
  • the command analysis unit 11 collects and analyzes commands at locations on the bus provided in the electronic circuit device.
  • the “location on the bus” is, specifically, a location where the electronic circuit device communicates with the external memory, for example, in a memory controller provided in the electronic circuit device.
  • the command analysis unit 11 extracts a parameter (for example, a data width (number of bits) and a burst length used for data transfer) related to a data transfer amount included in a command that causes data transfer, and the number of commands that cause data transfer.
  • a parameter for example, a data width (number of bits) and a burst length used for data transfer
  • the data transfer amount is specified, and the specified data transfer amount is determined by the fine-grain data storage unit 12, the coarse-grain data storage unit 13, and the periodic pattern generation unit. 14 is output.
  • the fine-grain data storage unit 12 is an example of a storage unit that acquires and stores an internal state every first period (fine-granularity, for example, 10 ⁇ sec), and includes, for example, a control circuit and a memory (for example, a shift register). Be composed.
  • the “internal state” is a combination of one or more signals in the electronic circuit device to be measured.
  • the data transfer amount generated during the first period hereinafter, “fine-grained data transfer amount” ).
  • the fine-grained data storage unit 12 sets the immediately preceding first period.
  • a process of calculating a total value of all the data transfer amounts input from the command analysis unit 11 and holding the calculated value in an internal memory (shifting in) is repeated. That is, the process of storing the data transfer amount (that is, the internal state) for each first period is repeated.
  • the fine-grain data storage unit 12 has a capacity to store a predetermined amount of internal state, and always holds the latest predetermined amount of internal state. Therefore, when a predetermined amount of the internal state is already stored (that is, when there is no free space), the fine-grained data storage unit 12 discards the stored oldest internal state and replaces the stored internal state with the latest internal state. Store or overwrite the oldest internal state with the latest internal state.
  • the fine-grain data storage unit 12 when receiving the data update stop trigger signal output from the periodicity determination unit 15, the fine-grain data storage unit 12 stops the process of storing the new internal state in the internal memory. Further, the fine-grain data storage unit 12 outputs all internal states stored in the internal memory to the outside according to a request from the outside.
  • the coarse-grained data storage unit 13 stores a first data transfer amount (hereinafter, “coarse-grained data”) that is an amount of data transferred by the bus every second period (coarse granularity, for example, 1 msec) larger than the first period.
  • Transfer circuit includes, for example, a control circuit and a memory (for example, a shift register).
  • the coarse-grain data storage unit 13 stores the immediately preceding second period.
  • a process of calculating a total value of all the data transfer amounts input from the command analysis unit 11 and holding the calculated value in an internal memory (shifting in) is repeated. That is, the process of storing the data transfer amount for each second period (that is, the first data transfer amount) is repeated.
  • the coarse-grain data storage unit 13 has a capacity for storing N (N is an integer of 1 or more, preferably 2 or more, for example, 7) first data transfer amounts, and is always present. The latest N consecutive first data transfer amounts are held. Therefore, when the N first data transfer amounts have already been stored (that is, there is no free space), the coarse-grain data storage unit 13 discards the oldest stored first data transfer amount. To store the latest first data transfer amount, or overwrite the stored oldest first data transfer amount with the latest first data transfer amount.
  • the coarse-grain data storage unit 13 stops the process of storing the new first data transfer amount in the internal memory. I do.
  • the coarse-grain data storage unit 13 outputs all the first data transfer amounts stored in the internal memory to the outside in response to a request from the outside.
  • the periodic pattern generation unit 14 is an example of a pattern generation unit that stores a second data transfer amount calculated in advance.
  • the N second data transfer amounts (hereinafter, N second second transfer amounts) are used.
  • the data transfer amount is also referred to as a “periodic pattern” and is stored in an internal register group, and is output to the periodicity determining unit 15.
  • the “second data transfer amount” is the amount of data considered to be normal (that is, the expected value of the first data transfer amount) transferred on the bus of the electronic circuit device to be measured in the second period.
  • the N second data transfer amounts represent one cycle or the expected value of a pattern of one or more cycles in the time change of the first data transfer amount (ie, “periodic pattern”).
  • the periodic pattern generation unit 14 calculates the second data transfer amount by totalizing the data transfer amount transmitted from the command analysis unit 11 for each second period, and the signal collection device 10
  • the first one cycle that is, N second data transfer amounts
  • the first one cycle in the time change of the second data transfer amount obtained when the transfer is started is held as the expected value of the N first data transfer amounts. .
  • the periodicity determination unit 15 acquires the first data transfer amount from the coarse grain data storage unit 13 every second period, acquires the second data transfer amount from the periodic pattern generation unit 14, and acquires the acquired first data transfer amount. Calculating a difference between the amount and the acquired second data transfer amount; determining whether the calculated difference is within a predetermined range (that is, a margin); determining that the difference is not within the predetermined range; It is an example of a determination unit that stops storing the internal state in the storage unit 12.
  • the periodicity determination unit 15 calculates the N first data transfer amounts from the coarse-grain data storage unit 13.
  • Acquired and N second data transfer amounts are acquired from the periodic pattern generation unit 14, and the values of the aggregation sections corresponding to the acquired N first data transfer amounts and the acquired N second data transfer amounts A difference between them is calculated, and it is determined whether the calculated N differences are within a predetermined range. Based on the determination result (basically, when it is determined that the difference is not within the predetermined range), the first difference is determined.
  • Fine-grain data storage unit 12 By outputting the coarse grain data storage unit 13, it stops the storage of fine grained data storage unit 12 and the new data transfer amount to the coarse grain data storage unit 13.
  • the number of the first data transfer amount and the second data transfer amount used for the periodicity determination by the periodicity determination unit 15 is not necessarily N (that is, the physical amount of the coarse-grain data storage unit 13 and the periodic pattern generation unit 14). Storage capacity). Any number equal to or less than N may be used.
  • the periodicity determination unit 15 has a register for storing the number of data transfer amounts used for comparison, and the first data transfer amount and the second data transfer amount corresponding to the values stored in the register. Obtain and compare quantities.
  • FIG. 2 is a block diagram showing a detailed configuration of the periodicity determining unit 15 shown in FIG.
  • the periodicity determination unit 15 includes N comparators 16a to 16d and a trigger generation unit 17.
  • the comparator 16a is the first of the N first data transfer amounts (“coarse-grain data section 1” in FIG. 2) acquired from the coarse-grain data storage unit 13 and the Nth first data transfer amount acquired from the periodic pattern generation unit 14. 2 is compared with the first data transfer amount (“period pattern ⁇ ⁇ ⁇ ⁇ section 1” in FIG. 2), and when “coarse grain data ⁇ section 1” is within the margin based on “period pattern section 1”, Judgment information indicating “match (eg, 1)” is generated, while otherwise, judgment information indicating “mismatch (eg, 0)” is generated, and the generated judgment information is output to the trigger generation unit 17. I do.
  • the comparator 16b calculates the second of the N first data transfer amounts (“coarse-grain data section 2” in FIG. 2) acquired from the coarse-grain data storage unit 13 and the N-th first data transfer amount acquired from the periodic pattern generation unit 14. 2 is compared with the second data transfer amount (“period pattern section 2” in FIG. 2), and when “coarse grain data section 2” is within the margin based on “period pattern section 2”, Judgment information indicating “match (eg, 1)” is generated, while otherwise, judgment information indicating “mismatch (eg, 0)” is generated, and the generated judgment information is output to the trigger generation unit 17. I do.
  • the comparators 16c to 16d compare the first data transfer amount and the second data transfer amount in the corresponding counting section, generate determination information indicating a comparison result, and use the generated determination information as a trigger generation unit. 17 is output.
  • the trigger generation unit 17 determines, based on the determination information output from the N comparators 16a to 16d, whether the period collapse has occurred in the time change of the first data transfer amount (that is, “coarse-grain data”). Is determined, and when it is determined that the period collapse has occurred, a data update stop trigger is output to the fine-grain data storage unit 12 and the coarse-grain data storage unit 13.
  • FIGS. 3A to 3C show examples of changes in the data transfer amount
  • FIGS. 4A to 4E show examples.
  • the operation of the signal collection device 10 (that is, the signal collection method) will be described with reference to a flowchart.
  • FIG. 3A is a diagram showing an example of a change in the data transfer amount for explaining the basic operation of the signal collection device 10 according to the embodiment.
  • FIG. 3A is a diagram illustrating an example of a time change of the coarse-grained data transfer amount 27 (that is, the first data transfer amount) observed by the signal collection device 10.
  • FIG. 3B is a diagram showing an example of a time change of the fine-grained data transfer amount (that is, the internal state) 28 observed by the signal collecting apparatus 10 in parallel with the observation shown in FIG. 3A. It is.
  • the time change of the data transfer amount in the same measurement target (that is, the bus of the electronic circuit device) is represented by the coarse-grain data storage unit 13 at the coarse granularity (that is, the In parallel with the observation (every two periods) ((a) in FIG. 3A), the observation is performed by the fine-grain data storage unit 12 at the fine granularity (that is, every first period ( ⁇ second period)). ((B) of FIG. 3A).
  • the periodicity determination unit 15 determines, with respect to the time change of the coarse-grained data transfer amount 27, the periodicity (the comparison period 20b composed of the N total sections (that is, the second period) 20a in FIG. Is determined, and when it is determined that the period collapse 20c has occurred, a data update stop trigger is generated after a lapse of the third period from the determination.
  • the storage of the fine-grained data transfer amount 28 is stopped ((b) in FIG. 3A).
  • the time change of the data transfer amount on the bus seems to change at random individually, but when the change of the data transfer amount is seen for each unit time of an appropriate granularity (here, coarse granularity),
  • an application executed by an electronic circuit device such as a SoC or the like is operating stably, the amount of data transferred on the bus transits at a certain period, and when the periodicity is broken, some trouble occurs. Often occur. Therefore, the signal collection device 10 according to the present embodiment can observe detailed data (that is, the internal state) before and after the timing when the periodicity is broken in the temporal change of the coarse-grained data transfer amount 27. Like that.
  • FIG. 4A is a flowchart showing operations of the coarse-grain data storage unit 13 and the periodicity determination unit 15 of the signal collection device 10 according to the embodiment.
  • a process performed in a coarse granularity that is, one second period
  • the data transfer amount is specified by the command analysis unit 11, and the fine-grain data storage unit 12 and output to the coarse grain data storage unit 13.
  • the periodic pattern generation unit 14 uses the data transfer amount obtained when the signal collection device 10 starts to observe, by using the expected values of the N first data transfer amounts, that is, the N second data transfer amounts. Hold the quantity.
  • the coarse-grain data storage unit 13 acquires and acquires the first data transfer amount by totalizing the data transfer amount sent from the command analysis unit 11 in the second period (that is, with the coarse granularity).
  • the first data transfer amount is stored in the internal memory (first data transfer amount obtaining step S10).
  • the coarse-grain data storage unit 13 has a capacity for storing N first data transfer amounts, and is used when the N first data transfer amounts are already stored (that is, when there is no free space). Discards the oldest stored first data transfer amount and stores the latest first data transfer amount, or stores the newest first data transfer amount in the stored oldest first data transfer amount. By overwriting, the latest N consecutive first data transfer amounts are always maintained.
  • the periodicity determination unit 15 obtains N first data transfer amounts from the coarse-grain data storage unit 13.
  • the N second data transfer amounts are acquired from the periodic pattern generation unit 14, and the values of the aggregation sections corresponding to the acquired N first data transfer amounts and the acquired N second data transfer amounts are obtained.
  • the difference is calculated (difference calculation step S11), and N pieces of determination information indicating whether each of the calculated N differences is within a predetermined range is generated (S12).
  • the periodicity determination unit 15 uses the generated N pieces of determination information to determine whether the period of the first data transfer amount changes over time. It is determined whether or not it has occurred (S13).
  • the periodicity determination unit 15 determines from the determination. After the preset variable third period has elapsed, a data update stop trigger is output to the fine-grain data storage unit 12 and the coarse-grain data storage unit 13 (S14).
  • Steps S12 to S14 determine whether or not the difference calculated in the difference calculation step S11 is within a predetermined range. If it is determined that the difference is not within the predetermined range, the storage in the storage step illustrated in FIG. 4B is performed. Corresponds to a determination step for canceling.
  • a similar pattern is repeated for each comparison period 20b composed of N aggregation sections 20a with respect to the time change of the coarse-grained data transfer amount. (Periodicity) is determined, and when it is determined that the period collapse 20 c has occurred, a data update stop trigger is output from the periodicity determination unit 15 to the fine-grain data storage unit 12 and the coarse-grain data storage unit 13.
  • FIG. 4B is a flowchart showing the operation of the fine-grain data storage unit 12 of the signal collection device 10 according to the embodiment.
  • the processing that is, the storing step
  • the fine granularity that is, one first period
  • the fine-grain data storage unit 12 acquires the internal state by totalizing the data transfer amount sent from the command analysis unit 11 in the first period (that is, with the fine-grain) (S20).
  • the internal state is stored in an internal memory (S21).
  • the fine-grained data storage unit 12 has a capacity for storing a predetermined amount of internal state, and when the predetermined amount of internal state is already stored (that is, when there is no free space), the fine-grained data storage unit 12 stores the internal state. By discarding the old internal state and storing the latest internal state, or by overwriting the stored oldest internal state with the latest internal state, the latest predetermined amount of the internal state is always maintained.
  • the fine-grain data storage unit 12 determines whether or not the data update stop trigger signal output from the periodicity determination unit 15 has been received (S22).
  • the fine-grain data storage unit 12 stops the process of storing the new internal state in the internal memory (S23). .
  • the fine-grain data storage unit 12 performs the same processing again in the next first period (S20 to S23). repeat.
  • the fine-grain data storage unit 12 repeatedly acquires and discards the internal state (that is, the state of the internal memory is the same as the fine-grained data transfer amount shown in FIG. 3B (b)).
  • the stored data 21a to the stored data 21b, the stored data 21c, and the stored data 21d
  • a stop trigger signal is received, and the storing process is stopped at the timing when the signal is received.
  • the fine-grained data storage unit 12 holds the storage data 21e in which the internal state acquired at the timing when the third period has elapsed since the occurrence of the period collapse in the coarse-grained data transfer is the last data. In this state, the storage processing is stopped, and a readout to the outside is enabled.
  • FIG. 3B is a diagram illustrating the operation of the periodic pattern generation unit 14 of the signal collection device 10 according to the embodiment.
  • the periodic pattern generation unit 14 aggregates the data transfer amount sent from the command analysis unit 11 for each second period (that is, with a coarse granularity), and thereby performs the second data transfer.
  • the quantities 25a and 25b are calculated and sequentially stored in N registers (regA, regB,..., RegG).
  • the periodic pattern generation unit 14 holds the periodic pattern 24 for coarse-grained data transfer, that is, N expected values of the first data transfer amount (that is, N second data transfer amounts).
  • the margin 26 used for judging the coincidence with the first data transfer amount can be arbitrarily set for each aggregation section (each of the N second data transfer amounts).
  • each of the N registers (regA, regB,..., RegG) holds the lower limit value and the upper limit value of the second data transfer amount in the aggregation period.
  • the first data transfer amount is equal to or more than the lower limit value of the second data transfer amount and equal to or less than the upper limit value.
  • determination information indicating "match" is generated.
  • FIG. 3C is a diagram showing a basic operation (that is, details of steps S11 and S12 in FIG. 4A) of the periodicity determination unit 15 of the signal collection device 10 according to the embodiment.
  • 3A shows an example of N second data transfer amounts (that is, the periodic pattern 24) acquired from the periodic pattern generator 14.
  • FIG. 3B shows an example of the coarse-grained data transfer amount (that is, the first data transfer amount) 27 stored in the coarse-grained data storage unit 13.
  • the periodicity determination unit 15 calculates the difference between the values of the aggregation section and the periodic pattern 24 in units of the N coarse-grained data transfer amounts 27 (S11 in FIG. 4A), and each of the calculated N differences Indicates whether or not is within a predetermined range (within the range of the margin set in the periodic pattern generating unit 14) (if it is within the range, it indicates “1 (match)”; N (indicating "0 (mismatch)”) is generated (S12 in FIG. 4A).
  • FIG. 4C is a flowchart showing details (first example) of step S13 (determination of “periodic collapse”) in FIG. 4A. Here, an example of a case where it is determined to be “periodic collapse” is shown.
  • the trigger generation unit 17 determines whether the values of the aggregation sections corresponding to the N first data transfer amounts and the N second data transfer amounts (that is, the periodic patterns) are different. N pieces of determination information indicating whether they match (that is, the difference is within a predetermined range) are obtained from the N comparators 16a to 16d (S30).
  • the trigger generation unit 17 determines whether only one of the obtained N pieces of determination information indicates “0 (mismatch)” (that is, the difference is not within a predetermined range) (S31). .
  • the trigger generation unit 17 determines that the period collapse has occurred ( S32).
  • FIG. 4D is a flowchart showing details (second example) of step S13 (determination of “periodic collapse”) in FIG. 4A.
  • step S13 determination of “periodic collapse”
  • the trigger generation unit 17 determines whether the values of the aggregation sections corresponding to the N first data transfer amounts and the N second data transfer amounts (that is, the periodic patterns) are different. N pieces of determination information indicating whether they match (that is, the difference is within a predetermined range) are obtained from the N comparators 16a to 16d (S30).
  • the trigger generation unit 17 determines whether or not all of the obtained N pieces of determination information indicate “1 (match)” (that is, the difference is within a predetermined range) (S31a).
  • the trigger generation unit 17 does not determine that the period collapse has occurred (that is, normal). (S32a).
  • FIG. 4E is a flowchart showing details (third example) of step S13 (determination of “periodic collapse”) in FIG. 4A. Here, an example of a case where it is determined to be “periodic collapse” is shown.
  • the trigger generation unit 17 determines whether the values of the aggregation sections corresponding to the N first data transfer amounts and the N second data transfer amounts (that is, the periodic patterns) are different. N pieces of determination information indicating whether they match (that is, the difference is within a predetermined range) are obtained from the N comparators 16a to 16d (S30).
  • the trigger generation unit 17 determines that one or more and M (M is an integer of 1 or more and less than N ⁇ 1) or less of the acquired N pieces of determination information are “0 (mismatch)” (that is, the difference is a predetermined value). (Not within the range) is determined (S31b).
  • the trigger generation unit 17 determines that the period collapse has occurred (S32).
  • the trigger generation unit 17 of the periodicity determination unit 15 determines that the period has collapsed. Is not targeted (that is, treated as not to be judged). That is, in this case, the trigger generation unit 17 does not output the data update stop trigger.
  • FIG. 3D is a diagram showing a detailed operation example of the periodicity determination unit of the signal collection device 10 according to the embodiment (that is, an operation example of the flowcharts shown in FIGS. 4C to 4E).
  • FIGS. 3A to 3E show N (here, 7) pieces of first data to be determined by the periodicity determining unit 15 when the time (that is, the first period) has elapsed in this order. The transition of the transfer amount (the portion surrounded by a black frame) is shown. The graph extending horizontally shows the time change of the coarse-grained data transfer amount (that is, the first data transfer amount) 27.
  • the black frame is a periodic pattern (that is, N (here, 7) second data transfer amounts) 24 held by the periodic pattern generation unit 14.
  • the N numbers (0 or 1) in the black frame indicate the judgment information for each counting section, and the numerical value next to the N pieces of judgment information is the total number of the judgment information indicating “1 (match)”. Is shown.
  • the periodicity judgment unit 15 operates as follows.
  • the N first data transfer amounts to be determined completely match the periodic pattern 24. Therefore, since the trigger generation unit 17 of the periodicity determination unit 15 determines that all of the obtained N pieces of determination information indicate “1 (match)”, the trigger generation unit 17 does not determine that a period collapse has occurred (that is, a normal state). It is determined that it is a cycle) (see FIG. 4D).
  • the trigger generation unit 17 of the periodicity determination unit 15 determines that N ⁇ 1 of the acquired N pieces of determination information indicate “0 (mismatch)”, and thus is illustrated in FIGS. 4C to 4E. Since this case does not correspond to any of the flowcharts shown in FIG.
  • the trigger generation unit 17 of the periodicity determination unit 15 determines that N ⁇ 1 of the acquired N pieces of determination information indicate “0 (mismatch)”, and thus is illustrated in FIGS. 4C to 4E. Since this case does not correspond to any of the flowcharts shown in FIG.
  • the trigger generation unit 17 of the periodicity determination unit 15 determines that only one of the obtained N pieces of determination information indicates “0 (mismatch)”, and determines that a period collapse has occurred ( (See FIG. 4C).
  • the signal collection device 10 is a device that collects an internal state indicated by a signal in an electronic circuit device including a bus, and acquires and stores the internal state every first period.
  • the first data transfer amount is acquired from the periodic pattern generator 14 that stores the second data transfer amount and the coarse data storage unit 13, the second data transfer amount is acquired from the periodic pattern generator 14, and the acquired first data transfer amount is acquired.
  • the difference between the data transfer amount and the acquired second data transfer amount is calculated, and it is determined whether or not the calculated difference is within a predetermined range.
  • Internal state to And a periodicity judgment unit 15 for stopping the storage.
  • the internal connection is achieved by electrically connecting to the electronic circuit device without using a dedicated pin for probing the electronic circuit device to be measured.
  • the state and the first data transfer amount can be sampled.
  • the sampling of the internal state at the fine granularity that is, every first period
  • the coarse-grained data transfer is performed.
  • a time change of the internal information at a fine granularity that is, detailed
  • is observed near the timing when the abnormality occurs in the amount. Therefore, a signal collection device that is realized with a configuration that is simpler than the conventional one and that can obtain detailed information near the timing at which an operation abnormality occurs in the measurement target system is realized.
  • the signal collection device 10 collects the internal state indicated by the signal in the electronic circuit device including the bus, and the fine-grain data storage unit 12 stores the first state.
  • the storing step (S20 to S23 in FIG. 4B) of acquiring the internal state for each period and storing it in the fine-grained data storage unit 12 and the periodicity determination unit 15 performs the bus operation for each second period longer than the first period.
  • the signal collecting apparatus 10 electrically connected to the electronic circuit device without using a dedicated pin for probing the electronic circuit device to be measured.
  • the internal state and the first data transfer amount can be sampled.
  • the sampling of the internal state at the fine granularity that is, every first period
  • the coarse-grained data transfer is performed.
  • a time change of the internal information at a fine granularity that is, detailed
  • is observed near the timing when the abnormality occurs in the amount. Therefore, a signal collection method by a signal collection device that is realized with a configuration that is simpler than in the related art and that can obtain detailed information near the timing when an operation abnormality occurs in the measurement target system is realized.
  • the storage in the storage step is stopped after the third period has elapsed since the calculation of the difference.
  • the period is variable.
  • the recording of the internal state is stopped after a lapse of an arbitrary third period from the timing at which the difference between the first data transfer amount and the second data transfer amount is not within the predetermined range, and the operation abnormality may occur. It is possible to observe a detailed time change of the internal state before and after an arbitrary timing of the occurrence.
  • the fine-grained data storage unit 12 has a capacity to store a predetermined amount of internal state. By overwriting the latest internal state, the internal state is stored in the storage unit.
  • the fine-grained data storage unit 12 always stores a predetermined amount of the latest internal state.
  • the predetermined range (margin) used by the periodicity determining unit 15 to compare the first data transfer amount and the second data transfer amount in the determination step is variable.
  • a margin is given to the second data transfer amount as an expected value to be compared with the first data transfer amount, and the normal / abnormal judgment that absorbs the variation of the first data transfer amount that may occur within a normal range is determined. Will be possible.
  • the periodicity determination unit 15 determines whether the difference calculated in the difference calculation step is within a predetermined range for each of the N second periods. N pieces of determination information shown are generated, and it is determined whether or not a period collapse has occurred in the time change of the first data transfer amount based on the generated N pieces of determination information, and it is determined that the period collapse has occurred. In this case, the storing in the storing step is stopped.
  • the periodicity determination unit 15 has found that the period collapse has occurred when only one of the N pieces of determination information indicates that the difference is not within the predetermined range (that is, they do not match). Is determined.
  • the periodicity determination unit 15 does not determine that the period collapse has occurred. .
  • the first data transfer amount in all the aggregation sections in the time change of the first data transfer amount forming one cycle matches the periodic pattern within a predetermined range, it is determined that the first data transfer amount is normal. It is possible to detect a case in which even a part of the periodic pattern collapses as an abnormality.
  • the periodicity determination unit 15 determines that 1 to M pieces of determination information out of N pieces of determination information have a difference within a predetermined range. It is determined that the period collapse has occurred when it indicates that they are not the same (that is, they do not match).
  • the first data transfer amount in a part of the counting section in the time change of the first data transfer amount forming one cycle does not match the periodic pattern within a predetermined range, it is determined that the period is collapsed.
  • An erroneous determination resulting from a cycle shift (ie, a phase shift in the comparison) in the comparison between the first data transfer amount forming one cycle and the cycle pattern is avoided.
  • the above M is variable. This makes it possible to adjust the timing of the comparison to avoid an erroneous determination caused by a cycle shift (ie, a phase shift in the comparison) in the comparison between the first data transfer amount forming one cycle and the cycle pattern. Obviously, a cycle shift (ie, a phase shift in the comparison) in the comparison between the first data transfer amount forming one cycle and the cycle pattern. Obviously, a cycle shift (ie, a phase shift in the comparison) in the comparison between the first data transfer amount forming one cycle and the cycle pattern. Become.
  • the internal state stored in the fine-grain data storage unit 12 is the amount of data transferred through the bus of the electronic circuit device to be measured. As a result, it is possible to determine whether or not an operation abnormality has occurred at the same location (bus) in an electronic circuit device to be measured at a coarse granularity, and to perform a detailed analysis (at a fine granularity) when the operational abnormality has occurred. It can be performed.
  • the electronic circuit device to be measured may be a one-chip semiconductor device. In such a case, it is possible to analyze an operation abnormality in an LSI whose operation content is complicated like the SoC.
  • the periodic pattern generation unit 14 performs the first one period (that is, the N second second data transfer) in the time change of the second data transfer amount obtained when the signal collection device 10 starts to observe.
  • the data transfer amount is held as a periodic pattern
  • the method of generating the periodic pattern is not limited to this.
  • the periodic pattern generation unit 14 generates a periodic pattern using one or more first data transfer amounts acquired in the past, specifically, N first data transfer amounts determined to be normal. May be.
  • FIG. 5 is a block diagram illustrating a configuration of a signal collection device 10a according to a first modification of the embodiment, including a periodic pattern generation unit 14a that generates a periodic pattern using the first data transfer amount acquired in the past. It is.
  • the signal collection device 10a according to the present modification basically has the same configuration as the signal collection device 10 according to the above-described embodiment, but replaces the above-described cycle with the periodic pattern generation unit 14 in the embodiment.
  • This embodiment differs from the embodiment in that a pattern generation unit 14a is provided.
  • the periodic pattern generation unit 14a receives, from the periodicity determination unit 15 via the control line 18, a periodic pattern generation trigger generated each time a normal period is determined, the N number of determination targets are determined.
  • the first data transfer amount is obtained from the coarse-grain data storage unit 13 or the periodicity determination unit 15, and the obtained N first data transfer amounts and the N second data transfer amounts already held (that is, And the data transfer amounts of the corresponding aggregation sections using the arbitrarily set weights, and the combined N data transfer amounts are newly added to the internal register group as a periodic pattern. After that, it is supplied to the periodicity determination unit 15 as an expected value of the comparison determination.
  • the periodic pattern generation is performed.
  • the unit 14a calculates the average of the acquired N first data transfer amounts and the N second data transfer amounts already held for each data transfer amount of the corresponding aggregation section.
  • the N average values are held as a new periodic pattern (that is, N second data transfer amounts).
  • the periodic pattern generation is performed.
  • the unit 14a holds the acquired N first data transfer amounts as a new periodic pattern (that is, N second data transfer amounts).
  • the method of acquiring the N first data transfer amounts determined to be the normal cycle is not only the method of acquiring from the coarse-grain data storage unit 13 or the periodicity determining unit 15, but also the periodic pattern generation unit 14a
  • the same processing as that of the storage unit 13 that is, a method of calculating and acquiring N second data transfer amounts by totalizing the data transfer amounts sent from the command analysis unit 11 for each second period). May be.
  • the periodic pattern generation unit 14a acquires the second data transfer amount held in the past by the first data transfer amount acquisition step. It is generated using one or more first data transfer amounts.
  • the second data transfer amount as an expected value to be compared with the first data transfer amount is replaced with the first data transfer amount acquired in the past.
  • the first data transfer amount determined to be normal is .
  • the second data transfer amount as the expected value can be changed depending on the change in the state of the electronic circuit device (or the lapse of time).
  • the method of generating the periodic pattern is not limited to a method using a signal in the electronic circuit device to be measured, but may be a method to be generated in an environment other than the electronic circuit device to be measured.
  • FIG. 6 is a block diagram illustrating a configuration of a signal collection device 10b according to a second modification of the embodiment, including a periodic pattern generation unit 14b that holds a periodic pattern generated in an environment other than the electronic circuit device to be measured. It is.
  • the signal collecting device 10b is mounted in the electronic circuit device 5 to be measured.
  • an EDA (Electronic Design Automation) tool such as a circuit simulation that supports automation of design of a semiconductor integrated circuit (here, an electronic circuit device to be measured) is mounted.
  • a PC (personal computer) 19a is also shown.
  • the signal collection device 10b according to the present modification basically has the same configuration as the signal collection device 10 according to the above-described embodiment, but replaces the above-described cycle with the periodic pattern generation unit 14 in the embodiment.
  • This embodiment differs from the embodiment in that a pattern generation unit 14b is provided.
  • the periodic pattern generation unit 14b When receiving the periodic pattern generation trigger from the periodicity determination unit 15, the periodic pattern generation unit 14b sends an EDA tool (for example, the electronic circuit device 5) included in the PC 19a from the PC 19a located outside the electronic circuit device 5 to be measured.
  • the simulation result 19b generated by the circuit simulation for designing) is downloaded.
  • the simulation result 19b is data indicating a periodic pattern (that is, N second data transfer amounts) in a time change of the coarse-grained data transfer amount in the bus of the electronic circuit device 5 observed by the signal collection device 10b.
  • the periodic pattern generation unit 14b holds the periodic pattern (that is, the N second data transfer amounts) indicated by the downloaded simulation result 19b in an internal register group, and thereafter performs comparison. It is supplied to the periodicity determination unit 15 as an expected value of the determination.
  • the periodic pattern generation unit 14b generates the second data transfer amount using the result of the simulation outside the electronic circuit device. I do.
  • the periodicity determination section 15 includes the N comparators 16a to 16d (FIG. 2), but is not limited to this configuration.
  • FIG. 7 is a block diagram showing a configuration of a periodicity determining unit 15a according to a third modification of the embodiment (here, a configuration of a portion replacing the N comparators 16a to 16d in the embodiment).
  • the periodicity determination unit 15a includes two selectors 30a and 30b and one comparator 16 instead of the N comparators 16a to 16d in the embodiment.
  • the selector 30a sequentially selects one from the N first data transfer amounts output from the coarse-grain data storage unit 13 (that is, from the first (“coarse-grain data section 1”) to the N-th (“coarse-grain dataNsection N”). )) To select and output.
  • the selector 30b operates in synchronization with the selector 30a, and sequentially selects one (that is, the first (“period pattern section 1”) to the N-th data from the N second data transfer amounts output from the periodic pattern generation unit 14). (Up to “period pattern section N”).
  • the comparator 16 compares one first data transfer amount selected by the selector 30a with one second data transfer amount selected by the selector 30b, and compares the first data transfer amount with the second data transfer amount. If the difference is within a predetermined range (margin), judgment information indicating “match” is generated, and if not, judgment information indicating “mismatch” is generated and output to the trigger generation unit 17. The process is repeated for N sets of the first data transfer amount and the second data transfer amount sent from the selectors 30a and 30b.
  • the N first data transfer amounts and the N first data transfer amounts are obtained by using the two selectors 30a and 30b and the one comparator 16. A comparison with the second data transfer amount is performed.
  • the periodicity can be determined by a simple circuit including two selectors 30a and 30b and one comparator 16 instead of the N comparators 16a to 16d in the above embodiment. .
  • the periodicity determination unit 15 treats the N pieces of determination information output from the N comparators 16a to 16d equally and determines the normal cycle / period collapse.
  • the normal cycle / periodic collapse may be determined after weighting the determination information.
  • FIG. 8A is a block diagram illustrating a configuration of a periodicity determining unit 15b according to a fourth modification of the embodiment (here, a configuration of a portion that processes outputs from N comparators 16a to 16d in the embodiment).
  • FIG. 8A is a block diagram illustrating a configuration of a periodicity determining unit 15b according to a fourth modification of the embodiment (here, a configuration of a portion that processes outputs from N comparators 16a to 16d in the embodiment).
  • the periodicity determination unit 15b replaces the new N weight calculation units 31a to 31d not provided in the periodicity determination unit 15 in the embodiment and the trigger generation unit 17 in the embodiment. And a trigger generation unit 17a.
  • the N weight calculators 31a to 31d respectively correspond to N pieces of judgment information (1 (match) or 0 (mismatch)) output from the N comparators 16a to 16d, respectively. (“Weight 1” to “weight N”). Note that the N weights (“weight 1” to “weight N”) may be arbitrarily set in a register group included in the electronic circuit device to be measured or a register group included in the signal collection device 10 or the periodicity determination unit 15b. Values are written from the outside and supplied from these register groups to the N weight calculators 31a to 31d.
  • the trigger generation unit 17a calculates the sum of the weighted judgment information output from the N weight calculation units 31a to 31d, compares the calculated sum with a preset threshold, and based on the comparison result, The normal cycle / periodic collapse is determined. For example, when the sum is smaller than the first threshold, it is determined to be out of the determination target, and the data update stop trigger is not output. It is determined that the collapse has occurred, and a data update stop trigger is output. If the sum is greater than the second threshold, a normal cycle is determined and no data update stop trigger is output.
  • FIG. 8B is a flowchart illustrating an operation of the periodicity determination unit 15b according to the fourth modification of the embodiment, and corresponds to a flowchart according to a modification of Step S13 (determination of “periodic collapse”) in FIG. 4A in detail. I do.
  • each of the N weight calculation units 31a to 31d obtains determination information (a total of N pieces of determination information) from the corresponding one of the N comparators 16a to 16d. (S30a).
  • the N weight calculators 31a to 31d assign corresponding weights to the acquired judgment information, and subsequently, the trigger generator 17a assigns the weights output from the N weight calculators 31a to 31d.
  • the sum of the determined information is calculated (S33).
  • the trigger generator 17a compares the calculated sum with a preset first threshold and a second threshold (> first threshold) (S34).
  • the trigger generation unit 17a determines that the sum is out of the determination target and does not output the data update stop trigger (S32b).
  • the sum is equal to or more than the first threshold and equal to or less than the second threshold (> first threshold) (“first threshold ⁇ total ⁇ second threshold” in S34)
  • first threshold ⁇ total ⁇ second threshold first threshold ⁇ total ⁇ second threshold
  • FIG. 8C is a diagram illustrating an operation example of the periodicity determination unit 15b according to the fourth modification of the embodiment.
  • the histogram indicates N coarse-grained data transfer amounts (that is, first data transfer amounts) 27 to be compared.
  • a black frame indicates a periodic pattern (that is, N second data transfer amounts) 24.
  • “Comparison result” indicates N pieces of determination information.
  • Weight indicates N weights used in the weight calculators 31a to 31d.
  • “Score” indicates N pieces of determination information after weighting.
  • the total value of “points” indicates the sum of the weighted judgment information.
  • the N weight calculators 31a to 31d of the periodicity determiner 15b respectively output 1, 1, 0, 0, 0, 1 as the determination information from the comparators 16a to 16d. , 1 and weighted as 7, 7, 1, 1, 1, 5, 5 as corresponding weights, so that 7, 7, 0, 0, 0, 5, 5 is generated.
  • the trigger generation unit 17a calculates the sum of the weighted pieces of determination information (here, 24), and calculates the calculated sum and first and second thresholds (here, 20 as the second threshold) set in advance. Compare with As a result, the trigger generation unit 17a determines that the sum (here, 24) is greater than the second threshold value (here, 20), and determines that the N first data transfer amounts to be determined are normal cycles. Does not output the data update stop trigger.
  • a total sum is calculated after performing weighting corresponding to each of the N pieces of determination information, and the calculated total sum and the threshold value are calculated. Are compared, it is determined that the period collapse has occurred.
  • the signal collection method and the signal collection device according to the present invention have been described based on the embodiment and the first to fourth modified examples.
  • the present invention is limited to these embodiments and modified examples. is not.
  • various modifications conceivable to those skilled in the art may be applied to the embodiments and modifications, and other forms constructed by combining some components in the embodiments or modifications. , Within the scope of the present invention.
  • the periodic pattern generation unit 14 holds the periodic pattern (a plurality of second data transfer amounts), and the periodicity determination unit 15 uses the periodic pattern as a unit to store the first data.
  • the periodicity in the time change of the transfer amount has been determined, such determination of the periodicity is not always necessary.
  • One second data transfer amount is held in the periodic pattern generation unit 14, and one first data transfer amount and one second data transfer amount are compared in the periodicity determination unit 15, and based on the comparison result, A data update stop trigger may be generated. That is, N in the above embodiment may be one. As a result, it is determined whether or not the value of each first data transfer amount is within a predetermined range, and whether or not an abnormality has occurred is determined.
  • the periodicity determination unit 15 outputs the data update trigger when the third period has elapsed since it was determined that the period collapse has occurred. Is not necessary. Even when the storage in the fine-grain data storage unit 12 is stopped immediately when the period collapse occurs, it is possible to observe a detailed internal state at a stage before such an operation abnormality occurs. .
  • the “predetermined range”, “M”, and the number of data transfer amounts used for the determination of the periodicity are variable, but need not always be variable, and are fixed values. Is also good. Depending on the electronic circuit device to be measured, it may not be necessary to change these parameters. By setting these parameters to fixed values, the circuit scale of the signal collection device 10 can be reduced.
  • the present invention provides a signal collection device that collects an internal state indicated by a signal in an electronic circuit device including a bus, and particularly obtains detailed information near a timing when an abnormality occurs in a measurement target system with a simple configuration.
  • a signal collection device incorporated in a measurement target LSI such as an SoC or a signal collection device realized separately from a measurement target system.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

信号収集方法は、バスを備える電子回路デバイスにおける信号が示す内部状態を収集する方法であって、第1期間毎に内部状態を取得して細粒度データ記憶部(12)に格納する格納ステップ(図4BのS20~S23)と、第1期間よりも大きい第2期間毎に、バスで転送されるデータの量である第1データ転送量を粗粒度データ記憶部(13)を介して取得する第1データ転送量取得ステップ(図4AのS10)と、事前に算出された第2データ転送量を周期パターン生成部(14)から取得し、取得した第2データ転送量と第1データ転送量取得ステップで取得された第1データ転送量との差分を算出する差分算出ステップ(図4AのS11)と、算出された差分が所定範囲内か否かを判定し(図4AのS12~S13)、差分が所定範囲内でないと判定した場合に、格納ステップでの格納を中止させる判定ステップ(図4AのS14)とを含む。

Description

信号収集方法及び信号収集装置
 本発明は、信号収集方法及び信号収集装置に関し、特に、バスを備える電子回路デバイスにおける信号が示す内部状態を収集する信号収集方法に関する。
 半導体の集積度の向上に伴い、システム全体が一つのLSI上で実現されるSoC(System On Chip)のようにLSI内の動作内容が複雑化してくると、LSIが意図した性能を発揮できない場合、もしくは意図した動作をしない場合、何をどのように調べて原因を突き止めるかが大変難しくなる。通常、動作異常がある場合を再現し、その時のLSIの各種の内部状態を分析することで原因を解析する。
 一般に、動作異常が生じていることと、システム内のバス上のデータ転送量の変化が通常と違うこととは強い相関があるので、何らかの方法でバス上の状態を監視し、その結果からLSIの内部状態を収集することで、原因の解析のための情報が得られる。
 そのために、従来、測定対象システムにおけるバス上のデータ転送量を観測する技術が提案されている(例えば、特許文献1参照)。
 特許文献1では、測定対象システムからプローブを介して取得した信号を使ってトリガを生成し、生成したトリガを用いて所望の信号をサンプリングするデジタル信号測定装置が開示されている。これにより、測定対象システムにおけるバス上の信号トラフィックに対し、長時間の観測を可能とし、かつ測定対象システムの動作に応じてリアルタイムでの観測を可能とするというものである。
特開2003-218872号公報
 しかしながら、特許文献1の技術では、プロービングのための専用ピンが必要となり、解析コストが高くなるという問題がある。また、特許文献1の技術では、サンプリングした情報を観測するだけなので、異常が発生したタイミング付近での詳細な情報を得るためには、広いタイミング範囲で膨大なデータを蓄積する必要があり、そのために、大きな記憶容量のメモリを必要とする。また、このようなデジタル信号測定装置を測定対象システムのチップに組み込む場合には、専用ピン及び大記憶容量のメモリをチップに組み込む必要があり、チップ面積の増大をもたらし、チップコストを高くしてしまう。
 そこで、本発明は、上記問題に鑑みてなされたものであり、従来よりも簡易な構成で実現され、かつ、測定対象システムにおいて異常が発生したタイミング付近での詳細な情報を得ることを可能にする信号収集方法及び信号収集装置を提供することを目的とする。
 上記目的を達成するために、本発明の一形態に係る信号収集方法は、バスを備える電子回路デバイスにおける信号が示す内部状態を収集する方法であって、第1期間毎に前記内部状態を取得して記憶部に格納する格納ステップと、前記第1期間よりも大きい第2期間毎に、前記バスで転送されるデータの量である第1データ転送量を取得する第1データ転送量取得ステップと、事前に算出された第2データ転送量を取得し、取得した前記第2データ転送量と前記第1データ転送量取得ステップで取得された前記第1データ転送量との差分を算出する差分算出ステップと、前記差分算出ステップで算出された前記差分が所定範囲内か否かを判定し、前記差分が前記所定範囲内でないと判定した場合に、前記格納ステップでの格納を中止させる判定ステップとを含む。
 上記目的を達成するために、本発明の一形態に係る信号収集装置は、バスを備える電子回路デバイスにおける信号が示す内部状態を収集する装置であって、第1期間毎に前記内部状態を取得して記憶する細粒度データ記憶部と、前記第1期間よりも大きい第2期間毎に前記バスで転送されるデータの量である第1データ転送量を記憶する粗粒度データ記憶部と、事前に算出された第2データ転送量を記憶するパターン生成部と、前記粗粒度データ記憶部から前記第1データ転送量を取得し、前記パターン生成部から前記第2データ転送量を取得し、取得した前記第1データ転送量と取得した前記第2データ転送量との差分を算出し、算出した前記差分が所定範囲内か否かを判定し、前記差分が前記所定範囲内でないと判定した場合に、前記細粒度データ記憶部への前記内部状態の格納を中止させる判定部とを備える。
 本発明により、従来よりも簡易な構成で実現され、かつ、測定対象システムにおいて動作異常が発生したタイミング付近での詳細な情報を得ることを可能にする信号収集方法及び信号収集装置が実現される。
図1は、実施の形態に係る信号収集装置の構成を示すブロック図である。 図2は、図1に示された周期性判定部の詳細な構成を示すブロック図である。 図3Aは、実施の形態に係る信号収集装置の基本動作を説明するためのデータ転送量の変化例を示す図である。 図3Bは、実施の形態に係る信号収集装置の周期パターン生成部の動作を説明する図である。 図3Cは、実施の形態に係る信号収集装置の周期性判定部の基本動作を示す図である。 図3Dは、実施の形態に係る信号収集装置の周期性判定部の詳細な動作例を示す図である。 図4Aは、実施の形態に係る信号収集装置の粗粒度データ記憶部及び周期性判定部の動作を示すフローチャートである。 図4Bは、実施の形態に係る信号収集装置の細粒度データ記憶部の動作を示すフローチャートである。 図4Cは、図4AのステップS13の詳細(第一の例)を示すフローチャートである。 図4Dは、図4AのステップS13の詳細(第二の例)を示すフローチャートである。 図4Eは、図4AのステップS13の詳細(第三の例)を示すフローチャートである。 図5は、過去に取得された第1データ転送量を用いて周期パターンを生成する周期パターン生成部を備える、実施の形態の第1変形例に係る信号収集装置の構成を示すブロック図である。 図6は、測定対象の電子回路デバイス以外の環境で生成された周期パターンを保持する周期パターン生成部を備える、実施の形態の第2変形例に係る信号収集装置の構成を示すブロック図である。 図7は、実施の形態の第3変形例に係る周期性判定部の構成を示すブロック図である。 図8Aは、実施の形態の第4変形例に係る周期性判定部の構成を示すブロック図である。 図8Bは、実施の形態の第4変形例に係る周期性判定部の動作を示すフローチャートである。 図8Cは、実施の形態の第4変形例に係る周期性判定部の動作例を示す図である。
 以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、以下で説明する実施の形態は、いずれも本発明の一具体例を示すものである。以下の実施の形態で示される数値、回路、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序等は、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、各図は、必ずしも厳密に図示したものではない。各図において、実質的に同一の構成については同一の符号を付し、重複する説明は省略又は簡略化する場合がある。
 図1は、実施の形態に係る信号収集装置10の構成を示すブロック図である。信号収集装置10は、バスを備える電子回路デバイス(図示せず)における信号が示す内部状態を収集(つまり、観測)する回路である。ここで、「バスを備える電子回路デバイス」とは、データ転送用のバスを備える測定対象システムであり、SoCのように1チップのLSIで実現されていてもよいし、プリント基板上の回路で実現されていてもよい。信号収集装置10は、測定対象の電子回路デバイスと電気的に接続されていればよく、具体的には、測定対象の電子回路デバイスに組み込まれて実装されてもよいし、測定対象の電子回路デバイスとは別個の回路で実現されてもよい。
 図1に示されるように、信号収集装置10は、コマンド解析部11、細粒度データ記憶部12、粗粒度データ記憶部13、周期パターン生成部14、及び、周期性判定部15で構成される。
 コマンド解析部11は、測定対象の電子回路デバイスが備えるバスを介したデータ転送に関するコマンドを収集して解析する回路であり、少なくともバスを介して転送される全てのデータ(ただし、Readのみ、Writeのみ、あるいは、Read&Writeを対象とするデータ)について、データ転送量を特定して出力する。
 より詳しくは、コマンド解析部11は、電子回路デバイスが備えるバス上の箇所でコマンドを収集して解析する。ここで、「バス上の箇所」とは、具体的には、電子回路デバイスが外部メモリとやりとりする箇所であり、例えば、電子回路デバイスが備えるメモリコントローラ内である。コマンド解析部11は、データ転送を引き起こすコマンドに含まれるデータ転送量に関するパラメータ(例えば、データ転送に用いられるデータ幅(ビット数)及びバースト長等)を抽出したり、データ転送を引き起こすコマンドの個数等を計数したりすることで、対象となるデータ転送が生じる度に、データ転送量を特定し、特定したデータ転送量を細粒度データ記憶部12、粗粒度データ記憶部13及び周期パターン生成部14に出力する。
 細粒度データ記憶部12は、第1期間(細粒度、例えば、10μsec)毎に内部状態を取得して記憶する記憶部の一例であり、例えば、制御回路及びメモリ(例として、シフトレジスタ)で構成される。「内部状態」は、測定対象の電子回路デバイスにおける一つ以上の信号の組み合わせであり、本実施の形態では、第1期間内に生じたデータ転送量(以下、「細粒度のデータ転送量」ともいう)である。
 より詳しくは、細粒度データ記憶部12は、第1期間を通知する信号(図中の細粒度データ記憶部12に入力される「集計区間」)が入力される度に、直前の第1期間においてコマンド解析部11から入力されたデータ転送量の全てを合計した値を算出して内部のメモリに保持する(シフトインする)という処理を繰り返す。つまり、第1期間毎のデータ転送量(つまり、内部状態)を記憶するという処理を繰り返す。
 なお、細粒度データ記憶部12は、所定量の内部状態を記憶する容量を有し、常に最新の所定量の内部状態を保持している。そのために、細粒度データ記憶部12は、既に所定量の内部状態を記憶している(つまり、空き容量がない)場合に、記憶している最も古い内部状態を破棄して最新の内部状態を格納する、あるいは、記憶している最も古い内部状態に最新の内部状態を上書きする。
 ここで、細粒度データ記憶部12は、周期性判定部15から出力されるデータ更新停止トリガの信号を受けた場合には、新たな内部状態を内部のメモリに格納する処理を中止する。また、細粒度データ記憶部12は、外部からの要求に従って、内部のメモリに記憶している全ての内部状態を外部に出力する。
 粗粒度データ記憶部13は、第1期間よりも大きい第2期間(粗粒度、例えば、1msec)毎にバスで転送されるデータの量である第1データ転送量(以下、「粗粒度のデータ転送量」ともいう)を記憶する回路であり、例えば、制御回路及びメモリ(例として、シフトレジスタ)で構成される。
 より詳しくは、粗粒度データ記憶部13は、第2期間を通知する信号(図中の粗粒度データ記憶部13に入力される「集計区間」)が入力される度に、直前の第2期間においてコマンド解析部11から入力されたデータ転送量の全てを合計した値を算出して内部のメモリに保持する(シフトインする)という処理を繰り返す。つまり、第2期間毎のデータ転送量(つまり、第1データ転送量)を記憶するという処理を繰り返す。
 本実施の形態では、粗粒度データ記憶部13は、N(Nは1以上の整数、好ましくは2以上の整数、例えば、7)個の第1データ転送量を記憶する容量を有し、常に最新の連続するN個の第1データ転送量を保持している。そのために、粗粒度データ記憶部13は、既にN個の第1データ転送量を記憶している(つまり、空き容量がない)場合に、記憶している最も古い第1データ転送量を破棄して最新の第1データ転送量を格納する、あるいは、記憶している最も古い第1データ転送量に最新の第1データ転送量を上書きする。
 ここで、粗粒度データ記憶部13は、周期性判定部15から出力されるデータ更新停止トリガの信号を受けた場合には、新たな第1データ転送量を内部のメモリに格納する処理を中止する。また、粗粒度データ記憶部13は、外部からの要求に従って、内部のメモリに記憶している全ての第1データ転送量を外部に出力する。
 周期パターン生成部14は、事前に算出された第2データ転送量を記憶するパターン生成部の一例であり、本実施の形態では、N個の第2データ転送量(以下、N個の第2データ転送量を「周期パターン」ともいう)を内部のレジスタ群に保持しており、周期性判定部15に出力する。「第2データ転送量」とは、第2期間において測定対象の電子回路デバイスが備えるバスで転送される、正常と考えられるデータの量(つまり、第1データ転送量の期待値)である。N個の第2データ転送量によって、第1データ転送量の時間変化における1周期あるいは1周期以上のパターンの期待値(つまり、「周期パターン」)が表現されている。
 本実施の形態では、周期パターン生成部14は、コマンド解析部11から送られてきたデータ転送量を第2期間毎に集計することで第2データ転送量を算出し、信号収集装置10が観測し始めたときに得られる第2データ転送量の時間変化における最初の一周期分(つまり、N個の第2データ転送量)を、N個の第1データ転送量の期待値として、保持する。
 周期性判定部15は、第2期間毎に、粗粒度データ記憶部13から第1データ転送量を取得し、周期パターン生成部14から第2データ転送量を取得し、取得した第1データ転送量と取得した第2データ転送量との差分を算出し、算出した差分が所定範囲(つまり、マージン)内か否かを判定し、差分が所定範囲内でないと判定した場合に、細粒度データ記憶部12への内部状態の格納を中止させる判定部の一例である。
 本実施の形態では、周期性判定部15は、粗粒度データ記憶部13に新たな第1データ転送量が格納される毎に、粗粒度データ記憶部13からN個の第1データ転送量を取得すると共に周期パターン生成部14からN個の第2データ転送量を取得し、取得したN個の第1データ転送量と取得したN個の第2データ転送量とについて対応する集計区間の値どうしの差分を算出し、算出したN個の差分が所定範囲内か否かを判定し、判定結果に基づいて(基本的には、差分が所定範囲内でないと判定した場合に)、第1データ転送量の時間変化において周期崩れが発生したと認定し、その認定から予め設定された可変の第3期間(つまり、内部のレジスタに書き込まれた値)が経過した後に、データ更新停止トリガを細粒度データ記憶部12及び粗粒度データ記憶部13に出力することで、細粒度データ記憶部12及び粗粒度データ記憶部13への新たなデータ転送量の格納を中止させる。
 なお、周期性判定部15が周期性の判定に用いる第1データ転送量及び第2データ転送量の個数は、必ずしもN個(つまり、粗粒度データ記憶部13及び周期パターン生成部14の物理的な記憶容量)に限られない。N個以下の任意の個数であってもよい。その場合には、周期性判定部15は、比較に用いるデータ転送量の個数を記憶するレジスタを有し、そのレジスタに格納された値に対応する個数の第1データ転送量及び第2データ転送量を取得して比較する。
 図2は、図1に示された周期性判定部15の詳細な構成を示すブロック図である。周期性判定部15は、N個の比較器16a~16d、及び、トリガ生成部17を備える。
 比較器16aは、粗粒度データ記憶部13から取得したN個の第1データ転送量の1番目(図2における「粗粒度データ 区間1」)と周期パターン生成部14から取得したN個の第2データ転送量の1番目(図2における「周期パターン 区間1」)とを比較し、「粗粒度データ 区間1」が「周期パターン 区間1」を基準とするマージンの範囲内である場合に、「一致(例えば、1)」を示す判断情報を生成し、一方、そうでない場合に、「不一致(例えば、0)」を示す判断情報を生成し、生成した判断情報をトリガ生成部17に出力する。
 比較器16bは、粗粒度データ記憶部13から取得したN個の第1データ転送量の2番目(図2における「粗粒度データ 区間2」)と周期パターン生成部14から取得したN個の第2データ転送量の2番目(図2における「周期パターン 区間2」)とを比較し、「粗粒度データ 区間2」が「周期パターン 区間2」を基準とするマージンの範囲内である場合に、「一致(例えば、1)」を示す判断情報を生成し、一方、そうでない場合に、「不一致(例えば、0)」を示す判断情報を生成し、生成した判断情報をトリガ生成部17に出力する。
 同様にして、比較器16c~16dは、対応する集計区間の第1データ転送量と第2データ転送量とを比較し、比較結果を示す判断情報を生成し、生成した判断情報をトリガ生成部17に出力する。
 トリガ生成部17は、N個の比較器16a~16dから出力された判断情報に基づいて、第1データ転送量(つまり、「粗粒度データ」)の時間変化において周期崩れが発生したか否かを判定し、周期崩れが発生したと判定した場合に、データ更新停止トリガを細粒度データ記憶部12及び粗粒度データ記憶部13に出力する。
 次に、以上のように構成された本実施の形態に係る信号収集装置10の動作について、図3A~図3Cに示されるデータ転送量の変化例を示す図、及び、図4A~図4Eに示される信号収集装置10の動作(つまり、信号収集方法)を示すフローチャートを用いて説明する。
 図3Aは、実施の形態に係る信号収集装置10の基本動作を説明するためのデータ転送量の変化例を示す図である。図3Aの(a)は、信号収集装置10によって観測される粗粒度のデータ転送量27(つまり、第1データ転送量)の時間変化例を示す図である。図3Aの(b)は、図3Aの(a)に示される観測と並行して信号収集装置10によって観測される細粒度のデータ転送量(つまり、内部状態)28の時間変化例を示す図である。
 本実施の形態に係る信号収集装置10によれば、同一の測定対象(つまり、電子回路デバイスのバス)におけるデータ転送量の時間変化が、粗粒度データ記憶部13によって粗粒度で(つまり、第2期間毎に)観測されるのと並行して(図3Aの(a))、細粒度データ記憶部12によって細粒度で(つまり、第1期間(<第2期間)毎に)観測される(図3Aの(b))。
 そして、周期性判定部15によって、粗粒度のデータ転送量27の時間変化について周期性(図3Aの(a)におけるN個の集計区間(つまり、第2期間)20aで構成される比較期間20bでのパターン)が判定され、周期崩れ20cが発生したと判定された場合に、その判定から第3期間が経過した後に、データ更新停止トリガが発生され、これにより、細粒度データ記憶部12への細粒度のデータ転送量28の格納が中止される(図3Aの(b))。
 その結果、粗粒度のデータ転送量27の時間変化において周期崩れが発生したタイミングの前後(あるいは、前のみ、あるいは、後のみ)における細粒度でのデータ転送量28の時間変化が観測され(図3Aの(b)の格納データ21e)、周期崩れの原因の詳細な解析に利用される。
 一般に、バス上のデータ転送量の時間変化は、個々にはランダムに変化するように見えるが、適切な粒度(ここでは、粗粒度)の単位時間毎にデータ転送量の変化を見た場合に、SoC等の電子回路デバイスで実行されるアプリケーションが安定して動作しているときには、バス上のデータ転送量はある一定周期で遷移しており、その周期性が崩れたときに、何かしらの不具合が発生しているケースが多い。よって、本実施の形態に係る信号収集装置10は、粗粒度のデータ転送量27の時間変化において周期性が崩れたときに、そのタイミングの前後における詳細なデータ(つまり、内部状態)を観察できるようにしている。
 図4Aは、実施の形態に係る信号収集装置10の粗粒度データ記憶部13及び周期性判定部15の動作を示すフローチャートである。ここでは、信号収集装置10による信号収集方法のうち、粗粒度(つまり、一つの第2期間)で行われる処理が示されている。
 なお、信号収集装置10の観測が開始されると、測定対象の電子回路デバイスのバスにおいてデータ転送が行われる度に、コマンド解析部11により、そのデータ転送量が特定され、細粒度データ記憶部12及び粗粒度データ記憶部13に出力される。また、周期パターン生成部14は、信号収集装置10が観測し始めたときに得られるデータ転送量を用いて、N個の第1データ転送量の期待値、つまり、N個の第2データ転送量を保持する。
 まず、粗粒度データ記憶部13は、第2期間において(つまり、粗粒度で)、コマンド解析部11から送られてきたデータ転送量を集計することによって第1データ転送量を取得し、取得した第1データ転送量を内部のメモリに格納する(第1データ転送量取得ステップS10)。
 なお、粗粒度データ記憶部13は、N個の第1データ転送量を記憶する容量を有し、既にN個の第1データ転送量を記憶している(つまり、空き容量がない)場合には、記憶している最も古い第1データ転送量を破棄して最新の第1データ転送量を格納する、あるいは、記憶している最も古い第1データ転送量に最新の第1データ転送量を上書きすることで、常に最新の連続するN個の第1データ転送量を保持する。
 次に、周期性判定部15(より具体的には、周期性判定部15のN個の比較器16a~16d)は、粗粒度データ記憶部13からN個の第1データ転送量を取得し、周期パターン生成部14からN個の第2データ転送量を取得し、取得したN個の第1データ転送量と取得したN個の第2データ転送量とについて対応する集計区間の値どうしの差分を算出し(差分算出ステップS11)、算出したN個の差分のそれぞれが所定範囲内か否かを示すN個の判断情報を生成する(S12)。
 そして、周期性判定部15(より具体的には、周期性判定部15のトリガ生成部17)は、生成したN個の判断情報に基づいて、第1データ転送量の時間変化において周期崩れが発生したか否かを判定する(S13)。
 その結果、周期崩れが発生していると判定した場合には(S13でYes)、周期性判定部15(より具体的には、周期性判定部15のトリガ生成部17)は、その判定から予め設定された可変の第3期間が経過した後に、データ更新停止トリガを細粒度データ記憶部12及び粗粒度データ記憶部13に出力する(S14)。
 一方、周期崩れが発生していないと周期性判定部15が判定した場合には(S13でNo)、再び、次の第2期間において、同様の処理(S10~S14)が繰り返される。
 なお、ステップS12~S14は、差分算出ステップS11で算出された差分が所定範囲内か否かを判定し、差分が所定範囲内でないと判定した場合に、図4Bに示される格納ステップでの格納を中止させる判定ステップに相当する。
 以上の処理により、図3Aの(a)に示されるように、粗粒度のデータ転送量の時間変化について、N個の集計区間20aで構成される比較期間20b毎に同様のパターンが繰り返されること(周期性)が判定され、周期崩れ20cが発生したと判定された場合に、周期性判定部15から細粒度データ記憶部12及び粗粒度データ記憶部13にデータ更新停止トリガが出力される。
 図4Bは、実施の形態に係る信号収集装置10の細粒度データ記憶部12の動作を示すフローチャートである。ここでは、信号収集装置10による信号収集方法のうち、細粒度(つまり、一つの第1期間)で行われる処理(つまり、格納ステップ)が示されている。
 まず、細粒度データ記憶部12は、第1期間において(つまり、細粒度で)、コマンド解析部11から送られてきたデータ転送量を集計することによって内部状態を取得し(S20)、取得した内部状態を内部のメモリに格納する(S21)。なお、細粒度データ記憶部12は、所定量の内部状態を記憶する容量を有し、既に所定量の内部状態を記憶している(つまり、空き容量がない)場合に、記憶している最も古い内部状態を破棄して最新の内部状態を格納する、あるいは、記憶している最も古い内部状態に最新の内部状態を上書きすることで、常に最新の所定量の内部状態を保持する。
 そして、細粒度データ記憶部12は、周期性判定部15から出力されるデータ更新停止トリガの信号を受信したか否かを判定する(S22)。
 その結果、データ更新停止トリガの信号を受信したと判定した場合には(S22でYes)、細粒度データ記憶部12は、新たな内部状態を内部のメモリに格納する処理を中止する(S23)。
 一方、データ更新停止トリガの信号を受信していないと判定した場合には(S22でNo)、細粒度データ記憶部12は、再び、次の第1期間において、同様の処理(S20~S23)を繰り返す。
 これにより、図3Aの(b)に示される細粒度のデータ転送量の時間変化のように、細粒度データ記憶部12は、内部状態の取得及び破棄を繰り返し(つまり、内部のメモリの状態は、格納データ21aから、格納データ21b、格納データ21c、格納データ21dへと変化し)、その後、粗粒度のデータ転送について周期崩れが発生してから第3期間が経過したときに発せられるデータ更新停止トリガの信号を受信し、受信したタイミングで格納処理を中止する。その結果、細粒度データ記憶部12には、粗粒度のデータ転送について周期崩れが発生してから第3期間が経過したタイミングで取得した内部状態を最後のデータとする格納データ21eが保持された状態で、格納処理が停止され、外部への読み出しが可能な状態となる。
 図3Bは、実施の形態に係る信号収集装置10の周期パターン生成部14の動作を説明する図である。周期パターン生成部14は、信号収集装置10が観測し始めると、コマンド解析部11から送られてきたデータ転送量を第2期間毎に(つまり、粗粒度で)集計することで第2データ転送量25a及び25bを算出し、順に、内部のN個のレジスタ(regA、regB、・・、regG)に保持する。その結果、周期パターン生成部14には、粗粒度のデータ転送についての周期パターン24、つまり、N個の第1データ転送量の期待値(つまり、N個の第2データ転送量)が保持される。
 なお、各集計区間(N個の第2データ転送量のそれぞれ)について、第1データ転送量との一致性を判断するのに用いられるマージン26を任意に設定することができる。この場合には、例えば、N個のレジスタ(regA、regB、・・、regG)のそれぞれには、当該集計区間での第2データ転送量の下限値と上限値とが保持される。その結果、周期性判定部15における対応する集計区間の第1データ転送量と第2データ転送量との比較においては、第1データ転送量が第2データ転送量の下限値以上で上限値以下である場合に、「一致」を示す判断情報が生成される。
 図3Cは、実施の形態に係る信号収集装置10の周期性判定部15の基本動作(つまり、図4AのステップS11及びS12の詳細)を示す図である。図3Cの(a)は、周期パターン生成部14から取得されたN個の第2データ転送量(つまり、周期パターン24)の例を示す。図3Cの(b)は、粗粒度データ記憶部13に格納される粗粒度のデータ転送量(つまり、第1データ転送量)27の例を示す。
 周期性判定部15は、N個の粗粒度のデータ転送量27を単位として周期パターン24との集計区間の値どうしの差分を算出し(図4AのS11)、算出したN個の差分のそれぞれが所定範囲内(周期パターン生成部14に設定されたマージンの範囲内)か否かを示す(範囲内である場合には、「1(一致)」を示し、範囲内でない場合には、「0(不一致)」を示す)N個の判断情報を生成する(図4AのS12)。
 図4Cは、図4AのステップS13(「周期崩れ」の判定)の詳細(第一の例)を示すフローチャートである。ここでは、「周期崩れ」と判定されるケースの一例が示されている。
 まず、周期性判定部15において、トリガ生成部17は、N個の第1データ転送量とN個の第2データ転送量(つまり、周期パターン)とについて対応する集計区間の値どうしのそれぞれが一致する(つまり、差分が所定範囲内)か否かを示すN個の判断情報を、N個の比較器16a~16dから、取得する(S30)。
 そして、トリガ生成部17は、取得したN個の判断情報のうちの一つだけが「0(不一致)」(つまり、差分が所定範囲内でないこと)を示すか否かを判断する(S31)。
 その結果、N個の判断情報のうちの一つだけが「0(不一致)」を示すと判断した場合にだけ(S31でYes)、トリガ生成部17は、周期崩れが発生したと判定する(S32)。
 図4Dは、図4AのステップS13(「周期崩れ」の判定)の詳細(第二の例)を示すフローチャートである。ここでは、「周期崩れ」と判定しないケースの一例が示されている。
 まず、周期性判定部15において、トリガ生成部17は、N個の第1データ転送量とN個の第2データ転送量(つまり、周期パターン)とについて対応する集計区間の値どうしのそれぞれが一致する(つまり、差分が所定範囲内)か否かを示すN個の判断情報を、N個の比較器16a~16dから、取得する(S30)。
 そして、トリガ生成部17は、取得したN個の判断情報の全てが「1(一致)」(つまり、差分が所定範囲内である)を示すか否かを判断する(S31a)。
 その結果、N個の判断情報の全てが「1(一致)」を示すと判断した場合にだけ(S31aでYes)、トリガ生成部17は、周期崩れが発生したと判定しない(つまり、正常な周期であると判定する)(S32a)。
 図4Eは、図4AのステップS13(「周期崩れ」の判定)の詳細(第三の例)を示すフローチャートである。ここでは、「周期崩れ」と判定されるケースの一例が示されている。
 まず、周期性判定部15において、トリガ生成部17は、N個の第1データ転送量とN個の第2データ転送量(つまり、周期パターン)とについて対応する集計区間の値どうしのそれぞれが一致する(つまり、差分が所定範囲内)か否かを示すN個の判断情報を、N個の比較器16a~16dから、取得する(S30)。
 そして、トリガ生成部17は、取得したN個の判断情報のうち1以上M(Mは1以上N-1未満の整数)個以下の判断情報が「0(不一致)」(つまり、差分が所定範囲内でないこと)を示すか否かを判断する(S31b)。
 その結果、1以上M個以下の判断情報が「0(不一致)」を示すと判断した場合にだけ(S31bでYes)、トリガ生成部17は、周期崩れが発生したと判定する(S32)。
 なお、上記図4C~図4Eに示されるフローチャートによる判断手法は、それらの全てが周期性判定部15に実装されていてもよいし、それらのうちの一つ又は二つが周期性判定部15に実装されていてもよい。
 また、周期性判定部15のトリガ生成部17は、取得したN個の判断情報が、上記図4C~図4Eに示されるフローチャートのいずれにも該当しないケースである場合には、周期崩れの判定の対象としない(つまり、判定対象外と扱う)。つまり、この場合には、トリガ生成部17は、データ更新停止トリガを出力しない。
 図3Dは、実施の形態に係る信号収集装置10の周期性判定部の詳細な動作例(つまり、上記図4C~図4Eに示されるフローチャートの動作例)を示す図である。図3Dの(a)~(e)は、この順で時間(つまり、第1期間)が経過した場合における周期性判定部15による判定対象となるN(ここでは、7)個の第1データ転送量(黒枠で囲まれた箇所)の遷移を示す。横に延びるグラフは、粗粒度のデータ転送量(つまり、第1データ転送量)27の時間変化である。黒枠は、周期パターン生成部14が保持する周期パターン(つまり、N(ここでは、7)個の第2データ転送量)24である。黒枠内のN個の数値(0又は1)は、集計区間毎の判断情報を示し、N個の判断情報の横に置かれた数値は、「1(一致)」を示す判断情報の合計数を示す。
 本図に示される動作例では、周期性判定部15は、次のように動作する。
 図3Dの(a)に示されるように、最初の第1期間では、判定の対象となるN個の第1データ転送量は、周期パターン24と完全に一致している。よって、周期性判定部15のトリガ生成部17は、取得したN個の判断情報の全てが「1(一致)」を示すと判断するので、周期崩れが発生したと判定しない(つまり、正常な周期であると判定する)(図4D参照)。
 また、図3Dの(b)に示されるように、次の第1期間では、判定の対象となるN個の第1データ転送量のうちの一つだけが周期パターン(つまり、一つの第2データ転送量)24と一致している。なお、図3Dの(b)に示されるように、ここでの一致の判定は、第1データ転送量が第2データ転送量を基準とするマージンの範囲内にあるために、得られている。よって、周期性判定部15のトリガ生成部17は、取得したN個の判断情報のうちのN-1個が「0(不一致)」を示すと判断するので、上記図4C~図4Eに示されるフローチャートのいずれにも該当しないケースであることから、周期崩れの判定の対象としない。
 また、図3Dの(c)に示されるように、さらに次の第1期間では、判定の対象となるN個の第1データ転送量の全てが周期パターン(つまり、一つの第2データ転送量)24と一致していない。よって、周期性判定部15のトリガ生成部17は、取得したN個の判断情報の全てが「0(不一致)」を示すと判断するので、上記図4C~図4Eに示されるフローチャートのいずれにも該当しないケースであることから、周期崩れの判定の対象としない。
 また、図3Dの(d)に示されるように、さらに次の第1期間では、判定の対象となるN個の第1データ転送量のうちの一つだけが周期パターン(つまり、一つの第2データ転送量)24と一致している。よって、周期性判定部15のトリガ生成部17は、取得したN個の判断情報のうちのN-1個が「0(不一致)」を示すと判断するので、上記図4C~図4Eに示されるフローチャートのいずれにも該当しないケースであることから、周期崩れの判定の対象としない。
 また、図3Dの(e)に示されるように、さらに複数の第1期間が経過した後に、判定の対象となるN個の第1データ転送量のうちの一つだけが周期パターン(つまり、一つの第2データ転送量)24と不一致となっている。よって、周期性判定部15のトリガ生成部17は、取得したN個の判断情報のうちの一つだけが「0(不一致)」を示すと判断するので、周期崩れが発生したと判定する(図4C参照)。
 以上のように、本実施の形態に係る信号収集装置10は、バスを備える電子回路デバイスにおける信号が示す内部状態を収集する装置であって、第1期間毎に内部状態を取得して記憶する細粒度データ記憶部12と、第1期間よりも大きい第2期間毎にバスで転送されるデータの量である第1データ転送量を記憶する粗粒度データ記憶部13と、事前に算出された第2データ転送量を記憶する周期パターン生成部14と、粗粒度データ記憶部13から第1データ転送量を取得し、周期パターン生成部14から第2データ転送量を取得し、取得した第1データ転送量と取得した第2データ転送量との差分を算出し、算出した差分が所定範囲内か否かを判定し、差分が所定範囲内でないと判定した場合に、細粒度データ記憶部12への内部状態の格納を中止させる周期性判定部15とを備える。
 これにより、本実施の形態に係る信号収集装置10によれば、測定対象の電子回路デバイスに対してプロービングするための専用ピンを用いることなく、電子回路デバイスに電気的に接続することで、内部状態及び第1データ転送量をサンプリングできる。また、粗粒度(つまり、第2期間毎に)でサンプリングされるデータ転送量に基づいて細粒度(つまり、第1期間毎に)での内部状態のサンプリングが停止するので、粗粒度のデータ転送量において異常が発生したタイミング付近で、細粒度で(つまり、詳細な)内部情報の時間変化が観測される。よって、従来よりも簡易な構成で実現され、かつ、測定対象システムにおいて動作異常が発生したタイミング付近での詳細な情報を得ることを可能にする信号収集装置が実現される。
 また、本実施の形態に係る信号収集方法によれば、バスを備える電子回路デバイスにおける信号が示す内部状態を信号収集装置10によって収集する方法であって、細粒度データ記憶部12が、第1期間毎に内部状態を取得して細粒度データ記憶部12に格納する格納ステップ(図4BのS20~S23)と、周期性判定部15が、第1期間よりも大きい第2期間毎に、バスで転送されるデータの量である第1データ転送量を粗粒度データ記憶部13から取得する第1データ転送量取得ステップ(図4AのS10)と、事前に算出された第2データ転送量を周期パターン生成部14から取得し、取得した第2データ転送量と第1データ転送量取得ステップで取得された第1データ転送量との差分を算出する差分算出ステップ(図4AのS11)と、差分算出ステップで算出された差分が所定範囲内か否かを判定し、差分が所定範囲内でないと判定した場合に、格納ステップでの格納を中止させる判定ステップ(図4AのS14)とを含む。
 これにより、本実施の形態に係る信号収集方法によれば、測定対象の電子回路デバイスに対してプロービングするための専用ピンを用いることなく、電子回路デバイスに電気的に接続された信号収集装置10により、内部状態及び第1データ転送量をサンプリングできる。また、粗粒度(つまり、第2期間毎に)でサンプリングされるデータ転送量に基づいて細粒度(つまり、第1期間毎に)での内部状態のサンプリングが停止するので、粗粒度のデータ転送量において異常が発生したタイミング付近で、細粒度で(つまり、詳細な)内部情報の時間変化が観測される。よって、従来よりも簡易な構成で実現され、かつ、測定対象システムにおいて動作異常が発生したタイミング付近での詳細な情報を得ることを可能にする信号収集装置による信号収集方法が実現される。
 また、周期性判定部15は、判定ステップにおいて、差分が所定範囲内でないと判定した場合に、差分を算出してから第3期間が経過した後に、格納ステップでの格納を中止させ、第3期間は、可変である。
 これにより、第1データ転送量と第2データ転送量との差分が所定範囲内ではない異常が発生したタイミングから任意の第3期間だけ経過した後に内部状態の記録が停止するので、動作異常が発生したタイミングの任意の前後における詳細な内部状態の時間変化を観測することができる。
 また、細粒度データ記憶部12は、所定量の内部状態を記憶する容量を有し、格納ステップでは、所定量の内部状態を記憶している場合に、既に記憶している最も古い内部状態に、最新の内部状態を上書きすることで、内部状態を記憶部に格納する。
 これにより、細粒度データ記憶部12には、常に所定量の最新の内部状態が格納される。
 また、周期性判定部15が判定ステップにおいて第1データ転送量と第2データ転送量との比較に用いる所定範囲(マージン)は、可変である。
 これにより、第1データ転送量と比較される期待値としての第2データ転送量にマージンが付与され、正常な範囲内で生じ得る第1データ転送量のばらつきを吸収した正常/異常の判定が可能になる。
 また、周期性判定部15は、判定ステップでは、Nを2以上の整数とした場合に、N個の第2期間のそれぞれについて、差分算出ステップで算出された差分が所定範囲内か否かを示すN個の判断情報を生成し、生成したN個の判断情報に基づいて、第1データ転送量の時間変化において周期崩れが発生したか否かを判定し、周期崩れが発生したと判定した場合に、格納ステップでの格納を中止させる。
 これにより、連続する複数の第1データ転送量の時間変化が周期性を有するか否かを判定できるので、周期的にデータ転送量が変化するバスを備える電子回路デバイスにおける動作異常を発見できる。
 また、周期性判定部15は、判定ステップでは、N個の判断情報のうちの一つだけが、差分が所定範囲内でない(つまり、不一致である)ことを示す場合に、周期崩れが発生したと判定する。
 これにより、周期性をもつ第1データ転送量の時間変化における一部だけが崩れたケースを周期崩れと判定し、内部状態の記録を停止させることができるので、的確に動作異常を発見できる。
 また、周期性判定部15は、判定ステップでは、N個の判断情報の全てが、差分が所定範囲内である(つまり、一致する)ことを示す場合には、周期崩れが発生したと判定しない。
 これにより、一周期を形成する第1データ転送量の時間変化における全ての集計区間での第1データ転送量が周期パターンと所定範囲内で一致する場合に正常と判定されるので、期待値としての周期パターンから一部でも崩れたケースを異常として検出することが可能になる。
 また、周期性判定部15は、判定ステップでは、Mを1以上N-1未満の整数とした場合に、N個の判断情報のうち1以上M個以下の判断情報が、差分が所定範囲内でない(つまり、不一致である)ことを示すときに、周期崩れが発生したと判定する。
 これにより、一周期を形成する第1データ転送量の時間変化における一部の集計区間での第1データ転送量が周期パターンと所定範囲内で一致しない場合に、周期崩れと判定されるので、一周期を形成する第1データ転送量と周期パターンとの比較における周期ずれ(つまり、比較における位相ずれ)に起因する誤った判定が回避される。
 また、上記Mは、可変である。これにより、一周期を形成する第1データ転送量と周期パターンとの比較における周期ずれ(つまり、比較における位相のずれ)に起因する誤った判定を回避するための比較のタイミングに関する調整が可能になる。
 また、細粒度データ記憶部12に格納される内部状態は、測定対象の電子回路デバイスが備えるバスで転送されるデータの量である。これにより、測定対象の電子回路デバイスにおける同一の箇所(バス)に対して、粗粒度で動作異常の発生の有無を判定するとともに、動作異常が発生した時の詳細な(細粒度での)解析を行うことができる。
 また、測定対象の電子回路デバイスは、1チップの半導体デバイスであってもよい。その場合には、SoCのように動作内容が複雑なLSIに対する動作異常の解析が可能になる。
 (第1変形例)
 なお、上記実施の形態では、周期パターン生成部14は、信号収集装置10が観測し始めたときに得られる第2データ転送量の時間変化における最初の一周期分(つまり、N個の第2データ転送量)を周期パターンとして保持したが、周期パターンの生成方法は、これに限られない。例えば、周期パターン生成部14は、過去に取得された一つ以上の第1データ転送量、具体的には、正常周期と判定されたN個の第1データ転送量を用いて周期パターンを生成してもよい。
 図5は、過去に取得された第1データ転送量を用いて周期パターンを生成する周期パターン生成部14aを備える、実施の形態の第1変形例に係る信号収集装置10aの構成を示すブロック図である。
 本変形例に係る信号収集装置10aは、基本的には、上記実施の形態に係る信号収集装置10と同様の構成を備えるが、実施の形態における周期パターン生成部14に代えて、上述した周期パターン生成部14aを備える点で、実施の形態と異なる。
 周期パターン生成部14aは、周期性判定部15から、制御線18を介して、正常周期と判定される度に生成される周期パターン生成トリガを受信すると、その判定の対象となったN個の第1データ転送量を粗粒度データ記憶部13又は周期性判定部15から取得し、取得したN個の第1データ転送量と、既に保持しているN個の第2データ転送量(つまり、周期パターン)とを、任意に設定される重みを用いて対応する集計区間のデータ転送量どうしを合成し、合成後のN個のデータ転送量を、新たに、内部のレジスタ群に周期パターンとして保持し、以降、比較判定の期待値として周期性判定部15に供給する。
 例えば、取得したN個の第1データ転送量と、既に保持しているN個の第2データ転送量との合成の重み比として、1:1に設定されている場合には、周期パターン生成部14aは、取得したN個の第1データ転送量と、既に保持しているN個の第2データ転送量とを、対応する集計区間のデータ転送量ごとに平均値を算出し、算出したN個の平均値を新たな周期パターン(つまり、N個の第2データ転送量)として保持する。
 あるいは、取得したN個の第1データ転送量と、既に保持しているN個の第2データ転送量との合成の重み比として、1:0に設定されている場合には、周期パターン生成部14aは、取得したN個の第1データ転送量を新たな周期パターン(つまり、N個の第2データ転送量)として保持する。
 なお、正常周期と判定したN個の第1データ転送量の取得方法としては、粗粒度データ記憶部13又は周期性判定部15から取得する方法だけでなく、周期パターン生成部14aが粗粒度データ記憶部13と同様の処理(つまり、コマンド解析部11から送られてきたデータ転送量を第2期間毎に集計することでN個の第2データ転送量を算出して取得する方法)であってもよい。
 以上のように、本変形例に係る信号収集装置10a及び信号収集方法によれば、周期パターン生成部14aは、保持する第2データ転送量を、第1データ転送量取得ステップによって過去に取得された一つ以上の第1データ転送量を用いて生成する。
 これにより、第1データ転送量と比較される期待値としての第2データ転送量が、過去に取得された第1データ転送量で置き換えられるので、例えば、正常と判定された第1データ転送量と置き換えることで、期待値としての第2データ転送量を、電子回路デバイスの状態の変化(あるいは、時間の経過)に依存させて変化させることができる。
 (第2変形例)
 また、周期パターンの生成方法は、測定対象の電子回路デバイスにおける信号を用いる方法に限られず、測定対象の電子回路デバイス以外の環境で生成される方法であってもよい。
 図6は、測定対象の電子回路デバイス以外の環境で生成された周期パターンを保持する周期パターン生成部14bを備える、実施の形態の第2変形例に係る信号収集装置10bの構成を示すブロック図である。本変形例では、信号収集装置10bは、測定対象の電子回路デバイス5に組み込まれて実装されている。また、本図には、電子回路デバイス5以外の環境として、半導体集積回路(ここでは、測定対象の電子回路デバイス)の設計の自動化を支援する回路シミュレーション等のEDA(Electronic Design Automation)ツールを実装したPC(パーソナルコンピュータ)19aも併せて図示されている。
 本変形例に係る信号収集装置10bは、基本的には、上記実施の形態に係る信号収集装置10と同様の構成を備えるが、実施の形態における周期パターン生成部14に代えて、上述した周期パターン生成部14bを備える点で、実施の形態と異なる。
 周期パターン生成部14bは、周期性判定部15から周期パターン生成トリガを受信すると、測定対象の電子回路デバイス5の外におかれたPC19aから、PC19aが備えるEDAツール(例えば、電子回路デバイス5を設計するための回路シミュレーション)で生成されたシミュレーション結果19bをダウンロードする。シミュレーション結果19bは、信号収集装置10bが観測している電子回路デバイス5のバスにおける粗粒度のデータ転送量の時間変化における周期パターン(つまり、N個の第2データ転送量)を示すデータである。周期パターン生成部14bは、PC19aからシミュレーション結果19bをダウンロードすると、ダウンロードしたシミュレーション結果19bが示す周期パターン(つまり、N個の第2データ転送量)を、内部のレジスタ群に保持し、以降、比較判定の期待値として周期性判定部15に供給する。
 以上のように、本変形例に係る信号収集装置10b及び信号収集方法によれば、周期パターン生成部14bは、第2データ転送量を、電子回路デバイスの外におけるシミュレーションの結果を用いて、生成する。
 これにより、電子回路デバイスにおいて現実に生じる第1データ転送量が、設計段階におけるシミュレーションの結果通りの値になっているか否かの検証をすることができる。
 (第3変形例)
 また、上記実施の形態では、周期性判定部15は、N個の比較器16a~16dを備えたが(図2)、この構成に限られない。
 図7は、実施の形態の第3変形例に係る周期性判定部15aの構成(ここでは、実施の形態におけるN個の比較器16a~16dに代わる箇所の構成)を示すブロック図である。
 本変形例に係る周期性判定部15aは、実施の形態におけるN個の比較器16a~16dに代えて、2個のセレクタ30a及び30bと1個の比較器16とを備える。
 セレクタ30aは、粗粒度データ記憶部13から出力されるN個の第1データ転送量から順に一つ(つまり、1番目(「粗粒度データ 区間1」)からN番目(「粗粒度データ 区間N」)まで)を選択して出力する選択回路である。
 セレクタ30bは、セレクタ30aと同期して動作し、周期パターン生成部14から出力されるN個の第2データ転送量から順に一つ(つまり、1番目(「周期パターン 区間1」)からN番目(「周期パターン 区間N」)まで)を選択して出力する選択回路である。
 比較器16は、セレクタ30aで選択された一つの第1データ転送量とセレクタ30bで選択された一つの第2データ転送量とを比較し、第1データ転送量と第2データ転送量との差分が所定範囲(マージン)内である場合に、「一致」を示す判断情報を生成し、一方、そうでない場合に、「不一致」を示す判断情報を生成してトリガ生成部17に出力するという処理を、セレクタ30a及び30bから送られてくるN組の第1データ転送量及び第2データ転送量について、繰り返す。
 以上のように、本変形例に係る周期性判定部15aによれば、2個のセレクタ30a及び30bと1個の比較器16とを用いて、N個の第1データ転送量とN個の第2データ転送量との比較が行われる。
 これにより、上記実施の形態におけるN個の比較器16a~16dに代えて、2個のセレクタ30a及び30bと1個の比較器16という簡易な回路で、周期性を判定することが可能になる。
 (第4変形例)
 また、上記実施の形態では、周期性判定部15は、N個の比較器16a~16dから出力されるN個の判断情報を対等に取り扱って正常周期/周期崩れを判定したが、N個の判断情報に重み付けをしたうえで正常周期/周期崩れを判定してもよい。
 図8Aは、実施の形態の第4変形例に係る周期性判定部15bの構成(ここでは、実施の形態におけるN個の比較器16a~16dからの出力を処理する箇所の構成)を示すブロック図である。
 本変形例に係る周期性判定部15bは、実施の形態における周期性判定部15には備えられていない新たなN個の重み計算部31a~31dと、実施の形態におけるトリガ生成部17に代わるトリガ生成部17aとを備える。
 N個の重み計算部31a~31dは、それぞれ、N個の比較器16a~16dから出力されるN個の判断情報(1(一致)又は0(不一致))のそれぞれに対して対応するN個の重み(「重み1」~「重みN」)を用いて重み付けをする乗算器である。なお、N個の重み(「重み1」~「重みN」)は、測定対象の電子回路デバイスが備えるレジスタ群、あるいは、信号収集装置10又は周期性判定部15bが備えるレジスタ群に、任意の値として、外部から書き込まれ、それらのレジスタ群からN個の重み計算部31a~31dに供給される。
 トリガ生成部17aは、N個の重み計算部31a~31dから出力される重み付けされた判断情報の総和を算出し、算出した総和と予め設定された閾値とを比較し、比較結果に基づいて、正常周期/周期崩れを判定する。例えば、総和が第1閾値より小さい場合に、判定対象外と判定してデータ更新停止トリガを出力せず、総和が第1閾値以上第2閾値(>第1閾値)以下である場合に、周期崩れが発生したと判定してデータ更新停止トリガを出力し、総和が第2閾値よりも大きい場合に、正常周期と判定してデータ更新停止トリガを出力しない。
 図8Bは、実施の形態の第4変形例に係る周期性判定部15bの動作を示すフローチャートであり、図4AのステップS13(「周期崩れ」の判定)の詳細の変形例に係るフローチャートに相当する。
 まず、周期性判定部15bにおいて、N個の重み計算部31a~31dのそれぞれは、N個の比較器16a~16dの対応するものから、判断情報(合わせてN個の判断情報)を取得する(S30a)。
 そして、N個の重み計算部31a~31dは、取得した判断情報に対して対応する重み付けをし、続いて、トリガ生成部17aは、N個の重み計算部31a~31dから出力される重み付けされた判断情報の総和を算出する(S33)。
 そして、トリガ生成部17aは、算出した総和と、予め設定された第1閾値及び第2閾値(>第1閾値)とを比較する(S34)。
 その結果、トリガ生成部17aは、総和が第1閾値より小さい場合には(S34で「総和<第1閾値」)、判定対象外と判定してデータ更新停止トリガを出力せず(S32b)、一方、総和が第1閾値以上第2閾値(>第1閾値)以下である場合には(S34で「第1閾値≦総和≦第2閾値」)、周期崩れが発生したと判定してデータ更新停止トリガを出力し(S32c)、一方、総和が第2閾値よりも大きい場合には(S34で「第2閾値<総和」)、正常周期と判定してデータ更新停止トリガを出力しない(S32d)。
 図8Cは、実施の形態の第4変形例に係る周期性判定部15bの動作例を示す図である。本図において、ヒストグラムは、比較対象のN個の粗粒度のデータ転送量(つまり、第1データ転送量)27を示す。黒枠は、周期パターン(つまり、N個の第2データ転送量)24を示す。「比較結果」は、N個の判断情報を示す。「重み」は、重み計算部31a~31dで用いられるN個の重みを示す。「点数」は、N個の重み付け後の判断情報を示す。「点数」の合計値は、重み付け後の判断情報の総和を示す。
 本図に示される動作例では、周期性判定部15bのN個の重み計算部31a~31dは、それぞれ、比較器16a~16dから、判断情報として、1、1、0、0、0、1、1を取得し、対応する重みとして、7、7、1、1、1、5、5で重み付けをすることで、重み付け後の判断情報として、7、7、0、0、0、5、5を生成する。
 トリガ生成部17aは、重み付け後の判断情報の総和(ここでは、24)を算出し、算出した総和と、予め設定された第1閾値及び第2閾値(ここでは、第2閾値としての20)とを比較する。その結果、トリガ生成部17aは、総和(ここでは、24)が第2閾値(ここでは、20)よりも大きいと判断し、判定対象のN個の第1データ転送量が正常周期と判定してデータ更新停止トリガを出力しない。
 以上のように、本変形例に係る周期性判定部15bによれば、判定ステップでは、N個の判断情報のそれぞれに対して対応する重み付けをした後に総和を算出し、算出した総和と閾値とを比較することで、周期崩れが発生したと判定する。
 これにより、周期パターンを構成する各集計区間での比較結果に対して重み付けをすることができるので、集計区間ごとに一致度の重要度が異なる場合に、それらの重要度を反映した的確な周期性の判定が可能になる。
 以上、本発明に係る信号収集方法及び信号収集装置について、実施の形態及び第1~第4変形例に基づいて説明したが、本発明は、これらの実施の形態及び変形例に限定されるものではない。本発明の主旨を逸脱しない限り、当業者が思いつく各種変形を実施の形態及び変形例に施したものや、実施の形態又は変形例における一部の構成要素を組み合わせて構築される別の形態も、本発明の範囲内に含まれる。
 例えば、上記実施の形態に係る信号収集装置10では、周期パターン生成部14に周期パターン(複数の第2データ転送量)が保持され、周期性判定部15において周期パターンを単位として、第1データ転送量の時間変化における周期性が判定されたが、このような周期性の判定は、必ずしも必要ではない。周期パターン生成部14に一つの第2データ転送量が保持され、周期性判定部15において一つの第1データ転送量と一つの第2データ転送量とが比較され、その比較結果に基づいて、データ更新停止トリガを発生されてもよい。つまり、上記実施の形態におけるNは、1であってもよい。これにより、個々の第1データ転送量の値について、所定の範囲内の値であるか否かが判断され、異常の発生の有無が判断される。
 また、上記実施の形態では、周期性判定部15は、周期崩れが発生したと判定したときから第3期間が経過したときにデータ更新トリガを出力したが、このような第3期間による遅延は、必ずしも必要ではない。周期崩れが発生したときに即座に細粒度データ記憶部12への格納が停止された場合であっても、そのような動作異常が発生する前の段階における詳細な内部状態を観察することができる。
 また、上記実施の形態では、周期性の判定に用いられる「所定範囲」、「M」、データ転送量の個数は、可変であったが、必ずしも可変である必要はなく、固定値であってもよい。測定対象の電子回路デバイスによっては、これらのパラメータを変更する必要がないケースもあり得る。これらのパラメータを固定値とすることで、信号収集装置10の回路規模を小さくできる。
 本発明は、バスを備える電子回路デバイスにおける信号が示す内部状態を収集する信号収集装置として、特に、簡易な構成で、かつ、測定対象システムにおいて異常が発生したタイミング付近での詳細な情報を得ることを可能にする信号収集装置として、例えば、SoC等の測定対象LSIに組み込まれる信号収集回路として、又は、測定対象システムとは別個に実現される信号収集装置として、利用できる。
 5 電子回路デバイス
 10、10a、10b 信号収集装置
 11 コマンド解析部
 12 細粒度データ記憶部
 13 粗粒度データ記憶部
 14、14a、14b 周期パターン生成部
 15、15a、15b 周期性判定部
 16、16a~16d 比較器
 17、17a トリガ生成部
 18 制御線
 19a PC
 30a、30b セレクタ
 31a~31d 重み計算部

Claims (15)

  1.  バスを備える電子回路デバイスにおける信号が示す内部状態を収集する信号収集方法であって、
     第1期間毎に前記内部状態を取得して記憶部に格納する格納ステップと、
     前記第1期間よりも大きい第2期間毎に、
     前記バスで転送されるデータの量である第1データ転送量を取得する第1データ転送量取得ステップと、
     事前に算出された第2データ転送量を取得し、取得した前記第2データ転送量と前記第1データ転送量取得ステップで取得された前記第1データ転送量との差分を算出する差分算出ステップと、
     前記差分算出ステップで算出された前記差分が所定範囲内か否かを判定し、前記差分が前記所定範囲内でないと判定した場合に、前記格納ステップでの格納を中止させる判定ステップと
     を含む信号収集方法。
  2.  前記判定ステップでは、前記差分が所定範囲内でないと判定した場合に、前記差分を算出してから第3期間が経過した後に、前記格納ステップでの格納を中止させ、
     前記第3期間は、可変である
     請求項1記載の信号収集方法。
  3.  前記記憶部は、所定量の前記内部状態を記憶する容量を有し、
     前記格納ステップでは、前記記憶部が前記所定量の前記内部状態を記憶している場合に、前記記憶部に記憶された最も古い前記内部状態に、最新の前記内部状態を上書きすることで、前記内部状態を前記記憶部に格納する
     請求項1又は2記載の信号収集方法。
  4.  前記所定範囲は、可変である
     請求項1~3のいずれか1項に記載の信号収集方法。
  5.  前記第2データ転送量は、前記第1データ転送量取得ステップによって過去に取得された一つ以上の前記第1データ転送量を用いて算出される
     請求項1~4のいずれか1項に記載の信号収集方法。
  6.  前記第2データ転送量は、前記電子回路デバイスの外におけるシミュレーションによって算出される
     請求項1~4のいずれか1項に記載の信号収集方法。
  7.  前記判定ステップでは、Nを2以上の整数とした場合に、N個の前記第2期間のそれぞれについて、前記差分算出ステップで算出された前記差分が前記所定範囲内か否かを示すN個の判断情報を生成し、生成した前記N個の判断情報に基づいて、前記第1データ転送量の時間変化において周期崩れが発生したか否かを判定し、前記周期崩れが発生したと判定した場合に、前記格納ステップでの格納を中止させる
     請求項1~6のいずれか1項に記載の信号収集方法。
  8.  前記判定ステップでは、前記N個の判断情報のうちの一つだけが、前記差分が前記所定範囲内でないことを示す場合に、前記周期崩れが発生したと判定する
     請求項7記載の信号収集方法。
  9.  前記判定ステップでは、前記N個の判断情報の全てが、前記差分が所定範囲内であることを示す場合には、前記周期崩れが発生したと判定しない
     請求項7記載の信号収集方法。
  10.  前記判定ステップでは、Mを1以上N-1未満の整数とした場合に、前記N個の判断情報のうち1以上M個以下の判断情報が、前記差分が所定範囲内でないことを示すときに、前記周期崩れが発生したと判定する
     請求項7記載の信号収集方法。
  11.  前記Mは、可変である
     請求項10記載の信号収集方法。
  12.  前記判定ステップでは、前記N個の判断情報のそれぞれに対して対応する重み付けをした後に総和を算出し、算出した総和と閾値とを比較することで、前記周期崩れが発生したと判定する
     請求項7記載の信号収集方法。
  13.  前記内部状態は、前記バスで転送されるデータの量である
     請求項1~12のいずれか1項に記載の信号収集方法。
  14.  前記電子回路デバイスは、1チップの半導体デバイスである
     請求項1~13のいずれか1項に記載の信号収集方法。
  15.  バスを備える電子回路デバイスにおける信号が示す内部状態を収集する信号収集装置であって、
     第1期間毎に前記内部状態を取得して記憶する細粒度データ記憶部と、
     前記第1期間よりも大きい第2期間毎に前記バスで転送されるデータの量である第1データ転送量を記憶する粗粒度データ記憶部と、
     事前に算出された第2データ転送量を記憶するパターン生成部と、
     前記粗粒度データ記憶部から前記第1データ転送量を取得し、前記パターン生成部から前記第2データ転送量を取得し、取得した前記第1データ転送量と取得した前記第2データ転送量との差分を算出し、算出した前記差分が所定範囲内か否かを判定し、前記差分が前記所定範囲内でないと判定した場合に、前記細粒度データ記憶部への前記内部状態の格納を中止させる判定部と
     を備える信号収集装置。
PCT/JP2018/026379 2018-07-12 2018-07-12 信号収集方法及び信号収集装置 WO2020012612A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2018/026379 WO2020012612A1 (ja) 2018-07-12 2018-07-12 信号収集方法及び信号収集装置
JP2020529924A JP7136205B2 (ja) 2018-07-12 2018-07-12 信号収集方法及び信号収集装置
US17/145,091 US11308011B2 (en) 2018-07-12 2021-01-08 Signal collection method and signal collection device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/026379 WO2020012612A1 (ja) 2018-07-12 2018-07-12 信号収集方法及び信号収集装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/145,091 Continuation US11308011B2 (en) 2018-07-12 2021-01-08 Signal collection method and signal collection device

Publications (1)

Publication Number Publication Date
WO2020012612A1 true WO2020012612A1 (ja) 2020-01-16

Family

ID=69141341

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/026379 WO2020012612A1 (ja) 2018-07-12 2018-07-12 信号収集方法及び信号収集装置

Country Status (3)

Country Link
US (1) US11308011B2 (ja)
JP (1) JP7136205B2 (ja)
WO (1) WO2020012612A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0561728A (ja) * 1991-09-05 1993-03-12 Hitachi Ltd バストレース方式
JPH0736735A (ja) * 1993-07-22 1995-02-07 Agency Of Ind Science & Technol デバッグ装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3900470B2 (ja) 2002-01-08 2007-04-04 インターナショナル・ビジネス・マシーンズ・コーポレーション ディジタル信号測定装置及びトラフィック観測方法
TWI455144B (zh) * 2010-07-22 2014-10-01 Silicon Motion Inc 使用於快閃記憶體的控制方法與控制器
US10268382B2 (en) * 2015-06-18 2019-04-23 Mediatek Inc. Processor memory architecture
WO2018173245A1 (ja) * 2017-03-24 2018-09-27 株式会社日立製作所 ストレージシステム及びストレージシステムのバックエンド構築方法
TWI700635B (zh) * 2018-04-26 2020-08-01 群聯電子股份有限公司 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0561728A (ja) * 1991-09-05 1993-03-12 Hitachi Ltd バストレース方式
JPH0736735A (ja) * 1993-07-22 1995-02-07 Agency Of Ind Science & Technol デバッグ装置

Also Published As

Publication number Publication date
JPWO2020012612A1 (ja) 2021-07-08
JP7136205B2 (ja) 2022-09-13
US11308011B2 (en) 2022-04-19
US20210133097A1 (en) 2021-05-06

Similar Documents

Publication Publication Date Title
KR100899856B1 (ko) 시험 장치 및 시험 방법
US6377065B1 (en) Glitch detection for semiconductor test system
US6275782B1 (en) Non-intrusive performance monitoring
US20060168483A1 (en) On-chip circuitry for bus validation
EP1715355B1 (en) Testing a device under test by sampling its clock and data signal
JPH0963300A (ja) 半導体メモリ試験装置のフェイル解析装置
JP4446892B2 (ja) 半導体試験装置
WO1998020498A1 (fr) Memoire d'analyse de defauts pour testeur de memoire
WO2020012612A1 (ja) 信号収集方法及び信号収集装置
CN113168495A (zh) 基于覆盖率的微电子电路及用于提供微电子电路的设计的方法
US5892779A (en) Scan test apparatus
US7484147B2 (en) Semiconductor integrated circuit
US6768297B2 (en) High speed VLSI digital tester architecture for real-time output timing acquisition, results accumulation, and analysis
JP5982845B2 (ja) トレース制御装置及びトレース制御方法
US20080059851A1 (en) Semiconductor apparatus and testing method
JP5131025B2 (ja) デジタル信号遅延測定回路、及びデジタル信号遅延測定方法
JP2520234B2 (ja) メモリ試験装置
JP4724774B2 (ja) 半導体回路装置、メモリテスト回路及び半導体回路装置の試験方法
JP2007102832A (ja) 試験装置、及び試験方法
TW200928376A (en) Adjustable test pattern results latency
JP4640077B2 (ja) 検査信号生成装置及び半導体検査装置
JP4952546B2 (ja) 波形発生装置及び半導体試験装置
CN117238355A (zh) 逻辑分析解码方法及装置
JP2008134077A (ja) 時間測定回路およびそれを用いたic検査装置
JP2010182241A (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: 18925959

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020529924

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18925959

Country of ref document: EP

Kind code of ref document: A1