https://github.com/antmicro/topwrap
A Python package for generating HDL wrappers and top modules for HDL sources
https://github.com/antmicro/topwrap
Last synced: 23 days ago
JSON representation
A Python package for generating HDL wrappers and top modules for HDL sources
- Host: GitHub
- URL: https://github.com/antmicro/topwrap
- Owner: antmicro
- License: apache-2.0
- Created: 2021-02-12T12:08:51.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2026-05-18T07:58:12.000Z (about 1 month ago)
- Last Synced: 2026-05-18T09:41:55.403Z (about 1 month ago)
- Language: Python
- Homepage: https://antmicro.github.io/topwrap/
- Size: 19.5 MB
- Stars: 74
- Watchers: 10
- Forks: 7
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Topwrap
Copyright (c) 2021-2026 [Antmicro](https://antmicro.com)

Topwrap leverages modularity to enable the reuse of design blocks across
different projects, facilitating the transition to automated logic design.
It provides a standardized approach for organizing blocks into various
configurations, making top-level designs easier to parse and process
automatically.
As a tool, Topwrap makes it straightforward to build complex and synthesizable
designs by generating a design file. The combination of GUI and CLI-based
configuration options provides for fine-tuning possibilities. Packaging multiple
files is accomplished by including them in a custom user repository, and an
internal API enables repository creation using Python.

## Installation
On Debian Bookworm follow these steps to install the required dependencies:
```bash
apt install -y python3 python3-pip yosys npm antlr4 libantlr4-runtime-dev pipx
```
Once the dependencies are installed, you can install topwrap with the following command:
```
pipx install "topwrap@git+https://github.com/antmicro/topwrap"
```
More detailed instructions, are available in the
[installation guide](https://antmicro.github.io/topwrap/getting_started.html#installation).
## Functionality
Topwrap offers functionality in three main areas via the following commands:
- `topwrap parse` - automatically parses HDL modules and groups ports into
interfaces to enable connecting them more conveniently in the design.
- `topwrap build` - generates the top level based on a design description file.
- `topwrap gui` - spawns a [GUI](https://github.com/antmicro/kenning-pipeline-manager) for creating designs.
## Resources
Additional information, example projects, tutorials and the developer's guide
can be found in the [project documentation](https://antmicro.github.io/topwrap/introduction.html).