SiliconWit.COM SiliconWit.COM
Ian Kigen's avatar

Ian Kigen

VLSI and Digital Design Engineer

IC design engineer working across digital RTL, verification, and VLSI implementation, from Verilog to silicon.

About Ian Kigen

Ian Kigen is an IC design engineer with a focus on digital RTL design and verification in Verilog and VHDL, analog and mixed-signal IC design, and physical design for VLSI implementation. His current work explores a frequency synthesizer DPLL in 130nm technology. At SiliconWit he leads the FPGA and Digital Design with Verilog course, bridging digital logic, FPGA hardware, and the ASIC flow.

Focus

🎨 Digital RTL Design and Verification (Verilog, VHDL)
🎨 Analog and Mixed-Signal IC Design
🎨 Physical Design and VLSI Implementation
🎨 FPGA Design

📚 Education Contributions

Fpga Digital Design Verilog

Building a Mini CPU

Design a tiny instruction set and build the processor that executes it. Encoding instructions, the datapath with a register file and ALU, the fetch, decode and execute control FSM, and hand-assembling a program loaded with readmemh. Verified running a real loop.

Published: June 19, 2026

verilogfpgacpudatapathaluregister-fileinstruction-setfsm

Building MCU Peripherals

Build the blocks a microcontroller hands you for free. A PWM generator from a counter and a comparator, a UART transmitter and receiver with baud-rate division and mid-bit sampling, and an SPI master built from a shift register. All verified in simulation.

Published: June 19, 2026

verilogfpgapwmuartspiperipheralsshift-registerbaud-rate

First Design on a Real FPGA

Take a design off the simulator and onto hardware. What is inside an FPGA, the open toolchain from Verilog to bitstream, pin constraint files, and reading a timing report. Blink an LED and count debounced button presses on a real board.

Published: June 19, 2026

fpgaverilogyosysnextpnrtang-nanoice40bitstreamtimingdebounce

FPGA and MCU Co-design

Partition a real system between an FPGA and a microcontroller. Comparing FPGAs, MCUs and DSPs, soft cores and system-on-chip, worked partitioning of a motor-control example, and building an SPI register interface between the two, with the honest case for not using an FPGA at all.

Published: June 19, 2026

fpgamcuco-designspisocsoft-corerisc-vpartitioningverilog

From FPGA to ASIC with Sky130 and LibreLane

Take your Verilog all the way to a manufacturable chip. The ASIC flow from RTL through synthesis, floorplan, place and route, to GDSII, using the open Sky130 process design kit and LibreLane. Push an earlier design through the flow and read the results honestly.

Published: June 19, 2026

asicrtlsky130librelaneopenlanegdsiisynthesisplace-and-routeverilogfpga

Memory, FIFOs, and Clock Domain Crossing

Store and buffer data inside an FPGA, and move it safely between unrelated clocks. Inferring block RAM, building a synchronous FIFO, why metastability makes one flip-flop insufficient, the two-flop synchroniser, and a Gray-coded dual-clock FIFO verified across two unrelated clocks.

Published: June 19, 2026

verilogfpgablock-ramfifoclock-domain-crossingcdcmetastabilitygray-code

Simulation and Testbenches

Prove a design works before you build it. Testbench structure, applying stimulus, self-checking assertions, dumping waveforms, and reading them in GTKWave. Write self-checking testbenches for the adder and counter from Lesson 1.

Published: June 19, 2026

verilogtestbenchsimulationgtkwaveicarus-verilogverificationfpga

State Machines in Verilog

Design circuits that remember where they are. Finite state machines, Moore versus Mealy outputs, binary and one-hot encoding, and the two-block coding style. Build and verify a traffic-light controller, and fix the timing bug almost everyone writes first.

Published: June 19, 2026

verilogfsmstate-machinemooremealysequential-logictraffic-lightfpga

Verilog Fundamentals

Write your first Verilog modules and understand what they become in hardware. Ports, wire versus reg, the three modelling styles, combinational and sequential logic, hierarchy, and the blocking versus non-blocking rule. Build logic gates, a 4-bit adder, and a counter, then simulate them.

Published: June 19, 2026

veriloghdlrtldigital-designiveriloggtkwavefpgacombinational-logicsequential-logic
Analog Electronics

Sensors and Signal Conditioning

Build complete analog signal conditioning chains for real-world sensors. Learn thermistor, LDR, and strain gauge circuits. Understand the Wheatstone bridge, instrumentation amplifier, and how to prepare sensor signals for MCU ADC input.

Published: March 10, 2026

analog-electronicssensorssignal-conditioningthermistorwheatstone-bridgeinstrumentation-amplifieradc

Oscillators and Timing Circuits

Build oscillator and timing circuits using the 555 timer IC. Learn astable and monostable modes, calculate frequency and duty cycle, understand crystal oscillators, and drive a buzzer at a precise frequency.

Published: March 9, 2026

analog-electronics555-timeroscillatorcrystal-oscillatorastablemonostabletiming

Filters and Frequency Response

Design low-pass, high-pass, and band-pass filters using RC circuits. Calculate cutoff frequencies, understand Bode plots, and build an anti-aliasing filter for ADC inputs. Learn first-order and second-order filter behavior.

Published: March 8, 2026

analog-electronicsfilterslow-passhigh-passband-passbode-plotcutoff-frequencyanti-aliasing

Power Supply Design

Design reliable power supplies for microcontroller projects. Compare linear and switching regulators, understand LDO dropout voltage, calculate ripple and decoupling requirements. Build a 3.3V regulated supply from a 9V battery.

Published: March 7, 2026

analog-electronicspower-supplyvoltage-regulatorldolm1117decouplingripple

Operational Amplifiers

Master op-amp configurations: inverting, non-inverting, buffer, comparator, and differential amplifier. Build a signal conditioning circuit that amplifies a thermistor signal for ADC input on a microcontroller.

Published: March 6, 2026

analog-electronicsop-ampamplifiersignal-conditioninglm358comparator

Transistors as Switches and Amplifiers

Learn how BJT and MOSFET transistors work as switches and amplifiers. Drive motors, relays, and high-power LEDs from low-current MCU GPIO pins. Understand saturation, cutoff, and the active region.

Published: March 5, 2026

analog-electronicstransistorsbjtmosfetswitchingamplifiermotor-driver

Diodes, Rectifiers, and Protection Circuits

Understand diode operation, forward and reverse bias, rectifier circuits, Zener voltage regulation, and flyback protection. Build a half-wave rectifier and test flyback diode protection on a relay circuit.

Published: March 4, 2026

analog-electronicsdiodesrectifierzenerflybackprotection-circuits

Capacitors, Inductors, and RC/RL Circuits

Understand capacitors and inductors as energy storage elements. Learn time constants, charging and discharging curves, and RC/RL circuit behavior. Build an RC filter on a breadboard and measure the time constant.

Published: March 3, 2026

analog-electronicscapacitorsinductorsrc-circuittime-constantfiltering

Voltage, Current, and Resistance

Learn the three fundamental quantities of electronics: voltage, current, and resistance. Master Ohm's law, Kirchhoff's laws, power dissipation, and series/parallel resistor networks. Build voltage dividers and LED circuits on a breadboard.

Published: March 2, 2026

analog-electronicsohms-lawvoltage-dividerkirchhoffresistorsled-circuit
Digital Electronics

Introduction to Microcontroller Architecture

Explore Von Neumann and Harvard architectures, the CPU pipeline, ALU, registers, stack, program counter, and interrupt vector table. Trace what happens when you write int x = 5 down to the assembly level. Understand why GPIO registers live at specific memory addresses.

Published: March 10, 2026

microcontroller-architecturevon-neumannharvardalucpu-pipelineinterrupt-vectordigital-electronics

ADC and DAC Fundamentals

Understand successive approximation ADC, resolution, quantization error, and the Nyquist sampling theorem. Explore R-2R ladder DACs and PWM as a pseudo-DAC. Learn what happens inside the 12-bit ADC of your STM32 when it converts an analog voltage.

Published: March 8, 2026

adcdacsuccessive-approximationnyquistpwmr2r-ladderdigital-electronics

Bus Architecture and Communication Interfaces

Understand SPI, I2C, and UART at the signal level. See clock polarity, data framing, acknowledge bits, and baud rates. Learn the difference between parallel and serial buses and how each protocol works at the wire level.

Published: March 7, 2026

spii2cuartbus-architectureserial-communicationdigital-electronics

Memory: SRAM, Flash, EEPROM

Understand how SRAM cells store your variables, how Flash uses floating gates to hold your program, and how EEPROM provides byte-level non-volatile storage. Explore address buses, data buses, read/write cycles, and memory maps.

Published: March 6, 2026

sramflasheeprommemory-mapaddress-busdata-busdigital-electronics

Counters, Timers, and Frequency Dividers

Build ripple counters, synchronous counters, up/down counters, and frequency dividers with 74HC series ICs. See how the timer/counter peripherals inside every microcontroller work at the gate level.

Published: March 5, 2026

countertimerfrequency-dividerprescaler74hc393digital-electronics

Flip-Flops, Latches, and Registers

Build SR latches, D flip-flops, JK flip-flops, shift registers, and parallel load registers. Drive 8 LEDs from 3 MCU pins using the 74HC595 shift register. Understand how SPI and serial communication work at the hardware level.

Published: March 4, 2026

flip-floplatchshift-register74hc595sequential-logicdigital-electronics

Combinational Logic: Multiplexers, Decoders, Adders

Build multiplexers, demultiplexers, decoders, encoders, and binary adders from logic gates. Understand how these circuits form the foundation of address decoding, data routing, and arithmetic inside every microcontroller.

Published: March 3, 2026

multiplexerdecoderaddercombinational-logicdigital-electronics

Logic Gates and Boolean Algebra

Build AND, OR, NOT, NAND, NOR, and XOR circuits with 74HC series ICs on a breadboard. Verify truth tables with LEDs. Apply De Morgan's theorems and simplify Boolean expressions. See how bitwise C operators map directly to physical gates.

Published: March 2, 2026

logic-gatesboolean-algebratruth-tablesde-morgan74hc-seriesdigital-electronics

Binary, Hex, and Number Systems

Learn binary counting, hexadecimal notation, BCD, and two's complement signed integers. Convert between number bases and read MCU register values in hex. Understand what each bit means when you write to a GPIO register.

Published: March 1, 2026

binaryhexadecimalnumber-systemsbcdtwos-complementdigital-electronics

Contribution Stats

54
Authorship SSU
2026
Member Since
Kenya
Location
27
Education Contributions

Connect & Follow