Home > Community > Forums > Logic Design > RC ; sdc ; load_of

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 RC ; sdc ; load_of  

Last post Mon, Mar 18 2013 7:28 AM by grasshopper. 5 replies.
Started by Yemelya 12 Jul 2011 08:54 AM. Topic has 5 replies and 4274 views
Page 1 of 1 (6 items)
Sort Posts:
  • Tue, Jul 12 2011 8:54 AM

    • Yemelya
    • Top 150 Contributor
    • Joined on Wed, Feb 17 2010
    • Posts 60
    • Points 870
    RC ; sdc ; load_of Reply

    Hello,

    There is a problem to use the following syntax of SDC constraints for RC by read_sdc, since RC doesn’t recognize “load_of”.

    set_load [expr 30 * [load_of [get_lib_pins lib_name/inv3/A]]] [all_outputs]

    How can I translate this to make it compatible with RC?

    Thanks a lot!
    Boris

     

    • Post Points: 35
  • Thu, Jul 14 2011 8:01 PM

    • grasshopper
    • Top 25 Contributor
    • Joined on Fri, Jul 18 2008
    • Chelmsford, MA
    • Posts 242
    • Points 3,205
    Re: RC ; sdc ; load_of Reply

     Hi Boris,

     problem is load_of is not an SDC command. There are a number of things you can do

     

    (1) create a load_of procedure in TCL along the lines of

     

    proc load_of {args} {
       set libCellPath [find / -null_ok -libpin $args]
       if {$libCellPath != {}} {
          set load [get_liberty_attribute capacitance $libCellPath]
       } else {
          set load 0
       }
       return $load
    }

    (2) User RC syntax

      set_attribute external_pin_cap [expr 5 * [lindex [get_attr capacitance $load_pin] 0]] [all des outs]

     

    note that the expression  'lindex [get_attr capacitance $load_pin] 0' is needed since it provide values for rising and falling edges. Also $load_pin is the ouput of something like 'find /libraries -libpin . ...]

     

    hope this helps,

    gh-

     

     

    • Post Points: 5
  • Thu, Jul 14 2011 9:51 PM

    Re: RC ; sdc ; load_of Reply

    Below statement is the equivalent of what you are looking for. 

    set_load [expr 30 * [lindex [get_attribute capacitance [get_lib_pins lib_name/inv3/A]] 0] ] [all_outputs]

     P.S.: lindex 0 is being taken considering rise cap value

    • Post Points: 35
  • Fri, Jul 15 2011 6:24 AM

    • Yemelya
    • Top 150 Contributor
    • Joined on Wed, Feb 17 2010
    • Posts 60
    • Points 870
    Re: RC ; sdc ; load_of Reply

    Great! Thanks a lot!!!

    • Post Points: 5
  • Wed, Mar 13 2013 5:23 AM

    • Wini
    • Not Ranked
    • Joined on Mon, Nov 29 2010
    • Posts 1
    • Points 20
    Re: RC ; sdc ; load_of Reply

    There's a problem: [get_attribute capacitance ...] only gives the capacitance in fF

    rc:/> get_attribute -h capacitance libpin
      get_attribute: returns an attribute value from an object

    Usage: get_attribute <string> [<object>+]

        <string>:
            attribute name
        [<object>+]:
            object of interest (must be unique)

        attribute category: lib_ui

        attribute name: capacitance
              category: lib_ui (returns Liberty attribute cell information)
           object type: libpin
           access type: read-write
             data type: capacitance rise/fall
         default value: 0.0 0.0
                 units: femtofarads
                  help: The rise/fall capacitance.

    So you have to divide the retrieved value by 1000 as RTL compiler computes in pF.

     

    • Post Points: 20
  • Mon, Mar 18 2013 7:28 AM

    • grasshopper
    • Top 25 Contributor
    • Joined on Fri, Jul 18 2008
    • Chelmsford, MA
    • Posts 242
    • Points 3,205
    Re: RC ; sdc ; load_of Reply

     That would be correct. The good news is RC is consistent and always return in fF independent of library units so once you fix the proc, you should be good to go

     

    good luck,

    gh-

    • Post Points: 5
Page 1 of 1 (6 items)
Sort Posts:
Started by Yemelya at 12 Jul 2011 08:54 AM. Topic has 5 replies.