A guide to compile and install a Xenomai-patched kernel

A guide to compile and install a Xenomai-patched kernel

This tutorial will present how to compile and install a Xenomai-patched Linux kernel. Moreover, we will build Debian packages to ease the installation process. At the time of writing, the most recent stable version of Xenomai is 3.1 and the latest supported Linux kernel version is 4.19.89. However, these instructions should be valid for past and future versions. All the instructions have been executed on a machine running Ubuntu 20.04. Pre-requisites Install the following required packages: Download required files From…

Read More

La reconfiguration partielle sur FPGA pour des applications dans les appareils de radio définie par logiciel (SDR)

L’une des spécialités de l’institut REDS est le développement de systèmes reconfigurables à haute performance, et l’une de ses activités principales est la radio définie par logiciel – Software Defined Radio (SDR). La faisabilité de la reconfiguration partielle sur des circuits FPGA contenus dans des appareils SDR a été démontré dans le cadre du projet SDR-Makerspace avec la tâche SDR’s FPGA Partial reconfiguration. Ce projet est mené par le REDS en collaboration avec la Libre Space Foundation et il est…

Read More

Exploring GNU Radio performance in 2020

It was 2018 when I first wrote a post about bench-marking in GNU Radio. This post will expand on that, focusing on one technology I am experimenting with (eBPF) and a bit hack. This year I taught a class on High Performance Coding and one of the chapters introduces some bit hacks. Reading the excellent material from MIT 6.172 Performance Engineering of Software Systems, I stumbled upon the modular addition bit hack implementation. Considering that what I did in the…

Read More

Adding Build and Version Control Information in FPGA Bitstream

When handling FPGA bitstreams it would be nice to have a way to extract build and version information from them, especially when working with hardware-software designs. After generating a few different versions of a bitstream for a project it can be easy to lose track, especially when the design changes are not just incremental but alternative, e.g., to compare performance between possible implementations. In this post we will look at how to add build and version information to an FPGA…

Read More

Zynq-7000 HW-SW Co-Simulation QEMU-QuestaSim

Introduction This is a step-by-step guide to enable hardware (PL) – software (PS) Co-Simulation with QEMU and QuestaSim for a Vivado Zynq project running a Linux operating system and applications. Being able to simulate the interactions between the software running on the ARM processing system (PS) and the FPGA Programmable Logic (PL) allows for full-system simulation and can help development of drivers as well as embedded software that relies on the PL. Prequisites Linux-based operating system Vivado (this guide uses…

Read More

Smart Object Oriented (SOO) Technology

Introduction Smart Object Oriented (SOO) technology is the result of many years of research and development in the field of embedded systems including hardware and software topics such as ARM microcontrollers, System-on-Module integration, operating systems and software virtualization. The SOO framework has been released publicly on Gitlab in March 2020 under the GPLv2 Licence. Additional discussions and technical hints are also available in the dedicated forum. In early 2014, Prof. Daniel Rossier introduced the notion of Smart Object and the…

Read More

Retrospective on the SDR Makerspace conference

On the 28th and 29th of November, the REDS institute of the HEIG-VD organized its very first international conference at the Swiss Aéropôle of Payerne on the topic of Software Defined Radio, driven by the SDR Makerspace initiative. Needless to say, the conference was overall a success. I have met motivated and enthusiastic attendees, all gathering around the exciting topic of Software Defined Radios. Industrialists, academicians, experts, hobbyists, and even students were present. As I said, the SDR Makerspace initiative…

Read More

SDR Makerspace Conference

28-29 November 2019, Swiss Aeropole / Payerne (CH) The REDS institute of the Haute École d’Ingénierie et de Gestion of the Vaud canton (HEIG-VD), specialized in the development of high-performance reconfigurable systems, is organizing a conference on Software Defined Radios (SDRs) in the context of SDR Makerspace, a European Space Agency (ESA)-sponsored project. These “software radios” are transceivers that take advantage of the flexibility of software to attain unsurpassed performances in terms of robustness and adaptability, and this turns out…

Read More

A note on using the FPGA-to-SDRAM bus

On Alter-Intel SoCs, there exist a bus connecting directly the FPGA fabric and the SDRAM called FPGA-to-SDRAM. This bus is not shared with any other peripheral and enables high-throughput data transfers between the FPGA and the SDRAM. Typically, you might want to use it for DMA transfers. By default, this bus might not be enabled and prevents anyone from attempting a single transfer on it. If your FPGA design interfaces with this bus, you might need to enable the bus’…

Read More

Using the mSGDMA IP : an introduction

Hardware accelerated computations is a rising trend today. More and more, we are moving towards heterogeneous systems where a CPU and one or more hardware accelerators collaborate together to speedup computationally intensive tasks. FPGAs, with their reconfiguration capabilities, are very good candidates towards hardware acceleration. One very important part in this field is data transfers between a CPU and a hardware accelerator, as they are a critical in such a high performance environment. On FPGAs, though, how does data transfer…

Read More
Find Us

Address
HEIG-VD
Route de Cheseaux 1
CP 521
1401 Yverdon-les-Bains

About This Site

Technical articles related to the development work performed at the REDS institute, HEIG-VD (Switzerland).

The REDS institute is part of the High School of Engineering, Vaud. Its core skills involve board conception, firmware development and FPGA programming.

Find more at http://www.reds.ch