# Install uhdm with Homebrew, Nix

Universal Hardware Data Model, modeling of the SystemVerilog Object Model. Version 1.86 via Homebrew; verified 2026-05-04.

## Install

```sh
sudo av install brew:uhdm
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install uhdm
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#uhdm
```

  Evidence: nixpkgs package indexes: pkgs/by-name/uh/uhdm/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:uhdm
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/uhdm>
- **Version:** 1.86
- **Source summary:** Universal Hardware Data Model, modeling of the SystemVerilog Object Model
- **Homepage:** <https://github.com/chipsalliance/UHDM>
- **Repository:** <https://github.com/chipsalliance/UHDM>
- **Upstream docs:** <https://github.com/chipsalliance/UHDM#readme>
- **License:** Apache-2.0
- **Source archive:** <https://github.com/chipsalliance/UHDM/archive/refs/tags/v1.86.tar.gz>
- **Last updated:** 2026-05-04T12:53:06Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- uhdm-cmp (cli)
- uhdm-dump (cli)
- uhdm-hier (cli)
- uhdm-lint (cli)
- uhdm-cmp (alias)
- uhdm-dump (alias)
- uhdm-hier (alias)
- uhdm-lint (alias)

## Dependencies

- capnp

## Build dependencies

- cmake
- python@3.14

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.86
- Package-manager updated: 2026-05-04
- Local data: ok
- Upstream repository: https://github.com/chipsalliance/UHDM
- Upstream latest detected: v1.86 (current)
## Project history and usage

UHDM, the Universal Hardware Data Model, is a CHIPS Alliance data model and C++ library for representing the IEEE SystemVerilog object model with VPI access, serialization, visitors, listeners, and elaboration support.

### Project history

The public repository was created in 2019. The README describes UHDM's purpose as auto-generating a concrete C++ implementation of the SystemVerilog object model, a standard VPI facade, serialization and deserialization, visitor and listener traversal code, and elaboration logic.

UHDM's model is expressed in YAML files that follow the object-model portion of the SystemVerilog 2017 standard. The generated model can be populated by parsers such as Surelog or Verible and consumed by downstream tools such as Yosys and Verilator.

Release metadata shows v0.9.2 in 2022, v1.84 in 2024, and v1.85/v1.86 in 2025, reflecting its role as an evolving infrastructure library rather than a one-off command.

### Adoption history

UHDM adoption is strongest in the open-source EDA and hardware-description-language ecosystem. Its README explicitly names Surelog and Verible as producers and Yosys and Verilator as consumers, placing it in the interchange layer between SystemVerilog front ends and analysis, synthesis, or simulation tools.

The supplied package data records UHDM in Homebrew and Nix. For package users, that makes a complex C++/Cap'n Proto/SystemVerilog infrastructure component installable without building the entire open-source EDA stack by hand.

### How it is used

Developers use UHDM as a library and toolset for creating, serializing, inspecting, elaborating, and traversing SystemVerilog designs. The Homebrew package exposes utilities such as uhdm-dump, uhdm-cmp, uhdm-hier, and uhdm-lint.

The README describes uhdm-dump as a way to produce a human-readable view of a serialized UHDM design, and it describes listener and visitor patterns for client applications that need to traverse designs while the data model evolves.

### Why package nerds care

UHDM is significant to package maintainers because it is plumbing for open-source hardware tooling. It pulls together generated C++ code, serialization, VPI compatibility, optional Python bindings, and downstream EDA consumers, so a working package can unblock multiple SystemVerilog workflows.

In the package-nerd niche, UHDM represents the move from monolithic EDA tools toward separately packaged interchange libraries that distributions can compose into parsers, linters, synthesizers, and simulators.

### Timeline

- 2019: Public GitHub repository created.
- 2020: README linked a WOSET 2020 paper and presentation.
- 2022: v0.9.2 release published.
- 2024: v1.84 release published as a stable release.
- 2025: v1.86 release published.

### Related projects

- The README names Surelog and Verible as producers of UHDM data.
- The README names Yosys and Verilator as consumers of UHDM data.
- The README also points to Cap'n Proto for serialization and the IEEE SystemVerilog 2017 object model as the standards basis.

### Sources

- <https://api.github.com/repos/chipsalliance/UHDM>
- <https://api.github.com/repos/chipsalliance/UHDM/releases?per_page=10>
- <https://github.com/chipsalliance/UHDM>
- <https://raw.githubusercontent.com/chipsalliance/UHDM/master/INSTALL.md>
- <https://raw.githubusercontent.com/chipsalliance/UHDM/master/README.md>
- source_facts.executables
- source_facts.package-manager


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** uhdm
- **Version Scheme:** 0
- **Revision:** 2
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - uhdm: normalized package name match | nixpkgs package indexes: pkgs/by-name/uh/uhdm/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [capnp](https://www.automicvault.com/pkg/brew/capnp/) - Runtime dependency declared by Homebrew.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [python@3.14](https://www.automicvault.com/pkg/brew/python-3-14/) - Build dependency declared by Homebrew.
- [surelog](https://www.automicvault.com/pkg/brew/surelog/) - Popular package that depends on this formula.
- [easyeda2kicad](https://www.automicvault.com/pkg/brew/easyeda2kicad/) - Shares av.db curated category or tags: cli, developer-tools, eda.
- [gerbv](https://www.automicvault.com/pkg/brew/gerbv/) - Shares av.db curated category or tags: cli, developer-tools, eda.
- [gplcver](https://www.automicvault.com/pkg/brew/gplcver/) - Shares av.db curated category or tags: cli, developer-tools, eda.
- [netlistsvg](https://www.automicvault.com/pkg/brew/netlistsvg/) - Shares av.db curated category or tags: cli, developer-tools, eda.
- [yosys](https://www.automicvault.com/pkg/brew/yosys/) - Shares av.db curated category or tags: cli, developer-tools, eda.
- [sv2v](https://www.automicvault.com/pkg/brew/sv2v/) - Shares av.db curated category or tags: cli, developer-tools, eda, systemverilog.
- [svlint](https://www.automicvault.com/pkg/brew/svlint/) - Shares av.db curated category or tags: cli, developer-tools, eda, systemverilog.
- [cloog](https://www.automicvault.com/pkg/brew/cloog/) - Local package facts share a topical domain. Shared terms: cli, compiler, compiler-tools, developer, developer-tools.

## Combined YAML source

View the package source record on GitHub. [combined/uhdm.yml](https://github.com/automic-vault/db/blob/main/combined/uhdm.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
