发明名称 Deferred execution in a multi-thread safe system level modeling simulation
摘要 Methods, systems, and machine readable medium for multi-thread safe system level modeling simulation (SLMS) of a target system on a host system. An example of a SLMS is a SYSTEMC simulation. During the SLMS, SLMS processes are executed in parallel via a plurality of threads. SLMS processes represent functional behaviors of components within the target system, such as functional behaviors of processor cores. Deferred execution may be used to defer execution of operations of SLMS processes that access a shared resource. Multi-thread safe direct memory interface (DMI) access may be used by a SLMS process to access a region of the memory in a multi-thread safe manner. Access to regions of the memory may also be guarded if they are at risk of being in a transient state when being accessed by more than one SLMS process.
申请公布号 US9075666(B2) 申请公布日期 2015.07.07
申请号 US201313971026 申请日期 2013.08.20
申请人 Synopsys, Inc. 发明人 Janssen Jan M. J.;Grötker Thorsten H.;Schumacher Christoph;Leupers Rainer
分类号 G06F9/46;G06F9/52;G06F9/50;G06F9/48 主分类号 G06F9/46
代理机构 Fenwick & West LLP 代理人 Fenwick & West LLP
主权项 1. A computer implemented method for multi-threaded system level modeling simulation (SLMS) of a target system on a host system, the method comprising: beginning parallel execution of a plurality of SLMS processes via a plurality of threads, the SLMS processes representing functional behaviors of components within the target system; during the parallel execution of the SLMS processes, detecting operations within the SLMS processes that access at least one shared resource within the host system; and during the parallel execution, deferring execution of one or more of the operations within the SLMS processes that access the at least one shared resource within the host system until after the parallel execution is completed, wherein deferring execution comprises: deferring a first set of the operations that access a first set of the at least one shared resource until after the parallel execution is completed; andexecuting a second set of the operations that access a second set of the at least one shared resource during the parallel execution.
地址 Mountain View CA US