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.
Metadata
Release files for dau-sim 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dau_sim-0.2.0.tar.gz | 155.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dau_sim-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 311.8 kB
Release files / dau_sim-0.2.0.tar.gz
| Download URL | dau_sim-0.2.0.tar.gz |
|---|---|
| Size | 155.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cb548b4dd9174af31aeebb6ea67c6bc43b6e66529d4d9bb1c5d951cc7256bb05
|
|
BLAKE2b-256 checksum How to use checksums |
db48d9aea64f05d10e0ea8bcd754842beb2d37f495a514fec4a434232a141e20
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / dau_sim-0.2.0-py3-none-any.whl
| Download URL | dau_sim-0.2.0-py3-none-any.whl |
|---|---|
| Size | 156.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ab9b9203e406dbc35c7b5d81e7c63109ee38862cbf884b6ee26b160bb32c4ed4
|
|
BLAKE2b-256 checksum How to use checksums |
c93918e4aa142b4428ca93387ae4eefa0e7ac73b96bb2e30ff385141848aa76b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|