[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: pcb: All v. Any pin connectivity (was: Taking advantage of internally connected pins)



> At the very least, it seems that there should be a way to specify that "any" pin with the same number satisfies the connection.

fairly ridiculous assumption especially with ICs, many of which
specifically say something like "all GND/VCC pads must be connected".

The point of properly drawn symbols for a particular device is that
there is no guesswork.
Often in professional schematics you will see something like a RF
connector having 4 gnd pads and a signal pad, which is made to match 4
"poles" that are soldered into the PCB for the connector case and 5th
pin for the signal. Anyway, there should be NO guesswork involved, you
have X pins on device, you have X pins in the symbol, not more not
less. Switches with "internally connected bus" or wahtever was your
original reason for having such feature will just have several
similarly named pins to signify this.

my opinion.

> I think there is also a second axis to this specification, and that is whether or not the component contributes connectivity.  For example, in Ben's switch, the switch provides connectivity.  If you want to continue the net, it is valid to add a track to either pin -- there is connectivity through the component.  I can imagine components where you can connect to "any" pin to satisfy connectivity to the component, but where it violates the component spec to connect through it.  Now, in a practical sense, I'm willing to forgo this much smartness in pcb, its a rare enough case I could check that manually.  But I think "through" connectivity is common enough (most any switch) that it is a case that should be handled.
>
> What are the technical barriers to implementing some kind of "any v. all" spec on a pin?  I'd even be happy with something that ran as a part of a command script, although by rights I think it should be an attribute in the footprint.  But if there were a way to set an "any connect" flag on selected pins via a script, that seems like a good start.   I'm also thinking it might make sense for "any connect" to be the default, with "all connect" requiring explicit setting.
>
> -dave
>
> On Jan 31, 2010, at 9:57 AM, Dave N6NZ wrote:
>
>>
>> On Jan 30, 2010, at 4:00 PM, Ben Jackson wrote:
>>
>>> I need to make a key matrix.  I'm considering selecting a switch which
>>> has 4 leads (two leads per internal net):
>>>
>>> o--+--o
>>>    '
>>>    /
>>>    |
>>> o--+--o
>>>
>>> This appears to be a boon for the grid-style routing I need for the
>>> switch matrix.  The rows can hop the columns inside the part, making
>>> everything fit on a single layer.  (obviously I wouldn't do this with
>>> an IC, but it seems harmless for a switch)
>>>
>>> Anyway, if I give all pins different numbers, PCB doesn't know about
>>> the internal structure.  If I give the electrically connected pins the
>>> SAME numbers then PCB thinks it needs to connect them with copper itself.
>>> If I connect them on a 'fake' layer then the autorouter works but the
>>> toporouter spins and I have to kill pcb.
>>>
>>> Any better ideas?
>>
>> I have no better ideas, and in fact have this exact problem on a design I am doing right now.  Since PCB can't differentiate between "like numbered pins must all be connected" and "one of the group of like numbered pins is sufficient", I think we are stuck with PCB doing the wrong thing on some designs.  At least until the new "pin swapping syntax" becomes reality -- although I'm not sure how the current spec would handle this situation.
>>
>> Thinking about it, is PCB making the correct choice here?  On IC's where several pins must be connected together, the IC typically has different pin numbers -- I'm thinking here of parts with multiple ground pins, for instance.  What is the case where multiple footprint pins with the same pin number must be connected together in the PCB?
>>
>> -dave
>>
>>
>>
>>
>>
>> _______________________________________________
>> geda-user mailing list
>> geda-user@xxxxxxxxxxxxxx
>> http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
>>
>
>
>
> _______________________________________________
> geda-user mailing list
> geda-user@xxxxxxxxxxxxxx
> http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
>


_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user