diff options
author | Marcelina KoĆcielnicka <mwk@0x04.net> | 2020-04-16 15:51:03 +0200 |
---|---|---|
committer | Marcelina KoĆcielnicka <mwk@0x04.net> | 2020-04-21 19:09:00 +0200 |
commit | 06a344efcb4a8c56f230715481ce07e715a7a4b3 (patch) | |
tree | 7d5aa868e0843ab0309b7325b88f145493d962e9 /kernel | |
parent | 79efaa65ad73520e4354bdc33622216bf29892fc (diff) | |
download | yosys-06a344efcb4a8c56f230715481ce07e715a7a4b3.tar.gz yosys-06a344efcb4a8c56f230715481ce07e715a7a4b3.tar.bz2 yosys-06a344efcb4a8c56f230715481ce07e715a7a4b3.zip |
ilang, ast: Store parameter order and default value information.
Fixes #1819, #1820.
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/rtlil.cc | 3 | ||||
-rw-r--r-- | kernel/rtlil.h | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/kernel/rtlil.cc b/kernel/rtlil.cc index 8af941c85..0e9347267 100644 --- a/kernel/rtlil.cc +++ b/kernel/rtlil.cc @@ -1389,7 +1389,7 @@ void RTLIL::Module::sort() { wires_.sort(sort_by_id_str()); cells_.sort(sort_by_id_str()); - avail_parameters.sort(sort_by_id_str()); + parameter_default_values.sort(sort_by_id_str()); memories.sort(sort_by_id_str()); processes.sort(sort_by_id_str()); for (auto &it : cells_) @@ -1508,6 +1508,7 @@ void RTLIL::Module::cloneInto(RTLIL::Module *new_mod) const log_assert(new_mod->refcount_cells_ == 0); new_mod->avail_parameters = avail_parameters; + new_mod->parameter_default_values = parameter_default_values; for (auto &conn : connections_) new_mod->connect(conn); diff --git a/kernel/rtlil.h b/kernel/rtlil.h index f3b1c9ae7..11c45bbec 100644 --- a/kernel/rtlil.h +++ b/kernel/rtlil.h @@ -1091,7 +1091,8 @@ public: std::vector<RTLIL::SigSig> connections_; RTLIL::IdString name; - pool<RTLIL::IdString> avail_parameters; + idict<RTLIL::IdString> avail_parameters; + dict<RTLIL::IdString, RTLIL::Const> parameter_default_values; dict<RTLIL::IdString, RTLIL::Memory*> memories; dict<RTLIL::IdString, RTLIL::Process*> processes; |