Discovering LiteX: Building SoCs Like LEGO

If you’ve ever tried to build a microprocessor from scratch, you know it’s a battlefield full of hazards, memory control, and instruction handling. A true digital mess. In the middle of that chaos, I came across a tool that completely changed the way I see FPGA development: LiteX. What is LiteX? LiteX is a framework for designing SoCs (System on Chip) on FPGA, transforming the process into something like assembling LEGO blocks: you pick a processor, add controllers, memory, peripherals, and done!...

May 20, 2025 · 4 min · Fabian Alvarez

Design of a RISC-V Microprocessor with GPIO Integration

Introduction to RISC-V and the 32I Instruction Set RISC-V is an open and free instruction set architecture (ISA) that has gained significant popularity in microprocessor design due to its flexibility and efficiency. Unlike proprietary architectures, RISC-V allows developers and researchers to create custom processors without licensing restrictions. What is RISC-V? RISC-V is an architecture based on the Reduced Instruction Set Computing (RISC) principle, meaning it uses a simplified instruction set to improve hardware efficiency....

February 18, 2025 · 2 min · Fabian Alvarez

HDMI Output with LiteX on the Tang Nano 9K

HDMI output on FPGA platforms is a powerful way to generate real-time graphics directly from custom hardware. In this article, we’ll explore how to implement HDMI output using the LiteX framework on the Tang Nano 9K, a low-cost FPGA with impressive versatility. I’ve already written a guide on how to get started with LiteX and build a basic SoC in the previous post. 🧱 HDMI Architecture in LiteX By default, the tangnano9k....

May 25, 2025 · 3 min · Fabian Alvarez

First Steps in RISC-V Microcontroller Development

Selection of Hardware and Development Tools In this second article of the series, I will begin with the first steps in developing a RISC-V 32I-based microcontroller. For this, I have decided to use a Tang Nano 20K as the implementation platform. However, depending on resource usage, I might consider switching to a Tang Nano 9K if it meets the design requirements. Since the selected FPGA belongs to the Tang Nano family, this limits the development environment to compatible tools....

February 19, 2025 · 2 min · Fabian Alvarez

Linux on LiteX: Building a SoC with Buildroot and Tang Nano 20K

One of the key goals when working with embedded systems is to run an operating system (OS), and there’s one that stands out—especially being free and open-source: Linux. Plus, there are plenty of tools that help us tailor it to our needs. Limitations of the Tang Nano 20K The Tang Nano 20K has quite a few limitations in terms of FPGA resources, which is understandable given its low cost. The main one is RAM: we can only generate a maximum of 8 MiB, so our Linux system needs to be conservative....

June 12, 2025 · 5 min · Fabian Alvarez