diff options
author | Miodrag Milanovic <mmicko@gmail.com> | 2019-06-21 19:47:25 +0200 |
---|---|---|
committer | Miodrag Milanovic <mmicko@gmail.com> | 2019-06-21 19:47:25 +0200 |
commit | 50e72210772f3a1c34f5fe80b19c65f6d304b71a (patch) | |
tree | 212cf3f018ae88c7a1b3d288666b9a94d62435c9 /frontends/json | |
parent | e66481497155edd8af855df268befeabe3e87f7e (diff) | |
download | yosys-50e72210772f3a1c34f5fe80b19c65f6d304b71a.tar.gz yosys-50e72210772f3a1c34f5fe80b19c65f6d304b71a.tar.bz2 yosys-50e72210772f3a1c34f5fe80b19c65f6d304b71a.zip |
Add upto and offset to JSON ports
Diffstat (limited to 'frontends/json')
-rw-r--r-- | frontends/json/jsonparse.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/frontends/json/jsonparse.cc b/frontends/json/jsonparse.cc index b74d41dd2..f5ae8eb72 100644 --- a/frontends/json/jsonparse.cc +++ b/frontends/json/jsonparse.cc @@ -292,6 +292,18 @@ void json_import(Design *design, string &modname, JsonNode *node) if (port_wire == nullptr) port_wire = module->addWire(port_name, GetSize(port_bits_node->data_array)); + if (port_node->data_dict.count("upto") != 0) { + JsonNode *val = port_node->data_dict.at("upto"); + if (val->type == 'N') + port_wire->upto = val->data_number != 0; + } + + if (port_node->data_dict.count("offset") != 0) { + JsonNode *val = port_node->data_dict.at("offset"); + if (val->type == 'N') + port_wire->start_offset = val->data_number; + } + if (port_direction_node->data_string == "input") { port_wire->port_input = true; } else |