1024-Point Fixed-Point FFT
A radix-2 DIT FFT processor using Q1.15 arithmetic, a reusable butterfly, twiddle ROM, and dual SRAMs, taken through design and physical implementation.
Engineering notebook / 001
I’m Xingcan, an Electrical Engineering student at Columbia. I explore digital design, EDA workflows, and signal processing—and document what I learn along the way.
FOCUS_01
Digital design
FOCUS_02
EDA workflows
FOCUS_03
Signal processing
Selected work / 2024—26
A few engineering threads I’m exploring across EDA, programmable logic, and digital signal processing.
A radix-2 DIT FFT processor using Q1.15 arithmetic, a reusable butterfly, twiddle ROM, and dual SRAMs, taken through design and physical implementation.
A team-built Oregon Trail-inspired game system on a DE1-SoC, with a 640×480 VGA interface and a hardware/software design split.
A sequential multiply-accumulate FIR implementation with fixed-point input, coefficient, and output formats, clock-domain considerations, and a 10 kS/s target.
An individual course assignment comparing sampled Cadence Genus synthesis configurations for a double-precision FPU, with timing and area-delay observations.
A Columbia analog IC course team project designing and evaluating a switched-capacitor amplifier, documented in a collaborative report.
A team proposal for combining LLM-guided search-region selection with a numeric optimizer for VLSI design-flow tuning. This is a proposal, not a completed result.
A quick introduction
My interests live where abstract ideas meet real systems: modeling a signal, describing hardware, then understanding how the pieces behave together.
More about me →Make assumptions visible, then turn them into a design that can be examined.
Work across code, circuits, and tools to see how theory meets implementation.
Use reproducible checks and clear evidence to understand a result.
Write notes so the next person—and future me—can follow the reasoning.
Field notes / Latest writing
Technical walkthroughs and short notes from the things I’m learning.
A framework for making an engineering design flow easier to inspect, reproduce, and improve—without starting from an unverified speedup claim.
A small mental model for describing stream interfaces, latency, and backpressure before writing RTL.
Keep exploring