From 763c54b90a28f868fcd77957c420390a4ad768e7 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Sun, 19 Jan 2020 20:52:54 +0100 Subject: synth: handle more signed operations. For #1101 --- src/vhdl/vhdl-ieee-numeric.adb | 12 ++++++------ src/vhdl/vhdl-nodes.ads | 4 ++++ 2 files changed, 10 insertions(+), 6 deletions(-) (limited to 'src/vhdl') diff --git a/src/vhdl/vhdl-ieee-numeric.adb b/src/vhdl/vhdl-ieee-numeric.adb index 2bb43e1f8..9b93ffacc 100644 --- a/src/vhdl/vhdl-ieee-numeric.adb +++ b/src/vhdl/vhdl-ieee-numeric.adb @@ -52,8 +52,8 @@ package body Vhdl.Ieee.Numeric is (Arg_Vect_Vect => Iir_Predefined_Ieee_Numeric_Std_Add_Sgn_Sgn, Arg_Vect_Scal => Iir_Predefined_Ieee_Numeric_Std_Add_Sgn_Int, Arg_Scal_Vect => Iir_Predefined_Ieee_Numeric_Std_Add_Int_Sgn, - Arg_Vect_Log => Iir_Predefined_None, - Arg_Log_Vect => Iir_Predefined_None)), + Arg_Vect_Log => Iir_Predefined_Ieee_Numeric_Std_Add_Sgn_Log, + Arg_Log_Vect => Iir_Predefined_Ieee_Numeric_Std_Add_Log_Sgn)), Pkg_Bit => (others => (others => Iir_Predefined_None))); @@ -64,14 +64,14 @@ package body Vhdl.Ieee.Numeric is (Arg_Vect_Vect => Iir_Predefined_Ieee_Numeric_Std_Sub_Uns_Uns, Arg_Vect_Scal => Iir_Predefined_Ieee_Numeric_Std_Sub_Uns_Nat, Arg_Scal_Vect => Iir_Predefined_Ieee_Numeric_Std_Sub_Nat_Uns, - Arg_Vect_Log => Iir_Predefined_None, - Arg_Log_Vect => Iir_Predefined_None), + Arg_Vect_Log => Iir_Predefined_Ieee_Numeric_Std_Sub_Uns_Log, + Arg_Log_Vect => Iir_Predefined_Ieee_Numeric_Std_Sub_Log_Uns), Type_Signed => (Arg_Vect_Vect => Iir_Predefined_Ieee_Numeric_Std_Sub_Sgn_Sgn, Arg_Vect_Scal => Iir_Predefined_Ieee_Numeric_Std_Sub_Sgn_Int, Arg_Scal_Vect => Iir_Predefined_Ieee_Numeric_Std_Sub_Int_Sgn, - Arg_Vect_Log => Iir_Predefined_None, - Arg_Log_Vect => Iir_Predefined_None)), + Arg_Vect_Log => Iir_Predefined_Ieee_Numeric_Std_Sub_Sgn_Log, + Arg_Log_Vect => Iir_Predefined_Ieee_Numeric_Std_Sub_Log_Sgn)), Pkg_Bit => (others => (others => Iir_Predefined_None))); diff --git a/src/vhdl/vhdl-nodes.ads b/src/vhdl/vhdl-nodes.ads index ca02854fc..0f9a4c213 100644 --- a/src/vhdl/vhdl-nodes.ads +++ b/src/vhdl/vhdl-nodes.ads @@ -5489,9 +5489,13 @@ package Vhdl.Nodes is Iir_Predefined_Ieee_Numeric_Std_Sub_Uns_Uns, Iir_Predefined_Ieee_Numeric_Std_Sub_Uns_Nat, Iir_Predefined_Ieee_Numeric_Std_Sub_Nat_Uns, + Iir_Predefined_Ieee_Numeric_Std_Sub_Uns_Log, + Iir_Predefined_Ieee_Numeric_Std_Sub_Log_Uns, Iir_Predefined_Ieee_Numeric_Std_Sub_Sgn_Sgn, Iir_Predefined_Ieee_Numeric_Std_Sub_Sgn_Int, Iir_Predefined_Ieee_Numeric_Std_Sub_Int_Sgn, + Iir_Predefined_Ieee_Numeric_Std_Sub_Sgn_Log, + Iir_Predefined_Ieee_Numeric_Std_Sub_Log_Sgn, Iir_Predefined_Ieee_Numeric_Std_Mul_Uns_Uns, Iir_Predefined_Ieee_Numeric_Std_Mul_Uns_Nat, -- cgit v1.2.3