diff --git a/wally-pipelined/config/rv32ic/wally-config.vh b/wally-pipelined/config/rv32ic/wally-config.vh index 41285cfa1..17daa5722 100644 --- a/wally-pipelined/config/rv32ic/wally-config.vh +++ b/wally-pipelined/config/rv32ic/wally-config.vh @@ -85,7 +85,7 @@ // Test modes // Tie GPIO outputs back to inputs -`define GPIO_LOOPBACK_TEST 0 +`define GPIO_LOOPBACK_TEST 1 // Busybear special CSR config to match OVPSim `define OVPSIM_CSR_CONFIG 0 diff --git a/wally-pipelined/regression/wave-dos/peripheral-waves.do b/wally-pipelined/regression/wave-dos/peripheral-waves.do index 257e85f58..6f268a512 100644 --- a/wally-pipelined/regression/wave-dos/peripheral-waves.do +++ b/wally-pipelined/regression/wave-dos/peripheral-waves.do @@ -10,7 +10,6 @@ add wave /testbench/reset add wave -divider add wave /testbench/dut/hart/DataStall -add wave /testbench/dut/hart/InstrStall add wave /testbench/dut/hart/StallF add wave /testbench/dut/hart/StallD add wave /testbench/dut/hart/StallE diff --git a/wally-pipelined/src/ebu/ahblite.sv b/wally-pipelined/src/ebu/ahblite.sv index 23ae2eb65..378a5c78e 100644 --- a/wally-pipelined/src/ebu/ahblite.sv +++ b/wally-pipelined/src/ebu/ahblite.sv @@ -31,7 +31,7 @@ `include "wally-config.vh" package ahbliteState; - typedef enum {IDLE, MEMREAD, MEMWRITE, INSTRREAD, INSTRREADC, ATOMICREAD, ATOMICWRITE, MMUTRANSLATE} statetype; + typedef enum {IDLE, MEMREAD, MEMWRITE, INSTRREAD, ATOMICREAD, ATOMICWRITE, MMUTRANSLATE} statetype; endpackage module ahblite ( @@ -127,7 +127,7 @@ module ahblite ( else if (InstrReadF) NextBusState = INSTRREAD; else NextBusState = IDLE; MEMREAD: if (~HREADY) NextBusState = MEMREAD; - else if (InstrReadF) NextBusState = INSTRREADC; + else if (InstrReadF) NextBusState = INSTRREAD; else NextBusState = IDLE; MEMWRITE: if (~HREADY) NextBusState = MEMWRITE; else if (InstrReadF) NextBusState = INSTRREAD; @@ -135,8 +135,6 @@ module ahblite ( INSTRREAD: if (~HREADY) NextBusState = INSTRREAD; else NextBusState = IDLE; // if (InstrReadF still high) - INSTRREADC: if (~HREADY) NextBusState = INSTRREADC; // "C" for "competing", meaning please don't mess up the memread in the W stage. - else NextBusState = IDLE; default: NextBusState = IDLE; endcase @@ -147,12 +145,12 @@ module ahblite ( (NextBusState == ATOMICREAD) || (NextBusState == ATOMICWRITE) || MMUStall); - assign #1 InstrStall = ((NextBusState == INSTRREAD) || (NextBusState == INSTRREADC) || - MMUStall); + //assign #1 InstrStall = ((NextBusState == INSTRREAD) || (NextBusState == INSTRREADC) || + // MMUStall); // Determine access type (important for determining whether to fault) assign Atomic = ((NextBusState == ATOMICREAD) || (NextBusState == ATOMICWRITE)); - assign Execute = ((NextBusState == INSTRREAD) || (NextBusState == INSTRREADC)); + assign Execute = ((NextBusState == INSTRREAD)); assign Write = ((NextBusState == MEMWRITE) || (NextBusState == ATOMICWRITE)); assign Read = ((NextBusState == MEMREAD) || (NextBusState == ATOMICREAD) || (NextBusState == MMUTRANSLATE)); @@ -187,7 +185,7 @@ module ahblite ( assign MMUReady = (BusState == MMUTRANSLATE && NextBusState == IDLE); assign InstrRData = HRDATA; - assign InstrAckF = (BusState == INSTRREAD) && (NextBusState != INSTRREAD) || (BusState == INSTRREADC) && (NextBusState != INSTRREADC); + assign InstrAckF = (BusState == INSTRREAD) && (NextBusState != INSTRREAD); assign MemAckW = (BusState == MEMREAD) && (NextBusState != MEMREAD) || (BusState == MEMWRITE) && (NextBusState != MEMWRITE) || ((BusState == ATOMICREAD) && (NextBusState != ATOMICREAD)) || ((BusState == ATOMICWRITE) && (NextBusState != ATOMICWRITE)); assign MMUReadPTE = HRDATA; diff --git a/wally-pipelined/src/fpu/compressors.sv b/wally-pipelined/src/fpu/compressors.sv index 0c2bece86..1e975e43c 100644 --- a/wally-pipelined/src/fpu/compressors.sv +++ b/wally-pipelined/src/fpu/compressors.sv @@ -1,90 +1,93 @@ -module add3comp2(a, b, c, carry, sum); -///////////////////////////////////////////////////////////////////////////// -//look into diffrent implementations of the compressors? +// //***breaks lint with warnings like: %Warning-UNOPTFLAT: Example path: src/fpu/compressors.sv:37: ASSIGNW +// //%Warning-UNOPTFLAT: Example path: src/fpu/compressors.sv:32: wallypipelinedsoc.hart.fpu.fma1.multiply.genblk5[0].add4.cout + +// module add3comp2(a, b, c, carry, sum); +// ///////////////////////////////////////////////////////////////////////////// +// //look into diffrent implementations of the compressors? - parameter BITS = 4; - input logic [BITS-1:0] a; - input logic [BITS-1:0] b; - input logic [BITS-1:0] c; - output logic [BITS-1:0] carry; - output logic [BITS-1:0] sum; - genvar i; +// parameter BITS = 4; +// input logic [BITS-1:0] a; +// input logic [BITS-1:0] b; +// input logic [BITS-1:0] c; +// output logic [BITS-1:0] carry; +// output logic [BITS-1:0] sum; +// genvar i; - generate - for(i= 0; i