Set block size to 1kB. Block size is set via plusarg +dlen=NNN

This commit is contained in:
Nikolay Puzanov
2023-06-15 23:08:50 +03:00
parent 7e96777b89
commit 7afbe06799
15 changed files with 212 additions and 94 deletions

View File

@@ -1,9 +1,11 @@
`timescale 1ps/1ps
module testbench (input clock);
localparam CPU_COUNT = 1024;
localparam DATA_ADDR = 32'h00010000;
localparam DATA_LEN = 1024;
logic [31:0] data_len;
logic [CPU_COUNT-1:0] done_all;
for (genvar ncpu = 0; ncpu < CPU_COUNT; ncpu = ncpu + 1) begin : cpus
@@ -15,12 +17,20 @@ module testbench (input clock);
assign done_all[ncpu] = done;
md5calculator cpu(.clock, .reset, .done, .md5);
md5calculator cpu
(.clock, .reset, .done,
.md5_data_addr(DATA_ADDR),
.md5_data_len(data_len),
.md5(md5));
initial
for (int n = 0; n < (2 ** (cpu.rom.ADDR_WIDTH-2)); n += 1)
cpu.rom.ram[n] = ncpu;
initial
if(!$value$plusargs("dlen=%d", data_len))
data_len = DATA_LEN;
initial begin
reset = 1'b1;
repeat($urandom % 5 + 2) @(posedge clock);
@@ -36,7 +46,6 @@ module testbench (input clock);
initial begin
$display("--- BENCH BEGIN ---");
repeat(5) @(posedge clock);
while ((&done_all) == 1'b0) @(posedge clock);
@(posedge clock);