aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth
diff options
context:
space:
mode:
authorChristos Gentsos <christos.gentsos@cern.ch>2019-06-05 15:14:23 +0200
committerTristan Gingold <tgingold@free.fr>2019-06-06 18:46:43 +0200
commit5bafb1b3aaf6edebb5308a9c361844b4d4438b6a (patch)
treebd3c6ef51ac47fa24acd67e3f0b1f8c9f27316c9 /src/synth
parentd2b7c0556f702698b00351e43facd0ff93d409af (diff)
downloadghdl-5bafb1b3aaf6edebb5308a9c361844b4d4438b6a.tar.gz
ghdl-5bafb1b3aaf6edebb5308a9c361844b4d4438b6a.tar.bz2
ghdl-5bafb1b3aaf6edebb5308a9c361844b4d4438b6a.zip
synth: added support for vector "not" operation
Diffstat (limited to 'src/synth')
-rw-r--r--src/synth/synth-expr.adb9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/synth/synth-expr.adb b/src/synth/synth-expr.adb
index 39c5cc290..d13fc6cfc 100644
--- a/src/synth/synth-expr.adb
+++ b/src/synth/synth-expr.adb
@@ -526,12 +526,21 @@ package body Synth.Expr is
(Build_Monadic (Build_Context, Id, Get_Net (Operand)),
No_Range);
end Synth_Bit_Monadic;
+ function Synth_Vec_Monadic (Id : Monadic_Module_Id) return Value_Acc is
+ Op: constant Net := Get_Net (Operand);
+ begin
+ return Create_Value_Net
+ (Build_Monadic (Build_Context, Id, Op),
+ Create_Res_Range (Operand, Op));
+ end Synth_Vec_Monadic;
begin
case Def is
when Iir_Predefined_Error =>
return null;
when Iir_Predefined_Ieee_1164_Scalar_Not =>
return Synth_Bit_Monadic (Id_Not);
+ when Iir_Predefined_Ieee_1164_Vector_Not =>
+ return Synth_Vec_Monadic (Id_Not);
when others =>
Error_Msg_Synth
(+Loc,