4 LPM (Library of Parameterized Modules) is EIS-IS standard 103-A. It is
5 a standard library of abstract devices that are designed to be close
6 enough to the target hardware to be easily translated, yet abstract
7 enough to support a variety of target technologies without excessive
8 constraints. Icarus Verilog uses LPM internally to represent idealized
9 hardware, especially when doing target neutral synthesis.
11 In general, the user does not even see the LPM that Icarus Verilog
12 generates, because the LPM devices are translated into technology
13 specific devices by the final code generator or target specific
18 Internally, Icarus Verilog uses LPM devices to represent the design in
19 abstract, especially when synthesizing such functions as addition,
20 flip-flops, etc. The ``synth'' functor generates LPM modules when
21 interpreting procedural constructs. The functor generates the LPM
22 objects needed to replace a behavioral description, and uses
23 attributes to tag the devices with LPM properties.
25 Code generators need to understand the supported LPM devices so that
26 they can translate the devices into technology specific devices.