update to new isa; disable vector tests
This commit is contained in:
		
							
								
								
									
										22
									
								
								Makefrag
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								Makefrag
									
									
									
									
									
								
							| @@ -20,8 +20,6 @@ src_path = src/main/scala | ||||
|  | ||||
| tstdir = $(base_dir)/riscv-tests/isa | ||||
| asm_p_tests = \ | ||||
| 	rv64si-pm-ipi \ | ||||
| 	rv64ui-pm-lrsc \ | ||||
| 	rv64ui-p-add \ | ||||
| 	rv64ui-p-addi \ | ||||
| 	rv64ui-p-amoadd_d \ | ||||
| @@ -30,6 +28,8 @@ asm_p_tests = \ | ||||
| 	rv64ui-p-amoand_w \ | ||||
| 	rv64ui-p-amoor_d \ | ||||
| 	rv64ui-p-amoor_w \ | ||||
| 	rv64ui-p-amoxor_d \ | ||||
| 	rv64ui-p-amoxor_w \ | ||||
| 	rv64ui-p-amoswap_d \ | ||||
| 	rv64ui-p-amoswap_w \ | ||||
| 	rv64ui-p-amomax_d \ | ||||
| @@ -63,8 +63,6 @@ asm_p_tests = \ | ||||
| 	rv64ui-p-j \ | ||||
| 	rv64ui-p-jal \ | ||||
| 	rv64ui-p-jalr \ | ||||
| 	rv64ui-p-jalr_j \ | ||||
| 	rv64ui-p-jalr_r \ | ||||
| 	rv64ui-p-lb \ | ||||
| 	rv64ui-p-lbu \ | ||||
| 	rv64ui-p-ld \ | ||||
| @@ -113,6 +111,8 @@ asm_p_tests = \ | ||||
| 	rv64uf-p-fmin \ | ||||
| 	rv64uf-p-fmadd \ | ||||
| 	rv64uf-p-structural \ | ||||
| 	rv64si-pm-ipi \ | ||||
| 	rv64ui-pm-lrsc \ | ||||
|  | ||||
| asm_v_tests = \ | ||||
| 	rv64ui-v-add \ | ||||
| @@ -123,6 +123,8 @@ asm_v_tests = \ | ||||
| 	rv64ui-v-amoand_w \ | ||||
| 	rv64ui-v-amoor_d \ | ||||
| 	rv64ui-v-amoor_w \ | ||||
| 	rv64ui-v-amoxor_d \ | ||||
| 	rv64ui-v-amoxor_w \ | ||||
| 	rv64ui-v-amoswap_d \ | ||||
| 	rv64ui-v-amoswap_w \ | ||||
| 	rv64ui-v-amomax_d \ | ||||
| @@ -156,8 +158,6 @@ asm_v_tests = \ | ||||
| 	rv64ui-v-j \ | ||||
| 	rv64ui-v-jal \ | ||||
| 	rv64ui-v-jalr \ | ||||
| 	rv64ui-v-jalr_j \ | ||||
| 	rv64ui-v-jalr_r \ | ||||
| 	rv64ui-v-lb \ | ||||
| 	rv64ui-v-lbu \ | ||||
| 	rv64ui-v-ld \ | ||||
| @@ -503,11 +503,11 @@ bmarks = \ | ||||
| 	dgemm.riscv \ | ||||
| 	dhrystone.riscv \ | ||||
| 	spmv.riscv \ | ||||
| 	vec-vvadd.riscv \ | ||||
| 	vec-cmplxmult.riscv \ | ||||
| 	vec-matmul.riscv \ | ||||
| 	mt-vvadd.riscv \ | ||||
| 	mt-matmul.riscv \ | ||||
| 	#vec-vvadd.riscv \ | ||||
| 	#vec-cmplxmult.riscv \ | ||||
| 	#vec-matmul.riscv \ | ||||
| 	#mt-vvadd.riscv \ | ||||
| 	#mt-matmul.riscv \ | ||||
|  | ||||
| vec_bmarkdir = $(base_dir)/../../riscv-app/misc/build | ||||
| vec_bmarks = \ | ||||
|   | ||||
| @@ -125,13 +125,6 @@ int main(int argc, char** argv) | ||||
|       tile.Top__io_host_out_ready = LIT<1>(1); | ||||
|     } | ||||
|  | ||||
|    | ||||
|     if (tile.Top__io_debug_error_mode.lo_word()) | ||||
|     { | ||||
|       failure = "entered error mode"; | ||||
|       break; | ||||
|     } | ||||
|  | ||||
|     if (log) | ||||
|       tile.print(stderr); | ||||
|  | ||||
|   | ||||
| @@ -106,6 +106,6 @@ run-bmarks-test-debug: $(addprefix output/, $(addsuffix .vpd, $(bmarks))) | ||||
| run-mt-tests-debug: $(addprefix output/, $(addsuffix .vpd, $(mt_bmarks))) | ||||
| 	@echo; perl -ne 'print "  [$$1] $$ARGV \t$$2\n" if /\*{3}(.{8})\*{3}(.*)/' $(patsubst %.vpd,%.out,$^); echo; | ||||
|  | ||||
| run: run-asm-tests run-vecasm-tests run-vecasm-timer-tests run-bmarks-test | ||||
| run-debug: run-asm-tests-debug run-vecasm-tests-debug run-vecasm-timer-tests-debug run-bmarks-test-debug | ||||
| run: run-asm-tests run-bmarks-test #run-vecasm-tests run-vecasm-timer-tests | ||||
| run-debug: run-asm-tests-debug run-bmarks-test-debug #run-vecasm-tests-debug run-vecasm-timer-tests-debug | ||||
| run-fast: $(addprefix output/, $(addsuffix .run, $(asm_p_tests) $(asm_v_tests) $(bmarks))) | ||||
|   | ||||
 Submodule riscv-tests updated: c31d7c5eb4...728924ea6d
									
								
							
							
								
								
									
										2
									
								
								rocket
									
									
									
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								rocket
									
									
									
									
									
								
							 Submodule rocket updated: b239d7f9ad...9b3b586bbb
									
								
							| @@ -145,7 +145,6 @@ class Uncore(htif_width: Int, tileList: Seq[ClientCoherenceAgent])(implicit conf | ||||
| { | ||||
|   implicit val tl = conf.tl | ||||
|   val io = new Bundle { | ||||
|     val debug = new DebugIO() | ||||
|     val host = new HostIO(htif_width) | ||||
|     val mem = new ioMem | ||||
|     val tiles = Vec.fill(conf.nTiles){new TileLinkIO}.flip | ||||
| @@ -212,7 +211,6 @@ class Uncore(htif_width: Int, tileList: Seq[ClientCoherenceAgent])(implicit conf | ||||
| } | ||||
|  | ||||
| class TopIO(htifWidth: Int) extends Bundle  { | ||||
|   val debug   = new DebugIO | ||||
|   val host    = new HostIO(htifWidth) | ||||
|   val mem     = new ioMem | ||||
| } | ||||
| @@ -259,7 +257,6 @@ class Top extends Module { | ||||
|   val tileList = (0 until uc.nTiles).map(r => Module(new Tile(resetSignal = resetSigs(r))(rc))) | ||||
|   val uncore = Module(new Uncore(HTIF_WIDTH, tileList)) | ||||
|  | ||||
|   var error_mode = Bool(false) | ||||
|   for (i <- 0 until uc.nTiles) { | ||||
|     val hl = uncore.io.htif(i) | ||||
|     val tl = uncore.io.tiles(i) | ||||
| @@ -270,11 +267,11 @@ class Top extends Module { | ||||
|     tile.io.tilelink <> tl | ||||
|     il := hl.reset | ||||
|     tile.io.host.reset := Reg(next=Reg(next=hl.reset)) | ||||
|     tile.io.host.pcr_req <> Queue(hl.pcr_req) | ||||
|     hl.pcr_rep <> Queue(tile.io.host.pcr_rep) | ||||
|     hl.ipi_req <> Queue(tile.io.host.ipi_req) | ||||
|     tile.io.host.ipi_rep <> Queue(hl.ipi_rep) | ||||
|     error_mode = error_mode || Reg(next=tile.io.host.debug.error_mode) | ||||
|     tile.io.host.pcr_req <> Queue(hl.pcr_req, 1) | ||||
|     tile.io.host.id := i | ||||
|     hl.pcr_rep <> Queue(tile.io.host.pcr_rep, 1) | ||||
|     hl.ipi_req <> Queue(tile.io.host.ipi_req, 1) | ||||
|     tile.io.host.ipi_rep <> Queue(hl.ipi_rep, 1) | ||||
|   } | ||||
|  | ||||
|   io.host <> uncore.io.host | ||||
| @@ -286,5 +283,4 @@ class Top extends Module { | ||||
|  | ||||
|   io.mem_backup_en <> uncore.io.mem_backup_en | ||||
|   io.mem <> uncore.io.mem | ||||
|   io.debug.error_mode := error_mode | ||||
| } | ||||
|   | ||||
| @@ -39,7 +39,6 @@ class FPGAUncore(htif_width: Int, tileList: Seq[ClientCoherenceAgent])(implicit | ||||
| { | ||||
|   implicit val (tl, ln) = (conf.tl, conf.tl.ln) | ||||
|   val io = new Bundle { | ||||
|     val debug = new DebugIO() | ||||
|     val host = new HostIO(htif_width) | ||||
|     val mem = new ioMem | ||||
|     val tiles = Vec.fill(conf.nTiles){new TileLinkIO}.flip | ||||
| @@ -103,7 +102,6 @@ class FPGATop extends Module { | ||||
|   val tileList = (0 until uc.nTiles).map(r => Module(new Tile(resetSignal = resetSigs(r))(rc))) | ||||
|   val uncore = Module(new FPGAUncore(htif_width, tileList)) | ||||
|  | ||||
|   io.debug.error_mode := Bool(false) | ||||
|   for (i <- 0 until uc.nTiles) { | ||||
|     val hl = uncore.io.htif(i) | ||||
|     val tl = uncore.io.tiles(i) | ||||
| @@ -114,13 +112,12 @@ class FPGATop extends Module { | ||||
|  | ||||
|     tile.io.tilelink <> tl | ||||
|     il := hl.reset | ||||
|     tile.io.host.id := UInt(i) | ||||
|     tile.io.host.reset := Reg(next=Reg(next=hl.reset)) | ||||
|     tile.io.host.pcr_req <> Queue(hl.pcr_req) | ||||
|     hl.pcr_rep <> Queue(tile.io.host.pcr_rep) | ||||
|     hl.ipi_req <> Queue(tile.io.host.ipi_req) | ||||
|     tile.io.host.ipi_rep <> Queue(hl.ipi_rep) | ||||
|  | ||||
|     when (tile.io.host.debug.error_mode) { io.debug.error_mode := Bool(true) } | ||||
|   } | ||||
|  | ||||
|   io.host <> uncore.io.host | ||||
| @@ -144,7 +141,7 @@ class Slave extends AXISlave | ||||
|   val memw = top.io.mem.resp.bits.data.getWidth | ||||
|   val htifw = top.io.host.in.bits.getWidth | ||||
|    | ||||
|   val n = 4 // htif, mem req/read data, mem write data, error mode | ||||
|   val n = 4 | ||||
|   def wen(i: Int) = io.in.valid && io.addr(log2Up(n)-1,0) === UInt(i) | ||||
|   def ren(i: Int) = io.out.ready && io.addr(log2Up(n)-1,0) === UInt(i) | ||||
|   val rdata = Vec.fill(n){Bits(width = dw)} | ||||
| @@ -201,8 +198,8 @@ class Slave extends AXISlave | ||||
|   rvalid(2) := top.io.mem.req_data.valid | ||||
|   when (ren(2) && rvalid(2)) { out_count := out_count + UInt(1) } | ||||
|  | ||||
|   // read cr3 -> error mode (nonblocking) | ||||
|   rdata(3) := Cat(top.io.mem.req_cmd.valid, tagq.io.enq.ready, top.io.debug.error_mode) | ||||
|   // read cr3 -> debug signals (nonblocking) | ||||
|   rdata(3) := Cat(top.io.mem.req_cmd.valid, tagq.io.enq.ready) | ||||
|   rvalid(3) := Bool(true) | ||||
|  | ||||
|   // writes to cr2, cr3 ignored | ||||
|   | ||||
							
								
								
									
										2
									
								
								uncore
									
									
									
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								uncore
									
									
									
									
									
								
							 Submodule uncore updated: 0cc26c501e...3dd49c34aa
									
								
							
		Reference in New Issue
	
	Block a user