public class HalfLatchRemoval
- extends java.lang.Object
Removes half latches from an EDIF file. Replaces all types of FFs with FDCPEs
and connect the unused ports (PRE, CLR, CE) to constant values (0 or 1). The
constant values are provided in two ways, depending on the user's choice:
1) A LUT is added into the EDIF file and provides the constant values;
2) New input ports are added on the top-level cell's interface, and the constant
values are provided by external inputs.
This class provides a command-line executable interface (it has a main
method). The user specifies the EDIF file, following the conventions of the
JEdif tools. An argument [-c ] is used to specify the
constant value mode. There are two optional modes: "lut" and "nolut". "lut"
is set as default. The resulting EDIF file carries the same filename as the
original, with "_noHalfLatch" appended. The resulting top-level EdifCell has the
same name as the original EdifCell.
For a precise list of the cells replaced by this class, please see the source
The half latch removal is assumed to be performed on a flattened cell.
- Yubo Li
|Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public static EdifEnvironment removeHalfLatches(EdifEnvironment env,
- This static method removes half latches. It returns a new EdifEnvironment
that is a copy of the old with half latches removed.
env - EdifEnvironment containing half latches.
lut - a flag indicating which mode is chosen.
- EdifEnvironment in which all half latches have been removed.
public static void main(java.lang.String args)
- A simple main class that can be used to perform this half latch removal.