Black Box VHDL Library Support - 2025.2 English - UG1483

Vitis Model Composer User Guide (UG1483)

Document ID
UG1483
Release Date
2025-11-20
Version
2025.2 English

This Black Box feature allows you to import VHDL modules that have predefined library dependencies. The following example illustrates how to do this import.

The VHDL module below is a 4-bit, Up counter with asynchronous clear (async_counter.vhd). It compiles into a library named async_counter_lib.

Figure 1. 4-bit, Up Counter with Asynchronous Clear

The VHDL module below is a 4-bit, Up counter with synchronous clear (sync_counter.vhd). It is compiled into a library named sync_counter_lib.

Figure 2. 4-bit, Up Counter with Synchronous Clear

The VHDL module below is the top-level module that is used to instantiate the previous modules. This is the module that you need to point to when adding the Black Box into your Model Composer model.

Figure 3. Top-level Module

The VHDL is imported by first importing the top-level entity, top_level, using the Black Box.

After importing the file, you need to midify the associated Black Box Configuration M-file as follows:

Figure 4. Black Box Configuration M-file

The interface function addFileToLibrary specifies a library name other than “work” and instructs the tool to compile the associated HDL source to the specified library.

The Model Composer model looks similar to the following figure.

Figure 5. Model Composer Model with Black Box Support
Generated by Your Tool

The next step is to double-click the Model Composer Hub block and click the Generate button to generate the HDL netlist.

The generation process creats a Vivado IDE project (.xpr). This is placed with the hdl_netlist folder under the netlist folder. Double-clicking the Vivado IDE project and selecting the Libraries tab under the Source view displays the work library, and also an async_counter_lib and sync_counter_lib library.