LPM Module Specification (2 1 0)


This section describes in detail the functionality and semantics of each module in the LPM 210 specification.

Module Categories

The LPM modules fall into five major categories:

LPM_CONSTANT Constant value
LPM_INV LPM_AND LPM_OR LPM_XOR Basic combinatorial gates
LPM_BUSTRI Tri-State buffer
LPM_MUX Multiplexer
LPM_CLSHIFT Combinatorial shifter
LPM_ADD_SUB Adder/Subtracter
LPM_COMPARE Comparator
LPM_MULT Multiplier
LPM_ABS Absolute Value
LPM_ROM Read Only Memory
LPM_LATCH Transparent latch
LPM_FF D-type or T-type flip-flop
LPM_SHIFTREG Universal Shift register
LPM_RAM_DQ LPM_RAM_IO Random Access Memory
LPM_FSM Finite state machine
LPM_TTABLE Truth table
LPM_INPAD LPM_OUTPAD LPM_BIPAD Input/Output/Bidrectional pads

Note that truth table, finite state machine, RAM and ROM modules require more information than can be contained in the LPM netlist to define their function. These modules use supporting files to describe their function. These supporting files use the standard Intel HEX, Berkeley PLA and KISS formats.

Logic Conventions

Where logic equations or logic models are used, the following symbols are used for both single bit operations and bit-wise vector operations:

OR |
NOT or INVERT ~ on vectors this is 1's complement
NOR ~|
LEFT SHIFT << vector only
RIGHT SHIFT >> vector only
Two's Complement or Unsigned Add +
Two's Complement or Unsigned Subtract -
Two's Complement or Unsigned Multiply X

Drawing Conventions

The drawings of all modules in this document use the following conventions (shown in the figure below):

Data Inputs Are shown going into the left of the module symbol.
Data Outputs Are shown coming out of the right side of the module symbol except on bidir module symbols that have bi-directional port where they are on the left side.
Control Inputs Are shown going into the top of the module symbol.
Status Outputs Are shown coming out of the bottom of the module symbol.
Data I/Os Are shown on the right side of the bidir module symbol.
Width & Size Width refers to LPM_Width and Size refers to LPM_Size

Scan Test Conventions

All of the modules that have scan-test ports (LPM_COUNTER, LPM_LATCH, LPM_FF, LPM_FSM) use the same convention. The TestOut port always has the same value as the most significant bit of the output (Q or State). When TestEnab is high, the data on TestIn is shifted into the least significant bit of the associated register as the contents of the register are shifted towards the most significant bit.


Home Up Next

Copyright 1998 University of Manchester