void RegisterStateGeneric::initialize_nonoverlapping(const std::vector<RegisterDescriptor> ®s, bool initialize_to_zero) { clear(); for (size_t i=0; i<regs.size(); ++i) { std::string name = regdict->lookup(regs[i]); SValuePtr val; if (initialize_to_zero) { val = get_protoval()->number_(regs[i].get_nbits(), 0); } else { val = get_protoval()->undefined_(regs[i].get_nbits()); if (!name.empty()) val->set_comment(name+"_0"); } registers_.insertMaybeDefault(regs[i]).push_back(RegPair(regs[i], val)); } }