User repositories

Repositories allow for easy loading packages with IP-cores.

You can add repositories to be loaded each time topwrap is ran by specifying them in configuration file.

It has to be located in one of the following locations:

topwrap.yaml
~/.config/topwrap/topwrap.yaml
~/.config/topwrap/config.yaml

Example contents of user config:

force_interface_compliance: true
repositories:
  - name: name of repo
    path: ~/path_to_repo/repo

Topwrap provides internal API for constructing repositories in python code which can be found here

Structure of repository has to be as follows:

path_to_repository/
|───cores
|   |───someCore1
|   |   |───srcs
|   |   |   |   file1.v
|   |   |   design.yaml
|   |
|   |───someCore1
|       |───srcs
|       |   |   file1.v
|       |   design.yaml
|
|───interfaces(Optional)
|   interface1.yaml
|   interface2.yaml

Repository has two main catalogs: cores and interfaces. Inside cores each core has it’s own catalog with it’s design file and srcs where are stored verilog/VHDL files.

There is optional interfaces catalog where can be stored interfaces for cores.

Example User Repo can be found in examples/user_repository.


Last update: 2024-09-17