I’m defining variables in the properties of a hierarchical sheet and then using them to select the appropriate resistor value or DNP. This allows me to encode different binary addresses in multiple instances of a hierarchical sheet for addresses of I2C components with 3 or more address pins.
This approach works but is a bit inefficient; you’re wasting 3 out of 6 footprints/net connections for something that will not be renumbered ever (a specific hierarchical sheet instance will always be encoded as that number). And cleaning this up on many hierarchical sheets in layout seems super inefficient and error-prone – not to mention putting the schematic and layout out of sync.
It seems like what I really need is a way to pass a pullup “value” (+V or GND), which can be passed down as individual bits, and then have that show up rather than just footprints with an actual resistor vs. DNP.
Does anyone have an idea how to do this better? Can scripting help here? (like exploding the value passed to a schematic into a specific footprint/net combo)