aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2019-10-12 07:07:42 +0200
committerTristan Gingold <tgingold@free.fr>2019-10-13 18:54:22 +0200
commitb513a6170db4fe14eb6e885e859445d763633266 (patch)
tree5c9339dd6eb0183c678beacb12ebd00c9abd3414 /src/vhdl
parentf7300b2906b6c918c83b6037d7223e7409dd440e (diff)
downloadghdl-b513a6170db4fe14eb6e885e859445d763633266.tar.gz
ghdl-b513a6170db4fe14eb6e885e859445d763633266.tar.bz2
ghdl-b513a6170db4fe14eb6e885e859445d763633266.zip
vhdl: recognize std_logic_unsigned.conv_integer.
Handle more operators in synth.
Diffstat (limited to 'src/vhdl')
-rw-r--r--src/vhdl/vhdl-ieee-std_logic_unsigned.adb5
-rw-r--r--src/vhdl/vhdl-nodes.ads2
2 files changed, 7 insertions, 0 deletions
diff --git a/src/vhdl/vhdl-ieee-std_logic_unsigned.adb b/src/vhdl/vhdl-ieee-std_logic_unsigned.adb
index 9e2bb5269..c3b30be8e 100644
--- a/src/vhdl/vhdl-ieee-std_logic_unsigned.adb
+++ b/src/vhdl/vhdl-ieee-std_logic_unsigned.adb
@@ -184,6 +184,11 @@ package body Vhdl.Ieee.Std_Logic_Unsigned is
else
-- Monadic function.
case Get_Identifier (Decl) is
+ when Name_Conv_Integer =>
+ if Sign = Pkg_Unsigned then
+ Res :=
+ Iir_Predefined_Ieee_Std_Logic_Unsigned_Conv_Integer;
+ end if;
when others =>
null;
end case;
diff --git a/src/vhdl/vhdl-nodes.ads b/src/vhdl/vhdl-nodes.ads
index bd25fb805..8de95478b 100644
--- a/src/vhdl/vhdl-nodes.ads
+++ b/src/vhdl/vhdl-nodes.ads
@@ -5093,6 +5093,8 @@ package Vhdl.Nodes is
Iir_Predefined_Ieee_Std_Logic_Unsigned_Ne_Slv_Int,
Iir_Predefined_Ieee_Std_Logic_Unsigned_Ne_Int_Slv,
+ Iir_Predefined_Ieee_Std_Logic_Unsigned_Conv_Integer,
+
-- Std_Logic_Signed (synopsys extension).
Iir_Predefined_Ieee_Std_Logic_Signed_Add_Slv_Slv,
Iir_Predefined_Ieee_Std_Logic_Signed_Add_Slv_Int,