( ESNUG 464 Item 6 ) -------------------------------------------- [03/30/07]

From: Antoine Bigirimana <antoine=user domain=e-tools not palm>
Subject: E-Tools donates its own open souce CCS-to-ESCM library translator

Hi John,

We have recently studied both the Synopsys CCS and Cadence ECSM lib models
in detail.  After analyzing the two formats, we've developed an open-source
translator that converts Liberty CCS libraries to ECSM.

Since ECSM is a set of user-defined attributes in Liberty, it does not
interfere with the standard Liberty CCS syntax.  In other words both CCS and
ECSM can co-exist in the same .lib.  However, library file size becomes an
issue: Current-based models contain a lot more data than Non-Linear-Delay
Models (NLDM.)  Our analysis has shown that both CCS and ECSM libraries are
roughly the same in size but are each about 8X the size of NLDM.  Of course
your library size depends on your number of index points, current/voltage
segmentation tolerance and so on.  But 8X is a good rule-of-thumb.

If your timing NLDM .lib is 30 Mb, you can expect your CCS or ECSM timing
libs to be 240 Mb each.  Your total library size of NLDM+CCS+ECSM = 510 Mb.
Multiply this by many corners and data-size becomes overwhelming.

We've discovered that CCS data is a super-set of the ECSM data.  This means
that indirectly created ECSM models (i.e. translated from CCS) should be as
accurate as the natively generated ones.  Note that the converse is not
true.  Since CCS timing models contain direct current waveforms (as opposed
to voltage waveforms) and have a 2-Capacitor receiver model (as opposed to
one), they cannot be accurately re-created from ECSM models.

In other words, if you convert ECSM to CCS, your resulting models will be
less accurate than any natively generated CCS models.

To use our CCS2ECSM to translate from CCS to ECSM, do 5 steps:

  1- Parse your .lib containing CCS.  This is simple since we developed
     and are giving you the parser in the first place.

  2- Create the driver voltage waveform. The CCS current source model
     consists of current samples as a function of time.  This current
     is the measured current that flows into the known load capacitor
     during characterization.  Since we know the value of the capacitor
     and we have the current samples as a function of time, it is a
     simple matter to numerically integrate to get the corresponding
     voltage waveform.  Since the CCS segmentation algorithm controls
     error in this resurrected voltage waveform during characterization
     you can be assured that the integration will be accurate.  In other
     words we can recreate the voltage waveform.  Note from this voltage
     it is straightforward to extract an equivalent NLDM or ECSM model.

  3- Create the ECSM driver voltage waveform.  ECSM consists of samples
     of the driver voltage waveform as a function of time.  It is
     straightforward to sample the voltage waveform above to create the
     ECSM driver waveform.  Typical ECSM libraries have samples at
     fixed voltage values, so if you want 10 sample points, you sample
     at: 10%Vdd, 20%Vdd etc.

  4- Create the ECSM receiver capacitors.  CCS uses a two segment capacitor
     and there is subtlety in the way it which it models the dependency on
     input slew.  The two segment model means that the input slew is
     considered as a two segment slew.  The ECSM receiver capacitor model
     uses one segment and treats the input slew as uniform.  We have
     implemented a number of translation schemes.  But the two approaches
     that we recommend are (i) take the average of the C1 and C2 as the
     ECSM receiver cap, or (ii) only take the C1 value.  The latter model
     will match the delay and have some pessimism in the slew calculation.

  5- Take data from 2 & 3 and properly format into ECSM models.

John, please put a copy of CCS2ECSM on your DeepChip web page.  Since this
tool is open-source, it can be downloaded, modified and improved by anyone
interested.  In fact, we welcome industry experts who want to improve on
this tool and re-post it on the Synopsys Liberty Forum.  My company has the
expertise to provide bug fixes or other necessary support for this tool,
but given our size and very limited resources, we can not commit to do it
free of charge in the long term.  If your company requires any specialized
support, they should feel free to contact me.

    - Antoine Bigirimana
      E-Tools                                    Sonoma, CA


  Editor's Note: This CCS2ECSM is #60 in the DeepChip Downloads.  - John

Index    Next->Item







   
 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)