Does this sound familiar? You are a CAD engineer helping a project tape out. For weeks. You probably have a copy of the design database that you have backed up, calling it something like: “last known–to-be-working” copy. And then there are different copies of the design database that you have created for running experiments in parallel. You have probably also created some snapshots of the design database – “Version 1” to “Version 10” – representing different stages of the design. After all the hard work, manipulating through multiple copies of the design database, you are finally ready to deliver and create a “final” version of the design database in a shared directory. After spending days in a turbulent ocean, when you finally see land you are naturally elated, as you would like to believe that your journey is finally over.
But you have not accounted for Murphy’s Law. Just when you think you are done, your manager tells you to add a PowerPoint presentation describing the design database. As is engineering practice, you make a copy of the design database – final-1 – and proceed to add the presentation. Not to be left behind, others follow your manager and ask you to run another simulation or some additional checks or document the scripts as well, etc. And before you know it, after making multiple copies of the design database and following up on the various requests, you are looking at a final version that finally gets approved by all and delivered to the FAB at 3:00am on Sunday morning! And as you head for a well-earned sleep, you promise yourself that you will clean up the bad copies of the design database tomorrow…
Next day morning, there is a new fire burning and you get pulled into another high-priority project and life moves on. Days pass and the delivered GDS-II comes back from the FAB with a bug. Your project manager suddenly remembers you and wants to bring the (real) final database online to run a simulation. As you stare at the multiple copies of the “final” design database, you are wondering which design database is the final database. Is the final database “final-29,” just because 29 is the highest number? Or is it final-26, with the latest time stamp? Or is it final-27, because that’s the one which seems to have been put on the FAB’s FTP site? You might be looking at a time-consuming process of running a number of verification programs just to figure out what you taped out.
Has this, or some variation on this, ever happened to you? Well if it has, you absolutely need to consider a design data management solution. Not only will a design data management platform prevent any sort of version control issues, it will also simplify design collaboration and improve team productivity. There are several advantages of using Design Management (DM) to manage your design data. The most fundamental ones are:
- Version control: DM allows you to save all versions of your design database so that you can go back to a previous version at any time in the future. A data management platform not only saves the data but also keeps track of who created/edited/deleted it and when. You have the ability to go back to any previous version of the design database.
- Sharing: Typically, design teams today are dispersed around the world and work around the clock. A data management solution enables communication among team members without using overstretched manual resources from the CAD/IT teams. So no more “rsyncs” to set up for the remote design teams.
- Labeling the data: A data management system also allows you to record the status and/or state of the project. For example, you could tag a module as “lvs_verified” to indicate its status to the team. Or create a permanent tag called “tapeout_A1” and capture what data was send to the foundry.
- Control access: You can easily set up rules for who gets what type of access to which design data. For example, some design teams do not allow layout contractors to edit the schematic, but they do need read access to the schematics to do their jobs.
Now coming back to you, the CAD engineer, who was wondering which version of the design database was the final version… If you have a design data management system, all you have to do is to take a snapshot (permanent tag) of the design at 3:00am on that fateful tapeout day. And months or years from now, you will know exactly that it was, in fact, version “final-28” that taped out!
Amit Varde is Applications and Support Manager at ClioSoft, Inc.