🌄🌱👑’s 🌌

🌄🌱👑’s 🌌

  

ai backpropagation blog cadence car chiplets claude deep learning digital design dns docker ece4524 email git ic latex layernorm linux liveness-analysis llm mac machine learning matplotlib memory microsoft office nginx notes on-chip-training pdf physical-design place-and-route programming python pytorch research rtl sram svg synthesis transformer verilog visualization vt wordpress

  • git Note

    I’ve always trying to summarize an article of how to use git, but there has been a lot of resistance of doing so, one reason is that there are sufficient material that have enough info of how to use git. Although they provide a very detailed info regarding how to use git, I or beginners…

  • Torch Visualized: The Operations

    Fifty PyTorch tensor operations, one 3D figure each: input and output superimposed at a shared origin, with the runnable call and the shape change on every page.

  • Train a Transformer on Silicon: #3 The Memory Is the Chip

    v0’s die was 85% SRAM. H01 packs the flat memory map with liveness analysis and an early-SGD reschedule — 145,952 words down to 90,896, the die from 6.99 to 4.55 mm², 35% smaller — without changing one logic gate. The compute was never the problem; the memory was.

  • Train a Transformer on Silicon: #2 A Decoder Is Just an Encoder with a Mask

    v0 is done: a nanoGPT-faithful decoder layer that trains itself — forward, backprop, and SGD update — bit-exact against a golden model and taken to a clean 45 nm layout. The compute fit in 0.117 mm² of logic; the memory took 85% of the die.

  • Train a Transformer on Silicon: #1 Backprop on a Chip

    Most AI chips run a model someone else trained; this one does the training itself — forward pass, backpropagation, and weight update, in fixed-point RTL, all the way down to a 45 nm layout.

  • Publication-Quality Chip Layout Figures from Innovus, Headlessly

    Innovus has no vector export and its GUI screenshots don’t scale. Here’s a fully scripted pipeline: a headless 16,000-pixel render, block coordinates pulled from the P&R database, a zero-residual pixel-to-micron calibration, and a matplotlib wrapper that turns it all into a self-describing PDF/SVG figure.

  • Benchmarking 17 AI Models on Razavi’s Analog Design Questions

    I re-ran Behzad Razavi’s ‘Analog Mind’ LLM experiments across 17 model configurations, with a controlled anonymized grader and ngspice as the referee. The methodology moved scores as much as the models did.

  • One Prompt, One Complete IEEE Transactions Project with Claude Code

    A single copy-pasteable prompt that makes Claude Code scaffold a complete IEEE Transactions LaTeX project: main manuscript, S-numbered supplementary materials, a shared author file, and a full revision workflow – with no dependencies beyond a TeX distribution and make.

  • Train a Transformer on Silicon: #0 The Genesis

    Start here — the series hub A short intro to a series where I build a chip that trains a transformer — and document the whole thing, mistakes included. What this is I’m building a digital chip that trains a transformer on-chip — not just runs it, but actually learns: forward pass, backpropagation, and weight…

  • Hello from WP-CLI: KaTeX & Code Block Pro

    This post was created from the terminal with WP-CLI, then edited again from the terminal to add the two elements below — a live equation and a syntax-highlighted code block, both rendered by this blog’s existing plugins. A little math, via the KaTeX plugin Euler’s identity sits inline in the text: . A display equation…

  • Replacing Your Python Script With Another Program: os.execvp

    I wanted a small launcher for Claude Code that read its settings from a YAML file — env vars, flags, working directory, that kind of thing. Something I could version-control and tweak without remembering a 200-character invocation. My first attempt printed the command line. My second attempt was better, and along the way I finally…

  • Cadence IC25.1: “Failed to find licenses Virtuoso_ADE_Artist” and How to Fix the Virtuoso Hotfix Install

    I spent a good chunk of time upgrading Cadence Virtuoso’s optimizer (AOP) from IC25.1 base to the ISR4 hotfix. What should’ve been a routine update turned into two rabbit holes: the optimizer was checking for a license that doesn’t exist on most servers, and the hotfix installer kept dying on symlinks that point to each…

  • Backprop is under the hood

    In 1, the division of . 2 To illustrate why the dot products get large, assume that the components of q and k are independent random variables with mean  and variance . Then their dot product, , has mean  and variance . Vaswani, Ashish, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Łukasz Kaiser, and Illia Polosukhin. “Attention is all…

  • Adding Sections to PowerPoint Files with Python and lxml

    The python-pptx library is great for creating PowerPoint presentations programmatically, but it doesn’t support PowerPoint sections — the collapsible groups you see in the slide panel. This post shows how to add sections by directly manipulating the underlying XML with lxml. The OOXML Structure A .pptx file is a ZIP archive containing XML files. The…

  • How to Make AI Coding Tools Preserve Your File Metadata

    When AI tools like Claude Code edit a file, they typically delete it and write a brand new one. The content is correct, but the file’s metadata — creation timestamp, inode, ownership, permissions, ACLs, extended attributes — is silently destroyed. On a personal project this is a minor annoyance. On a production server with specific…

  • Technical Blog Post Paradigm Shift

    I write technical blog post for example tutorials to help people to handle certain issues, that could contain commands to be run, operations to be performed to solve issues or handle a specific problem, until recently I found out this may not be useful to readers in the AI/AI agent era. I would like to…

Got any book recommendations?