aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2019-10-01 20:03:35 +0200
committerTristan Gingold <tgingold@free.fr>2019-10-01 20:03:35 +0200
commit77a286d0a6c428b41037c3a7a81f7f3b962631f5 (patch)
tree83486100c7b5bb31df307cdd90b5a172553e2605
parent26230727356dfe9533b28166ace0f32c478600fb (diff)
downloadghdl-77a286d0a6c428b41037c3a7a81f7f3b962631f5.tar.gz
ghdl-77a286d0a6c428b41037c3a7a81f7f3b962631f5.tar.bz2
ghdl-77a286d0a6c428b41037c3a7a81f7f3b962631f5.zip
synth-environment-debug: add dump_partial_assign.
-rw-r--r--src/synth/synth-environment-debug.adb27
1 files changed, 17 insertions, 10 deletions
diff --git a/src/synth/synth-environment-debug.adb b/src/synth/synth-environment-debug.adb
index 7f378130b..f4a8c719b 100644
--- a/src/synth/synth-environment-debug.adb
+++ b/src/synth/synth-environment-debug.adb
@@ -36,29 +36,22 @@ package body Synth.Environment.Debug is
Put_Line (" conc_assign:" & Conc_Assign'Image(W_Rec.Final_Assign));
end Dump_Wire_Id;
- procedure Dump_Assign (Asgn : Seq_Assign)
+ procedure Dump_Partial_Assign (Pasgn : Partial_Assign)
is
procedure Dump_Value (N : Net) is
begin
if N /= No_Net then
Dump_Net_Name (N);
+ Put ("{w=" & Uns32'Image (Get_Width (N)) & '}');
Put (" := ");
Disp_Instance (Get_Parent (N), False);
else
Put ("unassigned");
end if;
end Dump_Value;
- Rec : Seq_Assign_Record renames Assign_Table.Table (Asgn);
P : Partial_Assign;
begin
- Put ("Assign" & Seq_Assign'Image (Asgn));
- Put (" Wire Id:" & Wire_Id'Image (Rec.Id));
- Put (", prev_assign:" & Seq_Assign'Image (Rec.Prev));
- Put (", phi:" & Phi_Id'Image (Rec.Phi));
- Put (", chain:" & Seq_Assign'Image (Rec.Chain));
- New_Line;
- Put_Line (" value:");
- P := Rec.Asgns;
+ P := Pasgn;
while P /= No_Partial_Assign loop
declare
Pasgn : Partial_Assign_Record renames
@@ -71,6 +64,20 @@ package body Synth.Environment.Debug is
P := Pasgn.Next;
end;
end loop;
+ end Dump_Partial_Assign;
+
+ procedure Dump_Assign (Asgn : Seq_Assign)
+ is
+ Rec : Seq_Assign_Record renames Assign_Table.Table (Asgn);
+ begin
+ Put ("Assign" & Seq_Assign'Image (Asgn));
+ Put (" Wire Id:" & Wire_Id'Image (Rec.Id));
+ Put (", prev_assign:" & Seq_Assign'Image (Rec.Prev));
+ Put (", phi:" & Phi_Id'Image (Rec.Phi));
+ Put (", chain:" & Seq_Assign'Image (Rec.Chain));
+ New_Line;
+ Put_Line (" value:");
+ Dump_Partial_Assign (Rec.Asgns);
end Dump_Assign;
procedure Dump_Phi (Id : Phi_Id)