diff options
author | Joachim StroĢmbergson <joachim@secworks.se> | 2018-05-21 15:49:06 +0200 |
---|---|---|
committer | Joachim StroĢmbergson <joachim@secworks.se> | 2018-05-21 15:49:06 +0200 |
commit | 0286e465ee438cfe1abdb4fd374de19b2572a06a (patch) | |
tree | ade166d5a9e5eea1082bced7db4c95954cf2e671 /src | |
parent | e389761d61a5616add66ce2dacd0f13feb68d1e1 (diff) |
Adding task to wait for ready to be set. This allows us to measure the number of cycles spent doing operations.
Diffstat (limited to 'src')
-rw-r--r-- | src/tb/tb_aes.v | 23 |
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) |