0

i am currently learning about IC physical design. I came across this set of TCL command which I understand only partially. I the second and third 'set' command, what does the '-only_leaf' and '-flat' refer to?

Please help me by giving some explanation.

Thank you guys. enter image description here

mrcalvin
  • 3,291
  • 12
  • 18

2 Answers2

1

Those are flags accepted by the all_fanout and all_fanin commands; the set is just storing the results in variables. (Tcl uses set to do basic assignment; it doesn't have top level operators.)

At a guess, -flat means "give me the results as a flat list" (instead of something more complicated such as a list of lists?) and -only_cells (or -only_leaf) acts as a filter to say which information is to be returned. I'd need to read the documentation for those commands to say for sure; it is definitely application-specific and I don't use the Synopsis tools at all.

Donal Fellows
  • 133,037
  • 18
  • 149
  • 215
0

Flat vs leaf is related to cells and pins in a hierarchical design. You might have a timing path that starts at registerA and ends at registerB. If your cell hierarchy is this: top_cell --child_A --registerA --child_B --registerB then registerA and registerB are leaf cells. The driver and receiver pins are the leaf pins. The net connection from registerA to registerB must also exit child_A and enter child_B through hierarchical pins. A flat collection will include both the leaf pins and the hierarchical pins.

In Synopsys tools, you can quickly get command descriptions with man.

For example, man all_fanin

       all_fanin
              Creates  a  collection  of pins, ports, or cells in the fanin of
              the specified sinks.
        . . .

         -flat  Includes objects throughout the design hierarchy in the  result.
              This  means  that  the  only  non-leaf objects in the result are
              hierarchical sink pins.

              If you do not specify this  option,  the  result  includes  only
              objects within the same hierarchical level as the current sink.

         . . .

         -only_cells
              Includes only cells in the timing fanin of the  specified  sinks
              in the result and not pins or ports.

         . . .

There is no -only_leaf option to all_fanin or all_fanout. Returning only leaf objects is the default condition.

Chris Heithoff
  • 1,787
  • 1
  • 5
  • 14