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]
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *