diff options
author | Clifford Wolf <clifford@clifford.at> | 2015-04-07 19:21:30 +0200 |
---|---|---|
committer | Clifford Wolf <clifford@clifford.at> | 2015-04-07 19:21:30 +0200 |
commit | 1f33b2a490cf44ec24de5e085ff2957a680519fb (patch) | |
tree | cfc2922711a80d3f489e8827997bd6d816e8a5be /passes/cmds/setattr.cc | |
parent | 590f74d8f0978c58e7383e5ca3d16a759a006638 (diff) | |
download | yosys-1f33b2a490cf44ec24de5e085ff2957a680519fb.tar.gz yosys-1f33b2a490cf44ec24de5e085ff2957a680519fb.tar.bz2 yosys-1f33b2a490cf44ec24de5e085ff2957a680519fb.zip |
Added "chparam -list"
Diffstat (limited to 'passes/cmds/setattr.cc')
-rw-r--r-- | passes/cmds/setattr.cc | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/passes/cmds/setattr.cc b/passes/cmds/setattr.cc index 0a859f6f9..e4ad1f37d 100644 --- a/passes/cmds/setattr.cc +++ b/passes/cmds/setattr.cc @@ -192,11 +192,17 @@ struct ChparamPass : public Pass { log("Re-evaluate the selected modules with new parameters. String values must be\n"); log("passed in double quotes (\").\n"); log("\n"); + log("\n"); + log(" chparam -list [selection]\n"); + log("\n"); + log("List the available parameters of the selected modules.\n"); + log("\n"); } virtual void execute(std::vector<std::string> args, RTLIL::Design *design) { std::vector<setunset_t> setunset_list; dict<RTLIL::IdString, RTLIL::Const> new_parameters; + bool list_mode = false; size_t argidx; for (argidx = 1; argidx < args.size(); argidx++) @@ -209,10 +215,25 @@ struct ChparamPass : public Pass { argidx--; continue; } + if (arg == "-list") { + list_mode = true; + continue; + } break; } extra_args(args, argidx, design); + if (list_mode) { + if (!new_parameters.empty()) + log_cmd_error("The options -set and -list cannot be used together.\n"); + for (auto module : design->selected_modules()) { + log("%s:\n", log_id(module)); + for (auto param : module->avail_parameters) + log(" %s\n", log_id(param)); + } + return; + } + pool<IdString> modnames, old_modnames; for (auto module : design->selected_modules()) { if (design->selected_whole_module(module)) |