PySilicon
PySilicon is an aspirational Python-native framework for designing, simulating, verifying, and synthesizing hardware systems from a single structured specification.
The long-term vision is to make Python the single source of truth for hardware architecture: typed data schemas, transactional interfaces, hardware objects, simulation behavior, testing, synthesis inputs, runtime APIs, and documentation. Rather than treating hardware as a collection of disconnected artifacts, PySilicon aims to unify the flow in one coherent, software-like environment.
The intended ideas behind PySilicon include:
- Typed hardware architecture through explicit hardware objects and transactional interfaces
- Unified Python simulation for functional validation and approximate timing
- Deterministic, AI-assisted synthesis with reproducible, dependency-aware builds
- Software-native hardware consumption through generated Python APIs, docs, examples, and grounded AI assistants
At this stage, PySilicon is still an early project and much of this vision has not yet been fully built. This repository is a place to explore the architecture, prototypes, and design ideas behind that goal.
Getting Started
If you’re new to PySilicon, begin with:
- Installation — how to install PySilicon from source.
- Overview — conceptual background, motivation, and examples.
- Architecture — system design, simulation, synthesis, testing, and generated interfaces.
These pages introduce the core ideas behind PySilicon and how the system fits together.
People
PySilicon is being developed by Sundeep Rangan, a Professor in Electrical and Computer Engineering and Director of NYU Wireless. Sundeep’s research is in wireless communications.
Feedback
The project is very early. We would love to get your feedback – positive or negative.