- A Logic Circuit Simulation Library in C++





lcs Namespace Reference


Detailed Description

All classes in libLCS are defined under the lcs namespace.


Classes

class  And
class  Array1D
class  Bit
class  BitBuff
class  Buffer
class  Bus
class  ChangeMonitor
class  Clock
class  ContinuousAssignmentModule
class  Counter
class  DataPtr
class  DelayBusPair
class  DelayExprPair
class  DelayStatePair
class  DFlipFlop
class  Exception
class  Expression
class  Expression< bits, BUS_EXPR, void, void >
class  Expression< bits, BITBUFF_EXPR, void, void >
class  Expression< bits, ONES_COMPLEMENT_EXPR, void, InExprType >
class  FullAdder
class  FanOut
class  FrequencyDivider
class  HiddenModuleManager
class  InputBus
class  InOutBus
class  Iterator
class  JKFlipFlop
class  Line
class  ListIterator
class  List
class  ListNode
class  ListNodePtr
class  Module
class  MultipleClockException
class  Nand
class  Nor
class  Not
class  NullClockException
class  Or
class  OutOfRangeException
class  Queue
class  PriorityQueue
class  Register
class  ShiftReg
class  Simulation
class  SystemTimer
class  Tester
class  TickListener
class  VCDManager
class  Xor

Enumerations

enum  ExprType {
  BUS_EXPR = 3072, BITWISE_AND_EXPR = 3073, BITWISE_OR_EXPR = 3074, BITWISE_XOR_EXPR = 3075,
  ONES_COMPLEMENT_EXPR = 3076, BITBUFF_EXPR = 3077
}
enum  LineState { LOW = 0, HIGH = 1, UNKNOWN = 2, HIGH_IMPEDENCE = 3 }
enum  LineEvent { LINE_STATE_CHANGE = 1024, LINE_POS_EDGE = 1025, LINE_NEG_EDGE = 1026 }
enum  PulseEdge { POS_EDGE = 2048, NEG_EDGE = 2049 }
enum  Shift { LEFT_SHIFT = 7000, RIGHT_SHIFT = 7001 }
enum  SortOrder { ASCENDING = 6000, DESCENDING = 6001 }
enum  TimeUnit {
  FEMTO_SECOND = 4096, PICO_SECOND = 4097, NANO_SECOND = 4098, MICRO_SECOND = 4099,
  MILLI_SECOND = 4100, SECOND = 4101
}
enum  DumpOption { DUMP_OFF = 5020, DUMP_ON = 5021 }


Enumeration Type Documentation

enum lcs::ExprType

An enumeration enumerating types for the various kinds of operations which can be used in an expression. The expression should consist of operands of type lcs::InputBus (and hence, can be of type lcs::Bus) or lcs::BitBuffer, or bit-selects of busses or bit buffers.

Enumerator:
BUS_EXPR  Indicates an expression which consists of a single bus.
BITWISE_AND_EXPR  Indicates an expression which is a bitwise AND operation.
BITWISE_OR_EXPR  Indicates an expression which is a bitwise OR operation.
BITWISE_XOR_EXPR  Indicates an expression which is a bitwise XOR operation.
ONES_COMPLEMENT_EXPR  Indicates an expression which is a one's complement operation.
BITBUFF_EXPR  Indicates an expression which consists of a single bit buffer.

enum lcs::LineState

An enumerated set of data types which denote the state of a data line. A line can have four possible states: LOW, HIGH, UNKNOWN, HIGH_IMPEDENCE. Each of these states denote a single bit value.Click on each state to know more about them.

Enumerator:
LOW  A state which denotes a logic level of 0. It is displayed on the screen as the character '0'.
HIGH  A state which denotes a logic level of 1. It is displayed on the screen as the character '1'.
UNKNOWN  A state which denotes an unknown logic level. It is displayed on the screen as the character 'x'.
HIGH_IMPEDENCE  A state which denotes a high imepedence line. It is displayed on the screen as the character 'z'.

enum lcs::LineEvent

An enumeration to define possible of lines events. A line event occurs when the state of a line changes. A line event can occur in three different ways: 1. When the line state changes, 2. When the state of the line is changing from lcs::LOW to lcs::HIGH, and 3. When the state of the line is changing from lcs::HIGH to lcs::LOW.

Enumerator:
LINE_STATE_CHANGE  The value which denotes a line state change event.
LINE_POS_EDGE  The value which denotes positive edge event, or the event of the line state changing from lcs::LOW to lcs::HIGH event.
LINE_NEG_EDGE  The value which denotes negetive edge event, or the event of the line state changing from lcs::HIGH to lcs::LOW event.

enum lcs::PulseEdge

An enumeration to define the two possible edge types of pulse signals.

Enumerator:
POS_EDGE  The value which denotes a positive edge of a pulse signal.
NEG_EDGE  The value which denotes a negetive edge of a pulse signal.

enum lcs::Shift

An enumerated set of data types which denote the type of shift, left or right.

Enumerator:
LEFT_SHIFT  Denotes a left shift.
RIGHT_SHIFT  Denotes a right shift.

enum lcs::SortOrder

An enumerated type which enumerates the various possible sorting orders.

Enumerator:
ASCENDING  Indicates an ascending order.
DESCENDING  Indicates a descending order.

enum lcs::TimeUnit

An enumeration which specifies types for the unit which can be associated with the system time.

Enumerator:
FEMTO_SECOND  Indicates a femto second.
PICO_SECOND  Indicates a pico second.
NANO_SECOND  Indicates a nano second.
MICRO_SECOND  Indicates a micro second.
MILLI_SECOND  Indicates a milli second.
SECOND  Indicates a second.

enum lcs::DumpOption

An enumerated set of options which indicate if changes in the values of a variable should be dumped into a VCD file or not.

Enumerator:
DUMP_OFF  Indicates that the variable values should not be dumped into a VCD file.
DUMP_ON  Indicates that the variable values should be dumped into a VCD file.


Copyright © 2006, 2007 Siva Chandra