nMigen is super interesting but I'm still stuck in Xilinx Vivado as a beginner because it makes integrating small cores so easy. Full RISC-V SoC that does something useful in the FPGA part and runs a small version of Linux and programs that call the FPGA part would be super neat.
I don't quite get this. Vivado uses Verilog as input. nMigen (and similar tools such as Chisel and SpinalHDL) just write the Verilog for you. You still use Vivado to generate the actual bitstream (assuming you're using an Xilinx FPGA).
From zero to Microblaze inside PetaLinux is a couple of minutes of work (and some waiting around for it to compile) and has plenty of tutorials. nMigen SoC has a Github repo that is "TBD". Maybe I just didn't look deep enough?
One comment on terminology... The people who pay the most attention to the topic maintain a distinction between parallelism and concurrency. Parallelism is more than one bit of work getting done at a time. Concurrency is about coordinating everything being done to ensure that the results make sense.
They say "parallelism giveth, concurrency taketh away". Work done on concurrency is overhead, not directly producing results. Sometimes it makes less useful work be done, such a stalling a functional unit while another uses a shared bus, or delivering two results A, B produced in random order in the required order.
Parallelism is associated with the "data plane", concurrency with the "control plane", in systems that use those ideas.
Software people often don't know about the distinction, and use the terms interchangeably. Keeping them distinct helps sharpen thinking about systems affected by it.
nMigen is super interesting but I'm still stuck in Xilinx Vivado as a beginner because it makes integrating small cores so easy. Full RISC-V SoC that does something useful in the FPGA part and runs a small version of Linux and programs that call the FPGA part would be super neat.
Seems small RISCV cores can be written very quickly https://github.com/darklife/darkriscv#introduction, but actually making them production hardware take a long time: https://zipcpu.com/zipcpu/2021/03/18/zipos.html