Future content suggestion: Auto-Placement (not auto-routing) - Page 1
Forum section: electronics / general

author: wosser
author_rank: Contributor
timestamp: September 07, 2011, 05:55:42 pm
content: Dave, I'd be interested in hearing about your opinions of EDA auto-component-placementtools. I know you've covered auto-routing before but I think that auto-placement is a slightly different game.I'm playing with a very complex board (well it's complex from my novice point of view: 240 componentss / 1200 pins) and even placing the components is posing a major problem. How do you prefer to do component placement? Do you place everything by hand or do you let the computer do some of the legwork? Do you let the ratsnest guide your decisions or do you turn off the ratsnest and just place the bare parts purely based on your schematic?I'd really value some words of wisdom on this topic.I'm a complete noob at this field of electronics, but I find the challenge of converting a schematic to a physical board very mentally stimulating and fastinating. There's a real sense of achievement when I can finally finish even a really simple design and have a tangible design in front of me. PCB layout design is awesome - people who can do that shit for real get a huge amount of respect from me without a doubt.

author: Unknown
author_rank: Unknown
timestamp: September 08, 2011, 08:12:20 pm
content: My $0.02: auto placement is even more useless than auto routing, since this requires more insight, heuristics and other skills computers suck at. Auto routing may have a chance of working if you place the components carefully and set it up correctly, like for a length-matched parallel bus. I don't see current auto placement algorithms ever being useful, but maybe I just didn't try hard enough?

author: jakeypoo
author_rank: Regular Contributor
timestamp: September 10, 2011, 09:25:14 pm
content: Usually when laying out a board with many components, I tend to group things up into modules. It's a iterative process, and you never get it down in one go. But it becomes much more intuitive when you are dealing with higher level 'modules' rather than individual components.For example, your group your micro and it's respective bypass caps and anything else together, power regulation together, any ICs that share functionality together. At this point you are dealing with placing 5-10 groups of components rather than hundreds of individual components.Usually you have the 'driving' components that must be placed in some arrangement, and the subsequent components are driven by constraints like short trace lengths. For example you want your voltage protection and power regulation close yo your power connectors. You want to keep any noisy analog signals away from your sensitive data lines. Etc.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: September 11, 2011, 03:48:36 pm
content: Placement is everything - 60-80% of the work in a good layout is placement.Auto placement is harder to do than auto routing, and unlikely to work anywhere near as good as doing it manuallyThere are features in some PCB packages that can help - e.g. showing net density, design-rule checks etc. in realtime as you move parts around, but manually placing is pretty much the only way, and experience will tell you what works and what doesn't.It isn't too hard to just the density of rats-nest connections as you move and rotate parts.

author: LEECH666
author_rank: Frequent Contributor
timestamp: September 20, 2011, 10:52:59 am
content: I think Dave already stated his view on Auto-Placement in his PCB Tutorial, which can be found on his Alternatezone Webpage.QuoteQuote taken from this document:http://www.alternatezone.com/electronics/files/PCBDesignTutorialRevA.pdf

author: EEVblog
author_rank: Unknown
timestamp: September 20, 2011, 11:33:26 pm
content: Quote from: wosser on September 07, 2011, 05:55:42 pmAuto placers are useless for actually placing parts, end of story.QuoteRatsnest's can be very useful to see the connectivity at a glance while shuffling components around. e.g. which things are connected to which sides of a big QFP package for example.QuoteYes, it's an art.Dave.

author: reagle
author_rank: Unknown
timestamp: September 25, 2011, 07:46:43 pm
content: Doing placement by hand is key- that's where you catch some really dumb decisions that look awesome on the schematic, but not so much in physical world. Letting machine or even a draft person do it would be a big mistake- i strongly believe the designer of the circuit should be doing it. I too typically start by figuring out how I want to partition power distribution, then section things based on that. (So say high return currents from power stuff do not flow under analog). After that do each functional block by itself (say you take a DC-Dc converter and place it as a compact sub block.) Once done, you move those blocks around to see where they make sense. It gets trickier on dense boards where the shapes of the "blocks" may not be simple and you have to fit them in as puzzles. That becomes very iterative . Just finished a 12 layer 900+ components board, so the memories are still fresh

author: Psi
author_rank: Super Contributor
timestamp: September 25, 2011, 11:38:05 pm
content: yeah,Quite often you will keep going back to the schematic and swapping around I/O lines and other connections. This makes it possible to do a better layout than you could ever do with your original schematicEg, (Where rotating an IC isn't ideal) two i/o tracks approaching a chip from the opposite side to the pin they need to connect to can be swapped around to simplify things and free up space between each side of the IC for other tracks.As long as they are just I/O defined in software (not a special function pin, or a whole port) you can do this as much as you need to get a nice layout.The auto-layout tools never do this. So will never come up with good results.

author: codeboy2k
author_rank: Super Contributor
timestamp: September 26, 2011, 01:08:21 am
content: This is where the re-routable I/O ports on chips like the Renesas RL78 series of micro-controllers can really help out here.When auto-routers and auto-placers start taking this into consideration for micros that have this capability, like they already do (somewhat)for FPGA's, then perhaps auto-routers and auto-placers will become more useful.

author: EEVblog
author_rank: Unknown
timestamp: September 26, 2011, 03:33:32 am
content: Quote from: codeboy2k on September 26, 2011, 01:08:21 amAutoplacers will still be useless, but "pin-swapping" is a very useful feature for FPGA, and would be useful for large pin count micros too. But micros always have limited pins, so manually swapping is still not that much of a pain by hand.I like the way the Altium FPGA pin-swap feature works. You fan out the FPGA, and route all your tracks in until they "almost touch" the fanned out tracks, then you run the pin swapper and it back annotates into your schematic and then adds the extra tracks.Massive time saver for high pin count FPGA's.Dave.

author: reagle
author_rank: Unknown
timestamp: September 26, 2011, 11:49:08 pm
content: Does Altium pin swapping work across multiple parts ? Say I have resistor networks that I need to swap pins on to route some crazy bus. I know in Pads you could just click and assign nets around. Altium seems to limit to swaps within a part, if I am understanding it correctly

author: EEVblog
author_rank: Unknown
timestamp: September 27, 2011, 09:32:48 am
content: Quote from: reagle on September 26, 2011, 11:49:08 pmYes, I believe that's the case. Although I have not explored if you can kludge that exact capability.And if you can't, don't count on them adding it any time soon, they are running out of employees pretty quickDave.