At 09:02 AM 6/12/01 -0500, Tim Hutcheson wrote:
>[...] Right now I
>draw the schematic with all the resistors packs in place and without concern
>for the routing implications.

This is normal. However, we can tell from the discussion that Mr. Hutcheson 
is using a single symbol for the resistor pack, instead of using multi-part 
symbols (for a 10-pin pullup SIP, that would be a nine-section symbol). If 
you want to be able to easily move around the assignments without 
re-wiring, use a multi-section representation of the pack.

>   These are connected to a BGA which does have
>severe routing constraints due to the ball escape.  At the PCB sheet I drag
>resistor packs to the expected positions around the BGA (I have pre-routed
>the escapes into the BGA library).  I connect the copper as needed for best
>placement of tracks to the escape tracks.

I'd probably not do it this way. But it is one way to do it. If the board 
were simple, I'd look at the rat's nest, before routing, and reassign the 
pins on the schematic. I would *definitely* use single-resistor symbols on 
the schematic, because this allows immediately renumbering of the 
individual pins (by selecting a different part of the symbol).

>  But of course the existing rats
>nest is wrong because I had no way to consider it correctly at the schematic
>level prior to placing packs.

Well, not "no way." I often assign pins based on an understanding of how 
parts will route together. But, admittedly, this can get too complicated, 
and I'd assume it is a situation like this that Mr. Hutcheson faced.

>   Now I create a netlist from copper, remove
>the old netlist and reload the new netlist so the rats nets matches on the
>PCB.  With this I can go to the schematic and back-annotate the resistor
>pack designators.  Fine.  But the pin numbers are still the old numbers.

Much, much too cumbersome. With individual symbols, one will be able to 
move the individual resistors around physically, or, alternatively, to edit 
the parts in place without moving them. The former is probably faster and 
better, since one will not inadvertently duplicate parts. (They will have 
been automatically assigned by the annotation tool, perhaps.)

>At this point, I have to start renumbering the pins by looking at the PCB.
>This requires a lot of steps due to orientation and placement of designator
>and pin labels that revert to defaults when the changes are made.

No doubt. It requires this many steps because it is truly not a good way to 
do this job.

>   But in
>reality when I am looking at the PCB and the schematic I am doing nothing
>more than what I think the system could do by looking at the MASTER.NET file
>and the generated.Net file and reannotating the discrepancies.  Of course
>this should be done in one operation, without the step where I back
>annotated the schematic; that is, while the schematic and Master.net are in
>synch and the PCB and generated NET are in synch.

Problem is that such a server would either (1) renumber the symbols -- and 
this would still not address the issue of the assignment of resistors to 
packs, it could only swap resistors within a single pack, as a block. Quite 
inflexible, and not how we design. or (2) it will have to rewire.

Now, if multipart symbols were used, a server could move around swappable 
designators and pin numbers (i.e., sections). But it would still have to 
know what was swappable. We would not want an error in routing on the PCB 
to be taken back and matched on the schematic.

Bottom line: for now, use multipart components for pullups etc. One might 
even use multipart components for octal buffers, octal flops, etc. (as is, 
of course, much more common). Multipart components are not limited to quad 
or hex logic! You could even use them for reconfigurable pins on 
programmable parts.

Now, what if the design is *complex.* I've previously described a method 
for making reassignment easy by using dummy parts; In this case, one would 
add, on top of the pins of the resistor packs on the schematic, additional 
single-pin components. When the board file is created, the true resistor 
packs are deleted, all that are left are the dummy pins (and, as I am 
describing it, this includes pin 1; the pin 1 dummy also has an outline of 
the rest of the part with pads on a mech layer; these pads can be used to 
snap the other dummy parts into position.) To reassign pins, just pick up 
the parts and move them around. Easy-peasy.

It is *much* easier to graphically move around parts to put them in 
routable order than it is to renumber them or edit their pin numbers and nets.

It will DRC properly. When done, the schematic can be made to match what is 
on the board. I'll leave the methods for that to the imagination, for the 
moment. It's not difficult. If one *must* use single symbols for the 
resistor packs, then they will need to be rewired; this will typically mean 
that a wire from the pack pin is drawn to the appropriate wire in a pile of 
wires below, or, -- another easy way -- the resistor packs are not directly 
wired on the schematic to the BGA; rather they have net names sitting on 
the pins. It's just as easy to move those net names around as it is to move 
parts around on the board.

[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