Antmicro · Zephyr FPGA controller

antmicro.com
5 min read
fairly difficult
Article URL: https://antmicro.com/blog/2021/07/zephyr-fpga-controller/ Comments URL: https://news.ycombinator.com/item?id=28603301 Points: 1 # Comments: 0
The Zephyr RTOS has seen tremendous growth recently, with almost 1000 contributors and hundreds of platforms supported. Its vendor-neutral, all-encompassing nature has let it spill into various use cases, areas and device types. One of the fields in which we have been pioneering the use of Zephyr is the context of FPGA/FPGA SoC and on the RISC-V architecture - both in hard and soft implementations. We have recently become a Platinum member of the project to underline our commitment and take a leading role in the project alongside Google, Facebook, Arm, Intel, NXP, Nordic and others.

At its core, Zephyr is a secure and lightweight real-time operating system and often an excellent choice for applications where Linux is simply too complex and where tight control over all aspects of the execution are needed. This befits especially the low-to-mid-end real time use cases in FPGA (which are often used in scenarios like ML acceleration, video transcoding etc. that require low latency), either alongside or instead of "large" OS like Linux.

Zephyr and tooling++

But Zephyr is also much more, taking an ambitious approach of providing the user with open and user-friendly tooling, (including integration with our open source simulation framework, Renode) an all-inclusive SDK, and a community that we support as long-time members of the Linux Foundation-run Zephyr Project - everything you need to get started.

The Zephyr FPGA controller which we are in the process of upstreaming into Zephyr is the latest example of Antmicro's work to improve the developer user experience and open up new system design options.

Enabling both interactive and programmatic use, the FPGA controller allows you to work with FPGA bitstreams from Zephyr without a headache.

*** Booting Zephyr OS build v2.5.0-rc1-125-g25a1c4394db9 *** Address of bitstream (red): 0x10000 Address of bitstream (green): 0x40000 Size of bitstream (red): 75960 Size of bitstream (green): 75960 Welcome to the bitstream switching…
Read full article