[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: Subnets



At 03:03 PM 8/15/2010, you wrote:
On Sun, 2010-08-15 at 14:10 -0400, Rick Collins wrote:
> I see we are talking about two different things.  I was responding to
> Andrew's post about splitting nets into portions with different
> properties.  In my way of thinking if they have different properties,
> they should be separate nets.
>
> I see that your example of Power/Bypass we are talking about one net
> with different properties.  Ii think it will be hard to convey the
> intricacies of power supply bypassing to an autorouter.  One thing I
> find interesting is how in an example you say the two subnets can
> only join at P1.  How do you define P1?  To me this is the point
> between two separate nets... which is really what you are
> describing.

I have to admit that I do not know much about how all that netlist stuff
is handled in gEDA/PCB. For the example of Power/Bypass subnets and
Point P1: The intention is to have (enforce) a short, low impedance
connection from OpAmp power pin to a pin of the bypass capacitor. A good
layouter will always ensure this. My idea was to split the whole 5V-plus
net in segments or subnets (with same netname, but different
attributes/class). For my picture P1 is a common point of these subnets.
One restriction is: This subnet with property bypass shall be short, low
impedance. For this case it is a connection of only two points, which
makes it very simple. A human layouter can understand it, and we should
be able to transfer this information to PCB program, so that DRC can
verify correctness. I can imagine more difficult cases. One is the
"Short" net from capacitor pin to GND symbol. GND symbol does not really
define a pin. One interpretation may be to translate it to a short trace
to a ground polygon. An other problem is a subnet with property "short"
which is built of multiple segments -- how will we define
"trace-length<6mm" for this case. Maximum distance of pairs of pins for
this net? All this are details, which we can define later.
Maybe a more difficult problem is to make nets compatible, so that a
minor net is allowed to connect at an arbitrary point to a mayor net.
For example a net (default net class) carrying a plain +5V signal to
some static logic input should be allowed to connect at an arbitrary
point to the fat +5V net. We do not need these concept of compatible
nets, but is would be nice to have. (compatible in this case means
compatible in only on direction. We have the fat traces from the DC_DC
converter to big fat capacitor and high current devices (DRC will check
if all these connections are of class/attribute "fat"), but other low
order nets with same netname can connect at arbitrary points.)

Of course, all this is not easy. But interesting, and we have some
really smart people on this list...

Best regards,

Stefan Salewski


First, I want to say that power supply bypassing is probably not a good example to use since there are a number of ways to layout such things and many people will disagree about the "optimal" way of doing it. Perhaps a more general example can be used?

You are talking about everything in the context of what you would like to see in the schematic editor. But none of this is useful unless the autorouter handles it. I would suggest that it would make sense to figure out just what autorouters can do in terms of specialized routing of portions of a net, then see what info the autorouter needs to be told of specialized routing. Only then does it make sense to consider how to specify specialized routing/layout information within the schematic data base.

It is a great idea to have all design info in one file. But I am doubtful that this can be done in a useful way without involving the layout tool.

I have been in a discussion in the FreePCB and TinyCAD areas about making them smart enough to "know" each other's data file formats. Then information could be updated in both files when common data is changed in one application. That way the information that is unique to each can be separate while the common information can be kept "in step". So far there is not much interest from the developers in such a linkage. They seem to be very happy working through net lists in one direction only.

At 03:25 PM 8/15/2010, you wrote:
Sorry, I forgot:
Points which connects subnets will be always pads or pins on PCB board
(pins of devices). By physical design we always define properties for
traces between device pins, it makes no sense to change trace properties
somewhere between device pins (if it makes sense, then that is a special
case, like antennas, which is beyond our proposal).

So location of point P1 is well defined, in schematic, and in layout.
(But there is no need to call it P1, or give it a special name, it is
simple a common node of two subnets with same netname.)

That is an interesting idea. In the schematic, how do you indicate the pin being used as P1? I have seen ground "subnets" that are to be connected at a single point such as in a switching PSU. These three pins are the switch ground and those three pins are a different ground and this one pin is an analog ground. In the schematic, there is no pin that is clearly the line of demarcation between subnets. In fact, it is just the opposite. The line of demarcation on the PWB is a point that is in between the pins, connecting one copper area to another. Shouldn't it be the same on the schematic?

I have seen nets that need to be routed with some ordering of the pins. e.g. in ECL the driver is at one end of the net, the terminator at the other and the receiver is in between, near the terminator. There are similar issues with routing LVDS and high speed signals. Can this be conveyed using subnets? I would think this would be indicated by properties on the pins. How to flag the need for closeness of the terminator to the receiver might require a subnet.

Rick


_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user