mirror of https://github.com/YosysHQ/yosys.git
Added ## selection operator (union all on stack)
This commit is contained in:
parent
653f0049a8
commit
79b3afa011
|
@ -325,6 +325,12 @@ static void select_stmt(RTLIL::Design *design, std::string arg)
|
|||
if (design->selection_stack.size() > 0)
|
||||
work_stack.push_back(design->selection_stack.back());
|
||||
} else
|
||||
if (arg == "##") {
|
||||
while (work_stack.size() > 1) {
|
||||
select_op_union(design, work_stack.front(), work_stack.back());
|
||||
work_stack.pop_back();
|
||||
}
|
||||
} else
|
||||
if (arg == "#n") {
|
||||
if (work_stack.size() < 1)
|
||||
log_cmd_error("Must have at least one element on stack for operator #n.\n");
|
||||
|
@ -617,6 +623,9 @@ struct SelectPass : public Pass {
|
|||
log(" #\n");
|
||||
log(" push a copy of the current selection to the stack\n");
|
||||
log("\n");
|
||||
log(" ##\n");
|
||||
log(" replace the stack with a union of all elements on it\n");
|
||||
log("\n");
|
||||
log(" #n\n");
|
||||
log(" replace top set with its invert\n");
|
||||
log("\n");
|
||||
|
|
Loading…
Reference in New Issue