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