Skip to content

Commit 75611ec

Browse files
authored
Update README.md
Add out of tree module explanation.
1 parent b3406b7 commit 75611ec

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

README.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,38 @@ You can check which version of Vivado is currently being used as follows.
5151
$ which vivado
5252
/tools/Xilinx/Vivado/2022.2/bin/vivado
5353
```
54+
Change directories to the PLUTO project directory and run make.
5455

56+
```
57+
/hdl/projects/pluto$ make
58+
```
59+
A useful log file for information, warnings, and errors is pluto_vivado.log
60+
61+
This repository is organized as an out of tree module.
62+
63+
Key lines in system_bd.tcl are:
64+
65+
https://github.com/OpenResearchInstitute/pluto_msk/blob/942aa516f8cc30af73a5a0c9ce3f8266012989e8/projects/pluto/system_bd.tcl#L7-19
66+
67+
```
68+
set_property ip_repo_paths [list $ad_hdl_dir/library ../../library] [current_fileset]
69+
update_ip_catalog
70+
```
71+
The ip_repo_paths property lets us create a custom IP catalog for use with Vivado. It defines the path to one or more directories containing user-defined intellectual property (IP), like our blocks. The specified directories, and any sub-directories, are searched for files to add to the Vivado IP catalog. The property is assigned to the current fileset of the current project.
72+
73+
ip_repo_paths will look for a <component>.xml file, where <component> is the name of the IP to add to the catalog. This XML file lists the files that define the module. Subdirectories are searched through. We don't have to list out each individual module's <component>.xml.
74+
75+
Where does our component.xml file come from? It's create by the msk_top_ip.tcl file. A version can be found here:
76+
https://github.com/OpenResearchInstitute/pluto_msk/blob/main/library/msk_top_ip.tcl
77+
78+
Setting the ip_repo_paths property needs to be followed by update_ip_catalog.
5579

80+
Example syntax:
81+
82+
```
83+
set_property IP_REPO_PATHS {c:/Data/Designs C:/myIP} [current_fileset]
84+
update_ip_catalog
85+
```
5686

5787

5888
## Roadmap

0 commit comments

Comments
 (0)