diff options
author | Tristan Gingold <tgingold@free.fr> | 2020-06-19 07:29:21 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2020-06-19 07:29:21 +0200 |
commit | b07491996ae541300a1e2c82a5ccfd9414023bc6 (patch) | |
tree | b3fa4b63d3721c7d14ef0c53450e56695fbd93f9 /src/synth | |
parent | cfc4b80aa2fef5d58394241bcd157132f3ef54fd (diff) | |
download | ghdl-b07491996ae541300a1e2c82a5ccfd9414023bc6.tar.gz ghdl-b07491996ae541300a1e2c82a5ccfd9414023bc6.tar.bz2 ghdl-b07491996ae541300a1e2c82a5ccfd9414023bc6.zip |
synth: handle std_logic_signed.conv_integer. For ghdl/ghdl-yosys-plugin#126
Diffstat (limited to 'src/synth')
-rw-r--r-- | src/synth/synth-oper.adb | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/synth/synth-oper.adb b/src/synth/synth-oper.adb index 42c17af9b..e63baebe8 100644 --- a/src/synth/synth-oper.adb +++ b/src/synth/synth-oper.adb @@ -1615,21 +1615,22 @@ package body Synth.Oper is return Create_Value_Net (Get_Net (Ctxt, L), Res_Typ); when Iir_Predefined_Ieee_Numeric_Std_Touns_Nat_Nat_Uns - | Iir_Predefined_Ieee_Std_Logic_Arith_Conv_Unsigned_Int => + | Iir_Predefined_Ieee_Std_Logic_Arith_Conv_Unsigned_Int => return Synth_Conv_Vector (False); when Iir_Predefined_Ieee_Numeric_Std_Tosgn_Int_Nat_Sgn | Iir_Predefined_Ieee_Std_Logic_Arith_Conv_Vector_Int => return Synth_Conv_Vector (True); when Iir_Predefined_Ieee_Numeric_Std_Toint_Uns_Nat - | Iir_Predefined_Ieee_Std_Logic_Arith_Conv_Integer_Uns - | Iir_Predefined_Ieee_Std_Logic_Arith_Conv_Integer_Log - | Iir_Predefined_Ieee_Std_Logic_Unsigned_Conv_Integer => + | Iir_Predefined_Ieee_Std_Logic_Arith_Conv_Integer_Uns + | Iir_Predefined_Ieee_Std_Logic_Arith_Conv_Integer_Log + | Iir_Predefined_Ieee_Std_Logic_Unsigned_Conv_Integer => -- UNSIGNED to Natural. return Create_Value_Net (Synth_Uresize (Ctxt, Get_Net (Ctxt, L), Res_Typ.W, Expr), Res_Typ); when Iir_Predefined_Ieee_Numeric_Std_Toint_Sgn_Int - | Iir_Predefined_Ieee_Std_Logic_Arith_Conv_Integer_Sgn => + | Iir_Predefined_Ieee_Std_Logic_Arith_Conv_Integer_Sgn + | Iir_Predefined_Ieee_Std_Logic_Signed_Conv_Integer => -- SIGNED to Integer. return Create_Value_Net (Synth_Sresize (Ctxt, L, Res_Typ.W, Expr), Res_Typ); |