| 
		 | 	
  
Parameterized latch megafunction. Altera® recommends that you use the lpm_latch function only if the aset port is needed; otherwise, you should use the LATCH primitive rather than lpm_latch for easier implementation and improved compilation time.
Altera also recommends instantiating this function as described in Using the MegaWizard® Plug-In Manager.
This topic contains the following information:
FUNCTION lpm_latch (data[LPM_WIDTH-1..0], gate, aclr, aset, aconst) WITH (LPM_WIDTH, LPM_AVALUE) RETURNS (q[LPM_WIDTH-1..0]);
The aconst port is provided only for backward compatibility, but should be left unconnected in newer projects. | 
 
COMPONENT lpm_latch
   GENERIC (LPM_WIDTH: POSITIVE;
      LPM_AVALUE: STRING := "UNUSED";
      LPM_PVALUE: STRING := "UNUSED";
      LPM_TYPE: STRING := "LPM_LATCH";
      LPM_HINT: STRING := "UNUSED");
   PORT (data: IN STD_LOGIC_VECTOR(LPM_WIDTH-1 DOWNTO 0);
      gate: IN STD_LOGIC;
      aclr, aset: IN STD_LOGIC := '0';
      q: OUT STD_LOGIC_VECTOR(LPM_WIDTH-1 DOWNTO 0));
END COMPONENT;
LIBRARY lpm; USE lpm.lpm_components.all;
INPUT PORTS
| Port Name | Required | Description | Comments | 
|---|---|---|---|
data[] | 
    No | Data input to the latch. | Input port LPM_WIDTH wide. If the 
      data[] input is not used, then either aset or 
      aclr inputs must be used. | 
  
gate | 
    Yes | Latch enable input. High = flow-through, low = latch. | |
aclr | 
    No | Asynchronous clear input. | Default = 0. Sets the latch to all 0s. If both 
      aset and aclr are used and both are asserted, 
      aclr is dominant. aset and aclr affect 
      the q[] outputs before the polarity is applied to the ports. | 
  
aset | 
    No | Asynchronous set input. | Default = 0. Sets q outputs to the 
      value specified by LPM_AVALUE, if that value is present, or 
      sets the count to all 1s. If both aset and aclr 
      are used and both are asserted, aclr is dominant. aset 
      and aclr affect the q[] outputs before polarity 
      is applied to the ports. | 
  
OUTPUT PORTS
| Port Name | Required | Description | Comments | 
|---|---|---|---|
q[] | 
    Yes | Data output from the latch. | Output port LPM_WIDTH wide. | 
  
| Parameter | Type | Required | Description | 
|---|---|---|---|
LPM_WIDTH | 
    Integer | Yes | Width of the data[] and q[] 
      ports. | 
  
LPM_AVALUE | 
    Integer / String | No | Constant value that is loaded when aset 
      is high. If omitted, defaults to all 1s. The LPM_AVALUE parameter 
      is limited to a maximum of 32 bits. Altera recommends that you specify this 
      value as a decimal number for AHDL designs. | 
  
LPM_HINT | 
    String | No | Allows you to specify Altera-specific 
      parameters in VHDL Design Files (.vhd). The default is "UNUSED". | 
  
LPM_TYPE | 
    String | No | Identifies the library of parameterized modules (LPM) entity name in VHDL Design Files. | 
| Inputs | Outputs | ||
|---|---|---|---|
| aclr | aset | gate | q[LPM_WIDTH-1..0] | 
  
| 1 | x | x | 000... | 
| 0 | 1 | x | 111... or LPM_AVALUE | 
  
| 0 | 0 | 1 | data[LPM_WIDTH-1..0] | 
  
| 0 | 0 | 0 | q[LPM_WIDTH-1..0] | 
  
Uses a single logic cell per bit.
| This topic prints best in Landscape orientation. | 
| 
       - PLDWorld -  | 
    
| 
       
  | 
  
| Created by chm2web html help conversion utility. |