UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 40787

Design Assistant for XST Help determining why an instance is black boxed

Description

Please refer to this answer record for help determining why an instance is black boxed.

Note: This Answer Record is a part of the Xilinx Solution Center for XST (Xilinx Answer 38927). The Xilinx Solution Center for XST is available to address all questions related to XST. Whether you are starting a new design or troubleshooting a problem, use the Solution Center for XST to guide you to the right information.

Solution

An instance is considered black boxed when there is no RTL to describe the logic within the instance. Instead, the logic is described by a netlist. The extension to these netlists are either an NGC, NGO, EDF, or EDIF. For Xilinx, they are either created by Coregen, Synplicity, or XST in a smaller design. Most of the time it is OK to black box a component. However, occasionally this is not intended.

When XST compiles all of its modules/entities, it compiles them to specific libraries. You can see what libraries they are compiling them to by looking at the .prj file. Most of the time, modules/entities are compiled to the work library; however, this is not always the case. A module/entity will automatically look in the library that is compiled to for the component that is instantiated. For example: if module/entity A belongs to a library called, "fifo_lib" and component B is instantiated, then module/entity A will look only in library "fifo_lib" for component B. If component B is not part of library "fifo_lib", then component B will be considered a Black Box.

VHDL has the ability for an entity to look at more libraries other than its own library. There is only one exception and this is when an entity tries to use the work library when it is not already in the work library. To look into other libraries the library declaration is used. An example of a library declaration is shown below:

library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.numeric_std.all;
use IEEE.std_logic_unsigned.all;

Linked Answer Records

Master Answer Records

Answer Number Answer Title Version Found Version Resolved
38927 Xilinx Solution Center for XST N/A N/A

Associated Answer Records

Answer Number Answer Title Version Found Version Resolved
39980 Design Assistant for XST - Help instantiating black boxed components N/A N/A
AR# 40787
Date Created 03/15/2011
Last Updated 02/14/2013
Status Active
Type General Article