IC Manage: Industrial Strength Data Management
Perforce Solutions

Home > IC Products > IC Manage GDP Key Features > Derivative/Variant Management

Derivative/Variant Management

By the time a large design is completed the sum of all of the design changes, or variants, can total hundreds of thousands, even millions of files. IC Manage GDP’s derivative management feature tracks design or module variants in addition to basic revision information. Changes in one design derivative can be automatically propagated to another derivative, making it easy to for design teams to do advanced design re-use.

IC Manage GDP tracks and records design derivatives separately from versions of the same design element. When a new derivative is created, files are not copied and forked. Instead IC Manage GDP uses a change-based approach to track which files are modified for this new variation. In addition, IC Manage GDP’s unique Inter-File Branching keeps track of the change history within the element itself. Thus designers can easily re-integrate bug fixes and corrections into old variations without diff or XOR operations, while still tracking the use of all the derivatives of a design component.

Importance of Derivative Management

For any given design, there are typically a large number of derivatives or sub-derivatives that share some common design elements. The reasons for these derivatives include:

  • Process issues
  • System bugs
  • Timing or cross talk problems
  • Changed customer requirements

Propagating the right set of changes to the appropriate derivative can be a very difficult problem. Historically there has been no easy way to apply sets of changes to multiple data sets without diffing and re-working the new database, which is error prone and extremely time consuming.

For example, a bug may have been found in a component that was previously taped out and sourced to multiple foundries. Once the designers fix the bug in the current tree, they must still do a lot of re-work in applying the changes related to this bug from the current tree into a number of historical databases. Since the trees were all copies of each other, it is hard to determine which versions were used unless detailed copy records are created and managed. Conventional version control helps identify this problem and reduces the possibility of error, the rework must still be done in each individual tree since there is no propagation model available in these systems.

IC Manage GDP’s Change-based Architecture

IC Manage GDP’s change-based architecture with change propagation and dependency tracking significantly simplifies the task of managing derivatives. IC Manage GDP assigns every transaction in the system a unique change number, making it easy to track changes throughout the entire tree. With IC Manage GDP’s client-server architecture, all metadata is stored on the server and not in the workspaces, thus designers can query all states directly through the database rather than having to collect file status information from distributed workspaces across the network.

Change Packages

An important feature of IC Manage GDP is its ability to track change packages, or sets of files related by a logical change, and the ease by which these change packages can be propagated. These change packages - not just individual file changes - are critical to track for both software and hardware development. Each file in a code-line has its revision history, but each revision in its history is only useful in the context of a set of related files. Tracking the change packages allows designers to identify what other source files were changed along with this particular change to a particular design element.

Inter-File Branching

IC Manage GDP uses Inter-File branching as the cornerstone of working with configurations. It begins with internal virtual database copies files and renaming the target files, and finishes with a collection of techniques that make its model usable.

Copying files in the repository can waste storage space. In contrast, IC Manage GDP supports derivatives with virtual copies, reducing the space requirement of a derivative to merely a record for the newly created derivative that points to the original file. The newly branched file makes use of the contents of the original file; when the branch is extended by adding a new revision, the branched file can acquire its own separate entity in the data store.

The virtual copy can also be used when one derivative is explicitly synchronized with another. If the designer wishes to fold a branch back into a trunk and make the two identical, both can reference the same content at that point.

Incremental Abilities of Inter-File Branching

IC Manage GDP internally tracks the change from virtual copy to entity and provides a complete audit trail for comprehensive reporting. It is able to compute the deltas that the file revisions incorporate from other files through first, second, third, etc. generation merges or replaces when the data is binary and cannot be merged using automated techniques.

Through this powerful feature, IC Manage GDP allows changes between branches to be propagated automatically, without the need for diffs or other manual techniques to determine the difference between trees that shared a common fork point. IC Manage GDP is able to compute, apply and report the incremental updates between data sets across design hierarchies.

Derivative Management Tames the Data Explosion

An exponential growth in the overall amount of data occurs as the design progresses towards completion. This typically takes the form of change dump files, simulation and verification output, and parasitic data. In addition, tools may be upgraded and generate slightly incompatible results from previous versions, often making it impossible to reproduce the exact behavior of an older design. Tracking and managing this data is a very important part of IC Manage GDP’s configuration management solution.

As companies typically produce more than one chip, many design components are shared. Managing these shared components is a time consuming task, adding additional designer overhead. Without powerful techniques at the highest level of abstraction, replication of data sets is unavoidable and adds an extra degree of complexity to IC variant management when it comes to change propagation.

IC Manage GDP’s derivative management can handle automatic change propagation between any and all components in an incremental fashion from either parent to child or child to parent. This includes the requirement for a file, or set of files, to change names and directory structure across any dataset boundary and back again as many times as necessary, while still referring to the same objects. With IC Manage GDP, the data producers can be decoupled from low-level implementation requirements such as site specific directory structures, facilitating streamlined and de-centralized development.

Return to Top

© 2007 IC Manage. All rights reserved.