this is great stuff
i have generally stuck with global global just to avoid struggling with
figuring out these details
now if someone :) were to summarize this in a more tabular or grouped
manner it would be really nice
Abd ul-Rahman Lomax wrote:
> At 12:56 PM 7/25/2003, you wrote:
> > Abd ul-Rahman, I am not relying on ports or sheet symbols to name
> > nets, I just want the connectivity between the sheet symbols and ports. I
> > am not thinking that sheet entries should be global. There is also no
> > multi-channel connectivity happening here. It is simply two different
> > discrete filter circuits both placed onto one subsheet because of a lack
> > of room on the upper sheet. A sheet symbol should connect to an
> > equivalent port on a subsheet, that is not expecting anything to be global.
> Yes, I understood exactly what you were trying to do. Yes, it is confusing
> that sheet symbols don't connect to ports unless the connectivity is set to
> "Sheet Entry/Port Connections." It is not necessarily expected behavior
> that sheet entries are absolutely non-functional unless explicitly enabled
> by that connectivity setting. I can't think of any other primitive in the
> program that is present but non-functional like that, unless enabled. Net
> Labels connect on a sheet as do Ports, no matter what connectivity is used.
> The connectivity setting only affects intersheet connections.
> However, once you know it, the Protel Way is actually quite flexible and
> powerful. Sheet entries are used *only* to make explicit unnamed
> connections (like a wire) to ports of that name on subsheets, and this only
> with the behavior explicitly enabled as "Sheet Entry/Port Connections."
> > It is now clear that ports global does not make any connection
> > between sheet symbols and ports, don't know who was the genius that
> > thought this one up but why would two entities that are intended to make
> > a trans-sheet connection not work because of the Ports global option.
> It's not as stupid as it might seem. Sheet Symbols have two uses. In flat
> schematics they are placed on a root sheet or other sheets to establish
> what individual schematic files belong to the project. Sheet Entries are
> not used in flat schematics. That's not their function!
> Ports have a dual function. They are used in hierarchical schematics to
> connect to the sheet entries on a higher level schematic. They are used in
> flat schematics to make intersheet connections that do not establish net
> names. If you want to make an intersheet connection in a flat schematic
> with an explicit net name, you use a Net Label, perhaps in addition to a
> Port. Ports are great in flat schematics because they make intersheet
> connections without interfering with other nets that might have the same
> name; i.e., you can use Ports Only intersheet connectivity. This can be
> very useful when you are combining sheets from different designs. You can
> see immediately what goes off-sheet and what stays on sheet.
> Because you always use flat schematics, you were simply unfamiliar with how
> sheet entries work. Its an easy misunderstanding; as I mentioned, even
> though I've used hierarchical schematics for years, I never before really
> understood why they behave the way they do, why I had to place net labels
> on busses in a certain way, for example, to get the connectivity to work.
> The way that Protel has implemented this -- in 99SE and it's been this for
> quite some time, I don't know if it predates Advanced Schematic entirely --
> is quite simple and clean, really. It just hasn't been explained well.
> Basically, global nets can cause serious problems in hierarchical
> schematics. The Power nets being global always, without any control, can be
> a pain, though it is a real affliction only when one is using hidden pins,
> which always create global nets. In Tango, you could rename those nets so
> that they went off-sheet, the device was to place a power object named as
> the hidden power pin, and a short piece of wire on it with the new net
> name. So you could have VCC pins and make them be +5V on one sheet and +12V
> on another. Controlled net renaming is missing from Protel. In OrCAD
> Capture, net renaming was unreliable. Where nets of different names were
> connected together, OrCAD will pick one of the names to go off-sheet, and I
> never did figure out which one it would pick. And then on another sheet
> with the same nets connected together, it would go off-sheet with the other
> net, thus creating a broken net that, of course, did not appear on ERC.
> In Protel, basically, one would avoid hidden power pins if one wants to
> have different VCC's. You can, however, still take VCC's off sheet and make
> them be different voltages, by using Ports Only Global or Sheet Entry/Port
> connectivity. This can be done by using VCC Net Labels to connect VCC to
> the power pins, instead of using the Global Power Ports; then a Port named,
> say, +5V is used to take the power net off-sheet. That net will not be
> named from the subsheet, it will receive its name from the higher sheet.
> And if you want the net to be named +5V, it would be given that name on the
> higher sheet by using a Net Label. Net Labels, Power Ports, and hidden
> power pins are the only devices that actually explicitly name nets,
> everything else is given a default name, in P99SE it is, I think, named
> from the pin first encountered in the net, so the name will be different
> depending on how the schematic is arranged.
> So the only thing lacking in P99SE compared to Tango DOS Schematic is the
> ability to rename the nets created by hidden pins.
> Global nets are easy to conceive and to work with, but as projects get
> complex, they become unwieldy, difficult to track.
> > This makes them useless and as Craig pointed out, they just don't work
> > in this case.
> Just because they don't do what you thought they would does not make them
> useless!!! A number of us who know quite well how to use Net Labels and
> Ports Global avoid it with larger projects and use Sheet Entry/Port
> > In my mind and experience a sheet symbol with a matching port on the
> > subsheet should make the connection regardless of the connectivity
> > option, in my mind they are intended to connect by their very definitions.
> It's easy to understand why you thought this, but you could equally well
> say that if you want to use Sheet Entry/Port Connections, you should set
> Sheet Entry/Port Connections!!!
> The idea that connectivity should be independent of connectivity scope is a
> tad off, isn't it? *By definition* connectivity scope affects connectivity.
> If you have Ports Global, all ports in your project named "CLK" will
> connect together. If you have Sheet Entry/Port Connectivity enabled, Ports
> do *not* connect across sheets by their names; rather Ports connect within
> a sheet by name, and across sheets *only* to Sheet Entries of the same name
> on the symbol for the schematic sheet
> > There may be some obscure case where this would be a desired operation
> > but I can't think of it at the moment. If you used a sheet entry on the
> > top schematic, you obviously wanted it to connect somewhere, not just sit
> > there as a non-functional blob inserted into your schematic for no reason.
> Yes, and this is what may be counter-intuitive, unless one considers the
> purpose of the Sheet Entry primitive. What you've done in this case is to
> use a primitive outside the context for which it was designed. Sheet
> Entries are designed for schematics where Ports are *not* global. If you
> were to use them with Ports Global, you'd get, quite possibily, unintended
> Sheet Entries connect to named Ports on the named subsheet. This is pretty
> clear. But what if there is a port of the same name on another sheet? If
> Ports are global, they will connect together. So your Sheet Entry, which
> was designed to make a specific connection *only* to a specific sheet, is
> actually making a global connection.
> If you want a global connection, you don't want to use Sheet Entries on
> Sheet Symbols, they would be misleading.
> > Anyway what I have now works. I have the sheet symbol with
> > suitably named sheet entries, matching ports on the subsheet. This gives
> > the appearance of a component that is defined further on the subsheet and
> > identifies which sheet contains the detailed circuitry. I also have
> > squeezed in net labels onto each of the connecting lines on the top sheet
> > and subsheet to give my connectivity for netlisting. I could as Abd
> > ul-Rahman suggested use two (four for both circuits) ports on my top
> > sheet and draw a box around them to obtain approx. the same result.
> Yes, and this would not only be clear, it would not be subject to having a
> sheet entry to confuse future generations. You can use Ports or Net Labels
> or both. Since you prefer Net Labels and Ports Global, I'd suggest that you
> could get a more compact "symbol" just using net labels. But if you are
> using Ports Global, you don't need the net labels. The way you have done
> it, you could just delete the sheet symbol entirely, or delete the sheet
> entries on it. The function would be the same (except that you may need the
> sheet symbol to include the named schematic.)
> > Thanks for the testing Abd ul-Rahman, your results and definition
> > was very clear. I would have gotten there in a day or two when the
> > pressure to get these boards out subsided, but thanks again.
> I'm glad to get this nailed down, it was never really clear to me before,
> even though I knew how to get it to work. Usually. What would happen was
> that, because I didn't have a solid understanding, I'd forget exactly what
> I had to do to get hierarchical intersheet connectivity to work and I'd
> have to thrash about a bit, either being redundant or struggling with ERC
> I don't think that will happen again.
> I think I might write a separate article explaining how intersheet
> connectivity works in 99SE. This question has frustrated generations of
> designers. Troy Magennis's "Protel Advanced Schematic Survival Guide" does
> give a pretty thorough explanation, but I don't think this is widely available.
> Anyway, from his section entitled "What Inter-Sheet Connectivity to Use":
> "Each level of connectivity places less importance on the names allocated
> to objects, until sheet symbols / port connections where the name is
> [This is not completely true because of complications with busses; names
> are still important, also, within a single sheet.]
> "It would be easy to say that all multiple sheet projects should be drawn
> using the 'Sheet Symbols / Port Connections' net identifier scope. This
> would be overlooking the fact that when using this scope the schematic
> containing the sheet symbols has to be wired. This step can be left out if
> either 'Net Label and Ports Global' or 'Ports Only Global' scope is chosen,
> possibly saving some time.
> "If a team of people are working on a project it is desireable to eliminate
> any chance of duplicate or misspelt names affecting connections. In this
> situation always use 'Sheet Symbol / Port Connections' scope."
> I'd argue that even if it is only one person working with the schematic, it
> is still safer to use hierarchical connectivity with multisheet schematics.
> Top sheet wiring can be very easy to accomplish; it can be done with net
> labels if it is desired to save time, though sometimes wires can be easier
> to read quickly.
========= send only plain text please! - no HTML ==========
Integrated Controls, Inc. www.integratedcontrolsinc.com
2851 21st Street tel: 415-647-0480
San Francisco, CA 94110 fax: 415-647-3003
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* To post a message: mailto:[EMAIL PROTECTED]
* To leave this list visit:
* Contact the list manager:
* mailto:[EMAIL PROTECTED]
* Forum Guidelines Rules:
* Browse or Search previous postings:
* http://www.mail-archive.com/[EMAIL PROTECTED]
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *