A method of distributed timing analysis for a network which has been
partitioned into at least two partitions, with each partition being
assigned to a separate timing analysis process which communicates with the
other processes is provided. A depth first search is performed by the
process assigned to the partition in which the node for which timing
information is desired is located. When the depth first search encounters
a node for which a timing value is required which is located in another
partition, a request is immediately sent to the process corresponding to
that partition for the required timing information. When the request for
timing information from the other partition is answered, the associated
node is placed in the propagation queue. Also, as a node is processed,
successor nodes which have had their predecessors processed are added to
the propagation queue. The nodes in the propagation queue are processed
and timing values are computed. When there are no nodes in the propagation
queue, global loop detection is performed. Additionally, incremental
timing updates are performed when a change is made in the network.
Een methode van verdeelde timingsanalyse voor een netwerk dat in minstens twee verdelingen is verdeeld, met elke verdeling die aan een afzonderlijk proces wordt toegewezen van de timingsanalyse dat met de andere processen communiceert wordt verstrekt. Een diepte eerste onderzoek wordt door het proces uitgevoerd dat aan de verdeling wordt toegewezen waarin de knoop waarvoor de timingsinformatie wordt gewenst wordt gevestigd. Wanneer het diepte eerste onderzoek een knoop ontmoet waarvoor een timingswaarde wordt vereist die in een andere verdeling wordt gevestigd, wordt een verzoek onmiddellijk verzonden naar het proces dat aan die verdeling voor de vereiste timingsinformatie beantwoordt. Wanneer het verzoek om timingsinformatie van de andere verdeling wordt beantwoord, wordt de bijbehorende knoop geplaatst in de propagatierij. Ook, aangezien een knoop wordt verwerkt, worden de opvolgerknopen die hun verwerkte voorgangers hebben gehad toegevoegd aan de propagatierij. De knopen in de propagatierij worden verwerkt en de timingswaarden worden gegevens verwerkt. Wanneer er geen knopen in de propagatierij zijn, wordt de globale lijnopsporing uitgevoerd. Bovendien, worden de stijgende timingsupdates uitgevoerd wanneer een verandering in het netwerk wordt aangebracht.