June 1, 2010 -- 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. In fact, 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, managing complex flows, and sharing a large volume of constantly changing data.
Figure 1. Today's design environment.
The design flow requires management of a broad spectrum of data types that needs to be shared across multiple sites and platforms including Unix, Linux and Windows.
Figure 2. Broad spectrum of data to be managed.
Facing this combination of market forces and large widespread teams, it makes sense for hardware teams to adopt the methods of software teams, but to adapt those methods for hardware flows, i.e., a hardware configuration management (HCM) system. This paper examines design flows using traditional techniques of sharing data and evaluates the advantages and ROI of deploying an HCM system and methodology.
Traditional techniques of sharing design data
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 3.
Figure 3. Traditional design collaboration.
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 data. Such accidents are usually addressed by having a gatekeeper (often the same over-extended project manager), which is not only expensive but is also 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.
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 4.
Figure 4. Traditional multi-site design collaboration.
Issues and Inefficiencies
With such traditional approaches to collaboration, 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. 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 or 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 5 illustrates team design and workflow using HCM.
Figure 5. Design collaboration with HCM.
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 6 shows the high-level architecture and workflow of SOS HCM in a multi-site environment.
Figure 6. Multi-site design collaboration with SOS HCM.
Project management made easy
A project administrator can use ClioSoft's SOS to provide intelligent gate-keeping 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 IC design flows
When doing custom layout or designing analog/ mixed-signal designs, engineers are creating and editing layouts or schematics in libraries. Design flows such as Cadence Virtuoso, SpringSoft Laker, Synopsys Custom Designer, or Mentor ICstudio 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.
All the major EDA vendors have realized the importance of design management and therefore define APIs and work with HCM vendors to provide version control integrated seamlessly with the design flows. ClioSoft works closely with all major EDA vendors – Cadence, Synopsys, Mentor and SpringSoft – to provide HCM capabilities seamlessly integrated within IC design flows. Close partnership between EDA vendors and ClioSoft, with practical feedback from customers, has led to an easy-to-use, powerful integration.
Figure 7. IC design flow and HCM integration architecture.
All IC design flows have powerful extension languages that allow access to the design data and customization of the user interface. ClioSoft has built a comprehensive design management GUI directly into the design flow library browsers and design editors. This allows engineers to browse libraries and design hierarchies, examine the status of cells, and perform revision control operations without leaving the design environment or learning a new interface.
Figure 8. SOS design management in Synopsys Custom Designer.
Text diff tools have been available for decades to allow software designers to quickly identify the changes made and also to compare different versions of a file. Digital designers working with Verilog or VHDL text files can benefit from the same tools. Designers working with graphical editors to create schematics and layout can benefit from similar features. EDA vendors have provided the means to examine design data through the embrace of open standards like Open Access and support for well documented APIs. ClioSoft has used these powerful features of the IC flows to build diff tools for schematics and layout that visually highlight the differences.
Figure 9. ClioSoft Visual Design Diff in Cadence Virtuoso.
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.
- Quick visual review of changes.
- 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 respin 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 help reduce cost significantly. Reaching the market earlier helps increase sales and profits.
By Srinath Anantharaman, ClioSoft, Inc.
Go to the ClioSoft, Inc. website to learn more.