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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dau_sim-0.1.0.tar.gz (154.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dau_sim-0.1.0-py3-none-any.whl (154.8 kB view details)

Uploaded Python 3

File details

Details for the file dau_sim-0.1.0.tar.gz.

File metadata

  • Download URL: dau_sim-0.1.0.tar.gz
  • Upload date:
  • Size: 154.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for dau_sim-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e8c74079fb914bc482580b836a7f0a6668435cb6e600a00a2e900d67a832fe30
MD5 567f3a8e7281995cf8cc6c4b09fcb9de
BLAKE2b-256 18422b6d7cc3c77e3629b1c1089f472a9e374d3fd51eb00e6f980c7af931953a

See more details on using hashes here.

File details

Details for the file dau_sim-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: dau_sim-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 154.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for dau_sim-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7bccdaae61cf51e400dd0fc0ce0106c403e3cb765afbf11567c97ab1e67e9156
MD5 3c409157b17f43907992589f2391f459
BLAKE2b-256 3ef32a9fd82997eefe151023ffd8b0109fe74351c4ab044d7cd7142a8e5af760

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page