Skip to main content

dau core ip

Project description

dau core

dau core ip

Build Status codecov License PyPI

Overview

dau-core owns DAU hardware-facing contracts and reusable IP:

  • Register-map and protocol version models.
  • Stream job trigger/status register contract for host-started aggregation jobs.
  • Arrow-lite stream framing (BatchHeader, ColumnDescriptor, OperationDescriptor).
  • Capability and DMA constraint models.
  • Golden aggregation semantics.
  • Canonical HDL sources packaged as importable resources.

Current HDL Assets

  • dau_core/hdl/dau_int32_aggregation_tile.sv: raw INT32 valid/ready aggregation tile.
  • dau_core/hdl/dau_int32_stream_aggregation.sv: descriptor-level stream wrapper around the tile.
  • dau_core/hdl/dau_int32_arrow_lite_stream_aggregation.sv: packed 64-bit Arrow-lite stream reader, aggregator, result writer, and status reporter for one INT32 column and one operation.
  • dau_core/registers.py: DAU identity/status registers plus the job-control/status offsets used to start an aggregation, publish busy/done/error state, report error codes, and expose input/result buffer locations.
  • dau_core/stream.py: operation/logical-type contracts plus shared StreamAggregationErrorCode values used by simulation and HDL-facing checks.

Stream Job Register Contract

The first hardware aggregation job contract reserves the DAU register window at 0x1000. Hosts write input address/length, output address/length, and operation metadata, then start work by writing bit 0 of JOB_CONTROL at offset 0x0050. Hardware reports IDLE, BUSY, DONE, and ERROR through JOB_STATUS at 0x0054; LAST_ERROR carries the stream/tile error code. The default staging layout uses input buffer base 0x00000000, output/result buffer base 0x00100000, 1 MiB for each staging region, and 136 bytes for the current packed Arrow-lite scalar result stream.

Verification Surface

  • dau_core/tests/test_stream.py: stream framing and error-code contract checks.
  • dau_core/tests/test_aggregation_tile_hdl.py: packaged HDL text-contract checks.
  • dau-sim consumes these contracts in real cocotb-on-Verilator benches and standalone Verilator SystemVerilog benches.

Near-Term Direction

  • Keep contracts versioned and explicit while growing from packed stream simulation toward DDR/register integration.
  • Ensure stream error-code behavior remains synchronized across HDL, dau-core models, and dau-sim tests.

[!NOTE] This library was generated using copier from the Base Python Project Template repository.

Project 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_core-0.1.0.tar.gz (21.7 kB view details)

Uploaded Source

Built Distribution

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

dau_core-0.1.0-py3-none-any.whl (27.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for dau_core-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6facd85b20188f6bc7de974da54a8ac473115a3ee44266d9aad2dd3d730498c3
MD5 07139ce06c8157f0a56ef6e8e2cca08c
BLAKE2b-256 72bb75d3d3e6d2711a3cf0427fde34cf55e4fb430dca0d0e4f2d1bdce027e86e

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dau_core-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7f246a1872c01d0de47f82751e0573408a9cd5125d6fcd88d5f8ac3e7d84b10c
MD5 e034e8c5e8f107df64faadb2ca5a08cd
BLAKE2b-256 c283ae81d7e3c8f42b93540bc89c05eb740ac0e863debe47f5a08e88abb7ce12

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 Pingdom Monitoring Sentry Error logging StatusPage Status page