mirror of https://github.com/YosysHQ/yosys.git
dffinit -noreinit to silently continue when init value is 1'bx
This commit is contained in:
parent
98925f6c4b
commit
aa081f83c7
|
@ -135,10 +135,18 @@ struct DffinitPass : public Pass {
|
||||||
continue;
|
continue;
|
||||||
while (GetSize(value.bits) <= i)
|
while (GetSize(value.bits) <= i)
|
||||||
value.bits.push_back(State::S0);
|
value.bits.push_back(State::S0);
|
||||||
if (noreinit && value.bits[i] != State::Sx && value.bits[i] != init_bits.at(sig[i]))
|
if (noreinit && value.bits[i] != State::Sx && value.bits[i] != init_bits.at(sig[i])) {
|
||||||
|
if (init_bits.at(sig[i]) != State::Sx) {
|
||||||
log_error("Trying to assign a different init value for %s.%s.%s which technically "
|
log_error("Trying to assign a different init value for %s.%s.%s which technically "
|
||||||
"have a conflicted init value.\n",
|
"have a conflicted init value.\n",
|
||||||
log_id(module), log_id(cell), log_id(it.second));
|
log_id(module), log_id(cell), log_id(it.second));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// Trying to overwrite an existing INIT value with 1'bx,
|
||||||
|
// silently ignore?
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
value.bits[i] = init_bits.at(sig[i]);
|
value.bits[i] = init_bits.at(sig[i]);
|
||||||
cleanup_bits.insert(sig[i]);
|
cleanup_bits.insert(sig[i]);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue