1. A task matching circuit for synchronizing software on a plurality of processors, the task matching circuit comprising: a first input from a first processor configured to receive a first software routine identifier; a second input from a second processor configured to receive a second software routine identifier; an analysis sub-circuit to determine if the first software routine identifier corresponds with the second software routine identifier; and an output coupled to at least one of the first or second processors, wherein: the output is indicates when the first and second software routine identifiers do not correspond, and one of the first and second processors is delayed until the first and second software routine identifiers correspond.