Vivado VersionControl

Vivado VersionControl

Whoever is familiar with Vivado already knows that it generates a huge quantity of files and that understanding a proper version control thus seems to be not as simple. The truth is, that Vivado’s design indeed consist of a plenty of different file types, but...
Accessing physical memory from user space

Accessing physical memory from user space

I have noticed, that there are plenty of people, who do not know how to access the physical memory from linux (or for myself at least from Xilinx’s petalinux). Basically, a bare-metal application running on a CPU has direct access to memory by default, but...
Configure Visual Studio CODE for C++ Developement

Configure Visual Studio CODE for C++ Developement

Visual Studio CODE is on the market for quite a while and thanks to its simplicity, lightweight and compatibility with variety of programming languages, it becomes a must-have for any programmers. For myself, I started using it 3 years ago, when I had to edit...
Filtering Real Time Signals

Filtering Real Time Signals

Everybody tells you, that filtering signals (Real or Complex) is simple. In Fact they are right, the only problem usually comes to designing a good filter, choosing its architecture (FIR / IIR) and also the best implementation for filtration in the application....
Circular Buffer

Circular Buffer

From time to time,there is a need for dynamic buffer usage inside an application. One of the simple methods is just allocating and deallocating memory. This is however time consuming and leads to heap fragmentation, which continuously degrades performance. A good...
Fast Integer Modulus in C++

Fast Integer Modulus in C++

Quite recently, I was benchmarking one of my favorite algorithms. I was trying to optimize it for speed and performance. What I found quite interesting are 3 facts: First of all, thank god for the beautiful and well done work on Microsoft Visual Studio 2017. I...