Skip to main content

New Parallella Linux Image and Epiphany BASIC

title

New Parallella Ubuntu release with numerous improvements and a BASIC interpreter that runs on Epiphany cores and has some parallelism support.

A new Parallella Ubuntu image release was made for headless systems at the end of January and this includes numerous significant improvements, including:

  • Thermal daemon which monitors the temperature and shuts down the Epiphany chip if it gets too high.

  • Lower idle power consumption.

  • Improved I/O bandwidth.

  • New Epiphany SDK with software cache.

  • FPGA bitstream generated using Vivado.

The new thermal daemon is great news and means that there is much less chance of damaging a board with higher loads and insufficient cooling. Lower idle power consumption is always a good thing and should also help with reducing the heat generated. The I/O speed improvements are presently modest, however, further performance improvements are also in the pipeline.

The software caching feature provides a way of allowing larger programs to run efficiently on the Epiphany co-processor. Previously, a linker script was used to control which parts of a program were to be located in Epiphany vs. slower external memory. Whereas now it's possible to have the cache manager dynamically pull functions from external to internal memory prior to execution. There is obviously a copy overhead the first time, but the next time around this won't need to happen. For further details and examples see the Epiphany SDK wiki entry.

The final improvement noted above will be welcome news to many with projects that call for custom FPGA designs, as the Vivado Design Suite is slowly replacing ISE as the toolchain for Xilinx devices. The move to using Vivado has been on the cards for some time, however, it's not a simple move to make with a device as complex as the Zynq and a platform such as Parallella.

Loading the image and logging in

title

The process used to create an SD card has also been improved and after downloading an image this is now simply a two step procedure: uncompress and write! No more having to manually populate the BOOT partition with the appropriate kernel and FPGA bitstream. Which was simple enough, but had caught some people out in the past. Although note that it's still important to ensure that the correct Zynq version is selected — either 7010 or 7020 — and HDMI or headless.

Once you've booted the new image it's now possible to SSH in using the hostname “parallella.local” or “parallella.” — depending on which O/S you are running — thanks to the wonder of multicast DNS (a.k.a. Zeroconf/Bonjour/Avahi). Although obviously if you have more than one board you will need to update the hostname(s) in order to take advantage of this feature.

Epiphany BASIC

Last Friday community member, polas (Nick), shared details of a new BASIC dialect and interpreter developed for the Epiphany chip. Dubbed Epiphany BASIC, the aim of the project is to enable novices to get Epiphany code up and running and results within a very short time frame, thereby lowering the barrier to entry and providing reward much sooner.

Installing Epiphany BASIC is as simple as cloning the GitHub repository, and then running make followed by sudo make install. After that you can use your text editor of choice to create a file containing a BASIC program, before then executing it with the ebasic command.

title

BASIC is perhaps not the first language that springs to mind when thinking of parallel programming. However, this will present a much more gentle on-ramp for complete novices who are eager to make use of the Epiphany accelerator, and in doing so will hopefully inspire more to invest the additional time required to learn more advanced programming languages and concepts.

Andrew Back

More about Parallella in the DesignSpark Parallella Design Centre

Open source (hardware and software!) advocate, Treasurer and Director of the Free and Open Source Silicon Foundation, organiser of Wuthering Bytes technology festival and founder of the Open Source Hardware User Group.
DesignSpark Electrical Logolinkedin