US 12,032,510 B1
Self-recovery mechanism for multi-hosts and multi-devices emulation and prototyping system bus
He Yin, Santa Clara, CA (US); Goichiro Ono, San Jose, CA (US); Zhe Zhao, Shanghai (CN); and Yuchen Xu, San Jose, CA (US)
Assigned to Synopsys, Inc., Sunnyvale, CA (US)
Filed by Synopsys, Inc., Mountain View, CA (US)
Filed on Sep. 7, 2022, as Appl. No. 17/939,324.
Claims priority of provisional application 63/241,388, filed on Sep. 7, 2021.
Int. Cl. G06F 13/42 (2006.01); G06F 3/06 (2006.01)
CPC G06F 13/4291 (2013.01) [G06F 3/0619 (2013.01); G06F 3/0647 (2013.01); G06F 3/067 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
determining whether a downstream node is ready to receive data from a buffer of an upstream node, wherein the upstream node is coupled to the downstream node within an emulation system;
triggering a count as a timeout value for a counter in response to the downstream node not being ready to receive data;
for each consecutive clock cycle before the count reaches the timeout value, determining whether the downstream node is ready to receive data;
performing one of:
incrementing the count for the counter responsive to determining that the downstream node is still not ready to receive data; or
transmitting the data from the buffer to the downstream node and stopping the counter responsive to determining that the downstream node is ready to receive data; and
issuing a signal to clear the buffer at the upstream node responsive to the count reaching the timeout value.