• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC Design
  3. Liberate - ECSM - ecsm_template_13

Stats

  • Replies 2
  • Subscribers 132
  • Views 448
  • Members are here 0

Liberate - ECSM - ecsm_template_13

FS20260206232
FS20260206232 2 months ago

Hello there,

I was doing the lab for the Characterizing Standard Cells Using Liberate v25.1 training course, and on lab 6.7 - Generating an ECSM Model View I came up with the following question.

I went through the lab with no issues, but when inspecting the .lib file that was generated I came across the following:

ecsm_waveform_set (ecsm_template_13) {
index_1 : "0.02, 0.05, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.95, 0.98";
values : \
"0.0213918, 0.022704, 0.0243326, 0.0268424, 0.028945, 0.030866, 0.0327149, 0.0345559, 0.0364741, 0.0386804, 0.041949, 0.0451862, 0.0495068, \
0.0218406, 0.0234304, 0.0253905, 0.0284206, 0.0309851, 0.0333589, 0.0356598, 0.0379869, 0.0404457, 0.0433052, 0.0475772, 0.0517123, 0.0571023, \
0.022288, 0.024104, 0.0263496, 0.029855, 0.0328572, 0.035666, 0.0384173, 0.0412272, 0.0442306, 0.0477631, 0.0530574, 0.058115, 0.0646214, \
0.0230151, 0.0252349, 0.0279952, 0.0323864, 0.0362268, 0.0398877, 0.0435365, 0.0473212, 0.051429, 0.0563281, 0.0636815, 0.0706065, 0.0794596, \
0.02411, 0.0270418, 0.0307259, 0.0367732, 0.0422441, 0.04763, 0.0531335, 0.0589401, 0.065339, 0.0730521, 0.0846108, 0.0953707, 0.109025, \
0.0257656, 0.0299065, 0.0352845, 0.0445034, 0.0533429, 0.0623283, 0.0716975, 0.0817015, 0.0928015, 0.10623, 0.126255, 0.144722, 0.167999, \
0.0283254, 0.0345346, 0.043049, 0.0588142, 0.0747115, 0.091186, 0.108493, 0.126971, 0.147492, 0.172373, 0.209359, 0.243203, 0.285745, \
0.0323479, 0.0423462, 0.0572214, 0.0867454, 0.11716, 0.148784, 0.181958, 0.217433, 0.256952, 0.304748, 0.375633, 0.44029, 0.521464, \
0.0224622, 0.0237688, 0.0253951, 0.0279021, ...


However, I can't find the definition for the ecsm_template_13 anywhere, so I'm not sure how one is supposed to read this table. The course states the follwing (page 82 of the lab pdf):


"Scroll down further to see the output voltage (series of voltage vs. time curves) waveform information for each cell. As shown in the following snapshot.

(Snapshot that I can't upload for some reason)

In this context, index_1 denotes the timing points, while each row contains the voltage waveform values corresponding to various slew rates and load conditions".


So, my questions are:

1) Isn't index_1 the voltage porcentages of Vdd, and the values the different times this achieved for different conditions of slew and load?
2) Where are these conditions of slew and load defined?
3) What is ecsm_template_13 and where am I supposed to find it?


I tried finding my answers to these questions on my own but couldn't find any relevant information.

Any help is appreciated.

Best regards,
Felipe
  • Cancel
  • Sign in to reply
Parents
  • Guangjun Cao
    Guangjun Cao 2 months ago

    Hi Felipe,

    ECSM delay model describes the output voltage vs timing. 

    The index_1 value is the scaling factor of the supply voltage that drives the output. What you see is a default behavour. You can change it using define_template command,

    example,

    define_template -type ecsm -index_1 {0.05 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.95} ecsm_usr

    This what you will get.

    ecsm_waveform_set (ecsm_usr) {
    index_1 : "0.05, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.95";
    values : \

    ...

    The slew/load are defined at the begining of the delay section for NLDM model, eg

    cell_rise (delay_template_5x5) {
    index_1 ("0.25, 0.5, 0.75, 1.25, 1.5");
    index_2 ("0.015, 0.05, 0.15, 0.3, 0.6");
    values ( \
    "0.207111, 0.357064, 0.728186, 1.28579, 2.40125", \
    "0.285131, 0.494681, 0.875723, 1.43239, 2.54507", \
    "0.347445, 0.59927, 1.0326, 1.58592, 2.69886", \
    "0.454066, 0.764072, 1.32059, 1.89122, 2.99905", \
    "0.502231, 0.834751, 1.44192, 2.04614, 3.15099" \
    );
    }

    ecsm_template_13 is just a name, which is not important. As you see in my example, I used ecsm_usr. 

    in the ecsm delay group, values are the time points corresponding to the voltages in index_1. For example, with the delay_template_5x5, there are 25 slew/load cobinations, you will se 25 lines inside values table for ecsm,

    ecsm_waveform_set (ecsm_usr) {
    index_1 : "0.05, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.95";
    values : \

    line1 for first slew/load in delay_template_5x5

    ...

    line25 for last slew/load in delay_template_5x5

    }

    With this you can plot V(out) vs Time as below for a small and larger loads, ie. line-1 & 5 in the example I use. So, using the input waveform(normallized waveform in the .lib), delay for each slew/load can then be measured. 

    I hope this answers your questions.

    Regards,

    Guangjun

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • FS20260206232
    FS20260206232 2 months ago in reply to Guangjun Cao

    I couldn't have hoped for a better answer! Thank you for taking your time to respond.

    Best regards,

    Felipe

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • FS20260206232
    FS20260206232 2 months ago in reply to Guangjun Cao

    I couldn't have hoped for a better answer! Thank you for taking your time to respond.

    Best regards,

    Felipe

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
No Data

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2026 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information