Parameterize tracefile has_source from Config

This commit is contained in:
Hansung Kim
2023-05-09 22:22:27 -07:00
parent 89398cdc3d
commit 1886aefcc1
5 changed files with 32 additions and 31 deletions

View File

@@ -152,7 +152,7 @@ MemTraceLine MemTraceReader::read_trace_at(const long cycle, const int lane_id,
assert(!"unreachable");
}
extern "C" void memtrace_init(const char *filename) {
extern "C" void memtrace_init(const char *filename, bool has_source) {
#ifndef NO_VPI
s_vpi_vlog_info info;
if (!vpi_get_vlog_info(&info)) {
@@ -175,7 +175,7 @@ extern "C" void memtrace_init(const char *filename) {
reader = std::make_unique<MemTraceReader>(filename);
// parse file upfront
// driver trace file is assumed to not have source id
reader->parse(false);
reader->parse(has_source);
}
// TODO: accept core_id as well

View File

@@ -44,7 +44,7 @@ public:
FILE *outfile;
};
extern "C" void memtrace_init(const char *filename);
extern "C" void memtrace_init(const char *filename, bool has_source);
extern "C" void memtrace_query(unsigned char trace_read_ready,
unsigned long trace_read_cycle,
int trace_read_lane_id,

View File

@@ -4,7 +4,8 @@
`define LOGSIZE_WIDTH 8
import "DPI-C" function void memtrace_init(
input string filename
input string filename,
input bit has_source
);
// Make sure to sync the parameters for:
@@ -24,7 +25,9 @@ import "DPI-C" function void memtrace_query
output bit trace_read_finished
);
module SimMemTrace #(parameter FILENAME = "undefined", NUM_LANES = 4) (
module SimMemTrace #(parameter FILENAME = "undefined",
NUM_LANES = 4,
HAS_SOURCE = 0) (
input clock,
input reset,
@@ -61,7 +64,7 @@ module SimMemTrace #(parameter FILENAME = "undefined", NUM_LANES = 4) (
initial begin
/* $value$plusargs("uartlog=%s", __uartlog); */
memtrace_init(FILENAME);
memtrace_init(FILENAME, HAS_SOURCE);
end
always @(posedge clock) begin