hades.models
Class StdLogic1164

java.lang.Object
  extended byhades.models.StdLogic1164
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
Const1164

public class StdLogic1164
extends java.lang.Object
implements java.io.Serializable

StdLogic1164: represents the IEEE StdLogic1164 multivalue logic.

For a general description of the 1164 logic model and VHDL-like resolution functions, see the original [IEEE 1076] and [IEEE 1164] standards documentation.

All standard logical operations by default create new instances of StdLogic1164 for the result value. You are encouraged to use these methods whenever possible. For example: StdLogic1164 input_A = new StdLogic1164( StdLogic1164._0 ); StdLogic1164 input_B = new StdLogic1164( StdLogic1164._X ); StdLogic1164 result = StdLogic1164.and( input_A, input_B ); System.out.println( "result=" + result + " " + result.getChar() );

To increase performance and to minimize garbage-collection overhead, the class also includes quick setTo variants of all logical operations, which store the resulting StdLogic1164 value into a buffer object provided (passed in) by the user. Because of the possibility of multiple old (hidden) references to the buffer object, these methods should only be used when necessary. Use with care!

See Also:
Serialized Form

Field Summary
static int _0
           
static int _1
           
static int _D
           
static int _H
           
static int _L
           
static int _U
           
static int _W
           
static int _X
           
static int _Z
           
(package private) static int[][] AND_TABLE
           
(package private) static int[] BUF_TABLE
           
static char[] chars
           
static java.awt.Color[] colors
           
(package private) static int[] NOT_TABLE
           
(package private) static int[][] OR_TABLE
           
(package private) static int[][] RESOLUTION_TABLE
           
(package private) static boolean[] UXZ_TABLE
           
(package private) static int[][] XOR_TABLE
           
 
Constructor Summary
StdLogic1164()
          construct an 'undefined' StdLogic1164 object
StdLogic1164(char c)
          try to construct a StdLogic1164 value from a char 'U' ...
StdLogic1164(int v)
          construct a StdLogic1164 object with given value in the range _U ..
StdLogic1164(java.lang.Integer I)
          construct a StdLogic1164 object with given value in the range _U ..
 
Method Summary
static StdLogic1164[] and(StdLogic1164[] A, StdLogic1164[] B)
          return an array with the bitwise 'anded' inputs
static StdLogic1164 and(StdLogic1164 a, StdLogic1164 b)
          return the logical and of objects a and b
 StdLogic1164 copy()
          return a new StdLogic1164 object with the same value as the current object.
 boolean equals(java.lang.Object o)
           
 boolean equals(StdLogic1164 o)
           
static StdLogic1164 get_U()
          return a new "undefined" StdLogic1164 object with _U value.
 char getChar()
           
 java.awt.Color getColor()
          get the standard color for drawing of an object with the current logic value.
static java.awt.Color getColorFromIntValue(int i)
           
 java.lang.Object getValue()
           
 java.lang.String getValueString()
           
 int intValue()
           
 boolean is_0()
           
 boolean is_01()
           
 boolean is_0L()
           
 boolean is_1()
           
 boolean is_1H()
           
 boolean is_D()
           
 boolean is_H()
           
 boolean is_L()
           
 boolean is_U()
           
 boolean is_UXZ()
           
 boolean is_W()
           
 boolean is_X()
           
 boolean is_Z()
           
 boolean isHigh_1H()
          check whether this StdLogic1164 value is '1' or 'H'
 boolean isLow_0L()
           
static StdLogic1164 not(StdLogic1164 a)
          return the logical not of object a
static StdLogic1164[] not(StdLogic1164[] A)
          return an array with the bitwise negated inputs
static StdLogic1164[] or(StdLogic1164[] A, StdLogic1164[] B)
          return an array with the bitwise 'ored' inputs
static StdLogic1164 or(StdLogic1164 a, StdLogic1164 b)
          return the logical or of objects a and b
static StdLogic1164 resolve(StdLogic1164[] inputs)
          resolve(): the StdLogic1164 resolution function of any number of inputs
static void setColor(int i, java.awt.Color c)
           
 void setIntValue(int v)
           
 StdLogic1164 setToAnd(StdLogic1164 a, StdLogic1164 b)
           
 StdLogic1164 setToAnd(StdLogic1164 a, StdLogic1164 b, StdLogic1164 c)
           
 StdLogic1164 setToAnd(StdLogic1164 a, StdLogic1164 b, StdLogic1164 c, StdLogic1164 d)
           
 StdLogic1164 setToBuffered(StdLogic1164 a)
          return the logical output of a non-inverting buffer of object a, stored into the current object.
 StdLogic1164 setToCopy(StdLogic1164 a)
          return a copy of object a, stored into the current object
 StdLogic1164 setToInvert(StdLogic1164 a)
          return the logical NOT of object a, stored into the current object.
 StdLogic1164 setToNand(StdLogic1164 a, StdLogic1164 b)
           
 StdLogic1164 setToNand(StdLogic1164 a, StdLogic1164 b, StdLogic1164 c)
           
 StdLogic1164 setToNand(StdLogic1164 a, StdLogic1164 b, StdLogic1164 c, StdLogic1164 d)
           
 StdLogic1164 setToNor(StdLogic1164 a, StdLogic1164 b)
           
 StdLogic1164 setToNor(StdLogic1164 a, StdLogic1164 b, StdLogic1164 c)
           
 StdLogic1164 setToNor(StdLogic1164 a, StdLogic1164 b, StdLogic1164 c, StdLogic1164 d)
           
 StdLogic1164 setToOr(StdLogic1164 a, StdLogic1164 b)
           
 StdLogic1164 setToOr(StdLogic1164 a, StdLogic1164 b, StdLogic1164 c)
           
 StdLogic1164 setToOr(StdLogic1164 a, StdLogic1164 b, StdLogic1164 c, StdLogic1164 d)
           
 StdLogic1164 setToResolve(StdLogic1164[] inputs)
          the StdLogic1164 resolution function of any number of inputs, stored into the current object.
 StdLogic1164 setToXnor(StdLogic1164 a, StdLogic1164 b)
           
 StdLogic1164 setToXor(StdLogic1164 a, StdLogic1164 b)
           
 void setValue(char c)
          set a new value for the current StdLogic1164 from the character values 'u' 'U' 'x' 'X' '0' '1' 'z' 'Z' 'w' 'W' 'l' 'L' 'h' 'H' 'd' 'D' '-' For other input values, the method does nothing.
 void setValue(java.lang.Object o)
           
 java.lang.String toString()
          toString() - the usual info method
static StdLogic1164[] xor(StdLogic1164[] A, StdLogic1164[] B)
          return an array with the bitwise 'xored' inputs
static StdLogic1164 xor(StdLogic1164 a, StdLogic1164 b)
          return the logical xor of objects a and b
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_U

public static final int _U
See Also:
Constant Field Values

_X

public static final int _X
See Also:
Constant Field Values

_0

public static final int _0
See Also:
Constant Field Values

_1

public static final int _1
See Also:
Constant Field Values

_Z

public static final int _Z
See Also:
Constant Field Values

_W

public static final int _W
See Also:
Constant Field Values

_L

public static final int _L
See Also:
Constant Field Values

_H

public static final int _H
See Also:
Constant Field Values

_D

public static final int _D
See Also:
Constant Field Values

chars

public static final char[] chars

colors

public static java.awt.Color[] colors

BUF_TABLE

static final int[] BUF_TABLE

NOT_TABLE

static final int[] NOT_TABLE

AND_TABLE

static final int[][] AND_TABLE

OR_TABLE

static final int[][] OR_TABLE

XOR_TABLE

static final int[][] XOR_TABLE

RESOLUTION_TABLE

static final int[][] RESOLUTION_TABLE

UXZ_TABLE

static final boolean[] UXZ_TABLE
Constructor Detail

StdLogic1164

public StdLogic1164()
construct an 'undefined' StdLogic1164 object


StdLogic1164

public StdLogic1164(java.lang.Integer I)
construct a StdLogic1164 object with given value in the range _U .. _D


StdLogic1164

public StdLogic1164(int v)
construct a StdLogic1164 object with given value in the range _U .. _D


StdLogic1164

public StdLogic1164(char c)
try to construct a StdLogic1164 value from a char 'U' ... 'D' Illegal input chars result in the value 'U'.

Method Detail

setValue

public void setValue(char c)
set a new value for the current StdLogic1164 from the character values 'u' 'U' 'x' 'X' '0' '1' 'z' 'Z' 'w' 'W' 'l' 'L' 'h' 'H' 'd' 'D' '-' For other input values, the method does nothing.


get_U

public static StdLogic1164 get_U()
return a new "undefined" StdLogic1164 object with _U value.


copy

public StdLogic1164 copy()
return a new StdLogic1164 object with the same value as the current object.


getValue

public final java.lang.Object getValue()

intValue

public final int intValue()

setValue

public final void setValue(java.lang.Object o)

setIntValue

public void setIntValue(int v)

equals

public boolean equals(StdLogic1164 o)

equals

public boolean equals(java.lang.Object o)

not

public static final StdLogic1164 not(StdLogic1164 a)
return the logical not of object a


or

public static final StdLogic1164 or(StdLogic1164 a,
                                    StdLogic1164 b)
return the logical or of objects a and b


and

public static final StdLogic1164 and(StdLogic1164 a,
                                     StdLogic1164 b)
return the logical and of objects a and b


xor

public static final StdLogic1164 xor(StdLogic1164 a,
                                     StdLogic1164 b)
return the logical xor of objects a and b


resolve

public static final StdLogic1164 resolve(StdLogic1164[] inputs)
resolve(): the StdLogic1164 resolution function of any number of inputs


not

public static final StdLogic1164[] not(StdLogic1164[] A)
return an array with the bitwise negated inputs


and

public static final StdLogic1164[] and(StdLogic1164[] A,
                                       StdLogic1164[] B)
return an array with the bitwise 'anded' inputs


or

public static final StdLogic1164[] or(StdLogic1164[] A,
                                      StdLogic1164[] B)
return an array with the bitwise 'ored' inputs


xor

public static final StdLogic1164[] xor(StdLogic1164[] A,
                                       StdLogic1164[] B)
return an array with the bitwise 'xored' inputs


setToCopy

public StdLogic1164 setToCopy(StdLogic1164 a)
return a copy of object a, stored into the current object


setToBuffered

public StdLogic1164 setToBuffered(StdLogic1164 a)
return the logical output of a non-inverting buffer of object a, stored into the current object.


setToInvert

public StdLogic1164 setToInvert(StdLogic1164 a)
return the logical NOT of object a, stored into the current object.


setToAnd

public StdLogic1164 setToAnd(StdLogic1164 a,
                             StdLogic1164 b)

setToAnd

public StdLogic1164 setToAnd(StdLogic1164 a,
                             StdLogic1164 b,
                             StdLogic1164 c)

setToAnd

public StdLogic1164 setToAnd(StdLogic1164 a,
                             StdLogic1164 b,
                             StdLogic1164 c,
                             StdLogic1164 d)

setToNand

public StdLogic1164 setToNand(StdLogic1164 a,
                              StdLogic1164 b)

setToNand

public StdLogic1164 setToNand(StdLogic1164 a,
                              StdLogic1164 b,
                              StdLogic1164 c)

setToNand

public StdLogic1164 setToNand(StdLogic1164 a,
                              StdLogic1164 b,
                              StdLogic1164 c,
                              StdLogic1164 d)

setToOr

public StdLogic1164 setToOr(StdLogic1164 a,
                            StdLogic1164 b)

setToOr

public StdLogic1164 setToOr(StdLogic1164 a,
                            StdLogic1164 b,
                            StdLogic1164 c)

setToOr

public StdLogic1164 setToOr(StdLogic1164 a,
                            StdLogic1164 b,
                            StdLogic1164 c,
                            StdLogic1164 d)

setToNor

public StdLogic1164 setToNor(StdLogic1164 a,
                             StdLogic1164 b)

setToNor

public StdLogic1164 setToNor(StdLogic1164 a,
                             StdLogic1164 b,
                             StdLogic1164 c)

setToNor

public StdLogic1164 setToNor(StdLogic1164 a,
                             StdLogic1164 b,
                             StdLogic1164 c,
                             StdLogic1164 d)

setToXnor

public StdLogic1164 setToXnor(StdLogic1164 a,
                              StdLogic1164 b)

setToXor

public StdLogic1164 setToXor(StdLogic1164 a,
                             StdLogic1164 b)

setToResolve

public StdLogic1164 setToResolve(StdLogic1164[] inputs)
the StdLogic1164 resolution function of any number of inputs, stored into the current object.


isLow_0L

public boolean isLow_0L()

isHigh_1H

public boolean isHigh_1H()
check whether this StdLogic1164 value is '1' or 'H'


is_1H

public boolean is_1H()

is_0L

public boolean is_0L()

is_U

public boolean is_U()

is_X

public boolean is_X()

is_0

public boolean is_0()

is_1

public boolean is_1()

is_Z

public boolean is_Z()

is_W

public boolean is_W()

is_L

public boolean is_L()

is_H

public boolean is_H()

is_D

public boolean is_D()

is_01

public boolean is_01()

is_UXZ

public boolean is_UXZ()

getColor

public final java.awt.Color getColor()
get the standard color for drawing of an object with the current logic value.


getColorFromIntValue

public static final java.awt.Color getColorFromIntValue(int i)

setColor

public static void setColor(int i,
                            java.awt.Color c)

getChar

public final char getChar()

getValueString

public java.lang.String getValueString()

toString

public java.lang.String toString()
toString() - the usual info method