I’ve been on a quest for the last 20 years to simplify how we make analog circuits.

I can’t say I’ve succeded yet, but that’s not the point, it’s an interesting path to walk.

Along the way I’ve created some tools.

ciccreator

I got an opportunity to do a part-time Post.doc. I’d just finished a couple SAR ADC designs for nRF52, and I never wanted to draw layout, or indeed schematics of a SAR again. I thought there must be a better way. Especially porting to another technology was an abhorrent thought.

ciccreator (or just cic) was the result. A tool for compiling a type of SAR ADCs in multiple technology nodes.

cic is best suited for creating technology independant cells (comparator, capacitors, boot-strapped switches, simple logic), and it does so in seconds.

I wrote cic in C++ because there is lot’s of polygon pushing, and I wanted lighting speed.

cicpy

cic outputs a JSON file that needs to be transpiled into another format (Cadence, Magic, SPICE) in order to be sendt to the foundry. That’s what cicpy is for.

I choose to write the transpiling of cic output in python because it’s not necessary with the speed of C++

cicsim

cicsim started as a tool to control Cadence Spectre and run corner simulations and result processing, however, during 2022 it transformed into controlling ngspice.

I learned of the SkyWater 130 nm Open PDK, and went all in.

Eleven years of it

Cumulative commits per repository, 2015–2026 ciccreator 689, cicpy 449, cicsim 312, cicwave 18. Cursor's launch (Mar 2023), Cursor 2.0 (29 Oct 2025) and Claude Opus 4.6 (5 Feb 2026), 4.7 (16 Apr 2026) and 4.8 (28 May 2026) are marked as vertical rules.

Commits on ciccreator, cicpy, cicsim and cicwave — the waveform viewer — by author date. Marked along the way: the launch of Cursor in March 2023 and Cursor 2.0 in October 2025, then Claude Opus 4.6, 4.7 and 4.8 through the spring of 2026. The marks are dates, not claims of cause.