diff options
author | Tristan Gingold <tgingold@free.fr> | 2022-07-16 08:29:43 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2022-07-16 08:29:43 +0200 |
commit | 37d38f613b065b59b6d13aabaad3295861504296 (patch) | |
tree | 3e031587d2e527b5f00e2097ae081499c35771e2 /src | |
parent | df6283274a67f9d3810b8ff6a91c6a4885c5797f (diff) | |
download | ghdl-37d38f613b065b59b6d13aabaad3295861504296.tar.gz ghdl-37d38f613b065b59b6d13aabaad3295861504296.tar.bz2 ghdl-37d38f613b065b59b6d13aabaad3295861504296.zip |
grt-types: add Mode_Above
Diffstat (limited to 'src')
-rw-r--r-- | src/grt/grt-disp_signals.adb | 5 | ||||
-rw-r--r-- | src/grt/grt-signals.adb | 13 | ||||
-rw-r--r-- | src/grt/grt-signals.ads | 1 | ||||
-rw-r--r-- | src/grt/grt-types.ads | 3 |
4 files changed, 15 insertions, 7 deletions
diff --git a/src/grt/grt-disp_signals.adb b/src/grt/grt-disp_signals.adb index 4283bdd02..d7d5df4fa 100644 --- a/src/grt/grt-disp_signals.adb +++ b/src/grt/grt-disp_signals.adb @@ -399,8 +399,7 @@ package body Grt.Disp_Signals is end Disp_Signals_Map; -- Option --disp-signals-table - procedure Disp_Mode_Signal (Mode : Mode_Signal_Type) - is + procedure Disp_Mode_Signal (Mode : Mode_Signal_Type) is begin case Mode is when Mode_Signal => @@ -423,6 +422,8 @@ package body Grt.Disp_Signals is Put ("transaction"); when Mode_Delayed => Put ("delayed"); + when Mode_Above => + Put ("above"); when Mode_Guard => Put ("guard"); when Mode_Conv_In => diff --git a/src/grt/grt-signals.adb b/src/grt/grt-signals.adb index ad678e728..02bfd4753 100644 --- a/src/grt/grt-signals.adb +++ b/src/grt/grt-signals.adb @@ -212,6 +212,7 @@ package body Grt.Signals is S.Guard_Func := null; S.Guard_Instance := System.Null_Address; when Mode_Transaction + | Mode_Above | Mode_End => null; end case; @@ -2225,8 +2226,7 @@ package body Grt.Signals is procedure Order_Signal (Sig : Ghdl_Signal_Ptr; Order : Propag_Order_Flag); -- Return TRUE is the effective value of SIG is the driving value of SIG. - function Is_Eff_Drv (Sig : Ghdl_Signal_Ptr) return Boolean - is + function Is_Eff_Drv (Sig : Ghdl_Signal_Ptr) return Boolean is begin case Sig.S.Mode_Sig is when Mode_Signal @@ -2255,7 +2255,8 @@ package body Grt.Signals is | Mode_Guard | Mode_Quiet | Mode_Transaction - | Mode_Delayed => + | Mode_Delayed + | Mode_Above => return True; when Mode_End => return False; @@ -2395,6 +2396,8 @@ package body Grt.Signals is Add_Propagation ((Kind => Imp_Delayed, Sig => Sig)); when Mode_Transaction => Add_Propagation ((Kind => Imp_Transaction, Sig => Sig)); + when Mode_Above => + Internal_Error ("order_signal"); end case; return; when Mode_Conv_In => @@ -2451,7 +2454,8 @@ package body Grt.Signals is | Mode_Guard | Mode_Quiet | Mode_Transaction - | Mode_Delayed => + | Mode_Delayed + | Mode_Above => -- Sig.Propag is already set to PROPAG_DONE. null; when Mode_Conv_In => @@ -2568,6 +2572,7 @@ package body Grt.Signals is when Mode_Signal_Forward => null; when Mode_Transaction + | Mode_Above | Mode_Guard => for I in 1 .. Sig.Nbr_Ports loop Set_Net (Sig.Ports (I - 1), Net, Link); diff --git a/src/grt/grt-signals.ads b/src/grt/grt-signals.ads index 8fe1e4dfe..3c605786b 100644 --- a/src/grt/grt-signals.ads +++ b/src/grt/grt-signals.ads @@ -262,6 +262,7 @@ package Grt.Signals is Guard_Instance : System.Address; when Mode_Transaction + | Mode_Above | Mode_End => null; end case; diff --git a/src/grt/grt-types.ads b/src/grt/grt-types.ads index d6c709da9..d4c38e7dd 100644 --- a/src/grt/grt-types.ads +++ b/src/grt/grt-types.ads @@ -193,7 +193,8 @@ package Grt.Types is type Mode_Signal_Type is (Mode_Signal, Mode_Linkage, Mode_Buffer, Mode_Out, Mode_Inout, Mode_In, - Mode_Stable, Mode_Quiet, Mode_Delayed, Mode_Transaction, Mode_Guard, + Mode_Stable, Mode_Quiet, Mode_Delayed, Mode_Transaction, + Mode_Above, Mode_Guard, Mode_Conv_In, Mode_Conv_Out, Mode_End); |