Altera Home Page
Literature Licensing
Buy On-Line Download

  Home   |   Products   |   Support   |   End Markets   |   Technology Center   |   Education & Events   |   Corporate   |   Buy On-Line  
  Devices   |   Design Software   |   Intellectual Property   |   Design Services   |   Dev. Kits/Cables   |   Literature  

 Products
      Overview
   Quartus II
      Quartus II Web Edition
   SOPC Builder
   DSP Builder
      ModelSim-Altera
   Legacy Software
          MAX+PLUS II
          MAX+PLUS II BASELINE
  
 Device Design Flows
      FPGA
      CPLD
      Structured ASIC
  
 Switching to Quartus II
      MAX+PLUS II Users
      ASIC Users
  
 Partners
   EDA Partners
      System Level Software
  
 Ordering & Downloading
      Ordering
      Downloading
      Licensing
  

Library of Parameterized Modules (LPM)

LPMIn recent years, programmable logic architectures have experienced dramatic increases in device density, complexity, performance, and features, creating new challenges for system designers. At the same time, designers are striving to maintain architecture independence without sacrificing silicon efficiency and to cut time-to-market for their new products.

At the beginning of the nineties, designers saw the need for electronic design automation (EDA) tools that included a standard set of functions supported by all EDA and integrated circuit (IC) vendors; the EDA tools of the day could not bridge the gap between architecture independence and efficiency. Schematic-based design entry, though providing superior efficiency, dealt with low level, technology-dependent functions. High-level design languages offered architecture independence, but not without a significant loss of silicon efficiency and performance. The library of parameterized modules (LPM), accepted as an Electronic Industries Association (EIA) interim standard in 1993, was a first step to meeting designers' needs.

What is the LPM?

The LPM standard is an extension to the Electronic Design Interface Format (EDIF), which is an industry-standard syntax for transferring designs between the tools of different EDA vendors. Before the LPM, EDIF netlist files would typically contain architecture-specific logic functions. The LPM provides an architecture-independent library of logic functions or modules that are parameterized to achieve scalability and adaptability. Designers can vary the parameters to represent a wide variety of logic functions, greatly simplifying design entry tasks. The LPM is supported by most EDA tool vendors, including Altera's partners in the ACCESS® program: Cadence, Exemplar, Mentor Graphics, Synopsys, Synplicity, and Viewlogic. Altera has supported the standard since 1993 and includes LPM functions with the Quartus™ and MAX+PLUS® II software.

LPM Support in the Quartus II and MAX+PLUS II Software

Altera has implemented parameterized modules from the LPM version 2.1.0 that offer architecture-independent design entry for all devices supported by the Quartus II and MAX+PLUS II software. The Quartus II and MAX+PLUS II Compiler includes built-in compilation support for LPM functions used in schematic, Altera Hardware Description Language (AHDL), Very High Speed Integrated Circuit Hardware Description Language (VHDL), Verilog HDL, and EDIF Input Files (.edf).

Table 1 lists the LPM functions available in the Quartus II and MAX+PLUS II software.

Table 1. LPM Functions
Type Function Description
Gates lpm_and Parameterized AND gate
lpm_bustri Parameterized tri-state buffer
lpm_clshift Parameterized combinatorial logic shifter or barrel shifter
lpm_constant Parameterized constant generator
lpm_decode Parameterized decoder
lpm_inv Parameterized inverter
lpm_mux Parameterized multiplexer
lpm_or Parameterized OR gate
lpm_xor Parameterized XOR gate
Arithmetic Components lpm_abs Parameterized absolute value megafunction
lpm_add_sub Parameterized adder/subtractor
lpm_compare Parameterized comparator
lpm_counter Parameterized counter
lpm_mult Parameterized multiplier
Storage Components lpm_dff Parameterized D-type flipflop and shift register
lpm_ff Parameterized flipflop
lpm_latch Parameterized latch
lpm_ram_dq Parameterized RAM with separate input and output ports
lpm_ram_io Parameterized RAM with a single I/O port
lpm_rom Parameterized ROM
lpm_shiftreg Parameterized shift register
lpm_tff Parameterized T-type flipflop

Implementing LPM Functions

Instructions for implementing LPM functions in Quartus II and MAX+PLUS II designs with AHDL, Verilog HDL, VHDL, and the Graphic Editor can be found in Quartus II and MAX+PLUS II ACCESS Key Guidelines. The Quartus II and MAX+PLUS II MegaWizard® Plug-In Manager also provides a wizard to help you easily create custom megafunction variations in AHDL, Verilog HDL, VHDL, or Graphic Editor schematic designs for all supported LPM functions.

Instructions for implementing LPM functions using tools from the ACCESS partners and MAX+PLUS II software can be found in the NativeLink®  Guidelines and MAX+PLUS II ACCESS Key Guidelines.

Altera Megafunctions

In addition to the LPM functions and other parameterized megafunctions that are provided with the Quartus II and MAX+PLUS II software, Altera offers a complete library of megafunctions, including Altera MegaCore™ functions and megafunctions from the Altera Megafunction Partners Program (AMPPSM). The majority of these functions can be test-driven for free with the OpenCore™ feature, which permits designers to instantiate and simulate a MegaCore or AMPP function in their design before licensing.

Related Links:

  Please Give Us Feedback