Switching between schematic and layout


#1

Hello!
I am trying to switch from schematic to PCB, and I have the feeling it’s quite some work. Generate a net list,
then import it, etc… Will this be automated in the future? For the moment I have the impression it’s the only
thing where Eagle is better. And beside this, I don’t think it’s technically complicated to implement. A switch to
board would simply generate the netlist in the background and import it from the PCB.
Any info about this?
Pascal


#2

As far as I can tell the rough primary steps in the workflow are:

EESCHEMA
Step 1 - Draw schematic
Step 2 - Annotate
Optional Step 3 - Associate Footprints
Step 4 - Generate Netlist
Step 5 - Switch to PCB

PCBNEW
Step 1 - Import Netlist
Step 2 - Modify PCB

One way to remove a step would be for automatic annotation as new components are dropped on the board so there is an assigned identifier without needing the annotation tool upon modification or copying a part. Constantly generating a netlist upon any changes to the board might be good for also reducing workflow.

(Altium requires Annotation, Compile Project, Update PCB steps as well, so they are not that different in this sense. I can’t remember what Eagle needs)

But I think this would only be suitable if the tool is kept simple. It works well if there is only changes flowing downstream from the schematic to the PCB, but not the other way around. As I like the idea of back annotation and updating schematics from the PCB, I’m not sure that those changes mentioned above would be a good idea if implemented poorly. Perhaps a setting turn enable them, rather than default behaviour might be the way to go.

These would be feature requests to put to the developers and not so much a support question. But a good thing to talk about regardless…


#3

‘Feeling’ sounds like you didn’t try it, but just read about or see it being done.

You really have to do it yourself and then come back with more experience.
Upon importing PCBnew might have some problems with the parts it already has, the parts that need to be changed, the parts that are new and the ones that need t be removed.
It’s not as simple as you imply.

And personally I don’t export/import like mad when I do a schematic and layout. If you develop a circuitry you’re in EEschema and once that is all right and mostly finished you go to PCBnew and take it from there.
Repeatedly adding/changing/removing stuff in the schematic and then modifying the layout all the time to track those changes sounds highly inefficient to me.


#4

[quote=“roboya, post:1, topic:8808”]
I am trying to switch from schematic to PCB, and I have the feeling it’s quite some work. Generate a net list,then import it, etc… [/quote]

Actually, no, it’s not “quite some work.” Generating a netlist from the schematic and then importing that into the layout is actually a standard sort of flow. Certainly we did it with Accel back when and in Orcad, too. You do it in Altium now, too, except it’s called “compiling” and “Generating an ECO.”

I believe there is a toolbar button in the nightly builds which does exactly what you want — generate a new netlist and open it in pcbnew without you having to do anything else.


#5

Hello!
Thanks for your reply.
Yes, auto annotating components was also one of my questions a few weeks ago.
Beside the nightmare of Eagle’s editors, it is fine for this. From the first resistor you drop, you can switch immediately to PCB, and it just exists.
But in Eagle, you’re not allowed to remove a component from the PCB side, which makes sese. So what you were saying (it works well if there is only changes from schematic to PCB) is not an issue, I think, it can be done the same way, allow to add or remove components on schematic only.

‘Feeling’ sounds like you didn’t try it, but just read about or see it being done.

Well, I tried. Sorry, I tried a few times, and one of the reasons I’m coming here for support is that I don’t have 20 years experience with kicad, but a few weeks only. And on top of that not full time, far from that. Therefore I don’t want to say “that’s pure ***, it has to be changed”, but rather say it’s no more than my personal feeling at the time, implying that by knowing maybe 1% of the software, there might be a setting / preference I didn’t find, etc…

And personally I don’t export/import like mad when I do a schematic and layout. If you develop a circuitry you’re in EEschema and once that is all right and mostly finished you go to PCBnew and take it from there.
Repeatedly adding/changing/removing stuff in the schematic and then modifying the layout all the time to track those changes sounds highly inefficient to me.

Exactly, that’s the point. You say “personally”, this implies your own experience. Others’ experience might be different. And similarily, it sounds inefficient to you, but it doesn’t sound inefficient to me.
Beside this, I’m not looking for constantly switching, It may happen that I miss a connection, a component, etc.
If you can do your design 100% right at once, I’m happy for you, but unfortunately it’s not my case.

From Andy:

I believe there is a toolbar button in the nightly builds which does exactly what you want — generate a new netlist and open it in pcbnew without you having to do anything else.

Great! It looks like I’m not the only one to have that request. And if it keeps the tracks that are already routed, then I don’t need more.

Pascal


#6

PCBnew’s behavior has always been to keep existing routing when importing an updated netlist.

If you had actually gone through the process of generating a netlist from schematic and then importing it into pcbnew, you would see why it’s a discrete step. The netlist import dialog in pcbnew has options you should review each time you do the update. This is because there is no one-size-fits-all process. Simple changes, like just adding new parts, is easy. Changing parts is sometimes complicated. Parts get deleted, and then you add some circuitry for something else and then the annotation gives your new circuitry the same reference designators as something you deleted. So rather than assume something that might be wrong and end up making a mess of your design, the import process makes you consider what you are doing.

And that’s the point of Altium’s ECO process. It makes the designer aware of what the software is doing, so there are no surprises.

For trivial designs, a one-button update is probably fine. But for real work? Nope. Give me visibility into what the software is doing.


#7

Nightly has this one button update. Under tools there is a button called update PCB from schematic. Works quite good for most instances. This means in v5 this is possible.


#8

Yes, it will be released in V5. What are you referring to by “good for most instances”?

Tom


#9

This button simply does the import netlist stuff hidden from you. It has some predetermined settings (hidden and unchangeable) if compared to this dialog.

As far as i can tell (from using it for quite some time) it uses the settings:

  • Footprint selection by reference
  • Exchange footprints: Change
  • Keep unconnected tracks
  • Delete extra footprints
  • Single pad nets keep (not sure about this one)

As others already said this might not be the best setting for all use cases. This is what i meant with good for most instances. (Which implies there are usecases where it will not work.)

The behavior of this tool might have changed since i last used it. (I switched back to stable about a year ago because i now mostly use kicad to test contributions to the library.)


#10

The software package Fritzing “tries” this automated update between schematic view, breadboard view and board layout, but fails miserably… And I do mean miserably.


#11

[quote=“grpace, post:10, topic:8808, full:true”]
The software package Fritzing “tries” this automated update between schematic view, breadboard view and board layout, but fails miserably… And I do mean miserably.
[/quote]There had better be an infallible roll back system and a means to tell it NOT to do that. How many times have you screamed at the screen, “I DIDN’T ASK YOU TO DO THAT!!!”?


#12

If one tries to use Fritzing they will be yelling that a lot.

Their concept is a good concept, but it’s implemented quite poorly…

Friends don’t let friends use Fritzing.


#13

:rage: Probably a result of all the folks who expect a computer to do all of their work for them, so they don’t have to think. My unsubstantiated opinion is that Microsoft Office may be the worst offender.

Dale


#14

Version control is your friend, or perhaps your Lord and Savior.