Packaging multiple files¶
Repositories allow for easy packaging and loading multiple IP-cores and custom interfaces.
You can specify repositories to be loaded each time topwrap is ran by listing them in a configuration file that should 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 directories: cores
and interfaces
.
Inside cores
each core has it’s own directory with it’s description file and srcs
where the verilog/VHDL files are stored.
The interfaces
directory is optional, and contains interface description files.
Example User Repo can be found in examples/user_repository.
Last update:
2024-11-12