aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth/netlists-gates.ads
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2020-01-20 07:55:19 +0100
committerTristan Gingold <tgingold@free.fr>2020-01-20 07:55:19 +0100
commitac830367cc0c979472cabb9173102d591817f98c (patch)
tree832d96741dfb5e075f105ef25db3b17a29674fea /src/synth/netlists-gates.ads
parent5ea993bae3c78ee8bdda3942be80fa38091f4591 (diff)
downloadghdl-ac830367cc0c979472cabb9173102d591817f98c.tar.gz
ghdl-ac830367cc0c979472cabb9173102d591817f98c.tar.bz2
ghdl-ac830367cc0c979472cabb9173102d591817f98c.zip
synth: add id_abs gate. For #1101
Diffstat (limited to 'src/synth/netlists-gates.ads')
-rw-r--r--src/synth/netlists-gates.ads21
1 files changed, 11 insertions, 10 deletions
diff --git a/src/synth/netlists-gates.ads b/src/synth/netlists-gates.ads
index e185ee085..bb5e64204 100644
--- a/src/synth/netlists-gates.ads
+++ b/src/synth/netlists-gates.ads
@@ -43,28 +43,29 @@ package Netlists.Gates is
subtype Dyadic_Module_Id is Module_Id range Id_And .. Id_Srem;
+ Id_Not : constant Module_Id := 18;
+ Id_Neg : constant Module_Id := 19;
+ Id_Abs : constant Module_Id := 20;
+
+ subtype Monadic_Module_Id is Module_Id range Id_Not .. Id_Abs;
+
-- Logical and arithmetic shifts.
-- FIXME: clarify right operand: width, large values
- Id_Lsl : constant Module_Id := 20;
- Id_Lsr : constant Module_Id := 21;
- Id_Asr : constant Module_Id := 22;
+ Id_Lsl : constant Module_Id := 22;
+ Id_Lsr : constant Module_Id := 23;
+ Id_Asr : constant Module_Id := 24;
subtype Shift_Module_Id is Module_Id range Id_Lsl .. Id_Asr;
-- Rotations.
-- FIXME: clarify right operand.
- Id_Rol : constant Module_Id := 23;
- Id_Ror : constant Module_Id := 24;
+ Id_Rol : constant Module_Id := 25;
+ Id_Ror : constant Module_Id := 26;
subtype Rotate_Module_Id is Module_Id range Id_Lsl .. Id_Asr;
subtype Shift_Rotate_Module_Id is Module_Id range Id_Lsl .. Id_Ror;
- Id_Not : constant Module_Id := 25;
- Id_Neg : constant Module_Id := 26;
-
- subtype Monadic_Module_Id is Module_Id range Id_Not .. Id_Neg;
-
Id_Eq : constant Module_Id := 27;
Id_Ne : constant Module_Id := 28;
Id_Ule : constant Module_Id := 29;