Return to Support Page
 homesearchagentssupportask xilinxmap

Answers Database


Foundation XVHDL: missing TNM attribute will cause XNFPREP Error 7845


Record #1689

Product Family:  Software

Product Line:  Metamor

Problem Title:
Foundation XVHDL: missing TNM attribute will cause XNFPREP Error 7845


Problem Description:
When implementing an XVHDL design that contains TIMESPECS,
XNFPREP issues the following error:

XNFPREP ERROR 7845:
  The following TS parameter is invalid because '[name]'
  could not be found.

  [ts]=[type]:[field]

  If '[name]' is meant to be a group name, it should either
  be defined by a TIMEGRP parameter or be matched by a TNM
  parameter somewhere in the design.
  (If '[name]' is already defined by a TIMEGRP parameter,
  check the other messages in this section to see if that
  TIMEGRP was found to be invalid.)
  If '[name]' is meant to refer to a whole class of symbols,
  it should be one of the following values: FFS, PADS, RAMS
  or LATCHES.


Solution 1:

When using TIMESPECS in XVHDL 2.4, the TNM attribute will not
be attached to signals which are connected to function calls.
This will cause the XNFPREP error if it causes an entire
timegroup to not exist.

When function calls are used, XVHDL will base the name of the
inferred symbol, and all attached signals, on the function
name.


-- Example
-- Assume that there is a function dff(d_in, clock, q_out)
-- defined which describes a simple D-type flip-flop.

architecture EXAMPLE_ARCH of EXAMPLEVHD is

  attribute TNM: string;
  attribute TNM of OUT_DATA0: signal is "OUT0";
  attribute TNM of OUT_DATA1: signal is "OUT1";

begin
  -- TNM will not be assigned in function calls
  dff(IN_DATA(0), CLOCK, OUT_DATA0);

  -- TNM will be assigned in a process
  process(IN_DATA(1), CLOCK, OUT_DATA1)
  begin
    if (CLOCK'event and CLOCK='1') then
      OUT_DATA1 <= IN_DATA(1);
    end if;
  end process;

  ...
end EXAMPLE_ARCH;

The flip-flop inferred by the dff function call will be named
dff_<num>_<output>, whereas the process will infer a
flip-flop named OUT_DATA1.  The difference in symbol names
causes the TNM to be lost when using a function call and
attached when using a process.


When using TNM attributes, avoid using function calls.	See
also (Xilinx Solution 1487) for more examples of using TNM
attributes in Foundation XVHDL.



End of Record #1689

For the latest news, design tips, and patch information on the Xilinx design environment, check out the Xilinx Expert Journals!

© 1998 Xilinx, Inc. All rights reserved
Trademarks and Patents