- The ``wiretype`` attribute is added by the verilog parser for wires of a
   typedef'd type to indicate the type identifier.
 
-- Various ``enum_{width}_{value}`` attributes are added to wires of an
-  enumerated type to give a map of possible enum items to their values.
+- Various ``enum_value_{value}`` attributes are added to wires of an enumerated type
+  to give a map of possible enum items to their values.
 
 - The ``enum_base_type`` attribute is added to enum items to indicate which
   enum they belong to (enums -- anonymous and otherwise -- are
 
                                                );
                                        }
                                        //start building attribute string
-                                       std::string enum_item_str = "\\enum_";
-                                       enum_item_str.append(std::to_string(width));
-                                       enum_item_str.append("_");
+                                       std::string enum_item_str = "\\enum_value_";
                                        //get enum item value
                                        if(enum_item->children[0]->type != AST_CONSTANT){
                                                log_error("expected const, got %s for %s (%s)\n",
                                                                  enum_item->str.c_str(), enum_node->str.c_str()
                                                                );
                                        }
-                                       int val = enum_item->children[0]->asInt(is_signed);
-                                       enum_item_str.append(std::to_string(val));
+                                       RTLIL::Const val = enum_item->children[0]->bitsAsConst(width, is_signed);
+                                       enum_item_str.append(val.as_string());
                                        //set attribute for available val to enum item name mappings
                                        attributes[enum_item_str.c_str()] = mkconst_str(enum_item->str);
                                }