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# 15841

5.1i XST - XST is not processing generics properly

Description

Keywords: XST, VHDL, generic, incorrect, bad, wrong, logic

Urgency: Standard

General Description:
When an entity-level generic and a component-level generic have the same name (gen1), and another component-level generic is derived from the entity-level generic (gen2 = gen1/2), XST will derive the second component-level generic from the first component-level generic instead of deriving the second component-level generic form the entity-level generic.

For example:
:
entity generic_test is
generic (a : integer := 6);
:

-- Now, I define generics in a declared/instantiated comp:

component my_comp is
generic (a : integer;
b : integer);
:

u1 : my_comp generic map (a => 4, b => a/2);
:
:
-- "a" will be equal to 4, and "b" will be incorrectly equal to 2 (instead of 3).

Solution

To work around this problem, use different generic names in the component than you used in the entity.
AR# 15841
Date Created 10/11/2002
Last Updated 10/20/2005
Status Archive
Type General Article