What's your opinion about multi-user PCB layout? - Page 1
Forum section: electronics / general

author: xjordanx
author_rank: Contributor
timestamp: October 05, 2016, 11:28:02 pm
content: Hi Everyone,There's been a few ECAD packages over the years attempt to make electronics and PCB layout a 'team sport'. First there was a really expensive tool as I understand from Mentor Graphics, then Altium Designer had an SVN based compare and merge feature (not real-time editing), then there was Upverter, and just this month Circuitmaker released a real-time multi-user pcb editing mode.To be completely transparent, I oversaw the product management for CircuitMaker, but I have little idea of aneedfor PCB editing 'team sports'. I can see some really good uses in education though.But, when I personally think about why I design and make electronics and why I like to have it on a website, it's because I'm wanting to show others what I know about electronics, or just because I like making stuff and get a sense of accomplishment when I get something working for the first time.I've personally never worked on any board that was so complex and under such time pressure that I needed to get others to help me route it.But, there must be some use-case for this, because us EDA vendors keep talking about making tools like this.I'm interested to hear candidly from others in the forum what you think of this notion and under what circumstances you might consider "collaborating" on a PCB layout or schematic.This is not a trick question, I am just being honest about my own thinking and I'm open to be influenced by what others might have to say on this topic.

author: ataradov
author_rank: Super Contributor
timestamp: October 05, 2016, 11:49:19 pm
content: It is all marketing BS, there is no need or use for collaboration like that. Modern CADs are reasonably good at  merging parts of schematics and layout, so different people can work on them at the same time. There still must be a manual merge process, no one will trust a complex design to a fully automated tool.This is very similar to online IDEs that most MCU manufacturers are coming up with right now. It is a pointless waste of time, but marketing department likes it.EDIT: I'm not excluding that there may be a place for a tool like that, but it must be absolutely seamless. And it must handle complex corner cases, like merging off line changes and a good way to detect and resolve conflicts. And nothing like this exists and nothing comes even close.

author: zapta
author_rank: Super Contributor
timestamp: October 06, 2016, 12:47:33 am
content: Quote from: xjordanx on October 05, 2016, 11:28:02 pmSince you want to be 'completely transparent', are you currently working for Altium?

author: ludzinc
author_rank: Unknown
timestamp: October 06, 2016, 02:04:29 am
content: Imho,Concurrent editing by multiple users is not required nor requested

author: free_electron
author_rank: Super Contributor
timestamp: October 06, 2016, 04:33:43 am
content: i regularly work in collaborative mode. where two or three designers work on the same design. each is allocated specific rooms to work with. we play tag. meaning there is a day shift and a nightshift to keep layout rolling 24/7.now we have to manually merge files at the end of every day. this involves a lot of copy and paste. especially with complex layer stackups ( blind and buried, stacked via's (laser) split planes etc this is VERY TEDIOUS to re assemble a board every single day.Last design i did in collaborative was a 22 layer with 6000+ components and 27000+ nets ... 3 mil track and gap. 6 laser layers 8 powerplanes , 8 internal routing layers (buried via). all impedance control and fully length-tuned. DDR5 , gigabit ethernet , HDMI, USB3.0, multiphase regulators for the 0.9 volts CPU core eating 50 ampere... the whole shebang.Anything that can make my life easier and shave weeks off the design is welcome ...

author: ataradov
author_rank: Super Contributor
timestamp: October 06, 2016, 04:42:25 am
content: Quote from: free_electron on October 06, 2016, 04:33:43 amThat is true. The problem is that tools like this must work perfectly, and chances are they are not going to work at all on a nightmare design as described above.This is a gimmick feature designed to increase the number of bullet points in the sales presentation, there is rarely a real commitment behind stuff like this.

author: free_electron
author_rank: Super Contributor
timestamp: October 06, 2016, 04:51:38 am
content: Quote from: ataradov on October 06, 2016, 04:42:25 amthe managed project in the vault works pretty well. it shows the diffs and we can accept/reject what gets loaded into the master. but it still takes lots of time. copying planes is a pain in the patoie. as you snip the section out the net assignment to the splits changes. pasting a block in corrupts the assignments further. especially if a boundary was shifted. this is misery under a 1500 ball bga with 27 power domains ...designers may also create custom rules pertaining to the sections they work on. merging those local rules into the master file is also tedious ...

author: Berni
author_rank: Super Contributor
timestamp: October 06, 2016, 05:42:41 am
content: That is one huge board you got there free_electron. I can see the appeal of using multiple people to work on a board so it gets done in a reasonable time frame.Only way i could imagine multiple people working on one board is when they are designated an area to stay within so they don't place parts and traces over each others design, making it impossible to merge later. Could be quite a problem when the board needs to be as small as possible to fit somewhere.We usually have multiple boards in one product, this makes multiple people working on it a quite a bit easier since you can just have every designer work on his own board. The person who is leading the project makes sure that it will all fit together afterwards.With large digital boards using selective half manual auto routeing can speed things up a lot, but i don't do those often enough to bother learning how to use it in Altium.

author: xjordanx
author_rank: Contributor
timestamp: October 06, 2016, 06:45:28 am
content: Some great replies here.As I originally mentioned I was doubtful of the use case for collaborative PCB design at all, but now I see some people actually doing it (at least, with the SVN/Vault method).

author: free_electron
author_rank: Super Contributor
timestamp: October 06, 2016, 03:38:38 pm
content: Quote from: Berni on October 06, 2016, 05:42:41 ameven if you stay in your corner : having huge busses running across the board is VERY problematic. you need to create channels in your block and make sure they line up.

author: PCB.Wiz
author_rank: Super Contributor
timestamp: October 09, 2016, 09:49:28 pm
content: Quote from: ataradov on October 05, 2016, 11:49:19 pmHehe, a little blunt, but has elements of the truth ....Quote from: ataradov on October 05, 2016, 11:49:19 pmEven there, I'd stop short of "Modern CADs are reasonably good" in merge.Mentor PADS can ASCII in on top of existing data, but the process is quite brain-dead.It cannot see a "Same part, new XYRS", for example and apply that.It barfs on routes replacing connections.KiCad is a little smarter, their Append Boardcansee "Same part, new XYRS", and itcanapply routes over connections, but still falls short in user control of this flow.kicad cannot renumber on merge, for example & append is not there in all launch cases. (see below)There is plenty of scope to improve even manual merge operations.Both Mentor and Kicad lack any user prompts during the ASCII in merge, and one wrong choice can domino.Quote from: xjordanx on October 06, 2016, 06:45:28 amThere is a whole usage area you missed, which is "collaborating with yourself".Before they let Marketing departments run away with the Enterprise buzzword fluff, EDA vendors shouldfirstget the simple basics right.A great litmus test, iscan you collaborate, even with yourself.This means good design reuse, and good cell append and renumber merge.I'd say ASCII databases are also important here, as you certainly want SVN/Vault methods checking this, and there should also be NETLIST sanity checks built into the flows, along with smart enough back-annotate to the SCH, of any automated changes.

author: ehughes
author_rank: Frequent Contributor
timestamp: October 13, 2016, 01:34:53 pm
content: QuoteI would disagree 100% as I work on designs that are very large and *need* the ability to collaborate. If all you do is Arduino Blinker boards, then no. If you have 20 Layer designs with parts that cost $5k, then yes.On the schematic side? Maybe for large designs (20+ pages) After doing a complicated FPGA design, having some help would have been nice. When the design got passed around in GIT to managed change control, the merging of any changes was a pain. The operation was fundamentally serial. Only one person could actually being making edits. Even when it came to putting notes on the schematic, the 3 people that needed to review had to wait for the others to complete their task. Having the others write on sticky notes until it was their turn is really dumb. Often, some the the reviewers would have the same comments. This means if they were each working from 3 copies of the design, they would each be putting the same notes on their local PDF (or native) copy. Huge waste of time.Having one design database to which the team could add to without someone else over seeing the entire project file set would be nice. (I.E. Google Docs simultaneous editing). Isolating team members to pages with some sort of ICD that they work against would be a solution, it is very rigid and inflexible when many of the design decision are still in flux. This exposes an even tougher problem within a team.... where do you define the boundaries when drawing schematic pages? There are many different but equally valid answers.I think having mark up tools to pass notes between members on the schematic is very useful. Even when one person is doing 90% of the work, having someone else make their comments (and possible some small edits) would be very useful.Maybe the real question here is "For Sch/PCB collaboration, are the tasks equally divided"? In most cases I have seen, the answer is no. *BUT* that other 10% input is just as important! Having a smooth workflow for the 90/10 split would be just as valuable (if not more) than the the 50/50 case (or 33/33/33).PCB? This is tough. 90% of the work is stackup development and placement. I have no good ideas on making this a team sport. The routing? Once again, this would require quite a bit of discipline to work. (This is a problem for the customer , not the EDA tool).Being able to simultaneously mark up a PCB during a design review would be nice. I think the key part is a centralized store of the design so multiple people can be in a one to time without a rigid check-in/check-out process.On the personal side, the concurrency editing in CircuitMaker is nice as I can do what I stated above.I don't necessarily need to work at the same time as another engineer, but the "parallel" synchronization problem is a real one.