Announcement

Collapse
No announcement yet.

KiCad "automatic placement" -- constraints?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    KiCad "automatic placement" -- constraints?

    In KiCAD's pcbnew there's an automatic footprint placer.

    What are the constraints it uses for placement and can they be changed?

    As far as I can tell, it's basically just finding a place to put them, with little regard to most anything else. The only thing I can discern is that it avoids overlaps and tries to put them on board (though not always!). It does not seem to have much concern for routing. Or does it?

    #2
    Re: KiCad "automatic placement" -- constraints?

    Originally posted by eccerr0r View Post
    In KiCAD's pcbnew there's an automatic footprint placer.

    What are the constraints it uses for placement and can they be changed?

    As far as I can tell, it's basically just finding a place to put them, with little regard to most anything else. The only thing I can discern is that it avoids overlaps and tries to put them on board (though not always!). It does not seem to have much concern for routing. Or does it?
    The crudest metric to drive autoplacement is number of connections to other components. The thinking being that it is easier to "resolve" closer connections than to have to spanl long distances. You should be able to see this in a ratsnest display.

    Comment


      #3
      Re: KiCad "automatic placement" -- constraints?

      Another thing I noticed is that it doesn't rotate devices for better fit!

      Dammit. Tempted to write a better autoplacer for kicad, though this would be quite a challenge as there are so many constraints I'm thinking about adding to the pot from the get-go, seems that the built-in autoplacer is really simplistic. I've seen better (and even they don't guarantee routability) ...

      Comment


        #4
        Re: KiCad "automatic placement" -- constraints?

        Originally posted by eccerr0r View Post
        Another thing I noticed is that it doesn't rotate devices for better fit!

        Dammit. Tempted to write a better autoplacer for kicad, though this would be quite a challenge as there are so many constraints I'm thinking about adding to the pot from the get-go, seems that the built-in autoplacer is really simplistic. I've seen better (and even they don't guarantee routability) ...
        A good "layout guy" can always outperform autoplacement and autorouting.

        They should be used as labor savers to get things started -- then tweeked based on your intuition about the board.

        E.g., I'll autoplace components in a memory array -- and let the box autoroute that portion of the board (cuz a "memory router" is relatively easy to "get right"). But, "junk logic" always benefits from my understanding of how signals flow THROUGH it. And, I know the sorts of pin/signal swaps that I can "fix-up" in the schematic whereas most tools are limited in how much signal and package swapping they can do.

        If you have other tools handy, you can always use them to see how THEY would place the devices -- and then manually "copy" the placement to the other tool. (I try to leave tool selection to as late a point in time as possible!)
        Last edited by Curious.George; 08-23-2020, 08:27 AM.

        Comment

        Working...
        X