FPGA Design for Software Engineers, Part 4 - Docker Builds

As I mentioned in the last the last blog post I recently switched my laptop over to using Linux as my main OS from Windows 10. As part of that I was going through setting up all of my build tools for various projects and I realized the FPGA build system was a bit more cumbersome than it needed to be and utilizing docker, it could be made more developer friendly.

Read More

Switching to Kubuntu 20.10 as primary OS

About a week ago, I decided to give another go at using Linux as my primary OS. This came about after my brother mentioned he had recently done the same and was really enjoying it. I’ve used Linux as my main OS a few times before, along with MacOS a few times as well, but I always ended up back to using Windows. Recently with WSL I had less cause to need Linux directly, but a couple of things spurred me on to reconsider.

Read More

FPGA Design for Software Engineers, Part 3 - Seven Segment Displays

Last time we took a break from Verilog and hardware design to improve our build system. This time we’re back to Verilog and for our next FPGA project we’ll create a seven segment driver circuit that will allow us to output hex characters to a single display.

A seven segment display is a set of LEDs arranged like an eight plus a decimal point like you see on cheap alarm clocks and the like.

A typical seven segment display

Read More

FPGA Design for Software Engineers, Part 1 - Verilog and State Machines

Over the last few years I’ve gotten more interested in electronics and FPGA design. I’ve also noticed that a lot of other software folks seem interested in doing the same, but often don’t know where to start. So, I think I have some interesting advice for software engineers that feel like dipping their toes into the hardware world from the point of view of a software engineer.

In this post I’ll go over FPGAs in general, the basics of the Verilog language, simulating a design and deploying it to an inexpensive TinyFPGA-BX board.

Read More

Bitfield widths in C/C++ structures

Recently, I learned about a feature in C and C++ that I hadn’t run into before: bit widths for fields in structures. The idea is that you can specify how many bits a particular field should have allocated to it. For example, you can have a field that is only 5 bits wide and therefore only takes values in [0, 32). You could then have a field that is 3 bits wide that is placed next to the first field in memory.

Read More

Passive and Active, Consuming and Producing

I was thinking recently about the different things I choose to do in my free time and which ones bring me the most enjoyment. I tend to have too many hobby projects going on at once and every three months or so, I naturally tend to cycle around. I realized I enjoyed my time the most when I had something to show for it: a written blog post, a finished circuit on a breadboard, or some module written towards some software project.

Read More

Wx 3.1 with embedded SFML 2.5 control

I’ve been working on a project where I wanted to embed an SFML drawing context in a wxWidgets window. I wanted to be able to write a GUI application, but didn’t want to have all of the UI be embedded within the SFML window using something like imgui. I thought it could be useful to others to have a simple example of how to do the same thing. Simple Example version I took the code from the SFML 1.

Read More

Electronics and great technical books on archive.org

I’ve been away from blogging for a few months and haven’t had much time for personal projects either. I recently moved from Vienna back to the US, now living in Denver. So far I’m loving it; it’s nice to come back after a number of years abroad, even if I will miss many parts of life in Europe. Getting into Electronics I’ve recently gotten into electronics more deeply than I’ve had a chance to do before.

Read More

Learning the Jouyou Kanji

I love learning languages and I’ve always had a soft spot in my heart for Japanese. I didn’t start out being good at learning languages. In fact I was pretty terrible. I’m not a polyglot or anything, but you tend to hear that same sentiment from most people online that have learned a second langage later in life. For instance, I took four years of Spanish in high-school but could still barely order a taco and a drink when push came to shove.

Read More