diff options
Diffstat (limited to 'src/synth/synth-environment.ads')
-rw-r--r-- | src/synth/synth-environment.ads | 17 |
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); |