发明名称 Method and system for implementing parallel execution in a computing system and in a circuit simulator
摘要 A method and mechanism for implementing a general purpose scripting language that supports parallel execution is described. In one approach, parallel execution is provided in a seamless and high-level approach rather than requiring or expecting a user to have low-level programming expertise with parallel processing languages/functions. Also described is a system and method for performing circuit simulation. The present approach provides methods and systems that create reusable and independent measurements for use with circuit simulators. Also disclosed are parallelizable measurements having looping constructs that can be run without interference between parallel iterations. Reusability is enhanced by having parameterized measurements. Revisions and history of the operating parameters of circuit designs subject to simulation are tracked.
申请公布号 US8775149(B2) 申请公布日期 2014.07.08
申请号 US201213525240 申请日期 2012.06.15
申请人 Cadence Design Systems, Inc. 发明人 Kundert Kenneth S.
分类号 G06F17/50;G06F7/60;G06F13/10;G06F11/26 主分类号 G06F17/50
代理机构 Vista IP Law Group, LLP 代理人 Vista IP Law Group, LLP
主权项 1. A computer implemented method for implementing parallel execution of an independent parameterized measurement block, comprising: using at least one processor to perform a process, the process comprising: specifying one or more stimuli for a test fixture; creating an independent processing environment of multiple independent processing environments for each of a plurality of iterates in the loop processing; performing language independent parallel execution of simulation or emulation upon the test fixture with the independent parameterized measurement block of multiple independent parameterized measurement blocks, while avoiding serial loop processes, by using a loop processing within each of the multiple independent processing environments to sweep over a range of parameter values in multiple iterations performed in parallel, without one iterate accessing results of another iterate, wherein the act of performing the simulation or emulation by using the loop processing comprises: resizing one or more arrays to form one or more corresponding dimensionally resized arrays according to a total number of the plurality of iterates in the loop processing; andassociating the independent parameterized measurement block with a dataset that is independently stored to maintain independence of the multiple independent parameterized measurement blocks, wherein either an access to an index variable for the loop processing is removed, or the loop processing is performed without defining the index variable so the loop processing is performed without reference to the index variable during the loop processing; and analyzing results by at least using one or more statements in the independent parameterized measurement block to extract an output from the simulation or emulation to compute a desired performance metric.
地址 San Jose CA US