mirror of
https://github.com/YosysHQ/yosys
synced 2025-04-13 04:28:18 +00:00
Add date parameter to enable full date/time and version info
This commit is contained in:
parent
be32de1caa
commit
37de369ba7
|
@ -89,6 +89,7 @@ struct SimShared
|
||||||
std::vector<std::unique_ptr<OutputWriter>> outputfiles;
|
std::vector<std::unique_ptr<OutputWriter>> outputfiles;
|
||||||
std::vector<std::pair<int,std::map<int,Const>>> output_data;
|
std::vector<std::pair<int,std::map<int,Const>>> output_data;
|
||||||
bool ignore_x = false;
|
bool ignore_x = false;
|
||||||
|
bool date = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
void zinit(State &v)
|
void zinit(State &v)
|
||||||
|
@ -1333,12 +1334,14 @@ struct VCDWriter : public OutputWriter
|
||||||
void write(std::map<int, bool> &use_signal) override
|
void write(std::map<int, bool> &use_signal) override
|
||||||
{
|
{
|
||||||
if (!vcdfile.is_open()) return;
|
if (!vcdfile.is_open()) return;
|
||||||
vcdfile << stringf("$version %s $end\n", yosys_version_str);
|
vcdfile << stringf("$version %s $end\n", worker->date ? yosys_version_str : "Yosys");
|
||||||
|
|
||||||
std::time_t t = std::time(nullptr);
|
if (worker->date) {
|
||||||
char mbstr[255];
|
std::time_t t = std::time(nullptr);
|
||||||
if (std::strftime(mbstr, sizeof(mbstr), "%c", std::localtime(&t))) {
|
char mbstr[255];
|
||||||
vcdfile << stringf("$date ") << mbstr << stringf(" $end\n");
|
if (std::strftime(mbstr, sizeof(mbstr), "%c", std::localtime(&t))) {
|
||||||
|
vcdfile << stringf("$date ") << mbstr << stringf(" $end\n");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!worker->timescale.empty())
|
if (!worker->timescale.empty())
|
||||||
|
@ -1391,8 +1394,11 @@ struct FSTWriter : public OutputWriter
|
||||||
{
|
{
|
||||||
if (!fstfile) return;
|
if (!fstfile) return;
|
||||||
std::time_t t = std::time(nullptr);
|
std::time_t t = std::time(nullptr);
|
||||||
fstWriterSetDate(fstfile, asctime(std::localtime(&t)));
|
fstWriterSetVersion(fstfile, worker->date ? yosys_version_str : "Yosys");
|
||||||
fstWriterSetVersion(fstfile, yosys_version_str);
|
if (worker->date)
|
||||||
|
fstWriterSetDate(fstfile, asctime(std::localtime(&t)));
|
||||||
|
else
|
||||||
|
fstWriterSetDate(fstfile, "");
|
||||||
if (!worker->timescale.empty())
|
if (!worker->timescale.empty())
|
||||||
fstWriterSetTimescaleFromString(fstfile, worker->timescale.c_str());
|
fstWriterSetTimescaleFromString(fstfile, worker->timescale.c_str());
|
||||||
|
|
||||||
|
@ -1563,6 +1569,9 @@ struct SimPass : public Pass {
|
||||||
log(" -x\n");
|
log(" -x\n");
|
||||||
log(" ignore constant x outputs in simulation file.\n");
|
log(" ignore constant x outputs in simulation file.\n");
|
||||||
log("\n");
|
log("\n");
|
||||||
|
log(" -date\n");
|
||||||
|
log(" include date and full version info in output.\n");
|
||||||
|
log("\n");
|
||||||
log(" -clock <portname>\n");
|
log(" -clock <portname>\n");
|
||||||
log(" name of top-level clock input\n");
|
log(" name of top-level clock input\n");
|
||||||
log("\n");
|
log("\n");
|
||||||
|
@ -1759,6 +1768,10 @@ struct SimPass : public Pass {
|
||||||
worker.ignore_x = true;
|
worker.ignore_x = true;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if (args[argidx] == "-date") {
|
||||||
|
worker.date = true;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
extra_args(args, argidx, design);
|
extra_args(args, argidx, design);
|
||||||
|
|
Loading…
Reference in a new issue