mirror of https://github.com/YosysHQ/yosys.git
pass metadata: added the output of parameters,
it's kinda dumb at the moment and needs parsing based on type but it's a start
This commit is contained in:
parent
d8b85e1247
commit
7a275567df
|
@ -177,13 +177,41 @@ struct MetadataWriter
|
|||
{
|
||||
log_assert(cell != nullptr);
|
||||
|
||||
f << stringf(" {\n");
|
||||
f << stringf(" \"name\": %s,\n", get_string(RTLIL::unescape_id(cell->name)).c_str());
|
||||
f << stringf(" \"attributes\": {\n");
|
||||
f << stringf(" },\n");
|
||||
f << stringf(" \"parameters\": {\n");
|
||||
f << stringf(" },\n");
|
||||
f << stringf(" }");
|
||||
f << stringf(" {\n");
|
||||
f << stringf(" \"name\": %s,\n", get_string(RTLIL::unescape_id(cell->name)).c_str());
|
||||
f << stringf(" \"attributes\": {\n");
|
||||
|
||||
bool first_attr{true};
|
||||
for (auto& attr : cell->attributes) {
|
||||
if (!first_attr)
|
||||
f << stringf(",\n");
|
||||
const auto attr_val = attr.second.decode_string();
|
||||
if (attr_val.size() > 0)
|
||||
f << stringf(" %s: \"%s\"\n", get_string(RTLIL::unescape_id(attr.first)).c_str(), attr_val.c_str());
|
||||
else
|
||||
f << stringf(" %s: true\n", get_string(RTLIL::unescape_id(attr.first)).c_str());
|
||||
|
||||
first_attr = false;
|
||||
}
|
||||
|
||||
f << stringf(" },\n");
|
||||
f << stringf(" \"parameters\": {\n");
|
||||
|
||||
bool first_param{true};
|
||||
for (auto& param : cell->parameters) {
|
||||
if (!first_param)
|
||||
f << stringf(",\n");
|
||||
const auto param_val = param.second.decode_string();
|
||||
if (param_val.size() > 0)
|
||||
f << stringf(" %s: \"%s\"\n", get_string(RTLIL::unescape_id(param.first)).c_str(), param_val.c_str());
|
||||
else
|
||||
f << stringf(" %s: true\n", get_string(RTLIL::unescape_id(param.first)).c_str());
|
||||
|
||||
first_param = false;
|
||||
}
|
||||
|
||||
f << stringf(" },\n");
|
||||
f << stringf(" }");
|
||||
}
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue