mirror of
https://github.com/lowRISC/ibex.git
synced 2025-04-20 03:47:15 -04:00
[cosim] Fix spike cosim instruction count
The count wasn't being initialised in the constructor and should be of type 'unsigned int'.
This commit is contained in:
parent
a788593842
commit
4084dc4a46
6 changed files with 8 additions and 8 deletions
|
@ -142,7 +142,7 @@ class Cosim {
|
|||
|
||||
// Returns a count of instructions executed by co-simulator and DUT without
|
||||
// failures.
|
||||
virtual int get_insn_cnt() = 0;
|
||||
virtual unsigned int get_insn_cnt() = 0;
|
||||
};
|
||||
|
||||
#endif // COSIM_H_
|
||||
|
|
|
@ -106,7 +106,7 @@ void riscv_cosim_write_mem_byte(Cosim *cosim, const svBitVecVal *addr,
|
|||
cosim->backdoor_write_mem(addr[0], 1, &byte);
|
||||
}
|
||||
|
||||
int riscv_cosim_get_insn_cnt(Cosim *cosim) {
|
||||
unsigned int riscv_cosim_get_insn_cnt(Cosim *cosim) {
|
||||
assert(cosim);
|
||||
|
||||
return cosim->get_insn_cnt();
|
||||
|
|
|
@ -33,7 +33,7 @@ const char *riscv_cosim_get_error(Cosim *cosim, int index);
|
|||
void riscv_cosim_clear_errors(Cosim *cosim);
|
||||
void riscv_cosim_write_mem_byte(Cosim *cosim, const svBitVecVal *addr,
|
||||
const svBitVecVal *d);
|
||||
int riscv_cosim_get_insn_cnt(Cosim *cosim);
|
||||
unsigned int riscv_cosim_get_insn_cnt(Cosim *cosim);
|
||||
}
|
||||
|
||||
#endif // COSIM_DPI_H_
|
||||
|
|
|
@ -28,6 +28,6 @@ import "DPI-C" function string riscv_cosim_get_error(chandle cosim_handle, int i
|
|||
import "DPI-C" function void riscv_cosim_clear_errors(chandle cosim_handle);
|
||||
import "DPI-C" function void riscv_cosim_write_mem_byte(chandle cosim_handle, bit [31:0] addr,
|
||||
bit [7:0] d);
|
||||
import "DPI-C" function int riscv_cosim_get_insn_cnt(chandle cosim_handle);
|
||||
import "DPI-C" function int unsigned riscv_cosim_get_insn_cnt(chandle cosim_handle);
|
||||
|
||||
`endif
|
||||
|
|
|
@ -35,7 +35,7 @@ SpikeCosim::SpikeCosim(const std::string &isa_string, uint32_t start_pc,
|
|||
uint32_t start_mtvec, const std::string &trace_log_path,
|
||||
bool secure_ibex, bool icache_en,
|
||||
uint32_t pmp_num_regions, uint32_t pmp_granularity)
|
||||
: nmi_mode(false), pending_iside_error(false) {
|
||||
: nmi_mode(false), pending_iside_error(false), insn_cnt(0) {
|
||||
FILE *log_file = nullptr;
|
||||
if (trace_log_path.length() != 0) {
|
||||
log = std::make_unique<log_file_t>(trace_log_path.c_str());
|
||||
|
@ -778,4 +778,4 @@ bool SpikeCosim::pc_is_mret(uint32_t pc) {
|
|||
return insn == 0x30200073;
|
||||
}
|
||||
|
||||
int SpikeCosim::get_insn_cnt() { return insn_cnt; }
|
||||
unsigned int SpikeCosim::get_insn_cnt() { return insn_cnt; }
|
||||
|
|
|
@ -71,7 +71,7 @@ class SpikeCosim : public simif_t, public Cosim {
|
|||
|
||||
void initial_proc_setup(uint32_t start_pc, uint32_t start_mtvec);
|
||||
|
||||
int insn_cnt;
|
||||
unsigned int insn_cnt;
|
||||
|
||||
public:
|
||||
SpikeCosim(const std::string &isa_string, uint32_t start_pc,
|
||||
|
@ -114,7 +114,7 @@ class SpikeCosim : public simif_t, public Cosim {
|
|||
void set_iside_error(uint32_t addr) override;
|
||||
const std::vector<std::string> &get_errors() override;
|
||||
void clear_errors() override;
|
||||
int get_insn_cnt() override;
|
||||
unsigned int get_insn_cnt() override;
|
||||
};
|
||||
|
||||
#endif // SPIKE_COSIM_H_
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue