mirror of
https://github.com/YosysHQ/yosys
synced 2025-08-04 10:20:24 +00:00
Improved FSM one-hot encoding, added binary encoding
This commit is contained in:
parent
ed0e2f7a6f
commit
66bc46b30b
3 changed files with 83 additions and 42 deletions
|
@ -56,6 +56,7 @@ struct FsmPass : public Pass {
|
|||
log(" -expand, -norecode, -export, -nomap\n");
|
||||
log(" enable or disable passes as indicated above\n");
|
||||
log("\n");
|
||||
log(" -encoding tye\n");
|
||||
log(" -fm_set_fsm_file file\n");
|
||||
log(" passed through to fsm_recode pass\n");
|
||||
log("\n");
|
||||
|
@ -67,6 +68,7 @@ struct FsmPass : public Pass {
|
|||
bool flag_expand = false;
|
||||
bool flag_export = false;
|
||||
std::string fm_set_fsm_file_opt;
|
||||
std::string encoding_opt;
|
||||
|
||||
log_header("Executing FSM pass (extract and optimize FSM).\n");
|
||||
log_push();
|
||||
|
@ -78,6 +80,10 @@ struct FsmPass : public Pass {
|
|||
fm_set_fsm_file_opt = " -fm_set_fsm_file " + args[++argidx];
|
||||
continue;
|
||||
}
|
||||
if (arg == "-encoding" && argidx+1 < args.size() && fm_set_fsm_file_opt.empty()) {
|
||||
encoding_opt = " -encoding " + args[++argidx];
|
||||
continue;
|
||||
}
|
||||
if (arg == "-norecode") {
|
||||
flag_norecode = true;
|
||||
continue;
|
||||
|
@ -112,7 +118,7 @@ struct FsmPass : public Pass {
|
|||
}
|
||||
|
||||
if (!flag_norecode)
|
||||
Pass::call(design, "fsm_recode" + fm_set_fsm_file_opt);
|
||||
Pass::call(design, "fsm_recode" + fm_set_fsm_file_opt + encoding_opt);
|
||||
Pass::call(design, "fsm_info");
|
||||
|
||||
if (!flag_nomap)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue