aboutsummaryrefslogtreecommitdiffstats
path: root/json/jsonwrite.cc
diff options
context:
space:
mode:
authorMiodrag Milanovic <mmicko@gmail.com>2019-06-07 16:11:11 +0200
committerMiodrag Milanovic <mmicko@gmail.com>2019-06-07 16:11:11 +0200
commitd9b0bac248a12466cd2b62d02ec11b2e60d25019 (patch)
tree2ab86f7b951134cda53cf24d31c3007a0c218d25 /json/jsonwrite.cc
parentef1a5fa60653a89fe008288aa4da00c481db2c46 (diff)
downloadnextpnr-d9b0bac248a12466cd2b62d02ec11b2e60d25019.tar.gz
nextpnr-d9b0bac248a12466cd2b62d02ec11b2e60d25019.tar.bz2
nextpnr-d9b0bac248a12466cd2b62d02ec11b2e60d25019.zip
Save top level attrs and store current step
Diffstat (limited to 'json/jsonwrite.cc')
-rw-r--r--json/jsonwrite.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/json/jsonwrite.cc b/json/jsonwrite.cc
index 811a2eec..19c43d7c 100644
--- a/json/jsonwrite.cc
+++ b/json/jsonwrite.cc
@@ -64,13 +64,17 @@ void write_parameters(std::ostream &f, Context *ctx, const std::unordered_map<Id
void write_module(std::ostream &f, Context *ctx)
{
- f << stringf(" %s: {\n", get_string("top").c_str());
+ auto val = ctx->attrs.find(ctx->id("module"));
+ if (val != ctx->attrs.end())
+ f << stringf(" %s: {\n", get_string(val->second.str).c_str());
+ else
+ f << stringf(" %s: {\n", get_string("top").c_str());
// TODO: check if this is better to be separate
/*f << stringf(" \"settings\": {");
write_parameters(f, ctx, ctx->settings, true);
f << stringf("\n },\n");*/
f << stringf(" \"attributes\": {");
- // TODO: Top level attributes
+ write_parameters(f, ctx, ctx->attrs, true);
f << stringf("\n },\n");
f << stringf(" \"ports\": {");
// TODO: Top level ports