From bdc6e6712f23e0457912b7bc0f226f9aed8d5ffc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joachim=20Stro=CC=88mbergson?= Date: Tue, 3 Jul 2018 09:10:31 +0200 Subject: Added first tasks to test api write and core read. Everything works as expected. --- src/tb/tb_keywrap_mem.v | 54 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/src/tb/tb_keywrap_mem.v b/src/tb/tb_keywrap_mem.v index 6e4a056..726e638 100644 --- a/src/tb/tb_keywrap_mem.v +++ b/src/tb/tb_keywrap_mem.v @@ -45,6 +45,9 @@ module tb_keywrap_mem(); parameter CLK_HALF_PERIOD = 1; parameter CLK_PERIOD = 2 * CLK_HALF_PERIOD; + parameter API_ADDR_MAX = 2**14 - 1; + parameter CORE_ADDR_MAX = 2**13 - 1; + //---------------------------------------------------------------- // Variables, regs and wires. @@ -116,10 +119,60 @@ module tb_keywrap_mem(); begin cycle_ctr = 0; tb_clk = 0; + + tb_api_we = 0; + tb_api_addr = 14'h0; + tb_api_wr_data = 32'h0; + tb_core_we = 0; + tb_core_addr = 13'h0; + tb_core_wr_data = 64'h0; + + #(CLK_PERIOD); end endtask // init_sim + + //---------------------------------------------------------------- + // dump_mem; + //---------------------------------------------------------------- + task dump_mem; + begin : dump_mem + + reg [12 : 0] addr_ctr; + + for (addr_ctr = 0 ; addr_ctr < CORE_ADDR_MAX ; addr_ctr = addr_ctr + 1) + begin + tb_core_addr = addr_ctr; + #(CLK_PERIOD); + $display("core_mem [0x%04x] = 0x%016x", addr_ctr, tb_core_rd_data); + end + end + endtask // dump_mem + + + //---------------------------------------------------------------- + // test_api_write; + //---------------------------------------------------------------- + task test_api_write; + begin : test_api_write + reg [13 : 0] addr_ctr; + + for (addr_ctr = 0 ; addr_ctr < API_ADDR_MAX ; addr_ctr = addr_ctr + 1) + begin + tb_api_we = 1; + tb_api_addr = addr_ctr; + tb_api_wr_data = {2'h0, addr_ctr, 2'h0, addr_ctr}; + #(CLK_PERIOD); + tb_api_we = 0; + end + + #(CLK_PERIOD); + dump_mem(); + end + endtask // api_write + + //---------------------------------------------------------------- // main //---------------------------------------------------------------- @@ -130,6 +183,7 @@ module tb_keywrap_mem(); $display(""); init_sim(); + test_api_write(); $display(""); $display("*** Keywrap memory simulation done. ***"); -- cgit v1.2.3