Answers Database


XNFPREP 5.0: ERROR 7852 on CLB primitive with associated timing specs


Record #343

Problem Title:
XNFPREP 5.0: ERROR 7852 on CLB primitive with associated timing specs


Problem Description:




Solution 1:




When timing specifications are applied to CLB primitives, XNFPREP does not
correctly determine what types of resources are used in the CLB, which may
cause errors. For example, if a CLB primitive is defined so that a flip-flop
is used, and this flip flop has an output net named DOUT, the following line
may be added to a TIMEGROUP symbol:

           FFOUT=FFS(DOUT)

This should create a group called FFOUT consisting of the flip-flop DOUT.
Instead, the following error would be issued by XNFPREP:

   XNFPREP: ERROR 7852:
       The following signal specification (in the TIMEGRP definition 'FFOUT
       ') was not matched in the design.

       FFS matched by DOUT

There are three possible workarounds to this problem:


*   Replace the CLB primitives with individual elements and CLBMAPs; or

*   Run XNFPREP twice, the first time with the
    parttype set to a non-A architecture.

     For example, if the design is targeted for a 3020Apc84:

     xnfprep <design> parttype=3020pc84 outfile=<design>.xxx
     xnfprep <design>.xxx parttype=3020Apc84

     The first run will not DO a TIMESPEC check, since a 3020 design does
     not support them, but it will flatten the CLB primitives into normal
     primitives and CLBMAPs. The second run can then check and process the
     TIMESPECs correctly.


*   This solution is probably the cleanest. Use a TNM parameter on a signal
    going into the CLB primitive, but separate the signal from the CLB
    primitive input with a BUF. Since XNFPREP expands the CLB primitive into
    its constituent parts BEFORE it absorbs the buffer, the TNM parameter (or
    TSid) will get pushed onto the flip-flop or EQN input pin directly when
    the buffer is absorbed.

     That is, change this:

	 TNM=GORK	       |
      -------------------------| CLB primitive input
			       |
    to this:

       TNM=GORK        |\	     |
      -----------------| >-----------| CLB primitive input
		       |/ BUF	     |









End of Record #343 - Last Modified: 04/01/97 07:39

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