mirror of
https://github.com/YosysHQ/yosys
synced 2025-05-12 02:04:44 +00:00
aiger, xaiger, aiger2: add -no_version
This commit is contained in:
parent
bfe05965f9
commit
11c846de5c
3 changed files with 43 additions and 8 deletions
|
@ -510,7 +510,7 @@ struct AigerWriter
|
|||
}
|
||||
}
|
||||
|
||||
void write_aiger(std::ostream &f, bool ascii_mode, bool miter_mode, bool symbols_mode)
|
||||
void write_aiger(std::ostream &f, bool ascii_mode, bool miter_mode, bool symbols_mode, bool ys_version)
|
||||
{
|
||||
int aig_obc = aig_o + aig_b + aig_c;
|
||||
int aig_obcj = aig_obc + aig_j;
|
||||
|
@ -663,7 +663,8 @@ struct AigerWriter
|
|||
}
|
||||
}
|
||||
|
||||
f << stringf("c\nGenerated by %s\n", yosys_version_str);
|
||||
if (ys_version)
|
||||
f << stringf("c\nGenerated by %s\n", yosys_version_str);
|
||||
}
|
||||
|
||||
void write_map(std::ostream &f, bool verbose_map, bool no_startoffset)
|
||||
|
@ -919,6 +920,9 @@ struct AigerBackend : public Backend {
|
|||
log(" dummy input/output/bad_state-pin or latch to make the tools reading the\n");
|
||||
log(" AIGER file happy.\n");
|
||||
log("\n");
|
||||
log(" -no_version\n");
|
||||
log(" don't write Yosys version\n");
|
||||
log("\n");
|
||||
}
|
||||
void execute(std::ostream *&f, std::string filename, std::vector<std::string> args, RTLIL::Design *design) override
|
||||
{
|
||||
|
@ -932,6 +936,7 @@ struct AigerBackend : public Backend {
|
|||
bool bmode = false;
|
||||
bool lmode = false;
|
||||
bool no_startoffset = false;
|
||||
bool ys_version = true;
|
||||
std::string map_filename;
|
||||
std::string yw_map_filename;
|
||||
|
||||
|
@ -989,6 +994,10 @@ struct AigerBackend : public Backend {
|
|||
lmode = true;
|
||||
continue;
|
||||
}
|
||||
if (args[argidx] == "-no_version") {
|
||||
ys_version = false;
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
}
|
||||
extra_args(f, filename, args, argidx, !ascii_mode);
|
||||
|
@ -1010,7 +1019,7 @@ struct AigerBackend : public Backend {
|
|||
log_error("Found unmapped memories in module %s: unmapped memories are not supported in AIGER backend!\n", log_id(top_module));
|
||||
|
||||
AigerWriter writer(top_module, zinit_mode, imode, omode, bmode, lmode);
|
||||
writer.write_aiger(*f, ascii_mode, miter_mode, symbols_mode);
|
||||
writer.write_aiger(*f, ascii_mode, miter_mode, symbols_mode, ys_version);
|
||||
|
||||
if (!map_filename.empty()) {
|
||||
rewrite_filename(filename);
|
||||
|
|
|
@ -464,7 +464,7 @@ struct XAigerWriter
|
|||
}
|
||||
}
|
||||
|
||||
void write_aiger(std::ostream &f, bool ascii_mode)
|
||||
void write_aiger(std::ostream &f, bool ascii_mode, bool ys_version)
|
||||
{
|
||||
int aig_obc = aig_o;
|
||||
int aig_obcj = aig_obc;
|
||||
|
@ -647,7 +647,7 @@ struct XAigerWriter
|
|||
if (holes_module) {
|
||||
std::stringstream a_buffer;
|
||||
XAigerWriter writer(holes_module, false /* dff_mode */);
|
||||
writer.write_aiger(a_buffer, false /*ascii_mode*/);
|
||||
writer.write_aiger(a_buffer, false /*ascii_mode*/, ys_version);
|
||||
|
||||
f << "a";
|
||||
std::string buffer_str = a_buffer.str();
|
||||
|
@ -671,7 +671,8 @@ struct XAigerWriter
|
|||
//f.write(reinterpret_cast<const char*>(&buffer_size_be), sizeof(buffer_size_be));
|
||||
//f.write(buffer_str.data(), buffer_str.size());
|
||||
|
||||
f << stringf("Generated by %s\n", yosys_version_str);
|
||||
if (ys_version)
|
||||
f << stringf("Generated by %s\n", yosys_version_str);
|
||||
|
||||
design->scratchpad_set_int("write_xaiger.num_ands", and_map.size());
|
||||
design->scratchpad_set_int("write_xaiger.num_wires", aig_map.size());
|
||||
|
@ -741,10 +742,13 @@ struct XAigerBackend : public Backend {
|
|||
log(" -dff\n");
|
||||
log(" write $_DFF_[NP]_ cells\n");
|
||||
log("\n");
|
||||
log(" -no_version\n");
|
||||
log(" don't write Yosys version\n");
|
||||
log("\n");
|
||||
}
|
||||
void execute(std::ostream *&f, std::string filename, std::vector<std::string> args, RTLIL::Design *design) override
|
||||
{
|
||||
bool ascii_mode = false, dff_mode = false;
|
||||
bool ascii_mode = false, dff_mode = false, ys_version = true;
|
||||
std::string map_filename;
|
||||
|
||||
log_header(design, "Executing XAIGER backend.\n");
|
||||
|
@ -764,6 +768,10 @@ struct XAigerBackend : public Backend {
|
|||
dff_mode = true;
|
||||
continue;
|
||||
}
|
||||
if (args[argidx] == "-no_version") {
|
||||
ys_version = false;
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
}
|
||||
extra_args(f, filename, args, argidx, !ascii_mode);
|
||||
|
@ -782,7 +790,7 @@ struct XAigerBackend : public Backend {
|
|||
log_error("Found unmapped memories in module %s: unmapped memories are not supported in XAIGER backend!\n", log_id(top_module));
|
||||
|
||||
XAigerWriter writer(top_module, dff_mode);
|
||||
writer.write_aiger(*f, ascii_mode);
|
||||
writer.write_aiger(*f, ascii_mode, ys_version);
|
||||
|
||||
if (!map_filename.empty()) {
|
||||
std::ofstream mapf;
|
||||
|
|
|
@ -1310,6 +1310,9 @@ struct Aiger2Backend : Backend {
|
|||
log(" allow descending into submodules and write a flattened view of the design\n");
|
||||
log(" hierarchy starting at the selected top\n");
|
||||
log("\n");
|
||||
log(" -no_version\n");
|
||||
log(" don't write Yosys version\n");
|
||||
log("\n");
|
||||
log("This command is able to ingest all combinational cells except for:\n");
|
||||
log("\n");
|
||||
pool<IdString> supported = {KNOWN_OPS};
|
||||
|
@ -1353,15 +1356,21 @@ struct Aiger2Backend : Backend {
|
|||
size_t argidx;
|
||||
AigerWriter writer;
|
||||
writer.const_folding = true;
|
||||
bool ys_version = true;
|
||||
for (argidx = 1; argidx < args.size(); argidx++) {
|
||||
if (args[argidx] == "-strash")
|
||||
writer.strashing = true;
|
||||
else if (args[argidx] == "-flatten")
|
||||
writer.flatten = true;
|
||||
else if (args[argidx] == "-no_version")
|
||||
ys_version = false;
|
||||
else
|
||||
break;
|
||||
}
|
||||
extra_args(f, filename, args, argidx);
|
||||
// We don't actually ever print version yet,
|
||||
// we have the arg just for consistency
|
||||
(void)ys_version;
|
||||
|
||||
Module *top = design->top_module();
|
||||
|
||||
|
@ -1414,6 +1423,9 @@ struct XAiger2Backend : Backend {
|
|||
log(" reintegrate a mapping\n");
|
||||
log(" (conflicts with -flatten)\n");
|
||||
log("\n");
|
||||
log(" -no_version\n");
|
||||
log(" don't write Yosys version\n");
|
||||
log("\n");
|
||||
}
|
||||
|
||||
void execute(std::ostream *&f, std::string filename, std::vector<std::string> args, Design *design) override
|
||||
|
@ -1423,6 +1435,7 @@ struct XAiger2Backend : Backend {
|
|||
size_t argidx;
|
||||
XAigerWriter writer;
|
||||
std::string map_filename;
|
||||
bool ys_version = true;
|
||||
writer.const_folding = true;
|
||||
for (argidx = 1; argidx < args.size(); argidx++) {
|
||||
if (args[argidx] == "-strash")
|
||||
|
@ -1433,10 +1446,15 @@ struct XAiger2Backend : Backend {
|
|||
writer.mapping_prep = true;
|
||||
else if (args[argidx] == "-map2" && argidx + 1 < args.size())
|
||||
map_filename = args[++argidx];
|
||||
else if (args[argidx] == "-no_version")
|
||||
ys_version = false;
|
||||
else
|
||||
break;
|
||||
}
|
||||
extra_args(f, filename, args, argidx);
|
||||
// We don't actually ever print version yet,
|
||||
// we have the arg just for consistency
|
||||
(void)ys_version;
|
||||
|
||||
Module *top = design->top_module();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue