diff options
Diffstat (limited to 'src/tb')
-rw-r--r-- | src/tb/tb_keywrap.v | 53 | ||||
-rw-r--r-- | src/tb/tb_keywrap_core.v | 4 |
2 files changed, 55 insertions, 2 deletions
diff --git a/src/tb/tb_keywrap.v b/src/tb/tb_keywrap.v index 82a827c..d0800fa 100644 --- a/src/tb/tb_keywrap.v +++ b/src/tb/tb_keywrap.v @@ -1236,6 +1236,12 @@ module tb_keywrap(); read_word(ADDR_STATUS); $display("Status register: 0x%032b", read_data); + $display("Contents of the API key registers:"); + $display("0x%04x 0x%04x 0x%04x 0x%04x", + dut.key_reg[0], dut.key_reg[1], dut.key_reg[2], dut.key_reg[3]); + $display("0x%04x 0x%04x 0x%04x 0x%04x", + dut.key_reg[4], dut.key_reg[5], dut.key_reg[6], dut.key_reg[7]); + // Display contents in one of the key expansion registers $display("Contents in key_mem[2]: 0x%016x", dut.core.aes.keymem.key_mem[2]); @@ -1262,6 +1268,12 @@ module tb_keywrap(); $display("Contents in key_mem[2] after timeout: 0x%016x", dut.core.aes.keymem.key_mem[2]); + $display("Contents of the API key registers:"); + $display("0x%04x 0x%04x 0x%04x 0x%04x", + dut.key_reg[0], dut.key_reg[1], dut.key_reg[2], dut.key_reg[3]); + $display("0x%04x 0x%04x 0x%04x 0x%04x", + dut.key_reg[4], dut.key_reg[5], dut.key_reg[6], dut.key_reg[7]); + if (dut.core.aes.keymem.key_mem[2] != 128'h62636363626363636263636362636363) begin error_ctr = error_ctr + 1; @@ -1367,6 +1379,13 @@ module tb_keywrap(); dut.core.key_timeout_ctr_reg); read_word(ADDR_STATUS); $display("Status register: 0x%032b", read_data); + + $display("Contents of the API key registers:"); + $display("0x%04x 0x%04x 0x%04x 0x%04x", + dut.key_reg[0], dut.key_reg[1], dut.key_reg[2], dut.key_reg[3]); + $display("0x%04x 0x%04x 0x%04x 0x%04x", + dut.key_reg[4], dut.key_reg[5], dut.key_reg[6], dut.key_reg[7]); + $display("Contents of the key_mem[2]: 0x%016x", dut.core.aes.keymem.key_mem[2]); @@ -1392,9 +1411,23 @@ module tb_keywrap(); #(40 * CLK_PERIOD); read_word(ADDR_STATUS); $display("Status register: 0x%032b", read_data); + + $display("Contents of the API key registers:"); + $display("0x%04x 0x%04x 0x%04x 0x%04x", + dut.key_reg[0], dut.key_reg[1], dut.key_reg[2], dut.key_reg[3]); + $display("0x%04x 0x%04x 0x%04x 0x%04x", + dut.key_reg[4], dut.key_reg[5], dut.key_reg[6], dut.key_reg[7]); + $display("Contents of the key_mem[2]: 0x%016x", dut.core.aes.keymem.key_mem[2]); + if (dut.core.aes.keymem.key_mem[2] != 128'h62636363626363636263636362636363) + begin + error_ctr = error_ctr + 1; + $display("Error. Contents in key_mem[2]: 0x%016x, expected 0x62636363626363636263636362636363", + dut.core.aes.keymem.key_mem[2]); + end + $display("** TC test_zeroise2 END.\n"); end endtask // test_zeroise2 @@ -1430,7 +1463,6 @@ module tb_keywrap(); // Initialize the AES engine (to expand the key). // Wait for init to complete. - // Note, not actually needed to wait. We can write R data during init. $display("* Initializing."); write_word(ADDR_CTRL, 32'h00000001); #(2 * CLK_PERIOD); @@ -1441,6 +1473,12 @@ module tb_keywrap(); read_word(ADDR_STATUS); $display("Status register: 0b%032b", read_data); + $display("Contents of the API key registers:"); + $display("0x%04x 0x%04x 0x%04x 0x%04x", + dut.key_reg[0], dut.key_reg[1], dut.key_reg[2], dut.key_reg[3]); + $display("0x%04x 0x%04x 0x%04x 0x%04x", + dut.key_reg[4], dut.key_reg[5], dut.key_reg[6], dut.key_reg[7]); + // Display contents in key expansion register 2. $display("Contents of the key_mem[2] after init: 0x%016x", dut.core.aes.keymem.key_mem[2]); @@ -1457,10 +1495,23 @@ module tb_keywrap(); read_word(ADDR_STATUS); $display("Status register: 0x%032b", read_data); + $display("Contents of the API key registers:"); + $display("0x%04x 0x%04x 0x%04x 0x%04x", + dut.key_reg[0], dut.key_reg[1], dut.key_reg[2], dut.key_reg[3]); + $display("0x%04x 0x%04x 0x%04x 0x%04x", + dut.key_reg[4], dut.key_reg[5], dut.key_reg[6], dut.key_reg[7]); + // Display contents in key expansion register 2. $display("Contents of the key_mem[2] after zeroisation: 0x%016x", dut.core.aes.keymem.key_mem[2]); + if (dut.core.aes.keymem.key_mem[2] != 128'h62636363626363636263636362636363) + begin + error_ctr = error_ctr + 1; + $display("Error. Contents in key_mem[2]: 0x%016x, expected 0x62636363626363636263636362636363", + dut.core.aes.keymem.key_mem[2]); + end + $display("** TC test_zerois3 END.\n"); end endtask // test_zeroise3 diff --git a/src/tb/tb_keywrap_core.v b/src/tb/tb_keywrap_core.v index 7f9c42d..6ec76be 100644 --- a/src/tb/tb_keywrap_core.v +++ b/src/tb/tb_keywrap_core.v @@ -71,6 +71,7 @@ module tb_keywrap_core(); reg [31 : 0] tb_timeout; reg tb_ping; reg tb_zeroise; + wire tb_dut_timeout; reg [(RLEN_BITS - 1) : 0] tb_rlen; reg [255 : 0] tb_key; reg tb_keylen; @@ -98,9 +99,10 @@ module tb_keywrap_core(); .valid(tb_valid), .loaded(tb_loaded), - .timeout(tb_timeout), + .timeout_delay(tb_timeout), .ping(tb_ping), .zeroise(tb_zeroise), + .timeout(tb_dut_timeout), .rlen(tb_rlen), .key(tb_key), |