log(" transforms the internal RTL cells to the internal gate\n");
log(" library.\n");
log("\n");
+ log(" -share_map filename\n");
+ log(" like -map, but look for the file in the share directory (where the\n");
+ log(" yosys data files are). this is mainly used internally when techmap\n");
+ log(" is called from other commands.\n");
+ log("\n");
log("When a module in the map file has the 'techmap_celltype' attribute set, it will\n");
log("match cells with a type that match the text value of this attribute.\n");
log("\n");
map_files.push_back(args[++argidx]);
continue;
}
+ if (args[argidx] == "-share_map" && argidx+1 < args.size()) {
+ map_files.push_back(get_share_file_name(args[++argidx]));
+ continue;
+ }
break;
}
extra_args(args, argidx, design);
log(" clean\n");
log("\n");
log(" map_cells:\n");
- log(" techmap -map <share_dir>/xilinx/cells.v\n");
+ log(" techmap -share_map xilinx/cells.v\n");
log(" clean\n");
log("\n");
log(" clkbuf:\n");
log(" iopadmap -outpad OBUF I:O -inpad IBUF O:I @xilinx_nonclocks\n");
log("\n");
log(" edif:\n");
- log(" write_edif -top <top> synth.edif\n");
+ log(" write_edif synth.edif\n");
log("\n");
}
virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
if (check_label(active, run_from, run_to, "map_cells"))
{
- Pass::call(design, stringf("techmap -map %s", get_share_file_name("xilinx/cells.v").c_str()));
+ Pass::call(design, "techmap -share_map xilinx/cells.v");
Pass::call(design, "clean");
}
if (check_label(active, run_from, run_to, "edif"))
{
if (!edif_file.empty())
- Pass::call(design, stringf("write_edif -top %s %s", top_module.c_str(), edif_file.c_str()));
+ Pass::call(design, stringf("write_edif %s", edif_file.c_str()));
}
log_pop();