diff --git a/simics-workspace/modules/afdxES/afdxES.dml b/simics-workspace/modules/afdxES/afdxES.dml
index cb89f34..8ba193d 100644
--- a/simics-workspace/modules/afdxES/afdxES.dml
+++ b/simics-workspace/modules/afdxES/afdxES.dml
@@ -89,19 +89,6 @@ attribute is_cfg_done "If true, don't change cfg table index and write cfg table
     parameter allocate_type = "bool";
 }

-attribute is_packet_udp_log_on "If true, print the packeted udp info" {
-    parameter allocate_type = "bool";
-}
-
-attribute is_packet_ip_log_on "If true, print the packeted ip info" {
-    parameter allocate_type = "bool";
-}
-
-attribute is_packet_mac_log_on "If true, print the packeted mac info" {
-    parameter allocate_type = "bool";
-}
-
-
 // USER-TODO: Add init() and post_init() methods here, if needed.
 // init() will be run to set the empty state of the model, before any
 // configuration or checkpointed attributes are set.  post_init() is run after
diff --git a/simics-workspace/modules/afdxES/config-tables-log.dml b/simics-workspace/modules/afdxES/config-tables-log.dml
index 32cc5d8..c50e162 100644
--- a/simics-workspace/modules/afdxES/config-tables-log.dml
+++ b/simics-workspace/modules/afdxES/config-tables-log.dml
@@ -18,10 +18,10 @@ method print_analyse_cfg_cam_table() {
 method print_analyse_cfg_ram_table() {
     local uint32 i = 0;
     for (; i < $analyse_cfg_ram_index; ++i) {
-        log "info" : "The $analyse_cfg_ram_array[%d].RETENTION = %x", i, $analyse_cfg_ram_array[i].RETENTION;
-        log "info" : "The $analyse_cfg_ram_array[%d].NETWORK_B_ENABLE = %x", i, $analyse_cfg_ram_array[i].NETWORK_B_ENABLE;
-        log "info" : "The $analyse_cfg_ram_array[%d].NETWORK_A_ENABLE = %x", i, $analyse_cfg_ram_array[i].NETWORK_A_ENABLE;
-        log "info" : "The $analyse_cfg_ram_array[%d].PORT_TYPE = %x", i, $analyse_cfg_ram_array[i].PORT_TYPE;
+        log "info" : "The $analyse_cfg_ram_array[%d].ram_data.RETENTION = %x", i, $analyse_cfg_ram_array[i].ram_data.RETENTION;
+        log "info" : "The $analyse_cfg_ram_array[%d].ram_data.NETWORK_B_ENABLE = %x", i, $analyse_cfg_ram_array[i].ram_data.NETWORK_B_ENABLE;
+        log "info" : "The $analyse_cfg_ram_array[%d].ram_data.NETWORK_A_ENABLE = %x", i, $analyse_cfg_ram_array[i].ram_data.NETWORK_A_ENABLE;
+        log "info" : "The $analyse_cfg_ram_array[%d].ram_data.PORT_TYPE = %x", i, $analyse_cfg_ram_array[i].ram_data.PORT_TYPE;
     }
 }

@@ -58,8 +58,8 @@ method print_scheduling_cfg_ram_table() {
 method print_rm_cfg_cam_table() {
     local uint32 i = 0;
     for (; i < $rm_cfg_cam_index; ++i) {
-        log "info" : "The $rm_cfg_cam_array[%d].VL_ID = %x", $rm_cfg_cam_array[i].VL_ID;
-        log "info" : "The $rm_cfg_cam_array[%d].address = %x", $rm_cfg_cam_array[i].address;
+        log "info" : "The $rm_cfg_cam_array[%d].VL_ID = %x", i, $rm_cfg_cam_array[i].VL_ID;
+        log "info" : "The $rm_cfg_cam_array[%d].address = %x", i, $rm_cfg_cam_array[i].address;
     }
 }

@@ -82,3 +82,27 @@ method print_fragment_cfg_ram_table() {
         log "info" : "$fragment_cfg_ram_array[%d].MAX_FRAME_LENGTH = %x", i, $fragment_cfg_ram_array[i].MAX_FRAME_LENGTH;
     }
 }
+
+method Print_Cfg_Table() {
+    if ($is_analyse_cfg_cam_table_log_on) {
+        call $print_analyse_cfg_cam_table();
+    }
+    if ($is_analyse_cfg_ram_table_log_on) {
+        call $print_analyse_cfg_ram_table();
+    }
+    if ($is_transmit_cfg_ram_table_log_on) {
+        call $print_transmit_cfg_ram_table();
+    }
+    if ($is_scheduling_cfg_ram_table_log_on) {
+        call $print_scheduling_cfg_ram_table();
+    }
+    if ($is_rm_cfg_cam_table_log_on) {
+        call $print_rm_cfg_cam_table();
+    }
+    if ($is_rm_cfg_ram_table_log_on) {
+        call $print_rm_cfg_ram_table();
+    }
+    if ($is_fragment_cfg_ram_table_log_on) {
+        call $print_fragment_cfg_ram_table();
+    }
+}
diff --git a/simics-workspace/modules/afdxES/log.dml b/simics-workspace/modules/afdxES/log.dml
index 687d96f..d58e4af 100644
--- a/simics-workspace/modules/afdxES/log.dml
+++ b/simics-workspace/modules/afdxES/log.dml
@@ -2,3 +2,44 @@ dml 1.2;

 import "config-tables-log.dml";
 import "packet-frame-log.dml";
+
+
+attribute is_packet_udp_log_on "If true, print the packeted udp info" {
+    parameter allocate_type = "bool";
+}
+
+attribute is_packet_ip_log_on "If true, print the packeted ip info" {
+    parameter allocate_type = "bool";
+}
+
+attribute is_packet_mac_log_on "If true, print the packeted mac info" {
+    parameter allocate_type = "bool";
+}
+
+attribute is_analyse_cfg_cam_table_log_on "If true, print the analyse_cfg_cam_table info" {
+    parameter allocate_type = "bool";
+}
+
+attribute is_analyse_cfg_ram_table_log_on "If true, print the analyse_cfg_ram_table info" {
+    parameter allocate_type = "bool";
+}
+
+attribute is_transmit_cfg_ram_table_log_on "If true, print the transmit_cfg_ram_table info" {
+    parameter allocate_type = "bool";
+}
+
+attribute is_scheduling_cfg_ram_table_log_on "If true, print the scheduling_cfg_ram_table info" {
+    parameter allocate_type = "bool";
+}
+
+attribute is_rm_cfg_cam_table_log_on "If true, print the rm_cfg_cam_table info" {
+    parameter allocate_type = "bool";
+}
+
+attribute is_rm_cfg_ram_table_log_on "If true, print the rm_cfg_ram_table info" {
+    parameter allocate_type = "bool";
+}
+
+attribute is_fragment_cfg_ram_table_log_on "If true, print the fragment_cfg_ram_table info" {
+    parameter allocate_type = "bool";
+}
diff --git a/simics-workspace/modules/afdxES/pci-register.dml b/simics-workspace/modules/afdxES/pci-register.dml
index 16fbfed..70bc434 100644
--- a/simics-workspace/modules/afdxES/pci-register.dml
+++ b/simics-workspace/modules/afdxES/pci-register.dml
@@ -519,6 +519,7 @@ bank pciport{
 	register cfg_done_host @ 0x1004 "cfg_done_host"	{
 		method after_write(memop) {
             $is_cfg_done = true;
+            call $Print_Cfg_Table();
             switch ($middleware_mode) {
             case To429Middleware:
                 call $QuickSortAnalyseCamArray($analyse_cfg_cam_array);