aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoachim StroĢˆmbergson <joachim@secworks.se>2018-05-21 15:49:06 +0200
committerJoachim StroĢˆmbergson <joachim@secworks.se>2018-05-21 15:49:06 +0200
commit0286e465ee438cfe1abdb4fd374de19b2572a06a (patch)
treeade166d5a9e5eea1082bced7db4c95954cf2e671
parente389761d61a5616add66ce2dacd0f13feb68d1e1 (diff)
Adding task to wait for ready to be set. This allows us to measure the number of cycles spent doing operations.
-rw-r--r--src/tb/tb_aes.v23
1 files changed, 21 insertions, 2 deletions
diff --git a/src/tb/tb_aes.v b/src/tb/tb_aes.v
index 188a21a..9fdb601 100644
--- a/src/tb/tb_aes.v
+++ b/src/tb/tb_aes.v
@@ -305,6 +305,24 @@ module tb_aes();
end
endtask // read_word
+ //----------------------------------------------------------------
+ // wait_ready
+ //
+ // Wait for the DUT to signal that the result is ready
+ //----------------------------------------------------------------
+ task wait_ready;
+ begin : wait_ready
+ reg rdy;
+ rdy = 0;
+
+ while (rdy != 1)
+ begin
+ read_word(ADDR_STATUS);
+ rdy = tb_read_data[0];
+ end
+ end
+ endtask // wait_ready
+
//----------------------------------------------------------------
// read_result()
@@ -386,8 +404,9 @@ module tb_aes();
write_word(ADDR_CONFIG, (8'h00 + (key_length << 1)+ encdec));
write_word(ADDR_CTRL, 8'h02);
- #(100 * CLK_PERIOD);
-
+ wait_ready();
+ $display("*** Ready has been set!");
+ dump_dut_state();
read_result();
if (result_data == expected)