aboutsummaryrefslogtreecommitdiffstats
path: root/frontends/json
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2019-06-21 15:22:17 +0200
committerClifford Wolf <clifford@clifford.at>2019-06-21 15:22:17 +0200
commitf15def325c7f2621cf8299ca61b5eeb3ddd3667e (patch)
tree676f3a271c51ea8e81b6b6a80aa73848deb07802 /frontends/json
parentf0955452aecb528db4931d3a1844637e0f3f4cef (diff)
downloadyosys-f15def325c7f2621cf8299ca61b5eeb3ddd3667e.tar.gz
yosys-f15def325c7f2621cf8299ca61b5eeb3ddd3667e.tar.bz2
yosys-f15def325c7f2621cf8299ca61b5eeb3ddd3667e.zip
Added JSON upto and offset
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Diffstat (limited to 'frontends/json')
-rw-r--r--frontends/json/jsonparse.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/frontends/json/jsonparse.cc b/frontends/json/jsonparse.cc
index 82361ea9b..344b8c2c8 100644
--- a/frontends/json/jsonparse.cc
+++ b/frontends/json/jsonparse.cc
@@ -372,6 +372,18 @@ void json_import(Design *design, string &modname, JsonNode *node)
if (wire == nullptr)
wire = module->addWire(net_name, GetSize(bits_node->data_array));
+ if (net_node->data_dict.count("upto") != 0) {
+ JsonNode *val = net_node->data_dict.at("offset");
+ if (val->type == 'N')
+ wire->upto = val->data_number != 0;
+ }
+
+ if (net_node->data_dict.count("offset") != 0) {
+ JsonNode *val = net_node->data_dict.at("offset");
+ if (val->type == 'N')
+ wire->start_offset = val->data_number;
+ }
+
for (int i = 0; i < GetSize(bits_node->data_array); i++)
{
JsonNode *bitval_node = bits_node->data_array.at(i);