summaryrefslogtreecommitdiff
path: root/backends/blif/blif.cc
diff options
context:
space:
mode:
Diffstat (limited to 'backends/blif/blif.cc')
-rw-r--r--backends/blif/blif.cc13
1 files changed, 12 insertions, 1 deletions
diff --git a/backends/blif/blif.cc b/backends/blif/blif.cc
index 0a13180a..f3b57765 100644
--- a/backends/blif/blif.cc
+++ b/backends/blif/blif.cc
@@ -37,6 +37,7 @@ struct BlifDumperConfig
bool conn_mode;
bool impltf_mode;
bool gates_mode;
+ bool cname_mode;
bool param_mode;
bool attr_mode;
bool blackbox_mode;
@@ -45,7 +46,8 @@ struct BlifDumperConfig
std::map<RTLIL::IdString, std::pair<RTLIL::IdString, RTLIL::IdString>> unbuf_types;
std::string true_type, true_out, false_type, false_out, undef_type, undef_out;
- BlifDumperConfig() : icells_mode(false), conn_mode(false), impltf_mode(false), gates_mode(false), param_mode(false), attr_mode(false), blackbox_mode(false) { }
+ BlifDumperConfig() : icells_mode(false), conn_mode(false), impltf_mode(false), gates_mode(false),
+ cname_mode(false), param_mode(false), attr_mode(false), blackbox_mode(false) { }
};
struct BlifDumper
@@ -349,6 +351,8 @@ struct BlifDumper
}
f << stringf("\n");
+ if (config->cname_mode)
+ f << stringf(".cname %s\n", cstr(cell->name));
if (config->attr_mode)
dump_params(".attr", cell->attributes);
if (config->param_mode)
@@ -426,6 +430,9 @@ struct BlifBackend : public Backend {
log(" -param\n");
log(" use the non-standard .param statement to write cell parameters\n");
log("\n");
+ log(" -cname\n");
+ log(" use the non-standard .cname statement to write cell names\n");
+ log("\n");
log(" -blackbox\n");
log(" write blackbox cells with .blackbox statement.\n");
log("\n");
@@ -490,6 +497,10 @@ struct BlifBackend : public Backend {
config.conn_mode = true;
continue;
}
+ if (args[argidx] == "-cname") {
+ config.cname_mode = true;
+ continue;
+ }
if (args[argidx] == "-param") {
config.param_mode = true;
continue;