Download PLSyn User's Guide

Transcript
8-8
MACH 1-4 Device-Specific Fitting
Implementing HazardFree Combinatorial
Latches
You may need to implement combinatorial latches in MACH
devices. A combinatorial latch is a simple combinatorial
function in which the output is derived from inputs and
feedbacks. A seemingly correct latch design can be subject to
hazard conditions that might cause latch failure. By inserting
redundancy into the latch equation, you can protect against
hazard conditions.
Basic Latch Circuit
The basic transparent DLatch expression looks like the
following:
INPUT Data;
INPUT LatchEnable;
NODE DLatch;
DLatch = LatchEnable * Data
+ /LatchEnable * DLatch;
Creating a Hazard-Free Latch
A Karnaugh map reveals that it is possible to lose data when the
LatchEnable goes from 1 to 0 while asserting Data.
To create a latch that protects against losing data
1
Add a Cover Term to the DLATCH equation by
encapsulating the combinatorial latch function in a DSL
procedure.
2
Add the NO_REDUCE option to the output to prevent
PLSyn from reducing out the Cover Term.