forked from Github_Repos/cvw
		
	Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
This commit is contained in:
		
						commit
						0dd61a57da
					
				@ -9,5 +9,7 @@ make all:
 | 
			
		||||
	make -C ../../tests/wally-riscv-arch-test/ XLEN=32 
 | 
			
		||||
	exe2memfile.pl ../../tests/wally-riscv-arch-test/work/*/*/*.elf
 | 
			
		||||
 | 
			
		||||
	# *** add optional imperas tests
 | 
			
		||||
 | 
			
		||||
	# Link Linux test vectors (fix this later***)
 | 
			
		||||
	#cd ../../tests/linux-testgen/linux-testvectors/;./tvLinker.sh
 | 
			
		||||
 | 
			
		||||
@ -51,7 +51,7 @@ tc = TestCase(
 | 
			
		||||
      grepstr="400100000 instructions")
 | 
			
		||||
configs.append(tc)
 | 
			
		||||
 | 
			
		||||
tests64gc = ["arch64i", "arch64priv", "arch64c",  "arch64m", "arch64d", "imperas64i", "imperas64f", "imperas64d", "imperas64p", "imperas64m", "imperas64a",  "imperas64c", "wally64priv", "imperas64mmu"] # "wally64i", #,  "testsBP64"] 
 | 
			
		||||
tests64gc = ["arch64i", "arch64priv", "arch64c",  "arch64m", "arch64d", "imperas64i", "imperas64f", "imperas64d", "imperas64p", "imperas64m", "imperas64a",  "imperas64c", "wally64priv"] # , "imperas64mmu" "wally64i", #,  "testsBP64"] 
 | 
			
		||||
for test in tests64gc:
 | 
			
		||||
  tc = TestCase(
 | 
			
		||||
        name=test,
 | 
			
		||||
@ -59,7 +59,7 @@ for test in tests64gc:
 | 
			
		||||
        cmd="vsim > {} -c <<!\ndo wally-pipelined-batch.do rv64gc "+test+"\n!",
 | 
			
		||||
        grepstr="All tests ran without failures")
 | 
			
		||||
  configs.append(tc)
 | 
			
		||||
tests32gc = ["arch32i", "arch32priv", "arch32c",  "arch32m", "arch32f", "imperas32i", "imperas32f", "imperas32p", "imperas32m", "imperas32a",  "imperas32c", "wally32priv", "imperas32mmu"]  #"wally32i", 
 | 
			
		||||
tests32gc = ["arch32i", "arch32priv", "arch32c",  "arch32m", "arch32f", "imperas32i", "imperas32f", "imperas32p", "imperas32m", "imperas32a",  "imperas32c", "wally32priv"]  #, "imperas32mmu""wally32i", 
 | 
			
		||||
for test in tests32gc:
 | 
			
		||||
  tc = TestCase(
 | 
			
		||||
        name=test,
 | 
			
		||||
 | 
			
		||||
@ -1,10 +0,0 @@
 | 
			
		||||
module logging(
 | 
			
		||||
  input logic clk, reset,
 | 
			
		||||
  input logic [31:0] HADDR,
 | 
			
		||||
  input logic [1:0]  HTRANS);
 | 
			
		||||
 | 
			
		||||
  always @(posedge clk)
 | 
			
		||||
    if (HTRANS != 2'b00 & HADDR == 0)
 | 
			
		||||
      $display("%t Warning: access to memory address 0\n", $realtime);
 | 
			
		||||
endmodule
 | 
			
		||||
 | 
			
		||||
@ -71,7 +71,6 @@ logic [3:0] dummy;
 | 
			
		||||
 | 
			
		||||
  // check assertions for a legal configuration
 | 
			
		||||
  riscvassertions riscvassertions();
 | 
			
		||||
  logging logging(clk, reset, dut.uncore.HADDR, dut.uncore.HTRANS);
 | 
			
		||||
 | 
			
		||||
  // pick tests based on modes supported
 | 
			
		||||
  initial begin
 | 
			
		||||
@ -88,7 +87,7 @@ logic [3:0] dummy;
 | 
			
		||||
        "arch64d":      if (`D_SUPPORTED) tests = arch64d;
 | 
			
		||||
        "imperas64i":                     tests = imperas64i;
 | 
			
		||||
        "imperas64p":                     tests = imperas64p;
 | 
			
		||||
        "imperas64mmu": if (`MEM_VIRTMEM) tests = imperas64mmu;
 | 
			
		||||
//        "imperas64mmu": if (`MEM_VIRTMEM) tests = imperas64mmu;
 | 
			
		||||
        "imperas64f":   if (`F_SUPPORTED) tests = imperas64f;
 | 
			
		||||
        "imperas64d":   if (`D_SUPPORTED) tests = imperas64d;
 | 
			
		||||
        "imperas64m":   if (`M_SUPPORTED) tests = imperas64m;
 | 
			
		||||
@ -111,7 +110,7 @@ logic [3:0] dummy;
 | 
			
		||||
        "arch32f":      if (`F_SUPPORTED) tests = arch32f;
 | 
			
		||||
        "imperas32i":                     tests = imperas32i;
 | 
			
		||||
        "imperas32p":                     tests = imperas32p;
 | 
			
		||||
        "imperas32mmu": if (`MEM_VIRTMEM) tests = imperas32mmu;
 | 
			
		||||
//        "imperas32mmu": if (`MEM_VIRTMEM) tests = imperas32mmu;
 | 
			
		||||
        "imperas32f":   if (`F_SUPPORTED) tests = imperas32f;
 | 
			
		||||
        "imperas32m":   if (`M_SUPPORTED) tests = imperas32m;
 | 
			
		||||
        "imperas32a":   if (`A_SUPPORTED) tests = imperas32a;
 | 
			
		||||
 | 
			
		||||
@ -36,6 +36,7 @@ string tvpaths[] = '{
 | 
			
		||||
    "../../tests/imperas-riscv-tests/work/"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
  // *** make sure these are somewhere
 | 
			
		||||
  string imperas64a[] = '{
 | 
			
		||||
    `MYIMPERASTEST,
 | 
			
		||||
    "rv64a/WALLY-AMO", "2110",
 | 
			
		||||
@ -48,7 +49,7 @@ string tvpaths[] = '{
 | 
			
		||||
    "rv32a/WALLY-LRSC", "2110"
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  string imperas32mmu[] = '{
 | 
			
		||||
/*  string imperas32mmu[] = '{
 | 
			
		||||
    `MYIMPERASTEST, 
 | 
			
		||||
    "rv32mmu/WALLY-MMU-SV32", "3000",
 | 
			
		||||
    "rv32mmu/WALLY-PMP", "3000"
 | 
			
		||||
@ -61,7 +62,7 @@ string tvpaths[] = '{
 | 
			
		||||
    "rv64mmu/WALLY-MMU-SV39", "3000",
 | 
			
		||||
    "rv64mmu/WALLY-PMP", "3000"
 | 
			
		||||
    //"rv64mmu/WALLY-PMA", "3000"
 | 
			
		||||
  };
 | 
			
		||||
  }; */
 | 
			
		||||
 | 
			
		||||
  // *** restore CSR tests from Imperas old
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user