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)