Allow blocks with declarations within constant functions
[yosys.git] / kernel / macc.h
index 371f6737d32995b112b063f7688d20b83312b25e..d216e6772e12c0e9006d14c10752d01aa10d2831 100644 (file)
@@ -104,13 +104,11 @@ struct Macc
                ports.clear();
                bit_ports = cell->getPort(ID::B);
 
-               std::vector<RTLIL::State> config_bits = cell->getParam(ID(CONFIG)).bits;
+               std::vector<RTLIL::State> config_bits = cell->getParam(ID::CONFIG).bits;
                int config_cursor = 0;
 
-#ifndef NDEBUG
-               int config_width = cell->getParam(ID(CONFIG_WIDTH)).as_int();
+               int config_width = cell->getParam(ID::CONFIG_WIDTH).as_int();
                log_assert(GetSize(config_bits) >= config_width);
-#endif
 
                int num_bits = 0;
                if (config_bits[config_cursor++] == State::S1) num_bits |= 1;
@@ -193,10 +191,10 @@ struct Macc
 
                cell->setPort(ID::A, port_a);
                cell->setPort(ID::B, bit_ports);
-               cell->setParam(ID(CONFIG), config_bits);
-               cell->setParam(ID(CONFIG_WIDTH), GetSize(config_bits));
-               cell->setParam(ID(A_WIDTH), GetSize(port_a));
-               cell->setParam(ID(B_WIDTH), GetSize(bit_ports));
+               cell->setParam(ID::CONFIG, config_bits);
+               cell->setParam(ID::CONFIG_WIDTH, GetSize(config_bits));
+               cell->setParam(ID::A_WIDTH, GetSize(port_a));
+               cell->setParam(ID::B_WIDTH, GetSize(bit_ports));
        }
 
        bool eval(RTLIL::Const &result) const