diff options
author | Tristan Gingold <tgingold@free.fr> | 2020-01-20 07:55:19 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2020-01-20 07:55:19 +0100 |
commit | ac830367cc0c979472cabb9173102d591817f98c (patch) | |
tree | 832d96741dfb5e075f105ef25db3b17a29674fea /src/synth/netlists-gates.ads | |
parent | 5ea993bae3c78ee8bdda3942be80fa38091f4591 (diff) | |
download | ghdl-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.ads | 21 |
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; |