diff --git a/.Xil/Vivado-223153-egoncu-pr/elab.rtd b/.Xil/Vivado-223153-egoncu-pr/elab.rtd
deleted file mode 100644
index 3f0bf44..0000000
--- a/.Xil/Vivado-223153-egoncu-pr/elab.rtd
+++ /dev/null
Binary files differ
diff --git a/.Xil/Vivado-223153-egoncu-pr/realtime/LFSR.tcl b/.Xil/Vivado-223153-egoncu-pr/realtime/LFSR.tcl
deleted file mode 100644
index 206593c..0000000
--- a/.Xil/Vivado-223153-egoncu-pr/realtime/LFSR.tcl
+++ /dev/null
@@ -1,95 +0,0 @@
-# 
-# Synthesis run script generated by Vivado
-# 
-
-namespace eval rt {
-    variable rc
-}
-set rt::rc [catch {
-  uplevel #0 {
-    set ::env(BUILTIN_SYNTH) true
-    source $::env(HRT_TCL_PATH)/rtSynthPrep.tcl
-    rt::HARTNDb_resetJobStats
-    rt::HARTNDb_resetSystemStats
-    rt::HARTNDb_startSystemStats
-    rt::HARTNDb_startJobStats
-    set rt::cmdEcho 0
-    rt::set_parameter writeXmsg true
-    rt::set_parameter enableParallelHelperSpawn true
-    set ::env(RT_TMP) "./.Xil/Vivado-223153-egoncu-pr/realtime/tmp"
-    if { [ info exists ::env(RT_TMP) ] } {
-      file delete -force $::env(RT_TMP)
-      file mkdir $::env(RT_TMP)
-    }
-
-    rt::delete_design
-
-    set rt::partid xc7vx485tffg1157-1
-     file delete -force synth_hints.os
-
-    set rt::multiChipSynthesisFlow false
-    source $::env(SYNTH_COMMON)/common.tcl
-    set rt::defaultWorkLibName xil_defaultlib
-
-    set rt::useElabCache false
-    if {$rt::useElabCache == false} {
-      rt::read_verilog /home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/lfsr.v
-      rt::filesetChecksum
-    }
-    rt::set_parameter usePostFindUniquification false
-    set rt::top LFSR
-    rt::set_parameter enableIncremental true
-    set rt::reportTiming false
-    rt::set_parameter elaborateOnly true
-    rt::set_parameter elaborateRtl true
-    rt::set_parameter eliminateRedundantBitOperator false
-    rt::set_parameter elaborateRtlOnlyFlow true
-    rt::set_parameter writeBlackboxInterface true
-    rt::set_parameter merge_flipflops true
-    rt::set_parameter srlDepthThreshold 3
-    rt::set_parameter rstSrlDepthThreshold 4
-# MODE: 
-    rt::set_parameter webTalkPath {}
-    rt::set_parameter enableSplitFlowPath "./.Xil/Vivado-223153-egoncu-pr/"
-    set ok_to_delete_rt_tmp true 
-    if { [rt::get_parameter parallelDebug] } { 
-       set ok_to_delete_rt_tmp false 
-    } 
-    if {$rt::useElabCache == false} {
-        set oldMIITMVal [rt::get_parameter maxInputIncreaseToMerge]; rt::set_parameter maxInputIncreaseToMerge 1000
-        set oldCDPCRL [rt::get_parameter createDfgPartConstrRecurLimit]; rt::set_parameter createDfgPartConstrRecurLimit 1
-        $rt::db readXRFFile
-      rt::run_rtlelab -module $rt::top
-        rt::set_parameter maxInputIncreaseToMerge $oldMIITMVal
-        rt::set_parameter createDfgPartConstrRecurLimit $oldCDPCRL
-    }
-
-    set rt::flowresult [ source $::env(SYNTH_COMMON)/flow.tcl ]
-    rt::HARTNDb_stopJobStats
-    if { $rt::flowresult == 1 } { return -code error }
-
-
-  set hsKey [rt::get_parameter helper_shm_key] 
-  if { $hsKey != "" && [info exists ::env(BUILTIN_SYNTH)] && [rt::get_parameter enableParallelHelperSpawn] } { 
-     $rt::db killSynthHelper $hsKey
-  } 
-  rt::set_parameter helper_shm_key "" 
-    if { [ info exists ::env(RT_TMP) ] } {
-      if { [info exists ok_to_delete_rt_tmp] && $ok_to_delete_rt_tmp } { 
-        file delete -force $::env(RT_TMP)
-      }
-    }
-
-    source $::env(HRT_TCL_PATH)/rtSynthCleanup.tcl
-  } ; #end uplevel
-} rt::result]
-
-if { $rt::rc } {
-  $rt::db resetHdlParse
-  set hsKey [rt::get_parameter helper_shm_key] 
-  if { $hsKey != "" && [info exists ::env(BUILTIN_SYNTH)] && [rt::get_parameter enableParallelHelperSpawn] } { 
-     $rt::db killSynthHelper $hsKey
-  } 
-  source $::env(HRT_TCL_PATH)/rtSynthCleanup.tcl
-  return -code "error" $rt::result
-}
diff --git a/.Xil/Vivado-223153-egoncu-pr/realtime/dupFiles.rpt b/.Xil/Vivado-223153-egoncu-pr/realtime/dupFiles.rpt
deleted file mode 100644
index 055f68e..0000000
--- a/.Xil/Vivado-223153-egoncu-pr/realtime/dupFiles.rpt
+++ /dev/null
@@ -1 +0,0 @@
-CRC performance measure: elapsed=00:00:00s;;memory_peak=7930.230MB;;memory_gain=0.000MB
diff --git a/verilog/dv/Makefile b/verilog/dv/Makefile
index 77bbe99..d3b42e4 100644
--- a/verilog/dv/Makefile
+++ b/verilog/dv/Makefile
@@ -20,7 +20,7 @@
 .SILENT: clean all
 
 
-PATTERNS = io_ports la_test1 la_test2 wb_uart wb_spi mprj_stimulus
+PATTERNS = io_ports la_test1 la_test2 wb_uart wb_spi wb_sram wb_sec_mon mprj_stimulus
 
 all:  ${PATTERNS}
 
diff --git a/verilog/dv/wb_sec_mon/Makefile b/verilog/dv/wb_sec_mon/Makefile
new file mode 100644
index 0000000..b07bb75
--- /dev/null
+++ b/verilog/dv/wb_sec_mon/Makefile
@@ -0,0 +1,31 @@
+# SPDX-FileCopyrightText: 2020 Efabless Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+
+
+ 
+PWDD := $(shell pwd)
+BLOCKS := $(shell basename $(PWDD))
+
+# ---- Include Partitioned Makefiles ----
+CARAVEL_PATH = $(CARAVEL_ROOT)
+CARAVEL_VERILOG_PATH = $(CARAVEL_ROOT)/verilog
+CONFIG = caravel_user_project
+
+
+include $(MCW_ROOT)/verilog/dv/make/env.makefile
+include $(MCW_ROOT)/verilog/dv/make/var.makefile
+include $(MCW_ROOT)/verilog/dv/make/cpu.makefile
+include $(MCW_ROOT)/verilog/dv/make/sim.makefile
diff --git a/verilog/dv/wb_sec_mon/seed.h b/verilog/dv/wb_sec_mon/seed.h
new file mode 100644
index 0000000..7c5f14f
--- /dev/null
+++ b/verilog/dv/wb_sec_mon/seed.h
@@ -0,0 +1 @@
+#define seed 57893
\ No newline at end of file
diff --git a/verilog/dv/wb_sec_mon/wb_sec_mon.c b/verilog/dv/wb_sec_mon/wb_sec_mon.c
new file mode 100644
index 0000000..a1703b7
--- /dev/null
+++ b/verilog/dv/wb_sec_mon/wb_sec_mon.c
@@ -0,0 +1,124 @@
+/*
+ * SPDX-FileCopyrightText: 2020 Efabless Corporation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+// This include is relative to $CARAVEL_PATH (see Makefile)
+#include <defs.h>
+#include "seed.h"
+#include <stub.c>
+
+/*
+    Wishbone Test:
+        - Configures MPRJ lower 8-IO pins as outputs
+        - Checks counter value through the wishbone port
+*/
+
+#define reg_SRAM ((volatile uint32_t *)0x30000000)
+//#define WRITE_MASTER_KEY
+
+void main()
+{
+
+    /*
+    IO Control Registers
+    | DM     | VTRIP | SLOW  | AN_POL | AN_SEL | AN_EN | MOD_SEL | INP_DIS | HOLDH | OEB_N | MGMT_EN |
+    | 3-bits | 1-bit | 1-bit | 1-bit  | 1-bit  | 1-bit | 1-bit   | 1-bit   | 1-bit | 1-bit | 1-bit   |
+    Output: 0000_0110_0000_1110  (0x1808) = GPIO_MODE_USER_STD_OUTPUT
+    | DM     | VTRIP | SLOW  | AN_POL | AN_SEL | AN_EN | MOD_SEL | INP_DIS | HOLDH | OEB_N | MGMT_EN |
+    | 110    | 0     | 0     | 0      | 0      | 0     | 0       | 1       | 0     | 0     | 0       |
+
+
+    Input: 0000_0001_0000_1111 (0x0402) = GPIO_MODE_USER_STD_INPUT_NOPULL
+    | DM     | VTRIP | SLOW  | AN_POL | AN_SEL | AN_EN | MOD_SEL | INP_DIS | HOLDH | OEB_N | MGMT_EN |
+    | 001    | 0     | 0     | 0      | 0      | 0     | 0       | 0       | 0     | 1     | 0       |
+    */
+
+    /* Set up the housekeeping SPI to be connected internally so	*/
+    /* that external pin changes don't affect it.			*/
+
+    reg_spi_enable = 1;
+    reg_wb_enable = 1;
+    // reg_spimaster_config = 0xa002;	// Enable, prescaler = 2,
+    // connect to housekeeping SPI
+
+    // Connect the housekeeping SPI to the SPI master
+    // so that the CSB line is not left floating.  This allows
+    // all of the GPIO pins to be used for user functions.
+
+    reg_mprj_io_31 = GPIO_MODE_MGMT_STD_OUTPUT;
+    reg_mprj_io_30 = GPIO_MODE_MGMT_STD_OUTPUT;
+    reg_mprj_io_29 = GPIO_MODE_MGMT_STD_OUTPUT;
+    reg_mprj_io_28 = GPIO_MODE_MGMT_STD_OUTPUT;
+    reg_mprj_io_27 = GPIO_MODE_MGMT_STD_OUTPUT;
+    reg_mprj_io_26 = GPIO_MODE_MGMT_STD_OUTPUT;
+    reg_mprj_io_25 = GPIO_MODE_MGMT_STD_OUTPUT;
+    reg_mprj_io_24 = GPIO_MODE_MGMT_STD_OUTPUT;
+    reg_mprj_io_23 = GPIO_MODE_MGMT_STD_OUTPUT;
+    reg_mprj_io_22 = GPIO_MODE_MGMT_STD_OUTPUT;
+    reg_mprj_io_21 = GPIO_MODE_MGMT_STD_OUTPUT;
+    reg_mprj_io_20 = GPIO_MODE_MGMT_STD_OUTPUT;
+    reg_mprj_io_19 = GPIO_MODE_MGMT_STD_OUTPUT;
+    reg_mprj_io_18 = GPIO_MODE_USER_STD_OUTPUT;
+    reg_mprj_io_17 = GPIO_MODE_USER_STD_INPUT_NOPULL;
+    // reg_mprj_io_16 = GPIO_MODE_USER_STD_OUTPUT;
+    
+
+    // reg_mprj_io_15 = GPIO_MODE_USER_STD_OUTPUT;
+    // reg_mprj_io_14 = GPIO_MODE_USER_STD_INPUT_NOPULL;
+
+
+    //set the alarm
+    *(reg_SRAM + 3) = 0;
+
+    // read status reg until alarm is detected
+    while(*(reg_SRAM +2) == 0);
+
+
+    // reg_mprj_io_14 = GPIO_MODE_MGMT_STD_OUTPUT;
+
+
+    // The following lines should cause to reset alarm bit by rewriting to master_key register
+    volatile unsigned dummy;
+    bool error = false;
+    //writing to master key
+    #ifdef WRITE_MASTER_KEY
+    *(reg_SRAM) = 0xDEADBEEF;
+    *(reg_SRAM) = 0xCAFEBEEF;
+    *(reg_SRAM) = 0x01234567;
+    *(reg_SRAM) = 0x89abcdef;
+    #endif
+    
+
+
+    /* Apply configuration */
+    reg_mprj_xfer = 1;
+    while (reg_mprj_xfer == 1)
+        ;
+
+    reg_la2_oenb = reg_la2_iena = 0x00000000; // [95:64]
+
+    // Flag start of the test
+    reg_mprj_datal = 0xAB600000;
+
+    
+
+
+    if((*(reg_SRAM +2) & 0x00000004) == 1)
+        reg_mprj_datal = 0xAB800000;
+    else
+        reg_mprj_datal = 0xAB700000;
+}
+
diff --git a/verilog/dv/wb_sec_mon/wb_sec_mon_tb.v b/verilog/dv/wb_sec_mon/wb_sec_mon_tb.v
new file mode 100644
index 0000000..8ae83a3
--- /dev/null
+++ b/verilog/dv/wb_sec_mon/wb_sec_mon_tb.v
@@ -0,0 +1,194 @@
+// SPDX-FileCopyrightText: 2020 Efabless Corporation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// SPDX-License-Identifier: Apache-2.0
+
+`default_nettype none
+
+`timescale 1 ns / 1 ps
+
+`define PER 20 // period
+
+
+module wb_sec_mon_tb ();
+  reg clock ;
+  reg RSTB  ;
+  reg CSB   ;
+  reg power1, power2;
+  reg power3, power4;
+
+  wire        gpio     ;
+  wire [37:0] mprj_io  ;
+  wire [ 7:0] mprj_io_0;
+  wire [11:0] checkbits;
+
+
+  reg attack;
+
+
+
+  assign checkbits = mprj_io[31:20];
+
+  assign mprj_io[3] = 1'b1;
+
+  assign mprj_io[17] = attack ? 1'b0 : rx;
+
+  wire rx;
+  assign rx = uut.mprj.io_out[18];  //assign mprj_io[17] = rx;
+
+  // External clock is used by default.  Make this artificially fast for the
+  // simulation.  Normally this would be a slow clock and the digital PLL
+  // would be the fast clock.
+
+  //50MHz
+  always #(`PER/2) clock <= (clock === 1'b0);
+
+  initial
+    begin
+      clock = 0;
+      attack = 0;
+      repeat(20000) @(posedge clock);
+      attack = 1;
+      repeat(20) @(posedge clock);
+      attack = 0;
+
+    end
+
+  initial
+    begin
+      $dumpfile("wb_sec_mon.vcd");
+      $dumpvars(0, wb_sec_mon_tb);
+
+      // Repeat cycles of 1000 clock edges as needed to complete testbench
+      repeat (70)
+        begin
+          repeat (500) @(posedge clock);
+          // $display("+1000 cycles");
+        end
+      $display("%c[1;31m",27);
+`ifdef GL
+
+      $display ("Monitor: Timeout, Test Mega-Project WB Port (GL) Failed");
+`else
+      $display ("Monitor: Timeout, Test Mega-Project WB Port (RTL) Failed");
+`endif
+
+      $display("%c[0m",27);
+      $finish;
+    end
+
+
+  initial
+    begin 
+      wait(checkbits[15:4] == 12'hAB6);
+    end
+
+
+  initial
+    begin
+     
+      
+      wait(checkbits[15:4] == 12'hAB7 || checkbits[15:4] == 12'hAB8 );
+
+      if(checkbits[15:4] == 12'hAB8)
+        begin
+          $display("Alarm Detected!");
+          $finish;
+        end
+        else
+          begin
+    `ifdef GL
+            $display("Monitor: Mega-Project WB (GL) Passed");
+    `else
+            $display("Monitor: Mega-Project WB (RTL) Passed");
+    `endif
+            $finish;
+          end
+    end
+
+  initial
+    begin
+      RSTB <= 1'b0;
+      CSB  <= 1'b1;		// Force CSB high
+      #10000;
+      RSTB <= 1'b1;	    	// Release reset
+      #100000;
+      CSB = 1'b0;		// CSB can be released
+    end
+
+  initial
+    begin		// Power-up sequence
+      power1 <= 1'b0;
+      power2 <= 1'b0;
+      #200;
+      power1 <= 1'b1;
+      #200;
+      power2 <= 1'b1;
+    end
+
+
+
+  wire flash_csb;
+  wire flash_clk;
+  wire flash_io0;
+  wire flash_io1;
+
+  wire VDD3V3      = power1;
+  wire VDD1V8      = power2;
+  wire USER_VDD3V3 = power3;
+  wire USER_VDD1V8 = power4;
+  wire VSS         = 1'b0  ;
+
+  caravel uut (
+    .vddio    (VDD3V3   ),
+    .vddio_2  (VDD3V3   ),
+    .vssio    (VSS      ),
+    .vssio_2  (VSS      ),
+    .vdda     (VDD3V3   ),
+    .vssa     (VSS      ),
+    .vccd     (VDD1V8   ),
+    .vssd     (VSS      ),
+    .vdda1    (VDD3V3   ),
+    .vdda1_2  (VDD3V3   ),
+    .vdda2    (VDD3V3   ),
+    .vssa1    (VSS      ),
+    .vssa1_2  (VSS      ),
+    .vssa2    (VSS      ),
+    .vccd1    (VDD1V8   ),
+    .vccd2    (VDD1V8   ),
+    .vssd1    (VSS      ),
+    .vssd2    (VSS      ),
+    .clock    (clock    ),
+    .gpio     (gpio     ),
+    .mprj_io  (mprj_io  ),
+    .flash_csb(flash_csb),
+    .flash_clk(flash_clk),
+    .flash_io0(flash_io0),
+    .flash_io1(flash_io1),
+    .resetb   (RSTB     )
+  );
+
+  spiflash #(.FILENAME("wb_sec_mon.hex")) spiflash (
+    .csb(flash_csb),
+    .clk(flash_clk),
+    .io0(flash_io0),
+    .io1(flash_io1),
+    .io2(         ), // not used
+    .io3(         )  // not used
+  );
+
+
+
+endmodule
+
+`default_nettype wire
diff --git a/verilog/dv/wb_sram/Makefile b/verilog/dv/wb_sram/Makefile
new file mode 100644
index 0000000..b07bb75
--- /dev/null
+++ b/verilog/dv/wb_sram/Makefile
@@ -0,0 +1,31 @@
+# SPDX-FileCopyrightText: 2020 Efabless Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+
+
+ 
+PWDD := $(shell pwd)
+BLOCKS := $(shell basename $(PWDD))
+
+# ---- Include Partitioned Makefiles ----
+CARAVEL_PATH = $(CARAVEL_ROOT)
+CARAVEL_VERILOG_PATH = $(CARAVEL_ROOT)/verilog
+CONFIG = caravel_user_project
+
+
+include $(MCW_ROOT)/verilog/dv/make/env.makefile
+include $(MCW_ROOT)/verilog/dv/make/var.makefile
+include $(MCW_ROOT)/verilog/dv/make/cpu.makefile
+include $(MCW_ROOT)/verilog/dv/make/sim.makefile
diff --git a/verilog/dv/wb_sram/seed.h b/verilog/dv/wb_sram/seed.h
new file mode 100644
index 0000000..7c5f14f
--- /dev/null
+++ b/verilog/dv/wb_sram/seed.h
@@ -0,0 +1 @@
+#define seed 57893
\ No newline at end of file
diff --git a/verilog/dv/wb_sram/wb_sram.c b/verilog/dv/wb_sram/wb_sram.c
new file mode 100644
index 0000000..5f9c1c3
--- /dev/null
+++ b/verilog/dv/wb_sram/wb_sram.c
@@ -0,0 +1,170 @@
+/*
+ * SPDX-FileCopyrightText: 2020 Efabless Corporation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+// This include is relative to $CARAVEL_PATH (see Makefile)
+#include <defs.h>
+#include "seed.h"
+#include <stub.c>
+
+/*
+    Wishbone Test:
+        - Configures MPRJ lower 8-IO pins as outputs
+        - Checks counter value through the wishbone port
+*/
+
+#define reg_SRAM ((volatile uint32_t *)0x30000000)
+
+// Register space for wbuart32
+// #define reg_UART_SETUP (*(volatile uint32_t *)0x30001000)
+// #define reg_UART_FIFO (*(volatile uint32_t *)0x30001004)
+// #define reg_UART_RX_DATA (*(volatile uint32_t *)0x30001008)
+// #define reg_UART_TX_DATA (*(volatile uint32_t *)0x3000100C)
+
+
+// Register space for simpleUART
+#define reg_UART_CLKDIV (*(volatile uint32_t *)0x30001000)
+#define reg_UART_DATA   (*(volatile uint32_t *)0x30001004)
+#define reg_UART_CONFIG (*(volatile uint32_t *)0x30001008)
+void main()
+{
+
+    /*
+    IO Control Registers
+    | DM     | VTRIP | SLOW  | AN_POL | AN_SEL | AN_EN | MOD_SEL | INP_DIS | HOLDH | OEB_N | MGMT_EN |
+    | 3-bits | 1-bit | 1-bit | 1-bit  | 1-bit  | 1-bit | 1-bit   | 1-bit   | 1-bit | 1-bit | 1-bit   |
+    Output: 0000_0110_0000_1110  (0x1808) = GPIO_MODE_USER_STD_OUTPUT
+    | DM     | VTRIP | SLOW  | AN_POL | AN_SEL | AN_EN | MOD_SEL | INP_DIS | HOLDH | OEB_N | MGMT_EN |
+    | 110    | 0     | 0     | 0      | 0      | 0     | 0       | 1       | 0     | 0     | 0       |
+
+
+    Input: 0000_0001_0000_1111 (0x0402) = GPIO_MODE_USER_STD_INPUT_NOPULL
+    | DM     | VTRIP | SLOW  | AN_POL | AN_SEL | AN_EN | MOD_SEL | INP_DIS | HOLDH | OEB_N | MGMT_EN |
+    | 001    | 0     | 0     | 0      | 0      | 0     | 0       | 0       | 0     | 1     | 0       |
+    */
+
+    /* Set up the housekeeping SPI to be connected internally so	*/
+    /* that external pin changes don't affect it.			*/
+
+    reg_spi_enable = 1;
+    reg_wb_enable = 1;
+    // reg_spimaster_config = 0xa002;	// Enable, prescaler = 2,
+    // connect to housekeeping SPI
+
+    // Connect the housekeeping SPI to the SPI master
+    // so that the CSB line is not left floating.  This allows
+    // all of the GPIO pins to be used for user functions.
+
+    reg_mprj_io_31 = GPIO_MODE_MGMT_STD_OUTPUT;
+    reg_mprj_io_30 = GPIO_MODE_MGMT_STD_OUTPUT;
+    reg_mprj_io_29 = GPIO_MODE_MGMT_STD_OUTPUT;
+    reg_mprj_io_28 = GPIO_MODE_MGMT_STD_OUTPUT;
+    reg_mprj_io_27 = GPIO_MODE_MGMT_STD_OUTPUT;
+    reg_mprj_io_26 = GPIO_MODE_MGMT_STD_OUTPUT;
+    reg_mprj_io_25 = GPIO_MODE_MGMT_STD_OUTPUT;
+    reg_mprj_io_24 = GPIO_MODE_MGMT_STD_OUTPUT;
+    reg_mprj_io_23 = GPIO_MODE_MGMT_STD_OUTPUT;
+    reg_mprj_io_22 = GPIO_MODE_MGMT_STD_OUTPUT;
+    reg_mprj_io_21 = GPIO_MODE_MGMT_STD_OUTPUT;
+    reg_mprj_io_20 = GPIO_MODE_MGMT_STD_OUTPUT;
+    reg_mprj_io_19 = GPIO_MODE_MGMT_STD_OUTPUT;
+    reg_mprj_io_18 = GPIO_MODE_MGMT_STD_OUTPUT;
+    reg_mprj_io_17 = GPIO_MODE_MGMT_STD_OUTPUT;
+    reg_mprj_io_16 = GPIO_MODE_USER_STD_OUTPUT;
+    reg_mprj_io_15 = GPIO_MODE_USER_STD_INPUT_NOPULL;
+    // reg_mprj_io_14 = GPIO_MODE_MGMT_STD_OUTPUT;
+
+    volatile unsigned dummy;
+    bool error = false;
+    //writing to master key
+    *(reg_SRAM) = 0xDEADBEEF;
+    *(reg_SRAM) = 0xCAFEBEEF;
+    *(reg_SRAM) = 0x01234567;
+    *(reg_SRAM) = 0x89abcdef;
+
+
+
+
+
+    *(reg_SRAM+(2*4)) = 0xDEADBEEF;
+
+    //wait for wr_busy
+    while(*(reg_SRAM +2) != 0);
+
+    dummy = *(reg_SRAM + (2 * 4));
+
+    //wait for rd_busy
+    while(*(reg_SRAM + 2) != 0);
+
+    if(*(reg_SRAM + 1) != 0xDEADBEEF)
+        error = true;
+    // for (int i = 0; i < 32; i++)
+    // {
+    //    if(*(reg_SRAM+(i*4)) != i * 1024 )
+    //     reg_mprj_datal = 0xAB800000;
+    // }
+
+    /* Apply configuration */
+    reg_mprj_xfer = 1;
+    while (reg_mprj_xfer == 1)
+        ;
+
+    reg_la2_oenb = reg_la2_iena = 0x00000000; // [95:64]
+
+    // Flag start of the test
+    reg_mprj_datal = 0xAB600000;
+
+    /* UART Setup: */
+    /* 8-N-1 115200B for 50Mhz System Clock */
+    int i = 0;
+    unsigned baud, data;
+    unsigned lfsr = seed;
+    unsigned bit;
+    unsigned period = 0;
+
+    unsigned rx_status = 0;
+    
+    //reg_UART_SETUP = 434; //115200 for 50MHz clock
+    reg_UART_CLKDIV = 434-2;
+    reg_UART_CONFIG = 1; //dummy write to CFG // todo: get rid of that changing the RTL
+
+    
+    // do
+    // {
+    //     rx_status = 0xFFFFFFFF;
+    //     /* taps: 16 14 13 11; characteristic polynomial: x^16 + x^14 + x^13 + x^11 + 1 */
+    //     bit = ((lfsr >> 0) ^ (lfsr >> 2) ^ (lfsr >> 3) ^ (lfsr >> 5)) & 1;
+    //     lfsr = (lfsr >> 1) | (bit << 15);
+    //     ++period;
+    //     data = lfsr % 256;     
+    //     reg_UART_DATA = data;
+        
+    //     while(rx_status == 0xFFFFFFFF)
+    //         rx_status = reg_UART_DATA;
+
+    //     if(rx_status != data)
+    //     {
+    //         error = true;
+    //         break;
+    //     }
+    // } while (period < 2 && lfsr != seed && rx_status == data);
+
+    if(error)
+        reg_mprj_datal = 0xAB800000;
+    else
+        reg_mprj_datal = 0xAB700000;
+}
+
diff --git a/verilog/dv/wb_sram/wb_sram_tb.v b/verilog/dv/wb_sram/wb_sram_tb.v
new file mode 100644
index 0000000..8e3952f
--- /dev/null
+++ b/verilog/dv/wb_sram/wb_sram_tb.v
@@ -0,0 +1,243 @@
+// SPDX-FileCopyrightText: 2020 Efabless Corporation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// SPDX-License-Identifier: Apache-2.0
+
+`default_nettype none
+
+`timescale 1 ns / 1 ps
+
+`define PER 20 // period
+
+
+module wb_sram_tb ();
+  reg clock ;
+  reg RSTB  ;
+  reg CSB   ;
+  reg power1, power2;
+  reg power3, power4;
+
+  wire        gpio     ;
+  wire [37:0] mprj_io  ;
+  wire [ 7:0] mprj_io_0;
+  wire [15:0] checkbits;
+
+
+  integer fd ;
+  integer tmp;
+
+  reg [8*10:0] uart_data_in = "de 1b2";
+
+  reg [23:0] dec_baud;
+  reg [ 7:0] dec_data;
+
+
+  reg [7:0] tx_data;
+
+  reg rx_pin = 1'b1;
+
+  task  uart_send;
+
+    begin : task_block
+      integer i;
+      //start bit
+      rx_pin = 1'b0;
+      #(`PER*baud_clk);
+      for ( i=0 ;i<8; i=i+1 )
+        begin : for_block
+          rx_pin = tx_data[i];
+          #(`PER*baud_clk);
+          rx_pin = 1'b1;
+        end
+    end
+  endtask
+
+  wire        rx                ;
+  reg  [23:0] baud_clk = 24'd434;
+  reg  [ 7:0] rx_data  = 8'd0   ;
+
+  task uart_receive;
+    begin : rx_block
+      integer i;
+      wait(rx == 1'b0);
+      $display("uart data is coming");
+      #(`PER*baud_clk/2);
+      //wait for start bit
+      #(`PER*baud_clk);
+      //Read data
+      for ( i=0 ;i<8 ;i++ )
+        begin : rx_for_blk
+          rx_data = {rx, rx_data[7:1]};
+          #(`PER*baud_clk);
+        end
+    end
+  endtask
+
+
+
+
+  assign checkbits = mprj_io[31:16];
+
+  assign mprj_io[3] = 1'b1;
+
+  assign mprj_io[15] = rx_pin;
+
+  // External clock is used by default.  Make this artificially fast for the
+  // simulation.  Normally this would be a slow clock and the digital PLL
+  // would be the fast clock.
+
+  //50MHz
+  always #(`PER/2) clock <= (clock === 1'b0);
+
+  initial
+    begin
+      clock = 0;
+    end
+
+  initial
+    begin
+      $dumpfile("wb_sram.vcd");
+      $dumpvars(0, wb_sram_tb);
+
+      // Repeat cycles of 1000 clock edges as needed to complete testbench
+      repeat (70)
+        begin
+          repeat (500) @(posedge clock);
+          // $display("+1000 cycles");
+        end
+      $display("%c[1;31m",27);
+`ifdef GL
+
+      $display ("Monitor: Timeout, Test Mega-Project WB Port (GL) Failed");
+`else
+      $display ("Monitor: Timeout, Test Mega-Project WB Port (RTL) Failed");
+`endif
+
+      $display("%c[0m",27);
+      $finish;
+    end
+
+  assign rx = uut.mprj.io_out[16];
+
+  initial
+    begin
+      wait(checkbits[15:4] == 12'hAB6);
+      $display("Monitor: MPRJ-Logic WB Started");
+      while(checkbits[15:4] != 12'hAB7)
+        begin
+
+          uart_receive();
+          tx_data = rx_data;
+          uart_send();
+
+        end
+
+    end
+
+
+  initial
+    begin
+      wait(checkbits[15:4] == 12'hAB7 || checkbits[15:4] == 12'hAB8 );
+
+      if(checkbits[15:4] == 12'hAB8)
+        begin
+          $display("SRAM failed!");
+          $finish;
+        end
+        else
+          begin
+    `ifdef GL
+            $display("Monitor: Mega-Project WB (GL) Passed");
+    `else
+            $display("Monitor: Mega-Project WB (RTL) Passed");
+    `endif
+            $finish;
+          end
+    end
+
+  initial
+    begin
+      RSTB <= 1'b0;
+      CSB  <= 1'b1;		// Force CSB high
+      #10000;
+      RSTB <= 1'b1;	    	// Release reset
+      #100000;
+      CSB = 1'b0;		// CSB can be released
+    end
+
+  initial
+    begin		// Power-up sequence
+      power1 <= 1'b0;
+      power2 <= 1'b0;
+      #200;
+      power1 <= 1'b1;
+      #200;
+      power2 <= 1'b1;
+    end
+
+
+
+  wire flash_csb;
+  wire flash_clk;
+  wire flash_io0;
+  wire flash_io1;
+
+  wire VDD3V3      = power1;
+  wire VDD1V8      = power2;
+  wire USER_VDD3V3 = power3;
+  wire USER_VDD1V8 = power4;
+  wire VSS         = 1'b0  ;
+
+  caravel uut (
+    .vddio    (VDD3V3   ),
+    .vddio_2  (VDD3V3   ),
+    .vssio    (VSS      ),
+    .vssio_2  (VSS      ),
+    .vdda     (VDD3V3   ),
+    .vssa     (VSS      ),
+    .vccd     (VDD1V8   ),
+    .vssd     (VSS      ),
+    .vdda1    (VDD3V3   ),
+    .vdda1_2  (VDD3V3   ),
+    .vdda2    (VDD3V3   ),
+    .vssa1    (VSS      ),
+    .vssa1_2  (VSS      ),
+    .vssa2    (VSS      ),
+    .vccd1    (VDD1V8   ),
+    .vccd2    (VDD1V8   ),
+    .vssd1    (VSS      ),
+    .vssd2    (VSS      ),
+    .clock    (clock    ),
+    .gpio     (gpio     ),
+    .mprj_io  (mprj_io  ),
+    .flash_csb(flash_csb),
+    .flash_clk(flash_clk),
+    .flash_io0(flash_io0),
+    .flash_io1(flash_io1),
+    .resetb   (RSTB     )
+  );
+
+  spiflash #(.FILENAME("wb_sram.hex")) spiflash (
+    .csb(flash_csb),
+    .clk(flash_clk),
+    .io0(flash_io0),
+    .io1(flash_io1),
+    .io2(         ), // not used
+    .io3(         )  // not used
+  );
+
+
+
+endmodule
+
+`default_nettype wire
diff --git a/verilog/gl/.user_proj_example.v.swp b/verilog/gl/.user_proj_example.v.swp
deleted file mode 100644
index 6eceaf7..0000000
--- a/verilog/gl/.user_proj_example.v.swp
+++ /dev/null
Binary files differ
diff --git a/verilog/includes/includes.rtl.caravel_user_project b/verilog/includes/includes.rtl.caravel_user_project
index 48c2430..e2dafde 100644
--- a/verilog/includes/includes.rtl.caravel_user_project
+++ b/verilog/includes/includes.rtl.caravel_user_project
@@ -3,6 +3,8 @@
 -v $(USER_PROJECT_VERILOG)/rtl/user_proj_example.v
 -v $(USER_PROJECT_VERILOG)/rtl/simpleUART/simple_uart.v
 -v $(USER_PROJECT_VERILOG)/rtl/sram/sram_wb_wrapper.sv
+-v $(USER_PROJECT_VERILOG)/rtl/aes/aes.v
+-v $(USER_PROJECT_VERILOG)/rtl/security_monitor/lfsr.v
 -v $(USER_PROJECT_VERILOG)/rtl/spi/tiny_spi.v
 -v $(USER_PROJECT_VERILOG)/rtl/wb_interconnect/wb_interconnect.sv
 -v $(USER_PROJECT_VERILOG)/rtl/wbuart32/rxuart.v
diff --git a/verilog/rtl/secure_monitor/lfsr.v b/verilog/rtl/security_monitor/lfsr.v
similarity index 62%
rename from verilog/rtl/secure_monitor/lfsr.v
rename to verilog/rtl/security_monitor/lfsr.v
index 8639d5b..525e4e5 100644
--- a/verilog/rtl/secure_monitor/lfsr.v
+++ b/verilog/rtl/security_monitor/lfsr.v
@@ -1,7 +1,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // File downloaded from http://www.nandland.com
 ///////////////////////////////////////////////////////////////////////////////
-// Description: 
+// Description:
 // A LFSR or Linear Feedback Shift Register is a quick and easy way to generate
 // pseudo-random data inside of an FPGA.  The LFSR can be used for things like
 // counters, test patterns, scrambling of data, and others.  This module
@@ -15,173 +15,180 @@
 // Parameters:
 // NUM_BITS - Set to the integer number of bits wide to create your LFSR.
 ///////////////////////////////////////////////////////////////////////////////
-module LFSR #(parameter NUM_BITS)
-(
- input i_Clk,
- input i_Enable,
+module LFSR #(parameter NUM_BITS = 32) (
+  input                     i_Clk           ,
+  input                     i_Enable        ,
+  // Optional Seed Value
+  input                     i_Seed_DV       ,
+  input      [NUM_BITS-1:0] i_Seed_Data     ,
+  output     [NUM_BITS-1:0] o_LFSR_Data     ,
+  output                    o_LFSR_Done     ,
+  input                     i_LFSR          ,
+  input                     master_key_ready,
+  input                     i_rst           ,
+  output reg                o_alarm         ,
+  input                     i_alarm_set
+);
 
- // Optional Seed Value
- input i_Seed_DV,
- input [NUM_BITS-1:0] i_Seed_Data,
+  reg [NUM_BITS:1] r_LFSR = 0;
+  reg              r_XNOR    ;
 
- output [NUM_BITS-1:0] o_LFSR_Data,
- output o_LFSR_Done,
- input i_LFSR,
- input master_key_ready,
- input i_rst,
- output reg o_alarm
- );
+  reg [1:0]  state        ;
+  localparam IDLE      = 0;
+  localparam SET_ALARM = 1;
+  localparam ALARM     = 2;
 
-reg [NUM_BITS:1] r_LFSR = 0;
-reg              r_XNOR;
-
-reg state;
-localparam IDLE = 0 ;
-localparam ALARM = 1 ;
+  reg i_lfsr_reg, o_lfsr_reg;
 
 
-always @(posedge i_Clk ) begin
-    
+  always @(posedge i_Clk ) begin
+
     if(i_rst)
-    begin
+      begin
         i_lfsr_reg <= 1'b0;
         o_lfsr_reg <= 1'b0;
-        o_alarm <= 1'b0;
-        state <= IDLE;          
-    end
+        o_alarm    <= 1'b0;
+        state      <= IDLE;
+      end
     else
-    begin
-        i_lfsr_reg <= i_lfsr;
-        i_lfsr_reg <= o_LFSR_data[0];
+      begin
+        i_lfsr_reg <= i_LFSR;
+        o_lfsr_reg <= o_LFSR_Data[0];
         case (state)
-            IDLE:
+          IDLE :
             begin
-                if(i_lfsr_reg != i_lfsr_reg)
+              if(i_alarm_set)
+                state <= SET_ALARM;
+            end
+
+          SET_ALARM :
+            begin
+              if(i_lfsr_reg != o_lfsr_reg)
                 begin
-                    o_alarm <= 1'b1;
-                    state <= ALARM;
+                  o_alarm <= 1'b1;
+                  state   <= ALARM;
                 end
             end
-            ALARM:
+          ALARM :
             begin
-                if(master_key_ready)
+              if(master_key_ready)
                 begin
-                    o_alarm <= 1'b0;
-                    state <= IDLE;
-                end                
+                  o_alarm <= 1'b0;
+                  state   <= IDLE;
+                end
             end
         endcase
-    end
-    
-end
+      end
+
+  end
 
 
 // Purpose: Load up LFSR with Seed if Data Valid (DV) pulse is detected.
 // Othewise just run LFSR when enabled.
-always @(posedge i_Clk)
-  begin
-    if (i_Enable == 1'b1)
-      begin
-        if (i_Seed_DV == 1'b1)
-          r_LFSR <= i_Seed_Data;
-        else
-          r_LFSR <= {r_LFSR[NUM_BITS-1:1], r_XNOR};
-      end
-  end
+  always @(posedge i_Clk)
+    begin
+      if (i_Enable == 1'b1)
+        begin
+          if (i_Seed_DV == 1'b1)
+            r_LFSR <= i_Seed_Data;
+          else
+            r_LFSR <= {r_LFSR[NUM_BITS-1:1], r_XNOR};
+        end
+    end
 
 // Create Feedback Polynomials.  Based on Application Note:
 // http://www.xilinx.com/support/documentation/application_notes/xapp052.pdf
-always @(*)
+  always @(*)
   begin
     case (NUM_BITS)
-      3: begin
+      3 : begin
         r_XNOR = r_LFSR[3] ^~ r_LFSR[2];
       end
-      4: begin
+      4 : begin
         r_XNOR = r_LFSR[4] ^~ r_LFSR[3];
       end
-      5: begin
+      5 : begin
         r_XNOR = r_LFSR[5] ^~ r_LFSR[3];
       end
-      6: begin
+      6 : begin
         r_XNOR = r_LFSR[6] ^~ r_LFSR[5];
       end
-      7: begin
+      7 : begin
         r_XNOR = r_LFSR[7] ^~ r_LFSR[6];
       end
-      8: begin
+      8 : begin
         r_XNOR = r_LFSR[8] ^~ r_LFSR[6] ^~ r_LFSR[5] ^~ r_LFSR[4];
       end
-      9: begin
+      9 : begin
         r_XNOR = r_LFSR[9] ^~ r_LFSR[5];
       end
-      10: begin
+      10 : begin
         r_XNOR = r_LFSR[10] ^~ r_LFSR[7];
       end
-      11: begin
+      11 : begin
         r_XNOR = r_LFSR[11] ^~ r_LFSR[9];
       end
-      12: begin
+      12 : begin
         r_XNOR = r_LFSR[12] ^~ r_LFSR[6] ^~ r_LFSR[4] ^~ r_LFSR[1];
       end
-      13: begin
+      13 : begin
         r_XNOR = r_LFSR[13] ^~ r_LFSR[4] ^~ r_LFSR[3] ^~ r_LFSR[1];
       end
-      14: begin
+      14 : begin
         r_XNOR = r_LFSR[14] ^~ r_LFSR[5] ^~ r_LFSR[3] ^~ r_LFSR[1];
       end
-      15: begin
+      15 : begin
         r_XNOR = r_LFSR[15] ^~ r_LFSR[14];
       end
-      16: begin
+      16 : begin
         r_XNOR = r_LFSR[16] ^~ r_LFSR[15] ^~ r_LFSR[13] ^~ r_LFSR[4];
-        end
-      17: begin
+      end
+      17 : begin
         r_XNOR = r_LFSR[17] ^~ r_LFSR[14];
       end
-      18: begin
+      18 : begin
         r_XNOR = r_LFSR[18] ^~ r_LFSR[11];
       end
-      19: begin
+      19 : begin
         r_XNOR = r_LFSR[19] ^~ r_LFSR[6] ^~ r_LFSR[2] ^~ r_LFSR[1];
       end
-      20: begin
+      20 : begin
         r_XNOR = r_LFSR[20] ^~ r_LFSR[17];
       end
-      21: begin
+      21 : begin
         r_XNOR = r_LFSR[21] ^~ r_LFSR[19];
       end
-      22: begin
+      22 : begin
         r_XNOR = r_LFSR[22] ^~ r_LFSR[21];
       end
-      23: begin
+      23 : begin
         r_XNOR = r_LFSR[23] ^~ r_LFSR[18];
       end
-      24: begin
+      24 : begin
         r_XNOR = r_LFSR[24] ^~ r_LFSR[23] ^~ r_LFSR[22] ^~ r_LFSR[17];
       end
-      25: begin
+      25 : begin
         r_XNOR = r_LFSR[25] ^~ r_LFSR[22];
       end
-      26: begin
+      26 : begin
         r_XNOR = r_LFSR[26] ^~ r_LFSR[6] ^~ r_LFSR[2] ^~ r_LFSR[1];
       end
-      27: begin
+      27 : begin
         r_XNOR = r_LFSR[27] ^~ r_LFSR[5] ^~ r_LFSR[2] ^~ r_LFSR[1];
       end
-      28: begin
+      28 : begin
         r_XNOR = r_LFSR[28] ^~ r_LFSR[25];
       end
-      29: begin
+      29 : begin
         r_XNOR = r_LFSR[29] ^~ r_LFSR[27];
       end
-      30: begin
+      30 : begin
         r_XNOR = r_LFSR[30] ^~ r_LFSR[6] ^~ r_LFSR[4] ^~ r_LFSR[1];
       end
-      31: begin
+      31 : begin
         r_XNOR = r_LFSR[31] ^~ r_LFSR[28];
       end
-      32: begin
+      32 : begin
         r_XNOR = r_LFSR[32] ^~ r_LFSR[22] ^~ r_LFSR[2] ^~ r_LFSR[1];
       end
 
@@ -189,9 +196,9 @@
   end // always @ (*)
 
 
-assign o_LFSR_Data = r_LFSR[NUM_BITS:1];
+  assign o_LFSR_Data = r_LFSR[NUM_BITS:1];
 
 // Conditional Assignment (?)
-assign o_LFSR_Done = (r_LFSR[NUM_BITS:1] == i_Seed_Data) ? 1'b1 : 1'b0;
+  assign o_LFSR_Done = (r_LFSR[NUM_BITS:1] == i_Seed_Data) ? 1'b1 : 1'b0;
 
 endmodule // LFSR
\ No newline at end of file
diff --git a/verilog/rtl/sram/sram_wb_wrapper.sv b/verilog/rtl/sram/sram_wb_wrapper.sv
index 123241e..b6a400c 100644
--- a/verilog/rtl/sram/sram_wb_wrapper.sv
+++ b/verilog/rtl/sram/sram_wb_wrapper.sv
@@ -40,11 +40,11 @@
   input  wire                      wb_we_i         , // write
   input  wire [  SRAM_DATA_WD-1:0] wb_dat_i        , // data output
   input  wire [SRAM_DATA_WD/8-1:0] wb_sel_i        , // byte enable
-  output wire [  SRAM_DATA_WD-1:0] wb_dat_o        , // data input
+  output reg  [  SRAM_DATA_WD-1:0] wb_dat_o        , // data input
   output reg                       wb_ack_o        , // acknowlegement
   // SRAM Interface
   // Port A
-  output wire                      sram_csb_a      ,
+  output reg                       sram_csb_a      ,
   output wire [  SRAM_ADDR_WD-1:0] sram_addr_a     ,
   input  wire [  SRAM_DATA_WD-1:0] sram_dout_a     ,
   // Port B
@@ -53,24 +53,35 @@
   output reg  [SRAM_DATA_WD/8-1:0] sram_mask_b     ,
   output reg  [  SRAM_ADDR_WD-1:0] sram_addr_b     ,
   output reg  [  SRAM_DATA_WD-1:0] sram_din_b      ,
-  output wire                      master_key_ready,
+  output reg                       master_key_ready,
   input  wire [              31:0] trng_i          ,
-  input  wire                      alarm
+  input  wire                      alarm           ,
+  output reg                       alarm_set
 );
 
 
-  logic         master_key_en        ;
-  logic [ 31:0] master_key_array[3:0];
-  logic [127:0] master_key           ;
-  logic [  1:0] counter              ;
-  logic [  4:0] trng_count           ;
+  wire         master_key_en        ;
+  reg  [ 31:0] master_key_array[3:0];
+  wire [127:0] master_key           ;
+  reg  [  1:0] counter              ;
+  reg  [  4:0] trng_count           ;
 
   assign master_key = {master_key_array[0], master_key_array[1], master_key_array[2], master_key_array[3]};
 
   assign master_key_en = rst ? 1'b0 :
-    (alarm || ((wb_adr_i == 32'd0) && wb_cyc_i && wb_stb_i && wb_we_i)) ? 1'b1 : 1'b0;
+    ((alarm)|| ((wb_adr_i == 32'd0) && wb_cyc_i && wb_stb_i && wb_we_i && !wb_ack_o)) ? 1'b1 : 1'b0;
 
-
+  always @(posedge wb_clk_i ) begin
+    if(rst)
+      begin
+        alarm_set <= 1'b0;
+      end
+    else
+      if((wb_adr_i == 32'd3) && wb_cyc_i && wb_stb_i && wb_we_i && !wb_ack_o)
+        begin
+          alarm_set <= ~alarm_set;
+        end
+  end
 
   always @(posedge wb_clk_i) begin
     if(rst)
@@ -85,27 +96,36 @@
       end
     else
       begin
+        master_key_ready <= 1'b0;
         if(master_key_en)
           begin
             if(wb_dat_i)
               begin
                 master_key_array[counter] <= wb_dat_i;
                 counter                   <= counter + 2'd1;
+                trng_count                <= 5'd1; //avoid take the value from trng for a while
+                if(counter == 2'h3)
+                  begin
+                    master_key_ready <= 1'b1;
+                    counter          <= 2'h0;
+                  end
               end
             else
               begin
                 if(trng_count == 5'd0)
                   begin
-                    master_key_array[counter] <= trng_in;
+                    master_key_array[counter] <= trng_i;
                     counter                   <= counter + 2'd1;
+                    if(counter == 2'h3)
+                      begin
+                        master_key_ready <= 1'b1;
+                        counter          <= 2'h0;
+                      end
                   end
                 trng_count <= trng_count + 5'd1;
               end
 
-            if(counter == 2'h3)
-              master_key_ready <= 1'b1;
-            else
-              master_key_ready <= 1'b0;
+
           end
       end
 
@@ -113,8 +133,7 @@
 
 // Memory Write Port
 // assign sram_clk_b  = wb_clk_i;
-  assign wb_dat_o = (wb_adr_i == 9'd1 && wb_cyc_i && wb_stb_i && !wb_we_i) ? SRAM_data_reg :
-    (wb_adr_i == 9'd2 && wb_cyc_i && wb_stb_i && !wb_we_i) ? {30'd0,rd_busy, wr_busy} : 'h0;
+
 
 // Memory Read Port
 // assign sram_clk_a  = wb_clk_i;
@@ -136,25 +155,25 @@
   localparam WR_TO_SRAM     = 4;
 
 
-  logic [ 1:0] state_next_rd, state_reg_rd;
-  logic [ 8:0] sram_addr_a_next, sram_addr_a_reg;
-  logic [ 2:0] read_count_next, read_count_reg;
-  logic [31:0] read_data_next  [3:0];
-  logic [31:0] read_data_reg   [3:0];
-  logic [31:0] SRAM_data_next, SRAM_data_reg;
+  reg [ 1:0] state_next_rd, state_reg_rd;
+  reg [ 8:0] sram_addr_a_next, sram_addr_a_reg;
+  reg [ 2:0] read_count_next, read_count_reg;
+  reg [31:0] read_data_next  [3:0];
+  reg [31:0] read_data_reg   [3:0];
+  reg [31:0] SRAM_data_next, SRAM_data_reg;
 
-  logic         read       ;
-  logic         aes_init_rd;
-  logic         enc_dec_rd ;
-  logic         aes_next_rd;
-  logic [127:0] aes_ptx_rd ;
-  logic         rd_busy    ;
-  logic         aes_ready  ;
-  logic         aes_valid  ;
-  logic [127:0] aes_ctx    ;
+  wire         read           ;
+  reg          aes_init_rd    ;
+  reg          enc_dec_rd     ;
+  reg          aes_next_rd    ;
+  reg  [127:0] aes_ptx_rd_next, aes_ptx_rd_reg;
+  reg          rd_busy        ;
+  wire         aes_ready      ;
+  wire         aes_valid      ;
+  wire [127:0] aes_ctx        ;
   always @(posedge wb_clk_i )
     begin
-      if(reset)
+      if(rst)
         begin
           state_reg_rd     <= 2'd0;
           sram_addr_a_reg  <= 9'd0;
@@ -164,6 +183,7 @@
           read_data_reg[3] <= 32'd0;
           SRAM_data_reg    <= 32'd0;
           read_count_reg   <= 3'd0;
+          aes_ptx_rd_reg   <= 128'd0;
         end
       else
         begin
@@ -175,78 +195,81 @@
           read_data_reg[3] <= read_data_next[3];
           SRAM_data_reg    <= SRAM_data_next   ;
           read_count_reg   <= read_count_next ;
+          aes_ptx_rd_reg   <= aes_ptx_rd_next;
         end
 
     end
 
-  assign read = (wb_stb_i == 1'b1 && wb_we_i == 1'b0 && wb_cyc_i == 1'b1 && !wr_busy) ? 1'b0 : 1'b1;
+  assign sram_addr_a = sram_addr_a_reg;
+  assign read        = (wb_stb_i == 1'b1 && wb_we_i == 1'b0 && wb_cyc_i == 1'b1 && !wr_busy && wb_adr_i != 0 && wb_adr_i != 1 && wb_adr_i != 2 && wb_adr_i != 3  ) ? 1'b1 : 1'b0;
+
   always @(*)
-  begin
-    //default assignments
-    rd_busy           = 1'b1;
-    state_next_rd     = state_reg_rd;
-    sram_addr_a_next  = sram_addr_a_reg;
-    sram_csb_a        = 1'b1;
-    read_count_next   = read_count_reg;
-    read_data_next[0] = read_data_reg[0];
-    read_data_next[1] = read_data_reg[1];
-    read_data_next[2] = read_data_reg[2];
-    read_data_next[3] = read_data_reg[3];
-    SRAM_data_next    = SRAM_data_reg;
-    aes_next_rd       = 1'b0;
-    enc_dec_rd        = 1'b0;
-    aes_init_rd       = 1'b0;
+    begin
+      //default assignments
+      rd_busy           = 1'b1;
+      state_next_rd     = state_reg_rd;
+      sram_addr_a_next  = sram_addr_a_reg;
+      sram_csb_a        = 1'b1;
+      read_count_next   = read_count_reg;
+      read_data_next[0] = read_data_reg[0];
+      read_data_next[1] = read_data_reg[1];
+      read_data_next[2] = read_data_reg[2];
+      read_data_next[3] = read_data_reg[3];
+      SRAM_data_next    = SRAM_data_reg;
+      enc_dec_rd        = 1'b0;
+      aes_init_rd       = 1'b0;
+      aes_ptx_rd_next   = aes_ptx_rd_reg;
+      aes_next_rd       = 1'b0;
 
-
-    case (state_reg_rd)
-      INIT :
-        begin
-          if(read)
-            begin
-              sram_addr_a_next = wb_adr_i;
-              state_next_rd    = READ_DATA;
-            end
-          else
-            rd_busy = 1'b0;
-        end
-      READ_DATA :
-        begin
-          if(read_count_reg < 3'd5)
-            begin
-              sram_addr_a_next = sram_addr_a_reg + 1;
-              sram_csb_a       = 1'b0;
-              read_count_next  = read_count_reg + 1;
-              if(read_count_reg > 3'd0)
-                read_data_next[read_count-1] = sram_dout_a;
-            end
-          else
-            begin
-              state_next_rd   = WAIT_AES_READY;
-              aes_init_rd     = 1'b1;
-              enc_dec_rd      = 1'b0;
-              read_count_next = 3'd0;
-            end
-        end
-      WAIT_AES_READY :
-        begin
-          if(aes_ready)
-            begin
-              state_next_rd = WAIT_AES_DONE;
-              aes_next_rd   = 1'b1;
-              aes_ptx_rd    = read_data_reg;
-            end
-        end
-      WRITE_AES_DONE :
-        begin
-          if(aes_valid)
-            begin
-              rd_busy        = 1'b0;
-              state_next_rd  = INIT;
-              SRAM_data_next = aes_ctx[31:0];
-            end
-        end
-    endcase
-  end
+      case (state_reg_rd)
+        INIT :
+          begin
+            if(read)
+              begin
+                sram_addr_a_next = wb_adr_i;
+                state_next_rd    = READ_DATA;
+              end
+            else
+              rd_busy = 1'b0;
+          end
+        READ_DATA :
+          begin
+            if(read_count_reg < 3'd5)
+              begin
+                sram_addr_a_next = sram_addr_a_reg + 1;
+                sram_csb_a       = 1'b0;
+                read_count_next  = read_count_reg + 1;
+                if(read_count_reg > 3'd0)
+                  read_data_next[read_count_reg-1] = sram_dout_a;
+              end
+            else
+              begin
+                state_next_rd   = WAIT_AES_READY;
+                aes_init_rd     = 1'b1;
+                //enc_dec_rd      = 1'b0;
+                read_count_next = 3'd0;
+              end
+          end
+        WAIT_AES_READY :
+          begin
+            if(aes_ready)
+              begin
+                state_next_rd   = WAIT_AES_DONE;
+                aes_next_rd     = 1'b1;
+                aes_ptx_rd_next = {read_data_reg[3],read_data_reg[2],read_data_reg[1],read_data_reg[0]} ;
+              end
+          end
+        WAIT_AES_DONE :
+          begin
+            if(aes_valid)
+              begin
+                rd_busy        = 1'b0;
+                state_next_rd  = INIT;
+                SRAM_data_next = aes_ctx[31:0];
+              end
+          end
+      endcase
+    end
   /* FSM for reading ciphered Data from SRAM */
   /*******************************************/
 
@@ -257,43 +280,47 @@
   /* FSM for writing ciphered Data to SRAM */
   /*******************************************/
 
-  logic [ 2:0] state_next_wr, state_reg_wr;
-  logic [ 8:0] sram_addr_b_next, sram_addr_b_reg;
-  logic [ 2:0] wr_count_next, wr_count_reg;
-  logic [31:0] wr_data_next, wr_data_reg;
-  logic [ 8:0] wr_addr_next, wr_addr_reg;
+  reg [ 2:0] state_next_wr, state_reg_wr;
+  reg [ 8:0] sram_addr_b_next, sram_addr_b_reg;
+  reg [ 2:0] wr_count_next, wr_count_reg;
+  reg [31:0] wr_data_next, wr_data_reg;
+  reg [ 8:0] wr_addr_next, wr_addr_reg;
+
+  localparam AES_INIT = 1;
 
 
-  logic        write           ;
-  logic        aes_init_wr     ;
-  logic        enc_dec_wr      ;
-  logic        aes_next_wr     ;
-  logic        aes_ptx_wr      ;
-  logic        wr_busy         ;
-  logic [31:0] aes_ctx_wr [3:0];
+  wire         write               ;
+  reg          aes_init_wr         ;
+  reg          enc_dec_wr          ;
+  reg          aes_next_wr         ;
+  reg  [127:0] aes_ptx_wr_next, aes_ptx_wr_reg;
+  reg          wr_busy             ;
+  wire [ 31:0] aes_ctx_wr     [3:0];
 
-  assign aes_ctx_wr[0] = aex_ctx[31:0];
-  assign aes_ctx_wr[1] = aex_ctx[63:32];
-  assign aes_ctx_wr[2] = aex_ctx[95:64];
-  assign aes_ctx_wr[3] = aex_ctx[127:96];
+  assign aes_ctx_wr[0] = aes_ctx[31:0];
+  assign aes_ctx_wr[1] = aes_ctx[63:32];
+  assign aes_ctx_wr[2] = aes_ctx[95:64];
+  assign aes_ctx_wr[3] = aes_ctx[127:96];
 
-  assign write = (wb_stb_i == 1'b1 && wb_we_i == 1'b1 && wb_cyc_i == 1'b1 && !rd_busy) ? 1'b0 : 1'b1;
+  assign write = (wb_stb_i == 1'b1 && wb_we_i == 1'b1 && wb_cyc_i == 1'b1 && !rd_busy && wb_adr_i != 0 && wb_adr_i != 1 && wb_adr_i != 2 && wb_adr_i != 3) ? 1'b1 : 1'b0;
 
   always @(posedge wb_clk_i )
     begin
-      if(reset)
+      if(rst)
         begin
-          state_reg_wr <= INIT;
-          wr_data_reg  <= 32'd0;
-          wr_addr_reg  <= 9'd0;
-          wr_count_reg <= 3'd0;
+          state_reg_wr   <= INIT;
+          wr_data_reg    <= 32'd0;
+          wr_addr_reg    <= 9'd0;
+          wr_count_reg   <= 3'd0;
+          aes_ptx_wr_reg <= 128'd0;
         end
       else
         begin
-          state_reg_wr <= state_next_wr ;
-          wr_data_reg  <= wr_data_next  ;
-          wr_addr_reg  <= wr_addr_next  ;
-          wr_count_reg <= wr_count_next ;
+          state_reg_wr   <= state_next_wr ;
+          wr_data_reg    <= wr_data_next  ;
+          wr_addr_reg    <= wr_addr_next  ;
+          wr_count_reg   <= wr_count_next ;
+          aes_ptx_wr_reg <= aes_ptx_wr_next;
         end
     end
 
@@ -302,25 +329,26 @@
   always @(*)
     begin
       //default assignments
-      wr_busy       = 1'b1;
-      state_next_wr = state_reg_wr;
-      sram_addr_b   = 9'd0;
-      sram_csb_b    = 1'b1;
-      sram_mask_b   = 4'h0;
-      wr_count_next = wr_count_reg;
-      aes_next_wr   = 1'b0;
-      enc_dec_wr    = 1'b0;
-      aes_init_wr   = 1'b0;
-      wr_data_next  = wr_data_reg;
-      wr_addr_next  = wr_addr_reg;
+      wr_busy         = 1'b1;
+      state_next_wr   = state_reg_wr;
+      sram_addr_b     = 9'd0;
+      sram_csb_b      = 1'b1;
+      sram_mask_b     = 4'h0;
+      wr_count_next   = wr_count_reg;
+      aes_next_wr     = 1'b0;
+      enc_dec_wr      = 1'b1;
+      aes_init_wr     = 1'b0;
+      wr_data_next    = wr_data_reg;
+      wr_addr_next    = wr_addr_reg;
+      aes_ptx_wr_next = aes_ptx_wr_reg;
 
-      case (state_reg_rd)
+      case (state_reg_wr)
         INIT :
           begin
             if(write)
               begin
                 aes_init_wr   = 1'b1;
-                enc_dec_wr    = 1'b1;
+                //enc_dec_wr      = 1'b1;
                 state_next_wr = WAIT_AES_READY;
                 wr_data_next  = wb_dat_i;
                 wr_addr_next  = wb_adr_i;
@@ -328,16 +356,17 @@
             else
               wr_busy = 1'b0;
           end
+
         WAIT_AES_READY :
           begin
             if(aes_ready)
               begin
-                state_next_wr = WAIT_AES_DONE;
-                aes_next_wr   = 1'b1;
-                aes_ptx_wr    = wr_data_reg;
+                state_next_wr   = WAIT_AES_DONE;
+                aes_next_wr     = 1'b1;
+                aes_ptx_wr_next = wr_data_reg;
               end
           end
-        WRITE_AES_DONE :
+        WAIT_AES_DONE :
           begin
             if(aes_valid)
               begin
@@ -375,27 +404,27 @@
   /* FSM for writing ciphered Data to SRAM */
   /*******************************************/
 
-  logic         aes_init = (write && !read) ? aes_init_wr : (!write && read) ? aes_init_rd : 'h0;
-  logic         aes_next = (write && !read) ? aes_next_wr : (!write && read) ? aes_next_rd : 'h0;
-  logic [127:0] aes_ptx  = (write && !read) ? aes_ptx_wr : (!write && read) ? aes_ptx_rd : 'h0  ;
-  logic         enc_dec  = (write && !read) ? enc_dec_wr : (!write && read) ? enc_dec_rd : 'h0  ;
+  wire         aes_init = (wr_busy) ? aes_init_wr : (rd_busy) ? aes_init_rd : 'h0       ;
+  wire         aes_next = (wr_busy) ? aes_next_wr : (rd_busy) ? aes_next_rd : 'h0       ;
+  wire [127:0] aes_ptx  = (wr_busy) ? aes_ptx_wr_reg :  (rd_busy) ? aes_ptx_rd_reg : 'h0;
+  wire         enc_dec  = (wr_busy) ? enc_dec_wr :  (rd_busy) ? enc_dec_rd : 'h0        ;
 
 
   aes_core core (
-    .clk         (wb_clk_i            ),
-    .reset_n     (~rst                ),
+    .clk         (wb_clk_i           ),
+    .reset_n     (~rst               ),
     
-    .encdec      (enc_dec             ),
-    .init        (aes_init            ),
-    .next        (aes_next            ),
-    .ready       (aes_ready           ),
+    .encdec      (enc_dec            ),
+    .init        (aes_init           ),
+    .next        (aes_next           ),
+    .ready       (aes_ready          ),
     
-    .key         ({128'd0, master_key}),
-    .keylen      (2'd0                ),
+    .key         ({master_key,128'd0}),
+    .keylen      (1'b0               ),
     
-    .block       (aes_ptx             ),
-    .result      (aes_ctx             ),
-    .result_valid(aes_valid           )
+    .block       (aes_ptx            ),
+    .result      (aes_ctx            ),
+    .result_valid(aes_valid          )
   );
 
 // Generate once cycle delayed ACK to get the data from SRAM
@@ -404,10 +433,23 @@
       if ( rst == 1'b1 )
         begin
           wb_ack_o <= 1'b0;
-        end else
-      begin
-        wb_ack_o <= (wb_stb_i == 1'b1) & (wb_cyc_i == 1'b1) & (wb_ack_o == 0);
-      end
+          wb_dat_o <= 32'd0;
+        end
+      else
+        begin
+          if((wb_stb_i == 1'b1) && (wb_cyc_i == 1'b1))
+            wb_ack_o <= 1'b1 ;
+          else
+            wb_ack_o <= 1'b0 ;
+
+          if((wb_adr_i == 9'd1 && wb_cyc_i && wb_stb_i && !wb_we_i) )
+            wb_dat_o <= SRAM_data_reg;
+          else if(wb_adr_i == 9'd2 && wb_cyc_i && wb_stb_i && !wb_we_i)
+            wb_dat_o <= {29'd0,alarm,rd_busy, wr_busy};
+          else
+            wb_dat_o <= 32'd0;
+
+        end
     end
 
 endmodule
diff --git a/verilog/rtl/user_proj_example.v b/verilog/rtl/user_proj_example.v
index b0873d2..9a427be 100644
--- a/verilog/rtl/user_proj_example.v
+++ b/verilog/rtl/user_proj_example.v
@@ -127,9 +127,13 @@
   wire                s3_wb_ack_o;
 
 
-  logic alarm;
-  logic master_key_ready;
-  logic [31:0] o_LFSR_Data;
+  wire alarm;
+  wire alarm_set;
+  wire master_key_ready;
+  wire [31:0] o_LFSR_Data;
+
+  wire [31:0] trng_i = 32'd0;
+
 
 
   wb_interconnect interconnect (
@@ -151,7 +155,7 @@
     .m0_wb_ack_o(wbs_ack_o  ),
     
     // Slave 0 Interface
-    .s0_wb_dat_i(s0_wb_dat_i),
+    .s0_wb_dat_i(s0_wb_dat_o),
     .s0_wb_ack_i(s0_wb_ack_o),
     .s0_wb_dat_o(s0_wb_dat_i),
     .s0_wb_adr_o(s0_wb_adr_i),
@@ -224,9 +228,10 @@
     .sram_mask_b(sram_mask_b),
     .sram_addr_b(sram_addr_b),
     .sram_din_b (sram_din_b ),
-    .trng_i(1'b0),
+    .trng_i(trng_i),
     .alarm(alarm),
-    .master_key_ready(master_key_ready)
+    .master_key_ready(master_key_ready),
+    .alarm_set(alarm_set)
   );
 
   assign io_oeb = {(`MPRJ_IO_PADS){1'b0}};
@@ -255,21 +260,21 @@
   );
 
 
-  assign io_out[11] = o_LFSR_Data[0];
+  assign io_out[18] = o_LFSR_Data[0];
 
   LFSR 
   #(
-    .NUM_BITS (
-        NUM_BITS )
+    .NUM_BITS (32)
   )
   LFSR_dut (
     .i_Clk (wb_clk_i ),
-    .i_Enable (~wb_rst_i ),
+    .i_Enable (1'b1 ),
+    .i_alarm_set (alarm_set),
     .i_Seed_DV (wb_rst_i ),
     .i_Seed_Data (trng_i ),
     .o_LFSR_Data (o_LFSR_Data ),
     .o_LFSR_Done  (),
-    .i_LFSR ( io_in[11]),
+    .i_LFSR ( io_in[17]),
     .master_key_ready(master_key_ready),
     .i_rst(wb_rst_i),
     .o_alarm(alarm)
diff --git a/vivado.jou b/vivado.jou
index c236c59..d9a5e9c 100644
--- a/vivado.jou
+++ b/vivado.jou
@@ -95,3 +95,5 @@
 refresh_design
 refresh_design
 refresh_design
+close_sim
+close_sim
diff --git a/vivado.log b/vivado.log
index e108c67..a96775f 100644
--- a/vivado.log
+++ b/vivado.log
@@ -1457,3 +1457,9 @@
 ---------------------------------------------------------------------------------
 RTL Elaboration failed
 ERROR: [Common 17-39] 'refresh_design' failed due to earlier errors.
+close_sim
+INFO: [Simtcl 6-16] Simulation closed
+close_sim
+INFO: [Simtcl 6-16] Simulation closed
+exit
+INFO: [Common 17-206] Exiting Vivado at Mon Mar 21 13:37:23 2022...
diff --git a/vivado_pid223153.str b/vivado_pid223153.str
deleted file mode 100644
index caf11c8..0000000
--- a/vivado_pid223153.str
+++ /dev/null
@@ -1,3484 +0,0 @@
-/*
-
-Xilinx Vivado v2018.3 (64-bit) [Major: 2018, Minor: 3]
-SW Build: 2405991 on Thu Dec  6 23:36:41 MST 2018
-IP Build: 2404404 on Fri Dec  7 01:43:56 MST 2018
-
-Process ID (PID): 223153
-License: Customer
-
-Current time: 	Sun Mar 20 16:00:23 EET 2022
-Time zone: 	Eastern European Standard Time (Europe/Istanbul)
-
-OS: Ubuntu
-OS Version: 5.11.0-49-generic
-OS Architecture: amd64
-Available processors (cores): 12
-
-Display: :0
-Screen size: 1920x1080
-Screen resolution (DPI): 96
-Available screens: 1
-Available disk space: 6 GB
-Default font: family=Dialog,name=Dialog,style=plain,size=12
-
-Java version: 	9.0.4 64-bit
-Java home: 	/tools/Xilinx/Vivado/2018.3/tps/lnx64/jre9.0.4
-Java executable location: 	/tools/Xilinx/Vivado/2018.3/tps/lnx64/jre9.0.4/bin/java
-Java initial memory (-Xms): 	128 MB
-Java maximum memory (-Xmx):	 3 GB
-
-
-User name: 	egoncu
-User home directory: /home/egoncu
-User working directory: /home/egoncu/workspace/secure-memory-uart
-User country: 	US
-User language: 	en
-User locale: 	en_US
-
-RDI_BASEROOT: /tools/Xilinx/Vivado
-HDI_APPROOT: /tools/Xilinx/Vivado/2018.3
-RDI_DATADIR: /tools/Xilinx/Vivado/2018.3/data
-RDI_BINDIR: /tools/Xilinx/Vivado/2018.3/bin
-
-Vivado preferences file location: /home/egoncu/.Xilinx/Vivado/2018.3/vivado.xml
-Vivado preferences directory: /home/egoncu/.Xilinx/Vivado/2018.3/
-Vivado layouts directory: /home/egoncu/.Xilinx/Vivado/2018.3/layouts
-PlanAhead jar file location: 	/tools/Xilinx/Vivado/2018.3/lib/classes/planAhead.jar
-Vivado log file location: 	/home/egoncu/workspace/secure-memory-uart/vivado.log
-Vivado journal file location: 	/home/egoncu/workspace/secure-memory-uart/vivado.jou
-Engine tmp dir: 	./.Xil/Vivado-223153-egoncu-pr
-
-Xilinx Environment Variables
-----------------------------
-XILINX: /tools/Xilinx/Vivado/2018.3/ids_lite/ISE
-XILINX_DSP: /tools/Xilinx/Vivado/2018.3/ids_lite/ISE
-XILINX_PLANAHEAD: /tools/Xilinx/Vivado/2018.3
-XILINX_SDK: /tools/Xilinx/SDK/2018.3
-XILINX_VIVADO: /tools/Xilinx/Vivado/2018.3
-XILINX_VIVADO_HLS: /tools/Xilinx/Vivado/2018.3
-
-
-GUI allocated memory:	154 MB
-GUI max memory:		3,072 MB
-Engine allocated memory: 839 MB
-
-Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.
-
-*/
-
-// TclEventType: START_GUI
-// Tcl Message: start_gui 
-selectButton(PAResourceEtoH.GettingStartedView_CREATE_NEW_PROJECT, "Create Project"); // x (w, cp)
-// Run Command: PAResourceCommand.PACommandNames_NEW_PROJECT
-// [GUI Memory]: 100 MB (+102314kb) [00:00:07]
-// [Engine Memory]: 849 MB (+739236kb) [00:00:07]
-// [Engine Memory]: 896 MB (+4291kb) [00:00:08]
-// [GUI Memory]: 105 MB (+353kb) [00:00:09]
-// f (cp): New Project: addNotify
-// HMemoryUtils.trashcanNow. Engine heap size: 903 MB. GUI used memory: 50 MB. Current time: 3/20/22, 4:00:25 PM EET
-selectButton("NEXT", "Next >"); // JButton (j, f)
-// WARNING: HEventQueue.dispatchEvent() is taking  1001 ms.
-setText(PAResourceOtoP.ProjectNameChooser_CHOOSE_PROJECT_LOCATION, "/home/egoncu/workspace/"); // al (ak, f)
-selectButton("NEXT", "Next >"); // JButton (j, f)
-selectButton("NEXT", "Next >"); // JButton (j, f)
-selectButton("NEXT", "Next >"); // JButton (j, f)
-selectButton("BACK", "< Back"); // JButton (j, f)
-selectComboBox(PAResourceQtoS.SrcChooserPanel_TARGET_LANGUAGE, "Verilog", 1); // e (Q, f)
-selectButton("NEXT", "Next >"); // JButton (j, f)
-selectButton("NEXT", "Next >"); // JButton (j, f)
-selectButton("NEXT", "Next >"); // JButton (j, f)
-// bx (f):  Create Project : addNotify
-// TclEventType: DEBUG_PROBE_SET_CHANGE
-// TclEventType: FILE_SET_NEW
-// TclEventType: RUN_ADD
-// TclEventType: RUN_CURRENT
-// TclEventType: PROJECT_DASHBOARD_NEW
-// TclEventType: PROJECT_DASHBOARD_GADGET_NEW
-// TclEventType: PROJECT_DASHBOARD_GADGET_CHANGE
-// TclEventType: PROJECT_DASHBOARD_GADGET_NEW
-// TclEventType: PROJECT_DASHBOARD_GADGET_CHANGE
-// TclEventType: PROJECT_DASHBOARD_GADGET_NEW
-// TclEventType: PROJECT_DASHBOARD_GADGET_CHANGE
-// TclEventType: PROJECT_DASHBOARD_GADGET_NEW
-// TclEventType: PROJECT_DASHBOARD_GADGET_CHANGE
-// TclEventType: PROJECT_DASHBOARD_GADGET_NEW
-// TclEventType: PROJECT_DASHBOARD_GADGET_CHANGE
-// TclEventType: PROJECT_DASHBOARD_GADGET_NEW
-// TclEventType: PROJECT_DASHBOARD_GADGET_CHANGE
-// TclEventType: PROJECT_NEW
-// Tcl Message: create_project project_1 /home/egoncu/workspace/project_1 -part xc7vx485tffg1157-1 
-// Tcl Message: INFO: [IP_Flow 19-234] Refreshing IP repositories INFO: [IP_Flow 19-1704] No user IP repositories specified 
-// TclEventType: PROJECT_NEW
-// [Engine Memory]: 977 MB (+37901kb) [00:00:28]
-// WARNING: HEventQueue.dispatchEvent() is taking  1385 ms.
-// TclEventType: FILE_SET_OPTIONS_CHANGE
-// Tcl Message: INFO: [IP_Flow 19-2313] Loaded Vivado IP repository '/tools/Xilinx/Vivado/2018.3/data/ip'. 
-// HMemoryUtils.trashcanNow. Engine heap size: 996 MB. GUI used memory: 58 MB. Current time: 3/20/22, 4:00:45 PM EET
-// TclEventType: FILE_SET_OPTIONS_CHANGE
-selectButton("FINISH", "Finish"); // JButton (j, f)
-// 'g' command handler elapsed time: 22 seconds
-dismissDialog("Create Project"); // bx (f)
-dismissDialog("New Project"); // f (cp)
-selectButton(PAResourceCommand.PACommandNames_ADD_SOURCES, "Sources_add_sources"); // B (f, cp)
-// [GUI Memory]: 116 MB (+5478kb) [00:00:30]
-// [Engine Memory]: 1,026 MB (+400kb) [00:00:30]
-selectButton(PAResourceCommand.PACommandNames_ADD_SOURCES, "Sources_add_sources"); // B (f, cp)
-// Run Command: PAResourceCommand.PACommandNames_ADD_SOURCES
-// c (cp): Add Sources: addNotify
-selectButton("NEXT", "Next >"); // JButton (j, c)
-selectButton(PAResourceQtoS.SrcChooserPanel_CREATE_FILE, "Create File"); // a (C, c)
-// F (c): Create Source File: addNotify
-setText(PAResourceAtoD.CreateSrcFileDialog_FILE_NAME, "aes"); // Y (Q, F)
-selectButton(RDIResource.BaseDialog_OK, "OK"); // a (F)
-// Tcl Command: 'file mkdir /home/egoncu/workspace/project_1/project_1.srcs/sources_1/new'
-dismissDialog("Create Source File"); // F (c)
-// Tcl Message: file mkdir /home/egoncu/workspace/project_1/project_1.srcs/sources_1/new 
-selectButton("FINISH", "Finish"); // JButton (j, c)
-// 'h' command handler elapsed time: 10 seconds
-// [Engine Memory]: 1,078 MB (+918kb) [00:00:44]
-dismissDialog("Add Sources"); // c (cp)
-// Tcl Message: close [ open /home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/aes.v w ] 
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-// Tcl Message: add_files /home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/aes.v 
-// I (cp): Define Module: addNotify
-selectButton(RDIResource.BaseDialog_CANCEL, "Cancel"); // a (I)
-selectButton("PAResourceAtoD.DefineModulesDialog_YOU_HAVE_MADE_CHANGES_TO_MODULE_Yes", "Yes"); // JButton (C, J)
-dismissDialog("Define Module"); // I (cp)
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-// Tcl Message: update_compile_order -fileset sources_1 
-expandTree(PAResourceEtoH.FileSetPanel_FILE_SET_PANEL_TREE, "[root, Design Sources, Non-module Files]", 1); // B (D, cp)
-selectTree(PAResourceEtoH.FileSetPanel_FILE_SET_PANEL_TREE, "[root, Design Sources, Non-module Files, aes.v]", 2, false); // B (D, cp)
-// HMemoryUtils.trashcanNow. Engine heap size: 1,114 MB. GUI used memory: 58 MB. Current time: 3/20/22, 4:01:10 PM EET
-selectTree(PAResourceEtoH.FileSetPanel_FILE_SET_PANEL_TREE, "[root, Design Sources, Non-module Files, aes.v]", 2, false, false, false, false, false, true); // B (D, cp) - Double Click
-selectCodeEditor("aes.v", 213, 190); // cl (w, cp)
-selectCodeEditor("aes.v", 223, 189); // cl (w, cp)
-typeControlKey((HResource) null, "aes.v", 'v'); // cl (w, cp)
-selectCodeEditor("aes.v", 349, 218); // cl (w, cp)
-// Elapsed time: 28 seconds
-selectButton(PAResourceCommand.PACommandNames_ADD_SOURCES, "Sources_add_sources"); // B (f, cp)
-// Run Command: PAResourceCommand.PACommandNames_ADD_SOURCES
-// c (cp): Add Sources: addNotify
-selectRadioButton(PAResourceAtoD.AddSrcWizard_SPECIFY_SIMULATION_SPECIFIC_HDL_FILES, "Add or create simulation sources"); // a (o, c)
-selectButton("NEXT", "Next >"); // JButton (j, c)
-selectButton(PAResourceQtoS.SrcChooserPanel_CREATE_FILE, "Create File"); // a (C, c)
-// F (c): Create Source File: addNotify
-setText(PAResourceAtoD.CreateSrcFileDialog_FILE_NAME, "tb"); // Y (Q, F)
-selectButton(RDIResource.BaseDialog_OK, "OK"); // a (F)
-// Tcl Command: 'file mkdir /home/egoncu/workspace/project_1/project_1.srcs/sim_1/new'
-dismissDialog("Create Source File"); // F (c)
-// Tcl Message: file mkdir /home/egoncu/workspace/project_1/project_1.srcs/sim_1/new 
-selectButton("FINISH", "Finish"); // JButton (j, c)
-// 'h' command handler elapsed time: 7 seconds
-// TclEventType: FILE_SET_CHANGE
-dismissDialog("Add Sources"); // c (cp)
-// TclEventType: FILE_SET_OPTIONS_CHANGE
-// Tcl Message: set_property SOURCE_SET sources_1 [get_filesets sim_1] 
-// Tcl Message: close [ open /home/egoncu/workspace/project_1/project_1.srcs/sim_1/new/tb.v w ] 
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-// Tcl Message: add_files -fileset sim_1 /home/egoncu/workspace/project_1/project_1.srcs/sim_1/new/tb.v 
-// I (cp): Define Module: addNotify
-selectButton(RDIResource.BaseDialog_OK, "OK"); // a (I)
-selectButton("PAResourceAtoD.DefineModulesDialog_YOU_HAVE_MADE_CHANGES_TO_MODULE_No", "No"); // JButton (C, J)
-selectButton(RDIResource.BaseDialog_OK, "OK"); // a (I)
-// TclEventType: FILE_SET_CHANGE
-selectButton("PAResourceAtoD.DefineModulesDialog_YOU_HAVE_MADE_CHANGES_TO_MODULE_Yes", "Yes"); // JButton (C, J)
-dismissDialog("Define Module"); // I (cp)
-selectCodeEditor("aes.v", 566, 309); // cl (w, cp)
-// [Engine Memory]: 1,133 MB (+536kb) [00:01:42]
-selectCodeEditor("aes.v", 436, 87, false, true, false, false, false); // cl (w, cp) - Control Key
-// TclEventType: FILE_SET_CHANGE
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-expandTree(PAResourceEtoH.FileSetPanel_FILE_SET_PANEL_TREE, "[root, Simulation Sources, sim_1]", 5); // B (D, cp)
-selectTree(PAResourceEtoH.FileSetPanel_FILE_SET_PANEL_TREE, "[root, Simulation Sources, sim_1, tb (tb.v)]", 7, false); // B (D, cp)
-selectTree(PAResourceEtoH.FileSetPanel_FILE_SET_PANEL_TREE, "[root, Simulation Sources, sim_1, tb (tb.v)]", 7, false, false, false, false, false, true); // B (D, cp) - Double Click
-selectCodeEditor("tb.v", 569, 175); // cl (w, cp)
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-// Tcl Message: update_compile_order -fileset sources_1 
-typeControlKey((HResource) null, "tb.v", 'v'); // cl (w, cp)
-// HMemoryUtils.trashcanNow. Engine heap size: 1,157 MB. GUI used memory: 61 MB. Current time: 3/20/22, 4:02:05 PM EET
-typeControlKey(null, null, 'z');
-selectCodeEditor("tb.v", 107, 75); // cl (w, cp)
-// TclEventType: FILE_SET_CHANGE
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-// TclEventType: DG_GRAPH_STALE
-selectCodeEditor("tb.v", 0, 337); // cl (w, cp)
-// [Engine Memory]: 1,194 MB (+4406kb) [00:01:54]
-selectCodeEditor("tb.v", 3, 336); // cl (w, cp)
-typeControlKey((HResource) null, "tb.v", 'v'); // cl (w, cp)
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-// Tcl Message: update_compile_order -fileset sim_1 
-selectCodeEditor("tb.v", 114, 345); // cl (w, cp)
-// Elapsed time: 43 seconds
-selectCodeEditor("tb.v", 21, 396); // cl (w, cp)
-selectCodeEditor("tb.v", 25, 398); // cl (w, cp)
-selectCodeEditor("tb.v", 82, 418, true, false, false, false, false); // cl (w, cp) - Shift Key
-typeControlKey((HResource) null, "tb.v", 'c'); // cl (w, cp)
-selectCodeEditor("tb.v", 31, 445); // cl (w, cp)
-typeControlKey((HResource) null, "tb.v", 'v'); // cl (w, cp)
-selectCodeEditor("tb.v", 97, 443); // cl (w, cp)
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-// TclEventType: DG_GRAPH_STALE
-// Elapsed time: 22 seconds
-selectTree(PAResourceEtoH.FileSetPanel_FILE_SET_PANEL_TREE, "[root, Simulation Sources, sim_1, aes128_tb (tb.v)]", 7, true); // B (D, cp) - Node
-selectTree(PAResourceEtoH.FileSetPanel_FILE_SET_PANEL_TREE, "[root, Simulation Sources, sim_1, aes128_tb (tb.v)]", 7, true); // B (D, cp) - Node
-// TclEventType: FILE_SET_CHANGE
-// Tcl Message: update_compile_order -fileset sim_1 
-selectTree(PAResourceEtoH.FlowNavigatorTreePanel_FLOW_NAVIGATOR_TREE, "[, Simulation, Run Simulation]", 10, false); // u (Q, cp)
-// HMemoryUtils.trashcanNow. Engine heap size: 1,228 MB. GUI used memory: 61 MB. Current time: 3/20/22, 4:03:35 PM EET
-selectMenuItem(PAResourceCommand.PACommandNames_SIMULATION_RUN_BEHAVIORAL, "Run Behavioral Simulation"); // af (al, cp)
-// Run Command: PAResourceCommand.PACommandNames_SIMULATION_RUN_BEHAVIORAL
-// e (cp):  Run Simulation : addNotify
-// TclEventType: LAUNCH_SIM
-// TclEventType: FILE_SET_OPTIONS_CHANGE
-// Tcl Message: launch_simulation 
-// Tcl Message: INFO: [Vivado 12-5682] Launching behavioral simulation in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [SIM-utils-51] Simulation object is 'sim_1' INFO: [SIM-utils-54] Inspecting design source files for 'aes128_tb' in fileset 'sim_1'... INFO: [USF-XSim-97] Finding global include files... INFO: [USF-XSim-98] Fetching design files from 'sim_1'... INFO: [USF-XSim-2] XSim::Compile design INFO: [USF-XSim-61] Executing 'COMPILE and ANALYZE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: LAUNCH_SIM_LOG
-// Tcl Message: INFO: [USF-XSim-69] 'compile' step finished in '0' seconds INFO: [USF-XSim-3] XSim::Elaborate design INFO: [USF-XSim-61] Executing 'ELABORATE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// Tcl Message: Built simulation snapshot aes128_tb_behav 
-// Tcl Message:  ****** Webtalk v2018.3 (64-bit)   **** SW Build 2405991 on Thu Dec  6 23:36:41 MST 2018   **** IP Build 2404404 on Fri Dec  7 01:43:56 MST 2018     ** Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.  source /home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim/xsim.dir/aes128_tb_behav/webtalk/xsim_webtalk.tcl -notrace 
-// TclEventType: LAUNCH_SIM
-// TclEventType: LOAD_FEATURE
-// Tcl Message: INFO: [Common 17-206] Exiting Webtalk at Sun Mar 20 16:03:40 2022... 
-// Tcl Message: INFO: [USF-XSim-69] 'elaborate' step finished in '3' seconds INFO: [USF-XSim-4] XSim::Simulate design INFO: [USF-XSim-61] Executing 'SIMULATE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [USF-XSim-98] *** Running xsim 
-// Tcl Message:    with args "aes128_tb_behav -key {Behavioral:sim_1:Functional:aes128_tb} -tclbatch {aes128_tb.tcl} -log {simulate.log}" 
-// Tcl Message: INFO: [USF-XSim-8] Loading simulator feature 
-// Tcl Message: Vivado Simulator 2018.3 
-// TclEventType: SIMULATION_CREATE_SIMULATION_OBJECT
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-// [Engine Memory]: 1,273 MB (+20138kb) [00:03:26]
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-closeView(PAResourceOtoP.PAViews_PROJECT_SUMMARY, "Project Summary"); // v
-// Tcl Message: Time resolution is 1 ps 
-// TclEventType: WAVEFORM_UPDATE_TITLE
-// TclEventType: WAVEFORM_OPEN_WCFG
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-// TclEventType: WAVEFORM_OPEN_WCFG
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// Waveform: addNotify
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_TITLE
-// HMemoryUtils.trashcanNow. Engine heap size: 1,276 MB. GUI used memory: 68 MB. Current time: 3/20/22, 4:03:43 PM EET
-// TclEventType: WAVEFORM_UPDATE_TITLE
-// Tcl Message: source aes128_tb.tcl 
-// TclEventType: WAVEFORM_UPDATE_TITLE
-// Tcl Message: # set curr_wave [current_wave_config] # if { [string length $curr_wave] == 0 } { #   if { [llength [get_objects]] > 0} { #     add_wave / #     set_property needs_save false [current_wave_config] #   } else { #      send_msg_id Add_Wave-1 WARNING "No top level signals found. Simulator will start without a wave window. If you want to open a wave window go to 'File->New Waveform Configuration' or type 'create_wave_config' in the TCL console." #   } # } 
-// TclEventType: WAVEFORM_UPDATE_TITLE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: SIMULATION_OBJECT_TREE_RESTORED
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-// TclEventType: SIMULATION_STOPPED
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: # run 1000ns 
-// Tcl Message: $finish called at time : 20 ns : File "/home/egoncu/workspace/project_1/project_1.srcs/sim_1/new/tb.v" Line 51 
-// Tcl Message: INFO: [USF-XSim-96] XSim completed. Design snapshot 'aes128_tb_behav' loaded. INFO: [USF-XSim-97] XSim simulation ran for 1000ns 
-// Tcl Message: launch_simulation: Time (s): cpu = 00:00:10 ; elapsed = 00:00:08 . Memory (MB): peak = 6703.629 ; gain = 68.848 ; free physical = 3396 ; free virtual = 17370 
-// 'd' command handler elapsed time: 7 seconds
-dismissDialog("Run Simulation"); // e (cp)
-// [GUI Memory]: 129 MB (+7478kb) [00:03:28]
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "Untitled 1", 2); // k (j, cp)
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,285 MB. GUI used memory: 67 MB. Current time: 3/20/22, 4:03:53 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,285 MB. GUI used memory: 67 MB. Current time: 3/20/22, 4:03:53 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,285 MB. GUI used memory: 67 MB. Current time: 3/20/22, 4:03:53 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,285 MB. GUI used memory: 67 MB. Current time: 3/20/22, 4:03:53 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,285 MB. GUI used memory: 67 MB. Current time: 3/20/22, 4:03:54 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,285 MB. GUI used memory: 67 MB. Current time: 3/20/22, 4:03:54 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,285 MB. GUI used memory: 67 MB. Current time: 3/20/22, 4:03:54 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,285 MB. GUI used memory: 67 MB. Current time: 3/20/22, 4:03:54 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// Elapsed time: 17 seconds
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "tb.v", 1); // k (j, cp)
-selectCodeEditor("tb.v", 127, 468); // cl (w, cp)
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-// Elapsed time: 11 seconds
-selectButton(PAResourceCommand.PACommandNames_SIMULATION_RELAUNCH, "simulation_relaunch"); // B (f, cp)
-// Run Command: PAResourceCommand.PACommandNames_SIMULATION_RELAUNCH
-// b (cp):  Relaunch Simulation : addNotify
-// TclEventType: SIMULATION_MODEL_ABOUT_TO_CLOSE
-// Tcl Message: relaunch_sim 
-// HMemoryUtils.trashcanNow. Engine heap size: 1,311 MB. GUI used memory: 67 MB. Current time: 3/20/22, 4:04:20 PM EET
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_MODEL_RELOADED
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_UPDATE_SCOPE_TREE
-// TclEventType: SIMULATION_UPDATE_STACKS
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: LAUNCH_SIM
-// TclEventType: FILE_SET_OPTIONS_CHANGE
-// Tcl Message: INFO: [Vivado 12-5682] Launching behavioral simulation in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [SIM-utils-51] Simulation object is 'sim_1' INFO: [SIM-utils-54] Inspecting design source files for 'aes128_tb' in fileset 'sim_1'... INFO: [USF-XSim-97] Finding global include files... INFO: [USF-XSim-98] Fetching design files from 'sim_1'... INFO: [USF-XSim-2] XSim::Compile design INFO: [USF-XSim-61] Executing 'COMPILE and ANALYZE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: LAUNCH_SIM
-// Tcl Message: INFO: [USF-XSim-69] 'compile' step finished in '1' seconds INFO: [Vivado 12-5682] Launching behavioral simulation in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [USF-XSim-3] XSim::Elaborate design INFO: [USF-XSim-61] Executing 'ELABORATE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: Built simulation snapshot aes128_tb_behav 
-// Tcl Message: INFO: [USF-XSim-69] 'elaborate' step finished in '2' seconds 
-// Tcl Message: Vivado Simulator 2018.3 
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_MODEL_ABOUT_TO_CLOSE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_MODEL_RELOADED
-// TclEventType: SIMULATION_DELETE_ALL_BREAKPOINTS
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_SCOPE_TREE
-// TclEventType: SIMULATION_UPDATE_STACKS
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: SIMULATION_OBJECT_TREE_RESTORED
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: Time resolution is 1 ps relaunch_sim: Time (s): cpu = 00:00:05 ; elapsed = 00:00:06 . Memory (MB): peak = 6727.602 ; gain = 0.000 ; free physical = 3408 ; free virtual = 17384 
-// 'a' command handler elapsed time: 6 seconds
-dismissDialog("Relaunch Simulation"); // b (cp)
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "Untitled 1", 2); // k (j, cp)
-selectGraphicalView(RDIResource.RDIViews_WAVEFORM_VIEWER, 202, 120); // n (o, cp)
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// HMemoryUtils.trashcanNow. Engine heap size: 1,299 MB. GUI used memory: 67 MB. Current time: 3/20/22, 4:04:36 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,299 MB. GUI used memory: 76 MB. Current time: 3/20/22, 4:04:38 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,299 MB. GUI used memory: 67 MB. Current time: 3/20/22, 4:04:38 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,300 MB. GUI used memory: 68 MB. Current time: 3/20/22, 4:04:38 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,300 MB. GUI used memory: 67 MB. Current time: 3/20/22, 4:04:38 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,300 MB. GUI used memory: 68 MB. Current time: 3/20/22, 4:04:38 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,300 MB. GUI used memory: 68 MB. Current time: 3/20/22, 4:04:38 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,300 MB. GUI used memory: 67 MB. Current time: 3/20/22, 4:04:39 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,300 MB. GUI used memory: 68 MB. Current time: 3/20/22, 4:04:39 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,300 MB. GUI used memory: 68 MB. Current time: 3/20/22, 4:04:39 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,300 MB. GUI used memory: 68 MB. Current time: 3/20/22, 4:04:39 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,300 MB. GUI used memory: 68 MB. Current time: 3/20/22, 4:04:39 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,300 MB. GUI used memory: 68 MB. Current time: 3/20/22, 4:04:39 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,300 MB. GUI used memory: 68 MB. Current time: 3/20/22, 4:04:39 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,300 MB. GUI used memory: 68 MB. Current time: 3/20/22, 4:04:39 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,300 MB. GUI used memory: 67 MB. Current time: 3/20/22, 4:04:39 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,300 MB. GUI used memory: 68 MB. Current time: 3/20/22, 4:04:39 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,335 MB. GUI used memory: 68 MB. Current time: 3/20/22, 4:04:39 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,335 MB. GUI used memory: 68 MB. Current time: 3/20/22, 4:04:39 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,335 MB. GUI used memory: 68 MB. Current time: 3/20/22, 4:04:39 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,335 MB. GUI used memory: 68 MB. Current time: 3/20/22, 4:04:39 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// [Engine Memory]: 1,409 MB (+75888kb) [00:04:23]
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,358 MB. GUI used memory: 67 MB. Current time: 3/20/22, 4:04:39 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,358 MB. GUI used memory: 68 MB. Current time: 3/20/22, 4:04:39 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,358 MB. GUI used memory: 67 MB. Current time: 3/20/22, 4:04:39 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-selectGraphicalView(RDIResource.RDIViews_WAVEFORM_VIEWER, 198, 88); // n (o, cp)
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// HMemoryUtils.trashcanNow. Engine heap size: 1,358 MB. GUI used memory: 72 MB. Current time: 3/20/22, 4:04:42 PM EET
-selectButton(RDIResource.GraphicalView_ZOOM_OUT, "Waveform Viewer_zoom_out"); // B (f, cp)
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// HMemoryUtils.trashcanNow. Engine heap size: 1,358 MB. GUI used memory: 78 MB. Current time: 3/20/22, 4:04:46 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// HMemoryUtils.trashcanNow. Engine heap size: 1,358 MB. GUI used memory: 67 MB. Current time: 3/20/22, 4:04:47 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// HMemoryUtils.trashcanNow. Engine heap size: 1,358 MB. GUI used memory: 67 MB. Current time: 3/20/22, 4:04:47 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// HMemoryUtils.trashcanNow. Engine heap size: 1,358 MB. GUI used memory: 67 MB. Current time: 3/20/22, 4:04:48 PM EET
-selectGraphicalView(RDIResource.RDIViews_WAVEFORM_VIEWER, 7, -6); // n (o, cp)
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,358 MB. GUI used memory: 78 MB. Current time: 3/20/22, 4:04:54 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,358 MB. GUI used memory: 69 MB. Current time: 3/20/22, 4:04:55 PM EET
-// Elapsed time: 12 seconds
-selectGraphicalView(RDIResource.RDIViews_WAVEFORM_VIEWER, 266, 56); // n (o, cp)
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-selectButton(RDIResource.GraphicalView_ZOOM_OUT, "Waveform Viewer_zoom_out"); // B (f, cp)
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// HMemoryUtils.trashcanNow. Engine heap size: 1,359 MB. GUI used memory: 67 MB. Current time: 3/20/22, 4:05:10 PM EET
-selectButton(RDIResource.GraphicalView_ZOOM_OUT, "Waveform Viewer_zoom_out"); // B (f, cp)
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-selectButton(RDIResource.GraphicalView_ZOOM_OUT, "Waveform Viewer_zoom_out"); // B (f, cp)
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-selectGraphicalView(RDIResource.RDIViews_WAVEFORM_VIEWER, 18, 61); // n (o, cp)
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// HMemoryUtils.trashcanNow. Engine heap size: 1,359 MB. GUI used memory: 67 MB. Current time: 3/20/22, 4:05:13 PM EET
-selectGraphicalView(RDIResource.RDIViews_WAVEFORM_VIEWER, 35, 69); // n (o, cp)
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// Elapsed time: 1356 seconds
-selectGraphicalView(RDIResource.RDIViews_WAVEFORM_VIEWER, 39, 4); // n (o, cp)
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-selectGraphicalView(RDIResource.RDIViews_WAVEFORM_VIEWER, 19, -1); // n (o, cp)
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// HMemoryUtils.trashcanNow. Engine heap size: 1,360 MB. GUI used memory: 123 MB. Current time: 3/20/22, 4:27:58 PM EET
-selectGraphicalView(RDIResource.RDIViews_WAVEFORM_VIEWER, 32, 66); // n (o, cp)
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-selectGraphicalView(RDIResource.RDIViews_WAVEFORM_VIEWER, 17, 62); // n (o, cp)
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-selectGraphicalView(RDIResource.RDIViews_WAVEFORM_VIEWER, 24, 7); // n (o, cp)
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// HMemoryUtils.trashcanNow. Engine heap size: 1,360 MB. GUI used memory: 67 MB. Current time: 3/20/22, 4:28:10 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// HMemoryUtils.trashcanNow. Engine heap size: 1,360 MB. GUI used memory: 74 MB. Current time: 3/20/22, 4:28:15 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// HMemoryUtils.trashcanNow. Engine heap size: 1,360 MB. GUI used memory: 71 MB. Current time: 3/20/22, 4:28:16 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// HMemoryUtils.trashcanNow. Engine heap size: 1,360 MB. GUI used memory: 67 MB. Current time: 3/20/22, 4:28:16 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// HMemoryUtils.trashcanNow. Engine heap size: 1,360 MB. GUI used memory: 71 MB. Current time: 3/20/22, 4:28:17 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// HMemoryUtils.trashcanNow. Engine heap size: 1,360 MB. GUI used memory: 67 MB. Current time: 3/20/22, 4:28:17 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// HMemoryUtils.trashcanNow. Engine heap size: 1,360 MB. GUI used memory: 72 MB. Current time: 3/20/22, 4:28:17 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// HMemoryUtils.trashcanNow. Engine heap size: 1,360 MB. GUI used memory: 67 MB. Current time: 3/20/22, 4:28:18 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// HMemoryUtils.trashcanNow. Engine heap size: 1,360 MB. GUI used memory: 72 MB. Current time: 3/20/22, 4:28:18 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// HMemoryUtils.trashcanNow. Engine heap size: 1,360 MB. GUI used memory: 71 MB. Current time: 3/20/22, 4:28:18 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// HMemoryUtils.trashcanNow. Engine heap size: 1,360 MB. GUI used memory: 71 MB. Current time: 3/20/22, 4:28:19 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// HMemoryUtils.trashcanNow. Engine heap size: 1,360 MB. GUI used memory: 71 MB. Current time: 3/20/22, 4:28:19 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// HMemoryUtils.trashcanNow. Engine heap size: 1,360 MB. GUI used memory: 71 MB. Current time: 3/20/22, 4:28:20 PM EET
-// HMemoryUtils.trashcanNow. Engine heap size: 1,343 MB. GUI used memory: 62 MB. Current time: 3/20/22, 4:58:25 PM EET
-// HMemoryUtils.trashcanNow. Engine heap size: 1,341 MB. GUI used memory: 62 MB. Current time: 3/20/22, 5:28:25 PM EET
-// HMemoryUtils.trashcanNow. Engine heap size: 1,341 MB. GUI used memory: 62 MB. Current time: 3/20/22, 5:58:25 PM EET
-// Elapsed time: 6878 seconds
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "aes.v", 0); // k (j, cp)
-selectCodeEditor("aes.v", 185, 151); // cl (w, cp)
-typeControlKey((HResource) null, "aes.v", 'v'); // cl (w, cp)
-// HMemoryUtils.trashcanNow. Engine heap size: 1,344 MB. GUI used memory: 62 MB. Current time: 3/20/22, 6:22:50 PM EET
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "tb.v", 1); // k (j, cp)
-selectCodeEditor("tb.v", 313, 221); // cl (w, cp)
-// TclEventType: DG_GRAPH_STALE
-// Elapsed time: 12 seconds
-selectCodeEditor("tb.v", 269, 268); // cl (w, cp)
-typeControlKey((HResource) null, "tb.v", 'v'); // cl (w, cp)
-// Elapsed time: 47 seconds
-selectCodeEditor("tb.v", 14, 205); // cl (w, cp)
-typeControlKey((HResource) null, "tb.v", 'v'); // cl (w, cp)
-// Elapsed time: 16 seconds
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "Untitled 1", 2); // k (j, cp)
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "tb.v", 1); // k (j, cp)
-selectCodeEditor("tb.v", 2, 13); // cl (w, cp)
-typeControlKey((HResource) null, "tb.v", 'v'); // cl (w, cp)
-selectCodeEditor("tb.v", 4, 27); // cl (w, cp)
-selectCodeEditor("tb.v", 0, 26); // cl (w, cp)
-selectCodeEditor("tb.v", 110, 507, true, false, false, false, false); // cl (w, cp) - Shift Key
-selectCodeEditor("tb.v", 110, 516, true, false, false, false, false); // cl (w, cp) - Shift Key
-selectCodeEditor("tb.v", 212, 170); // cl (w, cp)
-selectCodeEditor("tb.v", 176, 285); // cl (w, cp)
-selectCodeEditor("tb.v", 176, 285, false, false, false, false, true); // cl (w, cp) - Double Click
-selectCodeEditor("tb.v", 166, 274); // cl (w, cp)
-selectCodeEditor("tb.v", 166, 274, false, false, false, false, true); // cl (w, cp) - Double Click
-// Elapsed time: 11 seconds
-selectCodeEditor("tb.v", 129, 293); // cl (w, cp)
-selectCodeEditor("tb.v", 129, 293, false, false, false, false, true); // cl (w, cp) - Double Click
-selectCodeEditor("tb.v", 139, 309); // cl (w, cp)
-selectCodeEditor("tb.v", 139, 309, false, false, false, false, true); // cl (w, cp) - Double Click
-selectCodeEditor("tb.v", 139, 309); // cl (w, cp)
-selectCodeEditor("tb.v", 139, 309); // cl (w, cp)
-selectCodeEditor("tb.v", 139, 309, false, false, false, false, true); // cl (w, cp) - Double Click
-// Elapsed time: 29 seconds
-selectCodeEditor("tb.v", 119, 272); // cl (w, cp)
-selectCodeEditor("tb.v", 231, 163); // cl (w, cp)
-// Elapsed time: 18 seconds
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "aes.v", 0); // k (j, cp)
-// Elapsed time: 16 seconds
-selectCodeEditor("aes.v", 76, 169); // cl (w, cp)
-selectCodeEditor("aes.v", 76, 169, false, false, false, false, true); // cl (w, cp) - Double Click
-selectCodeEditor("aes.v", 233, 270); // cl (w, cp)
-selectCodeEditor("aes.v", 233, 270, false, false, false, false, true); // cl (w, cp) - Double Click
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "tb.v", 1); // k (j, cp)
-selectCodeEditor("tb.v", 110, 233); // cl (w, cp)
-// Elapsed time: 148 seconds
-selectCodeEditor("tb.v", 115, 182); // cl (w, cp)
-selectCodeEditor("tb.v", 115, 182, false, false, false, false, true); // cl (w, cp) - Double Click
-typeControlKey((HResource) null, "tb.v", 'c'); // cl (w, cp)
-selectCodeEditor("tb.v", 134, 462); // cl (w, cp)
-selectCodeEditor("tb.v", 134, 462, false, false, false, false, true); // cl (w, cp) - Double Click
-typeControlKey((HResource) null, "tb.v", 'v'); // cl (w, cp)
-selectCodeEditor("tb.v", 106, 198); // cl (w, cp)
-selectCodeEditor("tb.v", 106, 198, false, false, false, false, true); // cl (w, cp) - Double Click
-typeControlKey((HResource) null, "tb.v", 'c'); // cl (w, cp)
-selectCodeEditor("tb.v", 141, 512); // cl (w, cp)
-selectCodeEditor("tb.v", 137, 496); // cl (w, cp)
-selectCodeEditor("tb.v", 137, 496, false, false, false, false, true); // cl (w, cp) - Double Click
-typeControlKey((HResource) null, "tb.v", 'v'); // cl (w, cp)
-selectCodeEditor("tb.v", 106, 223); // cl (w, cp)
-selectCodeEditor("tb.v", 106, 223, false, false, false, false, true); // cl (w, cp) - Double Click
-typeControlKey((HResource) null, "tb.v", 'c'); // cl (w, cp)
-selectCodeEditor("tb.v", 155, 472); // cl (w, cp)
-selectCodeEditor("tb.v", 155, 472, false, true, false, false, true); // cl (w, cp) - Control Key - Double Click
-typeControlKey((HResource) null, "tb.v", 'v'); // cl (w, cp)
-selectCodeEditor("tb.v", 112, 235); // cl (w, cp)
-selectCodeEditor("tb.v", 111, 234, false, false, false, false, true); // cl (w, cp) - Double Click
-typeControlKey((HResource) null, "tb.v", 'c'); // cl (w, cp)
-selectCodeEditor("tb.v", 173, 512); // cl (w, cp)
-selectCodeEditor("tb.v", 173, 512, false, false, false, false, true); // cl (w, cp) - Double Click
-typeControlKey((HResource) null, "tb.v", 'v'); // cl (w, cp)
-selectCodeEditor("tb.v", 68, 254); // cl (w, cp)
-selectCodeEditor("tb.v", 68, 254, false, false, false, false, true); // cl (w, cp) - Double Click
-selectCodeEditor("tb.v", 76, 267); // cl (w, cp)
-selectCodeEditor("tb.v", 76, 267, false, false, false, false, true); // cl (w, cp) - Double Click
-selectCodeEditor("tb.v", 76, 267); // cl (w, cp)
-selectCodeEditor("tb.v", 76, 267); // cl (w, cp)
-selectCodeEditor("tb.v", 76, 267); // cl (w, cp)
-selectCodeEditor("tb.v", 74, 268); // cl (w, cp)
-selectCodeEditor("tb.v", 74, 268, false, false, false, false, true); // cl (w, cp) - Double Click
-typeControlKey((HResource) null, "tb.v", 'c'); // cl (w, cp)
-selectCodeEditor("tb.v", 185, 538); // cl (w, cp)
-selectCodeEditor("tb.v", 185, 538, false, false, false, false, true); // cl (w, cp) - Double Click
-typeControlKey((HResource) null, "tb.v", 'v'); // cl (w, cp)
-selectCodeEditor("tb.v", 131, 417); // cl (w, cp)
-selectCodeEditor("tb.v", 131, 417, false, false, false, false, true); // cl (w, cp) - Double Click
-selectCodeEditor("tb.v", 147, 424); // cl (w, cp)
-selectCodeEditor("tb.v", 147, 424, false, false, false, false, true); // cl (w, cp) - Double Click
-// TclEventType: FILE_SET_CHANGE
-selectCodeEditor("tb.v", 260, 440); // cl (w, cp)
-// TclEventType: DG_GRAPH_STALE
-selectCodeEditor("tb.v", 139, 221); // cl (w, cp)
-selectCodeEditor("tb.v", 139, 221, false, false, false, false, true); // cl (w, cp) - Double Click
-selectCodeEditor("tb.v", 119, 216); // cl (w, cp)
-// TclEventType: FILE_SET_CHANGE
-// Tcl Message: update_compile_order -fileset sim_1 
-selectCodeEditor("tb.v", 149, 217, true, false, false, false, false); // cl (w, cp) - Shift Key
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-selectCodeEditor("tb.v", 116, 425); // cl (w, cp)
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-// Elapsed time: 27 seconds
-selectCodeEditor("tb.v", 156, 422); // cl (w, cp)
-// HMemoryUtils.trashcanNow. Engine heap size: 1,404 MB. GUI used memory: 62 MB. Current time: 3/20/22, 6:29:55 PM EET
-// Elapsed time: 25 seconds
-selectCodeEditor("tb.v", 106, 363); // cl (w, cp)
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-selectCodeEditor("tb.v", 146, 415); // cl (w, cp)
-// Elapsed time: 50 seconds
-selectCodeEditor("tb.v", 39, 457); // cl (w, cp)
-// Elapsed time: 58 seconds
-typeControlKey((HResource) null, "tb.v", 'v'); // cl (w, cp)
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-// Elapsed time: 519 seconds
-selectTree(PAResourceEtoH.FlowNavigatorTreePanel_FLOW_NAVIGATOR_TREE, "[, Simulation, Run Simulation]", 10, false); // u (Q, cp)
-selectMenuItem(PAResourceCommand.PACommandNames_SIMULATION_RUN_BEHAVIORAL, "Run Behavioral Simulation"); // af (al, cp)
-// Run Command: PAResourceCommand.PACommandNames_SIMULATION_RUN_BEHAVIORAL
-// e (cp):  Run Simulation : addNotify
-// TclEventType: LAUNCH_SIM
-// TclEventType: FILE_SET_OPTIONS_CHANGE
-// Tcl Message: launch_simulation 
-// Tcl Message: INFO: [Vivado 12-5682] Launching behavioral simulation in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [SIM-utils-51] Simulation object is 'sim_1' INFO: [SIM-utils-54] Inspecting design source files for 'aes' in fileset 'sim_1'... INFO: [USF-XSim-97] Finding global include files... INFO: [USF-XSim-98] Fetching design files from 'sim_1'... INFO: [USF-XSim-2] XSim::Compile design INFO: [USF-XSim-61] Executing 'COMPILE and ANALYZE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: LAUNCH_SIM_LOG
-// Tcl Message: xvlog --incr --relax -prj aes_vlog.prj INFO: [VRFC 10-2263] Analyzing Verilog file "/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/aes.v" into library xil_defaultlib INFO: [VRFC 10-311] analyzing module aes INFO: [VRFC 10-311] analyzing module aes_core INFO: [VRFC 10-311] analyzing module aes_decipher_block INFO: [VRFC 10-311] analyzing module aes_inv_sbox INFO: [VRFC 10-311] analyzing module aes_key_mem INFO: [VRFC 10-311] analyzing module aes_sbox INFO: [VRFC 10-311] analyzing module aes_encipher_block 
-// Tcl Message: INFO: [USF-XSim-69] 'compile' step finished in '1' seconds INFO: [USF-XSim-3] XSim::Elaborate design INFO: [USF-XSim-61] Executing 'ELABORATE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// Tcl Message:  ****** Webtalk v2018.3 (64-bit)   **** SW Build 2405991 on Thu Dec  6 23:36:41 MST 2018   **** IP Build 2404404 on Fri Dec  7 01:43:56 MST 2018     ** Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.  source /home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim/xsim.dir/aes_behav/webtalk/xsim_webtalk.tcl -notrace 
-// TclEventType: LAUNCH_SIM
-// Tcl Message: INFO: [Common 17-206] Exiting Webtalk at Sun Mar 20 18:41:00 2022... 
-// Tcl Message: INFO: [USF-XSim-69] 'elaborate' step finished in '2' seconds INFO: [USF-XSim-4] XSim::Simulate design INFO: [USF-XSim-61] Executing 'SIMULATE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [USF-XSim-98] *** Running xsim 
-// Tcl Message:    with args "aes_behav -key {Behavioral:sim_1:Functional:aes} -tclbatch {aes.tcl} -log {simulate.log}" 
-// Tcl Message: INFO: [USF-XSim-8] Loading simulator feature 
-// Tcl Message: Vivado Simulator 2018.3 
-// TclEventType: SIMULATION_CREATE_SIMULATION_OBJECT
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-// TclEventType: WAVEFORM_UPDATE_TITLE
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-// TclEventType: WAVEFORM_UPDATE_TITLE
-// TclEventType: WAVEFORM_OPEN_WCFG
-// Waveform: addNotify
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,466 MB. GUI used memory: 113 MB. Current time: 3/20/22, 6:41:02 PM EET
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_TITLE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: SIMULATION_OBJECT_TREE_RESTORED
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: Time resolution is 1 ps 
-// Tcl Message: source aes.tcl 
-// Tcl Message: # set curr_wave [current_wave_config] # if { [string length $curr_wave] == 0 } { #   if { [llength [get_objects]] > 0} { #     add_wave / #     set_property needs_save false [current_wave_config] #   } else { #      send_msg_id Add_Wave-1 WARNING "No top level signals found. Simulator will start without a wave window. If you want to open a wave window go to 'File->New Waveform Configuration' or type 'create_wave_config' in the TCL console." #   } # } # run 1000ns 
-// Tcl Message: INFO: [USF-XSim-96] XSim completed. Design snapshot 'aes_behav' loaded. INFO: [USF-XSim-97] XSim simulation ran for 1000ns 
-// Tcl Message: launch_simulation: Time (s): cpu = 00:00:05 ; elapsed = 00:00:05 . Memory (MB): peak = 6855.473 ; gain = 60.836 ; free physical = 619 ; free virtual = 17333 
-// 'd' command handler elapsed time: 5 seconds
-dismissDialog("Run Simulation"); // e (cp)
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// Elapsed time: 36 seconds
-selectButton(PAResourceCommand.PACommandNames_SIMULATION_LIVE_RUN, "simulation_live_run_for_time"); // B (f, cp)
-// Run Command: PAResourceCommand.PACommandNames_SIMULATION_LIVE_RUN
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: SIMULATION_OBJECT_TREE_RESTORED
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: run 1 us 
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,474 MB. GUI used memory: 67 MB. Current time: 3/20/22, 6:41:44 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,474 MB. GUI used memory: 68 MB. Current time: 3/20/22, 6:41:44 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,474 MB. GUI used memory: 70 MB. Current time: 3/20/22, 6:41:44 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,474 MB. GUI used memory: 68 MB. Current time: 3/20/22, 6:41:44 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,474 MB. GUI used memory: 68 MB. Current time: 3/20/22, 6:41:44 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,474 MB. GUI used memory: 66 MB. Current time: 3/20/22, 6:41:44 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,474 MB. GUI used memory: 68 MB. Current time: 3/20/22, 6:41:44 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,474 MB. GUI used memory: 68 MB. Current time: 3/20/22, 6:41:44 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,474 MB. GUI used memory: 67 MB. Current time: 3/20/22, 6:41:44 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,474 MB. GUI used memory: 67 MB. Current time: 3/20/22, 6:41:44 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,474 MB. GUI used memory: 67 MB. Current time: 3/20/22, 6:41:44 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,474 MB. GUI used memory: 66 MB. Current time: 3/20/22, 6:41:44 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,474 MB. GUI used memory: 68 MB. Current time: 3/20/22, 6:41:44 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,474 MB. GUI used memory: 66 MB. Current time: 3/20/22, 6:41:45 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,474 MB. GUI used memory: 68 MB. Current time: 3/20/22, 6:41:45 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,474 MB. GUI used memory: 66 MB. Current time: 3/20/22, 6:41:45 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,474 MB. GUI used memory: 66 MB. Current time: 3/20/22, 6:41:45 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,474 MB. GUI used memory: 66 MB. Current time: 3/20/22, 6:41:46 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,474 MB. GUI used memory: 66 MB. Current time: 3/20/22, 6:41:48 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,474 MB. GUI used memory: 69 MB. Current time: 3/20/22, 6:41:48 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,474 MB. GUI used memory: 66 MB. Current time: 3/20/22, 6:41:48 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,474 MB. GUI used memory: 70 MB. Current time: 3/20/22, 6:41:50 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,474 MB. GUI used memory: 68 MB. Current time: 3/20/22, 6:41:50 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,474 MB. GUI used memory: 66 MB. Current time: 3/20/22, 6:41:51 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// Elapsed time: 20 seconds
-selectGraphicalView(RDIResource.RDIViews_WAVEFORM_VIEWER, 21, -13); // n (o, cp)
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// HMemoryUtils.trashcanNow. Engine heap size: 1,474 MB. GUI used memory: 66 MB. Current time: 3/20/22, 6:42:01 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// HMemoryUtils.trashcanNow. Engine heap size: 1,474 MB. GUI used memory: 73 MB. Current time: 3/20/22, 6:42:02 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,474 MB. GUI used memory: 66 MB. Current time: 3/20/22, 6:42:08 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,474 MB. GUI used memory: 69 MB. Current time: 3/20/22, 6:42:09 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,474 MB. GUI used memory: 72 MB. Current time: 3/20/22, 6:42:09 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// Elapsed time: 10 seconds
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "tb.v", 1); // k (j, cp)
-// Elapsed time: 13 seconds
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "aes.v", 0); // k (j, cp)
-// [Engine Memory]: 1,518 MB (+40715kb) [02:42:13]
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "Untitled 2", 2); // k (j, cp)
-// HMemoryUtils.trashcanNow. Engine heap size: 1,489 MB. GUI used memory: 66 MB. Current time: 3/20/22, 6:42:30 PM EET
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "tb.v", 1); // k (j, cp)
-// Elapsed time: 30 seconds
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "Untitled 2", 2); // k (j, cp)
-selectButton(PAResourceCommand.PACommandNames_SIMULATION_RELAUNCH, "simulation_relaunch"); // B (f, cp)
-// Run Command: PAResourceCommand.PACommandNames_SIMULATION_RELAUNCH
-// b (cp):  Relaunch Simulation : addNotify
-// TclEventType: SIMULATION_MODEL_ABOUT_TO_CLOSE
-// Tcl Message: relaunch_sim 
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_MODEL_RELOADED
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_UPDATE_SCOPE_TREE
-// TclEventType: SIMULATION_UPDATE_STACKS
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: LAUNCH_SIM
-// TclEventType: FILE_SET_OPTIONS_CHANGE
-// Tcl Message: INFO: [Vivado 12-5682] Launching behavioral simulation in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [SIM-utils-51] Simulation object is 'sim_1' INFO: [SIM-utils-54] Inspecting design source files for 'aes' in fileset 'sim_1'... INFO: [USF-XSim-97] Finding global include files... INFO: [USF-XSim-98] Fetching design files from 'sim_1'... INFO: [USF-XSim-2] XSim::Compile design INFO: [USF-XSim-61] Executing 'COMPILE and ANALYZE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: LAUNCH_SIM
-// Tcl Message: xvlog --incr --relax -prj aes_vlog.prj 
-// Tcl Message: INFO: [USF-XSim-69] 'compile' step finished in '0' seconds INFO: [Vivado 12-5682] Launching behavioral simulation in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [USF-XSim-3] XSim::Elaborate design INFO: [USF-XSim-61] Executing 'ELABORATE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: Vivado Simulator 2018.3 Copyright 1986-1999, 2001-2018 Xilinx, Inc. All Rights Reserved. Running: /tools/Xilinx/Vivado/2018.3/bin/unwrapped/lnx64.o/xelab -wto d15e9ad086eb4733bafd2c3fb4aa35cd --incr --debug typical --relax --mt 8 -L xil_defaultlib -L unisims_ver -L unimacro_ver -L secureip --snapshot aes_behav xil_defaultlib.aes xil_defaultlib.glbl -log elaborate.log  Using 8 slave threads. Starting static elaboration Completed static elaboration INFO: [XSIM 43-4323] No Change in HDL. Linking previously generated obj files to create kernel 
-// Tcl Message: INFO: [USF-XSim-69] 'elaborate' step finished in '1' seconds 
-// Tcl Message: Vivado Simulator 2018.3 
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_MODEL_ABOUT_TO_CLOSE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_MODEL_RELOADED
-// TclEventType: SIMULATION_DELETE_ALL_BREAKPOINTS
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_SCOPE_TREE
-// TclEventType: SIMULATION_UPDATE_STACKS
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: SIMULATION_OBJECT_TREE_RESTORED
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: Time resolution is 1 ps 
-// 'a' command handler elapsed time: 4 seconds
-dismissDialog("Relaunch Simulation"); // b (cp)
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,488 MB. GUI used memory: 76 MB. Current time: 3/20/22, 6:43:13 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,488 MB. GUI used memory: 71 MB. Current time: 3/20/22, 6:43:13 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,488 MB. GUI used memory: 66 MB. Current time: 3/20/22, 6:43:14 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,488 MB. GUI used memory: 66 MB. Current time: 3/20/22, 6:43:15 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,488 MB. GUI used memory: 71 MB. Current time: 3/20/22, 6:43:16 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,488 MB. GUI used memory: 68 MB. Current time: 3/20/22, 6:43:16 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,488 MB. GUI used memory: 66 MB. Current time: 3/20/22, 6:43:17 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// Elapsed time: 10 seconds
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "aes.v", 0); // k (j, cp)
-// Run Command: PAResourceCommand.PACommandNames_SIMULATION_CLOSE
-// A (cp): Confirm Close: addNotify
-selectButton(RDIResource.BaseDialog_OK, "OK"); // a (A)
-// bx (cp):  Close : addNotify
-// TclEventType: SIMULATION_CURRENT_SIMULATION
-dismissDialog("Confirm Close"); // A (cp)
-selectGraphicalView(RDIResource.RDIViews_WAVEFORM_VIEWER, 24, 7); // n (o, cp)Waveform: addNotify
-selectGraphicalView(RDIResource.RDIViews_WAVEFORM_VIEWER, 24, 7); // n (o, cp)Waveform: addNotify
-selectGraphicalView(RDIResource.RDIViews_WAVEFORM_VIEWER, 24, 7); // n (o, cp)Waveform: addNotify
-// Tcl Message: current_sim simulation_1 
-// TclEventType: WAVEFORM_CLOSE_WCFG
-// TclEventType: SIMULATION_CLOSE_SIMULATION
-selectGraphicalView(RDIResource.RDIViews_WAVEFORM_VIEWER, 17, 42); // n (o, cp)Waveform: addNotify
-selectGraphicalView(RDIResource.RDIViews_WAVEFORM_VIEWER, 17, 42); // n (o, cp)Waveform: addNotify
-selectGraphicalView(RDIResource.RDIViews_WAVEFORM_VIEWER, 17, 42); // n (o, cp)Waveform: addNotify
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-// Tcl Message: close_sim 
-// Tcl Message: INFO: [Simtcl 6-16] Simulation closed 
-dismissDialog("Close"); // bx (cp)
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "Untitled 2", 2); // k (j, cp)
-selectGraphicalView(RDIResource.RDIViews_WAVEFORM_VIEWER, 110, 55); // n (o, cp)
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-selectButton(PAResourceCommand.PACommandNames_SIMULATION_LIVE_RUN_ALL, "simulation_live_run_all"); // B (f, cp)
-// Run Command: PAResourceCommand.PACommandNames_SIMULATION_LIVE_RUN_ALL
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: SIMULATION_OBJECT_TREE_RESTORED
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: run all 
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-selectButton(PAResourceCommand.PACommandNames_SIMULATION_LIVE_RUN_ALL, "simulation_live_run_all"); // B (f, cp)
-// Run Command: PAResourceCommand.PACommandNames_SIMULATION_LIVE_RUN_ALL
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: SIMULATION_OBJECT_TREE_RESTORED
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: run all 
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "tb.v", 1); // k (j, cp)
-selectCodeEditor("tb.v", 69, 365); // cl (w, cp)
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-selectButton(PAResourceCommand.PACommandNames_SIMULATION_RELAUNCH, "simulation_relaunch"); // B (f, cp)
-// Run Command: PAResourceCommand.PACommandNames_SIMULATION_RELAUNCH
-// b (cp):  Relaunch Simulation : addNotify
-// TclEventType: SIMULATION_MODEL_ABOUT_TO_CLOSE
-// Tcl Message: relaunch_sim 
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_MODEL_RELOADED
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_UPDATE_SCOPE_TREE
-// TclEventType: SIMULATION_UPDATE_STACKS
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: LAUNCH_SIM
-// TclEventType: FILE_SET_OPTIONS_CHANGE
-// Tcl Message: INFO: [Vivado 12-5682] Launching behavioral simulation in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [SIM-utils-51] Simulation object is 'sim_1' INFO: [SIM-utils-54] Inspecting design source files for 'aes' in fileset 'sim_1'... INFO: [USF-XSim-97] Finding global include files... INFO: [USF-XSim-98] Fetching design files from 'sim_1'... INFO: [USF-XSim-2] XSim::Compile design INFO: [USF-XSim-61] Executing 'COMPILE and ANALYZE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: LAUNCH_SIM
-// Tcl Message: xvlog --incr --relax -prj aes_vlog.prj 
-// Tcl Message: INFO: [USF-XSim-69] 'compile' step finished in '0' seconds INFO: [Vivado 12-5682] Launching behavioral simulation in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [USF-XSim-3] XSim::Elaborate design INFO: [USF-XSim-61] Executing 'ELABORATE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: Vivado Simulator 2018.3 Copyright 1986-1999, 2001-2018 Xilinx, Inc. All Rights Reserved. Running: /tools/Xilinx/Vivado/2018.3/bin/unwrapped/lnx64.o/xelab -wto d15e9ad086eb4733bafd2c3fb4aa35cd --incr --debug typical --relax --mt 8 -L xil_defaultlib -L unisims_ver -L unimacro_ver -L secureip --snapshot aes_behav xil_defaultlib.aes xil_defaultlib.glbl -log elaborate.log  Using 8 slave threads. Starting static elaboration Completed static elaboration INFO: [XSIM 43-4323] No Change in HDL. Linking previously generated obj files to create kernel 
-// Tcl Message: INFO: [USF-XSim-69] 'elaborate' step finished in '1' seconds 
-// Tcl Message: Vivado Simulator 2018.3 
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_MODEL_ABOUT_TO_CLOSE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_MODEL_RELOADED
-// TclEventType: SIMULATION_DELETE_ALL_BREAKPOINTS
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_SCOPE_TREE
-// TclEventType: SIMULATION_UPDATE_STACKS
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: SIMULATION_OBJECT_TREE_RESTORED
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: Time resolution is 1 ps 
-// 'a' command handler elapsed time: 3 seconds
-dismissDialog("Relaunch Simulation"); // b (cp)
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "Untitled 2", 2); // k (j, cp)
-// HMemoryUtils.trashcanNow. Engine heap size: 1,441 MB. GUI used memory: 81 MB. Current time: 3/20/22, 6:44:01 PM EET
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-selectButton(PAResourceCommand.PACommandNames_SIMULATION_LIVE_RUN_ALL, "simulation_live_run_all"); // B (f, cp)
-// Run Command: PAResourceCommand.PACommandNames_SIMULATION_LIVE_RUN_ALL
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: SIMULATION_OBJECT_TREE_RESTORED
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: run all 
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// Elapsed time: 11 seconds
-selectButton(PAResourceCommand.PACommandNames_SIMULATION_LIVE_RUN_ALL, "simulation_live_run_all"); // B (f, cp)
-// Run Command: PAResourceCommand.PACommandNames_SIMULATION_LIVE_RUN_ALL
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: SIMULATION_OBJECT_TREE_RESTORED
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: run all 
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,432 MB. GUI used memory: 63 MB. Current time: 3/20/22, 6:44:20 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,432 MB. GUI used memory: 66 MB. Current time: 3/20/22, 6:44:20 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,432 MB. GUI used memory: 66 MB. Current time: 3/20/22, 6:44:21 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,432 MB. GUI used memory: 67 MB. Current time: 3/20/22, 6:44:22 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,432 MB. GUI used memory: 63 MB. Current time: 3/20/22, 6:44:22 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,432 MB. GUI used memory: 63 MB. Current time: 3/20/22, 6:44:26 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,432 MB. GUI used memory: 66 MB. Current time: 3/20/22, 6:44:26 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_CLOSE_WCFG
-// Elapsed time: 19 seconds
-closeView(RDIResource.RDIViews_WAVEFORM_VIEWER, "Untitled 2"); // w
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "aes.v", 0); // k (j, cp)
-expandTreeTable(PAResourceQtoS.SimulationScopesPanel_SIMULATE_SCOPE_TABLE, "aes ; aes ; Verilog Module", 0); // d (Q, cp)
-expandTreeTable(PAResourceQtoS.SimulationScopesPanel_SIMULATE_SCOPE_TABLE, "core ; aes_core ; Verilog Module", 1); // d (Q, cp)
-// Elapsed time: 12 seconds
-selectButton(PAResourceTtoZ.TaskBanner_CLOSE, (String) null); // k (aA, cp)
-closeTask("Simulation", "Behavioral Simulation - Functional - sim_1 - aes", "DesignTask.SIMULATION");
-// A (cp): Confirm Close: addNotify
-selectButton(RDIResource.BaseDialog_OK, "OK"); // a (A)
-// bx (cp):  Close : addNotify
-// TclEventType: SIMULATION_CLOSE_SIMULATION
-dismissDialog("Confirm Close"); // A (cp)
-// Tcl Message: close_sim 
-// Tcl Message: INFO: [Simtcl 6-16] Simulation closed 
-dismissDialog("Close"); // bx (cp)
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "aes.v", 1); // k (j, cp)
-expandTree(PAResourceEtoH.FileSetPanel_FILE_SET_PANEL_TREE, "[root, Simulation Sources, sim_1, aes (aes.v)]", 5); // B (D, cp)
-expandTree(PAResourceEtoH.FileSetPanel_FILE_SET_PANEL_TREE, "[root, Simulation Sources, sim_1, aes (aes.v), core : aes_core (aes.v)]", 6); // B (D, cp)
-selectTree(PAResourceEtoH.FileSetPanel_FILE_SET_PANEL_TREE, "[root, Simulation Sources, sim_1, aes (aes.v)]", 5, true); // B (D, cp) - Node
-selectTree(PAResourceEtoH.FlowNavigatorTreePanel_FLOW_NAVIGATOR_TREE, "[, Simulation, Run Simulation]", 10, false); // u (Q, cp)
-selectMenuItem(PAResourceCommand.PACommandNames_SIMULATION_RUN_BEHAVIORAL, "Run Behavioral Simulation"); // af (al, cp)
-// Run Command: PAResourceCommand.PACommandNames_SIMULATION_RUN_BEHAVIORAL
-// e (cp):  Run Simulation : addNotify
-// TclEventType: LAUNCH_SIM
-// TclEventType: FILE_SET_OPTIONS_CHANGE
-// Tcl Message: launch_simulation 
-// Tcl Message: INFO: [Vivado 12-5682] Launching behavioral simulation in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [SIM-utils-51] Simulation object is 'sim_1' INFO: [SIM-utils-54] Inspecting design source files for 'aes' in fileset 'sim_1'... INFO: [USF-XSim-97] Finding global include files... INFO: [USF-XSim-98] Fetching design files from 'sim_1'... INFO: [USF-XSim-2] XSim::Compile design INFO: [USF-XSim-61] Executing 'COMPILE and ANALYZE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: LAUNCH_SIM_LOG
-// Tcl Message: xvlog --incr --relax -prj aes_vlog.prj 
-// Tcl Message: INFO: [USF-XSim-69] 'compile' step finished in '1' seconds INFO: [USF-XSim-3] XSim::Elaborate design INFO: [USF-XSim-61] Executing 'ELABORATE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: LAUNCH_SIM
-// Tcl Message: Vivado Simulator 2018.3 Copyright 1986-1999, 2001-2018 Xilinx, Inc. All Rights Reserved. Running: /tools/Xilinx/Vivado/2018.3/bin/unwrapped/lnx64.o/xelab -wto d15e9ad086eb4733bafd2c3fb4aa35cd --incr --debug typical --relax --mt 8 -L xil_defaultlib -L unisims_ver -L unimacro_ver -L secureip --snapshot aes_behav xil_defaultlib.aes xil_defaultlib.glbl -log elaborate.log  Using 8 slave threads. Starting static elaboration Completed static elaboration INFO: [XSIM 43-4323] No Change in HDL. Linking previously generated obj files to create kernel 
-// Tcl Message: INFO: [USF-XSim-69] 'elaborate' step finished in '1' seconds INFO: [USF-XSim-4] XSim::Simulate design INFO: [USF-XSim-61] Executing 'SIMULATE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [USF-XSim-98] *** Running xsim 
-// Tcl Message:    with args "aes_behav -key {Behavioral:sim_1:Functional:aes} -tclbatch {aes.tcl} -log {simulate.log}" 
-// Tcl Message: INFO: [USF-XSim-8] Loading simulator feature 
-// Tcl Message: Vivado Simulator 2018.3 
-// TclEventType: SIMULATION_CREATE_SIMULATION_OBJECT
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-closeView(PAResourceOtoP.PAViews_PROJECT_SUMMARY, "Project Summary"); // v
-// Tcl Message: Time resolution is 1 ps 
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-// TclEventType: WAVEFORM_UPDATE_TITLE
-// TclEventType: WAVEFORM_OPEN_WCFG
-// Waveform: addNotify
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// HMemoryUtils.trashcanNow. Engine heap size: 1,428 MB. GUI used memory: 74 MB. Current time: 3/20/22, 6:45:24 PM EET
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_TITLE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: SIMULATION_OBJECT_TREE_RESTORED
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: source aes.tcl 
-// Tcl Message: # set curr_wave [current_wave_config] # if { [string length $curr_wave] == 0 } { #   if { [llength [get_objects]] > 0} { #     add_wave / #     set_property needs_save false [current_wave_config] #   } else { #      send_msg_id Add_Wave-1 WARNING "No top level signals found. Simulator will start without a wave window. If you want to open a wave window go to 'File->New Waveform Configuration' or type 'create_wave_config' in the TCL console." #   } # } # run 1000ns 
-// Tcl Message: INFO: [USF-XSim-96] XSim completed. Design snapshot 'aes_behav' loaded. INFO: [USF-XSim-97] XSim simulation ran for 1000ns 
-// 'd' command handler elapsed time: 3 seconds
-dismissDialog("Run Simulation"); // e (cp)
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// Elapsed time: 37 seconds
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "tb.v", 1); // k (j, cp)
-// Elapsed time: 18 seconds
-selectCodeEditor("tb.v", 11, 85); // cl (w, cp)
-selectCodeEditor("tb.v", 12, 59); // cl (w, cp)
-selectCodeEditor("tb.v", 4, 70); // cl (w, cp)
-selectCodeEditor("tb.v", 213, 127); // cl (w, cp)
-selectCodeEditor("tb.v", 122, 54); // cl (w, cp)
-selectCodeEditor("tb.v", 16, 67); // cl (w, cp)
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-selectButton(PAResourceCommand.PACommandNames_SIMULATION_RELAUNCH, "simulation_relaunch"); // B (f, cp)
-// Run Command: PAResourceCommand.PACommandNames_SIMULATION_RELAUNCH
-// b (cp):  Relaunch Simulation : addNotify
-// TclEventType: SIMULATION_MODEL_ABOUT_TO_CLOSE
-// Tcl Message: relaunch_sim 
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_MODEL_RELOADED
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_UPDATE_SCOPE_TREE
-// TclEventType: SIMULATION_UPDATE_STACKS
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: LAUNCH_SIM
-// TclEventType: FILE_SET_OPTIONS_CHANGE
-// Tcl Message: INFO: [Vivado 12-5682] Launching behavioral simulation in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [SIM-utils-51] Simulation object is 'sim_1' INFO: [SIM-utils-54] Inspecting design source files for 'aes' in fileset 'sim_1'... INFO: [USF-XSim-97] Finding global include files... INFO: [USF-XSim-98] Fetching design files from 'sim_1'... INFO: [USF-XSim-2] XSim::Compile design INFO: [USF-XSim-61] Executing 'COMPILE and ANALYZE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: LAUNCH_SIM
-// Tcl Message: xvlog --incr --relax -prj aes_vlog.prj 
-// Tcl Message: INFO: [USF-XSim-69] 'compile' step finished in '1' seconds INFO: [Vivado 12-5682] Launching behavioral simulation in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [USF-XSim-3] XSim::Elaborate design INFO: [USF-XSim-61] Executing 'ELABORATE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: Vivado Simulator 2018.3 Copyright 1986-1999, 2001-2018 Xilinx, Inc. All Rights Reserved. Running: /tools/Xilinx/Vivado/2018.3/bin/unwrapped/lnx64.o/xelab -wto d15e9ad086eb4733bafd2c3fb4aa35cd --incr --debug typical --relax --mt 8 -L xil_defaultlib -L unisims_ver -L unimacro_ver -L secureip --snapshot aes_behav xil_defaultlib.aes xil_defaultlib.glbl -log elaborate.log  Using 8 slave threads. Starting static elaboration Completed static elaboration INFO: [XSIM 43-4323] No Change in HDL. Linking previously generated obj files to create kernel 
-// Tcl Message: INFO: [USF-XSim-69] 'elaborate' step finished in '0' seconds 
-// Tcl Message: Vivado Simulator 2018.3 
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_MODEL_ABOUT_TO_CLOSE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_MODEL_RELOADED
-// TclEventType: SIMULATION_DELETE_ALL_BREAKPOINTS
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_SCOPE_TREE
-// TclEventType: SIMULATION_UPDATE_STACKS
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: SIMULATION_OBJECT_TREE_RESTORED
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: Time resolution is 1 ps 
-// 'a' command handler elapsed time: 3 seconds
-dismissDialog("Relaunch Simulation"); // b (cp)
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "Untitled 3", 2); // k (j, cp)
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,443 MB. GUI used memory: 107 MB. Current time: 3/20/22, 6:46:47 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,443 MB. GUI used memory: 73 MB. Current time: 3/20/22, 6:46:47 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,443 MB. GUI used memory: 73 MB. Current time: 3/20/22, 6:46:47 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,443 MB. GUI used memory: 66 MB. Current time: 3/20/22, 6:46:47 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,443 MB. GUI used memory: 67 MB. Current time: 3/20/22, 6:46:47 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,443 MB. GUI used memory: 68 MB. Current time: 3/20/22, 6:46:47 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,443 MB. GUI used memory: 67 MB. Current time: 3/20/22, 6:46:47 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,443 MB. GUI used memory: 67 MB. Current time: 3/20/22, 6:46:47 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,443 MB. GUI used memory: 66 MB. Current time: 3/20/22, 6:46:47 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,443 MB. GUI used memory: 65 MB. Current time: 3/20/22, 6:46:48 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,443 MB. GUI used memory: 67 MB. Current time: 3/20/22, 6:46:48 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,443 MB. GUI used memory: 66 MB. Current time: 3/20/22, 6:46:48 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,443 MB. GUI used memory: 66 MB. Current time: 3/20/22, 6:46:48 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,443 MB. GUI used memory: 65 MB. Current time: 3/20/22, 6:46:48 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,443 MB. GUI used memory: 67 MB. Current time: 3/20/22, 6:46:48 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,443 MB. GUI used memory: 66 MB. Current time: 3/20/22, 6:46:48 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,443 MB. GUI used memory: 65 MB. Current time: 3/20/22, 6:46:48 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,443 MB. GUI used memory: 67 MB. Current time: 3/20/22, 6:46:48 PM EET
-// Elapsed time: 11 seconds
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "tb.v", 1); // k (j, cp)
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "Untitled 3", 2); // k (j, cp)
-selectButton(PAResourceTtoZ.TaskBanner_CLOSE, (String) null); // k (aA, cp)
-closeTask("Simulation", "Behavioral Simulation - Functional - sim_1 - aes", "DesignTask.SIMULATION");
-// A (cp): Confirm Close: addNotify
-selectButton(RDIResource.BaseDialog_OK, "OK"); // a (A)
-// bx (cp):  Close : addNotify
-// TclEventType: WAVEFORM_CLOSE_WCFG
-dismissDialog("Confirm Close"); // A (cp)
-// TclEventType: SIMULATION_CLOSE_SIMULATION
-// Tcl Message: close_sim 
-// Tcl Message: INFO: [Simtcl 6-16] Simulation closed 
-dismissDialog("Close"); // bx (cp)
-// Elapsed time: 10 seconds
-selectTree(PAResourceEtoH.FileSetPanel_FILE_SET_PANEL_TREE, "[root, Simulation Sources, sim_1, aes (aes.v), core : aes_core (aes.v)]", 11, true); // B (D, cp) - Node
-selectTree(PAResourceEtoH.FileSetPanel_FILE_SET_PANEL_TREE, "[root, Simulation Sources, sim_1, aes_tb (tb.v)]", 16, true); // B (D, cp) - Node
-selectTree(PAResourceEtoH.FileSetPanel_FILE_SET_PANEL_TREE, "[root, Simulation Sources, sim_1, aes_tb (tb.v)]", 16, true, false, false, false, true, false); // B (D, cp) - Popup Trigger - Node
-selectMenu(PAResourceCommand.PACommandNames_AUTO_UPDATE_HIER, "Hierarchy Update"); // ac (al, cp)
-selectMenu(PAResourceQtoS.SrcMenu_IP_HIERARCHY, "IP Hierarchy"); // ac (al, cp)
-selectMenuItem(PAResourceCommand.PACommandNames_SET_AS_TOP, "Set as Top"); // af (al, cp)
-// Run Command: PAResourceCommand.PACommandNames_SET_AS_TOP
-// TclEventType: FILE_SET_CHANGE
-// TclEventType: FILE_SET_OPTIONS_CHANGE
-// Tcl Message: set_property top aes_tb [get_filesets sim_1] 
-// TclEventType: FILE_SET_CHANGE
-// TclEventType: FILE_SET_OPTIONS_CHANGE
-// TclEventType: DG_GRAPH_STALE
-// Tcl Message: set_property top_lib xil_defaultlib [get_filesets sim_1] 
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-// Tcl Message: update_compile_order -fileset sim_1 
-selectTree(PAResourceEtoH.FlowNavigatorTreePanel_FLOW_NAVIGATOR_TREE, "[, Simulation, Run Simulation]", 10, false); // u (Q, cp)
-selectMenuItem(PAResourceCommand.PACommandNames_SIMULATION_RUN_BEHAVIORAL, "Run Behavioral Simulation"); // af (al, cp)
-// Run Command: PAResourceCommand.PACommandNames_SIMULATION_RUN_BEHAVIORAL
-// e (cp):  Run Simulation : addNotify
-// TclEventType: LAUNCH_SIM
-// TclEventType: FILE_SET_OPTIONS_CHANGE
-// Tcl Message: launch_simulation 
-// Tcl Message: INFO: [Vivado 12-5682] Launching behavioral simulation in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [SIM-utils-51] Simulation object is 'sim_1' INFO: [SIM-utils-54] Inspecting design source files for 'aes_tb' in fileset 'sim_1'... INFO: [USF-XSim-97] Finding global include files... INFO: [USF-XSim-98] Fetching design files from 'sim_1'... INFO: [USF-XSim-2] XSim::Compile design INFO: [USF-XSim-61] Executing 'COMPILE and ANALYZE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: LAUNCH_SIM_LOG
-// Tcl Message: xvlog --incr --relax -prj aes_tb_vlog.prj INFO: [VRFC 10-2263] Analyzing Verilog file "/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/aes.v" into library xil_defaultlib INFO: [VRFC 10-311] analyzing module aes INFO: [VRFC 10-311] analyzing module aes_core INFO: [VRFC 10-311] analyzing module aes_decipher_block INFO: [VRFC 10-311] analyzing module aes_inv_sbox INFO: [VRFC 10-311] analyzing module aes_key_mem INFO: [VRFC 10-311] analyzing module aes_sbox INFO: [VRFC 10-311] analyzing module aes_encipher_block INFO: [VRFC 10-2263] Analyzing Verilog file "/home/egoncu/workspace/project_1/project_1.srcs/sim_1/new/tb.v" into library xil_defaultlib INFO: [VRFC 10-311] analyzing module aes_tb 
-// Tcl Message: INFO: [USF-XSim-69] 'compile' step finished in '1' seconds INFO: [USF-XSim-3] XSim::Elaborate design INFO: [USF-XSim-61] Executing 'ELABORATE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// Tcl Message:  ****** Webtalk v2018.3 (64-bit)   **** SW Build 2405991 on Thu Dec  6 23:36:41 MST 2018   **** IP Build 2404404 on Fri Dec  7 01:43:56 MST 2018     ** Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.  source /home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim/xsim.dir/aes_tb_behav/webtalk/xsim_webtalk.tcl -notrace 
-// TclEventType: LAUNCH_SIM
-// Tcl Message: INFO: [Common 17-206] Exiting Webtalk at Sun Mar 20 18:47:32 2022... 
-// Tcl Message: INFO: [USF-XSim-69] 'elaborate' step finished in '2' seconds INFO: [USF-XSim-4] XSim::Simulate design INFO: [USF-XSim-61] Executing 'SIMULATE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [USF-XSim-98] *** Running xsim 
-// Tcl Message:    with args "aes_tb_behav -key {Behavioral:sim_1:Functional:aes_tb} -tclbatch {aes_tb.tcl} -log {simulate.log}" 
-// Tcl Message: INFO: [USF-XSim-8] Loading simulator feature 
-// Tcl Message: Vivado Simulator 2018.3 
-// TclEventType: SIMULATION_CREATE_SIMULATION_OBJECT
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-closeView(PAResourceOtoP.PAViews_PROJECT_SUMMARY, "Project Summary"); // v
-// Tcl Message: Time resolution is 1 ps 
-// TclEventType: WAVEFORM_UPDATE_TITLE
-// TclEventType: WAVEFORM_OPEN_WCFG
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-// TclEventType: WAVEFORM_OPEN_WCFG
-// Waveform: addNotify
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// HMemoryUtils.trashcanNow. Engine heap size: 1,510 MB. GUI used memory: 118 MB. Current time: 3/20/22, 6:47:34 PM EET
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_TITLE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: SIMULATION_OBJECT_TREE_RESTORED
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: source aes_tb.tcl 
-// Tcl Message: # set curr_wave [current_wave_config] # if { [string length $curr_wave] == 0 } { #   if { [llength [get_objects]] > 0} { #     add_wave / #     set_property needs_save false [current_wave_config] #   } else { #      send_msg_id Add_Wave-1 WARNING "No top level signals found. Simulator will start without a wave window. If you want to open a wave window go to 'File->New Waveform Configuration' or type 'create_wave_config' in the TCL console." #   } # } # run 1000ns 
-// Tcl Message: INFO: [USF-XSim-96] XSim completed. Design snapshot 'aes_tb_behav' loaded. INFO: [USF-XSim-97] XSim simulation ran for 1000ns 
-// Tcl Message: launch_simulation: Time (s): cpu = 00:00:05 ; elapsed = 00:00:05 . Memory (MB): peak = 6855.473 ; gain = 0.000 ; free physical = 437 ; free virtual = 17167 
-// 'd' command handler elapsed time: 5 seconds
-dismissDialog("Run Simulation"); // e (cp)
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// Elapsed time: 62 seconds
-selectGraphicalView(RDIResource.RDIViews_WAVEFORM_VIEWER, 87, 11); // n (o, cp)
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,490 MB. GUI used memory: 68 MB. Current time: 3/20/22, 6:48:39 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,489 MB. GUI used memory: 67 MB. Current time: 3/20/22, 6:48:39 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,489 MB. GUI used memory: 77 MB. Current time: 3/20/22, 6:48:40 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,489 MB. GUI used memory: 73 MB. Current time: 3/20/22, 6:48:40 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,489 MB. GUI used memory: 71 MB. Current time: 3/20/22, 6:48:40 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,489 MB. GUI used memory: 67 MB. Current time: 3/20/22, 6:48:40 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,489 MB. GUI used memory: 67 MB. Current time: 3/20/22, 6:48:40 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,489 MB. GUI used memory: 69 MB. Current time: 3/20/22, 6:48:40 PM EET
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "tb.v", 1); // k (j, cp)
-selectCodeEditor("tb.v", 100, 317); // cl (w, cp)
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-// Elapsed time: 17 seconds
-selectButton(PAResourceCommand.PACommandNames_SIMULATION_RELAUNCH, "simulation_relaunch"); // B (f, cp)
-// Run Command: PAResourceCommand.PACommandNames_SIMULATION_RELAUNCH
-// b (cp):  Relaunch Simulation : addNotify
-// TclEventType: SIMULATION_MODEL_ABOUT_TO_CLOSE
-// Tcl Message: relaunch_sim 
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_MODEL_RELOADED
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_UPDATE_SCOPE_TREE
-// TclEventType: SIMULATION_UPDATE_STACKS
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: LAUNCH_SIM
-// TclEventType: FILE_SET_OPTIONS_CHANGE
-// Tcl Message: INFO: [Vivado 12-5682] Launching behavioral simulation in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [SIM-utils-51] Simulation object is 'sim_1' INFO: [SIM-utils-54] Inspecting design source files for 'aes_tb' in fileset 'sim_1'... INFO: [USF-XSim-97] Finding global include files... INFO: [USF-XSim-98] Fetching design files from 'sim_1'... INFO: [USF-XSim-2] XSim::Compile design INFO: [USF-XSim-61] Executing 'COMPILE and ANALYZE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: LAUNCH_SIM
-// Tcl Message: xvlog --incr --relax -prj aes_tb_vlog.prj INFO: [VRFC 10-2263] Analyzing Verilog file "/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/aes.v" into library xil_defaultlib INFO: [VRFC 10-311] analyzing module aes INFO: [VRFC 10-311] analyzing module aes_core INFO: [VRFC 10-311] analyzing module aes_decipher_block INFO: [VRFC 10-311] analyzing module aes_inv_sbox INFO: [VRFC 10-311] analyzing module aes_key_mem INFO: [VRFC 10-311] analyzing module aes_sbox INFO: [VRFC 10-311] analyzing module aes_encipher_block INFO: [VRFC 10-2263] Analyzing Verilog file "/home/egoncu/workspace/project_1/project_1.srcs/sim_1/new/tb.v" into library xil_defaultlib INFO: [VRFC 10-311] analyzing module aes_tb 
-// Tcl Message: INFO: [USF-XSim-69] 'compile' step finished in '0' seconds INFO: [Vivado 12-5682] Launching behavioral simulation in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [USF-XSim-3] XSim::Elaborate design INFO: [USF-XSim-61] Executing 'ELABORATE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: INFO: [USF-XSim-69] 'elaborate' step finished in '2' seconds 
-// Tcl Message: Vivado Simulator 2018.3 
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_MODEL_ABOUT_TO_CLOSE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_MODEL_RELOADED
-// TclEventType: SIMULATION_DELETE_ALL_BREAKPOINTS
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_SCOPE_TREE
-// TclEventType: SIMULATION_UPDATE_STACKS
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: SIMULATION_OBJECT_TREE_RESTORED
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: Time resolution is 1 ps relaunch_sim: Time (s): cpu = 00:00:04 ; elapsed = 00:00:06 . Memory (MB): peak = 6855.473 ; gain = 0.000 ; free physical = 490 ; free virtual = 17221 
-// 'a' command handler elapsed time: 5 seconds
-dismissDialog("Relaunch Simulation"); // b (cp)
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "Untitled 4", 2); // k (j, cp)
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,487 MB. GUI used memory: 103 MB. Current time: 3/20/22, 6:49:14 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,487 MB. GUI used memory: 70 MB. Current time: 3/20/22, 6:49:14 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,487 MB. GUI used memory: 69 MB. Current time: 3/20/22, 6:49:14 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,487 MB. GUI used memory: 69 MB. Current time: 3/20/22, 6:49:14 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,487 MB. GUI used memory: 69 MB. Current time: 3/20/22, 6:49:14 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,487 MB. GUI used memory: 69 MB. Current time: 3/20/22, 6:49:14 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,487 MB. GUI used memory: 69 MB. Current time: 3/20/22, 6:49:14 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,487 MB. GUI used memory: 69 MB. Current time: 3/20/22, 6:49:14 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,487 MB. GUI used memory: 69 MB. Current time: 3/20/22, 6:49:14 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,487 MB. GUI used memory: 67 MB. Current time: 3/20/22, 6:49:15 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,487 MB. GUI used memory: 72 MB. Current time: 3/20/22, 6:49:15 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,487 MB. GUI used memory: 73 MB. Current time: 3/20/22, 6:49:15 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,487 MB. GUI used memory: 70 MB. Current time: 3/20/22, 6:49:15 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,487 MB. GUI used memory: 71 MB. Current time: 3/20/22, 6:49:15 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,487 MB. GUI used memory: 67 MB. Current time: 3/20/22, 6:49:15 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,487 MB. GUI used memory: 69 MB. Current time: 3/20/22, 6:49:15 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,535 MB. GUI used memory: 68 MB. Current time: 3/20/22, 6:49:15 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,487 MB. GUI used memory: 67 MB. Current time: 3/20/22, 6:49:16 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-selectButton(RDIResource.GraphicalView_ZOOM_FIT, "Waveform Viewer_zoom_fit"); // B (f, cp)
-// Elapsed time: 10 seconds
-selectGraphicalView(RDIResource.RDIViews_WAVEFORM_VIEWER, 123, 59); // n (o, cp)
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// HMemoryUtils.trashcanNow. Engine heap size: 1,488 MB. GUI used memory: 98 MB. Current time: 3/20/22, 6:49:28 PM EET
-// Elapsed time: 23 seconds
-selectGraphicalView(RDIResource.RDIViews_WAVEFORM_VIEWER, 174, 255); // n (o, cp)
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// Elapsed time: 27 seconds
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "tb.v", 1); // k (j, cp)
-// Elapsed time: 10 seconds
-selectCodeEditor("tb.v", 152, 489); // cl (w, cp)
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-// Elapsed time: 22 seconds
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "Untitled 4", 2); // k (j, cp)
-selectButton(PAResourceCommand.PACommandNames_SIMULATION_RELAUNCH, "simulation_relaunch"); // B (f, cp)
-// Run Command: PAResourceCommand.PACommandNames_SIMULATION_RELAUNCH
-// b (cp):  Relaunch Simulation : addNotify
-// TclEventType: SIMULATION_MODEL_ABOUT_TO_CLOSE
-// Tcl Message: relaunch_sim 
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_MODEL_RELOADED
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_UPDATE_SCOPE_TREE
-// TclEventType: SIMULATION_UPDATE_STACKS
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: LAUNCH_SIM
-// TclEventType: FILE_SET_OPTIONS_CHANGE
-// Tcl Message: INFO: [Vivado 12-5682] Launching behavioral simulation in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [SIM-utils-51] Simulation object is 'sim_1' INFO: [SIM-utils-54] Inspecting design source files for 'aes_tb' in fileset 'sim_1'... INFO: [USF-XSim-97] Finding global include files... INFO: [USF-XSim-98] Fetching design files from 'sim_1'... INFO: [USF-XSim-2] XSim::Compile design INFO: [USF-XSim-61] Executing 'COMPILE and ANALYZE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: LAUNCH_SIM
-// Tcl Message: xvlog --incr --relax -prj aes_tb_vlog.prj INFO: [VRFC 10-2263] Analyzing Verilog file "/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/aes.v" into library xil_defaultlib INFO: [VRFC 10-311] analyzing module aes INFO: [VRFC 10-311] analyzing module aes_core INFO: [VRFC 10-311] analyzing module aes_decipher_block INFO: [VRFC 10-311] analyzing module aes_inv_sbox INFO: [VRFC 10-311] analyzing module aes_key_mem INFO: [VRFC 10-311] analyzing module aes_sbox INFO: [VRFC 10-311] analyzing module aes_encipher_block INFO: [VRFC 10-2263] Analyzing Verilog file "/home/egoncu/workspace/project_1/project_1.srcs/sim_1/new/tb.v" into library xil_defaultlib INFO: [VRFC 10-311] analyzing module aes_tb 
-// Tcl Message: INFO: [USF-XSim-69] 'compile' step finished in '0' seconds INFO: [Vivado 12-5682] Launching behavioral simulation in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [USF-XSim-3] XSim::Elaborate design INFO: [USF-XSim-61] Executing 'ELABORATE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: INFO: [USF-XSim-69] 'elaborate' step finished in '2' seconds 
-// Tcl Message: Vivado Simulator 2018.3 
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_MODEL_ABOUT_TO_CLOSE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_MODEL_RELOADED
-// TclEventType: SIMULATION_DELETE_ALL_BREAKPOINTS
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_SCOPE_TREE
-// HMemoryUtils.trashcanNow. Engine heap size: 1,496 MB. GUI used memory: 68 MB. Current time: 3/20/22, 6:50:57 PM EET
-// TclEventType: SIMULATION_UPDATE_SCOPE_TREE
-// TclEventType: SIMULATION_UPDATE_STACKS
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: SIMULATION_OBJECT_TREE_RESTORED
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: Time resolution is 1 ps 
-// 'a' command handler elapsed time: 4 seconds
-dismissDialog("Relaunch Simulation"); // b (cp)
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,496 MB. GUI used memory: 78 MB. Current time: 3/20/22, 6:51:00 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,496 MB. GUI used memory: 68 MB. Current time: 3/20/22, 6:51:00 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// Elapsed time: 21 seconds
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "tb.v", 1); // k (j, cp)
-selectCodeEditor("tb.v", 141, 288); // cl (w, cp)
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-// Elapsed time: 27 seconds
-selectCodeEditor("tb.v", 45, 486); // cl (w, cp)
-typeControlKey((HResource) null, "tb.v", 'c'); // cl (w, cp)
-selectCodeEditor("tb.v", 128, 308); // cl (w, cp)
-selectCodeEditor("tb.v", 128, 318); // cl (w, cp)
-typeControlKey((HResource) null, "tb.v", 'v'); // cl (w, cp)
-selectCodeEditor("tb.v", 126, 343); // cl (w, cp)
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-selectButton(PAResourceCommand.PACommandNames_SIMULATION_RELAUNCH, "simulation_relaunch"); // B (f, cp)
-// Run Command: PAResourceCommand.PACommandNames_SIMULATION_RELAUNCH
-// b (cp):  Relaunch Simulation : addNotify
-// TclEventType: SIMULATION_MODEL_ABOUT_TO_CLOSE
-// Tcl Message: relaunch_sim 
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_MODEL_RELOADED
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_UPDATE_SCOPE_TREE
-// TclEventType: SIMULATION_UPDATE_STACKS
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: LAUNCH_SIM
-// TclEventType: FILE_SET_OPTIONS_CHANGE
-// Tcl Message: INFO: [Vivado 12-5682] Launching behavioral simulation in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [SIM-utils-51] Simulation object is 'sim_1' INFO: [SIM-utils-54] Inspecting design source files for 'aes_tb' in fileset 'sim_1'... INFO: [USF-XSim-97] Finding global include files... INFO: [USF-XSim-98] Fetching design files from 'sim_1'... INFO: [USF-XSim-2] XSim::Compile design INFO: [USF-XSim-61] Executing 'COMPILE and ANALYZE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: LAUNCH_SIM
-// Tcl Message: xvlog --incr --relax -prj aes_tb_vlog.prj INFO: [VRFC 10-2263] Analyzing Verilog file "/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/aes.v" into library xil_defaultlib INFO: [VRFC 10-311] analyzing module aes INFO: [VRFC 10-311] analyzing module aes_core INFO: [VRFC 10-311] analyzing module aes_decipher_block INFO: [VRFC 10-311] analyzing module aes_inv_sbox INFO: [VRFC 10-311] analyzing module aes_key_mem INFO: [VRFC 10-311] analyzing module aes_sbox INFO: [VRFC 10-311] analyzing module aes_encipher_block INFO: [VRFC 10-2263] Analyzing Verilog file "/home/egoncu/workspace/project_1/project_1.srcs/sim_1/new/tb.v" into library xil_defaultlib INFO: [VRFC 10-311] analyzing module aes_tb 
-// Tcl Message: INFO: [USF-XSim-69] 'compile' step finished in '1' seconds INFO: [Vivado 12-5682] Launching behavioral simulation in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [USF-XSim-3] XSim::Elaborate design INFO: [USF-XSim-61] Executing 'ELABORATE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: INFO: [USF-XSim-69] 'elaborate' step finished in '1' seconds 
-// Tcl Message: Vivado Simulator 2018.3 
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_MODEL_ABOUT_TO_CLOSE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_MODEL_RELOADED
-// TclEventType: SIMULATION_DELETE_ALL_BREAKPOINTS
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_SCOPE_TREE
-// TclEventType: SIMULATION_UPDATE_STACKS
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: SIMULATION_OBJECT_TREE_RESTORED
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: Time resolution is 1 ps 
-// 'a' command handler elapsed time: 4 seconds
-dismissDialog("Relaunch Simulation"); // b (cp)
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// Elapsed time: 10 seconds
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "Untitled 4", 2); // k (j, cp)
-selectGraphicalView(RDIResource.RDIViews_WAVEFORM_VIEWER, 250, 674); // n (o, cp)
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,513 MB. GUI used memory: 68 MB. Current time: 3/20/22, 6:52:20 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// Elapsed time: 12 seconds
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "tb.v", 1); // k (j, cp)
-selectCodeEditor("tb.v", 140, 369); // cl (w, cp)
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "Untitled 4", 2); // k (j, cp)
-selectButton(PAResourceCommand.PACommandNames_SIMULATION_RELAUNCH, "simulation_relaunch"); // B (f, cp)
-// Run Command: PAResourceCommand.PACommandNames_SIMULATION_RELAUNCH
-// b (cp):  Relaunch Simulation : addNotify
-// TclEventType: SIMULATION_MODEL_ABOUT_TO_CLOSE
-// Tcl Message: relaunch_sim 
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_MODEL_RELOADED
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_UPDATE_SCOPE_TREE
-// TclEventType: SIMULATION_UPDATE_STACKS
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: LAUNCH_SIM
-// TclEventType: FILE_SET_OPTIONS_CHANGE
-// Tcl Message: INFO: [Vivado 12-5682] Launching behavioral simulation in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [SIM-utils-51] Simulation object is 'sim_1' INFO: [SIM-utils-54] Inspecting design source files for 'aes_tb' in fileset 'sim_1'... INFO: [USF-XSim-97] Finding global include files... INFO: [USF-XSim-98] Fetching design files from 'sim_1'... INFO: [USF-XSim-2] XSim::Compile design INFO: [USF-XSim-61] Executing 'COMPILE and ANALYZE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: LAUNCH_SIM
-// Tcl Message: xvlog --incr --relax -prj aes_tb_vlog.prj INFO: [VRFC 10-2263] Analyzing Verilog file "/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/aes.v" into library xil_defaultlib INFO: [VRFC 10-311] analyzing module aes INFO: [VRFC 10-311] analyzing module aes_core INFO: [VRFC 10-311] analyzing module aes_decipher_block INFO: [VRFC 10-311] analyzing module aes_inv_sbox INFO: [VRFC 10-311] analyzing module aes_key_mem INFO: [VRFC 10-311] analyzing module aes_sbox INFO: [VRFC 10-311] analyzing module aes_encipher_block INFO: [VRFC 10-2263] Analyzing Verilog file "/home/egoncu/workspace/project_1/project_1.srcs/sim_1/new/tb.v" into library xil_defaultlib INFO: [VRFC 10-311] analyzing module aes_tb 
-// Tcl Message: INFO: [USF-XSim-69] 'compile' step finished in '1' seconds INFO: [Vivado 12-5682] Launching behavioral simulation in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [USF-XSim-3] XSim::Elaborate design INFO: [USF-XSim-61] Executing 'ELABORATE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: INFO: [USF-XSim-69] 'elaborate' step finished in '1' seconds 
-// Tcl Message: Vivado Simulator 2018.3 
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_MODEL_ABOUT_TO_CLOSE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_MODEL_RELOADED
-// TclEventType: SIMULATION_DELETE_ALL_BREAKPOINTS
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_SCOPE_TREE
-// HMemoryUtils.trashcanNow. Engine heap size: 1,521 MB. GUI used memory: 79 MB. Current time: 3/20/22, 6:52:49 PM EET
-// TclEventType: SIMULATION_UPDATE_SCOPE_TREE
-// TclEventType: SIMULATION_UPDATE_STACKS
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: SIMULATION_OBJECT_TREE_RESTORED
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: Time resolution is 1 ps 
-// 'a' command handler elapsed time: 4 seconds
-dismissDialog("Relaunch Simulation"); // b (cp)
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-selectGraphicalView(RDIResource.RDIViews_WAVEFORM_VIEWER, 23, 261); // n (o, cp)
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// Elapsed time: 25 seconds
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "tb.v", 1); // k (j, cp)
-selectCodeEditor("tb.v", 118, 479); // cl (w, cp)
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-// Elapsed time: 13 seconds
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "Untitled 4", 2); // k (j, cp)
-selectButton(PAResourceCommand.PACommandNames_SIMULATION_RELAUNCH, "simulation_relaunch"); // B (f, cp)
-// Run Command: PAResourceCommand.PACommandNames_SIMULATION_RELAUNCH
-// b (cp):  Relaunch Simulation : addNotify
-// TclEventType: SIMULATION_MODEL_ABOUT_TO_CLOSE
-// Tcl Message: relaunch_sim 
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_MODEL_RELOADED
-// HMemoryUtils.trashcanNow. Engine heap size: 1,506 MB. GUI used memory: 128 MB. Current time: 3/20/22, 6:53:50 PM EET
-// TclEventType: SIMULATION_MODEL_RELOADED
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_UPDATE_SCOPE_TREE
-// TclEventType: SIMULATION_UPDATE_STACKS
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: LAUNCH_SIM
-// TclEventType: FILE_SET_OPTIONS_CHANGE
-// Tcl Message: INFO: [Vivado 12-5682] Launching behavioral simulation in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [SIM-utils-51] Simulation object is 'sim_1' INFO: [SIM-utils-54] Inspecting design source files for 'aes_tb' in fileset 'sim_1'... INFO: [USF-XSim-97] Finding global include files... INFO: [USF-XSim-98] Fetching design files from 'sim_1'... INFO: [USF-XSim-2] XSim::Compile design INFO: [USF-XSim-61] Executing 'COMPILE and ANALYZE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: LAUNCH_SIM
-// Tcl Message: xvlog --incr --relax -prj aes_tb_vlog.prj INFO: [VRFC 10-2263] Analyzing Verilog file "/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/aes.v" into library xil_defaultlib INFO: [VRFC 10-311] analyzing module aes INFO: [VRFC 10-311] analyzing module aes_core INFO: [VRFC 10-311] analyzing module aes_decipher_block INFO: [VRFC 10-311] analyzing module aes_inv_sbox INFO: [VRFC 10-311] analyzing module aes_key_mem INFO: [VRFC 10-311] analyzing module aes_sbox INFO: [VRFC 10-311] analyzing module aes_encipher_block INFO: [VRFC 10-2263] Analyzing Verilog file "/home/egoncu/workspace/project_1/project_1.srcs/sim_1/new/tb.v" into library xil_defaultlib INFO: [VRFC 10-311] analyzing module aes_tb 
-// Tcl Message: INFO: [USF-XSim-69] 'compile' step finished in '0' seconds INFO: [Vivado 12-5682] Launching behavioral simulation in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [USF-XSim-3] XSim::Elaborate design INFO: [USF-XSim-61] Executing 'ELABORATE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: INFO: [USF-XSim-69] 'elaborate' step finished in '2' seconds 
-// Tcl Message: Vivado Simulator 2018.3 
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_MODEL_ABOUT_TO_CLOSE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_MODEL_RELOADED
-// TclEventType: SIMULATION_DELETE_ALL_BREAKPOINTS
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_SCOPE_TREE
-// TclEventType: SIMULATION_UPDATE_STACKS
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: SIMULATION_OBJECT_TREE_RESTORED
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: Time resolution is 1 ps 
-// 'a' command handler elapsed time: 4 seconds
-dismissDialog("Relaunch Simulation"); // b (cp)
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,530 MB. GUI used memory: 67 MB. Current time: 3/20/22, 6:54:24 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// Elapsed time: 112 seconds
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "tb.v", 1); // k (j, cp)
-selectCodeEditor("tb.v", 97, 410); // cl (w, cp)
-selectCodeEditor("tb.v", 97, 410, false, false, false, false, true); // cl (w, cp) - Double Click
-selectCodeEditor("tb.v", 97, 410); // cl (w, cp)
-selectCodeEditor("tb.v", 97, 410); // cl (w, cp)
-selectCodeEditor("tb.v", 97, 410); // cl (w, cp)
-selectCodeEditor("tb.v", 91, 410); // cl (w, cp)
-selectCodeEditor("tb.v", 91, 410, false, false, false, false, true); // cl (w, cp) - Double Click
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-selectCodeEditor("tb.v", 87, 223); // cl (w, cp)
-selectCodeEditor("tb.v", 87, 223, false, false, false, false, true); // cl (w, cp) - Double Click
-selectCodeEditor("tb.v", 94, 217); // cl (w, cp)
-selectCodeEditor("tb.v", 94, 217, false, false, false, false, true); // cl (w, cp) - Double Click
-// HMemoryUtils.trashcanNow. Engine heap size: 1,538 MB. GUI used memory: 67 MB. Current time: 3/20/22, 6:55:55 PM EET
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-selectCodeEditor("tb.v", 66, 172); // cl (w, cp)
-selectCodeEditor("tb.v", 66, 172, false, false, false, false, true); // cl (w, cp) - Double Click
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-selectButton(PAResourceCommand.PACommandNames_SIMULATION_RELAUNCH, "simulation_relaunch"); // B (f, cp)
-// Run Command: PAResourceCommand.PACommandNames_SIMULATION_RELAUNCH
-// b (cp):  Relaunch Simulation : addNotify
-// TclEventType: SIMULATION_MODEL_ABOUT_TO_CLOSE
-// Tcl Message: relaunch_sim 
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_MODEL_RELOADED
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_UPDATE_SCOPE_TREE
-// TclEventType: SIMULATION_UPDATE_STACKS
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: LAUNCH_SIM
-// TclEventType: FILE_SET_OPTIONS_CHANGE
-// Tcl Message: INFO: [Vivado 12-5682] Launching behavioral simulation in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [SIM-utils-51] Simulation object is 'sim_1' INFO: [SIM-utils-54] Inspecting design source files for 'aes_tb' in fileset 'sim_1'... INFO: [USF-XSim-97] Finding global include files... INFO: [USF-XSim-98] Fetching design files from 'sim_1'... INFO: [USF-XSim-2] XSim::Compile design INFO: [USF-XSim-61] Executing 'COMPILE and ANALYZE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: LAUNCH_SIM
-// Tcl Message: xvlog --incr --relax -prj aes_tb_vlog.prj INFO: [VRFC 10-2263] Analyzing Verilog file "/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/aes.v" into library xil_defaultlib INFO: [VRFC 10-311] analyzing module aes INFO: [VRFC 10-311] analyzing module aes_core INFO: [VRFC 10-311] analyzing module aes_decipher_block INFO: [VRFC 10-311] analyzing module aes_inv_sbox INFO: [VRFC 10-311] analyzing module aes_key_mem INFO: [VRFC 10-311] analyzing module aes_sbox INFO: [VRFC 10-311] analyzing module aes_encipher_block INFO: [VRFC 10-2263] Analyzing Verilog file "/home/egoncu/workspace/project_1/project_1.srcs/sim_1/new/tb.v" into library xil_defaultlib INFO: [VRFC 10-311] analyzing module aes_tb 
-// Tcl Message: INFO: [USF-XSim-69] 'compile' step finished in '1' seconds INFO: [Vivado 12-5682] Launching behavioral simulation in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [USF-XSim-3] XSim::Elaborate design INFO: [USF-XSim-61] Executing 'ELABORATE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: INFO: [USF-XSim-69] 'elaborate' step finished in '2' seconds 
-// Tcl Message: Vivado Simulator 2018.3 
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_MODEL_ABOUT_TO_CLOSE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_MODEL_RELOADED
-// TclEventType: SIMULATION_DELETE_ALL_BREAKPOINTS
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_SCOPE_TREE
-// TclEventType: SIMULATION_UPDATE_STACKS
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: SIMULATION_OBJECT_TREE_RESTORED
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: Time resolution is 1 ps 
-// 'a' command handler elapsed time: 4 seconds
-dismissDialog("Relaunch Simulation"); // b (cp)
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "Untitled 4", 2); // k (j, cp)
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,554 MB. GUI used memory: 92 MB. Current time: 3/20/22, 6:56:15 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,554 MB. GUI used memory: 80 MB. Current time: 3/20/22, 6:56:15 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,554 MB. GUI used memory: 84 MB. Current time: 3/20/22, 6:56:15 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,554 MB. GUI used memory: 82 MB. Current time: 3/20/22, 6:56:15 PM EET
-// Elapsed time: 21 seconds
-selectGraphicalView(RDIResource.RDIViews_WAVEFORM_VIEWER, 261, 125); // n (o, cp)
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// Elapsed time: 12 seconds
-selectGraphicalView(RDIResource.RDIViews_WAVEFORM_VIEWER, 646, 118, true, false, false, false, false); // n (o, cp) - Shift Key
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,554 MB. GUI used memory: 105 MB. Current time: 3/20/22, 6:56:45 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,554 MB. GUI used memory: 68 MB. Current time: 3/20/22, 6:57:01 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,554 MB. GUI used memory: 68 MB. Current time: 3/20/22, 6:57:02 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,554 MB. GUI used memory: 76 MB. Current time: 3/20/22, 6:57:02 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,554 MB. GUI used memory: 80 MB. Current time: 3/20/22, 6:57:02 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,554 MB. GUI used memory: 80 MB. Current time: 3/20/22, 6:57:02 PM EET
-// Elapsed time: 30 seconds
-selectGraphicalView(RDIResource.RDIViews_WAVEFORM_VIEWER, 278, 141); // n (o, cp)
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// Elapsed time: 16 seconds
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "tb.v", 1); // k (j, cp)
-selectCodeEditor("tb.v", 55, 517); // cl (w, cp)
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-// HMemoryUtils.trashcanNow. Engine heap size: 1,563 MB. GUI used memory: 67 MB. Current time: 3/20/22, 6:57:55 PM EET
-// Elapsed time: 20 seconds
-selectButton(PAResourceCommand.PACommandNames_SIMULATION_RELAUNCH, "simulation_relaunch"); // B (f, cp)
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "Untitled 4", 2); // k (j, cp)
-selectButton(PAResourceCommand.PACommandNames_SIMULATION_RELAUNCH, "simulation_relaunch"); // B (f, cp)
-// Run Command: PAResourceCommand.PACommandNames_SIMULATION_RELAUNCH
-// b (cp):  Relaunch Simulation : addNotify
-// TclEventType: SIMULATION_MODEL_ABOUT_TO_CLOSE
-// Tcl Message: relaunch_sim 
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_MODEL_RELOADED
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_UPDATE_SCOPE_TREE
-// TclEventType: SIMULATION_UPDATE_STACKS
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: LAUNCH_SIM
-// TclEventType: FILE_SET_OPTIONS_CHANGE
-// Tcl Message: INFO: [Vivado 12-5682] Launching behavioral simulation in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [SIM-utils-51] Simulation object is 'sim_1' INFO: [SIM-utils-54] Inspecting design source files for 'aes_tb' in fileset 'sim_1'... INFO: [USF-XSim-97] Finding global include files... INFO: [USF-XSim-98] Fetching design files from 'sim_1'... INFO: [USF-XSim-2] XSim::Compile design INFO: [USF-XSim-61] Executing 'COMPILE and ANALYZE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: LAUNCH_SIM
-// Tcl Message: xvlog --incr --relax -prj aes_tb_vlog.prj INFO: [VRFC 10-2263] Analyzing Verilog file "/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/aes.v" into library xil_defaultlib INFO: [VRFC 10-311] analyzing module aes INFO: [VRFC 10-311] analyzing module aes_core INFO: [VRFC 10-311] analyzing module aes_decipher_block INFO: [VRFC 10-311] analyzing module aes_inv_sbox INFO: [VRFC 10-311] analyzing module aes_key_mem INFO: [VRFC 10-311] analyzing module aes_sbox INFO: [VRFC 10-311] analyzing module aes_encipher_block INFO: [VRFC 10-2263] Analyzing Verilog file "/home/egoncu/workspace/project_1/project_1.srcs/sim_1/new/tb.v" into library xil_defaultlib INFO: [VRFC 10-311] analyzing module aes_tb 
-// Tcl Message: INFO: [USF-XSim-69] 'compile' step finished in '1' seconds INFO: [Vivado 12-5682] Launching behavioral simulation in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [USF-XSim-3] XSim::Elaborate design INFO: [USF-XSim-61] Executing 'ELABORATE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: INFO: [USF-XSim-69] 'elaborate' step finished in '1' seconds 
-// Tcl Message: Vivado Simulator 2018.3 
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_MODEL_ABOUT_TO_CLOSE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_MODEL_RELOADED
-// TclEventType: SIMULATION_DELETE_ALL_BREAKPOINTS
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_SCOPE_TREE
-// HMemoryUtils.trashcanNow. Engine heap size: 1,571 MB. GUI used memory: 68 MB. Current time: 3/20/22, 6:58:17 PM EET
-// TclEventType: SIMULATION_UPDATE_SCOPE_TREE
-// TclEventType: SIMULATION_UPDATE_STACKS
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: SIMULATION_OBJECT_TREE_RESTORED
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: Time resolution is 1 ps 
-// 'a' command handler elapsed time: 4 seconds
-dismissDialog("Relaunch Simulation"); // b (cp)
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,571 MB. GUI used memory: 68 MB. Current time: 3/20/22, 6:58:21 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,571 MB. GUI used memory: 68 MB. Current time: 3/20/22, 6:58:23 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,571 MB. GUI used memory: 74 MB. Current time: 3/20/22, 6:58:23 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,571 MB. GUI used memory: 75 MB. Current time: 3/20/22, 6:58:23 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,571 MB. GUI used memory: 75 MB. Current time: 3/20/22, 6:58:23 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,571 MB. GUI used memory: 75 MB. Current time: 3/20/22, 6:58:23 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,571 MB. GUI used memory: 77 MB. Current time: 3/20/22, 6:58:23 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,571 MB. GUI used memory: 77 MB. Current time: 3/20/22, 6:58:23 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,571 MB. GUI used memory: 77 MB. Current time: 3/20/22, 6:58:23 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,571 MB. GUI used memory: 77 MB. Current time: 3/20/22, 6:58:23 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,571 MB. GUI used memory: 79 MB. Current time: 3/20/22, 6:58:23 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,571 MB. GUI used memory: 78 MB. Current time: 3/20/22, 6:58:24 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,571 MB. GUI used memory: 73 MB. Current time: 3/20/22, 6:58:24 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,571 MB. GUI used memory: 68 MB. Current time: 3/20/22, 6:58:24 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// Elapsed time: 18 seconds
-selectTree(RDIResource.WaveformNameTree_WAVEFORM_NAME_TREE, "[true, next]", 4, false); // a (r, cp)
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,571 MB. GUI used memory: 71 MB. Current time: 3/20/22, 6:58:40 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,571 MB. GUI used memory: 75 MB. Current time: 3/20/22, 6:58:40 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,571 MB. GUI used memory: 77 MB. Current time: 3/20/22, 6:58:40 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,571 MB. GUI used memory: 80 MB. Current time: 3/20/22, 6:58:40 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,571 MB. GUI used memory: 81 MB. Current time: 3/20/22, 6:58:40 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,571 MB. GUI used memory: 80 MB. Current time: 3/20/22, 6:58:40 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,571 MB. GUI used memory: 81 MB. Current time: 3/20/22, 6:58:41 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,571 MB. GUI used memory: 79 MB. Current time: 3/20/22, 6:58:41 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,571 MB. GUI used memory: 68 MB. Current time: 3/20/22, 6:58:41 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,571 MB. GUI used memory: 73 MB. Current time: 3/20/22, 6:58:41 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,571 MB. GUI used memory: 79 MB. Current time: 3/20/22, 6:58:41 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// Elapsed time: 12 seconds
-selectGraphicalView(RDIResource.RDIViews_WAVEFORM_VIEWER, 226, 124); // n (o, cp)
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// HMemoryUtils.trashcanNow. Engine heap size: 1,571 MB. GUI used memory: 86 MB. Current time: 3/20/22, 6:58:49 PM EET
-selectGraphicalView(RDIResource.RDIViews_WAVEFORM_VIEWER, 628, 286, true, false, false, false, false); // n (o, cp) - Shift Key
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// Elapsed time: 62 seconds
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "tb.v", 1); // k (j, cp)
-selectCodeEditor("tb.v", 119, 472); // cl (w, cp)
-typeControlKey((HResource) null, "tb.v", 'c'); // cl (w, cp)
-// Elapsed time: 48 seconds
-selectCodeEditor("tb.v", 120, 401); // cl (w, cp)
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-selectCodeEditor("tb.v", 168, 425); // cl (w, cp)
-selectButton(PAResourceCommand.PACommandNames_SIMULATION_RELAUNCH, "simulation_relaunch"); // B (f, cp)
-// Run Command: PAResourceCommand.PACommandNames_SIMULATION_RELAUNCH
-// b (cp):  Relaunch Simulation : addNotify
-// TclEventType: SIMULATION_MODEL_ABOUT_TO_CLOSE
-// Tcl Message: relaunch_sim 
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_MODEL_RELOADED
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_UPDATE_SCOPE_TREE
-// TclEventType: SIMULATION_UPDATE_STACKS
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: LAUNCH_SIM
-// TclEventType: FILE_SET_OPTIONS_CHANGE
-// Tcl Message: INFO: [Vivado 12-5682] Launching behavioral simulation in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [SIM-utils-51] Simulation object is 'sim_1' INFO: [SIM-utils-54] Inspecting design source files for 'aes_tb' in fileset 'sim_1'... INFO: [USF-XSim-97] Finding global include files... INFO: [USF-XSim-98] Fetching design files from 'sim_1'... INFO: [USF-XSim-2] XSim::Compile design INFO: [USF-XSim-61] Executing 'COMPILE and ANALYZE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: LAUNCH_SIM
-// Tcl Message: xvlog --incr --relax -prj aes_tb_vlog.prj INFO: [VRFC 10-2263] Analyzing Verilog file "/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/aes.v" into library xil_defaultlib INFO: [VRFC 10-311] analyzing module aes INFO: [VRFC 10-311] analyzing module aes_core INFO: [VRFC 10-311] analyzing module aes_decipher_block INFO: [VRFC 10-311] analyzing module aes_inv_sbox INFO: [VRFC 10-311] analyzing module aes_key_mem INFO: [VRFC 10-311] analyzing module aes_sbox INFO: [VRFC 10-311] analyzing module aes_encipher_block INFO: [VRFC 10-2263] Analyzing Verilog file "/home/egoncu/workspace/project_1/project_1.srcs/sim_1/new/tb.v" into library xil_defaultlib INFO: [VRFC 10-311] analyzing module aes_tb 
-// Tcl Message: INFO: [USF-XSim-69] 'compile' step finished in '1' seconds INFO: [Vivado 12-5682] Launching behavioral simulation in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [USF-XSim-3] XSim::Elaborate design INFO: [USF-XSim-61] Executing 'ELABORATE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: INFO: [USF-XSim-69] 'elaborate' step finished in '1' seconds 
-// Tcl Message: Vivado Simulator 2018.3 
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_MODEL_ABOUT_TO_CLOSE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_MODEL_RELOADED
-// TclEventType: SIMULATION_DELETE_ALL_BREAKPOINTS
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_SCOPE_TREE
-// TclEventType: SIMULATION_UPDATE_STACKS
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: SIMULATION_OBJECT_TREE_RESTORED
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: Time resolution is 1 ps 
-// 'a' command handler elapsed time: 4 seconds
-dismissDialog("Relaunch Simulation"); // b (cp)
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// Elapsed time: 27 seconds
-selectButton(PAResourceCommand.PACommandNames_SIMULATION_RELAUNCH, "simulation_relaunch"); // B (f, cp)
-// Run Command: PAResourceCommand.PACommandNames_SIMULATION_RELAUNCH
-// b (cp):  Relaunch Simulation : addNotify
-// TclEventType: SIMULATION_MODEL_ABOUT_TO_CLOSE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_MODEL_RELOADED
-// Tcl Message: relaunch_sim 
-// TclEventType: SIMULATION_MODEL_RELOADED
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_UPDATE_SCOPE_TREE
-// TclEventType: SIMULATION_UPDATE_STACKS
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: LAUNCH_SIM
-// TclEventType: FILE_SET_OPTIONS_CHANGE
-// Tcl Message: INFO: [Vivado 12-5682] Launching behavioral simulation in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [SIM-utils-51] Simulation object is 'sim_1' INFO: [SIM-utils-54] Inspecting design source files for 'aes_tb' in fileset 'sim_1'... INFO: [USF-XSim-97] Finding global include files... INFO: [USF-XSim-98] Fetching design files from 'sim_1'... INFO: [USF-XSim-2] XSim::Compile design INFO: [USF-XSim-61] Executing 'COMPILE and ANALYZE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: LAUNCH_SIM
-// Tcl Message: xvlog --incr --relax -prj aes_tb_vlog.prj 
-// Tcl Message: INFO: [USF-XSim-69] 'compile' step finished in '0' seconds INFO: [Vivado 12-5682] Launching behavioral simulation in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [USF-XSim-3] XSim::Elaborate design INFO: [USF-XSim-61] Executing 'ELABORATE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// Tcl Message: INFO: [USF-XSim-69] 'elaborate' step finished in '1' seconds 
-// Tcl Message: Vivado Simulator 2018.3 
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_MODEL_ABOUT_TO_CLOSE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_MODEL_RELOADED
-// TclEventType: SIMULATION_DELETE_ALL_BREAKPOINTS
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_SCOPE_TREE
-// TclEventType: SIMULATION_UPDATE_STACKS
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: SIMULATION_OBJECT_TREE_RESTORED
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: Time resolution is 1 ps 
-// 'a' command handler elapsed time: 3 seconds
-dismissDialog("Relaunch Simulation"); // b (cp)
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "Untitled 4", 2); // k (j, cp)
-// HMemoryUtils.trashcanNow. Engine heap size: 1,580 MB. GUI used memory: 115 MB. Current time: 3/20/22, 7:01:32 PM EET
-// Elapsed time: 1248 seconds
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "tb.v", 1); // k (j, cp)
-selectCodeEditor("tb.v", 139, 401); // cl (w, cp)
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-// HMemoryUtils.trashcanNow. Engine heap size: 1,592 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:23:51 PM EET
-// Elapsed time: 87 seconds
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "Untitled 4", 2); // k (j, cp)
-selectButton(PAResourceCommand.PACommandNames_SIMULATION_RELAUNCH, "simulation_relaunch"); // B (f, cp)
-// Run Command: PAResourceCommand.PACommandNames_SIMULATION_RELAUNCH
-// b (cp):  Relaunch Simulation : addNotify
-// TclEventType: SIMULATION_MODEL_ABOUT_TO_CLOSE
-// Tcl Message: relaunch_sim 
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_MODEL_RELOADED
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_UPDATE_SCOPE_TREE
-// TclEventType: SIMULATION_UPDATE_STACKS
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: LAUNCH_SIM
-// TclEventType: FILE_SET_OPTIONS_CHANGE
-// Tcl Message: INFO: [Vivado 12-5682] Launching behavioral simulation in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [SIM-utils-51] Simulation object is 'sim_1' INFO: [SIM-utils-54] Inspecting design source files for 'aes_tb' in fileset 'sim_1'... INFO: [USF-XSim-97] Finding global include files... INFO: [USF-XSim-98] Fetching design files from 'sim_1'... INFO: [USF-XSim-2] XSim::Compile design INFO: [USF-XSim-61] Executing 'COMPILE and ANALYZE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: LAUNCH_SIM
-// Tcl Message: xvlog --incr --relax -prj aes_tb_vlog.prj INFO: [VRFC 10-2263] Analyzing Verilog file "/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/aes.v" into library xil_defaultlib INFO: [VRFC 10-311] analyzing module aes INFO: [VRFC 10-311] analyzing module aes_core INFO: [VRFC 10-311] analyzing module aes_decipher_block INFO: [VRFC 10-311] analyzing module aes_inv_sbox INFO: [VRFC 10-311] analyzing module aes_key_mem INFO: [VRFC 10-311] analyzing module aes_sbox INFO: [VRFC 10-311] analyzing module aes_encipher_block INFO: [VRFC 10-2263] Analyzing Verilog file "/home/egoncu/workspace/project_1/project_1.srcs/sim_1/new/tb.v" into library xil_defaultlib INFO: [VRFC 10-311] analyzing module aes_tb 
-// Tcl Message: INFO: [USF-XSim-69] 'compile' step finished in '1' seconds INFO: [Vivado 12-5682] Launching behavioral simulation in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [USF-XSim-3] XSim::Elaborate design INFO: [USF-XSim-61] Executing 'ELABORATE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: INFO: [USF-XSim-69] 'elaborate' step finished in '2' seconds 
-// Tcl Message: Vivado Simulator 2018.3 
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_MODEL_ABOUT_TO_CLOSE
-// [Engine Memory]: 1,595 MB (+1422kb) [03:23:42]
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_MODEL_RELOADED
-// TclEventType: SIMULATION_DELETE_ALL_BREAKPOINTS
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_SCOPE_TREE
-// TclEventType: SIMULATION_UPDATE_STACKS
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 113 MB. Current time: 3/20/22, 7:23:59 PM EET
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: SIMULATION_OBJECT_TREE_RESTORED
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: Time resolution is 1 ps 
-// 'a' command handler elapsed time: 4 seconds
-dismissDialog("Relaunch Simulation"); // b (cp)
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 79 MB. Current time: 3/20/22, 7:24:05 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 79 MB. Current time: 3/20/22, 7:24:05 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 81 MB. Current time: 3/20/22, 7:24:05 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 81 MB. Current time: 3/20/22, 7:24:05 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 79 MB. Current time: 3/20/22, 7:24:06 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-selectButton(PAResourceCommand.PACommandNames_SIMULATION_LIVE_RUN, "simulation_live_run_for_time"); // B (f, cp)
-// Run Command: PAResourceCommand.PACommandNames_SIMULATION_LIVE_RUN
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 113 MB. Current time: 3/20/22, 7:24:09 PM EET
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: SIMULATION_OBJECT_TREE_RESTORED
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: run 1 us 
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 106 MB. Current time: 3/20/22, 7:24:12 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 74 MB. Current time: 3/20/22, 7:24:12 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 73 MB. Current time: 3/20/22, 7:24:12 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 74 MB. Current time: 3/20/22, 7:24:12 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 74 MB. Current time: 3/20/22, 7:24:12 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 74 MB. Current time: 3/20/22, 7:24:12 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 74 MB. Current time: 3/20/22, 7:24:12 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:24:13 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:24:13 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:24:13 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 72 MB. Current time: 3/20/22, 7:24:14 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:24:14 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:24:14 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 74 MB. Current time: 3/20/22, 7:24:14 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 77 MB. Current time: 3/20/22, 7:24:14 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 85 MB. Current time: 3/20/22, 7:24:15 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 79 MB. Current time: 3/20/22, 7:24:15 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:24:16 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:24:16 PM EET
-selectGraphicalView(RDIResource.RDIViews_WAVEFORM_VIEWER, 347, 251); // n (o, cp)
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 82 MB. Current time: 3/20/22, 7:24:22 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:24:22 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 72 MB. Current time: 3/20/22, 7:24:22 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:24:22 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:24:22 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:24:22 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:24:23 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:24:23 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,673 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:24:23 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,673 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:24:23 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:24:29 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 74 MB. Current time: 3/20/22, 7:24:35 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:24:35 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:24:35 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:24:36 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:24:36 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:24:36 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 72 MB. Current time: 3/20/22, 7:24:37 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:24:37 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:24:37 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:24:37 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:24:37 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 68 MB. Current time: 3/20/22, 7:24:37 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:24:37 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:24:37 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:24:37 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:24:37 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:24:37 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:24:39 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:24:40 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:24:40 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:24:40 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:24:40 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 75 MB. Current time: 3/20/22, 7:24:41 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:24:41 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:24:41 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:24:41 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:24:41 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:24:41 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:24:41 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 75 MB. Current time: 3/20/22, 7:24:42 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 75 MB. Current time: 3/20/22, 7:24:42 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// [Engine Memory]: 1,941 MB (+278466kb) [03:24:26]
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,941 MB. GUI used memory: 73 MB. Current time: 3/20/22, 7:24:42 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,941 MB. GUI used memory: 73 MB. Current time: 3/20/22, 7:24:42 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,941 MB. GUI used memory: 73 MB. Current time: 3/20/22, 7:24:43 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,941 MB. GUI used memory: 75 MB. Current time: 3/20/22, 7:24:46 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:24:49 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:24:50 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:24:51 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 76 MB. Current time: 3/20/22, 7:24:53 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:24:53 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// Elapsed time: 49 seconds
-selectGraphicalView(RDIResource.RDIViews_WAVEFORM_VIEWER, 567, 71); // n (o, cp)
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:25:19 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:25:19 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:25:19 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:25:20 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:25:20 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:25:20 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 75 MB. Current time: 3/20/22, 7:25:20 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 74 MB. Current time: 3/20/22, 7:25:21 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 72 MB. Current time: 3/20/22, 7:25:21 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 72 MB. Current time: 3/20/22, 7:25:21 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,595 MB. GUI used memory: 73 MB. Current time: 3/20/22, 7:25:21 PM EET
-// Elapsed time: 16 seconds
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "tb.v", 1); // k (j, cp)
-selectCodeEditor("tb.v", 46, 277); // cl (w, cp)
-selectCodeEditor("tb.v", 45, 279); // cl (w, cp)
-selectCodeEditor("tb.v", 170, 289, true, false, false, false, false); // cl (w, cp) - Shift Key
-selectCodeEditor("tb.v", 167, 283, true, false, false, false, false); // cl (w, cp) - Shift Key
-typeControlKey((HResource) null, "tb.v", 'c'); // cl (w, cp)
-selectCodeEditor("tb.v", 120, 345); // cl (w, cp)
-typeControlKey((HResource) null, "tb.v", 'v'); // cl (w, cp)
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-selectButton(PAResourceCommand.PACommandNames_SIMULATION_RELAUNCH, "simulation_relaunch"); // B (f, cp)
-// Run Command: PAResourceCommand.PACommandNames_SIMULATION_RELAUNCH
-// b (cp):  Relaunch Simulation : addNotify
-// TclEventType: SIMULATION_MODEL_ABOUT_TO_CLOSE
-// Tcl Message: relaunch_sim 
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_MODEL_RELOADED
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_UPDATE_SCOPE_TREE
-// TclEventType: SIMULATION_UPDATE_STACKS
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: LAUNCH_SIM
-// TclEventType: FILE_SET_OPTIONS_CHANGE
-// Tcl Message: INFO: [Vivado 12-5682] Launching behavioral simulation in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [SIM-utils-51] Simulation object is 'sim_1' INFO: [SIM-utils-54] Inspecting design source files for 'aes_tb' in fileset 'sim_1'... INFO: [USF-XSim-97] Finding global include files... INFO: [USF-XSim-98] Fetching design files from 'sim_1'... INFO: [USF-XSim-2] XSim::Compile design INFO: [USF-XSim-61] Executing 'COMPILE and ANALYZE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: LAUNCH_SIM
-// Tcl Message: xvlog --incr --relax -prj aes_tb_vlog.prj INFO: [VRFC 10-2263] Analyzing Verilog file "/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/aes.v" into library xil_defaultlib INFO: [VRFC 10-311] analyzing module aes INFO: [VRFC 10-311] analyzing module aes_core INFO: [VRFC 10-311] analyzing module aes_decipher_block INFO: [VRFC 10-311] analyzing module aes_inv_sbox INFO: [VRFC 10-311] analyzing module aes_key_mem INFO: [VRFC 10-311] analyzing module aes_sbox INFO: [VRFC 10-311] analyzing module aes_encipher_block INFO: [VRFC 10-2263] Analyzing Verilog file "/home/egoncu/workspace/project_1/project_1.srcs/sim_1/new/tb.v" into library xil_defaultlib INFO: [VRFC 10-311] analyzing module aes_tb 
-// Tcl Message: INFO: [USF-XSim-69] 'compile' step finished in '1' seconds INFO: [Vivado 12-5682] Launching behavioral simulation in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [USF-XSim-3] XSim::Elaborate design INFO: [USF-XSim-61] Executing 'ELABORATE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: INFO: [USF-XSim-69] 'elaborate' step finished in '1' seconds 
-// Tcl Message: Vivado Simulator 2018.3 
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_MODEL_ABOUT_TO_CLOSE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_MODEL_RELOADED
-// TclEventType: SIMULATION_DELETE_ALL_BREAKPOINTS
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_SCOPE_TREE
-// TclEventType: SIMULATION_UPDATE_STACKS
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: SIMULATION_OBJECT_TREE_RESTORED
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: Time resolution is 1 ps 
-// 'a' command handler elapsed time: 4 seconds
-dismissDialog("Relaunch Simulation"); // b (cp)
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "Untitled 4", 2); // k (j, cp)
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 108 MB. Current time: 3/20/22, 7:25:48 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-selectButton(PAResourceCommand.PACommandNames_SIMULATION_LIVE_RUN, "simulation_live_run_for_time"); // B (f, cp)
-// Run Command: PAResourceCommand.PACommandNames_SIMULATION_LIVE_RUN
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: SIMULATION_OBJECT_TREE_RESTORED
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: run 1 us 
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:25:54 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:25:55 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:25:56 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 72 MB. Current time: 3/20/22, 7:25:56 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 75 MB. Current time: 3/20/22, 7:25:56 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 75 MB. Current time: 3/20/22, 7:25:57 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 73 MB. Current time: 3/20/22, 7:25:57 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 73 MB. Current time: 3/20/22, 7:25:57 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 73 MB. Current time: 3/20/22, 7:25:57 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:25:57 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:25:59 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:25:59 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:25:59 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:26:00 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:26:00 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:26:00 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:26:00 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:26:01 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:26:01 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:26:05 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 79 MB. Current time: 3/20/22, 7:26:07 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 72 MB. Current time: 3/20/22, 7:26:07 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 75 MB. Current time: 3/20/22, 7:26:07 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:26:07 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:26:07 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:26:07 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:26:08 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:26:09 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:26:11 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// Elapsed time: 24 seconds
-selectGraphicalView(RDIResource.RDIViews_WAVEFORM_VIEWER, 376, 61); // n (o, cp)
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-selectGraphicalView(RDIResource.RDIViews_WAVEFORM_VIEWER, 500, 80); // n (o, cp)
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 81 MB. Current time: 3/20/22, 7:26:17 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 77 MB. Current time: 3/20/22, 7:26:20 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:26:20 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:26:20 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:26:21 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 68 MB. Current time: 3/20/22, 7:26:25 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:26:25 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:26:25 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:26:25 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 70 MB. Current time: 3/20/22, 7:26:25 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:26:25 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:26:26 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:26:26 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:26:26 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:26:26 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:26:27 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:26:27 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 73 MB. Current time: 3/20/22, 7:26:27 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 75 MB. Current time: 3/20/22, 7:26:27 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:26:27 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 73 MB. Current time: 3/20/22, 7:26:27 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 77 MB. Current time: 3/20/22, 7:26:27 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:26:27 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:26:28 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 75 MB. Current time: 3/20/22, 7:26:28 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 77 MB. Current time: 3/20/22, 7:26:28 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 78 MB. Current time: 3/20/22, 7:26:28 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 76 MB. Current time: 3/20/22, 7:26:28 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 75 MB. Current time: 3/20/22, 7:26:28 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,604 MB. GUI used memory: 80 MB. Current time: 3/20/22, 7:26:29 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,651 MB. GUI used memory: 81 MB. Current time: 3/20/22, 7:26:29 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,651 MB. GUI used memory: 80 MB. Current time: 3/20/22, 7:26:29 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,651 MB. GUI used memory: 81 MB. Current time: 3/20/22, 7:26:29 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,605 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:26:29 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,605 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:26:29 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,605 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:26:29 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,605 MB. GUI used memory: 68 MB. Current time: 3/20/22, 7:26:29 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,605 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:26:29 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,605 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:26:29 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,605 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:26:29 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,605 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:26:29 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,605 MB. GUI used memory: 68 MB. Current time: 3/20/22, 7:26:30 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,605 MB. GUI used memory: 73 MB. Current time: 3/20/22, 7:26:30 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,605 MB. GUI used memory: 71 MB. Current time: 3/20/22, 7:26:30 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,652 MB. GUI used memory: 70 MB. Current time: 3/20/22, 7:26:30 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,605 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:26:32 PM EET
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// HMemoryUtils.trashcanNow. Engine heap size: 1,603 MB. GUI used memory: 67 MB. Current time: 3/20/22, 7:56:36 PM EET
-// HMemoryUtils.trashcanNow. Engine heap size: 1,600 MB. GUI used memory: 66 MB. Current time: 3/20/22, 8:26:36 PM EET
-// HMemoryUtils.trashcanNow. Engine heap size: 1,600 MB. GUI used memory: 66 MB. Current time: 3/20/22, 8:56:36 PM EET
-// Elapsed time: 5708 seconds
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "tb.v", 1); // k (j, cp)
-// HMemoryUtils.trashcanNow. Engine heap size: 1,600 MB. GUI used memory: 67 MB. Current time: 3/20/22, 9:26:36 PM EET
-// HMemoryUtils.trashcanNow. Engine heap size: 1,600 MB. GUI used memory: 66 MB. Current time: 3/20/22, 9:56:36 PM EET
-// HMemoryUtils.trashcanNow. Engine heap size: 1,600 MB. GUI used memory: 66 MB. Current time: 3/20/22, 10:26:36 PM EET
-// HMemoryUtils.trashcanNow. Engine heap size: 1,600 MB. GUI used memory: 66 MB. Current time: 3/20/22, 10:56:36 PM EET
-// HMemoryUtils.trashcanNow. Engine heap size: 1,600 MB. GUI used memory: 67 MB. Current time: 3/20/22, 11:26:36 PM EET
-// HMemoryUtils.trashcanNow. Engine heap size: 1,600 MB. GUI used memory: 67 MB. Current time: 3/20/22, 11:56:36 PM EET
-// Elapsed time: 10824 seconds
-selectTab((HResource) null, (HResource) null, "Sources", 1); // aI (aF, cp)
-selectButton(PAResourceCommand.PACommandNames_ADD_SOURCES, "Sources_add_sources"); // B (f, cp)
-// Run Command: PAResourceCommand.PACommandNames_ADD_SOURCES
-// c (cp): Add Sources: addNotify
-selectRadioButton(PAResourceAtoD.AddSrcWizard_SPECIFY_HDL_NETLIST_BLOCK_DESIGN, "Add or create design sources"); // a (o, c)
-selectButton("NEXT", "Next >"); // JButton (j, c)
-selectButton(PAResourceQtoS.SrcChooserPanel_CREATE_FILE, "Create File"); // a (C, c)
-// F (c): Create Source File: addNotify
-setText(PAResourceAtoD.CreateSrcFileDialog_FILE_NAME, "lfsr"); // Y (Q, F)
-selectButton(RDIResource.BaseDialog_OK, "OK"); // a (F)
-selectButton(RDIResource.BaseDialog_OK, "OK"); // a (F)
-dismissDialog("Create Source File"); // F (c)
-selectButton("FINISH", "Finish"); // JButton (j, c)
-// 'h' command handler elapsed time: 12 seconds
-dismissDialog("Add Sources"); // c (cp)
-// Tcl Message: close [ open /home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/lfsr.v w ] 
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-// Tcl Message: add_files /home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/lfsr.v 
-// I (cp): Define Module: addNotify
-selectButton(RDIResource.BaseDialog_CANCEL, "Cancel"); // a (I)
-selectButton("PAResourceAtoD.DefineModulesDialog_YOU_HAVE_MADE_CHANGES_TO_MODULE_No", "No"); // JButton (C, J)
-selectButton(RDIResource.BaseDialog_CANCEL, "Cancel"); // a (I)
-selectButton("PAResourceAtoD.DefineModulesDialog_YOU_HAVE_MADE_CHANGES_TO_MODULE_Yes", "Yes"); // JButton (C, J)
-dismissDialog("Define Module"); // I (cp)
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-// Tcl Message: update_compile_order -fileset sources_1 
-expandTree(PAResourceEtoH.FileSetPanel_FILE_SET_PANEL_TREE, "[root, Design Sources, Non-module Files]", 1); // B (D, cp)
-selectTree(PAResourceEtoH.FileSetPanel_FILE_SET_PANEL_TREE, "[root, Design Sources, Non-module Files, lfsr.v]", 2, false); // B (D, cp)
-selectTree(PAResourceEtoH.FileSetPanel_FILE_SET_PANEL_TREE, "[root, Design Sources, Non-module Files, lfsr.v]", 2, false, false, false, false, false, true); // B (D, cp) - Double Click
-selectCodeEditor("lfsr.v", 235, 155); // cl (w, cp)
-typeControlKey((HResource) null, "lfsr.v", 'v'); // cl (w, cp)
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-selectButton(PAResourceCommand.PACommandNames_ADD_SOURCES, "Sources_add_sources"); // B (f, cp)
-// Run Command: PAResourceCommand.PACommandNames_ADD_SOURCES
-// c (cp): Add Sources: addNotify
-selectRadioButton(PAResourceAtoD.AddSrcWizard_SPECIFY_SIMULATION_SPECIFIC_HDL_FILES, "Add or create simulation sources"); // a (o, c)
-selectButton("NEXT", "Next >"); // JButton (j, c)
-selectButton(PAResourceQtoS.SrcChooserPanel_CREATE_FILE, "Create File"); // a (C, c)
-// F (c): Create Source File: addNotify
-setText(PAResourceAtoD.CreateSrcFileDialog_FILE_NAME, "tb_lfsr"); // Y (Q, F)
-selectButton(RDIResource.BaseDialog_OK, "OK"); // a (F)
-dismissDialog("Create Source File"); // F (c)
-selectButton("FINISH", "Finish"); // JButton (j, c)
-// 'h' command handler elapsed time: 12 seconds
-// TclEventType: FILE_SET_CHANGE
-dismissDialog("Add Sources"); // c (cp)
-// TclEventType: FILE_SET_OPTIONS_CHANGE
-// Tcl Message: set_property SOURCE_SET sources_1 [get_filesets sim_1] 
-// Tcl Message: close [ open /home/egoncu/workspace/project_1/project_1.srcs/sim_1/new/tb_lfsr.v w ] 
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-// Tcl Message: add_files -fileset sim_1 /home/egoncu/workspace/project_1/project_1.srcs/sim_1/new/tb_lfsr.v 
-// I (cp): Define Module: addNotify
-selectButton(RDIResource.BaseDialog_CANCEL, "Cancel"); // a (I)
-selectButton("PAResourceAtoD.DefineModulesDialog_YOU_HAVE_MADE_CHANGES_TO_MODULE_Yes", "Yes"); // JButton (C, J)
-dismissDialog("Define Module"); // I (cp)
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-// Tcl Message: update_compile_order -fileset sim_1 
-selectTree(PAResourceEtoH.FileSetPanel_FILE_SET_PANEL_TREE, "[root, Design Sources, LFSR (lfsr.v)]", 7, false); // B (D, cp)
-// Elapsed time: 64 seconds
-expandTree(PAResourceEtoH.FileSetPanel_FILE_SET_PANEL_TREE, "[root, Simulation Sources, sim_1, Non-module Files]", 11); // B (D, cp)
-selectTree(PAResourceEtoH.FileSetPanel_FILE_SET_PANEL_TREE, "[root, Simulation Sources, sim_1, Non-module Files, tb_lfsr.v]", 12, false); // B (D, cp)
-selectTree(PAResourceEtoH.FileSetPanel_FILE_SET_PANEL_TREE, "[root, Simulation Sources, sim_1, Non-module Files, tb_lfsr.v]", 12, false); // B (D, cp)
-selectTree(PAResourceEtoH.FileSetPanel_FILE_SET_PANEL_TREE, "[root, Simulation Sources, sim_1, Non-module Files, tb_lfsr.v]", 12, false, false, false, false, false, true); // B (D, cp) - Double Click
-selectCodeEditor("tb_lfsr.v", 307, 158); // cl (w, cp)
-typeControlKey((HResource) null, "tb_lfsr.v", 'v'); // cl (w, cp)
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-selectCodeEditor("tb_lfsr.v", 182, 130); // cl (w, cp)
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-selectCodeEditor("tb_lfsr.v", 591, 420); // cl (w, cp)
-selectTree(PAResourceEtoH.FileSetPanel_FILE_SET_PANEL_TREE, "[root, Simulation Sources, sim_1, LFSR_TB (tb_lfsr.v)]", 12, true); // B (D, cp) - Node
-selectTree(PAResourceEtoH.FileSetPanel_FILE_SET_PANEL_TREE, "[root, Simulation Sources, sim_1, LFSR_TB (tb_lfsr.v)]", 12, true, false, false, false, true, false); // B (D, cp) - Popup Trigger - Node
-selectMenu(PAResourceCommand.PACommandNames_AUTO_UPDATE_HIER, "Hierarchy Update"); // ac (al, cp)
-selectMenu(PAResourceQtoS.SrcMenu_IP_HIERARCHY, "IP Hierarchy"); // ac (al, cp)
-selectMenuItem(PAResourceCommand.PACommandNames_SET_AS_TOP, "Set as Top"); // af (al, cp)
-// Run Command: PAResourceCommand.PACommandNames_SET_AS_TOP
-// TclEventType: FILE_SET_CHANGE
-// TclEventType: FILE_SET_OPTIONS_CHANGE
-// Tcl Message: set_property top LFSR_TB [get_filesets sim_1] 
-// TclEventType: FILE_SET_CHANGE
-// TclEventType: FILE_SET_OPTIONS_CHANGE
-// TclEventType: DG_GRAPH_STALE
-// Tcl Message: set_property top_lib xil_defaultlib [get_filesets sim_1] 
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-// Tcl Message: update_compile_order -fileset sim_1 
-// Elapsed time: 13 seconds
-selectTree(PAResourceEtoH.FlowNavigatorTreePanel_FLOW_NAVIGATOR_TREE, "[, Simulation, Run Simulation]", 10, false); // u (Q, cp)
-selectMenuItem(PAResourceCommand.PACommandNames_SIMULATION_RUN_BEHAVIORAL, "Run Behavioral Simulation"); // af (al, cp)
-// Run Command: PAResourceCommand.PACommandNames_SIMULATION_RUN_BEHAVIORAL
-// e (cp):  Run Simulation : addNotify
-// TclEventType: LAUNCH_SIM
-// TclEventType: FILE_SET_OPTIONS_CHANGE
-// Tcl Message: launch_simulation 
-// Tcl Message: INFO: [Vivado 12-5682] Launching behavioral simulation in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [SIM-utils-51] Simulation object is 'sim_1' INFO: [SIM-utils-54] Inspecting design source files for 'LFSR_TB' in fileset 'sim_1'... INFO: [USF-XSim-97] Finding global include files... INFO: [USF-XSim-98] Fetching design files from 'sim_1'... INFO: [USF-XSim-2] XSim::Compile design INFO: [USF-XSim-61] Executing 'COMPILE and ANALYZE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// Tcl Message: xvlog --incr --relax -prj LFSR_TB_vlog.prj INFO: [VRFC 10-2263] Analyzing Verilog file "/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/lfsr.v" into library xil_defaultlib INFO: [VRFC 10-311] analyzing module LFSR ERROR: [VRFC 10-1214] parameter initial value cannot be omitted in this mode of verilog [/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/lfsr.v:18] ERROR: [VRFC 10-2865] module 'LFSR' ignored due to previous errors [/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/lfsr.v:18] 
-// Tcl Message: INFO: [USF-XSim-69] 'compile' step finished in '1' seconds INFO: [USF-XSim-99] Step results log file:'/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim/xvlog.log' 
-// Tcl Message: ERROR: [USF-XSim-62] 'compile' step failed with error(s). Please check the Tcl console output or '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim/xvlog.log' file for more information. ERROR: [Vivado 12-4473] Detected error while running simulation. Please correct the issue and retry this operation. 
-// Tcl Message: ERROR: [Common 17-39] 'launch_simulation' failed due to earlier errors. 
-// CommandFailedException: ERROR: [Common 17-69] Command failed: ERROR: [Common 17-39] 'launch_simulation' failed due to earlier errors.  
-// HOptionPane Error: 'ERROR: [Common 17-39] 'launch_simulation' failed due to earlier errors.  (Run Simulation)'
-selectButton("RDIResource.ProgressDialog_ERROR_ENCOUNTERED_PLEASE_SEE_TCL_OK", "OK"); // JButton (C, I)
-// a (cp): Critical Messages: addNotify
-selectButton(PAResourceAtoD.CmdMsgDialog_OK, "OK"); // f (a)
-dismissDialog("Critical Messages"); // a (cp)
-// Elapsed time: 10 seconds
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "lfsr.v", 3); // k (j, cp)
-selectCodeEditor("lfsr.v", 226, 270); // cl (w, cp)
-selectCodeEditor("lfsr.v", 225, 260); // cl (w, cp)
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-selectTree(PAResourceEtoH.FlowNavigatorTreePanel_FLOW_NAVIGATOR_TREE, "[, Simulation, Run Simulation]", 10, false); // u (Q, cp)
-selectMenuItem(PAResourceCommand.PACommandNames_SIMULATION_RUN_BEHAVIORAL, "Run Behavioral Simulation"); // af (al, cp)
-// Run Command: PAResourceCommand.PACommandNames_SIMULATION_RUN_BEHAVIORAL
-// e (cp):  Run Simulation : addNotify
-// TclEventType: LAUNCH_SIM
-// TclEventType: FILE_SET_OPTIONS_CHANGE
-// Tcl Message: launch_simulation 
-// Tcl Message: INFO: [Vivado 12-5682] Launching behavioral simulation in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [SIM-utils-51] Simulation object is 'sim_1' INFO: [SIM-utils-54] Inspecting design source files for 'LFSR_TB' in fileset 'sim_1'... INFO: [USF-XSim-97] Finding global include files... INFO: [USF-XSim-98] Fetching design files from 'sim_1'... INFO: [USF-XSim-2] XSim::Compile design INFO: [USF-XSim-61] Executing 'COMPILE and ANALYZE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: LAUNCH_SIM_LOG
-// Tcl Message: xvlog --incr --relax -prj LFSR_TB_vlog.prj INFO: [VRFC 10-2263] Analyzing Verilog file "/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/lfsr.v" into library xil_defaultlib INFO: [VRFC 10-311] analyzing module LFSR INFO: [VRFC 10-2263] Analyzing Verilog file "/home/egoncu/workspace/project_1/project_1.srcs/sim_1/new/tb_lfsr.v" into library xil_defaultlib INFO: [VRFC 10-311] analyzing module LFSR_TB 
-// Tcl Message: INFO: [USF-XSim-69] 'compile' step finished in '1' seconds INFO: [USF-XSim-3] XSim::Elaborate design INFO: [USF-XSim-61] Executing 'ELABORATE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' 
-// TclEventType: LAUNCH_SIM
-// Tcl Message: INFO: [Common 17-206] Exiting Webtalk at Mon Mar 21 00:04:53 2022... 
-// Tcl Message: INFO: [USF-XSim-69] 'elaborate' step finished in '2' seconds INFO: [USF-XSim-4] XSim::Simulate design INFO: [USF-XSim-61] Executing 'SIMULATE' step in '/home/egoncu/workspace/project_1/project_1.sim/sim_1/behav/xsim' INFO: [USF-XSim-98] *** Running xsim 
-// Tcl Message:    with args "LFSR_TB_behav -key {Behavioral:sim_1:Functional:LFSR_TB} -tclbatch {LFSR_TB.tcl} -log {simulate.log}" 
-// Tcl Message: INFO: [USF-XSim-8] Loading simulator feature 
-// Tcl Message: Vivado Simulator 2018.3 
-// TclEventType: SIMULATION_CREATE_SIMULATION_OBJECT
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-// TclEventType: WAVEFORM_UPDATE_TITLE
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-// TclEventType: WAVEFORM_UPDATE_TITLE
-// TclEventType: WAVEFORM_OPEN_WCFG
-// Waveform: addNotify
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: WAVEFORM_UPDATE_TITLE
-// HMemoryUtils.trashcanNow. Engine heap size: 1,755 MB. GUI used memory: 87 MB. Current time: 3/21/22, 12:04:54 AM EET
-// TclEventType: WAVEFORM_UPDATE_TITLE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// TclEventType: SIMULATION_CLEAR_CURRENT_LINE
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: SIMULATION_OBJECT_TREE_RESTORED
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: SIMULATION_UPDATE_LATEST_TIME
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: SIMULATION_CURRENT_SCOPE_CHANGED
-// TclEventType: SIMULATION_CURRENT_STACK_CHANGED
-// TclEventType: SIMULATION_UPDATE_STACK_FRAMES
-// TclEventType: SIMULATION_CURRENT_STACK_FRAME_CHANGED
-// TclEventType: SIMULATION_UPDATE_LOCALS
-// TclEventType: SIMULATION_UPDATE_OBJECT_TREE
-// TclEventType: SIMULATION_UPDATE_SIMULATION_STATE
-// Tcl Message: Time resolution is 1 ps 
-// Tcl Message: source LFSR_TB.tcl 
-// Tcl Message: # set curr_wave [current_wave_config] # if { [string length $curr_wave] == 0 } { #   if { [llength [get_objects]] > 0} { #     add_wave / #     set_property needs_save false [current_wave_config] #   } else { #      send_msg_id Add_Wave-1 WARNING "No top level signals found. Simulator will start without a wave window. If you want to open a wave window go to 'File->New Waveform Configuration' or type 'create_wave_config' in the TCL console." #   } # } # run 1000ns 
-// Tcl Message: INFO: [USF-XSim-96] XSim completed. Design snapshot 'LFSR_TB_behav' loaded. INFO: [USF-XSim-97] XSim simulation ran for 1000ns 
-// 'd' command handler elapsed time: 4 seconds
-dismissDialog("Run Simulation"); // e (cp)
-// TclEventType: WAVEFORM_MODEL_EVENT
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_MODEL_EVENT
-selectGraphicalView(RDIResource.RDIViews_WAVEFORM_VIEWER, 249, 43); // n (o, cp)
-// TclEventType: WAVEFORM_UPDATE_WAVEFORM
-// TclEventType: WAVEFORM_UPDATE_COMMANDS
-collapseTree(PAResourceEtoH.FlowNavigatorTreePanel_FLOW_NAVIGATOR_TREE, "[, RTL Analysis, Open Elaborated Design]", 12); // u (Q, cp)
-expandTree(PAResourceEtoH.FlowNavigatorTreePanel_FLOW_NAVIGATOR_TREE, "[, RTL Analysis, Open Elaborated Design]", 12); // u (Q, cp)
-selectTree(PAResourceEtoH.FlowNavigatorTreePanel_FLOW_NAVIGATOR_TREE, "[, RTL Analysis, Open Elaborated Design, Schematic]", 15, false); // u (Q, cp)
-// A (cp): Elaborate Design: addNotify
-selectButton(RDIResource.BaseDialog_OK, "OK"); // a (A)
-// bx (cp):  Open Elaborated Design : addNotify
-dismissDialog("Elaborate Design"); // A (cp)
-// TclEventType: ELABORATE_START
-// Tcl Message: synth_design -rtl -name rtl_1 
-// Tcl Message: Command: synth_design -rtl -name rtl_1 Starting synth_design Using part: xc7vx485tffg1157-1 Top: aes 
-// TclEventType: ELABORATE_FINISH
-// HMemoryUtils.trashcanNow. Engine heap size: 2,094 MB. GUI used memory: 75 MB. Current time: 3/21/22, 12:05:11 AM EET
-// TclEventType: FLOORPLAN_MODIFY
-// TclEventType: DESIGN_NEW
-// HMemoryUtils.trashcanNow. Engine heap size: 2,351 MB. GUI used memory: 75 MB. Current time: 3/21/22, 12:05:14 AM EET
-// [Engine Memory]: 2,351 MB (+328202kb) [08:04:58]
-// TclEventType: DESIGN_NEW
-// TclEventType: HFED_INIT_ROUTE_STORAGE_COMPLETED
-// [GUI Memory]: 151 MB (+17058kb) [08:04:59]
-// [GUI Memory]: 165 MB (+6614kb) [08:04:59]
-// [Engine Memory]: 2,514 MB (+47508kb) [08:04:59]
-// Schematic: addNotify
-// WARNING: HEventQueue.dispatchEvent() is taking  1768 ms.
-// TclEventType: CURR_DESIGN_SET
-// Tcl Message: --------------------------------------------------------------------------------- 
-// Tcl Message: Starting RTL Elaboration : Time (s): cpu = 00:00:01 ; elapsed = 00:00:02 . Memory (MB): peak = 7156.852 ; gain = 26.445 ; free physical = 820 ; free virtual = 16281 
-// Tcl Message: --------------------------------------------------------------------------------- 
-// Tcl Message: INFO: [Synth 8-6157] synthesizing module 'aes' [/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/aes.v:39] 
-// Tcl Message: INFO: [Synth 8-6157] synthesizing module 'aes_core' [/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/aes.v:313] 
-// Tcl Message: 	Parameter CTRL_IDLE bound to: 2'b00  	Parameter CTRL_INIT bound to: 2'b01  	Parameter CTRL_NEXT bound to: 2'b10  
-// Tcl Message: INFO: [Synth 8-6157] synthesizing module 'aes_encipher_block' [/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/aes.v:2261] 
-// Tcl Message: 	Parameter AES_128_BIT_KEY bound to: 1'b0  	Parameter AES_256_BIT_KEY bound to: 1'b1  	Parameter AES128_ROUNDS bound to: 4'b1010  	Parameter AES256_ROUNDS bound to: 4'b1110  	Parameter NO_UPDATE bound to: 3'b000  	Parameter INIT_UPDATE bound to: 3'b001  	Parameter SBOX_UPDATE bound to: 3'b010  	Parameter MAIN_UPDATE bound to: 3'b011  	Parameter FINAL_UPDATE bound to: 3'b100  	Parameter CTRL_IDLE bound to: 3'b000  	Parameter CTRL_INIT bound to: 3'b001  	Parameter CTRL_SBOX bound to: 3'b010  	Parameter CTRL_MAIN bound to: 3'b011  	Parameter CTRL_FINAL bound to: 3'b100  
-// Tcl Message: INFO: [Synth 8-6155] done synthesizing module 'aes_encipher_block' (1#1) [/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/aes.v:2261] INFO: [Synth 8-6157] synthesizing module 'aes_decipher_block' [/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/aes.v:653] 
-// Tcl Message: 	Parameter AES_128_BIT_KEY bound to: 1'b0  	Parameter AES_256_BIT_KEY bound to: 1'b1  	Parameter AES128_ROUNDS bound to: 4'b1010  	Parameter AES256_ROUNDS bound to: 4'b1110  	Parameter NO_UPDATE bound to: 3'b000  	Parameter INIT_UPDATE bound to: 3'b001  	Parameter SBOX_UPDATE bound to: 3'b010  	Parameter MAIN_UPDATE bound to: 3'b011  	Parameter FINAL_UPDATE bound to: 3'b100  	Parameter CTRL_IDLE bound to: 3'b000  	Parameter CTRL_INIT bound to: 3'b001  	Parameter CTRL_SBOX bound to: 3'b010  	Parameter CTRL_MAIN bound to: 3'b011  	Parameter CTRL_FINAL bound to: 3'b100  
-// Tcl Message: INFO: [Synth 8-6157] synthesizing module 'aes_inv_sbox' [/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/aes.v:1176] INFO: [Synth 8-6155] done synthesizing module 'aes_inv_sbox' (2#1) [/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/aes.v:1176] INFO: [Synth 8-6155] done synthesizing module 'aes_decipher_block' (3#1) [/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/aes.v:653] INFO: [Synth 8-6157] synthesizing module 'aes_key_mem' [/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/aes.v:1502] 
-// Tcl Message: 	Parameter AES_128_BIT_KEY bound to: 1'b0  	Parameter AES_256_BIT_KEY bound to: 1'b1  	Parameter AES_128_NUM_ROUNDS bound to: 10 - type: integer  	Parameter AES_256_NUM_ROUNDS bound to: 14 - type: integer  	Parameter CTRL_IDLE bound to: 3'b000  	Parameter CTRL_INIT bound to: 3'b001  	Parameter CTRL_GENERATE bound to: 3'b010  	Parameter CTRL_DONE bound to: 3'b011  
-// Tcl Message: INFO: [Synth 8-226] default block is never used [/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/aes.v:1695] 
-// Tcl Message: INFO: [Synth 8-6155] done synthesizing module 'aes_key_mem' (4#1) [/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/aes.v:1502] INFO: [Synth 8-6157] synthesizing module 'aes_sbox' [/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/aes.v:1934] INFO: [Synth 8-6155] done synthesizing module 'aes_sbox' (5#1) [/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/aes.v:1934] INFO: [Synth 8-6155] done synthesizing module 'aes_core' (6#1) [/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/aes.v:313] INFO: [Synth 8-6155] done synthesizing module 'aes' (7#1) [/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/aes.v:39] 
-// Tcl Message: --------------------------------------------------------------------------------- 
-// Tcl Message: Finished RTL Elaboration : Time (s): cpu = 00:00:02 ; elapsed = 00:00:03 . Memory (MB): peak = 7210.602 ; gain = 80.195 ; free physical = 815 ; free virtual = 16281 
-// Tcl Message: --------------------------------------------------------------------------------- 
-// Tcl Message:  Report Check Netlist:  +------+------------------+-------+---------+-------+------------------+ |      |Item              |Errors |Warnings |Status |Description       | +------+------------------+-------+---------+-------+------------------+ |1     |multi_driven_nets |      0|        0|Passed |Multi driven nets | +------+------------------+-------+---------+-------+------------------+ --------------------------------------------------------------------------------- Start Handling Custom Attributes --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- 
-// Tcl Message: Finished Handling Custom Attributes : Time (s): cpu = 00:00:03 ; elapsed = 00:00:03 . Memory (MB): peak = 7210.602 ; gain = 80.195 ; free physical = 819 ; free virtual = 16286 
-// Tcl Message: --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- 
-// Tcl Message: Finished RTL Optimization Phase 1 : Time (s): cpu = 00:00:03 ; elapsed = 00:00:03 . Memory (MB): peak = 7210.602 ; gain = 80.195 ; free physical = 819 ; free virtual = 16286 
-// Tcl Message: --------------------------------------------------------------------------------- 
-// Tcl Message: INFO: [Device 21-403] Loading part xc7vx485tffg1157-1 INFO: [Project 1-570] Preparing netlist for logic optimization 
-// Tcl Message:  Processing XDC Constraints Initializing timing engine Completed Processing XDC Constraints  
-// Tcl Message: INFO: [Opt 31-138] Pushed 0 inverter(s) to 0 load pin(s). 
-// Tcl Message: Netlist sorting complete. Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 7718.266 ; gain = 0.000 ; free physical = 317 ; free virtual = 15889 
-// Tcl Message: INFO: [Project 1-111] Unisim Transformation Summary: No Unisim elements were transformed.  
-// Tcl Message: RTL Elaboration Complete:  : Time (s): cpu = 00:00:19 ; elapsed = 00:00:14 . Memory (MB): peak = 7886.691 ; gain = 756.285 ; free physical = 271 ; free virtual = 15712 
-// Tcl Message: 19 Infos, 2 Warnings, 0 Critical Warnings and 0 Errors encountered. synth_design completed successfully 
-// Tcl Message: synth_design: Time (s): cpu = 00:00:19 ; elapsed = 00:00:14 . Memory (MB): peak = 7886.691 ; gain = 756.285 ; free physical = 270 ; free virtual = 15712 
-// Run Command: PAResourceCommand.PACommandNames_SCHEMATIC
-// Schematic: addNotify
-// Elapsed time: 14 seconds
-dismissDialog("Open Elaborated Design"); // bx (cp)
-// Elapsed time: 20 seconds
-selectTab((HResource) null, (HResource) null, "Sources", 0); // aI (aF, cp)
-selectTree(PAResourceEtoH.FileSetPanel_FILE_SET_PANEL_TREE, "[root, Design Sources, LFSR (lfsr.v)]", 7, false); // B (D, cp)
-selectTree(PAResourceEtoH.FileSetPanel_FILE_SET_PANEL_TREE, "[root, Design Sources, LFSR (lfsr.v)]", 7, false, false, false, false, true, false); // B (D, cp) - Popup Trigger
-selectMenu(PAResourceCommand.PACommandNames_AUTO_UPDATE_HIER, "Hierarchy Update"); // ac (al, cp)
-selectMenu(PAResourceQtoS.SrcMenu_IP_HIERARCHY, "IP Hierarchy"); // ac (al, cp)
-selectMenuItem(PAResourceCommand.PACommandNames_SET_AS_TOP, "Set as Top"); // af (al, cp)
-// Run Command: PAResourceCommand.PACommandNames_SET_AS_TOP
-// TclEventType: DESIGN_STALE
-// TclEventType: FILE_SET_CHANGE
-// TclEventType: FILE_SET_OPTIONS_CHANGE
-// TclEventType: DG_GRAPH_STALE
-// Tcl Message: set_property top LFSR [current_fileset] 
-// TclEventType: DG_GRAPH_STALE
-selectButton(PAResourceOtoP.ProjectTab_RELOAD, "Reload"); // h (cQ, cp)
-// bx (cp):  Reloading : addNotify
-// TclEventType: ELABORATE_START
-// Tcl Message: refresh_design 
-// TclEventType: ELABORATE_FAIL
-// Tcl Message: --------------------------------------------------------------------------------- 
-// Tcl Message: Starting RTL Elaboration : Time (s): cpu = 00:00:01 ; elapsed = 00:00:02 . Memory (MB): peak = 7886.691 ; gain = 0.000 ; free physical = 273 ; free virtual = 15678 
-// Tcl Message: --------------------------------------------------------------------------------- 
-// Tcl Message: ERROR: [Synth 8-439] module 'LFSR' not found 
-// Tcl Message: --------------------------------------------------------------------------------- 
-// Tcl Message: Finished RTL Elaboration : Time (s): cpu = 00:00:02 ; elapsed = 00:00:02 . Memory (MB): peak = 7886.691 ; gain = 0.000 ; free physical = 302 ; free virtual = 15707 
-// Tcl Message: --------------------------------------------------------------------------------- 
-// Tcl Message: RTL Elaboration failed ERROR: [Common 17-39] 'refresh_design' failed due to earlier errors. 
-// CommandFailedException: ERROR: [Common 17-69] Command failed: ERROR: [Common 17-39] 'refresh_design' failed due to earlier errors.  
-// S (cp): Critical Messages: addNotify
-dismissDialog("Reloading"); // bx (cp)
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: DESIGN_STALE
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-// Tcl Message: update_compile_order -fileset sources_1 
-selectButton(PAResourceAtoD.CmdMsgDialog_OK, "OK"); // f (S)
-dismissDialog("Critical Messages"); // S (cp)
-selectButton(PAResourceOtoP.ProjectTab_RELOAD, "Reload"); // h (cQ, cp)
-// bx (cp):  Reloading : addNotify
-// TclEventType: ELABORATE_START
-// Tcl Message: refresh_design 
-// Tcl Message: --------------------------------------------------------------------------------- 
-// Tcl Message: Starting RTL Elaboration : Time (s): cpu = 00:00:01 ; elapsed = 00:00:02 . Memory (MB): peak = 7886.691 ; gain = 0.000 ; free physical = 261 ; free virtual = 15670 
-// Tcl Message: --------------------------------------------------------------------------------- 
-// TclEventType: ELABORATE_FINISH
-// TclEventType: DESIGN_REFRESH
-// HMemoryUtils.trashcanNow. Engine heap size: 2,575 MB. GUI used memory: 109 MB. Current time: 3/21/22, 12:05:58 AM EET
-// Engine heap size: 2,575 MB. GUI used memory: 110 MB. Current time: 3/21/22, 12:05:58 AM EET
-// Tcl Message: INFO: [Synth 8-6157] synthesizing module 'LFSR' [/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/lfsr.v:18] 
-// Tcl Message: 	Parameter NUM_BITS bound to: 32 - type: integer  
-// Tcl Message: INFO: [Synth 8-6155] done synthesizing module 'LFSR' (1#1) [/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/lfsr.v:18] 
-// Tcl Message: --------------------------------------------------------------------------------- 
-// Tcl Message: Finished RTL Elaboration : Time (s): cpu = 00:00:02 ; elapsed = 00:00:02 . Memory (MB): peak = 7886.691 ; gain = 0.000 ; free physical = 276 ; free virtual = 15685 
-// Tcl Message: --------------------------------------------------------------------------------- 
-// Tcl Message:  Report Check Netlist:  +------+------------------+-------+---------+-------+------------------+ |      |Item              |Errors |Warnings |Status |Description       | +------+------------------+-------+---------+-------+------------------+ |1     |multi_driven_nets |      0|        0|Passed |Multi driven nets | +------+------------------+-------+---------+-------+------------------+ --------------------------------------------------------------------------------- Start Handling Custom Attributes --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- 
-// Tcl Message: Finished Handling Custom Attributes : Time (s): cpu = 00:00:02 ; elapsed = 00:00:02 . Memory (MB): peak = 7886.691 ; gain = 0.000 ; free physical = 278 ; free virtual = 15687 
-// Tcl Message: --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- 
-// Tcl Message: Finished RTL Optimization Phase 1 : Time (s): cpu = 00:00:02 ; elapsed = 00:00:02 . Memory (MB): peak = 7886.691 ; gain = 0.000 ; free physical = 278 ; free virtual = 15687 
-// Tcl Message: --------------------------------------------------------------------------------- 
-// TclEventType: FLOORPLAN_MODIFY
-// TclEventType: DESIGN_REFRESH
-// HMemoryUtils.trashcanNow. Engine heap size: 2,516 MB. GUI used memory: 81 MB. Current time: 3/21/22, 12:05:59 AM EET
-// TclEventType: HFED_INIT_ROUTE_STORAGE_COMPLETED
-// Schematic: addNotify
-// Schematic: addNotify
-// [Engine Memory]: 2,722 MB (+86892kb) [08:05:44]
-// WARNING: HEventQueue.dispatchEvent() is taking  1562 ms.
-// Tcl Message: INFO: [Project 1-570] Preparing netlist for logic optimization 
-// Tcl Message:  Processing XDC Constraints Initializing timing engine Completed Processing XDC Constraints  
-// Tcl Message: INFO: [Opt 31-138] Pushed 0 inverter(s) to 0 load pin(s). 
-// Tcl Message: refresh_design: Time (s): cpu = 00:00:07 ; elapsed = 00:00:05 . Memory (MB): peak = 7886.691 ; gain = 0.000 ; free physical = 283 ; free virtual = 15689 
-dismissDialog("Reloading"); // bx (cp)
-// Elapsed time: 86 seconds
-selectTab("PlanAheadTabBaseWorkspace_JideTabbedPane", (HResource) null, "lfsr.v", 4); // k (j, cp)
-// Elapsed time: 13 seconds
-selectCodeEditor("lfsr.v", 267, 292); // cl (w, cp)
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: DESIGN_STALE
-// TclEventType: FILE_SET_CHANGE
-// Elapsed time: 25 seconds
-selectButton(PAResourceOtoP.ProjectTab_RELOAD, "Reload"); // h (cQ, cp)
-// bx (cp):  Reloading : addNotify
-// TclEventType: ELABORATE_START
-// Tcl Message: refresh_design 
-// TclEventType: ELABORATE_FAIL
-// Tcl Message: --------------------------------------------------------------------------------- 
-// Tcl Message: Starting RTL Elaboration : Time (s): cpu = 00:00:01 ; elapsed = 00:00:02 . Memory (MB): peak = 7886.691 ; gain = 0.000 ; free physical = 315 ; free virtual = 15637 
-// Tcl Message: --------------------------------------------------------------------------------- 
-// Tcl Message: INFO: [Synth 8-6157] synthesizing module 'LFSR' [/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/lfsr.v:18] 
-// Tcl Message: 	Parameter NUM_BITS bound to: 32 - type: integer  
-// Tcl Message: ERROR: [Synth 8-524] part-select [30:0] out of range of prefix 'r_LFSR' [/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/lfsr.v:44] ERROR: [Synth 8-6156] failed synthesizing module 'LFSR' [/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/lfsr.v:18] 
-// Tcl Message: --------------------------------------------------------------------------------- 
-// Tcl Message: Finished RTL Elaboration : Time (s): cpu = 00:00:02 ; elapsed = 00:00:02 . Memory (MB): peak = 7886.691 ; gain = 0.000 ; free physical = 329 ; free virtual = 15651 
-// Tcl Message: --------------------------------------------------------------------------------- 
-// Tcl Message: RTL Elaboration failed ERROR: [Common 17-39] 'refresh_design' failed due to earlier errors. 
-// CommandFailedException: ERROR: [Common 17-69] Command failed: ERROR: [Common 17-39] 'refresh_design' failed due to earlier errors.  
-// S (cp): Critical Messages: addNotify
-dismissDialog("Reloading"); // bx (cp)
-selectButton(PAResourceAtoD.CmdMsgDialog_OK, "OK"); // f (S)
-dismissDialog("Critical Messages"); // S (cp)
-// TclEventType: DESIGN_STALE
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-// Elapsed time: 22 seconds
-selectButton(PAResourceOtoP.ProjectTab_RELOAD, "Reload"); // h (cQ, cp)
-// bx (cp):  Reloading : addNotify
-// TclEventType: ELABORATE_START
-// Tcl Message: refresh_design 
-// TclEventType: ELABORATE_FAIL
-// Tcl Message: --------------------------------------------------------------------------------- 
-// Tcl Message: Starting RTL Elaboration : Time (s): cpu = 00:00:01 ; elapsed = 00:00:02 . Memory (MB): peak = 7886.691 ; gain = 0.000 ; free physical = 313 ; free virtual = 15632 
-// Tcl Message: --------------------------------------------------------------------------------- 
-// Tcl Message: INFO: [Synth 8-6157] synthesizing module 'LFSR' [/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/lfsr.v:18] 
-// Tcl Message: 	Parameter NUM_BITS bound to: 32 - type: integer  
-// Tcl Message: ERROR: [Synth 8-524] part-select [30:0] out of range of prefix 'r_LFSR' [/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/lfsr.v:44] ERROR: [Synth 8-6156] failed synthesizing module 'LFSR' [/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/lfsr.v:18] 
-// Tcl Message: --------------------------------------------------------------------------------- 
-// Tcl Message: Finished RTL Elaboration : Time (s): cpu = 00:00:02 ; elapsed = 00:00:02 . Memory (MB): peak = 7886.691 ; gain = 0.000 ; free physical = 327 ; free virtual = 15646 
-// Tcl Message: --------------------------------------------------------------------------------- 
-// Tcl Message: RTL Elaboration failed ERROR: [Common 17-39] 'refresh_design' failed due to earlier errors. 
-// CommandFailedException: ERROR: [Common 17-69] Command failed: ERROR: [Common 17-39] 'refresh_design' failed due to earlier errors.  
-// S (cp): Critical Messages: addNotify
-dismissDialog("Reloading"); // bx (cp)
-selectButton(PAResourceAtoD.CmdMsgDialog_OK, "OK"); // f (S)
-dismissDialog("Critical Messages"); // S (cp)
-// Elapsed time: 88 seconds
-selectCodeEditor("lfsr.v", 261, 292); // cl (w, cp)
-// TclEventType: DESIGN_STALE
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-// [GUI Memory]: 175 MB (+1346kb) [08:10:05]
-selectButton(PAResourceOtoP.ProjectTab_RELOAD, "Reload"); // h (cQ, cp)
-// bx (cp):  Reloading : addNotify
-// TclEventType: ELABORATE_START
-// Tcl Message: refresh_design 
-// TclEventType: ELABORATE_FINISH
-// TclEventType: DESIGN_REFRESH
-// HMemoryUtils.trashcanNow. Engine heap size: 2,672 MB. GUI used memory: 112 MB. Current time: 3/21/22, 12:10:26 AM EET
-// Engine heap size: 2,672 MB. GUI used memory: 112 MB. Current time: 3/21/22, 12:10:26 AM EET
-// Tcl Message: --------------------------------------------------------------------------------- 
-// Tcl Message: Starting RTL Elaboration : Time (s): cpu = 00:00:01 ; elapsed = 00:00:02 . Memory (MB): peak = 7886.691 ; gain = 0.000 ; free physical = 280 ; free virtual = 15599 
-// Tcl Message: --------------------------------------------------------------------------------- 
-// Tcl Message: INFO: [Synth 8-6157] synthesizing module 'LFSR' [/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/lfsr.v:18] 
-// Tcl Message: 	Parameter NUM_BITS bound to: 32 - type: integer  
-// Tcl Message: INFO: [Synth 8-6155] done synthesizing module 'LFSR' (1#1) [/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/lfsr.v:18] 
-// Tcl Message: --------------------------------------------------------------------------------- 
-// Tcl Message: Finished RTL Elaboration : Time (s): cpu = 00:00:02 ; elapsed = 00:00:02 . Memory (MB): peak = 7886.691 ; gain = 0.000 ; free physical = 295 ; free virtual = 15614 
-// Tcl Message: --------------------------------------------------------------------------------- 
-// Tcl Message:  Report Check Netlist:  +------+------------------+-------+---------+-------+------------------+ |      |Item              |Errors |Warnings |Status |Description       | +------+------------------+-------+---------+-------+------------------+ |1     |multi_driven_nets |      0|        0|Passed |Multi driven nets | +------+------------------+-------+---------+-------+------------------+ --------------------------------------------------------------------------------- Start Handling Custom Attributes --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- 
-// Tcl Message: Finished Handling Custom Attributes : Time (s): cpu = 00:00:02 ; elapsed = 00:00:02 . Memory (MB): peak = 7886.691 ; gain = 0.000 ; free physical = 297 ; free virtual = 15616 
-// Tcl Message: --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- 
-// Tcl Message: Finished RTL Optimization Phase 1 : Time (s): cpu = 00:00:02 ; elapsed = 00:00:02 . Memory (MB): peak = 7886.691 ; gain = 0.000 ; free physical = 297 ; free virtual = 15616 
-// Tcl Message: --------------------------------------------------------------------------------- 
-// TclEventType: FLOORPLAN_MODIFY
-// TclEventType: DESIGN_REFRESH
-// HMemoryUtils.trashcanNow. Engine heap size: 2,593 MB. GUI used memory: 83 MB. Current time: 3/21/22, 12:10:27 AM EET
-// TclEventType: HFED_INIT_ROUTE_STORAGE_COMPLETED
-// Schematic: addNotify
-// Schematic: addNotify
-// WARNING: HEventQueue.dispatchEvent() is taking  1464 ms.
-// Tcl Message: INFO: [Project 1-570] Preparing netlist for logic optimization 
-// Tcl Message:  Processing XDC Constraints Initializing timing engine Completed Processing XDC Constraints  
-// Tcl Message: INFO: [Opt 31-138] Pushed 0 inverter(s) to 0 load pin(s). 
-// Tcl Message: refresh_design: Time (s): cpu = 00:00:07 ; elapsed = 00:00:05 . Memory (MB): peak = 7930.230 ; gain = 43.539 ; free physical = 288 ; free virtual = 15608 
-dismissDialog("Reloading"); // bx (cp)
-// Elapsed time: 173 seconds
-selectCodeEditor("lfsr.v", 263, 381); // cl (w, cp)
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: DESIGN_STALE
-// TclEventType: FILE_SET_CHANGE
-// Elapsed time: 12 seconds
-selectButton(PAResourceOtoP.ProjectTab_RELOAD, "Reload"); // h (cQ, cp)
-// bx (cp):  Reloading : addNotify
-// TclEventType: ELABORATE_START
-// Tcl Message: refresh_design 
-// TclEventType: ELABORATE_FAIL
-// Tcl Message: --------------------------------------------------------------------------------- 
-// Tcl Message: Starting RTL Elaboration : Time (s): cpu = 00:00:01 ; elapsed = 00:00:02 . Memory (MB): peak = 7930.230 ; gain = 0.000 ; free physical = 555 ; free virtual = 15690 
-// Tcl Message: --------------------------------------------------------------------------------- 
-// Tcl Message: INFO: [Synth 8-6157] synthesizing module 'LFSR' [/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/lfsr.v:18] 
-// Tcl Message: 	Parameter NUM_BITS bound to: 32 - type: integer  
-// Tcl Message: ERROR: [Synth 8-524] part-select [30:0] out of range of prefix 'r_LFSR' [/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/lfsr.v:44] ERROR: [Synth 8-6156] failed synthesizing module 'LFSR' [/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/lfsr.v:18] 
-// Tcl Message: --------------------------------------------------------------------------------- 
-// Tcl Message: Finished RTL Elaboration : Time (s): cpu = 00:00:02 ; elapsed = 00:00:02 . Memory (MB): peak = 7930.230 ; gain = 0.000 ; free physical = 563 ; free virtual = 15697 
-// Tcl Message: --------------------------------------------------------------------------------- 
-// Tcl Message: RTL Elaboration failed ERROR: [Common 17-39] 'refresh_design' failed due to earlier errors. 
-// CommandFailedException: ERROR: [Common 17-69] Command failed: ERROR: [Common 17-39] 'refresh_design' failed due to earlier errors.  
-// S (cp): Critical Messages: addNotify
-dismissDialog("Reloading"); // bx (cp)
-// Elapsed time: 14 seconds
-dismissDialog("Critical Messages"); // S (cp)
-// Elapsed time: 24 seconds
-selectCodeEditor("lfsr.v", 183, 194); // cl (w, cp)
-// TclEventType: DESIGN_STALE
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-selectButton(PAResourceOtoP.ProjectTab_RELOAD, "Reload"); // h (cQ, cp)
-// bx (cp):  Reloading : addNotify
-// TclEventType: ELABORATE_START
-// Tcl Message: refresh_design 
-// Tcl Message: --------------------------------------------------------------------------------- 
-// Tcl Message: Starting RTL Elaboration : Time (s): cpu = 00:00:01 ; elapsed = 00:00:02 . Memory (MB): peak = 7930.230 ; gain = 0.000 ; free physical = 538 ; free virtual = 15672 
-// Tcl Message: --------------------------------------------------------------------------------- 
-// TclEventType: ELABORATE_FAIL
-// Tcl Message: INFO: [Synth 8-6157] synthesizing module 'LFSR' [/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/lfsr.v:18] 
-// Tcl Message: 	Parameter NUM_BITS bound to: 32 - type: integer  
-// Tcl Message: ERROR: [Synth 8-524] part-select [30:0] out of range of prefix 'r_LFSR' [/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/lfsr.v:44] ERROR: [Synth 8-6156] failed synthesizing module 'LFSR' [/home/egoncu/workspace/project_1/project_1.srcs/sources_1/new/lfsr.v:18] 
-// Tcl Message: --------------------------------------------------------------------------------- 
-// Tcl Message: Finished RTL Elaboration : Time (s): cpu = 00:00:02 ; elapsed = 00:00:02 . Memory (MB): peak = 7930.230 ; gain = 0.000 ; free physical = 549 ; free virtual = 15683 
-// Tcl Message: --------------------------------------------------------------------------------- 
-// Tcl Message: RTL Elaboration failed ERROR: [Common 17-39] 'refresh_design' failed due to earlier errors. 
-// CommandFailedException: ERROR: [Common 17-69] Command failed: ERROR: [Common 17-39] 'refresh_design' failed due to earlier errors.  
-// S (cp): Critical Messages: addNotify
-dismissDialog("Reloading"); // bx (cp)
-selectButton(PAResourceAtoD.CmdMsgDialog_OK, "OK"); // f (S)
-selectCodeEditor("lfsr.v", 231, 423); // cl (w, cp)
-dismissDialog("Critical Messages"); // S (cp)
-// Elapsed time: 108 seconds
-selectCodeEditor("lfsr.v", 63, 336); // cl (w, cp)
-selectCodeEditor("lfsr.v", 264, 354); // cl (w, cp)
-// TclEventType: DESIGN_STALE
-// TclEventType: DG_GRAPH_STALE
-// TclEventType: FILE_SET_CHANGE
-// HMemoryUtils.trashcanNow. Engine heap size: 2,744 MB. GUI used memory: 115 MB. Current time: 3/21/22, 12:40:32 AM EET
