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

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



I'm reposting this because the discussion died and I'd like to give the topic a bump -- I think it needs some collective thought by the group.

It seems to me that we are missing a way to specify a connectivity satisfaction rule for a particular pin number on a footprint.  Right now, pcb only considers the connectivity satisfied if "all" pins with the same number are connected to the net in question.  At the very least, it seems that there should be a way to specify that "any" pin with the same number satisfies the connection.

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