Design

Emerging era of silicon freedom heralded

30th July 2018
Alex Lynn
0

Open source digital design is by no means a new phenomenon, with projects such as the venerable OpenRISC processor having been flown aboard a NASA satellite and immortalised in silicon in Samsung digital televisions, to name just two applications. 

Author: Andrew Black, Treasurer and Director of the Free and Open Source Silicon Foundation and Founder of the Open Source Hardware User Group.

However, HiFive1 with its RISC-V based microcontroller aims to bring with it new levels of accessibility and performance.The advent of the RISC-V open source instruction set architecture (ISA) generated a groundswell in interest in open source digital design, with the foundation that is responsible for stewarding its development boasting a membership that over the space of a few years has grown to include HP, IBM and Google, amongst numerous other tech giants and many smaller switched on companies.

RISC-V is an ISA and not a processor design per se, but reference implementation designs are provided by the foundation. In addition to which there is an incredibly vibrant global community of research institutions and industrial partners, working on their own designs for everything from ultra low power devices for IoT, through to server class silicon and even designs with more than 1,000 cores and on-chip networks.

Freedom Everywhere

Freedom Everywhere is a family of customisable System-on-Chip (SoC) designs from SiFive, the startup that was founded by the creators of the RISC-V architecture. The E300 platform is the first member of this family and combines a 32-bit E3 series Coreplex, microcontroller core plus interrupt controllers, and DMA and debug units, with power management and an RTC, UART, I2C and SPI, amongst other peripherals.

The HiFive1 board is based around an FE310-G000 device, the first in the E300 SoC family, fabricated in 180nm silicon and supplied in a 48-pin QFN package. Features include:

  • Support for RV32IMAC ISA options
  • 16 KiB instruction cache
  • 16 KiB data SRAM
  • Eight KiB mask ROM with boot code and debug routines
  • Core local and platform interrupt controllers
  • GPIO including QSPI (x3), UART (x2) and PWM (2x 16-bit + 1x 8-bit)
  • Always on domain with power management, RTC, watchdog and reset.

HiFive1

Along with the FE310-G000 the HiFive1 board integrates an FTDI USB to JTAG/serial bridge, SPI flash, plus level shifters and power and clock circuitry, to create an Arduino compatible hardware platform with that familiar and verging on iconic form factor.

Key features:

  • 32-bit RISC-V core running at 320MHz
  • 128Mbit flash
  • 19x digital I/O
  • Nine PWM pins
  • SPI with three hardware CS pins
  • 19x external interrupt pins
  • One external wake-up pin
  • Power via Micro USB or seven 12VDC jack

Freedom SDK

Building the SDK simply involves cloning the git repository and running make, with the various components it is comprised of being managed via git submodules. This means that you don’t have to go downloading/cloning component sources from different places and if the SDK is updated, you can get the latest version by running a couple of git commands followed by make once again.

The SDK is based around the RISC-V GNU toolchain, with GCC, binutils, dejagnu, glibc and newlib. OpenOCD is used for programming and also enables debugging via GDB.

The HiFive1 ships with an LED fade demo loaded into flash and if you connect to the USB serial device an ASCII logo is also output. The other examples provided are: hello world, coremark, dhrystone and, GPIO demo.

These can be built with $ make software PROGRAM=program_name BOARD=freedom-e300-hifive1. And uploaded using $ make upload PROGRAM=program_name BOARD=freedom-e300-hifive1

Arduino IDE support

All that is required to enable support for HiFive1 in the Arduino IDE is to add a URL to the Boards Manager configuration.

Then search for and install the SiFive Freedom Boards package, following which you can compile and upload sketches. However, it should be noted that not every sketch is guaranteed to run unmodified, but this is in much the same way that if you took a sketch originally written for a classic ATmega-based Arduino and that used SoftwareSerial, or perhaps cli() and sei() to clear and enable interrupts, it wouldn’t run unmodified on an Intel Galileo, for example.

Applications

The HiFive1 could be used simply as another Arduino compatible, albeit a very fast one. And of course its arrival has delighted open source digital designers, students and academics, open hardware advocates and makers the world over, with access to its microcontroller RTL.

The FE310-G000 device as provided with the HiFive1 should certainly be of interest to engineers with a need for a high performance microcontroller for use in general embedded applications, and notably of particular interest to those with IoT applications in mind. But that’s not where the story ends and is far from the ultimate goal of SiFive, who offer bespoke chips-as-a-service.

Custom Silicon for All

Once you’ve evaluated the E300 platform via the HiFive1 board and confirmed that it delivers the performance and reliability you require when implemented in silicon, you are free to grab the RTL, prototype customisations and synthesise a bespoke design that targets an FPGA development board.

At the time of writing two development boards are supported: one with a Xilinx Artix-7 FPGAand that is targeted at makers and hobbyists; and a second featuring a formidable Xilinx Virtex-7 FPGA, along with support for 40Gbs of connectivity, gigabit Ethernet, PCIe, FMC expansion and more.

So what exactly could you implement?

To give just one example, it would be possible to add support for wireless technologies such as LoRaWAN by adding IP blocks that implement the MAC layer. Or maybe just with two or more E3 series Coreplex, so that one can be dedicated to applications and another to network functions. Throwing in additional peripherals to support particular applications and maybe battery charging and/or energy scavenging circuitry, whatever you require in a highly integrated solution.

Not so long ago this might have seemed like a fantasy and the reserve of those with famously deep pockets, but this is no longer the case and SiFive are able to offer customised chips for less than $100,000. Which may still sound like a lot of money and is admittedly priced beyond the means of all but the wealthiest of enthusiasts, but this might be all that stands between an OK product that is moderately successful, and something game changing that blows away the competition.

Of course, custom silicon for use is own products is one thing, but it could also be that after years of consolidation in the semiconductor industry, we now start to see many more small chip startups as the barrier to entry is lowered and a collaborative ecosystem developing open source IP flourishes.

Is open source silicon the next logical step after the proprietary IP licensing model? To paraphrase Sir Robin Saxby, founding CEO of ARM, at the 2013 Global Semiconductor Alliance Entrepreneurship Conference in London: “Don't try and build the next ARM; build the company that will replace ARM.”

Product Spotlight

Upcoming Events

View all events
Newsletter
Latest global electronics news
© Copyright 2024 Electronic Specifier