|
Parameterized absolute value megafunction. Altera® recommends using the lpm_abs
function to replace all other types of absolute value functions.
Altera also recommends instantiating this function as described in Using the MegaWizard® Plug-In Manager.
This topic contains the following information:
FUNCTION lpm_abs (data[LPM_WIDTH-1..0]) WITH (LPM_WIDTH, ADDERTYPE) RETURNS (result[LPM_WIDTH-1..0], overflow);
COMPONENT lpm_abs GENERIC (LPM_WIDTH : POSITIVE; LPM_TYPE: STRING := "LPM_ABS"; LPM_HINT: STRING := "UNUSED"); PORT (data : IN STD_LOGIC_VECTOR(LPM_WIDTH-1 DOWNTO 0); result : OUT STD_LOGIC_VECTOR(LPM_WIDTH-1 DOWNTO 0); overflow: OUT STD_LOGIC); END COMPONENT;
The ADDERTYPE parameter is supported only for backward compatibility, but should not be used in newer projects. |
LIBRARY lpm; USE lpm.lpm_components.all;
INPUT PORTS
Port Name | Required | Description | Comments |
---|---|---|---|
data[] |
Yes | Signed number. | Input port LPM_WIDTH wide. |
OUTPUT PORTS
Port Name | Required | Description | Comments |
---|---|---|---|
result[] |
Yes | Absolute value of data[] . |
Output port LPM_WIDTH wide. |
overflow |
No | High if data = -2 ^
(LPM_WIDTH-1) . |
Two's complement allows one more negative number
than positive. The overflow port detects that singular instance and goes
high to indicate that no positive equivalent exists. |
Parameter | Type | Required | Description |
---|---|---|---|
LPM_WIDTH |
Integer | Yes | Width of the data[] and result[]
ports. |
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 | |
---|---|---|
data[LPM_WIDTH- 1. .0] |
result[LPM_WIDTH- 1. .0] |
overflow |
>= 0 | data[LPM_WIDTH- 1. .0] |
0 |
< 0 | data[LPM_WIDTH- 1. .0] |
0 |
100... | 100... | 1 |
The following table summarizes the resource usage for an lpm_abs
function used to implement a 16-bit absolute value converter with an up/down control and an overflow
output.
Design Goals | Design Results | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
Numbers of shared expanders used are shown in parentheses ( ).
This topic prints best in Landscape orientation. |
- PLDWorld - |
|
Created by chm2web html help conversion utility. |