- + Issue 4: Driver Type Function

[Kevin Cameron, 01 Dec 2000]


Proposal

We should add a "driver access" function for finding the type of a driver e.g.:
driver_type_function ::= $driver_type ( signal_name , driver_index );

It would return an integer (defined in a header file) indicating the type of the driver. The user's connection module code can query it and decide how to handle updates on that driver. Possible header file values:

  // Driver Access Definitions: driver.h

  `define DRIVER_UNKNOWN    0

  // Or-able bit flags 
  `define DRIVER_DELAYED    1
  `define DRIVER_GATE       2
  `define DRIVER_BEHAVIORAL 4
  `define DRIVER_SDF        8
  `define DRIVER_TRANSPORT  16

  `define DRIVER_RELIABLE(D)   ((D) & (`DRIVER_DELAYED|`DRIVER_SDF))
  `define DRIVER_UNRELIABLE(D) (((D) & `DRIVER_BEHAVIORAL) && ! ((D) & `DRIVER_SDF))

Note

Simulators can return '0' if unable to implement this functionality.