Sorry for the long hiatus in this blog. Life has been hectic in the past 12 months, and blog time is more and more a scarce resource for me. But I think from time to time, it is always necessary to step back and do some reckoning.

One thing I spent plenty of time on was the RISC-V architecture. I learned the name of RISC-V in the middle of last year, and it has really piqued my interest. RISC-V is a sanguine ISA that comes out at a time when ARM’s Cortex M processors were swarming left and right in the embedded world. RISC-V by itself is a nitty design, and it has avoided a lot of pitfalls that other early pioneers fell for. In fact, I think RISC-V could have great potential in the FPGA as a soft-core processor for the following reasons:

1. FPGA is one of the few places that ARM has not fully cracked yet. ARM made an early attempt into the FPGA world through its Cortex M1 processor, and flopped not long after its debut.

2. And at this point of time, ARM has made the source code for its Cortex M0/M3 available to the public, but only a limited few truly adapted ARM as a soft-core in the FPGA.

3. ARM’s failure in the FPGA world might be attributed to
a) Its royalty model
b) Its openness. Although its source code is available through ARM’s DesignStart program, the core portion of it is actually obfuscated.
c) Its sizing. The size of the ARM core is also too big for low end FPGAs
d) JTAG and ways for debug. As in FPGA, the JTAG is not open to 3rd party soft-core processor, extra pins have to be allocated to create a second JTAG port for code download and debug. A big turn-off for many adopters.

4. So the status quo right now is that the soft-core processors for FPGA is largely segmented by the FPGA vendor, for which Xilinx has the Micro-Blaze while Intel has the NIOS II. The headache is that the portability is really an issue if one decides to switch FPGA platforms later.

And RISC-V can certainly be a good alternative to ARM or FPGA vendor’s solution, as RISC-V can enjoy the following good traits:
1. It can cost significantly less than the ARM
2. It can be 100% open source
3. Portability and Flexibility