In September 2017, I wrote a blog post that discusses how to seamlessly add a new FPGA development board to Migen. The idea is that porting a board to Migen is actually minimal hassle, but it requires knowledge about the various parts of Migen scattered around the code base.
While future development is going toward nMigen, I hope the documentation for porting a board to the original Migen can still be useful. You can read how to port a board (and try your own) on my blog here!
There are a few minor things that are out of date in this post when considering the icestorm backend; for instance,
arachne-pnr has fallen out of use, and members beyond
8k FPGAs are now supported. My current stance is to keep the post as is, and I will be working on a follow-up post in the same vein for nMigen.