← Back to Patent Explorer
US7143341B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for concurrent engineering and design synchronization of multiple tools

Assignee: Cadence Design Systems Inc
•
Filing: 2002-06-20
•
Granted: 2006-11-28
•
Expires: 2022-06-20
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Concurrent engineering among multiple design groups is facilitated by maintaining design changes in a data model of a design being developed. Design changes for each group are made from a baseline design. Changes are tracked by maintaining change information from all but an owner of the original baseline design. Changes are synchronized by identifying owner and non-owner changes and merging the changes to produce a final design. Since non-owner changes are tracked, the baseline design is not needed in synchronization. Preferably the invention is applied to electronic designs made by multiple design groups at geographically diverse locations. The invention may also be applied to any system where configuration management of developed software, parts, or any design is needed.

Inventors

  • 👤 Vikas Kohli

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 15:18
CPC Classifications
G; G06; G06F; G06F30/00; G06F30/30; G06F30/39; G06F30/392; G06F2111/00; G06F2111/02; G06F2115/00; G06F2115/12

Claims Analysis

Total Claims: 29
Claim 1
Independent Claim 321 words
A method of concurrent engineering, comprising the steps of: establishing a baseline electronic design; sending copies of the baseline electronic design to different design groups; modifying more than one of the baseline electronic designs sent to the design groups with engineering changes; and synchronizing the modified baselined electronic designs to produce a synchronized design; wherein: said synchronization comprises at least one of, determining if new Id is present in a design connectivity database DESCONN and not present in a layout connectivity database LAYCONN, and then processing a new object corresponding to the new Id added by a front end design tool, determining if a front end design tool created Id is present in LAYCONN and not present in DESCONN, and then processing an object deleted by the front end design tool, determining if a front end Id is present in each of LAYCONN, DESCONN, and in an occurrence delete section of LAYCONN, and then processing an object deleted by a layout tool, determining if a layout Id is present in an occurrence add section of LAYCONN, and then processing a new object added by the layout tool, determining if a layout id is present in an occurrence delete section of DESCONN and in the occurrence add section of LAYCONN, and then processing the Id added by the layout tool and then deleted by the front end tool, determining is a same instance id but different cell id is present in DESCONN, and then processing a modify/replace performed by the front end design tool, and determining each of a new pin net connection id in LAYCONN, a corresponding pin net connection id in the occurrence section of LAYCONN, a new pin net connection id in DESCONN corresponding to the pin net connection id in the occurrence section of LAYCONN, and then processing a simultaneous change of connectivity to a pin by the front end design tool and a back end design tool.
Claim 2
Independent Claim 321 words
A method of concurrent engineering, comprising the steps of: establishing a baseline electronic design; sending copies of the baseline electronic design to different design groups; modifying more than one of the baseline electronic designs sent to the design groups with engineering changes; and synchronizing the modified baselined electronic designs to produce a synchronized design; wherein: said synchronization comprises at least one of, determining if new Id is present in a design connectivity database DESCONN and not present in a layout connectivity database LAYCONN, and then processing a new object corresponding to the new Id added by a front end design tool, determining if a front end design tool created Id is present in LAYCONN and not present in DESCONN, and then processing an object deleted by the front end design tool, determining if a front end Id is present in each of LAYCONN, DESCONN, and in an occurrence delete section of LAYCONN, and then processing an object deleted by a layout tool, determining if a layout Id is present in an occurrence add section of LAYCONN, and then processing a new object added by the layout tool, determining if a layout id is present in an occurrence delete section of DESCONN and in the occurrence add section of LAYCONN, and then processing the Id added by the layout tool and then deleted by the front end tool, determining is a same instance id but different cell id is present in DESCONN, and then processing a modify/replace performed by the front end design tool, and determining each of a new pin net connection id in LAYCONN, a corresponding pin net connection id in the occurrence section of LAYCONN, a new pin net connection id in DESCONN corresponding to the pin net connection id in the occurrence section of LAYCONN, and then processing a simultaneous change of connectivity to a pin by the front end design tool and a back end design tool.
Claim 3
Dependent Claim 47 words
The method according to claim 1 , wherein said step of synchronizing comprises the steps of: listing each of the design changes made by the design groups; selecting listed design changes for acceptance or rejection; and merging the selected design changes for acceptance into the synchronized design.
Claim 4
Dependent Claim 34 words
The method according to claim 2 , wherein said step of listing, further comprises, for each design change, displaying a user interface with an input for accepting at least one of the design changes.
Claim 5
Dependent Claim 45 words
The method according to claim 2 , wherein said step of merging includes creating a new net at a same level as an existing pin when the selected design changes include the addition of a pin net connection for added net and the existing pin.
Claim 6
Dependent Claim 54 words
The method according to claim 1 , wherein said different design groups comprise engineering groups, each group utilizing a different design tool having different types of electronic design functionality for changes to the baseline electronic design, and the changes are made at different stages of electronic design development including design entry, connectivity and placement.
Claim 7
Dependent Claim 69 words
The method according to claim 1 , wherein said step of synchronizing includes synchronizing changes in both front end design tools and back end design tools from the different design groups comprising, updates made by an owner user made in the baseline electronic design, and updates made by a non-owner user made in a non-owner user's copy of the baseline electronic design comprising annotations of the non-owner user's updates.
Claim 8
Dependent Claim 24 words
The method according to claim 6 , wherein said method is embodied in a set of computer readable instructions stored in an electronic signal.
Claim 9
Dependent Claim 21 words
The method according to claim 1 , further comprising the step of tracking only non owner changes in the modified designs.
Claim 10
Dependent Claim 25 words
The method according to claim 8 , wherein said step of synchronizing comprises synchronizing non owner changes with the owner's copy of the baseline design.
Claim 11
Dependent Claim 31 words
The method according to claim 9 , wherein said step of tracking changes comprises placing non-owner changes in a section of a design database corresponding to the non-owner making the change.
Claim 12
Dependent Claim 21 words
The method according to claim 8 , wherein said step of tracking further comprises making owner changes and tracking non-owner changes.
Claim 13
Dependent Claim 18 words
The method according to claim 1 , wherein one of said groups includes an owner of the design.
Claim 14
Dependent Claim 19 words
The method according to claim 1 , wherein said step of synchronizing is performed without reading the baseline design.
Claim 15
Dependent Claim 29 words
The method according to claim 1 , wherein said step of synchronizing comprises determining, without using the baseline design, whether an owner or other user made the design changes.
Claim 16
Dependent Claim 42 words
The method according to claim 14 , wherein said step of viewing changes comprises logging in to a web site that displays the design changes and retrieves a user input indicating at least one of acceptance and rejection of the design changes.
Claim 17
Dependent Claim 33 words
The method according to claim 1 , wherein said step of synchronizing comprises viewing changes proposed by each of the design groups, and approving or rejecting at least one of the design changes.
Claim 18
Dependent Claim 46 words
The method according to claim 1 , further comprising the steps of: re-distributing the synchronized design to a second set of design groups; making design changes by the second set of design groups; and synchronizing the design changes made by the second set of design groups.
Claim 19
Dependent Claim 42 words
The method according to claim 1 , wherein: said method is embodied in a set of computer instructions stored on a computer readable media; said computer instructions, when loaded into a computer, cause the computer to perform the steps of said method.
Claim 20
Dependent Claim 25 words
The method according to claim 18 , wherein said computer instruction are compiled computer instructions stored as an executable program on said computer readable media.
Claim 21
Dependent Claim 49 words
The method according to claim 1 , wherein the design groups include, an owner-user that makes updates in the baseline electronic design, and non-owner users that makes updates in a non-owner user's copy of the baseline electronic design including a separate section that annotates each change in the design.
Claim 22
Dependent Claim 52 words
The method according to claim 20 , wherein the synchronization device deduces whether a design element was added or deleted from an original baseline design without use of the original baseline design by comparing the designated users design to a non-designated users design and the annotation section of the non-designated user's design.
Claim 23
Dependent Claim 38 words
The method according to claim 1 wherein the step of synchronizing comprises sorting changes in the modified baseline designs according to electronic design tools utilized for making the changes and then synchronizing the changes in the sorted order.
Claim 24
Independent Claim 388 words
A device, comprising: means for synchronizing multiple designs each modified from a baseline; each of said multiple designs comprises a design connectivity database storing design components and connectivity of a design and modifications made by design or front end tools (DESCONN), a layout connectivity database storing layout data and modifications of the design made by layout or backend tools (LAYCONN); the design connectivity and layout connectivity databases include occurrence sections to identify changes made from a baseline of the designs; said means for synchronizing comprises comparison means for comparing identifiers contained in the databases and sections of the databases related to added, deleted, and modified components and connectivity of the design, and processing means for merging the changes from the different designs, wherein said processing means includes means for: determining if new Id is present in a design connectivity database DESCONN and not present in a layout connectivity database LAYCONN, and then processing a new object corresponding to the new Id added by a front end design tool, determining if a front end design tool created Id is present in LAYCONN and not present in DESCONN, and then processing an object deleted by the front end design tool, determining if a front end Id is present in each of LAYCONN, DESCONN, and in an occurrence delete section of LAYCONN, and then processing an object deleted by a layout tool, determining if a layout Id is present in an occurrence add section of LAYCONN, and then processing a new object added by the layout tool, determining if a layout id is present in an occurrence delete section of DESCONN and in the occurrence add section of LAYCONN, and then processing the Id added by the layout tool and then deleted by the front end tool, determining is a same instance id but different cell id is present in DESCONN, and then processing a modify/replace performed by the front end design tool, and determining each of a new pin net connection id in LAYCONN, a corresponding pin net connection id in the occurrence section of LAYCONN, a new pin net connection id in DESCONN corresponding to the pin net connection id in the occurrence section of LAYCONN and then processing a simultaneous change of connectivity to a pin by the front end design tool and a back end design tool.
Claim 25
Independent Claim 388 words
A device, comprising: means for synchronizing multiple designs each modified from a baseline; each of said multiple designs comprises a design connectivity database storing design components and connectivity of a design and modifications made by design or front end tools (DESCONN), a layout connectivity database storing layout data and modifications of the design made by layout or backend tools (LAYCONN); the design connectivity and layout connectivity databases include occurrence sections to identify changes made from a baseline of the designs; said means for synchronizing comprises comparison means for comparing identifiers contained in the databases and sections of the databases related to added, deleted, and modified components and connectivity of the design, and processing means for merging the changes from the different designs, wherein said processing means includes means for: determining if new Id is present in a design connectivity database DESCONN and not present in a layout connectivity database LAYCONN, and then processing a new object corresponding to the new Id added by a front end design tool, determining if a front end design tool created Id is present in LAYCONN and not present in DESCONN, and then processing an object deleted by the front end design tool, determining if a front end Id is present in each of LAYCONN, DESCONN, and in an occurrence delete section of LAYCONN, and then processing an object deleted by a layout tool, determining if a layout Id is present in an occurrence add section of LAYCONN, and then processing a new object added by the layout tool, determining if a layout id is present in an occurrence delete section of DESCONN and in the occurrence add section of LAYCONN, and then processing the Id added by the layout tool and then deleted by the front end tool, determining is a same instance id but different cell id is present in DESCONN, and then processing a modify/replace performed by the front end design tool, and determining each of a new pin net connection id in LAYCONN, a corresponding pin net connection id in the occurrence section of LAYCONN, a new pin net connection id in DESCONN corresponding to the pin net connection id in the occurrence section of LAYCONN and then processing a simultaneous change of connectivity to a pin by the front end design tool and a back end design tool.
Claim 26
Dependent Claim 18 words
The device according to claim 23 , wherein said occurrence sections track all non-designated changes to the design.
Claim 27
Dependent Claim 17 words
The device according to claim 24 , wherein said non-designated changes are non-owner changes to the designs.
Claim 28
Dependent Claim 19 words
The device according to claim 23 , wherein said databases track a user change history for only non-owner changes.
Claim 29
Dependent Claim 21 words
The device according to claim 23 , wherein said synchronization means performs said synchronization without direct reference to the baseline design.

References Cited (Backward Citations)

US6240429B1 Cited
US6253217B1 Cited
US6308179B1 Cited
US6782387B1 Cited
US20040205540A1 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2009-11-27 2010-05-29 2010-11-28 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2013-11-27 2014-05-29 2014-11-28 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2017-11-27 2018-05-29 2018-11-28 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag