aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2019-08-02 05:46:31 +0200
committerTristan Gingold <tgingold@free.fr>2019-08-02 05:46:46 +0200
commitd14ff3cbdfbffce71d0bfb6f648afa4fd97cea3e (patch)
tree87c59daf36746762af32cd14d09a8a3932abcd80
parent513712dda3230bafb9e08fc5ae549ab84710c097 (diff)
downloadghdl-d14ff3cbdfbffce71d0bfb6f648afa4fd97cea3e.tar.gz
ghdl-d14ff3cbdfbffce71d0bfb6f648afa4fd97cea3e.tar.bz2
ghdl-d14ff3cbdfbffce71d0bfb6f648afa4fd97cea3e.zip
synth: add a debug procedure.
-rw-r--r--src/synth/synth-environment-debug.adb21
-rw-r--r--src/synth/synth-environment-debug.ads1
2 files changed, 22 insertions, 0 deletions
diff --git a/src/synth/synth-environment-debug.adb b/src/synth/synth-environment-debug.adb
index 693d20068..fae810429 100644
--- a/src/synth/synth-environment-debug.adb
+++ b/src/synth/synth-environment-debug.adb
@@ -73,4 +73,25 @@ package body Synth.Environment.Debug is
Asgn := Get_Assign_Chain (Asgn);
end loop;
end Dump_Phi;
+
+ procedure Dump_Conc_Assigns (First : Conc_Assign)
+ is
+ Asgn : Conc_Assign;
+ begin
+ Asgn := First;
+ while Asgn /= No_Conc_Assign loop
+ Put ("conc_assign" & Conc_Assign'Image (Asgn));
+ declare
+ Arec : Conc_Assign_Record renames Conc_Assign_Table.Table (Asgn);
+ begin
+ Put (" off:" & Uns32'Image (Arec.Offset));
+ Put (", width:" & Width'Image (Get_Width (Arec.Value)));
+ New_Line;
+ Put (" value: ");
+ Disp_Instance (Get_Parent (Arec.Value), False);
+ Asgn := Arec.Next;
+ end;
+ New_Line;
+ end loop;
+ end Dump_Conc_Assigns;
end Synth.Environment.Debug;
diff --git a/src/synth/synth-environment-debug.ads b/src/synth/synth-environment-debug.ads
index 2dd25a930..8454f2c97 100644
--- a/src/synth/synth-environment-debug.ads
+++ b/src/synth/synth-environment-debug.ads
@@ -22,4 +22,5 @@ package Synth.Environment.Debug is
procedure Dump_Wire_Id (Id : Wire_Id);
procedure Dump_Assign (Asgn : Seq_Assign);
procedure Dump_Phi (Id : Phi_Id);
+ procedure Dump_Conc_Assigns (First : Conc_Assign);
end Synth.Environment.Debug;