dau sim
dau simulator
Overview
dau-sim simulates digital hardware designs using csp's reactive stream processing engine. Hardware signals become CSP time-series edges, combinational logic becomes CSP nodes, and clock domains become CSP clock processes — giving you cycle-accurate simulation with deterministic event scheduling and multi-clock support.
Supported inputs:
- Amaranth HDL — Python-native hardware description
- SystemVerilog / Verilog — via pyslang
- Hand-constructed IR — for programmatic design generation
Output formats: VCD (IEEE 1364-2001) waveform files, with FST and live streaming planned.
Installation
pip install dau-sim
For development:
git clone https://github.com/dau-dev/dau-sim.git
cd dau-sim
pip install -e ".[develop]"
Quick Start
from amaranth.lib import wiring
from amaranth.lib.wiring import In, Out
from amaranth.hdl import Module
from dau_sim.frontends import from_amaranth
from dau_sim.compiler import compile_module
class Counter(wiring.Component):
en: In(1)
count: Out(8)
def elaborate(self, platform):
m = Module()
with m.If(self.en):
m.d.sync += self.count.eq(self.count + 1)
return m
cm = compile_module(from_amaranth(Counter()))
traces = cm.run(cycles=20, inputs={"en": 1})
cm.write_vcd("counter.vcd", traces)
Documentation
| Topic | Description |
|---|---|
| Amaranth | Simulating Amaranth HDL designs |
| Verilog / SystemVerilog | Simulating SV/V designs and hand-built IR |
| cocotb | Running cocotb testbenches against dau-sim |
| CLI | Command-line interface reference |
| Architecture | Pipeline and internal design |
| API Reference | Full API tables |
| Benchmarks | Performance numbers and execution modes |
License
This project is licensed under the Apache 2.0 License — see LICENSE for details.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dau_sim-0.2.0.tar.gz.
File metadata
- Download URL: dau_sim-0.2.0.tar.gz
- Upload date:
- Size: 155.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb548b4dd9174af31aeebb6ea67c6bc43b6e66529d4d9bb1c5d951cc7256bb05
|
|
| MD5 |
4a6fd385086f83400298004abf062f39
|
|
| BLAKE2b-256 |
db48d9aea64f05d10e0ea8bcd754842beb2d37f495a514fec4a434232a141e20
|
File details
Details for the file dau_sim-0.2.0-py3-none-any.whl.
File metadata
- Download URL: dau_sim-0.2.0-py3-none-any.whl
- Upload date:
- Size: 156.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab9b9203e406dbc35c7b5d81e7c63109ee38862cbf884b6ee26b160bb32c4ed4
|
|
| MD5 |
c504bebec35fb493598ead0a63e7d1f5
|
|
| BLAKE2b-256 |
c93918e4aa142b4428ca93387ae4eefa0e7ac73b96bb2e30ff385141848aa76b
|