| 
		 | 	
  
Parameterized divider megafunction. Altera® recommends using lpm_divide rather than divide for divider functions. If you need extra features, however, you can use divide. The lpm_divide megafunction takes a numerator and a denominator and computes a quotient and a remainder.
Altera also recommends instantiating this function as described in Using the MegaWizard® Plug-In Manager.
This topic contains the following information:
FUNCTION lpm_divide (numer[LPM_WIDTHN-1..0], denom[LPM_WIDTHD-1..0], clock, aclr, clken) WITH (LPM_WIDTHN, LPM_WIDTHD, LPM_PIPELINE, LPM_NREPRESENTATION, LPM_DREPRESENTATION, MAXIMIZE_SPEED, LPM_REMAINDERPOSITIVE) RETURNS (quotient[LPM_WIDTHN-1..0], remain[LPM_WIDTHD-1..0];
COMPONENT lpm_divide
   GENERIC ( LPM_WIDTHN: POSITIVE;
      LPM_WIDTHD: POSITIVE;
      --LPM_WIDTHQ: POSITIVE;
      --LPM_WIDTHR: POSITIVE;	    
      LPM_NREPRESENTATION: STRING := "UNSIGNED";
      LPM_DREPRESENTATION: STRING := "UNSIGNED"; 
      LPM_REMAINDERPOSITIVE: STRING := "TRUE"; 	  
      LPM_PIPELINE: INTEGER := 0;
      LPM_TYPE: STRING := "LPM_DIVIDE";
      LPM_HINT: STRING := "UNUSED");
   PORT ( numer: IN STD_LOGIC_VECTOR(LPM_WIDTHN-1 DOWNTO 0);
      denom: IN STD_LOGIC_VECTOR(LPM_WIDTHD-1 DOWNTO 0);
      clock, aclr: IN STD_LOGIC := '0';
      clken: IN STD_LOGIC := '1'; 	  
      quotient: OUT STD_LOGIC_VECTOR(LPM_WIDTHN-1 DOWNTO 0);
      remain: OUT STD_LOGIC_VECTOR(LPM_WIDTHD-1 DOWNTO 0));
END COMPONENT;
LIBRARY lpm; USE lpm.lpm_components.all;
INPUT PORTS
| Port Name | Required | Description | Comments | 
|---|---|---|---|
numer[] | 
    Yes | Input port LPM_WIDTHN wide. | 
    |
denom[] | 
    Yes | Input port LPM_WIDTHD wide. | 
    |
clock | 
    No | Clock input for pipelined usage. | You must connect the clock input 
      if you set LPM_PIPELINE to a value other than 0. | 
  
clken | 
    No | Clock enable for pipelined usage. | |
aclr | 
    No | Asynchronous clear signal. | The aclr port may be used at any 
      time to reset the pipeline to all 0s asynchronously to the clock 
      input. | 
  
OUTPUT PORTS
| Port Name | Required | Description | Comments | 
|---|---|---|---|
quotient[] | 
    Yes | Output port LPM_WIDTHN wide. | 
    You must use either the quotient[] 
      or the remain[] ports. | 
  
remain[] | 
    Yes | Output port LPM_WIDTHD wide. | 
    You must use either the quotient[] 
      or the remain[] ports. | 
  
| Parameter | Type | Required | Description | 
|---|---|---|---|
LPM_WIDTHN | 
    Integer | Yes | Width of the numer[] and quotient[] 
      port. | 
  
LPM_WIDTHD | 
    Integer | Yes | Width of the denom[] and remain[] 
      port. | 
  
LPM_NREPRESENTATION | 
    String | No | Type of division performed: "SIGNED" or "UNSIGNED". The signed representation for all library of parameterized modules (LPM) megafunctions is two's complement. 
     | 
  
LPM_DREPRESENTATION | 
    String | No | Type of division performed: "SIGNED" or "UNSIGNED". The signed representation for all library of parameterized modules (LPM) megafunctions is two's complement.  | 
  
LPM_REMAINDERPOSITIVE | 
    String | No | Values are "TRUE" or "FALSE". If this parameter is set to "TRUE", then the value of the remain[] port must be greater than or equal to zero. If this parameter is set to "TRUE", then the value of the remain[] port is either zero, or the value is the same sign, either positive or negative, as the value of the numer port. In order to reduce area and improve speed, Altera recommends setting this parameter to "TRUE" in operations where the remainder must be positive or where the remainder is unimportant. | 
  
MAXIMIZE_SPEED | 
    Integer | No | Altera-specific 
      parameter. You can specify a value between 0 and 9. If used, the Quartus® II software 
      attempts to optimize a specific instance of the lpm_divide 
      function for speed rather than routability, and overrides the setting of the Optimization 
      Technique option in the Assignment Organizer  (Assignments menu). If MAXIMIZE_SPEED 
      is unused, the value of the Optimization Technique option is used 
      instead. If the setting for MAXIMIZE_SPEED is 6 or higher, 
      the Compiler optimizes lpm_divide megafunctions for higher 
      speed using carry chains; if the setting is 5 or less, the Compiler implements the design without carry chains. | 
  
LPM_PIPELINE | 
    Integer | No | Specifies the number of Clock cycles of latency 
      associated with the quotient[] and remain[] outputs. 
      A value of zero (0) indicates that no latency exists, and that a purely 
      combinatorial function will be instantiated. If omitted, the default is 
      0 (non-pipelined). You cannot specify a value for the LPM_PIPELINE 
      parameter that is higher than LPM_WIDTHN. | 
  
LPM_TYPE | 
    String | No | Identifies the library of parameterized modules (LPM) entity name in VHDL Design Files (.vhd). | 
LPM_HINT | 
    String | No | Allows you to specify Altera-specific 
      parameters in VHDL Design Files. The default is "UNUSED". | 
  
| TRUE | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
 
      
  | 
  ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| FALSE | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
 
      
  | 
  ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
       - PLDWorld -  | 
    
| 
       
  | 
  
| Created by chm2web html help conversion utility. |