public class InlineFlopTools
extends Object
| Modifier and Type | Field and Description |
|---|---|
static String |
INLINE_SUFFIX |
| Constructor and Description |
|---|
InlineFlopTools() |
| Modifier and Type | Method and Description |
|---|---|
static Cell |
createAndPlaceFlopInlineOnTopPortInst(Design design,
EDIFPortInst portInst,
Pair<Site,BEL> loc,
EDIFHierNet clk)
Add flip-flop inline on the specified top-level port of an out-of-context design.
|
static void |
createAndPlaceFlopsInlineOnTopPortsArbitrarily(Design design,
String clkNet,
PBlock keepOut)
Add flip-flops inline on all the top-level ports of an out-of-context design.
|
static void |
createAndPlaceFlopsInlineOnTopPortsNearPins(Design design,
String clkNet,
PBlock keepOut)
Add flip-flops inline on all the top-level ports of an out-of-context design.
|
static void |
createAndPlacePortFlopsOnSide(Design design,
String clkNet,
PBlock keepOut,
Map<EDIFPort,PBlockSide> portSideMap)
Add flip-flops inline on all the top-level ports of an out-of-context design.
|
static void |
main(String[] args) |
static Map<EDIFPort,PBlockSide> |
parseSideMap(EDIFNetlist netlist,
String filename)
Parses the PBlock side map into a map from EDIFPorts to PBlockSide enums.
|
static void |
removeInlineFlops(Design design)
Removes the inline flops added by
InlineFlopTools.createAndPlaceFlopsInlineOnTopPorts(Design, String, PBlock, boolean) |
public static final String INLINE_SUFFIX
public static void createAndPlaceFlopsInlineOnTopPortsArbitrarily(Design design, String clkNet, PBlock keepOut)
design - The design to modifyclkNet - Name of the clock net to use for the flopskeepOut - The pblock used to contain the kernel and the added flops will
not be placed inside this area.public static void createAndPlaceFlopsInlineOnTopPortsNearPins(Design design, String clkNet, PBlock keepOut)
design - The design to modifyclkNet - Name of the clock net to use for the flopskeepOut - The pblock used to contain the kernel and the added flops will
not be placed inside this area.public static void createAndPlacePortFlopsOnSide(Design design, String clkNet, PBlock keepOut, Map<EDIFPort,PBlockSide> portSideMap)
design - The design to modifyclkNet - Name of the clock net to use for the flopskeepOut - The pblock used to contain the kernel and the added flops will
not be placed inside this area.portSideMap - Map from ports to side of the pblock the flop should be placed onpublic static Cell createAndPlaceFlopInlineOnTopPortInst(Design design, EDIFPortInst portInst, Pair<Site,BEL> loc, EDIFHierNet clk)
design - The design to modifyportInst - The port to place an inline flip-flop onloc - A pair of the site and BEL to place the flip-flop atclk - The clock net to use for the inline flip-floppublic static void removeInlineFlops(Design design)
InlineFlopTools.createAndPlaceFlopsInlineOnTopPorts(Design, String, PBlock, boolean)design - The current design from which to remove the flopspublic static Map<EDIFPort,PBlockSide> parseSideMap(EDIFNetlist netlist, String filename)
example_inputs.* TOP reset LEFT example_outputs.* BOTTOM
netlist - The netlist that the side map will be created for.filename - The name of the input side map file.public static void main(String[] args)