( ESNUG 486 Item 10 ) ------------------------------------------- [10/08/10]

From: Scott Taft <scott.taft=user domain=foveon got mom>
Subject: Clever partitioning with IC Manage and Synopsys Custom Designer

Hi, John,

We used IC Manage GDP with Synopsys Custom Designer to tape out our next
generation .18 um, 46 M pixel direct image sensor.  We used GDP with the
Schematic Editor (SE), HSPICE, HSIM, CustomSim XA and Custom Designer
Layout Editor (LE) files.

WORKSPACES

With IC Manage's Global Design Platform each designer creates a "workspace"
which is a personal copy of the hierarchical design data to use.  Every
designer can have multiple workspaces and keep direct control over what
file revisions they want to sync to.

They can each save off views that other users can access and (if they want)
reuse for similar blocks.  Sometimes we have libs which we don't want anyone
having write access to, so we configure workspaces for read-only access.
 
We have multiple groups that access IC Manage.  Below is how they each use
GDP workspaces.

 1. Our chip design group
 
     - Front end designer: CD Schematic and symbol views, HSPICE/HSIM
       state files, text files
     - Layout designer: CD layout view, abstract view, text files

    For example, one of our layout designers might have a workspace
    associated with getting their block to be LVS/DRC clean.  GDP's
    library manager looks just like the Custom Designer (CD) library
    manager, but adds design data management menu items like check-in
    check-out and version history as well as icons indicating version
    number and check-out status.

 2. Our pixel design group

    Our pixel design group not only designs the pixel, but they are also
    involved with creating process control monitoring (PCM) structures.
    The pixel group also verifies that each pixel is placed correctly
    in the top-level design.

 3. Management
 
    Various managers can set-up a customized workspace in about 5 minutes
    to do a design review on a design in progress or reference back to
    a design that was taped out, then discard the workspace.

MANAGING DESIGN DATA HANDOFFS

Our design process involves a lot of handoffs between team members.  Our 
top-level architect defines the major blocks, then we assign lead engineers 
to each block.  As the engineers get close to a finished design with CD SE, 
they hand it to the CD LE designer in an iterative process with the design 
engineer, then use the final design for that block to do a final parasitic 
extracted simulation in HSPICE.

We encourage our designers to use GDP to check in their work often, 
sometimes multiple check-ins a day, so that we can record milestones, and 
so other engineers can use the information (e.g. input and output data) for
their own blocks.  Typically a designer will check in their new version but 
and leave the one they are working on checked out, because they don't want 
others to grab it.  This gives them better control over their designs 
because they don't need to worry about having their data changed under them.

Below is data on IC Manage's check-in/check-out performance.  Our entire 
design group is in Santa Clara, so I can only comment on IC Manage's 
performance over our local network.

   Block size             Check-in time   Check-out time   File size
   20 M arrayed instances      1 sec          1 sec           6 MB
    6 M shapes                 7 secs         6 secs        133 MB

It's worth noting that this performance is so fast that no users have ever 
complained nor have they sought ways around the system.  100% of our 
designs are managed.

ECO's

With IC Manage, the fix process binds the check-in event to the actual ECO 
in both the IC Manage database and the bug tracking database, so we can 
easily track design changes.  IC Manage also makes it easy to trace back a
design to an earlier working version to help better understand how some
bugs are introduced.

USING GDP WITH OUR THIRD PARTY IP

Our image sensor is mostly an analog/mixed signal design that is designed 
in house, we also have a few digital blocks using standard cells, plus some 
3rd party blocks such as PLLs and LVDS.  Our 3rd party IP providers don't 
have a direct connection to our IC Manage database, so they give us data 
dumps that we check-in as revisions.  The nice thing is that everyone can 
access the IP provider's data once it's in house via IC Manage's Library 
Manager -- we just check their data into IC Manage and run LVS and DRC on 
the IP.  As they give us more data and can track the changes.

USING GDP FOR DERIVATIVE DESIGNS

When we clone or integrate a design with GDP, we take a library and branch 
it off to derive a version of the chip, as follows:

 - We take 1 main branch of a library and choose a point in time when the 
   design is final for a specific chip and branch it off as a separate 
   design tree.

 - We can continue designing with the original baseline branch.

 - If we change a block on the branched design, we can easily feed it back 
   to the original development tree because GDP maintains a bi-directional 
   integration path between the parent and child.  The IC Manage software 
   automatically tracks the changes between branches so we don't need to do 
   diffs and merges.

Typically, we use IC Manage to branch the final design off as separate 
design tree just before tapeout as an read-only archive.  We can do 
variations to that chip later, but the base libraries stay the same, so we 
keep a clean snapshot while we develop another design.

TIPS ON USING IC MANAGE'S PROJECT MANAGER TO ORGANIZE DESIGN PROJECTS

We found that depending on how we partitioned our design, we could end up 
with problems down the road.  I can share some tips on how to assess the
best way to break down your project for design management purposes.

When we first got IC Manage (back in 2006 - we've been a happy customer for
several years now), we didn't have a strong understanding of how to use it 
effectively.  So we took a month to experiment with it.

IC Manage gives you flexibility in creating design categories and projects.
We had multiple design engineers create a sandbox to play around with the
tool -- setting up test partitioning and going through some typical design
cycles -- before we used it in production.  Now that we have figured out
how to best structure our project, it only takes us a few hours to set 
GDP up for new designs.

You need to pay close attention to how to partition the design when 
creating the specific libraries in IC Manage.  We found it helpful to look 
at where the data comes from, how it's used, and how it changes.  Here is 
an example of the partitioning schemes we found effective:

                      Technology library
                      Standard Cell library
                      Other external IP libraries
                      Pad library
                      Top level library
                      Lower level cells library

We choose to split our designs this way because our lower level cells tend 
to change a lot but are reused by the top level ones.  This way we can have 
1 top level library using the lower level libraries.  In the same way, each 
of the standard cell libraries can be used by different blocks.

You can create different projects inside IC Manage.  We create one project
just for standard cells -- only standard cells exist in that project,
because they are used by our different designs within our company and are
not revised very often.  These reusable libs can then be easily referenced
from chip design projects.

IC Manage structures the data in a human understandable GUI.  Each project 
is a higher level construct and can contain multiple libraries.  Some are 
specific to that particular design and some are references to other data, 
like pad libraries and standard cells.

If we replicated a standard cell library over multiple chip designs, there 
is potentially lots of redundant data, which doesn't change very often.  
With IC Manage, our designers don't have to replicate data as we have a 
single item that we can reference -- we don't need new copies for each chip 
we create.  We can hard code the references to a specific revision of a 
chip taped out with those standards cells, and GDP points to that revision.  
So a revision to the standard cell doesn't affect existing designs, just 
the new ones that we choose to update.  This feature also gives us the 
ability to determine exactly which version of a particular block has been 
used in a specific tape-out without having to store it in a spreadsheet 
somewhere.

I can't think of any drawbacks or improvements right now.  IC Manage's 
biggest strengths are the tight revision control, easy configuration 
management and ease of design archiving.  IC Manage has been willing to 
work with us a lot.  The R&D support has been wonderful, which means a lot;
they always get back to us within a day, and most workarounds are found
within 2 days.

    - Scott Taft
      Foveon, Inc.                               Santa Clara, CA
Join    Index










   
 Sign up for the DeepChip newsletter.
Email
 Read what EDA tool users really think.


Feedback About Wiretaps ESNUGs SIGN UP! Downloads Trip Reports Advertise

"Relax. This is a discussion. Anything said here is just one engineer's opinion. Email in your dissenting letter and it'll be published, too."
This Web Site Is Modified Every 2-3 Days
Copyright 1991-2024 John Cooley.  All Rights Reserved.
| Contact John Cooley | Webmaster | Legal | Feedback Form |

   !!!     "It's not a BUG,
  /o o\  /  it's a FEATURE!"
 (  >  )
  \ - / 
  _] [_     (jcooley 1991)