From bd6f2444cdbd9a055a818b6e21006a82a8cc158b Mon Sep 17 00:00:00 2001 From: David Harris Date: Fri, 26 Aug 2022 22:01:25 -0700 Subject: [PATCH] Fixed address decoder hanging buildroot --- pipelined/config/rv32ic/wally-config.vh | 4 ++-- pipelined/regression/sim-wally-batch | 2 +- pipelined/regression/wally-pipelined-batch.do | 2 +- pipelined/src/mmu/adrdecs.sv | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pipelined/config/rv32ic/wally-config.vh b/pipelined/config/rv32ic/wally-config.vh index e6d1a87a..d865623d 100644 --- a/pipelined/config/rv32ic/wally-config.vh +++ b/pipelined/config/rv32ic/wally-config.vh @@ -87,10 +87,10 @@ // Range should be a thermometer code with 0's in the upper bits and 1s in the lower bits `define DTIM_SUPPORTED 1'b1 `define DTIM_BASE 34'h80000000 -`define DTIM_RANGE 34'h7FFFFFFF +`define DTIM_RANGE 34'h007FFFFF `define IROM_SUPPORTED 1'b1 `define IROM_BASE 34'h80000000 -`define IROM_RANGE 34'h7FFFFFFF +`define IROM_RANGE 34'h007FFFFF `define BOOTROM_SUPPORTED 1'b0 `define BOOTROM_BASE 34'h00001000 `define BOOTROM_RANGE 34'h00000FFF diff --git a/pipelined/regression/sim-wally-batch b/pipelined/regression/sim-wally-batch index 7afcadb2..afaf935c 100755 --- a/pipelined/regression/sim-wally-batch +++ b/pipelined/regression/sim-wally-batch @@ -1 +1 @@ -vsim -c -do "do wally-pipelined-batch.do rv64gc arch64d" +vsim -c -do "do wally-pipelined-batch.do rv32ic arch32i" diff --git a/pipelined/regression/wally-pipelined-batch.do b/pipelined/regression/wally-pipelined-batch.do index eed0295b..d36a95ee 100644 --- a/pipelined/regression/wally-pipelined-batch.do +++ b/pipelined/regression/wally-pipelined-batch.do @@ -36,7 +36,7 @@ if {$2 eq "buildroot" || $2 eq "buildroot-checkpoint"} { vlog -lint -work wkdir/work_${1}_${2} +incdir+../config/$1 +incdir+../config/shared ../testbench/testbench-linux.sv ../testbench/common/*.sv ../src/*/*.sv ../src/*/*/*.sv -suppress 2583 # start and run simulation vopt wkdir/work_${1}_${2}.testbench -work wkdir/work_${1}_${2} -G RISCV_DIR=$3 -G INSTR_LIMIT=$4 -G INSTR_WAVEON=$5 -G CHECKPOINT=$6 -o testbenchopt - vsim -lib wkdir/work_${1}_${2} testbenchopt -suppress 8852,12070,3084 -fatal 7 + vsim -lib wkdir/work_${1}_${2} testbenchopt -suppress 8852,12070,3084,3691 -fatal 7 run -all run -all diff --git a/pipelined/src/mmu/adrdecs.sv b/pipelined/src/mmu/adrdecs.sv index 038b426d..9fd462fc 100644 --- a/pipelined/src/mmu/adrdecs.sv +++ b/pipelined/src/mmu/adrdecs.sv @@ -52,7 +52,7 @@ module adrdecs ( adrdec iromdec(PhysicalAddress, `IROM_BASE, `IROM_RANGE, `IROM_SUPPORTED, AccessRX, Size, SUPPORTED_SIZE, SelRegions[1]); adrdec dtimdec(PhysicalAddress, `DTIM_BASE, `DTIM_RANGE, `DTIM_SUPPORTED, AccessRWX, Size, SUPPORTED_SIZE, SelRegions[0]); - assign SelRegions[10] = ~|(SelRegions[7:0]); // none of the regions are selected + assign SelRegions[10] = ~|(SelRegions[9:0]); // none of the regions are selected endmodule