Patent ID: 8498856

Claim:
A method of operating a system having a plurality of connected functional blocks, the method comprising the steps of: configuring a first graph in which nodes represent functional blocks, edges represent connection paths among functional blocks and weights represent communication times between functional blocks, the first graph being derived from connection relationships among the plurality of functional blocks and the communication times through the connection paths; finding closed paths in the first graph; determining the closed path having a lowest weight among the closed paths found; storing the lowest weight as a first synchronization timing; synchronizing the plurality of functional blocks at the first synchronization timing; determining a second synchronization timing for a second graph, the second synchronization timing including an acceptable delay added to the communication times in the first graph; synchronizing the plurality of functional blocks at the second synchronization timing; determining whether synchronization between the plurality of functional blocks and an external interface is allowed at a third synchronization timing that is specified by a user and is longer than the first and second synchronization timings; and synchronizing the plurality of functional blocks and the external interface at the third synchronization timing in a portion indicated to be able to accept the third synchronization timing between the functional blocks and the external interface in the second graph, wherein each of the foregoing steps is performed with a data processing machine.