The Spike simulator is a functional simulator for the RISCV instruction
set. The RISCV specification specifies what each instruction does
functionally (add register r1 and register r2, store the result in r3),
but does not specify how many cycles each instruction takes (or how many
cycles you lose when you have a branch). So Spike does not count those
cycles.
The C++ based cycle accurate simulator is for a specific RISCV
implementation (not the RISCV ISA in general). It does model how many
cycles the processor takes for each instruction in each situation. As it
simulates the hardware in more detail, it is expected to be slower than
Spike. Like Spike (but unlike the Verilog model), you can just compile
the C++ model with a normal compiler and run it as ordinary software, no
expensive simulation tools are required.
Verilog is a hardware description language (not a programming language),
this is: you can use it as an input for synthesis tools,which produce a
netlist (a network of logic gates and their interconnections). This
netlist can be converted to an FPGA (a programmable chip with lots and
lots of logic gates that you can program so they are interconnected in a
specific way) or you can process the netlist further with other tools
into the layout of a real chip. A Verilog design can also be simulated,
but capable Verilog simulators cost a fortune (but some FPGA vendors
provide usable simulators at reduced cost or that come for free if you
buy one of their FPGA boards).
--
Lennart
> --
> You received this message because you are subscribed to the Google
> Groups "RISC-V SW Dev" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to
sw-dev+un...@groups.riscv.org.
> To post to this group, send email to
sw-...@groups.riscv.org.
> Visit this group at
>
https://groups.google.com/a/groups.riscv.org/group/sw-dev/.
> To view this discussion on the web visit
>
https://groups.google.com/a/groups.riscv.org/d/msgid/sw-dev/CAJiOYZGHPd%3DK%2BuS%2BBqTj3daPiedG9WK3fm%2BVJLP%2BxPiSKcW4gQ%40mail.gmail.com.