Software Configuration Management – Is it the right tool for hardware design?
![]() |
0.0 (0) |
Almost anything that you are likely to make will be made better, more safely, and more quickly with the right tools. You can manage to use a flat head screwdriver to tighten a Phillips screw, but it will take longer and won’t be as tight. You can use a putter to complete an entire golf course, but it will take you a whole lot longer. You will not only lose the game badly, you may also lose your golf buddies.
The same principle applies to nuts-and-bolts design tools. I’m not talking about the leading-edge tools used to differentiate brand new components in 32-nanometer designs. I’m talking about the basic tools that every designer and every design team needs to use to ensure that the fundamentals are covered, things like place-and-route tools, Verilog simulators, configuration management tools, etc. The end user of your product isn’t going to check to see what sort of screwdriver you used but, if you use the wrong one, your quality isn’t going to measure up to your competitors’ and your resource utilization and costs are going to be higher.
Take design data management, for example. Configuration management tools are fundamental to design teams, helping them to manage development, improve collaboration, and coordinate releases for complete integrated circuit (IC) designs. Software configuration management (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. For hardware design teams encountering the same market forces as software engineering teams -- increased competition due to globalization, distributed development teams, exponential increase in design complexity, shrinking market windows – the response has been to try to adapt SCM systems to hardware design.
While there are several SCM systems, they were all developed to manage software projects and therefore do not address all the requirements of hardware design. Hardware design data and software source code have fundamentally different characteristics. Software source code consists of relatively small text files that can be simultaneously edited and merged. Hardware design data consists of proprietary binary formats and text files. When doing custom layout or designing analog/ mixed-signal (A/MS) designs, engineers are creating and editing layouts or schematics in libraries. Schematic and layout can be quite large and are often saved in multiple co-managed files. In addition, design and verification tools create multiple run files, lock files, backup files and log files that are mixed in with the design files.
Hardware designers must understand design hierarchies for synthesis, place and route, layout, and full custom analog design. They are working at the design abstraction level of libraries and cells. They do not want to have to think about 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. They are also already working with several tools and complex flows, and adding any additional tools and steps to the process will be met with resistance.
Hardware design teams need the right tools to manage hardware design data – a hardware configuration management (HCM) system. An IC or system under development may consist of a wide variety of data in both binary and text formats – specifications and documents, digital front-end RTL files, analog design and layout, firmware, PCB design, tester input data, and so on. Instead of using different systems to manage this motley collection of data, it would be most convenient to manage and track all the design data using the same system. An HCM system needs to incorporate the features of SCM systems but also to address the needs of different hardware design flows. These needs include:
- A user interface that is seamlessly integrated into the design flow.
- Managing the relationship between the design abstractions that engineers commonly work with and the physical files used to store the design data.
- Managing composite design objects like schematics that are saved in multiple co-managed files.
- Optimizing disk space usage by not creating physical entire copies of large libraries in each user workspace.
- Understanding and managing design hierarchy.
- Making it easy to manage design data from a variety of tools and flows.
The next time your design team is faced with a new project on an insane schedule, consider whether you have the right tools for the job. Before trying to adapt an SCM system, explore whether it meets the requirements of your design flow. Then consider the advantages of an HCM system to meet more of your needs more efficiently. Selecting the right tool could lead to shorter design cycles, reduced engineering and software license costs, and reduced time to market. The increased market window and reduced costs will help you both increase the top line and maximize profits.
User reviews
To write a review please register or login.





