aboutsummaryrefslogtreecommitdiff
path: root/spike_main
diff options
context:
space:
mode:
authorChih-Min Chao <chihmin.chao@sifive.com>2019-06-06 01:54:38 -0700
committerChih-Min Chao <chihmin.chao@sifive.com>2019-06-14 07:36:45 -0700
commit004649e9e5d71d0a3ebb1e4d70711999aca91cbf (patch)
treed4992148a971eaa5fa295599fcf726c8eb69722c /spike_main
parent3d7c84220971c6b1aee6e28779c8ebc71276d26a (diff)
downloadriscv-isa-sim-004649e9e5d71d0a3ebb1e4d70711999aca91cbf.zip
riscv-isa-sim-004649e9e5d71d0a3ebb1e4d70711999aca91cbf.tar.gz
riscv-isa-sim-004649e9e5d71d0a3ebb1e4d70711999aca91cbf.tar.bz2
rvv: add configuration and command-line option
1. configure option "--with-varch" the option defines the default u-arch implementatiton-decided parameter VLEN: vector register length in bit SLEN: striping distance in bit ELEN: max element size in bit ex: --with-vector=v128:e32:s128 2. add __int128_t type checking 3. add --varch command option and help message ex: --varch=v512:e64:s512 Signed-off-by: Dave Wen <dave.wen@sifive.com>
Diffstat (limited to 'spike_main')
-rw-r--r--spike_main/spike.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/spike_main/spike.cc b/spike_main/spike.cc
index c047211..5da6210 100644
--- a/spike_main/spike.cc
+++ b/spike_main/spike.cc
@@ -29,6 +29,7 @@ static void help(int exit_code = 1)
fprintf(stderr, " -h, --help Print this help message\n");
fprintf(stderr, " -H Start halted, allowing a debugger to connect\n");
fprintf(stderr, " --isa=<name> RISC-V ISA string [default %s]\n", DEFAULT_ISA);
+ fprintf(stderr, " --varch=<name> RISC-V Vector uArch string [default %s]\n", DEFAULT_VARCH);
fprintf(stderr, " --pc=<address> Override ELF entry point\n");
fprintf(stderr, " --hartids=<a,b,...> Explicitly specify hartids, default is 0,1,...\n");
fprintf(stderr, " --ic=<S>:<W>:<B> Instantiate a cache model with S sets,\n");
@@ -109,6 +110,7 @@ int main(int argc, char** argv)
bool log_cache = false;
std::function<extension_t*()> extension;
const char* isa = DEFAULT_ISA;
+ const char* varch = DEFAULT_VARCH;
uint16_t rbb_port = 0;
bool use_rbb = false;
unsigned dmi_rti = 0;
@@ -153,6 +155,7 @@ int main(int argc, char** argv)
parser.option(0, "l2", 1, [&](const char* s){l2.reset(cache_sim_t::construct(s, "L2$"));});
parser.option(0, "log-cache-miss", 0, [&](const char* s){log_cache = true;});
parser.option(0, "isa", 1, [&](const char* s){isa = s;});
+ parser.option(0, "varch", 1, [&](const char* s){varch = s;});
parser.option(0, "extension", 1, [&](const char* s){extension = find_extension(s);});
parser.option(0, "dump-dts", 0, [&](const char *s){dump_dts = true;});
parser.option(0, "disable-dtb", 0, [&](const char *s){dtb_enabled = false;});