- Read the following IP cores into the design:
- Accumulator
- Version native IP with all output products, including a DCP.
- FIFO Generator
- Version native IP with all output products, including a DCP.
- Clock Wizard
- Version native IP with no output products.
- Block memory generator
- An outdated version of a native Vivado Design Suite IP with no output products generated.
All of these IP have already been customized, and have Xilinx Core Instance (XCI) files.
The FIFO Generator IP already has all required output products available, and can be read and used directly from its current location. Whenever you create an IP customization, you should always generate all available output products.
- To read the FIFO Generator IP and the Accumulator IP, including all the
output products that are present, add the following lines to your
script:
read_ip ../Lab_3_4_sources/IP/Accumulator/c_accum_0.xci read_ip ../Lab_3_4_sources/IP/char_fifo/char_fifo.xci
- Add the following to your Tcl script to create a local directory, with
sub-directories for the block memory and the clock wizard
IP:
file mkdir IP/blk_mem file mkdir IP/clk_wiz
- Add the following to your Tcl script to copy the needed XCI files from the
current IP repository into the local
directory:
file copy -force ../Lab_3_4_sources/IP/blk_mem/blk_mem_gen_v7_3_0.xci ./IP/blk_mem file copy -force ../Lab_3_4_sources/IP/clk_wiz/clk_wiz_0.xci ./IP/clk_wiz
The
-force
option causes the file to be overwritten if it already exists.Important: Without the-force
option, an error could be returned and the script will quit.For the clocking wizard IP, you need to generate the output products before you can synthesize the design. In Non-Project Mode, the Vivado® Design Suite does not automatically generate output products, and errors will be encountered if you do not do this prior to launching synthesis.
Generating output products results in files and directories being written to the location the IP XCI files are read from. In a managed IP repository, these locations may be read-only or under revision control. In this case, you would copy the needed XCI files to a local directory before reading them into the in-memory design.
Important: Have each XCI file stored in its own directory. When output products are generated, they are written to the same directory as the XCI file. If IP files are written to the same directory, it is possible that output products from different IPs could overwrite each other. - Add these lines to your Tcl script to read in the needed XCI
files:
read_ip ./IP/blk_mem/blk_mem_gen_v7_3_0.xci read_ip ./IP/clk_wiz/clk_wiz_0.xci
The specified XCI files are read into the in-memory design.
Unlike in Lab 3, the warnings related to locked IP do not display when the IP are processed into the design using the
read_ip
command. In Project Mode, the Vivado Design Suite performs checks as an IP is added to a project, resulting in the warning messages seen in Lab 3, Step 4: Add Existing IP. In Non-Project Mode, the checks are only performed when the IP are processed during synthesis.