[#72179] add handling SAIF trace in driver.py
This commit is contained in:
parent
088f21fd69
commit
85b018bf30
|
|
@ -1009,6 +1009,11 @@ class VlTest:
|
||||||
self.trace_format = 'fst-sc' # pylint: disable=attribute-defined-outside-init
|
self.trace_format = 'fst-sc' # pylint: disable=attribute-defined-outside-init
|
||||||
else:
|
else:
|
||||||
self.trace_format = 'fst-c' # pylint: disable=attribute-defined-outside-init
|
self.trace_format = 'fst-c' # pylint: disable=attribute-defined-outside-init
|
||||||
|
elif re.search(r'-trace-saif', checkflags):
|
||||||
|
# if self.sc:
|
||||||
|
# self.trace_format = 'fst-sc' # pylint: disable=attribute-defined-outside-init
|
||||||
|
# else:
|
||||||
|
self.trace_format = 'saif-c' # pylint: disable=attribute-defined-outside-init
|
||||||
elif self.sc:
|
elif self.sc:
|
||||||
self.trace_format = 'vcd-sc' # pylint: disable=attribute-defined-outside-init
|
self.trace_format = 'vcd-sc' # pylint: disable=attribute-defined-outside-init
|
||||||
else:
|
else:
|
||||||
|
|
@ -1563,6 +1568,8 @@ class VlTest:
|
||||||
def trace_filename(self) -> str:
|
def trace_filename(self) -> str:
|
||||||
if re.match(r'^fst', self.trace_format):
|
if re.match(r'^fst', self.trace_format):
|
||||||
return self.obj_dir + "/simx.fst"
|
return self.obj_dir + "/simx.fst"
|
||||||
|
if re.match(r'^saif', self.trace_format):
|
||||||
|
return self.obj_dir + "/simx.saif"
|
||||||
return self.obj_dir + "/simx.vcd"
|
return self.obj_dir + "/simx.vcd"
|
||||||
|
|
||||||
def skip_if_too_few_cores(self) -> None:
|
def skip_if_too_few_cores(self) -> None:
|
||||||
|
|
@ -1865,6 +1872,10 @@ class VlTest:
|
||||||
fh.write("#include \"verilated_vcd_c.h\"\n")
|
fh.write("#include \"verilated_vcd_c.h\"\n")
|
||||||
if self.trace and self.trace_format == 'vcd-sc':
|
if self.trace and self.trace_format == 'vcd-sc':
|
||||||
fh.write("#include \"verilated_vcd_sc.h\"\n")
|
fh.write("#include \"verilated_vcd_sc.h\"\n")
|
||||||
|
if self.trace and self.trace_format == 'saif-c':
|
||||||
|
fh.write("#include \"verilated_saif_c.h\"\n")
|
||||||
|
# if self.trace and self.trace_format == 'saif-sc':
|
||||||
|
# fh.write("#include \"verilated_saif_sc.h\"\n")
|
||||||
if self.savable:
|
if self.savable:
|
||||||
fh.write("#include \"verilated_save.h\"\n")
|
fh.write("#include \"verilated_save.h\"\n")
|
||||||
|
|
||||||
|
|
@ -1948,6 +1959,10 @@ class VlTest:
|
||||||
fh.write(" std::unique_ptr<VerilatedVcdC> tfp{new VerilatedVcdC};\n")
|
fh.write(" std::unique_ptr<VerilatedVcdC> tfp{new VerilatedVcdC};\n")
|
||||||
if self.trace_format == 'vcd-sc':
|
if self.trace_format == 'vcd-sc':
|
||||||
fh.write(" std::unique_ptr<VerilatedVcdSc> tfp{new VerilatedVcdSc};\n")
|
fh.write(" std::unique_ptr<VerilatedVcdSc> tfp{new VerilatedVcdSc};\n")
|
||||||
|
if self.trace_format == 'saif-c':
|
||||||
|
fh.write(" std::unique_ptr<VerilatedSaifC> tfp{new VerilatedSaifC};\n")
|
||||||
|
# if self.trace_format == 'saif-sc':
|
||||||
|
# fh.write(" std::unique_ptr<VerilatedSaifSc> tfp{new VerilatedSaifSc};\n")
|
||||||
if self.sc:
|
if self.sc:
|
||||||
fh.write(" sc_core::sc_start(sc_core::SC_ZERO_TIME);" +
|
fh.write(" sc_core::sc_start(sc_core::SC_ZERO_TIME);" +
|
||||||
" // Finish elaboration before trace and open\n")
|
" // Finish elaboration before trace and open\n")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue