I built a hardware processor that runs Python

https://news.ycombinator.com/rss Hits: 6
Summary

πŸ§ͺ GPIO round-trip at 480ns Python, in hardware. 480ns GPIO. No interpreter. No C. Just PyXL. TL;DR ⚑ PyXL runs Python directly in hardware β€” no VM, no OS, no JIT. πŸ§ͺ A GPIO roundtrip takes 480ns on PyXL vs. ~15,000ns on PyBoard (MicroPython). πŸ“‰ PyXL is 30x faster than MicroPython β€” or 50x when normalized for clock speed. πŸŽ₯ The video demo shows both systems in action on real hardware. πŸ’‘ This isn't a C trick β€” it's actual Python executed in silicon. 🎯 Deterministic timing, real-time behavior, and sub-microsecond precision β€” in Python. πŸ”— More at runpyxl.com β€” contact link at the bottom. What is PyXL? PyXL is a custom hardware processor that executes Python directly β€” no interpreter, no JIT, and no tricks. It takes regular Python code and runs it in silicon. A custom toolchain compiles a .py file into CPython ByteCode, translates it to a custom assembly, and produces a binary that runs on a pipelined processor built from scratch. What PyXL is not ❌ Not a native C or inlined loop ❌ Not MicroPython or JIT ❌ Not running Linux or any OS It's a real processor for Python, built for determinism and speed. Where does it run? PyXL runs on a Zynq-7000 FPGA (Arty-Z7-20 dev board). The PyXL core runs at 100MHz. The ARM CPU on the board handles setup and memory, but the Python code itself is executed entirely in hardware. The toolchain is written in Python and runs on a standard development machine using unmodified CPython. Wait β€” what’s a GPIO? GPIO stands for General Purpose Input/Output. It’s a simple hardware pin that software can read from or write to β€” a way to control the outside world: LEDs, buttons, sensors, motors, and more. In MicroPython (like on the PyBoard), your Python code interacts with C functions that handle hardware registers underneath. It’s reasonably fast, but still goes through a Python VM and a software stack before reaching the pin. PyXL skips all of that. The Python bytecode is executed directly in hardware, and GPIO access is physically wired to the proces...

First seen: 2025-04-28 13:19

Last seen: 2025-04-28 18:20