At 08:57 AM 6/11/01 -0500, David Cary wrote:

>I agree that fully general pin-shuffling could easily lead to a big mess.

For swapping to work well, it would be essential that allowed swaps be 
rigorously defined at the symbol library level. Then, at the schematic 
level, an instance could be frozen so that swapping could not occur for 
that instance. There would be a checkbox in the part edit dialog "allow 
swapping."

>But I think supporting ``gate swapping'' (which seems to be getting rarer) and
>resistor swapping in a resistor pack (which seems to be getting more and more
>common) would still be good.

Yes, often gate swapping is more trouble than it is worth. But if a part is 
an octal buffer, for example, gate swapping is quite similar to resistor 
pack shuffling.

>Shuffling those around does *not* change any of the wiring on the schematic;
>Gate swapping merely modifies the A,B,C,D extension of the reference 
>designator
>of that multi-part component. From my user's standpoint, this is an 
>extension of
>``back-annotating changes in reference designators'', which is already
>supported.

This assumes that the resistor pack is a multi-part component. Otherwise 
wiring must change.

Sophisticated gate swapping might modify the pin numbers in the symbol, 
producing a logically equivalent symbol with gates or other devices 
rearranged in sequence. In this case wiring would not change even if a 
single symbol were used.

To satisfy the symbol purists, the symbol *itself* might not be changed, 
only the display and netlisting. This would require aliasing of symbol 
pins. Alternatively, the symbol library name would receive an extension 
that distinguishes it from the native symbol. If that extension made the 
name too long [which should be rare], the user would be prompted to 
manually modify the name.

>What would be a good user interface for letting me swap gates while I'm 
>looking
>at the PWB design ? Um, that might be difficult -- the netlist information 
>that
>travels from the schematic to the PWB would have to be extended to carry
>information on the various ``parts'' of a component...

Yes. Consider this: an edit command called "swap." When invoked, a dialog 
would pop up with swap options: manual/automatic. If automatic were chosen, 
left-clicking on a part would analyze swap possibilities for that part, 
minimizing track length. An option would include other equivalent parts. 
We'd really prefer to optimize track topology, but that is a bit more 
difficult to define than track length, and *usually* optimized track length 
will also be optimal topology.

If manual swapping were chosen, options would be pin and gate. The first 
item to be swapped would be selected with left-click, then the second and 
they would immediately swap if swap were allowed for them. (Gate selection 
might be done by selecting any pin within the gate.) There would be tools 
for highlighting swappable pins and gates. Pin and gate swapping would 
include swapping pins and/or gates between parts.

As I mentioned in a previous post, pin and gate swapping are similar to the 
placement of parts, so a sophisticated autoplacer would also accomplish 
automatic swapping. If that were done, the autorouter might not need swap 
capability, but it would be better if swapping could be done on the fly as 
an extension of rip-up and retry.

>Maybe if I used the Crossprobe to jump to that component in the schematic, 
>then
>if there were some quicker way to swap those extensions in the schematic and
>then update the PCB. Maybe somehow recognize that only that component needs to
>be changed, rather than going through the full ``Design | Update PCB''
>process....

So a poor man's swap tool would simply be a quick update that did not 
require analyzing the whole schematic and board. To keep it simple, it 
might be limited to section ("part") swapping or mirroring (to switch 
inputs on two-input gates or the sequence of buffers in an octal buffer). 
It would not be necessary for this simple version to have library swap 
definitions; the swapping would be done manually and the only thing new, 
really, would be a limitation on the update process.

However, we already have the poor man's tool. I just tried a gate swap with 
a three page schematic. I unselected everything in the Update dialog, 
pretty much. I didn't want to deal with footprints or deleting parts or 
updating copper; just swapping two gates. It took longer than I would like, 
but not so long that swapping this way is impractical. My next computer 
will probably handle it in half the time....


[EMAIL PROTECTED]
Abdulrahman Lomax
P.O. Box 690
El Verano, CA 95433

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* To post a message: mailto:[EMAIL PROTECTED]
*
* To leave this list visit:
* http://www.techservinc.com/protelusers/subscrib.html
*                      - or email -
* mailto:[EMAIL PROTECTED]?body=leave%20proteledaforum
*
* Contact the list manager:
* mailto:[EMAIL PROTECTED]
*
* Browse or Search previous postings:
* http://www.mail-archive.com/[email protected]
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Reply via email to