aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth/synth-environment.ads
diff options
context:
space:
mode:
Diffstat (limited to 'src/synth/synth-environment.ads')
-rw-r--r--src/synth/synth-environment.ads17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/synth/synth-environment.ads b/src/synth/synth-environment.ads
index 71388c610..5c1d9fdbe 100644
--- a/src/synth/synth-environment.ads
+++ b/src/synth/synth-environment.ads
@@ -58,9 +58,26 @@ package Synth.Environment is
type Conc_Assign is private;
No_Conc_Assign : constant Conc_Assign;
+ -- Create a wire.
function Alloc_Wire (Kind : Wire_Kind; Obj : Source.Syn_Src)
return Wire_Id;
+ -- Mark the wire as free.
+ procedure Free_Wire (Wid : Wire_Id);
+
+ -- Simple mark & release. This is a very simple mechanism (will free
+ -- all wires allocated after the mark), but efficient and working well
+ -- for the stack based allocation.
+ procedure Mark (M : out Wire_Id);
+ procedure Release (M : in out Wire_Id);
+
+ -- Check that all the wires have been released.
+ procedure All_Released;
+
+ -- Remove wires WID1 and WID2 from current phi.
+ -- Used for internal wires (exit/quit) when exiting their scope.
+ procedure Phi_Discard_Wires (Wid1 : Wire_Id; Wid2 : Wire_Id);
+
-- Set the gate for a wire.
-- The gate represent the current value. It is usually an Id_Signal.
procedure Set_Wire_Gate (Wid : Wire_Id; Gate : Net);