Blog_4 version control features for Semiconductor design and development
January 2, 2020

What Is Design Reuse? How to Maximize It

Version Control
Design

Design reuse is critical in semiconductor development. It helps you accelerate time-to-market. But what is design reuse? And how can you reuse designs more efficiently? That's what we break down in this blog.

Back to top

What Is Design Reuse?

Design reuse is the inclusion of previously designed components (e.g., intellectual property) in software and hardware. Reusing designs makes it quicker, easier, and less expensive to design and build a new product. That's because existing components are much more reliable and well-tested than new components. 

Design reuse can expedite system-on-chip (SoC) and IC design and development. But managing the increasingly large number of digital assets is difficult. It creates a need for stronger collaboration between internal and external resources.

A powerful design data management and IP lifecycle management solution is the best way to bring teams together and enhance productivity. Using these tools ensures all stakeholders can collaborate:

  • Hardware, software, and manufacturing engineers.
  • Engineering IS/IT professionals.
  • Business managers.
  • Quality personnel.
  • And more.
Back to top

How to Maximize Design Reuse

Support for Code + Design Reuse

EDA systems and software development tools use a variety of file formats at different stages during the design process. Then these files are compiled to be delivered to manufacturing. There are invariably many file versions that must be managed. This includes work in progress and approved files that may need to be kept indefinitely. 

Some of the files are text, but others are binary. Since most data management tools are only capable of handling source code and text-only assets, your solution must support more file types to be able to maximize design reuse.

This capability provides chipmakers with an immutable single source of truth for the entire electronics development and design process. When a system securely versions design files (i.e., analog and digital) and software files for tape-outs, all changes are tracked, traceable, and compliant.

Secure and Share: Evolve Your IP Model to Maximize Reuse

Learn how to conquer IP reuse and design reuse. Get the white paper for a complete overview.

Get the White Paper

Deliver Files Quickly

One of the biggest performance bottlenecks during chip design and development is the movement of files. This can happen when fetching the files to an engineer’s workstation or when they’re submitted back to the data management system.

Consider this common scenario. You need to make edits to a set of Cadence Virtuoso design files and begin to pull them from the versioning platform. There are 1,000 little files and one gigantic 10GB file. In the traditional mode, you'd happily chug along until you hit that giant file. Now you're stuck waiting on that one 10GB file to finish before the rest of your files.

Having a data management system that performs file operations in parallel decreases time waiting around for assets.

With this type of system, files go into a thread to move across the pipeline.  As a thread becomes free, the versioning system grabs the next file in the list. This is called parallel threading. Using the same scenario, an engineer can start copying the 10GB file, and the other threads continue to process new files. This dramatically improves performance and design reuse.

Connect Remote Developers and Designers

Let’s say you have four offices located in Boston, Vancouver, Boise, and Taipei. And each location has 40 engineers. Your first task in building a network between these locations. This enables code and design reuse across teams.

With some systems, there can be a large number of files on individual engineering workstations to support active work in progress. If one developer wants to reuse components from a similar project stored on another workstation, it gets complicated. If they are using Git-based data management, they would need an entire repository to get one file.

To maximize code and design reuse, you need to be able to reuse all digital assets. Often entire projects are too big to fit into a single repo. Git limits the number of files in a repo and overall repo size. Remember that 10GB file?  It can’t even be stored in Git. And designs are on an entire other system.

Using Advanced Replication Technology

Even if the files are small, there are tens of thousands of files in a typical semiconductor project.  As their version history grows, the performance of operations can be negatively impacted.  As a result, the system will slow down unacceptably.

Instead of copying files from a server to individual workstations, you should look for a data management system that supports advanced replication technology. This provides high-performance, local access to versioned files for remote teams in each office.  

Advanced Security Features

How important is your intellectual property to the future of your company? Semiconductor and electronic systems customers uniformly tell us it is the lifeblood of the company and their competitive advantage in the marketplace.  

If all your major enterprise software is secured behind state-of-art protection technology, shouldn’t your IP be afforded the same protection?

With most data management systems, all you need is a username and password to copy down an entire repo from the command line.  This is a security concern. Considering 40 percent of organizations have experienced a ransomware attack in the last year, you need strong and granular permissions.

What Your Code and Semiconductor Design Software Needs

When considering your tools, look for one with strong access control and support for multi-factor authentication (MFA). MFA is the easiest and most popular way to secure enterprise users and their data. When implemented, it provides greater assurance than a password to confirm that users accessing your systems are who they say they are.

You also will want to limit user access to individual files, not just repos or folders. Your system admin or team lead should o set up file-level permissions. This protects not only your IP from being stolen, but also from being accidentally deleted or changed.

Back to top

Support Design Reuse With the Right Tools

Perforce offers two solutions to support your design reuse model:

Helix Core and Helix IPLM (formerly Methodics IPLM) create a data management/digital asset management platform that integrates with your existing data and infrastructure.

Both Helix Core and Helix IPLM with the tools you are already using, like Jenkins, Cadence, Jira, and more.

The Helix IPLM IP abstraction model tracks everything making design reuse possible, even for the largest organization. It is just one of the many reasons 9 out of the top 10 semiconductor companies choose Helix Core and Helix IPLM.

Want to see all that Perforce can offer your team?

TRY HELIX CORE TALK TO A HELIX IPLM EXPERT

Back to top