Sunday, 20 July 2014

Library Timing characteristics

For delay calculation, this timing characteristics part is used which is in the form of lookup tables

Timing characteristics is defined in the multiple lookup tables for each type of delay that are
  • Rise delay
  • Rise transition 
  • Fall delay
Following is the example of timing characteristics

- lookup table contain two variables and the full  N x N lookup tabel is displayed, where N is positive integer

Example:
                    pin(Y) {
                    direction: output;
                    capacitance: 0.0;
                    function: "(A B)";
                    internal_power() {
                               related_pin: "A";
                               cell_rise(delay_template_7x7) {
                                            index_1 ("0.04, 0.07, 0.1, 0.2, 0.5, 1.0, 2");
                                            index_2 ("0.006, 0.030, 0.078, 0.174, 0.366, 0.749,1.523");
                                            values ( \
                                           "0.07, 0.09, 0.13, 0.20, 0.35, 0.64, 1.23", \
                                           "0.08, 0.10, 0.13, 0.21, 0.35, 0.65, 1.24", \
                                           "0.09, 0.11, 0.15, 0.22, 0.37, 0.66, 1.25", \
                                           "0.11, 0.13, 0.17, 0.25, 0.39, 0.68, 1.28", \
                                           "0.14, 0.17, 0.20, 0.28, 0.42, 0.72, 1.31", \
                                           "0.18, 0.21, 0.25, 0.33, 0.47, 0.76, 1.35", \
                                           "0.23, 0.26, 0.31, 0.39, 0.54, 0.83, 1.42");
                               }
( To understand the format of the lookup table, study the template of timing characteristics template in library)

Here,
index_1 represents input net transition and
index_2 represents total output net capacitance
depending on the various values for these indexes, corresponding delay values are looked up from the table
here, table can be any size 3 x 3, 7 x 7 etc depending upon the library vendor.
Now, how it work lets understand with the following example
here, 
- 7 x 7 indicates the size of the lookup table to be 7 rows and 7 columns
- index_1 indicates the factor for row indices 
- index_2 indicates the factor for column indices

what would the cell_rise time be if the input_net_transition is 0.1 and the total_ouptut net capacitance is 0.030?
answer : from the table, we get the value to be 0.11ps

3 comments:

  1. how 0.11ps we got . how it is calculated

    ReplyDelete
    Replies
    1. 0.1 is 3rd position in index 1 and 0.03 is 2nd position in index 2 so, in values 3x2 is 0.11ps

      Delete
    2. It should 0.13 right?

      Delete