
This post walks through the complete optimization journey of a single-issue pipelined RV32I core, from a plain five-stage implementation all the way to a …


This post walks through the complete optimization journey of a single-issue pipelined RV32I core, from a plain five-stage implementation all the way to a …

Computing sin(x), cos(x), arctan(x), e^x, and ln(x) in hardware is not as obvious as it sounds. Software on a general-purpose CPU offloads these to a …

Simulation tells you what happened in the cases you thought of. Formal verification tells you what happens in every case that can ever occur. That difference …

If you have spent any time doing RTL development, you have probably dealt with the nightmare of managing HDL source lists manually. passing filelist arguments …

Getting PYNQ running on the original Zybo takes more work than the official documentation suggests, because the official documentation does not target this …

High-level synthesis takes a C or C++ function and produces synthesizable RTL from it. Vitis HLS and the older Vivado HLS are the dominant tools in the Xilinx …

Machine learning in physical design (PD) is not about replacing routing or timing engines. It is about predicting expensive post-route outcomes earlier in the …

An ADC is the interface between the physical world and computation. The choice of architecture determines not just the achievable resolution and speed, but the …

Classical robotic systems are built as pipelines. A perception module estimates the state of the environment. A planner reasons over that state and produces a …

A register file is one of those structures that looks trivial until you actually build one. The concept is simple: a small block of fast storage inside a …

The multiply-accumulate operation $$ Y \leftarrow Y + (A \times B) $$is the computational primitive at the center of digital filters, CNN inference, matrix …

A CMOS operational amplifier is a multi-stage analog circuit that achieves high voltage gain, high input impedance, and controlled frequency response through a …

In software, numeric representation is an abstraction you rarely have to think about. The compiler handles it, the hardware handles it, and the behavior is …

RISC-V is not automatically better than ARM or x86 for every product. It is better when you need architectural control: choose only the ISA features you need, …

Turning RTL into a working chip is not a single transformation. It is a sequence of steps, each of which narrows the design from an abstract description of …

ROS 1 reached end of life in May 2025. Its final release, Noetic Ninjemys, no longer receives patches or updates. For new projects, the answer is ROS 2. For …

The central question in autonomous vehicle perception is how much of the sensing work to assign to cameras and learned models, and how much to delegate to …

A mobile robot navigating an unknown environment faces two problems that are coupled in a way that makes each one unsolvable without the other. To localize …

Thistlethwaite’s algorithm, covered in the previous post, established the foundational idea: partition the cube group G into a chain of nested subgroups …

The previous post established the mathematical structure of the Rubik’s Cube: a non-abelian group of order 43,252,003,274,489,856,000, where each element …

The previous post described how humans approach the cube through staged reduction: fix one subgroup of pieces, then the next, until nothing remains. That …

Knowing the mechanics of the cube from the previous post is the foundation. Now the question is how to actually solve it – and more specifically, what …

Before you can think about solving the cube algorithmically, you need to know what you are actually working with. The physical structure of the cube is not just …

Puzzles look like entertainment, but they are one of the best ways to train structured thinking. At a technical level, every puzzle is the same core problem: …

Last year I missed ROSCon India because of exams. This year I finally attended ROSConIN'24 at IISc Bangalore, and it ended up being one of the most useful …

Hello, and thanks for visiting. I am Jagadeesh, an undergraduate at NIT Calicut, and this blog is where I document what I build and learn. I know no one would …