diff options
Diffstat (limited to 'ice40/main.cc')
-rw-r--r-- | ice40/main.cc | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/ice40/main.cc b/ice40/main.cc index eb92d92f..c43bffa7 100644 --- a/ice40/main.cc +++ b/ice40/main.cc @@ -82,6 +82,8 @@ int main(int argc, char *argv[]) "PCF constraints file to ingest"); options.add_options()("asc", po::value<std::string>(), "asc bitstream file to write"); + options.add_options()("seed", po::value<int>(), + "seed value for random number generator"); options.add_options()("version,V", "show version"); options.add_options()("lp384", "set device type to iCE40LP384"); options.add_options()("lp1k", "set device type to iCE40LP1K"); @@ -223,8 +225,16 @@ int main(int argc, char *argv[]) pack_design(&design); print_utilisation(&design); + + int seed = 1; + if (vm.count("seed")) { + seed = vm["seed"].as<int>(); + if (seed == 0) + log_error("seed must be non-zero value"); + } + if (!vm.count("pack-only")) { - place_design_sa(&design); + place_design_sa(&design, seed); route_design(&design, verbose); } } |