thanks also 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 Dennis Saputelli 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 > Connections. > > > 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 > connectivity. > > 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 > problems. > > 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 > irrelevant. > > [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. -- Dennis Saputelli ========= 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: * http://www.techservinc.com/protelusers/leave.html * * Contact the list manager: * mailto:[EMAIL PROTECTED] * * Forum Guidelines Rules: * http://www.techservinc.com/protelusers/forumrules.html * * Browse or Search previous postings: * http://www.mail-archive.com/[EMAIL PROTECTED] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
