freenode/#clim - IRC Chatlog
Search
17:12:09
lukego
yeah there will need to be some kind of a feedback loop there. I'm doing my placements using Screamer at the moment and I'm thinking that will be flexible for incrementally adding constraints ("move that towards bottom-left", "pick rotations for these that minimize intersections", etc)
17:12:12
pjb
lukego: you may have some constraints for the connectors for example, but the rest can be subject to the routing.
17:13:07
jackdaniel
n.b I'm quite satisfied with the defpresent macro, I will add it to my repl-hack-utilities :)
17:13:10
lukego
but I've spent enough time thinking about routing to identify an initial strategy to take from the litetrature ("Contour") so it's not a complete unknown.
17:14:30
jackdaniel
see how I've defined another view class that is default for the stream I'm drawing on
17:14:41
jackdaniel
otoh, when I right-click on the pin, the "textual" representation appears in the menu
17:15:37
lukego
"Contour" router is basically to shop the board up into tiles representing used and empty space and then find the pairs of things that need to be connected and do A* search from both ends in parallel until they meet. rinse and repeat. see how that goes... it's designed for VLSI and not PCB
17:18:37
lukego
I'm also currently "floorplanning" the board into discrete modules. that's mostly for divide-and-conquer purposes e.g. to have small enough domains to do Screamer backtracking searches usefully in. but also because a lot of good PCBs seem to be designed that way in practice. https://twitter.com/lukego/status/1363497447532675077
17:34:12
lukego
oh also, experience so far suggests it's easier said than done to import geometry from vendor datasheets, which means e.g. diagrams like this in pdf files https://imgur.com/a/aKsigfY and I'm still thinking hard about how to get accurate and reliable footprints. I think though that I'll start with cartoonish approximations for writing the router and then get the fine details right at the end.