aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2020-04-11 07:58:46 +0200
committerTristan Gingold <tgingold@free.fr>2020-04-11 07:58:46 +0200
commit077dae8aaa89cd74f18190a0de0d4b501935b39c (patch)
tree4be9fabdd40b667eea9771c723489711590ff4f9 /src
parent06ee1499b50458cd23118b99b3727f8a08d847bd (diff)
downloadghdl-077dae8aaa89cd74f18190a0de0d4b501935b39c.tar.gz
ghdl-077dae8aaa89cd74f18190a0de0d4b501935b39c.tar.bz2
ghdl-077dae8aaa89cd74f18190a0de0d4b501935b39c.zip
synth: handle more operators for synopsys packages. Fix #1207
Diffstat (limited to 'src')
-rw-r--r--src/synth/synth-oper.adb9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/synth/synth-oper.adb b/src/synth/synth-oper.adb
index 3d4d4769d..1c8560074 100644
--- a/src/synth/synth-oper.adb
+++ b/src/synth/synth-oper.adb
@@ -871,7 +871,8 @@ package body Synth.Oper is
return Synth_Dyadic_Int_Sgn (Id_Sub, Left, Right, Expr);
when Iir_Predefined_Ieee_Numeric_Std_Sub_Sgn_Sgn
| Iir_Predefined_Ieee_Numeric_Std_Sub_Sgn_Log
- | Iir_Predefined_Ieee_Numeric_Std_Sub_Log_Sgn =>
+ | Iir_Predefined_Ieee_Numeric_Std_Sub_Log_Sgn
+ | Iir_Predefined_Ieee_Std_Logic_Signed_Sub_Slv_Slv =>
-- "-" (Signed, Signed)
return Synth_Dyadic_Sgn_Sgn (Id_Sub, Left, Right, Expr);
@@ -1523,7 +1524,8 @@ package body Synth.Oper is
-- SIGNED to Integer.
return Create_Value_Net
(Synth_Sresize (L, Res_Typ.W, Expr), Res_Typ);
- when Iir_Predefined_Ieee_Numeric_Std_Resize_Uns_Nat =>
+ when Iir_Predefined_Ieee_Numeric_Std_Resize_Uns_Nat
+ | Iir_Predefined_Ieee_Std_Logic_Arith_Ext =>
declare
W : Width;
begin
@@ -1536,7 +1538,8 @@ package body Synth.Oper is
(Synth_Uresize (Get_Net (L), W, Expr),
Create_Vec_Type_By_Length (W, Logic_Type));
end;
- when Iir_Predefined_Ieee_Numeric_Std_Resize_Sgn_Nat =>
+ when Iir_Predefined_Ieee_Numeric_Std_Resize_Sgn_Nat
+ | Iir_Predefined_Ieee_Std_Logic_Arith_Sxt =>
declare
W : Width;
begin