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

Reply via email to