Why is there no logical schematic and physical schematic? - Page 1
Forum section: electronics / general

author: obiwanjacobi
author_rank: Super Contributor
timestamp: December 10, 2016, 12:22:25 pm
content: I was just wondering why people (users and programmers) insist on cramming all information into one model (schematic)?

author: tatus1969
author_rank: Super Contributor
timestamp: December 10, 2016, 01:01:05 pm
content: please elaborate more, maybe with an example, i have no idea what you mean.

author: obiwanjacobi
author_rank: Super Contributor
timestamp: December 10, 2016, 02:15:37 pm
content: A logical schematic would be a complete schematic that would be required to understand the circuit.A physical schematic would be based on the logical schematic but with additions/changes of how it is manufactured.For instance an audio preamp logical schematic has a pot to adjust the gain. In the physical schematic that pot would be connected through a header and some (shielded) wires because it is somewhere on the front of the case.Other physical aspects could be, differential signal length rules, how parts of the logical schematic are split up over multiple PCB boards, details on how plugs and sockets are connected to the PCBs (like the pot example), annotations on how much current or voltage a specific net may have to cope with, etc. That sort of thing.Ideally the CAD software package would keep these two schematics in sync and have rules to check for errors, similar to how currently schematic and PCB is kept in sync.My question is why this is not so. I see schematics that have a bit of both - but usually not all physical aspects are noted/documented. The person laying out the PCB has to know/remember that these high-speed differential pairs should be equal length, or that the PCB layout has to use a tree layout (or whatever it is they use for high-speed RAM)...The physical aspects clutter/obscure the functionality of the circuit, but are part of a whole design.In software for instance, it is common to have logical and physical models, for instance a logica Data Model abstract the details on Relations, the physical model is what is in the database exactly. There are multiple views of a software design that can be used to express/document it on paper.Makes sense?

author: PA0PBZ
author_rank: Super Contributor
timestamp: December 10, 2016, 02:48:05 pm
content: "Exploded view" is what came to mind:

author: mash107
author_rank: Contributor
timestamp: December 10, 2016, 03:33:38 pm
content: Quote from: obiwanjacobi on December 10, 2016, 02:15:37 pmActually, there are many industries where there's an assembly drawing that is produced alongside a schematic to dictacte how the final piece is manufactured. This includes jumper wires, potting, epoxy, sleeving, heatshrinking, etc. Google has a host of examples:https://www.google.com/search?q=assembly+drawing&rlz=1C1CHBF_enUS721US721&espv=2&biw=3440&bih=1310&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjdk735-OnQAhVNgiYKHTvCCgcQ_AUIBigB#tbm=isch&q=assembly+drawing+electronics+board&imgrc=K-r7D-ePSRd_fM%3A

author: Neilm
author_rank: Super Contributor
timestamp: December 10, 2016, 04:45:03 pm
content: After I have produced a schematic the first thing I do is a document with layout notes. I use OrCad at work so I can take advantage of the groups (rooms) parameters to keep bits of circuit together. Differential nets can be specified in the schematic, track width classes and spacings can be grouped etc. OK, this information will not appear on the picture but it is captured in the finished file and the layout notes then specifies how these should be handelled by the person doing the layout (who may or may not be me). I do this even for boards I am going to layout - so if I have to come back to the design I can remember what / why I did things a specific way.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: December 10, 2016, 05:46:46 pm
content: I use these all the time; in most EDA systems, it is the Hierarchical Design concept.This allows you to repeat instances of a single (logical) sheet, to produce multiple (physical) sets of parts and nets (connections) on the PCB. You can also manually set (or automatically renumber, based on position) the physical component designators (not all systems that support hierarchical design also support this function, though).Tim

author: T3sl4co1l
author_rank: Super Contributor
timestamp: December 10, 2016, 05:54:43 pm
content: I did a 64 channel, current limited open collector output recently. That was fun.Tim

author: obiwanjacobi
author_rank: Super Contributor
timestamp: December 10, 2016, 06:27:49 pm
content: I do not mean exploded view or assembly view or other non-electrical parts. Although these are part of the complete physical view it is not a schematic.Hierarchical schematics can solve some big block and repeating block abstraction, but that does not fix my pot example.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: December 11, 2016, 01:03:38 am
content: If you mean, having multiple components (and, potentially, their connectivity and assembly) that connect to a common location (such as the pot, and mounting hardware, and wiring, and so on), that's usually specified as a sub-BOM, or part of the next-higher-level assembly BOM. Basically, it's info that doesn't  belong on the schematic itself.Still, you could include those semantically by using sub-sheets for the components. Altium also does a component-reuse subsheet thing, too.Typical EDA convention is this: every component, specified on the schematic, has a single BOM entry (or perhaps multiple, if supported by the tool), and that BOM is precisely what gets sent to the assemblers.The assemblers only want to know what goes on the board. If it goes through the reflow oven, it's on the BOM. If it goes through the solder wave, it's on the BOM. If it gets clipped in or screwed on or taped or whatever before closing it up in the antistatic baggie for shipping, it's on the BOM. (They will need to know order of assembly, of course.)If it belongs on a higher level BOM, the assemblers don't need to know about it, and it should be recorded somewhere else in the design process -- usually something like that is done by the mechanical engineer (if your project happens to have a wide enough scope to need an ME).Tim

author: obiwanjacobi
author_rank: Super Contributor
timestamp: December 11, 2016, 07:49:47 am
content: Sounds like the tools are generating the BOM from the wrong source then: the schematic. If you want to know what parts you need to assemble a PCB you should extract your BOM from that PCB layout definition.A logical schematic does not concern itself with device/parts packages - unless that is essential to understand the function of the circuit (think it almost never is) - a bit like KiCad works. A physical schematic does - because package choice may affect other physical parameters.One logical schematic may have multiple physical schematics. This could be different versions either for fixing bugs, extending specs (better thermals etc) or simply different (physical) application - or- you could use the physical schematic as a sub-set of the logical schematic when a design is spread out over multiple PCBs. A PCB layout definition is always related/based on to only one physical schematic (never a logical schematic).You could expand this view-idea to the mechanical design as well. A mechanical view of the design would incorporate mounting hardware for pots (for example) and case design etc - so that sort of thing is NOT in the physical schematic. You'd have a thermal view - highlighting the thermal aspects of the design etc. But that is not the extent of my question - although I would like that approach very much - I think.Quote from: Neilm on December 10, 2016, 04:45:03 pm.Would you think that if that sort of information was a 'first-class-citizen' in a schematic it would be 'better'?There is so much that is not explicitly documented or -at best- documented in different ways (every EE-er finds its own 'standard' - like you did). The physical schematic would give you a place (and a standard) to allow you to explicitly document those details.

author: timb
author_rank: Super Contributor
timestamp: December 11, 2016, 07:57:23 am
content: I add an "Assembly Sheet" to some of my schematics. I have a component library in DipTrace with special "Assembly Components" that might be on a board but physically connected through another component. Here's a good example:I might have a 10-pin FFC connector that's physically soldered to the board and connects to the MCU, but then I'll also add an assembly component that represents the actual LCD that plugs into the FFC. Since the LCD and FFC also have separate patterns (and 3D models) it also makes sure both are added to the board layout.

author: obiwanjacobi
author_rank: Super Contributor
timestamp: December 11, 2016, 08:19:06 am
content: Well, I would say then that the LCD would be on the logical schematic and the FFC would not be.The physical schematic would contain the FFC but not the LCD persee. You could include the LCD if it requires extra physical parts, like a a flatcable or connector etc - or it has a serial module soldered on.The PCB layout would then only use a subset of the physical schematic (only the MCU and FFC but not the LCD)...

author: tautech
author_rank: Super Contributor
timestamp: December 11, 2016, 08:49:50 am
content: Quote from: obiwanjacobi on December 10, 2016, 02:15:37 pmYes and no.Block diagrams to understand the overall functionality along with a generalised design description.Schematics showing interconnects (PCB's and controls) with the attributes of any component outlined in their Properties. Then each block of the entire circuit should then be fully described in a "Theory of operation".A big project is a heap of documentation, but which is the most important ?For the consumer, owner and Service manuals, of which something like a HP 1740 Service manual comes to mind with many sheets showing more than 1 PCB, the interconnects and whether they're shielded or not, the PCB, component #'s, test points, voltages, waveforms, connector polarisation, etc all of which is entirely possible with the CAD packages of today.Much of the rest of the issues you mention are the responsibility of the skill of the designer........do we need to know why he/she pick a certain connector to do the job ? No that's their job.Software, well...........that's the designers IP and it's entirely acceptable that it's not publically documented.

author: timb
author_rank: Super Contributor
timestamp: December 11, 2016, 09:26:11 am
content: Quote from: obiwanjacobi on December 11, 2016, 08:19:06 amThat's the basic idea, however I include them on the same schematic, but I put the "logical" stuff on a separate sheet.Any logical components that have a pattern attached will show up on the PCB layout, which is what I want.In the LCD example above, I may have a pattern with a mechanical drawing of the LCD (but no pads). The drawing is on an assembly layer of the PCB, so it doesn't affect the Gerber outputs.The reason I do this is to verify cutouts in the board or perhaps to verify the FFC can reach the connector.

author: Karel
author_rank: Super Contributor
timestamp: December 11, 2016, 09:42:56 am
content: Quote from: tautech on December 11, 2016, 08:49:50 amHuh? What's the difference between hardware and software when it comes to designers IP?It's not entirely acceptable that software is not publically documented.

author: obiwanjacobi
author_rank: Super Contributor
timestamp: December 11, 2016, 09:45:11 am
content: Software is not the point here.I used software as an example of how multiple design views may be used to express different points of view of the same system.

author: obiwanjacobi
author_rank: Super Contributor
timestamp: December 11, 2016, 05:08:33 pm
content: Quote from: tautech on December 11, 2016, 08:49:50 amBlock diagrams have their place too, but are more abstract than a logical schematic.Quote from: tautech on December 11, 2016, 08:49:50 amWhat do you mean by possible? You mean there is some place you can enter a couple of values or type some text? - you will never see that again unless you explicitly open up that property window.Quote from: tautech on December 11, 2016, 08:49:50 amYes, good help is hard to find... But it not about why a component was chosen. It is about what aspects of that choice impact the physical construction - or explain the logical function.Quote from: timb on December 11, 2016, 09:26:11 amSo you draw two schematics? One physical and extract the logical view from that?Quote from: timb on December 11, 2016, 09:26:11 amNot sure what you mean with 'pattern attached'...?Quote from: timb on December 11, 2016, 09:26:11 amYou are using some technique I do not understand. You wouldn't have an example to share, would you?

author: T3sl4co1l
author_rank: Super Contributor
timestamp: December 11, 2016, 05:24:43 pm
content: Quote from: obiwanjacobi on December 11, 2016, 05:08:33 pmAltium does "Smart PDF" where those properties are visible when you click on a part.Be careful you don't put anything embarrassing in those fields...QuotePattern, footprint.If it doesn't have a footprint, it can still have a BOM item: this is a simple way of implementing (but not semantically guaranteeing) multiple-part components (like a mounting bracket, that has a grounding pad and thru-holes -- therefore, having a footprint -- but also including its hardware, bolts and nuts and such).You can also add graphical features to the schematic without a footprint or BOM item (a logo, perhaps?), or no footprint but yes BOM (firmware for example, if it should be programmed by the assemblers).Tim

author: John Coloccia
author_rank: Super Contributor
timestamp: December 11, 2016, 06:33:14 pm
content: Quote from: obiwanjacobi on December 10, 2016, 12:22:25 pmSome of us don't. I do the kinds of things you're talking about all the time. If you look through my schematics, generally speaking everything is connected to a logical symbol that makes sense. If I need to route that over to a connector somewhere (for example) I use logical connections, like net ports, to do it.I think one thing that's lacking in a lot of design programs is the ability to take a part (or group of parts) and easily remap them to other logical components that represent things like headers. For example, I want to be able to drop 5 pots on a schematic, and then go to each pot and say, "Forget about your footprint...you're now going to Connector1_1....you're Connector1_2", and so one, and do it logically on the schematic without worrying about patterns and footprints. As it is now, I have to delete the attached footprints and make a bunch of net ports to get this functionality, but it should just exist natively and be easy.

author: timb
author_rank: Super Contributor
timestamp: December 12, 2016, 06:37:01 pm
content: Quote from: obiwanjacobi on December 11, 2016, 05:08:33 pmOkay, here we go:Here we've got J1, which is a 14-pin flat-flex connector that's physically soldered to the board. You'll also see ASSY5, which is the 14-pin flat-flex cable that needs to be on the BOM. I actually have an assembly drawing footprint (a pattern) attached to this component, which you'll see on the PCB layout in a moment.This shows ASSY1, which is a Sharp Memory LCD. On this particular project, the LCD isn't electrically connected to this board, but it will be mechanically attached to it. So, I've attached a generic assembly component to the schematic and attached the LCD's pattern to it, so it'll show up on the PCB layout and BOM for this board.Here we see the PCB layout of the above schematic. Notice patterns ASSY1 & 5 don't have any pads, they're on the assembly layer only (anything in gray is Top or Bottom Assy).Notice how the FFC (ASSY5) is shown inserted into the connector (J1). This allows me to verify it will reach the mating board when I generate the 3D model...Here's a 3D view of J1 and ASSY5.I can now export this entire 3D model along with a model for the mating board and verify clearances and FFC reach using Fusion 360 or SketchUp.

author: Dago
author_rank: Frequent Contributor
timestamp: December 13, 2016, 07:21:16 am
content: I think the answer is that the schematic SHOULD include all physical information needed for doing the layout, including marking nets as differential and marking which nets need to be same electrical length, which voltage ratings a capacitor should have etc (or in practice schematic already defines which specific capacitor to use). In practice most of the schematics are shittily made and do not include all the information needed. Most of the well made schematics are for commercial products and are proprietary and you don't tend to see them. Other factor is that the software tooling for making well described schematics is rather poor (compared to software stuff), many packages do not have proper hierarchical design support, cannot have arbitrary number of attributes visible in schematic etc... You CAN still put stuff as separate text fields to the schematic but it just ends up being a mess to maintain and I guess that deters people from doing that.

author: Karel
author_rank: Super Contributor
timestamp: December 13, 2016, 07:38:58 am
content: Quote from: Dago on December 13, 2016, 07:21:16 amJust a matter of selecting the right package.

author: Dago
author_rank: Frequent Contributor
timestamp: December 13, 2016, 08:40:09 am
content: Quote from: Karel on December 13, 2016, 07:38:58 amYou rarely have a say in it; you use whatever your employer wants you to use. For hobby stuff (low cost or free) there is basically DipTrace, Eagle, KiCAD which are all very limited in these features. Eagle doesn't have hierarchical design, DipTrace doesn't support more than two attributes per component visible in the schematic (including RefDes) and the hierarchical design support is very rudimentary (cannot modify/change hierarchical block symbol, cannot have multiple blocks "in parallel") etc..

author: obiwanjacobi
author_rank: Super Contributor
timestamp: December 13, 2016, 10:18:40 am
content: Quote from: timb on December 12, 2016, 06:37:01 pmSo this would be the physical view of the schematic then..? Ignoring the fact that you are forced to add a non-electrical connected part to a schematic only because you wish to promote it to the PCB...Quote from: Dago on December 13, 2016, 07:21:16 amI agree, you want a fully described physical schematic. But to better reason about the functionality of your circuit a logical view would hide the physical details that do not matter at that time.Tool support is aweful. They're regurgitating the same design over and over again. Sometimes you get all new modern colors and graphics but it's still the same workflow without any option to expand/change it.I have thought many times I should write my own...(yeah, I know, not a trivial task for a one man band - not doing it)I would really love to have a look in the kitchen of larger companies and see what standards they use for designing and documenting their hardware products.

author: timb
author_rank: Super Contributor
timestamp: December 13, 2016, 10:30:19 am
content: Quote from: obiwanjacobi on December 13, 2016, 10:18:40 amI'm not forced to add non-electrical parts to the schematic. I can freely add them to the PCB at any point, even if said PCB is populated from a schematic. I simply do it because A) I want these items on the BOM for this particular board and B) To remind me to add them to the PCB. (I need to add a cutout for the LCD and verify the FFC will reach the mating board). Adding it to the schematic is simply an easy way to do it. Other times I do it because I want that particular part to be installed into that board during production, and it's a reminder of that.For this particular schematic, I don't have a separate physical/logical sheet. However, ASSY5 would be more or less a logical component, in that it's not soldered to the board, but is instead a cable between boards. Once I'm done with the schematic for the main board, I'll come back and annotate J1/ASSY5 on this (the top board) to say, "Connects to J3 on Main Board" or something like that.Anytime a connection in one of my schematics *doesn't* represent a PCB trace (but instead represents a wire or FFC or something) I will, at the very least, call it out, if not add an assembly component.

author: Karel
author_rank: Super Contributor
timestamp: December 13, 2016, 10:57:37 am
content: Quote from: Dago on December 13, 2016, 08:40:09 amI use whatever gets the job done fast and reliable. If the boss doesn't like that, he/she can hire somebody else.It's like hiring a carpenter and tell him which hammer he has to use... I do understand however, that when you are working in a team, it makes sense to use the same package.Quote from: Dago on December 13, 2016, 08:40:09 amHere we go again. Eagle isn't "hobbystuff". But if you want to believe that, fine.Eagle supports unlimited attributes. Every attribute can be made visible on the schematic. Wherever you want.With Eagle you use the schematic to define differential pairs for USB/LVDS etc.Either you haven't used Eagle or you haven't learned it properly.Yes, Eagle isn't perfect, like all the other packages around...

author: Dago
author_rank: Frequent Contributor
timestamp: December 13, 2016, 12:28:41 pm
content: Quote from: Karel on December 13, 2016, 10:57:37 amDefinitely not "just" for hobby stuff; I've used both Eagle and DipTrace in work projects. But like I said it doesn't support proper hierarchical design which is not really just a minor inconvenience but something that makes working with something like multi-channel designs and absolute pain in the ass. The sad thing is that pretty much all the packages have such fundamental features missing which is silly.

author: nctnico
author_rank: Super Contributor
timestamp: December 13, 2016, 10:02:50 pm
content: Quote from: obiwanjacobi on December 10, 2016, 02:15:37 pmThat is called a block diagram and usually is part of good documentation.

author: Bud
author_rank: Super Contributor
timestamp: December 14, 2016, 03:03:41 am
content: There. Can't be more physical than that.

author: julianhigginson
author_rank: Frequent Contributor
timestamp: December 20, 2016, 05:37:04 am
content: I do understand what you mean by a logical schematic (at least for a simple self contained product - it makes no sense for a full system design where you may have 15 different PCBAs that are sold in some combination installed into a number of electrical panels across a site as a functional system!) however I don't really see the point.Lets say I am designing a simple standalone product... say, a modular synth VCO with all the electronics on a single PCB. And I have all the circuit drawn on a single sheet - But for some reason relating to panel layout I have a pulse width modulation setting pot that's going to have to be attached via a connector.. so in the schematic I have the VCO circuit, with a 3 pin header sitting where this pot goes. I can make a note in the schematic "To PWM Pot". I could even give basic info "100kR B" I could even reference an assembly for the pot and cable and connector that will plug into the finished PCB (but that leaves me open to having to update my schematic if my off-board pot assembly ever changes, which would be annoying)But if I was to manually draw that schematic with the actual pot in place of the connector - what use would that drawing be? it's not a schematic for the PCB - which is the main reason I am making the design. It doesn't give much more design intent than me making notes next to my connector about what ultimately connects to it. The new drawing becomes another "thing" I have to create and then manage that carries risk of becoming incorrect over time, for no real value.You know, I can almost imagine some kind of funny future feature of Altium where I could create a second schematic for my off board pot assembly.. I could mark the wire, crimps, crimp housing as "physical" with, say, a blanket - as well as the connector on the main sheet.. then I could link the "physical" connector or blanket on the main sheet to this little subsheet.... Then I could tell altium to collapse the logical component of the wiring schematic into the place where I put the connector in my circuit schematic.. the problem here is, how does altium make sure there's enough space for whatever I put in the sub-sheet that's "logical" and make sure it can always be drawn in the place of that "physical" connector on the main sheet? That would be a crazy thing to try and automate - fitting an arbitrarily sized "logical" schematic snippet in the space of an off board connector.Actually - now I'm worried Altium will read this forum and get ideas.. FYI altium people reading this, if you implemented something like this in my tool , I will be really cranky at the opportunity that had been missed for regular existing feature bugfixes and new useful features so DON'T DO THIS, PLEASE!