diff options
author | Vamsi K Vytla <vamsi.vytla@gmail.com> | 2020-04-27 09:44:24 -0700 |
---|---|---|
committer | Vamsi K Vytla <vamsi.vytla@gmail.com> | 2020-04-27 09:44:24 -0700 |
commit | 5f9cd2e2f6cdea9f00cb5a042c7fe472fb54ef4c (patch) | |
tree | 4a8694391c20cf6e6a8623f6e9fdc7c6daee3297 /kernel | |
parent | 3eb24809a1d80f4b7015e6f8b1458e300727c244 (diff) | |
download | yosys-5f9cd2e2f6cdea9f00cb5a042c7fe472fb54ef4c.tar.gz yosys-5f9cd2e2f6cdea9f00cb5a042c7fe472fb54ef4c.tar.bz2 yosys-5f9cd2e2f6cdea9f00cb5a042c7fe472fb54ef4c.zip |
Preserve 'signed'-ness of a verilog wire through RTLIL
As per suggestion made in https://github.com/YosysHQ/yosys/pull/1987, now:
RTLIL::wire holds an is_signed field.
This is exported in JSON backend
This is exported via dump_rtlil command
This is read in via ilang_parser
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/rtlil.cc | 2 | ||||
-rw-r--r-- | kernel/rtlil.h | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/kernel/rtlil.cc b/kernel/rtlil.cc index 196e301b6..98d6ed41f 100644 --- a/kernel/rtlil.cc +++ b/kernel/rtlil.cc @@ -1862,6 +1862,7 @@ RTLIL::Wire *RTLIL::Module::addWire(RTLIL::IdString name, const RTLIL::Wire *oth wire->port_input = other->port_input; wire->port_output = other->port_output; wire->upto = other->upto; + wire->is_signed = other->is_signed; wire->attributes = other->attributes; return wire; } @@ -2445,6 +2446,7 @@ RTLIL::Wire::Wire() port_input = false; port_output = false; upto = false; + is_signed = false; #ifdef WITH_PYTHON RTLIL::Wire::get_all_wires()->insert(std::pair<unsigned int, RTLIL::Wire*>(hashidx_, this)); diff --git a/kernel/rtlil.h b/kernel/rtlil.h index 11c45bbec..04d4325d1 100644 --- a/kernel/rtlil.h +++ b/kernel/rtlil.h @@ -1353,7 +1353,7 @@ public: RTLIL::Module *module; RTLIL::IdString name; int width, start_offset, port_id; - bool port_input, port_output, upto; + bool port_input, port_output, upto, is_signed; #ifdef WITH_PYTHON static std::map<unsigned int, RTLIL::Wire*> *get_all_wires(void); |