ID: N-001
Proposed by: Jim Lewis, Jim@SynthWorks.com 07/11/2002
Analyzed by:
Resolved:
Summary:
Add array/scalar addition and subtraction.
Targeted at simplifying add with carry.
Before this enhancement:
Y_unsigned <= A_unsigned + B_unsigned + ("0" & Cin_stdulogic) ;
With this enhancement:
Y_unsigned <= A_unsigned + B_unsigned + Cin_stdulogic ;
Detail:
Add the following eight functions to numeric_std, numeric_bit,
the proposed numeric_unsigned, and the proposed numeric_bit_unsigned.
For the functions below the std_ulogic type operand is interpreted
as a Unsigned'('0' & passed_value) when the other operand is unsigned,
and as a Signed'('0' & passed_value) when the other operand
is a signed value.
--J1
function "+"(L: unsigned; R: std_ulogic) return unsigned;
--J2
function "+"(L: std_ulogic; R: unsigned) return unsigned;
--J3
function "+"(L: signed; R: std_ulogic) return signed;
--J4
function "+"(L: std_ulogic; R: signed) return signed;
--J5
function "-"(L: unsigned; R: std_ulogic) return unsigned;
if L < R, result is consistent with: L - unsigned'('0'&R)
--J6
function "-"(L: std_ulogic; R: unsigned) return unsigned;
if L < R, result is consistent with: unsigned'('0'&L) - R
--J7
function "-"(L: signed; R: std_ulogic) return signed;
--J8
function "-"(L: std_ulogic; R: signed) return signed;
Analysis:
[To be done by the Working Group]
E-mail discussion
Resolution:
[To be done by the Working Group]
Back to the numeric package proposals
Please send feedback to David Bishop
dbishop@vhdl.org