aboutsummaryrefslogtreecommitdiffstats
path: root/passes
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2018-03-12 13:52:35 +0100
committerClifford Wolf <clifford@clifford.at>2018-03-12 13:52:35 +0100
commit83ffb23739ff09591fb81e0c7b3b289d9fc73fb7 (patch)
treeb8112271eb21443deeec99eefc4816c2e0aeee14 /passes
parentefaef82f75d8e477baf958eac39f538e6eed5b03 (diff)
downloadyosys-83ffb23739ff09591fb81e0c7b3b289d9fc73fb7.tar.gz
yosys-83ffb23739ff09591fb81e0c7b3b289d9fc73fb7.tar.bz2
yosys-83ffb23739ff09591fb81e0c7b3b289d9fc73fb7.zip
Add "setundef -undef"
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Diffstat (limited to 'passes')
-rw-r--r--passes/cmds/setundef.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/passes/cmds/setundef.cc b/passes/cmds/setundef.cc
index 9827ac0b1..389c3790e 100644
--- a/passes/cmds/setundef.cc
+++ b/passes/cmds/setundef.cc
@@ -40,6 +40,9 @@ struct SetundefWorker
if (next_bit_mode == 1)
return RTLIL::State::S1;
+ if (next_bit_mode == 4)
+ return RTLIL::State::Sx;
+
// xorshift32
next_bit_state ^= next_bit_state << 13;
next_bit_state ^= next_bit_state >> 17;
@@ -81,6 +84,9 @@ struct SetundefPass : public Pass {
log(" -one\n");
log(" replace with bits set (1)\n");
log("\n");
+ log(" -undef\n");
+ log(" replace with undef (x) bits, may be used with -undriven\n");
+ log("\n");
log(" -anyseq\n");
log(" replace with $anyseq drivers (for formal)\n");
log("\n");
@@ -123,6 +129,11 @@ struct SetundefPass : public Pass {
worker.next_bit_mode = 2;
continue;
}
+ if (args[argidx] == "-undef") {
+ got_value = true;
+ worker.next_bit_mode = 4;
+ continue;
+ }
if (args[argidx] == "-init") {
init_mode = true;
continue;