DC-WG: object typing


Subject: DC-WG: object typing
From: Mark Hahn (mhahn@cadence.com)
Date: Tue Jul 18 2000 - 09:25:13 PDT


In last week's meeting we discussed a problem with
the current approach of specifying design object types
using an expanded set of keywords, such as -from_pin,
-from_port, -from_instance, ...

The issue is that with this approach, it's not clear how
to express OR-AND semantics for false_path, multi_cycle_path,
and path_delay. With the OR-AND semantics, we need to be
able to specify that paths through (pin A OR net B) AND
then through (pin C OR instance D) are affected.

With the current approach, pin A and net B have to be separated
into two different options, -through_pin A and -through_net_B,
as do pin C and instance D. This is inconsistent with the more
intuitive but untyped -through {A B} -through {C D} syntax allowed
in several existing constraint languages.

Proposal:
  - Switch to using a C++ casting style for specifying object
    types within design object lists, and define a default
    object type for each option.

Examples:
  - Assume that we choose pin as the default object type for
    the -from/-through/-to options in set_false_path.
    Then the syntax for the example above would be

      set_false_path -through {A net(B)} -through {C or instance(D)}

  - If there are design objects whose names collide with the
    casting syntax, they must be explicitly typed.

    Suppose we instead have an instance named "pin(A)" and a pin
    named "pin(B)". Then the required syntax would be

      set_false_path -through {instance(pin(A)) pin(pin(B))}
        -through {C or instance(D)}

Issues:
  - What if we have a pin named "\A)) B"?
    Then the parser could get confused by

      set_false_path -through {pin(\A)) B) C}

  - Should we allow several names within the cast, as in

      set_false_path -through {net(A B)}

Mark

-- 
Mark Hahn                                          phone: (408) 428-5399
Senior Architect                                   fax:   (408) 894-3479
Cadence Design Systems                             email: mhahn@cadence.com



This archive was generated by hypermail 2b28 : Tue Jul 18 2000 - 09:30:52 PDT