| <h3 id='___get_driver'>get_driver</h3> |
| <pre>Get the driver of a net or pin (LLM: driver) |
| <b>Usage:</b> @driver = get_driver($point, @options); |
| $point: net name or pin name, 'n12345' or 'U12345/A1' |
| @options: |
| -pin: Return in "inst/pin" format, E.G. "state_reg/Q" |
| Return an array if '-pin' is not present |
| -nonbuf: Trace the drivers until none buffer |
| @driver: The driver in array format, if '-pin' is not present. |
| If the point is floating, @driver is empty, |
| $driver[0]: Driver instance name. It is empty if the driver is port |
| $driver[1]: Driver pin or port name. If the driver is a port, it is the port name |
| $driver[2]: Driver type. It is string "pin" or "port" depending on the driver is port or leaf cell |
| $driver[3]: Driver phase. It is valid when -nonbuf is present, |
| indicating if the driver path is inverted |
| 0: not inverted 1: inverted |
|
|
| <b>Note:</b> |
| 1. If '-pin' is present, return a scalar, $driver = get_driver("n12345", "-pin"); |
| 2. Use 'get_drivers' if there are multiple drivers, the return data has different structure |
|
|
| <b>Examples:</b> |
|
|
| #1. Get driver of a net |
| @driver = get_driver("net12345"); |
| @driver has content of ("U1247", "Y", "pin"); |
|
|
| #2. port_abc is input port |
| @driver = get_driver("port_abc"); |
| @driver has content of ("", "port_abc", "port"); |
| |
| #3. Return in instance/pin format |
| $driver = get_driver("net12345", "-pin"); |
| $driver has content of "U1247/Y" |
| </pre> |