# US 8,543,360 B2 · Parallel simulation of general electrical and mixed-domain circuits

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,543,360 B2
- Document ID: US8543360B2
- Status: Granted
- Kind: B2
- Application number: 12/828,251
- Filed: 2010-06-30
- Published: 2010-12-30
- Granted: 2013-09-24
- Earliest claimed: 2009-06-30
- Assignees: Omniz Design Automation Corporation
- Applicants: Michel Nakhla; Ramachandra Achar; Douglas Paul; Natalie Nakhla
- Inventors: Michel Nakhla; Ramachandra Achar; Douglas Paul; Natalie Nakhla
- Web page: https://patentgrep.com/patent/US8543360B2

## CPC

- G06F 30/367: Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
- G06F 30/3312: Timing analysis
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A new method for simulation of general electrical circuits on parallel computing platforms is disclosed. Parallel simulation of general time-domain circuits that are represented by nonlinear/linear differential algebraic equations is accomplished by partitioning them into smaller subcircuits via a novel combination of the companion form representation of the given circuit and an efficient form of node splitting, during Newton Raphson iterations, at any time point. The new invention formulates the interface vectors between partitions, through purely binary vectors, leading to a high degree of parallelism, scalability and reduced computational and communication costs for synchronizing the solutions between various partitions. Parallel platforms considered can be diverse such as (including but not restricted to) multicore CPUs, distributed systems of computers. The new invention also provides for scalable parallel simulation of mixed-domain formulations, such as (including but not restricted to), integrated circuits, electronic packages, PCBs, electromagnetic modules, MEMS and optical components etc.

## Claims

### Claim 1

A method at a processing system having at least a master processor for simulation of an electrical circuit, the method comprising:
mapping connectivity of the electrical circuit at the master processor, utilizing nonlinear differential algebraic equations (NDAEs):
partitioning the electrical circuit into a plurality of sub-circuits at the master processor, the partitioning using is Companion Form representation of the electrical circuits and node tearing;
representing coupling between the plurality of sub-circuits as binary vectors at the master processor; and
obtaining interface results for each sub-circuit, the obtaining comprising:
sending each of the plurality of sub-circuits, including binary interface vectors from the master processor to a plurality of slave processors; and
receiving the interface results back at the master processor.

### Claim 2 (depends on 1)

The method of claim 1, further comprising, in parallel at each slave processor, receiving, at the slave processor, each of the plurality of sub-circuits, including binary interface vectors; solving each of the plurality of sub-circuits at the slave processor, the solving using lower upper matrix decomposition and forward backward substitution; solving interface results at the slave processor for each of the sub-circuits using the sub- circuit solutions, binary vectors and reusing sub-circuit lower upper matrix factors; and transmitting the interface results back to the master processor.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
collecting and updating the interface results at the master processor, and
transmitting the updated interface results to the plurality of slave processors to update the sub-circuit solutions by reusing the sub-circuit lower upper matrix factors.

### Claim 4 (depends on 3)

The method of claim 3, wherein the updating of interface vectors at the master processor starts prior to receiving the results from all slave processors.

### Claim 5 (depends on 2)

The method of claim 2, wherein the solving interface results comprises utilizing a parallelized solution on separate processors.

### Claim 6 (depends on 2)

The method of claim 2, wherein the solving interface results comprises utilizing an iterative process.

### Claim 7 (depends on 1)

The method of claim 1, wherein the obtaining uses a Newton-Raphson iteration at any time point including direct current.

### Claim 8 (depends on 1)

The method of claim 1, wherein the obtaining utilizes a serial process.

### Claim 9 (depends on 1)

The method of claim 1, wherein the partitioning uses hierarchical partitioning to reduce a number of links between sub-circuits.

### Claim 10

A processing system for simulation of an electrical circuit having:
a master-processor; and
a plurality of slave processors;
the system configured to:
map connectivity of the electrical circuit at the master processor, utilizing nonlinear differential algebraic (NDAEs);
partition the electrical circuit into a plurality of sub-circuits at the master processor, the partitioning using a Companion Form representation of the electrical circuits and node tearing;
represent coupling between the plurality of sub-circuits as binary vectors at the master processor; and
obtain interface results for each sub-circuit, the obtaining comprising:
sending each of the plurality of sub-circuits, including binary interface vectors, from the master processor to the plurality of slave processors; and
receiving the interface results back at the master processor.

### Claim 11 (depends on 10)

The system of claim 10, wherein each slave processor of the plurality of slave processors, is configured to:
receive each of the plurality of sub-circuits, including binary interface vectors:
solve each of the plurality of sub-circuits, the solving using lower upper matrix decomposition and forward backward substitution;
solve interface results for each of the sub-circuits using the sub-circuit solutions, binary vectors and reusing sub-circuit lower upper matrix factors; and
transmit the interface results back to the master processor.

### Claim 12 (depends on 10)

The system of claim 10, wherein the master processor is further configured to:
collect and update the interface results, and
transmit the updated interface results to the plurality of slave processors to update the sub-circuit solutions by reusing the sub-circuit lower upper matrix factors.

### Claim 13 (depends on 12)

The system of claim 12, wherein the system is configured to update interface vectors at the master processor by starting prior to receiving the results from all slave processors.

### Claim 14 (depends on 11)

The system of claim 11, wherein the system is configured to solve interface results by utilizing a parallelized solution on separate processors.

### Claim 15 (depends on 11)

The system of claim 11, wherein the system is configured to solve interlace results b utilizing an iterative process.

### Claim 16 (depends on 10)

The system of claim 10, wherein the system is configured to obtain using a Newton-Raphson iteration at any time point including direct current.

### Claim 17 (depends on 10)

The system of claim 10, wherein the system is configured to obtain using a semi process.

### Claim 18 (depends on 10)

The system of claim 10, wherein the system is configured to partition using hierarchical partitioning to reduce a number of links between sub-circuits.
