Picture of a sine waveform

Sine Synthesis with FPGA

Introduction Last time we did together a circuit using verilog to communicate to a I2S device. But we never delved into how to make a waveform for it. Now, don’t get me wrong: if you did the blinky led example while starting your first projects, this can be easily achievable for you: A square pattern is just zeros and ones A saw pattern is a counter from zero to max A triangle wave is a counter that goes back after hitting max or min values A sine wave is just some CORDIC… Now, we will not be using CORDIC and will not be doing simple counters. I want to show you a couple of tricks to generate a clean sine waveform that you can later compose to create more fancy sounds. ...

June 15, 2025 · Daniel Blackbeard
Picture of some HDL code

Digital audio with I2S

Introduction As you perhaps know, I’m working on this blog also as a way to log my learning journey. So, to support the lack of interesting peripherals on the Arty A7, I bought a set of modules for Arduino. Most of them quite uninteresting, but I got this I2S DAC module from Adafruit that implements the UDA1334A from NXP (datasheet). This device interest me the most among the ones I got from the assortment, because since I was a kid I wanted to make my own guitar effects (in fact, I believe many electronic engineers are born this way or similar), so the end goal is quite ambitious as you can see. But let’s start from something easy. ...

June 8, 2025 · Daniel Blackbeard
Picture of some HDL code

What Is HDL? The explanation you did not requested

Introduction If you are a hardware engineer you need no explanation though, this is more for the programming guys who attempt to make things with an FPGA in the belief that is the next step of Arduino (I do think that though, so no judgment made here) As someone who wrote a lot of code in my young age (still loving fiddling with Linux kernel), I’m lucky I got the purpose of HDL. ...

May 27, 2025 · Daniel Blackbeard
Digilent Arty A7 board connected

Blog introduction

Let me be brief, as this is just to fill the emptyness of a newly created blog: I want to learn new skills and take notes that can be shared with people in the hope they will find useful as well. In this blog I have the plan to showcase my personal projects on electronics and perhaps other fields, maybe adding some of the knowledge I have accumulated in the last years in the field (if it doesn’t break any NDA, of course). ...

May 25, 2025 · Daniel Blackbeard