BTGP
Ideal bidirectional switch, negative enabled (closed when C=0).
Model
Note: BTGP is bidirectional; signals propagate from B[1] to B[2] or B[2] to B[1] when enabled.
Description
The BTGP primitive is an ideal switch with zero resistance and delay. It can be viewed as an instantaneous relay, shorting the two ports B[1] and B[2] when the control input C is enabled.
BTGP: Negative enabled on the C input (closed when C is a logical-0)
| C (Control) | BTGP State |
|---|---|
| 0 | Closed (B[1]↔B[2]) |
| 1 | Open |
| X | Unknown |
Dynamic Delay Computation
Loading on nodes dynamically shorted together is reflected back to the source drivers, and their delays are modified accordingly.
Example: Cascaded Switches
Consider a chain of nodes connected through switches:
Assuming that nodes A, B, and C each have 1 unit of load, then the driver at the end of the chain would see:
- 1 Unit of load when C1 is disabled, since only node A is directly connected to the driver and contributes to the loading
- 2 Units of load if C1 is enabled and C2 is disabled, since both nodes A and B contribute to the loading
- 3 Units of load if both switches are enabled
Disabling Dynamic Delay Computation
By default, dynamic delay computation is enabled. If you do not want to propagate loading through dynamically connected nodes (and have driver delays modified accordingly), this feature can be disabled by issuing the run command:
>>: NO SIMULATE BTGDELAY:
This will force all nodes to maintain their isolated loading values, even when connected by enabled switches.
Equivalent Type Statement
Type=BTGP i=C b=B[1],B[2]
Example Usage
PART=sw1 TYPE=btgp I=enable B=sig1,sig2
Notes
- BTGP is an ideal switch with zero resistance and zero delay
- This switch is bidirectional—signal flow can occur in either direction
- Dynamic delay computation updates driver delays based on loading reflected through enabled switches
- For resistive switches with non-zero resistance, see BTGRP primitive
- For positive enabled ideal switch, see BTGN (alias BTG) primitive