xiangshan.py (4a8a734e58e2469a23b631ed5ab41474c59ec5a1) | xiangshan.py (453674e016566fa721fbe46c1cb35f5db2e7eff8) |
---|---|
1#*************************************************************************************** 2# Copyright (c) 2020-2021 Institute of Computing Technology, Chinese Academy of Sciences 3# Copyright (c) 2020-2021 Peng Cheng Laboratory 4# 5# XiangShan is licensed under Mulan PSL v2. 6# You can use this software according to the terms and conditions of the Mulan PSL v2. 7# You may obtain a copy of Mulan PSL v2 at: 8# http://license.coscl.org.cn/MulanPSL2 --- 65 unchanged lines hidden (view full) --- 74 self.threads = args.threads 75 self.with_dramsim3 = 1 if args.with_dramsim3 else None 76 self.is_release = 1 if args.release else None 77 self.is_spike = "Spike" if args.spike else None 78 self.trace = 1 if args.trace or not args.disable_fork and not args.trace_fst else None 79 self.trace_fst = "fst" if args.trace_fst else None 80 self.config = args.config 81 self.is_mfc = 1 if args.mfc else None | 1#*************************************************************************************** 2# Copyright (c) 2020-2021 Institute of Computing Technology, Chinese Academy of Sciences 3# Copyright (c) 2020-2021 Peng Cheng Laboratory 4# 5# XiangShan is licensed under Mulan PSL v2. 6# You can use this software according to the terms and conditions of the Mulan PSL v2. 7# You may obtain a copy of Mulan PSL v2 at: 8# http://license.coscl.org.cn/MulanPSL2 --- 65 unchanged lines hidden (view full) --- 74 self.threads = args.threads 75 self.with_dramsim3 = 1 if args.with_dramsim3 else None 76 self.is_release = 1 if args.release else None 77 self.is_spike = "Spike" if args.spike else None 78 self.trace = 1 if args.trace or not args.disable_fork and not args.trace_fst else None 79 self.trace_fst = "fst" if args.trace_fst else None 80 self.config = args.config 81 self.is_mfc = 1 if args.mfc else None |
82 self.emu_optimize = args.emu_optimize |
|
82 # emu arguments 83 self.max_instr = args.max_instr 84 self.ram_size = args.ram_size 85 self.seed = random.randint(0, 9999) 86 self.numa = args.numa 87 self.diff = args.diff 88 if args.spike and "nemu" in args.diff: 89 self.diff = self.diff.replace("nemu-interpreter", "spike") --- 31 unchanged lines hidden (view full) --- 121 (self.threads, "EMU_THREADS"), 122 (self.with_dramsim3, "WITH_DRAMSIM3"), 123 (self.is_release, "RELEASE"), 124 (self.is_spike, "REF"), 125 (self.trace, "EMU_TRACE"), 126 (self.trace_fst, "EMU_TRACE"), 127 (self.config, "CONFIG"), 128 (self.num_cores, "NUM_CORES"), | 83 # emu arguments 84 self.max_instr = args.max_instr 85 self.ram_size = args.ram_size 86 self.seed = random.randint(0, 9999) 87 self.numa = args.numa 88 self.diff = args.diff 89 if args.spike and "nemu" in args.diff: 90 self.diff = self.diff.replace("nemu-interpreter", "spike") --- 31 unchanged lines hidden (view full) --- 122 (self.threads, "EMU_THREADS"), 123 (self.with_dramsim3, "WITH_DRAMSIM3"), 124 (self.is_release, "RELEASE"), 125 (self.is_spike, "REF"), 126 (self.trace, "EMU_TRACE"), 127 (self.trace_fst, "EMU_TRACE"), 128 (self.config, "CONFIG"), 129 (self.num_cores, "NUM_CORES"), |
129 (self.is_mfc, "MFC") | 130 (self.is_mfc, "MFC"), 131 (self.emu_optimize, "EMU_OPTIMIZE") |
130 ] 131 args = filter(lambda arg: arg[0] is not None, makefile_args) 132 return args 133 134 def get_emu_args(self): 135 emu_args = [ 136 (self.max_instr, "max-instr"), 137 (self.diff, "diff"), --- 347 unchanged lines hidden (view full) --- 485 parser.add_argument('--release', action='store_true', help='enable release') 486 parser.add_argument('--spike', action='store_true', help='enable spike diff') 487 parser.add_argument('--with-dramsim3', action='store_true', help='enable dramsim3') 488 parser.add_argument('--threads', nargs='?', type=int, help='number of emu threads') 489 parser.add_argument('--trace', action='store_true', help='enable vcd waveform') 490 parser.add_argument('--trace-fst', action='store_true', help='enable fst waveform') 491 parser.add_argument('--config', nargs='?', type=str, help='config') 492 parser.add_argument('--mfc', action='store_true', help='use mfc') | 132 ] 133 args = filter(lambda arg: arg[0] is not None, makefile_args) 134 return args 135 136 def get_emu_args(self): 137 emu_args = [ 138 (self.max_instr, "max-instr"), 139 (self.diff, "diff"), --- 347 unchanged lines hidden (view full) --- 487 parser.add_argument('--release', action='store_true', help='enable release') 488 parser.add_argument('--spike', action='store_true', help='enable spike diff') 489 parser.add_argument('--with-dramsim3', action='store_true', help='enable dramsim3') 490 parser.add_argument('--threads', nargs='?', type=int, help='number of emu threads') 491 parser.add_argument('--trace', action='store_true', help='enable vcd waveform') 492 parser.add_argument('--trace-fst', action='store_true', help='enable fst waveform') 493 parser.add_argument('--config', nargs='?', type=str, help='config') 494 parser.add_argument('--mfc', action='store_true', help='use mfc') |
495 parser.add_argument('--emu-optimize', nargs='?', type=str, help='verilator optimization letter') |
|
493 # emu arguments 494 parser.add_argument('--numa', action='store_true', help='use numactl') 495 parser.add_argument('--diff', nargs='?', default="./ready-to-run/riscv64-nemu-interpreter-so", type=str, help='nemu so') 496 parser.add_argument('--max-instr', nargs='?', type=int, help='max instr') 497 parser.add_argument('--disable-fork', action='store_true', help='disable lightSSS') 498 parser.add_argument('--no-diff', action='store_true', help='disable difftest') 499 parser.add_argument('--ram-size', nargs='?', type=str, help='manually set simulation memory size (8GB by default)') 500 parser.add_argument('--no-db', action='store_true', help='disable chiseldb dump') 501 502 args = parser.parse_args() 503 504 xs = XiangShan(args) 505 ret = xs.run(args) 506 507 sys.exit(ret) | 496 # emu arguments 497 parser.add_argument('--numa', action='store_true', help='use numactl') 498 parser.add_argument('--diff', nargs='?', default="./ready-to-run/riscv64-nemu-interpreter-so", type=str, help='nemu so') 499 parser.add_argument('--max-instr', nargs='?', type=int, help='max instr') 500 parser.add_argument('--disable-fork', action='store_true', help='disable lightSSS') 501 parser.add_argument('--no-diff', action='store_true', help='disable difftest') 502 parser.add_argument('--ram-size', nargs='?', type=str, help='manually set simulation memory size (8GB by default)') 503 parser.add_argument('--no-db', action='store_true', help='disable chiseldb dump') 504 505 args = parser.parse_args() 506 507 xs = XiangShan(args) 508 ret = xs.run(args) 509 510 sys.exit(ret) |