It’s based on RISC-V. RISC-V, unlike almost every other ISA, is open-source. It’s released under the BSD licence, which means that anyone can design chips using it. Not only that, but there are open-source designs for processors using the RISC-V ISA, including Rocket Chip. This means that anyone who happens to have access to a chip fabrication lab can download the designs and knock up some processors. Of course, not everyone has access to chip fabrication, so we have to rely on others to build our hardware for us.
SiFive have brought together various bits of open-source RISC-V design into a microcontroller in a similar way to how Red Hat or Canonical bring together bits of open-source software to make a Linux distribution (after all, you need more than just a processing core). At the moment, they’re the only source of actual chips based on RISC-V (though there are other projects, such as lowRISC, that have implementations that can run on FPGAs).
This isn’t a case of being open for open’s sake though. SiFive is in the business of helping clients make custom-designed chips using the same processing cores. The open-source Rocket Chip cores are the starting point, and they’ll help you add whatever you like to them to tweak these chips for your personal needs – of course, this is only for large manufacturing runs, not us hobbyists.
It would be wrong to call the HiFive1 development board fully open. The schematics and processing core are, but there are plenty of other chips on the board that aren’t. For example, it relies on an FTDI USB connection. However, the HiFive is the most open development board available today. If you’d like a more open board, the microcontroller chips are available and you can build your own board around this.
The HiFive1 is powered by an E31 processing core, which is a 32-bit architecture running at 320MHz. The per-cycle performance of the E31 processing core in the HiFive1 is roughly similar to the Cortex-M0+ processors found on boards like the Arduino MKR1000, however the E31 is clocked much higher. The performance is in the same ballpark as the Teensy 3.6, which has a 180MHz Cortex M4 processor which, while slower than the E31, can perform more in each cycle.
There’s a range of options for programming the HiFive1, but for hobbyists, the most familiar will probably be the Arduino IDE. Here, as you’d expect, it’s just a case of installing the board definition and selecting it in the GUI.
The HiFive1 comes in the now familiar Arduino Uno form factor, but it does have a slightly different pinout – most notably, that there are no analogue pins on the HiFive1. This straight away rules it out of some areas where the extra processing power would be useful, such as sound processing.
At $59 (plus $15 shipping, if you’re outside the USA), the HiFive1 is a touch expensive by microcontroller standards, but if you’re after an Arduino-compatible board with some serious processing power, it’s one of the best options out there. We suspect, though, that most people aren’t buying the HiFive1 for the performance, and it’s the chance to use open-source chips which is the real driver.
SiFive $59 sifive.com
It’s great to see Risc-V chips on the market, and this one packs a lot of punch