Return to Support Page
 homesearchagentssupportask xilinxmap

Answers Database


Quicksim, XACT 5: Functional simulation of carry-logic macros may glitch


Record #350

Product Family:  Software

Product Line:  Mentor

Problem Title:
Quicksim, XACT 5: Functional simulation of carry-logic macros may glitch


Problem Description:
In the XACT 5 libraries for the XC4000 family are components known as
relationally placed macros which take advantage of the fast carry logic
found in the XC4000 devices.  The carry logic is simulated via the CY4
carry-logic primitive.	Underneath this primitive is a simulation model
comprised of Mentor gen_lib simulation components.

There is a section of the CY4 simulation model where the outputs of two
tristate buffers are tied together.  The enable for one TBUF is controlled
by the inversion of the enable to the other, e.g.:

D1---->------TBUF1--------------------+------> common output
	       |		      |
	       |		      |
	       |		      |
	       |		      |
	       |		      |
	       ^		      |
	       |     D2-->---TBUF2----+
	       |	      |
ENABLE---------+-------INV----+

This should avoid contention on the common output, as only one TBUF is
enabled at a time, due to the inverter on the TBUF enable of the second
TBUF.  In functional simulation, however, all symbols in the simulation
models are given the same unit delay.  This means that the delay from the
enable signal to the tristate enable pin of TBUF2 is longer that the delay
to the tristate pin of TBUF1, due to the added delay on the inverter.  This
causes momentary glitch of the carry-logic output under certain
conditions.


Solution 1:

This may be resolved by modifying the carry-logic model, adding a buffer to
the TBUF enable line of TBUF1, as shown below:

D1---->------TBUF1--------------------+------> common output
	       |		      |
	       |		      |
	      BUF		      |
	       |		      |
	       |		      |
	       ^		      |
	       |     D2-->---TBUF2----+
	       |	      |
ENABLE---------+-------INV----+

The buffer acts as a delay element to balance the unit delays to the TBUF
elements, so the tristate enables should switch simultaneously.



End of Record #350

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