mirror of https://github.com/YosysHQ/yosys.git
Merge pull request #1122 from YosysHQ/clifford/jsonports
Added JSON upto and offset
This commit is contained in:
commit
918460ddd3
|
@ -189,6 +189,10 @@ struct JsonWriter
|
|||
f << stringf(" %s: {\n", get_name(w->name).c_str());
|
||||
f << stringf(" \"hide_name\": %s,\n", w->name[0] == '$' ? "1" : "0");
|
||||
f << stringf(" \"bits\": %s,\n", get_bits(w).c_str());
|
||||
if (w->start_offset)
|
||||
f << stringf(" \"offset\": %d,\n", w->start_offset);
|
||||
if (w->upto)
|
||||
f << stringf(" \"upto\": 1,\n");
|
||||
f << stringf(" \"attributes\": {");
|
||||
write_parameters(w->attributes);
|
||||
f << stringf("\n }\n");
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue