diff options
author | Clifford Wolf <clifford@clifford.at> | 2013-11-24 17:17:21 +0100 |
---|---|---|
committer | Clifford Wolf <clifford@clifford.at> | 2013-11-24 17:17:21 +0100 |
commit | 609caa23b5e12547c043dc4a1827d1a531af1992 (patch) | |
tree | 297e7d5b77b28eebccc3bd8e7af318f174165744 /kernel | |
parent | 1e6836933d8b74d391f816ccdcf71c972f8b1db1 (diff) | |
download | yosys-609caa23b5e12547c043dc4a1827d1a531af1992.tar.gz yosys-609caa23b5e12547c043dc4a1827d1a531af1992.tar.bz2 yosys-609caa23b5e12547c043dc4a1827d1a531af1992.zip |
Implemented correct handling of signed module parameters
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/rtlil.cc | 2 | ||||
-rw-r--r-- | kernel/rtlil.h | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/kernel/rtlil.cc b/kernel/rtlil.cc index bd73fe538..afd7ca2f1 100644 --- a/kernel/rtlil.cc +++ b/kernel/rtlil.cc @@ -260,7 +260,7 @@ RTLIL::Module::~Module() delete it->second; } -RTLIL::IdString RTLIL::Module::derive(RTLIL::Design*, std::map<RTLIL::IdString, RTLIL::Const>) +RTLIL::IdString RTLIL::Module::derive(RTLIL::Design*, std::map<RTLIL::IdString, RTLIL::Const>, std::set<RTLIL::IdString>) { log_error("Module `%s' is used with parameters but is not parametric!\n", id2cstr(name)); } diff --git a/kernel/rtlil.h b/kernel/rtlil.h index c7f9cf122..a4c3008bc 100644 --- a/kernel/rtlil.h +++ b/kernel/rtlil.h @@ -264,7 +264,7 @@ struct RTLIL::Module { std::vector<RTLIL::SigSig> connections; RTLIL_ATTRIBUTE_MEMBERS virtual ~Module(); - virtual RTLIL::IdString derive(RTLIL::Design *design, std::map<RTLIL::IdString, RTLIL::Const> parameters); + virtual RTLIL::IdString derive(RTLIL::Design *design, std::map<RTLIL::IdString, RTLIL::Const> parameters, std::set<RTLIL::IdString> signed_parameters); virtual void update_auto_wires(std::map<RTLIL::IdString, int> auto_sizes); virtual size_t count_id(RTLIL::IdString id); virtual void check(); @@ -300,6 +300,7 @@ struct RTLIL::Cell { RTLIL::IdString type; std::map<RTLIL::IdString, RTLIL::SigSpec> connections; std::map<RTLIL::IdString, RTLIL::Const> parameters; + std::set<RTLIL::IdString> signed_parameters; RTLIL_ATTRIBUTE_MEMBERS void optimize(); |