An FPGA is a programmable logic device, meaning that you write code using a Hardware Description Language (HDL), that describes how you want that logic configured. In the case of the LimeSDR we have, amongst other things, a NIOS II “soft core” processor. So what happens upon power-up is that a configuration file is loaded into the FPGA from flash and transforms it from a (mostly) blank canvas into a processor plus DSP and other stuff.
That NIOS II processor will then load a program and start executing it.
No, both involve reconfiguration of the FPGA — i.e. hardware. The one involving swapping out the NIOS II for a RISC-V soft core will also involve software, albeit porting the software — or more accurately, firmware — that previous ran on the former to now run on the latter. FuseSoC is software, but it’s role is more meta, in that it is used to package, integrate and build the IP cores that are written a HDL.
Thanks! Although just to note that this involved configuring the FPGA with an OpenRISC SoC design, before then booting Linux on this.