|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object
|
+--org.opencores.structure.Node
|
+--org.opencores.structure.NodeLUT
LUT cell type class. It implements function, and allows joining last port is always output, first width-1 are always inputs
| Field Summary | |
byte[] |
func
function data stored here parameters are ordered like in ports, 8 bits per byte |
int |
OUT
which port is output port |
| Fields inherited from class org.opencores.structure.Node |
dir,
flag,
fx,
fy,
INOUT,
INPUT,
link,
name,
nfx,
nfy,
OUTPUT,
ports,
temp,
visited,
weight,
width,
x,
y |
| Constructor Summary | |
NodeLUT(int width)
constructs empty LUT |
|
NodeLUT(NodeLUT a,
NodeLUT b,
boolean updateNets)
Constructor, that joins two specified adjacent LUTs and creates new one. |
|
| Method Summary | |
int |
calc(int inputs)
Calculates LUTs function |
java.lang.Object |
clone()
creates new (unlinked) node with same parameters. |
void |
duplicate(NodeLUT n)
duplicates parameters from n to this |
static boolean |
isAChild(NodeLUT a,
NodeLUT b)
Determines, if a is a child of b. |
static int |
NumJoinInputs(NodeLUT a,
NodeLUT b)
Function, that returns number of inputs if two specified LUTs were joined, not counting matching inputs. |
static int |
NumJoinInputsEx(NodeLUT a,
NodeLUT b)
Function, that returns number of inputs if two specified LUTs were joined, not counting matching inputs nor inbetween connections. |
void |
permutateInputs(int[] pi)
Permutates inputs by pi. |
void |
permutateInputsInv(int[] pi)
Permutates inputs by inv(pi). |
private int |
size()
length of function data |
java.lang.String |
toString()
|
| Methods inherited from class org.opencores.structure.Node |
duplicate,
linkNets,
setWidth,
unlinkNets |
| Methods inherited from class java.lang.Object |
|
| Field Detail |
public int OUT
public byte[] func
| Constructor Detail |
public NodeLUT(NodeLUT a,
NodeLUT b,
boolean updateNets)
Parent MUST drive child's input, and parent MUST NOT have any other childs. It is not possible to do this more generally, since we may have loops.
a - parent LUTb - child LUTupdateNets - whether this function should update net portspublic NodeLUT(int width)
width - number of ports (including output!)| Method Detail |
private int size()
public static final int NumJoinInputs(NodeLUT a,
NodeLUT b)
Parent can drive child's input. It is not possible to do this more generally, since we can have loops.
a - parent LUTb - child LUT
public static final boolean isAChild(NodeLUT a,
NodeLUT b)
a - any LUTb - any LUT
public static final int NumJoinInputsEx(NodeLUT a,
NodeLUT b)
a - LUTb - LUT
public void permutateInputs(int[] pi)
throws java.lang.Exception
pi - permutation (pi[source_index]=destination_index), must be same length as width-1
public void permutateInputsInv(int[] pi)
throws java.lang.Exception
pi - inverse permutation (pi[dest_index]=source_index), must be same length as width-1public final int calc(int inputs)
inputs - inputs passed to function, LSB is first parameterpublic java.lang.String toString()
public java.lang.Object clone()
public void duplicate(NodeLUT n)
n - node to copy data from
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||