diff options
author | whitequark <whitequark@whitequark.org> | 2020-06-04 11:23:06 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-04 11:23:06 +0000 |
commit | 3bffd09d6423b70ca154527c363985ff048f807d (patch) | |
tree | 5d38c0618e478722d8dcd0fb681ef443869f0b8c /backends | |
parent | 44f1e651558c5063b6e0c4496d916abc23329751 (diff) | |
parent | adb483ddfd3163a4efa08e09a35dd926377aa71d (diff) | |
download | yosys-3bffd09d6423b70ca154527c363985ff048f807d.tar.gz yosys-3bffd09d6423b70ca154527c363985ff048f807d.tar.bz2 yosys-3bffd09d6423b70ca154527c363985ff048f807d.zip |
Merge pull request #2006 from jersey99/signed-in-rtlil-wire
Preserve 'signed'-ness of a verilog wire through RTLIL
Diffstat (limited to 'backends')
-rw-r--r-- | backends/ilang/ilang_backend.cc | 2 | ||||
-rw-r--r-- | backends/json/json.cc | 4 |
2 files changed, 6 insertions, 0 deletions
diff --git a/backends/ilang/ilang_backend.cc b/backends/ilang/ilang_backend.cc index 6e3882d2d..3a418de3c 100644 --- a/backends/ilang/ilang_backend.cc +++ b/backends/ilang/ilang_backend.cc @@ -131,6 +131,8 @@ void ILANG_BACKEND::dump_wire(std::ostream &f, std::string indent, const RTLIL:: f << stringf("output %d ", wire->port_id); if (wire->port_input && wire->port_output) f << stringf("inout %d ", wire->port_id); + if (wire->is_signed) + f << stringf("signed "); f << stringf("%s\n", wire->name.c_str()); } diff --git a/backends/json/json.cc b/backends/json/json.cc index 1a8b757ef..5edc50f60 100644 --- a/backends/json/json.cc +++ b/backends/json/json.cc @@ -160,6 +160,8 @@ struct JsonWriter f << stringf(" \"offset\": %d,\n", w->start_offset); if (w->upto) f << stringf(" \"upto\": 1,\n"); + if (w->is_signed) + f << stringf(" \"signed\": %d,\n", w->is_signed); f << stringf(" \"bits\": %s\n", get_bits(w).c_str()); f << stringf(" }"); first = false; @@ -227,6 +229,8 @@ struct JsonWriter f << stringf(" \"offset\": %d,\n", w->start_offset); if (w->upto) f << stringf(" \"upto\": 1,\n"); + if (w->is_signed) + f << stringf(" \"signed\": %d,\n", w->is_signed); f << stringf(" \"attributes\": {"); write_parameters(w->attributes); f << stringf("\n }\n"); |