diff options
Diffstat (limited to 'json')
-rw-r--r-- | json/jsonparse.cc | 6 | ||||
-rw-r--r-- | json/jsonwrite.cc | 5 |
2 files changed, 10 insertions, 1 deletions
diff --git a/json/jsonparse.cc b/json/jsonparse.cc index df21eb0f..7d11cd03 100644 --- a/json/jsonparse.cc +++ b/json/jsonparse.cc @@ -349,7 +349,11 @@ void json_import_net_attrib(Context *ctx, string &modname, NetInfo *net, JsonNod else log_error("JSON parameter type of \"%s\' of net \'%s\' not supported\n", pId.c_str(ctx), net->name.c_str(ctx)); - +#ifdef ARCH_ECP5 + if (param_node->data_dict_keys[param_id]== "NEXTPNR_IS_GLOBAL") { + net->is_global = (*dest)[pId].num; + } +#endif if (json_debug) log_info(" Added parameter \'%s\'=%s to net \'%s\' " "of module \'%s\'\n", diff --git a/json/jsonwrite.cc b/json/jsonwrite.cc index 9f29d510..eb1ed3a4 100644 --- a/json/jsonwrite.cc +++ b/json/jsonwrite.cc @@ -79,6 +79,11 @@ void write_routing(std::ostream &f, Context *ctx, NetInfo *net, bool first) f << stringf("%s\n", first ? "" : ","); f << stringf(" \"NEXTPNR_ROUTING\": "); f << get_string(routing); +#ifdef ARCH_ECP5 + f << stringf(",\n"); + f << stringf(" \"NEXTPNR_IS_GLOBAL\": "); + f << std::to_string(net->is_global ? 1:0); +#endif } void write_constraints(std::ostream &f, Context *ctx, CellInfo *cell, bool first) |