From 3f0ead9d4e21d709643b8979e6ff8a833298ed60 Mon Sep 17 00:00:00 2001 From: Noah Boorstin Date: Mon, 19 Apr 2021 03:25:15 -0400 Subject: [PATCH] yay buildroot passes a decent amount of tests now gets through the first 15k instructions, that's good enough for now also slight change to string parsing in busybear testbench --- wally-pipelined/config/busybear/wally-config.vh | 2 +- wally-pipelined/testbench/testbench-busybear.sv | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/wally-pipelined/config/busybear/wally-config.vh b/wally-pipelined/config/busybear/wally-config.vh index 0800a0ca..da706a83 100644 --- a/wally-pipelined/config/busybear/wally-config.vh +++ b/wally-pipelined/config/busybear/wally-config.vh @@ -27,7 +27,7 @@ `define BUILDROOT 0 `define BUSYBEAR 1 `define BUSYBEAR_FIX_READ {'h10000005} -`define BUSYBEAR_TEST_VECTORS "/courses/e190ax/busybear_boot_new/" +`define BUSYBEAR_TEST_VECTORS "/courses/e190ax/busybear_boot/" // RV32 or RV64: XLEN = 32 or 64 `define XLEN 64 diff --git a/wally-pipelined/testbench/testbench-busybear.sv b/wally-pipelined/testbench/testbench-busybear.sv index 53d4fca7..25c21747 100644 --- a/wally-pipelined/testbench/testbench-busybear.sv +++ b/wally-pipelined/testbench/testbench-busybear.sv @@ -373,9 +373,10 @@ module testbench_busybear(); `ERROR end scan_file_PCW = $fscanf(data_file_PCW, "%s\n", PCtextW); - if (PCtextW != "ret" && PCtextW != "fence" && PCtextW != "nop" && PCtextW != "mret" && PCtextW != "sfence.vma" && PCtextW != "unimp") begin - scan_file_PC = $fscanf(data_file_PCW, "%s\n", PCtext2W); + PCtext2W = ""; + while (PCtext2W != "***") begin PCtextW = {PCtextW, " ", PCtext2W}; + scan_file_PC = $fscanf(data_file_PCW, "%s\n", PCtext2W); end scan_file_PCW = $fscanf(data_file_PCW, "%x\n", InstrWExpected); // then expected PC value @@ -429,9 +430,10 @@ module testbench_busybear(); `ERROR end scan_file_PC = $fscanf(data_file_PC, "%s\n", PCtext); - if (PCtext != "ret" && PCtext != "fence" && PCtext != "nop" && PCtext != "mret" && PCtext != "sfence.vma" && PCtext != "unimp") begin - scan_file_PC = $fscanf(data_file_PC, "%s\n", PCtext2); + PCtext2 = ""; + while (PCtext2 != "***") begin PCtext = {PCtext, " ", PCtext2}; + scan_file_PC = $fscanf(data_file_PC, "%s\n", PCtext2); end scan_file_PC = $fscanf(data_file_PC, "%x\n", CheckInstrD); if(dut.hart.ifu.PCD === pcExpected) begin