diff options
author | whitequark <whitequark@whitequark.org> | 2016-07-12 06:32:04 +0000 |
---|---|---|
committer | whitequark <whitequark@whitequark.org> | 2016-07-12 06:32:04 +0000 |
commit | 546233f0e154cca0bacb4960faf54ba8d206c1fd (patch) | |
tree | 3a90ffe9b365a67d744ea76da683e21ed9c1f1cd /backends/json | |
parent | c71785d65e9775093b24ce684ed4fbe93bedb04d (diff) | |
download | yosys-546233f0e154cca0bacb4960faf54ba8d206c1fd.tar.gz yosys-546233f0e154cca0bacb4960faf54ba8d206c1fd.tar.bz2 yosys-546233f0e154cca0bacb4960faf54ba8d206c1fd.zip |
write_json: also write module attributes.
Diffstat (limited to 'backends/json')
-rw-r--r-- | backends/json/json.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/backends/json/json.cc b/backends/json/json.cc index 05530ee69..4baffa33e 100644 --- a/backends/json/json.cc +++ b/backends/json/json.cc @@ -83,12 +83,12 @@ struct JsonWriter return str + " ]"; } - void write_parameters(const dict<IdString, Const> ¶meters) + void write_parameters(const dict<IdString, Const> ¶meters, bool for_module=false) { bool first = true; for (auto ¶m : parameters) { f << stringf("%s\n", first ? "" : ","); - f << stringf(" %s: ", get_name(param.first).c_str()); + f << stringf(" %s%s: ", for_module ? "" : " ", get_name(param.first).c_str()); if ((param.second.flags & RTLIL::ConstFlags::CONST_FLAG_STRING) != 0) f << get_string(param.second.decode_string()); else if (GetSize(param.second.bits) > 32) @@ -111,6 +111,10 @@ struct JsonWriter f << stringf(" %s: {\n", get_name(module->name).c_str()); + f << stringf(" \"attributes\": {"); + write_parameters(module->attributes, /*for_module=*/true); + f << stringf("\n },\n"); + f << stringf(" \"ports\": {"); bool first = true; for (auto n : module->ports) { |