WO2016151674A1 - データ処理装置 - Google Patents

データ処理装置 Download PDF

Info

Publication number
WO2016151674A1
WO2016151674A1 PCT/JP2015/058462 JP2015058462W WO2016151674A1 WO 2016151674 A1 WO2016151674 A1 WO 2016151674A1 JP 2015058462 W JP2015058462 W JP 2015058462W WO 2016151674 A1 WO2016151674 A1 WO 2016151674A1
Authority
WO
WIPO (PCT)
Prior art keywords
circuit
inspection
signal
main body
control signal
Prior art date
Application number
PCT/JP2015/058462
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 KR1020177008518A priority Critical patent/KR20170130346A/ko
Priority to PCT/JP2015/058462 priority patent/WO2016151674A1/ja
Priority to CN201580053315.5A priority patent/CN106796541B/zh
Priority to US15/502,771 priority patent/US10248156B2/en
Priority to JP2017507143A priority patent/JP6368034B2/ja
Priority to EP15886231.8A priority patent/EP3273353B1/en
Priority to TW105108186A priority patent/TW201706843A/zh
Publication of WO2016151674A1 publication Critical patent/WO2016151674A1/ja

Links

Images

Classifications

    • 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
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/06Clock generators producing several clock signals
    • 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
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1608Error detection by comparing the output signals of redundant hardware
    • 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
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1608Error detection by comparing the output signals of redundant hardware
    • G06F11/1625Error detection by comparing the output signals of redundant hardware in communications, e.g. transmission, interfaces
    • 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
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • 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
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • 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
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1695Error detection or correction of the data by redundancy in hardware which are operating with time diversity
    • 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
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4213Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with asynchronous protocol
    • 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
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • G06F13/4226Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with asynchronous protocol
    • 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
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4239Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with asynchronous protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5652Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly
    • H04L2012/566Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly using the ATM layer

Definitions

  • the present invention relates to a technique that is effective when applied to a data processing apparatus including an asynchronous data transfer circuit between a redundant logic circuit for functional safety and another logic circuit that operates asynchronously.
  • Logic circuits that operate with a high-frequency clock such as a high-performance CPU (Central Processing Unit) core, often aim to improve frequency by making the relationship with the operation clock of other logic circuits asynchronous.
  • the CPU operating frequency is increased by inserting an asynchronous bus bridge to make the CPU clock and bus clock asynchronous.
  • some of the circuits in fields such as in-vehicle where high reliability is required can detect failures during system operation by making the circuits redundant, such as by duplicating the circuits with DCLS (Dual-Core Lock-Step).
  • DCLS Direct-Core Lock-Step
  • safety is ensured by adopting a system configuration that can be safely stopped. For example, when a circuit such as a CPU is duplicated using a DCLS configuration, the output signals of the duplicated CPUs are sequentially compared. For this reason, when a temporary or permanent failure occurs in one of the CPUs, it is possible to immediately detect the occurrence of an abnormality. However, in the comparison between the two due to duplication, only the detection of the abnormality is performed, and processing such as backup and restoration is performed separately.
  • Safety required for in-vehicle use is standardized by ASIL (Automotive Safety Integrity Level) or the like, and in order to satisfy this, a CPU duplication technology or the like is used.
  • the two duplicated circuits simultaneously execute the same data processing in parallel, and the outputs that are expected to be the same processing result and output at the same time are compared with each other. Is detected as an abnormal failure.
  • the two duplicated circuits operate synchronously in the same clock domain, and “simultaneous” means the same clock cycle.
  • “simultaneous” in duplexing is not necessarily required, and a predetermined time difference (difference in the number of cycles) may be maintained.
  • a predetermined time difference difference in the number of cycles
  • the same data is input at the same time and the same processing is performed in parallel, so that the same result is output at the same time, so that the outputs from the two circuits are compared.
  • the expected simultaneity cannot be guaranteed, so that there is a possibility that it is erroneously detected as a failure even though no failure has occurred.
  • the same data is input with a predetermined time difference and the same processing is performed in parallel with the time difference, so that the same processing result is output with the time difference. The same applies to the duplicated circuit whose outputs are compared. If a pair of asynchronous transfer circuits that are simply duplexed are connected, the same expected time difference is not guaranteed, and there is a possibility that a failure is erroneously detected even though no failure has occurred.
  • an asynchronous transfer circuit for transferring a payload signal is provided between the two sets of circuit pairs.
  • the asynchronous transfer circuit includes two bridge circuit pairs respectively connected to the two circuit pairs, and asynchronously transfers a control signal indicating a timing at which the payload signal is stabilized on the receiving side together with the payload signal.
  • the two bridge circuit pairs and the payload signal can be duplicated, but the control signal is not duplicated, to supply the received payload signal to the duplicated circuit pair with the same expected time difference. Used for timing control. An inspection control signal for inspecting the control signal may be added.
  • FIG. 1 is a block diagram illustrating a configuration example of a data processing apparatus including a duplexed circuit pair.
  • FIG. 2 is a block diagram illustrating a configuration example of a data processing device including an asynchronous transfer circuit.
  • FIG. 3 is a block diagram showing a configuration example (comparative example) of a data processing apparatus provided with the asynchronous transfer circuit shown in FIG. 2 simply duplicated between two pairs of circuits each duplicated. .
  • FIG. 4 is a block diagram illustrating a configuration example of the data processing apparatus according to the first embodiment.
  • FIG. 5 is a block diagram illustrating a configuration example of a data processing device including a duplicated CPU and bus.
  • FIG. 6 is a block diagram illustrating a configuration example of a data processing apparatus in which a CPU and a bus that operate asynchronously are duplexed as an example of the first embodiment.
  • FIG. 7 is a block diagram illustrating another configuration example of the asynchronous transfer circuit included in the data processing apparatus of the first embodiment.
  • FIG. 8 is a block diagram illustrating a configuration example of an asynchronous transfer circuit included in the data processing apparatus of the second embodiment.
  • FIG. 9 is a block diagram illustrating another configuration example of the asynchronous transfer circuit included in the data processing apparatus of the second embodiment.
  • FIG. 10 is a block diagram illustrating a configuration example of an asynchronous transfer circuit included in the data processing apparatus of the third embodiment.
  • FIG. 11 is a block diagram illustrating another configuration example of the asynchronous transfer circuit included in the data processing apparatus of the third embodiment.
  • FIG. 12 is a block diagram illustrating a first configuration example of the data processing apparatus according to the fourth embodiment.
  • FIG. 13 is a block diagram illustrating a second configuration example of the data processing apparatus according to the fourth embodiment.
  • FIG. 14 is a block diagram illustrating a third configuration example of the data processing apparatus according to the fourth embodiment.
  • a typical embodiment disclosed in the present application is a data processing apparatus (10) including two pairs of circuit pairs each duplexed and an asynchronous transfer circuit therebetween, and is configured as follows.
  • the data processor includes a first main circuit (LRA) and a first check circuit (LCA) that are duplicated in a first clock domain (ACLK), and a second clock domain (BCLK) that is asynchronous with the first clock domain.
  • the second main body circuit (LRB) and the second inspection circuit (LCB) doubled in FIG.
  • the data processing apparatus further includes an asynchronous transfer circuit (1) that transfers a payload signal (P) between the first clock domain and the second clock domain.
  • the asynchronous transfer circuit includes a first main body side bridge circuit (BRA) and a first inspection side bridge circuit (BCA) which are respectively connected to the first main body circuit and the first inspection circuit and are duplicated in the first clock domain. Is provided.
  • the asynchronous transfer circuit includes a second body side bridge circuit (BRB) and a second body side bridge circuit (BCB) that are respectively connected to the second body circuit and the second inspection circuit and are duplicated in the second clock domain. ).
  • the asynchronous transfer circuit includes control signals (CsAB, CsBA) generated by the first or second main body side bridge circuit on the transmission side of the payload signal and indicating the timing at which the payload signal is stabilized on the reception side,
  • the control signal is compared with the inspection control signals (CsCAB, CsCBA) generated by the corresponding first or second inspection-side bridge circuit, and a failure is detected if they do not match.
  • This enables asynchronous transfer between circuit pairs that are duplicated in the asynchronous clock domain, and achieves both high performance and high reliability.
  • the operating frequency can be increased as necessary in each clock domain without being restricted by the other speed limit, so that the performance can be improved.
  • the control signal is not subject to duplexing, thereby enabling asynchronous transmission while maintaining the duplexed relationship, and duplexing other payload signals, bridge circuits, etc. Therefore, reliability can be improved.
  • the asynchronous transfer circuit compares the output from the first body circuit with the output from the first check circuit based on the time difference of the first cycle number in the first clock domain, and if there is a mismatch, To detect.
  • the comparison (2_3) between the control signal and the corresponding control signal for inspection (2_3) is performed by the time difference of the first cycle number when performed in the first clock domain, and the second cycle number when performed in the second clock domain. (2_4).
  • the first main body side bridge circuit transfers the payload signal (PR) and the control signals (CsAB, CsBA) to the second main body side bridge circuit, and the first inspection side bridge circuit An inspection payload signal (PC) and the inspection control signal (CsCAB) are generated, and the inspection payload signal is transferred to the second inspection side bridge circuit.
  • the asynchronous transfer circuit performs the comparison between the control signal and the inspection control signal in the first clock domain (2_3), and detects a failure if they do not match.
  • the asynchronous transfer circuit transfers the control signal to the second clock domain.
  • the asynchronous transfer circuit receives the payload signal (4_R) based on the control signal transferred to the second clock domain, and the second inspection-side bridge circuit receives the inspection signal.
  • the asynchronous transfer circuit compares the received payload signal with the inspection payload signal, and detects a failure if they do not match.
  • the payload signal is duplicated and the reliability can be improved.
  • the asynchronous transfer circuit compares the output from the first body circuit with the output from the first check circuit based on the time difference of the first cycle number in the first clock domain, and if there is a mismatch, To detect.
  • the comparison (2_3, 2_4) between the control signal and the corresponding test control signal is performed by the time difference of the first cycle number in the first clock domain, and the comparison between the payload signal and the test payload signal is The second clock domain performs the time difference of the second cycle number.
  • the payload signal is duplicated in the asynchronous transfer circuit, and the failure can be appropriately detected even in the duplex method in which the same data processing is executed with a certain time difference.
  • the first main body side bridge circuit transfers the payload signal (PR) and the control signals (CsRAB, CsRBA) to the second main body side bridge circuit.
  • the first inspection side bridge circuit generates an inspection payload signal (PC) and the inspection control signals (CsCAB, CsCBA), and sends the inspection payload signal and the inspection control signal to the second inspection side bridge circuit. Forward to.
  • PC inspection payload signal
  • CsCAB inspection control signals
  • CsCBA inspection control signals
  • the asynchronous transfer circuit performs a comparison that allows a deviation of up to one cycle between the control signal and the inspection control signal in the second clock domain (2_7), and detects a failure if they do not match.
  • the second main body side bridge circuit Based on the control signal transferred to the second clock domain, the second main body side bridge circuit receives the payload signal (4_R), and the second inspection side bridge circuit receives the inspection payload signal. (4_C).
  • the asynchronous transfer circuit compares the received payload signal with the payload signal for inspection, and detects a failure if they do not match.
  • both the payload signal and the control signal are duplicated, and the reliability can be improved as compared with the case of item 3.
  • the asynchronous transfer circuit compares the output from the first body circuit with the output from the first check circuit based on the time difference of the first cycle number in the first clock domain, and if there is a mismatch, To detect.
  • the comparison between the control signal and the corresponding control signal for inspection is performed with a time difference obtained by adding a margin of plus / minus 1 cycle to the number of the second cycles in the second clock domain, and matches within the time difference including the margin. If they do not match within the margin, the failure is detected.
  • the comparison between the payload signal and the inspection payload signal is performed with a time difference of the second number of cycles in the second clock domain.
  • both the payload signal and the control signal are duplexed in the asynchronous transfer circuit, and even in the duplexing method in which the same data processing is executed with a constant time difference, a failure can be detected appropriately. it can.
  • the second main body side bridge circuit includes a second main body side flip-flop (4_R) that receives the payload signal, and the second inspection side bridge circuit receives the inspection payload signal. It has 2 inspection side flip-flops (4_C).
  • the asynchronous transfer circuit compares the following signals among the three (2_7), and detects at least one of the signals as a failure if it does not match the other signals.
  • Each signal includes a signal (N4-1-1) that gives the second body side flip-flop the timing of taking in the payload signal based on the control signal, and the second inspection side flip-flop based on the control signal. These are a signal (N4-1-2) for giving the timing for taking in the inspection payload signal and the inspection control signal (N4-2).
  • both the control signals physically separated to capture the payload signal and the verification payload signal are compared with the control signal for inspection, and the reliability can be improved as compared with the case of item 5.
  • the asynchronous transfer circuit compares the output from the first body circuit with the output from the first check circuit based on the time difference of the first cycle number in the first clock domain, and if there is a mismatch, To detect.
  • the signal (N4-1-1) for giving the payload timing of the payload signal to the second body side flip-flop is compared with the corresponding control signal for inspection (N4-2).
  • the time difference is calculated by adding a margin of plus / minus one cycle to the second cycle number in two clock domains. If they match within the time difference including the margin, they are matched, and if they do not match within the margin range, a failure is detected.
  • the comparison (N4-1-2) with the signal (N4-1-2) that gives the second inspection-side flip-flop the timing to take in the payload signal for inspection corresponds to the inspection control signal (N4-2) It is performed in the second clock domain, and when it matches within the time difference of this plus / minus 1 cycle, it is judged as a match, and when it does not coincide within the range of plus / minus 1 cycle, it is detected as a failure.
  • the comparison between the payload signal and the inspection payload signal is performed with a time difference of the second cycle number in the second clock domain.
  • both the payload signal and the control signal are duplexed in the asynchronous transfer circuit, and even in the duplexing method in which the same data processing is executed with a constant time difference, a failure can be detected appropriately. it can.
  • the notification of the mismatch detected by each comparison circuit is collected in the failure management circuit, and processing corresponding to the failure detection (for example, interruption, reset, etc.) can be appropriately generated.
  • This provides a one-chip LSI that enables asynchronous transfer between two pairs of circuits that are duplicated in an asynchronous clock domain such as a dual CPU + dual bus bridge, and achieves both high performance and high reliability. be able to.
  • a semiconductor device is a data processing device (10) including two pairs of circuit pairs that are duplicated and an asynchronous transfer circuit therebetween, and is configured as follows.
  • the data processing apparatus includes a first body circuit (LRA) and a first inspection circuit (LCA) that operate in synchronization with a first clock (ACLK) and are duplicated to execute the same processing.
  • the data processing device includes a second circuit (LB) that operates in synchronization with a second clock (BCLK) that is asynchronous with the first clock, the first main body circuit, the first inspection circuit, and the first circuit.
  • an asynchronous transfer circuit (1) for performing asynchronous transfer of payload signals between the two circuits.
  • the asynchronous transfer circuit operates in synchronization with the first clock and operates in synchronization with the first bridge circuit (BA) connected to the first main body circuit and the first inspection circuit and in synchronization with the second clock.
  • a second bridge circuit (BB) connected to the second circuit.
  • the first bridge circuit and the second bridge circuit are connected to each other by an asynchronous transfer control signal (CsAB, CsBA) indicating the timing at which the payload signal and the payload signal are stable on the receiving side.
  • the first bridge circuit converts an input / output signal to / from the first main body circuit into a first main body side payload signal (PRA) and a first main body side asynchronous transfer control signal (CsRAB, CsRBA).
  • a conversion circuit (BRA) is provided.
  • the first bridge circuit converts the input / output signal to / from the first inspection circuit into a first inspection side payload signal (PCA) and a first inspection side asynchronous transfer control signal (CsCAB, CsCBA).
  • An inspection side conversion circuit (BCA) is provided.
  • the first bridge circuit outputs an output signal (CsRAB) sent to the second bridge circuit among the first main body side asynchronous transfer control signal and an output signal corresponding to the first inspection side asynchronous transfer control signal. (CsCAB) and a first comparison circuit (2_3) that detects mismatches.
  • the first bridge circuit sends an output signal (CsRAB) of the first main body side asynchronous transfer control signal to the second bridge circuit as an output signal (CsAB) of the asynchronous transfer control signal.
  • the second bridge circuit receives the payload signal at a timing indicated by an input signal (CsAB) among the asynchronous transfer control signals received from the first bridge circuit, and supplies the payload signal to the second circuit.
  • CsAB input signal
  • the first main body side conversion circuit and the first inspection side conversion circuit which are a part of the asynchronous transfer circuit, are duplicated, so that the reliability of the asynchronous transfer circuit can be improved, and both high performance and high reliability can be achieved as a whole. it can.
  • a semiconductor device is a data processing device (10) including two pairs of circuit pairs that are duplicated and an asynchronous transfer circuit therebetween, and is configured as follows.
  • the data processing device operates in synchronization with a first clock (BCLK), and is duplicated to execute the same processing as each other.
  • the data processing device further includes an asynchronous transfer circuit (1) that performs asynchronous transfer of a payload signal (P) between the first main body circuit and the first inspection circuit and the second circuit.
  • P payload signal
  • the asynchronous transfer circuit operates in synchronization with the first clock and operates in synchronization with the first bridge circuit (BB) connected to the first main body circuit and the first inspection circuit and in synchronization with the second clock.
  • a second bridge circuit (BA) connected to the second circuit.
  • the first bridge circuit and the second bridge circuit are connected to each other by an asynchronous transfer control signal (CsAB, CsBA) indicating the timing at which the payload signal and the payload signal are stable on the receiving side.
  • the first bridge circuit converts an input / output signal to / from the first main body circuit into a first main body side payload signal (PRB) and a first main body side asynchronous transfer control signal (CsRBA, CsRAB).
  • a conversion circuit (BRB) is provided.
  • the first bridge circuit converts the input / output signal to / from the first inspection circuit into a first inspection side payload signal (PCB) and a first inspection side asynchronous transfer control signal (CsCBA, CsCAB).
  • a test side conversion circuit (BCB) is provided. Further, the first bridge circuit outputs an output signal (CsRBA) sent to the second bridge circuit among the first main body side asynchronous transfer control signal and an output signal corresponding to the first inspection side asynchronous transfer control signal.
  • a second comparison circuit (2_4) that detects a mismatch by comparing (CsCBA).
  • the first bridge circuit receives the payload signal at a timing indicated by an input signal (CsAB) of the asynchronous transfer control signals transferred from the second bridge circuit, and causes the first main body side conversion circuit to To the first body circuit, and to the first inspection circuit via the first inspection side conversion circuit.
  • CsAB input signal
  • the first main body side conversion circuit and the first inspection side conversion circuit which are a part of the asynchronous transfer circuit, are duplicated, so that the reliability of the asynchronous transfer circuit can be improved, and both high performance and high reliability can be achieved as a whole. it can.
  • the second circuit includes a second body circuit (LRB) and a second inspection circuit (LCB) that operate in synchronization with the second clock and are duplicated to execute the same processing.
  • LLB second body circuit
  • LCB second inspection circuit
  • the second bridge circuit converts an input / output signal to / from the second main body circuit into a second main body side payload signal (PRB) and a second main body side asynchronous transfer control signal (CsRAB, CsRBA).
  • a conversion circuit (BRB) is provided.
  • the second bridge circuit converts the input / output signal to / from the second inspection circuit into a second inspection side payload signal (PCB) and a second inspection side asynchronous transfer control signal (CsCAB, CsCBA).
  • a test side conversion circuit (BCB) is provided.
  • the second bridge circuit receives the payload signal at a timing indicated by an input signal (CsAB) of the asynchronous transfer control signals received from the first bridge circuit, and passes through the second main body side conversion circuit.
  • the second main circuit is supplied to the second inspection circuit via the second inspection side conversion circuit.
  • the second circuit includes a second body circuit (LRB) and a second inspection circuit (LCB) that operate in synchronization with the second clock and are duplicated to execute the same processing.
  • LLB second body circuit
  • LCB second inspection circuit
  • the second bridge circuit converts an input / output signal to / from the second main body circuit into a second main body side payload signal (PRB) and a second main body side asynchronous transfer control signal (CsRAB, CsRBA).
  • a conversion circuit (BRB) is provided.
  • the second bridge circuit converts the input / output signal to / from the second inspection circuit into a second inspection side payload signal (PCB) and a second inspection side asynchronous transfer control signal (CsCAB, CsCBA).
  • a test side conversion circuit (BCB) is provided.
  • the first bridge circuit transmits a payload signal for inspection (PC) in addition to the payload signal.
  • PC payload signal for inspection
  • the second main body side conversion circuit and the second inspection side conversion circuit are at timings indicated by an input signal (CsAB) of the asynchronous transfer control signals received from the first bridge circuit. , Each of the payload signals.
  • the second circuit includes a second body circuit (LRB) and a second inspection circuit (LCB) that operate in synchronization with the second clock and are duplicated to execute the same processing.
  • LLB second body circuit
  • LCB second inspection circuit
  • the second bridge circuit converts an input / output signal to / from the second main body circuit into a second main body side payload signal (PRB) and a second main body side asynchronous transfer control signal (CsRAB, CsRBA).
  • a conversion circuit (BRB) is provided.
  • the second bridge circuit converts the input / output signal to / from the second inspection circuit into a second inspection side payload signal (PCB) and a second inspection side asynchronous transfer control signal (CsCAB, CsCBA).
  • a test side conversion circuit (BCB) is provided.
  • the first bridge circuit sends out an output signal of the first main body side asynchronous transfer control signal to the second bridge circuit as an output signal (CsRAB) of the asynchronous transfer control signal, and the first main body side A payload signal is sent to the second bridge circuit as the payload signal (PR).
  • the first bridge circuit further sends an output signal of the first inspection side asynchronous transfer control signal to the second bridge circuit as the inspection asynchronous transfer control signal (CsCAB), and the second inspection side payload.
  • the signal is sent to the second bridge circuit as a payload signal for inspection (PC).
  • the second bridge circuit receives the payload signal at the timing indicated by the input signal (CsRAB) of the asynchronous transfer control signal and sends it to the second body side conversion circuit as the second body side payload signal.
  • the inspection payload signal is received and supplied to the second inspection side conversion circuit as the second inspection side payload signal.
  • the second bridge circuit includes a third comparison circuit (2_7) that compares the input signal (CsRAB) in the asynchronous transfer control signal with the input signal (CsCAB) in the test asynchronous transfer control signal. Prepare.
  • [17] ⁇ Asynchronous transfer control signal is compared between three signals (FIGS. 10 and 11)>
  • the third comparison circuit supplies a signal of a node to which the input signal (CsRAB) of the asynchronous transfer control signal is supplied to the first main body side conversion circuit, and the second inspection side conversion circuit.
  • the supplied node signal is compared with the input signal (CsCAB) of the inspection asynchronous transfer control signal, and it is detected that at least one of the signals does not match the other signal.
  • both the control signals physically separated to capture the payload signal and the verification payload signal are compared with the control signal for inspection, and the reliability can be improved as compared with the case of item 16.
  • the notification of the mismatch detected by each comparison circuit is collected in the failure management circuit, and processing corresponding to the failure detection (for example, interruption, reset, etc.) can be appropriately generated.
  • FIG. 1 is a block diagram showing a configuration example of a data processing apparatus 10 including a duplicated circuit pair.
  • the data processing apparatus 10 includes two (one pair) of logic circuits LR and LC that are duplicated between two normal logic circuits 7_1 and 7_2 that are not duplicated, and outputs their outputs. Comparison circuits 2_1 and 2_2 to be compared and a failure management circuit EML (Error Management Logic) that is notified when the comparison results do not match are included.
  • the data processing apparatus 10 shown in FIG. 1 further includes a plurality of delay circuits 6_1 to 6_4, each of which includes a predetermined number of flip-flops.
  • the main circuit LR which is one of the duplicated logic circuits is called “Reference” and is abbreviated as “[R]”, and the other inspection side circuit LC is called “Checker” and is abbreviated as “[C]”.
  • duplicated circuit pairs are given the same input, and the results (outputs) obtained by executing the same processing in parallel are always compared with each other, so that the main circuit LR or the inspection circuit If an operation failure occurs in the LC for some reason, it can be detected as a failure.
  • a signal from a block that is not duplicated is input to both the main circuit LR and the inspection circuit LC.
  • the output signals of the body side circuit LR and the inspection side circuit LC are connected to a block in which only the body side circuit LR is not duplicated, and the inspection side circuit LC side output is used only for comparison.
  • the operation cycle of the main body side circuit LR and the inspection side circuit LC is limited in chip layout (for example, when it is difficult to supply signals to the main body side circuit LR and the inspection side circuit LC at the same timing) and operation safety. Due to the above restrictions (for example, a request to avoid an operation error occurring simultaneously in both the main circuit LR and the inspection circuit LC), it is often intentionally shifted by one to two cycles. In this case, a delay circuit (flip-flop) for shifting the operation is used. These delay circuits (flip-flops) are inserted into a signal that enters the inspection side circuit LC from a circuit that is not duplicated and a signal that enters the comparator from the main circuit LR.
  • the input from the logic circuit 7_1 to the main circuit LR is delayed by a predetermined number of cycles by the delay circuit 6_1 and input to the test circuit LC, and the main circuit from the logic circuit 7_2.
  • the input to the LR is also delayed by the same number of cycles by the delay circuit 6_2 and input to the inspection side circuit LC.
  • the main circuit LR and the inspection circuit LC are the same circuit and execute the same processing. However, since the input is shifted by the predetermined number of cycles, the execution of the processing and the output of the result are also shifted by the same number of cycles. Become.
  • the output from the body side circuit LR to the logic circuit 7_1 is delayed by the same number of cycles by the delay circuit 6_2 and input to the comparison circuit 2_1, and compared with the output from the inspection side circuit LC to the logic circuit 7_1.
  • the output to the logic circuit 7_2 is delayed by the same number of cycles by the delay circuit 6_3 and input to the comparison circuit 2_2, and compared with the output from the test side circuit LC to the logic circuit 7_2.
  • the mismatch detected by the comparison circuits 2_1 and 2_2 is notified to the failure management circuit EML.
  • the failure management circuit EML activates processing to be executed when a failure is detected, such as interrupt processing or reset.
  • FIG. 2 is a block diagram illustrating a configuration example of the data processing apparatus 10 including the asynchronous transfer circuit 1.
  • An asynchronous transfer circuit (asynchronous bridge) 1 is provided between a CPU 7_3 that operates in synchronization with the CPU clock CPU-CLK and a bus (BUS) 7_4 that operates in synchronization with the bus clock BUS-CLK.
  • the asynchronous transfer circuit 1 includes a CPU side bridge circuit BA that operates in synchronization with the CPU clock CPU-CLK, and a bus side bridge circuit BB that operates in synchronization with the bus clock BUS-CLK.
  • the CPU side bridge circuit BA exchanges signals with the CPU 7_3 using, for example, a bus protocol
  • the bus side bridge circuit BB exchanges signals with the bus 7_4, for example, using the same (or different) bus protocol.
  • control signals CsAB and CsBA are transmitted and received to indicate a stable timing in the bus side bridge circuit BB from which the payload signal P is received.
  • the control signal CsAB transmitted from the CPU side bridge circuit BA is, for example, a valid signal indicating that the payload signal P is output and is stable, and the control signal CsBA transmitted from the bus side bridge circuit BB is For example, it is a ready signal indicating that it is ready to receive the payload signal P.
  • the control signals CsAB and CsBA may be pointers (Pointers) respectively indicating an index of data to be transmitted and an index of received data.
  • the control signal CsAB transmitted from the CPU side bridge circuit BA is received by the flip-flop 3_AB operating in the bus clock BUS_CLK domain, and is supplied to the flip-flop 4 via the combinational circuit 5 that generates the capture timing of the payload signal P.
  • the flip-flop 3_AB is a flip-flop for suppressing metastable of an asynchronous signal, and is composed of two or more stages of flip-flops. This fetch timing guarantees the timing when the payload signal P is stable with respect to the bus clock BUS_CLK.
  • the flip-flop 3_BA is also a flip-flop for suppressing the metastable of the asynchronous signal, and is composed of two or more stages of flip-flops.
  • the flip-flop 3_BA receives the control signal CsBA transmitted from the bus side bridge circuit BB by the CPU side bridge circuit BA.
  • the control signals CsAB and CsBA are not necessarily bidirectional.
  • the Valid signal may be used as CsAB, or only the Ready signal may be used as CsBA.
  • FIG. 2 shows only the case where the payload signal is transferred from the CPU side to the bus side, an asynchronous transfer circuit in the reverse direction can be configured similarly.
  • FIG. 3 is a block diagram showing a configuration example (comparative example) of a data processing apparatus including the asynchronous transfer circuit shown in FIG. 2 between two pairs of circuits, each of which is duplicated.
  • the ACLK side main body circuit LRA and the BCLK side main body circuit LRB that operate in synchronization with the asynchronous clocks ACLK and BCLK, respectively, are composed of an ACLK side bridge circuit BRA and a BCLK side bridge circuit BRB. Are connected to each other by asynchronous transfer circuits.
  • the bridge circuit BRA sends out a control signal CsRAB and a payload signal PR.
  • the bridge circuit BRB receives the control signal CsRAB at the flip-flop 2_RAB, and takes in the payload signal PR into the flip-flop 4_R based on the timing signal generated by the combinational circuit 5_R.
  • the bridge circuit BRB transmits the control signal CsRBA, and the bridge circuit BRA receives the control signal CsRBA with the flip-flop 3_RBA.
  • the ACLK side inspection circuit LCA and the BCLK side inspection circuit LCB that operate in synchronization with the asynchronous clocks ACLK and BCLK, respectively, are composed of an ACLK side bridge circuit BCA and a BCLK side bridge circuit BCB. Are connected to each other by asynchronous transfer circuits.
  • the bridge circuit BCA sends out a control signal CsCAB and a payload signal PC.
  • the bridge circuit BCB receives the control signal CsCAB at the flip-flop 2_CAB, and takes in the payload signal PC into the flip-flop 4_C by the timing signal generated by the combinational circuit 5_C.
  • the bridge circuit BCB sends out the control signal CsCBA, and the bridge circuit BCA receives the control signal CsCBA with the flip-flop 3_CBA.
  • the main circuit LRA and the inspection circuit LCA on the ACLK side are duplicated as shown in FIG. 1, for example, and although not shown, a comparison circuit for detecting a mismatch is provided.
  • the main circuit LRB and the inspection circuit LCB on the BCLK side are doubled, and although not shown, a comparison circuit for detecting a mismatch is provided.
  • Control signals CsRAB, CsRBA, CsCAB, CsCBA and payload signals PR, PC are signals that are asynchronously transferred between the ACLK domain and the BCLK domain. Since both clocks (ACLK and BCLK) are asynchronous and the timing between the two signals is not taken into consideration, there is a case where the movement is shifted between the main body side [R] and the inspection side [C]. Since the control signals CsRAB and CsCAB are sent from the ACLK domain, the signal states and data in the same clock cycle are the same as each other in the same clock cycle as far as ACLK is concerned.
  • the timing at which the control signal CsRAB is taken into the BCLK domain by the flip-flop 3_RAB and the timing at which the control signal CsCAB is taken into the BCLK domain by the flip-flop 3_CAB are not necessarily the same cycle in the BCLK domain. This is because the phase difference between ACLK and BCLK is arbitrary in asynchronous transfer. If the timings at which the control signals CsRAB and CsCAB are taken into the BCLK domain are different from each other, the timings at which the payload signals PR and PC are also taken are different from each other.
  • both the main body side [R] and the inspection side [C] have no logical operation problem, that is, there is no failure. There is a possibility of detecting a comparison error.
  • FIG. 4 is a block diagram illustrating a configuration example of the data processing apparatus 10 according to the first embodiment.
  • the data processing apparatus 10 performs the duplication of the main body side [RA] and the inspection side [CA] in the ACLK domain and the duplication of the main body side [RB] and the inspection side [CB] in the BCLK domain. Although each is performed, a part of the asynchronous transfer circuit is not subject to duplication. That is, the main body side [RA] in the ACLK domain is composed of the main body circuit LRA and the main body side bridge circuit BRA, and the inspection side [CA] is composed of the inspection circuit LCA and the inspection side bridge circuit BCA.
  • the main body side [RB] in the BCLK domain is composed of the main body circuit LRB and the main body side bridge circuit BRB
  • the inspection side [CB] is composed of the inspection circuit LCB and the inspection side bridge circuit BCB.
  • the asynchronous transfer circuit 1 is included in the main body side [RA] and the inspection side [CA] and included in the main body side bridge circuit BRA and the inspection side bridge circuit BCA, and the main body side [RB] and the inspection side [CB].
  • the main body side bridge circuit BRB and the inspection side bridge circuit BCB which are duplicated, the flip-flops 3_AB and 3_BA and 4 which are not to be duplicated, the combinational circuit 5 and the comparison circuits 2_3, 2_4 and 2_5 are configured.
  • the main body side bridge circuit BRA outputs the control signal CsRAB and the payload signal PRA
  • the inspection side bridge circuit BCA outputs the control signal CsCAB and the payload signal PCA
  • the comparison circuit 2_3 compares the control signals CsRAB and CsCAB.
  • the comparison circuit 2_5 compares the payload signal PRA with the PCA. Since they are in the same clock domain, no mismatch is detected unless there is a failure.
  • the control signal CsRAB is transmitted as a control signal CsAB that is not duplexed
  • the payload signal PRA is transmitted as a payload signal P that is not duplexed.
  • control signal CsAB is captured by the flip-flop 3_AB that is not duplicated, and the flip-flop 4 captures the payload signal P at the timing defined by the combinational circuit 5.
  • the control signal CsAB and payload signal P captured in the BCLK domain are input to the main body side bridge circuit BRB as CsRAB and PRB, and are input to the inspection side bridge circuit BCB as CsCAB and PCB, but the acquisition circuit is not duplicated. Therefore, a cycle shift does not occur in principle.
  • the main body side bridge circuit BRB outputs the control signal CsRBA
  • the inspection side bridge circuit BCB outputs the control signal CsCBA
  • the comparison circuit 2_4 compares the control signals CsRBA and CsCBA. Since there is no cycle shift between the control signals CsRAB and CsCAB and the payload signals PRB and PCB input as described above, no mismatch is detected unless there is a failure.
  • the control signal CsRBA is transmitted as a control signal CsBA that is not duplicated.
  • the control signal CsBA is taken in by the non-duplex flip-flop 3_BA, and is input to the main body side bridge circuit BRA and the inspection side bridge circuit BCA as CsRBA and CsCBA, respectively.
  • the main body side [RA] and the inspection side [CA] in the ACLK domain, and the main body side [RB] and the inspection side [CB] in the BCLK domain cause the timing deviation as described above. Doubled without.
  • the circuits that are not subject to duplication are the flip-flops 3_AB, 3_BA, the flip-flop 4, and the combinational circuit 5, and are extremely small compared to the scale of the duplicated circuit, so these are excluded from duplication.
  • the decrease in the failure detection rate due to this is extremely limited.
  • asynchronous transfer between circuits that are duplicated in the asynchronous clock domain is possible, and both high performance and high reliability can be achieved.
  • FIG. 5 is a block diagram illustrating a configuration example of a data processing device including a duplicated CPU and bus.
  • the data processing apparatus 10 includes a CPU-RA (LRA_1) and a bus-RA (BUS-RA) on the main body side [RA], a CPU-CA (LCA_1) and a bus-CA (BUS-CA) on the inspection side [CA],
  • the comparison circuit 2_6, the failure management circuit EML, and another logic circuit 7_5 that is not duplicated are provided.
  • the other logic circuit 7_5 is, for example, a memory or a peripheral circuit module.
  • Input from the logic circuit 7_5 is input to the CPU-RA (LRA_1) and the CPU-CA (LCA_1) as the same input data in parallel via the bus-RA (BUS-RA) and the bus-CA (BUS-CA). Entered.
  • CPU-RA (LRA_1) and CPU-CA (LCA_1) execute the same processing, and the same processing result is output if there is no failure.
  • the comparison circuit 2_6 compares the output of the bus-RA (BUS-RA) and the output of the bus-CA (BUS-CA), and if there is a mismatch, either the main body side [RA] or the inspection side [CA]
  • the failure management circuit EML is notified that one or both have failed.
  • the failure management circuit EML activates a predetermined process corresponding to the failure, such as interruption or reset.
  • FIG. 5 shows a data processing apparatus 10 that operates synchronously in the ACLK domain as a whole.
  • the duplicated CPU and bus to which the same data is input simultaneously are expected to execute the same processing in parallel and output the same processing result at the same time. Therefore, the comparison circuit 2_6 can detect a single failure by always comparing the output of the bus-RA (BUS-RA) and the output of the bus-CA (BUS-CA) every cycle.
  • the operations of the main body side [RA] and the inspection side [CA] may be configured to intentionally deviate by a predetermined number of cycles and execute the same processing as described with reference to FIG. .
  • FIG. 6 is a block diagram illustrating a configuration example of the data processing apparatus 10 in which the CPU and the bus that operate asynchronously are duplexed as an example of the first embodiment.
  • the data processing apparatus 10 has a CPU-RA (LRA_1) on the main body side [RA], a bus-RA (BUS-RA), and a CPU-CA (inspection side [CA] CPU-CA ( LCA_1), bus-CA (BUS-CA), comparison circuit 2_6, failure management circuit EML, and other non-redundant logic circuit 7_5 such as a memory or a peripheral circuit module.
  • the comparison circuit 2_6 compares the output of the bus-RA (BUS-RA) and the output of the bus-CA (BUS-CA), and if there is a mismatch, either the main body side [RA] or the inspection side [CA]
  • the failure management circuit EML is notified that one or both have failed.
  • the data processing apparatus 10 of the first embodiment duplexes the CPU-RA (LRA_1) on the main body side [RA] and the CPU-CA (LCA_1) on the inspection side [CA] in the ACLK domain, and
  • the bus-RA (BUS-RA) and the test-side [CB] bus-CA (BUS-CA) are duplicated in the BCLK domain, and the asynchronous transfer circuit 1 is provided at the interface between the ACLK domain and the BCLK domain.
  • Asynchronous transfer circuit 1 is not subject to duplication of main body side bridge circuit BRA and inspection side bridge circuit BCA duplicated in the ACLK domain, and main body side bridge circuit BRA and examination side bridge circuit BCA duplicated in the BCLK domain.
  • the flip-flops 3_AB and 3_BA, the flip-flop 4, the combinational circuit 5, and the comparison circuits 2_3, 2_4, and 2_5 are included.
  • the main body side bridge circuit BRA is connected to the CPU-RA (LRA_1) on the main body side [RA]
  • the inspection side bridge circuit BCA is connected to the CPU-CA (LCA_1) on the inspection side [CA] to be duplicated.
  • data is input / output in accordance with a predetermined bus protocol.
  • the main body side bridge circuit BRB is connected to the BUS-RB (LRB) on the main body side [RB], and the inspection side bridge circuit BCB is connected to the BUS-CA (LCB) on the inspection side [CB] to be duplicated.
  • data is input / output in accordance with a predetermined bus protocol.
  • the main body side bridge circuit BRA outputs the control signal CsRAB and the payload signal PRA
  • the inspection side bridge circuit BCA outputs the control signal CsCAB and the payload signal PCA
  • the comparison circuit 2_3 compares the control signals CsRAB and CsCAB.
  • the comparison circuit 2_5 compares the payload signal PRA with the PCA. Since they are in the same clock domain, no mismatch is detected unless there is a failure.
  • the control signal CsRAB is transmitted as a control signal CsAB that is not duplexed
  • the payload signal PRA is transmitted as a payload signal P that is not duplexed.
  • control signal CsAB is captured by the flip-flop 3_AB that is not duplicated, and the flip-flop 4 captures the payload signal P at the timing defined by the combinational circuit 5.
  • the control signal CsAB and payload signal P captured in the BCLK domain are input to the main body side bridge circuit BRB as CsRAB and PRB, and are input to the inspection side bridge circuit BCB as CsCAB and PCB, but the acquisition circuit is not duplicated. Therefore, a cycle shift does not occur in principle.
  • the main body side bridge circuit BRB outputs the control signal CsRAB
  • the inspection side bridge circuit BCB outputs the control signal CsCAB
  • the comparison circuit 2_4 compares the control signals CsRAB and CsCAB. Since there is no cycle shift between the control signals CsRAB and CsCAB and the payload signals PRB and PCB input as described above, no mismatch is detected unless there is a failure.
  • the control signal CsRBA is transmitted as a control signal CsBA that is not duplicated.
  • the control signal CsBA is taken in by the non-duplex flip-flop 3_BA, and is input to the main body side bridge circuit BRA and the inspection side bridge circuit BCA as CsRBA and CsCBA, respectively.
  • the notifications of mismatch from the respective comparison circuits 2_3, 2_4, 2_5, and 2_6 are aggregated in the failure management circuit EML, and when the mismatch is notified from at least one of the locations, the failure management circuit EML corresponds to the detected failure. For example, an interrupt or a reset can be appropriately generated.
  • the inspection side [CB] BUS-CA (LCB) is duplicated without causing the above-described timing shift.
  • the data processing apparatus 10 is formed on a single semiconductor substrate such as silicon by using, for example, a known CMOS (Complementary Metal-Oxide-Semiconductor field effect transistor) LSI manufacturing technique.
  • CMOS Complementary Metal-Oxide-Semiconductor field effect transistor
  • This provides a one-chip LSI that enables asynchronous transfer between two pairs of circuits that are duplicated in an asynchronous clock domain such as a dual CPU + dual bus bridge, and achieves both high performance and high reliability. be able to.
  • the circuits of the body side [RA] [RB] and the inspection side [CA] [CB] are duplicated, that is, the circuits LRA and LCA, LRB and LCB, CPU-RA (LRA_1 ), CPU-CA (LCA_1), and BUS-RB (LRB) and BUS-CB (LCB) are often shifted at the same time, that is, not the same clock cycle, but intentionally 1 to 2 cycles.
  • FIG. 7 is a block diagram illustrating another configuration example of the asynchronous transfer circuit 1 included in the data processing apparatus 10 of the first embodiment.
  • FIG. 7 shows a configuration example of only the asynchronous transfer circuit 1, and the asynchronous transfer circuit 1 mounted on the data processing device 10 shown in FIGS. 4 and 6 can be replaced.
  • Asynchronous transfer circuit 1 checks main body [RA] side bridge circuit BRA and inspection [CA] side bridge circuit BCA duplicated in ACLK domain, and main body [RB] side bridge circuit BRB duplicated in BCLK domain [ CB] side bridge circuit BCB, flip-flops 3_AB and 3_BA and 4 that are not to be duplicated, combinational circuit 5, and comparison circuits 2_3 and 2_4 and 2_5. Since these configurations and operations are the same as those of the asynchronous transfer circuit 1 shown in FIGS. 4 and 6, description thereof will be omitted.
  • the asynchronous transfer circuit 1 of another configuration example shown in FIG. 7 further includes delay circuits 6_5 to 6_10.
  • the delay circuit 6_5 is inserted into the control signal CsRAB output from the main body [RA] side bridge circuit BRA, and is input to the comparison circuit 2_3 with a delay of a predetermined number of cycles.
  • the delay circuit 6_6 is inserted into the control signal CsRBA transferred from the BCLK domain and received by the flip-flop 3_BA, and is added to the inspection [CA] side bridge circuit BRA as a control signal CsCBA after adding a predetermined number of cycles.
  • the delay circuit 6_7 is inserted into the payload signal PRA output from the main unit [RA] side bridge circuit BRA, and is input to the comparison circuit 2_5 with a delay of a predetermined number of cycles.
  • the delay circuit 6_8 is inserted in the control signal CsRBA output from the main body [RB] side bridge circuit BRB, and is input to the comparison circuit 2_4 with a delay of a predetermined number of cycles.
  • the delay circuit 6_9 is inserted into the control signal CsRAB transferred from the ACLK domain and received by the flip-flop 3_AB, and is added to the test [CB] side bridge circuit BRB as a control signal CsCAB after adding a predetermined number of cycles.
  • the delay circuit 6_10 is inserted into the payload signal transferred from the ACLK domain and received by the flip-flop 4 and added to the inspection [CB] side bridge circuit BRB as a payload signal PCB after adding a predetermined number of cycles.
  • Each of the delay circuits 6_5 to 6_7 can be composed of one to several stages of flip-flops. In the ACLK domain, the operations of the test [CA] side circuit and the bridge circuit BCA are performed, and the operations of the main body [RA] side circuit and the bridge circuit BRA are performed. The operation is uniformly delayed by one to several clock cycles.
  • Each of the delay circuits 6_8 to 6_10 can be composed of one to several stages of flip-flops, and the operation of the test [CB] side circuit and the bridge circuit BCB in the BCLK domain, and the operation of the main body [RB] side circuit and the bridge circuit BRB The operation is uniformly delayed by one to several clock cycles.
  • the delay amount (cycle number) by the delay circuits 6_5 to 6_7 and the delay amount (cycle number) by the delay circuits 6_8 to 6_10 need not be the same.
  • FIG. 8 is a block diagram illustrating a configuration example of the asynchronous transfer circuit 1 included in the data processing device 10 of the second embodiment.
  • Asynchronous transfer circuit 1 checks main body [RA] side bridge circuit BRA and inspection [CA] side bridge circuit BCA duplicated in ACLK domain, and main body [RB] side bridge circuit BRB duplicated in BCLK domain [ CB] side bridge circuit BCB, flip-flops 3_AB and 3_BA that are not to be duplicated, and comparison circuits 2_3 and 2_4. Since these configurations and operations are the same as those of the asynchronous transfer circuit 1 shown in FIGS. 4 and 6, description thereof will be omitted.
  • the flip-flop 4_R and the combinational circuit 5_R, the flip-flop 4_C and the combinational circuit 5_C are composed of the main body [RB] side bridge circuit BRB and the inspection [CB] side bridge circuit BCB. And are duplicated in the BCLK domain.
  • the control signal CsAB transferred to the BCLK domain by the flip-flop 3_AB is input to the combinational circuit 5_R of the main body [RB] side bridge circuit BRB and the combinational circuit 5_C of the inspection [CB] side bridge circuit BCB with the same value. .
  • the combinational circuit 5_R and the combinational circuit 5_C perform the same operation as long as there is no failure, and take in the payload signals PR and PC transferred in duplicate by the flip-flops 4_R and 4_C, respectively.
  • the payload signals PR and PC are output from the main body [RA] side circuit LRA and the inspection [CA] side circuit LCA via the bridge circuit BRA and the bridge circuit BCA, respectively, which are duplicated in the ACLK domain. Since the values are the same unless otherwise, the payload signals captured by the flip-flops 4_R and 4_C are also expected to have the same value.
  • the payload signal P is duplicated into PR and PC, and the flip-flops 4_R and 4_C, which are fetch circuits, are combined. Reliability can be further improved by duplexing the combinational circuits 5_R and 5_C.
  • FIG. 9 is a block diagram illustrating another configuration example of the asynchronous transfer circuit 1 included in the data processing device 10 of the second embodiment.
  • Asynchronous transfer circuit 1 checks main body [RA] side bridge circuit BRA and inspection [CA] side bridge circuit BCA duplicated in ACLK domain, and main body [RB] side bridge circuit BRB duplicated in BCLK domain [ CB] side bridge circuit BCB, flip-flops 3_AB and 3_BA that are not to be duplicated, and comparison circuits 2_3 and 2_4.
  • the flip-flop 4_R and the combination circuit 5_R, and the flip-flop 4_C and the combination circuit 5_C are included in the main body [RB] side bridge circuit BRB and the inspection [CB] side bridge circuit BCB, respectively, and are duplicated in the BCLK domain. .
  • These configurations and operations are the same as those of the asynchronous transfer circuit 1 shown in FIG.
  • the asynchronous transfer circuit 1 of another configuration example shown in FIG. 9 further includes delay circuits 6_5, 6_6, 6_8, and 6_9.
  • the delay circuit 6_5 is inserted into the control signal CsRAB output from the main body [RA] side bridge circuit BRA, and is input to the comparison circuit 2_3 with a delay of a predetermined number of cycles.
  • the delay circuit 6_6 is inserted into the control signal CsRBA transferred from the BCLK domain and received by the flip-flop 3_BA.
  • the delay circuit 6_6 adds the predetermined number of cycles and inputs the control signal CsCBA to the inspection [CA] side bridge circuit BRA.
  • the delay circuit 6_8 is inserted in the control signal CsRBA output from the main body [RB] side bridge circuit BRB, and is input to the comparison circuit 2_4 with a delay of a predetermined number of cycles.
  • the delay circuit 6_9 is inserted into the control signal CsRAB transferred from the ACLK domain and received by the flip-flop 3_AB, and added to the test [CB] side bridge circuit BRB as the control signal CsCAB after adding a predetermined number of cycles.
  • Each of the delay circuits 6_5 to 6_6 can be composed of one to several stages of flip-flops. In the ACLK domain, the operation of the test [CA] side circuit and the bridge circuit BCA is performed, and the operation of the main body [RA] side circuit and the bridge circuit BRA is performed. The operation is uniformly delayed by one to several clock cycles.
  • Each of the delay circuits 6_8 to 6_9 can be composed of one to several stages of flip-flops, and the operation of the test [CB] side circuit and the bridge circuit BCB in the BCLK domain, and the operation of the main body [RB] side circuit and the bridge circuit BRB The operation is uniformly delayed by one to several clock cycles.
  • the delay amount (cycle number) by the delay circuits 6_5 to 6_6 and the delay amount (cycle number) by the delay circuits 6_8 to 6_9 do not have to be the same.
  • FIG. 10 is a block diagram illustrating a configuration example of the asynchronous transfer circuit 1 included in the data processing device 10 of the third embodiment.
  • the asynchronous transfer circuit 1 includes a main body [RA] side bridge circuit BRA and a check [CA] side bridge circuit BCA that are duplicated in the ACLK domain, and a main body [RB] side bridge circuit BRB that is duplicated in the BCLK domain and a check [ CB] side bridge circuit BCB. Since these configurations and operations are the same as those of the asynchronous transfer circuit 1 shown in FIGS. 4 and 6, description thereof will be omitted.
  • the payload signal PR and the control signals CsRAB and CsRBA on the main body [RA] side are the payload signal PC and the control signal CsCAB on the inspection [CA] side.
  • CsCBA Duplexed with CsCBA.
  • the flip-flops 3_RAB and 3_CAB that receive the control signals CsRAB and CsCAB are duplexed
  • the flip-flops 4_R and 4_C that receive the payload signals PR and PC
  • the combinational circuit 5_R that gives the capture timing thereof.
  • 5_C is duplexed.
  • the asynchronous transfer circuit 1 further includes comparison circuits 2_7 and 2_8.
  • control signals CsRAB and CsCAB are control signals that transition at the same timing, the timing at which they are received by the flip-flops 3_RAB and 3_CAB is not necessarily the same timing. This is as pointed out in “Problems to be solved”. Therefore, only the signal received by the flip-flop 3_RAB of the control signal CsRAB on the main body side is supplied to both the combinational circuits 5_R and 5_C to generate the timing for receiving the payload signals PR and PC, and the control on the inspection side The signal received by the flip-flop 3_CAB of the signal CsCAB is used only for comparison with the signal on the main body side, and is not supplied to the combinational circuit 5_C.
  • the comparison circuit 2_7 compares the signal received by the flip-flop 3_RAB with the control signal CsRAB on the main body side and the signal received by the flip-flop 3_CAB with the control signal CsCAB on the inspection side.
  • the failure management circuit EML is notified, but a shift of one cycle is allowed. In principle, a shift of one cycle may occur even if there is no failure. This is to avoid the problem that the processing corresponding to the failure is activated even when there is no failure when compared strictly.
  • the comparison circuit 2_7 has three inputs, and the node N4-1-1 input to the combinational circuit 5_R and the node N4 input to the combinational circuit 5_C among the signals received by the flip-flop 3_RAB as the control signal CsRAB on the main body side. It is possible to compare -1-2 with the node N4-2 of the signal received by the flip-flop 3_CAB of the control signal CsCAB on the inspection side.
  • the comparison between the node N4-1-1 and the node N4-2 and the comparison between the node N4-1-2 and the node N4-2 are performed by a match / mismatch comparison that allows a one-cycle shift. 1 and the node N4-1-2 perform a match / mismatch comparison that does not allow a cycle shift, detect that any one of the nodes is different from the other nodes, and notify the failure management circuit EML (not shown). .
  • a shift of one cycle may also occur in the signal received by the flip-flop 3_RBA of the control signal CsRBA on the main body and the signal received by the flip-flop 3_CBA of the control signal CsCBA on the inspection side.
  • the main body side bridge circuit BRA and the inspection side bridge circuit BCA both receive the signal that is received by the flip-flop 3_RBA of the main body side control signal CsRBA, the operations of the main body side bridge circuit BRA and the inspection side bridge circuit BCA are performed. In the operation of the main body side circuit and the inspection side circuit in the subsequent stage, a cycle shift does not occur unless there is a failure.
  • a signal obtained by receiving the control signal CsCBA on the inspection side by the flip-flop 3_CBA is used for comparison with the main body side, but the one-cycle deviation that may occur is absorbed by the comparison circuit 2_8, so it is erroneously detected as a failure. Problem is avoided.
  • the payload signal and the control signal are both duplicated, and the reliability can be further improved as compared with the case of the second embodiment.
  • FIG. 11 is a block diagram illustrating another configuration example of the asynchronous transfer circuit 1 included in the data processing device 10 of the third embodiment.
  • Asynchronous transfer circuit 1 includes main body [RA] side bridge circuit BRA, inspection [CA] side bridge circuit BCA, flip-flops 3_RBA and 3_CBA, which are duplicated in the ACLK domain, and main body [RB] side bridge, which is duplicated in the BCLK domain. It includes a circuit BRB, a test [CB] side bridge circuit BCB, flip-flops 3_RAB and 3_CAB, and comparison circuits 2_7 and 2_8.
  • the flip-flop 4_R and the combination circuit 5_R, and the flip-flop 4_C and the combination circuit 5_C are included in the main body [RB] side bridge circuit BRB and the inspection [CB] side bridge circuit BCB, respectively, and are duplicated in the BCLK domain. .
  • These configurations and operations are the same as those of the asynchronous transfer circuit 1 shown in FIG.
  • the asynchronous transfer circuit 1 of another configuration example illustrated in FIG. 9 further includes delay circuits 6_6_1, 6_6_2, 6_9_1, and 6_9_2.
  • the test [CA] side circuit LCA (not shown) and the bridge circuit BCA maintain a time difference (deviation) of one or more constant cycles from the main body [RA] side LRA (not shown) and the bridge circuit BRA.
  • the delay circuits 6_6_1 and 6_6_2 are delay circuits that give a fixed cycle delay.
  • the test [CB] side circuit LCB (not shown) and the bridge circuit BCB maintain a time difference (shift) of one or more constant cycles from the main body [RB] side LRB (not shown) and the bridge circuit BRB.
  • the delay circuits 6_9_1 and 6_9_2 are delay circuits that give a constant cycle delay.
  • the delay circuits 6_6_1 and 6_6_2 are inserted into the control signal CsRBA transferred from the BCLK domain and received by the flip-flop 3_RBA.
  • the delay circuit 6_6_1 adds the delay of the above-mentioned fixed cycle number and inputs it to the comparison circuit 2_8.
  • the delay circuit 6_6_2 adds the delay of the predetermined number of cycles and inputs it to the comparison circuit 2_8, and inputs it to the bridge circuit BCA.
  • the delay circuits 6_9_1 and 6_9_2 are inserted in the control signal CsRAB transferred from the ACLK domain and received by the flip-flop 3_RAB.
  • the delay circuit 6_9_1 adds the above-mentioned fixed number of cycles and inputs it to the comparison circuit 2_7.
  • the delay circuit 6_9_2 also applies the above-mentioned fixed number of cycles and inputs it to the comparison circuit 2_7, and also combines the combination circuit 5_C of the bridge circuit BCB. To enter.
  • both the ACLK domain circuit and the BCLK domain circuit are to be duplicated, while in the fourth embodiment, one circuit is secured by another means.
  • This is an embodiment in which only one of them is duplicated.
  • another means for ensuring safety is, for example, a circuit failure test such as a periodic scan test.
  • 12 and 13 show an asynchronous transfer circuit 1 that asynchronously transfers a payload signal from a non-duplexed side to a duplexed side, and FIG. 14 shows that the duplexed side is not duplexed from the duplexed side.
  • An asynchronous transfer circuit 1 for asynchronously transferring a payload signal to the side is shown.
  • FIG. 12 is a block diagram illustrating a first configuration example of the data processing apparatus 10 according to the fourth embodiment.
  • the data processing apparatus 10 includes a logic circuit LA that operates in the ACLK domain, a main body side [RB] circuit LRB, a test side [CB] circuit LCB that are duplicated in the BCLK domain, and an asynchronous transfer circuit 1.
  • the asynchronous transfer circuit 1 includes a bridge circuit BA connected to the logic circuit LA and operating in the ACLK domain, and a bridge circuit BB operating in the BCLK domain.
  • the bridge circuit BB includes a non-redundant flip-flop 3_AB and a comparison circuit 2_4.
  • the bridge circuit BRB is connected to the main body side [RB] circuit LRB and the inspection side [CB] circuit LCB, and operates in a duplex manner. BCB.
  • Each of the bridge circuits BRB and BCB includes flip-flops 4_R and 4_C that receive the payload signal P, and combination circuits 5_R and 5_C that generate capture timings given to the flip-flops 4_R and 4_C, respectively.
  • the combinational circuits 5_R and 5_C are duplicated circuits that perform the same processing.
  • the logic circuit LA operating in the ACLK domain sends the payload signal P and the control signal CsAB via the bridge circuit BA.
  • the bridge circuit BA includes the flip-flop circuit 3_BA and receives the control signal CsBA transferred from the BCLK domain. To do.
  • the control signal CsAB is received in the BCLK domain by the flip-flop 3_AB that is not duplicated, and is input to the main body side [RB] bridge circuit BRB, and is input to the inspection side [CB] bridge circuit BCB in parallel. Since it is a single signal, there is no time difference (cycle difference) even if it is input to the bridge circuits BRB and BCB. Unless there is a failure, the combinational circuits 5_R and 5_C give the same fetch timing to the flip-flops 4_R and 4_C, and the non-duplicated payload signal P is received by the flip-flops 4_R and 4_C. Since the non-duplicated payload signal P is captured at the same capture timing, no cycle shift occurs in the payload signals received by the flip-flops 4_R and 4_C.
  • control signal CsRBA output from the main body side [RB] bridge circuit BRB and the control signal CsCBA output from the inspection side [CB] bridge circuit BCB are input to the comparison circuit 2_4 for comparison. EML (not shown) is notified.
  • the control signal CsRBA on the main body side [RB] is transferred to the ACLK domain as the control signal CsBA and input to the flip-flop circuit 3_BA of the bridge circuit BA.
  • FIG. 13 is a block diagram illustrating a second configuration example of the data processing apparatus 10 according to the fourth embodiment.
  • the data processing apparatus 10 includes a logic circuit LA that operates in the ACLK domain, a main body side [RB] circuit LRB, a test side [CB] circuit LCB that are duplicated in the BCLK domain, and an asynchronous transfer circuit 1.
  • the asynchronous transfer circuit 1 includes a bridge circuit BA connected to the logic circuit LA and operating in the ACLK domain, and a bridge circuit BB operating in the BCLK domain.
  • the bridge circuit BB includes flip-flops 3_AB and 4 that are not duplicated, a combinational circuit 5 and a comparison circuit 2_4, and is connected to the main body side [RB] circuit LRB and the inspection side [CB] circuit LCB, respectively, to be duplicated.
  • Bridge circuits BRB and BCB that operate in the same manner.
  • the logic circuit LA operating in the ACLK domain sends the payload signal P and the control signal CsAB via the bridge circuit BA.
  • the bridge circuit BA includes the flip-flop circuit 3_BA and receives the control signal CsBA transferred from the BCLK domain. To do.
  • the control signal CsAB is received in the BCLK domain by the non-redundant flip-flop 3_AB, is input to the combinational circuit 5 and the main body side [RB] bridge circuit BRB, and is input to the inspection side [CB] bridge circuit BCB in parallel.
  • the combinational circuit 5 gives the fetch timing of the payload signal P to the flip-flop 4, and the payload signal P received by the flip-flop 4 is input to the bridge circuits BRB and BCB as the payload signals PRB and PCB, respectively. Since it is a single signal that is not originally duplicated, even if it is input to each of the bridge circuits BRB and BCB, no time difference (cycle difference) is generated in principle.
  • control signal CsRBA output from the main body side [RB] bridge circuit BRB and the control signal CsCBA output from the inspection side [CB] bridge circuit BCB are input to the comparison circuit 2_4 for comparison. EML (not shown) is notified.
  • the control signal CsRBA on the main body side [RB] is transferred to the ACLK domain as the control signal CsBA and input to the flip-flop circuit 3_BA of the bridge circuit BA.
  • duplexing of asynchronous transfer between a duplexed circuit and a circuit that operates asynchronously When the received circuit receives the payload signal, the reliability of the asynchronous transfer circuit can be improved, and as a whole, both high performance and high reliability can be achieved. This is because the main body side [RB] bridge circuit BRB and the inspection side [CB] bridge circuit BCB, which are part of the asynchronous transfer circuit, are duplicated.
  • FIG. 14 is a block diagram illustrating a third configuration example of the data processing apparatus 10 according to the fourth embodiment.
  • the data processing apparatus 10 includes a main body side [RA] circuit LRA and an inspection side [CA] circuit LCA that are duplicated in the ACLK domain, a logic circuit LB that operates in the BCLK domain, and an asynchronous transfer circuit 1. .
  • the asynchronous transfer circuit 1 includes a bridge circuit BA that operates in the ACLK domain, and a bridge circuit BB that is connected to the logic circuit LB and operates in the BCLK domain.
  • the bridge circuit BA includes a non-redundant flip-flop 3_BA and comparison circuits 2_3 and 2_5, and is connected to the main body side [RA] circuit LRA and the inspection side [CA] circuit LCA, respectively, and operates in a duplexed manner. Circuits BRA and BCA are provided.
  • the bridge circuits BRA and BCA output control signals CsRAB and CsCAB, payload signals PRA and PCA, respectively, and control signals CsRBA and CsCBA are input.
  • the control signals CsRAB and CsCAB are input to the comparison circuit 2_3, and the payload signals PRA and PCA are input to the comparison circuit 2_5. If a mismatch is detected in one or both comparison circuits, the failure management circuit EML (not shown) Be notified.
  • the control signal CsRBA is transferred to the BCLK domain as the control signal CsAB, and the payload signal PRA is transferred as the payload signal P.
  • the bridge circuit BB includes flip-flops 3_AB and 4 and a combinational circuit 5.
  • the control signal CsAB transferred from the ACLK domain is received by the flip-flop 3_AB and supplied to the combinational circuit 5.
  • the combinational circuit 5 generates and sends CsBA to be output to the ACLK domain, and supplies the flip-flop 4 with timing for taking in the payload signal P.
  • the bridge circuit BRA and BCA of the ACLK domain that sends the payload signal P is duplexed, thereby improving reliability. Can be improved.
  • the data processing apparatus 10 uses a delay circuit 6 as appropriate according to the same concept as in FIGS. It can be changed so that the same data processing is executed with a constant time difference (number of cycles).
  • another payload signal transfer circuit having a different transfer direction or transfer timing can be added to the asynchronous transfer circuit.
  • the block division of the main body side circuit and the bridge circuit connected thereto and the inspection side circuit and the bridge circuit connected thereto is convenient and can be appropriately changed.
  • the present invention can be widely applied to data processing devices including an asynchronous data transfer circuit between a logic circuit that is duplicated for functional safety and another logic circuit that operates asynchronously.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Hardware Redundancy (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

 互いに非同期の2つのクロックドメインのそれぞれにおいて二重化された2組の回路対を備えるデータ処理装置において、前記2組の回路対の間に、ペイロード信号を転送するための非同期転送回路を設ける。非同期転送回路は、2組の回路対にそれぞれ接続された2組のブリッジ回路対を備え、ペイロード信号とともに当該ペイロード信号が受信側で安定するタイミングを示す制御信号を非同期転送する。2組のブリッジ回路対とペイロード信号は二重化することができるが、前記制御信号は二重化されず、受信されたペイロード信号を二重化された回路対に対して、期待される同じ時間差で供給するためのタイミング制御に使用される。これにより、非同期のクロックドメインでそれぞれ二重化された回路の間での非同期転送が可能となり、高性能と高信頼を両立させることができる。

Description

データ処理装置
 本発明は、機能安全のために二重化された論理回路と、非同期で動作する他の論理回路との間の非同期データ転送回路を備えるデータ処理装置に適用して有効な技術に関する。
 高性能なCPU(Central Processing Unit)コアなどの高い周波数のクロックで動作する論理回路は、他の論理回路の動作クロックとの間の関係を非同期とすることで、周波数の向上を狙う場合が多い。例えば、CPUとオンチップバスとの界面では、非同期バスブリッジを挿入しCPUクロックとバスクロックを非同期にすることでCPUの動作周波数を高速化する。
 また、高信頼を求められる車載などの分野における回路の一部についてはDCLS(Dual-Core Lock-Step)で回路を二重化するなど、回路の冗長化を行なうことで、システム動作時の故障を検出し安全に停止等が行なえるようなシステム構成を取ることで安全性を確保する。例えばDCLS構成を用いてCPU等の回路を二重化すると、二重化されたCPUの出力信号を逐次比較する。このため、一方のCPUに一時的または永続的な故障が発生した場合、即座に異常の発生を検知することができる。ただし、二重化による二者の比較では異常の検出に留まり、バックアップや復旧などの処理は別途行われる。車載に必要とされる安全性は、ASIL(Automotive Safety Integrity Level)等で規格化されており、これを満足するために、CPUの二重化技術等が利用される。
 高性能と高信頼の両立が求められるデータ処理装置について本発明者が検討した結果、以下のような新たな課題があることがわかった。
 二重化された2個の回路は、同一のデータ処理を同時に並列して実行しており、同一の処理結果であると期待され同時に出力される出力どうしが互いに比較され、不一致の場合には少なくとも一方の回路が故障した異常として検出される。二重化された当該2個の回路は、同一のクロックドメインで同期して動作しており、「同時」とは同一クロックサイクルであることを意味する。ここで、二重化において「同時」であることは必ずしも必須ではなく、所定の時間差(サイクル数の差)が保たれていても良い。しかしここでは説明を簡略化するために、二重化された2個の回路では同一のデータ処理が同時に並列して実行されるものとして説明する。
 互いに非同期の2個のクロックドメインでそれぞれ二重化された2組の回路対の間で、単純に非同期転送回路を2組備えてデータの非同期転送を行う場合について検討する。データを送信する側で二重化された2個の回路からは、故障がなければ同一である2個のデータが送信側クロックに同期して同時に送出される。一方データを受信する側では、送出された当該2個のデータをそれぞれ別の非同期転送回路で転送して、受信側クロックに載せ替えて受信する。送信側クロックと受信側クロックが互いに非同期であると、送信側で同時、即ち送信側クロックの同一サイクルで送出された2個のデータであっても、受信側では受信側クロックの同一サイクルで受信されるとは限らない。全く同一の非同期転送回路を備えていても、送信側クロックと受信側クロックが非同期であるために、受信側でのデータの取り込みタイミングを完全に一致させることはできずゆらぎを生じるからである。そのため、受信側の2重化された回路対に対するデータの入力は、同時に行われるべきところ、受信タイミングのゆらぎに起因して、異なるサイクルで入力される場合が発生する。受信側回路では同一のデータが同時に入力され同時に同じ処理を並行して実行して同じ結果が出力されることを期待して、2個の回路からの出力が比較されるにもかかわらず、入力されるデータのタイミングにずれが生じると、2個の回路からの出力にもずれが生じ、これが故障として検出されてしまう。
 このように、同一のデータが同時に入力され同一の処理が同時に並行して行われることによって同時に同じ結果が出力されることを期待して、2個の回路からの出力が比較される二重化された回路に、二重化された非同期転送回路対を接続すると、期待される同時性が保証されないために、故障が発生していないにも関わらず、誤って故障として検出される恐れがある。同一のデータが所定の時間差で入力され同一の処理が当該時間差を保って並行して行われることによって同じ処理結果が当該時間差を保って出力されることを期待して、2個の回路からの出力が比較される二重化された回路についても同様である。単純に二重化された非同期転送回路対を接続すると、期待される同じ時間差が保証されないために、故障が発生していないにも関わらず、誤って故障として検出される恐れがある。
 このような課題を解決するための手段を以下に説明するが、その他の課題と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
 本願において開示される発明のうち代表的なものについて簡単に説明すれば下記のとおりである。
 すなわち、互いに非同期の2つのクロックドメインのそれぞれにおいて二重化された2組の回路対を備えるデータ処理装置において、前記2組の回路対の間に、ペイロード信号を転送するための非同期転送回路を設ける。非同期転送回路は、2組の回路対にそれぞれ接続された2組のブリッジ回路対を備え、ペイロード信号とともに当該ペイロード信号が受信側で安定するタイミングを示す制御信号を非同期転送する。2組のブリッジ回路対とペイロード信号は二重化することができるが、前記制御信号は二重化されず、受信されたペイロード信号を二重化された回路対に対して、期待される同じ時間差で供給するためのタイミング制御に使用される。前記制御信号を検査するための検査用制御信号を追加しても良い。
 本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
 すなわち、非同期のクロックドメインでそれぞれ二重化された回路の間での非同期転送が可能となり、高性能と高信頼を両立させることができる。
図1は、二重化された回路対を含むデータ処理装置の構成例を示すブロック図である。 図2は、非同期転送回路を備えるデータ処理装置の構成例を示すブロック図である。 図3は、それぞれが二重化された2組の回路対の間に、図2に示される非同期転送回路を単純に二重化して備えたデータ処理装置の構成例(比較例)を示すブロック図である。 図4は、実施形態1のデータ処理装置の構成例を示すブロック図である。 図5は、二重化されたCPUとバスを含むデータ処理装置の構成例を示すブロック図である。 図6は、実施形態1の一例として、非同期で動作するCPUとバスがそれぞれ二重化されたデータ処理装置の構成例を示すブロック図である。 図7は、実施形態1のデータ処理装置に含まれる非同期転送回路の別の構成例を示すブロック図である。 図8は、実施形態2のデータ処理装置に含まれる非同期転送回路の構成例を示すブロック図である。 図9は、実施形態2のデータ処理装置に含まれる非同期転送回路の別の構成例を示すブロック図である。 図10は、実施形態3のデータ処理装置に含まれる非同期転送回路の構成例を示すブロック図である。 図11は、実施形態3のデータ処理装置に含まれる非同期転送回路の別の構成例を示すブロック図である。 図12は、実施形態4のデータ処理装置の第1の構成例を示すブロック図である。 図13は、実施形態4のデータ処理装置の第2の構成例を示すブロック図である。 図14は、実施形態4のデータ処理装置の第3の構成例を示すブロック図である。
1.実施の形態の概要
 先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
 〔1〕<それぞれ二重化された2組の回路対間の非同期転送>
 本願において開示される代表的な実施の形態は、それぞれ二重化された2組の回路対とその間の非同期転送回路を備えるデータ処理装置(10)であって、以下のように構成される。前記データ処理装置は、第1クロックドメイン(ACLK)において二重化された第1本体回路(LRA)と第1検査回路(LCA)と、前記第1クロックドメインとは非同期の第2クロックドメイン(BCLK)において二重化された第2本体回路(LRB)と第2検査回路(LCB)とを備える。また、前記データ処理装置は、前記第1クロックドメインと前記第2クロックドメインとの間でペイロード信号(P)の転送を行う非同期転送回路(1)を備える。
 前記非同期転送回路は、前記第1本体回路と前記第1検査回路にそれぞれ接続され前記第1クロックドメインにおいて二重化された第1本体側ブリッジ回路(BRA)と第1検査側ブリッジ回路(BCA)とを備える。また、前記非同期転送回路は、前記第2本体回路と前記第2検査回路にそれぞれ接続され前記第2クロックドメインにおいて二重化された第2本体側ブリッジ回路(BRB)と第2検査側ブリッジ回路(BCB)とを備える。
 前記非同期転送回路は、前記ペイロード信号を送出する側の第1又は第2本体側ブリッジ回路によって生成され前記ペイロード信号が受信側で安定するタイミングを示す制御信号(CsAB,CsBA)を有し、前記制御信号と、対応する第1又は第2検査側ブリッジ回路によって生成された検査用制御信号(CsCAB,CsCBA)とを比較し、不一致の場合には故障として検出する。
 これにより、非同期のクロックドメインでそれぞれ二重化された回路対の間での非同期転送が可能となり、高性能と高信頼を両立させることができる。非同期で動作させることによって、他方の速度限界に制約されることなく、それぞれのクロックドメインにおいて必要に応じて動作周波数を高くすることができるため、性能を向上することができる。また、非同期転送回路において、前記制御信号が二重化の対象外とされることによって、二重化された関係を保ったままでの非同期転送を可能とし、それ以外のペイロード信号やブリッジ回路などを二重化することができるので、信頼性を向上することができる。
 〔2〕<一定の時間差を保って実行される二重化方式(図7)>
 項1において、前記第1本体回路と前記第1検査回路とは、前記第1クロックドメインにおいて0サイクル以上の第1サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行する。また、前記第2本体回路と前記第2検査回路とは、前記第2クロックドメインにおいて0サイクル以上の第2サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行する。
 前記非同期転送回路は、前記第1クロックドメインにおいて前記第1サイクル数の時間差で、前記第1本体回路からの出力と前記第1検査回路からの出力とを比較し、不一致の場合には故障として検出する。前記制御信号と対応する前記検査用制御信号との比較(2_3)は、前記第1クロックドメインで行うときには前記第1サイクル数の時間差で行い、前記第2クロックドメインで行うときには前記第2サイクル数の時間差で行う(2_4)。
 これにより、同一のデータ処理が一定の時間差(サイクル数)を保って実行される二重化方式においても、適切に故障を検出することができる。
 〔3〕<ペイロード信号を二重化(図8)>
 項1において、前記第1本体側ブリッジ回路は、前記第2本体側ブリッジ回路に前記ペイロード信号(PR)と前記制御信号(CsAB,CsBA)とを転送し、前記第1検査側ブリッジ回路は、検査用ペイロード信号(PC)と前記検査用制御信号(CsCAB)を生成し、前記検査用ペイロード信号を前記第2検査側ブリッジ回路に転送する。
 前記非同期転送回路は、前記第1クロックドメインで前記制御信号と前記検査用制御信号との前記比較を行い(2_3)、不一致の場合には故障として検出する。
 前記非同期転送回路は、前記制御信号を前記第2クロックドメインに転送する。
 前記非同期転送回路は、前記第2クロックドメインに転送された前記制御信号に基づいて、前記第2本体側ブリッジ回路は前記ペイロード信号を受信(4_R)し、前記第2検査側ブリッジ回路は前記検査用ペイロード信号を受信し(4_C)、前記非同期転送回路はそれぞれで受信された前記ペイロード信号と前記検査用ペイロード信号を比較し、不一致の場合には故障として検出する。
 これにより、非同期転送回路において、ペイロード信号が二重化され、信頼性を高めることができる。
 〔4〕<一定の時間差を保って実行される二重化方式(図9)>
 項3において、前記第1本体回路と前記第1検査回路とは、前記第1クロックドメインにおいて0サイクル以上の第1サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行し、前記第2本体回路と前記第2検査回路とは、前記第2クロックドメインにおいて0サイクル以上の第2サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行する。
 前記非同期転送回路は、前記第1クロックドメインにおいて前記第1サイクル数の時間差で、前記第1本体回路からの出力と前記第1検査回路からの出力とを比較し、不一致の場合には故障として検出する。前記制御信号と対応する前記検査用制御信号との比較(2_3,2_4)は、前記第1クロックドメインで前記第1サイクル数の時間差で行い、前記ペイロード信号と前記検査用ペイロード信号との比較は、前記第2クロックドメインで前記第2サイクル数の時間差で行う。
 これにより、項2と同様に、非同期転送回路においてペイロード信号が二重化され、同一のデータ処理が一定の時間差を保って実行される二重化方式においても、適切に故障を検出することができる。
 〔5〕<ペイロード信号と制御信号を二重化(図10)>
 項1において、前記第1本体側ブリッジ回路は、前記第2本体側ブリッジ回路に前記ペイロード信号(PR)と前記制御信号(CsRAB,CsRBA)とを転送する。
 前記第1検査側ブリッジ回路は、検査用ペイロード信号(PC)と前記検査用制御信号(CsCAB,CsCBA)を生成し、前記検査用ペイロード信号と前記検査用制御信号を前記第2検査側ブリッジ回路に転送する。
 前記非同期転送回路は、前記第2クロックドメインで前記制御信号と前記検査用制御信号との間で1サイクルまでのずれを許容する比較を行い(2_7)、不一致の場合には故障として検出する。
 前記第2クロックドメインに転送された前記制御信号に基づいて、前記第2本体側ブリッジ回路は前記ペイロード信号を受信し(4_R)、前記第2検査側ブリッジ回路は前記検査用ペイロード信号を受信する(4_C)。前記非同期転送回路はそれぞれで受信された前記ペイロード信号と前記検査用ペイロード信号を比較し、不一致の場合には故障として検出する。
 これにより、非同期転送回路において、ペイロード信号と制御信号がともに二重化され、信頼性を項3の場合よりも高めることができる。
 〔6〕<一定の時間差を保って実行される二重化方式(図11)>
 項5において、前記第1本体回路と前記第1検査回路とは、前記第1クロックドメインにおいて0サイクル以上の第1サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行し、前記第2本体回路と前記第2検査回路とは、前記第2クロックドメインにおいて0サイクル以上の第2サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行する。
 前記非同期転送回路は、前記第1クロックドメインにおいて前記第1サイクル数の時間差で、前記第1本体回路からの出力と前記第1検査回路からの出力とを比較し、不一致の場合には故障として検出する。
 前記制御信号と対応する前記検査用制御信号との比較は、前記第2クロックドメインで前記第2サイクル数にプラス/マイナス1サイクルの余裕を加えた時間差で行い、当該余裕を含む時間差以内で一致するときには一致とし、当該余裕の範囲内で不一致の場合に故障として検出する。前記ペイロード信号と前記検査用ペイロード信号との比較は、前記第2クロックドメインで前記第2サイクル数の時間差で行う。
 これにより、項2と同様に、非同期転送回路においてペイロード信号と制御信号がともに二重化され、同一のデータ処理が一定の時間差を保って実行される二重化方式においても、適切に故障を検出することができる。
 〔7〕<制御信号は3本の信号間で比較(図10)>
 項5において、前記第2本体側ブリッジ回路は、前記ペイロード信号を受信する第2本体側フリップフロップ(4_R)を有し、前記第2検査側ブリッジ回路は、前記検査用ペイロード信号を受信する第2検査側フリップフロップ(4_C)を有する。
 前記非同期転送回路は、以下の各信号の3者間の比較を行い(2_7)、少なくともいずれか1つの信号が他の信号と不一致の場合には故障として検出する。各信号とは、前記制御信号に基づいて前記第2本体側フリップフロップに前記ペイロード信号の取り込みタイミングを与える信号(N4-1-1)と、前記制御信号に基づいて前記第2検査側フリップフロップに前記検査用ペイロード信号の取り込みタイミングを与える信号(N4-1-2)と、前記検査用制御信号(N4-2)である。
 これにより、非同期転送回路において、ペイロード信号と検証ペイロード信号を取り込むために物理的に離間した制御信号がともに検査用制御信号と比較され、信頼性を項5の場合よりも高めることができる。
 〔8〕<一定の時間差を保って実行される二重化方式(図11)>
 項7において、前記第1本体回路と前記第1検査回路とは、前記第1クロックドメインにおいて0サイクル以上の第1サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行し、前記第2本体回路と前記第2検査回路とは、前記第2クロックドメインにおいて0サイクル以上の第2サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行する。
 前記非同期転送回路は、前記第1クロックドメインにおいて前記第1サイクル数の時間差で、前記第1本体回路からの出力と前記第1検査回路からの出力とを比較し、不一致の場合には故障として検出する。
 前記制御信号に基づいて前記第2本体側フリップフロップに前記ペイロード信号の取り込みタイミングを与える信号(N4-1-1)と対応する前記検査用制御信号(N4-2)との比較は、前記第2クロックドメインで前記第2サイクル数にプラス/マイナス1サイクルの余裕を加えた時間差で行う。当該余裕を含む時間差以内で一致するときには一致とし、当該余裕の範囲内で不一致の場合に故障として検出する。
 前記制御信号に基づいて前記第2検査側フリップフロップに前記検査用ペイロード信号の取り込みタイミングを与える信号(N4-1-2)と対応する前記検査用制御信号(N4-2)との比較は、前記第2クロックドメインで行い、当プラス/マイナス1サイクルの時間差以内で一致するときには一致とし、プラス/マイナス1サイクルの範囲内で不一致の場合に故障として検出する。
 前記ペイロード信号と前記検査用ペイロード信号との比較は、前記第2クロックドメインで前記第2サイクル数の時間差で行う。
 これにより、項2と同様に、非同期転送回路においてペイロード信号と制御信号がともに二重化され、同一のデータ処理が一定の時間差を保って実行される二重化方式においても、適切に故障を検出することができる。
 〔9〕<故障管理回路(EML: Error Management Logic)>
 項1から項8のうちのいずれか1項において、前記データ処理装置は、故障が検出されたことが通知される、故障管理回路(EML)をさらに備える。
 これにより、各比較回路で検出された不一致の通知が、故障管理回路に集約され、故障検出に対応する処理(例えば、割り込み、リセットなど)を適切に発生させることができる。
 〔10〕<デュアルCPU+デュアルバスブリッジ>
 項1から項9のうちのいずれか1項に記載されるデータ処理装置において、前記第1本体回路と前記第1検査回路とは、それぞれ同一のプログラムを実行可能な同一の回路構成によるCPUであり、前記第2本体回路と前記第2検査回路とは、それぞれ同一の回路構成によるバスブリッジである。
 これにより、デュアルCPU+デュアルバスブリッジを備えるマイクロコントローラにおいて、高性能と高信頼を両立させることができる。
 〔11〕<1チップLSI(Large Scale Integrated circuit)>
 項1から項10のうちのいずれか1項において、前記データ処理装置は、単一の半導体基板上に形成される。
 これにより、デュアルCPU+デュアルバスブリッジ等の非同期のクロックドメインでそれぞれ二重化された2組の回路対の間での非同期転送を可能とする、1チップLSIが提供され、高性能と高信頼を両立させることができる。
 〔12〕<二重化された回路から別の回路への非同期転送(図14)>
 別の観点による実施の形態に係る半導体装置は、それぞれ二重化された2組の回路対とその間の非同期転送回路を備えるデータ処理装置(10)であって、以下のように構成される。前記データ処理装置は、第1クロック(ACLK)に同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第1本体回路(LRA)と第1検査回路(LCA)とを備える。また、前記データ処理装置は、前記第1クロックとは非同期の第2クロック(BCLK)に同期して動作する第2回路(LB)と、前記第1本体回路及び前記第1検査回路と前記第2回路との間でペイロード信号の非同期転送を行う非同期転送回路(1)とを備える。
 前記非同期転送回路は、前記第1クロックに同期して動作し前記第1本体回路及び前記第1検査回路と接続される第1ブリッジ回路(BA)と、前記第2クロックに同期して動作し前記第2回路と接続される第2ブリッジ回路(BB)とを備える。前記第1ブリッジ回路と前記第2ブリッジ回路とは、前記ペイロード信号と前記ペイロード信号が受信側で安定しているタイミングを示す非同期転送制御信号(CsAB,CsBA)とで互いに接続される。
 前記第1ブリッジ回路は、前記第1本体回路との間の入出力信号を第1本体側ペイロード信号(PRA)及び第1本体側非同期転送制御信号(CsRAB,CsRBA)に変換する第1本体側変換回路(BRA)を備える。また、前記第1ブリッジ回路は、前記第1検査回路との間の入出力信号を第1検査側ペイロード信号(PCA)及び第1検査側非同期転送制御信号(CsCAB,CsCBA)に変換する第1検査側変換回路(BCA)を備える。
 また、前記第1ブリッジ回路は、前記第1本体側非同期転送制御信号のうち前記第2ブリッジ回路に送出される出力信号(CsRAB)と前記第1検査側非同期転送制御信号のうち対応する出力信号(CsCAB)とを比較して不一致を検出する第1の比較回路(2_3)とを備える。前記第1ブリッジ回路は、前記第1本体側非同期転送制御信号のうちの出力信号(CsRAB)を前記非同期転送制御信号のうちの出力信号(CsAB)として前記第2ブリッジ回路に送出する。
 前記第2ブリッジ回路は、前記第1ブリッジ回路から受信する前記非同期転送制御信号のうちの入力信号(CsAB)によって示されるタイミングで、前記ペイロード信号を受信し、前記第2回路に供給する。
 これにより、二重化された回路と非同期で動作する回路(二重化されているか二重化されていないかは問わない)との間での非同期転送のうち、二重化された回路がペイロード信号を送信する場合において、非同期転送回路の一部である、第1本体側変換回路と第1検査側変換回路が二重化され、非同期転送回路の信頼性を高めることができ、全体として高性能と高信頼を両立させることができる。
 〔13〕<二重化された回路への別の回路からの非同期転送(図12、13)>
 さらに別の観点による実施の形態に係る半導体装置は、それぞれ二重化された2組の回路対とその間の非同期転送回路を備えるデータ処理装置(10)であって、以下のように構成される。前記データ処理装置は、第1クロック(BCLK)に同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第1本体回路(LRB)と第1検査回路(LCB)と、前記第1クロックとは非同期の第2クロック(ACLK)に同期して動作する第2回路(LA)とを備える。また、前記データ処理装置は、前記第1本体回路及び前記第1検査回路と前記第2回路との間でペイロード信号(P)の非同期転送を行う非同期転送回路(1)を備える。
 前記非同期転送回路は、前記第1クロックに同期して動作し前記第1本体回路及び前記第1検査回路と接続される第1ブリッジ回路(BB)と、前記第2クロックに同期して動作し前記第2回路と接続される第2ブリッジ回路(BA)とを備え。前記第1ブリッジ回路と前記第2ブリッジ回路とは、前記ペイロード信号と前記ペイロード信号が受信側で安定しているタイミングを示す非同期転送制御信号(CsAB,CsBA)とで互いに接続される。
 前記第1ブリッジ回路は、前記第1本体回路との間の入出力信号を第1本体側ペイロード信号(PRB)及び第1本体側非同期転送制御信号(CsRBA,CsRAB)に変換する第1本体側変換回路(BRB)を備える。また、前記第1ブリッジ回路は、前記第1検査回路との間の入出力信号を第1検査側ペイロード信号(PCB)及び第1検査側非同期転送制御信号(CsCBA,CsCAB)に変換する第1検査側変換回路(BCB)を備える。また、前記第1ブリッジ回路は、前記第1本体側非同期転送制御信号のうち前記第2ブリッジ回路に送出される出力信号(CsRBA)と前記第1検査側非同期転送制御信号のうち対応する出力信号(CsCBA)とを比較して不一致を検出する第2の比較回路(2_4)を備える。
 前記第1ブリッジ回路は、前記第2ブリッジ回路から転送される前記非同期転送制御信号のうちの入力信号(CsAB)によって示されるタイミングで、前記ペイロード信号を受信し、前記第1本体側変換回路を介して前記第1本体回路に、前記第1検査側変換回路を介して前記第1検査回路にそれぞれ供給する。
 これにより、二重化された回路と非同期で動作する回路(二重化されているか二重化されていないかは問わない)との間での非同期転送のうち、二重化された回路がペイロード信号を受信する場合において、非同期転送回路の一部である、第1本体側変換回路と第1検査側変換回路が二重化され、非同期転送回路の信頼性を高めることができ、全体として高性能と高信頼を両立させることができる。
 〔14〕<それぞれ二重化された2組の回路対間の非同期転送(図6~11)>
 項12において、前記第2回路は、前記第2クロックに同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第2本体回路(LRB)と第2検査回路(LCB)とを含む。
 前記第2ブリッジ回路は、前記第2本体回路との間の入出力信号を第2本体側ペイロード信号(PRB)及び第2本体側非同期転送制御信号(CsRAB,CsRBA)に変換する第2本体側変換回路(BRB)を備える。また、前記第2ブリッジ回路は、前記第2検査回路との間の入出力信号を第2検査側ペイロード信号(PCB)及び第2検査側非同期転送制御信号(CsCAB,CsCBA)に変換する第2検査側変換回路(BCB)を備える。
 前記第2ブリッジ回路は、前記第1ブリッジ回路から受信する前記非同期転送制御信号のうちの入力信号(CsAB)によって示されるタイミングで、前記ペイロード信号を受信し、前記第2本体側変換回路を介して前記第2本体回路に、前記第2検査側変換回路を介して前記第2検査回路にそれぞれ供給する。
 これにより、二重化された回路と非同期で動作する二重化されている回路との間での非同期転送において、項1と同様に、高性能と高信頼を両立させることができる。
 〔15〕<ペイロード信号を二重化(図8、9)>
 項12において、前記第2回路は、前記第2クロックに同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第2本体回路(LRB)と第2検査回路(LCB)とを含む。
 前記第2ブリッジ回路は、前記第2本体回路との間の入出力信号を第2本体側ペイロード信号(PRB)及び第2本体側非同期転送制御信号(CsRAB,CsRBA)に変換する第2本体側変換回路(BRB)を備える。また、前記第2ブリッジ回路は、前記第2検査回路との間の入出力信号を第2検査側ペイロード信号(PCB)及び第2検査側非同期転送制御信号(CsCAB,CsCBA)に変換する第2検査側変換回路(BCB)を備える。
 前記第1ブリッジ回路は、前記ペイロード信号に加えて検査用ペイロード信号(PC)を送信する。
 前記第2ブリッジ回路において、前記第2本体側変換回路と前記第2検査側変換回路は、前記第1ブリッジ回路から受信する前記非同期転送制御信号のうちの入力信号(CsAB)によって示されるタイミングで、前記ペイロード信号をそれぞれ受信する。
 これにより、二重化された回路と非同期で動作する二重化されている回路との間での非同期転送において、項3と同様に、高性能と高信頼を両立させることができる。
 〔16〕<ペイロード信号と制御信号を二重化(図10、11)>
 項12において、前記第2回路は、前記第2クロックに同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第2本体回路(LRB)と第2検査回路(LCB)とを含む。
 前記第2ブリッジ回路は、前記第2本体回路との間の入出力信号を第2本体側ペイロード信号(PRB)及び第2本体側非同期転送制御信号(CsRAB,CsRBA)に変換する第2本体側変換回路(BRB)を備える。また、前記第2ブリッジ回路は、前記第2検査回路との間の入出力信号を第2検査側ペイロード信号(PCB)及び第2検査側非同期転送制御信号(CsCAB,CsCBA)に変換する第2検査側変換回路(BCB)を備える。
 前記第1ブリッジ回路は、前記第1本体側非同期転送制御信号のうちの出力信号を前記非同期転送制御信号のうちの出力信号(CsRAB)として前記第2ブリッジ回路に送出し、前記第1本体側ペイロード信号を前記ペイロード信号(PR)として前記第2ブリッジ回路に送出する。前記第1ブリッジ回路は、さらに、前記第1検査側非同期転送制御信号のうちの出力信号を前記検査用非同期転送制御信号(CsCAB)として前記第2ブリッジ回路に送出し、前記第2検査側ペイロード信号を検査用ペイロード信号(PC)として前記第2ブリッジ回路に送出する。
 前記第2ブリッジ回路は、前記非同期転送制御信号のうちの入力信号(CsRAB)によって示されるタイミングで、前記ペイロード信号を受信して前記第2本体側ペイロード信号として、前記第2本体側変換回路に供給し、前記検査用ペイロード信号を受信して前記第2検査側ペイロード信号として、前記第2検査側変換回路に供給する。前記第2ブリッジ回路は、前記非同期転送制御信号のうちの入力信号(CsRAB)と、前記検査用非同期転送制御信号のうちの入力信号(CsCAB)とを比較する第3の比較回路(2_7)を備える。
 これにより、二重化された回路と非同期で動作する二重化されている回路との間での非同期転送において、項5と同様に、高性能と高信頼を両立させることができる。
 〔17〕<非同期転送制御信号は3本の信号間で比較(図10、11)>
 項16において、前記第3の比較回路は、前記非同期転送制御信号のうちの入力信号(CsRAB)が前記第1本体側変換回路に供給されるノードの信号と、前記第2検査側変換回路に供給されるノードの信号と、前記検査用非同期転送制御信号のうちの入力信号(CsCAB)とを比較し、少なくともいずれか1つの信号が他の信号と不一致であることを検出する。
 データ処理装置。
 これにより、非同期転送回路において、ペイロード信号と検証ペイロード信号を取り込むために物理的に離間した制御信号がともに検査用制御信号と比較され、信頼性を項16の場合よりも高めることができる。
 〔18〕<一定の時間差を保って実行される二重化方式(図7、9、11)>
 項12から項17のうちのいずれか1項に記載されるデータ処理装置において、前記第1本体回路と前記第1検査回路は、同一の前記処理を前記第1クロックにおける0サイクル以上の所定のサイクル数の差を保って実行する。
 これにより、同一のデータ処理が一定の時間差を保って実行される二重化方式においても、適切に故障を検出することができる。
 〔19〕<故障管理回路(EML)>
 項12から項18のうちのいずれか1項において、前記データ処理装置は、前記全ての比較回路のうちのいずれかで不一致が発生したことが通知される、故障管理回路(EML)をさらに備える。
 これにより、各比較回路で検出された不一致の通知が、故障管理回路に集約され、故障検出に対応する処理(例えば、割り込み、リセットなど)を適切に発生させることができる。
 〔20〕<1チップLSI>
 項12から項19のうちのいずれか1項において、前記データ処理装置は、単一の半導体基板上に形成される。
 これにより、デュアルCPU+デュアルバスブリッジ等の非同期のクロックドメインでそれぞれ二重化された2組の回路対の間、または、デュアルバスブリッジ等の二重化された2回路対と二重化されていない周辺回路モジュール等の間の非同期転送を可能とする、1チップLSIが提供され、高性能と高信頼を両立させることができる。
 2.実施の形態の詳細
 実施の形態について更に詳述する。なお、発明を実施するための形態を説明するための全図において、同一の機能を有する要素には同一の符号を付して、その繰り返しの説明を省略する。
 はじめに、解決しようとする課題についてさらに詳しく説明する。
 図1は、二重化された回路対を含むデータ処理装置10の構成例を示すブロック図である。データ処理装置10には、二重化されていない通常の2個の論理回路7_1と7_2との間に、二重化された2個(1対)の論理回路LRとLCとが含まれ、それらの出力を比較する比較回路2_1と2_2及び比較結果が不一致である場合にそれが通知される故障管理回路EML(Error Management Logic)が含まれる。図1に示されるデータ処理装置10は、さらに、それぞれが所定段数のフリップフロップから成る、複数の遅延回路6_1~6_4を含んで構成される。二重化された論理回路の一方である本体側回路LRは「Reference」と呼ばれ「[R]」と略記され、他方の検査側回路LCは「Checker」と呼ばれ「[C]」と略記される。なお、一部の信号線は複数の信号配線からなることを示すバス表記がされているが、単一の信号線についても同様の説明が妥当する。このことは本明細書全体を通して同様である。
 一般に、二重化された回路対には、同一の入力が与えられ、同一の処理を並列に実行してそれぞれ得られる結果(出力)どうしが常に比較されているため、本体側回路LRまたは検査側回路LCに何らかの要因で動作不良が発生した場合に、それを故障として検出することができる。二重化されないブロックからの信号は本体側回路LRと検査側回路LCの両方に入力される。本体側回路LRと検査側回路LCの出力信号は本体側回路LRのみが二重化されないブロックに接続され、検査側回路LC側出力は比較のためにのみ使われる。本体側回路LRと検査側回路LCの動作サイクルは、チップレイアウト上の制約(例えば、本体側回路LRと検査側回路LCに対して同じタイミングで信号を供給するのが困難な場合)や動作安全上の制約(例えば、動作エラーが本体側回路LRと検査側回路LCの両方で同時に起こることを避けたいという要求)から、意図的に1~2サイクルずらすことが多い。この場合、動作をずらすための遅延回路(フリップフロップ)が使われる。二重化されていない回路から検査側回路LC側に入る信号と、本体側回路LRから比較器に入る信号に、これらの遅延回路(フリップフロップ)が挿入される。
 図1に示されるデータ処理装置10では、論理回路7_1から本体側回路LRへの入力が遅延回路6_1で所定のサイクル数だけ遅延されて検査側回路LCに入力され、論理回路7_2から本体側回路LRへの入力も同様に、遅延回路6_2で同じサイクル数だけ遅延されて検査側回路LCに入力される。本体側回路LRと検査側回路LCは同じ回路であり、同じ処理を実行するが、入力が上記所定のサイクル数だけずれているので、処理の実行と結果の出力も同じサイクル数だけずれることとなる。本体側回路LRから論理回路7_1への出力は遅延回路6_2で同じサイクル数だけ遅延されて比較回路2_1に入力され、検査側回路LCから論理回路7_1への出力と比較され、本体側回路LRから論理回路7_2への出力は遅延回路6_3で同じサイクル数だけ遅延されて比較回路2_2に入力され、検査側回路LCから論理回路7_2への出力と比較される。比較回路2_1と2_2で検出された不一致は故障管理回路EMLに通知される。故障管理回路EMLは、割り込み処理やリセットなど、故障を検出した場合に実行すべき処理を起動する。
 非同期転送について説明する。高速で動作するデータ処理回路間のデータ転送に、非同期ブリッジ(非同期転送回路)を使用することでクロックドメイン間を非同期として扱うことができ、両者の間のタイミングを考慮する必要がなくなる(組合せ回路の論理遅延に対してのケアをする必要がほぼなくなる)。このため、クロック周波数の高速化を見込むことができる。この技術は高速なクロックが必要な場合や、同期したクロックを使うことができない場合に使われる。ただし、タイミングについては全く考慮しないで良いわけではなく、制御信号間の遅延値のずれが一定時間におさまるような制約を設ける場合がほとんどである。
 図2は、非同期転送回路1を備えるデータ処理装置10の構成例を示すブロック図である。CPUクロックCPU-CLKに同期して動作するCPU7_3と、バスクロックBUS-CLKに同期して動作するバス(BUS)7_4との間に、非同期転送回路(非同期ブリッジ)1を備える。非同期転送回路1は、CPUクロックCPU-CLKに同期して動作するCPU側ブリッジ回路BAと、バスクロックBUS-CLKに同期して動作するバス側ブリッジ回路BBとを含む。CPU側ブリッジ回路BAはCPU7_3と例えばバスプロトコルで信号の授受を行っており、バス側ブリッジ回路BBはバス7_4と例えば同じ(または異なる)バスプロトコルで信号の授受を行っているものとする。CPU側ブリッジ回路BAからペイロード信号Pをバス側ブリッジ回路BBに転送するとき、ペイロード信号Pが受信されるバス側ブリッジ回路BBで安定するタイミングを示すための制御信号CsABとCsBAが送受される。CPU側ブリッジ回路BAから送信される制御信号CsABは、例えばペイロード信号Pが出力され、安定していることを示すバリッド(Valid)信号であり、バス側ブリッジ回路BBから送信される制御信号CsBAは、例えばペイロード信号Pを受信する準備が整ったことを示すレディ(Ready)信号である。一連のデータが送受されるときには、制御信号CsABとCsBAは、送信するデータのインデックスと受信したデータのインデックスをそれぞれ示す、ポインター(Pointer)であってもよい。CPU側ブリッジ回路BAから送信される制御信号CsABは、バスクロックBUS_CLKドメインで動作するフリップフロップ3_ABで受信され、ペイロード信号Pの取り込みタイミングを生成する組合せ回路5を経てフリップフロップ4に供給される。フリップフロップ3_ABは、非同期信号のメタステーブル抑止のためのフリップフロップであり、2段またはそれ以上の段数のフリップフロップで構成される。この取り込みタイミングは、ペイロード信号PがバスクロックBUS_CLKに対して安定しているタイミングを保証するものである。フリップフロップ3_BAも、非同期信号のメタステーブル抑止のためのフリップフロップであり、2段またはそれ以上の段数のフリップフロップで構成される。フリップフロップ3_BAはバス側ブリッジ回路BBから送信される制御信号CsBAをCPU側ブリッジ回路BAで受信する。制御信号CsABとCsBAは、必ずしも双方向である必要はない。例えば、ペイロードPが送出される周期が一定間隔以上であることが保証される場合には、CsABとしてValid信号のみを使って良いし、CsBAとしてReady信号のみを使ってもよい。図2には、ペイロード信号がCPU側からバス側に転送される場合のみが示されるが、逆方向の非同期転送回路も同様に構成することができる。これらの事項は、実施形態1に限らず全ての実施形態にも同様に妥当する。
 非同期転送を含むデータ処理回路を、安全性の観点から二重化する場合について検討する。
 図3は、それぞれが二重化された2組の回路対の間に、図2に示される非同期転送回路を備えたデータ処理装置の構成例(比較例)を示すブロック図である。
 本体側[R]においては、互いに非同期のクロックACLKとBCLKにそれぞれ同期して動作するACLK側本体回路LRAとBCLK側本体回路LRBとが、ACLK側ブリッジ回路BRAとBCLK側ブリッジ回路BRBとで構成される非同期転送回路で互いに接続されている。ブリッジ回路BRAは制御信号CsRABとペイロード信号PRを送出し、ブリッジ回路BRBは制御信号CsRABをフリップフロップ2_RABで受信し、組合せ回路5_Rによって生成されたタイミング信号によりペイロード信号PRをフリップフロップ4_Rに取り込む。ブリッジ回路BRBは制御信号CsRBAを送出し、ブリッジ回路BRAは制御信号CsRBAをフリップフロップ3_RBAで受信する。
 検査側[C]においては、互いに非同期のクロックACLKとBCLKにそれぞれ同期して動作するACLK側検査回路LCAとBCLK側検査回路LCBとが、ACLK側ブリッジ回路BCAとBCLK側ブリッジ回路BCBとで構成される非同期転送回路で互いに接続されている。ブリッジ回路BCAは制御信号CsCABとペイロード信号PCを送出し、ブリッジ回路BCBは制御信号CsCABをフリップフロップ2_CABで受信し、組合せ回路5_Cによって生成されたタイミング信号によりペイロード信号PCをフリップフロップ4_Cに取り込む。ブリッジ回路BCBは制御信号CsCBAを送出し、ブリッジ回路BCAは制御信号CsCBAをフリップフロップ3_CBAで受信する。
 ACLK側の本体回路LRAと検査回路LCAは、例えば図1に示されるように二重化されており、図示は省略されているが、不一致を検出する比較回路が設けられている。BCLK側の本体回路LRBと検査回路LCBも同様に二重化されており、図示は省略されているが、不一致を検出する比較回路が設けられている。
 制御信号CsRAB,CsRBA,CsCAB,CsCBAとペイロード信号PR,PCがACLKドメインとBCLKドメインとの間で非同期転送される信号である。両者のクロック(ACLKとBCLK)は非同期であり、両者の信号間でのタイミングは考慮されないため、本体側[R]と検査側[C]との間で動きがずれてしまう場合がある。制御信号CsRABとCsCABは、ACLKドメインから送出されるので、ACLKについてみれば同一のクロックサイクルにおける信号状態やデータは故障がなければ互いに同一である。ペイロード信号PRとPCについても同様に、ACLKドメインから送出されるので、ACLKについてみれば同一のクロックサイクルにおける信号状態やデータは故障がなければ互いに同一である。しかし、制御信号CsRABがフリップフロップ3_RABによってBCLKドメインに取り込まれるタイミングと、制御信号CsCABがフリップフロップ3_CABによってBCLKドメインに取り込まれるタイミングとは、BCLKドメインにおける同一サイクルとは限らない。非同期転送では、ACLKとBCLKの位相差が任意であるためである。制御信号CsRABとCsCABがBCLKドメインに取り込まれたタイミングが互いに異なると、ペイロード信号PRとPCについても取り込まれるタイミングが互いに異なることとなる。このため、受信したBCLKドメインで二重化されている本体回路LRBと検査回路LCBには、本来同じデータが同じサイクル(又は所定のサイクル数の時間差)で供給されることが期待されるところ、実際に供給されるサイクルにずれが生じてしまい、それに伴って出力にもずれが生じ、その比較結果は不一致となる。
 このように、非同期転送回路を含む回路対を単純に二重化しただけでは、本体側[R]と検査側[C]とも論理的に動作に問題がない即ち故障がない場合でも、両者の動きが異なり比較エラーを検出してしまう可能性がある。
 〔実施形態1〕<それぞれ二重化された2組の回路対間の非同期転送>
 図4は、実施形態1のデータ処理装置10の構成例を示すブロック図である。上記の課題を解決するために、データ処理装置10は、ACLKドメインにおける本体側[RA]と検査側[CA]の二重化とBCLKドメインにおける本体側[RB]と検査側[CB]の二重化とをそれぞれ行うが、非同期転送回路の一部は二重化の対象外としている。即ち、ACLKドメインにおける本体側[RA]は本体回路LRAと本体側ブリッジ回路BRAよりなり、検査側[CA]は検査回路LCAと検査側ブリッジ回路BCAよりなる。BCLKドメインにおける本体側[RB]は本体回路LRBと本体側ブリッジ回路BRBよりなり、検査側[CB]は検査回路LCBと検査側ブリッジ回路BCBよりなる。非同期転送回路1は、本体側[RA]と検査側[CA]に含まれ二重化された本体側ブリッジ回路BRAと検査側ブリッジ回路BCAと、本体側[RB]と検査側[CB]に含まれ二重化された本体側ブリッジ回路BRBと検査側ブリッジ回路BCBと、二重化の対象外であるフリップフロップ3_ABと3_BAと4、組合せ回路5、及び比較回路2_3と2_4と2_5を含んで構成される。
 ACLKドメインにおいて、本体側ブリッジ回路BRAは制御信号CsRABとペイロード信号PRAを出力し、検査側ブリッジ回路BCAは制御信号CsCABとペイロード信号PCAを出力し、比較回路2_3は制御信号CsRABとCsCABとを比較し、比較回路2_5はペイロード信号PRAとPCAとを比較する。同一のクロックドメインであるから、故障がない限り不一致は検出されない。ACLKドメインからは、制御信号CsRABが二重化されない制御信号CsABとして送出され、ペイロード信号PRAが二重化されないペイロード信号Pとして送出される。
 BCLKドメインでは、二重化されていないフリップフロップ3_ABによって制御信号CsABが取り込まれ、組合せ回路5によって規定されるタイミングによって、フリップフロップ4がペイロード信号Pを取り込む。BCLKドメインに取り込まれた制御信号CsABとペイロード信号Pは、CsRABとPRBとして本体側ブリッジ回路BRBに入力され、CsCABとPCBとして検査側ブリッジ回路BCBに入力されるが、取り込み回路が二重化されていないので、サイクルずれは原理的に発生しない。
 BCLKドメインにおいて、本体側ブリッジ回路BRBは制御信号CsRBAを出力し、検査側ブリッジ回路BCBは制御信号CsCBAを出力し、比較回路2_4は制御信号CsRBAとCsCBAとを比較する。上述のように入力された制御信号CsRABとCsCAB、ペイロード信号PRBとPCBにそれぞれサイクルずれが発生しないので、故障がない限り不一致は検出されない。BCLKドメインからは、制御信号CsRBAが二重化されない制御信号CsBAとして送出される。ACLKドメインでは、二重化されていないフリップフロップ3_BAによって制御信号CsBAが取り込まれ、CsRBAとCsCBAとして、本体側ブリッジ回路BRAと検査側ブリッジ回路BCAにそれぞれ入力される。
 以上述べてきたように、ACLKドメインにおける本体側[RA]と検査側[CA]と、BCLKドメインにおける本体側[RB]と検査側[CB]とは、それぞれ前述のようなタイミングずれを起こすことなく二重化される。二重可能対象外とされる回路は、フリップフロップ3_ABと3_BAとフリップフロップ4、及び組合せ回路5であり、二重化された回路の規模と比較して極めて小さいので、これらを二重化の対象外としたことによる故障検出率の低下は極めて限定的である。これにより、非同期のクロックドメインでそれぞれ二重化された回路の間での非同期転送が可能となり、高性能と高信頼を両立させることができる。
 以上の説明では、ACLKドメインからBCLKドメインへの転送についてのみ説明したが、逆方向の非同期転送についても同様に構成することができ、同様の効果を奏することができる。
 <デュアルCPU+デュアルバスブリッジ>
 図5は、二重化されたCPUとバスを含むデータ処理装置の構成例を示すブロック図である。データ処理装置10は、本体側[RA]のCPU-RA(LRA_1)とバス-RA(BUS-RA)、検査側[CA]のCPU-CA(LCA_1)とバス-CA(BUS-CA)、比較回路2_6、故障管理回路EML、及び、二重化されていない他の論理回路7_5を備える。他の論理回路7_5とは、例えばメモリや周辺回路モジュールなどである。論理回路7_5からの入力はバス-RA(BUS-RA)とバス-CA(BUS-CA)を介して並行してCPU-RA(LRA_1)とCPU-CA(LCA_1)とに同一の入力データとして入力される。CPU-RA(LRA_1)とCPU-CA(LCA_1)とは同一の処理を実行しており、故障などがなければ同じ処理結果が出力される。比較回路2_6は、バス-RA(BUS-RA)の出力とバス-CA(BUS-CA)の出力とを比較し、不一致の場合には本体側[RA]または検査側[CA]のどちらか一方または両方に故障が発生したものとして、故障管理回路EMLに通知する。故障管理回路EMLは割り込みやリセットなど、故障に対応して予め決められた処理を起動する。図5には全体がACLKドメインで同期動作するデータ処理装置10が示されている。同一のデータが同時に入力された二重化されたCPUとバスは、同時に並列して同じ処理を実行し、同時に同じ処理結果を出力することが期待される。このため、比較回路2_6はバス-RA(BUS-RA)の出力とバス-CA(BUS-CA)の出力との比較を毎サイクル常に行うことによって、単発的な故障も検出することができる。なお、本体側[RA]と検査側[CA]の動作は、図1を引用して説明したように意図的に所定のサイクル数だけずれて同一の処理を実行するように構成してもよい。
 全てがACLKドメインで動作するために、上述のように、処理結果の比較のタイミング制御は容易であり、比較回路2_6を毎サイクル常に動作させることにより、常時、故障を監視することができる。一方、CPUとバスとを同じクロックドメインで同期動作させるためには、どちらか低い方の性能限界に合せることとなるため、全体の動作周波数が制限されることとなる。
 図6は、実施形態1の一例として、非同期で動作するCPUとバスがそれぞれ二重化されたデータ処理装置10の構成例を示すブロック図である。データ処理装置10は、図5に示したデータ処理装置と同様に、本体側[RA]のCPU-RA(LRA_1)とバス-RA(BUS-RA)、検査側[CA]のCPU-CA(LCA_1)とバス-CA(BUS-CA)、比較回路2_6、故障管理回路EML、及び、例えばメモリや周辺回路モジュールなどの二重化されていない他の論理回路7_5を備える。比較回路2_6は、バス-RA(BUS-RA)の出力とバス-CA(BUS-CA)の出力とを比較し、不一致の場合には本体側[RA]または検査側[CA]のどちらか一方または両方に故障が発生したものとして、故障管理回路EMLに通知する。本実施形態1のデータ処理装置10は、本体側[RA]のCPU-RA(LRA_1)と検査側[CA]のCPU-CA(LCA_1)とをACLKドメインにおいて二重化し、本体側[RB]のバス-RA(BUS-RA)と検査側[CB]のバス-CA(BUS-CA)とをBCLKドメインにおいて二重化し、ACLKドメインとBCLKドメインの界面に非同期転送回路1を備える。
 非同期転送回路1は、ACLKドメインで二重化された本体側ブリッジ回路BRAと検査側ブリッジ回路BCAと、BCLKドメインで二重化された本体側ブリッジ回路BRAと検査側ブリッジ回路BCAと、二重化の対象外であるフリップフロップ3_ABと3_BAとフリップフロップ4、組合せ回路5、及び比較回路2_3と2_4と2_5を含んで構成される。ACLKドメインにおいて、本体側ブリッジ回路BRAは本体側[RA]のCPU-RA(LRA_1)と接続され、検査側ブリッジ回路BCAは検査側[CA]のCPU-CA(LCA_1)と接続され、二重化されて、例えば所定のバスプロトコルに準拠してデータ等の入出力を行う。BCLKドメインにおいて、本体側ブリッジ回路BRBは本体側[RB]のBUS-RB(LRB)と接続され、検査側ブリッジ回路BCBは検査側[CB]のBUS-CA(LCB)と接続され、二重化されて、例えば所定のバスプロトコルに準拠してデータ等の入出力を行う。
 ACLKドメインにおいて、本体側ブリッジ回路BRAは制御信号CsRABとペイロード信号PRAを出力し、検査側ブリッジ回路BCAは制御信号CsCABとペイロード信号PCAを出力し、比較回路2_3は制御信号CsRABとCsCABとを比較し、比較回路2_5はペイロード信号PRAとPCAとを比較する。同一のクロックドメインであるから、故障がない限り不一致は検出されない。ACLKドメインからは、制御信号CsRABが二重化されない制御信号CsABとして送出され、ペイロード信号PRAが二重化されないペイロード信号Pとして送出される。
 BCLKドメインでは、二重化されていないフリップフロップ3_ABによって制御信号CsABが取り込まれ、組合せ回路5によって規定されるタイミングによって、フリップフロップ4がペイロード信号Pを取り込む。BCLKドメインに取り込まれた制御信号CsABとペイロード信号Pは、CsRABとPRBとして本体側ブリッジ回路BRBに入力され、CsCABとPCBとして検査側ブリッジ回路BCBに入力されるが、取り込み回路が二重化されていないので、サイクルずれは原理的に発生しない。
 BCLKドメインにおいて、本体側ブリッジ回路BRBは制御信号CsRABを出力し、検査側ブリッジ回路BCBは制御信号CsCABを出力し、比較回路2_4は制御信号CsRABとCsCABとを比較する。上述のように入力された制御信号CsRABとCsCAB、ペイロード信号PRBとPCBにそれぞれサイクルずれが発生しないので、故障がない限り不一致は検出されない。BCLKドメインからは、制御信号CsRBAが二重化されない制御信号CsBAとして送出される。ACLKドメインでは、二重化されていないフリップフロップ3_BAによって制御信号CsBAが取り込まれ、CsRBAとCsCBAとして、本体側ブリッジ回路BRAと検査側ブリッジ回路BCAにそれぞれ入力される。
 各比較回路2_3、2_4、2_5及び2_6からの不一致の通知は、故障管理回路EMLに集約され、少なくともいずれか1ヵ所から不一致が通知されたときには、故障管理回路EMLは検出された故障に対応するための処理、例えば割り込みやリセットなどを適切に発生させることができる。
 以上述べてきたように、ACLKドメインにおける本体側[RA]CPU-RA(LRA_1)と検査側[CA]CPU-CA(LCA_1)と、BCLKドメインにおける本体側[RB]BUS-RB(LRB)と検査側[CB]BUS-CA(LCB)とは、それぞれ前述のようなタイミングずれを起こすことなく二重化される。これにより、デュアルCPU+デュアルバスブリッジを備えるマイクロコントローラにおいて、高性能と高信頼を両立させることができる。
 特に制限されないが、データ処理装置10は、例えば、公知のCMOS(Complementary Metal-Oxide-Semiconductor field effect transistor)LSIの製造技術を用いて、シリコンなどの単一半導体基板上に形成される。
 これにより、デュアルCPU+デュアルバスブリッジ等の非同期のクロックドメインでそれぞれ二重化された2組の回路対の間での非同期転送を可能とする、1チップLSIが提供され、高性能と高信頼を両立させることができる。
 <一定の時間差を保って実行される二重化方式>
 図1を引用して説明したように、二重化された本体側[RA][RB]と検査側[CA][CB]の回路、即ち、回路LRAとLCA,LRBとLCB、CPU-RA(LRA_1)、CPU-CA(LCA_1)、とBUS-RB(LRB)やBUS-CB(LCB)の動作は、同時、即ち同じクロックサイクルではなく、意図的に1~2サイクルずらすことが多い。
 図7は、実施形態1のデータ処理装置10に含まれる非同期転送回路1の別の構成例を示すブロック図である。図7には非同期転送回路1のみの構成例が示されており、図4、図6に示されるデータ処理装置10に搭載される非同期転送回路1を置き換えることができる。非同期転送回路1は、ACLKドメインで二重化されている本体[RA]側ブリッジ回路BRAと検査[CA]側ブリッジ回路BCAと、BCLKドメインで二重化されている本体[RB]側ブリッジ回路BRBと検査[CB]側ブリッジ回路BCBと、二重化の対象外であるフリップフロップ3_ABと3_BAと4、組合せ回路5、及び比較回路2_3と2_4と2_5を含む。これらの構成と動作は図4、図6に示される非同期転送回路1と同様であるので、説明を省略する。図7に示される別の構成例の非同期転送回路1は、さらに遅延回路6_5~6_10を備える。
 ACLKドメインにおいて、遅延回路6_5は本体[RA]側ブリッジ回路BRAから出力される制御信号CsRABに挿入されており、所定サイクル数の遅延を加えて比較回路2_3に入力する。遅延回路6_6はBCLKドメインから転送されフリップフロップ3_BAで受信した制御信号CsRBAに挿入されており、所定サイクル数の遅延を加えて制御信号CsCBAとして検査[CA]側ブリッジ回路BRAに入力する。遅延回路6_7は本体[RA]側ブリッジ回路BRAから出力されるペイロード信号PRAに挿入されており、所定サイクル数の遅延を加えて比較回路2_5に入力する。
 BCLKドメインにおいて、遅延回路6_8は本体[RB]側ブリッジ回路BRBから出力される制御信号CsRBAに挿入されており、所定サイクル数の遅延を加えて比較回路2_4に入力する。遅延回路6_9はACLKドメインから転送されフリップフロップ3_ABで受信した制御信号CsRABに挿入されており、所定サイクル数の遅延を加えて制御信号CsCABとして検査[CB]側ブリッジ回路BRBに入力する。遅延回路6_10はACLKドメインから転送されフリップフロップ4で受信したペイロード信号に挿入されており、所定サイクル数の遅延を加えてペイロード信号PCBとして検査[CB]側ブリッジ回路BRBに入力する。
 遅延回路6_5~6_7は、それぞれ1~数段のフリップフロップで構成することができ、ACLKドメインにおいて検査[CA]側回路及びブリッジ回路BCAの動作を、本体[RA]側回路及びブリッジ回路BRAの動作に対して一律に1~数クロックサイクル遅延させる。遅延回路6_8~6_10は、それぞれ1~数段のフリップフロップで構成することができ、BCLKドメインにおいて検査[CB]側回路及びブリッジ回路BCBの動作を、本体[RB]側回路及びブリッジ回路BRBの動作に対して一律に1~数クロックサイクル遅延させる。遅延回路6_5~6_7による遅延量(サイクル数)と遅延回路6_8~6_10による遅延量(サイクル数)とは同じである必要はない。
 これにより、同一のデータ処理が一定の時間差(サイクル数)を保って実行される二重化方式においても、適切に故障を検出することができ、信頼性を向上することができる。本体[RA]側回路と検査[CB]側回路の動作が同時ではないので、本体[RA]側回路と検査[CB]側回路に同時に影響を与える外来雑音が混入した場合にも、その時点で実行している処理は互いに異なるから、雑音によって処理結果に誤りが生じる場合にも誤り方が異なるため、より的確に故障を検出することができる。
 〔実施形態2〕<ペイロード信号を二重化>
 実施形態1では、非同期転送回路1内のACLKドメインとBCLKドメインの界面において、制御信号CsABとCsBA及びペイロード信号Pを二重化しないことにより、非同期のクロックドメインでそれぞれ二重化された回路の間での非同期転送を可能とした。本実施形態2では、非同期転送回路1内のACLKドメインとBCLKドメインの界面において、ペイロード信号Pを二重化することにより、より信頼性を向上させる。
 図8は、実施形態2のデータ処理装置10に含まれる非同期転送回路1の構成例を示すブロック図である。非同期転送回路1は、ACLKドメインで二重化されている本体[RA]側ブリッジ回路BRAと検査[CA]側ブリッジ回路BCAと、BCLKドメインで二重化されている本体[RB]側ブリッジ回路BRBと検査[CB]側ブリッジ回路BCBと、二重化の対象外であるフリップフロップ3_ABと3_BA、及び比較回路2_3と2_4を含む。これらの構成と動作は図4、図6に示される非同期転送回路1と同様であるので、説明を省略する。図8に示される実施形態2の非同期転送回路1は、フリップフロップ4_Rと組合せ回路5_R、フリップフロップ4_Cと組合せ回路5_Cとが、本体[RB]側ブリッジ回路BRBと検査[CB]側ブリッジ回路BCBとにそれぞれ含まれ、BCLKドメインで二重化されている。フリップフロップ3_ABによってBCLKドメインに転送された制御信号CsABは、同じ値のまま本体[RB]側ブリッジ回路BRBの組合せ回路5_Rと検査[CB]側ブリッジ回路BCBの組合せ回路5_Cとにそれぞれ入力される。組合せ回路5_Rと組合せ回路5_Cとは故障がない限り同じ動作を行って、二重化されて転送されて来るペイロード信号PRとPCを、それぞれフリップフロップ4_Rと4_Cでそれぞれ取り込む。ペイロード信号PRとPCはACLKドメインで二重化されている、本体[RA]側回路LRAと検査[CA]側回LCAとからそれぞれ、ブリッジ回路BRAとブリッジ回路BCAを介して出力されており、故障がない限り同じ値であるので、フリップフロップ4_Rと4_Cでそれぞれ取り込まれたペイロード信号も、同じ値であるものと期待される。
 以上説明した通り、本実施形態2では、非同期転送回路1内のACLKドメインとBCLKドメインの界面において、ペイロード信号PをPRとPCに二重化し、合せてその取り込み回路であるフリップフロップ4_Rと4_C、組合せ回路5_Rと5_Cとをそれぞれ二重化することにより、より信頼性を向上することができる。
 <一定の時間差を保って実行される二重化方式>
 図9は、実施形態2のデータ処理装置10に含まれる非同期転送回路1の別の構成例を示すブロック図である。非同期転送回路1は、ACLKドメインで二重化されている本体[RA]側ブリッジ回路BRAと検査[CA]側ブリッジ回路BCAと、BCLKドメインで二重化されている本体[RB]側ブリッジ回路BRBと検査[CB]側ブリッジ回路BCBと、二重化の対象外であるフリップフロップ3_ABと3_BA、及び比較回路2_3と2_4を含む。さらに、フリップフロップ4_Rと組合せ回路5_R、フリップフロップ4_Cと組合せ回路5_Cとが、本体[RB]側ブリッジ回路BRBと検査[CB]側ブリッジ回路BCBとにそれぞれ含まれ、BCLKドメインで二重化されている。これらの構成と動作は図8に示される非同期転送回路1と同様であるので、説明を省略する。図9に示される別の構成例の非同期転送回路1は、さらに遅延回路6_5、6_6、6_8及び6_9を備える。
 ACLKドメインにおいて、遅延回路6_5は本体[RA]側ブリッジ回路BRAから出力される制御信号CsRABに挿入されており、所定サイクル数の遅延を加えて比較回路2_3に入力する。遅延回路6_6はBCLKドメインから転送されフリップフロップ3_BAで受信した制御信号CsRBAに挿入されており、当該所定サイクル数の遅延を加えて制御信号CsCBAとして検査[CA]側ブリッジ回路BRAに入力する。
 BCLKドメインにおいて、遅延回路6_8は本体[RB]側ブリッジ回路BRBから出力される制御信号CsRBAに挿入されており、所定サイクル数の遅延を加えて比較回路2_4に入力する。遅延回路6_9はACLKドメインから転送されフリップフロップ3_ABで受信した制御信号CsRABに挿入されており、当該所定サイクル数の遅延を加えて制御信号CsCABとして検査[CB]側ブリッジ回路BRBに入力する。
 遅延回路6_5~6_6は、それぞれ1~数段のフリップフロップで構成することができ、ACLKドメインにおいて検査[CA]側回路及びブリッジ回路BCAの動作を、本体[RA]側回路及びブリッジ回路BRAの動作に対して一律に1~数クロックサイクル遅延させる。遅延回路6_8~6_9は、それぞれ1~数段のフリップフロップで構成することができ、BCLKドメインにおいて検査[CB]側回路及びブリッジ回路BCBの動作を、本体[RB]側回路及びブリッジ回路BRBの動作に対して一律に1~数クロックサイクル遅延させる。遅延回路6_5~6_6による遅延量(サイクル数)と遅延回路6_8~6_9による遅延量(サイクル数)とは同じである必要はない。
 これにより、本実施形態2に示すようにペイロード信号PRとPCを二重化したデータ処理装置10においても、同一のデータ処理が一定の時間差(サイクル数)を保って実行される二重化方式を適用して、信頼性を向上することができる。
 〔実施形態3〕<ペイロード信号と制御信号を二重化>
 実施形態1では、非同期転送回路1内のACLKドメインとBCLKドメインの界面において、制御信号CsABとCsBA及びペイロード信号Pを二重化しないことにより、非同期のクロックドメインでそれぞれ二重化された回路の間での非同期転送を可能とした。実施形態2では、非同期転送回路1内のACLKドメインとBCLKドメインの界面において、ペイロード信号Pを二重化することにより、信頼性をより向上させた。本実施形態3では、さらに制御信号CsAB,CsBAも二重化することにより、信頼性をより向上させる。
 図10は、実施形態3のデータ処理装置10に含まれる非同期転送回路1の構成例を示すブロック図である。非同期転送回路1は、ACLKドメインで二重化されている本体[RA]側ブリッジ回路BRAと検査[CA]側ブリッジ回路BCAと、BCLKドメインで二重化されている本体[RB]側ブリッジ回路BRBと検査[CB]側ブリッジ回路BCBとを含む。これらの構成と動作は図4、図6に示される非同期転送回路1と同様であるので、説明を省略する。本実施形態3では、ペイロード信号に加えて制御信号も二重化されるので、本体[RA]側のペイロード信号PRと制御信号CsRAB及びCsRBAが、検査[CA]側のペイロード信号PCと制御信号CsCAB及びCsCBAと二重化される。これに伴って、BCLKドメインでは、制御信号CsRABとCsCABを受信するフリップフロップ3_RABと3_CABが二重化され、ペイロード信号PRとPCを受信するフリップフロップ4_Rと4_C、及びその取り込みタイミングを与える組合せ回路5_Rと5_Cとが、それぞれ二重化されている。非同期転送回路1は、さらに比較回路2_7と2_8を備える。
 制御信号CsRABとCsCABとが同じタイミングで遷移する制御信号であっても、それらがフリップフロップ3_RABと3_CABに受信されるタイミングは、必ずしも同じタイミングと限らない。これは、「解決すべき課題」において指摘した通りである。そこで、本体側である制御信号CsRABをフリップフロップ3_RABで受信した信号のみを、ペイロード信号PRとPCを受信するタイミングを生成するために組合せ回路5_Rと5_Cの両方に供給し、検査側である制御信号CsCABをフリップフロップ3_CABで受信した信号は、上記本体側の信号との比較にのみ用い、組合せ回路5_Cには供給しない。
 比較回路2_7は、本体側である制御信号CsRABをフリップフロップ3_RABで受信した信号と検査側である制御信号CsCABをフリップフロップ3_CABで受信した信号とを比較して不一致である場合には、故障として故障管理回路EMLに通知するが、1サイクルのずれは許容する。原理的に1サイクルのずれは、故障が無くても発生する可能性があるので、厳密に比較すると故障でない場合にまで故障に対応する処理が起動されてしまう問題を回避するためである。
 比較回路2_7は3入力として、本体側である制御信号CsRABをフリップフロップ3_RABで受信した信号のうち、組合せ回路5_Rに入力されるノードN4-1-1と、組合せ回路5_Cに入力されるノードN4-1-2と、検査側である制御信号CsCABをフリップフロップ3_CABで受信した信号のノードN4-2とを比較することができる。ノードN4-1-1とノードN4-2の比較、及び、ノードN4-1-2とノードN4-2の比較は、1サイクルのずれを許容した一致/不一致比較を行い、ノードN4-1-1とノードN4-1-2はサイクルずれを許容しない一致/不一致比較を行い、いずれか1つのノードが他のノードと異なる場合に不一致として検出し、故障管理回路EML(不図示)に通知する。
 本体側の制御信号CsRABをフリップフロップ3_RABで受信した信号と検査側の制御信号CsCABをフリップフロップ3_CABで受信した信号とは、上述のように1サイクルのずれが発生する可能性がある。しかし、本体側の制御信号CsRABのみがペイロード信号PRとPCの取り込みタイミングの生成に使用されるので、故障がない限りその取り込みタイミングにサイクルずれが発生することはない。また、検査側の制御信号CsCABをフリップフロップ3_CABで受信した信号は本体側との比較に用いられるが、発生し得る1サイクルのずれは、比較回路2_7によって吸収されるので、誤って故障として検出される問題が回避される。
 ACLKドメインにおいて、本体側の制御信号CsRBAをフリップフロップ3_RBAで受信した信号と検査側の制御信号CsCBAをフリップフロップ3_CBAで受信した信号についても、同様に、1サイクルのずれが発生する可能性がある。しかし、本体側ブリッジ回路BRAと検査側ブリッジ回路BCAには、ともに本体側の制御信号CsRBAをフリップフロップ3_RBAで受信した信号が入力されるので、本体側ブリッジ回路BRAと検査側ブリッジ回路BCAの動作、及びその後段の本体側回路と検査側回路の動作は、故障がない限りサイクルずれが発生することはない。また、検査側の制御信号CsCBAをフリップフロップ3_CBAで受信した信号は本体側との比較に用いられるが、発生し得る1サイクルのずれは、比較回路2_8によって吸収されるので、誤って故障として検出される問題が回避される。
 これにより、非同期転送回路1において、ペイロード信号と制御信号がともに二重化され、実施形態2の場合よりもさらに信頼性を高めることができる。
 <一定の時間差を保って実行される二重化方式>
 図11は、実施形態3のデータ処理装置10に含まれる非同期転送回路1の別の構成例を示すブロック図である。非同期転送回路1は、ACLKドメインで二重化されている本体[RA]側ブリッジ回路BRAと検査[CA]側ブリッジ回路BCAとフリップフロップ3_RBAと3_CBA、BCLKドメインで二重化されている本体[RB]側ブリッジ回路BRBと検査[CB]側ブリッジ回路BCBとフリップフロップ3_RABと3_CAB、及び比較回路2_7と2_8を含む。さらに、フリップフロップ4_Rと組合せ回路5_R、フリップフロップ4_Cと組合せ回路5_Cとが、本体[RB]側ブリッジ回路BRBと検査[CB]側ブリッジ回路BCBとにそれぞれ含まれ、BCLKドメインで二重化されている。これらの構成と動作は図10に示される非同期転送回路1と同様であるので、説明を省略する。図9に示される別の構成例の非同期転送回路1は、さらに遅延回路6_6_1、6_6_2、6_9_1及び6_9_2を備える。
 ACLKドメインにおいて、検査[CA]側回路LCA(不図示)及びブリッジ回路BCAは、本体[RA]側LRA(不図示)及びブリッジ回路BRAから、1~複数の一定サイクルの時間差(ずれ)を保って動作しており、遅延回路6_6_1、6_6_2はその一定サイクルの遅延を与える遅延回路である。BCLKドメインにおいて、検査[CB]側回路LCB(不図示)及びブリッジ回路BCBは、本体[RB]側LRB(不図示)及びブリッジ回路BRBから、1~複数の一定サイクルの時間差(ずれ)を保って動作しており、遅延回路6_9_1、6_9_2はその一定サイクルの遅延を与える遅延回路である。
 ACLKドメインにおいて、遅延回路6_6_1と6_6_2はBCLKドメインから転送されフリップフロップ3_RBAで受信した制御信号CsRBAに挿入されており、遅延回路6_6_1は上記一定サイクル数の遅延を加えて比較回路2_8に入力し、遅延回路6_6_2は同じく上記一定サイクル数の遅延を加えて比較回路2_8に入力し、合せてブリッジ回路BCAに入力する。
 BCLKドメインにおいて、遅延回路6_9_1と6_9_2はACLKドメインから転送されフリップフロップ3_RABで受信した制御信号CsRABに挿入されている。遅延回路6_9_1は上記一定サイクル数の遅延を加えて比較回路2_7に入力し、遅延回路6_9_2は同じく上記一定サイクル数の遅延を加えて比較回路2_7に入力し、合せてブリッジ回路BCBの組合せ回路5_Cに入力する。
 これにより、同一のデータ処理が一定の時間差(サイクル数)を保って実行される二重化方式においても、適切に故障を検出することができる。
 〔実施形態4〕
 実施形態1~3ではACLKドメインの回路とBCLKドメインの回路の両方をそれぞれ二重化の対象としているのに対し、本実施形態4は、一方の回路は別の手段で安全性を確保している状況を想定して、一方だけを二重化する実施の形態である。ここで、安全性を確保する別の手段とは、例えば、定期的なスキャンテストなどによる回路の故障テストである。図12と図13には、二重化されていない側から二重化されている側へペイロード信号を非同期転送する非同期転送回路1が示され、図14には逆に二重化されている側から二重化されていない側へペイロード信号を非同期転送する非同期転送回路1が示される。なお、二重化されていない側を二重化された回路に置き換えることにより、実施形態1~3で開示した回路と同様に構成することができる。
 <二重化された回路への別の回路からの非同期転送>
 図12は、実施形態4のデータ処理装置10の第1の構成例を示すブロック図である。
 データ処理装置10は、ACLKドメインで動作する論理回路LAと、BCLKドメインで二重化された本体側[RB]回路LRBと検査側[CB]回路LCBと、非同期転送回路1とを含んで構成される。非同期転送回路1は、論理回路LAに接続されACLKドメインで動作するブリッジ回路BAと、BCLKドメインで動作するブリッジ回路BBとを備える。ブリッジ回路BBは、二重化されていないフリップフロップ3_ABと比較回路2_4を備え、また、本体側[RB]回路LRBと検査側[CB]回路LCBにそれぞれ接続され、二重化されて動作するブリッジ回路BRBとBCBとを備える。ブリッジ回路BRBとBCBとは、それぞれペイロード信号Pを受信するフリップフロップ4_Rと4_C、及びそれらに与える取り込みタイミングを生成する組合せ回路5_Rと5_Cとを備える。組合せ回路5_Rと5_Cとは同一の処理を行なう二重化された回路である。
 ACLKドメインで動作する論理回路LAからはブリッジ回路BAを介してペイロード信号Pと制御信号CsABが送出され、ブリッジ回路BAはフリップフロップ回路3_BAを備えて、BCLKドメインから転送される制御信号CsBAを受信する。
 制御信号CsABは二重化されていないフリップフロップ3_ABによってBCLKドメインで受信され、本体側[RB]ブリッジ回路BRBに入力され、並行して検査側[CB]ブリッジ回路BCBに入力される。単一の信号であるからブリッジ回路BRBとBCBにそれぞれ入力されても時間差(サイクル差)は生じない。故障がない限り、組合せ回路5_Rと5_Cとは同一の取り込みタイミングを、フリップフロップ4_Rと4_Cに与え、二重化されていないペイロード信号Pを、フリップフロップ4_Rと4_Cとで受信する。二重化されていないペイロード信号Pを同一の取り込みタイミングで取り込むので、フリップフロップ4_Rと4_Cによって受信されたペイロード信号には、サイクルずれは発生しない。
 本体側[RB]ブリッジ回路BRBが出力する制御信号CsRBAと、検査側[CB]ブリッジ回路BCBが出力する制御信号CsCBAとは、比較回路2_4に入力されて比較され、不一致の場合は故障管理回路EML(不図示)に通知される。本体側[RB]の制御信号CsRBAは、制御信号CsBAとしてACLKドメインに転送され、ブリッジ回路BAのフリップフロップ回路3_BAに入力される。
 図13は、実施形態4のデータ処理装置10の第2の構成例を示すブロック図である。
 データ処理装置10は、ACLKドメインで動作する論理回路LAと、BCLKドメインで二重化された本体側[RB]回路LRBと検査側[CB]回路LCBと、非同期転送回路1とを含んで構成される。非同期転送回路1は、論理回路LAに接続されACLKドメインで動作するブリッジ回路BAと、BCLKドメインで動作するブリッジ回路BBとを備える。ブリッジ回路BBは、二重化されていないフリップフロップ3_ABと4と組合せ回路5と比較回路2_4とを備え、また、本体側[RB]回路LRBと検査側[CB]回路LCBにそれぞれ接続され、二重化されて動作するブリッジ回路BRBとBCBとを備える。
 ACLKドメインで動作する論理回路LAからはブリッジ回路BAを介してペイロード信号Pと制御信号CsABが送出され、ブリッジ回路BAはフリップフロップ回路3_BAを備えて、BCLKドメインから転送される制御信号CsBAを受信する。制御信号CsABは二重化されていないフリップフロップ3_ABによってBCLKドメインで受信され、組合せ回路5と本体側[RB]ブリッジ回路BRBに入力され、並行して検査側[CB]ブリッジ回路BCBに入力される。組合せ回路5はフリップフロップ4にペイロード信号Pの取り込みタイミングを与え、フリップフロップ4に受信されたペイロード信号Pは、ペイロード信号PRBとPCBとしてそれぞれブリッジ回路BRBとBCBに入力される。元々二重化されていない単一の信号であるからブリッジ回路BRBとBCBにそれぞれ入力されても時間差(サイクル差)は原理的に生じない。
 本体側[RB]ブリッジ回路BRBが出力する制御信号CsRBAと、検査側[CB]ブリッジ回路BCBが出力する制御信号CsCBAとは、比較回路2_4に入力されて比較され、不一致の場合は故障管理回路EML(不図示)に通知される。本体側[RB]の制御信号CsRBAは、制御信号CsBAとしてACLKドメインに転送され、ブリッジ回路BAのフリップフロップ回路3_BAに入力される。
 以上図12と図13を引用して説明したように、二重化された回路と非同期で動作する回路(二重化されているか二重化されていないかは問わない)との間での非同期転送のうち、二重化された回路がペイロード信号を受信する場合において、非同期転送回路の信頼性を高めることができ、全体として高性能と高信頼を両立させることができる。非同期転送回路の一部である、本体側[RB]ブリッジ回路BRBと検査側[CB]ブリッジ回路BCBが二重化されるからである。
 <二重化された回路から別の回路への非同期転送>
 図14は、実施形態4のデータ処理装置10の第3の構成例を示すブロック図である。
 データ処理装置10は、ACLKドメインで二重化された本体側[RA]回路LRAと検査側[CA]回路LCAと、BCLKドメインで動作する論理回路LBと、非同期転送回路1とを含んで構成される。非同期転送回路1は、ACLKドメインで動作するブリッジ回路BAと、論理回路LBに接続されBCLKドメインで動作するブリッジ回路BBとを備える。ブリッジ回路BAは、二重化されていないフリップフロップ3_BAと比較回路2_3と2_5とを備え、また、本体側[RA]回路LRAと検査側[CA]回路LCAにそれぞれ接続され、二重化されて動作するブリッジ回路BRAとBCAとを備える。ブリッジ回路BRAとBCAとは、それぞれ、制御信号CsRABとCsCAB、ペイロード信号PRAとPCAを出力し、制御信号CsRBAとCsCBAが入力される。制御信号CsRABとCsCABは比較回路2_3に入力され、ペイロード信号PRAとPCAは比較回路2_5に入力され、一方または両方の比較回路で不一致が検出された場合には故障管理回路EML(不図示)に通知される。制御信号CsRBAは制御信号CsABとして、また、ペイロード信号PRAはペイロード信号Pとして、BCLKドメインに転送される。
 ブリッジ回路BBは、フリップフロップ3_ABと4と組合せ回路5とを含んで構成される。ACLKドメインから転送される制御信号CsABは、フリップフロップ3_ABで受信され、組合せ回路5に供給される。組合せ回路5は、ACLKドメインに対して出力するCsBAを生成して送出し、また、ペイロード信号Pを取り込むタイミングを、フリップフロップ4に供給する。
 ペイロード信号Pが転送されるBCLKドメインは二重化されていないので、そもそもサイクルずれの問題は発生しない一方、ペイロード信号Pを送出する、ACLKドメインのブリッジ回路BRAとBCAは二重化されることにより、信頼性を向上することができる。
 <一定の時間差を保って実行される二重化方式>
 図12~14を引用して説明した本実施形態4に係るデータ処理装置10は、図7、9、11と同様の考え方により、遅延回路6を適宜挿入することにより、二重化された回路対における同一のデータ処理が一定の時間差(サイクル数)を保って実行されるように変更することができる。
 以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
 例えば、非同期転送回路には、転送方向や転送タイミングの異なる他のペイロード信号の転送回路を追加することができる。本体側回路とそれに接続されるブリッジ回路、検査側回路とそれに接続されるブリッジ回路のブロック分割は、便宜的なものであって、適宜変更することができる。
 本発明は、機能安全のために二重化された論理回路と、非同期で動作する他の論理回路との間の非同期データ転送回路を備えるデータ処理装置に広く適用することができる。
 1 非同期転送回路
 2_1~2_8 比較回路
 3_AB,3_BA,3_RAB,3_RBA,3_CAB,3_CBA フリップフロップ
 4、4_R,4_C フリップフロップ
 5、5_R,5_C 組合せ回路
 6_1~6_10 遅延回路(検査側の動作を所定サイクル数だけずらすための所定段数のフリップフロップ)
 10 データ処理装置
 LA,LB,7_1~7_5 論理回路
 LR,LRA,LRB 本体回路(R:Reference)
 LC,LCA,LCB 検査回路(C:Checker)
 BA,BB ブリッジ回路
 BRA,BRB 本体側ブリッジ回路
 BCA,BCB 検査側ブリッジ回路
 P,PR,PC ペイロード信号
 CsAB,CsBA,CsRAB,CsRBA,CsCAB,CsCBA 非同期転送制御信号
 EML 故障管理回路(Error Management Logic)

Claims (20)

  1.  第1クロックドメインにおいて二重化された第1本体回路と第1検査回路と、前記第1クロックドメインとは非同期の第2クロックドメインにおいて二重化された第2本体回路と第2検査回路と、前記第1クロックドメインと前記第2クロックドメインとの間でペイロード信号の転送を行う非同期転送回路とを備え、
     前記非同期転送回路は、
      前記第1本体回路と前記第1検査回路にそれぞれ接続され前記第1クロックドメインにおいて二重化された第1本体側ブリッジ回路と第1検査側ブリッジ回路と、前記第2本体回路と前記第2検査回路にそれぞれ接続され前記第2クロックドメインにおいて二重化された第2本体側ブリッジ回路と第2検査側ブリッジ回路とを備え、
      前記ペイロード信号を送出する側の第1又は第2本体側ブリッジ回路によって生成され前記ペイロード信号が受信側で安定するタイミングを示す制御信号を有し、前記制御信号と、対応する第1又は第2検査側ブリッジ回路によって生成された検査用制御信号とを比較し、不一致の場合には故障として検出する、
     データ処理装置。
  2.  請求項1において、
     前記第1本体回路と前記第1検査回路とは、前記第1クロックドメインにおいて0サイクル以上の第1サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行し、
     前記第2本体回路と前記第2検査回路とは、前記第2クロックドメインにおいて0サイクル以上の第2サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行し、
     前記非同期転送回路は、前記第1クロックドメインにおいて前記第1サイクル数の時間差で、前記第1本体回路からの出力と前記第1検査回路からの出力とを比較し、不一致の場合には故障として検出し、
     前記制御信号と対応する前記検査用制御信号との比較は、前記第1クロックドメインで行うときには前記第1サイクル数の時間差で行い、前記第2クロックドメインで行うときには前記第2サイクル数の時間差で行う、
     データ処理装置。
  3.  請求項1において、
     前記第1本体側ブリッジ回路は、前記第2本体側ブリッジ回路に前記ペイロード信号と前記制御信号とを転送し、
     前記第1検査側ブリッジ回路は、検査用ペイロード信号と前記検査用制御信号を生成し、前記検査用ペイロード信号を前記第2検査側ブリッジ回路に転送し、
     前記非同期転送回路は、前記第1クロックドメインで前記制御信号と前記検査用制御信号との前記比較を行い、不一致の場合には故障として検出し、
     前記非同期転送回路は、前記制御信号を前記第2クロックドメインに転送し、
     前記第2クロックドメインに転送された前記制御信号に基づいて、前記第2本体側ブリッジ回路は前記ペイロード信号を受信し、前記第2検査側ブリッジ回路は前記検査用ペイロード信号を受信し、前記非同期転送回路はそれぞれで受信された前記ペイロード信号と前記検査用ペイロード信号を比較し、不一致の場合には故障として検出する、
     データ処理装置。
  4.  請求項3において、
     前記第1本体回路と前記第1検査回路とは、前記第1クロックドメインにおいて0サイクル以上の第1サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行し、
     前記第2本体回路と前記第2検査回路とは、前記第2クロックドメインにおいて0サイクル以上の第2サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行し、
     前記非同期転送回路は、前記第1クロックドメインにおいて前記第1サイクル数の時間差で、前記第1本体回路からの出力と前記第1検査回路からの出力とを比較し、不一致の場合には故障として検出し、
     前記制御信号と対応する前記検査用制御信号との比較は、前記第1クロックドメインで前記第1サイクル数の時間差で行い、
     前記ペイロード信号と前記検査用ペイロード信号との比較は、前記第2クロックドメインで前記第2サイクル数の時間差で行う、
     データ処理装置。
  5.  請求項1において、
     前記第1本体側ブリッジ回路は、前記第2本体側ブリッジ回路に前記ペイロード信号と前記制御信号とを転送し、
     前記第1検査側ブリッジ回路は、検査用ペイロード信号と前記検査用制御信号を生成し、前記検査用ペイロード信号と前記検査用制御信号を前記第2検査側ブリッジ回路に転送し、
     前記非同期転送回路は、前記第2クロックドメインで前記制御信号と前記検査用制御信号との間で1サイクルまでのずれを許容する比較を行い、不一致の場合には故障として検出し、
     前記第2クロックドメインに転送された前記制御信号に基づいて、前記第2本体側ブリッジ回路は前記ペイロード信号を受信し、前記第2検査側ブリッジ回路は前記検査用ペイロード信号を受信し、前記非同期転送回路はそれぞれで受信された前記ペイロード信号と前記検査用ペイロード信号を比較し、不一致の場合には故障として検出する、
     データ処理装置。
  6.  請求項5において、
     前記第1本体回路と前記第1検査回路とは、前記第1クロックドメインにおいて0サイクル以上の第1サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行し、
     前記第2本体回路と前記第2検査回路とは、前記第2クロックドメインにおいて0サイクル以上の第2サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行し、
     前記非同期転送回路は、前記第1クロックドメインにおいて前記第1サイクル数の時間差で、前記第1本体回路からの出力と前記第1検査回路からの出力とを比較し、不一致の場合には故障として検出し、
     前記制御信号と対応する前記検査用制御信号との比較は、前記第2クロックドメインで前記第2サイクル数にプラス/マイナス1サイクルの余裕を加えた時間差で行い、当該余裕を含む時間差以内で一致するときには一致とし、当該余裕の範囲内で不一致の場合に故障として検出し、
     前記ペイロード信号と前記検査用ペイロード信号との比較は、前記第2クロックドメインで前記第2サイクル数の時間差で行う、
     データ処理装置。
  7.  請求項5において、
     前記第2本体側ブリッジ回路は、前記ペイロード信号を受信する第2本体側フリップフロップを有し、
     前記第2検査側ブリッジ回路は、前記検査用ペイロード信号を受信する第2検査側フリップフロップを有し、
     前記非同期転送回路は、前記制御信号に基づいて前記第2本体側フリップフロップに前記ペイロード信号の取り込みタイミングを与える信号と、前記制御信号に基づいて前記第2検査側フリップフロップに前記検査用ペイロード信号の取り込みタイミングを与える信号と、前記検査用制御信号との間の3者間の比較を行い、少なくともいずれか1つの信号が他の信号と不一致の場合には故障として検出する、
     データ処理装置。
  8.  請求項7において、
     前記第1本体回路と前記第1検査回路とは、前記第1クロックドメインにおいて0サイクル以上の第1サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行し、
     前記第2本体回路と前記第2検査回路とは、前記第2クロックドメインにおいて0サイクル以上の第2サイクル数の時間差で、互いに同一のデータ処理をそれぞれ実行し、
     前記非同期転送回路は、前記第1クロックドメインにおいて前記第1サイクル数の時間差で、前記第1本体回路からの出力と前記第1検査回路からの出力とを比較し、不一致の場合には故障として検出し、
     前記制御信号に基づいて前記第2本体側フリップフロップに前記ペイロード信号の取り込みタイミングを与える信号と対応する前記検査用制御信号との比較は、前記第2クロックドメインで前記第2サイクル数にプラス/マイナス1サイクルの余裕を加えた時間差で行い、当該余裕を含む時間差以内で一致するときには一致とし、当該余裕の範囲内で不一致の場合に故障として検出し、
     前記制御信号に基づいて前記第2検査側フリップフロップに前記検査用ペイロード信号の取り込みタイミングを与える信号と対応する前記検査用制御信号との比較は、前記第2クロックドメインで行い、プラス/マイナス1サイクルの時間差以内で一致するときには一致とし、プラス/マイナス1サイクルの範囲内で不一致の場合に故障として検出し、
     前記ペイロード信号と前記検査用ペイロード信号との比較は、前記第2クロックドメインで前記第2サイクル数の時間差で行う、
     データ処理装置。
  9.  請求項1において、故障が検出されたことが通知される、故障管理回路をさらに備える、
     データ処理装置。
  10.  請求項1において、
     前記第1本体回路と前記第1検査回路とは、それぞれ同一のプログラムを実行可能な同一の回路構成によるCPUであり、
     前記第2本体回路と前記第2検査回路とは、それぞれ同一の回路構成によるバスブリッジである、
     データ処理装置。
  11.  請求項1において、単一の半導体基板上に形成される、
     データ処理装置。
  12.  第1クロックに同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第1本体回路と第1検査回路と、前記第1クロックとは非同期の第2クロックに同期して動作する第2回路と、前記第1本体回路及び前記第1検査回路と前記第2回路との間でペイロード信号の非同期転送を行う非同期転送回路とを備えるデータ処理装置であって、
     前記非同期転送回路は、前記第1クロックに同期して動作し前記第1本体回路及び前記第1検査回路と接続される第1ブリッジ回路と、前記第2クロックに同期して動作し前記第2回路と接続される第2ブリッジ回路とを備え、前記第1ブリッジ回路と前記第2ブリッジ回路とは、前記ペイロード信号と前記ペイロード信号が受信側で安定しているタイミングを示す非同期転送制御信号とで互いに接続され、
     前記第1ブリッジ回路は、前記第1本体回路との間の入出力信号を第1本体側ペイロード信号及び第1本体側非同期転送制御信号に変換する第1本体側変換回路と、前記第1検査回路との間の入出力信号を第1検査側ペイロード信号及び第1検査側非同期転送制御信号に変換する第1検査側変換回路と、前記第1本体側非同期転送制御信号のうち前記第2ブリッジ回路に送出される出力信号と前記第1検査側非同期転送制御信号のうち対応する出力信号とを比較して不一致を検出する第1の比較回路とを備え、
     前記第1ブリッジ回路は、前記第1本体側非同期転送制御信号のうちの出力信号を前記非同期転送制御信号のうちの出力信号として前記第2ブリッジ回路に送出し、
     前記第2ブリッジ回路は、前記第1ブリッジ回路から受信する前記非同期転送制御信号のうちの入力信号によって示されるタイミングで、前記ペイロード信号を受信し、前記第2回路に供給する、
     データ処理装置。
  13.  第1クロックに同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第1本体回路と第1検査回路と、前記第1クロックとは非同期の第2クロックに同期して動作する第2回路と、前記第1本体回路及び前記第1検査回路と前記第2回路との間でペイロード信号の非同期転送を行う非同期転送回路とを備えるデータ処理装置であって、
     前記非同期転送回路は、前記第1クロックに同期して動作し前記第1本体回路及び前記第1検査回路と接続される第1ブリッジ回路と、前記第2クロックに同期して動作し前記第2回路と接続される第2ブリッジ回路とを備え、前記第1ブリッジ回路と前記第2ブリッジ回路とは、前記ペイロード信号と前記ペイロード信号が受信側で安定しているタイミングを示す非同期転送制御信号とで互いに接続され、
     前記第1ブリッジ回路は、前記第1本体回路との間の入出力信号を第1本体側ペイロード信号及び第1本体側非同期転送制御信号に変換する第1本体側変換回路と、前記第1検査回路との間の入出力信号を第1検査側ペイロード信号及び第1検査側非同期転送制御信号に変換する第1検査側変換回路と、前記第1本体側非同期転送制御信号のうち前記第2ブリッジ回路に送出される出力信号と前記第1検査側非同期転送制御信号のうち対応する出力信号とを比較して不一致を検出する第2の比較回路とを備え、
     前記第1ブリッジ回路は、前記第2ブリッジ回路から転送される前記非同期転送制御信号のうちの入力信号によって示されるタイミングで、前記ペイロード信号を受信し、前記第1本体側変換回路を介して前記第1本体回路に、前記第1検査側変換回路を介して前記第1検査回路にそれぞれ供給する、
     データ処理装置。
  14.  請求項12において、
     前記第2回路は、前記第2クロックに同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第2本体回路と第2検査回路とを含み、
     前記第2ブリッジ回路は、前記第2本体回路との間の入出力信号を第2本体側ペイロード信号及び第2本体側非同期転送制御信号に変換する第2本体側変換回路と、前記第2検査回路との間の入出力信号を第2検査側ペイロード信号及び第2検査側非同期転送制御信号に変換する第2検査側変換回路とを備え、
     前記第2ブリッジ回路は、前記第1ブリッジ回路から受信する前記非同期転送制御信号のうちの入力信号によって示されるタイミングで、前記ペイロード信号を受信し、前記第2本体側変換回路を介して前記第2本体回路に、前記第2検査側変換回路を介して前記第2検査回路にそれぞれ供給する、
     データ処理装置。
  15.  請求項12において、
     前記第2回路は、前記第2クロックに同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第2本体回路と第2検査回路とを含み、
     前記第2ブリッジ回路は、前記第2本体回路との間の入出力信号を第2本体側ペイロード信号及び第2本体側非同期転送制御信号に変換する第2本体側変換回路と、前記第2検査回路との間の入出力信号を第2検査側ペイロード信号及び第2検査側非同期転送制御信号に変換する第2検査側変換回路とを備え、
     前記第1ブリッジ回路は、前記ペイロード信号に加えて検査用ペイロード信号を送信し、
     前記第2ブリッジ回路において、前記第2本体側変換回路は、前記第1ブリッジ回路から受信する前記非同期転送制御信号のうちの入力信号によって示されるタイミングで、前記ペイロード信号を受信し、前記第2検査側変換回路も、前記第1ブリッジ回路から受信する前記非同期転送制御信号のうちの入力信号によって示されるタイミングで、前記ペイロード信号を受信する、
     データ処理装置。
  16.  請求項12において、
     前記第2回路は、第2クロックに同期して動作し二重化されて互いに同一の処理をそれぞれ実行する第2本体回路と第2検査回路とを含み、
     前記第2ブリッジ回路は、前記第2本体回路との間の入出力信号を第2本体側ペイロード信号及び第2本体側非同期転送制御信号に変換する第2本体側変換回路と、前記第2検査回路との間の入出力信号を第2検査側ペイロード信号及び第2検査側非同期転送制御信号に変換する第2検査側変換回路とを備え、
     前記第1ブリッジ回路は、前記第1本体側非同期転送制御信号のうちの出力信号を前記非同期転送制御信号のうちの出力信号として前記第2ブリッジ回路に送出し、前記第1本体側ペイロード信号を前記ペイロード信号として前記第2ブリッジ回路に送出し、前記第1検査側非同期転送制御信号のうちの出力信号を前記検査用非同期転送制御信号として前記第2ブリッジ回路に送出し、前記第2検査側ペイロード信号を検査用ペイロード信号として前記第2ブリッジ回路に送出し、
     前記第2ブリッジ回路は、前記非同期転送制御信号のうちの入力信号によって示されるタイミングで、前記ペイロード信号を受信して前記第2本体側ペイロード信号として、前記第2本体側変換回路に供給し、前記検査用ペイロード信号を受信して前記第2検査側ペイロード信号として、前記第2検査側変換回路に供給し、
     前記第2ブリッジ回路は、前記非同期転送制御信号のうちの入力信号と、前記検査用非同期転送制御信号のうちの入力信号とを比較する第3の比較回路を備える、
     データ処理装置。
  17.  請求項16において、
     前記第3の比較回路は、前記非同期転送制御信号のうちの入力信号が前記第1本体側変換回路に供給されるノードの信号と、前記第2検査側変換回路に供給されるノードの信号と、前記検査用非同期転送制御信号のうちの入力信号とを比較し、少なくともいずれか1つの信号が他の信号と不一致であることを検出する、
     データ処理装置。
  18.  請求項12において、
     前記第1本体回路と前記第1検査回路は、同一の前記処理を前記第1クロックにおける0サイクル以上の所定のサイクル数の差を保って実行する、
     データ処理装置。
  19.  請求項12において、前記全ての比較回路のうちのいずれかで不一致が発生したことが通知される、故障管理回路をさらに備える、
     データ処理装置。
  20.  請求項12において、単一の半導体基板上に形成される、
     データ処理装置。
PCT/JP2015/058462 2015-03-20 2015-03-20 データ処理装置 WO2016151674A1 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
KR1020177008518A KR20170130346A (ko) 2015-03-20 2015-03-20 데이터 처리 장치
PCT/JP2015/058462 WO2016151674A1 (ja) 2015-03-20 2015-03-20 データ処理装置
CN201580053315.5A CN106796541B (zh) 2015-03-20 2015-03-20 数据处理装置
US15/502,771 US10248156B2 (en) 2015-03-20 2015-03-20 Data processing device
JP2017507143A JP6368034B2 (ja) 2015-03-20 2015-03-20 データ処理装置
EP15886231.8A EP3273353B1 (en) 2015-03-20 2015-03-20 Data processing device
TW105108186A TW201706843A (zh) 2015-03-20 2016-03-17 資料處理裝置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/058462 WO2016151674A1 (ja) 2015-03-20 2015-03-20 データ処理装置

Publications (1)

Publication Number Publication Date
WO2016151674A1 true WO2016151674A1 (ja) 2016-09-29

Family

ID=56977237

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/058462 WO2016151674A1 (ja) 2015-03-20 2015-03-20 データ処理装置

Country Status (7)

Country Link
US (1) US10248156B2 (ja)
EP (1) EP3273353B1 (ja)
JP (1) JP6368034B2 (ja)
KR (1) KR20170130346A (ja)
CN (1) CN106796541B (ja)
TW (1) TW201706843A (ja)
WO (1) WO2016151674A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020035419A (ja) * 2018-05-25 2020-03-05 エイアールエム リミテッド 第1のクロックドメインと第2のクロックドメインとの間で伝送される主信号のためのエラーチェック

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105634960B (zh) * 2015-12-24 2017-04-05 中国科学院计算技术研究所 基于分形树结构的数据发布装置、方法、控制装置及智能芯片
US10303566B2 (en) * 2017-07-10 2019-05-28 Arm Limited Apparatus and method for checking output data during redundant execution of instructions
CN109445855B (zh) * 2018-10-30 2021-11-16 天津津航计算技术研究所 一种用于多路低速外设集成的桥接装置
TWI716074B (zh) 2019-01-16 2021-01-11 開曼群島商創新先進技術有限公司 提升cpu性能的方法及裝置和電子設備
US11424621B2 (en) 2020-01-28 2022-08-23 Qualcomm Incorporated Configurable redundant systems for safety critical applications

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09134336A (ja) * 1995-06-07 1997-05-20 Tandem Comput Inc フェイル−ファースト、フェイル−ファンクショナル、フォルトトレラント・マルチプロセッサ・システム
JP2004280732A (ja) * 2003-03-19 2004-10-07 Nec Corp フォルトトレラントシステム及びそれに用いる同期化方法
JP2004326151A (ja) * 2003-04-21 2004-11-18 Nec Corp データ処理装置
JP2010079702A (ja) * 2008-09-26 2010-04-08 Fujitsu Ltd 伝送装置、伝送方法、伝送プログラム
JP2010534888A (ja) * 2007-07-24 2010-11-11 ジーイー・アビエイション・システムズ・エルエルシー 高インテグリティと高可用性のコンピュータ処理モジュール
JP2012063828A (ja) * 2010-09-14 2012-03-29 Nec Corp 耐故障システム、マスタft制御lsi、スレーブft制御lsiおよび耐故障制御方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5359727A (en) * 1987-04-27 1994-10-25 Hitachi, Ltd. Clock generator using PLL and information processing system using the clock generator
US5113522A (en) * 1989-05-17 1992-05-12 International Business Machines Corporation Data processing system with system resource management for itself and for an associated alien processor
US6157967A (en) 1992-12-17 2000-12-05 Tandem Computer Incorporated Method of data communication flow control in a data processing system using busy/ready commands
DE69429614T2 (de) * 1994-05-10 2002-09-12 Intel Corporation, Santa Clara Verfahren und Anordnung zur synchronen Datenübertragung zwischen Digitalgeräten, deren Betriebsfrequenzen ein P/Q Integer-Frequenzverhältnis aufweisen
ATE215244T1 (de) * 1997-11-14 2002-04-15 Marathon Techn Corp Verfahren zur erhaltung von synchronisierter ausführung bei fehler-betriebssicheren/ fehlertoleranten rechnersystemen
US6963991B2 (en) * 2002-05-31 2005-11-08 Intel Corporation Synchronizing and aligning differing clock domains
US7194650B2 (en) * 2003-05-09 2007-03-20 Hewlett-Packard Development Company, L.P. System and method for synchronizing multiple synchronizer controllers
US7623482B2 (en) * 2003-05-10 2009-11-24 Hewlett-Packard Development Company, L.P. System and method for effectuating the transfer of data blocks including a header block across a clock boundary
US7436917B2 (en) * 2004-07-29 2008-10-14 Hewlett-Packard Development Company, L.P. Controller for clock synchronizer
JP2006178616A (ja) * 2004-12-21 2006-07-06 Nec Corp フォールトトレラントシステム、これで用いる制御装置、動作方法、及び動作プログラム
US7116601B2 (en) * 2004-12-28 2006-10-03 Via Technologies, Inc. Pseudo-synchronization of the transportation of data across asynchronous clock domains
US7987385B2 (en) 2007-07-24 2011-07-26 Ge Aviation Systems Llc Method for high integrity and high availability computer processing
US7984351B2 (en) * 2008-04-10 2011-07-19 Advanced Micro Devices, Inc. Data transfer device and method thereof
JP5507830B2 (ja) * 2008-11-04 2014-05-28 ルネサスエレクトロニクス株式会社 マイクロコントローラ及び自動車制御装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09134336A (ja) * 1995-06-07 1997-05-20 Tandem Comput Inc フェイル−ファースト、フェイル−ファンクショナル、フォルトトレラント・マルチプロセッサ・システム
JP2004280732A (ja) * 2003-03-19 2004-10-07 Nec Corp フォルトトレラントシステム及びそれに用いる同期化方法
JP2004326151A (ja) * 2003-04-21 2004-11-18 Nec Corp データ処理装置
JP2010534888A (ja) * 2007-07-24 2010-11-11 ジーイー・アビエイション・システムズ・エルエルシー 高インテグリティと高可用性のコンピュータ処理モジュール
JP2010079702A (ja) * 2008-09-26 2010-04-08 Fujitsu Ltd 伝送装置、伝送方法、伝送プログラム
JP2012063828A (ja) * 2010-09-14 2012-03-29 Nec Corp 耐故障システム、マスタft制御lsi、スレーブft制御lsiおよび耐故障制御方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020035419A (ja) * 2018-05-25 2020-03-05 エイアールエム リミテッド 第1のクロックドメインと第2のクロックドメインとの間で伝送される主信号のためのエラーチェック
JP7420484B2 (ja) 2018-05-25 2024-01-23 アーム・リミテッド 第1のクロックドメインと第2のクロックドメインとの間で伝送される主信号のためのエラーチェック

Also Published As

Publication number Publication date
JP6368034B2 (ja) 2018-08-01
EP3273353A4 (en) 2019-03-06
EP3273353A1 (en) 2018-01-24
KR20170130346A (ko) 2017-11-28
US10248156B2 (en) 2019-04-02
CN106796541A (zh) 2017-05-31
CN106796541B (zh) 2021-03-09
EP3273353B1 (en) 2020-07-29
TW201706843A (zh) 2017-02-16
US20170227981A1 (en) 2017-08-10
JPWO2016151674A1 (ja) 2017-06-15

Similar Documents

Publication Publication Date Title
JP6368034B2 (ja) データ処理装置
US7290169B2 (en) Core-level processor lockstepping
US7237144B2 (en) Off-chip lockstep checking
JP5459807B2 (ja) マルチプロセッサデータ処理システムにおけるデバッグシグナリング
US7296181B2 (en) Lockstep error signaling
JP5509637B2 (ja) フォールトトレラントシステム
JP6266239B2 (ja) マイクロコンピュータ
EP0916119A2 (en) Triple modular redundant computer system
US7568138B2 (en) Method to prevent firmware defects from disturbing logic clocks to improve system reliability
US9477559B2 (en) Control device, control method and recording medium storing program thereof
US5784383A (en) Apparatus for identifying SMP bus transfer errors
US8156371B2 (en) Clock and reset synchronization of high-integrity lockstep self-checking pairs
WO1997043712A2 (en) Triple modular redundant computer system
JPH06161798A (ja) 情報処理装置
JP2010102565A (ja) 二重化制御装置
CN110175091B (zh) 一种Lockstep架构下的节点间信号同步方法、装置及电路
JP4962497B2 (ja) クロック監視回路、情報処理装置およびクロック監視方法
US9542266B2 (en) Semiconductor integrated circuit and method of processing in semiconductor integrated circuit
JPH1011309A (ja) プロセッサ出力比較方法およびコンピュータシステム
JP5604799B2 (ja) フォールトトレラントコンピュータ
JP6588068B2 (ja) マイクロコンピュータ
JP2023175145A (ja) 半導体装置
JP5727906B2 (ja) リセット信号生成回路及びそれを備えた半導体集積回路
JP2022184410A (ja) 演算装置
JP5104690B2 (ja) フォルト検出回路

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2017507143

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 15886231

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2015886231

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015886231

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 20177008518

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE