diff options
author | Tristan Gingold <tgingold@free.fr> | 2019-07-15 07:53:25 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2019-07-15 07:53:25 +0200 |
commit | 5b243ebda9bb30724f14d5df6bb2f34956e6485b (patch) | |
tree | 9a4bbbb97766dd154da9928da676dba8b5f32e19 /src | |
parent | d92d035ba972cedc03356113eb0d8cf0087eed39 (diff) | |
download | ghdl-5b243ebda9bb30724f14d5df6bb2f34956e6485b.tar.gz ghdl-5b243ebda9bb30724f14d5df6bb2f34956e6485b.tar.bz2 ghdl-5b243ebda9bb30724f14d5df6bb2f34956e6485b.zip |
synth: add comments.
Diffstat (limited to 'src')
-rw-r--r-- | src/synth/synth-environment.adb | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/synth/synth-environment.adb b/src/synth/synth-environment.adb index d747f08a7..0331ae4c9 100644 --- a/src/synth/synth-environment.adb +++ b/src/synth/synth-environment.adb @@ -44,6 +44,11 @@ package body Synth.Environment is Assign_Table.Table (Asgn).Chain := Chain; end Set_Assign_Chain; + function Current_Phi return Phi_Id is + begin + return Phis_Table.Last; + end Current_Phi; + procedure Push_Phi is begin Phis_Table.Append ((First => No_Assign, @@ -56,10 +61,12 @@ package body Synth.Environment is Cur_Phi : constant Phi_Id := Current_Phi; Asgn : Assign; begin + -- Pop. Phi := Phis_Table.Table (Cur_Phi); Phis_Table.Decrement_Last; - -- Point to previous wires. + -- Point to previous wires. The current values are the ones before + -- the block. Asgn := Phi.First; while Asgn /= No_Assign loop pragma Assert (Assign_Table.Table (Asgn).Phi = Cur_Phi); @@ -69,6 +76,8 @@ package body Synth.Environment is end loop; end Pop_Phi; + -- This procedure is called after each concurrent statement to assign + -- values to signals. procedure Pop_And_Merge_Phi (Ctxt : Builders.Context_Acc) is Phi : Phi_Type; @@ -314,11 +323,6 @@ package body Synth.Environment is Assign_Table.Table (Cur_Asgn).Value := Val; end if; end Phi_Assign; - - function Current_Phi return Phi_Id is - begin - return Phis_Table.Last; - end Current_Phi; begin Wire_Id_Table.Append ((Kind => Wire_None, Mark_Flag => False, |