At 11:35 AM 6/13/01 +1000, Geoff Harland wrote:
>A method that could be used (is it used in fact?) in cases where a component
>has more than 26 sections is to use the "spread-sheet" (column-) designating
>scheme: after Z comes AA, then AB, etc; after AZ comes BA, then BB, etc.
>(Spreadsheets run as far as "IV", which is the 256th column with this
>designating protocol.)
Hmmph! I think that's what I wrote:
"For example, if "alpha" is chosen for sections, then section 27 should be
AA, 28 AB, etc. Base 26 representation using 26 letters as symbols, A = 0,
B=1, etc."
>DOS versions of Protel's Schematic Editor applications supported users being
>able to edit the properties of pins within each component (section),
>including adding and deleting pins, and changing the properties of each
>existing pin, including their designator, visibility, type (input, output,
>etc) and location. A good case could be made for saying that we would not
>such capability to be restored in its *entirity*, but perhaps there is
>something to be said for *partially* restoring this capability, to the
>extent of permitting users to *reposition* pins. This would preserve *other*
>properties of each pin, like their type, number, and visibility, while
>facilitating the creation of schematic files with an "optimal" layout of
>tracks, e.g. with a reduced/minimum number of intersecting tracks. It would
>also be consistent with aspirations to support "automated updating" of
>schematic files (in cases where a component uses just *one* section, instead
>of many) following pin-swapping procedures within the corresponding PCB
>file.
Pin repositioning would meet some, but not all, of the swapping needs.
Where swapping involves gate swapping, it would be quite dangerous to allow
simple pin repositioning. It should be rememberedhat pin position can carry
critical information. For example, we would not want to allow pins 1 and 3
of a 74 series NAND gate to be swapped, even if all the attributes
mentioned by Mr. Harland were preserved.
So I'm opposed to pin repositioning. Instead, I would want to see full swap
intelligence, with swappable pins or combinations of pins being defined at
the library level. Then, in the schematic, one could essentially choose
between alternate representations of the same part.
But we already have that, really, with multipart components, and any
swappable set of pins can be swapped either by using individual parts
(swapping the sections) or with mirroring or rotation; further this
swapping is not limited to swaps within a single component; equivalent
sections can be swapped between equivalent components. There are
exceptions: the inputs of an eight-input NAND gate, for example, cannot be
swapped merely by graphical means, since the sequence is fixed in the part.
So a simple definition, in the library, of a set of pins as being
*completely* equivalent pins would suffice. This would allow resistor pack
pins to be swapped, and also the pins of that 8-input gate. Other kinds of
swaps could be handled graphically or by changing the reference designator
on a multipart component.
It should be possible to automate the back-annotation of swaps, once there
is a good definition associated with the parts of what is swappable. There
might be a text file called "swaps.dat" or the like, which defined
swappable pins for a given library part.
For a 7400 NAND, I'd see the definition as something like.
begin part
7400 [and aliases]
swappable sections
begin set 1
section 1
pin 1/2
pin 3
section 2
pin 4/5
pin 6
section 3
pin 10/9
pin 8
section 4
pin 13/12
pin 11
end set 1
unswappable sections
end part
pin numbers separated by a slash are functionally equivalent.
swappable sections are functionally equivalent. the sequence of pin numbers
in these sections must match.
pins and sections are not swappable unless defined otherwise. So pins 7 and
14 of the part cannot be swapped. However, because some pins within a
section might be swappable even if the section is not swappable, provision
is made for unswappable sections.
For a single-section resistor pack:
begin part
RP10-SINGLE
begin set 1
2/3/4/5/6/7/8/9/10
end set 1
end part
For a multi-section resistor pack:
RP10
begin set 1
2
begin set 2
3
begin set 3
4
... etc.
So a single control file, or a set of such files, could be used to control
swappability. This could be used to control a server that would implement
swaps automatically using the kind of netlist comparison that was
mentioned. Swaps that could be implemented with section swaps or simple pin
swaps would be automatically done; swaps that required rewiring would be
flagged.
Note that it would be quite simple to implement an eight-input swappable
multi-section part. There would be nine sections, one for each input and
one for an output. A bit of a nuisance to draw, but with this additional
procedure, we could have swapping now without waiting for Protel to build
it into the library/schematic editor/synchronizer.
But it would obviously be better to have an integrated system which also
supported swapping in the PCB file and which made it easy to see what was
swappable and to shove the parts and pins around.
end part
[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]
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *