Zachary Yedidia


Hello! I'm a computer science PhD student at Stanford interested in computer systems, hardware, and compilers.
CV
Publications
Blog
Contact: zyedidia@stanford.edu
zyedidia@gmail.com
GitHub: zyedidia


Notes and guides
SystemVerilog
Circuits and devices
Lagrange multipliers
Entropy
Randomization
Git
Unicode
Useful
Circuit macros - manual - examples
Neovim (my second-favorite editor)
Pandoc
Razavi electronics
Documents
Chisel
CIRCT
Fun
Trivia
TurboTanks
Asteroids (made in Elm)
Snake
Randomly generated music
Text Camera
1111
Library of juggling
Cool boards!
ARM64 Visualization

Projects

Micro: a modern and intuitive text editor. Code Website
Lightweight Fault Isolation: efficient and scalable software sandboxing. Code Paper
Multiplix: a small operating system that runs on cheap AArch64 and RISC-V boards. Code
Knit: a build tool that uses a Make-style rules language intrusively embedded in Lua. Code
Revisor: a hypervisor for writing paravirtualized kernels that only use hypercalls to interact with the host. Code
Riscinator: a RISC-V CPU core with a 3-stage pipeline built with Chisel. Implements the rv32i ISA, with U/M-mode, and a system with UART and GPIO peripherals. Code
Eget: a tool for automatically installing pre-built binaries. Code
GPeg: an incremental PEG parser. Code Paper
Flare: a syntax highlighter built with GPeg. Code
Literate: a flexible literate programming system. Code Website
Generic: a Go library of generic data structures. Code
Perforator: a per-function profiler using perf and ptrace. Code
Rvsym: a small RISC-V symbolic execution engine. Code
Sregx: a tool for parsing/editing files with structural regular expressions. Code
Crypt: a tool for encrypting files. Code