edu.byu.ece.edif.tools.sterilize.lutreplace.SRL
Class SRL_Replacement

java.lang.Object
  extended by edu.byu.ece.edif.tools.sterilize.lutreplace.SRL.SRL_Replacement

public class SRL_Replacement
extends java.lang.Object

Replaces SRL elements in a Xilinx design with "safe" primitives. The following primitives are replaced:

Author:
Yubo Li

Nested Class Summary
static class SRL_Replacement.SRLType
          An enumerated type that represent each individual primitive.
 
Field Summary
static java.lang.String SRL16_1_STRING
           
static java.lang.String SRL16_STRING
          Enumerations of all primitives.
static java.lang.String SRL16E_1_STRING
           
static java.lang.String SRL16E_STRING
           
static java.lang.String SRLC16_1_STRING
           
static java.lang.String SRLC16_STRING
           
static java.lang.String SRLC16E_1_STRING
           
static java.lang.String SRLC16E_STRING
           
 
Constructor Summary
SRL_Replacement()
           
 
Method Summary
static void Replace(EdifLibraryManager libManager, SRL_Replacement.SRLType srlType, EdifCell parent, java.lang.String namePrefix, long INIT, EdifNet d, EdifNet ce, EdifNet clk, EdifNet a0, EdifNet a1, EdifNet a2, EdifNet a3, EdifNet q, EdifNet q15)
          Performs the SRL replacement algorithm.
static void Replace(EdifLibraryManager libManager, java.lang.String srlType, EdifCell parent, java.lang.String namePrefix, long INIT, EdifNet d, EdifNet ce, EdifNet clk, EdifNet a0, EdifNet a1, EdifNet a2, EdifNet a3, EdifNet q, EdifNet q15)
           
static SRL_Replacement.SRLType StringToSRLType(java.lang.String str)
          Compares a string against all the primitive strings while ignoring case.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SRL16_STRING

public static final java.lang.String SRL16_STRING
Enumerations of all primitives. These strings are used for matching the strings in the original EDIF.

See Also:
StringToSRLType, Constant Field Values

SRL16_1_STRING

public static final java.lang.String SRL16_1_STRING
See Also:
Constant Field Values

SRL16E_STRING

public static final java.lang.String SRL16E_STRING
See Also:
Constant Field Values

SRL16E_1_STRING

public static final java.lang.String SRL16E_1_STRING
See Also:
Constant Field Values

SRLC16_STRING

public static final java.lang.String SRLC16_STRING
See Also:
Constant Field Values

SRLC16_1_STRING

public static final java.lang.String SRLC16_1_STRING
See Also:
Constant Field Values

SRLC16E_STRING

public static final java.lang.String SRLC16E_STRING
See Also:
Constant Field Values

SRLC16E_1_STRING

public static final java.lang.String SRLC16E_1_STRING
See Also:
Constant Field Values
Constructor Detail

SRL_Replacement

public SRL_Replacement()
Method Detail

StringToSRLType

public static SRL_Replacement.SRLType StringToSRLType(java.lang.String str)
Compares a string against all the primitive strings while ignoring case.

Returns:
A SRLType object representing the primitive that was matched. Returns a null if no match occurs.

Replace

public static void Replace(EdifLibraryManager libManager,
                           java.lang.String srlType,
                           EdifCell parent,
                           java.lang.String namePrefix,
                           long INIT,
                           EdifNet d,
                           EdifNet ce,
                           EdifNet clk,
                           EdifNet a0,
                           EdifNet a1,
                           EdifNet a2,
                           EdifNet a3,
                           EdifNet q,
                           EdifNet q15)

Replace

public static void Replace(EdifLibraryManager libManager,
                           SRL_Replacement.SRLType srlType,
                           EdifCell parent,
                           java.lang.String namePrefix,
                           long INIT,
                           EdifNet d,
                           EdifNet ce,
                           EdifNet clk,
                           EdifNet a0,
                           EdifNet a1,
                           EdifNet a2,
                           EdifNet a3,
                           EdifNet q,
                           EdifNet q15)
Performs the SRL replacement algorithm. This method only operates on a single EdifCell object. This method assumes that a new EdifCell has been created and there is a "hole" where a previously used SRL primitive was used. All the surrounding logic and nets are created and passed to this method so the new replacement can be hooked up. It is called by the edu.byu.ece.edif.tools.sterilize.lutreplace.LUTReplacer class.

Parameters:
libManager - The library manager of this new environment
srlType - The SRL type to replace.
parent - The parent EdifCell that contains the replaced cell
namePrefix - This is the String prefix used to create a new name for all of the replacement cells.
INIT - Init value used when determining which cells to create for initialization.
d -
ce -
clk -
a0 -
a1 -
a2 -
a3 -
q -
q15 -