Answers Database
XC3000/XC4000: Using latches in 3k and 4k designs
Record #122
Problem Title:
XC3000/XC4000: Using latches in 3k and 4k designs
Problem Description:
Solution 1:
Cautions When Using Latches 3000 and 4000 Designs
----------------------------------------------------
Caution must be exercised when using latches from the 3K and
4K libraries because they are built out of combinatorial logic,
and use a feedback path which is routing dependent. The only exceptions
to this are the latches that exist in the IOBs, which are 'true'
latches. The implications of this are:
- The latch has a nonzero hold time which is routing-dependent
because of the routing-dependent feedback loop.
- If you perform any automatic optimization on your design, the
result can vary widely, from something that works exactly like the
input design, to a design which does not work at all. The actual
result will depend on the logic around the latches and the location
at which the optimization algorithm breaks the feedback loop to
perform optimization.
The most worrisome result of optimization is the design which
appears to work, but is marginal in reality.
- The design will be unacceptable for conversion to hardwire.
Xilinx discourages the use of latches in 3000 and 4000 designs
for the above reasons; however, if you must use them, please be aware
of the implications.
Solution 2:
You can make a CLB LATCH in the xc4000 architecture, that is not routing depende
nt, with a RAM16X1. Tie the address lines to ground, and you now have a level s
ensitive Gated D-Latch without the use of feedback routing.
End of Record #122
For the latest news, design tips, and patch information on the Xilinx design environment, check out the Xilinx Expert Journals! |