diff options
author | Miodrag Milanovic <mmicko@gmail.com> | 2019-06-03 21:13:47 +0200 |
---|---|---|
committer | Miodrag Milanovic <mmicko@gmail.com> | 2019-06-03 21:13:47 +0200 |
commit | d5f804832f1accf318e8f62a9989149f5bc0b34a (patch) | |
tree | 6138c40e16f3d15e250a4155acdbdf7f6161cc80 /json | |
parent | 44d6f16b66e5f7b89e8cf5711744d6e5f6a40b4a (diff) | |
download | nextpnr-d5f804832f1accf318e8f62a9989149f5bc0b34a.tar.gz nextpnr-d5f804832f1accf318e8f62a9989149f5bc0b34a.tar.bz2 nextpnr-d5f804832f1accf318e8f62a9989149f5bc0b34a.zip |
hacky way to support ECP5 for now
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) |