0
我试图在“真实世界”项目上使用凿子,我正在用C++编写测试台代码部分。 这很好,我可以用gtkwave在dump.vcd文件中看到我所有的转储信号。如何更改VCD文件转储的时间刻度?
但我有时间尺度的问题,在默认情况下,该功能模块 - >转储()记录与1ps的时间表信号:
$timescale 1ps $end
你知道如何去改变它?
我发现改变它在测试平台C上的唯一方式++代码是关闭它后重新打开VCD和修改的第一行:
#define CYCLE_PERIOD_NS 10
FILE *f = fopen("./dump.vcd", "w");
module->set_dumpfile(f);
[...]
/*several module->dump() call */
[...]
if (f) {
fclose(f);
std::string line;
std::ifstream input("./dump.vcd");
std::ofstream output("./tmp.vcd");
std::getline(input, line);
output << "$timescale " << CYCLE_PERIOD_NS << "ns $end" << endl;
while(std::getline(input, line)) {
output << line << endl;
}
rename("./tmp.vcd", "./dump.vcd");
}