Skip to main content

dau sim

dau simulator

Build Status codecov License PyPI

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:

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)

Source distribution for dau-sim 0.2.0
File Size Uploaded
dau_sim-0.2.0.tar.gz 155.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dau-sim 0.2.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page