From 609caa23b5e12547c043dc4a1827d1a531af1992 Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Sun, 24 Nov 2013 17:17:21 +0100 Subject: Implemented correct handling of signed module parameters --- kernel/rtlil.cc | 2 +- kernel/rtlil.h | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'kernel') 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::Module::derive(RTLIL::Design*, std::map, std::set) { 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 connections; RTLIL_ATTRIBUTE_MEMBERS virtual ~Module(); - virtual RTLIL::IdString derive(RTLIL::Design *design, std::map parameters); + virtual RTLIL::IdString derive(RTLIL::Design *design, std::map parameters, std::set signed_parameters); virtual void update_auto_wires(std::map 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 connections; std::map parameters; + std::set signed_parameters; RTLIL_ATTRIBUTE_MEMBERS void optimize(); -- cgit v1.2.3