The ROI of Hardware Configuration Management

Author: Srinath Anantharaman, ClioSoft, Inc.

Hardware Configuration Management Systems

Software teams have long realized the return on investment (ROI) of software configuration management (SCM) systems. SCM systems have been used by software teams for decades to manage development, improve collaboration, and coordinate releases. SCM systems have become such an integral part of a software development environment that practically no significant software project is even started without a SCM methodology in place. There are a variety of software configuration management systems to choose from - commercial systems such as ClearCase® or Perforce and public domain mainstays such as CVS and Subversion.

Over the last decade, hardware design teams have encountered the same market forces as software designers: increased competition due to globalization, mandating the use of the best available engineers irrespective of location, an exponential increase in design complexity, and shrinking market windows. The result has been larger teams of engineers spread across multiple sites.
Facing this combination of market forces and large widespread teams, it makes sense for hardware teams to adopt the methods of software teams, but adapted them for hardware flows, i.e., a hardware configuration management (HCM) system. This paper examines design flows with and without HCM systems and evaluates the advantages and ROI of deploying an HCM system and methodology.

Team Design without HCM

Designing in a team implies sharing design data that has been completed and keeping designs in progress isolated. This is usually achieved by using an ad hoc process where data is managed by copying designs from the isolated development/scratch libraries to the shared libraries. A typical workflow for managing and sharing design data is illustrated in Figure 1.

Figure 1: Design collaboration without HCM

Designers often like to keep backups, so revision control is achieved by arbitrary naming conventions. Soon libraries are littered with cell-views containing names such as "layout_4" or "schematic_jan_14_2009". Changes are tracked manually, often by a highly compensated project leader or manager, and communication is often via meetings and emails that use up precious engineering time. Since everyone is sharing the design data, access controls are hard to enforce and are often left to an honor system. Consequently, no one is prevented from accidentally deleting or modifying the wrong data. Such accidents are usually addressed by having a gatekeeper (often the same highly paid project manager), which is not only expensive but is a hindrance to development, as the "gatekeeper" is frequently away for meetings. Finally, as project milestones are reached, the entire project is archived as a way to capture each milestone.

Multi-site Development

When development is spread across multiple sites, data management becomes even more complex and communication is impeded by distance, time zone differences, and language. A typical way to tackle this problem is to partition the project so that each part is primarily managed by different sites. Completed and shared data is periodically synchronized between the sites as illustrated in Figure 2.

Figure 2: Design collaboration across two sites without HCM

Issues and Inefficiencies

Without an HCM system and methodology in place, project schedules and quality rely too heavily on human perfection. This arrangement may work with a small team of veteran engineers but as the team size grows there will invariably be accidents. Users can inadvertently overwrite each other's changes when they copy changes from their scratch libraries to the master libraries. Hierarchical copying, though very convenient, can have disastrous consequences. With no version control, the changes may be lost forever, or at the very least be time consuming to retrieve from backups, if they even exist. A much bigger problem is if the overwrite is not detected at all and the project tapes out without this knowledge. This sort of error can necessitate a very expensive re-spin.
Team design without HCM also adds inefficiencies to the entire process. Users have to be very careful about what they modify or delete, which takes up valuable time. Libraries become cluttered with saved backup versions and shared master libraries tend to accumulate unused cells requiring periodic cleanup. Simulations and verifications are always suspect because the libraries could have changed midway through. Inefficiencies become even greater when multiple sites are involved and time zone differences delay turnaround of issues.
In the end, lack of an HCM system and methodology is a nightmare for management since there is no accountability or any audit trail of changes. Managers get burdened with the mundane tasks of bookkeeping and gate-keeping, which are better managed via software automation. As additional red tape is added to improve accountability and to reduce errors, it further slows down development and takes more quality time away from project leaders and managers.

Team Design with HCM

A hardware configuration management system such as ClioSoft's SOS can streamline the design process and significantly improve a team's productivity. SOS acts as a gatekeeper and protects the users from accidentally losing/overwriting valuable data, thus eliminating the need for manual bookkeeping.
Each user works in a sandbox that essentially has a snapshot of the project. ClioSoft's SOS automatically optimizes disk space usage through the intelligent use of symbolic links for all objects not being modified. The user's workspace is isolated and is not affected by changes made by others until the he or she is ready to retrieve the changes. Each user's changes remain private until their modified design objects are checked in to the HCM system. This process provides a very stable and predictable environment for running simulations and verifications.

A user must check out an object from the HCM system before editing and this places a write lock on the object and prevents accidental overwrites by others. When changes are checked in, a new revision is created giving users the ability to revert back to or view a previous revision. Finally an audit trail is maintained, recording a chronological history of all events and providing better accountability and a clearer understanding of what changes took place during the lifetime of the project. Figure 3 illustrates team design and workflow using HCM.

Figure 3: Design collaboration with HCM

Multi-site Development

The value of HCM grows as the size of the team grows, and becomes invaluable if the team is spread across multiple sites and time zones. ClioSoft's SOS uses a client server architecture that allows access to the same project data irrespective of the engineer's location. When a design change is completed and checked in, it is immediately available to all the members of the team and there is no need to wait for site synchronization. SOS has technology built in, such as remote cache servers, to reduce use of network bandwidth and minimize the effects of network latency. A push or pull model can be used to update the cache at remote sites immediately or at regular interval. Figure 4 shows the high-level architecture and workflow of SOS HCM in a multi-site environment.

Figure 4: Design collaboration across two sites with SOS HCM

Project Management Made Easy

A project administrator can use ClioSoft's SOS to provide intelligent gatekeeping through the use of extensive access control capabilities. For instance, layout engineers can be prevented from making changes to schematics, contractors can be restricted to having access only to certain modules, verification engineers can be limited to read-only access, etc.

Cross-coupled integration with issue tracking systems like Bugzilla and Trac automates bookkeeping and helps improve quality. Milestones and releases can be easily recorded by taking snapshots. Thus the exact project configuration or any snapshot can be easily recreated at any time without the need to maintain multiple, mostly redundant, archived copies of the project. Derivatives or variants, such as a new version of a completed project, can be easily created and managed through the use of "branching."
Projects can further be broken up into smaller more manageable pieces. PDKs and IP can be kept as separate reference projects allowing for reuse by multiple design projects across the enterprise. Larger projects can be hierarchically partitioned into smaller sub-projects and split across multiple sites. By the use of references, the pieces are brought together and managed in SOS as one complete seamless project.

HCM Integrated with the Laker Flow

When doing custom layout or designing analog/mixed-signal designs, engineers are creating and editing layouts or schematics in libraries. Design tools such as SpringSoft's LakerTM Custom Layout Automation System create a large number of files on disk to store the design data. In addition, design and verification tools create multiple run files, lock files, backup files, and log files. Soon an engineer's workspace is cluttered with a large set of files. An engineer working at the design abstraction level of libraries and cells is not aware of the internal data storage mechanism of the design editors and would be hard pressed to figure out which files contain design data and which files are just temporary files that need not or should not be managed. Designers are already working with several tools and complex flows. Adding additional tools and steps to the process will be met with resistance. So the HCM system should be seamlessly integrated with the design flow.

SpringSoft and ClioSoft have come together to solve these problems. They use open architectures and published APIs that make integration between SpringSoft's Laker layout and ClioSoft's SOS systems possible and seamless. Close partnership between SpringSoft and ClioSoft and practical feedback from customers has led to an easy-to-use, powerful integration.

Figure 5: Laker & SOS integration architecture

The Laker layout system has a full Tcl API that allows access to the design data and customization of the user interface. ClioSoft has built a design browser into the Laker layout system using the TCL API. This allows engineers to browse libraries and design hierarchies, examine the status of cells and perform revision control operations.

Figure 6: The SOS design browser in Laker

The Laker layout system has provided a published API for design management support. Using this API, ClioSoft has built an integration with the SOS data management software that allows the Laker layout system flows to use SOS for revision control. By using SOS, cells are automatically checked out for editing and then checked in after modifications are complete. Users may click the right mouse button for popup menus in the Laker layout system which provide quick access to revision control operations.

Figure 7: Right-click popup menus & auto checkout prompt dialog

Conclusion

Software teams have long realized that they cannot function without a SCM system in place. As hardware teams have grown and become widely dispersed, the use of HCM systems, too, are on the rise.
Design teams have found that by deploying an HCM system, the productivity of the team and the efficiency of management are improved, and the probabilities of expensive re-spins are markedly reduced. The ROI of an HCM system is realized in several ways:

  • Automated and error proof bookkeeping and gate keeping capabilities that relieve managers and engineers from mundane tasks.
  • Real-time communication and collaboration between engineers at the same site or around the world, reducing the need for expensive, time-consuming meetings and error-prone email communication.
  • Prevention of data loss and easy recovery from mistakes.
  • Reduced need for EDA support services since processes are streamlined and data sharing is automated.

Most importantly, an HCM system makes a dramatic difference in reducing the need for re-spins. During the hectic period before a tape-out, an HCM system is invaluable in detecting and preventing human error. Saving just the manufacturing cost of a single re-spin will more than recoup the investment of licensing and deploying an HCM system.

Deploying an HCM system positively impacts the bottom line by helping get products to market sooner. Savings in engineering salaries, software licenses and manufacturing helps reduce cost significantly. Reaching the market earlier help increase sales and profits.