WP_Term Object
(
    [term_id] => 18712
    [name] => Keysight EDA
    [slug] => keysight-eda
    [term_group] => 0
    [term_taxonomy_id] => 18712
    [taxonomy] => category
    [description] => 
    [parent] => 157
    [count] => 19
    [filter] => raw
    [cat_ID] => 18712
    [category_count] => 19
    [category_description] => 
    [cat_name] => Keysight EDA
    [category_nicename] => keysight-eda
    [category_parent] => 157
)
            
61DAC SemiWiki 800x100 I LOVE DAC (1)
WP_Term Object
(
    [term_id] => 18712
    [name] => Keysight EDA
    [slug] => keysight-eda
    [term_group] => 0
    [term_taxonomy_id] => 18712
    [taxonomy] => category
    [description] => 
    [parent] => 157
    [count] => 19
    [filter] => raw
    [cat_ID] => 18712
    [category_count] => 19
    [category_description] => 
    [cat_name] => Keysight EDA
    [category_nicename] => keysight-eda
    [category_parent] => 157
)

Version Control, Data and Tool Integration, Collaboration

Version Control, Data and Tool Integration, Collaboration
by Daniel Payne on 09-27-2023 at 10:00 am

As a follow up from my #60DAC visit with Simon Rance of Keysight I was invited to their recent webinar, Unveiling the Secrets to Proper Version Control, Seamless Data and Tool Integration, and Effective Collaboration. Karim Khalfan, Director of Solutions Engineering, Data & IP Management was the webinar presenter.

Modern SoC devices can contain hundreds of semiconductor IP blocks that could contain subsystems for: CPU, GPU, Security, Memory, Interconnect, NoC, and IO. Keeping track of such a complex system of subsystems requires automation.

SoC Complexity min
SoC Complexity

Version Control

The goals of a version control tool for SoC design are to capture objects used in a release, ensure data security, resolve conflicts from multi-user check-ins, maintain design handoffs using labels, and being able to revert to a stable version of the system. Access controls define which engineers can read or modify the system, something that is required for military projects through ITAR compliance. Authorized engineers can check out IP like hardware or software, work on a branch, resolve conflicts with other team members, then merge changes when ready by checking in or committing

Designers with version control can update specific objects, go back in time to revert previous versions and use labels to assist in communicating with their team what each update is about. Modern version control tools should allow both command line and GUI modes to suite the style of each project.

Reuse and Traceability

The first diagram showed just how much IP that it can take to design a system, so being able to re-use trusted IP from internal or external sources is required, along with being able to trace where each IP block came from along with it’s version history. Industries like aerospace and automotive have requirements to archive their designs over a long period of time, so having thorough documentation is key to understanding the BOM.

IP developers need to know who who is using each IP block, and IP users need to be informed when any changes or updates have been made to an IP block. The legal department needs to know how each IP bock is licensed, and how many of each block is being actively used in designs. The Design Data Management tool from Keysight is called SOS. A traceability report should show where each IP block is being used across a global scale, by version, and by geography. If two versions of the same IP are referenced in the same project, then a conflict should be detected and reported.

IP by geography min
IP by Geography

Storage Optimization

SoC design sizes continue to increase in size, so how the data is stored and accessed becomes an issue.

Design # of Files File Size
12 Bit ADC 25K 150GB
Mixed Signal Sensor 100K 250GB
PDK 300K 800GB
Processor 500K 1,500GB

With a traditional storage approach there is a physical copy of the data per user, so for a team of five engineers there would be five copies of the data. Each new engineer grows the disk space linearly, requiring more network storage.

The Keysight SOS approach instead uses a centralized work area, then design files in a users work area are symbolic links to a cache, except for files to be edited. This creates an optimized use of network storage, saving on disk space for the team. Creating a new user work area is quite fast.

SOS cache min
SOS storage

Team & Site Collaboration

Without remote sharing of IP blocks, your engineering team may be working on the wrong version of data, wasting time trying to locate the golden data, using stale data that is out of sync, or even handing off data to another geography that is out of date. Keysight recommends using labels as tags to communicate between team members, and also using tags to represent milestones in the IC design process. In the following diagram there’s a mixed-signal design flow with tags and labels being used to ensure that the correct versions are being used by each engineer.

tags and labels min
Mixed-signal design flow using tags and labels

Once the design methodology is established, then each geography can work concurrently sharing data through the repository and cache system. SOS supports automatic synching data across sites, so there is fast access to data at each remote site. Even remote updates are performed quickly just like at the primary site, as the traffic of data is reduced, and this approach also works in cloud-based EDA tool flows. Remote design centers and cloud users are both supported, as the data management is built in.

Integration

Over many years the Keysight SOS tool has been integrated with the most popular EDA software vendor flows.

  • MathWorks
  • Siemens
  • Synopsys
  • Keysight
  • Cadence
  • Silvaco
  • Empyrean

These are all native integrations, so the data management and version control are consistent across projects, groups and geographies. The SOS tool runs under Windows or Linux, has a web interface, and can also be run from the command line. Here’s what the SOS interface looks like to a Cadence Virtuoso user:

SOS for Cadence min
SOS commands in Cadence Virtuoso

Summary

Having an integrated data management tool within your favorite EDA flow will help your design team’s productivity, as it automatically synchs your data around the world to ensure that all members are accessing the correct IP blocks. Using a tagging methodology to promote data once it gets completed will communicate to everyone on a team what state each block is in. All of your IP reuse will now have traceability to more easily audit data.

Version control has gone beyond just the simple check-in, checkout and update cycles, as advanced flows need to also support variations of experiments or branches. The archived webinar is online now here.

Related Blogs

Share this post via:

Comments

There are no comments yet.

You must register or log in to view/post comments.