def METHOD_NAME():
    """
    Main.
    """
    # Parse arguments
    parser = argparse.ArgumentParser()
    parser.add_argument("features", type=str, help="Input CSV file")
    args = parser.parse_args()
    # Load iosettings vs. feature map
    feature_data = load_feature_data(args.features)
    # Reject non-iostandard related features
    feature_data = filter_feature_data(feature_data)
    # Make parameters
    parameters = {}
    for iob_type in ["I", "O", "T", "DIFF_I", "DIFF_O", "DIFF_T"]:
        parameters[iob_type] = get_relevant_parameters(feature_data, iob_type)
    # Parameter definition
    with open("cells_sim.v", "w") as fp:
        for iob_type, params in parameters.items():
            fp.write("// {} {}\n\n".format(iob_type, "=" * 70))
            verilog = generate_parameter_defs(params)
            fp.write(verilog + "\n\n")
    # Parameter assignments
    with open("cells_map.v", "w") as fp:
        for iob_type, params in parameters.items():
            fp.write("// {} {}\n\n".format(iob_type, "=" * 70))
            verilog = generate_parameter_assignments(
                params, feature_data, iob_type)
            fp.write(verilog + "\n\n")
    # Parameter assignments
    with open("arch.xml", "w") as fp:
        for iob_type, params in parameters.items():
            fp.write("<!-- {} -->\n\n".format(iob_type))
            xml = generate_parameter_map(params)
            fp.write(xml + "\n\n")