IP Library Granted Patent US 8,443,329
Granted Patent B2
US 8,443,329 · App. 12/466,894 · Granted May 14, 2013

Trustworthy structural synthesis and expert knowledge extraction with application to analog circuit design

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,443,329
App. No.
12/466,894
Granted
May 14, 2013
Kind
B2
Abstract

A system and method that does trustworthy multi-objective structural synthesis of analog circuits, and extracts expert analog circuit knowledge from the resulting tradeoffs. The system defines a space of thousands of possible topologies via a hierarchically organized combination of designer-trusted analog building blocks, the resulting topologies are guaranteed trustworthy. The system can perform a search based on a multi-objective evolutionary algorithm that uses an age-layered population structure to balance exploration vs. exploitation, with operators that make the search space a hybrid between vector-based and tree-based representations. A scheme employing average ranking on Pareto fronts is used to handle a high number of objectives. Good initial topology sizings are quickly generated via multi-gate constraint satisfaction. To explicitly capture expert analog design knowledge, data mining is employed on the sized circuits to: automatically generate a decision tree for navigating from performance specifications to topology choice, to do global nonlinear sensitivity analysis, and to generate analytical models of performance tradeoffs.

Claims (40)

1. A non-transitory computer-readable memory having recorded thereon statements and instructions for execution by a computer to carry out a method of selecting a structure and parameters of an electrical circuit component (ECC), the ECC having design variables, the ECC further having performance metrics, each performance metric being a function of at least one design variable, the method comprising steps of:

(a) storing an arrangement of pre-defined, hierarchically interconnected building blocks of the ECC into a building block database, each building block representing a sub-circuit of the ECC, each building block having respective input parameters, the building blocks including atomic blocks, compound blocks, and flexible blocks, each individual compound block having at least one of a first atomic block, a first compound block and a first flexible block, each individual flexible block having alternative building blocks selectable through a choice parameter of each individual flexible block, each alternative block including at least one of an second atomic block, a second compound block and a second flexible block, the arrangement of pre-defined, hierarchically interconnected building blocks representing candidate topologies of the ECC;

(b) selecting candidate topologies from the building block database to obtain initial candidate topologies;

(c) selecting initial parameters for the initial topologies to obtain sized initial candidate topologies;

(d) calculating performance metric values for the sized initial candidate topologies to obtain calculated performance metric values;

(e) in accordance with the calculated performance metric values, determining if the sized initial candidate topologies fail to meet pre-determined criteria;

(f) while the sized initial candidate topologies fail to meet a pre-determined criteria, in accordance with a search algorithm:

(i) searching the candidate topologies for other candidate topologies;

(ii) selecting parameters for the other candidate topologies to obtain sized other candidate topologies;

(iii) calculating performance metric values for the sized other candidate topologies to obtain other calculated performance metric values; and

(iv) in accordance with the other calculated performance metric values, determining if the sized other candidate topologies fail to meet the pre-determined criteria;

(g) storing, in an output database, sized candidate topologies, and their respective performance values, that do meet the pre-determined criteria; and

(h) displaying, for selection, the sized candidate topologies that meet the pre-determined criteria.

2. The non-transitory computer-readable memory of claim 1 , wherein the input parameters of a building block comprised within a parent compound block are a function of the input parameters of the parent compound block.

3. The non-transitory computer-readable memory of claim 1 , wherein the input parameters of a building block comprised within a parent flexible block are a function of the input parameters of the parent flexible block.

4. The non-transitory computer-readable memory of claim 1 , wherein the atomic blocks include a resistor, a wire, a capacitor, a four-port NMOS device, a four-port PMOS device, and a direct current voltage source.

5. The non-transitory computer-readable memory of claim 1 , wherein the compound blocks include a three-port MOS device, the three-port MOS device having a flexible four-port MOS device and a first wire, the wire connecting two ports of the four-port MOS device, the flexible four-port MOS device having a four-port PMOS device and a four-port NMOS device.

6. The non-transitory computer-readable memory of claim 5 , wherein the compound blocks include a two-port MOS diode, the two-port MOS diode including the three-port MOS device and a second wire, the second wire connecting two ports of three-port MOS device.

7. The non-transitory computer-readable memory of claim 5 , wherein the compound blocks include a biased MOS device, the biased MOS device including the three-port MOS device, a direct current voltage source, and a second wire, the second wire connecting the direct current voltage source to a port of the three-port MOS device.

8. The non-transitory computer-readable memory of claim 1 , wherein the search algorithm is an evolutionary search algorithm.

9. The non-transitory computer-readable memory of claim 8 , wherein the evolutionary search algorithm has associated thereto a mutation operator and a crossover operator.

10. The non-transitory computer-readable memory of claim 9 , wherein the crossover operator operates on a first sized candidate topology and a second sized candidate topologies by identifying a first sub-block in the first sized candidate topology and a corresponding second sub-block in the second sized candidate topology and by swapping the input parameters of the first sub-block with those of the second sub-block.

11. The non-transitory computer-readable memory of claim 1 , wherein the pre-determined criteria is a single-objective criteria.

12. The non-transitory computer-readable memory of claim 1 , wherein the pre-determined criteria is a multiple-objective criteria.

13. The non-transitory computer-readable memory of claim 1 , wherein the arrangement of pre-defined, hierarchically interconnected building blocks of the ECC is stored in the building block database using a hardware description language.

14. The non-transitory computer-readable memory of claim 13 , wherein the hardware description language includes one of VDL-AMS and Verilog-AMS.

15. The non-transitory computer-readable memory of claim 1 , wherein the arrangement of pre-defined, hierarchically interconnected building blocks of the ECC is stored in the building block database using a programming language.

16. The non-transitory computer-readable memory of claim 1 , wherein the sized candidate topologies contained in the output database form a pareto-optimal set.

17. The non-transitory computer-readable memory of claim 16 , wherein the pre-determined criteria include specifications of the ECC, the method further comprising steps of:

accessing the sized candidate topologies contained in the output database to obtain accessed sized topologies; and

automatically generating a decision tree of specifications to topology in accordance with the accessed sized topologies.

18. The non-transitory computer-readable memory of claim 17 , wherein automatically generating a decision tree includes automatically generating a CART tree.

19. The non-transitory computer-readable memory of claim 18 , further comprising a step of displaying the CART tree.

20. The non-transitory computer-readable memory of claim 1 , further comprising steps of:

selecting, from the output database, a sized candidate topology to obtain a selected sized candidate topology;

selecting a building block from the selected sized candidate topology to obtain a selected building block;

randomly altering the selected building block to obtain a randomly altered selected building block;

generating an additional sized altered candidate topology by making a copy of the selected sized candidate topology and by substituting therein the selected building block with the randomly altered selected building block;

determining if the additional sized altered candidate topology meet the pre-determined criteria; and

if the sized altered candidate topologies meet the pre-determined criteria, storing the sized altered candidate topologies in the output database.

Assignments (7)
MERGER AND CHANGE OF NAME Recorded Jun 9, 2021
From: MENTOR GRAPHICS CORPORATION; SIEMENS INDUSTRY SOFTWARE INC.
To: SIEMENS INDUSTRY SOFTWARE INC.
Reel/Frame 056526/0054 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2019
From: MENTOR GRAPHICS (CANADA) ULC
To: MENTOR GRAPHICS CORPORATION
Reel/Frame 047992/0327 →
CHANGE OF NAME Recorded Jan 14, 2019
From: MENTOR GRAPHICS (CANADA) LIMITED
To: MENTOR GRAPHICS (CANADA) ULC
Reel/Frame 048071/0691 →
MERGER AND CHANGE OF NAME Recorded May 7, 2018
From: SOLIDO DESIGN AUTOMATION INC.; MENTOR GRAPHICS (CANADA) LIMITED
To: MENTOR GRAPHICS (CANADA) LIMITED
Reel/Frame 045730/0583 →
FULL DISCHARGE OF SECURITY INTEREST Recorded Nov 28, 2017
From: COMERICA BANK
To: SOLIDO DESIGN AUTOMATION INC.
Reel/Frame 044837/0405 →
SECURITY AGREEMENT Recorded Jun 18, 2012
From: SOLIDO DESIGN AUTOMATION INC.
To: COMERICA BANK
Reel/Frame 028397/0236 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2012
From: MCCONAGHY, TRENT LORNE
To: SOLIDO DESIGN AUTOMATION INC.
Reel/Frame 028278/0263 →