Skip to main content

HWComponents-ADC

HWComponents-ADC models the area and energy of Analog-Digital Converters (ADCs) for use in analog & mixed-signal accelerator designs.

These models are for use with the HWComponents package, found at https://accelergy-project.github.io/hwcomponents/.

Models are based on statistical analysis of published ADC performance data in Boris Murmann's ADC Performance Survey [1]. The energy model is based on the observation that the maximum efficiency of an ADC is bounded by the sampling rate and the resolution [1], and the area model is based on regression analysis. Estimations are optimistic; they answer the question "what is the best possible ADC design for the given parameters?".

Installation

Install from PyPI:

pip install hwcomponents-adc

# Check that the installation is successful
hwc --list | grep ADC

Usage

Inerface

This model introduces the ADC model. ADC models can be instantiated with the following parameters:

  • n_bits: the resolution of the ADC
  • tech_node: the technology node in meters
  • n_adcs: the number of ADCs working together, in the case of alternating ADCs
  • throughput: the aggregate throughput of the ADCs, in samples per second

ADCs support the following actions:

  • read or convert: Convert a single value from analog to digital. Note: if there are multiple ADCs, this is a single conversion from a single ADC.

Exploring Tradeoffs

There are several tradeoffs available around ADC design:

  • Lower-resolution ADCs are smaller and more energy-efficient.
  • Using more ADCs in parallel allows for a lower frequency, but increases the area.
  • Using fewer ADCs in parallel allows for a higher frequency. Up to a point, this will not increase the area or energy/area of the ADCs. However, at some this will result in an exponential increase in energy/area.
  • Lower-resolution ADCs can run at higher frequencies before the exponential increase in energy/area occurs.

When the HWComponents-ADC runs, it will output a list of alternative design options. Each will report a number of ADCs and frequency needed to achieve the desired throughput, as well as the area and energy of the ADCs. You can then use this information to make tradeoffs between ADC resolution, frequency, and number of ADCs.

HWComponents-ADC is the work of Tanner Andrulis & Ruicong Chen.

Updating the ADC Model

The generated ADC model is based on the data in Boris Murmann's survey [1], included in the submodule. This survey is updated periodically. The model can be update to reflect the most recent data by running the following:

pip3 install scikit-learn
pip3 install pandas
pip3 install numpy
git submodule update --init --recursive --remote
python3 update_model.py

This is only necessary if more recent data is published. If the data here is out of date, please open an issue or pull request.

References

[1] B. Murmann, "ADC Performance Survey 1997-2023," [Online]. Available: https://github.com/bmurmann/ADC-survey

License

This work is licensed under the MIT license. See license.txt for details.

Citing HWComponents-ADC

If you use this model in your work, please cite the following:

@misc{andrulis2024modelinganalogdigitalconverterenergyarea,
      title={Modeling Analog-Digital-Converter Energy and Area for Compute-In-Memory Accelerator Design},
      author={Tanner Andrulis and Ruicong Chen and Hae-Seung Lee and Joel S. Emer and Vivienne Sze},
      year={2024},
      eprint={2404.06553},
      archivePrefix={arXiv},
      primaryClass={cs.AR},
      url={https://arxiv.org/abs/2404.06553},
}

Metadata

Release files for hwcomponents-adc 1.0.21

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hwcomponents-adc 1.0.21
File Size Uploaded Provenance
hwcomponents_adc-1.0.21.tar.gz 33.1 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for hwcomponents-adc 1.0.21
File Interpreter ABI Platform
hwcomponents_adc-1.0.21-py3-none-any.whl Python 3 none any Details

Total release size: 64.4 kB

Release files / hwcomponents_adc-1.0.21.tar.gz

Download URL hwcomponents_adc-1.0.21.tar.gz
Size 33.1 kB
Tags Source
SHA-256 checksum
How to use checksums
03789839830db97313de466f1b9f69254b200dd6d1afeab12a22c21755785698
BLAKE2b-256 checksum
How to use checksums
5db32e6e9da6badfc273f2f51cda08dc26777f8dda9463412864d612a02a0b3a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 2, 2026.

Transparency log

Release files / hwcomponents_adc-1.0.21-py3-none-any.whl

Download URL hwcomponents_adc-1.0.21-py3-none-any.whl
Size 31.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ac2b1de84d1b093f8f08fdb9b1313f225df84a263ac32c3dd54fa6bfc3530d30
BLAKE2b-256 checksum
How to use checksums
08bf161267515777c4e3773d64c3e271ace4a4449d43a64ea5288ed7e5b1e1af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 2, 2026.

Transparency log

Security for hwcomponents-adc 1.0.21

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for hwcomponents_adc-1.0.21.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 2, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

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