|
I design silicon chips and build the tools to work with them — from PDK-level schematic simulation to semantic version control for EDA files. On the software side I work with low-level C/C++ systems and Python research pipelines. I bridge the gap between hardware and machine intelligence. When not taping out, I train agents in Unity ML-Agents, build reinforcement learning environments, and prototype interactive VR/AR simulations.
|
|
"git diff, but for chips"
A semantic diff engine for IC design files built in Rust. Instead of comparing raw text, riku parses schematics at the component level — detecting added/removed/modified devices, nets, and connections across Git history.
riku schematics (git)> diff HEAD~1 HEAD op_amp.sch
Archivo: design/op_amp.sch (xschem)
Cambios: 3
added M5
removed R2
modified C1 [cosmético]
Architecture & tech
- Parser: PEG grammar for Xschem
.schfiles with full symbol resolution - Backend:
git2for direct blob/commit access without forking a process - Renderer: SVG annotator with color-coded diffs (added · removed · modified · cosmetic)
- Formats:
text·json(CI-ready) ·visual(dual-panel HTML) - Shell: Interactive REPL with command history (
rustyline) - PDKs supported: sky130A
- Tests: 9 integration + 13 stress/performance tests
Rust git2 EDA sky130 xschem SVG
"Open your chip schematics in the browser — no tools installed"
A browser-based viewer for Xschem .sch schematic files. Built with a PEG parser and a native SVG renderer — zero server-side dependencies, runs entirely client-side.
Architecture & tech
- Parser:
peggy+ts-pegjs— full PEG grammar for the Xschem format - UI: SolidJS + pan/zoom (
panzoom) - Build: Vite 6
PEG VLSI ASIC Browser
"Upstream fixes for OpenRAM on the sky130A PDK"
Patches and corrections for OpenRAM targeting the sky130A process design kit. Addresses layout and DRC issues that block SRAM generation on open-source CMOS flows.
Python OpenRAM sky130A SRAM PDK DRC
"Training agents that learn to move, decide, and survive"
A collection of custom Unity environments designed for reinforcement learning research and machine learning experimentation:
| Environment | Type | Description |
|---|---|---|
entorno RL |
Reinforcement Learning | Custom RL training arena |
ML Agentes pruebas |
ML-Agents | Unity ML-Agents integration experiments |
REINFORCE |
Policy Gradient | REINFORCE algorithm implementation |
PLC_VR_iteration |
VR Simulation | Industrial PLC logic in virtual reality |
realidad_aumentada |
AR | Augmented reality prototype |
pruebas de algoritmos generativos |
Procedural | Generative algorithm testing |
Beyond research environments, built +15 interactive games and simulations: isometric games, 2D platformers, multiplayer prototypes, ragdoll physics, and UI systems.
Unity C# ML-Agents Reinforcement Learning VR AR Procedural Generation
┌─────────────────────────────────────────────────────────────────────┐
│ │
│ C / C++ ████████████████████████ Expert │
│ IC DESIGN / EDA ████████████████████████ Expert │
│ C# / Unity / RL █████████████████████░░░ Advanced │
│ Python 3 / ML ████████████████████░░░░ Advanced │
│ NLP ████████████████░░░░░░░░ Proficient │
│ Rust ████████░░░░░░░░░░░░░░░░ Learning │
│ │
└─────────────────────────────────────────────────────────────────────┘
Open to collaboration on EDA tooling, ML research, and systems programming.